/* celular e tablet da página da mala (docs/design-system/RESPONSIVIDADE.md); o desktop a partir de 1280 px fica em mala.css */
.tr{display:none}
html{scroll-padding-bottom:96px}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

@media (max-width:1279px){
  .wrap{padding-left:max(var(--gutter),env(safe-area-inset-left));padding-right:max(var(--gutter),env(safe-area-inset-right))}
  .pdp-g{grid-template-columns:minmax(0,1fr) 384px;gap:40px}
  .inc,.inc:not(:has(>li:nth-child(3))){grid-template-columns:minmax(0,1fr);gap:6px}
  .inc li,.inc li+li{padding:2px 0;border-left:0}
}

@media (max-width:1023px){
  .pdp-t,.pdp-g{max-width:688px}
  .pdp-g{display:flex;flex-direction:column;align-items:stretch;gap:0;padding-top:16px;padding-bottom:40px}
  .gal{display:contents}
  .stage,body.res .stage{height:min(calc(100vw - 48px),600px,62svh)}
  .th{display:flex;gap:8px;margin-top:12px;overflow-x:auto;scrollbar-width:none}
  .th::-webkit-scrollbar{display:none}
  .th button{flex:none;width:64px;height:64px}
  .buy{order:1;margin-top:24px;padding-top:0}
  .buy{display:flex;flex-direction:column}
  .buy>*{order:2}
  .buy .brand,.buy .vit,.buy .tam{order:0}
  .buy .cores{order:1}
  .buy .rt{align-self:flex-start;margin-top:12px}
  .inc{order:2;gap:10px;margin-top:28px;padding-top:20px}
  .inc li{font-size:.9375rem}

  #ficha .sp{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:32px}
  #ficha .fi-v{height:320px}
  #ficha .fi-v img{height:270px}
  #ficha dl{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px}
  #ficha dl div{align-content:start}
  .cf4{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 32px}
  .cf4::before{display:none}
  .pc,.pc.pc-2{grid-template-columns:minmax(0,1fr);gap:12px;max-width:640px;background:none;border:0;box-shadow:none}
  .pc>div,.pc>div+div{background:var(--white);border:1px solid var(--n200);border-radius:var(--r-lg);box-shadow:var(--sh-sm)}
  .rv-l{grid-template-columns:minmax(0,1fr);gap:16px;max-width:640px;margin-left:auto;margin-right:auto}
  .rv-l blockquote{min-height:0}
  .rv-mais.oculto{display:none}

  .bb{padding-bottom:env(safe-area-inset-bottom)}
  .bb .wrap,.bb .wrap:has(.bb-c[hidden]){grid-template-columns:48px minmax(0,1fr) auto auto;gap:16px;min-height:72px}
  .bb-c{display:none}
  .fa{padding-bottom:calc(28px + 88px + env(safe-area-inset-bottom))}
}

