@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap');

/* ==========================================================================
   SAPPHIRE CLINICAL CLEAN PALETTE
   1. Dominant Background: Soft Ice Blue (#E4EDF3)
   2. Primary Accent: Deep Sapphire Dark Blue (#0F1E36)
   3. Secondary Accent: Steel Grey / Clean Blue (#788A9F)
   4. Text: Dark Midnight Blue (#1A2536)
   5. Buttons & Highlights: Sapphire Blue (#0F1E36) & Electric Blue (#007BFF) / Soft Gold
   ========================================================================== */

/* Global Typography Overrides */
body, p, span, a, div, li, td, th, input, select, textarea {
    font-family: 'Inter', sans-serif !important;
}

h1, h2, h3, h4, h5, h6, .luxury-title, .section-title h2, .section-title h3, .txt-block h2, .clp-menu-text {
    font-family: 'Inter', sans-serif !important;
    font-weight: 700 !important;
}

/* 1. Global Page Background & Cleanup of Video/Image Overlays */
body, html, #page, .page, .page-hero-section {
    background-image: none !important;
    background: linear-gradient(135deg, #A1B9CE 0%, #68859E 50%, #44617B 100%) !important;
    color: #1A2536 !important; /* Dark Midnight Blue text */
}

/* Hide background video globally to maintain a clean layout */
video#medspace-bg-video,
div[style*="position: fixed;"][style*="z-index: -2;"],
div[style*="position:fixed;"][style*="z-index:-2;"] {
    display: none !important;
}

/* Fallback background in case of any dynamic content layers */
body::before {
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-image: none !important;
    background: linear-gradient(135deg, #A1B9CE 0%, #68859E 50%, #44617B 100%) !important;
    z-index: -3;
    pointer-events: none;
}

/* ==========================================================================
   ULTRA-HIGH SPECIFICITY OVERRIDES TO DEFEAT LOCAL INLINE/BODY STYLE BLOCKS
   ========================================================================== */

/* 2. Structured Cards & Content Backings */
body div#page div.index-mobile-hero-box,
body div#page section div.index-mobile-hero-box,
body div#page .glass-naked-title,
body div#page .about-us-section .container,
body div#page .card,
body div#page .txt-block,
body div#page .sbox-4,
body div#page .sbox-5,
body div#page .review-3,
body div#page .review-1-txt,
body div#page .languages-modal-content,
body div#page .language-modal-content,
body div#page .service-section,
body div#page .service-section .col-lg-6 {
    background-color: #FFFFFF !important; /* Pure White panels */
    background: #FFFFFF !important;
    border-radius: 16px !important;
    border: 1px solid rgba(120, 138, 159, 0.15) !important; /* Subtle steel border */
    box-shadow: 0 8px 30px rgba(15, 30, 54, 0.04) !important;
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
}

/* Cards Hover Animation */
body div#page div.index-mobile-hero-box:hover,
body div#page section div.index-mobile-hero-box:hover,
body div#page .card:hover,
body div#page .sbox-4:hover,
body div#page .sbox-5:hover,
body div#page .review-3:hover,
body div#page .review-1-txt:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 12px 40px rgba(15, 30, 54, 0.08) !important; /* Sapphire shadow glow */
    border-color: rgba(120, 138, 159, 0.3) !important; /* Steel border accent */
}

/* Clean backing for checkup packages cards */
body div#page .checkup-section:not([data-animation="hero-slow"]) {
    background-color: #FFFFFF !important;
    background: #FFFFFF !important;
    border-radius: 20px !important;
    border: 1px solid rgba(120, 138, 159, 0.15) !important;
    box-shadow: 0 8px 30px rgba(15, 30, 54, 0.04) !important;
}

/* Remove background and borders from the hero animated outer row */
body div#page .checkup-section[data-animation="hero-slow"] {
    background-color: transparent !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

/* Ensure outer slideshow container has no white background or glass panel stacking */
body div#page .slideshow {
    background-color: transparent !important;
    background: transparent !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    border: none !important;
    box-shadow: none !important;
}

/* Specific card backgrounds when nested */
body div#page .card,
body div#page .sbox-4,
body div#page .sbox-5,
body div#page .review-3,
body div#page .review-1-txt {
    background-color: #FFFFFF !important;
    background: #FFFFFF !important;
}

/* Make sure inner elements stand out nicely */
body div#page div.index-mobile-hero-box .hero-text,
body div#page .about-us-section .container .row {
    color: #1A2536 !important;
}

/* 3. Deep Sapphire for Main Headings & Menu (#0F1E36) */
h1, h2, h3, h4, h5, h6,
.luxury-title,
.section-title h2,
.section-title h3,
.txt-block h2,
.sbox-link a,
.review-author p,
h1.text-uppercase,
h1.fst-italic,
h2.text-uppercase,
h2.fst-italic,
.clp-menu-text {
    color: #0F1E36 !important;
    font-family: 'Inter', sans-serif !important;
}

/* Force headings and main titles to be Deep Sapphire */
body div#page div.index-mobile-hero-box h1,
body div#page div.index-mobile-hero-box h2,
body div#page div.index-mobile-hero-box h3,
body div#page div.index-mobile-hero-box h4,
body div#page div.index-mobile-hero-box h5,
body div#page div.index-mobile-hero-box h6,
body div#page div.index-mobile-hero-box .luxury-title,
body div#page section.hero-section h1,
body div#page section.hero-section h2,
body div#page section.hero-section h3,
body div#page h1,
body div#page h2,
body div#page h3,
body div#page h4,
body div#page h5,
body div#page h6,
body div#page [data-translate="questions-title"],
body div#page h1[data-translate="questions-title"],
body div#page .questions-section h1,
body div#page .questions-section h2 {
    color: #0F1E36 !important;
}

/* Header Background Override */
header,
.navbar,
.header-wrapper,
.wsmainwp,
.wsmobileheader,
header.clp-header-container,
#clp-main-header,
.clp-header-container {
    background-color: rgba(243, 246, 249, 0.85) !important; /* Crystal white glass */
    background: rgba(243, 246, 249, 0.85) !important;
    border-bottom: 1px solid rgba(120, 138, 159, 0.15) !important;
    backdrop-filter: blur(35px) !important;
    -webkit-backdrop-filter: blur(35px) !important;
    box-shadow: 0 4px 30px rgba(15, 30, 54, 0.03) !important;
}

/* Header Text / Menu elements inside header */
header.clp-header-container .nav-link,
header.clp-header-container .clp-menu-text,
#clp-main-header .wsmenu-list li a,
.clp-side-menu a {
    color: #1A2536 !important;
}

