/*
Theme Name: Kadence Child
Description: Custom child theme for FindLankan
Author: FindLankan
Template: kadence
Version: 1.0.0
*/

/* =========================================================
   FINDLANKAN
   HIDE KADENCE DEFAULT PAGE TITLE / HERO
   ========================================================= */

/* Regular WordPress pages */
body.page .entry-hero.page-hero-section {
	display: none !important;
}

/* Homepage */
body.home .entry-hero {
	display: none !important;
}
h1, h2{
	color: #05054B;
}

.content-area{
	margin: 0px !important;
}

/* =====================================================
   FINDLANKAN HOMEPAGE - FULL WIDTH CONTENT
===================================================== */

body.home #primary,
body.home .content-area {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

body.home .entry-content-wrap {
    padding: 0 !important;
}

input{
	font-size:12px !important;
}

/* =========================================================
   FINDLANKAN BUSINESS PROFILE
   ========================================================= */


/* ---------------------------------------------------------
   CONTAINER
   --------------------------------------------------------- */

.findlankan-business {
    padding: 40px 20px;
}

.business-container {
    max-width: 1200px;
    margin: 0 auto;
}

.business-profile {
    background: #fff;
}


/* ---------------------------------------------------------
   HERO
   --------------------------------------------------------- */

.business-hero {
    position: relative;
    overflow: hidden;
    background: #f5f5f5;
}

.business-cover {
    width: 100%;
    height: 320px;
    overflow: hidden;
}

.business-cover img {
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
}


/* Hero Content */

.business-hero-content {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 30px 30px;
    display: flex;
    align-items: flex-end;
    gap: 25px;
}


/* Logo */

.business-logo {
    flex: 0 0 150px;
    width: 150px;
    height: 150px;
    margin-top: -75px;
    padding: 15px;
    background: #fff;
    border: 1px solid #eee;
    border-radius: 12px;
    box-sizing: border-box;
    overflow: hidden;
    position: relative;
    z-index: 2;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
}

.business-logo-image {
    display: block;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    object-fit: contain;
}


/* Hero Information */

.business-hero-info {
    padding-bottom: 5px;
    min-width: 0;
}

.business-title {
    margin: 0 0 8px;
}


/* ---------------------------------------------------------
   META
   --------------------------------------------------------- */

.business-meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
    font-size: 14px;
    line-height: 1.5;
    color: #666;
}

.business-meta-item {
    display: inline-flex;
    align-items: center;
}

.business-meta-separator {
    color: #aaa;
    margin: 0 2px;
}

.business-location {
    color: #555;
    text-decoration: none;
}

.business-location:hover {
    color: #000;
    text-decoration: underline;
}


/* ---------------------------------------------------------
   HERO ACTION BUTTONS
   --------------------------------------------------------- */

.business-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 18px;
}

.business-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 42px;
    padding: 9px 18px;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;
    text-decoration: none;
    box-sizing: border-box;
    transition: all 0.2s ease;
}

.business-action:hover {
    text-decoration: none;
    transform: translateY(-1px);
}

.business-action-icon {
    font-size: 16px;
    line-height: 1;
}


/* Call */

.business-action-call {
    background: #222;
    color: #fff;
}

.business-action-call:hover {
    background: #000;
    color: #fff;
}


/* WhatsApp */

.business-action-whatsapp {
    background: #25D366;
    color: #fff;
}

.business-action-whatsapp:hover {
    background: #1ebe5d;
    color: #fff;
}


/* Website */

.business-action-website {
    background: #fff;
    color: #333;
    border: 1px solid #ddd;
}

.business-action-website:hover {
    background: #f7f7f7;
    color: #222;
}


/* ---------------------------------------------------------
   BUSINESS BODY
   --------------------------------------------------------- */

.business-body {
    max-width: 1200px;
    margin: 0 auto;
    padding: 45px 30px 60px;

    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 40px;
}


/* ---------------------------------------------------------
   SECTIONS
   --------------------------------------------------------- */

.business-section {
    padding: 0 0 40px;
    margin-bottom: 40px;
    border-bottom: 1px solid #eee;
}

.business-section:last-child {
    margin-bottom: 0;
}

.business-section-title {
    margin: 0 0 20px;
    font-size: 22px;
    line-height: 1.3;
}


/* ---------------------------------------------------------
   DESCRIPTION
   --------------------------------------------------------- */

.business-description {
    font-size: 16px;
    line-height: 1.8;
    color: #444;
}

.business-description p:last-child {
    margin-bottom: 0;
}


/* ---------------------------------------------------------
   BUSINESS INFORMATION
   --------------------------------------------------------- */

.business-information {
    display: grid;
    gap: 20px;
}

.business-information-item {
    display: flex;
    align-items: flex-start;
    gap: 14px;
}

.business-information-icon {
    width: 38px;
    height: 38px;
    flex: 0 0 38px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #f5f5f5;
    border-radius: 8px;
}

.business-information-item > div {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.business-information-label {
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #888;
}

.business-information-item a {
    color: inherit;
    text-decoration: none;
}

.business-information-item a:hover {
    text-decoration: underline;
}


/* ---------------------------------------------------------
   MAP
   --------------------------------------------------------- */

.business-map-link {
    padding: 25px;
    background: #f7f7f7;
    border-radius: 10px;
}

.business-map-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: 12px 18px;

    border-radius: 6px;

    background: #222;
    color: #fff;

    font-size: 14px;
    font-weight: 600;

    text-decoration: none;
}

.business-map-button:hover {
    background: #000;
    color: #fff;
    text-decoration: none;
}


/* ---------------------------------------------------------
   SOCIAL MEDIA
   --------------------------------------------------------- */

.business-social-links {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.business-social-links a {
    display: inline-flex;
    align-items: center;
    padding: 10px 16px;

    border: 1px solid #ddd;
    border-radius: 6px;

    color: #333;
    font-size: 14px;
    font-weight: 600;

    text-decoration: none;
}

.business-social-links a:hover {
    background: #f7f7f7;
}


/* ---------------------------------------------------------
   SIDEBAR
   --------------------------------------------------------- */

.business-sidebar {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.business-sidebar-card {
    padding: 25px;
    border: 1px solid #e5e5e5;
    border-radius: 10px;
    background: #fff;
}

.business-sidebar-title {
    margin: 0 0 20px;
    font-size: 18px;
}


/* Opening Hours */

.business-opening-hours {
    font-size: 14px;
    line-height: 1.8;
    color: #555;
    white-space: normal;
}


/* Sidebar Contact */

.sidebar-contact-button {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 100%;
    min-height: 42px;

    margin-top: 10px;
    padding: 10px 15px;

    border-radius: 6px;

    background: #222;
    color: #fff;

    font-size: 14px;
    font-weight: 600;

    text-decoration: none;
    box-sizing: border-box;
}

.sidebar-contact-button:first-of-type {
    margin-top: 0;
}

.sidebar-contact-button:hover {
    background: #000;
    color: #fff;
    text-decoration: none;
}

.sidebar-whatsapp-button {
    background: #25D366;
}

.sidebar-whatsapp-button:hover {
    background: #1ebe5d;
}


/* ---------------------------------------------------------
   MOBILE
   --------------------------------------------------------- */

@media (max-width: 900px) {

    .business-body {
        grid-template-columns: 1fr;
    }

    .business-sidebar {
        order: 2;
    }

}


@media (max-width: 767px) {

    .findlankan-business {
        padding: 20px 0;
    }

    .business-cover {
        height: 220px;
    }

    .business-hero-content {
        padding: 0 20px 25px;
        gap: 15px;
        align-items: flex-end;
    }

    .business-logo {
        flex: 0 0 110px;
        width: 110px;
        height: 110px;
        margin-top: -55px;
        padding: 10px;
    }

    .business-title {
        font-size: 28px;
    }

    .business-meta {
        font-size: 13px;
        gap: 4px;
    }

    .business-actions {
        margin-top: 15px;
        gap: 8px;
    }

    .business-action {
        min-height: 40px;
        padding: 8px 14px;
        font-size: 13px;
    }

    .business-body {
        padding: 35px 20px 50px;
        gap: 30px;
    }

    .business-section {
        padding-bottom: 30px;
        margin-bottom: 30px;
    }

}



/* =========================================================
   FINDLANKAN ACCOUNT
   ========================================================= */

.findlankan-account {
    max-width: 1100px;
    margin: 0 auto;
    padding: 50px 20px 70px;
}


/* Account Header */

.findlankan-account-header {
    margin-bottom: 40px;
}

.findlankan-account-header h1 {
    margin: 0 0 10px;
}

.findlankan-account-header p {
    margin: 0;
    color: #666;
}


/* Section */

.findlankan-account-section {
    margin-bottom: 30px;
}

.findlankan-section-heading {
    margin-bottom: 20px;
}

.findlankan-section-heading h2 {
    margin: 0;
}


/* Business List */

.findlankan-business-list {
    display: grid;
    gap: 15px;
}


/* Business Card */

.findlankan-business-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 25px;

    padding: 25px;

    border: 1px solid #e5e5e5;
    border-radius: 10px;

    background: #fff;
}


/* Card Content */

.findlankan-business-card-content {
    min-width: 0;
}

.findlankan-business-card-content h3 {
    margin: 0 0 8px;
    font-size: 19px;
}


/* Card Meta */

.findlankan-business-card-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 12px;

    margin-bottom: 12px;

    color: #666;
    font-size: 14px;
}

.findlankan-business-card-meta span:not(:last-child)::after {
    content: "•";
    margin-left: 12px;
    color: #aaa;
}


/* Status */

.findlankan-business-status span {
    display: inline-flex;

    padding: 5px 10px;

    border-radius: 20px;

    font-size: 12px;
    font-weight: 600;
}

.findlankan-business-status .status-publish {
	background: #e9f7ef;
    color: #267a45;
}


.findlankan-business-status .status-pending {
    background: #fff4d6;
    color: #8a6500;
}

.findlankan-business-status .status-draft {
    background: #f1f1f1;
    color: #666;
}


/* Card Actions */

.findlankan-business-card-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;

    flex-shrink: 0;
}


/* Buttons */

.findlankan-account-button,
.findlankan-add-business-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 42px;
    padding: 9px 17px;

    border-radius: 6px;

    background: #05054B;
    color: #fff;

    font-size: 14px;
    font-weight: 600;

    text-decoration: none;

    box-sizing: border-box;
}

.findlankan-account-button:hover,
.findlankan-add-business-button:hover {
    background: #000;
    color: #fff;
    text-decoration: none;
}

.findlankan-account-button.secondary {
    background: #fff;
    color: #333;
    border: 1px solid #ddd;
}

.findlankan-account-button.secondary:hover {
    background: #f7f7f7;
    color: #222;
}


/* Add Business */

.findlankan-account-actions {
    margin-top: 25px;
}


/* Empty State */

.findlankan-empty-businesses {
    padding: 50px 30px;

    border: 1px dashed #ccc;
    border-radius: 10px;

    text-align: center;
}

.findlankan-empty-businesses h3 {
    margin: 0 0 10px;
}

.findlankan-empty-businesses p {
    margin: 0 0 20px;
    color: #666;
}


/* Login Required */

.findlankan-login-required {
    max-width: 600px;
    margin: 60px auto;
    padding: 40px;

    border: 1px solid #e5e5e5;
    border-radius: 10px;

    text-align: center;
}

.findlankan-login-required h2 {
    margin-top: 0;
}

.findlankan-login-required a {
    display: inline-flex;

    margin-top: 15px;
    padding: 10px 20px;

    border-radius: 6px;

    background: #222;
    color: #fff;

    text-decoration: none;
}


/* Mobile */

@media (max-width: 767px) {

    .findlankan-account {
        padding: 35px 20px 50px;
    }

    .findlankan-business-card {
        flex-direction: column;
        align-items: stretch;
    }

    .findlankan-business-card-actions {
        width: 100%;
    }

    .findlankan-account-button {
        flex: 1;
    }

}



/* =========================================================
   FRONT-END BUSINESS EDITOR
   ========================================================= */

.findlankan-business-editor {
    padding: 50px 20px 70px;
}

.business-editor-container {
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
}


/* Editor Header */

.business-editor-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;

    margin-bottom: 30px;
}

.business-editor-header h1 {
    margin: 0 0 8px;
}

.business-editor-header p {
    margin: 0;
    color: #666;
}


/* Editor Card */

.business-editor-card {
    background: #fff;
    border: 1px solid #e5e5e5;
    border-radius: 10px;
    padding: 35px;
}


/* Placeholder */

.business-editor-placeholder {
    text-align: center;
    padding: 50px 20px;
}

.business-editor-placeholder h2 {
    margin-top: 0;
}

.business-editor-placeholder p {
    color: #666;
}


/* Buttons */

.findlankan-editor-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 42px;
    padding: 10px 18px;

    border-radius: 6px;

    background: #222;
    color: #fff;

    font-size: 14px;
    font-weight: 600;

    text-decoration: none;
    box-sizing: border-box;
}

.findlankan-editor-button:hover {
    background: #000;
    color: #fff;
    text-decoration: none;
}

.findlankan-editor-button.secondary {
    background: #fff;
    color: #333;
    border: 1px solid #ddd;
}

.findlankan-editor-button.secondary:hover {
    background: #f7f7f7;
}


/* Messages */

.business-editor-message {
    max-width: 650px;
    margin: 60px auto;
    padding: 45px 35px;

    background: #fff;
    border: 1px solid #e5e5e5;
    border-radius: 10px;

    text-align: center;
}

.business-editor-message h2 {
    margin-top: 0;
}

.business-editor-message p {
    color: #666;
}


/* Mobile */

@media (max-width: 767px) {

    .findlankan-business-editor {
        padding: 30px 20px 50px;
    }

    .business-editor-header {
        align-items: flex-start;
        flex-direction: column;
        gap: 15px;
    }

    .business-editor-card {
        padding: 25px 20px;
    }

}



/* Opening Hours */

.business-hours-list {
    max-width: 650px;
    
    border-radius: 8px;
    overflow: hidden;
}

.business-hours-row {
    display: grid;
    grid-template-columns: 100px 1fr;

    padding: 10px 0px;

    border-bottom: 1px solid #eee;
}

.business-hours-row:last-child {
    border-bottom: none;
}

.business-hours-day {
    font-weight: 600;
}

.business-hours-time {
    color: #555;
}

.business-hours-time span {
    margin: 0 5px;
}

.business-hours-closed {
    color: #b42318;
    font-weight: 600;
}

.business-hours-not-available {
    color: #999;
    font-style: italic;
}


/* Mobile */

@media (max-width: 767px) {

    .business-hours-row {
        grid-template-columns: 120px 1fr;
        padding: 12px 14px;
    }

}

.business-update-message {
    margin-bottom: 25px;
    padding: 14px 18px;

    border: 1px solid #cce8d5;
    border-radius: 6px;

    background: #f0faf3;
    color: #267a45;

    font-size: 14px;
    font-weight: 600;
}



/* =========================================================
   FINDLANKAN ACF FRONT-END FORM
   ========================================================= */

.findlankan-acf-form {
    width: 100%;
}


