/* DAREN / Cinematic edition. Componentes compartidos, sin cascadas de temas. */
.btn { display:inline-flex; align-items:center; justify-content:center; gap:20px; min-height:48px; padding:14px 23px; border:1px solid transparent; border-radius:6px; font-size:14px; font-weight:600; line-height:1.2; transition:background 200ms, border-color 200ms, transform 200ms; }
.btn:hover { transform:translateY(-2px); }
.btn:disabled { opacity:.4; cursor:not-allowed; transform:none; }
.btn--brass { background:var(--brass); color:var(--ivory); }
.btn--brass:hover { background:#9d59ec; }
.btn--ghost { border-color:var(--line-strong); }
.btn--ghost:hover { border-color:var(--brass-light); background:var(--brass-dim); }
.btn--sm { min-height:40px; padding:10px 16px; font-size:12px; }
.btn--lg { min-height:54px; padding:17px 24px; }
.btn--block { width:100%; }
.text-link { display:inline-flex; align-items:center; gap:16px; font-size:13px; border-bottom:1px solid var(--line-strong); padding:10px 0; }
.text-link:hover { color:var(--brass-light); border-color:var(--brass-light); }
.nav { position:sticky; top:0; z-index:100; height:var(--nav-h); background:rgba(11,7,17,.94); backdrop-filter:blur(16px); border-bottom:1px solid var(--line); }
.nav__inner { display:flex; height:100%; align-items:center; justify-content:space-between; gap:28px; }
.nav__brand { display:block; flex-shrink:0; }
.nav__logo { width:144px; height:65px; object-fit:contain; filter:brightness(1.9) drop-shadow(0 0 5px #ad55e455); }
.nav__links { display:flex; align-items:center; gap:26px; font-size:12px; }
.nav__links a { padding:12px 0; transition:color 180ms; }
.nav__links a:hover,.nav__links a.is-active { color:var(--brass-light); }
.nav__actions { display:flex; align-items:center; gap:12px; }
.nav__toggle { display:none; width:40px; height:44px; padding:10px 7px; }
.nav__toggle span { display:block; height:1px; margin:6px 0; background:var(--ivory); }
.announcement { padding-block:12px; font-size:13px; }
.eyebrow { font-family:var(--font-mono); font-size:10px; font-weight:400; letter-spacing:.13em; text-transform:uppercase; color:var(--ivory-dim); margin-bottom:24px; }
.eyebrow__dot { display:inline-block; width:6px; height:6px; background:var(--brass-light); border-radius:50%; margin-right:10px; }
.signature-hero { position:relative; isolation:isolate; overflow:hidden; background:var(--black); }
.hero-artwork { position:absolute; inset:-2%; width:104%; height:104%; object-fit:cover; object-position:center 58%; z-index:-2; transform:translate3d(var(--hero-x,0px),var(--hero-y,0px),0); transition:transform 220ms ease-out; }
.signature-hero::after { content:''; position:absolute; inset:0; z-index:-1; pointer-events:none; background:linear-gradient(90deg,rgba(11,7,17,.52),transparent 75%),linear-gradient(0deg,var(--black),transparent 20%); }
.hero-edition { align-self:end; justify-self:end; margin-bottom:42px; max-width:230px; padding:20px 22px; background:rgba(11,7,17,.6); border:1px solid rgba(247,240,255,.2); backdrop-filter:blur(14px); font-family:var(--font-mono); font-size:9px; line-height:1.9; letter-spacing:.08em; color:var(--ivory-dim); }
.edition-rule { display:block; width:30px; height:2px; background:var(--brass-light); margin-bottom:15px; }
.edition-link { display:flex; justify-content:space-between; gap:24px; margin-top:25px; color:var(--ivory); }
.edition-link span { font:22px var(--font-body); }
.signature-hero__grid { display:grid; grid-template-columns:1.05fr 1fr; gap:24px; align-items:center; min-height:730px; padding-block:65px 50px; }
.hero-copy { position:relative; z-index:2; }
.hero-copy h1 { font-family:var(--font-editorial); font-weight:500; letter-spacing:-.045em; font-size:clamp(74px,8.2vw,116px); line-height:.88; position:relative; margin-bottom:30px; }
.hero-copy h1 em { color:var(--brass-light); font-weight:500; font-style:italic; }
.hero-copy__lead { font-family:var(--font-mono); font-size:10px; line-height:1.5; font-weight:400; letter-spacing:.13em; margin-bottom:14px; }
.hero-copy__text { color:var(--ivory-dim); font-size:13px; line-height:1.8; max-width:340px; }
.hero-actions { display:flex; align-items:center; gap:24px; flex-wrap:wrap; margin-top:25px; }
.hero-footnote { margin-top:22px; font-family:var(--font-mono); font-size:8px; letter-spacing:.05em; color:var(--gray); }
.signature-showcase { min-width:0; position:relative; padding:0 6px; }
.showcase-top,.showcase-bottom { display:flex; justify-content:space-between; align-items:center; gap:15px; font-family:var(--font-mono); font-size:9px; color:var(--ivory-dim); letter-spacing:.05em; }
.showcase-top { padding-bottom:18px; border-bottom:1px solid var(--line); }
.showcase-bottom { padding-block:12px; border-top:1px solid var(--line); }
.motion-toggle { font:inherit; color:var(--ivory); border-bottom:1px solid var(--line-strong); padding:8px 0; }
.signature-scene { position:relative; height:440px; perspective:1000px; cursor:grab; touch-action:pan-y; outline-offset:-8px; overflow:hidden; }
.signature-scene:active { cursor:grabbing; }
.scene-grid { position:absolute; inset:20px 0; background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px); background-size:50px 50px; opacity:.3; mask-image:radial-gradient(ellipse,black,transparent 70%); }
.scene-coordinate { position:absolute; right:0; top:28px; font-size:82px; font-weight:900; line-height:1; letter-spacing:-.08em; color:transparent; -webkit-text-stroke:1px rgba(217,181,255,.1); }
.scene-orbit { position:absolute; inset:32px 0 26px; border:1px solid rgba(217,181,255,.12); border-radius:50%; transform:rotate(-27deg) scaleY(.85); }
.piece-float { position:absolute; left:6%; top:22%; width:88%; height:51%; transform-style:preserve-3d; animation:piece-float 7s ease-in-out infinite; }
.signature-piece { width:100%; height:100%; position:relative; transform-style:preserve-3d; transform:rotateX(var(--piece-x,10deg)) rotateY(var(--piece-y,-20deg)) rotateZ(-10deg); transition:transform 200ms ease-out; }
.piece-face { position:absolute; inset:0; border-radius:18px; backface-visibility:hidden; }
.piece-face--front { transform:translateZ(19px); display:flex; flex-direction:column; align-items:center; justify-content:center; background:linear-gradient(145deg,#3a234b,#100a18 38%,#1e112c 82%,#714792); border:1px solid #b47cea; box-shadow:inset 0 0 0 5px rgba(208,162,255,.08),inset 0 1px 0 #ecd5ff,0 0 45px rgba(139,66,223,.18); }
.piece-face--front::after { content:''; position:absolute; inset:1px; border-radius:16px; pointer-events:none; background:linear-gradient(120deg,rgba(247,240,255,.15),transparent 38%,transparent 63%,rgba(247,240,255,.05)); }
.piece-face--front img { width:93%; height:75%; object-fit:contain; transform:translateZ(6px); filter:drop-shadow(0 10px 8px #060309); }
.piece-serial,.piece-caption { position:absolute; left:7%; right:7%; display:flex; justify-content:space-between; font-family:var(--font-mono); font-size:7px; letter-spacing:.15em; color:#d4b7e8; }
.piece-serial { top:8%; }.piece-caption { bottom:8%; }
.piece-face--back { background:linear-gradient(150deg,#7c479f,#23142d); transform:translateZ(-19px) rotateY(180deg); border:1px solid #b47cea; }
.piece-edge { position:absolute; background:linear-gradient(90deg,#2b163a,#bf8ee6 35%,#432151 55%,#130a1c); border:1px solid #724194; }
.piece-edge--left,.piece-edge--right { top:14px; bottom:14px; width:38px; }
.piece-edge--left { left:-19px; transform:rotateY(90deg); }.piece-edge--right { right:-19px; transform:rotateY(90deg); }
.piece-edge--top,.piece-edge--bottom { left:14px; right:14px; height:38px; }
.piece-edge--top { top:-19px; transform:rotateX(90deg); }.piece-edge--bottom { bottom:-19px; transform:rotateX(90deg); }
.scene-shadow { position:absolute; bottom:43px; left:18%; right:10%; height:26px; background:#000; filter:blur(14px); border-radius:50%; opacity:.65; }
.scene-plinth { position:absolute; left:10%; right:0; bottom:5px; height:78px; border-radius:50%; border:1px solid rgba(198,142,245,.28); background:radial-gradient(ellipse at 50% 10%,#613274,#1d1029 55%,#0e0815 58%); box-shadow:0 14px 0 #0b0610,0 16px 0 rgba(180,120,230,.17); z-index:-1; }
.finish-options { display:flex; align-items:center; justify-content:flex-end; gap:12px; margin-top:10px; font-family:var(--font-mono); font-size:9px; }
.finish-options>span { color:var(--gray); margin-right:auto; }
.finish-options button { display:flex; align-items:center; gap:7px; border:1px solid var(--line); border-radius:50px; padding:8px 11px; font:inherit; }
.finish-options button[aria-pressed=true] { border-color:var(--brass-light); }
.swatch { display:block; width:9px; height:9px; border-radius:50%; }
.swatch--violet { background:#a16bea; }.swatch--chrome { background:linear-gradient(120deg,#fff,#6f7380); }
.signature-showcase[data-finish=chrome] .piece-face--front { background:linear-gradient(125deg,#c8c6d0,#45404f 30%,#18141d 56%,#e7e4ed); border-color:#edeaf2; }
.signature-showcase[data-finish=chrome] .piece-edge { background:linear-gradient(90deg,#4c4854,#efecf4 35%,#736c7d 55%,#211b2b); border-color:#8f879a; }
.signature-showcase.is-paused .piece-float,.signature-scene.is-offscreen .piece-float { animation-play-state:paused; }
@keyframes piece-float { 0%,100% { transform:translateY(0) rotateZ(-1deg); } 50% { transform:translateY(-13px) rotateZ(1deg); } }
.studio-strip { display:flex; justify-content:space-between; align-items:center; gap:24px; padding:24px max(24px,calc((100vw - 1160px)/2)); background:rgba(11,7,17,.8); border-block:1px solid var(--line-strong); color:var(--ivory-dim); font-family:var(--font-mono); font-size:9px; letter-spacing:.12em; }
.studio-strip span[aria-hidden] { font-size:25px; }
.studio-strip a:hover { text-decoration:underline; }
.section { padding-block:100px; }
.section__title { font-family:var(--font-body); font-size:clamp(30px,4vw,55px); font-weight:800; line-height:1.05; letter-spacing:-.055em; }
.section__title em { font-family:var(--font-editorial); font-style:italic; font-size:1.25em; font-weight:500; letter-spacing:-.025em; color:var(--brass-light); }
.section__lead { font-size:14px; color:var(--ivory-dim); line-height:1.8; max-width:390px; }
.section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:40px; margin-bottom:45px; }
.section__note { font-size:12px; color:var(--gray); padding-top:22px; }
.service-menu { counter-reset:service; border-top:1px solid var(--line-strong); }
.service-menu .ticket { counter-increment:service; display:grid; grid-template-columns:50px 1fr 140px 48px; align-items:center; gap:22px; padding:26px 8px; border-bottom:1px solid var(--line-strong); position:relative; transition:background 200ms; }
.service-menu .ticket::before { content:counter(service,decimal-leading-zero); font-family:var(--font-mono); font-size:11px; color:var(--gray); }
.service-menu .ticket:hover { background:rgba(139,66,223,.07); }
.ticket__top h3 { font-family:var(--font-body); font-size:clamp(22px,2.4vw,33px); font-weight:600; letter-spacing:-.04em; }
.ticket__top p { color:var(--ivory-dim); font-size:12px; margin-top:8px; line-height:1.6; }
.ticket__bottom { display:flex; flex-direction:column; gap:4px; text-align:right; }
.ticket__price { font-size:28px; font-weight:500; letter-spacing:-.05em; }.ticket__time { color:var(--gray); font-family:var(--font-mono); font-size:10px; }
.service-menu .ticket__perf,.service-menu .ticket__badge { display:none; }
.ticket__photo { width:70px; height:70px; object-fit:cover; border-radius:8px; }.service-menu .ticket:has(.ticket__photo) { grid-template-columns:50px 70px 1fr 140px 48px; }
.service-book { width:43px; height:43px; border-radius:50%; border:1px solid var(--line-strong); display:grid; place-items:center; font-size:24px; transition:background 180ms,color 180ms; }
.service-book:hover { background:var(--ivory); color:var(--black); }
.studio-section { background:linear-gradient(130deg,var(--panel),var(--black)); border-block:1px solid var(--line); }
.studio-grid { display:grid; grid-template-columns:.9fr 1fr; gap:90px; align-items:center; }
.studio-poster { min-height:550px; padding:38px; position:relative; overflow:hidden; background:#9149df; color:var(--ivory); display:flex; flex-direction:column; }
.studio-poster>.eyebrow { color:var(--ivory); font-size:9px; }.studio-poster>p { font-weight:900; font-size:clamp(35px,4.7vw,62px); line-height:1; letter-spacing:-.065em; z-index:1; margin-top:30px; }
.studio-poster em { font-style:normal; color:#281039; }.poster-star { position:absolute; font-size:310px; right:-75px; bottom:-45px; color:#b986ef; line-height:1; }
.poster-foot { margin-top:auto; padding-top:35px; font-size:9px; font-family:var(--font-mono); z-index:1; letter-spacing:.15em; }
.studio-story>.section__lead { margin-block:25px 28px; }.studio-principles article { display:flex; gap:22px; padding:20px 0; border-top:1px solid var(--line); }.studio-principles article>span { font-family:var(--font-mono); font-size:10px; color:var(--brass-light); }
.studio-principles h3 { font-size:14px; font-weight:500; }.studio-principles p { font-size:12px; color:var(--ivory-dim); line-height:1.8; margin-top:9px; }
.studio-team-link { margin-top:20px; }
.team-section { border-bottom:1px solid var(--line); background:linear-gradient(180deg,var(--black),#130c1c); }
.barber-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:24px; }
.barber-card { min-width:0; border:1px solid var(--line-strong); border-radius:10px; overflow:hidden; background:var(--panel); transition:border-color 200ms,transform 200ms; }
.barber-card:hover { transform:translateY(-4px); border-color:var(--brass-light); }
.barber-card__portrait { position:relative; height:300px; overflow:hidden; background:var(--black); }
.barber-card__number { position:absolute; top:18px; left:20px; z-index:2; display:grid; place-items:center; width:36px; height:36px; border:1px solid var(--line-strong); border-radius:50%; background:#0b0711b3; color:var(--ivory); font:10px var(--font-mono); }
.barber-card__photo { width:100%; height:100%; object-fit:cover; object-position:center 30%; }
.barber-card__photo--empty { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:28px; position:relative; isolation:isolate; background:radial-gradient(ellipse at 50% 75%,#512a70 0%,#1d102c 40%,#0b0711 78%); }
.barber-card__photo--empty::before { content:''; position:absolute; z-index:-1; width:65%; aspect-ratio:1; border:1px solid #c398e52b; border-radius:50%; transform:rotateX(55deg) rotateZ(-25deg); box-shadow:0 16px 0 -15px #c398e555,0 32px 0 -31px #c398e533; }
.barber-card__photo--empty img { width:min(65%,240px); height:auto; filter:brightness(1.7) drop-shadow(0 10px 18px #000a); transform:rotate(-6deg); }
.barber-card__photo--empty>span { color:var(--ivory-dim); font:8px var(--font-mono); letter-spacing:.15em; }
.barber-card__details { padding:24px; border-top:1px solid var(--line); }
.barber-card h3 { font-size:24px; line-height:1.25; font-weight:600; letter-spacing:-.04em; overflow-wrap:anywhere; }
.barber-card p { margin-top:10px; font-size:12px; line-height:1.7; color:var(--ivory-dim); overflow-wrap:anywhere; }
.team-footer { display:flex; justify-content:space-between; align-items:center; gap:24px; margin-top:24px; }
.team-footer p,.team-empty { color:var(--gray); font-size:12px; line-height:1.8; }
@media (max-width:600px) { .barber-grid { grid-template-columns:1fr; gap:18px; }.barber-card__portrait { height:270px; }.barber-card__details { padding:22px; }.team-footer { align-items:flex-start; flex-direction:column; gap:8px; } }
@media (prefers-reduced-motion:reduce) { .barber-card:hover { transform:none; } }
.club-grid { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:90px; }.club-grid .section__lead { margin-block:24px; }.club-benefits { padding:20px 30px; border:1px solid var(--line-strong); border-radius:10px; background:linear-gradient(140deg,var(--panel-2),var(--black)); }
.rewards-list { list-style:none; display:grid; gap:0; }.rewards-list li { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:22px 0; border-bottom:1px solid var(--line); font-size:13px; }.rewards-list__points { color:var(--brass-light); white-space:nowrap; font-family:var(--font-mono); font-size:12px; }.rewards-list__desc { flex:1; }.club-note { padding:20px 0 5px; font-size:10px; color:var(--gray); }
.location-section { border-top:1px solid var(--line); }.location-grid { display:grid; grid-template-columns:.75fr 1.25fr; min-height:360px; }.location-card { background:var(--panel); padding:32px; }.location-card h3 { font-size:34px; letter-spacing:-.05em; line-height:1.1; font-weight:600; }.location-card>p { font-size:12px; color:var(--ivory-dim); line-height:1.8; margin-top:22px; }.location-card a { display:inline-block; margin-top:20px; font-size:16px; color:var(--brass-light); }.location-card .location-note { font-size:10px; }.location-map { width:100%; height:100%; min-height:360px; border:0; filter:grayscale(.7); }
.faq-section { padding-top:0; }.faq-grid { display:grid; grid-template-columns:.75fr 1.25fr; gap:60px; }.faq-list details { border-bottom:1px solid var(--line-strong); }.faq-list summary { cursor:pointer; list-style:none; padding:22px 30px 22px 0; position:relative; font-size:13px; }.faq-list summary::after { content:'+'; position:absolute; right:0; font-size:20px; color:var(--brass-light); }.faq-list details[open] summary::after { content:'−'; }.faq-list summary::-webkit-details-marker { display:none; }.faq-list p { padding-bottom:22px; font-size:12px; color:var(--ivory-dim); line-height:1.8; }
.closing { background:var(--brass); padding-block:45px 55px; }.closing .eyebrow { color:var(--ivory); margin-bottom:15px; }.closing-link { display:flex; justify-content:space-between; align-items:center; font-size:clamp(40px,8vw,105px); letter-spacing:-.07em; font-weight:800; line-height:1.1; }.closing-link>span { font-size:1.1em; font-weight:400; }
.footer { padding-block:42px 85px; border-top:1px solid var(--line); }.footer__inner { display:flex; align-items:center; justify-content:space-between; gap:30px; }.footer__inner>img { object-fit:contain; }.footer__links { display:flex; gap:25px; font-size:11px; }.footer__copy { font-size:10px; line-height:1.8; color:var(--gray); }
.floating-whatsapp { position:fixed; bottom:max(18px,env(safe-area-inset-bottom)); right:max(18px,env(safe-area-inset-right)); z-index:110; display:flex; align-items:center; gap:10px; padding:14px 20px; min-height:48px; border:1px solid var(--line-strong); border-radius:50px; background:var(--ivory); color:var(--black); box-shadow:0 8px 30px #0006; font-size:12px; font-weight:600; transition:transform 180ms; }.floating-whatsapp:hover { transform:translateY(-3px); }.floating-whatsapp__icon { border:1px solid currentColor; border-radius:50%; padding:4px; font-size:9px; }.floating-whatsapp__copy { display:grid; gap:2px; }.floating-whatsapp__copy small { font-size:9px; font-weight:400; }
/* Acceso: identidad editorial y estados visibles, sin depender de toasts. */
.account-shell { display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center; padding-block:55px 110px; min-height:calc(100svh - var(--nav-h)); }
.account-art { min-height:610px; padding:32px; display:flex; flex-direction:column; justify-content:space-between; position:relative; overflow:hidden; border:1px solid var(--line-strong); background:linear-gradient(90deg,#0b0711d9,#0b071177),url('../assets/editorial/daren-chrome.png') 67% center/cover; border-radius:6px; }
.account-art__copy>p { font-size:clamp(40px,4.5vw,64px); font-weight:700; line-height:1.02; letter-spacing:-.06em; }
.account-art__copy em { color:var(--brass-light); font-weight:500; }
.account-art__copy>span { display:block; color:var(--ivory-dim); font-size:12px; line-height:1.8; margin-top:25px; }
.account-art>img { width:180px; height:90px; object-fit:contain; filter:brightness(1.6); }
.account-panel { width:100%; max-width:430px; justify-self:center; }
.account-panel .booking-form { gap:14px; }
.account-panel input[aria-invalid=true] { border-color:#d79c9c; }
.account-panel .booking__header { text-align:left; margin-bottom:28px; }
.account-panel .section__title { font-size:38px; }
.account-intro { font-size:13px; color:var(--ivory-dim); margin-top:15px; line-height:1.6; }
.auth-mode-toggle { display:flex; padding:5px; gap:5px; margin-bottom:26px; background:var(--panel); border:1px solid var(--line); border-radius:8px; }
.auth-mode-toggle .chip { flex:1; min-height:42px; border-radius:4px; border-color:transparent; }
.auth-mode-toggle .is-active { background:var(--brass); color:var(--ivory); }
.auth-switch { margin-top:22px; display:flex; flex-direction:column; align-items:center; gap:12px; font-size:12px; color:var(--ivory-dim); text-align:center; }
.auth-switch a:hover { color:var(--brass-light); }
.auth-status { padding:15px; border:1px solid #d79c9c; border-radius:6px; background:#d79c9c0b; color:#f6cece; font-size:12px; line-height:1.7; margin-bottom:20px; overflow-wrap:anywhere; }
.auth-status[data-kind=info] { border-color:var(--line-strong); color:var(--ivory-dim); background:var(--panel); }
.auth-status[data-kind=success] { border-color:var(--success); color:var(--success); background:transparent; }
.password-visibility { display:flex; align-items:center; gap:9px; font-size:12px; color:var(--ivory-dim); min-height:36px; cursor:pointer; }
.password-visibility input { accent-color:var(--brass); width:17px; height:17px; }
.account-guest { margin-top:32px; padding-top:24px; border-top:1px solid var(--line); color:var(--gray); font-size:11px; line-height:1.9; text-align:center; }
.account-guest a { display:block; color:var(--brass-light); }
/* Public forms, confirmation and account reuse these components. */
.booking__hint { font-size:13px; color:var(--gray); }.ticket:not(.service-menu .ticket) { border:1px solid var(--line-strong); border-radius:var(--radius-md); background:var(--panel); }.confirmation .ticket__top { padding:30px; }
.dash { padding-block:45px 100px; }.dash__container { max-width:850px; }.dash__greeting { margin-bottom:30px; }.dash-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; }.dash-card { background:var(--panel); border:1px solid var(--line); padding:25px; border-radius:var(--radius-md); margin-bottom:20px; }.dash-card__big { font-size:34px; }.dash-card__big--sm { font-size:24px; }.tier { display:inline-block; border:1px solid var(--line-strong); border-radius:50px; padding:5px 12px; font-size:10px; }.info-list>div { padding:12px 0; }.info-list dt { font-size:10px; color:var(--gray); }.info-list dd { margin:5px 0; font-size:14px; }.history-list { list-style:none; padding:0; }.history-list li { padding-block:15px; border-bottom:1px solid var(--line); }
.chip { padding:8px 14px; border:1px solid var(--line-strong); border-radius:50px; font-size:12px; }.chip.is-active { background:var(--brass-dim); color:var(--brass-light); border-color:var(--brass); }
.toast-stack { position:fixed; bottom:85px; left:50%; transform:translateX(-50%); width:min(92vw,380px); display:grid; gap:8px; z-index:999; }.toast { background:var(--panel-2); border:1px solid var(--line-strong); padding:16px; border-radius:8px; font-size:13px; box-shadow:var(--shadow-md); }.toast--error { border-color:#da9292; }.toast--success { border-color:var(--success); }
.skeleton { background:var(--panel-2); border-radius:8px; }
.reveal { opacity:1; }
@media (max-width:1000px) { .nav__links { gap:16px; }.signature-hero__grid { gap:12px; }.signature-scene { height:370px; }.studio-grid,.club-grid { gap:45px; }.studio-poster { min-height:500px; }.hero-actions { gap:14px; } }
@media (max-width:859px) { .nav__toggle { display:block; }.nav__links { display:none; position:absolute; top:100%; left:0; right:0; padding:22px; background:var(--black); border-bottom:1px solid var(--line-strong); flex-direction:column; align-items:flex-start; gap:8px; }.nav__links.is-open { display:flex; }.nav__links a { width:100%; font-size:16px; }.signature-hero__grid { grid-template-columns:1fr 1fr; padding-top:40px; min-height:610px; }.hero-copy h1 { font-size:80px; }.signature-scene { height:320px; }.piece-serial,.piece-caption { font-size:5px; }.hero-actions { flex-direction:column; align-items:flex-start; }.hero-copy__text { font-size:12px; }.hero-footnote { max-width:260px; line-height:1.7; }.studio-strip { font-size:8px; gap:10px; }.section { padding-block:70px; }.section-heading { align-items:flex-start; }.section__title { font-size:38px; }.studio-poster { min-height:430px; padding:28px; }.studio-grid { gap:30px; }.studio-poster>p { font-size:42px; }.poster-star { font-size:240px; }.service-menu .ticket { grid-template-columns:30px 1fr 110px 42px; gap:15px; }.service-menu .ticket:has(.ticket__photo) { grid-template-columns:30px 45px 1fr 80px 42px; }.ticket__photo { width:45px; height:45px; }.ticket__top p { font-size:11px; }.location-grid { grid-template-columns:1fr 1fr; }.faq-grid { gap:30px; } }
@media (max-width:600px) { .container { padding-inline:22px; }.nav { height:76px; }.nav__inner { gap:12px; }.nav__logo { width:125px; height:63px; }.nav__actions { gap:6px; }.nav__actions .btn { padding:10px 12px; }.signature-hero__grid { grid-template-columns:1fr; padding-block:40px 32px; gap:38px; }.hero-copy h1 { font-size:clamp(70px,20vw,94px); }.hero-copy__lead br { display:none; }.hero-copy__lead { font-size:9px; }.hero-copy__text { max-width:350px; font-size:13px; }.hero-actions { flex-direction:row; gap:18px; align-items:center; }.hero-actions .btn { font-size:12px; padding-inline:17px; }.hero-footnote { max-width:none; font-size:9px; }.signature-showcase { padding:0; }.signature-scene { height:330px; }.piece-float { left:9%; width:82%; }.piece-serial,.piece-caption { font-size:6px; }.scene-coordinate { font-size:70px; }.showcase-top,.showcase-bottom { font-size:8px; }.finish-options { font-size:8px; }.studio-strip { flex-wrap:wrap; justify-content:center; padding:18px 22px; gap:12px; font-size:8px; }.studio-strip span[aria-hidden] { font-size:16px; }.studio-strip span:nth-child(4),.studio-strip a { display:none; }.section { padding-block:58px; }.section-heading { flex-direction:column; gap:22px; margin-bottom:28px; }.section__title { font-size:35px; }.section__lead { font-size:12px; }.eyebrow { font-size:9px; margin-bottom:18px; }.service-menu .ticket { grid-template-columns:24px 1fr 62px 44px; gap:9px; padding-block:23px; }.ticket__top h3 { font-size:21px; }.ticket__top p { font-size:10px; }.ticket__price { font-size:22px; }.ticket__time { font-size:9px; }.service-book { width:44px; height:44px; font-size:20px; }.service-menu .ticket:has(.ticket__photo) { grid-template-columns:24px 1fr 62px 44px; }.service-menu .ticket__photo { display:none; }.studio-grid,.club-grid,.location-grid,.faq-grid { grid-template-columns:1fr; gap:30px; }.studio-poster { min-height:420px; max-width:440px; }.studio-poster>p { font-size:55px; }.poster-star { font-size:270px; }.club-benefits { padding:15px 22px; }.location-grid { gap:0; }.location-map { min-height:300px; }.faq-section { padding-top:0; }.closing { padding-block:35px; }.closing-link { font-size:54px; }.footer__inner { flex-wrap:wrap; gap:20px; }.footer__links { gap:17px; }.footer__copy { width:100%; }.footer { padding-bottom:100px; }.floating-whatsapp { padding:12px 16px; font-size:11px; }.floating-whatsapp__copy small { display:none; }.dash-grid { grid-template-columns:1fr; } }
@media (prefers-reduced-motion:reduce) { .piece-float { animation:none; }.signature-piece { transition:none; }.btn:hover { transform:none; } }
/* Adaptación de la composición cinematográfica; estilos de estructura, no otro tema. */
@media (max-width:859px) {
  .account-shell { gap:35px; }
  .account-art { min-height:580px; padding:24px; }
  .hero-edition { margin-bottom:30px; padding:16px; max-width:200px; }
}
@media (max-width:600px) {
  .signature-hero__grid { min-height:720px; padding-top:45px; gap:32px; }
  .hero-artwork { object-position:69% center; opacity:.65; }
  .signature-hero::after { background:linear-gradient(90deg,#0b0711dd,#0b071155),linear-gradient(0deg,var(--black),transparent 40%); }
  .hero-edition { display:none; }
  .hero-copy__text { max-width:285px; }
  .hero-copy__lead { font-size:9px; }
  .hero-footnote { font-size:8px; line-height:1.9; max-width:290px; }
  .account-shell { display:block; padding-block:30px 120px; min-height:auto; }
  .account-art { display:none; }
  .account-panel .section__title { font-size:34px; }
}
@media (prefers-reduced-motion:reduce) { .hero-artwork { transform:none; transition:none; } }
