/* ============================================================
   Enchanted Ball Niagara — SimpleTix theme (single paste)
   Copy into SimpleTix → Event → Customize → Custom CSS
   Source of truth in repo for review / diffs.
   Visual theme only: no custom layout offsets, margins, or panel padding.
   ============================================================ */

@import url("https://fonts.googleapis.com/css2?family=Kurale&family=Mea+Culpa&display=swap");

:root {
  --ink: #5a424a;
  --paper: #ffffff;
  --paper-deep: #ffffff;
  --rose: #e99b9c;
  --rose-deep: #d985a1;
  --rose-light: #eeaaab;
  --rose-dark: #d88a8b;
  --gold: #f3d8e2;
  --line: rgba(229, 179, 200, 0.32);
  --line-strong: rgba(224, 171, 194, 0.55);
  --shadow-sm: 0 0.35rem 1rem rgba(113, 63, 84, 0.10);
  --shadow-md: 0 0.7rem 1.8rem rgba(172, 116, 141, 0.18);
}

/* ---------- Page canvas ---------- */
html,
body {
  background: #ffffff !important;
  color: var(--ink) !important;
  font-family: "Kurale", Georgia, serif !important;
}

/* ---------- Typography ---------- */
body {
  line-height: 1.45 !important;
}

body,
p,
label,
li,
td,
th,
input,
select,
textarea,
button,
a {
  font-family: "Kurale", Georgia, serif !important;
  color: var(--ink);
}

h1,
h2,
h3,
h4,
.event-title,
.page-title {
  font-family: "Mea Culpa", "Kurale", cursive !important;
  color: var(--rose) !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  line-height: 1.05 !important;
}

h1,
.event-title {
  font-size: clamp(2.4rem, 6vw, 4.2rem) !important;
}

h2 {
  font-size: clamp(1.8rem, 4vw, 2.6rem) !important;
}

h3 {
  font-size: clamp(1.3rem, 2.4vw, 1.6rem) !important;
  font-family: "Kurale", serif !important;
}

a {
  color: var(--rose);
  text-decoration: none;
}

a:hover {
  color: var(--rose-deep);
}

/* ---------- Dividers (color only) ---------- */
hr,
.divider,
.seperator,
.separator {
  border-color: var(--line) !important;
  opacity: 1 !important;
}

/* ---------- Cards / panels ---------- */
.panel,
.card,
.well,
.box,
.ticket-type,
.order-summary,
.cart,
.checkout,
.stx-panel,
.container,
.content {
  background: #ffffff !important;
  border: 1px solid var(--line) !important;
  border-radius: 1rem !important;
  box-shadow: var(--shadow-sm) !important;
}

table {
  border-radius: 0.9rem;
  overflow: hidden;
}

thead th {
  background: rgba(229, 179, 200, 0.18) !important;
  color: var(--ink) !important;
  font-family: "Kurale", serif !important;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-size: 0.78rem !important;
  border-bottom: 1px solid var(--line-strong) !important;
}

tbody td {
  border-bottom: 1px solid var(--line) !important;
}

input:focus,
select:focus,
textarea:focus {
  outline: 2px solid rgba(222, 168, 146, 0.6) !important;
  outline-offset: 2px;
  border-color: var(--rose) !important;
}

::placeholder {
  color: rgba(130, 95, 82, 0.5) !important;
}

select::-ms-expand {
  display: none !important;
}

/* ---------- Buttons (unified) ---------- */
.btn,
.button,
button[type="submit"],
input[type="submit"],
a.btn,
a.button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  gap: 0.35rem !important;

  min-height: 2.65rem !important;
  padding: 0.52rem 1.25rem !important;
  border-radius: 999px !important;

  font-family: "Kurale", serif !important;
  font-size: 0.82rem !important;
  font-weight: 400 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  line-height: 1 !important;
  -webkit-font-smoothing: antialiased;

  text-shadow: none !important;
  cursor: pointer;
  transition:
    transform 200ms ease,
    box-shadow 200ms ease,
    filter 200ms ease,
    opacity 200ms ease;

  appearance: none !important;
  -webkit-appearance: none !important;
}

