/* ============================================================
   LINK 360 — Gustavo Balbi · Moda Masculina · OTO
   Paleta: dourado/ouro, carvão, offwhite premium
   ============================================================ */

/* PageSpeed fix: classe para travar scroll em modais sem forced reflow */
body.no-scroll { overflow: hidden; }

/* ─── TOKENS DE MARCA ─── */
:root {
    --gold:     #D4AF37;
    --gold-dark:#b8860b;
    --charcoal: #1A1714;
    --bg:       #F7F4EE;
    --dark:     #1A1714;
    --muted:    #7A7268;
    --card:     #FFFFFF;
    --ease:     cubic-bezier(0.16,1,0.3,1);
}

/* ─── DARK MODE ─── */
body.dark {
    --bg:   #1A1714;
    --dark: #F7F4EE;
    --muted:#A89E90;
    --card: #242018;
}

/* ─── RESET ─── */
*, *::before, *::after { box-sizing: border-box; -webkit-tap-highlight-color: transparent; }
img { -webkit-user-drag: none; user-select: none; }
html { scroll-behavior: smooth; }
body {
    background: var(--bg);
    color: var(--dark);
    font-family: 'DM Sans', sans-serif;
    overflow-x: hidden;
    user-select: none;
    transition: background .5s var(--ease), color .5s var(--ease);
}
::-webkit-scrollbar { width: 3px; }
::-webkit-scrollbar-track { background: var(--bg); }
::-webkit-scrollbar-thumb { background: var(--gold); border-radius: 10px; }

/* ─── THEME BTN ─── */
#theme-btn {
    position: fixed; top: .9rem; right: .9rem; z-index: 1100;
    width: 38px; height: 38px; border-radius: 12px;
    background: var(--card); border: 1px solid rgba(212,175,55,.25);
    display: flex; align-items: center; justify-content: center;
    cursor: pointer; box-shadow: 0 4px 16px rgba(26,23,20,.1);
    transition: all .4s var(--ease); color: var(--gold); font-size: .9rem;
}
#theme-btn:hover { border-color: var(--gold); transform: rotate(15deg) scale(1.08); }
body.dark #theme-btn { background: #242018; border-color: rgba(212,175,55,.3); }
.hidden-btn { opacity: 0 !important; pointer-events: none !important; transform: translateY(-10px) !important; }

/* ─── MUSIC BTN ─── */
#music-btn {
    position: fixed; top: 3.4rem; right: .9rem; z-index: 1100;
    width: 38px; height: 38px; border-radius: 12px;
    background: var(--card); border: 1px solid rgba(212,175,55,.25);
    display: flex; align-items: center; justify-content: center;
    cursor: pointer; box-shadow: 0 4px 16px rgba(26,23,20,.1);
    transition: all .4s var(--ease); color: var(--gold); font-size: .85rem;
}
#music-btn:hover { border-color: var(--gold); transform: scale(1.08); }
body.dark #music-btn { background: #242018; border-color: rgba(212,175,55,.3); }
#music-btn.playing { animation: pulse-music 2.5s infinite var(--ease); border-color: var(--gold); }
@keyframes pulse-music {
    0%, 100% { box-shadow: 0 4px 16px rgba(26,23,20,.1); }
    50%       { box-shadow: 0 4px 20px rgba(212,175,55,.45); }
}

/* ─── HERO ─── */
.hero {
    position: relative; min-height: 100svh;
    display: flex; flex-direction: column; justify-content: flex-end; overflow: hidden;
}
.hero::after {
    content: ''; position: absolute; inset: 0; z-index: 1;
    transition: background .5s var(--ease);
}
body:not(.dark) .hero::after {
    background: linear-gradient(to bottom,
        rgba(0,0,0,0) 0%,
        rgba(0,0,0,.30) 50%,
        rgba(0,0,0,.6) 78%,
        var(--bg) 100%
    );
}
body.dark .hero::after {
    background: linear-gradient(to bottom, rgba(26,23,20,0) 0%, rgba(26,23,20,.2) 35%, rgba(26,23,20,.78) 68%, var(--bg) 100%);
}
.hero-bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center top; z-index: 0; }
.hero-content { position: relative; z-index: 2; }

