/*
Theme Name: ESSENSOS Custom Theme
Theme URI: https://essensos.com
Author: ESSENSOS
Description: Custom coded WordPress theme for ESSENSOS Flavours & Fragrances.
Version: 1.0
Text Domain: essensos
*/

/* PROCESS GRID FIX */

.process-grid {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 28px !important;
    align-items: stretch !important;
}

.process-card {
    background: #FFFFFF !important;
    border: 1px solid #E8E2DA !important;
    padding: 34px 30px !important;
    min-height: 270px !important;
    position: relative !important;
}

.process-number {
    width: 70px !important;
    height: 70px !important;
    border-radius: 50% !important;
    background: #B40012 !important;
    color: #FFFFFF !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    margin-bottom: 24px !important;
}

.process-card h3 {
    color: #2A2A2A !important;
    font-size: 26px !important;
    line-height: 1.2 !important;
    margin: 0 0 16px !important;
    font-weight: 800 !important;
}

.process-card p {
    color: #5E5A55 !important;
    font-size: 15px !important;
    line-height: 1.65 !important;
    margin: 0 !important;
}

/* MAKE CTA CLOSER TO FOOTER */

.sample-cta {
    padding-top: 50px !important;
    padding-bottom: 20px !important;
    margin-bottom: 0 !important;
}

.sample-inner {
    margin-bottom: 0 !important;
}

/* STRONG FOOTER HEIGHT REDUCTION */

.site-footer,
.footer,
.footer-area,
footer {
    padding-top: 14px !important;
    padding-bottom: 8px !important;
    margin-top: 0 !important;
    min-height: 0 !important;
    height: auto !important;
}

