/* Entrada: header → imagem → etiqueta → título → texto → botões. */
@keyframes charlots-header-in { from { opacity:0; transform:translate3d(0,-28px,0); } to { opacity:1; transform:none; } }
@keyframes charlots-banner-in { from { opacity:0; clip-path:inset(0 0 14% 0); transform:translate3d(0,25px,0) scale(.985); } to { opacity:1; clip-path:inset(0); transform:none; } }
@keyframes charlots-banner-item { from { opacity:0; transform:translate3d(0,30px,0); } to { opacity:1; transform:none; } }
.intro-ready .site-chrome { animation:charlots-header-in .9s var(--ease-reveal) both; }
.intro-ready .hero { animation:charlots-banner-in 1.2s var(--ease-reveal) .18s both; }
.intro-ready .hero-slide:not([aria-hidden=true]) .hero-copy > * { animation:charlots-banner-item 1s var(--ease-reveal) both; transition:none; }
.intro-ready .hero-slide:not([aria-hidden=true]) .hero-copy > :nth-child(1) { animation-delay:.55s; }
.intro-ready .hero-slide:not([aria-hidden=true]) .hero-copy > :nth-child(2) { animation-delay:.75s; }
.intro-ready .hero-slide:not([aria-hidden=true]) .hero-copy > :nth-child(3) { animation-delay:.95s; }
.intro-ready .hero-slide:not([aria-hidden=true]) .hero-copy > :nth-child(4) { animation:none; }
.intro-ready .hero-slide:not([aria-hidden=true]) .hero-copy > :nth-child(4) > .btn { animation:charlots-banner-item .9s var(--ease-reveal) 1.15s both; }
.intro-ready .hero-slide:not([aria-hidden=true]) .hero-copy > :nth-child(4) > .btn:nth-child(2) { animation-delay:1.32s; }
.intro-ready .hero-controls, .intro-ready .hero-dots { animation:charlots-banner-item .8s var(--ease-reveal) 1.45s both; }
.intro-ready .site-chrome:focus-within, .intro-ready .hero:focus-within,
.intro-ready .hero:focus-within .hero-copy > *, .intro-ready .hero:focus-within .hero-copy .btn,
.intro-ready .hero:focus-within .hero-controls, .intro-ready .hero:focus-within .hero-dots { animation:none; }
/* Sequência nas próximas trocas do carrossel também. */
.hero-slide:not([aria-hidden=true]) .hero-copy > :nth-child(1) { transition-delay:.25s; }
.hero-slide:not([aria-hidden=true]) .hero-copy > :nth-child(2) { transition-delay:.42s; }
.hero-slide:not([aria-hidden=true]) .hero-copy > :nth-child(3) { transition-delay:.59s; }
.hero-slide:not([aria-hidden=true]) .hero-copy > :nth-child(4) { transition-delay:.76s; }

/* Véu bege transparente, mantendo o produto legível. */
.product-photo::before, .line-photo::before {
    content:''; position:absolute; inset:0; background:#ccb590; opacity:0;
    z-index:1; pointer-events:none; transition:opacity .75s var(--ease-reveal);
}
.product-photo::after { z-index:2; }
.product-tag { z-index:3; }
.product-card:focus-visible .product-photo::before, .line-card:focus-visible .line-photo::before { opacity:.25; }
@media (hover:hover) and (pointer:fine) {
    .product-card:hover .product-photo::before, .line-card:hover .line-photo::before { opacity:.25; }
}
.rail-controls { display:none; }
@media (max-width:767px) {
    .mobile-rail {
        display:flex !important; flex-direction:row !important; grid-template-columns:none; gap:16px;
        margin-inline:calc(-1 * var(--gutter)); padding:12px var(--gutter) 22px;
        overflow-x:auto; overflow-y:hidden; scroll-snap-type:x mandatory;
        scroll-padding-inline:var(--gutter); scrollbar-width:none;
        -webkit-overflow-scrolling:touch; overscroll-behavior-x:contain;
    }
    .mobile-rail::-webkit-scrollbar { display:none; }
    .mobile-rail > * { flex:0 0 min(82vw,380px); min-width:0; width:auto; max-width:none; margin:0; scroll-snap-align:start; }
    .mobile-rail > .line-card:nth-child(even) { margin:0; width:auto; max-width:none; }
    .mobile-rail > .line-card { border-radius:160px 160px 26px 26px; }
    .mobile-rail > .line-card:nth-child(even) { border-radius:26px 26px 160px 160px; }
    .benefits.mobile-rail { background:none; border-radius:0; }
    .benefits.mobile-rail > * { padding:28px; background:linear-gradient(145deg,#fff,#eae7e1); border-radius:26px; }
    .stores-panel .mobile-rail { margin-inline:0; padding-inline:0; scroll-padding-inline:0; }
    .stores-panel .mobile-rail > * { flex-basis:calc(100% - 38px); flex-direction:column; align-items:flex-start; }
    .rail-controls { display:flex; align-items:center; gap:12px; margin-top:0; }
    .rail-count { font-size:11px; font-variant-numeric:tabular-nums; letter-spacing:.1em; white-space:nowrap; color:var(--color-muted); }
    .rail-progress { flex:1; height:2px; background:#1f1f1f15; overflow:hidden; }
    .rail-progress > span { display:block; width:100%; height:100%; background:#9e8969; transform-origin:left; transition:transform .35s; }
    .rail-arrow { flex:0 0 34px; width:34px; height:34px; display:grid; place-items:center; padding:0; border:1px solid var(--color-border); border-radius:50%; background:transparent; color:inherit; }
    .rail-arrow:disabled { opacity:.3; cursor:default; }
    .rail-arrow:not(:disabled):active { background:#d8c8b244; }
    .stores-panel .rail-count { color:#ffffffb3; }
    .stores-panel .rail-arrow { border-color:#ffffff40; }
    .stores-panel .rail-progress { background:#ffffff26; }
    .stores-panel .rail-progress > span { background:#dfcdb0; }
}
@media (prefers-reduced-motion:reduce) {
    .intro-ready .site-chrome, .intro-ready .hero, .intro-ready .hero-slide .hero-copy > *,
    .intro-ready .hero-slide .hero-copy .btn, .intro-ready .hero-controls, .intro-ready .hero-dots { animation:none !important; }
}