@media (max-width:767px){
  .pdp-t{padding-top:8px}
  .bc{flex-wrap:wrap;font-size:.875rem}
  .bc a{display:inline-flex;align-items:center;min-height:44px;padding:0 6px;margin:0 -6px}
  .pdp-g{padding-top:4px}
  .stage,body.res .stage{height:min(calc(100vw - 2 * var(--gutter)),58svh);border-radius:var(--r-lg)}
  .rs .wrap{display:grid;grid-template-columns:18px minmax(0,1fr);gap:2px 10px;align-items:start;padding-top:10px;padding-bottom:4px;font-size:.875rem;line-height:1.45}
  .rs .wrap>.ico{margin-top:1px}
  .rs-v{grid-column:2;justify-self:start;min-height:44px;margin-left:-4px}
  .ops{margin-top:20px}
  .ops legend{font-size:.9375rem}
  .op{min-height:44px;font-size:.9375rem}
  .op-p{font-size:.875rem}
  .vt-wa{font-size:1rem}
  .vt-wa a{min-height:44px}
  .tam{gap:6px}
  .tam .pill{padding:0 10px;font-size:.78125rem}
  .gc{left:12px;bottom:12px}
  .buy{margin-top:20px}
  .rt{min-height:44px;margin-top:6px;font-size:.875rem}
  .pr{margin-top:14px;padding-top:18px}
  .pr-v b{font-size:1.875rem}
  .pr-n,.cta-n{font-size:.875rem}
  .cores{margin-top:20px}
  .cores legend{font-size:.9375rem}
  .sw{height:44px;font-size:.9375rem}
  .swb{width:44px;height:44px}
  .swb .dot{width:30px;height:30px}
  .cor-u{font-size:.9375rem}
  .b-cta{margin-top:22px}
  .inc li{font-size:1rem}

  #ficha.band{padding:48px 0}
  #ficha .sp{grid-template-columns:minmax(0,1fr);gap:24px}
  #ficha .fi-v{height:240px}
  #ficha .fi-v img{height:200px}
  #ficha .h2{font-size:1.5rem}
  #ficha dl div{padding:12px 0}
  #ficha dt{font-size:.875rem}
  #ficha dd{font-size:1rem}

  .cf4{grid-template-columns:minmax(0,1fr);gap:0;max-width:34rem;margin-left:auto;margin-right:auto}
  .cf4 li{display:grid;grid-template-columns:56px minmax(0,1fr);column-gap:16px;align-items:start;padding-bottom:28px;text-align:left}
  .cf4 li:last-child{padding-bottom:0}
  .cf4 li>.ico{grid-row:1/3;position:relative;z-index:1}
  .cf4 li:not(:last-child)::after{content:"";position:absolute;left:27px;top:56px;bottom:0;width:2px;background:var(--p200)}
  .cf4 li>b{margin-top:4px;font-size:1.0625rem}
  .cf4 p{max-width:none;margin-top:4px;font-size:1rem;text-wrap:pretty}

  .pc>div{padding:22px 20px}
  .pc p{font-size:1rem}
  .pc-f .lk,.rv-r .lk{min-height:44px;margin:0;padding:0}
  .rv-r{flex-wrap:wrap;gap:4px 12px}
  .rv-r i{display:none}
  .rv-r .lk{flex-basis:100%;justify-content:center}
  .rv-l figure{padding:22px 20px}
  .rv-mais{min-height:44px}

  .bb-f,.bb-n{display:none}
  .bb .wrap,.bb .wrap:has(.bb-c[hidden]){grid-template-columns:minmax(0,1fr) auto;gap:12px;min-height:68px;padding-top:10px;padding-bottom:10px}
  .bb-p{text-align:left}
  .bb-p b{font-size:1.125rem}
  .bb .btn{min-width:0;padding:0 18px}
  .fa{padding-bottom:calc(28px + 76px + env(safe-area-inset-bottom))}
  html{scroll-padding-bottom:84px}
}

@media (max-width:429px){
  .bb .wrap{gap:10px}
  .bb .btn{padding:0 16px}
  .bb .btn .ico{display:none}
}
@media (max-width:359px){
  .bb .btn{padding:0 12px}
}

/* celular deitado: foto e compra lado a lado, barra de compra baixa (exceção ao RESPONSIVIDADE §9, decisão do Renato) */
@media (orientation:landscape) and (max-height:500px){
  .pdp-t,.pdp-g{max-width:none}
  .pdp-g{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto auto 1fr;column-gap:32px;align-items:start;padding-bottom:32px}
  .stage,body.res .stage{grid-column:1;grid-row:1;height:min(300px,calc(100svh - 110px))}
  .tam{gap:6px}
  .tam .pill{padding:0 10px;font-size:.78125rem}
  .th{grid-column:1;grid-row:2}
  .inc{grid-column:1;grid-row:3;order:0}
  .buy{grid-column:2;grid-row:1/4;margin-top:0}
  .vit{font-size:2rem}
  .bb-f{display:none}
  .bb .wrap,.bb .wrap:has(.bb-c[hidden]){grid-template-columns:minmax(0,1fr) auto auto;min-height:56px;padding-top:6px;padding-bottom:6px}
  .fa{padding-bottom:calc(28px + 64px + env(safe-area-inset-bottom))}
  html{scroll-padding-bottom:72px}
}

