/* Corrida Rosa public brand system. Source: official 2026 identity manual. */

@font-face {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 400 800;
    font-display: swap;
    src: url('../fonts/montserrat/montserrat-latin-ext.woff2') format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 400 800;
    font-display: swap;
    src: url('../fonts/montserrat/montserrat-latin.woff2') format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
    --cr-cherry: #D6445A;
    --cr-cherry-nav: #C43D54;
    --cr-cherry-deep: #9E3044;
    --cr-rose: #E07986;
    --cr-baby-pink: #EDB0B7;
    --cr-beige: #F5E1E1;
    --cr-white: #FFFFFF;
    --cr-ink: #32252A;
    --cr-muted: #66575D;
    --cr-border: rgba(214, 68, 90, .22);
    --cr-font: 'Montserrat', Arial, sans-serif;
}

html,
body,
button,
input,
select,
textarea {
    font-family: var(--cr-font) !important;
}

body {
    color: var(--cr-ink);
    font-size: 16px;
    font-weight: 400;
    line-height: 1.65;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
a,
li,
label,
blockquote,
figcaption,
.theme-btn,
.main-menu,
.mobile-menu,
.footer-two,
.contact-info,
.styled-form input,
.styled-form select,
.styled-form textarea {
    font-family: var(--cr-font) !important;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    color: var(--cr-ink);
    letter-spacing: -.018em;
    line-height: 1.18;
}

h1 { font-size: clamp(2.25rem, 4vw, 3.75rem); font-weight: 700 !important; }
h2 { font-size: clamp(1.9rem, 3vw, 2.75rem); font-weight: 700 !important; }
h3 { font-size: clamp(1.35rem, 2vw, 1.85rem); font-weight: 600 !important; }
h4 { font-size: clamp(1.15rem, 1.5vw, 1.4rem); font-weight: 600 !important; }
h5,
h6 { font-weight: 600 !important; }

p,
li {
    line-height: 1.65;
}

button,
.theme-btn,
input[type='submit'],
input[type='button'] {
    font-weight: 600;
}

/* Header */
body.hidden-bar-wrapper {
    padding-top: 104px;
}

.main-header.fixed-header .sticky-header,
.main-header.fixed-header .header-upper {
    min-height: 104px !important;
    background-color: var(--cr-cherry-nav) !important;
    background-image: none;

    background-size: 18px 18px !important;
    border-bottom: 1px solid rgba(255, 255, 255, .28) !important;
    box-shadow: 0 8px 24px rgba(130, 29, 48, .18) !important;
}

.main-header.fixed-header .sticky-header::before,
.main-header.fixed-header .sticky-header::after {
    display: none !important;
}

.main-header.fixed-header .sticky-header .inner-container {
    display: grid !important;
    grid-template-columns: minmax(176px, 1fr) auto minmax(176px, 1fr) !important;
    align-items: center;
    min-height: 104px !important;
    padding: 0 18px !important;
}

.main-header.fixed-header .sticky-header .logo {
    display: flex !important;
    align-items: center;
    justify-self: start;
    min-height: 104px !important;
    padding: 0 !important;
}

.main-header.fixed-header .sticky-header .logo a {
    display: inline-flex !important;
    align-items: center;
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.main-header.fixed-header .sticky-header .logo img {
    display: block;
    width: auto !important;
    height: 92px !important;
    max-width: 166px !important;
    max-height: 92px !important;
    object-fit: contain !important;
    aspect-ratio: auto !important;
}

.main-header.fixed-header .sticky-header .right-box {
    grid-column: 2;
    min-width: 0;
}

.main-header.fixed-header .sticky-header .main-menu .navigation {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 2px;
}

.main-header.fixed-header .sticky-header .main-menu .navigation > li > a,
.main-header.fixed-header .sticky-header .main-menu .navigation > li > a:link,
.main-header.fixed-header .sticky-header .main-menu .navigation > li > a:visited {
    display: inline-flex !important;
    align-items: center;
    min-height: 44px !important;
    padding: 9px 12px !important;
    color: var(--cr-white) !important;
    -webkit-text-fill-color: var(--cr-white) !important;
    background: transparent !important;
    border: 1px solid transparent !important;
    border-radius: 12px !important;
    box-shadow: none !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    letter-spacing: .005em !important;
    text-shadow: none !important;
    opacity: 1 !important;
    filter: none !important;
    transform: none !important;
    transition: background-color .2s ease, border-color .2s ease, color .2s ease !important;
}

.main-header.fixed-header .sticky-header .main-menu .navigation > li > a::after {
    display: none !important;
}

.main-header.fixed-header .sticky-header .main-menu .navigation > li > a:hover,
.main-header.fixed-header .sticky-header .main-menu .navigation > li > a:focus,
.main-header.fixed-header .sticky-header .main-menu .navigation > li > a:focus-visible,
.main-header.fixed-header .sticky-header .main-menu .navigation > li.current > a {
    color: var(--cr-white) !important;
    -webkit-text-fill-color: var(--cr-white) !important;
    background: rgba(255, 255, 255, .13) !important;
    border-color: rgba(255, 255, 255, .22) !important;
    border-radius: 12px !important;
    box-shadow: none !important;
    text-shadow: none !important;
    transform: none !important;
}

.main-header.fixed-header .header-cta-wrap {
    grid-column: 3;
    justify-self: end;
}

.main-header.fixed-header .header-whatsapp-cta,
.main-header.fixed-header .header-whatsapp-cta:link,
.main-header.fixed-header .header-whatsapp-cta:visited {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px !important;
    padding: 0 21px !important;
    color: var(--cr-cherry-deep) !important;
    -webkit-text-fill-color: var(--cr-cherry-deep) !important;
    background: var(--cr-beige) !important;
    border: 1px solid rgba(255, 255, 255, .58) !important;
    border-radius: 999px !important;
    box-shadow: 0 7px 18px rgba(115, 24, 42, .16) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    white-space: nowrap;
    transform: none !important;
    transition: background-color .2s ease, border-color .2s ease, box-shadow .2s ease !important;
}

.main-header.fixed-header .header-whatsapp-cta:hover,
.main-header.fixed-header .header-whatsapp-cta:focus,
.main-header.fixed-header .header-whatsapp-cta:focus-visible,
.main-header.fixed-header .header-whatsapp-cta:active {
    color: var(--cr-cherry-deep) !important;
    -webkit-text-fill-color: var(--cr-cherry-deep) !important;
    background: var(--cr-white) !important;
    border-color: var(--cr-white) !important;
    border-radius: 999px !important;
    box-shadow: 0 9px 20px rgba(115, 24, 42, .2) !important;
    transform: none !important;
}

.main-header.fixed-header a:focus-visible,
.main-header.fixed-header button:focus-visible,
.main-header.fixed-header .mobile-nav-toggler:focus-visible {
    outline: 3px solid var(--cr-white) !important;
    outline-offset: 3px;
}

.main-header.fixed-header .mobile-nav-toggler {
    display: inline-grid !important;
    place-items: center !important;
    width: 48px !important;
    height: 48px !important;
    color: var(--cr-white) !important;
    background: rgba(255, 255, 255, .1) !important;
    border: 1px solid rgba(255, 255, 255, .68) !important;
    border-radius: 14px !important;
    box-shadow: none !important;
}

.main-header.fixed-header .mobile-nav-toggler .icon {
    display: inline-block !important;
    width: auto !important;
    height: auto !important;
    color: var(--cr-white) !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    line-height: 1 !important;
}

.main-header.fixed-header .mobile-nav-toggler:hover {
    background: rgba(255, 255, 255, .17) !important;
}

.mobile-menu .menu-backdrop {
    width: 100% !important;
    opacity: 0;
    visibility: hidden;
    transform: none !important;
    transition: opacity .25s ease, visibility .25s ease !important;
    transition-delay: 0s !important;
}

.mobile-menu-visible .mobile-menu .menu-backdrop {
    opacity: 1;
    visibility: visible;
    transition-delay: 0s !important;
}

.mobile-menu .menu-box {
    right: -100% !important;
    background: var(--cr-white) !important;
    border-top: 4px solid var(--cr-cherry) !important;
    transition: right .25s ease !important;
    transition-delay: 0s !important;
}

.mobile-menu-visible .mobile-menu .menu-box {
    right: 0 !important;
    transition-delay: 0s !important;
}

.main-header .mobile-menu .navigation li > a,
.mobile-menu .menu-box .navigation > li > a {
    display: flex;
    align-items: center;
    min-height: 48px;
    padding: 12px 20px !important;
    color: var(--cr-cherry-deep) !important;
    background: transparent !important;
    font-family: var(--cr-font) !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
    transition: background-color .2s ease, color .2s ease !important;
}

.main-header .mobile-menu .navigation li:hover > a,
.main-header .mobile-menu .navigation li.current > a,
.mobile-menu .menu-box .navigation > li > a:hover,
.mobile-menu .menu-box .navigation > li > a:focus-visible {
    color: var(--cr-cherry-deep) !important;
    background: var(--cr-beige) !important;
}

.mobile-menu .menu-box .navigation > li > a:focus-visible {
    outline: 3px solid var(--cr-cherry-deep) !important;
    outline-offset: -3px;
}

.mobile-menu .header-contatos li,
.mobile-menu .header-contatos li .icon,
.mobile-menu .header-redes-sociais li a {
    color: var(--cr-cherry-deep) !important;
}
.header-redes-sociais {
    display: flex;
    gap: 10px;
    margin: 10px 0 0 20px;
}

.header-redes-sociais li {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border: 1px solid var(--cr-border);
    border-radius: 50%;
    font-size: 20px;
}

.header-redes-sociais li a,
.header-contatos,
.header-contatos * {
    color: var(--cr-ink) !important;
}

.header-contatos {
    margin: 12px 0 0 20px;
}

/* Public page typography */
.page-title,
.page-title h1,
.page-title h2,
.sec-title h2,
.home-about-content h2,
.home-blog-title h2,
.event-section-heading h2,
.previous-editions-heading h2,
.home-contact-intro h2,
.footer-two_title {
    font-family: var(--cr-font) !important;
    font-weight: 700 !important;
    letter-spacing: -.02em !important;
    line-height: 1.18 !important;
}

.home-about-kicker,
.event-section-heading .eyebrow,
.page-title .bread-crumb,
.news-block_three-meta,
.home-service-kicker {
    font-family: var(--cr-font) !important;
    font-weight: 600 !important;
    letter-spacing: .06em !important;
}
.about-page-subtitle,
.previous-editions-heading > span,
.editions-hero span,
.blog-card__date,
.edition-card__link,
.edition-button,
.edition-aside > a {
    font-weight: 600 !important;
}

.edition-card h2,
.edition-card h3,
.about-page-content h1,
.about-page-content h2,
.about-page-content h3,
.about-page-content h4,
.about-page-content h5,
.about-page-content h6 {
    font-weight: 600 !important;
}

.home-about-content p,
.home-service-content p,
.event-section-heading p,
.home-contact-intro p,
.contact-info p,
.contact-info li,
.news-block_three-text,
.footer-two_text,
.footer-two_list li a {
    font-family: var(--cr-font) !important;
    font-size: clamp(.96rem, .25vw + .92rem, 1.05rem) !important;
    font-weight: 400 !important;
    line-height: 1.68 !important;
}

.contact-info blockquote {
    font-family: var(--cr-font) !important;
    font-weight: 400;
    line-height: 1.7;
}

.contact-info a {
    color: var(--cr-cherry-deep) !important;
    font-weight: 600;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}

body .contact-info,
body .contact-info :where(div, p, span, a, li, strong, b, em, i, small, blockquote, cite, table, thead, tbody, tfoot, tr, th, td, h1, h2, h3, h4, h5, h6) {
    font-family: var(--cr-font) !important;
}

/* Brand alignment for page-level styles rendered after the main stylesheet. */
body .about-page-hero,
body .editions-hero {
    background-color: var(--cr-cherry) !important;
    background-image: none;

    background-size: 18px 18px !important;
}

body .about-page-hero h1,
body .editions-hero h1 {
    color: var(--cr-white) !important;
    font-size: clamp(2.5rem, 4.5vw, 3.5rem) !important;
    font-weight: 700 !important;
    letter-spacing: -.03em !important;
}

body .editions-hero--detail h1 {
    font-size: clamp(2.15rem, 3.5vw, 2.875rem) !important;
}

body .about-page-subtitle,
body .editions-hero span,
body .editions-hero p {
    color: var(--cr-white) !important;
}

body .about-page-content-section {
    background: linear-gradient(180deg, var(--cr-white) 0%, rgba(245, 225, 225, .56) 100%) !important;
}

body .about-page-main {
    background: var(--cr-white) !important;
    border-color: var(--cr-border) !important;
    box-shadow: 0 18px 42px rgba(151, 37, 57, .1) !important;
}

body .about-page-content {
    color: var(--cr-ink) !important;
}

body .about-page-content h1,
body .about-page-content h2,
body .about-page-content h3,
body .about-page-content h4,
body .about-page-content h5,
body .about-page-content h6,
body .about-page-location h2 {
    color: var(--cr-cherry) !important;
}

body .florevida-blog-card .news-block_three-meta li,
body .florevida-blog-card .news-block_three-more,
body .blog-card__date {
    color: var(--cr-cherry) !important;
    font-weight: 600 !important;
}

body .florevida-blog-card .news-block_three-heading,
body .edition-card h2,
body .edition-card h3,
body .edition-aside h2,
body .edition-aside > a,
body .edition-detail__content h2,
body .edition-detail__content h3 {
    color: var(--cr-ink) !important;
    font-weight: 600 !important;
}

body .edition-card__link,
body .edition-aside small {
    color: var(--cr-cherry) !important;
}

body .event-section-heading h2 {
    font-size: clamp(2.15rem, 4vw, 3.25rem) !important;
}

body .event-participation__content h2 {
    font-size: clamp(2.35rem, 4.5vw, 3.5rem) !important;
}

body .previous-editions-heading h2,
body .home-blog-title h2,
body .home-contact-intro h2 {
    font-size: clamp(2rem, 3.75vw, 3rem) !important;
}
@media (max-width: 1180px) and (min-width: 768px) {
    .main-header.fixed-header .sticky-header .inner-container {
        grid-template-columns: minmax(150px, .8fr) auto minmax(150px, .8fr) !important;
        padding: 0 12px !important;
    }

    .main-header.fixed-header .sticky-header .logo img {
        height: 82px !important;
        max-width: 148px !important;
    }

    .main-header.fixed-header .sticky-header .main-menu .navigation > li > a {
        padding: 8px 8px !important;
        font-size: 12px !important;
    }

    .main-header.fixed-header .header-whatsapp-cta {
        padding: 0 15px !important;
    }
}

@media (max-width: 767px) {
    body.hidden-bar-wrapper {
        padding-top: 88px;
    }

    .main-header.fixed-header .sticky-header,
    .main-header.fixed-header .sticky-header .inner-container,
    .main-header.fixed-header .sticky-header .logo {
        min-height: 88px !important;
    }

    .main-header.fixed-header .sticky-header .inner-container {
        display: flex !important;
        justify-content: space-between;
        padding: 0 16px !important;
    }

    .main-header.fixed-header .sticky-header .logo img {
        width: auto !important;
        height: 74px !important;
        max-width: min(140px, calc(100vw - 104px)) !important;
        max-height: 74px !important;
    }

    .main-header.fixed-header .sticky-header .right-box,
    .main-header.fixed-header .header-cta-wrap {
        display: none !important;
    }

    .main-header.fixed-header .sticky-header .outer-box {
        display: flex !important;
        align-items: center;
    }

    h1 { font-size: clamp(2rem, 9vw, 2.5rem); }
    h2 { font-size: clamp(1.65rem, 7vw, 2.1rem); }
    h3 { font-size: clamp(1.25rem, 5vw, 1.55rem); }
}

@media (prefers-reduced-motion: reduce) {
    .main-header.fixed-header *,
    .main-header.fixed-header *::before,
    .main-header.fixed-header *::after {
        transition-duration: .01ms !important;
    }
}

/* Header final: same pink component language as the Home �Sobre o Evento� CTA. */
.main-header.fixed-header .sticky-header,
.main-header.fixed-header .sticky-header::before,
.main-header.fixed-header .sticky-header::after {
    background: #fff !important;
    background-image: none !important;
}
.main-header.fixed-header .sticky-header {
    border-bottom: 1px solid #EDB0B7 !important;
    box-shadow: 0 8px 24px rgba(214, 68, 90, .10) !important;
}
.main-header.fixed-header .sticky-header::after { content: none !important; }
.main-header.fixed-header .sticky-header .logo { display: flex !important; }
.main-header.fixed-header .sticky-header .logo a { background: transparent !important; box-shadow: none !important; }
.main-header.fixed-header .sticky-header .main-menu .navigation > li > a {
    color: #D6445A !important;
    background: transparent !important;
}
.main-header.fixed-header .sticky-header .main-menu .navigation > li > a:hover,
.main-header.fixed-header .sticky-header .main-menu .navigation > li > a:focus-visible {
    color: #D6445A !important;
    background: #F5E1E1 !important;
}
.main-header.fixed-header .header-whatsapp-cta,
.mobile-header-cta-wrap .header-whatsapp-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    padding: 0 22px !important;
    border: 2px solid #D6445A !important;
    border-radius: 999px !important;
    background: #D6445A !important;
    color: #fff !important;
    font-weight: 800 !important;
    box-shadow: 0 12px 24px rgba(214, 68, 90, .24) !important;
}
.main-header.fixed-header .header-whatsapp-cta:hover,
.main-header.fixed-header .header-whatsapp-cta:focus-visible,
.mobile-header-cta-wrap .header-whatsapp-cta:hover,
.mobile-header-cta-wrap .header-whatsapp-cta:focus-visible {
    background: #E07986 !important;
    border-color: #E07986 !important;
    color: #fff !important;
}
.main-header.fixed-header .mobile-nav-toggler,
.main-header.fixed-header .mobile-nav-toggler .icon {
    color: #D6445A !important;
    border-color: #EDB0B7 !important;
    background: #fff !important;
}
.mobile-header-cta-wrap { padding: 22px 20px 0; }
.mobile-header-cta-wrap .header-whatsapp-cta { width: 100%; }

/* Header CTA/menu share the exact token and component rules used by Home > Sobre o Evento. */
:root { --cr-home-about-title: #D6445A; }
.home-about-content h2 { color: var(--cr-home-about-title) !important; }
.main-header.fixed-header .sticky-header .main-menu .navigation > li > a,
.main-header.fixed-header .sticky-header .main-menu .navigation > li > a:link,
.main-header.fixed-header .sticky-header .main-menu .navigation > li > a:visited,
.main-header .mobile-menu .navigation li > a,
.mobile-menu .menu-box .navigation > li > a {
    color: var(--cr-home-about-title) !important;
    -webkit-text-fill-color: var(--cr-home-about-title) !important;
}
.main-header.fixed-header .sticky-header .main-menu .navigation > li > a:hover,
.main-header.fixed-header .sticky-header .main-menu .navigation > li > a:focus,
.main-header.fixed-header .sticky-header .main-menu .navigation > li > a:focus-visible,
.main-header.fixed-header .sticky-header .main-menu .navigation > li.current > a,
.main-header .mobile-menu .navigation li:hover > a,
.main-header .mobile-menu .navigation li.current > a,
.mobile-menu .menu-box .navigation > li > a:hover,
.mobile-menu .menu-box .navigation > li > a:focus-visible {
    color: var(--cr-home-about-title) !important;
    -webkit-text-fill-color: var(--cr-home-about-title) !important;
    background: #F5E1E1 !important;
    border-color: transparent !important;
    box-shadow: none !important;
}
.main-header.fixed-header .header-whatsapp-cta,
.main-header.fixed-header .header-whatsapp-cta:link,
.main-header.fixed-header .header-whatsapp-cta:visited,
.mobile-header-cta-wrap .header-whatsapp-cta {
    min-width: 214px;
    min-height: 52px !important;
    padding: 0 22px !important;
    gap: 13px;
    border: 2px solid #D6445A !important;
    border-radius: 999px !important;
    background: #D6445A !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    font-family: var(--cr-font) !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    box-shadow: 0 12px 24px rgba(214, 68, 90, .24) !important;
    transform: none;
    transition: background-color .2s ease, color .2s ease, transform .2s ease, box-shadow .2s ease !important;
}
.main-header.fixed-header .header-whatsapp-cta:hover,
.main-header.fixed-header .header-whatsapp-cta:focus,
.main-header.fixed-header .header-whatsapp-cta:focus-visible,
.main-header.fixed-header .header-whatsapp-cta:active,
.mobile-header-cta-wrap .header-whatsapp-cta:hover,
.mobile-header-cta-wrap .header-whatsapp-cta:focus-visible {
    background: #E07986 !important;
    border-color: #E07986 !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    box-shadow: 0 16px 28px rgba(214, 68, 90, .3) !important;
    transform: translateY(-2px) !important;
}

/* CTA must always occupy the right desktop column; mobile keeps it inside the opened drawer. */
.main-header.fixed-header .header-cta-wrap {
    display: flex !important;
    grid-column: 3;
    justify-self: end;
    align-items: center;
    visibility: visible !important;
    opacity: 1 !important;
}
@media (max-width: 767px) {
    .main-header.fixed-header .header-cta-wrap { display: none !important; }
}

/* Header layout: three real columns prevent CTA/menu overlap. */
@media (min-width: 1200px) {
    .main-header.fixed-header .sticky-header .inner-container {
        grid-template-columns: 170px minmax(0, 1fr) 214px !important;
        column-gap: 20px;
    }
    .main-header.fixed-header .sticky-header .right-box,
    .main-header.fixed-header .sticky-header .main-menu {
        width: 100%;
        min-width: 0;
    }
    .main-header.fixed-header .sticky-header .main-menu .navigation {
        width: 100%;
        justify-content: flex-end;
        flex-wrap: nowrap;
    }
    .main-header.fixed-header .sticky-header .main-menu .navigation > li {
        flex: 0 0 auto;
    }
    .main-header.fixed-header .header-cta-wrap {
        width: 214px;
        justify-content: flex-end;
    }
    .main-header.fixed-header .header-whatsapp-cta { width: 214px; }
}

/* Below desktop, use the drawer instead of squeezing navigation into the CTA column. */
@media (max-width: 1199px) {
    .main-header.fixed-header .sticky-header .inner-container {
        display: flex !important;
        justify-content: space-between;
        min-height: 88px !important;
        padding: 0 16px !important;
    }
    .main-header.fixed-header .sticky-header .right-box,
    .main-header.fixed-header .header-cta-wrap { display: none !important; }
    .main-header.fixed-header .sticky-header .outer-box {
        display: flex !important;
        align-items: center;
        margin-left: auto;
    }
    .main-header.fixed-header .sticky-header .logo { min-height: 88px !important; }
    .main-header.fixed-header .sticky-header .logo img {
        height: 74px !important;
        max-width: min(166px, calc(100vw - 104px)) !important;
    }
}

/* Self-contained CSS hamburger: no dependency on a legacy icon font. */
.main-header.fixed-header .mobile-nav-toggler {
    display: inline-grid !important;
    place-items: center;
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    min-height: 48px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 1px solid #EDB0B7 !important;
    border-radius: 12px !important;
    background: #fff !important;
}
.main-header.fixed-header .header-menu-icon {
    display: grid;
    width: 22px;
    gap: 4px;
}
.main-header.fixed-header .header-menu-icon span {
    display: block;
    width: 22px;
    height: 2px;
    border-radius: 999px;
    background: #D6445A;
}

/* Balanced desktop rhythm: logo, navigation and CTA each keep a protected area. */
@media (min-width: 1200px) and (max-width: 1399px) {
    .main-header.fixed-header .sticky-header .inner-container {
        grid-template-columns: 160px minmax(0, 1fr) 204px !important;
        column-gap: 14px;
    }
    .main-header.fixed-header .sticky-header .logo img { max-width: 156px !important; }
    .main-header.fixed-header .sticky-header .main-menu .navigation { gap: 0; }
    .main-header.fixed-header .sticky-header .main-menu .navigation > li > a {
        padding-right: 8px !important;
        padding-left: 8px !important;
        font-size: 12px !important;
    }
    .main-header.fixed-header .header-cta-wrap,
    .main-header.fixed-header .header-whatsapp-cta { width: 204px; min-width: 204px; }
}

/* Structural breakpoint: never compress a full nav into insufficient horizontal space. */
@media (min-width: 1440px) {
    .main-header.fixed-header .sticky-header .inner-container {
        display: grid !important;
        grid-template-columns: 180px minmax(0, 1fr) 214px !important;
        column-gap: 24px;
        flex-wrap: nowrap !important;
    }
    .main-header.fixed-header .sticky-header .logo {
        grid-column: 1;
        width: 180px;
        min-width: 180px;
        overflow: hidden;
    }
    .main-header.fixed-header .sticky-header .logo img {
        width: 100% !important;
        height: auto !important;
        max-width: 166px !important;
        max-height: 82px !important;
        object-fit: contain;
        object-position: left center;
    }
    .main-header.fixed-header .sticky-header .right-box {
        grid-column: 2;
        overflow: hidden;
    }
    .main-header.fixed-header .sticky-header .main-menu .navigation {
        justify-content: center;
        gap: 2px;
    }
    .main-header.fixed-header .header-cta-wrap {
        grid-column: 3;
        width: 214px;
        min-width: 214px;
        justify-content: flex-end;
    }
    .main-header.fixed-header .sticky-header .outer-box { display: none !important; }
}
@media (min-width: 768px) and (max-width: 1439px) {
    .main-header.fixed-header .sticky-header .inner-container {
        display: flex !important;
        justify-content: space-between;
        align-items: center;
        flex-wrap: nowrap !important;
        min-height: 88px !important;
        padding: 0 24px !important;
    }
    .main-header.fixed-header .sticky-header .logo {
        display: flex !important;
        min-height: 88px !important;
        flex: 0 0 auto;
    }
    .main-header.fixed-header .sticky-header .logo img {
        height: 74px !important;
        max-width: 166px !important;
    }
    .main-header.fixed-header .sticky-header .right-box,
    .main-header.fixed-header .header-cta-wrap { display: none !important; }
    .main-header.fixed-header .sticky-header .outer-box {
        display: flex !important;
        align-items: center;
        margin-left: auto;
    }
}

/* The Header uses the viewport, not the site's content max-width. */
.main-header.fixed-header .sticky-header > .auto-container {
    width: 100% !important;
    max-width: none !important;
    padding-inline: clamp(16px, 2.5vw, 48px) !important;
}

/* Desktop: three protected areas without clipping or shrink. */
@media (min-width: 1200px) {
    .main-header.fixed-header .sticky-header .inner-container {
        display: grid !important;
        grid-template-columns: minmax(150px, 180px) minmax(0, 1fr) max-content !important;
        column-gap: clamp(12px, 1.5vw, 28px);
        width: 100%;
        min-width: 0;
        padding: 0 !important;
        overflow: visible !important;
        flex-wrap: nowrap !important;
    }
    .main-header.fixed-header .sticky-header .logo {
        grid-column: 1;
        width: auto;
        min-width: 0;
        overflow: visible !important;
    }
    .main-header.fixed-header .sticky-header .logo img {
        width: auto !important;
        height: 82px !important;
        max-width: 166px !important;
        max-height: 82px !important;
        object-fit: contain;
        object-position: left center;
    }
    .main-header.fixed-header .sticky-header .right-box {
        grid-column: 2;
        display: block !important;
        width: 100%;
        min-width: 0;
        overflow: visible !important;
    }
    .main-header.fixed-header .sticky-header .main-menu,
    .main-header.fixed-header .sticky-header .main-menu .navigation {
        width: 100%;
        min-width: 0;
    }
    .main-header.fixed-header .sticky-header .main-menu .navigation {
        justify-content: center;
        flex-wrap: nowrap;
        gap: clamp(0px, .2vw, 3px);
        overflow: visible !important;
    }
    .main-header.fixed-header .sticky-header .main-menu .navigation > li,
    .main-header.fixed-header .sticky-header .main-menu .navigation > li > a {
        flex: 0 0 auto;
        margin-inline: 0 !important;
        white-space: nowrap;
    }
    .main-header.fixed-header .header-cta-wrap {
        grid-column: 3;
        display: flex !important;
        width: auto;
        min-width: 214px;
        flex: 0 0 auto;
        justify-content: flex-end;
        overflow: visible !important;
    }
    .main-header.fixed-header .header-whatsapp-cta {
        width: 214px;
        min-width: 214px;
        flex: 0 0 auto;
    }
    .main-header.fixed-header .sticky-header .outer-box { display: none !important; }
}

/* Keep the complete desktop menu inside its center track at the narrow edge. */
@media (min-width: 1200px) and (max-width: 1279px) {
    .main-header.fixed-header .sticky-header .main-menu .navigation > li > a {
        padding-right: 7px !important;
        padding-left: 7px !important;
    }
}

@media (max-width: 767px) {
    .main-header.fixed-header .sticky-header .inner-container { padding-right: 0px !important; padding-left: 0px !important; }
}


@media (min-width: 768px) and (max-width: 1199px) {
    .main-header.fixed-header .sticky-header .inner-container {
        display: flex !important;
        justify-content: space-between;
        padding: 0 !important;
        overflow: visible !important;
    }
    .main-header.fixed-header .sticky-header .right-box,