/* ---------------------------------------------------------
   ACF FIELD WRAPPER
   --------------------------------------------------------- */

.findlankan-acf-form .acf-field {
    padding: 0 0 24px;
    border: 0;
}


/* Field labels */

.findlankan-acf-form .acf-label {
    margin-bottom: 7px;
}

.findlankan-acf-form .acf-label label {
    display: block;

    margin: 0;

    font-size: 14px;
    font-weight: 600;

    color: #333;
}


/* Required asterisk */

.findlankan-acf-form .acf-required {
    color: #d63638;
}


/* Instructions */

.findlankan-acf-form .acf-input p.description {
    margin: 6px 0 0;

    font-size: 13px;
    line-height: 1.5;

    color: #777;
}


/* ---------------------------------------------------------
   TEXT INPUTS
   --------------------------------------------------------- */

.findlankan-acf-form input[type="text"],
.findlankan-acf-form input[type="email"],
.findlankan-acf-form input[type="url"],
.findlankan-acf-form input[type="tel"],
.findlankan-acf-form input[type="number"],
.findlankan-acf-form input[type="password"],
.findlankan-acf-form input[type="date"],
.findlankan-acf-form input[type="time"],
.findlankan-acf-form select,
.findlankan-acf-form textarea {

    width: 100%;

    min-height: 44px;

    padding: 10px 13px;

    border: 1px solid #d8d8d8;
    border-radius: 6px;

    background: #fff;

    color: #333;

    font-size: 14px;

    box-sizing: border-box;

    transition:
        border-color 0.2s ease,
        box-shadow 0.2s ease;
}


/* Textarea */

.findlankan-acf-form textarea {
    min-height: 130px;
    resize: vertical;
}


/* Focus */

.findlankan-acf-form input:focus,
.findlankan-acf-form select:focus,
.findlankan-acf-form textarea:focus {

    border-color: #999;

    outline: none;

    box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.05);
}


/* ---------------------------------------------------------
   WORDPRESS TITLE
   --------------------------------------------------------- */

.findlankan-acf-form .acf-input-title {
    margin-bottom: 25px;
}


/* ---------------------------------------------------------
   SUBMIT BUTTON
   --------------------------------------------------------- */

.findlankan-acf-form .acf-form-submit {
    margin-top: 15px;

    padding-top: 25px;

    border-top: 1px solid #eee;
}


.findlankan-acf-form .acf-form-submit input[type="submit"] {

    display: inline-flex;

    align-items: center;
    justify-content: center;

    min-height: 44px;

    padding: 10px 24px;

    border: 0;
    border-radius: 6px;

    background: #222;
    color: #fff;

    font-size: 14px;
    font-weight: 600;

    cursor: pointer;

    transition:
        background 0.2s ease,
        transform 0.2s ease;
}


.findlankan-acf-form .acf-form-submit input[type="submit"]:hover {

    background: #000;

    transform: translateY(-1px);
}


/* ---------------------------------------------------------
   ACF IMAGE FIELD
   --------------------------------------------------------- */

.findlankan-acf-form .acf-image-uploader {

    border: 1px solid #ddd;
    border-radius: 8px;

    background: #fafafa;
}


.findlankan-acf-form .acf-image-uploader .hide-if-value {

    padding: 20px;
}


.findlankan-acf-form .acf-image-uploader .show-if-value {

    padding: 10px;
}


/* ---------------------------------------------------------
   ERROR MESSAGES
   --------------------------------------------------------- */

.findlankan-acf-form .acf-notice {

    margin-bottom: 20px;

    border-radius: 6px;
}


.findlankan-acf-form .acf-error-message {

    margin-top: 6px;

    font-size: 13px;
}


/* ---------------------------------------------------------
   MOBILE
   --------------------------------------------------------- */

@media (max-width: 767px) {

    .findlankan-acf-form .acf-field {
        padding-bottom: 20px;
    }

    .findlankan-acf-form .acf-form-submit input[type="submit"] {

        width: 100%;
    }

}

/* =========================================================
   FINDLANKAN BUSINESS DIRECTORY
   ========================================================= */


/* ---------------------------------------------------------
   MAIN CONTAINER
--------------------------------------------------------- */

.findlankan-business-directory {
	width: 100%;
	max-width: none;
}

.findlankan-business-directory .business-directory-container {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 24px;
	box-sizing: border-box;
}


/* ---------------------------------------------------------
   DIRECTORY HEADER
--------------------------------------------------------- */

.business-directory-header {
	text-align: left;
	margin-bottom: 40px;
}

.business-directory-header h1 {
	margin-bottom: 12px;
}

.business-directory-header p {
	margin: 0;
}


/* ---------------------------------------------------------
   FILTERS
--------------------------------------------------------- */

.business-directory-filters {
	display: grid;
	grid-template-columns:
		minmax(220px, 2fr)
		repeat(3, minmax(150px, 1fr))
		auto;

	gap: 16px;

	padding: 24px;

	background: #f7f7f7;

	border-radius: 12px;

	margin-bottom: 32px;

	align-items: end;
}


.business-directory-filters label {
	display: block;

	font-size: 14px;
	font-weight: 600;

	margin-bottom: 7px;
}


.business-directory-filters input,
.business-directory-filters select {
	width: 100%;
	height: 44px;
	font-size:12px !important;
	padding: 0 12px;

	border: 1px solid #d8d8d8;
	border-radius: 6px;

	background: #fff;

	box-sizing: border-box;
}


.business-filter-actions {
	display: flex;
	align-items: end;
}


#business-clear-filters {
	height: 44px;

	padding: 0 18px;

	border: 0;
	border-radius: 6px;

	cursor: pointer;
	font-size: 12px;
	white-space: nowrap;
	background: #05054B;
}


/* ---------------------------------------------------------
   RESULTS HEADER
--------------------------------------------------------- */

.business-directory-results-header {
	display: flex;

	justify-content: space-between;
	align-items: center;

	gap: 20px;

	margin-bottom: 24px;
}


.business-directory-result-count {
	font-size: 16px;
	font-weight: 600;
}


.business-directory-sort {
	display: flex;

	align-items: center;

	gap: 10px;
}


.business-directory-sort label {
	font-size: 14px;
	font-weight: 600;
}


.business-directory-sort select {
	height: 40px;

	padding: 0 32px 0 12px;

	border: 1px solid #d8d8d8;
	border-radius: 6px;
	font-size:12px;
	background: #fff;
}


/* ---------------------------------------------------------
   BUSINESS GRID
--------------------------------------------------------- */

/* Normal desktop / laptop */
.business-results-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 24px;
}


/* Large monitors */
@media (min-width: 1800px) {

	.business-results-grid {
		grid-template-columns: repeat(6, minmax(0, 1fr));
	}

}

/* ---------------------------------------------------------
   BUSINESS CARD
--------------------------------------------------------- */

.business-card {
	position: relative;

	display: flex;
	flex-direction: column;

	height: 100%;

	background: #fff;

	border: 1px solid #e4e4e4;

	border-radius: 12px;

	overflow: hidden;

	transition:
		transform 0.2s ease,
		box-shadow 0.2s ease;
}


.business-card:hover {
	transform: translateY(-3px);

	box-shadow:
		0 8px 24px rgba(0, 0, 0, 0.08);
}


/* ---------------------------------------------------------
   CARD IMAGE
--------------------------------------------------------- */

.business-card-image {
	position: relative;

	height: 190px;

	display: flex;

	align-items: center;
	justify-content: center;

	background: #f5f5f5;

	overflow: hidden;
}


.business-card-image img {
	width: 100%;
	height: 100%;

	object-fit: cover;
}


.business-card-placeholder {
	width: 80px;
	height: 80px;

	display: flex;

	align-items: center;
	justify-content: center;

	border-radius: 50%;

	background: #e9e9e9;
}


.business-card-placeholder span {
	font-size: 30px;
	font-weight: 700;
}



/* ---------------------------------------------------------
   CARD CONTENT
--------------------------------------------------------- */

.business-card-content {
	display: flex;

	flex-direction: column;

	flex: 1;

	padding: 20px;
}


.business-card-title-row {
	display: flex;

	align-items: flex-start;

	gap: 7px;
}


.business-card-title {
	margin: 0;

	font-size: 20px;

	line-height: 1.3;
}


.business-card-title a {
	text-decoration: none;
}



/* ---------------------------------------------------------
   CATEGORY
--------------------------------------------------------- */

.business-card-category {
	margin-top: 8px;

	font-size: 14px;
	font-weight: 600;
}


/* ---------------------------------------------------------
   LOCATION
--------------------------------------------------------- */

.business-card-location {
	margin-top: 6px;

	font-size: 14px;
}


/* ---------------------------------------------------------
   DESCRIPTION
--------------------------------------------------------- */

.business-card-description {
	margin-top: 14px;

	font-size: 12px;

	line-height: 1.6;

	display: -webkit-box;

	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;

	overflow: hidden;
}


/* ---------------------------------------------------------
   CARD FOOTER
--------------------------------------------------------- */



/* ---------------------------------------------------------
   NO RESULTS
--------------------------------------------------------- */

.business-directory-no-results {
	grid-column: 1 / -1;

	text-align: center;

	padding: 60px 20px;
}


/* ---------------------------------------------------------
   LOADING
--------------------------------------------------------- */

.business-directory-loading {
	text-align: center;

	padding: 30px;

	font-size: 15px;
}


/* ---------------------------------------------------------
   PAGINATION
--------------------------------------------------------- */

.business-directory-pagination {
	margin-top: 40px;

	text-align: center;
}


.business-directory-pagination .page-numbers {
	display: inline-flex;

	align-items: center;
	justify-content: center;

	min-width: 40px;
	height: 40px;

	margin: 3px;

	padding: 0 10px;

	border: 1px solid #ddd;

	border-radius: 5px;

	text-decoration: none;
}


.business-directory-pagination .current {
	font-weight: 600;
}


/* ---------------------------------------------------------
   TABLET
--------------------------------------------------------- */

@media (max-width: 900px) {

	.business-directory-filters {

		grid-template-columns:
			repeat(2, minmax(0, 1fr));

	}

	.business-search {
		grid-column: 1 / -1;
	}

	.business-filter-actions {
		grid-column: 1 / -1;
	}

	.business-results-grid {
		grid-template-columns:
			repeat(2, minmax(0, 1fr));
	}

}


/* ---------------------------------------------------------
   MOBILE
--------------------------------------------------------- */

@media (max-width: 600px) {

	.findlankan-business-directory
	.business-directory-container {

		padding-left: 16px;
		padding-right: 16px;

	}


	.business-directory-header {
		margin-bottom: 28px;
	}


	.business-directory-header h1 {
		font-size: 28px;
	}


	.business-directory-filters {

		grid-template-columns: 1fr;

		padding: 18px;

		gap: 14px;

	}


	.business-search,
	.business-filter-actions {

		grid-column: auto;

	}


	.business-directory-results-header {

		flex-direction: column;

		align-items: flex-start;

	}


	.business-directory-sort {

		width: 100%;

	}


	.business-directory-sort select {

		flex: 1;

	}


	.business-results-grid {

		grid-template-columns: 1fr;

	}


	.business-card-image {

		height: 200px;

	}

}

/* EDIT PAGE EMIRATES DROPDOWN HEIGHT */

.select2-container--default .select2-results__options {
    max-height: none !important;
    height: auto !important;
    overflow-y: visible !important;
}

/* EDIT PAGE EMIRATES DROPDOWN HEIGHT */


/* =========================================================
   FindLankan - Add Business Page
   ========================================================= */

.findlankan-add-business {
    padding: 40px 20px;
}

.add-business-container {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
}

.add-business-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 30px;
    margin-bottom: 30px;
}

.add-business-header h1 {
    margin: 0 0 8px;
}

.add-business-header p {
    margin: 0;
    color: #666;
}

.add-business-card {
    background: #fff;
    border: 1px solid #e5e5e5;
    border-radius: 12px;
    padding: 30px;
    box-sizing: border-box;
}

.add-business-message {
    max-width: 700px;
    margin: 40px auto;
    padding: 40px;
    background: #fff;
    border: 1px solid #e5e5e5;
    border-radius: 12px;
    text-align: center;
}


/* =========================================================
   Mobile
   ========================================================= */

@media (max-width: 767px) {

    .findlankan-add-business {
        padding: 25px 15px;
    }

    .add-business-header {
        flex-direction: column;
        gap: 20px;
    }

    .add-business-card {
        padding: 20px;
    }

}

/* =========================================================
   FindLankan - Add Business Page
   ========================================================= */



/* ---------------------------------------------------------
   FindLankan - WordPress Media Modal
   Make Upload Files tab visible
   --------------------------------------------------------- */

.media-modal .media-menu-item {
    color: #333 !important;
    background: transparent !important;
}

.media-modal .media-menu-item:hover,
.media-modal .media-menu-item:focus {
    color: #000 !important;
    background: #f0f0f0 !important;
}

.media-modal .media-menu-item.active {
    color: #000 !important;
    background: #fff !important;
}



/* ---------------------------------------------------------
   FindLankan - WordPress Media Modal
   Make Upload Files tab visible
   --------------------------------------------------------- */



/* =========================================================
   BUSINESS CATEGORY ARCHIVE
========================================================= */

.business-category-description {
	margin: 15px auto 0;
	font-size: 16px;
	line-height: 1.7;
}

.business-category-description p {
	margin: 0 0 10px;
}

/* =========================================================
   BUSINESS CATEGORY ARCHIVE
========================================================= */



/* =========================================================
   FindLankan - Business Portal Navigation
   ========================================================= */

.findlankan-account-nav {
    display: flex;
    align-items: center;
    gap: 6px;
    width: 100%;
    margin: 0 0 30px;
    padding: 6px;
    background: #f6f7f9;
    border: 1px solid #e7e9ed;
    border-radius: 12px;
    box-sizing: border-box;
}

/* Navigation links */
.findlankan-account-nav a {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 44px;
    padding: 0 18px;

    color: #4b5563;
    background: transparent;

    border-radius: 8px;

    font-size: 14px;
    font-weight: 600;
    line-height: 1;
    text-decoration: none;

    transition:
        background-color 0.2s ease,
        color 0.2s ease,
        box-shadow 0.2s ease,
        transform 0.2s ease;

    white-space: nowrap;
}

/* Hover */
.findlankan-account-nav a:hover {
    color: #1f2937;
    background: #ffffff;
    text-decoration: none;
}

/* Active */
.findlankan-account-nav a.active {
    color: #111827;
    background: #ffffff;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}

/* Logout */
.findlankan-account-nav a:last-child {
    margin-left: auto;
    color: #6b7280;
}

.findlankan-account-nav a:last-child:hover {
    color: #b42318;
    background: #fff5f4;
}

/* Keyboard accessibility */
.findlankan-account-nav a:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 2px;
}

/* =========================================================
   Mobile
   ========================================================= */

@media (max-width: 767px) {

    .findlankan-account-nav {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 6px;
        padding: 6px;
    }

    .findlankan-account-nav a {
        width: 100%;
        min-height: 46px;
        padding: 0 10px;

        font-size: 13px;
    }

    .findlankan-account-nav a:last-child {
        margin-left: 0;
    }
}

