/* R22: refine existing seasonal compositions; tokens and commerce remain shared. */
.storefront .pds-announcement-mobile { display:none; }
.storefront .footer-brand p { font-family:var(--font-interface); font-size:18px; line-height:1.6; }
.storefront .pds-help>.text-link { text-decoration:underline; text-underline-offset:5px; display:inline-flex; align-items:center; min-height:44px; }
.storefront .pds-card-reference { white-space:nowrap; }
.storefront .season-dots { display:none; }
.storefront.style-galeria .season-hero { grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr); gap:0 48px; }
.storefront.style-galeria .season-photo { width:100%; height:auto; aspect-ratio:2/3; }
.storefront.style-galeria .season-meta {
  grid-row:1/3; align-self:end; justify-self:stretch; margin:0 16px 16px;
  padding:0 16px; min-height:48px; background:var(--paper); color:var(--forest);
  border-left:3px solid var(--gold); justify-content:space-between;
}
.storefront .pds-size-grid { display:flex; flex-wrap:wrap; gap:12px; }
.storefront .pds-size-item { flex:1 1 132px; min-width:132px; }
.storefront .pds-size-item>label { display:block; max-width:none; margin-bottom:8px; font-size:15px; font-weight:600; }
.storefront .pds-size-stepper { display:flex; align-items:stretch; border:1px solid var(--line); background:var(--paper); }
.storefront .pds-size-stepper input { width:100%; min-width:44px; height:46px; padding:6px; text-align:center; border:0; border-radius:0; font-size:16px; }
.storefront .pds-size-stepper button { display:none; min-width:44px; min-height:46px; padding:0; border:0; background:transparent; color:var(--forest); font:500 22px/1 var(--font-interface); cursor:pointer; }
.storefront [data-quantity-ready] .pds-size-stepper button { display:block; }
.storefront [data-quantity-ready] .pds-size-stepper input { appearance:textfield; -moz-appearance:textfield; }
.storefront [data-quantity-ready] input::-webkit-inner-spin-button,.storefront [data-quantity-ready] input::-webkit-outer-spin-button { appearance:none; margin:0; }
.storefront .pds-size-stepper button:disabled { opacity:.3; cursor:default; }
.storefront .pds-size-stepper button:hover:not(:disabled) { background:var(--sand-200); }
.storefront .pds-size-summary { padding:12px 0; border-top:1px solid var(--line); font-size:15px; font-weight:600; font-variant-numeric:tabular-nums; }
.storefront .pds-model-gallery { min-width:0; }
.storefront .pds-model-gallery .gallery-track { border-radius:0; background:transparent; }
.storefront .pds-model-gallery .gallery-slide { aspect-ratio:2/3; max-height:740px; }
.storefront .pds-model-gallery .gallery-slide img { object-fit:contain; }
.storefront .pds-model-gallery .gallery-slide video { display:block; width:100%; height:100%; object-fit:contain; background:var(--commerce-surface); }
.storefront .pds-model-gallery .gallery-thumb-video { position:relative; }
.storefront .pds-model-gallery .gallery-thumb-video::after { content:""; position:absolute; inset:0; width:0; height:0; margin:auto; border-style:solid; border-width:11px 0 11px 18px; border-color:transparent transparent transparent #fff; filter:drop-shadow(0 1px 3px rgb(0 0 0 / 60%)); }
.storefront .pds-model-gallery .gallery-thumbnails a { width:72px; height:90px; border-radius:0; }
@media(min-width:1001px) {
  /* Two real portraits fill the editorial grid without cropping the garments. */
  .storefront.style-galeria .season-photo { width:64%; justify-self:start; }
  .storefront.style-galeria .season-secondary { display:block; position:relative; inset:auto; grid-column:2; grid-row:1/3; width:32%; height:auto; aspect-ratio:2/3; justify-self:end; align-self:end; margin-bottom:64px; }
  .storefront.style-galeria .season-meta { width:calc(64% - 32px); justify-self:start; }
}
@media(max-width:1000px) {
  body.storefront { padding-bottom:0; }
  .storefront .site-footer { padding-bottom:calc(40px + var(--dock-space)); }
}
@media(max-width:700px) {
  .storefront .pds-announcement-desktop { display:none; }
  .storefront .pds-announcement-mobile { display:inline; letter-spacing:0; }
  .storefront .pds-document-card>div>small { min-height:0; }
  .storefront .pds-card-family { display:none; }
  .storefront.style-galeria .season-hero { grid-template-columns:1fr; gap:0; }
  .storefront.style-galeria .season-photo { width:100%; height:auto; aspect-ratio:2/3; }
  .storefront.style-galeria .season-meta { grid-row:2; grid-column:1; margin:0 12px 12px; padding:0 12px; font-size:13px; }
  .storefront.style-galeria .season-controls { grid-row:3; width:100%; justify-content:space-between; margin:8px 0 0; }
  .storefront .season-controls { gap:8px; }
  .storefront .season-controls [data-premium-prev],.storefront .season-controls [data-premium-next],
  .storefront[class*="style-"] .season-controls [data-premium-counter] { display:none; }
  .storefront .season-dots { display:flex; }
  .storefront .season-dots button { width:44px; height:44px; padding:0; border:0; display:grid; place-items:center; }
  .storefront .season-dots button::before { content:''; display:block; width:6px; height:6px; border-radius:8px; background:currentColor; opacity:.4; }
  .storefront .season-dots button[aria-pressed="true"]::before { width:22px; opacity:1; }
  .storefront .season-controls [data-premium-pause] { min-width:44px; width:44px; height:44px; font-size:0; }
  .storefront .season-controls [data-premium-pause]::before { content:'Ⅱ'; font-size:18px; }
  .storefront .season-controls [data-premium-pause][aria-pressed="true"]::before { content:'▷'; }
  .storefront .pds-size-item { flex:1 1 100%; display:flex; align-items:center; justify-content:space-between; gap:16px; }
  .storefront .pds-size-item>label { margin:0; }
  .storefront .pds-size-stepper { width:176px; flex-shrink:0; }
}

/* R189 (diretor, 09/11): botão "Salvar vídeo" embaixo da galeria. */
.storefront .pds-video-save { display:grid; justify-items:start; gap:6px; margin:4px 0 18px; }
.storefront .pds-video-save .button { min-height:48px; }
.storefront .pds-video-save .button[aria-busy="true"] { cursor:progress; opacity:.75; }
.storefront .pds-video-save small { color:var(--ink-600); font-size:13px; }
/* R191 (diretor, 09/11): o vídeo abre em tela cheia do site, com "Salvar vídeo" no canto de baixo. */
.storefront .pds-model-gallery .gallery-slide-video.has-viewer video { cursor:pointer; }
.storefront .gallery-video-play { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); display:inline-flex; align-items:center; gap:8px; min-height:52px; padding:0 22px; border:0; border-radius:999px; background:rgb(15 11 9 / 72%); color:#fff; font:inherit; font-weight:600; font-size:16px; cursor:pointer; }
.storefront .gallery-video-play:focus-visible { outline:3px solid #fff; outline-offset:3px; }
.storefront .gallery-video-play[hidden] { display:none; }
.video-viewer { display:none; }
.video-viewer[open] { display:flex; flex-direction:column; gap:12px; padding:12px 16px calc(16px + env(safe-area-inset-bottom)); }
.video-viewer .lightbox-top { flex:0 0 auto; height:48px; font-weight:600; }
.video-viewer-media { flex:1 1 auto; min-height:0; width:100%; height:auto; object-fit:contain; background:#000; }
.video-viewer-bar { flex:0 0 auto; display:flex; align-items:center; justify-content:flex-end; gap:14px; min-height:56px; }
.video-viewer-bar small { flex:1 1 auto; color:rgb(255 255 255 / 78%); font-size:13px; text-align:right; }
dialog.gallery-lightbox.video-viewer .video-viewer-save, dialog.gallery-lightbox.photo-viewer .video-viewer-save { flex:0 0 auto; min-height:48px; padding:0 22px; display:inline-flex; align-items:center; white-space:nowrap; background:#fff; color:#1d1714; border:1px solid #fff; border-radius:999px; font-weight:600; text-decoration:none; box-shadow:none; }
dialog.gallery-lightbox.video-viewer .video-viewer-save[aria-busy="true"], dialog.gallery-lightbox.photo-viewer .video-viewer-save[aria-busy="true"] { cursor:progress; opacity:.75; }
/* R192 (diretor, 09/11): a foto ampliada ganha o mesmo aviso e o botão "Salvar foto" no canto de baixo. */
.photo-viewer[open] { display:flex; flex-direction:column; gap:8px; padding:12px 16px calc(16px + env(safe-area-inset-bottom)); }
.photo-viewer .lightbox-top { flex:0 0 auto; height:48px; }
.photo-viewer .lightbox-image { flex:1 1 auto; min-height:0; height:auto; }
.photo-viewer .lightbox-controls { flex:0 0 auto; height:56px; }
.photo-viewer .video-viewer-bar { flex:0 0 auto; display:flex; align-items:center; justify-content:flex-end; gap:14px; min-height:56px; }
.photo-viewer .video-viewer-bar small { flex:1 1 auto; color:rgb(255 255 255 / 78%); font-size:13px; text-align:right; }
