/* TEBA Ticket Product Mapping Companion v0.1.1
   Frontend fallback CSS for team/microsite ticket product pages. */
:root {
  --hub-ink: #07080b;
  --hub-paper: var(--teba-cream, #f3f0e8);
  --hub-card: rgba(255,255,255,.48);
  --hub-line: rgba(7,8,11,.12);
  --hub-accent: var(--teba-red, #d91445);
  --hub-display: var(--teba-display-font, var(--teba-display, 'Archivo Black', Impact, 'Arial Black', sans-serif));
  --hub-mono: var(--teba-mono, 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace);
}
.teba-ticket-page *{box-sizing:border-box;}
.teba-ticket-page{min-height:70vh;padding:40px 56px 80px;background:var(--hub-paper);color:#07080b;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;}
.teba-ticket-container{width:min(100%,1360px);margin:0 auto;}
.teba-ticket-back{display:inline-flex;margin:0 0 28px;color:rgba(7,8,11,.58);font-family:var(--hub-mono);font-size:11px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;}
.teba-kicker{display:inline-flex;align-items:center;gap:10px;font-family:var(--hub-mono);font-size:11px;font-weight:900;letter-spacing:.18em;text-transform:uppercase;color:#07080b;}
.teba-kicker::before{content:'';display:block;width:14px;height:2px;background:var(--hub-accent);flex-shrink:0;}
.teba-ticket-grid{display:grid;grid-template-columns:2fr 1fr;align-items:start;gap:48px;}
.teba-ticket-title{max-width:820px;margin:8px 0 22px;color:#07080b;font-family:var(--hub-display);font-size:clamp(34px,4.6vw,58px);font-weight:900;line-height:.9;letter-spacing:.02em;text-transform:uppercase;}
.teba-ticket-event-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:24px;padding:24px;margin:0 0 34px;background:var(--hub-card);border:1px solid var(--hub-line);}
.teba-ticket-event-team img{display:block;width:56px;height:56px;object-fit:contain;}
.teba-ticket-event-team--away img{margin-left:auto;}
.teba-ticket-event-meta span,.teba-ticket-event-meta small{display:block;color:var(--hub-accent);font-family:var(--hub-mono);font-size:11px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;}
.teba-ticket-event-meta strong{display:block;margin:6px 0 4px;color:#07080b;font-family:var(--hub-display);font-size:clamp(18px,2vw,30px);line-height:1;text-transform:uppercase;}
.teba-ticket-seat-list{display:grid;gap:10px;margin-top:16px;}
.teba-ticket-seat{display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:18px;min-height:0;padding:18px;background:var(--hub-card);border:1px solid var(--hub-line);border-radius:0;cursor:pointer;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease;}
.teba-ticket-seat.is-selected{border:2px solid var(--hub-accent);background:rgba(255,255,255,.66);box-shadow:0 10px 26px rgba(7,8,11,.05);}
.teba-ticket-seat input{position:absolute;opacity:0;pointer-events:none;}
.teba-ticket-seat__radio{width:22px;height:22px;border:2px solid rgba(7,8,11,.45);border-radius:50%;display:block;position:relative;}
.teba-ticket-seat.is-selected .teba-ticket-seat__radio{border-color:var(--hub-accent);background:var(--hub-accent);}
.teba-ticket-seat.is-selected .teba-ticket-seat__radio::after{content:'';position:absolute;inset:6px;border-radius:50%;background:#fff;}
.teba-ticket-seat__copy strong,.teba-ticket-seat__price{display:block;color:#07080b;font-family:var(--hub-display);font-size:clamp(16px,1.6vw,24px);line-height:1;text-transform:uppercase;}
.teba-ticket-seat__copy small{display:block;margin-top:5px;color:rgba(7,8,11,.55);font-family:var(--hub-mono);font-size:11px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;}
.teba-ticket-summary{position:sticky;top:20px;padding:30px;background:var(--hub-ink);color:#fff;border-radius:0;}
.teba-ticket-summary__inner{display:block;}
.teba-ticket-summary__tier{display:block;color:#fff;font-family:var(--hub-display);font-size:24px;line-height:1;text-transform:uppercase;}
.teba-ticket-summary__row{display:block;margin:8px 0 28px;padding-bottom:22px;border-bottom:1px solid rgba(255,255,255,.12);color:rgba(255,255,255,.7);font-family:var(--hub-mono);font-size:12px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;}
.teba-ticket-summary__line,.teba-ticket-summary__total{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 0;border-top:1px solid rgba(255,255,255,.12);font-family:var(--hub-mono);font-size:13px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;}
.teba-ticket-summary__total{margin-top:6px;padding-top:18px;}
.teba-ticket-summary__total strong{font-family:var(--hub-display);font-size:34px;line-height:.95;color:#fff;}
.teba-ticket-qty{display:inline-flex;align-items:center;border:1px solid rgba(255,255,255,.18);}
.teba-ticket-qty button,.teba-ticket-qty input{width:44px;min-width:44px;height:44px;border:0;border-left:1px solid rgba(255,255,255,.18);background:transparent;color:#fff;text-align:center;font-family:var(--hub-mono);font-weight:900;box-shadow:none;border-radius:0;}
.teba-ticket-qty button:first-child{border-left:0;}
.teba-ticket-checkout,.woocommerce .teba-ticket-checkout.button{width:100%;min-height:52px;margin-top:20px;border:1px solid var(--hub-accent);border-radius:0;background:var(--hub-accent);color:#fff;font-family:var(--hub-mono);font-size:12px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;text-align:center;}
.teba-ticket-summary--mobile{display:none;}
.teba-ticket-notices .woocommerce-message,.teba-ticket-notices .woocommerce-error,.teba-ticket-notices .woocommerce-info{margin:0 0 18px;}
@media(max-width:900px){.teba-ticket-page{padding:34px 18px 64px}.teba-ticket-grid{grid-template-columns:1fr}.teba-ticket-summary--desktop{display:none}.teba-ticket-summary--mobile{display:block;position:static;margin-top:24px}.teba-ticket-title{font-size:clamp(34px,11vw,50px)}}
@media(max-width:760px){.teba-ticket-event-card{grid-template-columns:56px 1fr 56px;gap:14px;padding:18px}}
@media(max-width:430px){.teba-ticket-page{padding-left:14px;padding-right:14px}.teba-ticket-seat{grid-template-columns:24px 1fr}.teba-ticket-seat__price{grid-column:2}.teba-ticket-summary{padding:24px}.teba-ticket-summary__total strong{font-size:28px}}