/* Very small screens */
@media (max-width: 380px) {

    .findlankan-account-nav {
        grid-template-columns: 1fr;
    }
}



/* =========================================================
   FindLankan - Business Portal Navigation
   ========================================================= */


/* =========================================================
   FINDLANKAN BUSINESS CARD
   ========================================================= */

.business-card {
	position: relative;
	background: #fff;
	border: 1px solid #e5e5e5;
	border-radius: 14px;
	overflow: hidden;
	transition:
		transform 0.2s ease,
		box-shadow 0.2s ease;
}


.business-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
}


/* =========================================================
   COVER
   ========================================================= */

.business-card-cover {
	position: relative;
	width: 100%;
	height: 160px;
	background: #f1f1f1;
	overflow: visible;
}


.business-card-cover-image {
	display: block;
	width: 100%;
	height: 100%;
	max-width: none !important;
	object-fit: cover;
}


/* =========================================================
   COVER PLACEHOLDER
   ========================================================= */

.business-card-cover-placeholder {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #eeeeee;
	color: #999;
	font-size: 14px;
	font-weight: 500;
}


.business-card-cover-placeholder span {
	opacity: 0.7;
}


/* =========================================================
   FEATURED BADGE
   ========================================================= */

.business-card-featured {
	position: absolute;
	top: 14px;
	left: 14px;
	z-index: 5;

	display: inline-flex;
	align-items: center;

	padding: 6px 10px;

	background: #05054B;
	color: #fff;
	border: solid 1px #fff;
	border-radius: 5px;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12);
	
	font-size: 12px;
	font-weight: 600;
	line-height: 1;
}


/* =========================================================
   BUSINESS LOGO
   ========================================================= */

.business-card-logo {
	position: absolute;

	left: 20px;
	bottom: -45px;

	width: 90px;
	height: 90px;

	background: #fff;

	border: 4px solid #fff;
	border-radius: 12px;

	overflow: hidden;

	box-shadow: 0 3px 12px rgba(0, 0, 0, 0.12);

	z-index: 10;

	box-sizing: border-box;
}


/*
 * Logo image
 */

.business-card-logo-image {
	display: block;

	width: 100%;
	height: 100%;

	max-width: none !important;

	object-fit: contain;

	background: #fff;
}


/*
 * Logo placeholder
 */

.business-card-logo-placeholder {
	width: 100%;
	height: 100%;

	display: flex;
	align-items: center;
	justify-content: center;

	background: #f3f3f3;

	color: #777;

	font-size: 32px;
	font-weight: 600;
}


/* =========================================================
   CARD CONTENT
   ========================================================= */

.business-card-content {
	padding: 60px 20px 20px;
}


/* =========================================================
   TITLE
   ========================================================= */

.business-card-title-row {
	display: flex;
	align-items: center;
	gap: 8px;
}


.business-card-title {
	margin: 0;

	font-size: 20px;
	font-weight: 700;

	line-height: 1.3;
}


.business-card-title a {
	color: #222;
	text-decoration: none;
}


.business-card-title a:hover {
	color: #000;
}


/* =========================================================
   VERIFIED
   ========================================================= */

.business-card-verified {
	display: inline-flex;

	align-items: center;
	justify-content: center;

	width: 75px;
	height: 20px;

	border-radius: 5px;

	background: #1877f2;
	color: #fff;
	margin: 10px !important;
	float:right;
	font-size: 12px;
	font-weight: 700;
	flex-shrink: 0;
}


/* =========================================================
   CATEGORY
   ========================================================= */

.business-card-category {
	margin-top: 7px;

	color: #555;

	font-size: 14px;
	font-weight: 500;
}


/* =========================================================
   LOCATION
   ========================================================= */

.business-card-location {
	display: flex;
	align-items: center;

	gap: 4px;

	margin-top: 6px;

	color: #666;

	font-size: 13px;
}


.business-card-location-icon {
	font-size: 13px;
}


/* =========================================================
   DESCRIPTION
   ========================================================= */

.business-card-description {
	margin-top: 12px;

	color: #666;

	font-size: 12px;
	line-height: 1.6;

	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;

	overflow: hidden;
}


/* =========================================================
   FOOTER
   ========================================================= */

.business-card-footer {
	margin-top: auto;
	padding-top: 16px;
}


/* =========================================================
   VIEW BUSINESS BUTTON
   ========================================================= */

.business-card-button {
	display: inline-flex;

	align-items: center;
	justify-content: center;

	width: 100%;

	padding: 5px 16px;

	box-sizing: border-box;

	background: #05054B;
	color: #fff;

	border-radius: 6px;

	font-size: 12px;
	font-weight: 600;

	text-decoration: none;

	transition:
		background 0.2s ease,
		transform 0.2s ease;
}


.business-card-button:hover {
	background: #0074FF;
	color: #fff;

	text-decoration: none;

	transform: translateY(-1px);
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

	.business-card-cover {
		height: 160px;
	}


	.business-card-logo {
		left: 16px;
		bottom: -40px;

		width: 80px;
		height: 80px;

		border-width: 3px;
	}


	.business-card-content {
		padding: 55px 16px 16px;
	}


	.business-card-title {
		font-size: 18px;
	}


	.business-card-description {
		font-size: 12px;
	}

}



/* =========================================================
   FINDLANKAN PROFILE SETTINGS
   ========================================================= */

.findlankan-profile-settings {
    max-width: 760px;
    margin: 0 auto;
    padding: 50px 20px 70px;
}


/* =========================================================
   HEADER
   ========================================================= */

.findlankan-profile-settings .findlankan-account-header {
    margin-bottom: 30px;
}

.findlankan-profile-settings .findlankan-account-header h1 {
    margin: 0 0 8px;
    font-size: 32px;
    line-height: 1.2;
    font-weight: 700;
    color: #1f2937;
}

.findlankan-profile-settings .findlankan-account-header p {
    margin: 0;
    color: #6b7280;
    font-size: 15px;
    line-height: 1.6;
}


/* =========================================================
   PROFILE FORM CARD
   ========================================================= */

.findlankan-profile-form {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    padding: 30px;
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.04);
}


/* =========================================================
   FORM FIELD
   ========================================================= */

.findlankan-form-field {
    margin-bottom: 22px;
}

.findlankan-form-field:last-of-type {
    margin-bottom: 28px;
}


/* =========================================================
   LABEL
   ========================================================= */

.findlankan-form-field label {
    display: block;
    margin-bottom: 8px;

    color: #374151;

    font-size: 14px;
    font-weight: 600;
    line-height: 1.4;
}


/* =========================================================
   INPUTS
   ========================================================= */

.findlankan-form-field input[type="text"],
.findlankan-form-field input[type="email"],
.findlankan-form-field input[type="password"] {
    display: block;

    width: 100%;

    min-height: 46px;

    padding: 11px 14px;

    box-sizing: border-box;

    background: #fff;

    border: 1px solid #d1d5db;
    border-radius: 7px;

    color: #1f2937;

    font-family: inherit;
    font-size: 15px;
    line-height: 1.4;

    outline: none;

    transition:
        border-color 0.2s ease,
        box-shadow 0.2s ease,
        background-color 0.2s ease;
}


/* =========================================================
   INPUT FOCUS
   ========================================================= */

.findlankan-form-field input[type="text"]:focus,
.findlankan-form-field input[type="email"]:focus,
.findlankan-form-field input[type="password"]:focus {
    border-color: #111827;

    box-shadow: 0 0 0 3px rgba(17, 24, 39, 0.08);

    background: #fff;
}


/* =========================================================
   DISABLED USERNAME
   ========================================================= */

.findlankan-form-field input:disabled {
    background: #f3f4f6;
    color: #6b7280;
    border-color: #e5e7eb;

    cursor: not-allowed;
}


/* =========================================================
   HELP TEXT
   ========================================================= */

.findlankan-form-field small {
    display: block;

    margin-top: 7px;

    color: #6b7280;

    font-size: 12px;
    line-height: 1.5;
}


/* =========================================================
   SAVE BUTTON
   ========================================================= */

.findlankan-profile-form
.findlankan-account-button {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    min-height: 44px;

    padding: 10px 20px;

    border: 0;
    border-radius: 7px;

    background: #05054B;
    color: #fff;

    font-family: inherit;
    font-size: 14px;
    font-weight: 600;

    line-height: 1;

    text-decoration: none;

    cursor: pointer;

    transition:
        background-color 0.2s ease,
        transform 0.2s ease,
        box-shadow 0.2s ease;
}


.findlankan-profile-form
.findlankan-account-button:hover {
    background: #0074FF;
    color: #fff;

    transform: translateY(-1px);

    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.12);
}


/* =========================================================
   SUCCESS MESSAGE
   ========================================================= */

.findlankan-account-success {
    margin-bottom: 25px;

    padding: 14px 18px;

    background: #f0fdf4;

    border: 1px solid #bbf7d0;
    border-left: 4px solid #16a34a;

    border-radius: 8px;

    color: #166534;
}


.findlankan-account-success p {
    margin: 0;

    font-size: 14px;
    line-height: 1.5;
}


/* =========================================================
   ERROR MESSAGE
   ========================================================= */

.findlankan-form-errors {
    margin-bottom: 25px;

    padding: 14px 18px;

    background: #fef2f2;

    border: 1px solid #fecaca;
    border-left: 4px solid #dc2626;

    border-radius: 8px;

    color: #991b1b;
}


.findlankan-form-errors p {
    margin: 0 0 6px;

    font-size: 14px;
    line-height: 1.5;
}


.findlankan-form-errors p:last-child {
    margin-bottom: 0;
}


/* =========================================================
   PROFILE ACTIONS
   ========================================================= */

.findlankan-profile-actions {
    display: flex;

    align-items: center;

    margin-top: 20px;
}


/* =========================================================
   SECONDARY BUTTON
   ========================================================= */

.findlankan-profile-actions
.findlankan-account-button.secondary {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    min-height: 42px;

    padding: 9px 18px;

    background: #fff;
    color: #374151;

    border: 1px solid #d1d5db;
    border-radius: 7px;

    font-size: 14px;
    font-weight: 600;

    text-decoration: none;

    transition:
        background-color 0.2s ease,
        border-color 0.2s ease,
        color 0.2s ease;
}


.findlankan-profile-actions
.findlankan-account-button.secondary:hover {
    background: #f9fafb;
    border-color: #9ca3af;
    color: #111827;

    text-decoration: none;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

    .findlankan-profile-settings {
        padding: 35px 16px 50px;
    }


    .findlankan-profile-settings
    .findlankan-account-header h1 {
        font-size: 28px;
    }


    .findlankan-profile-settings
    .findlankan-account-header p {
        font-size: 14px;
    }


    .findlankan-profile-form {
        padding: 22px 18px;
        border-radius: 10px;
    }


    .findlankan-form-field {
        margin-bottom: 19px;
    }


    .findlankan-form-field input[type="text"],
    .findlankan-form-field input[type="email"],
    .findlankan-form-field input[type="password"] {
        min-height: 44px;
        font-size: 16px;
    }


    .findlankan-profile-form
    .findlankan-account-button {
        width: 100%;
    }


    .findlankan-profile-actions
    .findlankan-account-button.secondary {
        width: 100%;
    }

}

/* =========================================================
   FINDLANKAN PROFILE SETTINGS
   ========================================================= */

/* =========================================================
   FINDLANKAN PROFESSIONAL EDITOR
   ========================================================= */

.findlankan-professional-editor {
	padding: 50px 20px;
}

.professional-editor-container {
	max-width: 1100px;
	margin: 0 auto;
}

.professional-editor-header {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 30px;
	margin-bottom: 30px;
}

.professional-editor-header h1 {
	margin: 0 0 8px;
	font-size: 32px;
}

.professional-editor-header p {
	margin: 0;
	color: #666;
}

.professional-editor-card {
	background: #fff;
	border: 1px solid #e5e5e5;
	border-radius: 12px;
	padding: 30px;
	box-shadow: 0 4px 18px rgba(0, 0, 0, 0.04);
}

.professional-editor-message {
	background: #fff;
	border: 1px solid #e5e5e5;
	border-radius: 12px;
	padding: 40px;
	text-align: center;
}

.professional-editor-message h2 {
	margin-top: 0;
}

.professional-editor-message p {
	color: #666;
}


/* =========================================================
   PROFESSIONAL ACF FORM
   ========================================================= */

.findlankan-professional-form .acf-field {
	padding-left: 0;
	padding-right: 0;
}

.findlankan-professional-form .acf-tab-wrap {
	margin-bottom: 10px;
}

.findlankan-professional-form .acf-label label {
	font-weight: 600;
}

.findlankan-professional-form input[type="text"],
.findlankan-professional-form input[type="email"],
.findlankan-professional-form input[type="url"],
.findlankan-professional-form input[type="number"],
.findlankan-professional-form input[type="tel"],
.findlankan-professional-form textarea,
.findlankan-professional-form select {
	width: 100%;
	border: 1px solid #d9d9d9;
	border-radius: 7px;
	padding: 11px 13px;
	background: #fff;
	box-sizing: border-box;
}

.findlankan-professional-form textarea {
	min-height: 120px;
	resize: vertical;
}

.findlankan-professional-form input:focus,
.findlankan-professional-form textarea:focus,
.findlankan-professional-form select:focus {
	border-color: #222;
	outline: none;
	box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.05);
}


/* =========================================================
   BUTTON
   ========================================================= */

.findlankan-editor-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: 10px 18px;
	border-radius: 7px;
	background: #222;
	color: #fff;
	text-decoration: none;
	font-size: 14px;
	font-weight: 600;
}

.findlankan-editor-button:hover {
	background: #000;
	color: #fff;
	text-decoration: none;
}

.findlankan-editor-button.secondary {
	background: #fff;
	color: #333;
	border: 1px solid #ddd;
}

.findlankan-editor-button.secondary:hover {
	background: #f7f7f7;
	color: #222;
}


/* =========================================================
   ACF SUBMIT
   ========================================================= */

.findlankan-professional-form
.acf-form-submit {
	padding: 25px 0 0;
	border-top: 1px solid #eee;
	margin-top: 20px;
}

.findlankan-professional-form
.acf-form-submit input[type="submit"] {
	min-height: 44px;
	padding: 10px 22px;
	border: 0;
	border-radius: 7px;
	background: #05054B;
	color: #fff;
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
}

.findlankan-professional-form
.acf-form-submit input[type="submit"]:hover {
	background: #0074FF;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

	.findlankan-professional-editor {
		padding: 30px 15px;
	}

	.professional-editor-header {
		flex-direction: column;
		align-items: flex-start;
		gap: 15px;
	}

	.professional-editor-header h1 {
		font-size: 27px;
	}

	.professional-editor-card {
		padding: 20px;
		border-radius: 10px;
	}

	.professional-editor-message {
		padding: 30px 20px;
	}

}


/* =========================================================
FINDLANKAN PROFESSIONAL PROFILE
========================================================= */

/* ---------------------------------------------------------
CONTAINER
--------------------------------------------------------- */

.findlankan-professional {
padding: 40px 20px;
}