header.clp-header-container .nav-link:hover,
header.clp-header-container .clp-menu-text:hover,
#clp-main-header .wsmenu-list li a:hover,
.clp-side-menu a:hover {
    color: #788A9F !important; /* Steel Grey */
}

/* Hamburger lines style when header is light */
header.clp-header-container .clp-line,
#clp-main-header .clp-line {
    background-color: #1A2536 !important;
}

/* Force body copy / description texts to be Midnight Blue */
body div#page div.index-mobile-hero-box p,
body div#page div.index-mobile-hero-box span,
body div#page div.index-mobile-hero-box li,
body div#page section.hero-section p,
body div#page section.hero-section span,
body div#page section.hero-section li,
body div#page p,
body div#page span,
body div#page li,
body div#page td,
body div#page th,
body div#page div.follow-us-fix {
    color: #1A2536 !important;
}

/* Menu hover state */
.wsmenu-list li a:hover {
    color: #788A9F !important;
}

/* 4. Services Grid Buttons Styling */
body div#page a.luxury-grid-btn,
body div#page .luxury-grid-btn {
    background: rgba(243, 246, 249, 0.6) !important;
    backdrop-filter: blur(15px) !important;
    -webkit-backdrop-filter: blur(15px) !important;
    border: 1.5px solid rgba(120, 138, 159, 0.3) !important;
    border-radius: 12px !important;
    box-shadow: 0 4px 15px rgba(15, 30, 54, 0.03) !important;
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
    outline: 1.5px solid rgba(255, 255, 255, 0.6) !important;
    outline-offset: 4px !important;
}

body div#page a.luxury-grid-btn span,
body div#page a.luxury-grid-btn i,
body div#page .luxury-grid-btn span,
body div#page .luxury-grid-btn i {
    color: #0F1E36 !important;
}

body div#page a.luxury-grid-btn,
body div#page .luxury-grid-btn,
body div#page a.luxury-grid-btn span,
body div#page .luxury-grid-btn span,
body div#page a.luxury-grid-btn font,
body div#page .luxury-grid-btn font {
    font-family: 'Inter', sans-serif !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    letter-spacing: 0.5px !important;
    text-transform: uppercase !important;
}

body div#page a.luxury-grid-btn i,
body div#page .luxury-grid-btn i {
    font-size: 20px !important;
    transition: transform 0.3s ease !important;
}

/* Hover state for services grid buttons */
body div#page a.luxury-grid-btn:hover,
body div#page .luxury-grid-btn:hover {
    background: #0F1E36 !important; /* Sapphire Blue on hover */
    border-color: #0F1E36 !important;
    transform: translateY(-3px) !important;
    box-shadow: 0 8px 25px rgba(15, 30, 54, 0.12) !important;
    outline: 1.5px solid rgba(15, 30, 54, 0.25) !important;
    outline-offset: 6px !important;
}

body div#page a.luxury-grid-btn:hover span,
body div#page a.luxury-grid-btn:hover i,
body div#page .luxury-grid-btn:hover span,
body div#page .luxury-grid-btn:hover i {
    color: #FFFFFF !important;
}

body div#page a.luxury-grid-btn:hover i,
body div#page .luxury-grid-btn:hover i {
    transform: translateX(5px) !important;
}

/* 5. Custom Sapphire/Steel Palette for CTA buttons and accents */
body div#page div.index-mobile-hero-box a.btn,
body div#page div.index-mobile-hero-box a[href*="contact.html"],
body div#page div.index-mobile-hero-box a[style*="background-color"]:not(.luxury-grid-btn),
body div#page a[style*="background-color: #10B981"],
body div#page a[style*="background-color:#10B981"],
body div#page a[href*="contact.html"],
body div#page a[href*="wa.me"],
body div#page .whatsapp-btn,
body div#page .btn,
.btn,
.btn--magenta,
.btn--gold,
.btn--red,
.btn--black,
.btn--tra-white,
.btn--tra-black,
a[style*="background-color: #10B981"],
a[style*="background-color:#10B981"],
a[href*="contact.html"],
a[href*="wa.me"],
.whatsapp-btn,
.language-btn:hover {
    background: #0F1E36 !important; /* Solid Sapphire Blue */
    border: 1px solid #788A9F !important;
    color: #FFFFFF !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 18px !important;
    font-weight: 800 !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
    transition: all 0.3s ease !important;
    border-radius: 8px !important;
}

/* Ensure nested elements inside buttons retain the premium typography and contrast */
body div#page div.index-mobile-hero-box a.btn span,
body div#page div.index-mobile-hero-box a.btn font,
body div#page a[href*="contact.html"] span,
body div#page a[href*="contact.html"] font,
body div#page a[href*="wa.me"] span,
body div#page a[href*="wa.me"] font,
.btn span,
.btn font,
.whatsapp-btn span,
.whatsapp-btn font {
    font-family: 'Inter', sans-serif !important;
    font-size: 18px !important;
    font-weight: 800 !important;
    color: #FFFFFF !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
}

/* Hover effects for CTA buttons */
body div#page div.index-mobile-hero-box a.btn:hover,
body div#page div.index-mobile-hero-box a[href*="contact.html"]:hover,
body div#page div.index-mobile-hero-box a[style*="background-color"]:not(.luxury-grid-btn):hover,
body div#page a[style*="background-color: #10B981"]:hover,
body div#page a[style*="background-color:#10B981"]:hover,
body div#page a[href*="contact.html"]:hover,
body div#page a[href*="wa.me"]:hover,
body div#page .btn:hover,
.btn:hover,
.btn--magenta:hover,
.btn--gold:hover,
.btn--red:hover,
.btn--black:hover,
a[style*="background-color: #10B981"]:hover,
a[style*="background-color:#10B981"]:hover,
a[href*="contact.html"]:hover,
a[href*="wa.me"]:hover {
    background-color: #788A9F !important;
    background: #788A9F !important; /* Steel Blue hover */
    border-color: #788A9F !important;
    color: #FFFFFF !important;
    box-shadow: 0 4px 15px rgba(120, 138, 159, 0.3) !important;
}

/* Accent icons, marks and hover underlines */
.advantages li p span,
[class*="flaticon-"]::before,
[class*="flaticon-"]::after,
.c-orange,
.color--theme,
.accent-color,
.advantages-links-divider {
    color: #788A9F !important; /* Steel Grey Accent */
}

