/* ============================================================
   NOSSOS DESTAQUES — a hero interativa, copiada como estava,
   realocada para dentro da secao "Nossos Destaques" (texto em
   coluna + painel do tempero em rotacao, do maior para o menor
   ranking de vendas). So a navegacao do topo (logo + menu) ficou
   de fora, por ser exclusiva do topo da pagina.
   Tudo escopado em #destaques-hero para nao vazar no resto do site.
   ============================================================ */

@property --d-accent {
    syntax: "<color>";
    inherits: true;
    initial-value: #D95B2A;
}

@property --d-accent-soft {
    syntax: "<color>";
    inherits: true;
    initial-value: #F5A45F;
}

#destaques-hero {
    --d-accent: #D95B2A;
    --d-accent-soft: #F5A45F;
    --d-text: #F7F2EC;
    --d-dim: rgba(247, 242, 236, 0.66);
    --d-faint: rgba(247, 242, 236, 0.42);

    transition: --d-accent 900ms ease, --d-accent-soft 900ms ease;

    position: relative;
    color: var(--d-text);
    isolation: isolate;
}

/* brilho ambiente discreto atras do texto, na cor do tempero */
#destaques-hero::before {
    content: '';
    position: absolute;
    z-index: 0;
    pointer-events: none;
    left: -10%;
    top: 20%;
    width: 52%;
    height: 70%;
    background: radial-gradient(ellipse at 30% 50%, color-mix(in srgb, var(--d-accent) 13%, transparent) 0%, transparent 62%);
}

/* ---------- divisao ---------- */
#destaques-hero .dest-split {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
    gap: clamp(24px, 3.2vw, 46px);
    align-items: center;
    min-width: 0;
}

#destaques-hero .dest-copy {
    max-width: 620px;
    min-width: 0;
    padding-block: 12px;
}

#destaques-hero .dest-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--d-accent-soft);
    margin-bottom: 16px;
}

#destaques-hero .dest-eyebrow::before {
    content: '';
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--d-accent);
    box-shadow: 0 0 10px var(--d-accent);
}

#destaques-hero .dest-hl {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 900;
    font-style: italic;
    text-transform: uppercase;
    line-height: 0.9;
    letter-spacing: -0.012em;
    /* o teto cabe a maior variacao da linha do meio ("Um mundo irresistivel");
       um pouco menor que a hero do topo para a secao ficar mais compacta */
    font-size: clamp(2rem, 4.4vw, 3.6rem);
    margin: 0 0 18px;
}

/* O padding da folga para o overflow:hidden nao cortar nem as descidas dos
   glifos (Q, p, g) nem a inclinacao do italico no fim da linha. A margem
   negativa devolve tudo ao fluxo: a largura util continua sendo a da coluna. */
#destaques-hero .dest-mask {
    display: block;
    overflow: hidden;
    padding: 0.12em 0.26em 0.2em 0;
    margin: 0 -0.26em -0.2em 0;
}

#destaques-hero .dest-mask>span {
    display: block;
    animation: destLineUp .95s cubic-bezier(.16, .85, .24, 1) both;
}

#destaques-hero .dest-m1>span {
    animation-delay: .1s;
}

#destaques-hero .dest-m2>span {
    animation-delay: .2s;
}

#destaques-hero .dest-m3>span {
    animation-delay: .3s;
}

@keyframes destLineUp {
    from {
        transform: translateY(135%);
    }

    to {
        transform: translateY(0);
    }
}

#destaques-hero .dest-acc {
    display: inline-block;
    background: linear-gradient(94deg, var(--d-accent-soft) 0%, var(--d-accent) 60%, color-mix(in srgb, var(--d-accent) 65%, #000) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
    /* brilho curto o bastante para caber na folga do mask */
    filter: drop-shadow(0 2px 9px color-mix(in srgb, var(--d-accent) 45%, transparent));
}

/* a palavra troca em elevador junto com o tempero em destaque */
@keyframes destWordOut {
    to {
        transform: translateY(-120%);
        opacity: 0;
    }
}

@keyframes destWordIn {
    from {
        transform: translateY(120%);
        opacity: 0;
    }

    to {
        transform: none;
        opacity: 1;
    }
}

#destaques-hero .dest-lead {
    font-size: clamp(0.98rem, 1.1vw, 1.08rem);
    font-weight: 300;
    line-height: 1.68;
    color: var(--d-dim);
    max-width: 32rem;
    margin: 0 0 22px;
}

#destaques-hero .dest-lead b {
    color: var(--d-text);
    font-weight: 700;
}