.btn-primary,
.btn-success,
.btn-buy,
.btn-checkout,
button.btn.btn-lg.btn_footer_enable.btn_checkout,
button.btn.btn-lg.btn_footer_disable.btn_checkout,
button.btn.btn_footer_enable.btn-lg.btn_checkout_offer,
button.btn.btn-lg.btn_footer_disable.btn_checkout_offer {
  color: #fff !important;
  background: linear-gradient(150deg, var(--rose-light) 0%, var(--rose) 60%, var(--rose-dark) 100%) !important;
  border: 1px solid rgba(233, 155, 156, 0.55) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 230, 230, 0.35),
    0 0.35rem 0.9rem rgba(200, 120, 120, 0.22) !important;
}

button.btn.btn_footer_enable.btn-lg.btn_checkout_offer,
button.btn.btn-lg.btn_footer_disable.btn_checkout_offer,
button.btn.btn-lg.btn_footer_enable.btn_checkout,
button.btn.btn-lg.btn_footer_disable.btn_checkout {
  min-height: 2.75rem !important;
  padding: 0.5rem 1.15rem !important;
  font-size: 0.76rem !important;
  letter-spacing: 0.07em !important;
}

.btn:not(.btn-default):not(.btn-secondary):not(.btn-link):not(.btn-cancel) {
  color: #fff !important;
  background: linear-gradient(150deg, var(--rose-light) 0%, var(--rose) 60%, var(--rose-dark) 100%) !important;
  border: 1px solid rgba(233, 155, 156, 0.55) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 230, 230, 0.35),
    0 0.35rem 0.9rem rgba(200, 120, 120, 0.22) !important;
}

.btn-primary:hover,
.btn-success:hover,
.btn-buy:hover,
.btn-checkout:hover,
button.btn.btn-lg.btn_footer_enable.btn_checkout:hover,
button.btn.btn_footer_enable.btn-lg.btn_checkout_offer:hover,
.btn:not(.btn-default):not(.btn-secondary):not(.btn-link):not(.btn-cancel):hover,
a.btn:not(.btn-default):not(.btn-secondary):not(.btn-link):not(.btn-cancel):hover {
  transform: translateY(-1px);
  filter: brightness(1.06);
  box-shadow:
    inset 0 1px 0 rgba(255, 230, 230, 0.4),
    0 0.55rem 1.25rem rgba(200, 120, 120, 0.28) !important;
  color: #fff !important;
}

button.btn.btn-lg.btn_footer_disable.btn_checkout:disabled,
button.btn.btn-lg.btn_footer_disable.btn_checkout.disabled,
.btn.btn_footer_disable.btn_checkout[disabled] {
  opacity: 0.68 !important;
  cursor: not-allowed !important;
  transform: none !important;
  filter: none !important;
}

.btn-default,
.btn-secondary,
.btn-link,
.btn-cancel {
  background: rgba(229, 179, 200, 0.14) !important;
  color: var(--ink) !important;
  border: 1px solid var(--line-strong) !important;
  text-shadow: none !important;
  box-shadow: none !important;
}

.btn-default:hover,
.btn-secondary:hover,
.btn-link:hover,
.btn-cancel:hover {
  background: rgba(229, 179, 200, 0.28) !important;
  color: var(--ink) !important;
  transform: none !important;
  filter: none !important;
}

/* ---------- Price / totals ---------- */
.price,
.total,
.subtotal,
.amount,
.order-total {
  color: var(--rose-deep) !important;
  font-weight: 500;
}

/* ---------- Alerts ---------- */
.alert,
.notice,
.message {
  border-radius: 0.8rem !important;
  border: 1px solid var(--line) !important;
  background: #ffffff !important;
  color: var(--ink) !important;
}

.alert-success {
  border-color: rgba(160, 195, 160, 0.55) !important;
}

.alert-danger,
.alert-error {
  border-color: rgba(220, 140, 140, 0.55) !important;
}

/* ---------- SimpleTix chrome ---------- */
.header,
.site-header,
.navbar,
.footer,
.site-footer {
  background: transparent !important;
  border-color: var(--line) !important;
  box-shadow: none !important;
}

.shadow,
.box-shadow {
  box-shadow: var(--shadow-sm) !important;
}

#booking-header{
    height: 105px;
}