/* 6. Footer Redesign (Light Steel/Ice Blue Background) */
footer,
body div#page footer,
.footer,
.footer-section,
.newsletter-section,
.bg-dark,
.bg-blue,
.bg-primary,
.bg-color-01,
.bg-color-02,
#footer-1,
#footer-2,
#footer-3,
#footer-4 {
    background-color: #E9EFF5 !important; /* Light ice-grey/steel footer */
    background: #E9EFF5 !important;
    color: #1A2536 !important;
    border-top: 1px solid rgba(120, 138, 159, 0.2) !important;
}

footer p,
footer span,
footer li,
footer a,
footer h5,
footer h6,
footer div,
footer th,
footer td,
footer a:link,
footer a:visited,
body div#page footer p,
body div#page footer span,
body div#page footer li,
body div#page footer a,
body div#page footer h5,
body div#page footer h6,
body div#page footer div,
body div#page footer th,
body div#page footer td,
body div#page footer a:link,
body div#page footer a:visited,
body div#page footer div.follow-us-fix {
    color: #1A2536 !important; /* Dark text color for high contrast */
}

footer h1,
footer h2,
footer h3,
footer h4,
footer h5,
footer h6,
footer-title,
body div#page footer h1,
body div#page footer h2,
body div#page footer h3,
body div#page footer h4,
body div#page footer h5,
body div#page footer h6 {
    color: #0F1E36 !important;
    font-weight: 700 !important;
}

footer strong,
body div#page footer strong {
    color: #0F1E36 !important; /* Sapphire Titles */
}

footer a:hover,
body div#page footer a:hover {
    color: #007BFF !important; /* Electric Blue on link hover */
}

/* 7. Specific Table Theme Adaptation */
body div#page .luxury-table-wrapper {
    background-color: #FFFFFF !important; /* White panel */
    background: #FFFFFF !important;
    border: 1px solid rgba(120, 138, 159, 0.15) !important;
}

.luxury-table th {
    color: #0F1E36 !important;
    border-bottom: 2px solid rgba(120, 138, 159, 0.2) !important;
}

.luxury-table td {
    color: #1A2536 !important;
    border-bottom: 1px solid rgba(120, 138, 159, 0.12) !important;
}

/* Table first column sticky overrides */
.luxury-table th:first-child, 
.luxury-table td:first-child {
    background-color: #E9EFF5 !important; /* Light ice blue first column */
    color: #0F1E36 !important;
    box-shadow: 2px 0 5px rgba(120, 138, 159, 0.1) !important;
}

/* Ensure readable light/white text color in the first column */
body div#page .luxury-table th:first-child, 
body div#page .luxury-table td:first-child,
body div#page .luxury-table th:first-child *,
body div#page .luxury-table td:first-child * {
    color: #0F1E36 !important;
}

/* Ensure readable text in the table card header areas */
body div#page .luxury-table-wrapper > .text-center h2,
body div#page .luxury-table-wrapper > .text-center h3,
body div#page .luxury-table-wrapper > .text-center h4,
body div#page .luxury-table-wrapper > .text-center p {
    color: #0F1E36 !important;
}

/* 8. Header Logo Size Increase (5x) */
body #clp-main-header,
body .clp-header-container {
    height: auto !important;
    min-height: 100px !important;
}

body #clp-main-header .clp-logo-container img {
    height: 90px !important;
    max-height: 90px !important;
    width: auto !important;
    filter: none !important;
    -webkit-filter: none !important;
    transition: all 0.3s ease !important;
}

/* Adjust page padding to compensate for header */
body {
    padding-top: 100px !important;
}

/* Footer Logo Styling */
body #page footer img.clp-footer-logo,
body footer img.clp-footer-logo,
img.clp-footer-logo {
    height: 150px !important;
    max-height: 150px !important;
    width: auto !important;
    filter: none !important;
    -webkit-filter: none !important;
    transition: all 0.3s ease !important;
}

/* Mobile responsive adjustments */
@media (max-width: 768px) {
    body #clp-main-header,
    body .clp-header-container {
        height: 85px !important;
    }
    body #clp-main-header .clp-logo-container img {
        height: 75px !important;
        max-height: 75px !important;
        filter: none !important;
        -webkit-filter: none !important;
    }
    body #page footer img.clp-footer-logo,
    body footer img.clp-footer-logo,
    img.clp-footer-logo {
        height: 100px !important;
        max-height: 100px !important;
        filter: none !important;
        -webkit-filter: none !important;
    }
    body {
        padding-top: 85px !important;
    }
    /* Mobile menu button adjustments */
    html body .clp-menu-btn {
        width: 65px !important;
        height: 65px !important;
        background: transparent !important;
        box-shadow: none !important;
        border: none !important;
        filter: none !important;
        -webkit-filter: none !important;
    }
    html body .clp-menu-btn .clp-line {
        width: 28px !important;
        height: 2.5px !important;
        background-color: #1A2536 !important;
    }
    html body .clp-menu-btn .clp-hamburger-lines {
        gap: 5px !important;
    }
    html body .clp-menu-btn:hover .clp-line {
        width: 32px !important;
        background-color: #1A2536 !important;
    }
    html body .clp-menu-btn .clp-menu-text {
        font-size: 11px !important;
        letter-spacing: 1.5px !important;
        margin-top: 4px !important;
        color: #1A2536 !important;
    }
    html body .clp-menu-btn:hover .clp-menu-text {
        color: #1A2536 !important;
    }
}

/* Glowing Sapphire Hamburger Menu Button (Desktop) */
html body .clp-menu-btn {
    width: 95px !important;
    height: 95px !important;
    background: transparent !important;
    box-shadow: none !important;
    border: none !important;
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    filter: none !important;
    -webkit-filter: none !important;
}

html body .clp-menu-btn:hover {
    transform: scale(1.05) !important;
    filter: none !important;
    -webkit-filter: none !important;
}

html body .clp-menu-btn .clp-line {
    width: 40px !important;
    height: 4px !important;
    background-color: #1A2536 !important;
    border-radius: 2px !important;
    margin: 0 !important;
    transition: all 0.3s ease !important;
}

html body .clp-menu-btn .clp-hamburger-lines {
    gap: 8px !important;
    width: auto !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
}

html body .clp-menu-btn:hover .clp-line {
    width: 45px !important;
    background-color: #1A2536 !important;
}

html body .clp-menu-btn .clp-menu-text {
    font-size: 15px !important;
    font-weight: 800 !important;
    letter-spacing: 2.5px !important;
    color: #1A2536 !important;
    margin-top: 6px !important;
    transition: all 0.3s ease !important;
}
html body .clp-menu-btn:hover .clp-menu-text {
    color: #1A2536 !important;
}

