/* Revolution Sport · tienda editorial (vista previa) */
html:not(.store-ready) .store-image-hit { display:none; }

.card-photo { position:relative; }
.store-image-hit {
  position:absolute; inset:0; z-index:3; width:100%; height:100%;
  border:0; background:transparent; cursor:zoom-in;
}
.store-image-hit::after {
  content:""; position:absolute; inset:12px; border:1px solid rgba(232,199,133,0);
  transition:border-color .22s ease; pointer-events:none;
}
.store-image-hit:hover::after, .store-image-hit:focus-visible::after { border-color:rgba(232,199,133,.58); }
.store-image-hit span {
  position:absolute; right:18px; bottom:18px; width:42px; height:42px;
  display:grid; place-items:center; border:1px solid rgba(232,199,133,.7);
  border-radius:50%; background:rgba(14,14,18,.82); color:var(--gold-bright);
  backdrop-filter:blur(8px); font:400 1.25rem var(--font-body);
  transition:background .2s ease,transform .2s ease;
}
.store-image-hit:hover span { background:#44361f; transform:scale(1.08); }

.revolution-tech-rail {
  border-top:1px solid rgba(205,165,88,.2);
  border-bottom:1px solid rgba(205,165,88,.2);
  background:linear-gradient(90deg,#19151a,#201a19 50%,#17151a);
}
.revolution-tech-rail-inner {
  min-height:90px; display:flex; align-items:center; justify-content:space-between;
  gap:18px; padding-top:16px; padding-bottom:16px;
}
.revolution-tech-rail-title { color:var(--gold-bright); font:600 1.2rem/1.1 var(--font-display); }
.revolution-tech-rail-inner > span:not(:first-child) {
  padding-left:18px; border-left:1px solid rgba(205,165,88,.36);
  color:var(--chalk); font:700 .86rem/1.3 var(--font-body);
}

.product-sheet-scrim[hidden], .product-sheet[hidden] { display:none !important; }
.product-sheet-scrim {
  position:fixed; inset:0; z-index:300;
  background:rgba(0,0,0,.74); backdrop-filter:blur(8px);
}
.product-sheet {
  position:fixed; top:50%; left:50%; z-index:301;
  transform:translate(-50%,-50%);
  width:min(1120px,calc(100vw - 32px)); height:min(760px,calc(100dvh - 32px));
  display:flex; flex-direction:column; overflow:hidden;
  border:1px solid rgba(205,165,88,.28); border-radius:20px; background:#17161b;
  color:var(--chalk); box-shadow:0 35px 120px rgba(0,0,0,.8);
  animation:product-sheet-enter .36s cubic-bezier(.2,.75,.2,1) both;
}
@keyframes product-sheet-enter {
  from { opacity:0; transform:translate(-50%,-48%) scale(.98); }
  to { opacity:1; transform:translate(-50%,-50%) scale(1); }
}
body.product-sheet-open { overflow:hidden; }
.product-sheet-top {
  min-height:68px; display:flex; align-items:center; gap:18px;
  padding:10px clamp(18px,4vw,32px); border-bottom:1px solid var(--line);
  background:#121115; flex:none;
}
.product-sheet-brand { font-family:var(--font-display); font-size:1.15rem; white-space:nowrap; }
.product-sheet-brand b { color:var(--gold); font-weight:600; }
.product-sheet-top-label { margin-left:auto; color:#c6b9a6; font-size:.86rem; }
.product-sheet-close {
  width:38px; height:38px; flex:none; display:grid; place-items:center;
  border:1px solid rgba(244,240,230,.25); border-radius:50%;
  color:var(--chalk); background:transparent; cursor:pointer;
  font:500 1rem var(--font-body);
}
.product-sheet-close:hover { border-color:var(--gold); color:var(--gold-bright); }
.product-sheet-scroll {
  min-height:0; flex:1; display:grid;
  grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);
  overflow:hidden; overscroll-behavior:contain;
}
.product-sheet-gallery { min-height:0; display:flex; padding:18px; border-right:1px solid var(--line); }
.product-sheet-stage {
  position:relative; flex:1; min-height:0; overflow:hidden;
  isolation:isolate;
  border:1px solid rgba(205,165,88,.23); border-radius:18px; background:#161318;
}
.product-sheet-stage::before {
  content:""; position:absolute; inset:-30px; z-index:0; pointer-events:none;
  background-image:var(--sheet-photo); background-size:cover; background-position:center;
  filter:blur(35px) brightness(.42); transform:scale(1.06);
}
.product-sheet-stage::after {
  content:""; position:absolute; inset:0; z-index:0; pointer-events:none;
  background:linear-gradient(90deg,rgba(17,16,20,.38),transparent 25%,transparent 75%,rgba(17,16,20,.38));
}
.product-sheet-stage img {
  position:absolute; inset:0; z-index:1; display:block; width:100%; height:100%;
  object-fit:contain; padding:0; cursor:zoom-in;
  /* Las cuatro fotos tienen margen propio: acercamos sin cortar ningún balón. */
  transform:scale(1.35); transform-origin:center;
  transition:transform .35s ease;
}
.product-sheet-stage.is-zoomed img { cursor:zoom-out; }
.product-sheet-stage.is-zoomed img { transform:scale(2); }
.product-sheet-zoom {
  position:absolute; z-index:3; right:16px; bottom:16px; width:44px; height:44px;
  display:grid; place-items:center; border:1px solid rgba(232,199,133,.7);
  border-radius:50%; background:rgba(14,14,18,.85); color:var(--gold-bright);
  cursor:pointer; font:400 1.5rem/1 var(--font-body);
}
.product-sheet-zoom:hover { background:#44361f; }
.product-sheet-content { min-width:0; min-height:0; overflow-y:auto; padding:32px clamp(22px,3vw,38px) 28px; }
.product-sheet-kicker { margin-bottom:8px; color:var(--gold-bright); font-size:.8rem; font-weight:700; }
.product-sheet-content h2 { font-size:clamp(2rem,3.3vw,3rem); line-height:1.08; }
.product-sheet-description { margin-top:13px; color:#d0c7ba; font-size:1rem; line-height:1.55; }
.product-sheet-switcher { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; margin-top:24px; }
.product-sheet-switcher button {
  min-width:0; min-height:102px; padding:7px 4px 9px;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px;
  border:1px solid rgba(244,240,230,.18); border-radius:11px;
  background:#211e20; color:var(--chalk); cursor:pointer;
  font:700 .875rem/1.2 var(--font-body);
}
.product-sheet-switcher button img { width:66px; height:66px; object-fit:contain; }
.product-sheet-switcher button span { color:inherit; font-size:inherit; }
.product-sheet-switcher button:hover { border-color:var(--gold); }
.product-sheet-switcher button[aria-pressed="true"] { background:#3a2d1c; border-color:var(--gold); color:var(--gold-bright); }
.product-sheet-specs { margin-top:28px; border-top:1px solid var(--line); }
.product-sheet-specs h3 { padding:20px 0 14px; font-size:1.45rem; }
.construction-band {
  display:grid; grid-template-columns:1fr;
  border-top:2px solid var(--gold); border-bottom:1px solid rgba(205,165,88,.32);
  background:linear-gradient(120deg,rgba(205,165,88,.14),rgba(205,165,88,.035) 60%,transparent);
}
.construction-band > div { min-width:0; padding:12px 14px; display:flex; align-items:baseline; justify-content:space-between; gap:12px; }
.construction-band > div + div { border-top:1px solid rgba(205,165,88,.25); }
.construction-band strong { color:var(--gold-bright); font:600 1rem/1.2 var(--font-display); }
.construction-band span { color:#c6b9a6; font-size:.8rem; line-height:1.3; text-align:right; }
.product-sheet-finish { margin-top:15px; color:var(--steel); font-size:.86rem; }
.product-sheet-finish span { color:var(--chalk); font-weight:600; }
.product-sheet-note { margin-top:17px; color:var(--steel); font-size:.8rem; line-height:1.55; }
.product-sheet-purchase {
  flex:none; display:flex; align-items:center; gap:20px; justify-content:space-between;
  padding:15px clamp(18px,4vw,32px) max(15px,env(safe-area-inset-bottom));
  border-top:1px solid rgba(205,165,88,.26); background:#111014;
}
.product-sheet-purchase > div { display:flex; flex-direction:column; min-width:108px; }
.product-sheet-purchase span { color:var(--steel); font-size:.78rem; }
.product-sheet-purchase strong { color:var(--gold-bright); font:700 1.5rem var(--font-mono); }
.product-sheet-purchase a {
  min-height:48px; display:inline-flex; align-items:center; justify-content:center; gap:12px;
  padding:10px 18px; border-radius:999px; background:var(--gold); color:#1a1508;
  font:700 .88rem/1.25 var(--font-body); text-decoration:none; text-align:center;
}
.product-sheet-purchase a:hover { background:var(--gold-bright); }
.product-sheet-purchase a span { color:inherit; font-size:1.2rem; }

@media (max-width:900px) {
  /* Una sola zona desplazable: el pedido ya no tapa el final de los materiales. */
  .product-sheet { top:0; left:0; transform:none; width:100vw; height:100vh; height:100dvh; display:block; overflow-x:hidden; overflow-y:auto; overscroll-behavior:contain; -webkit-overflow-scrolling:touch; scrollbar-width:thin; scrollbar-color:rgba(205,165,88,.6) #17161b; border:0; border-radius:0; animation:none; }
  .product-sheet::-webkit-scrollbar { width:6px; }
  .product-sheet::-webkit-scrollbar-thumb { background:rgba(205,165,88,.6); border-radius:999px; }
  .product-sheet-scroll { display:block; overflow:visible; }
  .product-sheet-top { position:sticky; top:0; z-index:5; min-height:58px; }
  .product-sheet-top-label { display:none; }
  .product-sheet-close { margin-left:auto; }
  .product-sheet-gallery { display:block; padding:12px 18px 0; border-right:0; }
  .product-sheet-stage { width:100%; max-width:560px; height:auto; min-height:0; aspect-ratio:900 / 650; margin-inline:auto; }
  .product-sheet-stage img, .product-sheet-stage.is-zoomed img { transform:none; cursor:default; }
  .product-sheet-zoom { display:none; }
  .product-sheet-content { display:flex; flex-direction:column; overflow:visible; padding:18px 22px 28px; }
  .product-sheet-kicker { order:-2; }
  .product-sheet-switcher { order:-1; margin-top:0; margin-bottom:18px; }
  .product-sheet-purchase { gap:10px; }
  .product-sheet-purchase a { max-width:65%; }
  .revolution-tech-rail-inner { flex-wrap:wrap; justify-content:flex-start; min-height:0; gap:10px 20px; }
  .revolution-tech-rail-title { width:100%; }
  .revolution-tech-rail-inner > span:not(:first-child) { padding-left:12px; font-size:.875rem; }
}
@media (max-width:600px) {
  .product-sheet-top { padding-left:max(16px,env(safe-area-inset-left)); padding-right:max(16px,env(safe-area-inset-right)); }
  .product-sheet-gallery { padding:10px 14px 0; }
  .product-sheet-stage { border-radius:14px; }
  .product-sheet-content { padding:16px 16px 26px; }
  .product-sheet-content h2 { font-size:clamp(1.65rem,7vw,2.15rem); overflow-wrap:break-word; }
  .product-sheet-switcher { grid-template-columns:repeat(4,minmax(0,1fr)); gap:6px; margin-top:0; margin-bottom:16px; }
  .product-sheet-switcher button { width:100%; min-width:0; min-height:78px; flex-direction:column; justify-content:center; gap:3px; padding:5px 3px; text-align:center; font-size:.72rem; }
  .product-sheet-switcher button img { width:48px; height:48px; flex:none; }
  .product-sheet-switcher button span { min-width:0; overflow-wrap:anywhere; }
  .product-sheet-purchase { display:grid; grid-template-columns:minmax(0,1fr); gap:8px; padding:10px 16px max(12px,env(safe-area-inset-bottom)); }
  .product-sheet-purchase > div { flex-direction:row; align-items:baseline; justify-content:space-between; gap:12px; min-width:0; }
  .product-sheet-purchase > div span { min-width:0; line-height:1.3; }
  .product-sheet-purchase strong { flex:none; white-space:nowrap; font-size:1.35rem; }
  .product-sheet-purchase a { width:100%; max-width:none; min-height:46px; padding:9px 12px; }
}
@media (max-width:360px) {
  .product-sheet-brand { font-size:1rem; }
  .product-sheet-purchase strong { font-size:1.2rem; }
  .product-sheet-purchase span { font-size:.72rem; }
  .product-sheet-purchase a { font-size:.875rem; padding:8px 10px; }
  .product-sheet-switcher { gap:5px; }
  .product-sheet-switcher button { font-size:.69rem; min-height:72px; padding:4px 2px; gap:2px; }
  .product-sheet-switcher button img { width:44px; height:44px; }
  .construction-band > div { align-items:flex-start; flex-direction:column; gap:3px; }
  .construction-band span { text-align:left; }
}
@media (max-width:900px) and (max-height:500px) and (orientation:landscape) {
  .product-sheet-scroll { display:grid; grid-template-columns:minmax(0,42%) minmax(0,58%); overflow:visible; }
  .product-sheet-gallery { display:flex; padding:10px; border-right:1px solid var(--line); }
  .product-sheet-stage { width:100%; height:auto; min-height:0; }
  .product-sheet-content { overflow:visible; padding:12px 12px 20px; }
  .product-sheet-switcher { grid-template-columns:repeat(4,minmax(0,1fr)); }
}
@media (prefers-reduced-motion:reduce) {
  .product-sheet { animation:none; }
  .product-sheet-stage img, .store-image-hit span { transition:none; }
}
