/* Neutral white surfaces across catalogue, product pages and the detail dialog. */
.designs,dialog#detail,.design-page,.sport-feature,.design-next,.design-details{background:#fff}
.product-visual,.simulator-visual,.feature-kit,.design-stage{background:#fff}
.design-details{border-top-color:#e6e6e6}
.availability{background:#f5f5f5}
.design-buy button{background:#f3f3f3}

/* A persistent, accessible close control without the browser's blue text style. */
dialog#detail{padding:0 28px 28px;border:1px solid #e6e6e6;border-radius:22px;max-height:calc(100svh - 32px);color:var(--ink)}
.dialog-toolbar{position:sticky;top:0;z-index:2;display:flex;justify-content:flex-end;padding:12px 0;background:#fff}
dialog#detail .close{position:static;display:grid;place-items:center;width:44px;height:44px;min-width:44px;padding:0;border:1px solid #e7e7e7;border-radius:50%;background:#f5f5f5;color:#101110;text-decoration:none;touch-action:manipulation;transition:background .2s}
dialog#detail .close svg{width:19px;height:19px;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;pointer-events:none}
dialog#detail .close:hover{background:#e9e9e9}
dialog#detail .close:focus-visible{outline:2px solid #101110;outline-offset:3px}
#detail-body{padding:0 6px}
#detail-body .eyebrow{margin:6px 0 24px}
#detail-body h2{font-size:clamp(46px,9vw,65px)}

/* Rotate the original production photographs without resampling their pixels. */
.about-image .production-photo{width:var(--production-height,600px);height:var(--production-width,600px);left:50%;top:50%;transform:translate(-50%,-50%) rotate(90deg);object-fit:cover;object-position:center}
.hero .hero-athlete{object-position:55% center}
@media(max-width:800px){
 .hero .hero-athlete{object-position:34% center}
 dialog#detail{width:calc(100% - 28px);padding:0 18px 24px;border-radius:20px}
 #detail-body{padding:0 4px}
 /* Leave room for the fixed WhatsApp control to the right of the slideshow. */
 .hero .carousel-controls{left:6%;right:auto;bottom:78px;max-width:calc(100% - 100px)}
 .hero .carousel-controls button{min-width:30px;padding:7px 8px}
 .hero .carousel-controls .carousel-toggle{min-width:70px;margin-left:3px;padding-left:10px}
}

/* Consistent white studio tiles for every sport, catalogue and detail view. */
:root{--paper:#fff}
.collection-kit{background-image:var(--sheet)!important;background-size:300% 200%!important;background-color:#fff;background-repeat:no-repeat;aspect-ratio:1;height:auto;transform:none!important;border-radius:0}
.external-arrow{display:inline-block;width:20px;height:20px;vertical-align:middle;margin-left:10px;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.sports-submenu{max-height:70svh;overflow-y:auto}
.modality-collection{background:#fff;color:var(--ink)}
.modality-collection .section-head{margin-bottom:42px}.modality-collection .grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.modality-collection .catalog-note{margin-bottom:0}.modality-collection .product-visual{width:100%}
.sport-card{background:#fff}.sport-card .collection-kit{width:100%;left:0;top:0;filter:none}
.sport-hero.collection-hero{background:#1b2119;display:grid;grid-template-columns:1.15fr 1fr;gap:5%;min-height:760px}
.collection-hero .sport-hero-copy{z-index:1}.collection-hero .hero-kit{border-radius:20px;width:100%;box-shadow:0 20px 80px #0004}
.collection-hero .sport-hero-shade{display:none}
.collection-hero h1{font-size:clamp(65px,7vw,110px)}
@media(max-width:800px){
 .sports-submenu a{font-size:17px;padding:12px 8px}.sports-submenu a span{margin-right:8px}
 .sport-hero.collection-hero{display:flex;flex-direction:column;gap:30px;padding-bottom:90px;min-height:0}
 .collection-hero .breadcrumbs{margin-bottom:40px}.collection-hero .hero-kit{max-width:440px;align-self:center}
 .modality-collection .grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .modality-collection .product-actions{flex-wrap:wrap}.modality-collection .product-actions button{white-space:normal}
 .sport-card .collection-kit{width:100%;left:0;top:0}
}
@media(max-width:480px){.modality-collection .grid{grid-template-columns:1fr}.modality-collection .product-copy h3{font-size:36px}}

/* A short curated selection expands only when requested. */
.catalogue-pagination{display:flex;flex-direction:column;align-items:center;gap:15px;margin-top:45px;padding-top:28px;border-top:1px solid #e5e5e5}
.catalogue-pagination p{margin:0;color:#68705f;font-size:17px;letter-spacing:.5px}
.catalogue-pagination .button{min-width:220px;font-size:20px;background:#101110;color:#fff}
.catalogue-pagination .button:hover{background:#2b3325}
.catalogue-pagination .button:focus-visible{outline-color:#101110}
.catalogue-pagination [hidden]{display:none}
@media(max-width:800px){.catalogue-pagination{margin-top:30px}.catalogue-pagination .button{width:100%;max-width:360px}}

/* One design, five deliberately selected colour combinations. */
.collection-kit.colour-kit{background-size:500% 500%!important;background-position:var(--x) var(--y)!important}
.colour-picker{border:0;border-top:1px solid #dedede;margin:24px 0 0;padding:20px 0 0;min-width:0}
.colour-picker legend{font-size:21px;font-weight:600;padding:0 8px 0 0}
.colour-options{display:flex;gap:12px;flex-wrap:wrap;margin:12px 0}
.colour-options button{position:relative;display:grid;place-items:center;width:48px;height:48px;padding:4px;background:#fff;border:1px solid #ddd;border-radius:50%;cursor:pointer}
.colour-options button>span{display:block;width:100%;height:100%;border-radius:50%;background:linear-gradient(135deg,var(--colour-a) 0 65%,var(--colour-b) 65% 100%);border:1px solid #0001}
.colour-options button[aria-pressed="true"]{border:2px solid #141914;box-shadow:0 0 0 3px #d6fa38}
.colour-options svg{position:absolute;width:19px;height:19px;left:10px;top:9px;stroke:#fff;fill:none;stroke-width:2.2;display:none;filter:drop-shadow(0 1px 1px #0008)}
.colour-options button[aria-pressed="true"] svg{display:block}
.colour-options button:focus-visible{outline:2px solid #101110;outline-offset:5px}
.colour-picker .colour-name{font-size:19px;font-weight:600;margin:10px 0 0}
.accessory-note{font-size:16px!important;line-height:1.5!important;color:#596052;margin:14px 0 24px!important;max-width:60ch}
.leisure-filters{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 28px}
.leisure-filters button{font:inherit;font-size:19px;border:1px solid #d4d8d1;background:#fff;color:#101110;padding:10px 20px;border-radius:30px;cursor:pointer}
.leisure-filters button[aria-pressed="true"]{background:#101110;color:#fff;border-color:#101110}
.leisure-filters button:focus-visible{outline:2px solid #101110;outline-offset:3px}
@media(max-width:480px){.colour-options{gap:10px}.colour-options button{width:44px;height:44px}}

/* Keep complete mockups inside their measured source frame, without stretching. */
.collection-kit.refined-kit{background-image:none!important;overflow:hidden}
.framed-kit{display:block;width:100%;height:100%;aspect-ratio:1;overflow:hidden;background:#fff}

/* Product views stay alongside the colour controls in mobile and desktop dialogs. */
.view-picker{border:0;padding:0;margin:20px 0;min-width:0}
.view-picker legend{font-size:21px;font-weight:600;margin-bottom:10px}
.view-options{display:flex;gap:10px;flex-wrap:wrap}
.view-options button{font:inherit;font-size:19px;min-height:44px;padding:9px 24px;border:1px solid #ccd0c8;border-radius:30px;background:#fff;color:#101110;cursor:pointer}
.view-options button[aria-pressed="true"]{background:#101110;color:#fff;border-color:#101110}
.view-options button:disabled{opacity:.4;cursor:default}
.view-options button:focus-visible{outline:2px solid #101110;outline-offset:4px}
.view-picker p{font-size:16px!important;line-height:1.4!important;color:#596052;margin:12px 0 0!important}
/* Secção HALFTONE seguida da coleção: ambas brancas, as folgas somavam ~140px de vazio (Pedro, 28/10/2026). */
.subpage .sport-feature{padding-bottom:40px}.sport-feature+.modality-collection{padding-top:16px}
/* O fundo das imagens dos equipamentos é 252–254, não 255: num cartão branco via-se um retângulo à volta do kit (Pedro, 28/10/2026). */
.framed-kit{filter:brightness(1.015)}
/* Contraste mínimo 4,5:1 sobre branco (Lighthouse, 28/10/2026): filtros, modalidade nos cartões e nota do catálogo. */
#designs .filters button:not(.active),.product-copy small,.catalog-note{color:#5b6054}
