/* Identidade oficial Mulher + Comércio 2026 */
:root {
    --mc-orange: #f29100;
    --mc-yellow: #f6be00;
    --mc-pink: #f91567;
    --mc-coral: #fc4629;
    --mc-cyan: #4eb0fa;
    --mc-blue: #4f7afb;
    --mc-navy: #0130a4;
    --mc-black: #080808;
    --mc-paper: #f2f3f4;
    --mc-cream: #fff8ee;
    --mc-line: #e1ddd5;
    --mc-muted: #696969;
    --font-scale: "Scale VF", "Scale", "Arial Black", "Gotham", Arial, sans-serif;
    --font-hatch: "Hatch Sans", "Gotham", "Montserrat", "DM Sans", Arial, sans-serif;
    --font-gotham: "Gotham", "Hatch Sans", "Montserrat", "DM Sans", Arial, sans-serif;
    --black: var(--mc-black);
    --black-2: #141414;
    --orange: var(--mc-orange);
    --orange-2: var(--mc-coral);
    --pink: var(--mc-pink);
    --yellow: var(--mc-yellow);
    --brand-blue: var(--mc-navy);
    --paper: #ffffff;
    --off: var(--mc-paper);
    --line: var(--mc-line);
    --text: var(--mc-black);
    --muted: var(--mc-muted);
}

body {
    background: #fff;
    color: var(--mc-black);
    font-family: var(--font-gotham);
    letter-spacing: -.012em;
}

.event-nav,
.button,
.header-cta,
.header-schedule-cta,
.section-label,
.hero-kicker,
.footer-label,
.footer-action,
.line-button,
.chat-fab,
.chat-options button,
.countdown p,
.countdown span {
    font-family: var(--font-gotham);
}

.about-copy h2,
.section-heading h2,
.showcase-copy h2,
.speaker-intro h2,
.location-showcase h2,
.faq-heading h2,
.schedule-hero-copy h1,
.schedule-day h3,
.schedule-final-cta h2,
.footer-card-intro h2,
.final-cta h2 {
    font-family: var(--font-hatch);
    letter-spacing: -.045em;
}

.number-grid strong,
.countdown strong,
.speaker-feature-copy h3,
.timeline-item h4,
.footer-info-row strong {
    font-family: var(--font-gotham);
}

.hero-event-logo {
    filter: drop-shadow(0 20px 38px rgba(1, 48, 164, .08)) !important;
}

.hero-kicker,
.section-label,
.footer-label,
.footer-info-row span,
.schedule-slide span,
.speaker-slide span,
.speaker-feature-copy span {
    color: var(--mc-orange) !important;
}

.button.orange,
.header-cta {
    background: var(--mc-orange) !important;
    color: #fff !important;
}

.button.orange:hover,
.header-cta:hover,
.footer-action:hover {
    background: var(--mc-coral) !important;
}

.header-schedule-cta {
    border-color: rgba(242, 145, 0, .85) !important;
    background: rgba(242, 145, 0, .12) !important;
}

.header-schedule-cta:hover,
.header-schedule-cta[aria-current=page] {
    color: var(--mc-orange) !important;
}

.event-header {
    border-bottom-color: rgba(242, 145, 0, .28) !important;
}

.event-header.scrolled {
    border-color: rgba(249, 21, 103, .28) !important;
}

.event-hero {
    background: var(--mc-paper) !important;
}

.hero-background {
    background-image: linear-gradient(90deg, rgba(242, 243, 244, .96) 0%, rgba(242, 243, 244, .84) 36%, rgba(242, 243, 244, .24) 62%, rgba(242, 243, 244, 0) 100%), var(--hero-desktop, url("../images/official/hero-desktop.webp")) !important;
}

.countdown,
.final-cta {
    background: linear-gradient(90deg, var(--mc-black), var(--mc-orange) 42%, var(--mc-coral) 68%, var(--mc-pink)) !important;
}

.spaces-section,
.location-showcase {
    background: var(--mc-paper) !important;
}

.experience-grid article,
.content-card,
.info-section article,
.venue-card,
.speaker-feature-card,
.schedule-summary-card,
.timeline-item {
    border-color: rgba(1, 48, 164, .1) !important;
}