.site-footer .container,
.footer .container,
.footer-area .container,
footer .container {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.footer-inner,
.footer-content,
.footer-grid,
.site-footer-inner,
.site-footer-content,
.footer-main,
.site-footer-main {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    display: grid !important;
    align-items: start !important;
    gap: 18px !important;
}

/* Footer columns spacing */

.site-footer > *,
.footer > *,
footer > * {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.footer-logo,
.site-footer .logo,
footer .logo {
    margin-bottom: 4px !important;
    height: auto !important;
}

/* Logo smaller */

.site-footer img,
.footer img,
footer img {
    max-width: 135px !important;
    width: 135px !important;
    height: auto !important;
    margin-bottom: 6px !important;
}

/* Footer text smaller */

.site-footer p,
.footer p,
footer p {
    font-size: 12px !important;
    line-height: 1.35 !important;
    margin-top: 0 !important;
    margin-bottom: 4px !important;
    max-width: 320px !important;
}

/* Footer headings */

.site-footer h3,
.site-footer h4,
.footer h3,
.footer h4,
footer h3,
footer h4 {
    font-size: 11px !important;
    line-height: 1.1 !important;
    margin-top: 0 !important;
    margin-bottom: 7px !important;
    letter-spacing: 1.4px !important;
}

/* Footer lists */

.site-footer ul,
.footer ul,
footer ul {
    margin: 0 !important;
    padding: 0 !important;
}

.site-footer li,
.footer li,
footer li {
    margin-bottom: 3px !important;
    line-height: 1.15 !important;
}

.site-footer a,
.footer a,
footer a {
    font-size: 12px !important;
    line-height: 1.2 !important;
}

/* Copyright line smaller */

.footer-bottom,
.site-footer-bottom,
.copyright,
.footer-copyright,
.site-info {
    padding-top: 8px !important;
    margin-top: 12px !important;
    margin-bottom: 0 !important;
    font-size: 10px !important;
    line-height: 1.2 !important;
    border-top: 1px solid #E8E2DA !important;
}

.footer-bottom p,
.site-footer-bottom p,
.copyright p,
.footer-copyright p,
.site-info p {
    margin: 0 !important;
    font-size: 10px !important;
    line-height: 1.2 !important;
}

/* Remove big empty spaces inside footer */

.site-footer br,
.footer br,
footer br {
    display: none !important;
}

/* MOBILE */

@media (max-width: 1050px) {
    .process-grid {
        grid-template-columns: 1fr !important;
        gap: 18px !important;
    }

    .process-card {
        min-height: auto !important;
        padding: 28px 22px !important;
    }

    .site-footer,
    .footer,
    .footer-area,
    footer {
        padding-top: 12px !important;
        padding-bottom: 8px !important;
    }

    .footer-inner,
    .footer-content,
    .footer-grid,
    .site-footer-inner,
    .site-footer-content,
    .footer-main,
    .site-footer-main {
        gap: 12px !important;
    }

    .site-footer img,
    .footer img,
    footer img {
        max-width: 125px !important;
        width: 125px !important;
    }
}
/* ESSENSOS NAV HOVER ANIMATION */

.main-nav .primary-menu a,
.site-header nav a {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    color: #111111 !important;
    text-decoration: none !important;
    transition: color 0.28s ease, transform 0.28s ease !important;
}

.main-nav .primary-menu a::after,
.site-header nav a::after {
    content: "" !important;
    position: absolute !important;
    left: 50% !important;
    bottom: -10px !important;
    width: 0 !important;
    height: 2px !important;
    background: #B40012 !important;
    transform: translateX(-50%) !important;
    transition: width 0.32s ease !important;
}

.main-nav .primary-menu a:hover,
.site-header nav a:hover {
    color: #B40012 !important;
    transform: translateY(-2px) !important;
}

.main-nav .primary-menu a:hover::after,
.site-header nav a:hover::after {
    width: 100% !important;
}

/* active / current page */
.main-nav .primary-menu .current-menu-item > a,
.site-header nav .current-menu-item > a {
    color: #B40012 !important;
}

.main-nav .primary-menu .current-menu-item > a::after,
.site-header nav .current-menu-item > a::after {
    width: 100% !important;
}
/* ESSENSOS PREMIUM SECTION TITLES */

.eyebrow,
.about-kicker,
.about-label,
.section-label,
.section-eyebrow,
.hero-eyebrow,
.process-head .eyebrow,
.section-head .eyebrow,
.about-process .eyebrow,
.about-applications-premium .about-kicker,
.about-capability-premium .about-kicker,
.about-philosophy .about-kicker,
.about-editorial .about-kicker,
.about-red-band .about-kicker,
.about-final-cta .about-kicker {
    display: inline-flex !important;
    align-items: center !important;
    gap: 14px !important;
    color: #B40012 !important;
    font-size: 11px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    letter-spacing: 4.5px !important;
    margin-bottom: 28px !important;
    position: relative !important;
}

.eyebrow::before,
.about-kicker::before,
.about-label::before,
.section-label::before,
.section-eyebrow::before,
.hero-eyebrow::before,
.process-head .eyebrow::before,
.section-head .eyebrow::before,
.about-process .eyebrow::before,
.about-applications-premium .about-kicker::before,
.about-capability-premium .about-kicker::before,
.about-philosophy .about-kicker::before,
.about-editorial .about-kicker::before {
    content: "" !important;
    width: 38px !important;
    height: 1px !important;
    background: #B40012 !important;
    display: inline-block !important;
}

/* white labels inside red blocks */
.about-kicker.light,
.about-label.light,
.red-band-grid .about-kicker,
.final-cta-box .about-kicker,
.about-red-band .about-kicker,
.about-final-cta .about-kicker {
    color: rgba(255,255,255,0.78) !important;
}

.about-kicker.light::before,
.about-label.light::before,
.red-band-grid .about-kicker::before,
.final-cta-box .about-kicker::before,
.about-red-band .about-kicker::before,
.about-final-cta .about-kicker::before {
    background: rgba(255,255,255,0.55) !important;
}

/* Premium main section headings */
.section-head h2,
.section-premium-head h2,
.process-head h2,
.about-process h2,
.about-applications-premium h2,
.about-capability-premium h2,
.about-philosophy h2,
.about-editorial h2,
.red-band-grid h2 {
    letter-spacing: -1.8px !important;
    position: relative !important;
}

/* Add subtle underline under important large headings */
.section-head h2::after,
.section-premium-head h2::after,
.process-head h2::after {
    content: "" !important;
    display: block !important;
    width: 86px !important;
    height: 2px !important;
    background: #B40012 !important;
    margin-top: 28px !important;
}

/* Centered headings underline centered */
.section-head.center h2::after,
.section-premium-head.center h2::after {
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Make card headings cleaner */
.capability-premium-card h3,
.process-premium-item h3,
.value-card h3,
.process-box h3,
.pillar-card h3 {
    letter-spacing: -0.4px !important;
}

/* Better section spacing around labels */
.about-process,
.about-applications-premium,
.about-capability-premium,
.about-philosophy,
.about-editorial {
    position: relative !important;
}

/* Mobile */
@media (max-width: 700px) {
    .eyebrow,
    .about-kicker,
    .about-label,
    .section-label,
    .section-eyebrow,
    .hero-eyebrow {
        font-size: 10px !important;
        letter-spacing: 3px !important;
        gap: 10px !important;
    }

    .eyebrow::before,
    .about-kicker::before,
    .about-label::before,
    .section-label::before,
    .section-eyebrow::before,
    .hero-eyebrow::before {
        width: 26px !important;
    }
}
/* =========================================================
   ESSENSOS MOBILE CARD FIX + TOUCH RED EFFECT
   Put this at the VERY END of style.css
========================================================= */

/* Fix horizontal broken cards on mobile */
@media (max-width: 768px) {

    html,
    body {
        overflow-x: hidden !important;
        width: 100% !important;
    }

    .container {
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 22px !important;
        padding-right: 22px !important;
        box-sizing: border-box !important;
    }

    .expertise-grid,
    .category-grid,
    .process-grid,
    .process-luxury-line,
    .taste-family-grid,
    .taste-app-grid,
    .performance-list,
    .process-steps-new,
    .profile-map-list,
    .essence-grid,
    .applications-cards,
    .services-grid,
    .cards-grid,
    .features-grid {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 18px !important;
        width: 100% !important;
        max-width: 100% !important;
        border-left: 0 !important;
        border-top: 0 !important;
        overflow: visible !important;
    }

    .expertise-card,
    .category-card,
    .process-card,
    .taste-family-card,
    .taste-app-grid > div,
    .performance-list > div,
    .process-steps-new > div,
    .profile-map-list > span,
    .applications-cards > div,
    .services-grid > div,
    .cards-grid > div,
    .features-grid > div {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        min-height: auto !important;
        box-sizing: border-box !important;
        padding: 30px 24px !important;
        border: 1px solid #E8E2DA !important;
        background: #FFFFFF !important;
        overflow: hidden !important;
        word-break: normal !important;
        overflow-wrap: break-word !important;
        white-space: normal !important;
    }

    .expertise-card h3,
    .category-card h3,
    .process-card h3,
    .taste-family-card h3,
    .taste-app-grid h3,
    .performance-list h3,
    .process-steps-new h3,
    .applications-cards h3 {
        font-size: 24px !important;
        line-height: 1.18 !important;
        word-break: normal !important;
        white-space: normal !important;
    }

    .expertise-card p,
    .category-card p,
    .process-card p,
    .taste-family-card p,
    .taste-app-grid p,
    .performance-list p,
    .process-steps-new p,
    .applications-cards p {
        font-size: 15px !important;
        line-height: 1.7 !important;
        word-break: normal !important;
        white-space: normal !important;
    }
}

/* Desktop hover red */
.expertise-card:hover,
.category-card:hover,
.process-card:hover,
.taste-family-card:hover,
.taste-app-grid > div:hover,
.performance-list > div:hover,
.process-steps-new > div:hover,
.profile-map-list > span:hover,
.applications-cards > div:hover,
.services-grid > div:hover,
.cards-grid > div:hover,
.features-grid > div:hover {
    background: #B40012 !important;
    border-color: #B40012 !important;
    color: #FFFFFF !important;
    transform: translateY(-7px);
    box-shadow: 0 28px 70px rgba(180,0,18,0.18);
}

/* Text turns white on hover */
.expertise-card:hover *,
.category-card:hover *,
.process-card:hover *,
.taste-family-card:hover *,
.taste-app-grid > div:hover *,
.performance-list > div:hover *,
.process-steps-new > div:hover *,
.profile-map-list > span:hover,
.applications-cards > div:hover *,
.services-grid > div:hover *,
.cards-grid > div:hover *,
.features-grid > div:hover * {
    color: #FFFFFF !important;
}

/* Mobile touch red effect */
.expertise-card:active,
.category-card:active,
.process-card:active,
.taste-family-card:active,
.taste-app-grid > div:active,
.performance-list > div:active,
.process-steps-new > div:active,
.profile-map-list > span:active,
.applications-cards > div:active,
.services-grid > div:active,
.cards-grid > div:active,
.features-grid > div:active {
    background: #B40012 !important;
    border-color: #B40012 !important;
    color: #FFFFFF !important;
    transform: translateY(-4px);
    box-shadow: 0 22px 55px rgba(180,0,18,0.18);
}

.expertise-card:active *,
.category-card:active *,
.process-card:active *,
.taste-family-card:active *,
.taste-app-grid > div:active *,
.performance-list > div:active *,
.process-steps-new > div:active *,
.profile-map-list > span:active,
.applications-cards > div:active *,
.services-grid > div:active *,
.cards-grid > div:active *,
.features-grid > div:active * {
    color: #FFFFFF !important;
}

/* Smooth interaction */
.expertise-card,
.category-card,
.process-card,
.taste-family-card,
.taste-app-grid > div,
.performance-list > div,
.process-steps-new > div,
.profile-map-list > span,
.applications-cards > div,
.services-grid > div,
.cards-grid > div,
.features-grid > div {
    transition: all 0.28s ease !important;
    cursor: pointer !important;
}/* =========================================================
   ESSENSOS STRONG MOBILE GRID FIX
   Put this at the very end of style.css
========================================================= */

@media (max-width: 900px) {

    html,
    body {
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: hidden !important;
    }

    .container,
    .site-container,
    .wrap {
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 22px !important;
        padding-right: 22px !important;
        box-sizing: border-box !important;
        overflow-x: hidden !important;
    }

    .expertise-grid,
    .expertise-premium-grid,
    .capability-grid,
    .capability-premium-grid,
    .capabilities-grid,
    .capabilities-premium-grid,
    .about-capabilities-grid,
    .category-grid,
    .process-grid,
    .process-luxury-line,
    .taste-family-grid,
    .taste-app-grid,
    .performance-list,
    .process-steps-new,
    .profile-map-list,
    .essence-grid,
    .applications-cards,
    .services-grid,
    .cards-grid,
    .features-grid,
    .value-grid,
    .process-premium-grid,
    .pillars-grid {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 18px !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        overflow: visible !important;
        border-left: 0 !important;
        border-top: 0 !important;
    }

    .expertise-card,
    .expertise-premium-card,
    .capability-card,
    .capability-premium-card,
    .capabilities-card,
    .capabilities-premium-card,
    .about-capability-card,
    .category-card,
    .process-card,
    .process-premium-item,
    .taste-family-card,
    .taste-app-grid > div,
    .performance-list > div,
    .process-steps-new > div,
    .profile-map-list > span,
    .applications-cards > div,
    .services-grid > div,
    .cards-grid > div,
    .features-grid > div,
    .value-card,
    .pillar-card {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        min-height: auto !important;
        box-sizing: border-box !important;
        padding: 30px 24px !important;
        border: 1px solid #E8E2DA !important;
        background: #FFFFFF !important;
        overflow: hidden !important;
        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: break-word !important;
        transform: none !important;
    }

    .expertise-card h3,
    .expertise-premium-card h3,
    .capability-card h3,
    .capability-premium-card h3,
    .capabilities-card h3,
    .capabilities-premium-card h3,
    .about-capability-card h3,
    .category-card h3,
    .process-card h3,
    .process-premium-item h3,
    .taste-family-card h3,
    .taste-app-grid h3,
    .performance-list h3,
    .process-steps-new h3,
    .applications-cards h3,
    .services-grid h3,
    .cards-grid h3,
    .features-grid h3,
    .value-card h3,
    .pillar-card h3 {
        font-size: 24px !important;
        line-height: 1.18 !important;
        letter-spacing: -0.4px !important;
        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: break-word !important;
        text-align: left !important;
    }

    .expertise-card p,
    .expertise-premium-card p,
    .capability-card p,
    .capability-premium-card p,
    .capabilities-card p,
    .capabilities-premium-card p,
    .about-capability-card p,
    .category-card p,
    .process-card p,
    .process-premium-item p,
    .taste-family-card p,
    .taste-app-grid p,
    .performance-list p,
    .process-steps-new p,
    .applications-cards p,
    .services-grid p,
    .cards-grid p,
    .features-grid p,
    .value-card p,
    .pillar-card p {
        font-size: 15px !important;
        line-height: 1.7 !important;
        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: break-word !important;
        text-align: left !important;
    }

    .expertise-card *,
    .expertise-premium-card *,
    .capability-card *,
    .capability-premium-card *,
    .capabilities-card *,
    .capabilities-premium-card *,
    .about-capability-card *,
    .category-card *,
    .process-card *,
    .process-premium-item *,
    .taste-family-card *,
    .taste-app-grid > div *,
    .performance-list > div *,
    .process-steps-new > div *,
    .applications-cards > div *,
    .services-grid > div *,
    .cards-grid > div *,
    .features-grid > div *,
    .value-card *,
    .pillar-card * {
        max-width: 100% !important;
        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: break-word !important;
    }
} /* =========================================================
   ESSENSOS PREMIUM MOBILE MENU
   Put at the VERY END of style.css
========================================================= */

@media (max-width: 1050px) {

    /* Mobile menu overlay */
    .mobile-menu,
    .mobile-navigation,
    .mobile-nav,
    .site-mobile-menu,
    .menu-mobile,
    .nav-mobile,
    .main-navigation.toggled,
    .main-navigation.active,
    body.menu-open .main-navigation {
        position: fixed !important;
        inset: 0 !important;
        width: 100% !important;
        height: 100vh !important;
        background:
            linear-gradient(180deg, rgba(250,247,242,0.97) 0%, rgba(250,247,242,0.94) 100%),
            radial-gradient(circle at 80% 18%, rgba(180,0,18,0.09), transparent 32%) !important;
        z-index: 99999 !important;
        padding: 118px 22px 34px !important;
        overflow-y: auto !important;
        box-sizing: border-box !important;
        backdrop-filter: blur(10px) !important;
    }

    /* Menu list */
    .mobile-menu ul,
    .mobile-navigation ul,
    .mobile-nav ul,
    .site-mobile-menu ul,
    .menu-mobile ul,
    .nav-mobile ul,
    .main-navigation.toggled ul,
    .main-navigation.active ul,
    body.menu-open .main-navigation ul {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 12px !important;
        margin: 0 !important;
        padding: 0 !important;
        list-style: none !important;
        width: 100% !important;
    }

    /* Menu items */
    .mobile-menu li,
    .mobile-navigation li,
    .mobile-nav li,
    .site-mobile-menu li,
    .menu-mobile li,
    .nav-mobile li,
    .main-navigation.toggled li,
    .main-navigation.active li,
    body.menu-open .main-navigation li {
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        width: 100% !important;
    }

    /* Menu links as premium cards */
    .mobile-menu a,
    .mobile-navigation a,
    .mobile-nav a,
    .site-mobile-menu a,
    .menu-mobile a,
    .nav-mobile a,
    .main-navigation.toggled a,
    .main-navigation.active a,
    body.menu-open .main-navigation a {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        width: 100% !important;
        min-height: 64px !important;
        padding: 0 22px !important;
        box-sizing: border-box !important;
        background: rgba(255,255,255,0.82) !important;
        border: 1px solid #E8E2DA !important;
        color: #2A2A2A !important;
        text-decoration: none !important;
        font-family: Georgia, serif !important;
        font-size: 25px !important;
        line-height: 1.1 !important;
        font-weight: 400 !important;
        letter-spacing: -0.3px !important;
        box-shadow: 0 10px 34px rgba(0,0,0,0.035) !important;
        transition: all 0.22s ease !important;
        -webkit-tap-highlight-color: transparent !important;
    }

    .mobile-menu a::after,
    .mobile-navigation a::after,
    .mobile-nav a::after,
    .site-mobile-menu a::after,
    .menu-mobile a::after,
    .nav-mobile a::after,
    .main-navigation.toggled a::after,
    .main-navigation.active a::after,
    body.menu-open .main-navigation a::after {
        content: "→" !important;
        font-family: Arial, sans-serif !important;
        font-size: 18px !important;
        color: #B40012 !important;
        opacity: 0.65 !important;
        margin-left: 16px !important;
    }

    /* Red touch effect */
    .mobile-menu a:hover,
    .mobile-menu a:active,
    .mobile-navigation a:hover,
    .mobile-navigation a:active,
    .mobile-nav a:hover,
    .mobile-nav a:active,
    .site-mobile-menu a:hover,
    .site-mobile-menu a:active,
    .menu-mobile a:hover,
    .menu-mobile a:active,
    .nav-mobile a:hover,
    .nav-mobile a:active,
    .main-navigation.toggled a:hover,
    .main-navigation.toggled a:active,
    .main-navigation.active a:hover,
    .main-navigation.active a:active,
    body.menu-open .main-navigation a:hover,
    body.menu-open .main-navigation a:active {
        background: #B40012 !important;
        border-color: #B40012 !important;
        color: #FFFFFF !important;
        transform: translateY(-2px) !important;
        box-shadow: 0 18px 44px rgba(180,0,18,0.18) !important;
    }

    .mobile-menu a:hover::after,
    .mobile-menu a:active::after,
    .mobile-navigation a:hover::after,
    .mobile-navigation a:active::after,
    .mobile-nav a:hover::after,
    .mobile-nav a:active::after,
    .site-mobile-menu a:hover::after,
    .site-mobile-menu a:active::after,
    .menu-mobile a:hover::after,
    .menu-mobile a:active::after,
    .nav-mobile a:hover::after,
    .nav-mobile a:active::after,
    .main-navigation.toggled a:hover::after,
    .main-navigation.toggled a:active::after,
    .main-navigation.active a:hover::after,
    .main-navigation.active a:active::after,
    body.menu-open .main-navigation a:hover::after,
    body.menu-open .main-navigation a:active::after {
        color: #FFFFFF !important;
        opacity: 1 !important;
    }

    /* Logo / menu header area */
    .mobile-menu-header,
    .mobile-nav-header,
    .site-mobile-menu-header,
    .mobile-header,
    .menu-header {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        height: 96px !important;
        background: rgba(250,247,242,0.96) !important;
        border-bottom: 1px solid #E8E2DA !important;
        z-index: 100000 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        padding: 0 22px !important;
        box-sizing: border-box !important;
        backdrop-filter: blur(10px) !important;
    }

    /* Close button */
    .menu-close,
    .mobile-menu-close,
    .nav-close,
    .close-menu,
    .mobile-close,
    .hamburger-close,
    button[aria-label="Close"],
    button[aria-label="close"] {
        width: 58px !important;
        height: 58px !important;
        border: 1px solid #E8E2DA !important;
        background: #FFFFFF !important;
        color: #B40012 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        font-size: 28px !important;
        line-height: 1 !important;
        border-radius: 0 !important;
        box-shadow: 0 12px 30px rgba(0,0,0,0.04) !important;
    }

    .menu-close:hover,
    .menu-close:active,
    .mobile-menu-close:hover,
    .mobile-menu-close:active,
    .nav-close:hover,
    .nav-close:active,
    .close-menu:hover,
    .close-menu:active,
    .mobile-close:hover,
    .mobile-close:active,
    .hamburger-close:hover,
    .hamburger-close:active {
        background: #B40012 !important;
        color: #FFFFFF !important;
        border-color: #B40012 !important;
    }

    /* Mobile top logo */
    .mobile-menu img,
    .mobile-navigation img,
    .mobile-nav img,
    .site-mobile-menu img,
    .mobile-header img,
    .menu-header img {
        max-width: 210px !important;
        height: auto !important;
    }

    /* Remove ugly default underline lines */
    .mobile-menu li::before,
    .mobile-menu li::after,
    .mobile-navigation li::before,
    .mobile-navigation li::after,
    .mobile-nav li::before,
    .mobile-nav li::after,
    .main-navigation.toggled li::before,
    .main-navigation.toggled li::after,
    .main-navigation.active li::before,
    .main-navigation.active li::after {
        display: none !important;
        content: none !important;
    }

    /* Make request button in menu premium */
    .mobile-menu a[href*="request"],
    .mobile-navigation a[href*="request"],
    .mobile-nav a[href*="request"],
    .site-mobile-menu a[href*="request"],
    .main-navigation.toggled a[href*="request"],
    .main-navigation.active a[href*="request"] {
        background: #B40012 !important;
        color: #FFFFFF !important;
        border-color: #B40012 !important;
        font-family: Arial, sans-serif !important;
        font-size: 14px !important;
        font-weight: 900 !important;
        text-transform: uppercase !important;
        letter-spacing: 0.8px !important;
    }

    .mobile-menu a[href*="request"]::after,
    .mobile-navigation a[href*="request"]::after,
    .mobile-nav a[href*="request"]::after,
    .site-mobile-menu a[href*="request"]::after,
    .main-navigation.toggled a[href*="request"]::after,
    .main-navigation.active a[href*="request"]::after {
        color: #FFFFFF !important;
    }
}/* =========================================================
   ESSENSOS STICKY HEADER FIX
   Keeps logo + menu fixed while scrolling
========================================================= */

.site-header,
header.site-header,
.header,
.main-header,
.ess-header,
#masthead {
    position: sticky !important;
    top: 0 !important;
    z-index: 999999 !important;
    background: rgba(250, 247, 242, 0.94) !important;
    backdrop-filter: blur(14px) !important;
    -webkit-backdrop-filter: blur(14px) !important;
    border-bottom: 1px solid rgba(232, 226, 218, 0.95) !important;
    box-shadow: 0 10px 30px rgba(0,0,0,0.035) !important;
}

/* Prevent header from becoming transparent or disappearing */
.site-header *,
header.site-header *,
.header *,
.main-header *,
.ess-header *,
#masthead * {
    visibility: visible !important;
}

/* Logo stays clear */
.site-header img,
header.site-header img,
.header img,
.main-header img,
.ess-header img,
#masthead img {
    opacity: 1 !important;
    visibility: visible !important;
}

