/* Layout: cabecera de la web → hero ciruela con prendas en abanico → pertenencia →
   introducción + índice → colecciones con fichas de ancho fijo → cierre → footer */
:root{
  /* Escandalo · tokens de la web de marca */
  --p100:#FFE6EF; --p200:#FFC2D8; --p400:#FF66A3; --p500:#FB3080; --p600:#E02170; --p700:#B81C5E; --p1000:#3F0823;
  --bg:#FFFFFF; --bg-soft:#FFF6FA; --surface:#FFFFFF; --plate:#FFFFFF;
  --ink:#2A2C41; --soft:#6B7280; --line:#ECEEF1; --line-strong:#DCE0E5;
  --nav:#FFE5F4; --accent:#FB3080; --accent-ink:#E02170; --accent-soft:#FFE6EF;
  --plum:#3F0823; --plum-2:#8F154B; --on-plum:#FFFFFF; --on-plum-soft:rgba(255,255,255,.84);
  --foot:#22252A; --foot-ink:rgba(255,255,255,.62);
  --shadow-brand:0 12px 34px rgba(251,48,128,.30);
  --scrim:rgba(20,8,14,.88);

  --ft:'Plus Jakarta Sans', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', sans-serif;
  --fw-rg:400; --fw-md:500; --fw-sb:600; --fw-bd:700;
  --r-md:12px; --r-lg:16px; --r-xl:20px; --r-2xl:24px; --r-full:999px;
  --card-w:340px;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#140A0F; --bg-soft:#1B0D14; --surface:#20111A; --plate:#FFFFFF;
    --ink:#F6EEF2; --soft:#B9A9B2; --line:#34222C; --line-strong:#4A3340;
    --nav:#24101A; --accent:#FB3080; --accent-ink:#FF6FA8; --accent-soft:#3A1427;
    --plum:#2A0717; --plum-2:#6E1139; --on-plum:#FFFFFF; --on-plum-soft:rgba(255,255,255,.80);
    --foot:#0C0609; --foot-ink:rgba(255,255,255,.58);
    --shadow-brand:0 12px 34px rgba(251,48,128,.25);
    color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --bg:#140A0F; --bg-soft:#1B0D14; --surface:#20111A; --plate:#FFFFFF;
  --ink:#F6EEF2; --soft:#B9A9B2; --line:#34222C; --line-strong:#4A3340;
  --nav:#24101A; --accent:#FB3080; --accent-ink:#FF6FA8; --accent-soft:#3A1427;
  --plum:#2A0717; --plum-2:#6E1139; --on-plum:#FFFFFF; --on-plum-soft:rgba(255,255,255,.80);
  --foot:#0C0609; --foot-ink:rgba(255,255,255,.58);
  --shadow-brand:0 12px 34px rgba(251,48,128,.25);
  color-scheme:dark;
}

*{box-sizing:border-box}
[hidden]{display:none!important}
img{max-width:100%}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*{transition:none!important}}
body{font-family:var(--ft);font-weight:var(--fw-rg,400);color:var(--ink);background:var(--bg);line-height:1.6;font-size:16px;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:var(--nav)}
h1,h2,h3,h4,p{margin:0}
h1,h2,h3{text-wrap:balance;letter-spacing:-.02em;line-height:1.1}
a{color:inherit}
button{font-family:inherit;color:inherit}
:focus-visible{outline:2.5px solid var(--accent);outline-offset:3px;border-radius:6px}
.wrap{max-width:1120px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
@media (min-width:720px){.wrap{padding-left:max(28px,env(safe-area-inset-left,0px));padding-right:max(28px,env(safe-area-inset-right,0px))}}
.eyebrow{font-weight:var(--fw-bd,700);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-ink)}

/* ---------- Cabecera (web de marca) ---------- */
.enav{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:var(--nav)}
.enav .wrap{display:flex;align-items:center;gap:4px;height:68px}
.logo{display:block;height:26px;width:auto}
.enav .sp{flex:1}
.en-item{font-weight:var(--fw-sb,600);font-size:15px;color:var(--accent-ink);padding:9px 14px;border-radius:var(--r-full);text-decoration:none;white-space:nowrap}
.en-item:hover{background:rgba(251,48,128,.14)}
.en-item[aria-current="page"]{background:var(--surface);box-shadow:inset 0 0 0 1.5px var(--p200)}
.en-pill{border:2px solid var(--accent);color:var(--accent-ink);font-weight:var(--fw-sb,600);font-size:14px;padding:9px 18px;border-radius:var(--r-full);text-decoration:none;margin-left:6px;white-space:nowrap}
.en-pill:hover{background:var(--surface)}
@media (min-width:720px){.enav .wrap{height:76px}.logo{height:30px}}
@media (max-width:440px){.en-pill{display:none}}

