@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');

.gap-etp-public{
  --gap-etp-ink:#0e1222;
  --gap-etp-muted:#5b6478;
  --gap-etp-border:#e3e6ef;
  --gap-etp-card:#ffffff;
  --gap-etp-accent:#ff6a3d;
  --gap-etp-accent-2:#f6c445;
  --gap-etp-bg:#f6f2ea;
  --gap-etp-shadow:0 16px 40px rgba(14,18,34,.08);
  font-family:"Space Grotesk","Segoe UI",Tahoma,sans-serif;
  color:var(--gap-etp-ink);
  background:linear-gradient(135deg,#fdf6ec 0%,#f2f7ff 52%,#f7f2e8 100%);
  border:1px solid var(--gap-etp-border);
  border-radius:24px;
  padding:18px;
  position:relative;
  overflow:hidden;
  box-shadow:var(--gap-etp-shadow)
}
.gap-etp-public::before{
  content:"";
  position:absolute;
  right:-80px;
  top:-80px;
  width:220px;
  height:220px;
  background:radial-gradient(circle at 30% 30%,rgba(255,106,61,.35),rgba(255,106,61,0));
  opacity:.6;
  pointer-events:none
}
.gap-etp-public::after{
  content:"";
  position:absolute;
  left:-100px;
  bottom:-120px;
  width:240px;
  height:240px;
  background:radial-gradient(circle at 60% 40%,rgba(246,196,69,.32),rgba(246,196,69,0));
  opacity:.5;
  pointer-events:none
}
.gap-etp-public > *{position:relative;z-index:1}

.gap-etp-hero{
  display:grid;
  gap:14px;
  background:var(--gap-etp-card);
  border:1px solid var(--gap-etp-border);
  border-radius:20px;
  padding:14px;
  box-shadow:0 12px 30px rgba(14,18,34,.06)
}
.gap-etp-hero.has-cover{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:stretch}
.gap-etp-hero__media{border-radius:16px;overflow:hidden;min-height:160px;background:#eef1f6;display:flex;align-items:center;justify-content:center}
.gap-etp-hero__media img{width:100%;height:auto;object-fit:contain;display:block}
.gap-etp-hero__body{display:flex;flex-direction:column;gap:10px;justify-content:center}
.gap-etp-hero__eyebrow{text-transform:uppercase;font-size:12px;letter-spacing:.12em;color:var(--gap-etp-muted);font-weight:600}
.gap-etp-hero__title{font-family:"Fraunces","Georgia",serif;font-size:26px;font-weight:700;margin:0}
.gap-etp-hero__meta{display:flex;flex-wrap:wrap;gap:8px}
.gap-etp-hero__note{background:#fff4ea;border:1px solid #ffd1be;padding:8px 10px;border-radius:12px;font-size:13px;color:#9c3d1e}

.gap-etp-pill{display:inline-flex;align-items:center;gap:8px;background:#f3f5fb;border:1px solid #e6e8ee;border-radius:999px;padding:6px 10px;font-size:12px}
.gap-etp-daypick{display:flex;align-items:center;gap:10px;margin:14px 0 16px;padding:10px 12px;border:1px solid var(--gap-etp-border);border-radius:16px;background:#fff;flex-wrap:wrap}
.gap-etp-daypick label{font-weight:600}
.gap-etp-daypick select{border-radius:12px;border:1px solid var(--gap-etp-border);padding:8px 10px}

.gap-etp-section{margin:18px 0 10px}
.gap-etp-section--tight{margin-top:12px}
.gap-etp-section__title{font-weight:700;font-size:16px}
.gap-etp-section__sub{color:var(--gap-etp-muted);font-size:13px;margin-top:4px}

.gap-etp-conditions{margin:16px 0;padding:14px;border:1px solid #f2c8b3;background:#fff6f0;border-radius:16px}
.gap-etp-conditions__title{font-weight:700;margin-bottom:6px}
.gap-etp-conditions__body{font-size:13px;color:var(--gap-etp-muted);line-height:1.5}
.gap-etp-accept{display:flex;gap:8px;align-items:flex-start;margin-top:10px;font-size:13px}
.gap-etp-accept input{margin-top:2px}
.gap-etp-accept-error{margin-top:8px;font-size:12px;color:#b91c1c}

.gap-etp-venues{display:grid;gap:16px}
.gap-etp-venue-card{border:1px solid var(--gap-etp-border);border-radius:20px;padding:14px;background:#fff;box-shadow:0 10px 26px rgba(14,18,34,.05)}
.gap-etp-venue-head{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.gap-etp-venue-title{font-weight:700;font-size:18px}
.gap-etp-venue-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.gap-etp-badge{display:inline-flex;background:var(--gap-etp-ink);color:#fff;border-radius:999px;padding:4px 10px;font-size:12px}
.gap-etp-meta-tag{display:inline-flex;align-items:center;background:#f2f4fb;border:1px solid var(--gap-etp-border);border-radius:999px;padding:4px 10px;font-size:12px;color:var(--gap-etp-muted)}
.gap-etp-muted{opacity:.75;color:var(--gap-etp-muted)}
.gap-etp-links{display:flex;gap:8px;flex-wrap:wrap}
.gap-etp-link{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--gap-etp-border);border-radius:12px;padding:8px 10px;text-decoration:none;background:#fff;color:var(--gap-etp-ink)}
.gap-etp-venue-address{margin-top:10px;color:var(--gap-etp-muted)}

.gap-etp-ticket-list{margin-top:10px;display:flex;flex-direction:column;gap:12px}
.gap-etp-ticket-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center;background:#fff;border:1px solid var(--gap-etp-border);border-radius:16px;padding:12px}
.gap-etp-ticket-row.gap-etp-addon-row{background:#fffaf2}
.gap-etp-ticket-name{font-weight:700}
.gap-etp-ticket-desc{opacity:.75;margin-top:2px;font-size:13px}
.gap-etp-ticket-remaining{margin-top:6px;font-size:12px;opacity:.8}
.gap-etp-ticket-price{font-weight:700;font-size:16px;white-space:nowrap}
.gap-etp-ticket-cta{display:flex;align-items:center;justify-content:flex-end}

.gap-etp-buy-form,
.gap-etp-addon-form{display:flex;align-items:center;gap:8px}
.gap-etp-btn{display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--gap-etp-accent),#ff884f);color:#fff;border-radius:12px;padding:10px 14px;text-decoration:none;border:none;cursor:pointer;font-weight:600;box-shadow:0 10px 18px rgba(255,106,61,.25)}
.gap-etp-btn:hover{filter:brightness(.97)}
.gap-etp-btn:disabled{opacity:.6;cursor:not-allowed;box-shadow:none;filter:none}
.gap-etp-qty{width:70px;border:1px solid var(--gap-etp-border);border-radius:10px;padding:8px 10px}

.gap-etp-public__schedule{margin-top:16px;display:flex;flex-direction:column;gap:10px}
.gap-etp-schedule-row{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;background:#fff;border:1px solid var(--gap-etp-border);border-radius:12px}
.gap-etp-schedule-date{font-weight:600}
.gap-etp-schedule-time{color:var(--gap-etp-muted)}

.gap-etp-error{border-color:#ffb4b4;background:#fff1f1}

@media (max-width:720px){
  .gap-etp-hero.has-cover{grid-template-columns:1fr}
  .gap-etp-ticket-row{grid-template-columns:1fr;align-items:flex-start}
  .gap-etp-ticket-price{font-size:18px}
  .gap-etp-ticket-cta{justify-content:flex-start}
  .gap-etp-buy-form,.gap-etp-addon-form{width:100%}
  .gap-etp-qty{flex:1}
}
