.threeness-public-booking{--tn-primary:#00A0CC;--tn-accent:#FF531A;--tn-text:#0F1729;--tn-muted:#F1F5F9;--tn-border:#E1E7EF;--tn-shadow:0 20px 60px rgba(15,23,41,.08);color:var(--tn-text);background:#f8fbfe;border:1px solid var(--tn-border);border-radius:28px;padding:24px;margin:32px 0;box-shadow:var(--tn-shadow)}
.threeness-public-booking *{box-sizing:border-box}.threeness-public-booking button,.threeness-public-booking input{font:inherit}.tn-preview-intro{max-width:760px;margin-bottom:18px}.tn-preview-intro span{display:inline-flex;padding:5px 10px;border-radius:999px;background:#e9faff;color:var(--tn-primary);text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:900;margin-bottom:10px}.tn-preview-intro h2{font-size:clamp(1.65rem,3vw,2.45rem);line-height:1.06;margin:0 0 8px;color:#061735}.tn-preview-intro p{color:#607795;line-height:1.6;margin:0}.tn-booking-preview-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:18px;align-items:start}.tn-selector-panel,.tn-basket-panel{border:1px solid var(--tn-border);border-radius:18px;background:#fff;padding:18px;box-shadow:0 10px 30px rgba(15,23,41,.045)}.tn-basket-panel{position:sticky;top:40px}.tn-choice-block{margin-top:16px}.tn-choice-block:first-child{margin-top:0}.tn-choice-block>strong{display:block;margin-bottom:9px;color:#607795;text-transform:uppercase;letter-spacing:.1em;font-size:12px}.tn-choice-block>div{display:flex;flex-wrap:wrap;gap:8px}.tn-choice-pill{border:1px solid var(--tn-border);background:#fff;color:var(--tn-text);border-radius:999px;padding:9px 14px;cursor:pointer;font-weight:800}.tn-choice-pill.is-active{background:var(--tn-primary);border-color:var(--tn-primary);color:#fff;box-shadow:0 10px 22px rgba(0,160,204,.18)}.tn-option-copy{margin:14px 0 0;padding:14px;border-radius:16px;background:#f8fbfe;border:1px solid var(--tn-border);color:#607795;line-height:1.55}.tn-price-summary{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-top:22px;padding:18px;border-radius:16px;background:#f8fbfe;border:1px solid var(--tn-border)}.tn-price-summary span,.tn-price-summary small{display:block;color:#607795;margin-top:4px}.tn-price-summary>div:last-child{text-align:right}.tn-price-summary>div:last-child strong{font-size:28px;color:#061735}.tn-qty-stepper{display:inline-flex!important;align-items:center;gap:8px!important;padding:6px;border:1px solid var(--tn-border);border-radius:999px;background:#fff}.tn-qty-stepper button{display:grid;place-items:center;width:36px;height:36px;padding:0!important;border-radius:50%!important;border:0!important;background:var(--tn-primary)!important;color:#fff!important;font-size:18px;line-height:1;cursor:pointer}.tn-qty-stepper button:disabled{opacity:.35;cursor:not-allowed}.tn-qty-stepper input{width:64px;min-height:36px;border:0;background:transparent;text-align:center;font-weight:900;color:var(--tn-text);font-size:18px}.tn-qty-stepper span{padding-right:10px;color:#607795;font-weight:700}.tn-preview-cta{width:100%;margin-top:14px;min-height:48px;border:0;border-radius:999px;background:#0f1729;color:#fff;font-weight:900;cursor:pointer}.tn-preview-cta--accent{background:var(--tn-accent)}.tn-preview-cta--ghost{background:#fff;color:#0f1729;border:1px solid var(--tn-border)}.tn-preview-cta:disabled{opacity:.55;cursor:not-allowed}.tn-basket-head,.tn-basket-total{display:flex;justify-content:space-between;gap:14px;align-items:baseline;margin-bottom:14px}.tn-basket-head h3{margin:0;color:#061735}.tn-basket-head span,.tn-basket-total span,.tn-basket-total small{color:#607795}.tn-basket-lines{display:grid;gap:10px;margin-bottom:16px}.tn-basket-line{display:grid;grid-template-columns:1fr auto;gap:12px;padding:12px;border:1px solid var(--tn-border);border-radius:14px;background:#f8fbfe}.tn-basket-line span,.tn-basket-line small{display:block;color:#607795;margin-top:4px}.tn-basket-line>div:last-child{text-align:right}.tn-basket-line button{display:block;margin-top:6px;border:0;background:transparent;color:var(--tn-accent);cursor:pointer;font-weight:800}.tn-basket-total{align-items:flex-start;padding-top:14px;border-top:1px solid var(--tn-border);flex-direction:column}.tn-basket-total strong{font-size:30px;color:#061735}.tn-basket-total small{line-height:1.5}.tn-empty-state{display:grid;gap:4px;padding:16px;border:1px dashed var(--tn-border);border-radius:16px;background:#f8fbfe;color:#607795}.tn-checkout-result{border-radius:14px;padding:12px;margin-bottom:12px}.tn-checkout-result.is-good{background:#def9ec;color:#079260}.tn-checkout-result.is-warning{background:#fff1ec;color:var(--tn-accent)}.tn-checkout-success{display:grid;gap:8px}.tn-checkout-success span{color:#0d7650}.tn-success-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:4px}.tn-success-actions a{display:flex;align-items:center;justify-content:center;min-height:42px;border-radius:999px;background:#fff;color:#079260;text-decoration:none;font-weight:900;border:1px solid rgba(7,146,96,.25)}.tn-success-actions a.tn-success-checkout{background:var(--tn-accent);border-color:var(--tn-accent);color:#fff}.tn-checkout-actions{display:grid;gap:8px}.tn-loading{padding:12px;border-radius:14px;background:#e9faff;color:#057ca0;font-weight:800}.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:1100px){.tn-booking-preview-grid{grid-template-columns:1fr}.tn-basket-panel{position:static}}@media(max-width:760px){.threeness-public-booking{padding:16px;border-radius:20px}.tn-success-actions{grid-template-columns:1fr}.tn-price-summary{flex-direction:column;align-items:flex-start}.tn-price-summary>div:last-child{text-align:left}.tn-choice-block>div{display:grid}.tn-choice-pill{text-align:left}.tn-basket-line{grid-template-columns:1fr}.tn-basket-line>div:last-child{text-align:left}}

.tn-sumo-plan-choice select {
  border: 1px solid var(--tn-border, #e1e7ef);
  border-radius: 0.75rem;
  padding: 0.65rem 0.8rem;
  width: 100%;
}

.tn-sumo-plan-choice small {
  color: var(--tn-muted-text, #64748b);
  display: block;
  margin-top: 0.35rem;
}

.tn-payment-note{display:block!important;padding:12px 14px;border:1px solid var(--tn-border);border-radius:16px;background:#f8fbfe}.tn-payment-note span{display:block;font-weight:900;color:#061735}.tn-payment-note small{display:block;color:#607795;margin-top:3px}.tn-payment-options{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px!important}.tn-payment-card{display:flex;gap:10px;align-items:flex-start;padding:13px;border:1px solid var(--tn-border);border-radius:16px;background:#fff;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.tn-payment-card.is-active{border-color:var(--tn-primary);background:#e9faff;box-shadow:0 10px 22px rgba(0,160,204,.12)}.tn-payment-card input{margin-top:3px;accent-color:var(--tn-primary)}.tn-payment-card b{display:block;color:#061735}.tn-payment-card small{display:block;color:#607795;margin-top:3px;line-height:1.35}.tn-plan-details{margin-top:10px;padding:14px;border:1px solid var(--tn-border);border-radius:16px;background:#f8fbfe}.tn-plan-details[hidden]{display:none}.tn-plan-details label{display:grid;gap:6px;color:#607795;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.tn-plan-details select{border:1px solid var(--tn-border);border-radius:12px;padding:10px 12px;background:#fff;color:#0f1729;font-weight:800;text-transform:none;letter-spacing:0}.tn-payable-snapshot{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px!important;margin-top:12px}.tn-payable-snapshot span{padding:11px;border:1px solid var(--tn-border);border-radius:14px;background:#fff}.tn-payable-snapshot small{display:block;color:#607795;font-weight:800}.tn-payable-snapshot strong{display:block;color:#061735;font-size:20px;margin-top:3px}.tn-plan-breakdown-link{margin-top:10px;border:0;background:transparent;color:var(--tn-primary);font-weight:900;text-decoration:underline;cursor:pointer;padding:0}.tn-plan-modal{position:fixed;inset:0;z-index:99999;display:grid;place-items:center;padding:20px;background:rgba(15,23,41,.48)}.tn-plan-modal[hidden]{display:none}.tn-plan-modal__panel{position:relative;width:min(560px,100%);max-height:min(720px,90vh);overflow:auto;border-radius:22px;background:#fff;box-shadow:0 30px 80px rgba(15,23,41,.25);padding:24px}.tn-plan-modal__close{position:absolute;top:12px;right:12px;width:36px;height:36px;border-radius:50%;border:1px solid var(--tn-border);background:#fff;font-size:24px;line-height:1;cursor:pointer}.tn-modal-kicker{display:inline-flex;padding:5px 10px;border-radius:999px;background:#e9faff;color:var(--tn-primary);text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:900;margin-bottom:10px}.tn-plan-modal h3{margin:0 42px 8px 0;color:#061735;font-size:24px}.tn-plan-modal p{color:#607795;line-height:1.55}.tn-plan-breakdown-list{list-style:none;margin:16px 0;padding:0;display:grid;gap:8px}.tn-plan-breakdown-list li{display:flex;justify-content:space-between;gap:14px;padding:12px;border:1px solid var(--tn-border);border-radius:14px;background:#f8fbfe}.tn-plan-breakdown-list span{color:#607795}.tn-plan-breakdown-list strong,.tn-plan-modal-total strong{color:#061735}.tn-plan-modal-total{display:flex;justify-content:space-between;gap:14px;align-items:center;border-top:1px solid var(--tn-border);padding-top:14px;margin-top:14px}.tn-plan-modal-total span{color:#607795}.tn-plan-modal-total strong{font-size:28px}.tn-plan-modal small{display:block;color:#607795;line-height:1.5;margin-top:12px}
@media(max-width:760px){.tn-payment-options,.tn-payable-snapshot{grid-template-columns:1fr}.tn-plan-modal__panel{padding:20px}.tn-plan-breakdown-list li,.tn-plan-modal-total{align-items:flex-start;flex-direction:column}}


.tn-basket-money-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%}.tn-basket-money-grid>span{padding:12px;border:1px solid var(--tn-border);border-radius:16px;background:#fff}.tn-basket-money-grid small{display:block;color:#607795;font-weight:900;text-transform:uppercase;letter-spacing:.07em;margin-bottom:4px}.tn-basket-money-grid strong{display:block!important;font-size:26px!important;color:#061735}.tn-basket-money-grid>span:last-child{border-color:rgba(255,83,26,.28);background:#fff7f4}.tn-basket-money-grid>span:last-child strong{color:var(--tn-accent)}
@media(max-width:760px){.tn-basket-money-grid{grid-template-columns:1fr}}

/* Stock/sold-out frontend behaviour */
.tn-choice-pill.is-sold-out,
.tn-choice-pill.is-sold-out.is-active,
.tn-choice-pill:disabled.is-sold-out {
  background: var(--tn-accent);
  border-color: var(--tn-accent);
  color: #fff;
  box-shadow: none;
  cursor: not-allowed;
  opacity: .88;
}
.tn-price-summary span.is-sold-out {
  color: var(--tn-accent);
  font-weight: 900;
}

.tn-event-sold-out-pill {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  padding: 8px 12px;
  border-radius: 999px;
  background: #ff531a;
  color: #fff;
  font-size: 12px;
  font-weight: 900;
  line-height: 1;
  text-transform: uppercase;
  box-shadow: 0 10px 24px rgba(255, 83, 26, .25);
}

.tn-event-button--sold-out,
.tn-event-button--sold-out:hover {
  background: #ff531a;
  color: #fff;
  cursor: default;
  filter: none;
}

.tn-event-sold-out-notice {
  display: grid;
  gap: 10px;
  margin: 28px 0;
  padding: clamp(24px, 5vw, 44px);
  border: 1px solid rgba(255, 83, 26, .24);
  border-radius: 24px;
  background: #fff7f4;
  color: #061735;
  text-align: center;
}

.tn-event-sold-out-notice span {
  justify-self: center;
  padding: 7px 12px;
  border-radius: 999px;
  background: #ff531a;
  color: #fff;
  font-size: 12px;
  font-weight: 900;
  line-height: 1;
  text-transform: uppercase;
}

.tn-event-sold-out-notice h2 {
  margin: 0;
  color: #061735;
  font-size: clamp(1.6rem, 4vw, 2.7rem);
  line-height: 1.05;
}

.tn-event-sold-out-notice p {
  max-width: 560px;
  margin: 0 auto;
  color: #607795;
  line-height: 1.6;
}

.tn-attendee-capture {
  display: grid;
  gap: 0.85rem;
  margin-top: 1rem;
}

.tn-attendee-capture__head {
  align-items: start;
  background: #f8fbfd;
  border: 1px solid #dfeaf1;
  border-radius: 14px;
  display: grid;
  gap: 0.25rem;
  padding: 0.85rem 1rem;
}

.tn-attendee-capture__head small {
  color: #64748b;
  font-weight: 700;
}

.tn-attendee-card {
  background: #fff;
  border: 1px solid #e1e7ef;
  border-radius: 16px;
  display: grid;
  gap: 0.75rem;
  padding: 1rem;
}

.tn-attendee-card h4 {
  margin: 0;
}

.tn-attendee-card label,
.tn-attendee-card fieldset {
  display: grid;
  gap: 0.35rem;
  margin: 0;
}

.tn-attendee-card input,
.tn-attendee-card select,
.tn-attendee-card textarea {
  border: 1px solid #dbe4ed;
  border-radius: 10px;
  padding: 0.65rem 0.75rem;
}

.tn-attendee-card textarea {
  min-height: 5rem;
}

.tn-attendee-card fieldset {
  border: 1px solid #e1e7ef;
  border-radius: 12px;
  padding: 0.8rem;
}

.tn-attendee-check {
  align-items: center;
  display: flex !important;
  gap: 0.45rem;
}

.tn-attendee-card small {
  color: #64748b;
  font-size: 0.82rem;
}

.tn-attendee-card__head {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: center;
  margin-bottom: .75rem;
}
.tn-attendee-lead {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  font-size: .9rem;
  font-weight: 700;
  white-space: nowrap;
}

.tn-attendee-field-label {
  align-items: center;
  display: flex;
  gap: 0.65rem;
  justify-content: space-between;
}

.tn-attendee-copy-field {
  background: transparent;
  border: 0;
  color: var(--tn-primary);
  cursor: pointer;
  font-size: 0.78rem;
  font-weight: 800;
  padding: 0;
  white-space: nowrap;
}

.tn-attendee-copy-field:hover {
  color: #047fa3;
  text-decoration: underline;
}

/* Global event page shell */
.tn-event-page {
  --tn-page-bg: #f7fafc;
  --tn-page-ink: #0f1729;
  --tn-page-muted: #65758b;
  --tn-page-primary: #00a0cc;
  --tn-page-accent: #ff531a;
  background: var(--tn-page-bg);
  color: var(--tn-page-ink);
  font-family: inherit;
  margin: 0 auto;
  overflow: clip;
}

.tn-event-hero {
  background: #0f1729;
  background-image: var(--tn-event-hero-image);
  background-position: center;
  background-size: cover;
  color: #fff;
  min-height: clamp(620px, 82vh, 900px);
  position: relative;
}

.tn-event-hero__overlay {
  background:
    radial-gradient(circle at 72% 18%, rgba(255, 255, 255, 0.22), transparent 28%),
    linear-gradient(90deg, rgba(7, 10, 20, 0.9) 0%, rgba(7, 10, 20, 0.68) 42%, rgba(7, 10, 20, 0.25) 100%),
    linear-gradient(0deg, rgba(7, 10, 20, 0.55), rgba(7, 10, 20, 0.08));
  inset: 0;
  position: absolute;
}

.tn-event-hero__inner {
  align-items: end;
  display: grid;
  gap: clamp(1rem, 3vw, 2rem);
  grid-template-columns: minmax(0, 1fr) minmax(260px, 360px);
  margin: 0 auto;
  max-width: 1180px;
  min-height: inherit;
  padding: clamp(5rem, 11vw, 8rem) clamp(1rem, 4vw, 2rem) clamp(2rem, 6vw, 4rem);
  position: relative;
  z-index: 1;
}

.tn-event-hero__copy {
  max-width: 780px;
}

.tn-event-kicker,
.tn-event-section__eyebrow,
.tn-event-placeholder span {
  background: rgba(0, 160, 204, 0.14);
  border: 1px solid rgba(0, 160, 204, 0.28);
  border-radius: 999px;
  color: #00a0cc;
  display: inline-flex;
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  padding: 0.45rem 0.72rem;
  text-transform: uppercase;
}

.tn-event-hero .tn-event-kicker {
  background: rgba(255, 255, 255, 0.14);
  border-color: rgba(255, 255, 255, 0.26);
  color: #fff;
}

.tn-event-hero h1 {
  color: #fff;
  font-size: clamp(3rem, 9vw, 6.8rem);
  letter-spacing: -0.07em;
  line-height: 0.88;
  margin: 1rem 0;
  max-width: 860px;
}

.tn-event-hero p {
  color: rgba(255, 255, 255, 0.86);
  font-size: clamp(1.05rem, 2vw, 1.35rem);
  line-height: 1.55;
  margin: 0;
  max-width: 680px;
}

.tn-event-meta {
  display: grid;
  gap: 0.75rem;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: 1.6rem;
}

.tn-event-meta span {
  backdrop-filter: blur(14px);
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 18px;
  color: rgba(255, 255, 255, 0.9);
  display: grid;
  gap: 0.2rem;
  min-height: 82px;
  padding: 0.85rem;
}

.tn-event-meta strong {
  color: #fff;
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.tn-event-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.85rem;
  margin-top: 1.6rem;
}

.tn-event-button,
.tn-event-booking-card a,
.tn-mobile-booking-bar a {
  align-items: center;
  border-radius: 999px;
  display: inline-flex;
  font-weight: 900;
  justify-content: center;
  text-decoration: none;
}

.tn-event-button {
  min-height: 52px;
  padding: 0 1.25rem;
}

.tn-event-button--primary {
  background: var(--tn-page-accent);
  color: #fff;
  box-shadow: 0 18px 45px rgba(255, 83, 26, 0.3);
}

.tn-event-button--glass {
  backdrop-filter: blur(12px);
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.25);
  color: #fff;
}

.tn-event-booking-card {
  backdrop-filter: blur(18px);
  background: rgba(255, 255, 255, 0.16);
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 28px;
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.26);
  display: grid;
  gap: 0.65rem;
  padding: 1.2rem;
}

.tn-event-booking-card span,
.tn-event-booking-card small {
  color: rgba(255, 255, 255, 0.78);
  font-weight: 800;
}

.tn-event-booking-card strong {
  color: #fff;
  font-size: 2rem;
  letter-spacing: -0.04em;
}

.tn-event-booking-card a {
  background: #fff;
  color: #0f1729;
  margin-top: 0.5rem;
  min-height: 48px;
}

.tn-event-tabs {
  background: rgba(255, 255, 255, 0.92);
  border-bottom: 1px solid #e1e7ef;
  box-shadow: 0 10px 30px rgba(15, 23, 41, 0.06);
  display: flex;
  gap: 0.5rem;
  justify-content: center;
  overflow-x: auto;
  padding: 0.75rem 1rem;
  position: sticky;
  scrollbar-width: none;
  top: 0;
  z-index: 40;
}

.tn-event-tabs a {
  border-radius: 999px;
  color: #334155;
  flex: 0 0 auto;
  font-weight: 900;
  padding: 0.75rem 1rem;
  text-decoration: none;
  white-space: nowrap;
}

.tn-event-tabs a:hover,
.tn-event-tabs a.is-active,
.tn-event-tabs a.is-booking {
  background: #0f1729;
  color: #fff;
}

.tn-event-tabs a.is-booking {
  background: var(--tn-page-accent);
}

.tn-event-snapshot {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: -2.4rem auto 0;
  max-width: 1120px;
  padding: 0 clamp(1rem, 4vw, 2rem);
  position: relative;
  z-index: 4;
}

.tn-event-snapshot div {
  background: #fff;
  border: 1px solid #e1e7ef;
  border-radius: 22px;
  box-shadow: 0 18px 55px rgba(15, 23, 41, 0.08);
  display: grid;
  gap: 0.35rem;
  padding: 1rem;
}

.tn-event-snapshot span {
  color: var(--tn-page-muted);
  font-size: 0.78rem;
  font-weight: 900;
  text-transform: uppercase;
}

.tn-event-snapshot strong {
  font-size: 1.1rem;
}

.tn-event-main {
  display: grid;
  gap: 1.4rem;
  margin: 0 auto;
  max-width: 1120px;
  padding: clamp(2rem, 5vw, 4rem) clamp(1rem, 4vw, 2rem) 6rem;
}

.tn-event-section {
  background: #fff;
  border: 1px solid #e1e7ef;
  border-radius: 30px;
  box-shadow: 0 20px 60px rgba(15, 23, 41, 0.05);
  scroll-margin-top: 96px;
}

.tn-event-section--intro,
.tn-event-booking-section {
  display: grid;
  gap: 1rem;
  padding: clamp(1.25rem, 4vw, 2rem);
}

.tn-event-section__grid {
  display: grid;
  gap: 1.25rem;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 340px);
}

.tn-event-section h2 {
  font-size: clamp(2rem, 5vw, 3.8rem);
  letter-spacing: -0.055em;
  line-height: 0.98;
  margin: 0 0 1rem;
}

.tn-event-richcopy {
  color: #334155;
  font-size: 1.04rem;
  line-height: 1.7;
}

.tn-event-info-card {
  background: #f8fafc;
  border: 1px solid #e1e7ef;
  border-radius: 24px;
  align-self: start;
  padding: 1.2rem;
}

.tn-event-info-card strong {
  display: block;
  font-size: 1.1rem;
  margin-bottom: 0.75rem;
}

.tn-event-info-card ul {
  display: grid;
  gap: 0.7rem;
  margin: 0;
  padding-left: 1.1rem;
}

.tn-event-placeholder {
  align-items: center;
  display: grid;
  gap: 1rem;
  grid-template-columns: minmax(0, 0.75fr) minmax(260px, 1fr);
  padding: clamp(1.25rem, 4vw, 2rem);
}

.tn-event-placeholder p {
  color: var(--tn-page-muted);
  font-size: 1.05rem;
  line-height: 1.7;
  margin: 0;
}

.tn-event-booking-section .threeness-public-booking {
  margin-top: 0.5rem;
}

.tn-mobile-booking-bar {
  display: none;
}

@media (max-width: 860px) {
  .tn-event-hero {
    min-height: 690px;
  }

  .tn-event-hero__inner {
    grid-template-columns: 1fr;
    padding-bottom: 5rem;
  }

  .tn-event-hero h1 {
    font-size: clamp(3rem, 15vw, 5.2rem);
  }

  .tn-event-meta,
  .tn-event-snapshot,
  .tn-event-section__grid,
  .tn-event-placeholder {
    grid-template-columns: 1fr;
  }

  .tn-event-meta {
    gap: 0.55rem;
  }

  .tn-event-meta span {
    min-height: auto;
  }

  .tn-event-booking-card {
    display: none;
  }

  .tn-event-tabs {
    justify-content: flex-start;
    top: 0;
  }

  .tn-event-snapshot {
    margin-top: -3rem;
  }

  .tn-event-section {
    border-radius: 24px;
  }

  .tn-mobile-booking-bar {
    align-items: center;
    background: rgba(15, 23, 41, 0.94);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 999px;
    bottom: 0.8rem;
    box-shadow: 0 16px 45px rgba(0, 0, 0, 0.28);
    color: #fff;
    display: flex;
    gap: 0.85rem;
    justify-content: space-between;
    left: 0.8rem;
    padding: 0.45rem 0.45rem 0.45rem 1rem;
    position: fixed;
    right: 0.8rem;
    z-index: 80;
  }

  .tn-mobile-booking-bar span {
    font-weight: 900;
  }

  .tn-mobile-booking-bar a {
    background: var(--tn-page-accent);
    color: #fff;
    min-height: 44px;
    padding: 0 1rem;
  }
}

@media (max-width: 520px) {
  .tn-event-hero__inner {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .tn-event-button {
    width: 100%;
  }

  .tn-event-section h2 {
    font-size: 2.25rem;
  }
}

/* Event page v2 — closer to supplied 3ness travel design */
.tn-event-page {
  --tn-page-bg: #ffffff;
  --tn-page-ink: #101828;
  --tn-page-muted: #667085;
  --tn-page-primary: #00a0cc;
  --tn-page-primary-soft: #eefdff;
  --tn-page-accent: #00a0cc;
  background: #fff !important;
  color: var(--tn-page-ink) !important;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  overflow: visible !important;
}

.tn-event-site-header {
  align-items: center;
  background: rgba(255, 255, 255, 0.96);
  border-bottom: 1px solid #eef2f6;
  display: flex;
  height: 64px;
  justify-content: space-between;
  left: 0;
  padding: 0 clamp(1rem, 8vw, 19rem);
  position: sticky;
  right: 0;
  top: 0;
  z-index: 90;
}

.tn-event-brand {
  color: #0b1220;
  font-size: 1.45rem;
  font-weight: 900;
  letter-spacing: -0.04em;
  text-decoration: none;
}

.tn-event-site-header nav {
  align-items: center;
  display: flex;
  gap: 2.2rem;
}

.tn-event-site-header nav a {
  color: #0b1220;
  font-size: 0.86rem;
  font-weight: 700;
  text-decoration: none;
}

.tn-event-site-header .tn-event-nav-cta {
  background: #00a0cc;
  border-radius: 999px;
  color: #fff;
  padding: 0.68rem 1.1rem;
}

.tn-event-hero {
  background-position: center !important;
  min-height: 600px !important;
}

.tn-event-hero__overlay {
  background:
    linear-gradient(180deg, rgba(255,255,255,0.05) 0%, rgba(15,23,41,0.12) 34%, rgba(15,23,41,0.68) 100%),
    linear-gradient(90deg, rgba(15,23,41,0.18), rgba(15,23,41,0.04)) !important;
}

.tn-event-hero__inner {
  align-items: end !important;
  display: block !important;
  max-width: 1000px !important;
  min-height: 600px !important;
  padding: 3rem 1.25rem 3rem !important;
}

.tn-event-hero__copy {
  max-width: 820px !important;
}

.tn-event-hero h1 {
  color: #fff !important;
  font-size: clamp(2.75rem, 5.4vw, 5rem) !important;
  letter-spacing: -0.055em !important;
  line-height: 0.95 !important;
  margin: 13rem 0 0.55rem !important;
  text-shadow: 0 18px 38px rgba(0,0,0,0.32);
}

.tn-event-hero p {
  color: rgba(255,255,255,0.9) !important;
  font-size: 1.08rem !important;
  line-height: 1.45 !important;
  max-width: 720px !important;
}

.tn-event-kicker {
  background: #00a0cc !important;
  border: 0 !important;
  border-radius: 999px !important;
  color: #fff !important;
  font-size: 0.78rem !important;
  padding: 0.5rem 0.8rem !important;
  position: absolute;
  top: 2rem;
}

.tn-event-meta {
  display: flex !important;
  flex-wrap: wrap;
  gap: 0.8rem !important;
  grid-template-columns: none !important;
  margin-top: 1.25rem !important;
}

.tn-event-meta span {
  align-items: center;
  backdrop-filter: blur(10px);
  background: rgba(255,255,255,0.18) !important;
  border: 1px solid rgba(255,255,255,0.22) !important;
  border-radius: 999px !important;
  color: #fff !important;
  display: inline-flex !important;
  gap: 0.35rem !important;
  min-height: 0 !important;
  padding: 0.55rem 0.85rem !important;
}

.tn-event-meta strong {
  color: rgba(255,255,255,0.72) !important;
  font-size: 0 !important;
}

.tn-event-hero__actions,
.tn-event-booking-card { display: none !important; }

.tn-event-tabs {
  background: #fff !important;
  border-bottom: 1px solid #e8edf3 !important;
  box-shadow: none !important;
  gap: 0 !important;
  padding: 0 !important;
  top: 64px !important;
}

.tn-event-tabs a {
  border-radius: 0 !important;
  color: #344054 !important;
  font-size: 0.88rem !important;
  padding: 1.2rem 1.45rem !important;
  position: relative;
}

.tn-event-tabs a:hover,
.tn-event-tabs a.is-active,
.tn-event-tabs a.is-booking {
  background: transparent !important;
  color: #00a0cc !important;
}

.tn-event-tabs a:hover::after,
.tn-event-tabs a.is-active::after,
.tn-event-tabs a.is-booking::after {
  background: #00a0cc;
  border-radius: 99px;
  bottom: 0;
  content: "";
  height: 3px;
  left: 1.2rem;
  position: absolute;
  right: 1.2rem;
}

.tn-event-snapshot,
.tn-event-main {
  max-width: 1000px !important;
}

.tn-event-snapshot {
  gap: 0.9rem !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  margin: 2rem auto 1.4rem !important;
  padding: 0 1.25rem !important;
}

.tn-event-snapshot div {
  background: #ecfbff !important;
  border: 1px solid #d5f3fb !important;
  border-radius: 14px !important;
  box-shadow: 0 10px 30px rgba(0,160,204,0.08) !important;
  padding: 1.15rem 1rem !important;
  text-align: center;
}

.tn-event-snapshot span {
  color: #667085 !important;
  font-size: 0.78rem !important;
  order: 2;
  text-transform: none !important;
}

.tn-event-snapshot strong {
  color: #0b1220;
  font-size: 1rem !important;
  order: 1;
}

.tn-event-main {
  gap: 1.35rem !important;
  padding: 0 1.25rem 0 !important;
}

.tn-event-section,
.tn-event-feature-row,
.tn-event-highlights-panel {
  background: #fff !important;
  border: 1px solid #e5eaf0 !important;
  border-radius: 14px !important;
  box-shadow: 0 8px 25px rgba(16,24,40,0.04) !important;
}

.tn-event-section--intro,
.tn-event-section--venue,
.tn-event-booking-section {
  padding: 1.9rem 2rem !important;
}

.tn-event-section h2,
.tn-event-feature-row h2,
.tn-event-highlights-panel h2 {
  color: #0b1220 !important;
  font-size: clamp(1.75rem, 2.7vw, 2.35rem) !important;
  letter-spacing: -0.04em !important;
  line-height: 1.08 !important;
  margin: 0 0 1rem !important;
}

.tn-event-richcopy,
.tn-event-section--venue p,
.tn-event-feature-row p {
  color: #344054 !important;
  font-size: 1rem !important;
  line-height: 1.72 !important;
}

.tn-event-gallery-grid {
  display: grid;
  gap: 0.35rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.tn-event-gallery-grid figure,
.tn-event-feature-row figure,
.tn-event-wide-image {
  margin: 0;
  overflow: hidden;
}

.tn-event-gallery-grid figure:first-child { border-top-left-radius: 14px; }
.tn-event-gallery-grid figure:nth-child(2) { border-top-right-radius: 14px; }
.tn-event-gallery-grid figure:nth-child(3) { border-bottom-left-radius: 14px; }
.tn-event-gallery-grid figure:nth-child(4) { border-bottom-right-radius: 14px; }

.tn-event-gallery-grid img {
  aspect-ratio: 1.42 / 1;
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.tn-event-feature-row {
  display: grid;
  grid-template-columns: 0.95fr 1fr;
  overflow: hidden;
}

.tn-event-feature-row--reverse {
  grid-template-columns: 1fr 0.95fr;
}

.tn-event-feature-row figure img {
  display: block;
  height: 100%;
  min-height: 245px;
  object-fit: cover;
  width: 100%;
}

.tn-event-feature-row div {
  align-self: center;
  padding: 2rem;
}

.tn-event-highlights-panel {
  background: #fff !important;
  border-color: var(--border, #e5e9f0) !important;
  padding: 28px 32px !important;
}

.tn-event-highlights-panel ul {
  column-gap: 0 !important;
  columns: initial !important;
  display: grid !important;
  gap: 8px 24px !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.tn-event-highlights-panel li {
  align-items: flex-start !important;
  break-inside: avoid;
  color: var(--text, #1a2535) !important;
  display: flex !important;
  font-size: 14px !important;
  gap: 8px !important;
  margin: 0 !important;
  padding: 0 !important;
  position: relative;
}

.tn-event-highlights-panel li::before {
  background: transparent !important;
  border-radius: 0 !important;
  color: var(--teal, #00aacc) !important;
  content: "✓";
  flex: 0 0 auto !important;
  font-size: inherit !important;
  font-weight: 700 !important;
  height: auto !important;
  left: auto !important;
  line-height: inherit !important;
  margin-top: 1px !important;
  position: static !important;
  text-align: left !important;
  width: auto !important;
}

.tn-event-wide-image {
  border-radius: 14px;
}

.tn-event-wide-image img {
  aspect-ratio: 2.65 / 1;
  display: block;
  object-fit: cover;
  width: 100%;
}

.tn-event-placeholder {
  display: none !important;
}

.tn-event-booking-section {
  margin-top: 1.5rem;
}

@media (max-width: 860px) {
  .tn-event-site-header {
    height: 58px;
    padding: 0 1rem;
  }

  .tn-event-site-header nav {
    gap: 0.85rem;
  }

  .tn-event-site-header nav a:not(.tn-event-nav-cta) {
    display: none;
  }

  .tn-event-hero,
  .tn-event-hero__inner {
    min-height: 560px !important;
  }

  .tn-event-hero__inner {
    padding: 2rem 1rem !important;
  }

  .tn-event-hero h1 {
    font-size: clamp(2.6rem, 13vw, 4.4rem) !important;
    margin-top: 11rem !important;
  }

  .tn-event-meta {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
  }

  .tn-event-meta span {
    border-radius: 14px !important;
    justify-content: center;
    text-align: center;
  }

  .tn-event-tabs {
    justify-content: flex-start !important;
    top: 58px !important;
  }

  .tn-event-snapshot {
    grid-template-columns: 1fr 1fr !important;
    margin-top: 1.2rem !important;
  }

  .tn-event-section--intro,
  .tn-event-section--venue,
  .tn-event-booking-section,
  .tn-event-feature-row div,
  .tn-event-highlights-panel {
    padding: 1.35rem !important;
  }

  .tn-event-gallery-grid,
  .tn-event-feature-row,
  .tn-event-feature-row--reverse {
    grid-template-columns: 1fr !important;
  }

  .tn-event-gallery-grid figure,
  .tn-event-gallery-grid figure:first-child,
  .tn-event-gallery-grid figure:nth-child(2),
  .tn-event-gallery-grid figure:nth-child(3),
  .tn-event-gallery-grid figure:nth-child(4) {
    border-radius: 14px;
  }

  .tn-event-highlights-panel ul {
    columns: 1 !important;
    grid-template-columns: 1fr !important;
  }

  .tn-event-wide-image img {
    aspect-ratio: 1.35 / 1;
  }
}

@media (max-width: 520px) {
  .tn-event-hero p {
    font-size: 0.98rem !important;
  }

  .tn-event-snapshot,
  .tn-event-meta {
    grid-template-columns: 1fr !important;
  }

  .tn-event-tabs a {
    padding: 1rem 1.05rem !important;
  }
}

/* Event page v3 — Hello/Elementor full-width corrections */
body.single-threeness_event .page-header,
body.single-threeness_event .entry-header,
body.single-threeness_event .entry-title,
body.single-threeness_event .elementor-page-title,
body.single-threeness_event h1.entry-title,
body.single-threeness_event .site-main > header {
  display: none !important;
}

body.single-threeness_event .site-main,
body.single-threeness_event .content-area,
body.single-threeness_event .page-content,
body.single-threeness_event article.type-threeness_event,
body.single-threeness_event .entry-content {
  margin: 0 !important;
  max-width: none !important;
  padding: 0 !important;
  width: 100% !important;
}

.tn-event-page {
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  max-width: none !important;
  width: 100vw !important;
}

.tn-event-site-header,
.tn-event-hero__inner,
.tn-event-snapshot,
.tn-event-main {
  max-width: 1440px !important;
}

.tn-event-site-header {
  padding-left: max(24px, calc((100vw - 1440px) / 2 + 24px)) !important;
  padding-right: max(24px, calc((100vw - 1440px) / 2 + 24px)) !important;
}

.tn-event-hero {
  background-color: #0f1729 !important;
  min-height: clamp(620px, 74vh, 790px) !important;
  width: 100vw !important;
}

.tn-event-hero__inner {
  min-height: clamp(620px, 74vh, 790px) !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
}

.tn-event-hero h1 {
  font-weight: 700 !important;
  letter-spacing: -0.045em !important;
  max-width: 980px !important;
}

.tn-event-hero p,
.tn-event-richcopy,
.tn-event-section--venue p,
.tn-event-feature-row p,
.tn-event-placeholder p {
  font-weight: 400 !important;
}

.tn-event-site-header nav a,
.tn-event-tabs a,
.tn-event-meta span,
.tn-event-snapshot strong,
.tn-event-snapshot span,
.tn-event-highlights-panel li,
.tn-event-button,
.tn-mobile-booking-bar span,
.tn-mobile-booking-bar a {
  font-weight: 600 !important;
}

.tn-event-section h2,
.tn-event-feature-row h2,
.tn-event-highlights-panel h2 {
  font-weight: 650 !important;
  letter-spacing: -0.035em !important;
}

.tn-event-main,
.tn-event-snapshot {
  padding-left: 24px !important;
  padding-right: 24px !important;
}

.tn-event-gallery-grid img,
.tn-event-feature-row figure img,
.tn-event-wide-image img {
  background: #eef6f9 !important;
  object-fit: cover !important;
  object-position: center center !important;
}

.tn-event-gallery-grid img {
  aspect-ratio: 1.55 / 1 !important;
}

.tn-event-feature-row figure img {
  min-height: 360px !important;
}

.tn-event-wide-image img {
  aspect-ratio: 16 / 6.2 !important;
  max-height: 560px !important;
}

@media (max-width: 900px) {
  .tn-event-site-header,
  .tn-event-hero__inner,
  .tn-event-main,
  .tn-event-snapshot {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  .tn-event-hero,
  .tn-event-hero__inner {
    min-height: 620px !important;
  }

  .tn-event-feature-row figure img {
    min-height: 280px !important;
  }
}

/* Event page v4 — Elementor global header owns site navigation */
.tn-event-tabs {
  top: 0 !important;
}

body.admin-bar .tn-event-tabs {
  top: 32px !important;
}

@media (max-width: 782px) {
  body.admin-bar .tn-event-tabs {
    top: 46px !important;
  }
}

/* Stage 4A content blocks — force images to crop-fill their frames */
.tn-event-block-region .tn-event-gallery-grid figure,
.tn-event-block-region .tn-event-feature-row figure,
.tn-event-block-region .tn-event-wide-image {
  background: #eef6f9 !important;
  line-height: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
}

.tn-event-block-region .tn-event-gallery-grid figure {
  aspect-ratio: 1.55 / 1 !important;
}

.tn-event-block-region .tn-event-feature-row figure {
  align-self: stretch !important;
  min-height: 360px !important;
}

.tn-event-block-region .tn-event-wide-image {
  aspect-ratio: 16 / 6.2 !important;
  max-height: 560px !important;
}

.tn-event-block-region .tn-event-gallery-grid figure img,
.tn-event-block-region .tn-event-feature-row figure img,
.tn-event-block-region .tn-event-wide-image img {
  aspect-ratio: auto !important;
  display: block !important;
  height: 100% !important;
  max-height: none !important;
  max-width: none !important;
  object-fit: cover !important;
  object-position: center center !important;
  width: 100% !important;
}

@media (max-width: 900px) {
  .tn-event-block-region .tn-event-feature-row figure {
    min-height: 280px !important;
  }
}

/* Stage 4B frontend refinements requested after real block testing */
.tn-event-site-header,
.tn-event-hero__inner,
.tn-event-snapshot,
.tn-event-main {
  max-width: 1260px !important;
}

.tn-event-site-header {
  padding-left: max(20px, calc((100vw - 1260px) / 2 + 20px)) !important;
  padding-right: max(20px, calc((100vw - 1260px) / 2 + 20px)) !important;
}

.tn-event-block-region {
  display: grid;
  gap: 22px !important;
}

.tn-event-tab-panels [data-tn-event-panel][hidden],
.tn-event-block-region[hidden] {
  display: none !important;
}

.tn-event-block-region .tn-event-section,
.tn-event-block-region .tn-event-highlights-panel,
.tn-event-block-region .tn-event-feature-row,
.tn-event-block-region .tn-event-gallery-grid,
.tn-event-block-region .tn-event-wide-image {
  margin: 0 !important;
}

.tn-event-page-block {
  padding: clamp(1.35rem, 2.4vw, 2.25rem) !important;
}

.tn-event-page-block h2,
.tn-event-block-region .tn-event-feature-row h2,
.tn-event-block-region .tn-event-highlights-panel h2 {
  font-size: clamp(1.75rem, 3vw, 3rem) !important;
  margin-bottom: 0.7rem !important;
}

.tn-event-page-block .tn-event-section-subtitle,
.tn-event-page-block .tn-event-richcopy,
.tn-event-page-block .tn-event-richcopy p {
  margin-bottom: 0.85rem !important;
}

.tn-event-block-media {
  aspect-ratio: 16 / 7.2 !important;
  border-radius: 18px !important;
  line-height: 0 !important;
  margin: 0 0 1.25rem !important;
  max-height: 360px !important;
  overflow: hidden !important;
}

.tn-event-block-media img {
  display: block !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  width: 100% !important;
}

.tn-event-block-list,
.tn-event-page-block--feature_cards ul,
.tn-event-page-block--highlights ul {
  display: grid !important;
  gap: 10px !important;
  list-style: none !important;
  margin: 1rem 0 0 !important;
  padding: 0 !important;
}

.tn-event-page-block--feature_cards ul,
.tn-event-page-block--highlights ul {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.tn-event-block-list li,
.tn-event-page-block--feature_cards li,
.tn-event-page-block--highlights li {
  align-items: flex-start !important;
  background: rgba(255, 255, 255, 0.72) !important;
  border: 1px solid rgba(15, 23, 42, 0.08) !important;
  border-radius: 14px !important;
  display: flex !important;
  gap: 10px !important;
  padding: 12px 14px !important;
}

.tn-event-page-block--feature_cards li::before,
.tn-event-page-block--highlights li::before,
.tn-event-block-list li::before {
  color: #00a0cc !important;
  content: '✓' !important;
  flex: 0 0 auto !important;
  font-weight: 800 !important;
}

.tn-event-page-block--feature_cards li img,
.tn-event-page-block--highlights li img {
  border-radius: 10px !important;
  flex: 0 0 72px !important;
  height: 56px !important;
  object-fit: cover !important;
  width: 72px !important;
}

.tn-event-page-block li small {
  color: #64748b !important;
  display: block !important;
  font-size: 0.9em !important;
  font-weight: 400 !important;
  margin-top: 3px !important;
}

.tn-event-block-region .tn-event-feature-row figure {
  min-height: 240px !important;
}

.tn-event-block-region .tn-event-feature-row figure img {
  min-height: 240px !important;
}

@media (max-width: 900px) {
  .tn-event-page-block--feature_cards ul,
  .tn-event-page-block--highlights ul {
    grid-template-columns: 1fr !important;
  }

  .tn-event-block-media {
    aspect-ratio: 16 / 10 !important;
    max-height: 280px !important;
  }
}

/* Stage 4C — Bass44 block library, scoped to event pages */
.tn-event-page {
  --teal: #00AACC;
  --teal-light: #e0f7fb;
  --orange: #FF5A1F;
  --navy: #0F1B2D;
  --bg: #ffffff;
  --surface: #f4f6fa;
  --border: #e5e9f0;
  --text: #1a2535;
  --muted: #6b7a94;
  --radius: 14px;
  --font-head: Georgia, serif;
  --font-body: system-ui, sans-serif;
  color: var(--text);
  font-family: var(--font-body);
  line-height: 1.6;
}

.tn-event-page img { display: block; width: 100%; object-fit: cover; }
.tn-event-main { max-width: 960px !important; }
.tn-event-snapshot,
.tn-event-hero__inner { max-width: 1260px !important; }
.tn-event-page .container { max-width: 960px; margin: 0 auto; padding: 0 20px; }
.tn-event-page .badge { display: inline-block; font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; padding: 4px 12px; border-radius: 999px; }
.tn-event-page .badge-teal { background: var(--teal-light); color: var(--teal); }
.tn-event-page .badge-navy { background: var(--navy); color: #fff; }
.tn-event-page .badge-orange { background: #fff2ed; color: var(--orange); }
.tn-event-page .pill { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; padding: 6px 14px; border-radius: 999px; border: 1px solid rgba(255,255,255,.25); background: rgba(255,255,255,.12); backdrop-filter: blur(6px); color: #fff; }
.tn-event-page .btn { display: inline-block; font-weight: 700; font-size: 15px; padding: 14px 36px; border-radius: 999px; cursor: pointer; text-decoration: none; border: none; }
.tn-event-page .btn-primary { background: var(--teal); color: #fff; }
.tn-event-page .btn-dark { background: var(--navy); color: #fff; }
.tn-event-page .btn-outline { background: transparent; border: 2px solid var(--border); color: var(--text); }
.tn-event-page .card { background: var(--bg); border: 1px solid var(--border); border-radius: var(--radius); overflow: hidden; }
.tn-event-page .tag-tab { font-size: 14px; font-weight: 600; padding: 12px 20px; cursor: pointer; border-bottom: 2px solid transparent; color: var(--muted); white-space: nowrap; }
.tn-event-page .tag-tab.active { border-bottom-color: var(--teal); color: var(--teal); }
.tn-event-page .section-label { font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); margin-bottom: 8px; }
.tn-event-page .h1 { font-family: var(--font-head); font-size: clamp(28px, 5vw, 52px); font-weight: 700; line-height: 1.15; }
.tn-event-page .h2 { font-family: var(--font-head); font-size: clamp(22px, 3.5vw, 36px); font-weight: 700; line-height: 1.2; }
.tn-event-page .h3 { font-family: var(--font-head); font-size: 20px; font-weight: 700; }
.tn-event-page .p { font-size: 15px; color: #3a4558; line-height: 1.75; }
.tn-event-page .gap { margin-bottom: 32px; }
.tn-event-page .divider { border: none; border-top: 1px solid var(--border); margin: 32px 0; }
.tn-event-page .grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.tn-event-page .grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.tn-event-page .grid-4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.tn-event-page .grid-2-1 { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; align-items: start; }
.tn-event-page .split { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: center; }
.tn-event-page .split.reverse { direction: rtl; }
.tn-event-page .split.reverse > * { direction: ltr; }
.tn-event-page .checklist,
.tn-event-page .tn-event-page-block--highlights ul.checklist,
.tn-event-page .tn-event-page-block--feature_cards ul.checklist { list-style: none !important; display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 8px 24px !important; margin: 0 !important; padding: 0 !important; }
.tn-event-page .checklist li,
.tn-event-page .tn-event-page-block--highlights ul.checklist li,
.tn-event-page .tn-event-page-block--feature_cards ul.checklist li { display: flex !important; align-items: flex-start !important; gap: 8px !important; font-size: 14px !important; background: transparent !important; border: 0 !important; border-radius: 0 !important; color: var(--text) !important; margin: 0 !important; padding: 0 !important; }
.tn-event-page .checklist li::before,
.tn-event-page .tn-event-page-block--highlights ul.checklist li::before,
.tn-event-page .tn-event-page-block--feature_cards ul.checklist li::before { content: '✓' !important; color: var(--teal) !important; font-weight: 700 !important; flex-shrink: 0 !important; margin-top: 1px !important; }
.tn-event-page .annotation { display: flex; align-items: center; gap: 10px; font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--orange); padding: 6px 14px; background: #fff2ed; border-left: 3px solid var(--orange); margin: 0 0 12px; border-radius: 0 6px 6px 0; }
.tn-event-page .tn-event-block-region { gap: 0 !important; }

@media (max-width: 900px) {
  .tn-event-page .grid-2,
  .tn-event-page .grid-3,
  .tn-event-page .grid-4,
  .tn-event-page .grid-2-1,
  .tn-event-page .split,
  .tn-event-page .checklist { grid-template-columns: 1fr; }

  .tn-event-page .tn-event-page-block--highlights ul.checklist,
  .tn-event-page .tn-event-page-block--feature_cards ul.checklist { grid-template-columns: 1fr !important; }
}

/* Stage 4C fixes: true 2x2 gallery placeholders + font reset */
.tn-event-page {
  font-family: var(--font-body) !important;
}

.tn-event-page .h1,
.tn-event-page .h2,
.tn-event-page .h3 {
  font-family: var(--font-head) !important;
}

.tn-event-page .tn-event-gallery-placeholder {
  background: linear-gradient(135deg, #eef6f9, #e5e9f0) !important;
  min-height: 100% !important;
}

/* Stage 4C typography correction: Page Builder blocks should follow the event/site heading font, not force alternate serif headings */
.tn-event-page .tn-event-block-region h1,
.tn-event-page .tn-event-block-region h2,
.tn-event-page .tn-event-block-region h3,
.tn-event-page .tn-event-block-region .h1,
.tn-event-page .tn-event-block-region .h2,
.tn-event-page .tn-event-block-region .h3,
.tn-event-page .tn-event-booking-section .tn-event-block-region h1,
.tn-event-page .tn-event-booking-section .tn-event-block-region h2,
.tn-event-page .tn-event-booking-section .tn-event-block-region h3,
.tn-event-page .tn-event-booking-section .tn-event-block-region .h1,
.tn-event-page .tn-event-booking-section .tn-event-block-region .h2,
.tn-event-page .tn-event-booking-section .tn-event-block-region .h3 {
  font-family: var(--font-body) !important;
  font-weight: 700 !important;
  letter-spacing: -0.025em !important;
}

/* Stage 4C configurable event gallery */
.tn-event-gallery-tile img { width: 100%; height: 100%; object-fit: cover; display: block; }
@media (max-width: 720px) {
  .tn-event-gallery-grid { grid-template-columns: 1fr !important; grid-template-rows: none !important; }
  .tn-event-gallery-grid > * { min-height: 220px; }
}

/* Screenshot-matched checklist card: pale blue panel, two columns, circular tick icons */
.tn-event-page .tn-event-main {
  gap: 32px !important;
  max-width: 1060px !important;
  padding-left: 20px !important;
  padding-right: 20px !important;
}

.tn-event-page .tn-event-block-region {
  gap: 32px !important;
}

.tn-event-page .tn-event-page-block,
.tn-event-page .tn-event-feature-row,
.tn-event-page .tn-event-gallery-grid,
.tn-event-page .tn-event-wide-image {
  margin-bottom: 32px !important;
}

.tn-event-page .tn-checklist-card,
.tn-event-page .tn-numbered-card,
.tn-event-page .tn-event-highlights-panel {
  background: #f2fbff !important;
  border: 1px solid #b9ecfb !important;
  border-radius: 15px !important;
  box-shadow: none !important;
  margin-bottom: 32px !important;
  overflow: hidden !important;
  padding: 30px 32px 32px !important;
}

.tn-event-page .tn-checklist-card h3,
.tn-event-page .tn-checklist-card .h3,
.tn-event-page .tn-numbered-card h3,
.tn-event-page .tn-numbered-card .h3,
.tn-event-page .tn-event-highlights-panel h2,
.tn-event-page .tn-event-highlights-panel h3 {
  color: #020b1f !important;
  font-family: var(--font-body) !important;
  font-size: 25px !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em !important;
  line-height: 1.15 !important;
  margin: 0 0 24px !important;
}

.tn-event-page .tn-checklist-card .checklist,
.tn-event-page .tn-numbered-card .numbered-list,
.tn-event-page .tn-event-highlights-panel ul,
.tn-event-page .tn-event-page-block--highlights .tn-checklist-card ul.checklist,
.tn-event-page .tn-event-page-block--feature_cards .tn-checklist-card ul.checklist {
  column-gap: 0 !important;
  columns: initial !important;
  display: grid !important;
  gap: 14px 72px !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.tn-event-page .tn-checklist-card .checklist li,
.tn-event-page .tn-numbered-card .numbered-list li,
.tn-event-page .tn-event-highlights-panel li,
.tn-event-page .tn-event-page-block--highlights .tn-checklist-card ul.checklist li,
.tn-event-page .tn-event-page-block--feature_cards .tn-checklist-card ul.checklist li {
  align-items: flex-start !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: #15233b !important;
  display: flex !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  gap: 12px !important;
  line-height: 1.35 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.tn-event-page .tn-checklist-card .checklist li > span,
.tn-event-page .tn-numbered-card .numbered-list li > span,
.tn-event-page .tn-event-highlights-panel li > span {
  display: grid !important;
  gap: 3px !important;
}

.tn-event-page .tn-checklist-card .checklist li small,
.tn-event-page .tn-numbered-card .numbered-list li small,
.tn-event-page .tn-event-highlights-panel li small {
  color: #5f7188 !important;
  display: block !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.45 !important;
  margin: 0 !important;
}

.tn-event-page .tn-numbered-card .numbered-list li b {
  align-items: center !important;
  background: #c9f4ff !important;
  border-radius: 999px !important;
  color: #00aacc !important;
  display: inline-flex !important;
  flex: 0 0 28px !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  height: 28px !important;
  justify-content: center !important;
  line-height: 1 !important;
  margin: 0 !important;
  width: 28px !important;
}

.tn-event-page .tn-checklist-card .checklist li::before,
.tn-event-page .tn-event-highlights-panel li::before,
.tn-event-page .tn-event-page-block--highlights .tn-checklist-card ul.checklist li::before,
.tn-event-page .tn-event-page-block--feature_cards .tn-checklist-card ul.checklist li::before {
  align-items: center !important;
  background: #c9f4ff !important;
  border-radius: 999px !important;
  color: #00aacc !important;
  content: '✓' !important;
  display: inline-flex !important;
  flex: 0 0 19px !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  height: 19px !important;
  justify-content: center !important;
  line-height: 1 !important;
  margin: 1px 0 0 !important;
  position: static !important;
  width: 19px !important;
}

@media (max-width: 720px) {
  .tn-event-page .tn-checklist-card,
  .tn-event-page .tn-numbered-card,
  .tn-event-page .tn-event-highlights-panel {
    padding: 24px 22px !important;
  }

  .tn-event-page .tn-checklist-card .checklist,
  .tn-event-page .tn-numbered-card .numbered-list,
  .tn-event-page .tn-event-highlights-panel ul,
  .tn-event-page .tn-event-page-block--highlights .tn-checklist-card ul.checklist,
  .tn-event-page .tn-event-page-block--feature_cards .tn-checklist-card ul.checklist {
    grid-template-columns: 1fr !important;
  }
}

.tn-event-page .tn-dark-panel h2,
.tn-event-page .tn-dark-panel .h2 { color: currentColor !important; }

.tn-event-page .tn-dark-panel-copy { color: color-mix(in srgb, currentColor 68%, transparent) !important; }

.tn-event-page .tn-dark-panel-card {
  background: color-mix(in srgb, currentColor 8%, transparent) !important;
}

.tn-event-page .tn-dark-panel-card div:last-child {
  color: color-mix(in srgb, currentColor 68%, transparent) !important;
}

.tn-event-page .tn-dark-panel--light_teal .tn-dark-panel-card,
.tn-event-page .tn-dark-panel--white .tn-dark-panel-card {
  background: rgba(255,255,255,.72) !important;
  border: 1px solid rgba(15,23,42,.08) !important;
}


/* Stage 4 gallery row-height fix START */
.tn-event-page .tn-event-block-region .tn-event-gallery-grid--2x1,
.tn-event-page .tn-event-block-region .tn-event-gallery-grid--2x2,
.tn-event-page .tn-event-block-region .tn-event-gallery-grid--2x4 {
  align-items: stretch !important;
  grid-auto-rows: auto !important;
}

.tn-event-page .tn-event-block-region .tn-event-gallery-grid--2x1 .tn-event-gallery-tile,
.tn-event-page .tn-event-block-region .tn-event-gallery-grid--2x2 .tn-event-gallery-tile,
.tn-event-page .tn-event-block-region .tn-event-gallery-grid--2x4 .tn-event-gallery-tile,
.tn-event-page .tn-event-block-region .tn-event-gallery-grid--2x1 figure,
.tn-event-page .tn-event-block-region .tn-event-gallery-grid--2x2 figure,
.tn-event-page .tn-event-block-region .tn-event-gallery-grid--2x4 figure {
  aspect-ratio: auto !important;
  height: 100% !important;
  min-height: 0 !important;
}

.tn-event-page .tn-event-block-region .tn-event-gallery-grid--2x1 .tn-event-gallery-tile img,
.tn-event-page .tn-event-block-region .tn-event-gallery-grid--2x2 .tn-event-gallery-tile img,
.tn-event-page .tn-event-block-region .tn-event-gallery-grid--2x4 .tn-event-gallery-tile img,
.tn-event-page .tn-event-block-region .tn-event-gallery-grid--2x1 figure img,
.tn-event-page .tn-event-block-region .tn-event-gallery-grid--2x2 figure img,
.tn-event-page .tn-event-block-region .tn-event-gallery-grid--2x4 figure img {
  height: 100% !important;
  min-height: 0 !important;
}
/* Stage 4 gallery row-height fix END */

/* Stage 4 safe visible polish START */
.tn-event-page .tn-event-block-region .tn-event-page-block { scroll-margin-top: 130px; }

.tn-event-page .tn-event-block-region .tn-event-section,
.tn-event-page .tn-event-block-region .tn-event-feature-row,
.tn-event-page .tn-event-block-region .tn-event-gallery-grid,
.tn-event-page .tn-event-block-region .tn-event-wide-image,
.tn-event-page .tn-event-block-region .tn-checklist-card,
.tn-event-page .tn-event-block-region .tn-numbered-card,
.tn-event-page .tn-event-block-region .tn-event-highlights-panel {
  box-shadow: 0 18px 44px rgba(15, 23, 42, 0.055) !important;
}

.tn-event-page .tn-event-block-region .tn-event-section-subtitle,
.tn-event-page .tn-event-block-region .tn-event-richcopy { max-width: 820px; }
/* Stage 4 safe visible polish END */

/* Stage 4 split image/text media layouts START */
.tn-event-page .tn-event-split-block,
.tn-event-page .tn-event-feature-row {
  align-items: start !important;
}

.tn-event-page .tn-event-split-media {
  align-self: start !important;
  display: grid !important;
  gap: 10px !important;
  width: 100% !important;
}

.tn-event-page .tn-event-split-media img {
  aspect-ratio: 16 / 10 !important;
  border-radius: var(--radius) !important;
  display: block !important;
  height: auto !important;
  min-height: 0 !important;
  object-fit: cover !important;
  width: 100% !important;
}

.tn-event-page .tn-event-split-media--single img {
  height: 340px !important;
}

.tn-event-page .tn-event-split-media--stack img {
  height: 210px !important;
}

.tn-event-page .tn-event-split-media--grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.tn-event-page .tn-event-split-media--grid img {
  height: 180px !important;
}

@media (max-width: 720px) {
  .tn-event-page .tn-event-split-media--single img,
  .tn-event-page .tn-event-split-media--stack img,
  .tn-event-page .tn-event-split-media--grid img {
    height: auto !important;
    min-height: 220px !important;
  }
}
/* Stage 4 split image/text media layouts END */

/* Stage 4 selected booking product visual START */
.threeness-public-booking .tn-selected-product {
  align-items: stretch;
  background: #f8fbff;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 18px;
  display: grid;
  gap: 12px;
  grid-template-columns: 132px minmax(0, 1fr);
  margin: 12px 0 18px;
  overflow: hidden;
  padding: 10px;
}

.threeness-public-booking .tn-selected-product[hidden] {
  display: none;
}

.threeness-public-booking .tn-selected-product figure {
  background: #e2e8f0;
  border-radius: 14px;
  margin: 0;
  min-height: 118px;
  overflow: hidden;
}

.threeness-public-booking .tn-selected-product img {
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.threeness-public-booking .tn-selected-product > div {
  align-content: center;
  display: grid;
  gap: 6px;
  min-width: 0;
}

.threeness-public-booking .tn-selected-product strong {
  color: #0f172a;
  font-size: 15px;
}

.threeness-public-booking .tn-selected-product p {
  color: #475569;
  font-size: 14px;
  line-height: 1.45;
  margin: 0;
}

@media (max-width: 640px) {
  .threeness-public-booking .tn-selector-panel,
  .threeness-public-booking .tn-basket-panel {
    padding: 14px;
  }

  .threeness-public-booking .tn-selected-product {
    border-radius: 14px;
    gap: 10px;
    grid-template-columns: 92px minmax(0, 1fr);
    margin: 10px 0 14px;
    padding: 8px;
  }

  .threeness-public-booking .tn-selected-product figure {
    border-radius: 12px;
    min-height: 92px;
  }

  .threeness-public-booking .tn-selected-product p {
    font-size: 13px;
    line-height: 1.35;
  }
}
/* Stage 4 selected booking product visual END */

.threeness-public-booking .tn-booking-direct-link {
  color: #007fa3;
  font-size: 12px;
  font-weight: 800;
  text-decoration: none;
}

.threeness-public-booking .tn-booking-direct-link:hover {
  text-decoration: underline;
}

/* Stage 4 Book Now button page-builder block START */
.tn-event-page .tn-event-book-now-button-block {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin: 18px 0;
}

.tn-event-page .tn-event-book-now-button-block--full {
  align-items: stretch;
  flex-direction: column;
}

.tn-event-page .tn-event-book-now-button-copy {
  color: #475569;
  max-width: 680px;
}

.tn-event-page .tn-event-book-now-button-copy p {
  margin: 0;
}

.tn-event-page .tn-event-book-now-button {
  align-items: center;
  background: var(--tn-event-accent, #00aacc);
  border-radius: 999px;
  box-shadow: 0 16px 34px rgba(0, 170, 204, 0.22);
  color: #fff;
  display: inline-flex;
  font-weight: 900;
  justify-content: center;
  min-height: 48px;
  padding: 0 24px;
  text-decoration: none;
  white-space: nowrap;
}

.tn-event-page .tn-event-book-now-button-block--secondary .tn-event-book-now-button {
  background: #fff;
  border: 1px solid rgba(15, 23, 42, 0.14);
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08);
  color: #0f172a;
}

.tn-event-page .tn-event-book-now-button-block--full .tn-event-book-now-button {
  width: 100%;
}

@media (max-width: 640px) {
  .tn-event-page .tn-event-book-now-button-block {
    gap: 10px;
    margin: 14px 0;
  }

  .tn-event-page .tn-event-book-now-button {
    min-height: 46px;
    width: 100%;
  }
}
/* Stage 4 Book Now button page-builder block END */

/* Stage 4 frontend divider block START */
.tn-event-page .tn-event-divider-block {
  align-items: center;
  color: #64748b;
  display: flex;
  font-size: 12px;
  font-weight: 900;
  gap: 14px;
  letter-spacing: 0.1em;
  margin: 28px 0;
  text-transform: uppercase;
}

.tn-event-page .tn-event-divider-block::before,
.tn-event-page .tn-event-divider-block::after {
  background: rgba(15, 23, 42, 0.12);
  content: '';
  flex: 1;
  height: 1px;
}

.tn-event-page .tn-event-divider-block--spacer {
  display: block;
  height: 38px;
  margin: 0;
}

.tn-event-page .tn-event-divider-block--spacer::before,
.tn-event-page .tn-event-divider-block--spacer::after {
  display: none;
}

.tn-event-page .tn-event-divider-block--wave::before,
.tn-event-page .tn-event-divider-block--wave::after {
  background: linear-gradient(90deg, rgba(0, 170, 204, 0), rgba(0, 170, 204, 0.42), rgba(0, 170, 204, 0));
  border-radius: 999px;
  height: 6px;
}

@media (max-width: 640px) {
  .tn-event-page .tn-event-divider-block {
    gap: 10px;
    margin: 20px 0;
  }

  .tn-event-page .tn-event-divider-block--spacer {
    height: 24px;
  }
}
/* Stage 4 frontend divider block END */

/* Stage 4 booking visual card polish START */
.threeness-public-booking {
  background:
    radial-gradient(circle at top left, rgba(0, 170, 204, 0.10), transparent 34%),
    linear-gradient(180deg, #fbfdff 0%, #f5f9fd 100%);
}

.threeness-public-booking .tn-booking-preview-grid {
  gap: 22px;
}

.threeness-public-booking .tn-selector-panel,
.threeness-public-booking .tn-basket-panel {
  border-color: rgba(15, 23, 42, 0.08);
  border-radius: 24px;
  box-shadow: 0 18px 46px rgba(15, 23, 42, 0.075);
}

.threeness-public-booking .tn-selector-panel {
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
}

.threeness-public-booking .tn-basket-panel {
  background: linear-gradient(180deg, #ffffff 0%, #fffaf7 100%);
}

.threeness-public-booking .tn-choice-block > strong {
  color: #415a77;
  font-size: 11px;
}

.threeness-public-booking .tn-choice-pill {
  align-items: center;
  background: #fff;
  border-color: rgba(15, 23, 42, 0.10);
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.035);
  display: inline-flex;
  justify-content: center;
  min-height: 42px;
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease;
}

.threeness-public-booking .tn-choice-pill:hover:not(:disabled) {
  border-color: rgba(0, 170, 204, 0.38);
  box-shadow: 0 14px 28px rgba(0, 170, 204, 0.10);
  transform: translateY(-1px);
}

.threeness-public-booking .tn-choice-pill.is-active {
  background: linear-gradient(135deg, #00aacc 0%, #007fa3 100%);
  box-shadow: 0 16px 30px rgba(0, 160, 204, 0.24);
}

.threeness-public-booking .tn-option-copy {
  background: #f8fbff;
  border-color: rgba(0, 170, 204, 0.14);
  border-radius: 18px;
  color: #49627d;
}

.threeness-public-booking .tn-selected-product {
  background: linear-gradient(135deg, #f8fbff 0%, #ffffff 58%, #fff7f4 100%);
  border-color: rgba(0, 170, 204, 0.16);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.8), 0 14px 34px rgba(15, 23, 42, 0.055);
  grid-template-columns: 160px minmax(0, 1fr);
  padding: 12px;
}

.threeness-public-booking .tn-selected-product figure {
  min-height: 138px;
}

.threeness-public-booking .tn-selected-product strong {
  font-size: 17px;
  letter-spacing: -0.01em;
}

.threeness-public-booking .tn-selected-product p {
  color: #415a77;
  max-width: 62ch;
}

.threeness-public-booking .tn-booking-direct-link {
  align-items: center;
  background: rgba(0, 170, 204, 0.08);
  border-radius: 999px;
  display: inline-flex;
  margin-top: 4px;
  min-height: 28px;
  padding: 0 10px;
  width: fit-content;
}

.threeness-public-booking .tn-price-summary {
  background: linear-gradient(135deg, #061735 0%, #0f2f55 100%);
  border: 0;
  box-shadow: 0 18px 38px rgba(6, 23, 53, 0.18);
  color: #fff;
}

.threeness-public-booking .tn-price-summary strong,
.threeness-public-booking .tn-price-summary > div:last-child strong {
  color: #fff;
}

.threeness-public-booking .tn-price-summary span,
.threeness-public-booking .tn-price-summary small {
  color: rgba(255, 255, 255, 0.72);
}

.threeness-public-booking .tn-qty-stepper {
  border-color: rgba(0, 170, 204, 0.18);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.8), 0 8px 18px rgba(15, 23, 42, 0.04);
}

.threeness-public-booking .tn-preview-cta {
  background: linear-gradient(135deg, #ff531a 0%, #e8420b 100%);
  box-shadow: 0 16px 32px rgba(255, 83, 26, 0.22);
  transition: transform .16s ease, box-shadow .16s ease, opacity .16s ease;
}

.threeness-public-booking .tn-preview-cta:hover:not(:disabled) {
  box-shadow: 0 20px 38px rgba(255, 83, 26, 0.28);
  transform: translateY(-1px);
}

.threeness-public-booking .tn-preview-cta--ghost {
  background: #fff;
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.05);
}

.threeness-public-booking .tn-preview-cta--accent {
  background: linear-gradient(135deg, #00aacc 0%, #007fa3 100%);
  box-shadow: 0 16px 32px rgba(0, 170, 204, 0.20);
}

.threeness-public-booking .tn-basket-line {
  background: #fff;
  border-color: rgba(15, 23, 42, 0.08);
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.035);
}

@media (max-width: 760px) {
  .threeness-public-booking {
    border-radius: 18px;
    margin: 22px 0;
    padding: 12px;
  }

  .threeness-public-booking .tn-booking-preview-grid {
    gap: 14px;
  }

  .threeness-public-booking .tn-selector-panel,
  .threeness-public-booking .tn-basket-panel {
    border-radius: 18px;
    padding: 12px;
  }

  .threeness-public-booking .tn-choice-block {
    margin-top: 12px;
  }

  .threeness-public-booking .tn-choice-pill {
    border-radius: 14px;
    justify-content: flex-start;
    min-height: 46px;
    padding: 10px 12px;
    width: 100%;
  }

  .threeness-public-booking .tn-selected-product {
    grid-template-columns: 84px minmax(0, 1fr);
    padding: 8px;
  }

  .threeness-public-booking .tn-selected-product figure {
    min-height: 84px;
  }

  .threeness-public-booking .tn-selected-product strong {
    font-size: 14px;
  }

  .threeness-public-booking .tn-selected-product p {
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  .threeness-public-booking .tn-price-summary {
    border-radius: 16px;
    gap: 8px;
    margin-top: 16px;
    padding: 14px;
  }

  .threeness-public-booking .tn-price-summary > div:last-child strong {
    font-size: 24px;
  }
}
/* Stage 4 booking visual card polish END */

/* Stage 4 booking button contrast + mobile edge-to-edge fix START */
.threeness-public-booking .tn-choice-pill {
  background: linear-gradient(135deg, #00aacc 0%, #008daf 100%);
  border-color: rgba(0, 141, 175, 0.88);
  box-shadow: 0 12px 24px rgba(0, 160, 204, 0.16);
  color: #fff;
}

.threeness-public-booking .tn-choice-pill:hover:not(:disabled) {
  background: linear-gradient(135deg, #00b7d9 0%, #0098ba 100%);
  border-color: rgba(0, 141, 175, 1);
  box-shadow: 0 16px 30px rgba(0, 160, 204, 0.22);
}

.threeness-public-booking .tn-choice-pill.is-active {
  background: linear-gradient(135deg, #ff531a 0%, #e8420b 100%);
  border-color: #ff531a;
  box-shadow: 0 16px 32px rgba(255, 83, 26, 0.26);
  color: #fff;
}

.threeness-public-booking .tn-choice-pill.is-sold-out,
.threeness-public-booking .tn-choice-pill.is-sold-out.is-active,
.threeness-public-booking .tn-choice-pill:disabled.is-sold-out {
  background: #94a3b8;
  border-color: #94a3b8;
  color: #fff;
}

@media (max-width: 760px) {
  .threeness-public-booking {
    border-left: 0;
    border-radius: 0;
    border-right: 0;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    max-width: 100vw;
    padding: 0;
    width: 100vw;
  }

  .threeness-public-booking .tn-preview-intro {
    margin: 0;
    padding: 16px 14px 12px;
  }

  .threeness-public-booking .tn-booking-preview-grid {
    gap: 10px;
    padding: 0 8px 12px;
  }

  .threeness-public-booking .tn-selector-panel,
  .threeness-public-booking .tn-basket-panel {
    border-radius: 16px;
    padding: 10px;
  }

  .threeness-public-booking .tn-choice-block > div {
    gap: 8px;
  }

  .threeness-public-booking .tn-choice-pill {
    border-radius: 13px;
    min-height: 48px;
  }

  .threeness-public-booking .tn-option-copy {
    margin-top: 10px;
    padding: 12px;
  }

  .threeness-public-booking .tn-selected-product {
    margin: 10px 0 12px;
  }
}
/* Stage 4 booking button contrast + mobile edge-to-edge fix END */

/* Stage 5 desktop booking wizard revamp START */
.threeness-public-booking.tn-booking-wizard {
  background: #f8fafc;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  color: #111827;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  margin: 0 calc(50% - 50vw) 32px;
  padding: 0;
  width: 100vw;
}

.tn-booking-wizard .tn-preview-intro {
  background: #fff;
  border-bottom: 1px solid #e5eaf0;
  margin: 0;
  max-width: none;
  padding: 18px max(24px, calc((100vw - 1120px) / 2)) 16px;
}

.tn-booking-wizard .tn-preview-intro span {
  background: transparent;
  color: #168bb4;
  font-size: 11px;
  letter-spacing: .16em;
  margin: 0 0 4px;
  padding: 0;
}

.tn-booking-wizard .tn-preview-intro h2 {
  font-size: 24px;
  letter-spacing: -0.03em;
  margin: 0 0 4px;
}

.tn-booking-wizard .tn-preview-intro p {
  color: #6b7280;
  font-size: 14px;
}

.tn-wizard-layout {
  display: grid;
  gap: 28px;
  grid-template-columns: minmax(0, 1fr) 320px;
  margin: 0 auto;
  max-width: 1120px;
  padding: 24px 24px 46px;
}

.tn-wizard-main {
  min-width: 0;
}

.tn-wizard-topbar {
  align-items: center;
  display: grid;
  grid-template-columns: max-content 1fr;
  gap: 16px;
  margin-bottom: 22px;
}

.tn-wizard-back {
  align-items: center;
  background: linear-gradient(135deg, #00a0cc 0%, #008daf 100%);
  border: 1px solid #00a0cc;
  border-radius: 999px;
  box-shadow: 0 10px 22px rgba(0, 160, 204, .18);
  color: #fff;
  cursor: pointer;
  display: inline-flex;
  font-weight: 900;
  justify-content: center;
  min-height: 42px;
  padding: 0 16px;
  text-align: center;
  transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
  white-space: nowrap;
}

.tn-wizard-back:hover,
.tn-wizard-back:focus-visible {
  filter: brightness(1.03);
  transform: translate3d(0, -2px, 0);
}

.tn-step-indicator {
  align-items: center;
  display: flex;
  gap: 22px;
  justify-content: flex-end;
}

.tn-step-indicator span {
  align-items: center;
  color: #6b7280;
  display: inline-flex;
  font-size: 13px;
  font-weight: 700;
  gap: 8px;
}

.tn-step-indicator b {
  align-items: center;
  background: #eef2f7;
  border-radius: 999px;
  color: #6b7280;
  display: inline-flex;
  font-size: 12px;
  height: 28px;
  justify-content: center;
  width: 28px;
}

.tn-step-indicator span.active b,
.tn-step-indicator span.done b {
  background: #159bd3;
  box-shadow: 0 8px 18px rgba(21, 155, 211, .22);
  color: #fff;
}

.tn-step-indicator span.active {
  color: #111827;
}

.tn-wizard-stage h3 {
  font-size: 20px;
  margin: 0 0 6px;
}

.tn-wizard-stage > p {
  color: #6b7280;
  margin: 0 0 18px;
}

.tn-product-list {
  display: grid;
  gap: 14px;
}

.tn-product-card,
.tn-option-card {
  background: #fff;
  border: 1px solid #dfe5ec;
  border-radius: 16px;
  box-shadow: 0 8px 20px rgba(17, 24, 39, .035);
  color: #111827;
  cursor: pointer;
  text-align: left;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.tn-product-card {
  align-items: center;
  display: grid;
  gap: 16px;
  grid-template-columns: 48px 1fr auto;
  min-height: 96px;
  padding: 16px 20px;
  width: 100%;
}

.tn-product-card:hover,
.tn-option-card:hover {
  border-color: #159bd3;
  box-shadow: 0 16px 32px rgba(21, 155, 211, .12);
  transform: translateY(-1px);
}

.tn-product-card.is-selected,
.tn-option-card.is-selected {
  background: #f0fbff;
  border-color: #159bd3;
}

.tn-product-icon {
  align-items: center;
  background: #f1f5f9;
  border-radius: 14px;
  display: inline-flex;
  font-size: 22px;
  height: 46px;
  justify-content: center;
  width: 46px;
}

.tn-product-card strong,
.tn-option-card strong,
.tn-product-banner strong {
  display: block;
  font-size: 16px;
  margin-bottom: 4px;
}

.tn-product-card small,
.tn-product-banner p,
.tn-option-card p {
  color: #6b7280;
  display: block;
  font-size: 14px;
  line-height: 1.45;
  margin: 0;
}

.tn-product-card b {
  color: #159bd3;
  display: block;
  font-size: 15px;
  margin-top: 8px;
}

.tn-product-card em {
  color: #6b7280;
  font-style: normal;
  font-size: 28px;
}

.tn-product-banner {
  align-items: center;
  background: #fff;
  border: 1px solid #e1e7ef;
  border-radius: 16px;
  display: grid;
  gap: 16px;
  grid-template-columns: 48px 1fr;
  margin-bottom: 22px;
  padding: 16px 18px;
}

.tn-option-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.tn-option-card {
  overflow: hidden;
  padding: 0;
}

.tn-option-card figure,
.tn-details-card figure {
  background: linear-gradient(135deg, #e2e8f0, #f8fafc);
  height: 174px;
  margin: 0;
  overflow: hidden;
  position: relative;
}

.tn-option-card img,
.tn-details-card img {
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.tn-option-card figure::after,
.tn-details-card figure::after {
  background: linear-gradient(to top, rgba(0,0,0,.50), transparent 55%);
  content: '';
  inset: 0;
  position: absolute;
}

.tn-option-card figure b {
  bottom: 12px;
  color: #fff;
  font-size: 18px;
  position: absolute;
  right: 14px;
  z-index: 1;
}

.tn-option-card > div {
  padding: 18px;
}

.tn-option-card.is-sold-out {
  cursor: not-allowed;
  opacity: .6;
}

.tn-option-card__empty {
  align-items: center;
  display: flex;
  justify-content: center;
}

.tn-option-card__empty > span {
  font-size: 48px;
}

.tn-details-card,
.tn-added-confirmation,
.tn-wizard-basket-card {
  background: #fff;
  border: 1px solid #dfe5ec;
  border-radius: 18px;
  box-shadow: 0 10px 28px rgba(17,24,39,.045);
  overflow: hidden;
}

.tn-details-card figure {
  height: 190px;
}

.tn-details-card figcaption {
  bottom: 16px;
  color: #fff;
  left: 18px;
  position: absolute;
  z-index: 1;
}

.tn-details-card figcaption small {
  display: block;
  font-weight: 700;
  opacity: .9;
}

.tn-details-card figcaption strong {
  color: #fff;
  font-size: 24px;
  margin: 0;
}

.tn-details-copy,
.tn-quantity-row,
.tn-wizard-payment,
.tn-wizard-price {
  margin: 0 18px;
}

.tn-details-copy {
  border-bottom: 1px solid #edf1f5;
  color: #4b5563;
  line-height: 1.55;
  padding: 18px 0;
}

.tn-occupancy-options {
  border-bottom: 1px solid #edf1f5;
  display: grid;
  gap: 10px;
  margin: 0 18px;
  padding: 16px 0;
}

.tn-occupancy-options button {
  align-items: center;
  background: #fff;
  border: 1px solid #dbe3ea;
  border-radius: 8px;
  color: #12202f;
  display: flex;
  font: inherit;
  justify-content: space-between;
  min-height: 46px;
  padding: 10px 12px;
  text-align: left;
}

.tn-occupancy-options button.is-selected {
  background: #f0f7ff;
  border-color: #2a72b8;
  box-shadow: inset 0 0 0 1px #2a72b8;
}

.tn-occupancy-options strong,
.tn-occupancy-options span {
  overflow-wrap: anywhere;
}

.tn-quantity-row .tn-occupancy-options {
  border-bottom: 0;
  flex: 1;
  margin: 0 0 0 16px;
  padding: 0;
}

.tn-quantity-row {
  align-items: center;
  border-bottom: 1px solid #edf1f5;
  display: flex;
  justify-content: space-between;
  padding: 16px 0;
}

.tn-wizard-payment {
  border-bottom: 1px solid #edf1f5;
  padding: 16px 0;
}

.tn-wizard-payment h4 {
  margin: 0 0 10px;
}

.tn-wizard-price {
  margin-top: 18px;
}

.tn-details-card > .tn-preview-cta {
  margin: 18px;
  width: calc(100% - 36px);
}

.tn-added-confirmation {
  align-items: center;
  display: grid;
  min-height: 320px;
  padding: 48px 28px;
  place-items: center;
  text-align: center;
}

.tn-added-check {
  align-items: center;
  background: #e9faff;
  border-radius: 999px;
  color: #159bd3;
  display: inline-flex;
  font-size: 38px;
  height: 72px;
  justify-content: center;
  margin-bottom: 10px;
  width: 72px;
}

.tn-added-confirmation h3 {
  font-size: 24px;
  margin: 0;
}

.tn-added-confirmation p {
  color: #6b7280;
  margin: 0;
}

.tn-added-confirmation > strong {
  color: #159bd3;
  font-size: 20px;
}

.tn-added-confirmation > div:last-child {
  display: grid;
  gap: 12px;
  grid-template-columns: 1fr 1fr;
  margin-top: 12px;
  width: min(420px, 100%);
}

.tn-wizard-basket {
  position: sticky;
  top: 24px;
}

.tn-wizard-basket-card header {
  align-items: center;
  border-bottom: 1px solid #edf1f5;
  display: flex;
  justify-content: space-between;
  padding: 18px;
}

.tn-wizard-basket-card h3 {
  font-size: 17px;
  margin: 0;
}

.tn-wizard-basket-card header span {
  background: #159bd3;
  border-radius: 999px;
  color: #fff;
  font-size: 12px;
  font-weight: 900;
  padding: 4px 9px;
}

.tn-wizard-basket-card .tn-basket-lines {
  margin: 0;
  padding: 18px;
}

.tn-wizard-basket-card footer {
  border-top: 1px solid #edf1f5;
  padding: 18px;
}

.tn-wizard-basket-card footer > div {
  align-items: baseline;
  display: flex;
  justify-content: space-between;
  margin-bottom: 8px;
}

.tn-wizard-basket-card footer span,
.tn-wizard-basket-card footer small {
  color: #6b7280;
}

.tn-wizard-basket-card footer strong {
  font-size: 26px;
}

.tn-wizard-empty {
  border: 0;
  min-height: 140px;
  place-items: center;
  text-align: center;
}

.tn-wizard-layout > [data-tn-message] {
  grid-column: 1 / -1;
}

@media (max-width: 1023px) {
  .tn-wizard-layout {
    grid-template-columns: 1fr;
  }

  .tn-wizard-basket {
    position: static;
  }
}
/* Stage 5 desktop booking wizard revamp END */

/* Stage 5 mobile booking wizard + basket sheet START */
.tn-mobile-basket-toggle,
.tn-basket-close,
.tn-basket-backdrop {
  display: none;
}

@media (max-width: 640px) {
  body:has(.tn-booking-wizard) {
    overflow-x: hidden;
  }

  .threeness-public-booking.tn-booking-wizard {
    background: #f8fafc;
    border: 1px solid #dfe5ec;
    border-radius: 12px;
    box-shadow: 0 10px 28px rgba(17, 24, 39, 0.12);
    margin: 0 auto 88px;
    max-width: 390px;
    min-height: 92vh;
    overflow: hidden;
    width: calc(100vw - 20px);
  }

  .tn-booking-wizard .tn-preview-intro {
    border-bottom: 1px solid #e5eaf0;
    padding: 18px 18px 16px;
  }

  .tn-booking-wizard .tn-preview-intro h2 {
    font-size: 19px;
    line-height: 1.16;
  }

  .tn-booking-wizard .tn-preview-intro p {
    font-size: 12px;
  }

  .tn-wizard-layout {
    display: block;
    padding: 20px 16px 88px;
  }

  .tn-wizard-topbar {
    grid-template-columns: max-content 1fr;
    gap: 10px;
    margin-bottom: 24px;
  }

  .tn-wizard-back {
    font-size: 13px;
    min-height: 38px;
    padding: 0 12px;
  }

  .tn-step-indicator {
    gap: 12px;
    justify-content: flex-end;
  }

  .tn-step-indicator span {
    font-size: 0;
    gap: 0;
  }

  .tn-step-indicator b {
    font-size: 12px;
    height: 28px;
    width: 28px;
  }

  .tn-wizard-stage h3 {
    font-size: 18px;
  }

  .tn-wizard-stage > p {
    font-size: 13px;
    margin-bottom: 18px;
  }

  .tn-product-list {
    gap: 14px;
  }

  .tn-product-card {
    border-radius: 14px;
    grid-template-columns: 46px 1fr auto;
    min-height: 114px;
    padding: 16px;
  }

  .tn-product-icon {
    border-radius: 12px;
    font-size: 19px;
    height: 44px;
    width: 44px;
  }

  .tn-product-card strong,
  .tn-option-card strong,
  .tn-product-banner strong {
    font-size: 15px;
  }

  .tn-product-card small,
  .tn-product-banner p,
  .tn-option-card p {
    font-size: 13px;
  }

  .tn-product-card b {
    font-size: 15px;
  }

  .tn-product-banner {
    border-radius: 14px;
    gap: 14px;
    grid-template-columns: 44px 1fr;
    margin-bottom: 22px;
    padding: 16px;
  }

  .tn-option-grid {
    grid-template-columns: 1fr;
  }

  .tn-option-card {
    border-radius: 14px;
  }

  .tn-option-card figure {
    height: 128px;
  }

  .tn-option-card > div {
    padding: 16px;
  }

  .tn-details-card,
  .tn-added-confirmation {
    border-radius: 14px;
  }

  .tn-details-card figure {
    height: 142px;
  }

  .tn-details-card figcaption {
    bottom: 14px;
    left: 16px;
  }

  .tn-details-card figcaption strong {
    font-size: 20px;
  }

  .tn-details-copy,
  .tn-occupancy-options,
  .tn-quantity-row,
  .tn-wizard-payment,
  .tn-wizard-price {
    margin-left: 16px;
    margin-right: 16px;
  }

  .tn-details-copy {
    font-size: 13px;
    padding: 16px 0;
  }

  .tn-quantity-row {
    padding: 14px 0;
  }

  .tn-quantity-row .tn-occupancy-options {
    margin: 0 0 0 12px;
  }

  .tn-qty-stepper {
    gap: 10px !important;
    padding: 0;
  }

  .tn-qty-stepper button {
    background: #fff !important;
    border: 1px solid #e5eaf0 !important;
    box-shadow: 0 4px 12px rgba(17,24,39,.06);
    color: #111827 !important;
    height: 38px;
    width: 38px;
  }

  .tn-qty-stepper input {
    font-size: 18px;
    width: 42px;
  }

  .tn-details-card > .tn-preview-cta {
    margin: 16px;
    width: calc(100% - 32px);
  }

  .tn-added-confirmation {
    min-height: 342px;
    padding: 36px 18px;
  }

  .tn-added-check {
    height: 64px;
    width: 64px;
  }

  .tn-added-confirmation > div:last-child {
    grid-template-columns: 1fr;
  }

  .tn-basket-backdrop {
    background: rgba(17, 24, 39, .42);
    backdrop-filter: blur(5px);
    display: block;
    inset: 0;
    position: fixed;
    z-index: 99998;
  }

  .tn-basket-backdrop[hidden] {
    display: none;
  }

  .tn-wizard-basket {
    bottom: 0;
    left: 50%;
    position: fixed;
    top: auto;
    transform: translateX(-50%);
    width: min(390px, 100vw);
    z-index: 99999;
  }

  .tn-wizard-basket-card {
    border-radius: 18px 18px 0 0;
    box-shadow: 0 -12px 34px rgba(17,24,39,.16);
    max-height: 78vh;
    overflow: hidden;
    transition: transform .24s ease, max-height .24s ease;
  }

  .tn-mobile-basket-toggle {
    align-items: center;
    background: #fff;
    border: 0;
    color: #111827;
    cursor: pointer;
    display: grid;
    font-weight: 800;
    gap: 10px;
    grid-template-columns: 1fr auto auto;
    min-height: 58px;
    padding: 0 16px;
    text-align: left;
    width: 100%;
  }

  .tn-mobile-basket-toggle > span {
    align-items: center;
    display: inline-flex;
    gap: 10px;
  }

  .tn-mobile-basket-toggle strong {
    font-size: 18px;
  }

  .tn-mobile-basket-toggle em {
    color: #6b7280;
    font-style: normal;
  }

  .tn-mobile-basket-icon {
    position: relative;
  }

  .tn-mobile-basket-icon b {
    align-items: center;
    background: #ff531a;
    border-radius: 999px;
    color: #fff;
    display: inline-flex;
    font-size: 10px;
    height: 16px;
    justify-content: center;
    position: absolute;
    right: -9px;
    top: -8px;
    width: 16px;
  }

  .tn-wizard-basket-card > header,
  .tn-wizard-basket-card .tn-basket-body {
    display: none;
  }

  .tn-wizard-basket-card.is-open > header {
    align-items: center;
    display: flex;
    padding: 18px 16px;
  }

  .tn-wizard-basket-card.is-open .tn-basket-body {
    display: block;
    max-height: calc(78vh - 64px);
    overflow: auto;
  }

  .tn-wizard-basket-card.is-open .tn-mobile-basket-toggle {
    display: none;
  }

  .tn-wizard-basket-card header span {
    display: none;
  }

  .tn-basket-close {
    align-items: center;
    background: transparent;
    border: 0;
    color: #111827;
    cursor: pointer;
    display: inline-flex;
    font-size: 24px;
    height: 34px;
    justify-content: center;
    margin-left: auto;
    width: 34px;
  }

  .tn-wizard-basket-card .tn-basket-lines {
    padding: 14px 16px;
  }

  .tn-wizard-basket-card footer {
    background: #fff;
    padding: 16px;
  }

  .tn-wizard-basket-card footer > div strong {
    font-size: 22px;
  }

  .tn-wizard-layout > [data-tn-message] {
    padding-bottom: 60px;
  }
}
/* Stage 5 mobile booking wizard + basket sheet END */

/* Stage 5 mobile event-page containment fixes START */
@media (max-width: 900px) {
  .tn-event-page {
    margin-left: 0 !important;
    margin-right: 0 !important;
    overflow: visible !important;
    width: 100% !important;
  }

  .tn-event-tabs {
    border-left: 0 !important;
    border-right: 0 !important;
    border-radius: 0 !important;
    box-sizing: border-box !important;
    left: 0 !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    padding-left: max(12px, env(safe-area-inset-left)) !important;
    padding-right: max(12px, env(safe-area-inset-right)) !important;
    position: sticky !important;
    top: 0 !important;
    width: 100vw !important;
    z-index: 1000 !important;
  }

  body.admin-bar .tn-event-tabs {
    top: 46px !important;
  }

  .tn-event-main {
    box-sizing: border-box !important;
    gap: 18px !important;
    max-width: none !important;
    overflow: visible !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
    width: 100% !important;
  }

  .tn-event-section,
  .tn-event-page-block,
  .tn-event-feature-row,
  .tn-event-gallery-grid,
  .tn-event-wide-image {
    box-sizing: border-box !important;
    max-width: 100% !important;
  }

  .tn-event-booking-section {
    overflow: visible !important;
  }

  .tn-event-page:has(.tn-booking-wizard) .tn-mobile-booking-bar,
  body:has(.tn-booking-wizard) .tn-mobile-booking-bar {
    display: none !important;
  }
}

@media (max-width: 640px) {
  .tn-event-section--intro,
  .tn-event-section--venue,
  .tn-event-feature-row div,
  .tn-event-highlights-panel {
    padding: 16px !important;
  }

  .tn-event-booking-section {
    padding: 0 !important;
  }

  .tn-event-booking-section .threeness-public-booking.tn-booking-wizard,
  .threeness-public-booking.tn-booking-wizard {
    border-radius: 12px !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    max-width: none !important;
    min-height: auto !important;
    overflow: visible !important;
    width: 100% !important;
  }

  .tn-booking-wizard .tn-preview-intro {
    border-radius: 12px 12px 0 0 !important;
  }

  .tn-booking-wizard .tn-wizard-layout {
    box-sizing: border-box !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
    width: 100% !important;
  }

  .tn-booking-wizard .tn-product-card,
  .tn-booking-wizard .tn-option-card,
  .tn-booking-wizard .tn-details-card,
  .tn-booking-wizard .tn-added-confirmation {
    max-width: 100% !important;
  }

  .tn-wizard-basket {
    width: min(100vw, 420px) !important;
  }
}
/* Stage 5 mobile event-page containment fixes END */

/* Stage 5B mobile full-bleed event shell fix START */
@media (max-width: 900px) {
  html,
  body {
    overflow-x: hidden !important;
  }

  body.single-threeness_event .site,
  body.single-threeness_event .site-content,
  body.single-threeness_event .content-area,
  body.single-threeness_event .site-main,
  body.single-threeness_event .page-content,
  body.single-threeness_event article.type-threeness_event,
  body.single-threeness_event .entry-content,
  body.single-threeness_event .elementor,
  body.single-threeness_event .elementor-section,
  body.single-threeness_event .elementor-container,
  body.single-threeness_event .elementor-column,
  body.single-threeness_event .elementor-widget-wrap {
    box-sizing: border-box !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    width: 100% !important;
  }

  .tn-event-page {
    box-sizing: border-box !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    max-width: none !important;
    overflow: visible !important;
    width: 100vw !important;
  }

  .tn-event-hero {
    box-sizing: border-box !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: none !important;
    width: 100vw !important;
  }

  .tn-event-hero__inner,
  .tn-event-main,
  .tn-event-snapshot {
    box-sizing: border-box !important;
    max-width: none !important;
    width: 100% !important;
  }

  .tn-event-tabs {
    box-sizing: border-box !important;
    display: flex !important;
    left: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: none !important;
    overflow-x: auto !important;
    overscroll-behavior-x: contain !important;
    padding: 10px max(12px, env(safe-area-inset-left)) 10px max(12px, env(safe-area-inset-right)) !important;
    position: sticky !important;
    right: auto !important;
    scrollbar-width: none !important;
    top: 0 !important;
    transform: none !important;
    width: 100vw !important;
    z-index: 9999 !important;
  }

  .tn-event-tabs::-webkit-scrollbar {
    display: none !important;
  }

  .tn-event-tabs a {
    flex: 0 0 auto !important;
  }

  body.admin-bar .tn-event-tabs {
    top: 46px !important;
  }

  .tn-event-main {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  .tn-event-section,
  .tn-event-tab-panels,
  .tn-event-block-region,
  .tn-event-page-block,
  .tn-event-booking-section,
  .threeness-public-booking.tn-booking-wizard {
    box-sizing: border-box !important;
    max-width: 100% !important;
    min-width: 0 !important;
    width: 100% !important;
  }

  .tn-mobile-booking-bar {
    display: none !important;
  }
}

@media (max-width: 640px) {
  .tn-event-main {
    gap: 14px !important;
    padding-bottom: 94px !important;
  }

  .tn-event-section,
  .tn-event-page-block,
  .tn-event-booking-section {
    border-radius: 18px !important;
  }

  .tn-event-booking-section {
    padding: 0 !important;
  }

  .tn-event-booking-section .threeness-public-booking.tn-booking-wizard {
    border-radius: 12px !important;
    margin: 0 !important;
  }

  .tn-booking-wizard .tn-wizard-layout {
    padding-bottom: 86px !important;
  }
}
/* Stage 5B mobile full-bleed event shell fix END */

/* Stage 5C mobile product card tap/overflow fix START */
@media (max-width: 640px) {
  .tn-booking-wizard .tn-product-list,
  .tn-booking-wizard .tn-option-grid,
  .tn-booking-wizard .tn-wizard-stage,
  .tn-booking-wizard .tn-wizard-main {
    min-width: 0 !important;
    overflow: visible !important;
    width: 100% !important;
  }

  .tn-booking-wizard .tn-product-card {
    box-sizing: border-box !important;
    grid-template-columns: 44px minmax(0, 1fr) 18px !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: hidden !important;
    position: relative !important;
    touch-action: manipulation !important;
    width: 100% !important;
  }

  .tn-booking-wizard .tn-product-card > span:not(.tn-product-icon),
  .tn-booking-wizard .tn-option-card > div,
  .tn-booking-wizard .tn-product-banner > div {
    min-width: 0 !important;
    overflow: hidden !important;
  }

  .tn-booking-wizard .tn-product-card strong,
  .tn-booking-wizard .tn-product-card small,
  .tn-booking-wizard .tn-product-card b,
  .tn-booking-wizard .tn-option-card strong,
  .tn-booking-wizard .tn-option-card p,
  .tn-booking-wizard .tn-product-banner strong,
  .tn-booking-wizard .tn-product-banner p {
    max-width: 100% !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
  }

  .tn-booking-wizard .tn-product-card small,
  .tn-booking-wizard .tn-option-card p,
  .tn-booking-wizard .tn-product-banner p {
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    overflow: hidden !important;
  }

  .tn-booking-wizard .tn-product-card em {
    justify-self: end !important;
    line-height: 1 !important;
    min-width: 0 !important;
  }
}
/* Stage 5C mobile product card tap/overflow fix END */

/* Stage 5D mobile product card text wrapping fix START */
@media (max-width: 640px) {
  .tn-booking-wizard .tn-product-card {
    align-items: start !important;
    min-height: 0 !important;
    overflow: visible !important;
  }

  .tn-booking-wizard .tn-product-card > span:not(.tn-product-icon),
  .tn-booking-wizard .tn-option-card > div,
  .tn-booking-wizard .tn-product-banner > div {
    min-width: 0 !important;
    overflow: visible !important;
  }

  .tn-booking-wizard .tn-product-card strong,
  .tn-booking-wizard .tn-product-card small,
  .tn-booking-wizard .tn-product-card b,
  .tn-booking-wizard .tn-option-card strong,
  .tn-booking-wizard .tn-option-card p,
  .tn-booking-wizard .tn-product-banner strong,
  .tn-booking-wizard .tn-product-banner p {
    display: block !important;
    max-width: 100% !important;
    overflow: visible !important;
    overflow-wrap: break-word !important;
    text-overflow: clip !important;
    white-space: normal !important;
    word-break: normal !important;
  }

  .tn-booking-wizard .tn-product-card small,
  .tn-booking-wizard .tn-option-card p,
  .tn-booking-wizard .tn-product-banner p {
    -webkit-box-orient: initial !important;
    -webkit-line-clamp: unset !important;
    line-clamp: unset !important;
  }

  .tn-booking-wizard .tn-product-card small {
    line-height: 1.45 !important;
  }
}
/* Stage 5D mobile product card text wrapping fix END */

/* Stage 5E mobile booking section zero padding: merged into existing max-width 640px rules above. */

/* Stage 5F attendee details wizard step START */
.tn-attendee-step {
  background: #fff;
  border: 1px solid #dfe5ec;
  border-radius: 18px;
  box-shadow: 0 10px 28px rgba(17,24,39,.045);
  padding: 20px;
}

.tn-attendee-step__header span {
  color: #159bd3;
  display: block;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.tn-attendee-step__header h3 {
  font-size: 22px;
  margin: 4px 0 6px;
}

.tn-attendee-step__header p {
  color: #6b7280;
  line-height: 1.5;
  margin: 0 0 18px;
}

.tn-attendee-list {
  display: grid;
  gap: 14px;
}

.tn-attendee-card {
  background: #f8fafc;
  border: 1px solid #e5eaf0;
  border-radius: 16px;
  padding: 16px;
}

.tn-attendee-card h4 {
  font-size: 16px;
  margin: 0 0 12px;
}

.tn-attendee-fields {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.tn-attendee-fields label {
  color: #111827;
  display: grid;
  font-size: 13px;
  font-weight: 700;
  gap: 6px;
}

.tn-attendee-fields label span b {
  color: #ff531a;
}

.tn-attendee-fields input,
.tn-attendee-fields select,
.tn-attendee-fields textarea {
  background: #fff;
  border: 1px solid #dfe5ec;
  border-radius: 12px;
  color: #111827;
  min-height: 44px;
  padding: 10px 12px;
  width: 100%;
}

.tn-attendee-fields textarea {
  min-height: 92px;
  resize: vertical;
}

.tn-attendee-fields small {
  color: #6b7280;
  font-weight: 500;
}

.tn-attendee-choice-list {
  display: grid;
  gap: 8px;
}

.tn-attendee-choice-list label {
  align-items: center;
  background: #fff;
  border: 1px solid #dfe5ec;
  border-radius: 12px;
  display: flex;
  font-weight: 600;
  gap: 8px;
  min-height: 42px;
  padding: 8px 10px;
}

.tn-attendee-step > .tn-preview-cta {
  margin-top: 14px;
}

@media (max-width: 640px) {
  .tn-attendee-step {
    border-radius: 14px;
    padding: 16px;
  }

  .tn-attendee-step__header h3 {
    font-size: 20px;
  }

  .tn-attendee-fields {
    grid-template-columns: 1fr;
  }

  .tn-attendee-card {
    padding: 14px;
  }
}
/* Stage 5F attendee details wizard step END */

/* Stage 5G persistent attendee quantity matching START */
.tn-attendee-card h4::after {
  color: #6b7280;
  content: attr(data-attendee-status);
  display: block;
  font-size: 12px;
  font-weight: 600;
  margin-top: 2px;
}
/* Stage 5G persistent attendee quantity matching END */

/* Stage 5H basket edit attendee links START */
.tn-edit-attendees-link {
  background: transparent;
  border: 0;
  color: #159bd3;
  cursor: pointer;
  display: inline-flex;
  font-size: 12px;
  font-weight: 900;
  margin: 8px 0 0;
  padding: 0;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.tn-edit-attendees-link:hover,
.tn-edit-attendees-link:focus {
  color: #ff531a;
}

@media (max-width: 640px) {
  .tn-edit-attendees-link {
    min-height: 32px;
    align-items: center;
  }
}
/* Stage 5H basket edit attendee links END */

/* Stage 5I standalone booking section outside padded main START */
.tn-event-page .tn-event-booking-section--standalone {
  box-sizing: border-box !important;
  margin: 0 auto 6rem !important;
  max-width: 1120px !important;
  padding: clamp(1.25rem, 4vw, 2rem) !important;
  width: 100% !important;
}

@media (max-width: 900px) {
  .tn-event-page .tn-event-booking-section--standalone {
    border-left: 0 !important;
    border-right: 0 !important;
    border-radius: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    width: 100% !important;
  }
}

@media (max-width: 640px) {
  .tn-event-page .tn-event-booking-section--standalone {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    margin-bottom: 94px !important;
    padding: 0 !important;
  }

  .tn-event-page .tn-event-booking-section--standalone .threeness-public-booking.tn-booking-wizard {
    border-radius: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
  }
}
/* Stage 5I standalone booking section outside padded main END */

/* Stage 5J mobile dark panel padding START */
@media (max-width: 640px) {
  .tn-event-page .tn-dark-panel {
    padding: 20px 20px !important;
  }
}
/* Stage 5J mobile dark panel padding END */

/* Stage 5K reusable event info cards block START */
.tn-event-page .tn-event-info-cards {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  width: 100%;
}

.tn-event-page .tn-event-info-card-block {
  align-items: center;
  background: #effcff;
  border: 1px solid #b9ecfb;
  border-radius: 12px;
  box-sizing: border-box;
  display: grid;
  gap: 8px;
  justify-items: center;
  min-height: 88px;
  padding: 20px;
  text-align: center;
}

.tn-event-page .tn-event-info-card-block img {
  display: block;
  height: 34px;
  object-fit: contain;
  width: 34px;
}

.tn-event-page .tn-event-info-card-icon {
  align-items: center;
  color: #159bd3;
  display: inline-flex;
  font-size: 28px;
  height: 34px;
  justify-content: center;
  line-height: 1;
  width: 34px;
}

.tn-event-page .tn-event-info-card-block strong {
  color: #020b1f;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.2;
}

.tn-event-page .tn-event-info-card-block span:not(.tn-event-info-card-icon) {
  color: #334155;
  font-size: 12px;
  line-height: 1.3;
}

@media (max-width: 900px) {
  .tn-event-page .tn-event-info-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 520px) {
  .tn-event-page .tn-event-info-cards {
    grid-template-columns: 1fr;
  }
}
/* Stage 5K reusable event info cards block END */

/* Stage 5L event content top spacing after removing fixed snapshot START */
.tn-event-page .tn-event-main {
  padding-top: 32px !important;
}

@media (max-width: 640px) {
  .tn-event-page .tn-event-main {
    padding-top: 20px !important;
  }
}
/* Stage 5L event content top spacing after removing fixed snapshot END */

/* Stage 5M desktop standalone booking flush fit START */
@media (min-width: 901px) {
  .tn-event-page .tn-event-booking-section--standalone {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
    margin: 0 auto 6rem !important;
    max-width: 1060px !important;
    padding: 0 20px !important;
    width: 100% !important;
  }

  .tn-event-page .tn-event-booking-section--standalone .threeness-public-booking.tn-booking-wizard {
    border-radius: 0 !important;
    margin: 0 !important;
    max-width: none !important;
    width: 100% !important;
  }

  .tn-event-page .tn-event-booking-section--standalone .tn-booking-wizard .tn-preview-intro {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .tn-event-page .tn-event-booking-section--standalone .tn-wizard-layout {
    max-width: none !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
  }
}
/* Stage 5M desktop standalone booking flush fit END */

/* Stage 6C hero media + mobile tabs/cards repair START */
.tn-event-hero {
  background-color: var(--tn-event-hero-color, #061735) !important;
}

.tn-event-hero--colour {
  background-image: none !important;
}

.tn-event-hero__video {
  height: 100%;
  inset: 0;
  object-fit: cover;
  position: absolute;
  width: 100%;
  z-index: 0;
}

.tn-event-hero__overlay,
.tn-event-hero__inner {
  position: relative;
}

@media (max-width: 900px) {
  .tn-event-tabs {
    position: sticky !important;
    top: 0 !important;
    z-index: 9999 !important;
  }

  body.admin-bar .tn-event-tabs {
    top: 46px !important;
  }
}

@media (max-width: 520px) {
  .tn-event-page .tn-event-info-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .tn-event-page .tn-event-info-card-block {
    min-height: 96px;
    padding: 16px 12px;
  }
}
/* Stage 6C hero media + mobile tabs/cards repair END */

/* Stage 6D configurable hero overlay START */
.tn-event-hero__overlay {
  background: var(--tn-event-hero-overlay-color, #000) !important;
  opacity: var(--tn-event-hero-overlay-opacity, .45) !important;
}
/* Stage 6D configurable hero overlay END */

/* Stage 6F hero overlay stacking fix START */
.tn-event-page .tn-event-hero {
  isolation: isolate !important;
  overflow: hidden !important;
}

.tn-event-page .tn-event-hero__video {
  z-index: 0 !important;
}

.tn-event-page .tn-event-hero__overlay {
  background: var(--tn-event-hero-overlay-color, #000) !important;
  inset: 0 !important;
  opacity: var(--tn-event-hero-overlay-opacity, .45) !important;
  pointer-events: none !important;
  position: absolute !important;
  z-index: 1 !important;
}

.tn-event-page .tn-event-hero__inner {
  position: relative !important;
  z-index: 2 !important;
}
/* Stage 6F hero overlay stacking fix END */

/* Stage 6G uploadable/YouTube hero video START */
.tn-event-page .tn-event-hero__video--youtube {
  border: 0 !important;
  height: 56.25vw !important;
  left: 50% !important;
  min-height: 100% !important;
  min-width: 177.78vh !important;
  pointer-events: none !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
  width: 100vw !important;
}
/* Stage 6G uploadable/YouTube hero video END */

/* Stage 6H premium page motion START */
@keyframes tnFadeLift {
  from {
    opacity: 0;
    transform: translate3d(0, 26px, 0) scale(.985);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
  }
}

@keyframes tnSoftReveal {
  from {
    clip-path: inset(0 100% 0 0 round 999px);
    opacity: .35;
  }
  to {
    clip-path: inset(0 0 0 0 round 999px);
    opacity: 1;
  }
}

@keyframes tnHeroTextIn {
  from {
    opacity: 0;
    transform: translate3d(0, 34px, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

.tn-event-page .tn-event-hero__copy > * {
  animation: tnHeroTextIn 1.15s cubic-bezier(.16, .84, .24, 1) both;
}

.tn-event-page .tn-event-hero__copy > *:nth-child(2) { animation-delay: .14s; }
.tn-event-page .tn-event-hero__copy > *:nth-child(3) { animation-delay: .28s; }
.tn-event-page .tn-event-hero__copy > *:nth-child(4) { animation-delay: .42s; }
.tn-event-page .tn-event-hero__copy > *:nth-child(5) { animation-delay: .56s; }

.tn-event-page .tn-event-tabs {
  animation: tnFadeLift .85s cubic-bezier(.16, .84, .24, 1) .28s both;
}

.tn-event-page .tn-event-section,
.tn-event-page .tn-event-page-block,
.tn-event-page .tn-event-feature-row,
.tn-event-page .tn-event-gallery-grid,
.tn-event-page .tn-event-wide-image,
.tn-event-page .tn-event-highlights-panel,
.tn-event-page .tn-checklist-card,
.tn-event-page .tn-numbered-card,
.tn-event-page .tn-dark-panel,
.tn-event-page .tn-event-info-cards,
.tn-event-page .tn-event-booking-section,
.tn-event-page .threeness-public-booking {
  opacity: 0;
  transform: translate3d(0, 28px, 0) scale(.985);
  transition:
    opacity 1.25s cubic-bezier(.16, .84, .24, 1),
    transform 1.25s cubic-bezier(.16, .84, .24, 1),
    box-shadow .28s ease,
    border-color .28s ease,
    background-color .28s ease;
  will-change: opacity, transform;
}

.tn-event-page .tn-event-section.is-in-view,
.tn-event-page .tn-event-page-block.is-in-view,
.tn-event-page .tn-event-feature-row.is-in-view,
.tn-event-page .tn-event-gallery-grid.is-in-view,
.tn-event-page .tn-event-wide-image.is-in-view,
.tn-event-page .tn-event-highlights-panel.is-in-view,
.tn-event-page .tn-checklist-card.is-in-view,
.tn-event-page .tn-numbered-card.is-in-view,
.tn-event-page .tn-dark-panel.is-in-view,
.tn-event-page .tn-event-info-cards.is-in-view,
.tn-event-page .tn-event-booking-section.is-in-view,
.tn-event-page .threeness-public-booking.is-in-view {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
}

.tn-event-page .tn-event-block-region > *:nth-child(2).is-in-view { transition-delay: .14s; }
.tn-event-page .tn-event-block-region > *:nth-child(3).is-in-view { transition-delay: .28s; }
.tn-event-page .tn-event-block-region > *:nth-child(4).is-in-view { transition-delay: .42s; }

.tn-event-page h1,
.tn-event-page h2,
.tn-event-page h3,
.tn-event-page .h1,
.tn-event-page .h2,
.tn-event-page .h3 {
  text-wrap: balance;
}

.tn-event-page .is-in-view > h2,
.tn-event-page .is-in-view > h3,
.tn-event-page .is-in-view .h2,
.tn-event-page .is-in-view .h3 {
  animation: tnFadeLift .95s cubic-bezier(.16, .84, .24, 1) .08s both;
}

.tn-event-page .tn-event-section__eyebrow,
.tn-event-page .tn-event-kicker,
.tn-event-page .tn-section-label {
  animation: tnSoftReveal 1.05s cubic-bezier(.16, .84, .24, 1) both;
}

.tn-event-page .tn-event-info-card-block,
.tn-event-page .tn-checklist-card li,
.tn-event-page .tn-numbered-card li,
.tn-event-page .tn-dark-panel-card,
.tn-event-page .tn-event-gallery-tile,
.tn-event-page .tn-product-card,
.tn-event-page .tn-option-card,
.tn-event-page .tn-details-card {
  transition:
    transform .24s ease,
    box-shadow .24s ease,
    border-color .24s ease,
    background-color .24s ease,
    filter .24s ease;
}

.tn-event-page .tn-event-info-card-block:hover,
.tn-event-page .tn-checklist-card li:hover,
.tn-event-page .tn-numbered-card li:hover,
.tn-event-page .tn-dark-panel-card:hover,
.tn-event-page .tn-product-card:hover,
.tn-event-page .tn-option-card:hover,
.tn-event-page .tn-details-card:hover {
  border-color: rgba(0, 160, 204, .34) !important;
  box-shadow: 0 16px 36px rgba(15, 23, 41, .10) !important;
  transform: translate3d(0, -4px, 0);
}

.tn-event-page .tn-event-gallery-tile:hover,
.tn-event-page .tn-event-wide-image:hover,
.tn-event-page .tn-event-feature-row figure:hover {
  transform: translate3d(0, -3px, 0);
}

.tn-event-page .tn-event-gallery-tile img,
.tn-event-page .tn-event-wide-image img,
.tn-event-page .tn-event-feature-row figure img {
  transition: filter .35s ease, transform .45s ease;
}

.tn-event-page .tn-event-gallery-tile:hover img,
.tn-event-page .tn-event-wide-image:hover img,
.tn-event-page .tn-event-feature-row figure:hover img {
  filter: saturate(1.08) contrast(1.04);
  transform: scale(1.035);
}

.threeness-public-booking .tn-product-card:hover,
.threeness-public-booking .tn-option-card:hover,
.tn-event-page .tn-product-card:hover,
.tn-event-page .tn-option-card:hover {
  background: #fff !important;
  color: #111827 !important;
}

.threeness-public-booking .tn-product-card.is-selected:hover,
.threeness-public-booking .tn-option-card.is-selected:hover,
.tn-event-page .tn-product-card.is-selected:hover,
.tn-event-page .tn-option-card.is-selected:hover {
  background: #f0fbff !important;
}

.threeness-public-booking .tn-product-card:hover strong,
.threeness-public-booking .tn-option-card:hover strong,
.tn-event-page .tn-product-card:hover strong,
.tn-event-page .tn-option-card:hover strong {
  color: #111827 !important;
}

.threeness-public-booking .tn-product-card:hover small,
.threeness-public-booking .tn-option-card:hover p,
.tn-event-page .tn-product-card:hover small,
.tn-event-page .tn-option-card:hover p {
  color: #6b7280 !important;
}

.threeness-public-booking .tn-product-card small,
.threeness-public-booking .tn-option-card p,
.tn-event-page .tn-product-card small,
.tn-event-page .tn-option-card p {
  overflow-wrap: anywhere;
  white-space: normal !important;
}

.tn-event-page .tn-event-button,
.tn-event-page .tn-preview-cta,
.tn-event-page .tn-event-book-now-button,
.tn-event-page .tn-choice-pill {
  transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}

.tn-event-page .tn-event-button:hover,
.tn-event-page .tn-preview-cta:hover:not(:disabled),
.tn-event-page .tn-event-book-now-button:hover,
.tn-event-page .tn-choice-pill:hover:not(:disabled) {
  filter: brightness(1.03);
  transform: translate3d(0, -2px, 0);
}

.tn-event-page .tn-event-tabs a.is-booking,
.tn-event-page .tn-event-tabs a.is-booking:hover,
.tn-event-page .tn-event-tabs a.is-booking.is-active {
  align-items: center !important;
  background: #00a0cc !important;
  border: 1px solid #00a0cc !important;
  border-radius: 999px !important;
  box-shadow: 0 10px 22px rgba(0, 160, 204, .18) !important;
  color: #fff !important;
  display: inline-flex !important;
  justify-content: center !important;
  margin: .42rem 0 !important;
  min-height: 40px !important;
  padding: .62rem 1.15rem !important;
}

.tn-event-page .tn-event-tabs a.is-booking::after,
.tn-event-page .tn-event-tabs a.is-booking:hover::after,
.tn-event-page .tn-event-tabs a.is-booking.is-active::after {
  display: none !important;
}

@media (max-width: 767px) {
  .tn-event-page .tn-event-tabs,
  .tn-event-tabs {
    position: sticky !important;
    top: 0 !important;
    z-index: 10010 !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 8px !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
  }

  body.admin-bar .tn-event-page .tn-event-tabs,
  body.admin-bar .tn-event-tabs {
    top: 46px !important;
  }

  .tn-event-page .tn-event-tabs a.is-booking,
  .tn-event-tabs a.is-booking {
    order: -1 !important;
    flex: 0 0 auto !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .tn-event-page *,
  .tn-event-page *::before,
  .tn-event-page *::after {
    animation: none !important;
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
  }

  .tn-event-page .tn-event-section,
  .tn-event-page .tn-event-page-block,
  .tn-event-page .tn-event-feature-row,
  .tn-event-page .tn-event-gallery-grid,
  .tn-event-page .tn-event-wide-image,
  .tn-event-page .tn-event-highlights-panel,
  .tn-event-page .tn-checklist-card,
  .tn-event-page .tn-numbered-card,
  .tn-event-page .tn-dark-panel,
  .tn-event-page .tn-event-info-cards,
  .tn-event-page .tn-event-booking-section,
  .tn-event-page .threeness-public-booking {
    opacity: 1 !important;
    transform: none !important;
  }
}
/* Stage 6H premium page motion END */
