/* Eventos (replica S-EV-01) and Nueva venta (S-NV-01). Sizes follow the mobile references at 390 CSS px width. */
:root{--ev-card:#1b1a1f;--ev-border:transparent;--ev-off:#2e2d33;--ev-tab:#b8b7bd;--ev-field:#151517;--nv-line:#2c2b30;--nv-dim:#4e4d53;--nv-out:#3b3a40;--nv-sel:#ffd08a;--nv-sel-ink:#141416;--nv-chip:#212224;--nv-chip-line:#ebdcc5;--nv-venue:#a9b6c9;--nv-label:#c9c8cd;--nv-week:#858488}
body.light{--ev-card:#fff;--ev-border:#d9ddda;--ev-off:#dfe3e0;--ev-tab:#69726d;--ev-field:#fff;--nv-line:#d9ddda;--nv-dim:#b3b8b5;--nv-out:#d0d4d1;--nv-sel:#684d24;--nv-sel-ink:#fff;--nv-chip:#f4f5f4;--nv-chip-line:#684d24;--nv-venue:#46607d;--nv-label:#4b544f;--nv-week:#6f7773}

/* S-EV-01 */
.ev-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:0 0 24px}
.ev-tabs{display:grid;grid-template-columns:repeat(2,150px);gap:27px}
/* 24 px tall for touch (WCAG 2.5.8); the extra 5 px go upwards, so nothing below moves. */
.ev-tab{position:relative;height:24px;margin-top:-5px;padding:0;border:0;border-radius:9px 9px 0 0;background:none;color:var(--ev-tab);font-size:11px;font-weight:400;letter-spacing:.14em;line-height:24px}
.ev-tab::after{content:"";position:absolute;left:0;right:0;top:100%;height:3px;border-radius:3px;background:var(--ev-off)}
.ev-tab.active{background:var(--ev-card);color:var(--text)}
.ev-tab.active::after{background:var(--accent)}
.ev-search{display:block;width:300px}
.ev-search input{display:block;width:100%;height:44px;padding:0 22px;border:1px solid var(--field-line);border-radius:999px;background:var(--ev-field);color:var(--text)}
.ev-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.ev-card{position:relative;display:grid;grid-template-columns:107px minmax(0,1fr);min-height:120px;border-radius:7px;background:var(--ev-card);box-shadow:0 0 0 1px var(--ev-border)}
.ev-flyer{position:relative;overflow:hidden;border-radius:7px 0 0 7px;color:#dcefd0;background:linear-gradient(160deg,#3d5a2f,#16200f)}
.ev-flyer.theme-violet{color:#d8cdff;background:linear-gradient(160deg,#4b3c7a,#1a1430)}
.ev-flyer.theme-amber{color:#f2dba4;background:linear-gradient(160deg,#7a5522,#251908)}
.ev-flyer.theme-blue{color:#c6ddeb;background:linear-gradient(160deg,#2c5479,#0e1b29)}
.ev-art{position:absolute;right:-44px;bottom:-40px;width:118px;height:118px;border:1px solid currentColor;border-radius:50%;opacity:.4}
.ev-art::before,.ev-art::after{content:"";position:absolute;inset:14px;border:1px solid currentColor;border-radius:50%}
.ev-art::after{inset:30px}
.theme-violet .ev-art,.theme-violet .ev-art::before,.theme-violet .ev-art::after{border-radius:28%}
.theme-amber .ev-art,.theme-amber .ev-art::before,.theme-amber .ev-art::after{border-radius:0;transform:rotate(20deg)}
.ev-mono{position:absolute;left:9px;bottom:7px;font-size:36px;font-weight:800;letter-spacing:-1.5px;line-height:1;opacity:.9}
.ev-when{position:absolute;left:7.5px;top:8px;display:flex;flex-direction:column;justify-content:center;min-width:75px;height:31px;padding:0 8px;border:1px solid #ffffff14;border-radius:5px;background:#111113eb;color:#e5e4e9;font-size:10.5px;line-height:12.3px;white-space:nowrap}
.ev-when b{font-size:11px;font-weight:600}
.ev-when span{color:#b9bec9}
.ev-body{display:flex;flex-direction:column;min-width:0;padding:13px 12px 2px}
.ev-body h3{margin:0 26px 0 0;font-size:14px;font-weight:600;line-height:18px;letter-spacing:-.01em;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.ev-tiers{margin-top:2px;font-size:11.5px;color:var(--muted)}
.ev-series{margin-right:6px;font-weight:600;color:var(--text)}
.ev-venue{margin:5px 0 0;font-size:11.5px;line-height:15px;color:var(--muted)}
.ev-venue .badge{margin-left:4px;vertical-align:1px}
.ev-counts{display:flex;align-items:center;gap:10px;height:34px;margin-top:auto;border-top:1px solid var(--line)}
.ev-counts>span{display:inline-flex;align-items:center;gap:5px;font-size:12.5px}
.ev-counts .icon{width:14px;height:14px;stroke-width:1.4;color:var(--muted)}
.ev-counts b{font-weight:500}
.ev-more-wrap{position:absolute;right:2px;top:9px}
.ev-more{display:grid;place-items:center;width:30px;height:28px;padding:0;border:0;border-radius:6px;background:none;color:var(--text)}
.ev-more .icon{width:22px;height:22px;stroke-width:1.2}
.ev-more:hover{background:var(--raised)}
.pop-menu{position:absolute;right:4px;top:calc(100% + 4px);z-index:40;display:grid;min-width:196px;padding:6px;border:1px solid var(--line);border-radius:10px;background:var(--panel);box-shadow:0 12px 34px #0007}
.pop-menu button{display:flex;align-items:center;gap:10px;padding:10px;border:0;border-radius:7px;background:none;font-size:13px;text-align:left}
.pop-menu button:hover,.pop-menu button:focus-visible{background:var(--raised)}
.pop-menu .icon{width:17px;height:17px;color:var(--muted)}
.ev-create{display:none}

/* S-NV-01 */
.nv{max-width:440px;margin:0 auto}
.nv-head{display:flex;align-items:center;justify-content:space-between;height:44px;margin:0 0 9px}
.nv-head h1{font-size:18px;font-weight:600;letter-spacing:-.01em;line-height:22px}
.nv-close{display:grid;place-items:center;width:30px;height:30px;margin-right:-2px;padding:0;border:0;border-radius:6px;background:none}
.nv-close .icon{width:27px;height:27px;stroke-width:1.5}
.nv-cal{padding:0 12px 11px;border:1px solid var(--nv-line);border-radius:13px;background:var(--ev-card)}
.nv-month{display:grid;grid-template-columns:28px 1fr 28px;align-items:center;height:55px}
.nv-month strong{text-align:center;font-size:15px;font-weight:500}
.nv-nav{display:grid;place-items:center;width:28px;height:34px;padding:0;border:0;border-radius:6px;background:none}
.nv-nav .icon{width:13px;height:13px;stroke-width:2}
.nv-week,.nv-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.nv-week{height:14px;margin-bottom:4px;color:var(--nv-week);font-size:11px;line-height:14px;text-align:center}
.nv-grid{grid-auto-rows:45.9px;align-items:center}
.nv-day{position:relative;width:44px;max-width:100%;height:42px;margin:auto;padding:0;border:0;border-radius:8px;background:none;font-size:13px}
.nv-day.has::after{content:"";position:absolute;left:calc(50% - 2px);bottom:5.5px;width:4px;height:4px;border-radius:50%;background:var(--accent)}
.nv-day:disabled{opacity:1;cursor:default;color:var(--nv-dim)}
.nv-day.out:disabled{color:var(--nv-out)}
.nv-day.sel{background:var(--nv-sel);color:var(--nv-sel-ink)}
.nv-day.sel::after{background:var(--nv-sel-ink)}
.nv-day:not(:disabled):not(.sel):hover{background:var(--raised)}
.nv-label{margin:14.5px 0 0;font-size:12.5px;line-height:16px;color:var(--nv-label)}
.nv-events{display:grid;gap:8px;margin-top:4.5px}
.nv-event{display:flex;align-items:center;min-height:34px;padding:0 13px;border:1.5px solid var(--nv-line);border-radius:9px;background:var(--nv-chip);font-size:13px;text-align:left;text-transform:uppercase;white-space:nowrap;overflow:hidden}
.nv-event.sel{border-color:var(--nv-chip-line)}
.nv-event b{font-weight:600;overflow:hidden;text-overflow:ellipsis}
.nv-event span{color:var(--nv-venue);white-space:pre}
.nv-none{margin-top:6px;font-size:12px;color:var(--muted)}
.nv-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16.5px}
.nv-action{display:block;min-height:109px;padding:14px;border:1px solid var(--nv-line);border-radius:12px;background:var(--ev-card);text-align:left}
.nv-action:not(:disabled):hover{border-color:var(--muted)}
.nv-ico{display:grid;place-items:center;width:36px;height:36px;border-radius:7px;background:var(--nv-sel);color:var(--nv-sel-ink)}
.nv-ico .icon{width:18px;height:18px;stroke-width:2}
.nv-action strong{display:block;margin-top:7.5px;font-size:15px;font-weight:600;line-height:18px}
.nv-action small{display:block;margin-top:3.5px;font-size:11px;line-height:14px}

@media(min-width:1500px){.ev-list{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:850px){.ev-list{grid-template-columns:1fr}}
@media(max-width:640px){
 .page-events .topbar,.page-sale .topbar{display:none}
 /* Without the top bar, the bell of in-app notices (N-06) sits at the top of the events page. */
 .page-events .content{position:relative}
 .page-events .ev-bell{display:grid;position:absolute;top:10px;right:15px}
 .page-events .content{padding:47px 15px 125px}
 .page-sale .content{padding:59px 22px 125px}
 .page-events .page-heading{display:none}
 .ev-toolbar{display:block;margin:0}
 .ev-tabs{grid-template-columns:1fr 1fr}
 .ev-search{width:auto;margin:26.5px 0 21px}
 .ev-create{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:44px;margin-top:20px;border:1px dashed var(--line);border-radius:9px;background:none;color:var(--muted);font-size:13px;font-weight:500}
 .ev-create .icon{width:16px;height:16px}
}
.ev-bell{display:none}
.pop-menu.up{top:auto;bottom:calc(100% + 4px)}
/* A long ⋯ menu scrolls inside itself instead of running off the screen. */
.pop-menu{max-height:min(60vh,520px);overflow-y:auto;overscroll-behavior:contain}