/* ---------- Hero ---------- */
.hero{position:relative;overflow:hidden;color:var(--on-plum);background:radial-gradient(120% 120% at 85% 0%, var(--plum-2) 0%, var(--plum) 62%)}
.hero::after{content:"";position:absolute;right:-140px;top:-60px;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle, rgba(251,48,128,.55), rgba(251,48,128,0) 68%);pointer-events:none}
.hero .wrap{position:relative;z-index:2;display:grid;gap:36px;padding-block:52px 60px;align-items:center}
@media (min-width:940px){.hero .wrap{grid-template-columns:1.05fr .95fr;padding-block:80px 88px}}
.hero .eyebrow{color:var(--p200);letter-spacing:.06em;text-transform:none;font-size:15px;font-weight:var(--fw-sb,600)}
.hero h1{font-weight:var(--fw-bd,700);font-size:clamp(46px, 9vw, 78px);line-height:1;letter-spacing:-.035em;margin-top:16px}
.hl{background:linear-gradient(transparent 64%, var(--accent) 64%);padding:0 .06em;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.hero .lead{font-size:clamp(17px,2.1vw,19px);color:var(--on-plum-soft);max-width:33em;margin-top:24px;line-height:1.6}
.hero .kicker{font-size:clamp(20px,2.6vw,24px);font-weight:var(--fw-sb,600);margin-top:18px;color:#fff}
.cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.btn{display:inline-flex;align-items:center;gap:9px;font-weight:var(--fw-sb,600);font-size:15px;line-height:1;padding:15px 26px;border-radius:var(--r-full);text-decoration:none;border:0;cursor:pointer;transition:transform .15s, background .15s}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:var(--p600);color:#fff;box-shadow:var(--shadow-brand)}
.btn-primary:hover{background:var(--p500)}
.btn-light{background:#fff;color:var(--p600)}
.btn-light:hover{background:var(--p100)}

.fan{position:relative;height:clamp(290px, 68vw, 460px);max-width:560px;width:100%;margin:0 auto}
.fan figure{position:absolute;margin:0;width:56%;aspect-ratio:1242/1560;max-width:100%;background:var(--plate);border-radius:var(--r-2xl);overflow:hidden;box-shadow:0 24px 60px rgba(0,0,0,.35);transition:transform .35s ease}
.fan figure img{width:100%;height:100%;object-fit:contain;display:block}
.fan figure:nth-child(1){left:0;top:12%;transform:rotate(-7deg)}
.fan figure:nth-child(2){left:22%;top:0;z-index:2;transform:rotate(1deg)}
.fan figure:nth-child(3){right:0;top:14%;transform:rotate(8deg)}
@media (hover:hover){.fan:hover figure:nth-child(1){transform:rotate(-10deg) translateX(-10px)}.fan:hover figure:nth-child(3){transform:rotate(11deg) translateX(10px)}}

/* ---------- Pertenencia ---------- */
.belong{background:var(--bg-soft);padding-block:72px}
@media (min-width:720px){.belong{padding-block:96px}}
.belong .wrap{display:grid;gap:36px 64px;align-items:start}
@media (min-width:900px){.belong .wrap{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)}}
.belong h2{font-weight:var(--fw-sb,600);font-size:clamp(32px,4.8vw,48px)}
.roles{list-style:none;margin:0;padding:0;display:grid}
.roles li{font-size:clamp(19px,2.3vw,23px);font-weight:var(--fw-md,500);line-height:1.35;padding-block:14px;border-bottom:1px solid var(--line-strong)}
.roles li:first-child{padding-top:0}
.roles li.last{color:var(--accent-ink);font-weight:var(--fw-sb,600);border-bottom:0}
.belong .after{color:var(--soft);font-size:clamp(16px,1.9vw,18px);margin-top:22px;max-width:34em}

/* ---------- Colección ---------- */
section.catalog{padding-block:72px 40px;scroll-margin-top:68px}
@media (min-width:720px){section.catalog{padding-block:96px 56px}}
.sec-head{display:grid;gap:12px;max-width:40em}
.sec-head h2{font-weight:var(--fw-sb,600);font-size:clamp(32px,4.8vw,46px)}
.sec-head p{color:var(--soft);font-size:clamp(16px,1.9vw,18px)}
.index{display:flex;gap:8px;flex-wrap:wrap;margin-top:24px}
.chip{display:inline-flex;align-items:center;padding:9px 16px;border-radius:var(--r-full);background:var(--accent-soft);color:var(--accent-ink);font-weight:var(--fw-sb,600);font-size:14px;text-decoration:none;white-space:nowrap}
.chip:hover{background:var(--p200);color:var(--p700)}

.coll{padding-top:64px;scroll-margin-top:84px}
@media (min-width:720px){.coll{padding-top:80px}}
.coll-head{display:grid;gap:10px;margin-bottom:24px;max-width:40em}
.coll-kicker{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.badge{display:inline-flex;align-items:center;font-size:12px;font-weight:var(--fw-sb,600);padding:4px 10px;border-radius:var(--r-full);background:var(--ink);color:var(--bg)}
.coll-head h3{font-weight:var(--fw-sb,600);font-size:clamp(32px,5vw,48px);letter-spacing:-.03em;margin-top:4px}
.coll-desc{font-size:clamp(15px,1.7vw,17px);line-height:1.6;color:var(--soft);max-width:36em}

/* Fichas: ancho fijo en todas las colecciones; las filas incompletas quedan a la izquierda */
.grid{display:grid;gap:20px;grid-template-columns:repeat(auto-fill, minmax(0, var(--card-w)));justify-content:start}
@media (max-width:759px){.grid{grid-template-columns:repeat(auto-fill, minmax(min(100%, 280px), 1fr))}}

.card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-2xl);overflow:hidden;min-width:0}
.media{position:relative;background:var(--plate);aspect-ratio:1242/1560;max-width:100%}
.media button.zoom{all:unset;display:block;width:100%;height:100%;cursor:zoom-in}
.media button.zoom:focus-visible{outline:2.5px solid var(--accent);outline-offset:-4px;border-radius:var(--r-2xl)}
.media img{width:100%;height:100%;object-fit:contain;display:block;transition:opacity .22s ease}
.media img.is-loading{opacity:.25}
.views{position:absolute;left:10px;top:10px;display:inline-flex;padding:3px;gap:2px;background:rgba(255,255,255,.94);border-radius:var(--r-full);box-shadow:0 3px 12px rgba(42,44,65,.12)}
.views button{border:0;background:transparent;padding:7px 11px;border-radius:var(--r-full);font-size:12.5px;font-weight:var(--fw-sb,600);color:#4B5160;cursor:pointer;line-height:1;min-height:30px}
.views button[aria-pressed="true"]{background:#2A2C41;color:#fff}
.zoom-hint{position:absolute;right:10px;bottom:10px;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.94);color:#2A2C41;pointer-events:none;box-shadow:0 3px 12px rgba(42,44,65,.12)}
.zoom-hint svg{width:16px;height:16px}

.body{display:grid;gap:12px;padding:14px 16px 16px}
.title-row{display:grid;gap:2px}
.type{font-size:11.5px;font-weight:var(--fw-sb,600);letter-spacing:.1em;text-transform:uppercase;color:var(--soft)}
.card h4{font-size:19px;font-weight:var(--fw-sb,600);letter-spacing:-.01em;line-height:1.25}
.variant{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;font-size:14px}
.variant .cn{font-weight:var(--fw-sb,600)}
.variant .ref{font-size:12px;color:var(--soft);font-weight:var(--fw-md,500);letter-spacing:.03em;font-variant-numeric:tabular-nums}
.swatches{display:flex;flex-wrap:wrap;gap:8px}
.sw{width:30px;height:30px;border-radius:50%;border:0;padding:0;cursor:pointer;background:var(--c);box-shadow:inset 0 0 0 1px rgba(0,0,0,.16);transition:box-shadow .15s, transform .15s}
.sw:hover{transform:scale(1.06)}
.sw[aria-pressed="true"]{box-shadow:inset 0 0 0 1px rgba(0,0,0,.16), 0 0 0 2.5px var(--surface), 0 0 0 4.5px var(--ink)}
.sizes{font-size:13px;color:var(--soft);font-weight:var(--fw-md,500);border-top:1px solid var(--line);padding-top:10px;font-variant-numeric:tabular-nums}
.sizes b{color:var(--ink);font-weight:var(--fw-sb,600);letter-spacing:.02em}

/* Carrusel editorial: mismo ancho y alto que el área de imagen de las fichas */
.carousel{position:relative;aspect-ratio:1242/1560;max-width:100%;align-self:start;margin:1px;border-radius:var(--r-2xl);overflow:hidden;background:var(--bg-soft);touch-action:pan-y;user-select:none;-webkit-user-select:none}
.carousel:focus-visible{outline:2.5px solid var(--accent);outline-offset:3px}
.carousel .slide{position:absolute;inset:0;margin:0;opacity:0;transition:opacity .9s ease}
.carousel .slide.on{opacity:1}
.carousel img{width:100%;height:100%;object-fit:cover;display:block;-webkit-user-drag:none}
.carousel::after{content:"";position:absolute;inset:auto 0 0;height:30%;background:linear-gradient(transparent, rgba(0,0,0,.32));pointer-events:none}
.c-dots{position:absolute;left:14px;bottom:20px;z-index:2;display:flex;flex-wrap:wrap;gap:5px;max-width:45%}
.c-dots span{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.5);transition:background .3s, width .3s}
.c-dots span.on{background:#fff;width:16px;border-radius:3px}
.c-ctrl{position:absolute;right:10px;bottom:10px;z-index:2;display:flex;gap:2px;padding:3px;border-radius:var(--r-full);background:rgba(20,10,16,.42);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.c-ctrl button{width:34px;height:34px;border:0;border-radius:50%;background:transparent;color:#fff;cursor:pointer;display:grid;place-items:center;padding:0}
.c-ctrl button:hover{background:rgba(255,255,255,.18)}
.c-ctrl svg{width:17px;height:17px}
@media (prefers-reduced-motion: reduce){.carousel .slide{transition:none}}

/* ---------- Cierre ---------- */
.closing{position:relative;overflow:hidden;color:var(--on-plum);background:radial-gradient(110% 140% at 10% 100%, var(--plum-2) 0%, var(--plum) 60%);margin-top:56px}
.closing::after{content:"";position:absolute;left:-120px;bottom:-160px;width:460px;height:460px;border-radius:50%;background:radial-gradient(circle, rgba(251,48,128,.45), rgba(251,48,128,0) 68%);pointer-events:none}
.closing .wrap{position:relative;z-index:2;display:grid;gap:36px;align-items:center;padding-block:72px 80px}
@media (min-width:900px){.closing .wrap{grid-template-columns:1.1fr .9fr;padding-block:96px}}
.closing h2{font-weight:var(--fw-bd,700);font-size:clamp(36px,6vw,60px);letter-spacing:-.03em;line-height:1.02}
.closing p{color:var(--on-plum-soft);font-size:clamp(17px,2vw,19px);margin-top:18px;max-width:30em}
.strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-width:440px;width:100%;justify-self:center}
.strip div{aspect-ratio:1242/1560;border-radius:var(--r-xl);overflow:hidden;background:var(--plate);box-shadow:0 18px 40px rgba(0,0,0,.3)}
.strip div:nth-child(2){transform:translateY(-14px)}
.strip img{width:100%;height:100%;object-fit:contain;display:block}

/* ---------- Footer ---------- */
footer{background:var(--foot);color:var(--foot-ink);font-size:13px}
footer .wrap{display:flex;flex-wrap:wrap;gap:14px 28px;align-items:center;justify-content:space-between;padding-block:28px}
footer .logo{height:24px;filter:brightness(0) invert(1)}
footer a{color:var(--foot-ink)}
footer a:hover{color:#fff}

/* ---------- Visor ---------- */
.viewer{position:fixed;inset:0;z-index:100;background:var(--scrim);display:grid;grid-template-rows:auto minmax(0,1fr) auto;padding:calc(env(safe-area-inset-top,0px) + 12px) max(12px,env(safe-area-inset-right,0px)) calc(env(safe-area-inset-bottom,0px) + 14px) max(12px,env(safe-area-inset-left,0px));color:#fff}
.viewer .vt{display:flex;justify-content:space-between;align-items:center;gap:12px}
.viewer .vt p{font-size:14px;font-weight:var(--fw-sb,600);min-width:0}
.viewer .vt p span{font-weight:var(--fw-md,500);opacity:.7}
.viewer .x{width:44px;height:44px;border-radius:50%;border:0;background:rgba(255,255,255,.14);color:#fff;cursor:pointer;display:grid;place-items:center;flex:none}
.viewer .x:hover{background:rgba(255,255,255,.24)}
.viewer .stage{position:relative;min-height:0}
.viewer .stage img{position:absolute;inset:12px 0;margin:auto;width:auto;height:auto;max-width:100%;max-height:calc(100% - 24px);object-fit:contain;border-radius:var(--r-xl);background:#fff}
.viewer .vb{display:flex;justify-content:center;min-height:36px}
.viewer .views{position:static}