.professional-container {
max-width: 1200px;
margin: 0 auto;
}

.professional-profile {
background: #fff;
}

/* ---------------------------------------------------------
HERO
--------------------------------------------------------- */

.professional-hero {
position: relative;
overflow: hidden;
background: #f7f7f7;
border-bottom: 1px solid #eee;
}

.professional-hero-content {
max-width: 1200px;
margin: 0 auto;
padding: 35px 30px 35px;


display: flex;
align-items: center;

gap: 30px;


}

/* ---------------------------------------------------------
PROFESSIONAL PHOTO
--------------------------------------------------------- */

.professional-photo {
flex: 0 0 180px;


width: 180px;
height: 180px;

padding: 5px;

background: #fff;

border: 1px solid #e5e5e5;
border-radius: 50%;

overflow: hidden;

box-sizing: border-box;

box-shadow: 0 5px 20px rgba(0, 0, 0, 0.08);


}

.professional-photo-image {
display: block;


width: 100% !important;
height: 100% !important;

max-width: none !important;

object-fit: cover;

border-radius: 50%;


}

/* ---------------------------------------------------------
HERO INFORMATION
--------------------------------------------------------- */

.professional-hero-info {
min-width: 0;
flex: 1;
}

.professional-title {
margin: 0 0 8px;


font-size: 34px;
line-height: 1.2;


}

/* ---------------------------------------------------------
META
--------------------------------------------------------- */

.professional-meta {
display: flex;


align-items: center;

flex-wrap: wrap;

gap: 6px;

font-size: 14px;

line-height: 1.5;

color: #666;


}

.professional-meta-item {
display: inline-flex;
align-items: center;
}

.professional-meta-separator {
color: #aaa;
margin: 0 2px;
}

.professional-location {
color: #555;
text-decoration: none;
}

.professional-location:hover {
color: #000;
text-decoration: underline;
}

/* ---------------------------------------------------------
SHORT DESCRIPTION
--------------------------------------------------------- */

.professional-short-description {
max-width: 750px;


margin-top: 14px;

color: #555;

font-size: 15px;
line-height: 1.7;


}

/* ---------------------------------------------------------
HERO ACTIONS
--------------------------------------------------------- */

.professional-actions {
display: flex;


flex-wrap: wrap;

gap: 10px;

margin-top: 18px;


}

.professional-action {
display: inline-flex;


align-items: center;
justify-content: center;

gap: 7px;

min-height: 42px;

padding: 9px 18px;

border-radius: 6px;

font-size: 14px;
font-weight: 600;

line-height: 1;

text-decoration: none;

box-sizing: border-box;

transition:
    all 0.2s ease;


}

.professional-action:hover {
text-decoration: none;


transform: translateY(-1px);


}

.professional-action-icon {
font-size: 16px;
line-height: 1;
}

/* Call */

.professional-action-call {
background: #222;
color: #fff;
}

.professional-action-call:hover {
background: #000;
color: #fff;
}

/* WhatsApp */

.professional-action-whatsapp {
background: #25D366;
color: #fff;
}

.professional-action-whatsapp:hover {
background: #1ebe5d;
color: #fff;
}

/* Website */

.professional-action-website {
background: #fff;
color: #333;


border: 1px solid #ddd;


}

.professional-action-website:hover {
background: #f7f7f7;
color: #222;
}

/* ---------------------------------------------------------
BODY
--------------------------------------------------------- */

.professional-body {
max-width: 1200px;


margin: 0 auto;

padding: 45px 30px 60px;

display: grid;

grid-template-columns:
    minmax(0, 1fr)
    320px;

gap: 40px;


}

/* ---------------------------------------------------------
SECTIONS
--------------------------------------------------------- */

.professional-section {
padding: 0 0 40px;


margin-bottom: 40px;

border-bottom: 1px solid #eee;


}

.professional-section:last-child {
margin-bottom: 0;
}

.professional-section-title {
margin: 0 0 20px;


font-size: 22px;

line-height: 1.3;


}

/* ---------------------------------------------------------
DESCRIPTION
--------------------------------------------------------- */

.professional-description {
color: #444;


font-size: 16px;

line-height: 1.8;


}

.professional-description p:last-child {
margin-bottom: 0;
}

/* ---------------------------------------------------------
PROFESSIONAL INFORMATION
--------------------------------------------------------- */

.professional-information {
display: grid;


gap: 20px;


}

.professional-information-item {
display: flex;


align-items: flex-start;

gap: 14px;


}

.professional-information-icon {
width: 38px;
height: 38px;


flex: 0 0 38px;

display: flex;

align-items: center;
justify-content: center;

background: #f5f5f5;

border-radius: 8px;


}

.professional-information-item > div {
display: flex;


flex-direction: column;

gap: 3px;


}

.professional-information-label {
font-size: 12px;


font-weight: 600;

text-transform: uppercase;

letter-spacing: 0.04em;

color: #888;


}

.professional-information-item a {
color: inherit;


text-decoration: none;


}

.professional-information-item a:hover {
text-decoration: underline;
}

/* ---------------------------------------------------------
MAP
--------------------------------------------------------- */

.professional-map-link {
margin-top: 25px;


padding: 25px;

background: #f7f7f7;

border-radius: 10px;


}

.professional-map-button {
display: inline-flex;


align-items: center;
justify-content: center;

padding: 12px 18px;

border-radius: 6px;

background: #222;
color: #fff;

font-size: 14px;
font-weight: 600;

text-decoration: none;


}

.professional-map-button:hover {
background: #000;


color: #fff;

text-decoration: none;


}

/* ---------------------------------------------------------
SOCIAL MEDIA
--------------------------------------------------------- */

.professional-social-links {
display: flex;


flex-wrap: wrap;

gap: 10px;


}

.professional-social-links a {
display: inline-flex;


align-items: center;

padding: 10px 16px;

border: 1px solid #ddd;

border-radius: 6px;

color: #333;

font-size: 14px;

font-weight: 600;

text-decoration: none;


}

.professional-social-links a:hover {
background: #f7f7f7;
}

/* ---------------------------------------------------------
SIDEBAR
--------------------------------------------------------- */

.professional-sidebar {
display: flex;


flex-direction: column;

gap: 20px;


}

.professional-sidebar-card {
padding: 25px;


border: 1px solid #e5e5e5;

border-radius: 10px;

background: #fff;


}

.professional-sidebar-title {
margin: 0 0 20px;


font-size: 18px;


}

/* ---------------------------------------------------------
CONTACT BUTTONS
--------------------------------------------------------- */

.professional-contact-button {
display: flex;


align-items: center;
justify-content: center;

width: 100%;

min-height: 42px;

margin-top: 10px;

padding: 10px 15px;

border-radius: 6px;

background: #222;

color: #fff;

font-size: 14px;

font-weight: 600;

text-decoration: none;

box-sizing: border-box;


}

.professional-contact-button:first-of-type {
margin-top: 0;
}

.professional-contact-button:hover {
background: #000;


color: #fff;

text-decoration: none;


}

.professional-whatsapp-button {
background: #25D366;
}

.professional-whatsapp-button:hover {
background: #1ebe5d;
}

/* ---------------------------------------------------------
EXPERIENCE SIDEBAR
--------------------------------------------------------- */

.professional-experience-number {
font-size: 42px;


font-weight: 700;

line-height: 1;

color: #222;


}

.professional-experience-label {
margin-top: 8px;


color: #666;

font-size: 14px;

line-height: 1.5;


}

/* ---------------------------------------------------------
SIDEBAR LOCATION
--------------------------------------------------------- */

.professional-sidebar-location {
display: flex;


flex-direction: column;

gap: 3px;

padding: 12px 0;

border-bottom: 1px solid #eee;


}

.professional-sidebar-location:first-of-type {
padding-top: 0;
}

.professional-sidebar-location:last-of-type {
border-bottom: 0;
}

.professional-sidebar-location strong {
font-size: 12px;


text-transform: uppercase;

letter-spacing: 0.04em;

color: #888;


}

.professional-sidebar-location span {
color: #333;


font-size: 14px;


}

/* ---------------------------------------------------------
SIDEBAR MAP
--------------------------------------------------------- */

.professional-sidebar-map-button {
display: flex;


align-items: center;
justify-content: center;

width: 100%;

min-height: 42px;

margin-top: 15px;

padding: 10px 15px;

box-sizing: border-box;

border-radius: 6px;

background: #222;

color: #fff;

font-size: 14px;

font-weight: 600;

text-decoration: none;


}

.professional-sidebar-map-button:hover {
background: #000;
color: #fff;
text-decoration: none;

}

/* ---------------------------------------------------------
UPDATE MESSAGE
--------------------------------------------------------- */

.professional-update-message {
margin-bottom: 25px;


padding: 14px 18px;

border: 1px solid #cce8d5;

border-radius: 6px;

background: #f0faf3;

color: #267a45;

font-size: 14px;

font-weight: 600;


}

/* ---------------------------------------------------------
TABLET
--------------------------------------------------------- */

@media (max-width: 900px) {


.professional-body {
    grid-template-columns: 1fr;
}

.professional-sidebar {
    order: 2;
}


}

/* ---------------------------------------------------------
MOBILE
--------------------------------------------------------- */

@media (max-width: 767px) {


.findlankan-professional {
    padding: 20px 0;
}


.professional-hero-content {
    padding: 30px 20px;

    flex-direction: column;

    align-items: center;

    text-align: center;

    gap: 20px;
}


.professional-photo {
    flex: 0 0 130px;

    width: 130px;
    height: 130px;
}


.professional-title {
    font-size: 28px;
}


.professional-meta {
    justify-content: center;

    font-size: 13px;

    gap: 4px;
}


.professional-short-description {
    font-size: 14px;
}


.professional-actions {
    justify-content: center;

    margin-top: 15px;

    gap: 8px;
}


.professional-action {
    min-height: 40px;

    padding: 8px 14px;

    font-size: 13px;
}


.professional-body {
    padding: 35px 20px 50px;

    gap: 30px;
}


.professional-section {
    padding-bottom: 30px;

    margin-bottom: 30px;
}


.professional-section-title {
    font-size: 21px;
}


.professional-sidebar-card {
    padding: 20px;
}

}



/* =========================================================
   PROFESSIONAL DIRECTORY
========================================================= */

.findlankan-professional-directory {
	width: 100%;
	max-width: none;
}

.professional-directory-container {
	width: 100%;
	margin: 0 auto;
	padding: 0 0px;
	box-sizing: border-box;
}


/* =========================================================
   HEADER
========================================================= */

.professional-directory-header {
	text-align: left;
	margin-bottom: 40px;
}

.professional-directory-header h1 {
	margin-bottom: 12px;
}

.professional-directory-header p {
	margin: 0;
}


/* =========================================================
   FILTERS
========================================================= */

.professional-directory-filters {
	display: grid;
	grid-template-columns:
		minmax(220px, 2fr)
		repeat(3, minmax(150px, 1fr))
		auto;

	gap: 16px;

	padding: 24px;

	background: #f7f7f7;

	border-radius: 12px;

	margin-bottom: 32px;

	align-items: end;
}

.professional-directory-filters label {
	display: block;

	font-size: 14px;

	font-weight: 600;

	margin-bottom: 7px;
}

.professional-directory-filters input,
.professional-directory-filters select {
	width: 100%;

	height: 44px;
	font-size:12px;
	padding: 0 12px;

	border: 1px solid #d8d8d8;

	border-radius: 6px;

	background: #fff;

	box-sizing: border-box;
}

.professional-filter-actions {
	display: flex;

	align-items: end;
}

#professional-clear-filters {
	height: 44px; 
	padding: 0 18px; 
	border: 0; 
	border-radius: 6px; 
	cursor: pointer; 
	font-size: 12px; 
	white-space: nowrap; 
	background: #05054B;
	
}


/* =========================================================
   RESULTS HEADER
========================================================= */

.professional-directory-results-header {
	display: flex;

	justify-content: space-between;

	align-items: center;

	gap: 20px;

	margin-bottom: 24px;
}

.professional-directory-result-count {
	font-size: 16px;

	font-weight: 600;
}

.professional-directory-sort {
	display: flex;

	align-items: center;

	gap: 10px;
}

.professional-directory-sort label {
	font-size: 14px;

	font-weight: 600;
}

.professional-directory-sort select {
	height: 40px;

	padding: 0 32px 0 12px;

	border: 1px solid #d8d8d8;

	border-radius: 6px;
	font-size:12px;
	background: #fff;
}

/* =========================================================
   PROFESSIONAL CARD
========================================================= */

.professional-card {
	display: flex;
	flex-direction: column;
	width: 100%;
	height: 100%;

	background: #ffffff;
	border: 1px solid #e2e2e2;
	border-radius: 14px;

	padding: 18px;

	box-sizing: border-box;
	overflow: hidden;

	transition:
		transform 0.2s ease,
		box-shadow 0.2s ease,
		border-color 0.2s ease;
}


/* =========================================================
   CARD HOVER
========================================================= */

.professional-card:hover {
	transform: translateY(-3px);
	border-color: #d5d5d5;

	box-shadow:
		0 8px 24px rgba(0, 0, 0, 0.07);
}


/* =========================================================
   PROFESSIONAL HEADER
========================================================= */

.professional-card-header {
	display: flex;
	align-items: flex-start;

	gap: 14px;

	width: 100%;
	min-width: 0;
}


/* =========================================================
   PROFILE PHOTO
========================================================= */

.professional-card-photo {
	flex: 0 0 80px;

	width: 80px;
	height: 80px;

	border-radius: 50%;
	overflow: hidden;

	background: #f1f3f5;
	border: 1px solid #e1e1e1;

	box-sizing: border-box;
}


.professional-card-photo-image {
	display: block;

	width: 100%;
	height: 100%;

	max-width: none;

	object-fit: cover;
	border-radius: 50%;
}


/* =========================================================
   PHOTO PLACEHOLDER
========================================================= */

.professional-card-photo-placeholder {
	display: flex;
	align-items: center;
	justify-content: center;

	width: 100%;
	height: 100%;

	background: #f0f2f4;

	color: #777777;

	font-size: 22px;
	font-weight: 700;
	line-height: 1;

	border-radius: 50%;
}


/* =========================================================
   BASIC INFORMATION
========================================================= */

.professional-card-basic {
	flex: 1 1 auto;
	min-width: 0;
}


/* =========================================================
   PROFESSIONAL NAME
========================================================= */

.professional-card-title {
	margin: 0 0 5px;
	padding: 0;

	font-size: 18px;
	font-weight: 700;
	line-height: 1.25;
}


.professional-card-title a {
	color: #222222;
	text-decoration: none;
}


.professional-card-title a:hover {
	color: #0074ff;
	text-decoration: none;
}


/* =========================================================
   CATEGORY
========================================================= */

.professional-card-category {
	margin: 0 0 7px;

	color: #555555;

	font-size: 13px;
	font-weight: 500;
	line-height: 1.4;
}


/* =========================================================
   LOCATION
========================================================= */

.professional-card-location {
	display: flex;
	align-items: flex-start;

	gap: 5px;

	margin: 0;

	color: #666666;

	font-size: 12px;
	line-height: 1.4;
}