.experience-grid article,
.content-card,
.info-section article {
    background: linear-gradient(135deg, #fff, var(--mc-cream)) !important;
}

.experience-grid article > span,
.number-icon,
.content-icon,
.map-placeholder span,
.faq-list summary::after {
    color: var(--mc-orange) !important;
}

.experience-grid article > span {
    border-color: var(--mc-orange) !important;
}

.faq-list summary::after {
    background: var(--mc-orange) !important;
    color: #fff !important;
}

.schedule-showcase,
.schedule-page-hero {
    background: radial-gradient(circle at 16% 20%, rgba(249, 21, 103, .18), transparent 32%), linear-gradient(135deg, var(--mc-black), #111 48%, var(--mc-navy)) !important;
}

.schedule-slide {
    border-color: rgba(242, 145, 0, .36) !important;
    background: radial-gradient(circle at 88% 18%, rgba(249, 21, 103, .24), transparent 32%), linear-gradient(135deg, #121212, var(--mc-navy)) !important;
}

.speaker-feature-photo {
    background: linear-gradient(135deg, var(--mc-orange), var(--mc-pink) 58%, var(--mc-navy)) !important;
}

.carousel-dots button.active,
.speaker-carousel .carousel-dots button.active {
    background: var(--mc-orange) !important;
}

.map-frame {
    box-shadow: 0 24px 80px rgba(1, 48, 164, .12) !important;
}

.chat-fab {
    background: #5d2eea !important;
}

.chat-fab:hover {
    background: #4420b9 !important;
}

.brand-footer {
    background: linear-gradient(180deg, #fff8ee 0%, var(--mc-paper) 52%, #fff 100%) !important;
}

.brand-footer::before {
    background: linear-gradient(90deg, var(--mc-black), var(--mc-orange) 24%, var(--mc-yellow) 46%, var(--mc-pink) 66%, var(--mc-blue) 82%, var(--mc-navy)) !important;
}

.footer-brand-group {
    background: linear-gradient(180deg, #fff, #fff9ef) !important;
    border-color: rgba(242, 145, 0, .18) !important;
}

.footer-action {
    background: var(--mc-black) !important;
}

/* Reforços finais da identidade nas seções que ainda vinham do layout antigo */
.speakers-showcase {
    background: radial-gradient(circle at 12% 18%, rgba(249, 21, 103, .16), transparent 30%), linear-gradient(135deg, var(--mc-paper) 0%, #ffffff 58%, #fff8ee 100%) !important;
    color: var(--mc-black) !important;
}

.speakers-showcase::before {
    background: linear-gradient(120deg, rgba(242, 145, 0, .14), transparent 34%), repeating-linear-gradient(90deg, rgba(1, 48, 164, .045) 0 1px, transparent 1px 120px) !important;
}

.speaker-intro h2 {
    color: var(--mc-pink) !important;
}

.speaker-intro > p:not(.section-label) {
    color: var(--mc-muted) !important;
}

.speaker-stats span {
    background: #fff !important;
    border-color: rgba(1, 48, 164, .12) !important;
    box-shadow: 0 18px 46px rgba(1, 48, 164, .08);
}

.speaker-stats strong {
    color: var(--mc-orange) !important;
}

.speaker-stats small {
    color: var(--mc-muted) !important;
}

.speaker-feature-card {
    background: #fff !important;
    border-color: rgba(249, 21, 103, .18) !important;
    box-shadow: 0 28px 80px rgba(1, 48, 164, .12) !important;
}

.speaker-feature-card:nth-child(2n) .speaker-feature-photo {
    background: linear-gradient(135deg, var(--mc-cyan), var(--mc-blue) 58%, var(--mc-navy)) !important;
}

.speaker-feature-card:nth-child(3n) .speaker-feature-photo {
    background: linear-gradient(135deg, var(--mc-yellow), var(--mc-orange) 48%, var(--mc-pink)) !important;
}

.speaker-feature-copy h3 {
    color: var(--mc-black) !important;
}

.speaker-feature-copy p {
    color: var(--mc-muted) !important;
}

.speaker-feature-copy a {
    border-color: rgba(242, 145, 0, .28) !important;
    color: var(--mc-black) !important;
    background: #fff8ee !important;
}

.speaker-feature-copy a:hover {
    background: var(--mc-orange) !important;
    border-color: var(--mc-orange) !important;
    color: #fff !important;
}

.speaker-carousel .carousel-dots button {
    background: rgba(1, 48, 164, .18) !important;
}

.venue-visual {
    background: linear-gradient(135deg, var(--mc-black), var(--mc-navy)) !important;
}

.venue-visual::before,
.venue-visual::after {
    border-color: var(--mc-orange) !important;
}

.venue-2 .venue-visual {
    background: linear-gradient(135deg, var(--mc-orange), var(--mc-pink)) !important;
}

.venue-3 .venue-visual {
    background: linear-gradient(135deg, var(--mc-yellow), var(--mc-orange), var(--mc-coral)) !important;
}

.venue-4 .venue-visual {
    background: linear-gradient(135deg, var(--mc-cyan), var(--mc-blue), var(--mc-navy)) !important;
}

.venue-5 .venue-visual {
    background: linear-gradient(135deg, var(--mc-coral), var(--mc-pink), var(--mc-navy)) !important;
}

.venue-card h3,
.experience-grid h3,
.schedule-intro h2 {
    font-family: var(--font-hatch);
}

.number-grid article,
.venue-card,
.schedule-intro article {
    border-color: rgba(1, 48, 164, .1) !important;
}

.line-button {
    border-color: var(--mc-orange) !important;
    color: var(--mc-orange) !important;
}

.line-button:hover {
    background: var(--mc-orange) !important;
    color: #fff !important;
}

.button.light {
    color: var(--mc-orange) !important;
}

.schedule-page {
    background: #fff !important;
}

.schedule-summary-card {
    border-color: rgba(242, 145, 0, .36) !important;
    background: rgba(255, 255, 255, .1) !important;
}

.schedule-summary-card span,
.schedule-day-heading span,
.timeline-item time {
    color: var(--mc-orange) !important;
}

.schedule-intro span,
.timeline-item::before {
    background: var(--mc-orange) !important;
}

.schedule-day-heading p {
    color: var(--mc-muted);
    font-size: 13px;
    line-height: 1.6;
    margin: 12px 0 0;
}

.timeline-item time strong,
.timeline-item time em {
    display: block;
    font-style: normal;
}

.timeline-item time em {
    margin-top: 4px;
    color: var(--mc-muted);
    font-size: 16px;
}

.timeline-item small {
    border-color: rgba(242, 145, 0, .28) !important;
    color: var(--mc-orange) !important;
}

.chat-panel header {
    position: relative;
    overflow: hidden;
    background: linear-gradient(135deg, var(--mc-black), var(--mc-navy)) !important;
}

.chat-panel header::after {
    content: "";
    position: absolute;
    inset: auto -42px -74px auto;
    width: 160px;
    height: 160px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(246, 190, 0, .42), rgba(249, 21, 103, .16) 48%, transparent 70%);
    pointer-events: none;
}

.chat-panel header strong,
.chat-panel header button {
    position: relative;
    z-index: 1;
}

.chat-fab-icon {
    color: var(--mc-orange) !important;
}

.chat-message.user {
    background: var(--mc-orange) !important;
}

.chat-options button:hover {
    border-color: var(--mc-orange) !important;
    color: var(--mc-orange) !important;
}

.guided-chat {
    z-index: 140 !important;
    filter: drop-shadow(0 22px 44px rgba(1, 48, 164, .2));
}

.chat-fab {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    min-height: 62px;
    border: 2px solid rgba(255, 255, 255, .72) !important;
    background: linear-gradient(135deg, var(--mc-navy), #5d2eea 52%, var(--mc-pink)) !important;
    box-shadow: 0 22px 54px rgba(93, 46, 234, .46), 0 0 0 0 rgba(93, 46, 234, .34), inset 0 1px 0 rgba(255, 255, 255, .38) !important;
    transform: translateY(0);
    animation: chatPulse 2.6s ease-in-out infinite;
    transition: transform .22s ease, box-shadow .22s ease, background .22s ease !important;
}

.chat-fab::before {
    content: "";
    position: absolute;
    inset: -40% auto -40% -70%;
    width: 56%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .72), transparent);
    transform: rotate(18deg);
    animation: chatShine 3.7s ease-in-out infinite;
    z-index: -1;
}

.chat-fab::after {
    content: "";
    position: absolute;
    inset: -9px;
    border: 2px solid rgba(93, 46, 234, .36);
    border-radius: inherit;
    animation: chatHalo 2.6s ease-in-out infinite;
    pointer-events: none;
    z-index: -2;
}

.chat-fab:hover {
    background: linear-gradient(135deg, #011f72, #4420b9 56%, var(--mc-pink)) !important;
    box-shadow: 0 28px 68px rgba(93, 46, 234, .5), 0 0 0 9px rgba(93, 46, 234, .13), inset 0 1px 0 rgba(255, 255, 255, .42) !important;
    transform: translateY(-4px) scale(1.03);
}

.chat-fab-icon {
    box-shadow: inset 0 0 0 1px rgba(93, 46, 234, .18), 0 10px 24px rgba(8, 8, 8, .16);
    animation: chatIconPop 2.6s ease-in-out infinite;
}

.chat-panel {
    border: 1px solid rgba(242, 145, 0, .22) !important;
    border-radius: 22px !important;
    box-shadow: 0 30px 90px rgba(1, 48, 164, .2), 0 18px 60px rgba(8, 8, 8, .16) !important;
    transform: translateY(16px) scale(.96) !important;
    transform-origin: right bottom;
    transition: opacity .28s ease, transform .32s cubic-bezier(.2, 1, .2, 1) !important;
}

.guided-chat.is-open .chat-panel {
    transform: translateY(0) scale(1) !important;
}

.chat-messages {
    background: radial-gradient(circle at 0 0, rgba(249, 21, 103, .08), transparent 32%), linear-gradient(180deg, #fffaf5, #fff) !important;
}

.chat-message.bot {
    border-color: rgba(1, 48, 164, .1) !important;
    box-shadow: 0 12px 28px rgba(1, 48, 164, .07);
}

.chat-message a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    width: fit-content;
    max-width: 100%;
    margin-top: 10px;
    padding: 9px 12px;
    border-radius: 999px;
    background: linear-gradient(135deg, var(--mc-orange), var(--mc-coral));
    color: #fff !important;
    font-weight: 800;
    text-decoration: none;
    box-shadow: 0 12px 24px rgba(242, 145, 0, .2);
}

.chat-message a::after {
    content: "↗";
    font-size: 12px;
}

.chat-message a:hover {
    background: linear-gradient(135deg, var(--mc-coral), var(--mc-pink));
    transform: translateY(-1px);
}

.chat-options button {
    border-radius: 14px !important;
    background: linear-gradient(135deg, #fff, var(--mc-cream)) !important;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, color .18s ease !important;
}

.chat-options button:hover {
    box-shadow: 0 14px 30px rgba(242, 145, 0, .14);
    transform: translateY(-2px);
}

@keyframes chatPulse {
    0%,
    100% {
        box-shadow: 0 22px 54px rgba(93, 46, 234, .46), 0 0 0 0 rgba(93, 46, 234, .28), inset 0 1px 0 rgba(255, 255, 255, .38);
    }

    50% {
        box-shadow: 0 28px 68px rgba(93, 46, 234, .58), 0 0 0 13px rgba(93, 46, 234, 0), inset 0 1px 0 rgba(255, 255, 255, .44);
    }
}

@keyframes chatHalo {
    0%,
    100% {
        opacity: .7;
        transform: scale(.98);
    }

    50% {
        opacity: .08;
        transform: scale(1.14);
    }
}

@keyframes chatIconPop {
    0%,
    100% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.08);
    }
}

@keyframes chatShine {
    0%,
    58% {
        left: -75%;
    }

    78%,
    100% {
        left: 118%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .chat-fab,
    .chat-fab::before,
    .chat-fab::after,
    .chat-fab-icon {
        animation: none;
    }
}

.coming-soon-board {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
}

.coming-soon-board article {
    position: relative;
    overflow: hidden;
    min-height: 230px;
    padding: 28px;
    border: 1px solid rgba(1, 48, 164, .1);
    border-radius: 22px;
    background: linear-gradient(135deg, #fff, #fff8ee);
    box-shadow: 0 24px 70px rgba(1, 48, 164, .08);
}

.coming-soon-board article::after {
    content: "";
    position: absolute;
    right: -46px;
    bottom: -52px;
    width: 160px;
    height: 160px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--mc-orange), var(--mc-pink));
    opacity: .14;
}

.coming-soon-board span {
    display: inline-grid;
    place-items: center;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: var(--mc-orange);
    color: #fff;
    font-weight: 900;
}

.coming-soon-board strong {
    display: block;
    margin-top: 28px;
    font-family: var(--font-hatch);
    font-size: 30px;
    line-height: 1;
}

.coming-soon-board p {
    color: var(--mc-muted);
    line-height: 1.65;
    margin: 14px 0 0;
}

@media (max-width: 760px) {
    .hero-background {
        background-image: linear-gradient(180deg, rgba(242, 243, 244, .98) 0%, rgba(242, 243, 244, .84) 35%, rgba(242, 243, 244, .22) 62%, rgba(242, 243, 244, 0) 100%), var(--hero-mobile, var(--hero-desktop, url("../images/official/hero-mobile.webp"))) !important;
    }

    .coming-soon-board {
        grid-template-columns: 1fr;
    }
}

.memories-showcase {
    position: relative;
    overflow: hidden;
    padding: 92px 0;
    background:
        radial-gradient(circle at 10% 20%, rgba(249, 21, 103, .12), transparent 28%),
        radial-gradient(circle at 90% 8%, rgba(78, 176, 250, .14), transparent 30%),
        linear-gradient(180deg, #fff 0%, #fff8ed 48%, #f2f3f4 100%);
    scroll-margin-top: 110px;
}

.memories-showcase::before {
    content: "";
    position: absolute;
    inset: auto -140px -180px auto;
    width: 440px;
    height: 440px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--mc-orange), var(--mc-pink));
    opacity: .13;
    pointer-events: none;
}

.memories-heading {
    position: relative;
    z-index: 1;
}

.memories-heading h2 span {
    color: var(--mc-orange);
}

.memories-grid,
.memory-carousel {
    position: relative;
    z-index: 1;
    margin-top: 34px;
}

.memory-carousel {
    overflow: hidden;
    border-radius: 30px;
    box-shadow: 0 30px 100px rgba(8, 8, 8, .12);
}

.memory-carousel .carousel-track {
    display: flex;
    gap: 0;
    transition: transform .75s cubic-bezier(.22, 1, .36, 1);
    will-change: transform;
}

.memory-slide {
    min-width: 100%;
    display: grid;
    grid-template-columns: 1.35fr .65fr;
    min-height: 520px;
    overflow: hidden;
    border: 1px solid rgba(1, 48, 164, .1);
    background: rgba(255, 255, 255, .88);
}

.memory-media {
    position: relative;
    display: grid;
    place-items: center;
    min-height: 245px;
    background:
        linear-gradient(135deg, rgba(1, 48, 164, .88), rgba(249, 21, 103, .74)),
        linear-gradient(135deg, var(--mc-orange), var(--mc-yellow));
    color: #fff;
}

.memory-media::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(8, 8, 8, .08), rgba(8, 8, 8, .28));
    pointer-events: none;
    opacity: 0;
    transition: opacity .22s ease;
}

.memory-media:has(.memory-video)::after {
    opacity: 1;
}

.memory-media img,
.memory-media video {
    width: 100%;
    height: 100%;
    min-height: 520px;
    object-fit: cover;
}

.memory-video {
    position: relative;
    z-index: 1;
}

.memory-play {
    position: absolute;
    z-index: 3;
    left: 50%;
    top: 50%;
    display: grid;
    place-items: center;
    width: clamp(86px, 10vw, 128px);
    height: clamp(86px, 10vw, 128px);
    border: 2px solid rgba(255, 255, 255, .72);
    border-radius: 50%;
    background: linear-gradient(135deg, rgba(1, 48, 164, .92), rgba(93, 46, 234, .92) 52%, rgba(249, 21, 103, .9));
    color: #fff;
    cursor: pointer;
    box-shadow: 0 28px 70px rgba(8, 8, 8, .28), 0 0 0 12px rgba(255, 255, 255, .12);
    transform: translate(-50%, -50%);
    transition: transform .2s ease, opacity .2s ease, box-shadow .2s ease;
}

.memory-play span {
    display: block;
    margin-left: 6px;
    font-size: clamp(34px, 4vw, 52px);
    line-height: 1;
}

.memory-play:hover {
    box-shadow: 0 34px 86px rgba(8, 8, 8, .32), 0 0 0 16px rgba(255, 255, 255, .14);
    transform: translate(-50%, -50%) scale(1.05);
}

.memory-slide.is-playing .memory-play {
    opacity: 0;
    pointer-events: none;
    transform: translate(-50%, -50%) scale(.92);
}

.memory-media > span {
    display: grid;
    place-items: center;
    width: 74px;
    height: 74px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .18);
    border: 1px solid rgba(255, 255, 255, .28);
    font-size: 30px;
    font-weight: 900;
}