#destaques-hero .dest-ctas {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 14px 26px;
    margin-bottom: 26px;
}

#destaques-hero .dest-btn {
    position: relative;
    overflow: hidden;
    display: inline-flex;
    align-items: center;
    gap: 14px;
    padding: 17px 26px;
    border-radius: 12px;
    background: linear-gradient(180deg, #F28C52 0%, #D96E30 100%);
    color: #fff;
    text-decoration: none;
    font-weight: 700;
    font-size: 0.95rem;
    box-shadow: 0 12px 34px -10px rgba(242, 140, 82, 0.7);
    transition: transform .25s ease, box-shadow .25s ease;
}

#destaques-hero .dest-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 16px 40px -10px rgba(242, 140, 82, 0.85);
}

#destaques-hero .dest-btn::after {
    content: '';
    position: absolute;
    top: 0;
    left: -120%;
    width: 55%;
    height: 100%;
    background: linear-gradient(100deg, transparent, rgba(255, 255, 255, 0.3), transparent);
    transform: skewX(-18deg);
    animation: destSweep 4.6s ease-in-out 2.4s infinite;
}

@keyframes destSweep {
    0% {
        left: -120%;
    }

    22% {
        left: 150%;
    }

    100% {
        left: 150%;
    }
}

#destaques-hero .dest-link-more {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-weight: 700;
    font-size: 0.92rem;
    color: var(--d-text);
    text-decoration: none;
    padding-bottom: 6px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.22);
    transition: border-color .25s;
}

#destaques-hero .dest-link-more:hover {
    border-color: var(--d-accent-soft);
}

#destaques-hero .dest-link-more .arr {
    transition: transform .25s;
}

#destaques-hero .dest-link-more:hover .arr {
    transform: translateX(4px);
}

#destaques-hero .dest-stats {
    display: flex;
    align-items: center;
    gap: clamp(18px, 2.6vw, 34px);
}

#destaques-hero .dest-stat b {
    display: block;
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 800;
    font-size: clamp(1.8rem, 2.6vw, 2.3rem);
    line-height: 1;
    color: var(--d-text);
    font-variant-numeric: tabular-nums;
    margin-bottom: 6px;
}

#destaques-hero .dest-stat span {
    font-size: 0.62rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--d-faint);
}

#destaques-hero .dest-vr {
    width: 1px;
    height: 38px;
    background: rgba(255, 255, 255, 0.12);
}

/* ---------- painel do produto ---------- */
#destaques-hero .dest-panel {
    position: relative;
    /* min-width:0 impede que o aspect-ratio + min-height forcem uma largura
       maior que a coluna do grid, o que cortava o selo na borda direita.
       Aspect-ratio mais largo (vs. 1.24/1 da hero original) deixa a secao
       mais compacta, sem o painel dominar a tela em relacao ao texto. */
    min-width: 0;
    aspect-ratio: 1.5 / 1;
    min-height: 300px;
    max-height: 480px;
    border-radius: 22px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: #0D0A08;
    box-shadow: 0 40px 90px -40px rgba(0, 0, 0, 0.9), 0 0 0 1px rgba(0, 0, 0, 0.6);
    isolation: isolate;
    container-type: inline-size;
}

#destaques-hero .dest-stage {
    position: absolute;
    inset: 0;
    z-index: 0;
}

#destaques-hero .dest-shot {
    position: absolute;
    inset: -3%;
    background-size: cover;
    background-position: 50% 44%;
    opacity: 0;
    transition: opacity 1100ms ease;
    will-change: opacity, transform;
}

#destaques-hero .dest-shot.active {
    opacity: 1;
    animation: destKenburns 9s ease-out both;
}

@keyframes destKenburns {
    from {
        transform: scale(1.1);
    }

    to {
        transform: scale(1.0);
    }
}

#destaques-hero .dest-halo {
    position: absolute;
    z-index: 1;
    pointer-events: none;
    top: 45%;
    left: 50%;
    width: 88%;
    aspect-ratio: 1;
    transform: translate(-50%, -50%);
    background: radial-gradient(circle, color-mix(in srgb, var(--d-accent) 30%, transparent) 0%, transparent 60%);
    animation: destHaloPulse 7s ease-in-out infinite;
}

@keyframes destHaloPulse {

    0%,
    100% {
        transform: translate(-50%, -50%) scale(1);
        opacity: .7;
    }

    50% {
        transform: translate(-50%, -50%) scale(1.08);
        opacity: .95;
    }
}