/* foto em tela cheia (como o Espiar da reserva: reserva/src/steps/malas/espiar.ts e malas.css) */
.so-leitor{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.amp{position:absolute;inset:0;padding:0;border:0;border-radius:inherit;background:transparent;cursor:zoom-in}
.amp:focus-visible{outline-offset:-3px}
html:has(.fundo > .tela-foto){overflow:hidden}
.fundo{position:fixed;inset:0;z-index:1200;display:flex;background:var(--n900);overscroll-behavior:contain}
.tela-foto{display:flex;flex-direction:column;width:100%;height:100dvh;color:var(--white);outline:0}
.tela-foto .painel-cab{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:max(8px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) 8px max(16px,env(safe-area-inset-left))}
.tela-foto h2{display:-webkit-box;min-width:0;margin:0;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:1.0625rem;font-weight:600;line-height:1.35;color:var(--white);text-wrap:balance}
.tela-foto :where(p){margin:0}
.tela-foto .fechar{display:grid;place-items:center;flex:none;width:40px;height:40px;padding:0;border:0;border-radius:var(--r-md);background:var(--white);color:var(--n900);cursor:pointer}
.tela-foto :focus-visible{outline-color:var(--white)}
.tela-foto .painel-corpo{flex:1;min-height:0;padding:0 0 env(safe-area-inset-bottom)}
.tc-gal{position:relative;height:100%}
.tc-f{display:flex;height:100%;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none}
.tc-f::-webkit-scrollbar{display:none}
.tela-foto .tc-f:focus-visible{outline-color:var(--p500);outline-offset:-3px}
.tc-f img{flex:0 0 100%;width:100%;height:100%;max-width:none;object-fit:contain;scroll-snap-align:start}
.tc-s{position:absolute;top:50%;display:grid;place-items:center;width:40px;height:40px;margin-top:-20px;padding:0;border:0;border-radius:50%;background:var(--white);color:var(--p700);box-shadow:var(--sh-sm);cursor:pointer}
.tc-s .ico{width:20px;height:20px}
.tc-a{left:max(8px,env(safe-area-inset-left))}
.tc-p{right:max(8px,env(safe-area-inset-right))}
.tc-n{position:absolute;right:max(10px,env(safe-area-inset-right));bottom:10px;padding:1px 8px;border-radius:var(--r-full);background:var(--white);box-shadow:var(--sh-xs);color:var(--n700);font-size:.78125rem;font-weight:600;pointer-events:none}
@media (pointer:coarse){.tela-foto .fechar,.tc-s{width:44px;height:44px}.tc-s{margin-top:-22px}.tc-s,.tela-foto .fechar,.tc-f{touch-action:manipulation}}

/* galeria que desliza: celular, tablet e qualquer tela de toque */
@media (max-width:1023px),(pointer:coarse){
  .stage #ph,.amp{display:none}
  .tr{display:flex;position:absolute;inset:0;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}
  .tr::-webkit-scrollbar{display:none}
  .tr:focus-visible{outline-offset:-4px}
  .stage .tr button{flex:0 0 100%;width:100%;height:100%;padding:0;border:0;background:transparent;cursor:zoom-in;scroll-snap-align:center;scroll-snap-stop:always}
  .stage .tr button:focus-visible{outline-offset:-3px}
  .stage .tr img{position:static;display:block;width:100%;height:100%;max-width:none;padding:24px 32px;object-fit:contain;transition:none}
  .gc{pointer-events:none}
}
@media (max-width:767px){.stage .tr img{padding:16px 20px}}

/* toque: alvos de 44 px (RESPONSIVIDADE §6) */
@media (pointer:coarse){
  .gb{display:none}
  .sw,.rt,.rv-mais,.op,.rs-v,.vt-wa a{min-height:44px}
  .sw{height:44px}
  .swb{width:44px;height:44px}
  .bc a{display:inline-flex;align-items:center;min-height:44px;padding:0 6px;margin:0 -6px}
  .pc-f .lk,.rv-r .lk{min-height:44px;margin:0;padding:0}
  .bb-c button{width:44px;height:44px}
  .btn,.sw,.swb,.op,.th button,.bb-c button,.tr,.cat-nav,.cat-dots button,.mc .dot{touch-action:manipulation}
  .btn:active{filter:brightness(.94)}
}
