/*
  V25 · Lujo artesanal guerrerense
  Capa visual posterior a V24. Mantiene estructura, video, catálogo y compra.
*/
:root {
  --font-display: "Barlow Condensed", "Arial Narrow", sans-serif;
  --font-body: "Manrope", ui-sans-serif, system-ui, sans-serif;
  --lacquer: #080706;
  --lacquer-soft: #100d0a;
  --ivory-v25: #f8efd9;
  --ivory-deep: #e8d8af;
  --gold-v25: #c89a45;
  --gold-light-v25: #ecd393;
  --teal-v25: #198e88;
  --red-v25: #b83e42;
  --orange-v25: #cf6237;
  --line-v25: rgba(236,211,147,.32);
  --shadow-v25: 0 24px 60px rgba(0,0,0,.28);
}
html { scroll-padding-top: 92px; }
body {
  font-family: var(--font-body);
  background:
    radial-gradient(circle at 50% -10%, rgba(200,154,69,.07), transparent 36rem),
    linear-gradient(180deg,#080706 0%,#0b0907 55%,#080706 100%);
}
body:before, body:after {
  width: 30px;
  opacity: .2;
  background-size: 30px 135px;
  filter: saturate(.7);
}
h1,h2,h3,.product-info-panel h1,.confidence-grid b,.essential-grid b {
  font-family: var(--font-display);
  font-variation-settings: normal;
  letter-spacing: -.018em;
}
.site-nav,.launch-home .site-nav {
  background: rgba(8,7,6,.88);
  backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(236,211,147,.19);
}
.site-nav:before,.site-nav:after { opacity: .08; }
.top-note {
  min-height: 34px;
  font-family: var(--font-body);
  background: #0b0907;
  border-color: rgba(236,211,147,.28);
  color: var(--gold-light-v25);
  letter-spacing: .18em;
}

/* HERO: frase y una sola playera protagonista. */
.launch-hero {
  width: min(1180px,calc(100% - 32px));
  margin: 18px auto 0;
  padding: clamp(34px,5vw,66px);
  gap: clamp(24px,4vw,44px);
  border: 1px solid rgba(236,211,147,.28);
  border-radius: 28px;
  background:
    linear-gradient(180deg,rgba(16,13,10,.97),rgba(8,7,6,.99));
  box-shadow: var(--shadow-v25), inset 0 1px rgba(255,255,255,.04);
}
.launch-hero:before {
  background:
    url('../ornaments/23_olinala-band.svg') top center/auto 36px repeat-x,
    radial-gradient(circle at 50% 0%,rgba(200,154,69,.08),transparent 45%);
  opacity: .2;
}
.launch-hero-copy { width:min(980px,100%); }
.launch-hero-copy .kicker { display:none !important; }
.launch-hero-copy h1 {
  max-width: 980px;
  margin: 0 auto 18px;
  color: var(--ivory-v25);
  font-family: var(--font-display);
  font-size: clamp(62px,9vw,126px);
  font-weight: 800;
  line-height: .82;
  letter-spacing: -.045em;
  text-transform: none;
  text-shadow: 0 10px 32px rgba(0,0,0,.26);
}
.launch-hero-copy > p {
  max-width: 780px;
  color: rgba(248,239,217,.86);
  font-size: clamp(16px,1.5vw,20px);
  font-weight: 500;
  line-height: 1.7;
}
.launch-hero-actions { margin-top: 26px; gap:10px; }
.launch-hero-actions .btn { min-width: 210px; }
.btn {
  border-radius: 999px;
  font-family: var(--font-body);
  font-weight: 800;
  letter-spacing: .04em;
  transition: transform .18s ease,background-color .18s ease,border-color .18s ease;
}
.btn:hover { transform: translateY(-1px); }
.btn.gold {
  background: var(--ivory-v25);
  color: #17110a;
  border-color: var(--ivory-v25);
  box-shadow: 0 12px 28px rgba(0,0,0,.22);
}
.btn.outline { background:transparent; border-color:rgba(248,239,217,.38); }
.launch-hero-media {
  width:min(720px,100%);
  height:clamp(300px,48vh,510px);
  max-height:50vh;
  border-radius:24px;
  border:1px solid rgba(236,211,147,.28);
  background:#f8f5ed;
  box-shadow:0 18px 44px rgba(0,0,0,.24);
}
.launch-poster,.launch-hero-media video { background:#f8f5ed; }
.commerce-ribbon { display:none !important; }

/* Collection: minimal information, story first, no price on home. */
.collection-section {
  margin-top: clamp(30px,5vw,72px);
  background: linear-gradient(180deg,#f5ead0,#ead9b0);
}
.section-frame:before,.section-frame:after { opacity:.12; }
.section-heading { max-width: 840px; }
.section-heading h2 {
  font-size: clamp(48px,6vw,78px);
  line-height:.92;
  color:#24170e;
}
.section-heading p { color:#5b4635; font-size:16px; line-height:1.7; }
.ornament-divider { opacity:.38; height:42px; }
.launch-grid { gap:18px; }
.launch-product-card {
  position:relative;
  overflow:hidden;
  border:1px solid rgba(236,211,147,.28);
  border-radius:22px;
  background:linear-gradient(180deg,#100d0a,#080706);
  box-shadow:0 16px 36px rgba(40,24,12,.16);
}
.launch-product-card:before {
  content:"";
  position:absolute;
  z-index:4;
  inset:0 0 auto;
  height:10px;
  opacity:.72;
  background:var(--product-pattern) center/auto 44px repeat-x;
  border:0;
}
.launch-product-card:after {
  content:"";
  position:absolute;
  z-index:4;
  inset:auto 0 0;
  height:6px;
  opacity:.35;
  background:var(--product-pattern) center/auto 44px repeat-x;
}
.launch-product-card[data-product="diablos-negros"] { --product-pattern:url('../ornaments/25_diablos-negros.svg'); }
.launch-product-card[data-product="diablo-de-teloloapan"] { --product-pattern:url('../ornaments/25_diablo-teloloapan.svg'); }
.launch-product-card[data-product="ritual-de-sangre"] { --product-pattern:url('../ornaments/25_ritual-zitlala.svg'); }
.launch-product-card[data-product="porrazo-de-tigres"] { --product-pattern:url('../ornaments/25_porrazos.svg'); }
.product-visual {
  height:auto;
  aspect-ratio:7/9;
  padding:18px 12px 8px;
  background:
    radial-gradient(circle at 50% 40%,rgba(255,255,255,.055),transparent 48%),
    #0b0907;
}
.product-visual:after { opacity:0 !important; }
.product-visual img,
.gallery-main img,
.launch-lookbook img,
.related-card img,
.launch-editorial-image img {
  display:block;
  object-fit:contain;
  object-position:50% 50%;
  margin:auto;
  filter:none;
}
.product-visual img { width:100%;height:100%;max-width:96%;max-height:96%;padding:0; }
.product-badge {
  top:18px;
  left:16px;
  border-radius:999px;
  border-color:rgba(236,211,147,.28);
  background:rgba(8,7,6,.72);
  backdrop-filter:blur(8px);
}
.launch-product-card .product-info { min-height:268px;padding:22px 20px 24px; }
.product-info h3 { font-size:32px;line-height:.92;color:var(--ivory-v25); }
.product-region { color:#7fd0c9;font-size:10px; }
.product-info p { color:rgba(248,239,217,.7);font-size:13px; }
.launch-product-card .product-price { display:none !important; }
.launch-product-card .product-meta { justify-content:flex-start; }
.launch-product-card .product-meta .btn { width:100%; }
.btn.outline-dark {
  background:transparent;
  color:var(--ivory-v25);
  border-color:rgba(236,211,147,.35);
}

/* One large hero only: editorial becomes a clean narrative block. */
.launch-editorial {
  grid-template-columns:1fr;
  text-align:center;
  justify-items:center;
  padding-block:clamp(70px,10vw,130px);
  background:
    linear-gradient(180deg,rgba(9,7,6,.98),rgba(13,10,8,.99));
}
.launch-editorial-copy { max-width:860px; }
.launch-editorial-copy h2 {
  font-size:clamp(56px,7vw,96px);
  line-height:.88;
}
.launch-editorial-copy p { max-width:760px;margin-inline:auto; }
.launch-editorial-image { display:none !important; }
.launch-explore { background:#f6ead0; }
.launch-lookbook { gap:14px; }
.launch-lookbook figure {
  border-radius:20px;
  border:1px solid rgba(126,84,30,.22);
  background:#100d0a;
}
.launch-lookbook img { aspect-ratio:7/9;max-width:96%;padding:8px; }
.launch-lookbook figcaption { font-weight:700; }

/* Purchase confidence: progressive, not a wall of boxes. */
.buying-section { background:linear-gradient(180deg,#ead9b0,#f5ead0); }
.confidence-grid { gap:0;border-top:1px solid rgba(67,40,23,.2); }
.confidence-grid article {
  border:0;
  border-right:1px solid rgba(67,40,23,.16);
  border-bottom:1px solid rgba(67,40,23,.16);
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.confidence-grid article:nth-child(3n) { border-right:0; }
.confidence-grid b { font-size:27px;line-height:1;color:#24170e; }

/* Product pages: pattern changes by product, image exactly centered. */
body[data-product-theme="diablos-negros"] { --page-pattern:url('../ornaments/25_diablos-negros.svg'); }
body[data-product-theme="diablo-de-teloloapan"] { --page-pattern:url('../ornaments/25_diablo-teloloapan.svg'); }
body[data-product-theme="ritual-de-sangre"] { --page-pattern:url('../ornaments/25_ritual-zitlala.svg'); }
body[data-product-theme="porrazo-de-tigres"] { --page-pattern:url('../ornaments/25_porrazos.svg'); }
.product-shell:before,
.related-section:before {
  content:"";
  display:block;
  height:9px;
  margin-bottom:24px;
  opacity:.62;
  background:var(--page-pattern,url('../ornaments/23_olinala-band.svg')) center/auto 44px repeat-x;
}
.gallery-main {
  min-height:620px;
  border-radius:24px;
  border:1px solid rgba(236,211,147,.26);
  background:radial-gradient(circle at 50% 44%,rgba(255,255,255,.05),transparent 52%),#0c0a08;
}
.gallery-main:before { opacity:0 !important; }
.gallery-main img { width:100%;height:100%;max-width:96%;max-height:96%;padding:16px; }
.product-info-panel { border-radius:24px;border:1px solid rgba(236,211,147,.26); }
.product-info-panel h1 { font-size:clamp(52px,5vw,74px);line-height:.86; }
.product-info-panel h1 span { font-family:var(--font-body); }
.product-availability { border-radius:12px; }
.product-buy select,.product-buy input { border-radius:12px; }
.product-essentials,.product-story { background:linear-gradient(180deg,#f5ead0,#ead9b0); }
.essential-grid article {
  border:0;
  border-left:3px solid rgba(184,62,66,.45);
  border-radius:0 14px 14px 0;
  box-shadow:none;
  background:rgba(255,250,237,.52);
}
.story-details { border-radius:16px; }
.related-card {
  position:relative;
  overflow:hidden;
  border-radius:18px;
}
.related-card img { height:290px;max-width:95%;padding:8px; }

/* Floating cart: smaller and only appears after the hero. */
.floating-cart {
  width:56px;
  height:56px;
  min-width:56px;
  padding:0;
  right:16px;
  bottom:16px;
  border-radius:50%;
  border:1px solid rgba(236,211,147,.44);
  background:rgba(8,7,6,.92);
  box-shadow:0 10px 28px rgba(0,0,0,.3);
  opacity:0;
  pointer-events:none;
  transform:translateY(12px);
  transition:opacity .2s ease,transform .2s ease;
}
body.past-hero .floating-cart,.product-page .floating-cart {
  opacity:1;
  pointer-events:auto;
  transform:none;
}
.floating-cart span {
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}
.floating-cart:before {
  content:"";
  width:19px;
  height:16px;
  border:2px solid var(--gold-light-v25);
  border-top:0;
  border-radius:2px 2px 5px 5px;
  transform:translateY(2px);
}
.floating-cart:after {
  content:"";
  position:absolute;
  width:10px;
  height:7px;
  border:2px solid var(--gold-light-v25);
  border-bottom:0;
  border-radius:7px 7px 0 0;
  top:13px;
  left:22px;
}
.floating-cart b {
  position:absolute;
  top:-5px;
  right:-3px;
  min-width:23px;
  height:23px;
  padding:0 5px;
  display:grid;
  place-items:center;
  font-size:10px;
}

@media (max-width:1050px) {
  .confidence-grid article:nth-child(3n) { border-right:1px solid rgba(67,40,23,.16); }
  .confidence-grid article:nth-child(2n) { border-right:0; }
}
@media (max-width:820px) {
  body:before,body:after { display:none; }
  .launch-hero { width:calc(100% - 12px);margin-top:8px;padding:28px 16px 30px;border-radius:22px; }
  .launch-hero-copy h1 { font-size:clamp(54px,16vw,76px);line-height:.83; }
  .launch-hero-copy > p { font-size:15px;line-height:1.65; }
  .launch-hero-actions { display:grid;width:100%; }
  .launch-hero-actions .btn { width:100%; }
  .launch-hero-media { height:min(46vh,420px);border-radius:18px; }
  .gallery-main { min-height:500px; }
  .confidence-grid article:nth-child(2n) { border-right:0; }
}
@media (max-width:560px) {
  .launch-hero-copy h1 { font-size:clamp(48px,15.5vw,64px); }
  .section-heading h2 { font-size:48px; }
  .launch-product-card .product-info { min-height:0; }
  .product-info h3 { font-size:36px; }
  .confidence-grid { grid-template-columns:1fr; }
  .confidence-grid article { border-right:0 !important; }
  .gallery-main { min-height:420px; }
  .related-card img { height:310px; }
}
@media (prefers-reduced-motion:reduce) {
  .btn:hover { transform:none; }
  .floating-cart { transition:none; }
}


:root { --font-display: "Oswald", Impact, sans-serif; }
body { text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
.launch-hero { border:0 !important; box-shadow:0 24px 56px rgba(0,0,0,.24) !important; background:linear-gradient(180deg,rgba(11,9,8,.98),rgba(6,6,6,.99)) !important; }
.launch-hero::before,.launch-hero::after,.ornamental-frame::before,.ornamental-frame::after { display:none !important; content:none !important; }
.launch-hero-copy h1 { font-family: var(--font-display) !important; font-size: clamp(52px,8vw,104px) !important; line-height:.94 !important; letter-spacing:.01em !important; text-transform:uppercase; }
.launch-hero-copy > p { font-size: clamp(17px,1.8vw,21px) !important; line-height:1.55 !important; color:rgba(248,239,217,.92) !important; max-width:760px; }
.launch-hero-media,.launch-poster,.launch-hero-media video { background:#000 !important; }
.launch-hero-media { border:1px solid rgba(255,255,255,.06) !important; box-shadow:0 16px 34px rgba(0,0,0,.28) !important; }
.launch-poster img,.launch-hero-media video { object-fit:contain !important; }
.cart-trigger { transform: translateY(8px); opacity:0; pointer-events:none; transition: opacity .22s ease, transform .22s ease; min-width:54px; width:54px; height:54px; padding:0; border-radius:999px; box-shadow:0 12px 24px rgba(0,0,0,.18); }
body.show-floating-cart .cart-trigger { transform:translateY(0); opacity:1; pointer-events:auto; }
.cart-trigger span { display:none; }
@media (max-width:699px){ .launch-hero{ width:min(100% - 12px,1180px); padding:28px 16px 24px; } .launch-hero-copy h1{ font-size:clamp(42px,12.2vw,58px) !important; letter-spacing:.015em !important; } .launch-hero-copy > p{ font-size:16px !important; } .launch-hero-media{ height:min(46vh,420px); max-height:46vh; } }