.professional-card-location-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	flex: 0 0 auto;

	margin-top: 1px;

	font-size: 13px;
	line-height: 1;
}


/* =========================================================
   DESCRIPTION
========================================================= */

.professional-card-description {
	margin-top: 16px;
	padding-top: 13px;

	border-top: 1px solid #eeeeee;

	color: #555555;

	font-size: 13px;
	line-height: 1.55;
}


/* =========================================================
   FOOTER
========================================================= */

.professional-card-footer {
	margin-top: auto;
	padding-top: 16px;
}


/* Add divider when description is hidden */
.professional-card-header + .professional-card-footer {
	margin-top: 16px;
	border-top: 1px solid #eeeeee;
}


/* Description already has divider */
.professional-card-description + .professional-card-footer {
	margin-top: auto;
}


/* =========================================================
   VIEW PROFESSIONAL BUTTON
========================================================= */

.professional-card-button {
	display: flex;
	align-items: center;
	justify-content: center;

	width: 100%;

	padding: 9px 12px;
	box-sizing: border-box;

	background: #05054B;
	color: #ffffff !important;

	border-radius: 6px;

	font-size: 12px;
	font-weight: 600;
	line-height: 1.2;

	text-align: center;
	text-decoration: none !important;

	transition:
		background 0.2s ease,
		transform 0.2s ease;
}


.professional-card-button:hover {
	background: #0074FF;
	color: #ffffff !important;

	text-decoration: none !important;

	transform: translateY(-1px);
}


/* =========================================================
   NO RESULTS
========================================================= */

.professional-directory-no-results {
	grid-column: 1 / -1;

	text-align: center;

	padding: 60px 20px;
}


/* =========================================================
   LOADING
========================================================= */

.professional-directory-loading {
	text-align: center;

	padding: 30px;

	font-size: 15px;
}


/* =========================================================
   PAGINATION
========================================================= */

.professional-directory-pagination {
	margin-top: 40px;

	text-align: center;
}

.professional-directory-pagination .page-numbers {
	display: inline-flex;

	align-items: center;

	justify-content: center;

	min-width: 40px;

	height: 40px;

	margin: 3px;

	padding: 0 10px;

	border: 1px solid #ddd;

	border-radius: 5px;

	text-decoration: none;
}

.professional-directory-pagination .current {
	font-weight: 600;
}



/* =========================================================
   PROFESSIONAL RESULTS GRID
   ========================================================= */

/* Normal desktop / laptop */
.professional-results-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 24px;
	align-items: stretch;
}


/* Large monitors */
@media (min-width: 1800px) {

	.professional-results-grid {
		grid-template-columns: repeat(6, minmax(0, 1fr));
	}

}


.professional-results-grid .professional-card {
	height: 100%;
}



/* =========================================================
   TABLET
========================================================= */

@media (max-width: 900px) {

	.professional-directory-filters {
		grid-template-columns:
			repeat(2, minmax(0, 1fr));
	}

	.professional-search {
		grid-column: 1 / -1;
	}

	.professional-filter-actions {
		grid-column: 1 / -1;
	}

	.professional-results-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 20px;
	}


}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 600px) {

	.professional-directory-container {
		padding-left: 16px;

		padding-right: 16px;
	}

	.professional-directory-header {
		margin-bottom: 28px;
	}

	.professional-directory-header h1 {
		font-size: 28px;
	}

	.professional-directory-filters {
		grid-template-columns: 1fr;

		padding: 18px;

		gap: 14px;
	}

	.professional-search,
	.professional-filter-actions {
		grid-column: auto;
	}

	.professional-directory-results-header {
		flex-direction: column;

		align-items: flex-start;
	}

	.professional-directory-sort {
		width: 100%;
	}

	.professional-directory-sort select {
		flex: 1;
	}
.professional-results-grid {
		grid-template-columns: 1fr;
		gap: 18px;
	}


	.professional-card {
		padding: 20px;
		border-radius: 16px;
	}


	.professional-card-header {
		gap: 16px;
	}


	.professional-card-photo {
		flex: 0 0 90px;
		width: 90px;
		height: 90px;
	}


	.professional-card-photo-image {
		width: 90px;
		height: 90px;
	}


	.professional-card-title {
		font-size: 20px;
	}


	.professional-card-category {
		font-size: 14px;
	}


	.professional-card-location {
		font-size: 13px;
	}


	.professional-card-description {
		margin-top: 18px;
		padding-top: 14px;
		font-size: 14px;
		line-height: 1.6;
	}


	.professional-card-footer {
		margin-top: 18px;
		padding-top: 14px;
	}


	.professional-card-button {
		min-height: 48px;
		font-size: 15px;
	}

}

/* =========================================================
   VERY SMALL MOBILE
   ========================================================= */

@media (max-width: 420px) {

	.professional-card {
		padding: 18px;
	}


	.professional-card-header {
		gap: 14px;
	}


	.professional-card-photo {
		flex: 0 0 78px;
		width: 78px;
		height: 78px;
	}


	.professional-card-photo-image {
		width: 78px;
		height: 78px;
	}


	.professional-card-title {
		font-size: 19px;
	}


	.professional-card-category {
		font-size: 13px;
	}


	.professional-card-location {
		font-size: 12px;
	}


	.professional-card-description {
		font-size: 14px;
	}

}


/* =========================================================
   FINDLANKAN DIRECTORY SEARCH
   ========================================================= */

.findlankan-directory-search {

	display: grid;

	grid-template-columns:
		minmax(260px, 2fr)
		minmax(180px, 1fr)
		minmax(160px, 1fr)
		minmax(160px, 1fr)
		auto;

	gap: 12px;

	align-items: end;

	width: 100%;

	padding: 18px;

	background: #ffffff;

	border: 1px solid #e5e7eb;

	border-radius: 14px;

	box-shadow:
		0 8px 30px rgba(0, 0, 0, 0.08);

	box-sizing: border-box;

}


/* =========================================================
   FIELD
   ========================================================= */

.findlankan-search-field {

	display: flex;

	flex-direction: column;

	gap: 6px;

	min-width: 0;

}


.findlankan-search-field label {

	font-size: 13px;

	font-weight: 600;

	line-height: 1.3;

	color: #374151;

}


/* =========================================================
   INPUT / SELECT
   ========================================================= */

.findlankan-search-field input,
.findlankan-search-field select {

	width: 100%;

	height: 48px;

	padding: 0 14px;

	font-size: 12px;

	border: 1px solid #d1d5db;

	border-radius: 8px;

	background: #ffffff;

	color: #111827;

	box-sizing: border-box;

	transition:
		border-color 0.2s ease,
		box-shadow 0.2s ease;

}


.findlankan-search-field input:focus,
.findlankan-search-field select:focus {

	outline: none;

	border-color: #168dcc;

	box-shadow:
		0 0 0 3px rgba(22, 141, 204, 0.12);

}


/* =========================================================
   SEARCH INPUT ICON
   ========================================================= */

.findlankan-search-input-wrap {

	position: relative;

}


.findlankan-search-input-wrap input {

	padding-left: 42px;

}


.findlankan-search-icon {

	position: absolute;

	left: 14px;

	top: 50%;

	transform: translateY(-50%);

	font-size: 20px;

	line-height: 1;

	color: #6b7280;

	pointer-events: none;

}


/* =========================================================
   BUTTON
   ========================================================= */

.findlankan-search-button-wrap {

	display: flex;

	align-items: flex-end;

}


.findlankan-directory-search-button {

	height: 48px;

	padding: 0 26px;

	border: 0;

	border-radius: 8px;

	background: #0074FF;

	color: #ffffff;

	font-size: 15px;

	font-weight: 600;

	cursor: pointer;

	white-space: nowrap;

	transition:
		background 0.2s ease,
		transform 0.2s ease;

}


.findlankan-directory-search-button:hover {

	background: #05054B;

	transform: translateY(-1px);

}


/* =========================================================
   DISABLED AREA
   ========================================================= */

.findlankan-search-area:disabled {

	background: #f3f4f6;

	color: #9ca3af;

	cursor: not-allowed;

}


/* =========================================================
   SEARCH RESULTS PAGE
   ========================================================= */

.findlankan-search-page-container {

	width: min(
		1200px,
		calc(100% - 40px)
	);

	margin: 0 auto;

	padding: 60px 0;

}


.findlankan-search-results-header {

	margin-bottom: 30px;

}


.findlankan-search-results-header h1 {

	margin: 0 0 8px;

}


.findlankan-search-results-header p {

	margin: 0;

	color: #6b7280;

}


.findlankan-search-results-form {

	margin-bottom: 35px;

}


/* =========================================================
   RESULT COUNT
   ========================================================= */

.findlankan-search-result-count {

	margin-bottom: 20px;

	font-size: 15px;

	font-weight: 600;

	color: #4b5563;

}


/* =========================================================
   RESULTS GRID
   ========================================================= */

.findlankan-search-results-grid {

	display: grid;

	grid-template-columns:
		repeat(
			3,
			minmax(0, 1fr)
		);

	gap: 24px;

}


/* =========================================================
   NO RESULTS
   ========================================================= */

.findlankan-search-no-results {

	grid-column: 1 / -1;

	padding: 60px 20px;

	text-align: center;

	border: 1px solid #e5e7eb;

	border-radius: 12px;

	background: #ffffff;

}


.findlankan-search-no-results h2 {

	margin: 0 0 10px;

}


.findlankan-search-no-results p {

	margin: 5px 0;

	color: #6b7280;

}


/* =========================================================
   PAGINATION
   ========================================================= */

.findlankan-search-pagination {

	display: flex;

	justify-content: center;

	margin-top: 40px;

}


.findlankan-search-pagination .page-numbers {

	display: inline-flex;

	align-items: center;

	justify-content: center;

	min-width: 40px;

	height: 40px;

	margin: 0 3px;

	padding: 0 10px;

	border: 1px solid #e5e7eb;

	border-radius: 7px;

	text-decoration: none;

}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1000px) {

	.findlankan-directory-search {

		grid-template-columns:
			repeat(2, minmax(0, 1fr));

	}


	.findlankan-search-button-wrap {

		grid-column: 1 / -1;

	}


	.findlankan-directory-search-button {

		width: 100%;

	}


	.findlankan-search-results-grid {

		grid-template-columns:
			repeat(2, minmax(0, 1fr));

	}

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 640px) {

	.findlankan-directory-search {

		grid-template-columns: 1fr;

		padding: 14px;

	}


	.findlankan-search-button-wrap {

		grid-column: auto;

	}


	.findlankan-search-results-grid {

		grid-template-columns: 1fr;

	}


	.findlankan-search-page-container {

		width: min(
			100% - 30px,
			1200px
		);

		padding: 40px 0;

	}

}


/* =========================================================
   FINDLANKAN - BROWSE BY CATEGORY
========================================================= */

.findlankan-browse-categories {
	width: 100%;
	margin: 0px 0;
}


/* ---------------------------------------------------------
   HEADER
--------------------------------------------------------- */

.findlankan-browse-categories-header {
	margin-bottom: 32px;
}


.findlankan-section-title {
	margin: 0 0 8px;
	font-size: 32px;
	line-height: 1.2;
	font-weight: 700;
}


.findlankan-section-subtitle {
	margin: 0;
	max-width: 650px;
	font-size: 16px;
	line-height: 1.6;
	color: #666;
}



/* ---------------------------------------------------------
   CATEGORY CARD
--------------------------------------------------------- */

.findlankan-category-card {
	position: relative;

	display: flex;
	flex-direction: column;

	min-height: 190px;

	padding: 10px;

	background: #ffffff;

	border: 1px solid #e6e6e6;

	border-radius: 14px;

	text-decoration: none;

	transition:
		transform 0.2s ease,
		box-shadow 0.2s ease,
		border-color 0.2s ease;
}


.findlankan-category-card:hover {
	transform: translateY(-4px);

	box-shadow:
		0 10px 30px rgba(0, 0, 0, 0.08);

	border-color: #d5d5d5;
}


/* ---------------------------------------------------------
   ICON
--------------------------------------------------------- */

.findlankan-category-icon {
	width: 100%;
	height: auto;

	display: flex;
	align-items: center;
	justify-content: center;

	margin-bottom: 20px;

	background: #f5f7f9;

	border-radius: 14px;

	overflow: hidden;
}


.findlankan-category-logo {
	display: block;

	width: 100%;
	height: 100%;

	object-fit: contain;

	padding: 8px;
}


.findlankan-category-default-icon {
	font-size: 26px;
	line-height: 1;
}


/* ---------------------------------------------------------
   CONTENT
--------------------------------------------------------- */

.findlankan-category-content {
	display: flex;
	flex-direction: column;

	padding-right: 18px;
}


.findlankan-category-name {
	margin: 0 0 7px;

	font-size: 14px;
	line-height: 1.3;

	font-weight: 650;

	color: #1f2937;
}


.findlankan-category-count {
	font-size: 13px;
	line-height: 1.4;

	color: #777;
}


/* ---------------------------------------------------------
   ARROW
--------------------------------------------------------- */

.findlankan-category-arrow {
	position: absolute;

	right: 20px;
	bottom: 20px;

	font-size: 18px;

	color: #777;

	transition:
		transform 0.2s ease,
		color 0.2s ease;
}


.findlankan-category-card:hover
.findlankan-category-arrow {
	transform: translateX(4px);

	color: #111;
}


/* ---------------------------------------------------------
   VIEW ALL
--------------------------------------------------------- */

.findlankan-category-view-all {
	margin-top: 28px;

	text-align: center;
}


.findlankan-category-view-all a {
	display: inline-flex;

	align-items: center;

	gap: 8px;

	font-size: 15px;
	font-weight: 600;

	color: #0074FF;

	text-decoration: none;
}


.findlankan-category-view-all a:hover {
	text-decoration: underline;
}



/* Desktop / Laptop */
.findlankan-category-grid {
	display: grid;
	grid-template-columns: repeat(8, minmax(0, 1fr));
	gap: 18px;
}

/* Only show first 8 */
.findlankan-browse-categories .findlankan-category-card:nth-child(n+9) {
	display: none;
}


/* Tablet */
@media (max-width: 1024px) {

	.findlankan-category-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

}


/* Mobile */
@media (max-width: 600px) {

	.findlankan-category-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px;
	}

}


/* Large monitors */
@media (min-width: 1800px) {

	.findlankan-category-grid {
		grid-template-columns: repeat(12, minmax(0, 1fr));
	}

	.findlankan-browse-categories .findlankan-category-card:nth-child(n+9) {
		display: flex;
	}

}

.findlankan-browse-categories:not(.findlankan-all-business-categories)
.findlankan-category-card:nth-child(n+9) {
	display: none;
}

@media (min-width: 1800px) {

	.findlankan-browse-categories:not(.findlankan-all-business-categories)
	.findlankan-category-card:nth-child(n+9) {
		display: flex;
	}

}

