/* ==========================================================================
   Mobius — site look (owner's "Still Water" direction, 2026-10-22)
   A black room, lit by the visuals. Serif headings (Cormorant Garamond),
   Figtree body, one accent (ice blue). Every colour comes from --ms-* in
   functions.php; the block palette in theme.json carries the same values.
   Classes starting mbx- are set on blocks in the editor ("Additional CSS
   class(es)"), so the owner can reuse them on any page.
   ========================================================================== */

:root {
  --mbx-serif: "Cormorant Garamond", "Noto Serif JP", "Hiragino Mincho ProN", Georgia, serif;
  --mbx-sans: Figtree, "Noto Sans JP", "Hiragino Sans", system-ui, -apple-system, sans-serif;
  --mbx-ice: var(--ms-accent, #8ad8ff);
  --mbx-ice-ink: var(--ms-on-button, #04131c);
  --mbx-header-h: 70px;
}

html { scroll-behavior: smooth; }
body { background: var(--ms-ground, #000); color: var(--ms-text, #c9d2db); font-family: var(--mbx-sans); -webkit-font-smoothing: antialiased; }
.wp-site-blocks { padding: 0; overflow-x: clip; }
html, body { overflow-x: hidden; }
h1, h2, h3, h4 { text-wrap: balance; }
h1 em, h2 em { font-style: italic; font-weight: 300; color: #fff; }
/* Japanese: a heading may break at a phrase boundary (<wbr> in the content) or at
   punctuation, never inside a word like スクリーン; body text follows JIS rules. */
html[lang^="ja"] h1, html[lang^="ja"] h2, html[lang^="ja"] h3, html[lang^="ja"] .mbx-manifesto, html[lang^="ja"] .mbx-quote, html[lang^="ja"] .mbx-fest__title, html[lang^="ja"] .mbx-h1 { word-break: keep-all; overflow-wrap: anywhere; line-break: strict; }
html[lang^="ja"] p { line-break: strict; }
/* ch-based widths are measured on the Latin "0" and come out far too narrow for
   Japanese (the manifesto stacked one phrase per line): give JA text a real width. */
html[lang^="ja"] .mbx-manifesto { max-width: 48rem; font-size: clamp(22px, 2.8vw, 36px); line-height: 1.55; }
html[lang^="ja"] .mbx-quote { max-width: 46rem; font-size: clamp(20px, 2.4vw, 30px); line-height: 1.65; }
html[lang^="ja"] .mbx-lead { max-width: 34rem; }
html[lang^="ja"] h1, html[lang^="ja"] h2 { text-wrap: wrap; }  /* no max-width here: the block layout sets it */
html[lang^="ja"] .mbx-page-head h1, html[lang^="ja"] .mbx-page-cover h1 { font-size: clamp(2.2rem, 5vw, 4.4rem); line-height: 1.2; }
/* Japanese hero: the two-line title was so large the trial button fell below the fold (owner, 2026-10-22) */
html[lang^="ja"] .mbx-hero__title { font-size: clamp(38px, 5.9vw, 78px) !important; line-height: 1.16; margin-bottom: 20px !important; max-width: min(1260px, 100%) !important; }
html[lang^="ja"] .mbx-hero__logo img { width: clamp(120px, 12vw, 150px); }
html[lang^="ja"] .mbx-hero__logo { margin-bottom: 18px; }
html[lang^="ja"] .mbx-hero .mbx-lead { font-size: clamp(16px, 1.6vw, 19px); margin-bottom: 28px; max-width: 32rem; }
html[lang^="ja"] .mbx-hero { padding-top: calc(var(--mbx-header-h) + 24px) !important; }

/* ---------- helpers for blocks ---------- */
.mbx-eyebrow { font-size: 11.5px; letter-spacing: .22em; text-transform: uppercase; color: var(--mbx-ice); margin: 0 0 18px; font-weight: 500; }
.mbx-lead { font-size: clamp(18px, 2vw, 22px); color: var(--ms-text, #c9d2db); font-weight: 300; line-height: 1.6; max-width: 38rem; }
.has-text-align-center.mbx-lead { margin-left: auto; margin-right: auto; }
.mbx-serif { font-family: var(--mbx-serif) !important; font-weight: 300 !important; }
.mbx-muted { color: var(--ms-text-dim, #8d98a6); }
.mbx-section { padding-top: clamp(72px, 10vw, 140px); padding-bottom: clamp(72px, 10vw, 140px); }
.mbx-section--tight { padding-top: 0; }
.mbx-hr { border: 0; height: 1px; background: var(--ms-line); margin: 0; }
.mbx-caption { font-size: 11.5px; letter-spacing: .14em; text-transform: uppercase; color: var(--ms-text-dim, #8d98a6); }
.mbx-manifesto { font-family: var(--mbx-serif); font-size: clamp(24px, 3.2vw, 40px); line-height: 1.35; font-weight: 300; max-width: 32ch; margin: 0 auto; color: #f1f4f7; text-align: center; }
.mbx-manifesto em { color: var(--mbx-ice); }
.mbx-quote { text-align: center; font-family: var(--mbx-serif); font-style: italic; font-size: clamp(22px, 3vw, 34px); font-weight: 300; max-width: 30ch; margin: 0 auto; color: #dfe6ee; }

/* ---------- buttons ---------- */
.wp-block-button__link { transition: transform .25s, background .25s, color .25s, box-shadow .25s; white-space: nowrap; }
.wp-block-button__link:hover { transform: translateY(-1px); box-shadow: 0 10px 40px rgba(138, 216, 255, .22); }
.wp-block-button.is-style-outline .wp-block-button__link { background: transparent; color: var(--ms-heading, #e9eef3); border: 1px solid var(--ms-line-strong); }
.wp-block-button.is-style-outline .wp-block-button__link:hover { border-color: var(--mbx-ice); color: var(--mbx-ice); box-shadow: none; }
.wp-block-button.mbx-btn-text .wp-block-button__link { background: transparent; border: 0; border-bottom: 1px solid rgba(138, 216, 255, .35); border-radius: 0; padding: 6px 2px; color: var(--mbx-ice); letter-spacing: .02em; font-size: .95rem; }
.wp-block-button.mbx-btn-text .wp-block-button__link:hover { border-color: var(--mbx-ice); color: #fff; transform: none; box-shadow: none; }

/* ---------- header ---------- */
/* No backdrop-filter here: a filtered ancestor becomes the containing block of the fixed side drawer and clips it to the bar's height (seen 2026-10-22). */
.mbx-header { position: sticky; top: 0; z-index: 40; height: var(--mbx-header-h); display: flex; align-items: center; background: rgba(0, 0, 0, .78); border-bottom: 1px solid var(--ms-line); margin: 0 !important; }
/* The Visual Player page scrolls itself to the player on load (frontend_script.ts);
   a sticky header would sit on top of the category bar, so there it scrolls away as before. */
body:has(.mobius-video-player) .mbx-header { position: relative; top: auto; }
body.home .mbx-header { position: absolute; left: 0; right: 0; background: transparent; border-bottom: 0; }
body.home .mbx-header.is-solid { position: fixed; background: rgba(0, 0, 0, .78); border-bottom: 1px solid var(--ms-line); }
.mbx-header > .mbx-header__row { position: relative; width: min(1400px, 100%); margin: 0 auto; padding-left: max(20px, env(safe-area-inset-left, 0px)); padding-right: max(20px, env(safe-area-inset-right, 0px)); }
.mbx-header .wp-block-site-logo img { width: 38px !important; height: 38px; object-fit: contain; }
.mbx-header__main { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: max-content; white-space: nowrap; }
.mbx-header__main .wp-block-navigation__responsive-container, .mbx-header__main .wp-block-navigation__container { display: flex; flex-wrap: nowrap; align-items: center; }
.mbx-header__main .wp-block-navigation-item { white-space: nowrap; }
.mbx-header__main .wp-block-navigation__container { gap: 30px; align-items: center; }
.mbx-header__main .wp-block-navigation-item__content { font-size: 13.5px; letter-spacing: .02em; color: #c3cbd4; }
.mbx-header__main .wp-block-navigation-item__content:hover { color: #fff; }
.mbx-header__main .mbx-nav-trial .wp-block-navigation-item__content { background: var(--mbx-ice); color: var(--mbx-ice-ink); padding: 9px 16px; border-radius: 999px; font-weight: 500; letter-spacing: .04em; font-size: 12.5px; }
.mbx-header__main .mbx-nav-trial .wp-block-navigation-item__content:hover { background: #fff; color: var(--mbx-ice-ink); }
.mbx-header__right { gap: 14px; }
.mbx-header__lang { display: flex; border: 1px solid var(--ms-line-strong); border-radius: 999px; overflow: hidden; font-size: 11.5px; letter-spacing: .08em; }
.mbx-header__lang ul { display: flex; list-style: none; margin: 0; padding: 0; }
.mbx-header__lang li { list-style: none; margin: 0; padding: 0; }
.mbx-header__lang li a { display: block; padding: 5px 10px; color: var(--ms-text-dim); text-transform: uppercase; font-size: 0; }
.mbx-header__lang li a::after { font-size: 11.5px; letter-spacing: .08em; }
.mbx-header__lang li.lang-item-en a::after { content: "EN"; }
.mbx-header__lang li.lang-item-ja a::after { content: "JA"; }
.mbx-header__lang li.current-lang a { background: var(--ms-heading); color: #000; }
.mbx-header__lang li a:hover { color: #fff; }
.mbx-header__lang li.current-lang a:hover { color: #000; }

/* ≡ opens a side drawer (the core overlay, restyled) */
.mbx-header__more .wp-block-navigation__responsive-container-open { width: 40px; height: 40px; border: 1px solid var(--ms-line-strong); border-radius: 999px; display: grid; place-items: center; color: #e9eef3; }
.mbx-header__more .wp-block-navigation__responsive-container-open:hover { border-color: var(--mbx-ice); }
.mbx-header__more .wp-block-navigation__responsive-container-open svg { width: 20px; height: 20px; }
.mbx-header__more .wp-block-navigation__responsive-container.is-menu-open { position: fixed; inset: 0 0 0 auto; width: min(360px, 88vw); background: #05070a; border-left: 1px solid var(--ms-line); padding: 28px 34px 40px; overflow-y: auto; box-shadow: -30px 0 80px rgba(0, 0, 0, .6); }
.mbx-header__more .wp-block-navigation__responsive-container.is-menu-open::before { content: ""; position: fixed; inset: 0 min(360px, 88vw) 0 0; background: rgba(0, 0, 0, .6); z-index: -1; }
.mbx-header__more .is-menu-open .wp-block-navigation__responsive-dialog { margin: 0; }
.mbx-header__more .is-menu-open .wp-block-navigation__responsive-container-close { position: absolute; top: 18px; right: 22px; color: var(--ms-text-dim); }
.mbx-header__more .is-menu-open .wp-block-navigation__responsive-container-close:hover { color: #fff; }
.mbx-header__more .is-menu-open .wp-block-navigation__responsive-container-content { padding: 30px 0 0; }
.mbx-header__more .is-menu-open .wp-block-navigation__container { align-items: flex-start; gap: 6px; }
.mbx-header__more .is-menu-open .wp-block-navigation-item__content { font-family: var(--mbx-serif); font-size: 26px; font-weight: 300; padding: 6px 0; color: #e9eef3; }
.mbx-header__more .is-menu-open .wp-block-navigation-item__content:hover { color: var(--mbx-ice); }
.mbx-header__more .is-menu-open .mbx-nav-group .wp-block-navigation-item__content { font-family: var(--mbx-sans); font-size: 11px; letter-spacing: .22em; text-transform: uppercase; color: var(--ms-text-dim); margin-top: 22px; pointer-events: none; outline: none; }
.mbx-header__more .wp-block-navigation__responsive-container.is-menu-open, .mbx-header__more .wp-block-navigation__responsive-container.is-menu-open.has-background { background-color: #05070a !important; color: #e9eef3 !important; }
.mbx-header__more .is-menu-open .wp-block-loginout a { font-family: var(--mbx-serif); font-size: 26px; font-weight: 300; color: #e9eef3; }
html.has-modal-open { overflow: hidden; }
@media (max-width: 860px) {
  .mbx-header__main .wp-block-navigation-item:not(.mbx-nav-trial) { display: none; }
  .mbx-header__main { left: auto; right: 72px; transform: translateY(-50%); }
  .mbx-header__lang { display: none; }
}
@media (max-width: 480px) {
  .mbx-header__main .mbx-nav-trial .wp-block-navigation-item__content { padding: 8px 13px; font-size: 12px; }
  .mbx-hero { min-height: 88vh !important; padding-top: calc(var(--mbx-header-h) + 30px) !important; }
  .mbx-hero__title { font-size: clamp(40px, 11vw, 52px) !important; }
  .mbx-hero__cta { flex-direction: column; gap: 14px; }
  .mbx-strip > .mbx-clip { flex-basis: 62vw; }
  .mbx-plan { padding: 26px 22px; }
  .wp-block-details summary { font-size: 21px; }
  .mbx-header__more .wp-block-navigation__responsive-container.is-menu-open { padding: 24px 26px 40px; }
  .mbx-header__more .is-menu-open .wp-block-navigation-item__content { font-size: 23px; }
}
/* the drawer ends quietly: a contact line after the last group */
.mbx-header__more .is-menu-open .wp-block-navigation__responsive-container-content::after { content: "mobiustokyo@gmail.com · © 2026 MYTAKU Corp."; display: block; width: 100%; margin-top: 40px; padding-top: 22px; border-top: 1px solid var(--ms-line); font-size: 12px; color: #5a6572; }
.mbx-header__more .is-menu-open .wp-block-navigation__responsive-container-content { display: flex; flex-direction: column; align-items: flex-start; }

/* ---------- hero (a Cover block with a video background) ---------- */
.mbx-hero { padding-top: calc(var(--mbx-header-h) + 36px) !important; padding-bottom: 64px !important; }
.mbx-hero .wp-block-cover__background { background: radial-gradient(60% 60% at 50% 45%, rgba(0, 0, 0, .15), rgba(0, 0, 0, .78) 100%), linear-gradient(to bottom, rgba(0, 0, 0, .35), transparent 30%, transparent 70%, #000) !important; opacity: 1 !important; }
.mbx-hero .wp-block-cover__inner-container { display: grid; justify-items: center; gap: 0; }
.mbx-hero__logo { margin: 0 0 26px; filter: drop-shadow(0 10px 40px rgba(0, 0, 0, .6)); }
.mbx-hero__logo img { width: clamp(160px, 19vw, 230px); height: auto; }
.mbx-hero__title { font-size: clamp(46px, 8vw, 104px) !important; font-weight: 300; letter-spacing: -.01em; line-height: 1.05; margin: 0 0 26px !important; }
.mbx-hero .mbx-lead { margin: 0 auto 36px; text-align: center; }
.mbx-hero__cta { gap: 16px 22px; align-items: center; margin-bottom: 0; }
.mbx-nowplaying { position: static; margin: 44px 0 0; text-align: center; font-size: 11px; letter-spacing: .22em; text-transform: uppercase; color: rgba(255, 255, 255, .5); }
.mbx-hero video { filter: saturate(1.05); }

/* ---------- clips (core Video blocks) ---------- */
.mbx-clip { margin: 0; }
.mbx-clip video { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; background: #05070a; border: 1px solid var(--ms-line); border-radius: 2px; }
.mbx-clip.is-portrait video { aspect-ratio: 9 / 16; border-radius: 6px; }
.mbx-clip figcaption { display: flex; justify-content: space-between; gap: 12px; margin: 14px 0 0; text-align: left; font-size: 11.5px; letter-spacing: .14em; text-transform: uppercase; color: var(--ms-text-dim); }
.mbx-clip figcaption em { font-family: var(--mbx-serif); font-style: italic; font-size: 22px; letter-spacing: 0; text-transform: none; color: #fff; }
.mbx-works .wp-block-columns { gap: 28px; margin-bottom: 48px; }
.mbx-works .wp-block-columns:last-child { margin-bottom: 0; }

/* horizontal strip of portrait clips (a Group with flex layout) */
.mbx-strip { display: flex !important; flex-wrap: nowrap !important; gap: 14px; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 10px; scrollbar-width: none; }
.mbx-strip::-webkit-scrollbar { display: none; }
.mbx-strip > .mbx-clip { flex: 0 0 clamp(190px, 22vw, 260px); scroll-snap-align: start; }
.mbx-strip > .mbx-clip video { aspect-ratio: 9 / 16; border-radius: 6px; }
.mbx-strip-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; flex-wrap: wrap; margin-bottom: 34px; }
.mbx-meta { font-size: 11.5px; letter-spacing: .1em; color: var(--ms-text-dim); text-transform: uppercase; line-height: 1.9; }

/* ---------- steps ---------- */
.mbx-steps .wp-block-column { border-top: 1px solid var(--ms-line); padding-top: 26px; }
.mbx-steps .mbx-num { font-family: var(--mbx-serif); font-size: 30px; font-style: italic; color: var(--mbx-ice); margin: 0 0 14px; }
.mbx-steps h3 { font-size: 25px; margin: 0 0 10px; font-weight: 400; }
.mbx-steps p:not(.mbx-num) { color: var(--ms-text-dim); font-size: 15px; margin: 0; }

/* ---------- plans ([mobius_plans]) ---------- */
.mbx-plans { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; max-width: 860px; margin: 0 auto; }
.mbx-plan { border: 1px solid var(--ms-line); padding: 40px; display: flex; flex-direction: column; gap: 14px; background: rgba(7, 9, 13, .6); border-radius: 14px; }
.mbx-plan.is-featured { border-color: rgba(138, 216, 255, .55); box-shadow: 0 0 0 1px rgba(138, 216, 255, .2) inset, 0 30px 80px rgba(58, 167, 224, .08); }
.mbx-plan__label { margin: 0; font-size: 11px; letter-spacing: .22em; text-transform: uppercase; color: var(--ms-text-dim); font-family: var(--mbx-sans); font-weight: 500; }
.mbx-plan.is-featured .mbx-plan__label { color: var(--mbx-ice); }
.mbx-plan__price { margin: 0; font-size: 56px; line-height: 1; color: var(--ms-heading); font-family: var(--mbx-serif); font-weight: 300; }
.mbx-plan__price span { font-family: var(--mbx-sans); font-size: 15px; color: var(--ms-text-dim); margin-left: 6px; }
.mbx-plan__tax { margin: 0; font-size: 14px; color: var(--ms-text-dim); }
.mbx-plan__cta { margin-top: 12px; display: flex; justify-content: center; align-items: center; min-height: 48px; border: 1px solid var(--ms-line-strong); border-radius: 999px; color: var(--ms-heading) !important; text-decoration: none; font-weight: 500; font-size: 13.5px; letter-spacing: .04em; transition: .25s; }
.mbx-plan__cta:hover { border-color: var(--mbx-ice); color: var(--mbx-ice) !important; }
.mbx-plan.is-featured .mbx-plan__cta { background: var(--mbx-ice); border-color: var(--mbx-ice); color: var(--mbx-ice-ink) !important; }
.mbx-plan.is-featured .mbx-plan__cta:hover { background: #fff; border-color: #fff; }
.mbx-trial-note { font-size: 13px; color: var(--ms-text-dim); }
@media (max-width: 760px) { .mbx-plans { grid-template-columns: minmax(0, 1fr); } .mbx-plan { padding: 28px; } }

/* ---------- FAQ (Details blocks) ---------- */
.wp-block-details { border-top: 1px solid var(--ms-line); padding: 22px 0; }
.wp-block-details:last-of-type { border-bottom: 1px solid var(--ms-line); }
.wp-block-details summary { font-family: var(--mbx-serif); font-size: 24px; font-weight: 400; cursor: pointer; color: var(--ms-heading); }
.wp-block-details p { color: var(--ms-text-dim); line-height: 1.7; margin: 12px 0 0; }

/* ---------- festival band ---------- */
.mbx-fest { border-top: 1px solid var(--ms-line); border-bottom: 1px solid var(--ms-line); padding: 34px 0 !important; }
.mbx-fest .wp-block-columns { align-items: center; gap: 18px 40px; }
.mbx-fest__title { font-family: var(--mbx-serif); font-size: clamp(22px, 2.6vw, 30px); font-weight: 300; margin: 0; color: var(--ms-heading); }
.mbx-fest__title em { color: var(--mbx-ice); font-style: normal; }
.mbx-fest__sub { color: var(--ms-text-dim); font-size: 13.5px; margin: 4px 0 0; }
.mbx-fest .wp-block-buttons { justify-content: flex-end; }
@media (max-width: 781px) { .mbx-fest .wp-block-buttons { justify-content: flex-start; } }

/* ---------- inner pages (About, How to, Contact, legal) ---------- */
/* Inner pages breathe below the header. Not the Visual Player page: its player
   sizes itself to the space under the header (frontend_script.ts), and that
   boot — black, the Mobius mark, then the first clip — stays exactly as it is. */
body:not(.home):not(.page-template-page-frontpage) .wp-block-post-content.is-layout-constrained:not(:has(.mobius-video-player)) { padding-top: 48px; padding-bottom: 80px; }
.mbx-page-head { padding: 40px 0 50px; }
.mbx-page-head > .mbx-lead, .mbx-page-cover .mbx-lead { margin-left: 0 !important; }  /* a narrower lead sits under the title, not centred */
.mbx-facts .wp-block-columns { border-bottom: 1px solid var(--ms-line); padding: 14px 0; margin: 0; }
.mbx-facts .wp-block-columns:first-child { border-top: 1px solid var(--ms-line); }
.mbx-facts .wp-block-column:first-child p { color: var(--ms-text-dim); font-size: 11.5px; letter-spacing: .16em; text-transform: uppercase; }
.mbx-facts p { margin: 0; }
.entry-content a:not(.wp-block-button__link), .wp-block-post-content a:not(.wp-block-button__link):not(.mbx-plan__cta) { border-bottom: 1px solid rgba(138, 216, 255, .35); }
.wp-block-post-content a:not(.wp-block-button__link):not(.mbx-plan__cta):hover { border-color: var(--mbx-ice); }

/* page covers (About): a quiet clip behind the title */
.mbx-page-cover { padding-top: calc(var(--mbx-header-h) + 40px) !important; padding-bottom: 60px !important; }
.mbx-page-cover .wp-block-cover__background { background: linear-gradient(to bottom, rgba(0, 0, 0, .55), rgba(0, 0, 0, .35) 50%, #000) !important; opacity: 1 !important; }
.mbx-page-cover .wp-block-cover__inner-container { display: grid; justify-items: start; }
.mbx-page-cover h1 { margin-bottom: 18px; }
body:has(.mbx-page-cover) .wp-block-post-content.is-layout-constrained { padding-top: 0 !important; }
.mbx-team .wp-block-columns { gap: 48px; align-items: start; }
.mbx-team .mbx-photo img { border-radius: 4px; }
.mbx-team h2 { margin-bottom: 6px; }
.mbx-team p { color: var(--ms-text); margin-bottom: 16px; }
.mbx-team p.mbx-caption { margin-bottom: 26px; }

/* ---------- footer ---------- */
.mbx-footer, .wp-site-blocks > footer, .wp-block-template-part > .wp-block-group.alignfull:last-child { border-top: 1px solid var(--ms-line); }
footer .wp-block-group p, footer .wp-block-navigation-item__content { font-size: 13px; color: var(--ms-text-dim); }
footer p strong { font-weight: 500; font-size: 11.5px; letter-spacing: .2em; text-transform: uppercase; color: #c3cbd4; }
footer a:hover { color: #fff; }
footer .wp-block-site-logo img { width: 44px; height: auto; }
@media (max-width: 781px) {
  footer .wp-block-columns { gap: 2px !important; margin-bottom: 10px !important; }
  footer .wp-block-columns .wp-block-column { flex-basis: auto !important; }
  footer .wp-block-group.is-layout-flex { gap: 28px; }
}
.mbx-fine { font-size: 12px; color: #5a6572; border-top: 1px solid var(--ms-line); padding-top: 22px; margin-top: 30px; display: flex; justify-content: space-between; flex-wrap: wrap; gap: 10px; }

/* ---------- forms, WooCommerce, account (one dark skin) ---------- */
input[type="text"], input[type="email"], input[type="tel"], input[type="url"], input[type="password"], input[type="search"], input[type="number"], textarea, select,
.wc-block-components-text-input input, .wc-block-components-select select, .wc-block-components-textarea, .wpcf7 input:not([type="submit"]), .wpcf7 textarea {
  background: #000 !important; color: var(--ms-heading) !important; border: 1px solid var(--ms-line-strong) !important; border-radius: 8px; padding: 12px 14px; box-shadow: none !important; font: 15px var(--mbx-sans);
}
input:focus, textarea:focus, select:focus { outline: none !important; border-color: var(--mbx-ice) !important; }
::placeholder { color: var(--ms-text-dim); opacity: 1; }
input:-webkit-autofill, textarea:-webkit-autofill { -webkit-box-shadow: 0 0 0 1000px #000 inset !important; -webkit-text-fill-color: var(--ms-heading); caret-color: var(--ms-heading); }
.wpcf7 input[type="submit"], .woocommerce button.button, .woocommerce a.button, .woocommerce-button, .wc-block-components-button, button[type="submit"] { background: var(--mbx-ice) !important; color: var(--mbx-ice-ink) !important; border: 0 !important; border-radius: 999px !important; padding: 12px 24px; font-weight: 500 !important; letter-spacing: .04em; font-family: var(--mbx-sans) !important; }
.wpcf7 input[type="submit"]:hover, .woocommerce button.button:hover, .wc-block-components-button:hover { background: #fff !important; }
.woocommerce-form-login, .woocommerce-form-register, .woocommerce-MyAccount-content, .wc-block-components-sidebar, .wc-block-components-order-summary, .wc-block-components-panel, .wc-block-checkout__form fieldset, .woocommerce-checkout #payment, form.checkout .woocommerce-checkout-review-order {
  background: rgba(7, 9, 13, .65); border: 1px solid var(--ms-line); border-radius: 14px; padding: 28px; }
.woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 4px; }
.woocommerce-MyAccount-navigation ul li a { display: block; padding: 10px 0; border-bottom: 1px solid var(--ms-line); color: var(--ms-text); font-size: 14px; }
.woocommerce-MyAccount-navigation ul li.is-active a { color: var(--mbx-ice); }
table.shop_table, table.shop_table th, table.shop_table td, .wc-block-cart-items__row, .wc-block-components-order-summary-item, .wc-block-components-totals-wrapper, .wc-block-components-radio-control__option { border-color: var(--ms-line) !important; }
.woocommerce-info, .woocommerce-message, .woocommerce-error, .wc-block-components-notice-banner { background: rgba(7, 9, 13, .8) !important; border-color: var(--ms-line-strong) !important; color: var(--ms-text) !important; border-radius: 10px; }
.wc-block-components-notice-banner.is-info { border-color: rgba(138, 216, 255, .5) !important; }
:focus-visible { outline: 1.5px solid var(--mbx-ice); outline-offset: 3px; }

/* ---------- trial band under the free player (.mbx-trial-cta from the plugin) ---------- */
.mbx-trial-cta { background: radial-gradient(900px 260px at 50% 0%, rgba(138, 216, 255, .10), transparent 70%), #000 !important; border-top: 1px solid var(--ms-line) !important; }
.mbx-trial-cta h2 { font-family: var(--mbx-serif) !important; font-weight: 300 !important; color: var(--ms-heading) !important; }
.mbx-trial-cta p { color: var(--ms-text-dim) !important; }
.mbx-trial-cta a { background: var(--mbx-ice) !important; color: var(--mbx-ice-ink) !important; border-radius: 999px !important; font-weight: 500 !important; letter-spacing: .04em !important; }
.mbx-trial-cta a:hover { background: #fff !important; }

@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } .wp-block-button__link:hover { transform: none; } }
