.elementor .e-38cfa8a{padding:200px;margin-block-start:0px;margin-block-end:0px;flex-direction:column;/* ARENA BOOKING — Refined Elementor styling, v2
 Replace previous custom CSS completely; do not paste below old rules.
 Scoped to [arena_booking] shortcode (.ab-widget).
*/
@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800&family=Inter:wght@400;500;600;700&display=swap');

.ab-widget {
--ab-primary: #13764e;
--ab-primary-dark: #095b3b;
--ab-ink: #182720;
--ab-muted: #697a71;
--ab-stroke: #e0e8e3;
--ab-surface: #f6f8f6;
box-sizing: border-box;
width: 100%;
max-width: 1020px;
margin-inline: auto;
padding: clamp(12px, 2vw, 24px);
background: transparent;
color: var(--ab-ink);
font-family: 'Inter', system-ui, sans-serif;
font-size: 15px;
line-height: 1.55;
}
.ab-widget *, .ab-widget *::before, .ab-widget *::after { box-sizing: border-box; }
.ab-widget h3, .ab-widget h4 {
font-family: 'Barlow Condensed', Impact, sans-serif;
color: var(--ab-ink);
letter-spacing: .01em;
font-weight: 800;
line-height: 1.1;
text-transform: none;
}
.ab-widget h3 { font-size: clamp(36px, 5vw, 54px); margin: 0 0 20px; }
.ab-widget h4 { font-size: clamp(28px, 3.5vw, 38px); margin: 0 0 16px; }

/* White booking/payment panels, without the old grey outer box */
.ab-widget .ab-select,
.ab-widget .ab-pay-panel:not([hidden]) {
display: block;
background: #fff;
border: 1px solid var(--ab-stroke);
border-radius: 16px;
padding: clamp(18px, 3vw, 32px);
box-shadow: 0 8px 30px rgba(13, 48, 30, .055);
}
.ab-widget .ab-select[hidden],
.ab-widget .ab-pay-panel[hidden] { display: none !important; }
.ab-widget .ab-pay-panel { margin: 0 0 18px; }

/* Labels and inputs */
.ab-widget label {
display: block;
margin: 0 0 20px;
color: var(--ab-ink);
font-family: 'Inter', system-ui, sans-serif;
font-size: 13px;
font-weight: 700;
letter-spacing: .005em;
}
.ab-widget label input,
.ab-widget label select {
display: block;
width: 100%;
max-width: 100%;
min-width: 0;
min-height: 52px;
margin: 8px 0 0;
padding: 12px 15px;
border: 1px solid #d8e2db;
border-radius: 9px;
background: #f9fbf9;
color: var(--ab-ink);
font: 500 15px/1.4 'Inter', system-ui, sans-serif;
box-shadow: none;
transition: border-color .2s, box-shadow .2s, background-color .2s;
}
.ab-widget label input:focus,
.ab-widget label select:focus {
border-color: var(--ab-primary);
background: #fff;
outline: none;
box-shadow: 0 0 0 3px rgba(19, 118, 78, .12);
}
.ab-widget .ab-message { margin: 10px 0 16px; color: var(--ab-muted); font-size: 14px; }

/* Hour choices: clean square-ish cards */
.ab-widget .ab-slots {
display: grid !important;
grid-template-columns: repeat(4, minmax(0, 1fr));
gap: 11px;
margin: 0 0 16px;
}
.ab-widget .ab-slots button {
display: flex;
align-items: center;
justify-content: center;
width: 100%;
min-width: 0;
min-height: 76px;
padding: 12px 6px;
border: 1px solid #dce5df;
border-radius: 11px;
background: #f7f9f7;
color: #24392e;
font: 700 clamp(13px, 1.5vw, 16px)/1.3 'Inter', system-ui, sans-serif;
text-align: center;
white-space: normal;
box-shadow: none;
cursor: pointer;
transition: background .18s, color .18s, border-color .18s, transform .18s;
}
.ab-widget .ab-slots button:not(:disabled):hover {
background: #eaf4ed;
border-color: #7dbb9b;
transform: translateY(-2px);
}
.ab-widget .ab-slots button.selected,
.ab-widget .ab-slots button.selected:hover {
background: var(--ab-primary);
border-color: var(--ab-primary);
color: #fff;
transform: none;
box-shadow: 0 4px 12px rgba(19, 118, 78, .17);
}
.ab-widget .ab-slots button:disabled {
background: #f6f6f6;
border-color: #ededed;
color: #a2aaa5;
opacity: 1;
text-decoration: line-through;
cursor: not-allowed;
transform: none;
box-shadow: none;
}
.ab-widget .ab-slots button:focus-visible,
.ab-widget .ab-submit:focus-visible,
.ab-widget .ab-pay-submit:focus-visible,
.ab-widget .ab-book-again:focus-visible {
outline: 3px solid #9ad7b6;
outline-offset: 3px;
}

/* Price summary + customer details */
.ab-widget .ab-summary {
margin: 10px 0 24px;
padding: 15px 18px;
border-left: 4px solid var(--ab-primary);
border-radius: 0 9px 9px 0;
background: #edf6f0;
color: var(--ab-primary-dark);
font-weight: 700;
overflow-wrap: anywhere;
}
.ab-widget .ab-summary:empty { display: none; }
.ab-widget .ab-customer {
padding-top: 24px;
margin-top: 18px;
border-top: 1px solid var(--ab-stroke);
}

/* Primary actions */
.ab-widget .ab-submit,
.ab-widget .ab-pay-submit,
.ab-widget .ab-book-again {
display: inline-flex;
justify-content: center;
align-items: center;
min-height: 52px;
max-width: 100%;
padding: 13px 25px;
border: 1px solid var(--ab-primary);
border-radius: 9px;
background: var(--ab-primary);
color: #fff;
font: 700 15px/1.4 'Inter', system-ui, sans-serif;
text-decoration: none;
cursor: pointer;
transition: background .2s, transform .2s;
}
.ab-widget .ab-submit:not(:disabled):hover,
.ab-widget .ab-pay-submit:not(:disabled):hover,
.ab-widget .ab-book-again:hover {
background: var(--ab-primary-dark);
border-color: var(--ab-primary-dark);
color: #fff;
transform: translateY(-1px);
}
.ab-widget .ab-submit:disabled,
.ab-widget .ab-pay-submit:disabled {
opacity: .5;
cursor: not-allowed;
transform: none;
}

/* Payment information and QR */
.ab-widget .ab-pay-panel > p { color: var(--ab-muted); font-size: 14px; }
.ab-widget .ab-pay-instructions {
margin: 12px 0 22px;
padding: clamp(16px, 2.5vw, 24px);
border: 1px solid var(--ab-stroke);
border-radius: 12px;
background: var(--ab-surface);
color: var(--ab-ink);
overflow-wrap: anywhere;
}
.ab-widget .ab-pay-instructions p { margin: 0 0 12px; }
.ab-widget .ab-pay-instructions strong { color: var(--ab-primary-dark); }
.ab-widget .ab-qr {
display: block;
width: min(100%, 260px);
max-height: 340px;
height: auto;
object-fit: contain;
margin: 18px auto;
border-radius: 8px;
}
.ab-widget .ab-result,
.ab-widget .ab-pay-result { margin: 16px 0; overflow-wrap: anywhere; }
.ab-widget > small { display: block; margin-top: 18px; color: var(--ab-muted); font-size: 12px; line-height: 1.6; }

/* Tablet */
@media (max-width: 900px) {
.ab-widget .ab-slots { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
/* Mobile */
@media (max-width: 640px) {
.ab-widget { padding: 8px 0; }
.ab-widget h3 { margin-bottom: 16px; }
.ab-widget .ab-select,
.ab-widget .ab-pay-panel:not([hidden]) { padding: 18px 14px; border-radius: 13px; }
.ab-widget .ab-slots { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.ab-widget .ab-slots button { min-height: 64px; padding: 10px 5px; font-size: 13px; }
.ab-widget .ab-submit,
.ab-widget .ab-pay-submit,
.ab-widget .ab-book-again { width: 100%; }
.ab-widget .ab-qr { width: min(100%, 235px); }
}
@media (max-width: 360px) {
.ab-widget .ab-select,
.ab-widget .ab-pay-panel:not([hidden]) { padding: 14px 10px; }
.ab-widget .ab-slots button { font-size: 12px; }
}
@media (prefers-reduced-motion: reduce) {
.ab-widget .ab-slots button,
.ab-widget .ab-submit,
.ab-widget .ab-pay-submit,
.ab-widget .ab-book-again { transition: none; }
}\n}