/* h1 — sempre branco sobre o overlay escuro */
.hero-content h1 { color: #fff !important; text-shadow: 0 2px 20px rgba(0,0,0,.5) !important; }

/* Segunda linha da hero — modelo minimalista editorial */
.hero-pill-row {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .35rem;
    margin-bottom: 1.2rem;
}

.hero-divider-line {
    width: 40px;
    height: 2px;
    background: var(--gold);
    opacity: .6;
    border-radius: 2px;
}

.hero-pill-tag {
    font-family: 'Cormorant Garamond', serif;
    font-weight: 500;
    font-style: italic;
    font-size: clamp(.95rem, 4vw, 1.15rem);
    letter-spacing: .04em;
    color: rgba(255,255,255,.92);
    text-shadow: 0 2px 12px rgba(0,0,0,.4);
    text-transform: none;
}
.hero-pill-sub {
    font-family: 'Cormorant Garamond', serif;
    font-weight: 400;
    font-style: italic;
    font-size: clamp(.8rem, 3.5vw, 1rem);
    letter-spacing: .06em;
    color: rgba(255,255,255,.75);
    text-shadow: 0 2px 10px rgba(0,0,0,.35);
    text-transform: none;
    margin-top: .15rem;
}

/* Citação premium */
.hero-quote {
    font-family: 'Cormorant Garamond', serif;
    font-weight: 500;
    font-style: italic;
    font-size: clamp(1.35rem, 6vw, 1.75rem);
    line-height: 1.25;
    color: #fff;
    text-shadow: 0 2px 16px rgba(0,0,0,.55);
    margin-bottom: 0;
    letter-spacing: .02em;
}

/* Scroll indicator — sempre visível sobre o overlay */
.hero-scroll-cta { opacity: .75; }
.hero-scroll-label {
    font-size: .5rem; text-transform: uppercase; letter-spacing: .3em;
    font-weight: 700; color: #fff; text-shadow: 0 1px 8px rgba(0,0,0,.5);
    margin-bottom: .25rem; display: block;
}
body:not(.dark) .hero-scroll-label { color: #444; text-shadow: none; }

.hero-scroll-icon { font-size: .8rem; color: #fff; text-shadow: 0 1px 8px rgba(0,0,0,.5); display: block; }
body:not(.dark) .hero-scroll-icon { color: #444; text-shadow: none; }

.font-title { font-family: 'Playfair Display', serif; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; }

/* ─── PILL ─── */
.pill {
    display: inline-flex; align-items: center; gap: .4rem;
    background: rgba(212,175,55,.15); border: 1px solid rgba(212,175,55,.4);
    border-radius: 999px; padding: .28rem .8rem;
    font-size: .6rem; font-weight: 700; text-transform: uppercase; letter-spacing: .15em;
    color: var(--gold); backdrop-filter: blur(6px);
}

/* ─── LINK CARD ─── */
.link-card {
    display: flex; align-items: center; gap: 1rem;
    background: var(--card); border-radius: 1.5rem; padding: 1.8rem 1.25rem;
    border: 1px solid rgba(212,175,55,.12); box-shadow: 0 2px 12px rgba(26,23,20,.06);
    transition: all .35s var(--ease); text-decoration: none; color: var(--dark);
    position: relative; overflow: hidden; cursor: pointer;
}
.link-card:hover { transform: translateY(-3px); box-shadow: 0 8px 28px rgba(212,175,55,.22); border-color: var(--gold); }
.link-card:active { transform: scale(.98); }
body.dark .link-card { background: #242018; border-color: rgba(212,175,55,.15); }

.lc-icon { width: 40px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; font-size: 1.85rem; color: var(--gold); }
.lc-label { font-size: .58rem; font-weight: 700; text-transform: uppercase; letter-spacing: .18em; color: var(--muted); margin-bottom: 2px; }
.lc-title { font-family: 'Bebas Neue', sans-serif; font-size: 1.45rem; line-height: 1; color: var(--dark); }
body.dark .lc-title { color: var(--dark); }
.lc-arrow { margin-left: auto; color: var(--gold); font-size: .72rem; opacity: .55; transition: all .3s var(--ease); }
.link-card:hover .lc-arrow { opacity: 1; transform: translateX(3px); }

/* ─── LINK IMAGEM CARD ─── */
.link-img-card {
    display: block;
    position: relative;
    border-radius: 1.5rem;
    overflow: hidden;
    border: 1px solid rgba(212,175,55,.15);
    box-shadow: 0 2px 12px rgba(26,23,20,.08);
    transition: all .35s var(--ease);
    text-decoration: none;
    cursor: pointer;
}
.link-img-card img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
    transition: transform .5s var(--ease);
    user-select: none;
    -webkit-user-drag: none;
}
.link-img-card:hover { transform: translateY(-3px); box-shadow: 0 10px 30px rgba(212,175,55,.25); border-color: var(--gold); }
.link-img-card:hover img { transform: scale(1.02); }
.link-img-card:active { transform: scale(.98); }
.lic-arrow {
    position: absolute;
    bottom: .8rem; right: .8rem;
    width: 34px; height: 34px;
    border-radius: 50%;
    background: rgba(26,23,20,.55);
    backdrop-filter: blur(8px);
    border: 1px solid rgba(212,175,55,.4);
    display: flex; align-items: center; justify-content: center;
    color: var(--gold); font-size: .75rem;
    transition: all .3s var(--ease);
    pointer-events: none;
}
.link-img-card:hover .lic-arrow { background: var(--gold); color: #1a1714; transform: scale(1.1); }

/* ─── CARD PREMIUM ─── */
.card-premium {
    background: linear-gradient(135deg, #D4AF37 0%, #b8860b 60%, #8B6914 100%) !important;
    border: none !important; box-shadow: 0 10px 30px rgba(184,134,11,.3) !important;
}
.card-premium:hover { transform: translateY(-4px) !important; box-shadow: 0 14px 40px rgba(184,134,11,.5) !important; }
body.dark .card-premium { filter: brightness(.92); }
.card-premium .lc-icon i { color: #fff !important; }
.card-premium .lc-title { color: #fff !important; text-shadow: 0 1px 4px rgba(0,0,0,.18); }
.card-premium .lc-label { color: rgba(255,255,255,.7) !important; }
.card-premium .lc-arrow { color: rgba(255,255,255,.7) !important; opacity: 1 !important; }
.card-premium:hover .lc-arrow { color: #fff !important; transform: translateX(3px); }
.card-premium::before {
    content: ''; position: absolute; inset: 0; border-radius: inherit;
    background: linear-gradient(135deg, rgba(255,255,255,.14) 0%, transparent 55%); pointer-events: none;
}

/* ─── SEÇÃO ─── */
.eyebrow { font-size: .6rem; font-weight: 700; letter-spacing: .25em; text-transform: uppercase; color: var(--gold); margin-bottom: .35rem; display: block; }
.sec-title { font-family: 'Bebas Neue', sans-serif; font-size: clamp(2.2rem,8vw,3rem); line-height: .92; color: var(--dark); margin-bottom: .65rem; }
.sec-line { width: 36px; height: 2px; background: linear-gradient(90deg, var(--gold), var(--gold-dark)); border-radius: 2px; margin-bottom: .7rem; }
.sec-sub { font-size: .77rem; color: var(--muted); line-height: 1.65; max-width: 300px; }

/* ─── REVEAL ─── */
.reveal { opacity: 0; transform: translateY(20px); transition: all .75s var(--ease); }
.reveal.on { opacity: 1; transform: translateY(0); }

/* ─── STAT CARD ─── */
.stat-card {
    background: rgba(212,175,55,.07); border: 1px solid rgba(212,175,55,.18);
    border-radius: 1.2rem; padding: 1.15rem; text-align: center; transition: all .3s var(--ease);
    animation: statCardFloat 4s ease-in-out infinite;
}
.stat-card:nth-child(2) { animation-delay: .5s; }
.stat-card:nth-child(3) { animation-delay: 1s; }
.stat-card:nth-child(4) { animation-delay: 1.5s; }
@keyframes statCardFloat {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-6px); }
}
.stat-card:hover {
    border-color: var(--gold);
    background: rgba(212,175,55,.15);
    animation-play-state: paused;
    transform: translateY(-4px) scale(1.02);
}
body:not(.dark) .stat-card {
    background: transparent;
    border: 1.5px solid rgba(212,175,55,.3);
}
body:not(.dark) .stat-card:hover {
    background: rgba(212,175,55,.08);
    border-color: rgba(212,175,55,.5);
}
body.dark .stat-card { background: rgba(212,175,55,.05); }
.stat-card-text { color: var(--dark); }

/* ─── CARROSSEL 3D ─── */
.c3d-wrap { perspective: 1200px; width: 100%; height: 600px; display: flex; align-items: center; justify-content: center; position: relative; overflow: visible; }
.c3d-item {
    position: absolute; width: 290px; aspect-ratio: 9/16;
    border-radius: 1.5rem; overflow: hidden; transition: all .6s cubic-bezier(.23,1,.32,1);
    cursor: pointer; background: #000; will-change: transform, opacity;
}
/* Vídeo central: player ativo, sem borda adicional */
.c3d-item.active {
    z-index: 30;
    transform: translate3d(0,0,0) scale(1);
    opacity: 1;
    filter: none;
    box-shadow: 0 20px 50px rgba(26,23,20,.4);
    border: none;
}
/* Vídeos laterais: mais escuros e desfocados = ficam "ao fundo" */
.c3d-item.right { z-index: 20; transform: translate3d(130px,0,-180px) rotateY(-18deg) scale(0.78); opacity: 0.5; filter: blur(1.5px) brightness(0.6); }
.c3d-item.left  { z-index: 20; transform: translate3d(-130px,0,-180px) rotateY(18deg) scale(0.78); opacity: 0.5; filter: blur(1.5px) brightness(0.6); }
.c3d-item video { width: 100%; height: 100%; object-fit: cover; }
.c3d-overlay { display: none; }
/* Indicador de play/pause sobre o video central */
.c3d-item.active::after {
    display: none; /* removido — botão de som já indica estado */
}

@media(max-width:480px){
    .c3d-wrap { height: 540px; }
    .c3d-item { width: 250px; }
    .c3d-item.right { transform: translate3d(105px,0,-140px) rotateY(-14deg) scale(0.75); opacity: 0.5; filter: blur(1px) brightness(0.6); }
    .c3d-item.left  { transform: translate3d(-105px,0,-140px) rotateY(14deg) scale(0.75); opacity: 0.5; filter: blur(1px) brightness(0.6); }
}
@media(max-width:360px){
    .c3d-wrap { height: 490px; }
    .c3d-item { width: 215px; }
    .c3d-item.right { transform: translate3d(88px,0,-110px) rotateY(-11deg) scale(0.7); opacity: 0.5; filter: blur(1px) brightness(0.6); }
    .c3d-item.left  { transform: translate3d(-88px,0,-110px) rotateY(11deg) scale(0.7); opacity: 0.5; filter: blur(1px) brightness(0.6); }
}
.v-dot { width:22px; height:4px; border-radius:99px; background:rgba(212,175,55,.25); transition:all .3s var(--ease); cursor:pointer; border:none; padding:0; }
.v-dot.on { background:var(--gold); width:32px; }

/* Galeria de miniaturas carrossel 3D */
.vgal-nav {
    display: flex; align-items: center; gap: .5rem;
    margin-top: 1rem; padding: 0 .25rem;
}
.vgal-arrow {
    flex-shrink: 0; width: 32px; height: 32px; border-radius: 50%;
    background: rgba(212,175,55,.1); border: 1px solid rgba(212,175,55,.25);
    display: flex; align-items: center; justify-content: center;
    color: var(--gold); font-size: .65rem; cursor: pointer;
    transition: all .3s var(--ease);
}
.vgal-arrow:hover { background: rgba(212,175,55,.25); border-color: var(--gold); transform: scale(1.08); }
.vgal-arrow:active { transform: scale(.95); }

.vgal-wrap {
    flex: 1;
    display: grid; grid-template-columns: repeat(3, 1fr);
    gap: .6rem;
}
.vgal-item {
    position: relative; aspect-ratio: 9/16;
    border-radius: 1rem; overflow: hidden; cursor: pointer;
    border: 2px solid transparent;
    box-shadow: 0 4px 16px rgba(26,23,20,.3);
    transition: all .3s var(--ease);
}
.vgal-item:hover { transform: translateY(-3px); border-color: rgba(212,175,55,.5); }
.vgal-item.active { border-color: var(--gold); box-shadow: 0 6px 20px rgba(212,175,55,.35); }
.vgal-video { width: 100%; height: 100%; object-fit: cover; object-position: center top; display: block; }
.vgal-overlay {
    position: absolute; inset: 0;
    background: rgba(26,23,20,.45); /* escuro — thumbnails pausados */
    transition: opacity .3s;
    pointer-events: none;
    /* Ícone de play centralizado via gradiente visual */
    display: flex; align-items: center; justify-content: center;
}
/* Ícone de play nos thumbnails pausados — círculo dourado com triângulo */
.vgal-overlay::before {
    content: '';
    position: absolute;
    width: 32px; height: 32px;
    background: rgba(212,175,55,.85);
    border-radius: 50%;
    transition: transform .3s var(--ease), background .3s;
}
.vgal-overlay::after {
    content: '';
    position: absolute;
    width: 0; height: 0;
    border-style: solid;
    border-width: 6px 0 6px 12px;
    border-color: transparent transparent transparent #1a1714;
    margin-left: 2px;
    transition: transform .3s var(--ease);
}
.vgal-item:hover .vgal-overlay::before { transform: scale(1.12); background: var(--gold); }
.vgal-item:hover .vgal-overlay::after  { transform: scale(1.12); }
/* item ativo: remove overlay escuro e icone de play */
.vgal-item.active .vgal-overlay { background: rgba(212,175,55,.08); }
.vgal-item.active .vgal-overlay::before,
.vgal-item.active .vgal-overlay::after { display: none; }

/* Botão som carrossel 3D */
.c3d-sound-btn {
    position: absolute; top: .5rem; right: .5rem; z-index: 20;
    width: 20px; height: 20px; border-radius: 50%;
    background: rgba(0,0,0,.3); border: none;
    display: flex; align-items: center; justify-content: center;
    color: rgba(255,255,255,.3); font-size: .44rem;
    cursor: pointer; transition: all .25s ease;
    opacity: 0;
}
.c3d-item.active .c3d-sound-btn { opacity: 1; }
.c3d-sound-btn:hover { color: rgba(255,255,255,.7); background: rgba(0,0,0,.5); }
.c3d-sound-btn.on { color: rgba(255,255,255,.85); background: rgba(0,0,0,.45); }

/* ─── PRODUTOS ─── */
.prod-card {
    background: var(--card); border-radius: 1.5rem; overflow: hidden;
    border: 1px solid rgba(212,175,55,.12); cursor: pointer;
    transition: all .35s var(--ease); box-shadow: 0 2px 12px rgba(26,23,20,.06);
}
.prod-card:hover { transform: translateY(-4px); box-shadow: 0 12px 32px rgba(212,175,55,.2); border-color: var(--gold); }
body.dark .prod-card { background: #242018; border-color: rgba(212,175,55,.15); }
.prod-card-img { position: relative; aspect-ratio: 3/4; overflow: hidden; }
.prod-card-img img { width: 100%; height: 100%; object-fit: cover; object-position: top; transition: transform .7s var(--ease); }
.prod-card:hover .prod-card-img img { transform: scale(1.07); }
.prod-card-badge {
    position: absolute; top: .6rem; left: .6rem; z-index: 5;
    background: var(--charcoal); color: #fff;
    font-size: .52rem; font-weight: 700; text-transform: uppercase; letter-spacing: .1em;
    padding: .25rem .6rem; border-radius: 999px;
}
.prod-card-badge-fire { background: linear-gradient(135deg, #D4AF37, #b8860b); color: #1a1714; }
.prod-card-body { padding: .85rem; }
.prod-card-label { font-size: .55rem; font-weight: 700; text-transform: uppercase; letter-spacing: .18em; color: var(--muted); margin-bottom: .15rem; }
.prod-card-title { font-family: 'Bebas Neue', sans-serif; font-size: 1.25rem; line-height: 1; color: var(--dark); margin-bottom: .5rem; }
.prod-card-btn {
    font-size: .55rem; font-weight: 700; text-transform: uppercase; letter-spacing: .12em;
    color: var(--gold); display: flex; align-items: center; gap: .35rem; background: none; border: none; cursor: pointer; padding: 0;
}

/* ─── ECOSSISTEMA ─── */

/* Hero card — Balbi Curso */
.eco-hero-card {
    border-radius: 1.75rem; overflow: hidden; cursor: pointer;
    box-shadow: 0 6px 28px rgba(26,23,20,.16);
    border: 1px solid rgba(212,175,55,.2);
    transition: transform .35s var(--ease), box-shadow .35s var(--ease);
    margin-bottom: 0;
}
.eco-hero-card:hover { transform: translateY(-5px); box-shadow: 0 18px 44px rgba(212,175,55,.3); }
.eco-hero-img { position: relative; width: 100%; aspect-ratio: 16/8; overflow: hidden; background: #1a1714; }
.eco-hero-img img { width: 100%; height: 100%; object-fit: cover; object-position: center 30%; transition: transform .8s var(--ease); }
.eco-hero-card:hover .eco-hero-img img { transform: scale(1.05); }
.eco-hero-gradient {
    position: absolute; inset: 0;
    background: linear-gradient(160deg, rgba(10,8,6,.05) 0%, rgba(10,8,6,.5) 55%, rgba(10,8,6,.93) 100%);
}
.eco-hero-content {
    position: absolute; inset: 0; display: flex; flex-direction: column;
    justify-content: flex-end; padding: 1.1rem 1.2rem 1.15rem;
}
.eco-hero-tag {
    display: inline-flex; align-items: center; gap: .35rem; align-self: flex-start;
    font-size: .48rem; font-weight: 700; text-transform: uppercase; letter-spacing: .2em;
    background: var(--gold); color: #1a1714; padding: .22rem .7rem; border-radius: 999px;
    margin-bottom: .5rem;
}
.eco-hero-name {
    font-family: 'Bebas Neue', sans-serif; font-size: 2.2rem; line-height: .95;
    color: #fff; letter-spacing: .05em; margin-bottom: .3rem;
}
.eco-hero-quote {
    font-family: 'Playfair Display', serif; font-style: italic;
    font-size: .62rem; color: rgba(212,175,55,.8); line-height: 1.4; margin-bottom: .75rem;
}
.eco-hero-foot { display: flex; align-items: center; justify-content: space-between; gap: .5rem; }
.eco-hero-pills { display: flex; gap: .35rem; flex-wrap: wrap; }
.eco-hero-pills span {
    font-size: .44rem; font-weight: 700; text-transform: uppercase; letter-spacing: .12em;
    color: rgba(255,255,255,.65); border: 1px solid rgba(255,255,255,.2);
    padding: .18rem .5rem; border-radius: 999px;
}
.eco-hero-btn {
    display: inline-flex; align-items: center; gap: .4rem; flex-shrink: 0;
    font-size: .5rem; font-weight: 700; text-transform: uppercase; letter-spacing: .14em;
    color: #1a1714; background: var(--gold); border-radius: 999px;
    padding: .45rem 1rem; transition: opacity .2s;
}
.eco-hero-card:hover .eco-hero-btn { opacity: .88; }

/* Label de seção */
.eco-section-label {
    font-size: .52rem; font-weight: 700; text-transform: uppercase; letter-spacing: .22em;
    color: var(--muted); margin-bottom: .75rem; padding-left: .05rem;
    display: flex; align-items: center; gap: .5rem;
}
.eco-section-label::after {
    content: ''; flex: 1; height: 1px; background: rgba(212,175,55,.15);
}

/* Grade 2 colunas */
.eco-grid { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; }

/* Card de ebook */
.eco-card {
    display: flex; flex-direction: column; cursor: pointer;
    background: var(--card); border-radius: 1.25rem; overflow: hidden;
    border: 1px solid rgba(212,175,55,.1);
    transition: transform .3s var(--ease), box-shadow .3s var(--ease), border-color .3s;
    box-shadow: 0 2px 10px rgba(26,23,20,.07);
}
.eco-card:hover { transform: translateY(-5px); box-shadow: 0 12px 30px rgba(212,175,55,.22); border-color: rgba(212,175,55,.4); }
body.dark .eco-card { background: #242018; border-color: rgba(212,175,55,.14); }

/* Área da imagem — contain completo */
.eco-img-contain {
    width: 100%; aspect-ratio: 4/3; overflow: hidden;
    background: #f5f2ee; display: flex; align-items: center; justify-content: center;
    transition: background .3s;
}
.eco-img-sq { aspect-ratio: 1/1; }
body.dark .eco-img-contain { background: #1e1c18; }
.eco-img-contain img { width: 100%; height: 100%; object-fit: contain; transition: transform .6s var(--ease); }
.eco-card:hover .eco-img-contain img { transform: scale(1.04); }

.eco-body { padding: .7rem .8rem .8rem; display: flex; flex-direction: column; gap: .18rem; }
.eco-label { font-size: .46rem; font-weight: 700; text-transform: uppercase; letter-spacing: .18em; color: var(--muted); }
.eco-label-gold { color: rgba(212,175,55,.8); }
.eco-title { font-family: 'Bebas Neue', sans-serif; font-size: 1rem; line-height: 1.05; color: var(--dark); }
.eco-cta {
    margin-top: .3rem; font-size: .46rem; font-weight: 700; text-transform: uppercase; letter-spacing: .12em;
    color: var(--muted); display: flex; align-items: center; gap: .28rem;
    transition: color .2s;
}
.eco-card:hover .eco-cta { color: var(--gold); }
.eco-cta-gold { color: var(--gold); }
.eco-cta i { font-size: .38rem; }

/* Modal — imagem contain */
.mprod-img-contain-wrap { aspect-ratio: 4/3 !important; }
.mprod-img-contain-wrap img { object-fit: contain !important; object-position: center !important; }

/* ─── OTO CAPA + EDITORIAL ─── */
.oto-cover {
    position: relative; width: 100%; aspect-ratio: 16/9;
    border-radius: 2rem; overflow: hidden; margin-bottom: .75rem;
    box-shadow: 0 16px 50px rgba(26,23,20,.4);
    border: 1px solid rgba(212,175,55,.15);
}
.oto-cover img { width: 100%; height: 100%; object-fit: cover; object-position: center; transition: transform 6s ease; }
.oto-cover:hover img { transform: scale(1.04); }
.oto-cover-overlay {
    position: absolute; inset: 0;
    background: linear-gradient(to top, rgba(26,23,20,.88) 0%, rgba(26,23,20,.3) 55%, transparent 100%);
}
.oto-cover-content {
    position: absolute; inset: 0; padding: 1.5rem;
    display: flex; flex-direction: column; justify-content: flex-end;
}
.oto-cover-eyebrow {
    font-size: .5rem; font-weight: 700; text-transform: uppercase; letter-spacing: .25em;
    color: var(--gold); margin-bottom: .4rem; display: block;
}
.oto-cover-title {
    font-family: 'Cormorant Garamond', serif; font-weight: 600;
    font-size: 1.45rem; line-height: 1.2; color: #fff;
    text-shadow: 0 2px 16px rgba(0,0,0,.4);
}

/* Editorial */
.oto-editorial {
    background: #1a1714; border-radius: 1.75rem;
    padding: 1.5rem; margin-bottom: .75rem;
    border: 1px solid rgba(212,175,55,.12);
    box-shadow: 0 8px 32px rgba(26,23,20,.2);
}
body:not(.dark) .oto-editorial {
    background: transparent;
    border: 1.5px solid rgba(212,175,55,.25);
    box-shadow: none;
}
.oto-editorial-lead {
    font-family: 'Cormorant Garamond', serif; font-size: 1rem;
    font-style: italic; line-height: 1.65;
    color: rgba(247,244,238,.85); margin-bottom: 1rem;
}
body:not(.dark) .oto-editorial-lead { color: var(--dark); }
.oto-editorial-divider {
    width: 32px; height: 1px;
    background: linear-gradient(90deg, var(--gold), transparent);
    margin-bottom: 1rem;
}
.oto-editorial-body {
    font-size: .74rem; line-height: 1.75;
    color: rgba(247,244,238,.55); margin-bottom: .85rem;
}
body:not(.dark) .oto-editorial-body { color: var(--muted); }
.oto-editorial-body:last-of-type { margin-bottom: 1rem; }
.oto-editorial-body strong { color: rgba(247,244,238,.85); font-weight: 700; }
body:not(.dark) .oto-editorial-body strong { color: var(--dark); }
.oto-editorial-body em { color: rgba(212,175,55,.8); font-style: italic; }
body:not(.dark) .oto-editorial-body em { color: var(--gold-dark); }
.oto-editorial-tags {
    display: flex; flex-wrap: wrap; gap: .4rem;
}
.oto-editorial-tags span {
    font-size: .46rem; font-weight: 700; text-transform: uppercase; letter-spacing: .16em;
    color: rgba(212,175,55,.65); border: 1px solid rgba(212,175,55,.2);
    padding: .22rem .65rem; border-radius: 999px;
}
body:not(.dark) .oto-editorial-tags span {
    color: var(--gold-dark);
    border-color: rgba(212,175,55,.35);
}

/* ─── OTO PREMIUM ─── */

/* Hero */
.oto-hero {
    position: relative; width: 100%; aspect-ratio: 9/16;
    border-radius: 2rem; overflow: hidden; margin-bottom: .75rem;
    box-shadow: 0 20px 60px rgba(26,23,20,.5);
    border: 1px solid rgba(212,175,55,.2);
}

/* Slides */
.oto-slide {
    position: absolute; inset: 0;
    opacity: 0; transition: opacity .4s ease;
    pointer-events: none;
}
.oto-slide.active { opacity: 1; pointer-events: auto; }
.oto-slide img,
.oto-slide video {
    width: 100%; height: 100%;
    object-fit: cover; object-position: center top;
}

/* Dots — ocultos */
.oto-hero-dots { display: none; }

.oto-hero-overlay {
    position: absolute; inset: 0;
    background: linear-gradient(to top, rgba(26,23,20,.82) 0%, rgba(26,23,20,.18) 45%, transparent 100%);
}
.oto-hero-content {
    position: absolute; inset: 0; padding: 2rem 1.5rem;
    display: flex; flex-direction: column; align-items: center; justify-content: flex-end;
    text-align: center;
}
.oto-hero-logo {
    font-family: 'Bebas Neue', sans-serif; font-size: 6rem; line-height: .85;
    color: rgba(255,255,255,.12); letter-spacing: .3em;
    margin-bottom: .6rem;
}
.oto-hero-tagline {
    font-family: 'Cormorant Garamond', serif;
    display: flex; flex-direction: column; align-items: center; gap: .25rem;
    margin-bottom: 0;
}
.oto-hero-onetone {
    font-style: italic; font-weight: 600;
    font-size: 1.35rem; color: rgba(247,244,238,.9); line-height: 1;
    letter-spacing: .06em; white-space: nowrap;
}
.oto-hero-tagline-sub {
    font-style: normal; font-size: .75rem;
    color: rgba(247,244,238,.5); line-height: 1.4; white-space: nowrap;
    letter-spacing: .04em;
}

/* Grade 2 produtos */
.oto-prods-wrap { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; margin-bottom: .75rem; }

.oto-prod-card {
    display: flex; flex-direction: column;
    border-radius: 1.5rem; overflow: hidden;
    background: #1a1714; border: 1px solid rgba(212,175,55,.15);
    box-shadow: 0 4px 20px rgba(26,23,20,.25);
    text-decoration: none;
    transition: all .4s var(--ease);
}
body:not(.dark) .oto-prod-card {
    background: transparent;
    border: 1.5px solid rgba(212,175,55,.25);
    box-shadow: none;
}
.oto-prod-card:hover { transform: translateY(-5px); box-shadow: 0 16px 40px rgba(212,175,55,.25); border-color: rgba(212,175,55,.5); }
body:not(.dark) .oto-prod-card:hover {
    box-shadow: 0 8px 24px rgba(212,175,55,.12);
    border-color: rgba(212,175,55,.45);
}

.oto-prod-img {
    position: relative; width: 100%; aspect-ratio: 3/4; overflow: hidden;
}
.oto-prod-img img { width: 100%; height: 100%; object-fit: cover; object-position: center; transition: transform .7s var(--ease); }
.oto-prod-card:hover .oto-prod-img img { transform: scale(1.08); }
.oto-prod-img-overlay {
    position: absolute; inset: 0;
    background: linear-gradient(to top, rgba(26,23,20,.85) 0%, transparent 55%);
}
body:not(.dark) .oto-prod-img-overlay {
    background: linear-gradient(to top, rgba(26,23,20,.5) 0%, transparent 55%);
}
.oto-prod-badge {
    position: absolute; top: .6rem; left: .6rem; z-index: 5;
    font-size: .46rem; font-weight: 700; text-transform: uppercase; letter-spacing: .16em;
    background: var(--gold); color: #1a1714;
    padding: .25rem .65rem; border-radius: 999px;
}

.oto-prod-info { padding: .85rem .9rem 1rem; }
.oto-prod-info-name {
    font-family: 'Bebas Neue', sans-serif; font-size: 1.1rem; line-height: 1;
    color: #F7F4EE; margin-bottom: .2rem;
}
body:not(.dark) .oto-prod-info-name { color: var(--dark); }
.oto-prod-info-desc { font-size: .52rem; color: rgba(212,175,55,.65); text-transform: uppercase; letter-spacing: .12em; margin-bottom: .55rem; }
body:not(.dark) .oto-prod-info-desc { color: var(--gold-dark); }
.oto-prod-info-cta {
    display: inline-flex; align-items: center; gap: .35rem;
    font-size: .52rem; font-weight: 700; text-transform: uppercase; letter-spacing: .14em;
    color: var(--gold); transition: gap .3s var(--ease);
}
body:not(.dark) .oto-prod-info-cta { color: var(--gold-dark); }
.oto-prod-card:hover .oto-prod-info-cta { gap: .6rem; }
.oto-prod-info-cta i { font-size: .44rem; }

/* Kit — full width */
.oto-kit-card {
    display: block; position: relative;
    border-radius: 1.5rem; overflow: hidden;
    border: 1px solid rgba(212,175,55,.3);
    box-shadow: 0 8px 32px rgba(26,23,20,.3);
    text-decoration: none; margin-bottom: 0;
    transition: all .4s var(--ease);
}
.oto-kit-card:hover { transform: translateY(-4px); box-shadow: 0 20px 50px rgba(212,175,55,.3); border-color: var(--gold); }

.oto-kit-img { position: relative; width: 100%; height: 160px; overflow: hidden; }
.oto-kit-img img { width: 100%; height: 100%; object-fit: cover; object-position: center 40%; transition: transform .7s var(--ease); }
.oto-kit-card:hover .oto-kit-img img { transform: scale(1.06); }
.oto-kit-overlay {
    position: absolute; inset: 0;
    background: linear-gradient(90deg, rgba(26,23,20,.92) 0%, rgba(26,23,20,.55) 60%, rgba(26,23,20,.2) 100%);
}

.oto-kit-content {
    position: absolute; inset: 0;
    display: flex; align-items: center; justify-content: space-between;
    padding: 1.1rem 1.25rem;
}
.oto-kit-left { display: flex; flex-direction: column; gap: .3rem; }
.oto-kit-tag {
    display: inline-flex; align-items: center; gap: .35rem; align-self: flex-start;
    font-size: .46rem; font-weight: 700; text-transform: uppercase; letter-spacing: .18em;
    background: linear-gradient(135deg, var(--gold), var(--gold-dark));
    color: #1a1714; padding: .25rem .65rem; border-radius: 999px;
}
.oto-kit-name {
    font-family: 'Bebas Neue', sans-serif; font-size: 1.6rem; line-height: .95;
    color: #fff; letter-spacing: .04em;
}
.oto-kit-sub { font-size: .58rem; color: rgba(247,244,238,.55); }
.oto-kit-right { display: flex; flex-direction: column; align-items: flex-end; gap: .5rem; }
.oto-kit-save {
    font-size: .48rem; font-weight: 700; text-transform: uppercase; letter-spacing: .12em;
    background: rgba(212,175,55,.2); border: 1px solid rgba(212,175,55,.4);
    color: var(--gold); padding: .25rem .65rem; border-radius: 999px;
}
.oto-kit-arrow {
    width: 40px; height: 40px; border-radius: 50%;
    background: var(--gold); color: #1a1714;
    display: flex; align-items: center; justify-content: center;
    font-size: .9rem; box-shadow: 0 4px 16px rgba(212,175,55,.4);
    transition: transform .3s var(--ease);
}
.oto-kit-card:hover .oto-kit-arrow { transform: translateX(4px); }

/* ─── GALERIA SCROLL ─── */
.hide-scrollbar { -ms-overflow-style:none; scrollbar-width:none; }
.hide-scrollbar::-webkit-scrollbar { display:none; }
@keyframes scrollReverse { 0% { transform: translateX(-50%); } 100% { transform: translateX(0); } }
.animate-scroll-reverse { display: flex; width: max-content; animation: scrollReverse 180s linear infinite; }
.animate-scroll-reverse:hover { animation-play-state: paused; }
.gal-card {
    width: 240px; flex-shrink: 0; aspect-ratio: 4/5;
    border-radius: 2rem; overflow: hidden;
    border: 1px solid rgba(212,175,55,.12); box-shadow: 0 8px 24px rgba(26,23,20,.12);
    position: relative; cursor: zoom-in;
}
body.dark .gal-card { border-color: rgba(212,175,55,.18); }
.gal-card img { width:100%; height:100%; object-fit:cover; transition:transform 1.4s var(--ease); }
.gal-card:hover img { transform: scale(1.05); }
.gal-card-overlay {
    position:absolute; inset:0;
    background: linear-gradient(to top, rgba(26,23,20,.8) 0%, rgba(26,23,20,.18) 40%, transparent 70%);
    opacity:0; transition: opacity .45s var(--ease);
    display:flex; align-items:center; justify-content:center;
}
.gal-card:hover .gal-card-overlay { opacity:1; }
.gal-expand-btn {
    width:56px; height:56px; border-radius:50%;
    background: rgba(212,175,55,.85); backdrop-filter:blur(8px);
    border:1px solid rgba(255,255,255,.25);
    display:flex; align-items:center; justify-content:center;
    color:#fff; font-size:1.1rem;
    transform: translateY(12px); transition: transform .45s var(--ease);
    box-shadow: 0 0 20px rgba(0,0,0,.4);
}
.gal-card:hover .gal-expand-btn { transform: translateY(0); }

/* ─── MOSAICO ─── */
.mosaic-grid { display:grid; grid-template-columns:repeat(4,1fr); grid-template-rows:repeat(2,1fr); gap:.65rem; height:430px; width:100%; }
.mosaic-cell { position:relative; border-radius:1.5rem; overflow:hidden; cursor:pointer; }
.mosaic-cell img { width:100%; height:100%; object-fit:cover; object-position:top; transition:transform .7s var(--ease); }
.mosaic-cell:hover img { transform:scale(1.1); }
.mosaic-hover { position:absolute; inset:0; background: linear-gradient(to top, rgba(212,175,55,.35) 0%, transparent 60%); opacity:0; transition:opacity .3s var(--ease); }
.mosaic-cell:hover .mosaic-hover { opacity:1; }

/* ─── MODAL GALERIA ─── */
.mgal-backdrop { position:fixed; inset:0; background:rgba(26,23,20,.92); z-index:5000; display:none; align-items:flex-start; justify-content:center; padding:1rem; backdrop-filter:blur(8px); overflow-y:auto; }
.mgal-backdrop.open { display:flex; }
.mgal-box { background:var(--card); border-radius:2rem; width:95%; max-width:480px; margin:auto; overflow:hidden; display:flex; flex-direction:column; position:relative; box-shadow:0 40px 80px rgba(26,23,20,.5); }
body.dark .mgal-box { background:#242018; }
.mgal-header { padding:1.25rem 1.5rem; border-bottom:1px solid rgba(212,175,55,.15); display:flex; justify-content:space-between; align-items:center; flex-shrink:0; }
.mgal-title { color: var(--dark); }
.mgal-close { width:34px; height:34px; border-radius:50%; background:rgba(212,175,55,.12); border:none; color:var(--dark); font-size:.85rem; display:flex; align-items:center; justify-content:center; cursor:pointer; transition:all .3s; }
.mgal-close:hover { background:var(--gold); color:#1a1714; transform:rotate(90deg); }
.mgal-body { overflow-y:auto; padding:1.25rem; max-height:72vh; }
.mgal-body::-webkit-scrollbar { width:3px; }
.mgal-body::-webkit-scrollbar-thumb { background:var(--gold); border-radius:10px; }

/* ─── TRAJETÓRIA ─── */
.traj-section { background: transparent; }
body.dark .traj-section { background: transparent; }

.traj-title { color: #1a1714 !important; }
body.dark .traj-title { color: #F7F4EE !important; }

.traj-quote-box { background: #fff; }
body.dark .traj-quote-box { background: #1e1b17; }

.traj-text { color: rgba(26,23,20,.75); }
body.dark .traj-text { color: rgba(247,244,238,.6); }

.traj-text-bold { color: #1a1714; }
body.dark .traj-text-bold { color: rgba(247,244,238,.85); }

/* ─── SOBRE ─── */
.sobre-box {
    background: #1A1714; border-radius: 2rem; padding: 1.5rem;
    position: relative; overflow: hidden; transition: all .5s var(--ease);
    border: 1px solid rgba(212,175,55,.15);
}
.sobre-title { color: #F7F4EE !important; }
.sobre-text { color: rgba(247,244,238,.72); }
.sobre-text strong { color: #F7F4EE; }
.sobre-quote { color: rgba(247,244,238,.5); font-style: italic; }
.sobre-box .stat-mini { background: rgba(212,175,55,.07); border: 1px solid rgba(212,175,55,.14); color: var(--gold); }
.sobre-box .stat-mini p:last-child { color: rgba(247,244,238,.45); }
body:not(.dark) .sobre-box { background: rgba(26,23,20,.04); border: 1px solid rgba(212,175,55,.3); box-shadow: none; }
body:not(.dark) .sobre-title { color: var(--dark) !important; }
body:not(.dark) .sobre-text { color: var(--muted); }
body:not(.dark) .sobre-text strong { color: var(--dark); }
body:not(.dark) .sobre-quote { color: var(--muted); }
body:not(.dark) .sobre-box .stat-mini { background: rgba(212,175,55,.08); border-color: rgba(212,175,55,.2); }
body:not(.dark) .sobre-box .stat-mini p:last-child { color: var(--muted); }

/* ─── MÍDIA ─── */
.midia-row {
    display: flex; align-items: center; gap: .85rem;
    background: var(--card); border: 1px solid rgba(212,175,55,.1);
    border-radius: 1.25rem; padding: .9rem 1rem;
    transition: all .3s var(--ease);
}
.midia-row:hover { border-color: var(--gold); background: rgba(212,175,55,.05); }
body.dark .midia-row { background: #242018; border-color: rgba(212,175,55,.1); }
.midia-icon {
    width: 36px; height: 36px; border-radius: 50%; flex-shrink: 0;
    background: rgba(212,175,55,.1); border: 1px solid rgba(212,175,55,.2);
    display: flex; align-items: center; justify-content: center;
    color: var(--gold); font-size: .85rem;
}
.midia-programa { font-size: .72rem; font-weight: 700; color: var(--dark); line-height: 1.2; }
.midia-tema { font-size: .6rem; color: var(--muted); margin-top: .15rem; line-height: 1.3; }
.midia-data { font-size: .58rem; font-weight: 700; color: var(--gold); flex-shrink: 0; }
.midia-ver {
    font-size: .58rem; font-weight: 700; text-transform: uppercase; letter-spacing: .12em;
    color: var(--gold); text-decoration: none; display: flex; align-items: center; gap: .3rem;
    flex-shrink: 0;
}
.midia-ver:hover { color: var(--gold-dark); }

/* ─── YOUTUBE CARDS ─── */
.yt-card {
    display: flex; align-items: center; gap: .85rem;
    background: var(--card); border-radius: 1.25rem; overflow: hidden;
    border: 1px solid rgba(212,175,55,.12); text-decoration: none;
    box-shadow: 0 2px 12px rgba(26,23,20,.07);
    transition: all .35s var(--ease);
}
.yt-card:hover { transform: translateY(-3px); box-shadow: 0 10px 28px rgba(255,0,0,.18); border-color: rgba(255,0,0,.35); }
.yt-card:active { transform: scale(.98); }
body.dark .yt-card { background: #242018; border-color: rgba(212,175,55,.12); }

.yt-thumb {
    position: relative; flex-shrink: 0;
    width: 130px; aspect-ratio: 16/9; overflow: hidden;
    background: #000; border-radius: 1rem; margin: .6rem 0 .6rem .6rem;
}
.yt-thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s var(--ease); }
.yt-card:hover .yt-thumb img { transform: scale(1.06); }

.yt-play-btn {
    position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
    background: rgba(0,0,0,.32); transition: background .3s;
}
.yt-play-btn i { font-size: 1.6rem; color: #fff; filter: drop-shadow(0 2px 6px rgba(0,0,0,.5)); transition: transform .3s var(--ease); }
.yt-card:hover .yt-play-btn { background: rgba(255,0,0,.45); }
.yt-card:hover .yt-play-btn i { transform: scale(1.15); }

.yt-views-badge {
    position: absolute; bottom: .35rem; right: .35rem;
    background: rgba(0,0,0,.72); backdrop-filter: blur(4px);
    color: #fff; font-size: .46rem; font-weight: 700;
    letter-spacing: .08em; text-transform: uppercase;
    padding: .18rem .45rem; border-radius: 999px;
}

.yt-body { flex: 1; padding: .75rem .75rem .75rem 0; display: flex; flex-direction: column; gap: .2rem; }
.yt-tag {
    font-size: .48rem; font-weight: 700; text-transform: uppercase; letter-spacing: .16em;
    color: #FF0000; opacity: .85;
}
.yt-title {
    font-family: 'Bebas Neue', sans-serif; font-size: 1.1rem; line-height: 1.05;
    color: var(--dark);
}
.yt-duration {
    font-size: .58rem; color: var(--muted); display: flex; align-items: center; gap: .3rem; margin-top: .1rem;
}
.yt-duration i { font-size: .52rem; color: var(--gold); }

/* ─── MÍDIA CARDS ─── */
.midia-card {
    display: flex; align-items: center; gap: .85rem;
    background: #1a1714; border-radius: 1.25rem; overflow: hidden;
    border: 1px solid rgba(212,175,55,.12); text-decoration: none;
    box-shadow: 0 4px 20px rgba(26,23,20,.2);
    transition: all .35s var(--ease);
}
body:not(.dark) .midia-card {
    background: transparent;
    border: 1.5px solid rgba(212,175,55,.25);
    box-shadow: none;
}
.midia-card:not(.midia-card-no-link):hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 32px rgba(212,175,55,.18);
    border-color: rgba(212,175,55,.4);
}
body:not(.dark) .midia-card:not(.midia-card-no-link):hover {
    box-shadow: 0 8px 24px rgba(212,175,55,.12);
    border-color: rgba(212,175,55,.45);
}

.midia-card-thumb {
    flex-shrink: 0; width: 110px; aspect-ratio: 16/9;
    overflow: hidden; position: relative;
}
.midia-card-thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s var(--ease); }
.midia-card:hover .midia-card-thumb img { transform: scale(1.07); }

.midia-card-thumb-dark {
    background: #0f0d0b;
    display: flex; align-items: center; justify-content: center;
}
.midia-card-icon-wrap {
    font-size: 1.4rem; color: rgba(212,175,55,.3);
    transition: color .3s;
}

.midia-card-play {
    position: absolute; inset: 0;
    background: rgba(0,0,0,.35);
    display: flex; align-items: center; justify-content: center;
    transition: background .3s;
}
.midia-card-play i { font-size: 1.5rem; color: #fff; filter: drop-shadow(0 2px 6px rgba(0,0,0,.5)); transition: transform .3s var(--ease); }
.midia-card:hover .midia-card-play { background: rgba(255,0,0,.45); }
.midia-card:hover .midia-card-play i { transform: scale(1.15); }

.midia-card-body { flex: 1; padding: .7rem .75rem .7rem 0; display: flex; flex-direction: column; gap: .18rem; }
.midia-card-tag {
    font-size: .46rem; font-weight: 700; text-transform: uppercase; letter-spacing: .18em;
    color: rgba(212,175,55,.55);
}
body:not(.dark) .midia-card-tag { color: var(--gold-dark); }
.midia-card-title {
    font-family: 'Bebas Neue', sans-serif; font-size: 1.05rem; line-height: 1;
    color: #F7F4EE; transition: color .3s;
}
body:not(.dark) .midia-card-title { color: var(--dark); }
.midia-card:not(.midia-card-no-link):hover .midia-card-title { color: var(--gold); }
body:not(.dark) .midia-card:not(.midia-card-no-link):hover .midia-card-title { color: var(--gold-dark); }
.midia-card-desc { font-size: .62rem; color: rgba(247,244,238,.45); line-height: 1.4; }
body:not(.dark) .midia-card-desc { color: var(--muted); }
.midia-card-cta {
    margin-top: .3rem; display: inline-flex; align-items: center; gap: .3rem;
    font-size: .5rem; font-weight: 700; text-transform: uppercase; letter-spacing: .14em;
    color: var(--gold); transition: gap .3s;
}
body:not(.dark) .midia-card-cta { color: var(--gold-dark); }
.midia-card:hover .midia-card-cta { gap: .5rem; }
.midia-card-cta i { font-size: .42rem; }

/* Carrossel reels mídia */
.midia-reel-wrap { width: 100%; }
.midia-reel-label {
    font-size: .5rem; font-weight: 700; text-transform: uppercase; letter-spacing: .22em;
    color: rgba(212,175,55,.5); margin-bottom: .75rem; padding-left: .1rem;
}
.midia-reel-scroll {
    display: flex; overflow: hidden;
    width: 100%;
}
.midia-reel-track {
    display: flex; gap: .65rem;
    width: max-content;
    animation: midia-reel-run 45s linear infinite;
}
.midia-reel-track:hover { animation-play-state: paused; }
@keyframes midia-reel-run {
    0%   { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}
.midia-reel-item {
    flex-shrink: 0; width: 130px; aspect-ratio: 9/16;
    border-radius: 1.25rem; overflow: hidden; position: relative;
    border: 1px solid rgba(212,175,55,.15);
    box-shadow: 0 4px 16px rgba(26,23,20,.3);
    scroll-snap-align: start;
    transition: transform .3s var(--ease), border-color .3s;
}
.midia-reel-item:hover { transform: translateY(-4px); border-color: rgba(212,175,55,.4); }
.midia-reel-item video { width: 100%; height: 100%; object-fit: cover; object-position: center top; }
.midia-reel-overlay {
    position: absolute; inset: 0;
    background: linear-gradient(to top, rgba(26,23,20,.85) 0%, transparent 50%);
    pointer-events: none;
}
/* Modal reel fullscreen */
.reel-modal-wrap {
    position: relative;
    width: min(92vw, 400px);
    aspect-ratio: 9/16;
    border-radius: 1.5rem;
    overflow: hidden;
    box-shadow: 0 24px 60px rgba(0,0,0,.7);
    border: 1px solid rgba(212,175,55,.25);
}
.reel-modal-video { width: 100%; height: 100%; object-fit: cover; }
.reel-modal-sound-btn {
    position: absolute; top: .75rem; right: .75rem;
    width: 36px; height: 36px; border-radius: 50%;
    background: rgba(26,23,20,.7); backdrop-filter: blur(8px);
    border: 1px solid rgba(212,175,55,.35);
    display: flex; align-items: center; justify-content: center;
    color: var(--gold); font-size: .75rem; cursor: pointer;
    transition: all .3s var(--ease);
}
.reel-modal-sound-btn.on { background: var(--gold); color: #1a1714; border-color: var(--gold); }

.midia-reel-item { cursor: pointer; }
.midia-reel-sound {
    position: absolute; top: .4rem; right: .4rem; z-index: 10;
    width: 18px; height: 18px; border-radius: 50%;
    background: rgba(0,0,0,.3);
    border: none;
    display: flex; align-items: center; justify-content: center;
    color: rgba(255,255,255,.3); font-size: .42rem;
    transition: all .25s ease;
    pointer-events: auto; cursor: pointer;
}
.midia-reel-sound:hover { color: rgba(255,255,255,.7); background: rgba(0,0,0,.5); }
.midia-reel-item.sounding .midia-reel-sound { color: rgba(255,255,255,.85); }

.midia-reel-name {
    position: absolute; bottom: .65rem; left: 0; right: 0;
    text-align: center; padding: 0 .4rem;
    font-size: .52rem; font-weight: 700; text-transform: uppercase; letter-spacing: .1em;
    color: rgba(247,244,238,.85);
}

/* CTA canal */
.midia-cta-canal {
    display: flex; align-items: center; justify-content: space-between;
    background: rgba(212,175,55,.06); border: 1px solid rgba(212,175,55,.2);
    border-radius: 1.25rem; padding: 1rem 1.1rem;
    text-decoration: none; transition: all .35s var(--ease);
}
.midia-cta-canal:hover { background: rgba(212,175,55,.12); border-color: rgba(212,175,55,.4); transform: translateY(-2px); }
.midia-cta-icon {
    width: 38px; height: 38px; border-radius: 50%; flex-shrink: 0;
    background: rgba(212,175,55,.12); border: 1px solid rgba(212,175,55,.25);
    display: flex; align-items: center; justify-content: center;
    color: var(--gold); font-size: 1rem;
}
.midia-cta-title { font-family: 'Bebas Neue', sans-serif; font-size: 1rem; color: #F7F4EE; line-height: 1; margin-bottom: .2rem; }
.midia-cta-sub { font-size: .52rem; color: rgba(247,244,238,.4); line-height: 1.4; }
.midia-cta-arrow { color: rgba(212,175,55,.5); font-size: .8rem; transition: all .3s var(--ease); }
.midia-cta-canal:hover .midia-cta-arrow { color: var(--gold); transform: translateX(4px); }

/* ─── REDES SOCIAIS ─── */
.social-card {
    display: flex; align-items: center; gap: .8rem;
    background: var(--card); border: 1px solid rgba(212,175,55,.12);
    border-radius: 1.25rem; padding: 1rem; text-decoration: none;
    transition: all .3s var(--ease);
}
.social-card:hover { border-color: var(--gold); transform: translateY(-2px); box-shadow: 0 8px 24px rgba(212,175,55,.15); }
body.dark .social-card { background: #242018; border-color: rgba(212,175,55,.12); }
.social-icon { font-size: 1.35rem; color: var(--gold); flex-shrink: 0; width: 28px; text-align: center; }
.social-handle { font-size: .72rem; font-weight: 700; color: var(--dark); line-height: 1.2; }
.social-count { font-size: .6rem; color: var(--muted); margin-top: .1rem; }

/* ─── CTA FINAL ─── */
.cta-grad { background: linear-gradient(135deg, #D4AF37 0%, #b8860b 55%, #8B6914 100%); }
.cta-initial {
    font-family: 'Cormorant Garamond', serif;
    font-weight: 400;
    font-style: italic;
    font-size: 3.5rem;
    line-height: 1;
    color: #fff;
    display: block;
    margin-bottom: .75rem;
}

/* ─── MODAIS PRODUTO ─── */
.mprod-backdrop { position:fixed; inset:0; background:rgba(26,23,20,.92); z-index:5000; display:none; align-items:flex-end; justify-content:center; backdrop-filter:blur(8px); overflow-y:auto; }
.mprod-backdrop.open { display:flex; }
.mprod-box { background:var(--card); border-radius:2rem 2rem 0 0; width:100%; max-width:480px; overflow:hidden; display:flex; flex-direction:column; max-height:90vh; overflow-y:auto; }
body.dark .mprod-box { background:#242018; }
.mprod-img-wrap { position:relative; aspect-ratio:16/9; flex-shrink:0; overflow:hidden; }
.mprod-img-wrap img { width:100%; height:100%; object-fit:cover; object-position:top; }
.mprod-close { position:absolute; top:.75rem; right:.75rem; z-index:10; width:34px; height:34px; border-radius:50%; background:rgba(26,23,20,.65); backdrop-filter:blur(8px); border:1px solid rgba(212,175,55,.3); color:#fff; font-size:.85rem; display:flex; align-items:center; justify-content:center; cursor:pointer; transition:all .3s; }
.mprod-close:hover { background:var(--gold); color:#1a1714; }
.mprod-img-badge { position:absolute; top:.75rem; left:.75rem; z-index:10; background:var(--charcoal); color:#fff; font-size:.55rem; font-weight:700; text-transform:uppercase; letter-spacing:.1em; padding:.3rem .7rem; border-radius:999px; }
.mprod-body { padding:1.5rem; }
.mprod-title { font-family:'Bebas Neue',sans-serif; font-size:1.9rem; line-height:1; color:var(--dark); margin-bottom:.25rem; }
.mprod-sub { font-size:.72rem; color:var(--muted); margin-bottom:.85rem; }
.mprod-price-row { display:flex; align-items:baseline; gap:.6rem; margin-bottom:.85rem; }
.mprod-price { font-family:'Bebas Neue',sans-serif; font-size:1.7rem; color:var(--gold); line-height:1; }
.mprod-price-or { font-size:.62rem; color:var(--muted); }
.mprod-price-from { font-size:.62rem; color:var(--muted); text-decoration:line-through; }
.mprod-stars { display:flex; align-items:center; gap:.25rem; color:var(--gold); font-size:.8rem; margin-bottom:.85rem; }
.mprod-stars span { font-size:.65rem; color:var(--muted); margin-left:.2rem; }
.mprod-divider { height:1px; background:rgba(212,175,55,.12); margin-bottom:.85rem; }
.mprod-desc { font-size:.74rem; color:var(--muted); line-height:1.7; margin-bottom:.85rem; }
.mprod-list { list-style:none; padding:0; margin:0 0 1.25rem 0; space-y:.4rem; display:flex; flex-direction:column; gap:.4rem; }
.mprod-list li { display:flex; align-items:flex-start; gap:.5rem; font-size:.72rem; color:var(--dark); }
.mprod-list li i { color:var(--gold); flex-shrink:0; margin-top:.1rem; font-size:.75rem; }
.mprod-btn {
    display:flex; align-items:center; justify-content:center; gap:.6rem;
    width:100%; padding:1rem; border-radius:999px;
    background:var(--charcoal); color:#fff;
    font-family:'Bebas Neue',sans-serif; font-size:1.1rem; letter-spacing:.08em;
    text-decoration:none; transition:all .3s var(--ease); border:none; cursor:pointer;
}
.mprod-btn:hover { transform:translateY(-2px); box-shadow:0 8px 24px rgba(26,23,20,.3); }

/* ─── BOTÃO SOM TRAJETÓRIA ─── */
.tray-sound-btn {
    position: absolute; top: .6rem; right: .6rem; z-index: 30;
    width: 20px; height: 20px; border-radius: 50%;
    background: rgba(0,0,0,.3);
    border: none;
    display: flex; align-items: center; justify-content: center;
    color: rgba(255,255,255,.3); font-size: .44rem;
    cursor: pointer; transition: all .25s ease;
}
.tray-sound-btn:hover { color: rgba(255,255,255,.7); background: rgba(0,0,0,.5); }
.tray-sound-btn.on { color: rgba(255,255,255,.85); background: rgba(0,0,0,.45); }

/* ─── TICKER ─── */
.ticker-wrap { overflow:hidden; background:transparent; padding:.55rem 0; border-top:1px solid rgba(212,175,55,.2); }
body.dark .ticker-wrap { background:transparent; }
.ticker-inner { display:inline-flex; white-space:nowrap; gap:1.4rem; animation:ticker 55s linear infinite; font-family:'Bebas Neue',sans-serif; font-size:.72rem; letter-spacing:.12em; color:var(--gold); align-items:center; }
.t-sep { color:rgba(212,175,55,.3); }
@keyframes ticker { 0%{transform:translateX(0)} 100%{transform:translateX(-50%)} }

/* ─── FOOTER ─── */
footer { background: transparent; transition: all .5s var(--ease); }
body:not(.dark) footer { background: transparent !important; border-top: 1px solid rgba(212,175,55,.2) !important; }
body:not(.dark) footer p, body:not(.dark) footer span { color: var(--dark) !important; opacity: 0.8; }
.footer-social { font-size: 1.15rem; color: rgba(212,175,55,.45); transition: color .3s; }
.footer-social:hover { color: var(--gold); }

/* ─── MODAL IMAGEM ─── */
.modal { position:fixed; inset:0; background:rgba(26,23,20,.92); z-index:9999; display:none; align-items:center; justify-content:center; padding:1rem; backdrop-filter:blur(8px); }
.modal.open { display:flex; }
.modal-close-btn { position:fixed; top:1rem; right:1rem; z-index:10001; width:34px; height:34px; border-radius:50%; background:rgba(212,175,55,.25); border:none; color:#fff; font-size:.85rem; display:flex; align-items:center; justify-content:center; cursor:pointer; transition:all .3s; }
.modal-close-btn:hover { background:var(--gold); color:#1a1714; transform:rotate(90deg); }
.modal-img { max-width:95vw; max-height:88vh; object-fit:contain; border-radius:1.25rem; }

/* ─── AVATAR ─── */
.avatar { width:88px; height:88px; border-radius:50%; object-fit:cover; object-position:top; border:3px solid var(--gold); box-shadow:0 0 0 4px rgba(212,175,55,.18); }

/* ─── BOTÕES ─── */
.btn { display:inline-flex; align-items:center; justify-content:center; gap:.7rem; border-radius:999px; font-weight:700; text-transform:uppercase; letter-spacing:.1em; font-size:.68rem; transition:all .4s var(--ease); cursor:pointer; border:none; text-decoration:none; }
.btn-dark-solid { background:#1A1714; color:#fff; }
.btn-dark-solid:hover { background:#2e2920; transform:translateY(-2px); }

/* ─── SCROLL INDICATOR ─── */
.scroll-indicator { animation: bounce-scroll 2.5s infinite var(--ease); }
@keyframes bounce-scroll {
    0%, 20%, 50%, 80%, 100% { transform: translateY(0) translateX(-50%); opacity: 0.5; }
    40% { transform: translateY(-10px) translateX(-50%); opacity: 0.8; }
    60% { transform: translateY(-5px) translateX(-50%); opacity: 0.6; }
}
.animate-bounce-slow { animation: bounce-slow 2s infinite; }
@keyframes bounce-slow {
    0%, 20%, 50%, 80%, 100% { transform: translateY(0); }
    40% { transform: translateY(-5px); }
    60% { transform: translateY(-2px); }
}