/* Desktop header spacing */
@media (min-width: 1051px) {
    .site-header,
    header.site-header,
    .header,
    .main-header,
    .ess-header,
    #masthead {
        min-height: 86px !important;
    }
}

/* Mobile sticky header */
@media (max-width: 1050px) {
    .site-header,
    header.site-header,
    .header,
    .main-header,
    .ess-header,
    #masthead {
        position: sticky !important;
        top: 0 !important;
        z-index: 999999 !important;
        min-height: 96px !important;
        background: rgba(250, 247, 242, 0.96) !important;
        border-bottom: 1px solid #E8E2DA !important;
        box-shadow: 0 12px 34px rgba(0,0,0,0.045) !important;
    }

    .site-header .container,
    header.site-header .container,
    .header .container,
    .main-header .container,
    .ess-header .container,
    #masthead .container {
        min-height: 96px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
    }

    /* Logo size mobile */
    .site-header img,
    header.site-header img,
    .header img,
    .main-header img,
    .ess-header img,
    #masthead img {
        max-height: 54px !important;
        width: auto !important;
    }

    /* Menu button stays visible */
    .menu-toggle,
    .mobile-toggle,
    .hamburger,
    .nav-toggle,
    button.menu-toggle {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        z-index: 1000000 !important;
        position: relative !important;
    }
}/* =========================================================
   ESSENSOS DESKTOP FIXED HEADER ONLY
   Keeps logo/header visible on laptop & desktop
========================================================= */