/* 12. Mobile Slide-Out Menu Typography & Accessibility Upgrades */
.clp-side-menu {
    background-color: rgba(243, 246, 249, 0.95) !important;
    backdrop-filter: blur(35px) !important;
    -webkit-backdrop-filter: blur(35px) !important;
    border: 1px solid rgba(120, 138, 159, 0.15) !important;
}

.clp-overlay-nav {
    gap: 16px !important;
}

.clp-overlay-nav > li > a,
.clp-overlay-nav > li > a span,
.clp-overlay-nav > li > a font {
    font-family: 'Inter', sans-serif !important;
    font-size: 26px !important;
    font-weight: 800 !important;
    letter-spacing: 1.5px !important;
    color: #1A2536 !important;
    text-transform: uppercase !important;
    padding-bottom: 8px !important;
}

.clp-sub-menu {
    gap: 12px !important;
    margin-top: 12px !important;
}

.clp-sub-menu li a,
.clp-sub-menu li a span,
.clp-sub-menu li a font {
    font-family: 'Inter', sans-serif !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    letter-spacing: 1px !important;
    color: #1A2536 !important;
    text-transform: uppercase !important;
    padding-top: 2px !important;
    padding-bottom: 2px !important;
    opacity: 0.85 !important;
}

.clp-sub-menu li a:hover,
.clp-sub-menu li a:hover span,
.clp-sub-menu li a:hover font {
    opacity: 1 !important;
    color: #788A9F !important;
}

.clp-overlay-nav li a .fa-chevron-down {
    font-family: 'Font Awesome 5 Free' !important;
    font-weight: 900 !important;
    font-size: 16px !important;
    color: #1A2536 !important;
}

/* Contact Us CTA button in the side-out menu */
.clp-side-menu .clp-overlay-nav > li > a[href*="contact.html"],
.clp-side-menu .clp-overlay-nav > li > a[href*="contact.html"] span,
.clp-side-menu .clp-overlay-nav > li > a[href*="contact.html"] font {
    background: #0F1E36 !important;
    border: 1px solid #788A9F !important;
    color: #FFFFFF !important;
    font-size: 20px !important;
    font-weight: 800 !important;
    font-family: 'Inter', sans-serif !important;
    text-align: center !important;
    padding: 12px 24px !important;
    border-radius: 8px !important;
    display: block !important;
    border-bottom: none !important;
    margin-top: 25px !important;
    box-shadow: 0 4px 15px rgba(15, 30, 54, 0.2) !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    transition: all 0.3s ease !important;
}

.clp-side-menu .clp-overlay-nav > li > a[href*="contact.html"]:hover {
    background: #788A9F !important;
    border-color: #788A9F !important;
    color: #FFFFFF !important;
    box-shadow: 0 4px 15px rgba(120, 138, 159, 0.25) !important;
    padding-left: 0 !important;
}

/* ==========================================================================
   FLOATING SOCIAL PANEL (SAPPHIRE THEME)
   ========================================================================== */

@keyframes floatPanel {
    0%   { transform: translate3d(0, calc(-50% - 6px), 0); }
    50%  { transform: translate3d(0, calc(-50% + 6px), 0); }
    100% { transform: translate3d(0, calc(-50% - 6px), 0); }
}

html body .follow-us-content {
    position: fixed !important;
    top: calc(35% + 28px) !important;
    right: 10px !important;
    width: 35px !important;
    padding: 12px 0 !important;
    box-sizing: border-box !important;
    background-color: rgba(15, 30, 54, 0.9) !important; /* Deep Sapphire background */
    backdrop-filter: blur(25px) !important;
    -webkit-backdrop-filter: blur(25px) !important;
    border-radius: 16px !important;
    z-index: 2147483647 !important;
    pointer-events: auto !important;
    opacity: 1 !important;
    visibility: visible !important;
    
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    
    will-change: transform, opacity !important;
    transform: translate3d(0, -50%, 0) !important;
    animation: floatPanel 4s ease-in-out infinite !important;
    
    border: 1.2px solid rgba(255, 255, 255, 0.2) !important;
    outline: none !important;
    
    box-shadow: 0 10px 30px rgba(15, 30, 54, 0.2) !important;
}

body.clp-noscroll .follow-us-content {
    display: none !important;
    opacity: 0 !important;
    z-index: -100 !important;
}

html body .follow-us-content p[data-translate="follow-us"] {
    writing-mode: vertical-lr !important;
    text-transform: uppercase !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    letter-spacing: 1.8px !important;
    background: none !important;
    color: #FFFFFF !important;
    border-radius: 0 !important;
    margin: 0 auto !important;
    padding: 0 !important;
    text-align: center !important;
    box-shadow: none !important;
    text-shadow: none !important;
    display: block !important;
    align-self: center !important;
}

/* Container for social buttons */
html body .follow-us-content div {
    margin-top: 8px !important;
    text-align: center !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
}

/* Circular colored pill social buttons */
html body .follow-us-content a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 24px !important;
    height: 24px !important;
    margin: 0 0 6px 0 !important;
    border-radius: 50% !important;
    font-size: 12px !important;
    color: #FFFFFF !important;
    position: relative !important;
    box-sizing: border-box !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
    
    border: 1.2px solid rgba(255, 255, 255, 0.4) !important;
}

/* Facebook Specific Style */
html body .follow-us-content a.facebook-link,
html body .follow-us-content a[href*="facebook.com"] {
    background: #1877F2 !important;
}

/* Instagram Specific Style */
html body .follow-us-content a.instagram-link,
html body .follow-us-content a[href*="instagram.com"] {
    background: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%) !important;
}

/* WhatsApp Specific Style */
html body .follow-us-content a.whatsapp-link,
html body .follow-us-content a[href*="wa.me"] {
    background: #25D366 !important;
}

/* Hover States */
html body .follow-us-content a[href*="facebook.com"]:hover,
html body .follow-us-content a[href*="instagram.com"]:hover,
html body .follow-us-content a[href*="wa.me"]:hover {
    transform: translateY(-2px) scale(1.1) !important;
    box-shadow: 0 0 10px rgba(255, 255, 255, 0.8) !important;
    border-color: #FFFFFF !important;
}

@media (max-width: 480px) {
    html body .follow-us-content {
        width: 28px !important;
        padding: 8px 0 !important;
        right: 6px !important;
        border-radius: 14px !important;
    }
    html body .follow-us-content a {
        width: 20px !important;
        height: 20px !important;
        font-size: 10px !important;
        margin-bottom: 5px !important;
        border-width: 1px !important;
    }
    html body .follow-us-content p[data-translate="follow-us"] {
        font-size: 8.5px !important;
        letter-spacing: 1.2px !important;
    }
}