.memory-video-link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 14px 18px;
    border-radius: 999px;
    background: #fff;
    color: var(--mc-black);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.memory-copy {
    display: flex;
    justify-content: center;
    flex-direction: column;
    padding: clamp(28px, 4vw, 54px);
    background:
        radial-gradient(circle at 100% 0, rgba(249, 21, 103, .1), transparent 34%),
        linear-gradient(180deg, #fff, #fff8ed);
}

.memory-copy small {
    display: inline-flex;
    margin-bottom: 12px;
    color: var(--mc-orange);
    font-size: 10px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .14em;
}

.memory-copy h3 {
    margin: 0;
    font-size: clamp(30px, 4vw, 54px);
    line-height: .98;
    letter-spacing: -.04em;
}

.memory-copy p {
    margin: 18px 0 0;
    color: var(--mc-muted);
    font-size: 16px;
    line-height: 1.75;
}

.memory-carousel .carousel-dots {
    position: absolute;
    left: 50%;
    bottom: 22px;
    transform: translateX(-50%);
    z-index: 3;
    margin: 0;
    padding: 9px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .78);
    box-shadow: 0 16px 36px rgba(8, 8, 8, .12);
    backdrop-filter: blur(12px);
}

.memory-carousel .carousel-dots button {
    width: 34px;
    height: 5px;
    background: rgba(8, 8, 8, .18);
}

