/* Imagens Vila SP: proporção única, credenciais em estúdio vermelho e produto fiel. */
@font-face{font-family:Montserrat;font-style:normal;font-weight:900;font-display:swap;src:url('../assets/fonts/montserrat-black-latin.woff2') format('woff2')}
.product-media{aspect-ratio:4/5;background:#1b171a;isolation:isolate}
.product-media>.product-symbol{color:#79636b}
.media-brand{position:absolute;top:13px;left:13px;z-index:3;background:#121214e8;border:1px solid #ffffff1c;border-left:2px solid var(--red);padding:4px 7px;font-size:8px;line-height:12px;font-weight:700;letter-spacing:.1em;color:#f4f4f5;border-radius:2px}
.media-kind{position:absolute;bottom:12px;left:12px;right:12px;z-index:3;display:block;text-align:center;font-size:9px;color:#ded6db;background:#121214d9;border:1px solid #ffffff13;border-radius:3px;padding:4px 7px;line-height:14px}
.product-media .media-tag{left:auto;right:10px;top:12px;font-size:8px;background:#121214dd;max-width:calc(100% - 95px)}
.product-media[data-media-kind=render]{background:#eeebe7}
.product-media[data-media-kind=render]>img{padding:38px 9px 38px;object-fit:contain}
.product-media[data-media-kind=item]{background:radial-gradient(ellipse at 50% 44%,#38232b 0%,#1d171b 48%,#171416 80%)}
.product-media[data-media-kind=item]>img{width:62%;height:62%;inset:19%;object-fit:contain}
.product-media[data-media-kind=art]>img{object-fit:cover}
.product-media[data-media-kind=photo]>img{object-fit:contain;background:#1a1a1e;padding:28px 0}
.product-media[data-vehicle-studio=true]>img{object-fit:cover;background:transparent;padding:0}
.product-media[data-media-kind=pending]{background:linear-gradient(150deg,#301b22,#171416 70%)}
.product-media[data-media-kind=pending]>.product-symbol{width:54px;height:54px;stroke-width:1}
.detail-visual .product-media{aspect-ratio:4/5;max-width:540px;margin-inline:auto}
.detail-visual .media-brand{top:18px;left:18px;font-size:11px;padding:6px 10px}
.detail-visual .media-kind{bottom:18px;left:18px;right:18px;font-size:11px;padding:6px 9px}
.detail-visual .product-media .media-tag{top:18px;right:18px;left:auto;font-size:10px}
.related-section .product-media{aspect-ratio:4/5}
/* The viewBox is measured from actual alpha pixels, never from the PNG canvas.
   Every vehicle shares this frame, contact line and title size. */
.product-media:is([data-category=veiculos],[data-category=motos],[data-category=aeronaves]){aspect-ratio:4/3}
.product-media[data-vehicle-scene="2"]{aspect-ratio:4/3;container-type:inline-size;background:#3b080c url('../assets/studio/automotive-red-v2.png') center/cover no-repeat}
.product-media[data-vehicle-scene="2"]::after{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(180deg,#11010318 40%,#13010320 65%,#130103d9 100%);pointer-events:none}
.vehicle-cutout{position:absolute;left:5%;top:4%;width:90%;height:65%;z-index:2;overflow:hidden;filter:drop-shadow(0 3px 2px #08000055);pointer-events:none}
.vehicle-ground{position:absolute;left:15%;bottom:29%;width:70%;height:8%;background:radial-gradient(ellipse,#090304b3 0%,#09030466 35%,transparent 70%);z-index:1;pointer-events:none}
.vehicle-signature{position:absolute;top:6%;left:7%;z-index:3;font-size:2.3cqw;font-weight:800;letter-spacing:.18em;color:#fffc;line-height:1}
.vehicle-caption{position:absolute;left:5%;right:5%;bottom:5.5%;z-index:3;text-align:center;color:#fff;pointer-events:none}
.vehicle-make{display:block;font-size:3cqw;line-height:1.4;letter-spacing:.22em;font-weight:600;text-transform:uppercase;margin-bottom:1.2cqw}
.vehicle-model{display:block;font-family:Montserrat,sans-serif;font-size:8.8cqw;line-height:1;letter-spacing:-.045em;font-weight:900;text-transform:uppercase;white-space:nowrap;text-shadow:0 2px 14px #12000080}
.product-media[data-vehicle-scene="2"] .media-tag{top:5%;right:6%;font-size:2.5cqw;padding:.8cqw 1.5cqw;max-width:55%}
.detail-visual .product-media[data-vehicle-scene="2"],.related-section .product-media[data-vehicle-scene="2"]{aspect-ratio:4/3}
/* Bundles use the same red studio and type scale, with real component images. */
.product-media[data-combo-scene]{aspect-ratio:4/3;container-type:inline-size;background:#3b080c url('../assets/studio/automotive-red-v2.png') center/cover no-repeat}
.product-media[data-combo-scene]::after{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(180deg,#10000100 45%,#140102db 100%);pointer-events:none}
.bundle-count{position:absolute;top:5.5%;right:7%;z-index:3;font-size:2.4cqw;line-height:1.2;font-weight:600;color:#fff9}
.bundle-subjects{position:absolute;left:5%;top:10%;width:90%;height:53%;display:flex;gap:3%;align-items:center;z-index:2}
.product-media[data-combo-scene] .vehicle-ground{bottom:34%}
.bundle-subject{position:relative;flex:1;min-width:0;height:100%;filter:drop-shadow(0 3px 3px #0c000066)}
.bundle-subject>svg{width:100%;height:100%;overflow:hidden}
.product-media .bundle-subject>img{object-fit:contain;width:100%;height:100%;inset:0;background:transparent;padding:0}
.product-media .bundle-subject[data-kind=item]>img{width:100%;height:76%;top:12%;inset-inline:0;image-rendering:auto}
.product-media .bundle-subject[data-kind=render]>img{height:86%;top:7%;background:#eeebe7;border-radius:4px}
.bundle-subject .bundle-fallback{width:50%;height:50%;margin:25%;color:#e2c2c6}
.product-media[data-combo-scene=duo] .bundle-subjects,.product-media[data-combo-scene=vehicle-kit] .bundle-subjects{display:block}
.product-media[data-combo-scene=duo] .bundle-subject,.product-media[data-combo-scene=vehicle-kit] .bundle-subject{position:absolute}
.product-media[data-combo-scene=duo] .bundle-subject[data-position="0"],.product-media[data-combo-scene=vehicle-kit] .bundle-subject[data-position="0"]{left:-3%;width:84%;height:100%;bottom:0}
.product-media[data-combo-scene=duo] .bundle-subject[data-position="1"]{left:58%;width:46%;height:100%;bottom:0}
.product-media[data-combo-scene=vehicle-kit] .bundle-subject[data-position="1"]{left:79%;width:21%;height:50%;top:0}
.product-media[data-combo-scene=vehicle-kit] .bundle-subject[data-position="2"]{left:79%;width:21%;height:42%;bottom:0}
.detail-visual .product-media[data-combo-scene],.related-section .product-media[data-combo-scene]{aspect-ratio:4/3}
.bundle-filters{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 20px}.bundle-filters[hidden]{display:none}
.bundle-filter{appearance:none;background:transparent;border:1px solid var(--line);border-radius:5px;padding:8px 10px;font:500 11px Montserrat,sans-serif;color:var(--muted);cursor:pointer;line-height:1.4}
.bundle-filter[aria-pressed=true]{background:#2d171c;border-color:#b62e44;color:#fff}.bundle-filter:hover{color:#fff;border-color:#a75160}.bundle-filter:focus-visible{outline:2px solid var(--red);outline-offset:3px}
.bundle-components{margin-top:24px}.bundle-components h2{font-size:14px;font-weight:700;margin:0 0 8px}.bundle-component-list{list-style:none;margin:0;padding:0}
.bundle-component-list>li{display:flex;gap:12px;align-items:flex-start;border-bottom:1px solid var(--line);padding:12px 0}.bundle-component-quantity{flex:0 0 26px;font-size:13px;line-height:1.6;color:#f0c5ce}
.bundle-component-copy{min-width:0}.bundle-component-name{font-size:12px;font-weight:600;color:#f4f4f5;text-decoration:none;line-height:1.6}.bundle-component-name[href]:hover{text-decoration:underline;color:#ffb0bf}
.bundle-component-duration{display:block;font-size:10px;color:#d9b5bd;margin-top:2px}.bundle-component-note{display:block;font-size:10px;line-height:1.7;color:var(--muted);margin-top:4px}
.vip-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;max-width:1130px;margin-inline:auto}
.studio-sections{display:grid;gap:42px}
.studio-section-heading{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:18px}
.studio-section-heading h2{font-size:19px}.studio-section-heading p{font-size:12px;color:var(--muted);margin-top:5px}
.studio-notes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:28px}
.studio-note{padding:18px 20px;border:1px solid var(--line);border-radius:9px;background:var(--surface)}
.studio-note strong{display:block;font-size:13px;font-weight:600;margin-bottom:8px}.studio-note p{font-size:11px;color:var(--muted);line-height:1.8}
.studio-swatches{display:flex;gap:7px;margin-top:12px}.studio-swatch{width:24px;height:24px;border:1px solid #ffffff22;border-radius:4px}.studio-swatch.red{background:#e52b3b}.studio-swatch.graphite{background:#141416}.studio-swatch.white{background:#f4f4f5}
#art-downloads{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.studio-cover-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.studio-guide-link{display:flex;justify-content:space-between;gap:18px;align-items:center;margin:18px 0 25px}.studio-guide-link p{font-size:12px;color:var(--muted)}
#media-kinds-summary{font-size:11px;color:var(--muted);line-height:1.9;margin:0 0 22px}.photo-toolbar #photo-kind{max-width:180px}
@media(max-width:900px){.studio-notes{gap:12px}.studio-note{padding:16px}.studio-cover-grid{gap:15px}.vip-grid{gap:16px}}
@media(max-width:700px){.vip-grid,.studio-cover-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.studio-notes{grid-template-columns:1fr;gap:10px}.studio-note{padding:15px 17px}.studio-section-heading{display:block}.studio-section-heading h2{font-size:17px}.studio-sections{gap:32px}.media-brand{font-size:6px;line-height:10px;left:8px;top:9px;padding:3px 5px;letter-spacing:.07em}.media-kind{font-size:8px;line-height:12px;bottom:8px;left:8px;right:8px;padding:3px 5px}.product-media .media-tag{font-size:7px;max-width:calc(100% - 78px);right:7px;top:9px;padding:3px 5px}.studio-guide-link{display:block}.studio-guide-link .text-link{margin-top:12px}.detail-visual .product-media{max-width:430px}.photo-toolbar #photo-kind{max-width:100%}}
@media(prefers-reduced-motion:reduce){.product-media *{transition:none!important}}
