.product-slider{position:relative;width:100%;height:100%;overflow:hidden;background:#15191a}
.product-slider img{position:absolute!important;inset:0;width:100%!important;height:100%!important;object-fit:cover;opacity:0;transform:scale(1.025);transition:opacity .75s ease,transform 1.2s ease}
.product-slider img.active{opacity:1;transform:scale(1)}
.set-grid article>.product-slider{min-height:240px}

/* Visor principal: sobrio, horizontal y sin la galería duplicada. */
.detail-media{min-width:0;align-self:stretch;background:#fff}
.detail-stage{position:sticky;top:18px;overflow:hidden;background:#090c0d;border:1px solid #202627;box-shadow:0 20px 50px rgba(0,0,0,.18)}
.product-detail .detail-img{position:relative;min-height:0;aspect-ratio:4/3;overflow:hidden;background:radial-gradient(circle at 50% 42%,#252c2e 0,#151a1c 45%,#090c0d 100%)}
.product-detail .detail-img:after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.12),transparent 24%,transparent 70%,rgba(0,0,0,.72))}
.product-detail .detail-img>img{position:absolute;inset:0;z-index:1;width:100%;height:100%;object-fit:contain}
.product-detail .detail-img>img.preview-swap{animation:previewSwap .22s ease both}
.product-detail .detail-img>span{z-index:2;pointer-events:none;font-size:clamp(54px,8vw,86px)}
.product-detail .detail-img>b{left:14px;right:auto;top:14px;bottom:auto;z-index:3;padding:7px 9px;border:1px solid rgba(255,255,255,.16);background:rgba(8,11,12,.78);color:#fff;letter-spacing:.1em;backdrop-filter:blur(7px)}
.detail-photo-meta{position:absolute;left:20px;right:20px;bottom:17px;z-index:3;color:#fff}
.detail-photo-meta small,.detail-photo-meta strong{display:block}
.detail-photo-meta small{margin-bottom:4px;color:#063eff;font:800 9px Inter,sans-serif;letter-spacing:.14em}
.detail-photo-meta strong{overflow:hidden;color:#fff;font:700 clamp(18px,2vw,26px) Inter,sans-serif;line-height:1;text-overflow:ellipsis;white-space:nowrap}
.detail-stage-help{display:flex;align-items:center;gap:9px;margin:0;padding:12px 15px;color:#9fa8aa;background:#0d1112;font-size:9px;line-height:1.45}
.detail-stage-help i{flex:0 0 6px;width:6px;height:6px;background:#063eff;border-radius:50%;box-shadow:0 0 0 4px rgba(6,62,255,.09)}

/* La misma cuadrícula sirve para previsualizar y seleccionar la compra. */
.selector-preview-hint{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:13px 0 8px;color:#899193;font-size:8px;line-height:1.4}
.selector-preview-hint span{color:#063eff;font-weight:800;letter-spacing:.12em}
.photo-selector,.photo-selector.smart-selector{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;max-height:320px;overflow-y:auto;padding:2px 4px 2px 2px;scrollbar-color:#063eff #252b2c;scrollbar-width:thin}
.photo-selector label{position:relative;display:block;min-width:0;padding:4px;cursor:pointer;border:1px solid #2c3334;background:#111617;transition:border-color .18s ease,background .18s ease,transform .18s ease}
.photo-selector label:hover,.photo-selector label:focus-visible{outline:0;border-color:#737d7f;background:#171d1e;transform:translateY(-1px)}
.photo-selector label.is-viewing{border-color:#063eff;background:#171d1e;box-shadow:inset 0 -2px #063eff}
.photo-selector input{position:absolute;opacity:0;pointer-events:none}
.photo-selector label>span{position:relative;display:block;height:78px;overflow:hidden;border:2px solid transparent;background:#080b0c}
.photo-selector label>span img{width:100%;height:100%;object-fit:cover;transition:transform .25s ease,opacity .25s ease}
.photo-selector label:hover>span img,.photo-selector label.is-viewing>span img{transform:scale(1.035)}
.photo-selector label>span i{display:none;position:absolute;right:5px;top:5px;z-index:2;width:21px;height:21px;background:#063eff;color:#111;font-style:normal;font-weight:900;text-align:center;line-height:21px;box-shadow:0 3px 10px rgba(0,0,0,.28)}
.photo-selector input:checked+span{border-color:#063eff}
.photo-selector input:checked+span i{display:block}
.photo-selector label>small,.photo-selector label>b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.photo-selector label>small{margin-top:5px;color:#899293;font-size:7px}
.photo-selector label>b,.photo-selector.smart-selector label>b{margin-top:1px;color:#fff;font:700 13px Inter,sans-serif}

.multi-photo-form{margin:14px 0!important;padding:16px!important;background:#f2f4f3!important}
.selection-head{display:flex;align-items:end;justify-content:space-between;gap:14px;margin-bottom:13px}
.selection-head span b,.selection-head span small{display:block}
.selection-head span b{font-size:10px}
.selection-head span small{margin-top:4px;color:#747d7e;font-size:9px}
.selection-head em{font:800 25px Inter;font-style:normal}
.smart-photo-selection.smart-photo-selection h2{font-size:27px}
.multi-photo-form>button{margin-top:13px}
.multi-photo-form>button:disabled{cursor:not-allowed;opacity:.35}
.detail-set-box{margin-top:14px}
.product-detail .detail-copy h1{font-size:clamp(38px,4vw,48px);line-height:.92}
.smart-photo-selection.smart-photo-selection>header{position:static;top:auto;left:auto;right:auto;z-index:auto;height:auto;min-height:0;padding:0;border:0;background:transparent;color:inherit;display:flex;align-items:flex-end;justify-content:space-between;gap:12px}
.smart-photo-selection .smart-total{flex:0 0 auto;color:#fff;font-size:26px;line-height:1;white-space:nowrap}

@keyframes previewSwap{from{opacity:.7}to{opacity:1}}

@media(max-width:1100px){
 .photo-selector,.photo-selector.smart-selector{grid-template-columns:repeat(3,minmax(0,1fr))}
 .photo-selector label>span{height:82px}
}

@media(max-width:850px){
 .detail-media{align-self:start}
 .detail-stage{position:static;top:auto}
 .product-detail .detail-img{min-height:0;aspect-ratio:3/2}
 .detail-stage{box-shadow:0 12px 34px rgba(0,0,0,.16)}
 .photo-selector,.photo-selector.smart-selector{grid-template-columns:repeat(4,minmax(0,1fr));max-height:300px}
 .photo-selector label>span{height:88px}
}

@media(max-width:620px){
 .product-detail .detail-img{min-height:0;aspect-ratio:4/3}
 .product-detail .detail-img>b{left:10px;top:10px;padding:6px 7px;font-size:6px}
 .product-detail .detail-img>span{font-size:52px}
 .detail-photo-meta{left:14px;right:14px;bottom:12px}
 .detail-photo-meta strong{font-size:18px}
 .detail-stage-help{display:none}
 .smart-photo-selection.smart-photo-selection{margin:13px -6px!important;padding:16px 12px!important}
 .smart-photo-selection.smart-photo-selection h2{font-size:24px}
 .product-detail .detail-copy h1{font-size:34px}
 .smart-photo-selection .smart-total{font-size:23px}
 .smart-photo-selection .available-packs{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
 .smart-photo-selection .available-packs>div{display:block;padding:8px 6px;text-align:center}
 .smart-photo-selection .available-packs b,.smart-photo-selection .available-packs strong,.smart-photo-selection .available-packs small{display:block}
 .smart-photo-selection .available-packs b{margin:4px 0;font-size:16px}
 .selector-preview-hint{align-items:flex-start;flex-direction:column;gap:3px;margin-top:11px}
 .photo-selector,.photo-selector.smart-selector{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;max-height:264px}
 .photo-selector label{padding:3px}
 .photo-selector label>span{height:76px}
 .photo-selector label>small{display:none}
 .photo-selector label>b,.photo-selector.smart-selector label>b{margin:4px 2px 2px;font-size:12px}
 .selection-head{align-items:flex-start;flex-direction:column}
}

@media(max-width:390px){
 .product-detail .detail-img{min-height:0;aspect-ratio:4/3}
 .product-detail .detail-copy h1{font-size:32px}
 .photo-selector,.photo-selector.smart-selector{grid-template-columns:repeat(2,minmax(0,1fr));max-height:250px}
 .photo-selector label>span{height:96px}
}

@media(prefers-reduced-motion:reduce){
 .product-detail .detail-img>img.preview-swap,.photo-selector label,.photo-selector label>span img{animation:none;transition:none}
}

/* Selector explícito para foto individual, combos y set completo. */
.purchase-mode-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:12px;padding:19px 20px;border:1px solid #d7dce5;background:#f6f8fb}
.purchase-mode-heading span>small,.purchase-mode-heading span>strong{display:block}
.purchase-mode-heading span>small{color:#2563eb;font-size:10px;font-weight:800;letter-spacing:.12em}
.purchase-mode-heading span>strong{margin-top:5px;color:#142033;font:800 22px/1.05 "Barlow Condensed",Inter,sans-serif}
.purchase-mode-heading p{max-width:430px;margin:0;color:#657186;font-size:12px;line-height:1.5;text-align:right}
.purchase-mode-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:10px}
.purchase-mode-card{position:relative;display:grid;min-height:138px;align-content:start;gap:5px;padding:16px!important;border:1px solid #ccd5e1!important;border-radius:7px!important;background:#fff!important;color:#17243a!important;text-align:left!important;cursor:pointer}
button.purchase-mode-card:hover,button.purchase-mode-card.active,.purchase-mode-card.combo-card.active{border-color:#2563eb!important;background:#eff5ff!important;box-shadow:inset 0 0 0 1px #2563eb}
.purchase-mode-card>span{display:grid;width:29px;height:29px;place-items:center;margin-bottom:3px;border-radius:5px;background:#e9eef5;color:#526179;font-size:10px;font-weight:800}
.purchase-mode-card.active>span,.purchase-mode-card.combo-card.active>span{background:#2563eb;color:#fff}
.purchase-mode-card>b{font-size:13px;font-weight:800;letter-spacing:.025em}
.purchase-mode-card>small{color:#6b7688;font-size:11px;line-height:1.4}
.purchase-mode-card>strong{margin-top:auto;color:#2563eb;font-size:12px;font-weight:800}
.purchase-mode-card.combo-card{cursor:default}
.pack-purchase-panel .available-packs>button{display:block;min-width:0;padding:13px 14px;border:1px solid #d7d7df;border-radius:7px;background:#fff;color:#17171d;text-align:center;cursor:pointer}
.pack-purchase-panel .available-packs>button small,.pack-purchase-panel .available-packs>button b,.pack-purchase-panel .available-packs>button strong{display:block}
.pack-purchase-panel .available-packs>button small{color:#73747d;font-size:10px;font-weight:700}
.pack-purchase-panel .available-packs>button b{margin:4px 0;color:#17171d;font:800 18px/1 Inter,sans-serif}
.pack-purchase-panel .available-packs>button strong{color:#5b21b6;font-size:13px}
.pack-purchase-panel .available-packs>button:hover,.pack-purchase-panel .available-packs>button.active{border-color:#7c3aed;background:#7c3aed;color:#fff}
.pack-purchase-panel .available-packs>button.active small,.pack-purchase-panel .available-packs>button.active b,.pack-purchase-panel .available-packs>button.active strong{color:#fff}
.smart-mode.set-active{background:#0f9d8f;color:#fff}
.smart-help{font-size:11px!important;line-height:1.5!important}

@media(max-width:760px){
 .purchase-mode-heading{align-items:flex-start;flex-direction:column;gap:8px;padding:16px}
 .purchase-mode-heading p{text-align:left}
 .purchase-mode-grid{grid-template-columns:1fr}
 .purchase-mode-card{min-height:112px}
 .pack-purchase-panel .available-packs>button{flex:0 0 155px}
}