/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 700px) {

	.findlankan-browse-categories {
		margin: 50px 0;
	}


	.findlankan-section-title {
		font-size: 27px;
	}


	.findlankan-section-subtitle {
		font-size: 15px;
	}


	.findlankan-category-grid {
		grid-template-columns:
			repeat(2, minmax(0, 1fr));

		gap: 12px;
	}


	.findlankan-category-card {
		min-height: 165px;

		padding: 18px;
	}


	.findlankan-category-icon {
		width: 46px;
		height: 46px;

		margin-bottom: 16px;
	}


	.findlankan-category-icon span {
		font-size: 22px;
	}


	.findlankan-category-name {
		font-size: 15px;
	}


	.findlankan-category-count {
		font-size: 12px;
	}

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 420px) {

	.findlankan-category-grid {
		grid-template-columns: 1fr;
	}


	.findlankan-category-card {
		min-height: auto;

		flex-direction: row;
		align-items: center;

		gap: 15px;
	}


	.findlankan-category-icon {
		flex-shrink: 0;

		margin-bottom: 0;
	}


	.findlankan-category-content {
		padding-right: 25px;
	}


	.findlankan-category-arrow {
		right: 16px;
		bottom: auto;

		top: 50%;

		transform: translateY(-50%);
	}


	.findlankan-category-card:hover
	.findlankan-category-arrow {
		transform:
			translate(4px, -50%);
	}

}


/* =========================================================
   FINDLANKAN - HOMEPAGE BUSINESS SECTIONS
========================================================= */


/* ---------------------------------------------------------
   SECTION
--------------------------------------------------------- */

.findlankan-business-section {
    width: 100%;
    margin: 70px 0;
}


/* ---------------------------------------------------------
   SECTION HEADER
--------------------------------------------------------- */

.findlankan-business-section-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 30px;

    margin-bottom: 32px;
}


/* Reuse existing section title/subtitle styles */

.findlankan-business-section-header .findlankan-section-title {
    margin: 0 0 8px;
}

.findlankan-business-section-header .findlankan-section-subtitle {
    margin: 0;
}


/* ---------------------------------------------------------
   VIEW ALL
--------------------------------------------------------- */

.findlankan-section-view-all {
    display: inline-flex;
    align-items: center;
    gap: 8px;

    flex-shrink: 0;

    color: #0074FF;
    font-size: 15px;
    font-weight: 600;

    text-decoration: none;
}

.findlankan-section-view-all:hover {
    color: #0074FF;
    text-decoration: underline;
}


/* ---------------------------------------------------------
   BUSINESS GRID
--------------------------------------------------------- */

.findlankan-business-grid {
    display: grid;

    grid-template-columns:
        repeat(4, minmax(0, 1fr));

    gap: 24px;

    align-items: stretch;
}


/*
 * Make every business card fill
 * the height of its grid cell.
 */

.findlankan-business-grid .business-card {
    height: 100%;
}

/* =========================================================
   HOMEPAGE BUSINESS GRID - LARGE MONITORS
========================================================= */

/* Normal desktop/laptop = 4 cards */
.findlankan-business-grid {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}


/* Large monitor = 6 cards */
@media (min-width: 1800px) {

	.findlankan-business-grid {
		grid-template-columns: repeat(6, minmax(0, 1fr));
	}

}

/* ---------------------------------------------------------
   TABLET
--------------------------------------------------------- */

@media (max-width: 900px) {

    .findlankan-business-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        gap: 20px;
    }

}


/* ---------------------------------------------------------
   MOBILE
--------------------------------------------------------- */

@media (max-width: 600px) {

    .findlankan-business-section {
        margin: 50px 0;
    }


    .findlankan-business-section-header {
        align-items: flex-start;
        flex-direction: column;
        gap: 12px;

        margin-bottom: 24px;
    }


    .findlankan-business-grid {
        grid-template-columns: 1fr;

        gap: 18px;
    }

}



/* =========================================================
   FINDLANKAN - BROWSE BY EMIRATES
========================================================= */

.findlankan-emirates-section {
    width: 100%;
    margin: 0px 0;
}


/* ---------------------------------------------------------
   SECTION HEADER
--------------------------------------------------------- */

.findlankan-emirates-section-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 30px;
    margin-bottom: 32px;
}

.findlankan-emirates-section-header .findlankan-section-title {
    margin: 0 0 8px;
}

.findlankan-emirates-section-header .findlankan-section-subtitle {
    margin: 0;
}


/* ---------------------------------------------------------
   EMIRATE GRID
--------------------------------------------------------- */

.findlankan-emirates-grid {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 20px;
}


/* ---------------------------------------------------------
   EMIRATE BOX
--------------------------------------------------------- */

.findlankan-emirate-box {
    position: relative;
    display: flex;
	flex-direction:column;
    align-items: center;
    gap: 16px;

    min-height: 105px;
    padding: 18px 20px;

    background: #ffffff;
    border: 1px solid #e8edf2;
    border-radius: 14px;

    text-decoration: none;

    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.04);

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease;
}


/* ---------------------------------------------------------
   HOVER
--------------------------------------------------------- */

.findlankan-emirate-box:hover {
    transform: translateY(-4px);

    border-color: #d5e4f0;

    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.08);
}


/* ---------------------------------------------------------
   ICON / LOGO
--------------------------------------------------------- */

.findlankan-emirate-icon {
    width: 100px;
    height: 100px;

    flex: 0 0 100px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 12px;

    background: #f5f9fc;
    overflow: hidden;
}

.findlankan-emirate-icon img {
    display: block;

    width: 100px;
    height: 100px;

    object-fit: contain;
}


/* ---------------------------------------------------------
   UAE FLAG FALLBACK
--------------------------------------------------------- */

.findlankan-emirate-flag {
    display: block;

    font-size: 34px;
    line-height: 1;
}


/* ---------------------------------------------------------
   EMIRATE NAME
--------------------------------------------------------- */

.findlankan-emirate-name {
    flex: 1;
	text-align:center;
    color: #1f2933;

    font-size: 17px;
    font-weight: 700;
    line-height: 1.3;
}


/* ---------------------------------------------------------
   ARROW
--------------------------------------------------------- */

.findlankan-emirate-arrow {
    flex: 0 0 auto;

    color: #7b8794;

    font-size: 20px;
    line-height: 1;

    transition:
        transform 0.2s ease,
        color 0.2s ease;
}

.findlankan-emirate-box:hover .findlankan-emirate-arrow {
    color: #1f2933;
    transform: translateX(4px);
}


/* ---------------------------------------------------------
   TABLET
--------------------------------------------------------- */

@media (max-width: 1000px) {

    .findlankan-emirates-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

}


/* ---------------------------------------------------------
   MOBILE
--------------------------------------------------------- */

@media (max-width: 600px) {

    .findlankan-emirates-section {
        margin: 50px 0;
    }

    .findlankan-emirates-section-header {
        align-items: flex-start;
        flex-direction: column;
        gap: 12px;
        margin-bottom: 24px;
    }

    .findlankan-emirates-grid {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .findlankan-emirate-box {
        min-height: 90px;
        padding: 15px 16px;
    }

    .findlankan-emirate-icon {
        width: 56px;
        height: 56px;
        flex-basis: 56px;
    }

    .findlankan-emirate-icon img {
        width: 43px;
        height: 43px;
    }

    .findlankan-emirate-flag {
        font-size: 30px;
    }

    .findlankan-emirate-name {
        font-size: 16px;
    }

}


/* =========================================================
   FINDLANKAN - RECENTLY ADDED PROFESSIONALS
========================================================= */

.findlankan-professional-section {
	width: 100%;
	margin: 70px 0;
}


/* ---------------------------------------------------------
   SECTION HEADER
--------------------------------------------------------- */

.findlankan-professional-section-header {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 30px;
	margin-bottom: 32px;
}

.findlankan-professional-section-header
.findlankan-section-title {
	margin: 0 0 8px;
}

.findlankan-professional-section-header
.findlankan-section-subtitle {
	margin: 0;
}


/* ---------------------------------------------------------
   PROFESSIONAL GRID
--------------------------------------------------------- */
/* Normal desktop / laptop */
.findlankan-professional-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 24px;
	align-items: stretch;
}


/* Large monitors */
@media (min-width: 1800px) {

	.findlankan-professional-grid {
		grid-template-columns: repeat(6, minmax(0, 1fr));
	}

}

/* Make cards equal height */

.findlankan-professional-grid .professional-card {
	height: 100%;
}


/* ---------------------------------------------------------
   TABLET
--------------------------------------------------------- */

@media (max-width: 900px) {

	.findlankan-professional-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 20px;
	}

}


/* ---------------------------------------------------------
   MOBILE
--------------------------------------------------------- */

@media (max-width: 600px) {

	.findlankan-professional-section {
		margin: 50px 0;
	}

	.findlankan-professional-section-header {
		align-items: flex-start;
		flex-direction: column;
		gap: 12px;
		margin-bottom: 24px;
	}

	.findlankan-professional-grid {
		grid-template-columns: 1fr;
		gap: 18px;
	}

}



/* =========================================================
   FINDLANKAN - OPENING HOURS
   ACF Repeater Styling
   ========================================================= */

/* Main repeater table */
.acf-field-6a8991db79c55 .acf-table {
    width: 100%;
    table-layout: fixed;
    border-collapse: separate;
    border-spacing: 0;
    border: 1px solid #e2e6eb;
    border-radius: 10px;
    overflow: hidden;
    background: #fff;
}

/* ---------------------------------------------------------
   COLUMN WIDTHS
   --------------------------------------------------------- */

/* Drag / row number column */
.acf-field-6a8991db79c55 .acf-table th.acf-row-handle,
.acf-field-6a8991db79c55 .acf-table td.acf-row-handle {
    width: 42px !important;
}

/* Day */
.acf-field-6a8991db79c55 .acf-table th[data-name="day"],
.acf-field-6a8991db79c55 .acf-table td[data-name="day"] {
    width: 25% !important;
}

/* Closed */
.acf-field-6a8991db79c55 .acf-table th[data-name="closed"],
.acf-field-6a8991db79c55 .acf-table td[data-name="closed"] {
    width: 12% !important;
}

/* Opening */
.acf-field-6a8991db79c55 .acf-table th[data-name="opening_time"],
.acf-field-6a8991db79c55 .acf-table td[data-name="opening_time"] {
    width: 31.5% !important;
}

/* Closing */
.acf-field-6a8991db79c55 .acf-table th[data-name="closing_time"],
.acf-field-6a8991db79c55 .acf-table td[data-name="closing_time"] {
    width: 31.5% !important;
}


/* ---------------------------------------------------------
   HEADER
   --------------------------------------------------------- */

.acf-field-6a8991db79c55 .acf-table thead th {
    background: #f7f9fb;
    border-bottom: 1px solid #e2e6eb;
    padding: 12px 14px;
    color: #344054;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.3;
    text-align: left;
}

/* Closed header centered */
.acf-field-6a8991db79c55 .acf-table thead th[data-name="closed"] {
    text-align: center;
}


/* ---------------------------------------------------------
   TABLE ROWS
   --------------------------------------------------------- */

.acf-field-6a8991db79c55 .acf-table tbody tr {
    background: #fff;
    transition: background-color 0.15s ease;
}

.acf-field-6a8991db79c55 .acf-table tbody tr:hover {
    background: #fafcff;
}

/* Cells */
.acf-field-6a8991db79c55 .acf-table tbody td {
    padding: 8px 10px;
    border-bottom: 1px solid #edf0f3;
    vertical-align: middle;
}

/* Last row */
.acf-field-6a8991db79c55 .acf-table tbody tr:last-child td {
    border-bottom: 0;
}


/* ---------------------------------------------------------
   ROW NUMBER
   --------------------------------------------------------- */

.acf-field-6a8991db79c55 .acf-row-handle.order {
    background: #fafbfc;
    color: #98a2b3;
    text-align: center;
    padding: 0;
    font-size: 12px;
}

.acf-field-6a8991db79c55 .acf-row-number {
    font-size: 12px;
    color: #98a2b3;
}


/* ---------------------------------------------------------
   DAY SELECT
   --------------------------------------------------------- */

.acf-field-6a8991db79c55 td[data-name="day"] .acf-input {
    margin: 0;
}

.acf-field-6a8991db79c55 td[data-name="day"] select {
    width: 100%;
    height: 42px;
    min-height: 42px;
    margin: 0;
    padding: 0 12px;
    border: 1px solid #d0d5dd;
    border-radius: 7px;
    background: #fff;
    color: #344054;
    font-size: 14px;
    line-height: 40px;
    box-shadow: none;
    cursor: default;
}

/* Since day is automatically assigned */
.acf-field-6a8991db79c55 td[data-name="day"] select {
    pointer-events: none;
    background: #f8fafc;
}


/* ---------------------------------------------------------
   CLOSED CHECKBOX
   --------------------------------------------------------- */

.acf-field-6a8991db79c55 td[data-name="closed"] {
    text-align: center;
}

.acf-field-6a8991db79c55 td[data-name="closed"] .acf-input {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0;
}

.acf-field-6a8991db79c55 td[data-name="closed"] .acf-true-false {
    margin: 0;
}

.acf-field-6a8991db79c55 td[data-name="closed"] label {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
}

/* Checkbox */
.acf-field-6a8991db79c55 td[data-name="closed"] input[type="checkbox"] {
    width: 18px;
    height: 18px;
    margin: 0;
    cursor: pointer;
}


/* ---------------------------------------------------------
   TIME FIELDS
   --------------------------------------------------------- */

.acf-field-6a8991db79c55 td[data-name="opening_time"] .acf-input,
.acf-field-6a8991db79c55 td[data-name="closing_time"] .acf-input {
    margin: 0;
}

.acf-field-6a8991db79c55 td[data-name="opening_time"] .acf-time-picker,
.acf-field-6a8991db79c55 td[data-name="closing_time"] .acf-time-picker {
    width: 100%;
    margin: 0;
}

.acf-field-6a8991db79c55 td[data-name="opening_time"] input.input,
.acf-field-6a8991db79c55 td[data-name="closing_time"] input.input {
    width: 100%;
    height: 42px;
    min-height: 42px;
    margin: 0;
    padding: 0 12px;
    border: 1px solid #d0d5dd;
    border-radius: 7px;
    background: #fff;
    color: #344054;
    font-size: 14px;
    box-shadow: none;
}

/* Focus */
.acf-field-6a8991db79c55 td[data-name="day"] select:focus,
.acf-field-6a8991db79c55 td[data-name="opening_time"] input.input:focus,
.acf-field-6a8991db79c55 td[data-name="closing_time"] input.input:focus {
    border-color: #80a9d6;
    box-shadow: 0 0 0 3px rgba(64, 120, 180, 0.10);
    outline: none;
}


/* ---------------------------------------------------------
   CLOSED STATE
   --------------------------------------------------------- */

.acf-field-6a8991db79c55 tr.findlankan-hours-closed td[data-name="opening_time"] input,
.acf-field-6a8991db79c55 tr.findlankan-hours-closed td[data-name="closing_time"] input {
    background: #f4f5f7;
    color: #98a2b3;
    cursor: not-allowed;
    opacity: 0.65;
}


/* ---------------------------------------------------------
   REMOVE ACF ADD-ROW BUTTON
   --------------------------------------------------------- */