/* ==========================================================================
   13. PREMIUM TYPOGRAPHY ENHANCEMENTS FOR SERVICES PAGES
   ========================================================================== */

body.bg--ivory .hero-text p.follow-us-fix {
    font-size: 28px !important;
    line-height: 1.7 !important;
}

body.bg--ivory p[style*="font-size: 1.1rem;"],
body.bg--ivory p[style*="font-size:1.1rem;"] {
    font-family: 'Inter', sans-serif !important;
    font-size: 28px !important;
    line-height: 1.6 !important;
}

body.bg--ivory table.luxury-table td,
body.bg--ivory table.table td {
    font-size: 28px !important;
    line-height: 1.6 !important;
    padding-top: 24px !important;
    padding-bottom: 24px !important;
}

body.bg--ivory table.luxury-table th,
body.bg--ivory table.table th {
    font-size: 30px !important;
    font-weight: 700 !important;
    padding-top: 24px !important;
    padding-bottom: 24px !important;
}

body.bg--ivory .mobile-package-cards .card h5,
body.bg--ivory .mobile-iv-cards .card h5,
body.bg--ivory .mobile-package-cards h5,
body.bg--ivory .mobile-iv-cards h5 {
    font-size: 28px !important;
    line-height: 1.5 !important;
}

body.bg--ivory ul li,
body.bg--ivory ol li {
    font-size: 28px !important;
    line-height: 1.6 !important;
}

body.bg--ivory .accordion-body,
body.bg--ivory .card-body p {
    font-size: 28px !important;
    line-height: 1.6 !important;
}

body.bg--ivory table.luxury-table td span[style*="font-size: 1rem"],
body.bg--ivory table.luxury-table td span[style*="font-size:1rem"],
body.bg--ivory table.table td span {
    font-size: 26px !important;
    padding: 8px 26px !important;
}

body.bg--ivory .mobile-package-cards div[style*="font-size: 0.95rem"],
body.bg--ivory .mobile-package-cards div[style*="font-size:0.95rem"],
body.bg--ivory .mobile-iv-cards div[style*="font-size: 0.95rem"] {
    font-size: 26px !important;
    padding: 8px 22px !important;
}

@media (max-width: 768px) {
    body.bg--ivory .hero-text p.follow-us-fix {
        font-size: 24px !important;
    }
    body.bg--ivory table.luxury-table td,
    body.bg--ivory table.table td {
        font-size: 22px !important;
        padding-top: 18px !important;
        padding-bottom: 18px !important;
    }
    body.bg--ivory .mobile-package-cards .card h5,
    body.bg--ivory .mobile-iv-cards .card h5 {
        font-size: 22px !important;
    }
    body.bg--ivory ul li,
    body.bg--ivory ol li {
        font-size: 22px !important;
    }
}

/* Toggling translation content */
body.lang-ru .ru-content {
    display: block !important;
}
body.lang-ru .en-content {
    display: none !important;
}
body.lang-en .ru-content {
    display: none !important;
}
body.lang-en .en-content {
    display: block !important;
}

/* Style accordion header price badges with Sapphire/Steel gradient */
body div#page .composition-accordion-card .accordion-header span {
    background: linear-gradient(135deg, #0F1E36, #788A9F) !important;
    color: #ffffff !important;
    border: none !important;
}

body div#page .composition-accordion-card.expanded .indicator {
    color: #0F1E36 !important;
}

body div#page .composition-accordion-card.expanded .accordion-body {
    border-top: 1px solid rgba(120, 138, 159, 0.2) !important;
}

/* Dynamic Header CTA Button Styling */
.header-cta-btn-class {
    display: inline-block !important;
    background: #0F1E36 !important; /* Solid Deep Sapphire Blue */
    border: 1px solid #788A9F !important;
    color: #FFFFFF !important;
    padding: 10px 24px !important;
    border-radius: 8px !important;
    font-family: 'Inter', sans-serif !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    text-decoration: none !important;
    margin-right: 20px !important;
    white-space: normal !important;
    word-wrap: break-word !important;
    text-align: center !important;
    line-height: 1.3 !important;
    transition: all 0.3s ease !important;
    box-shadow: 0 4px 10px rgba(15, 30, 54, 0.1) !important;
    align-self: center !important;
}

.header-cta-btn-class:hover {
    background: #788A9F !important; /* Steel Blue hover */
    border-color: #788A9F !important;
    color: #FFFFFF !important;
    box-shadow: 0 6px 18px rgba(120, 138, 159, 0.2) !important;
    transform: translateY(-1px) !important;
}

header.clp-header-container {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
}

@media (max-width: 768px) {
    .header-cta-btn-class {
        padding: 8px 12px !important;
        font-size: 11px !important;
        margin-right: 10px !important;
        letter-spacing: 0px !important;
    }
}

/* Universal Inter font-family override */
body, html, p, span, a, div, li, td, th, h1, h2, h3, h4, h5, h6, input, select, textarea, button, label, blockquote, q, cite, figcaption, figure, section, header, footer, nav, aside, article, main, dl, dt, dd, ol, ul, strong, em, b, u, i:not(.fa):not(.fas):not(.fab):not(.far):not(.flaticon) {
    font-family: 'Inter', sans-serif !important;
}

/* Maintain icon fonts */
.fas, .far, .fab, .fa, [class^="flaticon-"], [class*=" flaticon-"], .flaticon, .fa-solid, .fa-regular, .fa-brands, i {
    font-family: 'Font Awesome 5 Free', 'Font Awesome 5 Brands', 'flaticon', sans-serif !important;
}

/* ==========================================================================
   14. DESKTOP HORIZONTAL NAVIGATION BAR & DROP-DOWNS
   ========================================================================== */

.clp-desktop-nav {
    display: none;
    align-items: center;
    margin: 0 auto;
    padding: 0;
}

.clp-desktop-menu {
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: 32px;
    align-items: center;
}

.clp-desktop-menu > li {
    position: relative;
}

.clp-desktop-menu > li > a {
    color: #1A2536 !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    text-decoration: none !important;
    padding: 10px 0 !important;
    display: flex;
    align-items: center;
    gap: 6px;
    transition: color 0.3s ease !important;
}

.clp-desktop-menu > li > a:hover {
    color: #788A9F !important;
}

.clp-desktop-menu > li > a i {
    font-size: 10px !important;
    color: #1A2536 !important;
    transition: transform 0.3s ease !important;
}

.clp-desktop-menu > li:hover > a i {
    transform: rotate(180deg) !important;
    color: #788A9F !important;
}