/* so o rodape do painel escurece, para o nome e as miniaturas */
#destaques-hero .dest-scrim {
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;
    background: linear-gradient(180deg, rgba(10, 8, 6, 0.35) 0%, transparent 18%, transparent 44%, rgba(10, 8, 6, 0.72) 74%, rgba(10, 8, 6, 0.95) 100%);
}

#destaques-hero .dest-dust {
    position: absolute;
    inset: 0;
    z-index: 3;
    pointer-events: none;
}

#destaques-hero .dest-grain {
    position: absolute;
    inset: 0;
    z-index: 4;
    pointer-events: none;
    opacity: 0.13;
    background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyBAMAAADsEZWCAAAAGFBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMc/wvAAAACHRSTlMAMwA0MwA0M0dOuTIAAAB5SURBVDjLjY/BCcAwDMN899/54x5Q0EtIwD6O48C2wX7GjMhMZGZk5u8/MzJmZGRmZGRmZGRmZGRmZGT+jLzMiMxEZkZmRmZGRmZGRmZGZkZmRmZGRmZGRmZGZkZmRkZmRkZmRmZGRmZGRmZGRmZGRmZGRmZGRmZG5gN0V8o5Bw2QjwAAAABJRU5ErkJggg==");
    background-size: 44px;
}

/* selo circular girando */
#destaques-hero .dest-seal {
    position: absolute;
    z-index: 5;
    top: 20px;
    right: 20px;
    width: clamp(84px, 9vw, 112px);
    aspect-ratio: 1;
    display: grid;
    place-items: center;
}

#destaques-hero .dest-seal svg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    animation: destSpin 22s linear infinite;
}

#destaques-hero .dest-seal svg text {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    font-size: 11.2px;
    letter-spacing: 0.22em;
    fill: rgba(247, 242, 236, 0.7);
}

@keyframes destSpin {
    to {
        transform: rotate(360deg);
    }
}

#destaques-hero .dest-seal .core {
    width: 56%;
    aspect-ratio: 1;
    border-radius: 50%;
    background: rgba(10, 8, 6, 0.65);
    backdrop-filter: blur(6px);
    border: 1px solid color-mix(in srgb, var(--d-accent-soft) 45%, transparent);
    display: grid;
    place-items: center;
    text-align: center;
}

#destaques-hero .dest-seal .core b {
    display: block;
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 800;
    font-style: italic;
    font-size: clamp(1rem, 1.5vw, 1.3rem);
    line-height: 1;
    color: var(--d-accent-soft);
}

#destaques-hero .dest-seal .core small {
    display: block;
    font-size: 0.44rem;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--d-dim);
    margin-top: 2px;
}

/* nome do favorito no canto superior esquerdo do painel: com a largura
   quase toda livre (so reserva o espaco do selo, a direita), o nome cabe
   numa linha so mesmo para os mais compridos ("Papica Defumada"), sem
   disputar espaco com as miniaturas la embaixo. */
#destaques-hero .dest-feat {
    position: absolute;
    z-index: 5;
    top: 20px;
    left: 20px;
    right: 150px;
    text-align: left;
    pointer-events: none;
}

#destaques-hero .dest-feat small {
    display: block;
    font-size: 0.62rem;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--d-faint);
    margin-bottom: 6px;
}

#destaques-hero .dest-feat .dest-mask {
    display: block;
    overflow: hidden;
    padding: 0.08em 0.2em 0.14em 0;
    margin: 0 -0.2em -0.14em 0;
}

#destaques-hero .dest-feat-name {
    display: block;
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 800;
    font-style: italic;
    text-transform: uppercase;
    font-size: clamp(1.6rem, 2.6vw, 2.3rem);
    line-height: 1.05;
    letter-spacing: -0.01em;
    color: var(--d-text);
    text-shadow: 0 2px 20px rgba(0, 0, 0, 0.6);
    /* garante que o nome nunca seja cortado: se a palavra nao couber nem
       sozinha numa linha (miniaturas tomando a largura do painel), ela
       quebra em vez de vazar para fora e ser cortada pelo overflow:hidden
       do painel */
    overflow-wrap: break-word;
    word-break: break-word;
    hyphens: auto;
}

#destaques-hero .dest-feat-meta {
    font-size: 0.7rem;
    color: var(--d-accent-soft);
    font-weight: 700;
    letter-spacing: 0.08em;
    margin-top: 5px;
}

@keyframes destNameOut {
    to {
        transform: translateY(-135%);
        opacity: 0;
    }
}

