/* ============ BALLINFIT - BXR-style overrides (white/black only) ============ */
@font-face{font-family:bebas_neue;src:url(/assets/fonts/bebasneue-regular.woff2) format("woff2");font-weight:400;font-style:normal}
@font-face{font-family:bebas_neue;src:url(/assets/fonts/bebasneue-regular.woff2) format("woff2");font-weight:700;font-style:normal}
@font-face{font-family:'Bebas Neue';src:url(/assets/fonts/bebasneue-regular.woff2) format("woff2");font-weight:400;font-style:normal}

.font-display, h1, h2, h3, h4, h5, h6 { font-family: bebas_neue, 'Bebas Neue', Impact, 'Arial Narrow', sans-serif; }
.font-body, body { font-family: 'Gotham A', 'Gotham B', 'Helvetica Neue', Arial, sans-serif; }
html, body { scroll-behavior: smooth; }

/* --- main nav --- */
header.header ul.menu li a { display: block; }
header.header ul.menu > li > a.active { color: #fff; }
header.header ul.menu > li > a.active:before { content: ''; display: inline-block; width: 0.625rem; height: 0.15rem; background: #fff; margin-right: 0.5rem; vertical-align: middle; }
header.header ul.menu li.has-submenu > a.active:before { display: none; }
header.header ul.menu li ul { list-style: none; }
@media (max-width: 1023px) {
  header.header ul.menu li ul { position: static !important; padding-left: 1rem; }
}
header.header ul.menu li ul li a { color: #cfcfcf; }
header.header ul.menu li ul li a:hover { color: #fff; }

/* --- hero --- */
.hero h1, .hero h2 { text-shadow: 0 2px 18px rgba(0,0,0,0.55); }

/* --- FAQ details/summary --- */
.faq-item { border-bottom: 1px solid #3a3a3a; padding: 1rem 0; }
.faq-item summary { cursor: pointer; list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 1rem; }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::after { content: '+'; font-family: bebas_neue, 'Bebas Neue', sans-serif; font-size: 1.6rem; color: #fff; }
.faq-item[open] summary::after { content: '-'; }
.faq-item .rich-text { padding: 0.75rem 0 0.5rem; max-width: 44rem; }

/* --- legal pages --- */
.legal-body h2 { text-transform: uppercase; font-size: 1.6rem; margin: 2rem 0 0.6rem; }
.legal-body p { margin-bottom: 1rem; }
.legal-body ul { list-style: disc; padding-left: 1.25rem; margin-bottom: 1rem; }
.legal-body li { margin-bottom: 0.35rem; }
.legal-body a { text-decoration: underline; }

/* --- forms (contact) --- */
form input, form select, form textarea { color: #000; }
form input::placeholder, form textarea::placeholder { color: #4b4b4b; }

/* --- logo sizing --- */
.site-logo { display: block; height: 3.25rem; width: auto; }
@media (min-width: 1024px) { .site-logo { height: 4rem; } }
.site-logo.footer-logo { height: 2.75rem; }
@media (min-width: 1024px) { .site-logo.footer-logo { height: 3rem; } }

/* --- splide initial load --- */
.splide { visibility: visible; }
