/* Native Elementor integration and accessibility. Original design is source.css. */
body.platform-site .ep-form.elementor-widget-form .elementor-field-group input.elementor-field.elementor-date-field { padding-right:42px; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.6' stroke-linecap='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M16 3v4M8 3v4M3 11h18'/%3E%3C/svg%3E"); background-position:right 14px center; background-repeat:no-repeat; cursor:pointer; }
body.platform-site .flatpickr-calendar { background:#160e27; border:1px solid #ffffff40; border-radius:10px; box-shadow:0 8px 24px #0006; font-family:Outfit,sans-serif; }
body.platform-site .flatpickr-calendar .flatpickr-month,body.platform-site .flatpickr-calendar .flatpickr-weekday,body.platform-site .flatpickr-calendar .flatpickr-day,body.platform-site .flatpickr-calendar .flatpickr-current-month,body.platform-site .flatpickr-calendar .numInput { color:#fff; }
body.platform-site .flatpickr-calendar .flatpickr-monthDropdown-months { background:#160e27; color:#fff; }
body.platform-site .flatpickr-calendar .flatpickr-prev-month,body.platform-site .flatpickr-calendar .flatpickr-next-month { color:#fff; fill:#fff; }
body.platform-site .flatpickr-calendar .flatpickr-day.flatpickr-disabled,body.platform-site .flatpickr-calendar .flatpickr-day.prevMonthDay,body.platform-site .flatpickr-calendar .flatpickr-day.nextMonthDay { color:#ffffff55; }
body.platform-site .flatpickr-calendar .flatpickr-day:hover:not(.flatpickr-disabled),body.platform-site .flatpickr-calendar .flatpickr-day:focus { background:#ffffff20; border-color:#ffffff60; }
body.platform-site .flatpickr-calendar .flatpickr-day.selected { background:#9d1146; border-color:#9d1146; color:#fff; }
body.platform-site .flatpickr-calendar .flatpickr-day.today { border-color:#ffffff80; }
body.platform-site .flatpickr-calendar:before,body.platform-site .flatpickr-calendar:after { display:none; }
/* Compensate for the logo asset's 44px transparent left inset at 1024px width. */
body.platform-site .footer-brand img,
body.platform-site .site-header .brand img { transform:translateX(-4.296875%); }
body.platform-site .location-content { display:flex; flex-direction:column; justify-content:center; align-items:center; }
body.platform-site .ep-testimonials { min-width:0; }
body.platform-site .ep-review-track { display:flex; gap:22px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; padding:4px 0 16px; }
body.platform-site .ep-review-track::-webkit-scrollbar { display:none; }
body.platform-site .ep-review-slide { flex:0 0 calc((100% - 44px)/3); min-width:0; margin:0; scroll-snap-align:start; display:flex; flex-direction:column; align-items:center; }
body.platform-site .ep-review-stars { display:flex; gap:6px; margin-bottom:20px; }
body.platform-site .ep-review-stars svg { width:32px; height:32px; }
body.platform-site .ep-review-name { font:600 16px/1.4 Outfit,sans-serif; margin:0 0 16px; text-transform:none; }
body.platform-site .ep-review-slide blockquote { margin:0; font:400 15px/1.6 Outfit,sans-serif; }
body.platform-site .ep-review-slide blockquote p { margin:0 0 14px; }
body.platform-site .ep-review-source { margin-top:auto; padding-top:18px; font-size:11px; color:#efcede; }
body.platform-site .ep-review-source a { text-decoration:underline; text-underline-offset:4px; }
body.platform-site .ep-review-controls { display:flex; justify-content:center; align-items:center; gap:16px; margin-top:24px; }
body.platform-site .ep-review-controls button { display:inline-flex; align-items:center; justify-content:center; flex:0 0 48px; width:48px; height:48px; min-height:48px; margin:0; padding:0; border:1px solid #ffffff80; border-radius:50%; background:#ffffff08; color:#fff; line-height:1; cursor:pointer; transition:background .15s,border-color .15s; }
body.platform-site .ep-review-controls button svg { display:block; width:20px; height:20px; }
body.platform-site .ep-review-controls [data-review-prev] svg { transform:rotate(180deg); }
body.platform-site .ep-review-controls button:hover:not(:disabled) { background:#9d1146; border-color:#fff; }
body.platform-site .ep-review-controls button:disabled { color:#ffffff70; border-color:#ffffff30; background:transparent; cursor:default; }
body.platform-site .ep-review-controls button:focus-visible,body.platform-site .ep-review-track:focus-visible { outline:2px solid #fff; outline-offset:4px; }
body.platform-site .ep-review-position { display:block; min-width:88px; text-align:center; color:#fff; font:500 14px/1.4 Outfit,sans-serif; font-variant-numeric:tabular-nums; }
@media(max-width:1000px) { body.platform-site .ep-review-slide { flex-basis:calc((100% - 22px)/2); } }
@media(max-width:600px) { body.platform-site .ep-review-slide { flex-basis:100%; } }
/* Match separated content bands to the header; the games strip keeps brand blue. */
body.platform-site .site-footer,
body.platform-site .reviews-section,
body.platform-site .occasions-section { background:linear-gradient(172deg, #040118 40%, #29051f 100%); }
/* Restore full section spacing around the occasion band and following events. */
body.platform-site .occasions-section { padding-block:64px; }
body.platform-site .highlights-section { padding-top:64px; }
@media(max-width:767px) {
  body.platform-site .occasions-section { padding-block:48px; }
  body.platform-site .highlights-section { padding-top:48px; }
}
body.platform-site .ep-widget .elementor-heading-title { font-family:var(--heading); color:inherit; }
/* Keep source paragraph spacing: each native text widget ends with a paragraph,
   including eyebrow labels whose bottom margin separates them from headings. */
body.platform-site .ep-widget img { display:block; }
body.platform-site .ep-widget .ep-button-label { display:contents; }
body.platform-site .ep-container { --widgets-spacing:0; }
body.platform-site .ep-form { width:100%; margin:0; color:#fff; }
body.platform-site .ep-form .elementor-field-group { padding:0; margin:0; width:auto; }
body.platform-site .ep-form .elementor-form-fields-wrapper { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin:0; }
body.platform-site .ep-form .elementor-field-label { color:#fff; font:400 13px Outfit,sans-serif; margin:0 0 8px; padding:0; }
body.platform-site .ep-form .elementor-field-group > .elementor-field { background:#ffffff08; border:1px solid #ffffff38; border-radius:7px; color:#fff; padding:12px 14px; font:400 14px Outfit,sans-serif; min-height:46px; }
body.platform-site .ep-form select option { background:#1a0e5f; color:#fff; }
body.platform-site .ep-form input::placeholder,body.platform-site .ep-form textarea::placeholder { color:#cbbfd4; opacity:1; }
body.platform-site .ep-form .elementor-field-group-message,body.platform-site .ep-form .elementor-field-group-consent,body.platform-site .ep-form .elementor-field-type-submit,body.platform-site .ep-form .elementor-field-type-honeypot { grid-column:1/-1; }
body.platform-site .ep-form .elementor-field-type-honeypot { display:none; }
body.platform-site .ep-form .elementor-field-type-acceptance .elementor-field-subgroup { width:100%; }
body.platform-site .ep-form .elementor-field-type-acceptance label { color:#dfd5ef; font:400 11px Outfit,sans-serif; }
body.platform-site .ep-form input[type=checkbox] { accent-color:#ad1143; margin-right:7px; }
body.platform-site .ep-form .elementor-button { background:var(--brand-button); border:1px solid #ffffffbd; border-radius:100px; color:#fff; font:700 14px Fusion,Outfit,sans-serif; text-transform:uppercase; padding:14px 23px; }
body.platform-site .ep-form .elementor-button:hover { border-color:#fff; box-shadow:0 5px 20px #04011830; }
body.platform-site .ep-form .elementor-message { padding:14px; border:1px solid #ffffff50; border-radius:8px; color:#fff; font:400 14px/1.6 Outfit,sans-serif; background:#1a0e5f; }
body.platform-site .ep-newsletter-form .elementor-form-fields-wrapper { grid-template-columns:1fr auto; gap:10px; align-items:start; }
body.platform-site .ep-newsletter-form .elementor-field-group-signup_email { grid-column:1; grid-row:1; }
body.platform-site .ep-newsletter-form .elementor-field-type-submit { grid-column:2; grid-row:1; }
body.platform-site .ep-newsletter-form .elementor-field-group-signup_email input { border-radius:100px; padding:14px 17px; }
body.platform-site .ep-newsletter-form .elementor-field-group-signup_consent { grid-column:1/-1; }
body.platform-site .ep-newsletter-form .elementor-button { font-size:12px; min-height:47px; white-space:nowrap; }
body.platform-site .ep-disclosure-body p { margin-top:12px; }
body.platform-site .site-header { z-index:100; }
body.platform-site.admin-bar .site-header { top:32px; }
body.platform-site .tour-frame iframe { width:100%; height:100%; border:0; }
body.platform-site .tour-close { position:absolute; right:12px; top:12px; background:#040118; border:1px solid white; color:#fff; padding:9px 14px; border-radius:30px; }
body.platform-site .site-header .navigation a.active { color:#ff92bb; }
body.platform-site .faq details[open] summary > span { transform:rotate(45deg); }
body.platform-site .elementor-widget-container .platform-legacy { padding:48px 0; }
body.platform-site .platform-legacy .elementor-widget-heading .elementor-heading-title { color:#fff; }
body.platform-site .ep-form .elementor-field-group .elementor-field-textual:focus { border-color:#bd94ff; outline:2px solid #bd94ff; }
body.platform-site .ep-widget .step-illustration { height:auto; }
body.platform-site .review figcaption { color:#fff; }
body.platform-site .ep-form .elementor-field-group input.elementor-field,body.platform-site .ep-form .elementor-field-group textarea.elementor-field,body.platform-site .ep-form .elementor-field-group select.elementor-field { background:#ffffff08; color:#fff; border:1px solid #ffffff80; }
body.platform-site .ep-form.elementor-widget-form .elementor-field-group input.elementor-field,body.platform-site .ep-form.elementor-widget-form .elementor-field-group textarea.elementor-field,body.platform-site .ep-form.elementor-widget-form .elementor-field-group select.elementor-field { background:#ffffff08; color:#fff; border:1px solid #ffffff38; }
body.platform-site .ep-form .elementor-field-group > .elementor-select-wrapper { position:relative; background:transparent; padding:0; border:0; border-radius:0; min-height:0; width:100%; }
body.platform-site .ep-form .elementor-field-group .elementor-select-wrapper select { appearance:none; width:100%; height:46px; min-height:46px; margin:0; padding:12px 42px 12px 14px; border:1px solid #ffffff38; border-radius:7px; background:#ffffff08; color:#fff; font:400 14px/20px Outfit,sans-serif; cursor:pointer; }
body.platform-site .ep-form .elementor-select-wrapper .select-caret-down-wrapper { position:absolute; top:50%; right:15px; transform:translateY(-50%); pointer-events:none; display:flex; align-items:center; color:#fff; }
body.platform-site .ep-form .elementor-select-wrapper .select-caret-down-wrapper svg { width:12px; height:12px; fill:currentColor; }
body.platform-site .ep-form .elementor-field-group-consent > label { display:none; }
body.platform-site .ep-enquiry-form .elementor-field-type-submit { justify-self:start; }
@media(max-width:767px) { body.platform-site.admin-bar .site-header { top:46px; } }
@media(max-width:450px) { body.platform-site .ep-enquiry-form .elementor-form-fields-wrapper { grid-template-columns:1fr; } }
@media(prefers-reduced-motion:reduce) { body.platform-site .hero-motion-toggle { display:none; } }