@keyframes destNameIn {
    from {
        transform: translateY(135%);
        opacity: 0;
    }

    to {
        transform: none;
        opacity: 1;
    }
}

/* miniaturas: pequenas por padrao, crescem so no hover, a partir da base.
   Ocupam o rodape sozinhas agora que o nome mudou para o canto superior
   esquerdo. */
#destaques-hero .dest-thumbs {
    position: absolute;
    z-index: 5;
    left: 18px;
    bottom: 18px;
    display: flex;
    align-items: flex-end;
    gap: 7px;
}

#destaques-hero .dest-thumb {
    position: relative;
    padding: 0;
    cursor: pointer;
    /* acompanha a largura do painel para caber ao lado do nome */
    width: clamp(34px, 7.8cqw, 44px);
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 9px;
    background: rgba(10, 8, 6, 0.55);
    backdrop-filter: blur(8px);
    overflow: hidden;
    transform-origin: bottom center;
    transition: border-color .3s, transform .28s cubic-bezier(.2, .8, .3, 1), background .3s;
}

#destaques-hero .dest-thumb:hover,
#destaques-hero .dest-thumb:focus-visible {
    transform: scale(1.34);
    z-index: 3;
    border-color: rgba(255, 255, 255, 0.45);
}

#destaques-hero .dest-thumb.active {
    border-color: var(--d-accent);
    background: rgba(10, 8, 6, 0.75);
}

/* o enquadramento de cada foto vem do JS (thumbPos), calculado a partir da
   posicao do pote em cada imagem, para todos ficarem centrados no quadrado */
#destaques-hero .dest-thumb .pic {
    display: block;
    width: 100%;
    aspect-ratio: 1;
    background-size: 175%;
    filter: saturate(.7) brightness(.72);
    transition: filter .3s;
}

#destaques-hero .dest-thumb.active .pic,
#destaques-hero .dest-thumb:hover .pic {
    filter: none;
}

#destaques-hero .dest-thumb .prog {
    position: absolute;
    left: 0;
    bottom: 0;
    height: 2px;
    width: 100%;
    opacity: 0;
}

#destaques-hero .dest-thumb.active .prog {
    opacity: 1;
}

#destaques-hero .dest-thumb.active .prog::after {
    content: '';
    display: block;
    height: 100%;
    width: 100%;
    background: var(--d-accent);
    transform-origin: left;
    transform: scaleX(0);
    animation: destProg var(--dwell, 5200ms) linear forwards;
}

@keyframes destProg {
    to {
        transform: scaleX(1);
    }
}

/* ============================================================
   RESPONSIVO
   ============================================================ */
@media (max-width: 1024px) {
    #destaques-hero .dest-split {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    #destaques-hero .dest-copy {
        max-width: 600px;
    }

    #destaques-hero .dest-panel {
        aspect-ratio: 1.25/1;
        min-height: 320px;
        max-height: none;
    }
}

@media (max-width: 640px) {
    #destaques-hero .dest-panel {
        aspect-ratio: 1/1.05;
        border-radius: 16px;
    }

    #destaques-hero .dest-seal {
        top: 14px;
        right: 14px;
        width: 78px;
    }

    /* selo menor aqui: o nome precisa reservar menos espaco a direita */
    #destaques-hero .dest-feat {
        right: 108px;
    }

    #destaques-hero .dest-ctas {
        gap: 14px;
    }

    #destaques-hero .dest-btn {
        width: 100%;
        justify-content: center;
    }
}

/* Painel estreito (telefone). Vem depois das outras media queries de
   proposito, para vencer no cascade. */
@container (max-width: 480px) {
    /* Nessa largura o selo cairia bem onde os botoes flutuantes fixos
       (WhatsApp e carrinho) ficam durante a rolagem no celular, colidindo
       com eles. O "100% Natural" ja aparece na hero do topo, entao some
       aqui em vez de brigar de posicao com um elemento fixo na tela. */
    #destaques-hero .dest-seal {
        display: none;
    }

    /* sem o selo, o nome pode usar a largura toda */
    #destaques-hero .dest-feat {
        right: 20px;
    }

    #destaques-hero .dest-thumb {
        width: clamp(36px, 10cqw, 44px);
    }
}

@media (prefers-reduced-motion: reduce) {

    #destaques-hero *,
    #destaques-hero *::after,
    #destaques-hero *::before {
        animation-duration: .001ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .001ms !important;
    }

    #destaques-hero .dest-shot.active {
        animation: none;
        transform: none;
    }
}
