/* Estilos proprios da pagina sleepdress — complementa dy-shell/dy-hero/dy-cart. */

/* ===== base ===== */
*{margin:0;padding:0;box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{font-family:'Jost',-apple-system,BlinkMacSystemFont,sans-serif;color:var(--dy-ink);background:#fff}
/* os reveals deslizam em X: clip impede a pagina de ganhar scroll/tranco
   horizontal enquanto os elementos ainda estao deslocados */
html,body{overflow-x:clip}
img{max-width:100%}
button{font-family:inherit;cursor:pointer}
.dy-wrap{max-width:1080px;margin:0 auto;padding:0 16px}
section{scroll-margin-top:72px}

/* ===== announcement =====
   Markup padrao do shell (dy-ann-row > dy-cd + dy-ann-vp): o CSS todo vem do
   dy-shell.css. NAO recriar .dy-ann-m aqui — a versao "flat" sem o wrapper
   .dy-ann-vp virava overlay invisivel de pagina inteira. */

/* ===== header (shell) ===== */
.dy-hd{position:sticky;top:0;z-index:70;background:#fff;border-bottom:1px solid var(--dy-line)}
.dy-hd-in{max-width:1080px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:10px 16px}
.dy-hd-logo img{height:26px;display:block}
.dy-burger,.dy-cartbtn{background:none;border:0;color:var(--dy-ink);position:relative;padding:6px}
.dy-hd-n{position:absolute;top:0;right:-2px;background:var(--dy-ink);color:#fff;font-size:10px;font-weight:700;min-width:16px;height:16px;border-radius:8px;display:flex;align-items:center;justify-content:center;padding:0 4px}

/* ===== breadcrumb ===== */
.dy-bread{font-size:12px;color:#999;padding:14px 0 10px}
.dy-bread b{color:var(--dy-ink);font-weight:500}

/* ===== titulo em 2 linhas + estrelas ===== */
.dy-buy h1 .pre{display:block;font-size:clamp(13px,3.6vw,16px);color:#b9b9b9;font-weight:500;letter-spacing:.04em;margin-bottom:2px}
.dy-buy h1 .main{display:block;white-space:nowrap;font-size:clamp(21px,6.6vw,36px)}
.dy-buy .dy-subhead{margin-top:10px}
.dy-stars{display:flex;align-items:center;gap:8px;margin-top:6px;font-size:13px;color:var(--dy-soft)}
.dy-stars .st{color:#111;letter-spacing:2px;font-size:15px}
/* estrelas coladas na subhead; bloco de preco ($176 riscado + $88) junto e
   afastado das estrelas */
.dy-buy .dy-de{margin-top:18px;margin-bottom:2px}
.dy-paircard{display:flex;align-items:center;gap:14px;margin-top:18px;border:1px solid var(--dy-line);border-radius:11px;padding:12px 14px;background:#fff;cursor:pointer}
.dy-paircard:active{background:#f7f7f7}
.dy-paircard .tx b{white-space:nowrap}
.dy-paircard .arw{flex:0 0 auto}
/* popup do par */
.dy-ppop-img{display:block;width:min(78%,300px);margin:14px auto 4px}
.dy-ppop-tx p{font-size:13.5px;color:#4a4a4a;line-height:1.65;margin-top:10px}
.dy-ppop-tx b{color:var(--dy-ink)}
.dy-paircard img{width:92px;height:92px;object-fit:contain;flex:0 0 auto}
.dy-paircard .tx{font-size:13.5px;line-height:1.5;color:var(--dy-soft)}
.dy-paircard .tx b{color:var(--dy-ink)}
.dy-paircard .tx em{font-style:normal;display:inline-block;margin-top:4px;font-size:12px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:#fff;background:#1A1A1A;border-radius:5px;padding:2px 9px}

/* ===== tamanho ===== */
.dy-sizebox{margin-top:20px;border:1px solid var(--dy-line);border-radius:11px;padding:14px;position:relative}
/* mini card da regua (abre o popup do size guide via data-pol) */
.dy-ruler{position:absolute;top:11px;right:11px;width:38px;height:38px;border:1px solid var(--dy-line);border-radius:9px;background:#fff;color:var(--dy-ink);display:flex;align-items:center;justify-content:center;padding:0}
.dy-ruler:active{background:#f3f3f3}
/* tabela de medidas do popup */
.dy-sg-wrap{overflow-x:auto;margin:10px 0}
.dy-sg{width:100%;border-collapse:collapse;font-size:12.5px;white-space:nowrap}
.dy-sg th{text-align:left;font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--dy-soft);padding:7px 8px;border-bottom:1px solid var(--dy-line)}
.dy-sg td{padding:7px 8px;border-bottom:1px solid #efefef;color:#3a3a3a}
.dy-sg td b{color:var(--dy-ink)}
.dy-sizebox.need{animation:dyShake .5s;border-color:var(--dy-red);box-shadow:0 0 0 3px rgba(192,57,43,.12)}
@keyframes dyShake{0%,100%{transform:translateX(0)}25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}
.dy-sizebox .lb{font-size:14px;margin-bottom:1px}
.dy-sizebox .lb b{font-weight:600}
.dy-sizebox .sub2{font-size:12px;color:#bdbdbd;margin:0 0 6px}
.dy-sizebox .nota{font-size:12.5px;color:var(--dy-soft);margin-bottom:10px}
/* os 9 tamanhos numa LINHA so: chips fluidos, sem quebra (menores por causa
   da mini imagem do vestido a esquerda) */
.dy-sizebox .dy-szrow{flex-wrap:nowrap;gap:3px}
.dy-sizebox .dy-sz{flex:1 1 0;min-width:0;padding:8px 0;font-size:11px;text-align:center;border-radius:7px}
.dy-szlb{font-size:12.5px;font-weight:600;margin:0 0 8px}
.dy-szlb span{font-weight:700}
/* grupo variante: mini card da imagem cobre a altura do head + seletor */
.dy-szgrp{display:flex;gap:9px;align-items:stretch;margin-top:16px}
.dy-szgrp:first-of-type{margin-top:14px}
.dy-szimg{flex:0 0 48px;width:48px;align-self:stretch;height:auto;object-fit:contain;border:1px solid var(--dy-line);border-radius:9px;background:#f7f6f4;padding:4px}
.dy-szcol{flex:1;min-width:0}
/* telas estreitas: chips menores + mini card mais fino pro XXS nao estourar */
@media(max-width:365px){
  .dy-sizebox .dy-sz{font-size:10px;letter-spacing:-.2px}
  .dy-szimg{flex-basis:42px;width:42px;padding:3px}
  .dy-szgrp{gap:7px}
}
/* rotulo do express checkout menor (o do hero.css vinha grande demais) */
.dy-exp-lbl{font-size:11px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--dy-soft)}
.dy-szrow{display:flex;flex-wrap:wrap;gap:8px}
.dy-sz{min-width:48px;padding:10px 12px;border:1px solid var(--dy-line);border-radius:8px;background:#fff;font-size:13.5px;font-weight:500;color:var(--dy-ink)}
.dy-sz.on{background:var(--dy-ink);color:#fff;border-color:var(--dy-ink)}
.dy-szrow.need{outline:2px solid var(--dy-red);outline-offset:3px;border-radius:8px}

/* ===== combo bump ===== */
.dy-combo{margin-top:16px;border:1.5px solid var(--dy-ink);border-radius:11px;background:#fbfaf8;overflow:hidden}
.dy-combo.on{background:#f2efe9}
.dy-combo-top{display:flex;align-items:center;gap:11px;padding:12px 13px;cursor:pointer}
.dy-combo-top input{width:19px;height:19px;accent-color:#1A1A1A;flex:0 0 auto}
.dy-combo-imgs{display:flex;flex:0 0 auto}
.dy-combo-imgs img{width:38px;height:46px;object-fit:contain}
.dy-combo-imgs img+img{margin-left:-10px}
.dy-combo-tx{flex:1;min-width:0;font-size:13px;line-height:1.4;color:var(--dy-soft)}
.dy-combo-tx b{display:block;color:var(--dy-ink);font-weight:700;font-size:13.5px}
.dy-combo-pr{flex:0 0 auto;text-align:right;font-size:14px;font-weight:700}
.dy-combo-pr s{display:block;font-size:11px;color:var(--dy-red);font-weight:400}
.dy-combo-res{padding:0 13px 11px 43px;font-size:12px;color:var(--dy-soft)}

/* popup do combo */
.dy-cpop{position:fixed;inset:0;z-index:95;display:none;align-items:flex-end;justify-content:center}
/* popup do kit vive POR CIMA do drawer do carrinho (o drawer do cart.css usa
   z-index 99995 — nao os 90 do shell) */
.dy-kpop{z-index:100001}
.dy-kpop .dy-cpop-item .hd i{font-size:13.5px;color:var(--dy-ink)}
.dy-kpop .dy-cpop-item .hd i s{color:var(--dy-red);font-size:12px}
.dy-cpop.show{display:flex}
.dy-cpop-bg{position:absolute;inset:0;background:rgba(0,0,0,.5)}
.dy-cpop-card{position:relative;background:#fff;border-radius:16px 16px 0 0;width:100%;max-width:520px;max-height:88vh;overflow-y:auto;padding:20px 18px 24px}
@media(min-width:640px){.dy-cpop{align-items:center}.dy-cpop-card{border-radius:16px}}
.dy-cpop-x{position:absolute;top:12px;right:12px;background:none;border:0;padding:6px}
.dy-cpop-card h3{font-size:19px;font-weight:600;padding-right:36px}
.dy-cpop-sub{font-size:13px;color:var(--dy-soft);margin-top:4px}
.dy-cpop-item{margin-top:18px;border:1px solid var(--dy-line);border-radius:11px;padding:13px}
.dy-cpop-item .hd{display:flex;align-items:center;gap:11px;margin-bottom:10px}
.dy-cpop-item .hd img{width:52px;height:58px;object-fit:contain;flex:0 0 auto}
.dy-cpop-item .hd b{font-size:14.5px;font-weight:600}
.dy-cpop-item .hd i{display:block;font-style:normal;font-size:12px;color:var(--dy-soft)}
.dy-cpop-lb{display:block;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--dy-soft);margin:10px 0 6px}
.dy-cpop-item .dy-szrow{flex-wrap:nowrap;gap:3px}
.dy-cpop-item .dy-szrow .dy-sz{flex:1 1 0;min-width:0;padding:8px 0;font-size:11px;text-align:center;border-radius:7px}
@media(max-width:365px){.dy-cpop-item .dy-szrow .dy-sz{font-size:10px;letter-spacing:-.2px}}
.dy-cpop-tot{display:flex;justify-content:space-between;align-items:baseline;margin-top:18px;font-size:14px}
.dy-cpop-tot b{font-size:20px}
.dy-cpop-tot s{color:var(--dy-red);font-size:13px;margin-left:6px}
.dy-cpop-ok{display:block;width:100%;background:var(--dy-ink);color:#fff;border:0;font-size:15px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:16px;border-radius:9px;margin-top:12px}

/* ===== faixa tiktok ===== */
.dy-tiktok{background:#F4F2F1;margin-top:34px;padding:26px 16px;text-align:center}
.dy-tiktok h2{font-size:clamp(20px,5vw,26px);font-weight:600;letter-spacing:.01em}
.dy-tiktok p{font-size:13.5px;color:var(--dy-soft);margin-top:6px;max-width:520px;margin-left:auto;margin-right:auto;line-height:1.6}
.dy-tiktok .big{font-size:clamp(30px,8vw,44px);font-weight:800;letter-spacing:-.02em;display:block;margin-top:2px}
/* carrossel de stories dentro da faixa tiktok */
.dy-tt-wrap{max-width:1080px;margin:22px auto 4px;text-align:left}
.dy-ttcard{border-radius:18px;padding:3px;background:linear-gradient(45deg,#25F4EE,#FE2C55)}
.dy-ttcard video{border-radius:15px}
.dy-ttcard .hd{left:13px;bottom:13px}
.dy-ttcard .snd{top:11px;right:11px}

/* ===== secoes genericas ===== */
.dy-sec{padding:38px 0 8px}
.dy-sec h2{font-size:clamp(22px,5.6vw,30px);font-weight:600;letter-spacing:.01em;line-height:1.2}
.dy-sec .sub{font-size:14px;color:var(--dy-soft);margin-top:6px;line-height:1.6;max-width:560px}
.dy-secwrap{position:relative;margin-top:18px}
.dy-track{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:6px}
.dy-track::-webkit-scrollbar{display:none}
.dy-track>*{scroll-snap-align:start;flex:0 0 auto}
.dy-arr{position:absolute;top:38%;transform:translateY(-50%);z-index:5;width:38px;height:38px;border-radius:50%;border:1px solid var(--dy-line);background:#fff;color:var(--dy-ink);font-size:20px;line-height:1;display:none;align-items:center;justify-content:center;box-shadow:0 2px 10px rgba(0,0,0,.08)}
.dy-arr.l{left:-8px}.dy-arr.r{right:-8px}
@media(min-width:760px){.dy-arr{display:flex}}

/* secoes com head/texto centralizados (pedido do Gabriel): every body, looks,
   ugc, fit guide (menos o conteudo do card .dy-fit) e reviews */
#dyBodySec h2,#dyLookSec h2,#dyUgcSec h2,#dyFitSec h2,#dyRevSec h2{text-align:center}
#dyBodySec .sub,#dyLookSec .sub,#dyUgcSec .sub,#dyFitSec .sub,#dyRevSec .sub{text-align:center;margin-left:auto;margin-right:auto}
.dy-body-card{width:236px}
.dy-body-card img{width:236px;height:315px;object-fit:cover;border-radius:10px;background:#f4f2f1}
.dy-body-card .nm{font-size:13.5px;font-weight:600;margin-top:8px}
.dy-body-card .ft{font-size:12.5px;color:var(--dy-soft);margin-top:1px}

/* tecido */
#dyFabSec h2{text-align:center}
#dyFabSec .dy-fab-tx{text-align:center}
#dyFabSec .dy-fab-tx li{justify-content:center;text-align:left}
.dy-fab{display:grid;gap:18px;margin-top:18px}
@media(min-width:760px){.dy-fab{grid-template-columns:1fr 1fr;align-items:center}}
.dy-fab video,.dy-fab img{width:100%;border-radius:12px;display:block}
.dy-fab-tx h3{font-size:18px;font-weight:600;margin-bottom:8px}
.dy-fab-tx p{font-size:14px;color:var(--dy-soft);line-height:1.7;margin-bottom:12px}
.dy-fab-tx ul{list-style:none}
.dy-fab-tx li{display:flex;gap:9px;align-items:flex-start;font-size:13.5px;color:#3a3a3a;line-height:1.55;margin-top:8px}
.dy-fab-tx li svg{flex:0 0 auto;margin-top:2px}

/* looks */
.dy-look-card{width:250px}
.dy-look-card img{width:250px;height:333px;object-fit:cover;border-radius:10px}
.dy-look-card .nm{font-size:14px;font-weight:600;margin-top:8px}
.dy-look-card .ft{font-size:12.5px;color:var(--dy-soft);margin-top:1px;line-height:1.5}

/* ugc videos */
.dy-ugcv{position:relative;width:198px;border-radius:12px;overflow:hidden;background:#000}
.dy-ugcv video{width:198px;height:352px;object-fit:cover;display:block}
.dy-ugcv .hd{position:absolute;left:10px;bottom:10px;color:#fff;font-size:12px;font-weight:600;text-shadow:0 1px 6px rgba(0,0,0,.7)}
.dy-ugcv .snd{position:absolute;top:8px;right:8px;color:#fff;background:rgba(0,0,0,.45);border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center;pointer-events:none}
.dy-ugcv.som .snd{background:#fff;color:#111}

/* barra de stories estilo Instagram (Seen on your feed) */
.dy-igbar{display:flex;gap:18px;justify-content:center;margin-top:20px;overflow-x:auto;padding:4px 10px;scrollbar-width:none}
.dy-igbar::-webkit-scrollbar{display:none}
.dy-ig{background:none;border:0;display:flex;flex-direction:column;align-items:center;gap:6px;flex:0 0 auto;padding:0;transition:transform .16s cubic-bezier(.34,1.56,.64,1)}
.dy-ig:active{transform:scale(.94)}
.dy-ig .ring{width:74px;height:74px;border-radius:50%;padding:3px;background:linear-gradient(45deg,#f09433 0%,#e6683c 25%,#dc2743 50%,#cc2366 75%,#bc1888 100%);display:block}
.dy-ig .ring img{width:100%;height:100%;border-radius:50%;object-fit:cover;border:2.5px solid #fff;display:block;background:#eee}
.dy-ig i{font-style:normal;font-size:11px;color:#262626;max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* viewer de story (fullscreen, imita IG) */
.dy-svw{position:fixed;inset:0;z-index:100005;background:#000;display:none}
.dy-svw.show{display:flex;align-items:center;justify-content:center}
.dy-svw-stage{position:relative;width:100%;height:100%;max-width:430px;margin:0 auto;background:#000;overflow:hidden}
#dySvVid{width:100%;height:100%;object-fit:contain;display:block;background:#000}
.dy-svw-bars{position:absolute;top:10px;left:10px;right:10px;display:flex;gap:4px;z-index:6}
.dy-svw-bars span{flex:1;height:2.5px;background:rgba(255,255,255,.35);border-radius:2px;overflow:hidden}
.dy-svw-bars span i{display:block;height:100%;width:0;background:#fff}
.dy-svw-user{position:absolute;top:20px;left:12px;right:8px;display:flex;align-items:center;gap:8px;z-index:6;color:#fff}
.dy-svw-user img{width:34px;height:34px;border-radius:50%;object-fit:cover}
.dy-svw-user b{font-size:13.5px;font-weight:600;text-shadow:0 1px 4px rgba(0,0,0,.55)}
.dy-svw-user .t{font-size:12.5px;color:rgba(255,255,255,.75)}
.dy-svw-x{margin-left:auto;background:none;border:0;padding:8px;transition:transform .16s}
.dy-svw-x:active{transform:scale(.9)}
.dy-svw-tap{position:absolute;top:0;bottom:0;z-index:5}
.dy-svw-tap.l{left:0;width:35%}
.dy-svw-tap.r{right:0;width:65%}

/* guia de tamanho / comprimento */
.dy-fit{background:#faf8f5;border-radius:14px;padding:22px 18px;margin-top:18px}
.dy-fit h3{font-size:16px;font-weight:600;margin-bottom:10px}
.dy-fit table{width:100%;border-collapse:collapse;font-size:13px}
.dy-fit th{text-align:left;font-weight:600;color:var(--dy-soft);font-size:12px;letter-spacing:.04em;text-transform:uppercase;padding:8px 6px;border-bottom:1px solid #e5ded4}
.dy-fit td{padding:10px 6px;border-bottom:1px solid #eee7dc;color:#3a3a3a;line-height:1.5}
.dy-fit .ok{font-weight:600;color:var(--dy-ink)}
.dy-fit .note{font-size:12.5px;color:var(--dy-soft);margin-top:12px;line-height:1.6}

/* cards do rel: textos alinhados a ESQUERDA na mesma coluna, sem vao gordo
   (o rel.css centraliza por heranca e estica os cards na altura do maior) */
.dy-rel-card{text-align:left}
/* o rel.css poe padding 14/20/22 no titulo (1a definicao) — e ele que desalinha
   o texto e engorda o bloco; zera e alinha na coluna dos 16px */
.dy-rel-title{text-align:left;margin:12px 16px 0;padding:0}
.dy-rel-sub{text-align:left;margin:3px 16px 0;padding:0}
.dy-rel-foot{margin-top:10px}
.dy-rel-grid{align-items:flex-start}

/* seletores de variante no popup do rel */
.dy-pop-row{margin:4px 0 8px}
.dy-pop-bd .dy-cpop-lb{margin-top:12px}
.dy-pop-bd .dy-sz{min-width:42px;padding:8px 9px;font-size:12px}

/* trustpilot (template oficial, header) */
.dy-tps-head{display:flex;flex-direction:column;align-items:center;gap:11px;padding:0 20px;margin-top:20px}
.dy-tps-logo{display:inline-flex;align-items:center;gap:6px;font-size:19px;font-weight:700;letter-spacing:-.02em;color:var(--dy-ink)}
.dy-tps-tpstar{width:21px;height:21px;background:#00b67a;display:inline-flex;align-items:center;justify-content:center;border-radius:3px}
.dy-tps-tpstar svg{width:15px;height:15px}
.dy-tps-stars{display:flex;gap:2px}
.dy-tps-stars span{width:25px;height:25px;display:flex;align-items:center;justify-content:center;border-radius:2px;background:#00b67a}
.dy-tps-stars span svg{width:17px;height:17px}
.dy-tps-rate{font-size:13.5px;color:var(--dy-soft);text-align:center}
.dy-tps-rate b{color:var(--dy-ink)}

/* reviews */
.dy-rev-card{width:262px;border:1px solid var(--dy-line);border-radius:12px;overflow:hidden;background:#fff}
.dy-rev-card img{width:100%;height:280px;object-fit:cover;display:block}
.dy-rev-bd{padding:12px 13px 14px}
.dy-rev-bd .st{color:#111;letter-spacing:2px;font-size:13px}
.dy-rev-bd .ti{font-size:13.5px;font-weight:600;margin-top:5px}
.dy-rev-bd .tx{font-size:12.5px;color:var(--dy-soft);line-height:1.55;margin-top:4px}
.dy-rev-bd .who{font-size:11.5px;color:#999;margin-top:8px}
.dy-rev-bd .who b{color:#3a3a3a;font-weight:600}
.dy-rev-bd .vf{display:inline-flex;align-items:center;gap:4px;color:#1a7f37;font-size:11px;font-weight:600;margin-left:6px}

/* why $88 */
.dy-why{background:#1A1A1A;color:#fff;border-radius:16px;padding:26px 20px;margin-top:20px}
.dy-why h3{font-size:20px;font-weight:600}
.dy-why p{font-size:13.5px;color:#cfcfcf;line-height:1.7;margin-top:10px}
.dy-why table{width:100%;border-collapse:collapse;margin-top:16px;font-size:13px}
.dy-why th{font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:#9a9a9a;text-align:left;padding:8px 6px;border-bottom:1px solid #333}
.dy-why th:last-child,.dy-why td:last-child{text-align:right}
.dy-why td{padding:10px 6px;border-bottom:1px solid #2c2c2c;color:#e8e8e8}
.dy-why .tot td{font-weight:700;border-bottom:0;color:#fff}
.dy-why .rk{color:#f0d99a}

/* you may also like: imagem em tela cheia no card — cover sem NENHUM padding
   (o rel.css tem padding:20px na 1a definicao do .dy-rel-media), colada nas
   bordas; o overflow:hidden do card ja recorta nos 12px de raio da silhueta */
.dy-rel-media{background:#f7f6f4;padding:0;border-radius:0;overflow:hidden}
.dy-rel-media img{object-fit:cover;object-position:50% 22%;padding:0;margin:0;aspect-ratio:1/1;width:100%;display:block;border-radius:0}

/* faq */
.dy-faq{max-width:680px;margin:18px auto 0}
.dy-faq-it{border-bottom:1px solid var(--dy-line)}
.dy-faq-q{width:100%;display:flex;justify-content:space-between;align-items:center;gap:12px;background:none;border:0;text-align:left;font-size:15px;font-weight:500;color:var(--dy-ink);padding:16px 2px}
.dy-faq-q svg{flex:0 0 auto;transition:transform .25s}
.dy-faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease}
.dy-faq-a p{font-size:13.5px;color:var(--dy-soft);line-height:1.7;padding:0 2px 16px}
.dy-faq-it.open .dy-faq-a{max-height:300px}
.dy-faq-it.open .dy-faq-q svg{transform:rotate(45deg)}

/* rodape de secoes */
.dy-cta-mini{display:block;width:fit-content;margin:26px auto 38px;background:var(--dy-ink);color:#fff;text-decoration:none;font-size:13.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:15px 34px;border-radius:9px}

/* ===== ANIMACOES (leves: so transform/opacity, GPU) ===== */
/* reveal on-scroll — classes atribuidas pelo dy-page.js */
.rv{opacity:0;transition:opacity .9s ease,transform .9s cubic-bezier(.22,.61,.36,1);will-change:opacity,transform}
.rv-l{transform:translateX(-22px)}
.rv-r{transform:translateX(22px)}
.rv-u{transform:translateY(26px)}
.rv-z{transform:scale(.93)}
.rv.rv-on{opacity:1;transform:none}

/* micro-interacao de toque: encolhe levinho no press... */
.dy-sz,.dy-cta,.dy-cta-mini,.dy-thumb,.dy-arr,.dy-ruler,.dy-exp-btn,.dy-combo-top,
.dy-paircard,.dy-cpop-ok,.dy-cpop-x,.dy-pop-cta,.dy-rel-btn,.dy-rel-see,.dy-cart-co,
.dy-bump,.dy-faq-q,.dy-ann-a,.dy-thumbrow .arw,.dy-burger,.dy-cartbtn,.dy-arw,
.dy-qty button,.dy-cart-rm,.dy-draw-x,.dy-cart-x,.dy-pop-x{
  transition:transform .16s cubic-bezier(.34,1.56,.64,1)}
.dy-sz:active,.dy-cta:active,.dy-cta-mini:active,.dy-thumb:active,.dy-arr:active,
.dy-ruler:active,.dy-exp-btn:active,.dy-combo-top:active,.dy-paircard:active,
.dy-cpop-ok:active,.dy-cpop-x:active,.dy-pop-cta:active,.dy-rel-btn:active,
.dy-rel-see:active,.dy-cart-co:active,.dy-bump:active,.dy-faq-q:active,
.dy-ann-a:active,.dy-thumbrow .arw:active,.dy-burger:active,.dy-cartbtn:active,
.dy-arw:active,.dy-qty button:active,.dy-cart-rm:active,.dy-draw-x:active,
.dy-cart-x:active,.dy-pop-x:active{transform:scale(.95)}

/* ...e pula (pop) ao confirmar o clique — classe aplicada pelo dy-page.js */
@keyframes dyPop{0%{transform:scale(1)}45%{transform:scale(1.09)}100%{transform:scale(1)}}
.dy-popped{animation:dyPop .3s cubic-bezier(.34,1.56,.64,1)}

@media (prefers-reduced-motion: reduce){
  .rv{transition:none;opacity:1;transform:none}
  .dy-popped{animation:none}
}

/* ===== zoom fullscreen da galeria ===== */
.dy-gal-main img{cursor:zoom-in}
.dy-zoom{position:fixed;inset:0;z-index:100002;background:#fff;display:none}
.dy-zoom.show{display:block}
.dy-zoom-stage{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;overflow:hidden;touch-action:none;overscroll-behavior:contain}
.dy-zoom-stage img{max-width:100%;max-height:100%;user-select:none;-webkit-user-select:none;-webkit-user-drag:none;will-change:transform;transform-origin:center center}
.dy-zoom-x{position:fixed;top:14px;right:14px;z-index:2;width:42px;height:42px;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid #e8e8e8;border-radius:50%;box-shadow:0 2px 12px rgba(0,0,0,.14);cursor:pointer;padding:0}
.dy-zoom-hint{position:fixed;left:50%;bottom:26px;transform:translateX(-50%);z-index:2;background:rgba(17,17,17,.82);color:#fff;font-size:12px;letter-spacing:.03em;padding:8px 15px;border-radius:99px;pointer-events:none;opacity:0;transition:opacity .3s}
.dy-zoom-hint.on{opacity:1}
