/* Details that theme.json can't express. Colors come from the palette variables. */
:root { --mb-radius: 14px; }
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body { -webkit-font-smoothing: antialiased; }
:focus-visible { outline: 2px solid var(--wp--preset--color--gold); outline-offset: 2px; }
h1, h2 { text-wrap: balance; }

/* header */
.mb-header { position: sticky; top: 0; z-index: 50; padding-left: max(16px, 4vw) !important; padding-right: max(16px, 4vw) !important; background: rgba(11,10,8,.92); backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--wp--preset--color--line); }
.admin-bar .mb-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .mb-header { top: 46px; } }
.mb-header .mb-logo img { width: 120px; height: auto; display: block; }
@media (max-width: 600px) { .mb-header .mb-logo img { width: 92px; } .mb-header .mb-header-cta { display: none; } }
.wp-block-navigation .wp-block-navigation-item__content { color: var(--wp--preset--color--cream); }
.wp-block-navigation .wp-block-navigation-item__content:hover,
.wp-block-navigation .current-menu-item > .wp-block-navigation-item__content { color: var(--wp--preset--color--gold); }
.wp-block-navigation__responsive-container.is-menu-open { background: var(--wp--preset--color--black) !important; color: var(--wp--preset--color--cream) !important; }

/* text helpers */
.mb-eyebrow { font-family: var(--wp--preset--font-family--display); font-size: .78rem !important; font-weight: 700;
  letter-spacing: .22em; text-transform: uppercase; color: var(--wp--preset--color--gold); margin-bottom: .25rem !important; }
.mb-gold-text { background: linear-gradient(180deg,#ffd977,#e3b23c 60%,#b8892c); -webkit-background-clip: text; background-clip: text; color: transparent !important; }
.mb-lead { font-size: var(--wp--preset--font-size--large); color: var(--wp--preset--color--cream); max-width: 62ch; }
.mb-muted { color: var(--wp--preset--color--muted); }

/* hero */
.mb-hero { position: relative; overflow: hidden; }
.mb-hero::after { content: ""; position: absolute; inset: auto 0 0 0; height: 1px;
  background: linear-gradient(90deg, transparent, var(--wp--preset--color--gold-lo), transparent); }
.mb-hero .mb-hero-logo img { width: min(440px, 80vw); height: auto; filter: drop-shadow(0 10px 40px rgba(227,178,60,.25)); }

/* cards */
.mb-card { background: linear-gradient(160deg,#1d1a14,#15130f); border: 1px solid var(--wp--preset--color--line);
  border-radius: var(--mb-radius); padding: 1.5rem !important; height: 100%; transition: border-color .2s, transform .2s; }
.mb-card:hover { border-color: var(--wp--preset--color--gold-lo); }
@media (prefers-reduced-motion: no-preference) { a .mb-card:hover, .mb-card.is-link:hover { transform: translateY(-2px); } }
.mb-card h3 { margin-top: .25rem; }
.mb-card .mb-card-link a { font-weight: 700; text-decoration: none; }
.mb-card .mb-card-link a::after { content: " →"; }

/* numbered steps (a real sequence) */
.mb-steps { counter-reset: step; }
.mb-steps .mb-step { counter-increment: step; position: relative; padding-top: 3rem !important; }
.mb-steps .mb-step::before { content: counter(step, decimal-leading-zero); position: absolute; top: 1.25rem; left: 1.5rem;
  font-family: var(--wp--preset--font-family--display); font-weight: 700; color: var(--wp--preset--color--gold); letter-spacing: .1em; }

/* checklist */
ul.mb-checks { list-style: none; padding-left: 0; }
ul.mb-checks li { position: relative; padding-left: 1.6rem; margin: .45rem 0; }
ul.mb-checks li::before { content: ""; position: absolute; left: 0; top: .55em; width: .7rem; height: .7rem; border-radius: 50%;
  background: radial-gradient(circle at 35% 35%, #ffd977, #b8892c); }

/* chips (genres, cities) */
.mb-chips { display: flex; flex-wrap: wrap; gap: .5rem; list-style: none; padding: 0; }
.mb-chips li { border: 1px solid var(--wp--preset--color--line); border-radius: 999px; padding: .3rem .85rem; font-size: .9rem; color: var(--wp--preset--color--cream); }

/* CTA band */
.mb-cta { border: 1px solid var(--wp--preset--color--gold-lo); border-radius: calc(var(--mb-radius) * 1.4); }
.wp-block-button.is-style-outline > .wp-block-button__link { background: transparent; color: var(--wp--preset--color--gold); border: 1px solid var(--wp--preset--color--gold-lo); }
.wp-block-button.is-style-outline > .wp-block-button__link:hover { color: var(--wp--preset--color--gold-hi); border-color: var(--wp--preset--color--gold); }

/* FAQ */
.wp-block-details summary { cursor: pointer; font-weight: 700; font-size: 1.05rem; list-style: none; position: relative; padding-right: 2rem; }
.wp-block-details summary::-webkit-details-marker { display: none; }
.wp-block-details summary::after { content: "+"; position: absolute; right: .25rem; top: -.1rem; color: var(--wp--preset--color--gold); font-size: 1.4rem; }
.wp-block-details[open] summary::after { content: "–"; }
.wp-block-details > :not(summary) { color: var(--wp--preset--color--muted); }

/* forms (WPForms, Bookly) on dark */
.wpforms-container input, .wpforms-container textarea, .wpforms-container select {
  background: var(--wp--preset--color--panel-2) !important; color: var(--wp--preset--color--cream) !important;
  border: 1px solid var(--wp--preset--color--line) !important; border-radius: 10px !important; }
.wpforms-container label { color: var(--wp--preset--color--cream) !important; }
.wpforms-container button[type=submit] { background: var(--wp--preset--color--gold) !important; color: var(--wp--preset--color--ink) !important;
  border: 0 !important; border-radius: 999px !important; font-weight: 800 !important; text-transform: uppercase; letter-spacing: .06em; padding: .9em 1.8em !important; }

/* footer */
.mb-footer { border-top: 1px solid var(--wp--preset--color--line); }
.mb-footer a { color: var(--wp--preset--color--cream); text-decoration: none; }
.mb-footer a:hover { color: var(--wp--preset--color--gold); }
.mb-footer .mb-footer-logo img { width: 170px; height: auto; }

ul.mb-plain { list-style: none; padding-left: 0; }
ul.mb-plain li { margin: .35rem 0; }