/*
 * You already have 7 fixed days.
 * Therefore users don't need to add additional rows.
 */

.acf-field-6a8991db79c55 .acf-actions {
    display: none;
}


/* ---------------------------------------------------------
   REMOVE SORTING CURSOR
   --------------------------------------------------------- */

.acf-field-6a8991db79c55 .acf-row-handle.order {
    cursor: default;
}

.acf-field-6a8991db79c55 .acf-row-handle.order[title="Drag to reorder"] {
    cursor: default;
}


/* ---------------------------------------------------------
   RESPONSIVE
   --------------------------------------------------------- */

@media (max-width: 767px) {

    .acf-field-6a8991db79c55 .acf-table {
        min-width: 650px;
    }

    .acf-field-6a8991db79c55 {
        overflow-x: auto;
    }

}


/* =========================================================
   FINDLANKAN - HEADER ACCOUNT MENU
   Login / Register / My Account
   ========================================================= */


/* =========================================================
   DESKTOP
   ========================================================= */

@media (min-width: 1025px) {

    /*
     * Allow the primary menu to use the available width.
     * This lets the account section move to the far right.
     */
    #primary-menu {
        display: flex;
        align-items: center;
        width: 100%;
    }


    /* ---------------------------------------------------------
       ACCOUNT MENU ITEMS
       --------------------------------------------------------- */

    #primary-menu > .findlankan-header-account-nav {
        position: relative;
    }


    /*
     * Logged-in:
     * Push My Account to the far right.
     */
    #primary-menu > .findlankan-account-logged-in {
        margin-left: auto;
    }


    /*
     * Logged-out:
     * Push Login + Register to the far right.
     */
    #primary-menu > .findlankan-login-nav {
        margin-left: auto;
    }

    #primary-menu > .findlankan-register-nav {
        margin-left: 8px;
    }


    /* ---------------------------------------------------------
       TOP LEVEL ACCOUNT LINKS
       --------------------------------------------------------- */

    #primary-menu > .findlankan-header-account-nav > a {
        display: inline-flex;
        align-items: center;
        justify-content: center;

        min-height: 40px;
        padding: 0 16px;

        border-radius: 7px;

        font-size: 14px;
        font-weight: 600;
        line-height: 1;

        text-decoration: none;

        transition:
            background-color 0.2s ease,
            color 0.2s ease,
            border-color 0.2s ease;
    }


    /* ---------------------------------------------------------
       MY ACCOUNT BUTTON
       --------------------------------------------------------- */

    #primary-menu > .findlankan-account-logged-in > a {
        background: #05054B;
        color: #ffffff;
        border: 1px solid #05054B;
    }

    #primary-menu > .findlankan-account-logged-in > a:hover {
        background: #0074FF;
        color: #ffffff;
        border-color: #0074FF;
    }


    /* ---------------------------------------------------------
       LOGIN BUTTON
       --------------------------------------------------------- */

    #primary-menu > .findlankan-login-nav > a {
        background: #ffffff;
        color: #05054B;
        border: 1px solid #d9dce3;
    }

    #primary-menu > .findlankan-login-nav > a:hover {
        background: #f6f7f9;
        color: #05054B;
        border-color: #c9cdd5;
    }


    /* ---------------------------------------------------------
       REGISTER BUTTON
       --------------------------------------------------------- */

    #primary-menu > .findlankan-register-nav > a {
        background: #05054B;
        color: #ffffff;
        border: 1px solid #05054B;
    }

    #primary-menu > .findlankan-register-nav > a:hover {
        background: #0074FF;
        color: #ffffff;
        border-color: #0074FF;
    }


    /* =========================================================
       MY ACCOUNT DROPDOWN
       ========================================================= */

    #primary-menu > .findlankan-account-logged-in > .sub-menu {
        position: absolute;

        top: calc(100% + 8px);
        right: 0;
        left: auto;

        width: 220px;
        min-width: 220px;

        margin: 0;
        padding: 8px;

        background: #ffffff;

        border: 1px solid #e5e7eb;
        border-radius: 10px;

        box-shadow:
            0 10px 30px rgba(0, 0, 0, 0.10);

        box-sizing: border-box;

        z-index: 9999;
    }


    /*
     * Dropdown menu items
     */
    #primary-menu
    > .findlankan-account-logged-in
    > .sub-menu
    > li {
        display: block;
        width: 100%;
        margin: 0;
        padding: 0;
    }


    /*
     * Dropdown links
     */
    #primary-menu
    > .findlankan-account-logged-in
    > .sub-menu
    > li
    > a {

        display: flex;
        align-items: center;

        width: 100%;
        min-height: 40px;

        padding: 9px 12px;

        box-sizing: border-box;

        border-radius: 6px;

        color: #374151;
        background: transparent;

        font-size: 13px;
        font-weight: 500;
        line-height: 1.4;

        text-decoration: none;
    }


    /*
     * Dropdown hover
     */
    #primary-menu
    > .findlankan-account-logged-in
    > .sub-menu
    > li
    > a:hover {

        background: #f5f7fa;
        color: #05054B;
    }


    /* ---------------------------------------------------------
       LOGOUT
       --------------------------------------------------------- */

    #primary-menu
    > .findlankan-account-logged-in
    > .sub-menu
    > .findlankan-logout-menu {

        margin-top: 6px;
        padding-top: 6px;

        border-top: 1px solid #eeeeee;
    }


    #primary-menu
    > .findlankan-account-logged-in
    > .sub-menu
    > .findlankan-logout-menu
    > a {

        color: #b42318;
    }


    #primary-menu
    > .findlankan-account-logged-in
    > .sub-menu
    > .findlankan-logout-menu
    > a:hover {

        color: #b42318;
        background: #fff5f4;
    }

}


/* =========================================================
   MOBILE / TABLET
   Let Kadence handle the mobile menu layout.
   Only lightly style our custom links.
   ========================================================= */

@media (max-width: 1024px) {

    .findlankan-header-account-nav > a {
        font-weight: 600;
    }


    /*
     * Keep My Account normal inside Kadence mobile drawer.
     */
    .findlankan-account-logged-in {
        margin-left: 0;
    }


    /*
     * Login
     */
    .findlankan-login-nav > a {
        color: #05054B;
    }


    /*
     * Register
     */
    .findlankan-register-nav > a {
        color: #0074FF;
        font-weight: 700;
    }


    /*
     * Logout
     */
    .findlankan-logout-menu > a {
        color: #b42318 !important;
    }

}

/* =========================================================
   FIX - MY ACCOUNT DROPDOWN HOVER GAP
   ========================================================= */

@media (min-width: 1025px) {

    #primary-menu > .findlankan-account-logged-in > .sub-menu {
        top: 100% !important;
        margin-top: 0 !important;
    }

}


/* =========================================================
   FINDLANKAN FRONTEND LOGIN
   ========================================================= */

.findlankan-login-page {
    width: 100%;
    max-width: 460px;
    margin: 70px auto;
}


/* Login card */

.findlankan-login-card {
    padding: 40px;

    background: #ffffff;

    border: 1px solid #e5e7eb;
    border-radius: 12px;

    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.04);

    box-sizing: border-box;
}


/* =========================================================
   HEADER
   ========================================================= */

.findlankan-login-header {
    margin-bottom: 30px;
    text-align: center;
}

.findlankan-login-header h1 {
    margin: 0 0 10px;

    color: #05054B;

    font-size: 28px;
    font-weight: 700;
    line-height: 1.2;
}

.findlankan-login-header p {
    margin: 0;

    color: #667085;

    font-size: 14px;
    line-height: 1.6;
}


/* =========================================================
   LOGIN FORM
   ========================================================= */

#findlankan-login-form {
    margin: 0;
}

#findlankan-login-form p {
    margin: 0 0 20px;
}


/* Labels */

#findlankan-login-form label {
    display: block;

    margin-bottom: 7px;

    color: #344054;

    font-size: 14px;
    font-weight: 600;
}


/* Username + Password */

#findlankan-login-form input[type="text"],
#findlankan-login-form input[type="password"] {
    display: block;

    width: 100%;
    min-height: 46px;

    padding: 10px 12px;

    background: #ffffff;

    border: 1px solid #d0d5dd;
    border-radius: 7px;

    color: #101828;

    font-size: 15px;

    box-sizing: border-box;

    transition:
        border-color 0.2s ease,
        box-shadow 0.2s ease;
}


/* Focus */

#findlankan-login-form input[type="text"]:focus,
#findlankan-login-form input[type="password"]:focus {
    outline: none;

    border-color: #0074FF;

    box-shadow:
        0 0 0 3px rgba(0, 116, 255, 0.10);
}


/* =========================================================
   REMEMBER ME
   ========================================================= */

#findlankan-login-form .login-remember {
    margin-bottom: 20px;
}

#findlankan-login-form .login-remember label {
    display: inline-flex;
    align-items: center;

    gap: 8px;

    margin: 0;

    font-weight: 400;

    cursor: pointer;
}

#findlankan-login-form .login-remember input {
    width: 16px;
    height: 16px;

    margin: 0;
}


/* =========================================================
   LOGIN BUTTON
   ========================================================= */

#findlankan-login-form .login-submit {
    margin: 0;
}

#findlankan-login-submit {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 100%;
    min-height: 46px;

    padding: 10px 20px;

    background: #05054B;
    color: #ffffff;

    border: 1px solid #05054B;
    border-radius: 7px;

    font-size: 15px;
    font-weight: 600;

    cursor: pointer;

    transition:
        background-color 0.2s ease,
        border-color 0.2s ease;
}

#findlankan-login-submit:hover {
    background: #0074FF;
    border-color: #0074FF;
}


/* =========================================================
   FORGOT PASSWORD
   ========================================================= */

.findlankan-login-links {
    margin-top: 18px;

    text-align: center;
}

.findlankan-forgot-password {
    color: #0074FF;

    font-size: 14px;
    font-weight: 500;

    text-decoration: none;
}

.findlankan-forgot-password:hover {
    color: #05054B;
}


/* =========================================================
   REGISTER
   ========================================================= */

.findlankan-login-register {
    margin-top: 25px;
    padding-top: 22px;

    border-top: 1px solid #eaecf0;

    text-align: center;

    color: #667085;

    font-size: 14px;
}

.findlankan-login-register span {
    display: block;

    margin-bottom: 5px;
}

.findlankan-login-register a {
    color: #0074FF;

    font-weight: 600;

    text-decoration: none;
}

.findlankan-login-register a:hover {
    color: #05054B;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 600px) {

    .findlankan-login-page {
        margin: 35px auto;

        padding: 0 15px;

        box-sizing: border-box;
    }

    .findlankan-login-card {
        padding: 28px 22px;
    }

    .findlankan-login-header h1 {
        font-size: 24px;
    }

}


/* =========================================================
   FINDLANKAN LOGIN MESSAGES
   ========================================================= */

.findlankan-login-message {
    margin: 0 0 24px;
    padding: 13px 15px;

    border-radius: 7px;

    font-size: 13px;
    line-height: 1.5;

    box-sizing: border-box;
}


/* Error */

.findlankan-login-error {
    background: #fff5f4;
    border: 1px solid #fecdca;
    color: #b42318;
}


.findlankan-login-error strong {
    display: block;

    margin-bottom: 3px;

    color: #912018;
    font-weight: 600;
}


.findlankan-login-error span {
    display: block;
}

.findlankan-login-success {
    background: #ecfdf3;
    border: 1px solid #abefc6;
    color: #067647;
}

.findlankan-login-success strong {
    display: block;
    margin-bottom: 3px;

    color: #05603a;
    font-weight: 600;
}

.findlankan-login-success span {
    display: block;
}


/* =========================================================
   FINDLANKAN PASSWORD RECOVERY
   ========================================================= */

.findlankan-password-page {
    width: 100%;
    max-width: 460px;

    margin: 70px auto;
}

.findlankan-password-card {
    padding: 40px;

    background: #ffffff;

    border: 1px solid #e5e7eb;
    border-radius: 12px;

    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.04);

    box-sizing: border-box;
}


/* Header */

.findlankan-password-header {
    margin-bottom: 28px;

    text-align: center;
}

.findlankan-password-header h1 {
    margin: 0 0 10px;

    color: #05054B;

    font-size: 28px;
    font-weight: 700;
    line-height: 1.2;
}

.findlankan-password-header p {
    margin: 0;

    color: #667085;

    font-size: 14px;
    line-height: 1.6;
}


/* Fields */

.findlankan-password-field {
    margin-bottom: 20px;
}

.findlankan-password-field label {
    display: block;

    margin-bottom: 7px;

    color: #344054;

    font-size: 14px;
    font-weight: 600;
}

.findlankan-password-field input {
    display: block;

    width: 100%;
    min-height: 46px;

    padding: 10px 12px;

    background: #ffffff;

    border: 1px solid #d0d5dd;
    border-radius: 7px;

    color: #101828;

    font-size: 15px;

    box-sizing: border-box;
}

.findlankan-password-field input:focus {
    outline: none;

    border-color: #0074FF;

    box-shadow:
        0 0 0 3px rgba(0, 116, 255, 0.10);
}


/* Button */

.findlankan-password-button {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 100%;
    min-height: 46px;

    padding: 10px 20px;

    background: #05054B;
    color: #ffffff;

    border: 1px solid #05054B;
    border-radius: 7px;

    font-size: 15px;
    font-weight: 600;

    text-decoration: none;

    cursor: pointer;

    box-sizing: border-box;
}

.findlankan-password-button:hover {
    background: #0074FF;
    border-color: #0074FF;
    color: #ffffff;
}


/* Messages */

.findlankan-password-message {
    margin-bottom: 22px;
    padding: 13px 15px;

    border-radius: 7px;

    font-size: 13px;
    line-height: 1.5;
}

.findlankan-password-error {
    background: #fff5f4;
    border: 1px solid #fecdca;
    color: #b42318;
}

.findlankan-password-success {
    background: #ecfdf3;
    border: 1px solid #abefc6;
    color: #067647;
}


/* Footer */

.findlankan-password-footer {
    margin-top: 22px;

    text-align: center;
}

.findlankan-password-footer a {
    color: #0074FF;

    font-size: 14px;
    font-weight: 500;

    text-decoration: none;
}

.findlankan-password-footer a:hover {
    color: #05054B;
}


/* Mobile */

@media (max-width: 600px) {

    .findlankan-password-page {
        margin: 35px auto;

        padding: 0 15px;

        box-sizing: border-box;
    }

    .findlankan-password-card {
        padding: 28px 22px;
    }

    .findlankan-password-header h1 {
        font-size: 24px;
    }
}


/* =====================================================
   FINDLANKAN HOMEPAGE HERO
===================================================== */

