/* Site-specific colors are provided by database settings, shared by all deployments. */
.hide-decorative-patterns .pattern-layer,
.hide-decorative-patterns .pattern,
.hide-decorative-patterns .anim-icon { display: none !important; }
.clinic-site-header .logo > a { display: flex; align-items: center; gap: 10px; }
.header-brand-name { max-width: 185px; white-space: normal; font-size: 13px; line-height: 1.5; color: var(--theme-accent); }
.clinic-site-header .header-account-box, .clinic-site-header .clinic-sticky-actions { display: flex; gap: 10px; flex-shrink: 0; }
.clinic-site-header .clinic-reserve-btn { white-space: nowrap; min-width: 120px; min-height: 42px; padding: 10px 14px; }
.circular-brand .clinic-site-header .logo img,
.circular-brand .main-footer .footer-brand-logo,
.circular-brand .mobile-menu .nav-logo img { border-radius: 50%; background: var(--theme-secondary); }
.circular-brand .main-footer .footer-brand-logo { padding: 0; }
.home-hero-banner .auto-container { position: relative; z-index: 3; }
.gold-hero-title .doctor-hero-content h1,
.gold-hero-title .home-hero-banner .content-box h1 { color: var(--theme-accent) !important; text-shadow: 0 2px 6px #000b; }
@media (max-width: 1199.98px) and (min-width: 992px) {
    .header-brand-name { max-width: 120px; font-size: 11px; }
    .clinic-site-header .header-lower .outer-box { gap: 8px; }
    .clinic-site-header.style-two .main-menu .navigation > li { margin: 0 2px; }
}
@media (max-width: 991.98px) {
    .clinic-site-header .sticky-header { display: block !important; }
    .clinic-site-header .sticky-header .outer-box { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
    .clinic-site-header .clinic-sticky-actions { display: flex; margin-right: 0; }
    .clinic-site-header .sticky-header .menu-area { display: none; }
    .clinic-site-header .header-lower .outer-box { flex-wrap: wrap; }
    .clinic-site-header .header-account-box { margin-inline-start: auto; padding-bottom: 8px; }
    .clinic-site-header .header-account-box .clinic-reserve-btn { width: auto; }
}
@media (max-width: 767.98px) {
    .clinic-site-header .header-brand-name { max-width: 145px; font-size: 11px; }
    .clinic-site-header .sticky-header .header-brand-name { display: none; }
    .clinic-site-header .sticky-header .clinic-reserve-btn { width: auto; min-width: 115px; }
}
html { scroll-behavior: smooth; scroll-padding-top: 125px; }
body, .boxed_wrapper { background: var(--site-background); color: var(--site-text); }
.boxed_wrapper { --theme-primary-soft: color-mix(in srgb, var(--theme-primary) 12%, var(--site-surface)); }
.preserve-lines { white-space: pre-line; overflow-wrap: anywhere; }
.doctor-hero-content h1 { white-space: pre-line; }
.doctor-hero-content .preserve-lines { line-height: 2; }
.boxed_wrapper h1, .boxed_wrapper h2, .boxed_wrapper h3, .boxed_wrapper h4,
.boxed_wrapper .sec-title h2 { color: var(--site-text); }
.boxed_wrapper p { color: var(--site-muted); }
.boxed_wrapper a:not(.theme-btn-one):not(.clinic-reserve-btn):not(.header-account-icon):not(.clinic-sticky-reserve):not(.main-footer a) { color: inherit; }
.boxed_wrapper a:hover { color: var(--theme-primary); }
.boxed_wrapper .theme-btn-one { background: var(--theme-primary); color: var(--site-button-text); }
.boxed_wrapper .theme-btn-one:hover { background: var(--theme-accent); color: var(--site-button-text); }
.boxed_wrapper .theme-btn-one::before { background: var(--theme-accent); }
.boxed_wrapper .text-primary { color: var(--theme-primary) !important; }
.boxed_wrapper .bg-color-2, .boxed_wrapper .bg-color-3,
.boxed_wrapper .home-services-section, .boxed_wrapper .quick-reservation-section,
.boxed_wrapper .about-section, .boxed_wrapper .news-section { background: var(--site-background); }
.boxed_wrapper .home-service-card, .boxed_wrapper .home-about-card,
.boxed_wrapper .quick-reservation-card, .boxed_wrapper .category-block-one .inner-box,
.boxed_wrapper .contact-page-card, .boxed_wrapper .news-block-one .inner-box,
.boxed_wrapper .appointment-section .form-inner { background: var(--site-surface); border-color: var(--site-border); }
.boxed_wrapper .home-service-body h3, .boxed_wrapper .quick-reservation-title,
.boxed_wrapper .quick-reservation-card label, .boxed_wrapper .contact-info-content strong,
.boxed_wrapper .category-block-one .inner-box h3 a { color: var(--site-text); }
.boxed_wrapper .home-service-body p, .boxed_wrapper .home-services-intro,
.boxed_wrapper .quick-reservation-subtitle, .boxed_wrapper .category-block-one .inner-box p,
.boxed_wrapper .contact-info-content span { color: var(--site-muted); }
.boxed_wrapper input:not([type=checkbox]):not([type=radio]):not([type=hidden]),
.boxed_wrapper select, .boxed_wrapper textarea, .boxed_wrapper .nice-select {
    background: var(--site-surface); color: var(--site-text); border-color: var(--site-border);
}
.boxed_wrapper input::placeholder, .boxed_wrapper textarea::placeholder { color: var(--site-muted); }
.boxed_wrapper .contact-page-form input:focus, .boxed_wrapper .contact-page-form textarea:focus { background: var(--site-surface); }
.boxed_wrapper .nice-select .list { background: var(--site-surface); color: var(--site-text); }
.boxed_wrapper .nice-select .option:hover, .boxed_wrapper .nice-select .option.selected { background: var(--theme-primary-soft); }
.clinic-site-header .clinic-topbar, .clinic-site-header .header-lower,
.clinic-site-header .sticky-header, .mobile-menu .menu-box { background: var(--site-surface); }
.clinic-site-header .clinic-topbar-item, .clinic-site-header .main-menu .navigation > li > a,
.mobile-menu .navigation li > a, .mobile-menu .contact-info { color: var(--site-text); }
.clinic-site-header .main-menu .navigation > li > ul,
.mobile-menu .navigation li > ul { background: var(--site-surface); border-color: var(--site-border); }
.clinic-site-header .main-menu .navigation > li > ul > li > a { color: var(--site-text); line-height: 1.7; white-space: normal; }
.clinic-site-header .main-menu .navigation > li > ul { width: 365px; max-height: 65vh; overflow-y: auto; }
.clinic-site-header .main-menu .navigation > li > ul > li:hover > a { background: var(--theme-primary-soft); }
.clinic-site-header .logo-box { display: flex; align-items: center; gap: 12px; flex-shrink: 0; max-width: 360px; }
.clinic-site-header.style-two .logo-box { padding: 8px 0; }
.clinic-site-header .logo-box .logo img { max-width: 60px !important; max-height: 52px !important; }
.clinic-site-header .clinic-topbar { border-bottom-color: var(--site-border); }
.clinic-site-header .clinic-topbar-inner { display: flex; min-height: 42px; padding: 0; gap: 12px; }
.clinic-site-header .clinic-topbar-details { display: flex; flex-wrap: wrap; gap: 4px 18px; padding: 6px 0; }
.clinic-site-header .clinic-topbar-item { padding: 0; border: 0; font-size: 12px; line-height: 1.7; }
.clinic-site-header .clinic-topbar-icon { width: 24px; height: 24px; min-width: 24px; font-size: 11px; }
.clinic-site-header .clinic-topbar-address { max-width: 100%; overflow: visible; }
.clinic-site-header .clinic-topbar-address > span:last-child { white-space: normal; overflow: visible; }
.clinic-address-link { display: inline-flex; align-items: center; gap: 9px; min-width: 0; }
.clinic-address-link > span:last-child { white-space: normal; }
.clinic-site-header .header-lower .outer-box { min-height: 68px; gap: 16px; }
.clinic-site-header.style-two .main-menu .navigation > li { margin: 0 10px; padding: 18px 0; }
.clinic-site-header .main-menu .navigation > li > a { font-size: 15px; padding: 0 12px; }
.clinic-site-header .sticky-header .logo-box { padding: 8px 0 !important; }
.clinic-site-header .sticky-header .main-menu .navigation > li { padding: 18px 0 !important; }
.clinic-site-header .header-account-icon { width: 40px; height: 40px; min-width: 40px; font-size: 16px; }
.clinic-site-header .mobile-nav-toggler .icon-bar { background: var(--site-text); }
.clinic-site-header .clinic-sticky-reserve, .clinic-site-header .clinic-reserve-btn { color: var(--site-button-text) !important; }
.doctor-hero-content h1, .doctor-hero-content p, .home-hero-banner h1, .home-hero-banner h3, .home-hero-banner p { color: #fff; }
.booking-options-section, .booking-bottom-section, .patient-guide-section, .patient-testimonials-section { padding: 55px 0; background: var(--site-background); }
.booking-options-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: 24px; }
.booking-option-card, .visit-guide-card, .patient-guide-card, .patient-testimonial { padding: 30px; border: 1px solid var(--site-border); border-radius: 18px; background: var(--site-surface); }
.booking-option-card { text-align: center; }
.booking-option-card > i { display: block; color: var(--theme-primary); font-size: 34px; margin-bottom: 18px; }
.booking-option-card h3, .visit-guide-card h3, .patient-guide-card h2 { margin-bottom: 18px; line-height: 1.8; }
.patient-testimonial > i { color: var(--theme-primary); margin-bottom: 14px; }
.patient-testimonial p, .patient-guide-card p, .visit-guide-card p { line-height: 2; }
.patient-testimonial strong { color: var(--site-text); }
.testimonials-empty { text-align: center; padding: 25px; }
.footer-specialty { display: block; line-height: 2; }
.main-footer { --footer-text: #F7F4FA; color: var(--footer-text); background: var(--theme-secondary); }
.main-footer .footer-top { background: var(--theme-secondary); padding: 72px 0 56px; }
.main-footer .footer-bottom { background: color-mix(in srgb, var(--theme-secondary) 88%, #000); border-top: 1px solid color-mix(in srgb, var(--theme-accent) 20%, transparent); padding: 22px 0; }
.main-footer .footer-brand-name { white-space: nowrap; font-size: clamp(10px, .88vw, 14px); color: var(--theme-accent); }
.main-footer .footer-top .footer-brand-logo { flex: 0 0 52px; width: 52px; height: 52px; margin: 0; }
.main-footer .footer-brand-row { gap: 8px; }
.main-footer .logo-widget, .main-footer .links-widget { margin-inline: 0; }
.main-footer .logo-widget .text .textalign { text-align: right; }
.main-footer .footer-specialty, .boxed_wrapper .main-footer .footer-widget p,
.boxed_wrapper .main-footer .copyright p, .main-footer .info-list li,
.boxed_wrapper .main-footer .footer-top .footer-widget a { color: var(--footer-text); }
.main-footer .footer-widget h3 { color: var(--theme-accent); }
.boxed_wrapper .main-footer .footer-top .links a:hover, .boxed_wrapper .main-footer .footer-top .info-list a:hover { color: var(--theme-accent); }
.main-footer .links a:focus-visible, .main-footer .info-list a:focus-visible,
.main-footer .footer-map-actions a:focus-visible { outline: 2px solid var(--theme-accent); outline-offset: 4px; }
.boxed_wrapper .main-footer .footer-top .footer-map-actions a:hover { color: var(--theme-secondary); background: var(--footer-text); }
.main-footer .contact-widget .info-list li i { color: var(--theme-accent); }
.home-services-list { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; }
.boxed_wrapper .home-service-card {
    position: relative; display: flex; align-items: center; min-width: 0; min-height: 62px;
    border: 1px solid transparent; border-radius: 12px; overflow: hidden;
    background: linear-gradient(120deg, var(--site-surface), var(--theme-primary-soft));
    box-shadow: 0 3px 12px color-mix(in srgb, var(--theme-secondary) 5%, transparent);
    transition: box-shadow .25s ease;
}
.home-service-card::before, .home-service-card::after {
    content: ''; position: absolute; width: 24px; height: 24px; pointer-events: none;
    border-color: var(--theme-primary); border-style: solid; border-width: 0;
    transition: width .3s ease, height .3s ease, border-radius .3s ease;
}
.home-service-card::before { top: 0; right: 0; border-top-width: 2px; border-right-width: 2px; border-top-right-radius: 12px; }
.home-service-card::after { bottom: 0; left: 0; border-bottom-width: 2px; border-left-width: 2px; border-bottom-left-radius: 12px; }
.home-service-card:hover::before, .home-service-card:hover::after,
.home-service-card:focus-within::before, .home-service-card:focus-within::after { width: 100%; height: 100%; border-radius: 12px; }
.boxed_wrapper .home-service-card:hover { box-shadow: 0 5px 18px color-mix(in srgb, var(--theme-primary) 12%, transparent); }
.home-service-body { flex: 1; min-width: 0; padding: 14px 22px; }
.home-service-body h3 { margin: 0; font-size: 17px; line-height: 1.8; overflow-wrap: anywhere; }
.home-service-body p { margin: 6px 0 0; font-size: 14px; line-height: 1.8; overflow-wrap: anywhere; }
.home-service-image { flex: 0 0 72px; width: 72px; height: 56px; margin-right: 16px; border-radius: 8px; overflow: hidden; }
.home-service-image img { width: 100%; height: 100%; object-fit: cover; display: block; }
.contact-info-icon { color: var(--theme-primary); background: var(--theme-primary-soft); }
.contact-neshan-link { display: inline-flex; align-items: center; gap: 10px; margin-bottom: 12px; }
[id^=service-], #services, #emergency-guide, #visit-guide, #booking-options { scroll-margin-top: 125px; }
@media (max-width: 1199.98px) {
    .clinic-site-header .logo-box { max-width: 320px; }
    .clinic-site-header.style-two .main-menu .navigation > li { margin: 0 5px; }
    .clinic-site-header .main-menu .navigation > li > a { padding: 0 9px; font-size: 14px; }
}
@media (max-width: 767.98px) {
    .clinic-site-header .logo-box { max-width: calc(100% - 60px); }
    .clinic-site-header .logo-box .logo img { max-width: 52px !important; }
    .clinic-site-header .clinic-topbar-item { font-size: 12px; }
    .clinic-site-header .clinic-topbar-inner { min-height: auto; }
    .clinic-site-header .clinic-topbar-item { width: auto; }
    .clinic-site-header .clinic-topbar-address { display: flex; width: 100%; }
    .booking-options-section, .booking-bottom-section, .patient-guide-section, .patient-testimonials-section { padding: 35px 0; }
    .main-footer .footer-brand-name { font-size: 13px; }
    .main-footer .footer-top { padding: 48px 0 24px; }
    .home-service-body { padding: 12px 16px; }
    .home-service-body h3 { font-size: 15px; }
    .home-service-image { flex-basis: 52px; width: 52px; height: 48px; margin-right: 12px; }
}
@media (prefers-reduced-motion: reduce) {
    .home-service-card, .home-service-card::before, .home-service-card::after { transition: none; }
}
.main-footer .footer-brand-name { white-space: normal; overflow-wrap: anywhere; }
.clinic-site-header .logo-box .logo img { width: 52px !important; height: 52px !important; object-fit: contain; flex: 0 0 52px; }
@media (min-width: 992px) and (max-width: 1199.98px) {
    .clinic-site-header.style-two .main-menu .navigation > li { margin: 0 2px; }
    .clinic-site-header .main-menu .navigation > li > a { padding: 0 6px; font-size: 13px; }
}

/* Keep the logo, desktop navigation and booking button on a single RTL row.
   The template uses space-between and large navigation margins by default. */
@media (min-width: 992px) {
    .clinic-site-header .header-lower .outer-box {
        flex-wrap: nowrap;
        justify-content: flex-start;
        gap: 10px;
    }

    .clinic-site-header .header-lower .logo-box {
        flex: 0 0 auto;
        max-width: 190px;
    }

    .clinic-site-header .header-lower .menu-area {
        flex: 0 1 auto;
        min-width: 0;
    }

    .clinic-site-header.style-two .header-lower .main-menu .navigation > li {
        margin: 0 3px;
        padding: 14px 0;
    }

    .clinic-site-header .header-lower .main-menu .navigation > li > a {
        padding: 0 5px;
        font-size: 14px;
    }

    .clinic-site-header .header-lower .main-menu .navigation > li.dropdown > a {
        padding-left: 32px;
    }

    .clinic-site-header .header-lower .header-account-box {
        margin-inline-start: auto;
        white-space: nowrap;
    }
}

@media (min-width: 992px) and (max-width: 1199.98px) {
    .clinic-site-header .header-lower .logo-box .header-brand-name {
        max-width: 95px;
        font-size: 11px;
    }

    .clinic-site-header.style-two .header-lower .main-menu .navigation > li {
        margin: 0 1px;
    }

    .clinic-site-header .header-lower .main-menu .navigation > li > a {
        padding: 0 4px;
        font-size: 12px;
    }

    .clinic-site-header .header-lower .clinic-reserve-btn {
        min-width: auto;
        padding: 8px 10px;
    }
}