/* 3-Column Mega Dropdown Styling */
.clp-mega-dropdown {
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%) translateY(15px) !important;
    background-color: rgba(255, 255, 255, 0.98) !important;
    backdrop-filter: blur(25px) !important;
    -webkit-backdrop-filter: blur(25px) !important;
    border: 1px solid rgba(120, 138, 159, 0.15) !important;
    box-shadow: 0 12px 35px rgba(15, 30, 54, 0.06) !important;
    border-radius: 8px !important;
    padding: 28px !important;
    width: 820px !important;
    z-index: 99999 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
    pointer-events: none;
}

.clp-dropdown-li:hover .clp-mega-dropdown {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateX(-50%) translateY(0) !important;
    pointer-events: auto;
}

.clp-mega-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 30px !important;
}

.clp-mega-col-title {
    font-size: 13px !important;
    font-weight: 800 !important;
    color: #788A9F !important; /* Steel Grey */
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    border-bottom: 1px solid rgba(120, 138, 159, 0.15) !important;
    padding-bottom: 8px !important;
    margin-bottom: 14px !important;
}

.clp-mega-col ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
}

.clp-mega-col ul li a {
    color: #1A2536 !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
    display: block !important;
    text-transform: none !important;
}

.clp-mega-col ul li a:hover {
    color: #007BFF !important; /* Electric Blue */
    transform: translateX(4px) !important;
}

/* Visibility & Responsive Menu Rules */
.clp-menu-btn {
    display: none !important;
}

@media (max-width: 991px) {
    .clp-desktop-nav {
        display: flex !important;
        overflow-x: auto !important;
        white-space: nowrap !important;
        -webkit-overflow-scrolling: touch !important;
        max-width: calc(100% - 150px) !important;
        padding: 5px 0 !important;
        scrollbar-width: none;
    }
    
    .clp-desktop-nav::-webkit-scrollbar {
        display: none;
    }
    
    .clp-desktop-menu {
        gap: 16px !important;
    }
    
    .clp-desktop-menu > li > a {
        font-size: 13px !important;
        padding: 6px 0 !important;
    }

    .clp-desktop-menu > li > a i {
        font-size: 8px !important;
    }
    
    .clp-mega-dropdown {
        width: 90vw !important;
        position: fixed !important;
        left: 5vw !important;
        top: 100px !important;
        transform: translateY(10px) !important;
        max-height: 65vh !important;
        overflow-y: auto !important;
        padding: 18px !important;
    }
    
    .clp-mega-dropdown.active {
        opacity: 1 !important;
        visibility: visible !important;
        transform: translateY(0) !important;
        pointer-events: auto !important;
    }
    
    .clp-mega-grid {
        grid-template-columns: 1fr !important;
        gap: 18px !important;
    }
    
    .clp-mega-col-title {
        font-size: 11px !important;
        margin-bottom: 8px !important;
    }
    
    .clp-dropdown-li:hover .clp-mega-dropdown {
        transform: translateY(0) !important;
    }
    
    .header-cta-btn-class {
        display: inline-block !important;
        padding: 8px 14px !important;
        font-size: 11px !important;
    }

    @media (max-width: 480px) {
        .header-cta-btn-class {
            display: none !important;
        }
        .clp-desktop-nav {
            max-width: calc(100% - 110px) !important;
        }
    }
}

@media (min-width: 992px) {
    .clp-desktop-nav {
        display: flex !important;
    }
    .header-cta-btn-class {
        display: inline-block !important;
        margin-right: 0 !important;
    }
}

/* 15. FULL-WIDTH HERO VIDEO BANNER (CLINICAL LIGHT ADAPTATION) */
.index-hero-banner-full {
    width: 100% !important;
    max-width: 100% !important;
    position: relative !important;
    background-color: rgba(243, 246, 249, 0.45) !important; /* Light crystal white backdrop */
    background: rgba(243, 246, 249, 0.45) !important;
    -webkit-backdrop-filter: blur(25px) !important;
    backdrop-filter: blur(25px) !important;
    border-top: 1px solid rgba(120, 138, 159, 0.15) !important;
    border-bottom: 1px solid rgba(120, 138, 159, 0.15) !important;
    border-left: none !important;
    border-right: none !important;
    border-radius: 0 !important;
    box-shadow: 0 10px 30px rgba(15, 30, 54, 0.02) !important;
    padding: 0 !important;
    margin-bottom: 25px !important;
    overflow: hidden !important;
    transition: none !important;
}

body div#page .index-hero-banner-full:hover,
.index-hero-banner-full:hover {
    transform: none !important;
    box-shadow: 0 10px 30px rgba(15, 30, 54, 0.02) !important;
    border-color: rgba(120, 138, 159, 0.15) !important;
}

.hero-video-banner-wrap {
    width: 100% !important;
    height: 300px !important;
    position: relative !important;
    overflow: hidden !important;
}

.hero-video-banner-wrap video {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

.hero-video-banner-overlay {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background: linear-gradient(to bottom, rgba(243, 246, 249, 0.1) 0%, rgba(243, 246, 249, 0.95) 100%) !important; /* Fade to light bg */
    pointer-events: none !important;
}

@media (max-width: 991px) {
    .hero-video-banner-wrap {
        height: 200px !important;
    }
}
@media (max-width: 576px) {
    .hero-video-banner-wrap {
        height: 140px !important;
    }
}

/* 16. PREMIUM SERVICE CARDS (GRID) */
.clp-col-5 {
    width: 20% !important;
    flex: 0 0 20% !important;
    max-width: 20% !important;
    padding-left: 6px !important;
    padding-right: 6px !important;
}

.clp-service-card {
    background-color: #FFFFFF !important; /* Pure white backing */
    border: 1px solid rgba(120, 138, 159, 0.12) !important;
    border-radius: 12px !important;
    box-shadow: 0 8px 25px rgba(15, 30, 54, 0.03) !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    max-width: 250px !important;
    margin: 0 auto !important;
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
}

.clp-service-card:hover {
    transform: translateY(-5px) !important;
    box-shadow: 0 15px 35px rgba(15, 30, 54, 0.08) !important;
    border-color: rgba(0, 123, 255, 0.25) !important; /* Electric blue hover highlight */
}

.clp-card-img-wrap {
    width: 100% !important;
    height: 220px !important;
    overflow: hidden !important;
    position: relative !important;
}

.clp-card-img-wrap img,
.clp-card-img-wrap video {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    transition: transform 0.5s ease !important;
}

.clp-service-card:hover .clp-card-img-wrap img,
.clp-service-card:hover .clp-card-img-wrap video {
    transform: scale(1.05) !important;
}

.clp-card-content {
    padding: 16px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    flex-grow: 1 !important;
}

.clp-card-content h3,
.theme--dark .clp-card-content h3 {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #0F1E36 !important; /* Sapphire Blue */
    margin-top: 0 !important;
    margin-bottom: 8px !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
}

.clp-card-content p,
.theme--dark .clp-card-content p {
    font-size: 13px !important;
    font-weight: 500 !important;
    color: #1A2536 !important; /* Midnight Blue */
    line-height: 1.5 !important;
    margin-bottom: 20px !important;
    flex-grow: 1 !important;
}

body div#page .clp-service-card .clp-card-content h3,
body div#page .clp-service-card .clp-card-content p {
    color: #1A2536 !important;
}