.memory-carousel .carousel-dots button.active {
    background: linear-gradient(90deg, var(--mc-orange), var(--mc-pink));
}

.memory-arrow {
    position: absolute;
    z-index: 4;
    top: 50%;
    display: grid;
    place-items: center;
    width: 54px;
    height: 54px;
    border: 1px solid rgba(255, 255, 255, .68);
    border-radius: 50%;
    background: rgba(8, 8, 8, .48);
    color: #fff;
    font-size: 42px;
    line-height: 1;
    cursor: pointer;
    box-shadow: 0 18px 44px rgba(8, 8, 8, .2);
    backdrop-filter: blur(12px);
    transform: translateY(-50%);
    transition: transform .18s ease, background .18s ease, box-shadow .18s ease;
}

.memory-arrow:hover {
    background: linear-gradient(135deg, var(--mc-navy), #5d2eea 56%, var(--mc-pink));
    box-shadow: 0 24px 58px rgba(93, 46, 234, .28);
    transform: translateY(-50%) scale(1.06);
}

.memory-arrow--prev {
    left: 18px;
}

.memory-arrow--next {
    right: 18px;
}

.footer-brand-card--grouped {
    display: block !important;
    padding: 28px !important;
}

.footer-brand-groups--grouped {
    display: grid !important;
    grid-template-columns: .72fr 1.28fr !important;
    gap: 18px !important;
}

.footer-brand-group--realizacao {
    background: linear-gradient(135deg, #fff, #f4f7ff) !important;
    border-color: rgba(1, 48, 164, .14) !important;
}

.footer-brand-group--correalizacao {
    background: linear-gradient(135deg, #fff, #f7fbff) !important;
}

.footer-brand-group .official-brand-row .brand-fecomercio-large {
    max-width: 230px !important;
    max-height: 88px !important;
}

.footer-brand-group--realizacao .official-brand-row {
    justify-content: flex-start;
}

.venue-grid {
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 18px !important;
}

.venue-card {
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 18px 54px rgba(1, 48, 164, .06);
    cursor: pointer;
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.venue-card:hover,
.venue-card:focus-visible {
    border-color: rgba(242, 145, 0, .36) !important;
    box-shadow: 0 28px 80px rgba(1, 48, 164, .12);
    outline: 0;
    transform: translateY(-5px);
}

.venue-card p {
    font-size: 11px !important;
}

.venue-open-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 14px;
    padding: 9px 12px;
    border: 1px solid rgba(242, 145, 0, .36);
    border-radius: 999px;
    background: #fff;
    color: var(--mc-orange);
    cursor: pointer;
    font-family: var(--font-gotham);
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.venue-open-button::after {
    content: "↗";
    margin-left: 8px;
}

.space-modal-open {
    overflow: hidden;
}

.space-modal {
    position: fixed;
    inset: 0;
    z-index: 220;
    display: grid;
    place-items: center;
    padding: 24px;
    opacity: 0;
    pointer-events: none;
    transition: opacity .25s ease;
}

.space-modal.is-open {
    opacity: 1;
    pointer-events: auto;
}

.space-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(8, 8, 8, .68);
    backdrop-filter: blur(12px);
}

.space-modal-card {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 1.1fr .9fr;
    width: min(980px, calc(100vw - 36px));
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .26);
    border-radius: 30px;
    background: #fff;
    box-shadow: 0 40px 120px rgba(0, 0, 0, .34);
    transform: translateY(18px) scale(.96);
    transition: transform .28s cubic-bezier(.2, 1, .2, 1);
}

.space-modal.is-open .space-modal-card {
    transform: translateY(0) scale(1);
}

.space-modal-close {
    position: absolute;
    z-index: 3;
    top: 18px;
    right: 18px;
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border: 0;
    border-radius: 50%;
    background: rgba(8, 8, 8, .78);
    color: #fff;
    cursor: pointer;
    font-size: 28px;
    line-height: 1;
}

.space-modal-visual .venue-visual {
    height: 100%;
    min-height: 480px;
    border-radius: 0;
}

.space-modal-visual .venue-visual span {
    left: 34px;
    bottom: 28px;
    font-size: clamp(72px, 9vw, 128px);
    line-height: .8;
    opacity: .92;
}

.space-modal-copy {
    display: flex;
    justify-content: center;
    flex-direction: column;
    padding: clamp(32px, 5vw, 62px);
    background:
        radial-gradient(circle at 100% 0, rgba(249, 21, 103, .1), transparent 34%),
        linear-gradient(180deg, #fff, #fff8ed);
}

.space-modal-copy h2 {
    margin: 12px 0 18px;
    font-family: var(--font-hatch);
    font-size: clamp(36px, 5vw, 72px);
    line-height: .95;
    letter-spacing: -.05em;
}

.space-modal-copy p:last-child {
    margin: 0;
    color: var(--mc-muted);
    font-size: 17px;
    line-height: 1.75;
}

@media (max-width: 980px) {
    .memory-slide {
        grid-template-columns: 1fr;
        min-height: auto;
    }

    .memory-media,
    .memory-media img,
    .memory-media video {
        min-height: 420px;
    }

    .footer-brand-groups--grouped {
        grid-template-columns: 1fr !important;
    }

    .venue-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }

    .space-modal-card {
        grid-template-columns: 1fr;
        max-height: calc(100vh - 36px);
        overflow: auto;
    }

    .space-modal-visual .venue-visual {
        min-height: 280px;
    }
}

@media (max-width: 760px) {
    :root {
        --mc-countdown-height: 108px;
    }

    .hero-background {
        background-position: 112% top !important;
    }

    .event-hero {
        height: calc(100svh - 190px) !important;
        min-height: 510px !important;
    }

    .hero-content.site-container {
        width: min(226px, calc(100% - 28px)) !important;
        max-width: none !important;
        margin-inline: 14px auto !important;
        padding-top: 28px !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        transform: none !important;
        text-align: left !important;
    }

    .hero-kicker {
        max-width: 210px !important;
        font-size: 8px !important;
        line-height: 1.35 !important;
        letter-spacing: .16em !important;
    }

    .hero-event-logo {
        width: min(210px, 58vw) !important;
        margin: 10px 0 12px !important;
    }

    .hero-info {
        gap: 6px !important;
        max-width: 220px !important;
        font-size: 11px !important;
        line-height: 1.35 !important;
    }

    .hero-actions {
        gap: 8px !important;
        max-width: 214px !important;
        margin-top: 16px !important;
    }

    .hero-actions .button {
        min-height: 38px !important;
        padding: 10px 12px !important;
        font-size: 8px !important;
        letter-spacing: .02em !important;
    }

    .countdown {
        height: var(--mc-countdown-height) !important;
        min-height: var(--mc-countdown-height) !important;
        padding: 8px 8px !important;
    }

    .countdown > p {
        margin-bottom: 6px !important;
        font-size: 9px !important;
    }

    .countdown > div {
        min-width: 72px !important;
    }

    .countdown strong {
        font-size: 24px !important;
    }

    .guided-chat {
        right: 14px !important;
        bottom: 124px !important;
    }

    .chat-fab {
        min-height: 50px !important;
        padding: 8px 14px 8px 8px !important;
        font-size: 12px !important;
    }

    .chat-fab-icon {
        width: 32px !important;
        height: 32px !important;
        font-size: 18px !important;
    }

    .memories-showcase {
        padding: 64px 0;
    }

    .venue-grid {
        grid-template-columns: 1fr !important;
    }

    .space-modal {
        padding: 14px;
    }

    .space-modal-card {
        border-radius: 22px;
    }

    .space-modal-copy {
        padding: 28px 22px;
    }

    .space-modal-copy p:last-child {
        font-size: 14px;
    }
}

@media (max-width: 560px) {
    .hero-background {
        background-position: 118% top !important;
    }

    .event-hero {
        height: calc(100svh - 210px) !important;
        min-height: 500px !important;
    }

    .hero-content.site-container {
        width: min(196px, calc(100% - 22px)) !important;
        max-width: none !important;
        margin-inline: 11px auto !important;
        padding-top: 24px !important;
        padding-left: 0 !important;
        transform: none !important;
        text-align: left !important;
    }

    .hero-event-logo {
        width: 188px !important;
        margin: 8px 0 10px !important;
    }

    .hero-info {
        max-width: 206px !important;
        font-size: 10px !important;
    }

    .hero-actions {
        flex-direction: column !important;
        align-items: flex-start !important;
        max-width: 186px !important;
        margin-top: 13px !important;
    }

    .hero-actions .button {
        width: 100% !important;
        min-height: 34px !important;
        padding: 9px 10px !important;
    }

    .countdown > div {
        min-width: 62px !important;
    }

    .countdown strong {
        font-size: 21px !important;
    }

    .chat-fab {
        min-height: 44px !important;
        padding-right: 12px !important;
        font-size: 11px !important;
    }

    .chat-fab-icon {
        width: 30px !important;
        height: 30px !important;
        font-size: 17px !important;
    }

    .memory-media,
    .memory-media img,
    .memory-media video {
        min-height: 300px;
    }

    .memory-copy {
        padding: 24px 22px 58px;
    }

    .memory-copy h3 {
        font-size: 30px;
    }

    .memory-arrow {
        width: 42px;
        height: 42px;
        font-size: 32px;
    }

    .memory-arrow--prev {
        left: 10px;
    }

    .memory-arrow--next {
        right: 10px;
    }

    .footer-brand-group .official-brand-row .brand-fecomercio-large {
        max-width: 180px !important;
        max-height: 76px !important;
    }
}