@media (min-width: 1051px) {

    .site-header,
    header.site-header,
    .header,
    .main-header,
    .ess-header,
    #masthead {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        z-index: 9999999 !important;
        background: rgba(250, 247, 242, 0.96) !important;
        border-bottom: 1px solid #E8E2DA !important;
        box-shadow: 0 14px 38px rgba(0,0,0,0.055) !important;
        backdrop-filter: blur(16px) !important;
        -webkit-backdrop-filter: blur(16px) !important;
        transform: none !important;
        opacity: 1 !important;
        visibility: visible !important;
    }

    body {
        padding-top: 92px !important;
    }

    .site-header .container,
    header.site-header .container,
    .header .container,
    .main-header .container,
    .ess-header .container,
    #masthead .container {
        min-height: 92px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
    }

    .site-header img,
    header.site-header img,
    .header img,
    .main-header img,
    .ess-header img,
    #masthead img {
        opacity: 1 !important;
        visibility: visible !important;
        display: block !important;
        max-height: 58px !important;
        width: auto !important;
    }

    .site-header nav,
    header.site-header nav,
    .header nav,
    .main-header nav,
    .ess-header nav,
    #masthead nav {
        opacity: 1 !important;
        visibility: visible !important;
        display: flex !important;
    }

    .site-header.is-hidden,
    header.site-header.is-hidden,
    .header.is-hidden,
    .main-header.is-hidden,
    .ess-header.is-hidden,
    #masthead.is-hidden,
    .site-header.hide,
    header.site-header.hide,
    .header.hide,
    .main-header.hide,
    .ess-header.hide,
    #masthead.hide {
        transform: none !important;
        opacity: 1 !important;
        visibility: visible !important;
    }
}