body div#page .clp-service-card .clp-card-content h3 {
    color: #0F1E36 !important;
}

.clp-card-btn {
    display: inline-block !important;
    background: #0F1E36 !important; /* Sapphire Blue button */
    border: none !important;
    color: #FFFFFF !important;
    padding: 8px 24px !important;
    border-radius: 4px !important;
    font-family: 'Inter', sans-serif !important;
    font-weight: 600 !important;
    font-size: 12px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    text-decoration: none !important;
    margin-top: auto !important;
    transition: all 0.3s ease !important;
    box-shadow: none !important;
}

.clp-card-btn:hover {
    background: #007BFF !important; /* Electric Blue hover */
    color: #FFFFFF !important;
    transform: translateY(-1px) !important;
}

@media (max-width: 767px) {
    .clp-card-img-wrap {
        height: 90px !important;
    }
    .clp-card-content {
        padding: 6px !important;
    }
    .clp-card-content h3,
    .theme--dark .clp-card-content h3 {
        font-size: 9px !important;
        margin-bottom: 4px !important;
        letter-spacing: 0.5px !important;
        line-height: 1.1 !important;
    }
    .clp-card-content p,
    .theme--dark .clp-card-content p {
        display: none !important;
    }
    .clp-card-btn {
        padding: 4px 8px !important;
        font-size: 8px !important;
    }
}
@media (min-width: 768px) and (max-width: 991px) {
    .clp-card-img-wrap {
        height: 160px !important;
    }
    .clp-card-content {
        padding: 12px !important;
    }
    .clp-card-content h3,
    .theme--dark .clp-card-content h3 {
        font-size: 12px !important;
        margin-bottom: 6px !important;
    }
    .clp-card-content p,
    .theme--dark .clp-card-content p {
        font-size: 10px !important;
        line-height: 1.4 !important;
        margin-bottom: 12px !important;
    }
    .clp-card-btn {
        padding: 6px 15px !important;
        font-size: 9px !important;
    }
}

/* ==========================================================================
   QUESTIONS SECTION CONTRAST FIX
   ========================================================================== */
body div#page [data-translate="questions-title"],
body div#page h1[data-translate="questions-title"],
h1[data-translate="questions-title"] {
    color: #0F1E36 !important;
}

body div#page [data-translate="questions-description"],
body div#page p[data-translate="questions-description"],
p[data-translate="questions-description"] {
    color: #1A2536 !important;
}

body div#page a[data-translate="whatsapp-button"] i,
body div#page a[href*="wa.me"] i,
a[data-translate="whatsapp-button"] i,
a[href*="wa.me"] i {
    color: #FFFFFF !important;
}

/* ==========================================================================
   PREMIUM RECTANGULAR BUTTON (MATCHING PHOTO 2)
   ========================================================================== */
.premium-pill-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #0F1E36 !important; /* Solid Deep Sapphire Blue (Photo 2) */
    color: #FFFFFF !important;
    font-family: 'Inter', sans-serif !important;
    font-weight: 700 !important;
    font-size: 14px !important; /* Larger text (Photo 2) */
    padding: 12px 30px !important; /* Larger padding (Photo 2) */
    border-radius: 6px !important; /* Rectangular rounded corners (Photo 2) */
    text-decoration: none !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    border: none !important; /* No border outline (Photo 2) */
    box-shadow: none !important; /* No neon cyan glow (Photo 2) */
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
    white-space: nowrap !important;
    cursor: pointer !important;
}

.premium-pill-btn:hover {
    background: #788A9F !important; /* Clean steel blue hover */
    color: #FFFFFF !important;
    border: none !important;
    box-shadow: 0 4px 12px rgba(15, 30, 54, 0.15) !important;
    transform: translateY(-1px) !important;
    text-decoration: none !important;
}

/* ==========================================================================
   OPTION A: PREMIUM CLINICAL HERO CARDS STYLING
   ========================================================================== */
