/* ============================================================
   EpicShow Perú · V13 Professional
   Base visual consolidada: público, paneles, comprador y constructor.
   ============================================================ */
:root{
  --bg:#050816; --bg2:#0b1020; --card:#111827; --card-soft:#151b31;
  --line:rgba(255,255,255,.12); --line-strong:rgba(255,255,255,.22);
  --text:#f8fafc; --muted:#a7b0c4; --primary:#7c3aed; --primary2:#22d3ee;
  --ok:#22c55e; --warn:#f59e0b; --bad:#ef4444; --brand:var(--primary); --cyan:var(--primary2); --txt:var(--text);
}
*{box-sizing:border-box} html,body{min-height:100%;margin:0}
body{background:radial-gradient(circle at 8% 0%,rgba(34,211,238,.16),transparent 30%),radial-gradient(circle at 92% 4%,rgba(124,58,237,.20),transparent 34%),linear-gradient(180deg,#050816 0%,#0b1020 54%,#070812 100%);color:var(--text);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;line-height:1.45}
a{color:#bfdbfe;text-decoration:none} a:hover{text-decoration:none;color:#e0f2fe} img{max-width:100%}
.wrap,.container,.page,main.wrap{width:min(1440px,calc(100% - 40px));max-width:1440px;margin:auto;padding:22px 0}
.nav,.v7-nav{position:sticky;top:0;z-index:100;background:rgba(5,8,22,.86);border-bottom:1px solid rgba(255,255,255,.10);backdrop-filter:blur(18px)}
.navin,.v7-navin{width:min(1440px,calc(100% - 40px));max-width:1440px;margin:auto;padding:12px 0;display:flex;align-items:center;justify-content:space-between;gap:24px}
.logo,.brand-logo,.v7-brand{display:flex;align-items:center;gap:12px;min-width:max-content;color:#fff;font-weight:950}.logo img,.v7-brand img{height:46px;max-height:46px;width:auto}.v7-brand-text{display:flex;flex-direction:column;line-height:1}.v7-brand-text b{font-size:20px;color:#fff}.v7-brand-text small{margin-top:4px;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--primary2);font-weight:950}
.menu,.v7-menu{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.menu a,.v7-menu a{color:#f8fafc;font-weight:850;font-size:14px;padding:9px 13px;border-radius:999px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.08)}.menu a:hover,.v7-menu a:hover{background:rgba(34,211,238,.12);border-color:rgba(34,211,238,.30)}.v7-login{background:linear-gradient(135deg,var(--primary),#9333ea)!important;border-color:transparent!important}
h1{font-size:clamp(32px,4.6vw,64px);line-height:.98;letter-spacing:-.055em;margin:10px 0 14px}h2{font-size:clamp(22px,2.4vw,32px);line-height:1.12;margin:18px 0 10px}h3{margin:14px 0 8px}.muted{color:var(--muted)}.small-text{font-size:13px}.badge{display:inline-flex;align-items:center;gap:6px;width:max-content;border:1px solid rgba(56,189,248,.32);background:rgba(14,165,233,.12);color:#bae6fd;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:950;letter-spacing:.04em}
.card{background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.028));border:1px solid var(--line);border-radius:24px;padding:20px;box-shadow:0 18px 50px rgba(0,0,0,.24)}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}.two{display:grid;grid-template-columns:1fr 1fr;gap:14px}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin:18px 0}.kpi{background:rgba(17,24,39,.78);border:1px solid var(--line);border-radius:18px;padding:18px}.kpi span{display:block;color:var(--muted);font-size:13px}.kpi strong{display:block;font-size:28px;margin-top:4px}
.form{display:grid;gap:13px;max-width:820px}label{display:grid;gap:6px;font-weight:850;color:#edf6ff}input,select,textarea,button{font:inherit}input,select,textarea,.input,.select{width:100%;padding:12px 14px;border:1px solid rgba(255,255,255,.16);border-radius:13px;background:#0b1020;color:var(--text);outline:none}input:focus,select:focus,textarea:focus{border-color:rgba(34,211,238,.55);box-shadow:0 0 0 3px rgba(34,211,238,.12)}textarea{resize:vertical}.btn,button,input[type="submit"]{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:999px;padding:11px 18px;background:linear-gradient(135deg,var(--primary),#9333ea);color:#fff;font-weight:950;cursor:pointer;text-decoration:none;box-shadow:0 12px 26px rgba(124,58,237,.22)}.btn:hover,button:hover{filter:brightness(1.07)}.btn.secondary{background:#273052;box-shadow:none}.btn.ok{background:var(--ok);box-shadow:none;color:#06210f}.btn.warn{background:var(--warn);box-shadow:none;color:#111827}.btn.bad{background:var(--bad);box-shadow:none}.btn.small{padding:7px 11px;font-size:12px}
table,.table{width:100%;border-collapse:collapse;background:rgba(15,23,42,.78);border-radius:18px;overflow:hidden}.table th,.table td,th,td{padding:11px;border-bottom:1px solid var(--line);text-align:left;font-size:14px}th,.table th{color:#bfdbfe;background:rgba(255,255,255,.045)}.flash{background:rgba(39,42,71,.92);border:1px solid rgba(125,211,252,.22);border-radius:14px;padding:12px;margin:12px 0}.actions-bar,.inline-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.search{background:rgba(18,20,38,.90);border:1px solid var(--line);border-radius:24px;padding:18px;margin:8px 0 30px;display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:10px;box-shadow:0 18px 55px rgba(0,0,0,.20)}.search.big{grid-template-columns:2fr 1fr 1fr 1fr auto}.search-hero{padding:44px 0 24px}.search-hero h1{max-width:900px}.event-card{transition:transform .16s ease,border-color .16s ease}.event-card:hover{transform:translateY(-4px);border-color:rgba(124,58,237,.70)}.eventImg,.event-card img{width:100%;height:230px;object-fit:cover;border-radius:18px;background:#242844}.soft{background:#121528}.answer-card{min-height:260px}hr{border:0;border-top:1px solid var(--line);margin:18px 0}
.ai-float{position:fixed;right:18px;bottom:20px;z-index:80;background:linear-gradient(135deg,var(--primary),var(--primary2));color:#fff;font-weight:950;border-radius:999px;padding:12px 16px;box-shadow:0 18px 40px rgba(0,0,0,.32)}.chat-widget{position:fixed;right:18px;bottom:78px;z-index:90;width:min(360px,calc(100vw - 24px));max-height:580px;display:flex;flex-direction:column;background:#0b1020;border:1px solid rgba(255,255,255,.14);border-radius:22px;box-shadow:0 24px 70px rgba(0,0,0,.45);overflow:hidden}.chat-head{display:flex;align-items:center;justify-content:space-between;padding:13px 14px;background:rgba(255,255,255,.055);border-bottom:1px solid var(--line)}.chat-head small{display:block;color:var(--muted);font-size:11px}.chat-head button{box-shadow:none;background:transparent;font-size:24px;padding:0 8px}.chat-messages{padding:12px;display:grid;gap:8px;overflow:auto}.chat-bubble{padding:10px 12px;border-radius:15px;background:rgba(255,255,255,.07);font-size:13px}.chat-bubble.user{background:rgba(124,58,237,.30);margin-left:28px}.chat-bubble.bot{margin-right:28px}.chat-form{display:grid;grid-template-columns:1fr auto;gap:8px;padding:12px;border-top:1px solid var(--line)}.cookie-box{position:fixed;left:18px;right:18px;bottom:18px;z-index:70;max-width:980px;margin:auto;background:#111827;border:1px solid rgba(255,255,255,.14);border-radius:18px;padding:16px;gap:14px;align-items:center;justify-content:space-between;box-shadow:0 24px 60px rgba(0,0,0,.42)}.cookie-box p{margin:6px 0 0;color:var(--muted);font-size:14px}
.v7-footer{margin-top:56px;border-top:1px solid rgba(255,255,255,.10);background:linear-gradient(180deg,rgba(18,20,38,.58),rgba(7,8,18,.96));color:var(--muted)}.v7-footer-inner{width:min(1440px,calc(100% - 40px));max-width:1440px;margin:auto;padding:30px 0;display:grid;grid-template-columns:1.1fr 1.2fr 1fr;gap:24px;align-items:center}.v7-footer-brand{display:flex;align-items:center;gap:12px}.v7-footer-brand img{height:44px;width:auto}.v7-footer-brand strong{display:block;color:#fff}.v7-footer-brand small{display:block;margin-top:3px;color:#94a3b8}.v7-footer-links{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.v7-footer-links a{color:#e0f2fe;font-weight:850;padding:8px 10px;border-radius:999px;background:rgba(255,255,255,.04)}.v7-footer-note{text-align:right;font-size:13px;line-height:1.35}
/* Evento público / compra */
.v5-event-hero{display:grid;grid-template-columns:clamp(460px,38vw,620px) minmax(0,1fr);gap:28px;align-items:center;margin:24px 0}.v5-event-img{display:block;width:100%;height:auto;max-height:none;object-fit:contain;background:#0b1020;border-radius:28px;border:1px solid rgba(255,255,255,.12);box-shadow:0 22px 60px rgba(0,0,0,.28)}.v5-public-layout{display:grid;grid-template-columns:minmax(520px,620px) minmax(0,1fr);gap:24px;align-items:start}.v5-zone-list{position:sticky;top:90px}.v5-map-card{overflow:hidden;min-width:0}.v5-purchase-head{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center}.v5-selection-summary{font-weight:950;color:#dbeafe}.v5-legend-row{grid-column:1/-1;display:flex;gap:14px;flex-wrap:wrap;margin:4px 0}.v5-legend-row span{display:flex;align-items:center;gap:6px;font-size:13px;color:#cbd5e1}.zone-color-dot{display:inline-block;width:14px;height:14px;border-radius:50%;border:2px solid rgba(255,255,255,.85);box-shadow:0 0 0 1px rgba(0,0,0,.25)}.v5-public-map-toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}.v5-stage-label{font-size:12px;font-weight:950;letter-spacing:.08em;color:#bfdbfe}.v5-general-map{width:100%;height:clamp(320px,52vh,520px);min-height:300px;background:#11172b;border:1px solid rgba(255,255,255,.12);border-radius:22px;overflow:auto;touch-action:none;overscroll-behavior:contain;cursor:grab}.v5-general-map.zone-active{cursor:default}.v5-general-map.dragging{cursor:grabbing}.v5-public-svg{display:block;width:1800px;height:1050px;transform-origin:top left}.v5-bg{fill:#11172b;stroke:rgba(255,255,255,.18);stroke-width:2}.v5-title{fill:#fff;font-size:16px;font-weight:950;letter-spacing:.08em}.v5-zone-svg{cursor:pointer;transition:opacity .15s,filter .15s}.v5-zone-svg .zone-fill{stroke:rgba(255,255,255,.35);stroke-width:2}.v5-zone-svg.active .zone-fill{stroke:#fff;stroke-width:5}.v5-zone-svg.inactive{opacity:.52;filter:saturate(.75)}.v5-layout-object-svg{pointer-events:none}.v5-layout-object-svg .obj-fill{fill:#475569;stroke:rgba(255,255,255,.25);stroke-width:1.5}.v5-layout-object-svg text{fill:#fff;font-weight:950;font-size:14px;pointer-events:none}.v5-seat-svg{cursor:pointer;transition:opacity .12s,filter .12s}.v5-seat-svg rect{stroke:rgba(255,255,255,.35);stroke-width:1.2}.v5-seat-svg text{fill:#fff;font-size:8px;font-weight:850;text-anchor:middle;dominant-baseline:middle;pointer-events:none}.v5-seat-svg.inactive-seat{opacity:.38}.v5-seat-svg.free rect{fill:var(--seat-color)}.v5-seat-svg.sold rect,.v5-seat-svg.used rect{fill:#64748b}.v5-seat-svg.in_payment rect,.v5-seat-svg.held-other rect{fill:#f59e0b}.v5-seat-svg.held-other rect{stroke:#fff;stroke-dasharray:3 2}.v5-seat-svg.blocked rect{fill:#111827}.v5-seat-svg.courtesy rect{fill:#38bdf8}.v5-seat-svg.disabled{cursor:not-allowed;opacity:.58}.v5-seat-svg.selected rect{stroke:#fff;stroke-width:4;filter:drop-shadow(0 0 6px rgba(34,197,94,.8))}.v13-tariff-title{display:flex;justify-content:space-between;align-items:end;gap:12px;margin-bottom:10px}.v13-tariff-title h2{margin:0}.v13-tariff-sub{font-size:12px;color:#cbd5e1;margin:3px 0 0}.v13-price-matrix{width:100%;border-collapse:separate;border-spacing:0 8px;font-size:13px;table-layout:fixed;background:transparent}.v13-price-matrix th{text-align:center;color:#ffb020;font-size:11px;text-transform:uppercase;white-space:normal;line-height:1.15;padding:8px;background:rgba(255,176,32,.06)}.v13-price-matrix th:first-child{text-align:left}.v13-price-matrix td{padding:10px;border-top:1px solid rgba(255,255,255,.14);border-bottom:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.035);vertical-align:middle}.v13-price-row{cursor:pointer;transition:filter .15s,transform .15s}.v13-price-row:hover{filter:brightness(1.12)}.v13-price-row.active td{outline:2px solid rgba(255,255,255,.72);background:rgba(255,255,255,.075)}.v13-price-row td:first-child{border-left:8px solid var(--zone-color);border-radius:14px 0 0 14px;background:linear-gradient(90deg,var(--zone-color),rgba(255,255,255,.035) 10%,rgba(255,255,255,.035))}.v13-price-row td:last-child{border-right:1px solid rgba(255,255,255,.14);border-radius:0 14px 14px 0}.v13-zone-name{font-weight:950;display:block;color:#fff;font-size:14px}.v13-zone-meta{display:block;color:#cbd5e1;font-size:11px;margin-top:2px}.v13-normal-price{font-size:16px;font-weight:950;color:#fff}.v13-normal-price.has-promo{text-decoration:line-through;color:#94a3b8;font-size:13px}.v13-promo-cell{color:#fde68a}.v13-promo-chip{display:block;padding:6px 8px;margin:4px 0;border:1px solid rgba(255,176,32,.75);background:rgba(255,176,32,.10);border-radius:10px}.v13-promo-chip b{display:block;color:#fff;font-size:16px}.v13-promo-chip small{display:block;color:#fde68a;font-size:10px;line-height:1.25}.v13-empty-promo{color:#94a3b8;font-size:12px}.v13-general-cell input{width:68px;padding:7px;text-align:center}.v13-general-actions{display:flex;gap:4px;justify-content:center;margin-top:5px}.v13-general-actions button{border:0;border-radius:8px;padding:4px 8px;font-weight:950;cursor:pointer;box-shadow:none}.v5-cart-box{margin-top:14px}.v5-cart-list{display:flex;flex-direction:column;gap:8px;margin-top:10px;max-height:260px;overflow:auto}.v5-cart-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 10px;border-radius:12px;background:rgba(255,255,255,.07);font-size:13px}.v5-cart-item strong{display:block}.v5-cart-item.pending{opacity:.78}.v5-cart-item.pending small:after{content:' · confirmando precio…';color:#fbbf24}.v5-cart-remove{border:0;border-radius:10px;padding:5px 8px;cursor:pointer;box-shadow:none}.v5-checkout-bar{position:sticky;bottom:0;z-index:20}.v1215-coupon-line{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end}.v1215-coupon-line .btn{height:48px}.event-terms-card{margin-top:18px}.terms-grid{display:grid;grid-template-columns:repeat(2,minmax(240px,1fr));gap:12px}.term-item{border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:12px;background:rgba(255,255,255,.035)}.term-item strong{display:block;margin-bottom:5px}.v5-mobile-hint{display:none}
@media(max-width:1180px){.v5-event-hero{grid-template-columns:clamp(400px,42vw,520px) minmax(0,1fr)}.v5-public-layout{grid-template-columns:1fr}.v5-zone-list{position:relative;top:auto}}@media(max-width:900px){.search,.search.big{grid-template-columns:1fr}.two{grid-template-columns:1fr}.v7-footer-inner{grid-template-columns:1fr;text-align:left}.v7-footer-links{justify-content:flex-start}.v7-footer-note{text-align:left}.v5-event-hero{grid-template-columns:1fr}.v5-purchase-head{grid-template-columns:1fr}.terms-grid{grid-template-columns:1fr}.v1215-coupon-line{grid-template-columns:1fr}.v5-mobile-hint{display:block}.v5-checkout-bar{position:relative}.navin,.v7-navin{width:min(100% - 20px,1440px);align-items:center;gap:12px}.wrap,.container,.page,main.wrap{width:min(100% - 20px,1440px)}.eventImg,.event-card img{height:190px}.cookie-box{flex-direction:column;align-items:flex-start}}

/* Compatibilidad visual del constructor y paneles heredados */
.actions-bar{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  margin:12px 0;
}
.badge{
  display:inline-flex;
  align-items:center;
  border:1px solid rgba(56,189,248,.35);
  background:rgba(14,165,233,.12);
  color:#bae6fd;
  border-radius:999px;
  padding:6px 10px;
  font-size:12px;
  font-weight:900;
  letter-spacing:.04em;
}
.event-card,.event-card-public{
  overflow:hidden;
}
.event-card img,.event-card-public img{
  width:100%;
  height:220px;
  object-fit:cover;
  border-radius:18px;
}
footer,.site-footer{
  margin-top:48px;
  padding:28px 0;
  border-top:1px solid var(--line);
  background:rgba(5,8,22,.72);
  color:var(--muted);
}
footer .container,.site-footer .container{
  display:flex;
  justify-content:space-between;
  gap:20px;
  flex-wrap:wrap;
}
.ai-help,.help-bot,.floating-help{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:80;
}
table{
  width:100%;
  border-collapse:collapse;
  background:var(--card);
  border-radius:18px;
  overflow:hidden;
}
th,td{padding:11px;border-bottom:1px solid var(--line);text-align:left}
th{color:#bfdbfe;background:rgba(255,255,255,.04)}
@media(max-width:760px){
  .container,.page,.wrap,main{width:min(100% - 20px,1180px)}
  .two{grid-template-columns:1fr}
  .site-header .container,.topbar .container,.navbar .container,header .container{
    align-items:flex-start;
    flex-direction:column;
  }
  nav,.nav-links{gap:10px}
  .card{padding:16px;border-radius:20px}
}


/* ===== Base CSS recuperado ===== */
:root{--bg:#080914;--card:#121426;--line:#242846;--txt:#f7f7fb;--muted:#a7acc2;--brand:#7c3aed;--cyan:#22d3ee;--ok:#22c55e;--bad:#ef4444;--warn:#f59e0b}*{box-sizing:border-box}body{margin:0;background:linear-gradient(180deg,#070812,#101329);color:var(--txt);font-family:Inter,system-ui,Segoe UI,Arial,sans-serif}a{color:#c4b5fd;text-decoration:none}.wrap{max-width:1180px;margin:auto;padding:22px}.nav{position:sticky;top:0;z-index:20;background:rgba(8,9,20,.9);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.navin{max-width:1180px;margin:auto;padding:14px 22px;display:flex;align-items:center;justify-content:space-between}.logo{font-weight:900;font-size:22px;color:white;letter-spacing:.2px}.logo span{color:var(--cyan)}.menu{display:flex;gap:16px;align-items:center}.menu a{color:white;font-weight:700;font-size:14px}.hero{display:grid;grid-template-columns:1.2fr .8fr;gap:22px;align-items:stretch;padding:28px 0}.heroMain{min-height:390px;border-radius:28px;overflow:hidden;position:relative;border:1px solid var(--line);background:#17192d}.heroMain:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.82),rgba(0,0,0,.12))}.heroImg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.heroText{position:absolute;z-index:1;left:32px;bottom:32px;max-width:560px}.heroText h1{font-size:46px;line-height:1;margin:0 0 10px}.heroText p{color:#e5e7eb;font-size:17px}.side{display:grid;gap:16px}.banner{border-radius:22px;border:1px solid var(--line);background:#17192d;padding:20px;min-height:120px;display:flex;align-items:end;background-size:cover;background-position:center;position:relative;overflow:hidden}.banner:before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.82),rgba(0,0,0,.2))}.banner>*{position:relative}.search{background:rgba(18,20,38,.94);border:1px solid var(--line);border-radius:22px;padding:18px;margin:-8px 0 24px;display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:10px}.input,.select,input,select,textarea{width:100%;padding:12px 14px;border:1px solid #303653;border-radius:13px;background:#0d1020;color:var(--txt)}.btn,button{border:0;border-radius:13px;padding:11px 15px;background:var(--brand);color:white;font-weight:800;cursor:pointer;display:inline-block}.btn.ok{background:var(--ok)}.btn.bad{background:var(--bad)}.btn.secondary{background:#28304e}.btn.warn{background:var(--warn);color:#111}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}.card{background:rgba(18,20,38,.96);border:1px solid var(--line);border-radius:22px;padding:18px;box-shadow:0 20px 40px rgba(0,0,0,.18)}.eventImg{width:100%;height:180px;object-fit:cover;border-radius:17px;background:#242844}.muted{color:var(--muted)}.badge{display:inline-block;background:#252a48;border:1px solid #343a61;border-radius:999px;padding:4px 9px;font-size:12px}.form{display:grid;gap:12px;max-width:760px}.two{display:grid;grid-template-columns:1fr 1fr;gap:14px}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:11px;border-bottom:1px solid var(--line);font-size:14px;text-align:left}.flash{background:#272a47;border:1px solid #3b3f68;border-radius:14px;padding:12px;margin:12px 0}.seat-grid{display:flex;gap:8px;flex-wrap:wrap;padding:12px;background:#0b0e1d;border-radius:16px}.seat{display:inline-flex;gap:4px;align-items:center;justify-content:center;width:62px;height:36px;border-radius:10px;border:1px solid #3b4164;background:#173c2a;font-size:12px}.seat.sold,.seat.used{background:#4a1d1d}.seat.in_payment{background:#4a3d1d}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}.kpi{background:#121426;border:1px solid var(--line);border-radius:18px;padding:18px}.kpi strong{font-size:26px;display:block}.footer{margin-top:50px;border-top:1px solid var(--line);padding:30px 0;color:var(--muted)}@media(max-width:820px){.hero{grid-template-columns:1fr}.heroText h1{font-size:32px}.search{grid-template-columns:1fr}.two{grid-template-columns:1fr}.navin{align-items:flex-start}.menu{gap:10px}}

/* V2.1 */
.auth-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:22px;align-items:stretch;margin-top:34px}.auth-card h1{font-size:38px;line-height:1.05}.auth-side{background:linear-gradient(160deg,rgba(124,58,237,.22),rgba(34,211,238,.08)),var(--card)}.quiet-link{display:inline-block;margin-top:12px;color:#9ca3af;font-size:13px}.small-text{font-size:13px}.search-hero{padding:44px 0 24px}.search-hero h1{font-size:42px;max-width:850px;line-height:1.05}.search.big{margin:20px 0 0;grid-template-columns:2fr 1fr 1fr 1fr auto}.event-card{transition:transform .16s ease,border-color .16s ease}.event-card:hover{transform:translateY(-4px);border-color:#4f46e5}.ai-float{position:fixed;right:18px;bottom:20px;z-index:30;background:linear-gradient(135deg,var(--brand),var(--cyan));color:#fff;font-weight:900;border-radius:999px;padding:12px 16px;box-shadow:0 18px 40px rgba(0,0,0,.32)}.cookie-box{position:fixed;left:18px;right:18px;bottom:18px;z-index:40;max-width:980px;margin:auto;background:#111427;border:1px solid #374151;border-radius:18px;padding:16px;gap:14px;align-items:center;justify-content:space-between;box-shadow:0 24px 60px rgba(0,0,0,.42)}.cookie-box p{margin:6px 0 0;color:var(--muted);font-size:14px}.answer-card{min-height:260px}hr{border:0;border-top:1px solid var(--line);margin:18px 0}
@media(max-width:820px){.auth-layout{grid-template-columns:1fr}.search.big{grid-template-columns:1fr}.search-hero h1{font-size:30px}.cookie-box{flex-direction:column;align-items:flex-start}.ai-float{right:12px;bottom:12px}}
/* V2 cierre */
.actions-bar{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.inline-actions{display:flex;gap:10px;flex-wrap:wrap}.soft{background:#121528}.small-img{max-width:280px;height:150px}.zones-editor{display:grid;gap:14px}.zone-editor{border-style:dashed}.zone-edit-card{margin:14px 0;padding:16px;border:1px solid var(--line);border-radius:14px;background:#111325}.zone-layout-preview{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:14px 0}.zone-layout-preview.large{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.layout-col{min-height:120px;background:#101223;border:1px solid var(--line);border-radius:14px;padding:12px}.layout-col h3{margin:0 0 10px;color:#c4b5fd}.zone-chip{border:2px solid #7c3aed;border-radius:12px;padding:10px;margin:8px 0;background:#17182a}.stage-box{text-align:center;padding:12px;border-radius:14px;border:1px solid #4c1d95;background:#1e1b4b;margin-bottom:12px;font-weight:800;letter-spacing:.08em}.seat-grid.manager{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}.seat-card{border:1px solid var(--line);border-radius:14px;padding:10px;background:#111325}.seat-card.free{border-color:#166534}.seat-card.blocked{border-color:#f59e0b}.seat-card.courtesy{border-color:#22d3ee}.seat-card.sold,.seat-card.used{border-color:#ef4444}.seat-edit-form{display:grid;gap:8px}.seat-edit-form input,.seat-edit-form select,.courtesy-mini input{width:100%;padding:8px;border:1px solid var(--line);border-radius:9px;background:#0f1020;color:var(--text)}.two.tiny{grid-template-columns:1fr 1fr;gap:8px}.small-actions{margin:8px 0}.courtesy-mini{display:grid;gap:6px;margin-top:8px}.buyer-grid .seat{min-width:58px}.event-hero-detail{display:grid;grid-template-columns:320px 1fr;gap:18px}.checkout-bar{position:sticky;bottom:0;z-index:5}.zone-card{border-width:2px}@media(max-width:800px){.event-hero-detail{grid-template-columns:1fr}.seat-grid.manager{grid-template-columns:1fr}.actions-bar{flex-direction:column;align-items:stretch}.inline-actions{flex-direction:column}.inline-actions .btn{width:100%}}

/* V2 final - mapa productor tipo comprador/recinto */
.seat-admin-header{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin:18px 0 16px}.seat-admin-header h1{margin:0 0 6px}.seat-legend{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.seat-legend span{display:inline-flex;align-items:center;gap:7px;font-size:14px}.seat-dot{width:14px;height:14px;border-radius:50%;display:inline-block;border:1px solid rgba(255,255,255,.28)}.seat-dot.free{background:#16a34a}.seat-dot.in_payment{background:#ca8a04}.seat-dot.sold{background:#dc2626}.seat-dot.used{background:#7f1d1d}.seat-dot.blocked{background:#f59e0b}.seat-dot.courtesy{background:#0891b2}.seat-dot.cancelled{background:#6b7280}.theater-shell{background:radial-gradient(circle at top,#1e1b4b,#080914 65%);border:1px solid var(--line);border-radius:24px;padding:18px;overflow:auto}.theater-stage{max-width:620px;margin:0 auto 22px;text-align:center;padding:13px 20px;border-radius:0 0 48px 48px;background:linear-gradient(90deg,#312e81,#4c1d95);border:1px solid #7c3aed;color:#fff;font-weight:900;letter-spacing:.12em;box-shadow:0 20px 60px rgba(124,58,237,.25)}.theater-map{display:grid;grid-template-columns:1fr 1.25fr 1fr;grid-template-areas:"front front front" "left center right" "back back back";gap:14px;min-width:720px}.theater-section{background:rgba(10,13,30,.82);border:1px solid var(--line);border-radius:20px;padding:12px}.theater-section h3{margin:0 0 10px;color:#c4b5fd;text-align:center}.section-front{grid-area:front}.section-left{grid-area:left}.section-center{grid-area:center}.section-right{grid-area:right}.section-back{grid-area:back}.zone-block{border:2px solid var(--zone-color,#7c3aed);border-radius:18px;background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.015));padding:12px;margin-bottom:12px}.zone-title{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:10px}.zone-title span{display:block;color:var(--muted);font-size:12px;margin-top:2px}.zone-title em{font-style:normal;font-weight:800;color:#fff;background:rgba(255,255,255,.08);border-radius:999px;padding:4px 8px;white-space:nowrap}.seat-map-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(48px,1fr));gap:7px}.seat-map-btn{min-height:36px;padding:6px 4px;border-radius:10px;border:1px solid rgba(255,255,255,.18);color:white;font-size:11px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:#16a34a;transition:transform .12s ease, box-shadow .12s ease, outline .12s ease}.seat-map-btn:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(0,0,0,.25)}.seat-map-btn.selected{outline:3px solid #fff;box-shadow:0 0 0 5px rgba(124,58,237,.45)}.seat-map-btn.free{background:#16a34a}.seat-map-btn.in_payment,.seat-map-btn.reserved{background:#ca8a04}.seat-map-btn.sold{background:#dc2626}.seat-map-btn.used{background:#7f1d1d}.seat-map-btn.blocked{background:#f59e0b;color:#111}.seat-map-btn.courtesy{background:#0891b2}.seat-map-btn.cancelled{background:#6b7280}.general-zone-box{border:1px dashed rgba(255,255,255,.22);border-radius:14px;padding:12px;background:rgba(255,255,255,.04)}.general-courtesy-form{display:grid;gap:8px;margin-top:12px}.general-courtesy-form input{padding:9px;border:1px solid var(--line);border-radius:10px;background:#0f1020;color:var(--txt)}.seat-editor-layout{margin-top:18px}.seat-detail-panel{display:none;border-color:#4f46e5}.seat-detail-panel.active{display:block;animation:seatPanelIn .16s ease-out}.panel-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.compact-form{max-width:none}.seat-fast-actions{margin:12px 0}.seat-fast-actions button:disabled,.courtesy-panel button:disabled{opacity:.45;cursor:not-allowed}.courtesy-panel{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}@keyframes seatPanelIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media(max-width:900px){.seat-admin-header{flex-direction:column}.theater-shell{padding:12px;margin-left:-8px;margin-right:-8px;border-radius:18px}.theater-map{min-width:0;display:block}.theater-section{margin-bottom:12px}.seat-map-grid{grid-template-columns:repeat(auto-fill,minmax(54px,1fr));gap:8px}.seat-map-btn{min-height:38px;font-size:11px}.panel-head{flex-direction:column}.seat-detail-panel.active{position:relative;bottom:auto;left:auto;right:auto}.seat-legend{gap:8px}.seat-legend span{font-size:12px}}

/* Cierre V2 - salida global, detalle de evento compacto y reportes admin */
.logout-link{background:#28304e;border:1px solid #3b4164;border-radius:999px;padding:8px 12px;color:#fff!important}.event-hero-detail{align-items:center}.event-hero-detail .event-img{width:100%;max-width:320px;height:190px;object-fit:cover;border-radius:18px;background:#242844;border:1px solid var(--line)}.admin-filter-form{margin-bottom:18px}.filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;align-items:end}.filter-actions{display:flex;gap:10px;align-items:center}.admin-sales-table,.admin-user-table{min-width:980px}.admin-sales-table small{font-size:11px}.mini-status-form{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.mini-status-form select{min-width:130px;padding:8px 10px}.btn.small{padding:7px 10px;font-size:12px}.status-active{background:#064e3b;border-color:#047857}.status-pending{background:#4a3d1d;border-color:#f59e0b}.status-blocked,.status-disabled{background:#4a1d1d;border-color:#ef4444}
@media(max-width:800px){.event-hero-detail .event-img{max-width:100%;height:170px}.filter-actions{grid-column:1/-1}.admin-sales-table,.admin-user-table{display:block;overflow-x:auto}.menu{flex-wrap:wrap}.logout-link{padding:7px 10px}}


/* ===== Constructor visual profesional ===== */


/* Editor visual de zonas */
.v62-page{max-width:1600px;margin:0 auto;padding:14px}.v62-header{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:16px}.v62-grid{display:grid;grid-template-columns:360px minmax(0,1fr);gap:18px}.v62-panel{position:sticky;top:80px;max-height:calc(100vh - 95px);overflow:auto}.v62-zone-list{display:grid;gap:8px;margin:10px 0 16px}.v62-zone-btn{display:flex;justify-content:space-between;align-items:center;border:1px solid rgba(255,255,255,.14);background:rgba(15,23,42,.8);color:#fff;border-radius:14px;padding:10px 12px;cursor:pointer}.v62-zone-btn:before{content:"";width:14px;height:14px;border-radius:50%;background:var(--z,#7c3aed);margin-right:8px}.v62-zone-btn span{flex:1;text-align:left;font-weight:900}.v62-zone-btn small{color:#cbd5e1;font-size:11px}.v62-zone-btn.active{border-color:#38bdf8;box-shadow:0 0 0 3px rgba(56,189,248,.14)}.v62-form{display:grid;gap:8px;margin:14px 0}.v62-form input,.v62-form select{width:100%;padding:9px;border-radius:10px;border:1px solid rgba(255,255,255,.14);background:#0f172a;color:#e5e7eb}.v62-main{min-width:0}.v62-toolbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}.v62-canvas-wrap{height:72vh;min-height:560px;border:1px solid rgba(255,255,255,.14);border-radius:22px;overflow:hidden;background:radial-gradient(circle at top,#172554,#020617 70%);touch-action:none}.v62-svg{width:100%;height:100%;display:block;cursor:crosshair}.v62-bg{fill:rgba(255,255,255,.035);stroke:rgba(255,255,255,.15);stroke-dasharray:12 8}.v62-title{fill:#e0f2fe;font-weight:900;letter-spacing:.14em;font-size:18px}.v62-zone path,.v62-zone rect{stroke:rgba(255,255,255,.55);stroke-width:1.5;vector-effect:non-scaling-stroke;cursor:move}.v62-zone.selected path,.v62-zone.selected rect,.v62-seat.selected rect,.v62-object.selected rect{stroke:#22c55e!important;stroke-width:4!important;filter:drop-shadow(0 0 6px rgba(34,197,94,.8))}.v62-seat{cursor:move}.v62-seat rect{stroke:rgba(255,255,255,.4);stroke-width:.7;vector-effect:non-scaling-stroke}.v62-seat.blocked rect{fill:#f59e0b!important}.v62-seat.courtesy rect{fill:#06b6d4!important}.v62-seat.sold rect,.v62-seat.used rect{fill:#7f1d1d!important;opacity:.72}.v62-object{cursor:move}.v62-select-box{fill:rgba(56,189,248,.15);stroke:#38bdf8;stroke-width:2;stroke-dasharray:7 5;pointer-events:none;vector-effect:non-scaling-stroke}.v62-status{font-weight:800;color:#bfdbfe;margin:10px 0}.btn.small{padding:7px 10px;font-size:12px}.two.tiny{display:grid;grid-template-columns:1fr 1fr;gap:8px}@media(max-width:980px){.v62-header{flex-direction:column}.v62-grid{grid-template-columns:1fr}.v62-panel{position:static;max-height:none}.v62-canvas-wrap{height:62vh;min-height:420px}}@media(max-width:640px){.v62-page{padding:10px}.v62-toolbar{overflow:auto;flex-wrap:nowrap}.v62-canvas-wrap{height:56vh;min-height:340px}.v62-panel{order:2}.v62-main{order:1}}

/* ============================================================
   Estilos específicos del editor de zonas separado
   Se agregan DESPUÉS del CSS global para no romper la web.
   ============================================================ */


/* Editor visual de zonas */
.v62-page{max-width:1600px;margin:0 auto;padding:14px}.v62-header{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:16px}.v62-grid{display:grid;grid-template-columns:360px minmax(0,1fr);gap:18px}.v62-panel{position:sticky;top:80px;max-height:calc(100vh - 95px);overflow:auto}.v62-zone-list{display:grid;gap:8px;margin:10px 0 16px}.v62-zone-btn{display:flex;justify-content:space-between;align-items:center;border:1px solid rgba(255,255,255,.14);background:rgba(15,23,42,.8);color:#fff;border-radius:14px;padding:10px 12px;cursor:pointer}.v62-zone-btn:before{content:"";width:14px;height:14px;border-radius:50%;background:var(--z,#7c3aed);margin-right:8px}.v62-zone-btn span{flex:1;text-align:left;font-weight:900}.v62-zone-btn small{color:#cbd5e1;font-size:11px}.v62-zone-btn.active{border-color:#38bdf8;box-shadow:0 0 0 3px rgba(56,189,248,.14)}.v62-form{display:grid;gap:8px;margin:14px 0}.v62-form input,.v62-form select{width:100%;padding:9px;border-radius:10px;border:1px solid rgba(255,255,255,.14);background:#0f172a;color:#e5e7eb}.v62-main{min-width:0}.v62-toolbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}.v62-canvas-wrap{height:72vh;min-height:560px;border:1px solid rgba(255,255,255,.14);border-radius:22px;overflow:hidden;background:radial-gradient(circle at top,#172554,#020617 70%);touch-action:none}.v62-svg{width:100%;height:100%;display:block;cursor:crosshair}.v62-bg{fill:rgba(255,255,255,.035);stroke:rgba(255,255,255,.15);stroke-dasharray:12 8}.v62-title{fill:#e0f2fe;font-weight:900;letter-spacing:.14em;font-size:18px}.v62-zone path,.v62-zone rect{stroke:rgba(255,255,255,.55);stroke-width:1.5;vector-effect:non-scaling-stroke;cursor:move}.v62-zone.selected path,.v62-zone.selected rect,.v62-seat.selected rect,.v62-object.selected rect{stroke:#22c55e!important;stroke-width:4!important;filter:drop-shadow(0 0 6px rgba(34,197,94,.8))}.v62-seat{cursor:move}.v62-seat rect{stroke:rgba(255,255,255,.4);stroke-width:.7;vector-effect:non-scaling-stroke}.v62-seat.blocked rect{fill:#f59e0b!important}.v62-seat.courtesy rect{fill:#06b6d4!important}.v62-seat.sold rect,.v62-seat.used rect{fill:#7f1d1d!important;opacity:.72}.v62-object{cursor:move}.v62-select-box{fill:rgba(56,189,248,.15);stroke:#38bdf8;stroke-width:2;stroke-dasharray:7 5;pointer-events:none;vector-effect:non-scaling-stroke}.v62-status{font-weight:800;color:#bfdbfe;margin:10px 0}.btn.small{padding:7px 10px;font-size:12px}.two.tiny{display:grid;grid-template-columns:1fr 1fr;gap:8px}@media(max-width:980px){.v62-header{flex-direction:column}.v62-grid{grid-template-columns:1fr}.v62-panel{position:static;max-height:none}.v62-canvas-wrap{height:62vh;min-height:420px}}@media(max-width:640px){.v62-page{padding:10px}.v62-toolbar{overflow:auto;flex-wrap:nowrap}.v62-canvas-wrap{height:56vh;min-height:340px}.v62-panel{order:2}.v62-main{order:1}}

/* Editor separado: vista general + zona interna */
.v62-mode-title{font-weight:900;color:#bae6fd;margin:8px 0 10px;padding:8px 12px;border:1px solid rgba(56,189,248,.22);border-radius:14px;background:rgba(14,165,233,.08)}
.v62-resize-handle{fill:#fff;stroke:#22c55e;stroke-width:2;cursor:nwse-resize;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 4px rgba(34,197,94,.85))}.v62-resize-handle.n,.v62-resize-handle.s{cursor:ns-resize}.v62-resize-handle.e,.v62-resize-handle.w{cursor:ew-resize}.v62-resize-handle.ne,.v62-resize-handle.sw{cursor:nesw-resize}.v62-resize-handle.nw,.v62-resize-handle.se{cursor:nwse-resize}.v62-zone text{user-select:none}.v62-zone{cursor:move}.v62-seat{cursor:move}.v62-object{cursor:move}

/* ============================================================
   Plano general permanente + editor de zona
   ============================================================ */
.v64-grid{display:grid;grid-template-columns:370px minmax(0,1fr);gap:18px}.v64-panel{position:sticky;top:80px;max-height:calc(100vh - 95px);overflow:auto}.v64-legend{display:grid;gap:8px;margin:10px 0 16px}.v64-legend-pill{display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid rgba(255,255,255,.14);background:rgba(15,23,42,.82);color:#fff;border-radius:14px;padding:10px 12px;cursor:pointer}.v64-legend-pill:before{content:"";width:13px;height:13px;border-radius:50%;background:var(--z,#7c3aed);box-shadow:0 0 0 3px rgba(255,255,255,.08)}.v64-legend-pill span{flex:1;text-align:left;font-weight:900}.v64-legend-pill small{color:#cbd5e1;font-size:11px}.v64-legend-pill.active{border-color:#38bdf8;box-shadow:0 0 0 3px rgba(56,189,248,.13)}.v64-form{display:grid;gap:9px;margin:14px 0}.v64-form label{display:grid;gap:5px;font-size:12px;color:#cbd5e1;font-weight:900}.v64-form input,.v64-form select{width:100%;padding:9px;border-radius:10px;border:1px solid rgba(255,255,255,.14);background:#0f172a;color:#e5e7eb}.v64-main{min-width:0}.v64-toolbar,.v64-alignbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:10px}.v64-alignbar{border:1px solid rgba(56,189,248,.22);background:rgba(14,165,233,.08);border-radius:16px;padding:8px}.v64-mode-title{font-weight:900;color:#bae6fd;margin:5px 0 8px}.v64-canvas-wrap{height:72vh;min-height:560px;border:1px solid rgba(255,255,255,.14);border-radius:22px;overflow:hidden;background:radial-gradient(circle at top,#172554,#020617 70%);touch-action:none}.v64-canvas-wrap.pan-mode{cursor:grab}.v64-svg{width:100%;height:100%;display:block;cursor:crosshair}.v64-canvas-wrap.pan-mode .v64-svg{cursor:grab}.v64-bg{fill:rgba(255,255,255,.035);stroke:rgba(255,255,255,.12);stroke-dasharray:12 8}.v64-title{fill:#e0f2fe;font-weight:900;letter-spacing:.14em;font-size:18px}.v64-zone path,.v64-zone rect{stroke:rgba(255,255,255,.42);stroke-width:.9;vector-effect:non-scaling-stroke;cursor:move}.v64-zone.selected path,.v64-zone.selected rect,.v64-seat-preview.selected rect,.v64-object.selected rect{stroke:#22c55e!important;stroke-width:2!important;filter:drop-shadow(0 0 5px rgba(34,197,94,.65))}.v64-seat-preview rect{stroke:rgba(255,255,255,.32);stroke-width:.55;vector-effect:non-scaling-stroke;cursor:move}.v64-seat-preview.blocked rect{fill:#f59e0b!important}.v64-seat-preview.courtesy rect{fill:#06b6d4!important}.v64-seat-preview.sold rect,.v64-seat-preview.used rect{fill:#7f1d1d!important}.v64-object rect{stroke:rgba(255,255,255,.34);stroke-width:.75;vector-effect:non-scaling-stroke;cursor:move}.v64-resize-handle{fill:#fff;stroke:#0ea5e9;stroke-width:1.2;vector-effect:non-scaling-stroke;cursor:nwse-resize}.v64-resize-handle.n,.v64-resize-handle.s{cursor:ns-resize}.v64-resize-handle.e,.v64-resize-handle.w{cursor:ew-resize}.v64-select-box{fill:rgba(56,189,248,.14);stroke:#38bdf8;stroke-width:1.5;stroke-dasharray:7 5;pointer-events:none;vector-effect:non-scaling-stroke}.v64-status{font-weight:800;color:#bfdbfe;margin:10px 0}.btn.small.active{outline:2px solid rgba(56,189,248,.65)}@media(max-width:980px){.v64-grid{grid-template-columns:1fr}.v64-panel{position:static;max-height:none}.v64-canvas-wrap{height:62vh;min-height:420px}}@media(max-width:640px){.v64-toolbar,.v64-alignbar{overflow:auto;flex-wrap:nowrap}.v64-canvas-wrap{height:56vh;min-height:340px}.v64-panel{order:2}.v64-main{order:1}}

/* V7.4 Constructor Pro seguro: bloques visuales, curvas y objetos */
.v64-object path,.v64-object ellipse{stroke:rgba(255,255,255,.38);stroke-width:.8;vector-effect:non-scaling-stroke;cursor:move}
.v64-object.selected path,.v64-object.selected ellipse{stroke:#22c55e!important;stroke-width:2!important;filter:drop-shadow(0 0 5px rgba(34,197,94,.65))}
.v64-object.zone-block path,.v64-object.zone-block rect,.v64-object.zone-block ellipse{stroke-dasharray:10 7;stroke-width:1.2;vector-effect:non-scaling-stroke}
.v64-form .btn.small,.v64-form .btn{width:100%;justify-content:center;margin-top:2px}


/* V7.4.4 comprador: plano público con coordenadas reales del constructor */
.v5-general-map-real{min-height:520px;display:block;overflow:auto;padding:0;background:radial-gradient(circle at top,#172554,#020617 72%);border:1px solid rgba(255,255,255,.12);border-radius:22px}
.v5-general-map-real svg{width:100%;min-width:900px;height:auto;display:block}
.v5-public-bg{fill:rgba(255,255,255,.035);stroke:rgba(255,255,255,.14);stroke-dasharray:12 8}
.v5-public-title{fill:#e0f2fe;font-size:22px;font-weight:900;letter-spacing:.14em}
.v5-public-object text,.v5-public-object-text{fill:#fff;font-weight:800;font-size:18px;pointer-events:none}
.v5-public-zone{cursor:pointer;outline:none}.v5-public-zone path,.v5-public-zone rect,.v5-public-zone ellipse{stroke:rgba(255,255,255,.58);stroke-width:2;vector-effect:non-scaling-stroke}.v5-public-zone:hover path,.v5-public-zone:hover rect,.v5-public-zone:hover ellipse,.v5-public-zone:focus path,.v5-public-zone:focus rect,.v5-public-zone:focus ellipse{stroke:#38bdf8;filter:drop-shadow(0 0 7px rgba(56,189,248,.65))}.v5-public-zone-title{fill:#fff;font-size:22px;font-weight:900;pointer-events:none}.v5-public-zone-meta{fill:#e0f2fe;font-size:16px;font-weight:800;pointer-events:none}.v64-form fieldset{border:0;padding:0;margin:0;display:grid;gap:9px}.v64-form fieldset:disabled{opacity:.48}.v64-seat-editor{border:1px solid rgba(34,197,94,.25);border-radius:16px;padding:10px;background:rgba(34,197,94,.06)}

/* V9.1 - Constructor: toolbar ordenada por menús desplegables */
.v91-toolbar{align-items:flex-start!important;gap:10px!important;padding:10px;border:1px solid rgba(125,211,252,.16);border-radius:18px;background:rgba(2,6,23,.36);position:relative;z-index:8}.v91-menu{position:relative}.v91-menu summary{list-style:none;cursor:pointer;user-select:none;border-radius:999px;padding:9px 13px;background:#28304e;color:#fff;font-weight:900;font-size:12px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}.v91-menu summary::-webkit-details-marker{display:none}.v91-menu[open] summary{background:#7c3aed;box-shadow:0 8px 22px rgba(124,58,237,.28)}.v91-menu-body{position:absolute;top:calc(100% + 8px);left:0;min-width:220px;display:grid;gap:7px;padding:10px;border:1px solid rgba(125,211,252,.18);border-radius:16px;background:#0b1020;box-shadow:0 24px 60px rgba(0,0,0,.44);z-index:30}.v91-menu-body .btn{width:100%;text-align:left;justify-content:flex-start}.v91-menu-note{font-size:12px;color:#bae6fd;font-weight:800;border:1px solid rgba(56,189,248,.18);background:rgba(14,165,233,.08);border-radius:12px;padding:8px}.v91-toolbar-spacer{flex:1}.v91-toolbar>.btn{white-space:nowrap}@media(max-width:760px){.v91-menu{position:static}.v91-menu-body{position:static;min-width:100%;box-shadow:none;margin-top:6px}.v91-toolbar{display:grid!important;grid-template-columns:1fr 1fr}.v91-toolbar-spacer{display:none}.v91-toolbar>.btn{width:100%}}

/* Checkout profesional V13 */
.page-hero{display:flex;align-items:stretch;justify-content:space-between;gap:18px;margin:20px 0 22px;padding:24px;border:1px solid var(--line);border-radius:28px;background:linear-gradient(135deg,rgba(124,58,237,.16),rgba(34,211,238,.08));box-shadow:0 20px 60px rgba(0,0,0,.24)}.page-hero.compact h1{margin:4px 0 8px;font-size:clamp(30px,4vw,48px)}.eyebrow{margin:0 0 6px;color:#67e8f9;font-size:12px;text-transform:uppercase;letter-spacing:.16em;font-weight:950}.hero-metric{min-width:190px;display:grid;place-content:center;text-align:center;border-radius:22px;padding:18px;border:1px solid rgba(255,255,255,.14);background:rgba(5,8,22,.42)}.hero-metric span{display:block;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.12em;font-weight:900}.hero-metric strong{display:block;font-size:30px;color:#fff}.section-title{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}.section-title h2{margin:0}.pill{display:inline-flex;align-items:center;border-radius:999px;padding:7px 10px;border:1px solid rgba(34,211,238,.28);background:rgba(34,211,238,.10);color:#cffafe;font-weight:900;font-size:12px}.table-wrap{overflow:auto;border-radius:18px}.checkout-card{height:max-content}.highlight-card{border-color:rgba(34,211,238,.28);box-shadow:0 22px 70px rgba(34,211,238,.10)}.gateway-list{display:grid;gap:10px}.gateway-option{display:flex;gap:12px;align-items:flex-start;padding:14px;border-radius:18px;border:1px solid var(--line);background:rgba(255,255,255,.045);cursor:pointer}.gateway-option input{width:auto;margin-top:4px}.gateway-option small{display:block;color:var(--muted);font-weight:600;margin-top:4px}.gateway-option.disabled{opacity:.55;cursor:not-allowed}.full-width{width:100%}@media(max-width:900px){.page-hero{flex-direction:column}.hero-metric{width:100%}}

/* ============================================================
   V13.5 - Experiencia comprador profesional
   ============================================================ */
.buyer-hero{display:flex;align-items:stretch;justify-content:space-between;gap:20px;margin:20px 0 22px;padding:26px;border:1px solid var(--line);border-radius:30px;background:linear-gradient(135deg,rgba(124,58,237,.18),rgba(14,165,233,.10),rgba(2,6,23,.38));box-shadow:0 24px 72px rgba(0,0,0,.28)}
.buyer-hero.compact{align-items:center}.buyer-hero h1{margin:4px 0 10px;font-size:clamp(34px,4.2vw,54px);line-height:1.02}.buyer-hero .muted{max-width:760px}.buyer-quick-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:16px}.buyer-hero.compact .buyer-quick-actions{margin-top:0;align-self:center}.buyer-hero-stats{min-width:260px;display:grid;grid-template-columns:1fr 1fr;gap:12px}.buyer-hero-stats>div{display:grid;place-content:center;text-align:center;border:1px solid rgba(255,255,255,.13);border-radius:24px;background:rgba(5,8,22,.46);padding:18px}.buyer-hero-stats span{display:block;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.12em;font-weight:900}.buyer-hero-stats strong{display:block;color:#fff;font-size:34px;line-height:1}.preference-card{border-color:rgba(34,211,238,.30);background:linear-gradient(135deg,rgba(14,165,233,.10),rgba(124,58,237,.05))}.buyer-section-card{margin-top:18px}.buyer-recommendation-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px}.buyer-event-card{overflow:hidden;border:1px solid var(--line);border-radius:24px;background:rgba(255,255,255,.045);box-shadow:0 14px 36px rgba(0,0,0,.20)}.buyer-event-card img,.buyer-event-placeholder{width:100%;height:156px;object-fit:cover;display:grid;place-items:center;background:radial-gradient(circle at top,#172554,#020617 76%);color:#bae6fd;font-weight:950;letter-spacing:.14em;text-transform:uppercase}.buyer-event-body{padding:16px;display:grid;gap:8px}.buyer-event-body h3{margin:0}.buyer-date{font-weight:900;color:#e0f2fe;margin:0}.buyer-empty-state{text-align:center;padding:32px;border-radius:24px;border:1px dashed rgba(255,255,255,.18);background:rgba(255,255,255,.035)}.buyer-empty-state h2,.buyer-empty-state h3{margin-top:0}.ticket-event-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}.ticket-event-card{display:grid;grid-template-columns:92px 1fr;gap:14px;align-items:center;padding:12px;border-radius:22px;border:1px solid var(--line);background:rgba(255,255,255,.045);color:inherit;text-decoration:none;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.ticket-event-card:hover,.ticket-event-card.active{transform:translateY(-2px);border-color:rgba(34,211,238,.42);box-shadow:0 16px 36px rgba(14,165,233,.12)}.ticket-event-card.active{background:linear-gradient(135deg,rgba(14,165,233,.16),rgba(124,58,237,.08))}.ticket-event-card img,.ticket-event-placeholder{width:92px;height:82px;object-fit:cover;border-radius:16px;display:grid;place-items:center;background:radial-gradient(circle at top,#172554,#020617 74%);color:#bae6fd;font-size:11px;font-weight:950;letter-spacing:.12em;text-transform:uppercase}.ticket-event-card h3{margin:0 0 5px}.ticket-event-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.ticket-event-meta span{display:inline-flex;border:1px solid rgba(34,211,238,.22);background:rgba(34,211,238,.08);border-radius:999px;padding:6px 9px;color:#cffafe;font-size:12px;font-weight:900}.ticket-detail-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:14px}.ticket-detail-head h2{margin:0}.ticket-table-wrap{border:1px solid rgba(255,255,255,.08);border-radius:20px}.ticket-table{min-width:980px}.ticket-table th{white-space:nowrap}.ticket-code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;letter-spacing:.03em;color:#e0f2fe}.btn.small{padding:8px 11px;font-size:12px}.small-text{font-size:12px}
@media(max-width:900px){.buyer-hero{flex-direction:column}.buyer-hero-stats{width:100%;min-width:0}.buyer-hero.compact .buyer-quick-actions{align-self:flex-start}.ticket-detail-head{flex-direction:column}.ticket-event-card{grid-template-columns:84px 1fr}.ticket-event-card img,.ticket-event-placeholder{width:84px;height:76px}}
@media(max-width:560px){.buyer-hero{padding:20px;border-radius:24px}.buyer-hero-stats{grid-template-columns:1fr}.buyer-quick-actions .btn{width:100%;justify-content:center}.ticket-event-grid,.buyer-recommendation-grid{grid-template-columns:1fr}}

/* Promos públicas y alertas de preventa */
.v13-promo-chip em{display:block;margin-top:3px;color:#bae6fd;font-style:normal;font-size:10px;line-height:1.2}
.v13-promo-chip .v13-promo-value{display:block;color:#fff;font-size:13px;font-weight:950;line-height:1.2}
.v13-promo-chip.promo-warning{border-color:#f59e0b;background:rgba(245,158,11,.14)}
.v13-promo-chip em.warn{color:#fbbf24;font-weight:850}

/* Checkout seguro - componentes compartidos */
.secure-badge{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;padding:7px 10px;font-size:12px;font-weight:900;white-space:nowrap;background:rgba(255,255,255,.05)}
.payment-total-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:18px 0 8px;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.payment-total-row span{font-weight:800;color:var(--muted)}
.payment-total-row strong{font-size:24px;color:#fff}
button[disabled].btn{opacity:.5;cursor:not-allowed;filter:saturate(.6)}
@media(max-width:900px){.secure-badge{font-size:11px}}
.flow-list{display:grid;gap:10px;margin:14px 0}
.flow-list>div{display:grid;grid-template-columns:28px 1fr;gap:10px;align-items:start;padding:10px 0;border-bottom:1px solid var(--line)}
.flow-list>div:last-child{border-bottom:0}
.flow-list strong{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:rgba(34,211,238,.10);border:1px solid rgba(34,211,238,.22)}

/* ============================================================
   V14.2 · Checkout profesional, reserva visible y móvil rápido
   ============================================================ */
.v5-checkout-bar{display:flex;align-items:center;justify-content:space-between;gap:18px;background:rgba(12,16,34,.96);backdrop-filter:blur(14px);box-shadow:0 -12px 38px rgba(0,0,0,.22)}
.v142-checkout-info{display:grid;gap:5px;min-width:0}.v142-main-checkout{min-width:210px;justify-content:center}
.v142-reservation{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:4px;color:#dbeafe;font-size:12px;font-weight:850}
.v142-reservation strong{display:inline-flex;min-width:62px;justify-content:center;padding:5px 8px;border-radius:10px;background:rgba(34,197,94,.12);border:1px solid rgba(34,197,94,.32);color:#bbf7d0;font-variant-numeric:tabular-nums;font-size:15px}
.v142-reservation.is-warning strong{background:rgba(245,158,11,.14);border-color:rgba(245,158,11,.45);color:#fde68a}
.v142-reservation.is-expired strong{background:rgba(239,68,68,.14);border-color:rgba(239,68,68,.45);color:#fecaca}
#v142CartStatus{min-height:15px}.v142-checkout-info #v142CartStatus.is-ok{color:#86efac}.v142-checkout-info #v142CartStatus.is-error{color:#fca5a5}
.v142-auth-actions{justify-content:flex-end}.v142-auth-actions .btn{white-space:nowrap}
@media(max-width:900px){
  /* Antes una regla antigua anulaba el sticky en celular. */
  .v5-checkout-bar{position:sticky!important;bottom:0!important;z-index:45!important;margin-left:-4px;margin-right:-4px;padding:12px 14px calc(12px + env(safe-area-inset-bottom));border-radius:18px 18px 0 0;align-items:stretch;flex-direction:column;gap:10px}
  .v142-main-checkout{width:100%;min-width:0;min-height:48px;font-size:15px}
  .v142-auth-actions{width:100%;display:grid!important;grid-template-columns:1fr 1fr;gap:8px!important}
  .v142-auth-actions .v142-main-checkout{grid-column:1/-1}.v142-auth-actions .btn{width:100%;justify-content:center}
  .v142-reservation{justify-content:space-between}.v5-general-map{height:clamp(330px,54vh,560px)}
}
@media(max-width:520px){.v142-auth-actions{grid-template-columns:1fr}.v142-auth-actions .v142-main-checkout{grid-column:auto}.v5-checkout-bar{padding-left:12px;padding-right:12px}}

/* V14.2.2 · carga progresiva del plano: el evento abre antes que las miles de butacas */
.v5-general-map{position:relative}
.v1422-map-loading{position:absolute;inset:18px;z-index:6;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;padding:18px;border-radius:18px;background:rgba(15,23,42,.88);backdrop-filter:blur(5px);color:#e2e8f0;pointer-events:none}
.v1422-map-loading strong{font-size:15px;color:#fff}.v1422-map-loading span{max-width:420px;font-size:12px;color:#cbd5e1}.v1422-map-loading[hidden]{display:none}

/* V14.3 - Culqi Checkout */
.hidden{display:none!important}
.culqi-payment-grid{align-items:start}
.culqi-card{position:sticky;top:88px}
.culqi-brandline{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:8px}
.culqi-status{margin:12px 0;text-align:center;min-height:20px}
.culqi-status.culqi-error{color:#b42318;font-weight:700}
.culqi-status.culqi-success{color:#087443;font-weight:700}
.culqi-privacy-note{margin-top:14px;text-align:center}

@media(max-width:900px){.culqi-card{position:static}}

/* V14.3.1 · confirmación final de pago */
.payment-success-shell{max-width:820px;margin:42px auto 64px}
.payment-success-card{text-align:center;padding:42px 32px}
.payment-success-icon{width:74px;height:74px;border-radius:50%;display:grid;place-items:center;margin:0 auto 20px;background:#dcfce7;color:#166534;font-size:38px;font-weight:900}
.payment-success-card h1{margin:8px 0 10px}
.payment-success-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:28px 0;text-align:left}
.payment-success-summary>div{border:1px solid var(--border,#27324a);border-radius:14px;padding:15px}
.payment-success-summary span{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.07em;opacity:.7;margin-bottom:6px}
.payment-success-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:24px}
.payment-success-countdown{margin-top:18px;font-size:13px;opacity:.72}
@media(max-width:700px){.payment-success-card{padding:30px 18px}.payment-success-summary{grid-template-columns:1fr}.payment-success-actions .btn{width:100%}}


/* V14.3.2 · Password visibility toggle */
.password-field-wrap{position:relative;display:block;width:100%;}
.password-field-wrap input{width:100%;padding-right:44px!important;box-sizing:border-box;}
.password-toggle{position:absolute;right:7px;top:50%;transform:translateY(-50%);width:34px;height:34px;padding:0;border:0!important;border-radius:8px;background:transparent!important;color:#64748b;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:none!important;z-index:2;}
.password-toggle:hover,.password-toggle:focus-visible,.password-toggle.is-visible{color:#111827;background:#f1f5f9!important;}
.password-toggle:focus-visible{outline:2px solid #2563eb;outline-offset:1px;}
.password-toggle svg{width:20px;height:20px;pointer-events:none;}


/* V14.3.6 · Legal / confianza */
.legal-page{max-width:980px;margin:0 auto}.legal-page>h1{margin-bottom:4px}.legal-copy{line-height:1.65}.legal-copy h2{margin-top:26px}.legal-identity{margin:16px 0}.security-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0}.security-grid>div{border:1px solid rgba(148,163,184,.25);border-radius:12px;padding:14px;background:rgba(15,23,42,.35)}.security-grid strong,.security-grid span{display:block}.security-grid span{margin-top:5px;color:#b8c3d9}.v7-footer-links{flex-wrap:wrap}.v7-footer-note small{display:inline-block;margin-top:5px}@media(max-width:720px){.security-grid{grid-template-columns:1fr}}

/* V14.4 - Mercado Pago Checkout API / Bricks */
.mp-payment-grid{align-items:start}
.mp-card{position:sticky;top:88px}
#paymentBrick_container{min-height:180px;margin-top:10px}
@media(max-width:900px){.mp-card{position:static}}

/* V14.4.7 - confianza visual en checkout Mercado Pago / Yape */
.mp-brandline{align-items:center;gap:14px}
.payment-brand{display:flex;flex-direction:column;align-items:flex-start;gap:5px;min-width:0}
.payment-brand .eyebrow{margin:0}
.payment-brand-logo{display:block;object-fit:contain;max-width:100%;background:#fff;border-radius:10px}
.payment-brand-logo-mp{width:170px;height:51px}
.payment-brand-logo-yape{width:108px;height:43px}
.mp-yape-title{margin-bottom:12px;align-items:center}
.secure-payment-badge{display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(45,212,191,.35);background:rgba(45,212,191,.10);color:#99f6e4;border-radius:999px;padding:6px 9px;font-size:.74rem;font-weight:700;white-space:nowrap}
.mp-yape-pay-button{width:100%;margin-top:10px;display:flex;align-items:center;justify-content:center;gap:10px;min-height:48px}
.button-payment-logo{width:66px;height:28px;object-fit:contain;background:#fff;border-radius:7px;padding:2px 5px}
.payment-trust-note{display:flex;align-items:flex-start;gap:8px;margin-top:14px;padding-top:12px;border-top:1px solid rgba(148,163,184,.18)}
.payment-trust-note p{margin:0}
.payment-trust-lock{line-height:1.3;font-size:.9rem}
@media(max-width:520px){
  .payment-brand-logo-mp{width:150px;height:45px}
  .payment-brand-logo-yape{width:96px;height:39px}
  .mp-yape-title{align-items:flex-start;gap:8px}
  .secure-payment-badge{font-size:.68rem}
}

/* V14.4.8 - logos reales + espera de confirmación a pantalla completa */
.payment-brand-logo-mp{width:132px;height:86px;padding:4px 8px;object-fit:contain}
.payment-brand-logo-yape{width:58px;height:58px;padding:0;object-fit:contain}
.button-payment-logo{width:38px;height:38px;padding:0;object-fit:contain;background:#fff;border-radius:9px}

.mp-processing-overlay[hidden]{display:none!important}
.mp-processing-overlay{position:fixed;inset:0;z-index:100000;display:grid;place-items:center;padding:22px;background:rgba(4,7,22,.96);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.mp-processing-panel{width:min(560px,100%);text-align:center;padding:30px 28px;border:1px solid rgba(56,189,248,.35);border-radius:26px;background:linear-gradient(180deg,rgba(15,23,42,.98),rgba(8,12,30,.99));box-shadow:0 28px 90px rgba(0,0,0,.55)}
.mp-processing-brands{display:flex;align-items:center;justify-content:center;gap:16px;min-height:76px;margin-bottom:14px}
.mp-processing-logo{display:block;object-fit:contain;background:#fff;border-radius:12px;box-shadow:0 8px 30px rgba(0,0,0,.18)}
.mp-processing-logo-mp{width:116px;height:78px;padding:4px 7px}
.mp-processing-logo-yape{width:62px;height:62px}
.mp-processing-spinner{width:48px;height:48px;margin:8px auto 18px;border:4px solid rgba(255,255,255,.14);border-top-color:#38bdf8;border-right-color:#8b5cf6;border-radius:50%;animation:mp-processing-spin .85s linear infinite}
.mp-processing-check{width:54px;height:54px;margin:8px auto 18px;border-radius:50%;display:grid;place-items:center;background:rgba(16,185,129,.15);border:1px solid rgba(52,211,153,.42);color:#6ee7b7;font-size:30px;font-weight:900}
.mp-processing-panel h2{margin:0 0 10px;color:#fff;font-size:clamp(25px,5vw,34px)}
.mp-processing-panel>p{margin:0 auto;color:#d9e4f5;line-height:1.55;max-width:480px}
.mp-processing-warning{margin:20px 0 12px;padding:13px 15px;border:1px solid rgba(251,191,36,.32);border-radius:14px;background:rgba(245,158,11,.09);color:#fde68a;line-height:1.4}
.mp-processing-detail{font-size:.86rem!important;color:#9fb0cb!important}
html.payment-processing-active,body.payment-processing-active{overflow:hidden!important;overscroll-behavior:none}
@keyframes mp-processing-spin{to{transform:rotate(360deg)}}
@media(max-width:520px){
  .payment-brand-logo-mp{width:112px;height:76px}
  .payment-brand-logo-yape{width:54px;height:54px}
  .mp-processing-overlay{padding:14px}
  .mp-processing-panel{padding:25px 18px;border-radius:22px}
  .mp-processing-logo-mp{width:104px;height:72px}
  .mp-processing-logo-yape{width:58px;height:58px}
}
@media(prefers-reduced-motion:reduce){.mp-processing-spinner{animation-duration:1.8s}}


/* ============================================================
   V14.6.14 · Mapa de comprador ampliado a pantalla completa
   Reutiliza el mismo DOM, carrito y holds; no crea una segunda
   sesión de reserva ni abre otra pestaña.
   ============================================================ */
.v14614-map-toolbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}
.v14614-fullscreen-summary{display:inline-flex;align-items:center;min-height:34px;padding:6px 10px;border:1px solid rgba(34,197,94,.32);border-radius:10px;background:rgba(34,197,94,.10);color:#bbf7d0;font-size:12px;font-weight:900;white-space:nowrap}
body.v14614-map-open{overflow:hidden;overscroll-behavior:none}
.v5-public-layout.is-fullscreen{position:fixed;inset:0;z-index:10000;display:grid!important;grid-template-columns:minmax(300px,390px) minmax(0,1fr)!important;gap:12px;align-items:stretch;padding:12px max(12px,env(safe-area-inset-right)) calc(12px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));background:#070a16;overflow:hidden}
.v5-public-layout.is-fullscreen>.v5-zone-list{position:relative;top:auto;height:100%;min-height:0;overflow:auto;overscroll-behavior:contain;margin:0}
.v5-public-layout.is-fullscreen>.v5-map-card{height:100%;min-height:0;display:flex;flex-direction:column;margin:0;overflow:hidden}
.v5-public-layout.is-fullscreen .v5-public-map-toolbar{flex:0 0 auto;margin-bottom:8px}
.v5-public-layout.is-fullscreen .v5-general-map{flex:1 1 auto;width:100%;height:auto!important;min-height:0!important;max-height:none;border-radius:16px}
.v5-public-layout.is-fullscreen .v5-mobile-hint{display:block;margin:7px 0 0}
.v5-public-layout.is-fullscreen .v5-cart-list{max-height:28vh}
.v5-public-layout.is-fullscreen .v1213-price-table-wrap{overflow-x:auto;overscroll-behavior:contain}
.v5-public-layout.is-fullscreen .v14614-open-map{display:none}
.v5-public-layout.is-fullscreen .v14614-fullscreen-summary{display:inline-flex}

@media(max-width:900px){
  .v14614-open-map{width:100%;min-height:44px;margin-top:3px}
  .v5-public-layout.is-fullscreen{grid-template-columns:1fr!important;grid-template-rows:minmax(0,1fr) minmax(170px,34vh);padding:6px 6px calc(6px + env(safe-area-inset-bottom));gap:6px}
  .v5-public-layout.is-fullscreen>.v5-map-card{grid-row:1;padding:8px;border-radius:14px}
  .v5-public-layout.is-fullscreen>.v5-zone-list{grid-row:2;padding:10px;border-radius:14px}
  .v5-public-layout.is-fullscreen .v5-public-map-toolbar{gap:6px;margin-bottom:6px}
  .v5-public-layout.is-fullscreen .v5-stage-label{display:none}
  .v5-public-layout.is-fullscreen .v14614-map-toolbar-actions{width:100%;display:grid;grid-template-columns:auto repeat(3,auto);gap:5px}
  .v5-public-layout.is-fullscreen .v14614-fullscreen-summary{grid-column:1/-1;justify-content:center;min-height:30px;padding:4px 7px}
  .v5-public-layout.is-fullscreen #v5PublicZoomOut,.v5-public-layout.is-fullscreen #v5PublicFit,.v5-public-layout.is-fullscreen #v5PublicZoomIn{min-width:0;padding:7px 8px}
  .v5-public-layout.is-fullscreen #v14614CloseFullscreen{display:inline-flex!important;grid-column:1/3;justify-content:center;min-height:42px}
  .v5-public-layout.is-fullscreen #v14614ConfirmMap{display:inline-flex!important;grid-column:3/5;justify-content:center;min-height:42px}
  .v5-public-layout.is-fullscreen .v13-tariff-title{margin-bottom:4px}
  .v5-public-layout.is-fullscreen .v13-tariff-title h2{font-size:17px}
  .v5-public-layout.is-fullscreen .v13-tariff-sub{display:none}
  .v5-public-layout.is-fullscreen .v13-price-matrix{min-width:660px;font-size:12px}
  .v5-public-layout.is-fullscreen .v5-cart-box{margin-top:7px}
  .v5-public-layout.is-fullscreen .v5-cart-box h3{margin:3px 0}
  .v5-public-layout.is-fullscreen .v5-cart-box>p{display:none}
  .v5-public-layout.is-fullscreen .v5-cart-list{max-height:120px}
}
@media(max-width:520px){
  .v5-public-layout.is-fullscreen{grid-template-rows:minmax(0,1fr) minmax(155px,31vh)}
  .v5-public-layout.is-fullscreen .v14614-map-toolbar-actions{grid-template-columns:repeat(3,1fr)}
  .v5-public-layout.is-fullscreen .v14614-fullscreen-summary{grid-column:1/-1}
  .v5-public-layout.is-fullscreen #v14614CloseFullscreen{grid-column:1/2}
  .v5-public-layout.is-fullscreen #v14614ConfirmMap{grid-column:2/4}
  .v5-public-layout.is-fullscreen #v5PublicZoomOut,.v5-public-layout.is-fullscreen #v5PublicFit,.v5-public-layout.is-fullscreen #v5PublicZoomIn{font-size:11px}
}


/* ============================================================
   V14.6.15 · UX mapa comprador
   - Vista normal simplificada: solo "Ampliar mapa".
   - Controles de zoom/confirmación solo en vista ampliada.
   - En móvil se eliminan explicaciones bajo el mapa y se
     aprovecha más superficie para el plano.
   ============================================================ */
.v5-public-layout:not(.is-fullscreen) #v5PublicZoomOut,
.v5-public-layout:not(.is-fullscreen) #v5PublicFit,
.v5-public-layout:not(.is-fullscreen) #v5PublicZoomIn,
.v5-public-layout:not(.is-fullscreen) #v14614CloseFullscreen,
.v5-public-layout:not(.is-fullscreen) #v14614ConfirmMap,
.v5-public-layout:not(.is-fullscreen) .v14614-fullscreen-summary{
  display:none!important;
}
.v5-public-layout:not(.is-fullscreen) .v14614-open-map{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
}
.v5-public-layout.is-fullscreen #v5PublicZoomOut,
.v5-public-layout.is-fullscreen #v5PublicFit,
.v5-public-layout.is-fullscreen #v5PublicZoomIn,
.v5-public-layout.is-fullscreen #v14614CloseFullscreen,
.v5-public-layout.is-fullscreen #v14614ConfirmMap{
  display:inline-flex;
}

@media(max-width:900px){
  .v14615-map-explanation{display:none!important}
  .v5-public-layout:not(.is-fullscreen) .v5-general-map{
    height:clamp(410px,60svh,620px);
    min-height:410px;
  }
  .v5-public-layout:not(.is-fullscreen) .v5-map-card{padding:10px}
  .v5-public-layout:not(.is-fullscreen) .v5-public-map-toolbar{margin-bottom:8px}
  .v5-public-layout:not(.is-fullscreen) .v14614-map-toolbar-actions{width:100%}
  .v5-public-layout:not(.is-fullscreen) .v14614-open-map{width:100%;min-height:46px;margin:0}
  .v5-public-layout.is-fullscreen{grid-template-rows:minmax(0,1fr) minmax(150px,29vh)}
}
@media(max-width:520px){
  .v5-public-layout:not(.is-fullscreen) .v5-general-map{
    height:clamp(430px,64svh,650px);
    min-height:430px;
    border-radius:16px;
  }
  .v5-public-layout.is-fullscreen{grid-template-rows:minmax(0,1fr) minmax(140px,27vh)}
}