.fl-hero {
    position: relative;
    width: 100%;
    overflow: hidden;

    background-image: var(--fl-hero-bg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;

    min-height: 520px;
}


/* Main Container */

.fl-hero-container {
    position: relative;
    z-index: 2;

    width: min(1400px, calc(100% - 48px));
    min-height: 520px;

    margin: 0 auto;

    display: grid;
    grid-template-columns: 48% 52%;
    align-items: center;
}


/* =====================================================
   LEFT CONTENT
===================================================== */

.fl-hero-content {
    position: relative;
    z-index: 5;

    max-width: 650px;
    padding: 65px 0;
}


.fl-hero-title {
    margin: 0 0 22px;

    color: #070B52;

    font-size: clamp(40px, 4vw, 62px);
    line-height: 1.06;
    letter-spacing: -1.8px;
    font-weight: 800;
	
	-webkit-text-stroke: 0.8px rgba(255, 255, 255, 0.95);
        paint-order: stroke fill;

        text-shadow:
            0 2px 4px rgba(255, 255, 255, 0.9),
            0 0 10px rgba(255, 255, 255, 0.65);
}


.fl-hero-title span {
    display: block;
    color: #0878F9;
	
	-webkit-text-stroke: 0.8px rgba(255, 255, 255, 0.95);
        paint-order: stroke fill;

        text-shadow:
            0 2px 4px rgba(255, 255, 255, 0.9),
            0 0 10px rgba(255, 255, 255, 0.65);
}


.fl-hero-description {
    max-width: 610px;

    margin: 0 0 30px;

    color: #000;

    font-size: 17px;
    line-height: 1.7;
	
	-webkit-text-stroke: 0.8px rgba(255, 255, 255, 0.95);
        paint-order: stroke fill;

        text-shadow:
            0 2px 4px rgba(255, 255, 255, 0.9),
            0 0 10px rgba(255, 255, 255, 0.65);
}


/* =====================================================
   BUTTONS
===================================================== */

.fl-hero-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 14px;
}


.fl-hero-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;

    min-height: 52px;
    padding: 0 24px;

    border-radius: 8px;

    font-size: 15px;
    font-weight: 700;

    text-decoration: none !important;

    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease,
        background 0.2s ease;
}


.fl-hero-btn-primary {
    color: #ffffff !important;
    background: #0878F9;

    border: 1px solid #0878F9;

    box-shadow: 0 8px 24px rgba(8, 120, 249, 0.20);
}


.fl-hero-btn-primary:hover {
    color: #ffffff !important;
    background: #0669db;

    transform: translateY(-2px);

    box-shadow: 0 12px 28px rgba(8, 120, 249, 0.28);
}


.fl-hero-btn-secondary {
    color: #0878F9 !important;
    background: rgba(255, 255, 255, 0.80);

    border: 1px solid #0878F9;

    backdrop-filter: blur(6px);
}


.fl-hero-btn-secondary:hover {
    color: #ffffff !important;
    background: #0878F9;

    transform: translateY(-2px);
}


.fl-btn-arrow {
    font-size: 20px;
    line-height: 1;
}


/* =====================================================
   RIGHT PROFESSIONAL IMAGE
===================================================== */

.fl-hero-visual {
    position: relative;

    align-self: stretch;

    display: flex;
    align-items: flex-end;
    justify-content: flex-end;

    min-width: 0;
}


.fl-hero-people {
    display: block;

    width: min(100%, 760px);
    height: auto;

    max-height: 510px;

    object-fit: contain;
    object-position: bottom right;

    margin-left: auto;
}


/* =====================================================
   TABLET
===================================================== */

@media (max-width: 1100px) {

    .fl-hero,
    .fl-hero-container {
        min-height: 470px;
    }

    .fl-hero-container {
        width: min(100% - 40px, 1200px);

        grid-template-columns: 52% 48%;
    }

    .fl-hero-content {
        padding: 55px 0;
    }

    .fl-hero-title {
        font-size: clamp(36px, 4.5vw, 50px);
    }

    .fl-hero-description {
        font-size: 16px;
    }

    .fl-hero-people {
        max-height: 450px;
    }

}


/* =====================================================
   MOBILE
===================================================== */

@media (max-width: 767px) {

    .fl-hero {
        min-height: auto;

        /*
         * Move the background slightly toward the right
         * so the decorative UAE side remains visible.
         */
        background-position: 65% center;
    }

    .fl-hero-container {
        width: calc(100% - 32px);

        min-height: auto;

        grid-template-columns: 1fr;
    }


    /* TEXT */

    .fl-hero-content {
        max-width: 100%;

        padding: 48px 0 25px;

        text-align: center;
    }

    .fl-hero-title {
        margin-bottom: 18px;

        font-size: clamp(34px, 10vw, 44px);
        line-height: 1.08;

        letter-spacing: -1px;
    }

    .fl-hero-description {
        max-width: 520px;

        margin: 0 auto 26px;

        font-size: 15px;
        line-height: 1.65;
    }


    /* BUTTONS */

    .fl-hero-actions {
        justify-content: center;
    }

    .fl-hero-btn {
        min-height: 50px;
    }


    /* PEOPLE */

    .fl-hero-visual {
        justify-content: center;
    }

    .fl-hero-people {
        width: min(100%, 520px);

        max-height: none;

        margin: 0 auto;
    }

}


/* =====================================================
   SMALL MOBILE
===================================================== */

@media (max-width: 480px) {

    .fl-hero-container {
        width: calc(100% - 28px);
    }

    .fl-hero-content {
        padding-top: 38px;
    }

    .fl-hero-title {
        font-size: 34px;
    }

    .fl-hero-actions {
        display: grid;
        grid-template-columns: 1fr;

        width: 100%;
    }

    .fl-hero-btn {
        width: 100%;
    }

}


/* =========================================================
   FINDLANKAN HOMEPAGE CTA
========================================================= */

.fl-home-cta {
	width: 100%;
	margin: 55px 0;
}


/* Main 2-column layout 
 * width: min(1400px, calc(100% - 48px));*/

.fl-home-cta-grid {
	
	margin: 0 auto;

	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));

	gap: 24px;
}


/* =========================================================
   CTA CARD
========================================================= */

.fl-cta-card {
	--fl-cta-bg: none;

	position: relative;

	min-height: 340px;

	overflow: hidden;

	border-radius: 18px;

	background-image: var(--fl-cta-bg);
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;

	box-shadow:
		0 12px 35px rgba(15, 23, 42, 0.08);

	isolation: isolate;
}


/* =========================================================
   OVERLAYS
========================================================= */

.fl-cta-overlay {
	position: absolute;
	inset: 0;

	z-index: 1;

	pointer-events: none;
}


/* Business card overlay */

.fl-cta-business .fl-cta-overlay {
	background: linear-gradient(
		90deg,
		rgba(255, 249, 238, 0.98) 0%,
		rgba(255, 249, 238, 0.94) 38%,
		rgba(255, 249, 238, 0.45) 65%,
		rgba(255, 249, 238, 0.05) 100%
	);
}


/* Professional card overlay */

.fl-cta-professional .fl-cta-overlay {
	background: linear-gradient(
		90deg,
		rgba(5, 24, 83, 0.98) 0%,
		rgba(5, 31, 100, 0.93) 40%,
		rgba(5, 37, 112, 0.45) 68%,
		rgba(5, 37, 112, 0.05) 100%
	);
}


/* =========================================================
   CONTENT
========================================================= */

.fl-cta-content {
	position: relative;
	z-index: 2;

	width: 58%;
	max-width: 430px;

	padding: 42px;

	display: flex;
	flex-direction: column;
	align-items: flex-start;
}


/* =========================================================
   EYEBROW
========================================================= */

.fl-cta-eyebrow {
	display: inline-flex;

	margin-bottom: 10px;

	font-size: 13px;
	font-weight: 700;

	letter-spacing: 0.04em;
	text-transform: uppercase;
}


/* Business */

.fl-cta-business .fl-cta-eyebrow {
	color: #0878f9;
}


/* Professional */

.fl-cta-professional .fl-cta-eyebrow {
	color: #78b8ff;
}


/* =========================================================
   TITLE
========================================================= */

.fl-cta-title {
	margin: 0 0 14px;

	font-size: clamp(30px, 2.4vw, 40px);
	line-height: 1.08;

	font-weight: 800;
	letter-spacing: -0.8px;
}


/* Business title */

.fl-cta-business .fl-cta-title {
	color: #070b52;
}


.fl-cta-business .fl-cta-title span {
	display: block;
	color: #0878f9;
}


/* Professional title */

.fl-cta-professional .fl-cta-title {
	color: #ffffff;
}


.fl-cta-professional .fl-cta-title span {
	color: #58a8ff;
}


/* =========================================================
   DESCRIPTION
========================================================= */

.fl-cta-description {
	margin: 0 0 25px;

	font-size: 16px;
	line-height: 1.6;
}


/* Business */

.fl-cta-business .fl-cta-description {
	color: #475569;
}


/* Professional */

.fl-cta-professional .fl-cta-description {
	color: rgba(255, 255, 255, 0.85);
}


/* =========================================================
   BUTTON
========================================================= */

.fl-cta-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	gap: 14px;

	min-height: 50px;

	padding: 0 22px;

	border-radius: 8px;

	font-size: 15px;
	font-weight: 700;

	text-decoration: none !important;

	transition:
		transform 0.2s ease,
		box-shadow 0.2s ease,
		background 0.2s ease;
}


/* Business button */

.fl-cta-button-business {
	color: #ffffff !important;

	background: #0878f9;

	box-shadow:
		0 8px 20px rgba(8, 120, 249, 0.22);
}


.fl-cta-button-business:hover {
	color: #ffffff !important;

	background: #066cde;

	transform: translateY(-2px);

	box-shadow:
		0 12px 26px rgba(8, 120, 249, 0.30);
}


/* Professional button */

.fl-cta-button-professional {
	color: #0878f9 !important;

	background: #ffffff;

	box-shadow:
		0 8px 20px rgba(0, 0, 0, 0.12);
}


.fl-cta-button-professional:hover {
	color: #070b52 !important;

	background: #f1f7ff;

	transform: translateY(-2px);

	box-shadow:
		0 12px 26px rgba(0, 0, 0, 0.16);
}


/* Arrow */

.fl-cta-arrow {
	font-size: 20px;
	line-height: 1;

	transition: transform 0.2s ease;
}


.fl-cta-button:hover .fl-cta-arrow {
	transform: translateX(4px);
}


/* =========================================================
   MEDIUM LAPTOP / TABLET
========================================================= */

@media (max-width: 1100px) {

	.fl-home-cta-grid {
		width: calc(100% - 40px);
		gap: 18px;
	}

	.fl-cta-card {
		min-height: 320px;
	}

	.fl-cta-content {
		width: 65%;

		padding: 32px;
	}

	.fl-cta-title {
		font-size: 32px;
	}

	.fl-cta-description {
		font-size: 15px;
	}
	
	.fl-cta-business .fl-cta-content {
		width: 55%;
	}

	.fl-cta-business-visual {
		right: -15px;
		bottom: -45px;

		width: 50%;
		height: 112%;
	}

	.fl-cta-professional .fl-cta-content {
		width: 55%;
	}


	.fl-cta-professional-visual {
		right: -15px;
		bottom: -30px;

		width: 48%;
		height: 105%;
	}
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

	.fl-home-cta {
		margin: 40px 0;
	}


	.fl-home-cta-grid {
		width: calc(100% - 32px);

		grid-template-columns: 1fr;

		gap: 18px;
	}


	.fl-cta-card {
		min-height: 360px;

		background-position: center;
	}


	.fl-cta-content {
		width: 68%;

		padding: 30px 24px;
	}


	.fl-cta-title {
		font-size: 30px;
	}


	.fl-cta-description {
		font-size: 14px;
	}


	/*
	 * Stronger gradient on smaller screens
	 * so text remains readable.
	 */

	.fl-cta-business .fl-cta-overlay {
		background: linear-gradient(
			90deg,
			rgba(255,249,238,1) 0%,
			rgba(255,249,238,0.96) 45%,
			rgba(255,249,238,0.40) 82%,
			rgba(255,249,238,0.05) 100%
		);
	}


	.fl-cta-professional .fl-cta-overlay {
		background: linear-gradient(
			90deg,
			rgba(5,24,83,1) 0%,
			rgba(5,31,100,0.96) 45%,
			rgba(5,37,112,0.40) 82%,
			rgba(5,37,112,0.05) 100%
		);
	}
	
	.fl-cta-business .fl-cta-content {
		width: 62%;
		position: relative;
		z-index: 3;
	}


	.fl-cta-business-visual {
		right: -40px;
		bottom: -35px;

		width: 53%;
		height: 100%;

		opacity: 1;
	}


	.fl-cta-business-visual img {
		object-position: right bottom;
	}
	
	.fl-cta-professional .fl-cta-content {
		width: 62%;
		position: relative;
		z-index: 3;
	}


	.fl-cta-professional-visual {
		right: -35px;
		bottom: -25px;

		width: 50%;
		height: 96%;
	}


	.fl-cta-professional-visual img {
		object-position: right bottom;
	}

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 480px) {

	.fl-home-cta-grid {
		width: calc(100% - 28px);
	}


	.fl-cta-card {
		min-height: 390px;

		/*
		 * Push the visual toward the right.
		 */
		background-position: 65% center;
	}


	.fl-cta-content {
		width: 78%;

		padding: 28px 20px;
	}


	.fl-cta-title {
		font-size: 27px;
	}


	.fl-cta-button {
		min-height: 48px;

		padding: 0 18px;

		font-size: 14px;
	}
	
	.fl-cta-business .fl-cta-content {
		width: 65%;
	}


	.fl-cta-business-visual {
		right: -55px;
		bottom: -30px;

		width: 58%;
		height: 92%;
	}
	
	.fl-cta-professional .fl-cta-content {
		width: 65%;
	}


	.fl-cta-professional-visual {
		right: -45px;
		bottom: -20px;

		width: 55%;
		height: 90%;
	}

}


/* =========================================================
   BUSINESS CTA - PHONE PNG
========================================================= */

.fl-cta-business {
	position: relative;
}


/*
 * Keep business text on left and above image
 */

.fl-cta-business .fl-cta-content {
	position: relative;
	z-index: 3;

	width: 54%;
	max-width: 430px;
}


/*
 * Transparent phone image
 */

.fl-cta-business-visual {
	position: absolute;

	z-index: 2;

	right: -10px;
	bottom: 0px;

	width: 52%;
	height: 118%;

	display: flex;
	align-items: flex-end;
	justify-content: flex-end;

	pointer-events: none;
}


.fl-cta-business-visual img {
	display: block;
	border-radius:20px;
	width: 100%;
	height: 100%;

	object-fit: contain;
	object-position: right bottom;
}



/* =========================================================
   PROFESSIONAL CTA - RIGHT PNG
========================================================= */

.fl-cta-professional {
	position: relative;
}


/* Keep content on the left */

.fl-cta-professional .fl-cta-content {
	position: relative;
	z-index: 3;

	width: 54%;
	max-width: 430px;
}


/* Right-side professional PNG */

.fl-cta-professional-visual {
	position: absolute;

	z-index: 2;

	right: -10px;
	bottom: 0px;

	width: 48%;
	height: 110%;

	display: flex;
	align-items: flex-end;
	justify-content: flex-end;

	pointer-events: none;
}


.fl-cta-professional-visual img {
	display: block;

	width: 100%;
	height: 100%;

	object-fit: contain;
	object-position: right bottom;
}