.premium-clinical-card {
    background: linear-gradient(135deg, #788A9F 0%, #0F1E36 100%) !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    border-radius: 16px !important;
    box-shadow: 0 10px 30px rgba(15, 30, 54, 0.15) !important;
    padding: 30px 24px !important;
    height: 100% !important;
    transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
    text-align: left !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
}

.premium-clinical-card:hover {
    transform: translateY(-8px) !important;
    box-shadow: 0 15px 40px rgba(15, 30, 54, 0.25) !important;
    border-color: rgba(255, 255, 255, 0.4) !important;
}

.premium-icon-wrap {
    width: 60px !important;
    height: 60px !important;
    background-color: #0F1E36 !important;
    border-radius: 14px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-bottom: 24px !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
}

.premium-icon-wrap i,
.premium-icon-wrap svg {
    color: #FFFFFF !important;
    font-size: 24px !important;
}

.premium-clinical-card h4 {
    color: #FFFFFF !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    margin-bottom: 12px !important;
    text-align: left !important;
}

.premium-clinical-card p {
    color: rgba(243, 246, 249, 0.85) !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
    margin: 0 !important;
    text-align: left !important;
    font-weight: 400 !important;
}

/* ==========================================================================
   GLOBAL TYPOGRAPHY & COLOR OVERRIDES (Inter & #2C3539)
   ========================================================================== */

/* 1. Global Inter Font Override */
body, html, p, span, a, div, li, td, th, h1, h2, h3, h4, h5, h6, input, select, textarea, button, label {
    font-family: 'Inter', sans-serif !important;
}

/* 2. Global Dark Charcoal/Slate Color Override (#2C3539) */
body, p, span, div, li, a, td, th, h1, h2, h3, h4, h5, h6, input, select, textarea, label {
    color: #2C3539 !important;
}

/* 3. Restore Light Texts on Dark Backgrounds and Buttons to Ensure Excellent Contrast */

/* Buttons & CTA Links */
.btn, .btn *,
.btn--theme, .btn--theme *,
.btn--black, .btn--black *,
.btn-primary, .btn-primary *,
.clp-sidebar-contact-btn, .clp-sidebar-contact-btn *,
.clp-card-btn, .clp-card-btn *,
.header-cta-btn-class, .header-cta-btn-class * {
    color: #ffffff !important;
}

/* Footer Section */
footer, footer *,
.footer, .footer * {
    color: rgba(255, 255, 255, 0.85) !important;
}
footer h1, footer h2, footer h3, footer h4, footer h5, footer h6,
.footer h1, .footer h2, .footer h3, .footer h4, .footer h5, .footer h6 {
    color: #ffffff !important;
}
footer a:hover, .footer a:hover {
    color: #c4a77d !important;
}

/* Cursive Accent Elements */
.cursive, .subtitle, .s2-title-top {
    font-family: 'Dancing Script', cursive !important;
    color: #c4a77d !important;
}

/* Standard Hover Accents */
a:hover {
    color: #c4a77d !important;
}

/* WhatsApp Widget Buttons */
a[href*="wa.me"],
a[href*="wa.me"] * {
    color: #ffffff !important;
}

/* Premium Clinical Cards */
.premium-clinical-card h4 {
    color: #FFFFFF !important;
}
.premium-clinical-card p {
    color: rgba(243, 246, 249, 0.85) !important;
}

/* Social icons or specific color-preserving classes */
.facebook-link, .facebook-link *,
.instagram-link, .instagram-link *,
.whatsapp-link, .whatsapp-link * {
    color: #ffffff !important;
}

/* Align hero image container: right on desktop, center on mobile */
@media (min-width: 992px) {
    .hero-image-container {
        margin-left: auto !important;
        margin-right: 0 !important;
    }
}
@media (max-width: 991px) {
    .hero-image-container {
        margin-left: auto !important;
        margin-right: auto !important;
    }
}

/* Frosted glass overlay for horizontal hero videos on inner pages */
body:not(.transparent-header-page) .hero-text .row.mb-3 > .col-12.p-0 {
    position: relative;
}
body:not(.transparent-header-page) .hero-text .row.mb-3 > .col-12.p-0::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(228, 237, 243, 0.15); /* Tint #E4EDF3 with 15% opacity */
    backdrop-filter: blur(15px);
    -webkit-backdrop-filter: blur(15px);
    pointer-events: none;
    z-index: 2; /* Sits above the video */
}

/* ==========================================================================
   INNER PAGES HERO TYPOGRAPHY STANDARDIZATION
   ========================================================================== */
body:not(.transparent-header-page) .hero-text h1,
body:not(.transparent-header-page) .hero-text h2,
body:not(.transparent-header-page) .hero-text .fw-bold {
    font-family: 'Inter', sans-serif !important;
    font-size: 42px !important;
    font-weight: 800 !important;
    color: #0F1E36 !important;
    line-height: 1.15 !important;
    letter-spacing: -0.5px !important;
}

body:not(.transparent-header-page) .hero-text p,
body:not(.transparent-header-page) .hero-text div,
body:not(.transparent-header-page) .hero-text span {
    font-family: 'Inter', sans-serif !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    color: #1A2536 !important;
    line-height: 1.6 !important;
}

body:not(.transparent-header-page) .hero-text [data-translate="hero-healthcare"],
body:not(.transparent-header-page) .hero-text .text-uppercase.fw-light {
    font-family: 'Inter', sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #788A9F !important;
    letter-spacing: 2px !important;
    margin-bottom: 5px !important;
}

/* Specific fix for mobile to avoid giant text */
@media (max-width: 768px) {
    body:not(.transparent-header-page) .hero-text h1,
    body:not(.transparent-header-page) .hero-text h2,
    body:not(.transparent-header-page) .hero-text .fw-bold {
        font-size: 32px !important;
    }
    body:not(.transparent-header-page) .hero-text p,
    body:not(.transparent-header-page) .hero-text div,
    body:not(.transparent-header-page) .hero-text span {
        font-size: 14px !important;
    }
}

/* ==========================================================================
   GLOBAL TYPOGRAPHY & COLOR UNIFICATION (#2C3539 & Inter)
   ========================================================================== */

/* Universal Font family reset to Inter */
body, html, p, span, div, li, a, td, th, h1, h2, h3, h4, h5, h6, input, select, textarea, label, blockquote, q, cite, strong, b, i {
    font-family: 'Inter', sans-serif !important;
}

/* Universal Text color override (#2C3539) */
body, 
html, 
p, 
span:not(.floating-chat-btn span):not(.social-glossy-btn i):not(.fas):not(.far):not(.fab):not(.fa):not(.flaticon), 
a:not(.btn):not([class*="btn"]):not([class*="social"]):not(footer a):not(.footer-link):not(.clp-sidebar-contact-btn):not(.floating-chat-btn *), 
div:not([class*="btn"]):not([class*="social"]):not(footer):not(footer div):not(footer p):not(footer span):not(#clp-bg-wrapper):not(#clp-mouse-glow):not(.floating-chat-btn):not(.floating-chat-btn *):not(.clp-side-menu):not(.clp-side-menu *), 
li:not(footer li):not(.clp-overlay-nav li), 
td, 
th, 
h1:not(footer h1):not(footer h2):not(footer h3), 
h2:not(footer h1):not(footer h2):not(footer h3), 
h3:not(footer h1):not(footer h2):not(footer h3), 
h4, 
h5, 
h6, 
input, 
select, 
textarea, 
label {
    color: #2C3539 !important;
}

/* Ensure headings maintain weight while adopting the uniform color */
h1, h2, h3, h4, h5, h6, .luxury-title, .section-title h2, .section-title h3, .txt-block h2, .clp-menu-text {
    color: #2C3539 !important;
    font-weight: 700 !important;
}

/* --- User Custom Navigation Link Styles --- */
.nav__link {
  font-family: 'Inter', sans-serif !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  letter-spacing: -0.01em !important;
  color: #2C3539 !important;
  text-decoration: none !important;
  padding: 12px 16px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important; /* Зазор для иконки-стрелочки вниз */
  transition: color 0.2s ease !important;
}

/* Эффект наведения для доверительного тона (чуть мягче исходного цвета) */
.nav__link:hover {
  color: #4A555A !important; 
}

/* Пункты внутри выпадающего списка */
.dropdown__link {
  font-family: 'Inter', sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;
  color: #2C3539 !important;
  text-decoration: none !important;
  padding: 10px 16px !important;
  display: block !important;
  transition: background-color 0.2s ease !important;
}

/* Подсветка строки при наведении в выпадающем меню */
.dropdown__link:hover {
  background-color: #F5F7F8 !important; /* Мягкий светлый фон */
}


