/* ============================================================================
   Yamaguchi Motors — Japanese Minimal Automotive (Phase 7, 4 Sept 2026)
   Global design system: tokens, typography, header, navigation, footer, buttons,
   forms, cards, states. Loads after the theme's style.css and redefines the theme's
   own CSS variables, so every template inherits the system without per-page rules.
   Scope: body.jma (preview) — becomes :root when the switch goes live.
   ============================================================================ */

body.jma{
  /* brand tokens (official) */
  --ym-red-700:#B50000; --ym-red-600:#D70000; --ym-red-500:#E51B1B;
  --ym-ink-950:#151515; --ym-charcoal-900:#242424;
  --ym-gray-700:#555555; --ym-gray-600:#737373; --ym-gray-300:#D6D4D0; --ym-gray-200:#E2E0DC;
  --ym-warm-50:#F5F3EF; --ym-white:#FFFFFF;
  --ym-success:#19733B; --ym-warning:#A65A00; --ym-error:#B50000;
  --ym-font:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo",Arial,sans-serif;
  --ym-radius:3px; --ym-rule:4px;
  --ym-space-1:8px; --ym-space-2:16px; --ym-space-3:24px; --ym-space-4:32px; --ym-space-6:48px; --ym-space-8:64px; --ym-space-10:80px; --ym-space-12:96px;
  --ym-max:1360px;

  /* the theme's own variables, remapped so untouched rules fall into the system */
  --red:var(--ym-red-600); --red-deep:var(--ym-red-700); --red-light:#FBE9E9; --red-50:#FDF3F3;
  --black:var(--ym-ink-950); --black-soft:var(--ym-charcoal-900);
  --navy:var(--ym-ink-950); --navy-deep:var(--ym-ink-950); --navy-soft:var(--ym-charcoal-900); --navy-tint:var(--ym-warm-50);
  --gray-900:var(--ym-charcoal-900); --gray-700:var(--ym-gray-700); --gray-500:var(--ym-gray-700); /* muted text = #555 so it passes AA on warm-white too */ --gray-400:#8C8C8C; --gray-300:var(--ym-gray-300); --gray-200:var(--ym-gray-200); --gray-100:var(--ym-gray-200); --gray-50:var(--ym-warm-50);
  --off-white:var(--ym-warm-50); --white:var(--ym-white);
  --amber:var(--ym-red-500); --amber-light:#FBE9E9; --green:var(--ym-success); --green-light:#E6F1EA;
  --font-display:var(--ym-font); --font-body:var(--ym-font); --font-mono:var(--ym-font); --font-jp:var(--ym-font);
  --radius-sm:2px; --radius-md:var(--ym-radius); --radius-lg:0px; --radius-pill:var(--ym-radius);
  --shadow-sm:none; --shadow-md:0 1px 2px rgba(21,21,21,.08); --shadow-lg:0 8px 24px rgba(21,21,21,.10); --shadow-3d:none; --shadow-red:none;
  --tr-fast:150ms; --tr-base:200ms;

  font-family:var(--ym-font); color:var(--ym-charcoal-900); background:var(--ym-white); font-size:16px; line-height:1.7; -webkit-font-smoothing:antialiased;
}
body.jma *{box-sizing:border-box}
body.jma h1,body.jma h2,body.jma h3,body.jma h4,body.jma h5,body.jma .display-xl,body.jma .display-l,body.jma .display-m{font-family:var(--ym-font);font-weight:700;color:var(--ym-ink-950);letter-spacing:-.02em;line-height:1.12;text-wrap:balance}
body.jma h1,body.jma .display-l{font-size:clamp(2.25rem,4.5vw,4rem);letter-spacing:-.035em;line-height:1.08}
body.jma .display-xl{font-size:clamp(2.5rem,6vw,5rem);letter-spacing:-.035em;line-height:1.06}
body.jma h2,body.jma .display-m,body.jma section .section-head .display-m{font-size:clamp(1.75rem,3vw,2.75rem);line-height:1.12;letter-spacing:-.025em}
body.jma h3{font-size:1.35rem}
body.jma h4{font-size:1.15rem}
body.jma p,body.jma li{font-size:1rem;line-height:1.7}
body.jma small,body.jma .small{font-size:.8125rem}
body.jma .entry-content a,body.jma .page-content a,body.jma .yj-prose a,body.jma section p a,body.jma .ym-docs a,body.jma .faq-item a{color:var(--ym-ink-950);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--ym-red-600)}
body.jma .entry-content a:hover,body.jma .page-content a:hover,body.jma .yj-prose a:hover,body.jma section p a:hover{color:var(--ym-red-600)}
body.jma :focus-visible{outline:2px solid var(--ym-red-600);outline-offset:2px;border-radius:2px}
body.jma .eyebrow,body.jma .ym-stock-eyebrow{font-family:var(--ym-font);font-size:.8125rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ym-red-600)!important;display:inline-flex;align-items:center;gap:10px}
body.jma .eyebrow::before{content:"";width:24px;height:3px;background:var(--ym-red-600);display:inline-block}
body.jma .container{max-width:var(--ym-max);padding:0 24px}
body.jma .section{padding:var(--ym-space-10) 0}
body.jma .section-head{margin-bottom:var(--ym-space-6);gap:24px}
body.jma .section-head p{color:var(--ym-gray-700);max-width:64ch}
body.jma .num,body.jma .price,body.jma .jpy,body.jma .spec .v,body.jma .specs-table .v,body.jma [data-price]{font-variant-numeric:tabular-nums}
@media(prefers-reduced-motion:reduce){body.jma *,body.jma *::before,body.jma *::after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}

/* skip link */
body.jma .jma-skip{position:absolute;left:8px;top:-60px;z-index:10000;background:var(--ym-ink-950);color:#fff;padding:12px 16px;border-radius:var(--ym-radius);text-decoration:none;font-weight:500}
body.jma .jma-skip:focus{top:8px}

/* ---- utility bar + header (ink black, white brand, red active link, one red CTA) ---- */
body.jma .utility-bar{background:var(--ym-ink-950);border-bottom:1px solid var(--ym-charcoal-900);color:rgba(255,255,255,.82)}
body.jma .utility-bar .item{font-family:var(--ym-font);font-size:.8125rem;letter-spacing:0;font-variant-numeric:tabular-nums}
body.jma .utility-bar select{border-color:#3a3a3a!important;border-radius:2px!important;font-family:var(--ym-font)}
body.jma .site-header{background:var(--ym-ink-950);border-bottom:1px solid var(--ym-charcoal-900);border-top:var(--ym-rule) solid var(--ym-red-600);box-shadow:none}
body.jma .site-header .brand img{background:#fff;padding:5px 9px;border-radius:2px;height:44px;width:auto}
body.jma .site-header .brand-name{color:#fff;font-family:var(--ym-font);font-weight:700;letter-spacing:0}
body.jma .site-header .brand-name em{color:var(--ym-gray-300)}
body.jma .site-header .brand-tagline{color:var(--ym-gray-300);font-family:var(--ym-font);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}
body.jma .main-nav a{font-family:var(--ym-font);font-size:.9375rem;font-weight:500;text-transform:none;letter-spacing:0;color:#fff;padding:8px 2px}
body.jma .main-nav a:hover{color:#fff}
body.jma .main-nav a::after{background:var(--ym-red-600);height:2px}
body.jma .main-nav a.active,body.jma .main-nav a[aria-current=page]{color:var(--ym-red-500)}
body.jma .main-nav .nav-caret{color:var(--ym-gray-300)}
body.jma .main-nav .dropdown{background:#fff;border:1px solid var(--ym-gray-200);border-top:3px solid var(--ym-red-600);border-radius:0;box-shadow:0 12px 32px rgba(21,21,21,.16);padding:8px 0}
body.jma .main-nav .dropdown a{color:var(--ym-charcoal-900);font-family:var(--ym-font);font-size:.9rem;font-weight:500;padding:11px 18px;min-height:44px;display:flex;align-items:center}
body.jma .main-nav .dropdown a:hover{background:var(--ym-warm-50);color:var(--ym-red-600)}
body.jma .main-nav .dropdown a.dropdown-all{border-top:1px solid var(--ym-gray-200);color:var(--ym-red-600)}
body.jma .header-cta .btn{background:var(--ym-red-600);color:#fff;border-color:var(--ym-red-600);border-radius:var(--ym-radius);font-family:var(--ym-font);font-weight:700;text-transform:none;letter-spacing:0;padding:12px 20px;min-height:44px}
body.jma .header-cta .btn:hover{background:var(--ym-red-700);border-color:var(--ym-red-700);transform:none;box-shadow:none}
body.jma .menu-toggle{background:transparent;border:1px solid #3a3a3a;color:#fff;border-radius:var(--ym-radius);width:44px;height:44px}
body.jma .menu-toggle:hover{background:var(--ym-charcoal-900)}
body.jma .mobile-nav-grouped{background:var(--ym-ink-950);color:#fff}
body.jma .mobile-nav-grouped a,body.jma .mobile-nav-grouped summary{font-family:var(--ym-font)!important;text-transform:none!important;letter-spacing:0!important;color:#fff!important;min-height:44px;display:flex;align-items:center}
body.jma .mobile-nav-grouped .m-group summary{font-size:1.15rem;font-weight:700}
body.jma .mobile-nav-grouped .m-group summary::after{color:var(--ym-red-500)}
body.jma .mobile-nav-grouped .m-group a{padding-left:16px;color:var(--ym-gray-300)!important}
body.jma .mobile-nav-grouped .m-group a:hover,body.jma .mobile-nav-grouped a.active{color:var(--ym-red-500)!important}
body.jma .mobile-nav-grouped .btn{width:100%;justify-content:center}

/* ---- buttons: one grammar ---- */
body.jma .btn{font-family:var(--ym-font);font-size:.9375rem;font-weight:700;text-transform:none;letter-spacing:0;padding:12px 22px;border-radius:var(--ym-radius);border:1px solid transparent;min-height:44px;transition:background var(--tr-base),color var(--tr-base),border-color var(--tr-base)}
body.jma .btn:hover{transform:none;box-shadow:none}
body.jma .btn-lg{padding:14px 28px;font-size:1rem}
body.jma .btn-sm{padding:9px 14px;font-size:.875rem;min-height:40px}
body.jma .btn-primary,body.jma .btn-whatsapp,body.jma .btn-line,body.jma .btn-red{background:var(--ym-red-600);color:#fff;border-color:var(--ym-red-600)}
body.jma .btn-primary:hover,body.jma .btn-whatsapp:hover,body.jma .btn-line:hover,body.jma .btn-red:hover{background:var(--ym-red-700);border-color:var(--ym-red-700);color:#fff}
body.jma .btn-outline,body.jma .btn-ghost,body.jma .btn-dark{background:transparent;color:var(--ym-ink-950);border-color:var(--ym-ink-950)}
body.jma .btn-outline:hover,body.jma .btn-ghost:hover,body.jma .btn-dark:hover{background:var(--ym-ink-950);color:#fff;border-color:var(--ym-ink-950)}
body.jma .on-dark .btn-outline,body.jma .page-head .btn-outline,body.jma .hero .btn-outline,body.jma .export-cta-card .btn-outline,body.jma .site-footer .btn-outline{color:#fff;border-color:rgba(255,255,255,.6);background:transparent}
body.jma .on-dark .btn-outline:hover,body.jma .page-head .btn-outline:hover,body.jma .hero .btn-outline:hover,body.jma .export-cta-card .btn-outline:hover{background:#fff;color:var(--ym-ink-950);border-color:#fff}
body.jma .link-btn,body.jma .link-btn-red{font-family:var(--ym-font);font-weight:500;color:var(--ym-red-600);letter-spacing:0;text-transform:none}

/* ---- page heroes (every inner page uses .page-head; the old home used .hero) ---- */
body.jma .page-head,body.jma .hero{background:var(--ym-ink-950)!important;border-bottom:0!important;border-top:0;padding:var(--ym-space-10) 0 var(--ym-space-8);position:relative;overflow:hidden}
body.jma .page-head::before,body.jma .page-head::after,body.jma .hero::before,body.jma .hero::after{display:none}
body.jma .page-head h1,body.jma .page-head .ym-stock-title,body.jma .page-head .display-l,body.jma .hero h1{color:#fff!important;max-width:18ch;margin:16px 0 0}
body.jma .page-head .ym-stock-title::after,body.jma .page-head .display-l::after{background:var(--ym-red-600);height:4px;border-radius:0}
body.jma .page-head p,body.jma .page-head .ym-stock-sub,body.jma .hero .lead{color:var(--ym-gray-300)!important;font-size:1.125rem;max-width:60ch;margin-top:20px}
body.jma .page-head .ym-chip{background:transparent;border:1px solid #3a3a3a;color:#fff;border-radius:2px;font-family:var(--ym-font);font-size:.875rem;font-weight:500;letter-spacing:0;text-transform:none;padding:8px 14px;box-shadow:none}
body.jma .page-head .ym-chip-ic{display:none}
body.jma .page-head .ym-stock-hero-stat{background:var(--ym-charcoal-900);border:1px solid #3a3a3a;border-left:4px solid var(--ym-red-600);border-radius:0;box-shadow:none;padding:20px 28px}
body.jma .page-head .ym-stock-count #ym-stock-count,body.jma .page-head .ym-stock-count > span{font-family:var(--ym-font);font-weight:700;color:#fff;text-shadow:none;font-size:2.6rem;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
body.jma .page-head .ym-stock-count-label{color:var(--ym-gray-300);font-family:var(--ym-font);font-size:.8125rem;letter-spacing:.04em;text-transform:none}
body.jma .breadcrumb,body.jma .breadcrumbs,body.jma .woocommerce-breadcrumb{font-family:var(--ym-font);font-size:.8125rem;letter-spacing:0}

/* ---- cards ---- */
body.jma .car-card,body.jma .service-card,body.jma .trust-why-card,body.jma .review-card,body.jma .sell-tier,body.jma .grade-tile,body.jma .ym-sell-info-card,body.jma .ym-svc-link-card,body.jma .contact-card,body.jma .process-step,body.jma .offering-card,body.jma .market-card,body.jma .delivered-card,body.jma .faq-item,body.jma .realbiz-card,body.jma .ym-work-card{background:#fff;border:1px solid var(--ym-gray-200);border-radius:0;box-shadow:none}
body.jma .car-card:hover,body.jma .service-card:hover,body.jma .trust-why-card:hover,body.jma .sell-tier:hover,body.jma .grade-tile:hover,body.jma .process-step:hover,body.jma .offering-card:hover,body.jma .market-card:hover{transform:none;box-shadow:var(--shadow-lg);border-color:var(--ym-gray-300)}
body.jma .service-card::before,body.jma .process-step::before{background:var(--ym-red-600);width:4px}
body.jma .service-card::after{display:none}
body.jma .grade-tile::before{background:var(--ym-red-600)}
body.jma .process-num{font-family:var(--ym-font);font-weight:700;color:var(--ym-red-600);opacity:.15}
body.jma .feature-pill{background:var(--ym-warm-50);border:1px solid var(--ym-gray-200);border-radius:2px;font-size:.9rem}
body.jma .car-card .photo img{aspect-ratio:4/3;object-fit:cover}
body.jma .car-card .name{font-family:var(--ym-font);font-weight:700;font-size:1.2rem;letter-spacing:-.01em}
body.jma .car-card .name .yr{font-weight:500;color:var(--ym-gray-700);font-size:.9rem}
body.jma .car-card .grade-line,body.jma .car-card .spec{color:var(--ym-gray-700);font-size:.875rem}
body.jma .car-card .footer{border-top:1px solid var(--ym-gray-200)}
body.jma .car-card .price .jpy{font-family:var(--ym-font);font-weight:700;font-size:1.35rem;color:var(--ym-ink-950);font-variant-numeric:tabular-nums;border:0;padding:0}
body.jma .car-card .price .alt{font-family:var(--ym-font);font-size:.8125rem;color:var(--ym-gray-600)}
body.jma .car-card .badge{font-family:var(--ym-font);font-size:.75rem;font-weight:700;letter-spacing:.02em;text-transform:none;border-radius:2px;background:#fff;color:var(--ym-ink-950);border:1px solid var(--ym-gray-200);backdrop-filter:none}
body.jma .car-card .badge-red{background:var(--ym-red-600);color:#fff;border-color:var(--ym-red-600)}
body.jma .car-card .view-btn{font-family:var(--ym-font);font-weight:700;color:var(--ym-red-600);letter-spacing:0;text-transform:none}
body.jma .car-card .save{display:none}
body.jma .car-card::after{display:none}

/* ---- forms ---- */
body.jma label,body.jma .form-field label,body.jma .filter-label{font-family:var(--ym-font);font-size:.875rem;font-weight:500;color:var(--ym-charcoal-900);letter-spacing:0;text-transform:none}
body.jma input[type=text],body.jma input[type=email],body.jma input[type=tel],body.jma input[type=number],body.jma input[type=date],body.jma input[type=url],body.jma input[type=search],body.jma select,body.jma textarea,body.jma .filter-input{background:#fff;border:1px solid var(--ym-gray-300);border-radius:var(--ym-radius);padding:12px 14px;font-family:var(--ym-font);font-size:1rem;color:var(--ym-charcoal-900);min-height:44px}
body.jma input:focus,body.jma select:focus,body.jma textarea:focus,body.jma .filter-input:focus{outline:2px solid var(--ym-red-600);outline-offset:0;border-color:var(--ym-red-600)}
body.jma input[type=checkbox],body.jma input[type=radio]{accent-color:var(--ym-red-600);width:18px;height:18px}
body.jma .contact-form,body.jma .ym-sell-form,body.jma .ym-loan-form,body.jma .filters,body.jma .filters:not(.hidden-mobile){background:#fff;border:1px solid var(--ym-gray-200);border-radius:0;box-shadow:none}
body.jma .form-error,body.jma .error,body.jma .is-invalid{color:var(--ym-error)}
body.jma .form-success,body.jma .success,body.jma .notice-success{color:var(--ym-success);border-left:4px solid var(--ym-success);background:#E6F1EA;padding:12px 16px}
body.jma .notice-warning,body.jma .warning{color:var(--ym-warning);border-left:4px solid var(--ym-warning);background:#FBF1E5;padding:12px 16px}
body.jma .notice-error{color:var(--ym-error);border-left:4px solid var(--ym-error);background:#FBE9E9;padding:12px 16px}
body.jma .privacy-note{font-size:.8125rem;color:var(--ym-gray-700)}

/* ---- dark CTA blocks, tables, pagination ---- */
body.jma .export-cta-card,body.jma .cta-banner,body.jma .ym-svc-cta,body.jma .contact-section.on-dark{background:var(--ym-ink-950);color:#fff;border:0;border-top:var(--ym-rule) solid var(--ym-red-600);border-radius:0;box-shadow:none}
body.jma .export-cta-card::before{display:none}
body.jma .export-cta-card h2,body.jma .export-cta-card h3{color:#fff}
body.jma .export-cta-card p{color:var(--ym-gray-300)}
body.jma .specs-table{border:1px solid var(--ym-gray-200);border-radius:0}
body.jma .specs-table .row{border-bottom:1px solid var(--ym-gray-200)}
body.jma .specs-table .row .l{font-family:var(--ym-font);font-size:.8125rem;font-weight:500;letter-spacing:0;text-transform:none;color:var(--ym-gray-700)}
body.jma .specs-table .row .v{font-weight:700;color:var(--ym-ink-950);font-variant-numeric:tabular-nums}
body.jma .detail-block h2::before{border-radius:0;background:var(--ym-red-600)}
body.jma table{border-collapse:collapse;width:100%}
body.jma th,body.jma td{border-bottom:1px solid var(--ym-gray-200);padding:12px 14px;text-align:left}
body.jma th{font-weight:700;background:var(--ym-warm-50)}
body.jma .pagination a,body.jma .page-numbers{border:1px solid var(--ym-gray-200);border-radius:var(--ym-radius);padding:10px 14px;min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;color:var(--ym-ink-950)}
body.jma .page-numbers.current{background:var(--ym-red-600);color:#fff;border-color:var(--ym-red-600)}

/* ---- footer ---- */
body.jma .site-footer{background:var(--ym-ink-950);color:rgba(255,255,255,.78);border-top:var(--ym-rule) solid var(--ym-red-600)}
body.jma .site-footer h4,body.jma .site-footer h3,body.jma .site-footer .footer-title{color:#fff;font-family:var(--ym-font);font-weight:700;letter-spacing:0;text-transform:none;font-size:1rem}
body.jma .site-footer a{color:rgba(255,255,255,.78)}
body.jma .site-footer a:hover{color:#fff}
body.jma .site-footer .brand-logo-dark{border-radius:2px}
body.jma .site-footer .footer-bottom,body.jma .site-footer .copyright{border-top:1px solid var(--ym-charcoal-900);color:var(--ym-gray-600);font-size:.8125rem}

/* ---- WooCommerce bits that show on vehicle pages ---- */
body.jma .woocommerce .price,body.jma .woocommerce-Price-amount{font-family:var(--ym-font);font-weight:700;color:var(--ym-ink-950);font-variant-numeric:tabular-nums}
body.jma .woocommerce .onsale,body.jma .woocommerce span.onsale{background:var(--ym-red-600);border-radius:2px;font-family:var(--ym-font);font-weight:700;min-height:auto;line-height:1.4;padding:4px 10px}
body.jma .woocommerce a.button,body.jma .woocommerce button.button{border-radius:var(--ym-radius);background:var(--ym-red-600);color:#fff;font-family:var(--ym-font);font-weight:700}
body.jma .woocommerce a.button:hover,body.jma .woocommerce button.button:hover{background:var(--ym-red-700);color:#fff}
body.jma .woocommerce-message,body.jma .woocommerce-info{border-top-color:var(--ym-ink-950);border-radius:0}
body.jma .woocommerce-error{border-top-color:var(--ym-error)}

/* ---- misc remnants of the old themes ---- */
body.jma .hero h1 .accent{color:var(--ym-red-500);font-style:normal}
body.jma .trust-band{background:var(--ym-warm-50);border-top:1px solid var(--ym-gray-200);border-bottom:1px solid var(--ym-gray-200)}
body.jma .trust-item svg{color:var(--ym-red-600)}
body.jma img{border-radius:0}
body.jma .ym-work-card,body.jma .ym-work-media img{border-radius:0}

/* ---- geometry remnants: footer social circles, logos, tours-plugin widgets ---- */
body.jma .site-footer .ftb-ico,body.jma .site-footer .util-soc,body.jma .site-footer a[class*=soc],body.jma .site-footer .brand-logo,body.jma .brand-logo,body.jma .brand-logo-dark{border-radius:2px!important}
body.jma .ymt-gallery,body.jma .ymt-book-card,body.jma .ymt-lightbox,body.jma .ymt-lightbox img,body.jma [class*=ymt-] figure,body.jma .ym-branch-opt,body.jma .ym-share-btn,body.jma .ycs-btn,body.jma .ym-gtab,body.jma .ym-av,body.jma .nav-btn,body.jma .badge{border-radius:2px}
body.jma .ymt-gallery,body.jma .ymt-book-card{border-radius:0}
body.jma .ym-branch-arrow{color:var(--ym-red-600)}
body.jma .utility-bar select{color:#fff}

/* ---- loan wizard + any template-local form styling: one control geometry, one red ---- */
body.jma input:not([type=checkbox]):not([type=radio]):not([type=range]),body.jma select,body.jma textarea,body.jma button:not(.menu-toggle){border-radius:var(--ym-radius)!important}
body.jma .ll-req,body.jma .required,body.jma .req{color:var(--ym-red-600)}
body.jma .ym-share-btn,body.jma .ym-share-grid .ym-share-btn,body.jma .ym-chip,body.jma .ym-stock-hero-stat{border-radius:2px}
body.jma [class*="ll-"][class*="btn"],body.jma .ll-submit,body.jma .ll-next{background:var(--ym-red-600);color:#fff;border-radius:var(--ym-radius)}
body.jma [class*="ll-"][class*="btn"]:hover,body.jma .ll-submit:hover,body.jma .ll-next:hover{background:var(--ym-red-700)}

/* ---- tours plugin (ym-tours) booking / request / landing screens: its own variables remapped ---- */
body.jma,body.jma .ymt-main,body.jma [class*="ymt-"]{--ymt-forest:var(--ym-ink-950);--ymt-forest-2:var(--ym-charcoal-900);--ymt-forest-3:#2e2e2e;--ymt-gold:var(--ym-red-600);--ymt-gold-dark:var(--ym-red-700);--ymt-ink:var(--ym-ink-950);--ymt-muted:var(--ym-gray-700);--ymt-line:var(--ym-gray-200);--ymt-cream:var(--ym-warm-50);--ymt-sand:var(--ym-warm-50);--ymt-white:#fff;--ymt-danger:var(--ym-error);--ymt-radius:0px;--ymt-shadow:none;--ymt-display:var(--ym-font);--ymt-font:var(--ym-font)}
body.jma [class*="ymt-"]{font-family:var(--ym-font)}
body.jma .ymt-main h1,body.jma .ymt-main h2,body.jma .ymt-main h3{font-family:var(--ym-font);font-weight:700;letter-spacing:-.02em}
body.jma .ymt-kicker,body.jma .ymt-eyebrow{color:var(--ym-red-600)!important;letter-spacing:.12em}
body.jma .ymt-btn{border-radius:var(--ym-radius)!important;font-family:var(--ym-font);font-weight:700;box-shadow:none}
body.jma .ymt-btn-gold{background:var(--ym-red-600);color:#fff;box-shadow:none}
body.jma .ymt-btn-gold:hover{background:var(--ym-red-700)}
body.jma .ymt-btn-ghost{border:1px solid var(--ym-ink-950);color:var(--ym-ink-950);background:transparent}
body.jma .ymt-book-step,body.jma .ymt-calendar,body.jma .ymt-order-summary,body.jma .ymt-selection-panel,body.jma .ymt-variant-option,body.jma .ymt-payment-trust,body.jma .ymt-form-alert,body.jma .ymt-review,body.jma .ymt-days button,body.jma .ymt-slot-buttons button,body.jma .ymt-traveller-picker,body.jma .ymt-card,body.jma .ymt-card-media{border-radius:0!important;box-shadow:none}
body.jma .ymt-progress li{color:var(--ym-gray-700);border-bottom-color:var(--ym-gray-200)}
body.jma .ymt-progress li.is-active{color:var(--ym-ink-950);border-bottom-color:var(--ym-red-600)}
body.jma .ymt-progress li b,body.jma .ymt-step-heading b,body.jma .ymt-step-heading > span:first-child{border-radius:2px!important;background:var(--ym-ink-950);color:#fff}
body.jma .ymt-progress li.is-active b{background:var(--ym-red-600)}
body.jma .ymt-progress li span{background:transparent;color:inherit}
body.jma .ymt-main a{color:var(--ym-ink-950);text-decoration-color:var(--ym-red-600)}
body.jma .ymt-main :is(a,button,input,select,textarea,summary):focus-visible{outline:2px solid var(--ym-red-600);outline-offset:2px}
body.jma .ymt-days button.is-selected,body.jma .ymt-slot-buttons button.is-selected,body.jma .ymt-variant-option.is-selected{background:var(--ym-red-600);color:#fff;border-color:var(--ym-red-600)}
body.jma .ymt-booking-head{background:var(--ym-warm-50);border-bottom:1px solid var(--ym-gray-200)}
body.jma .ymt-catalog-hero,body.jma .ymt-request-hero,body.jma .ymt-landing-hero,body.jma .ymt-experience-showcase,body.jma .ymt-final-cta{background:var(--ym-ink-950)!important;border-top:4px solid var(--ym-red-600)}
body.jma .ymt-catalog-hero::after,body.jma .ymt-catalog-hero-v15::before,body.jma .ymt-card-media::after{display:none}
body.jma .ymt-hero-content h1 em,body.jma .ymt-request-hero h1 span,body.jma .ymt-landing-hero h1 span,body.jma .ymt-catalog-proof strong,body.jma .ymt-idea-note strong,body.jma .ymt-showcase-heading .ymt-kicker,body.jma .ymt-showcase-footer .ymt-comfort-points strong{color:var(--ym-red-500)}
body.jma .ymt-escape-collection,body.jma .ymt-review-page,body.jma .ymt-anywhere-card{background:var(--ym-warm-50)}

/* plugin screens, polish 2: literal text colour, hero headline white, remaining radii */
body.jma .ymt-main,body.jma .ymt-main p,body.jma .ymt-main li,body.jma .ymt-main label,body.jma .ymt-main td{color:var(--ym-charcoal-900)}
body.jma .ymt-request-hero h1,body.jma .ymt-landing-hero h1,body.jma .ymt-hero-content h1,body.jma .ymt-final-cta h2,body.jma .ymt-experience-showcase h2,body.jma .ymt-request-hero p,body.jma .ymt-landing-hero p,body.jma .ymt-final-cta p{color:#fff}
body.jma .ymt-request-hero h1 span,body.jma .ymt-landing-hero h1 span,body.jma .ymt-hero-content h1 em{color:var(--ym-red-500)}
body.jma [class*="ymt-"][class*="card"],body.jma .ymt-terms,body.jma .ymt-day,body.jma .ymt-progress b,body.jma .ymt-step-heading b,body.jma .ymt-summary-price,body.jma .ymt-availability-help{border-radius:0!important}
body.jma .ymt-day{border-radius:2px!important}

/* cookie-consent banner (GDPR plugin sets its colours inline) */
body.jma #gdpr-cookie-consent-bar{background:var(--ym-ink-950)!important;color:#fff!important;font-family:var(--ym-font)!important;border-top:4px solid var(--ym-red-600)!important;border-radius:0!important}
body.jma #gdpr-cookie-consent-bar p,body.jma #gdpr-cookie-consent-bar span,body.jma #gdpr-cookie-consent-bar a{color:#fff!important;font-family:var(--ym-font)!important}
body.jma .gdpr_action_button,body.jma #gdpr-cookie-consent-bar button{border-radius:var(--ym-radius)!important;font-family:var(--ym-font)!important;font-weight:700!important}
body.jma .gdpr_action_button.gdpr_accept,body.jma #cookie_action_accept{background:var(--ym-red-600)!important;color:#fff!important}
body.jma .gdprmodal .gdprmodal-content{border-radius:0!important;font-family:var(--ym-font)!important;color:var(--ym-charcoal-900)!important}

/* layout-shift guards: reserve space for gallery images that carry no width/height */
body.jma .main-photo img,body.jma .thumb img,body.jma .ym-gpanel img{aspect-ratio:4/3;width:100%;height:auto;object-fit:cover;background:var(--ym-warm-50)}
body.jma .thumb{border-radius:2px;overflow:hidden}
body.jma .yj-img img,body.jma .yj-workcard img,body.jma .yj-placecard img{background:var(--ym-warm-50)}
body.jma .privacy-note{font-size:.8125rem;color:var(--ym-gray-700);margin:12px 0 0}
body.jma .privacy-note a{color:var(--ym-red-600)}

/* ---- Phase 1 defect fixes (5 Sept 2026): button/link foreground on every surface, mobile chrome ---- */
/* primary = red/white everywhere; secondary on dark = white text + visible light border; secondary on light = ink text + ink border */
body.jma .yj-btn-gold,body.jma .btn-primary,body.jma .btn-whatsapp,body.jma .btn-line,body.jma .btn-red,body.jma .ymt-btn-gold,body.jma .yj-dnav-book,body.jma .header-cta .btn{color:#fff!important}
body.jma .yj-btn-gold:hover,body.jma .btn-primary:hover,body.jma .btn-whatsapp:hover,body.jma .btn-line:hover,body.jma .btn-red:hover,body.jma .ymt-btn-gold:hover{color:#fff!important;background:var(--ym-red-700)!important}
body.jma .yj-hero .yj-btn-line,body.jma .yj-sig .yj-btn-line,body.jma .yj-dcta .yj-btn-line,body.jma .yj-hsig .yj-btn-line,body.jma .page-head .btn-outline,body.jma .hero .btn-outline,body.jma .export-cta-card .btn-outline,body.jma .ymt-final-cta .ymt-btn-ghost,body.jma .ymt-request-hero .ymt-btn-ghost{color:#fff!important;border-color:rgba(255,255,255,.75)!important;background:transparent}
body.jma .yj-hero .yj-btn-line:hover,body.jma .yj-sig .yj-btn-line:hover,body.jma .yj-dcta .yj-btn-line:hover,body.jma .page-head .btn-outline:hover,body.jma .hero .btn-outline:hover,body.jma .export-cta-card .btn-outline:hover{background:#fff!important;color:var(--ym-ink-950)!important;border-color:#fff!important}
body.jma .yj-book .yj-btn-line,body.jma .yj-col .yj-btn-line,body.jma section .btn-outline,body.jma .ymt-btn-ghost{color:var(--ym-ink-950);border-color:var(--ym-ink-950);background:transparent}
body.jma .yj-btn-dark,body.jma .btn-dark{color:#fff!important}
body.jma .yj-textlink,body.jma .yj-go,body.jma .link-btn,body.jma .view-btn{color:var(--ym-red-600)}
body.jma .yj-tile,body.jma .yj-tile *,body.jma .yj-sig a,body.jma .yj-hero a,body.jma .yj-dcta a,body.jma .yj-season a,body.jma .yj-pillars a,body.jma .yj-hsig a{color:#fff}
body.jma .yj-tile .yj-go,body.jma .yj-hsig .yj-textlink{color:var(--ym-red-500)}
body.jma .yj-card,body.jma .yj-card *{color:inherit}
body.jma .yj-card h3{color:var(--ym-ink-950)}
body.jma .yj-sig .yj-card,body.jma .yj-sig .yj-card h3{color:#fff}
body.jma .yj-chat a,body.jma .yj-info a{color:var(--ym-ink-950)}
body.jma .yj-chat a:first-child b{color:var(--ym-red-600)}
body.jma [disabled],body.jma .btn[disabled],body.jma .btn.is-disabled,body.jma button:disabled{opacity:.6;cursor:not-allowed}
body.jma .btn-primary:disabled,body.jma .yj-btn-gold:disabled,body.jma .ymt-btn-gold:disabled{color:#fff;background:var(--ym-gray-700);border-color:var(--ym-gray-700);opacity:1}
body.jma .ymt-day:disabled,body.jma .ymt-calendar-head button:disabled,body.jma .ymt-slot-buttons button:disabled{color:var(--ym-gray-700)!important;background:var(--ym-warm-50)!important;opacity:1;text-decoration:line-through}
body.jma .ymt-calendar-head button{color:var(--ym-ink-950);background:#fff;border:1px solid var(--ym-gray-300)}
body.jma .ymt-day{color:var(--ym-ink-950)}
body.jma .ymt-weekdays span,body.jma .ymt-weekdays{font-size:12px!important;color:var(--ym-gray-700)!important;letter-spacing:.04em}
body.jma .btn-outline[disabled],body.jma .btn-outline:disabled{color:var(--ym-gray-700);border-color:var(--ym-gray-300);opacity:1}
body.jma a:focus-visible,body.jma button:focus-visible{outline:2px solid var(--ym-red-600);outline-offset:3px}
/* mobile chrome: no empty utility band, contact bar 60px with matching page padding, all four icons in brand red */
@media(max-width:767px){body.jma .utility-bar{display:none}body.jma .ym-mobile-bar{height:60px;min-height:60px}body.jma{padding-bottom:calc(64px + env(safe-area-inset-bottom,0px))!important}body.jma .ym-mobile-bar .ymb,body.jma .ym-mobile-bar .ymb svg,body.jma .ym-mobile-bar .ymb.messenger,body.jma .ym-mobile-bar .ymb.line,body.jma .ym-mobile-bar .ymb.whatsapp{color:var(--ym-red-600)!important;fill:currentColor}body.jma .ym-mobile-bar .ymb{font-weight:700;font-size:.8125rem;min-height:60px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border-right:1px solid var(--ym-gray-200)}body.jma .ym-mobile-bar .ymb:last-child{border-right:0}body.jma .yj-mbook{bottom:60px}body.jma .yj-hero-grid{padding-top:56px}}
/* cookie-settings floating link: readable on any background */
body.jma .gdpr_cookie_settings_shortcode,body.jma #gdpr-cookie-consent-bar-settings,body.jma .gdpr-cookie-settings-btn,body.jma [class*=cookie_settings_link],body.jma .wpl-cookie-settings-btn,body.jma #wpl-cookie-settings{color:#fff!important;background:var(--ym-ink-950)!important;border:1px solid rgba(255,255,255,.35)!important;padding:6px 10px!important;border-radius:2px!important;font-size:.75rem!important;text-decoration:none!important;opacity:1!important}
body.jma #gdpr-cookie-consent-show-again,body.jma #gdpr-cookie-consent-show-again span{color:#fff!important;background:var(--ym-ink-950)!important;border:1px solid rgba(255,255,255,.35)!important;padding:6px 10px!important;border-radius:2px!important;font-size:.75rem!important;font-family:var(--ym-font)!important;opacity:1!important;text-decoration:none!important}
@media(max-width:767px){body.jma #gdpr-cookie-consent-show-again{bottom:70px!important}}

/* ---- WCAG AA contrast on dark surfaces (5 Sept 2026): small red text on ink is only ~3.4:1, so kickers/labels go white and keep the red bar ---- */
body.jma .yj-hero .yj-k,body.jma .yj-sig .yj-k,body.jma .yj-hsig .yj-k,body.jma .yj-dcta .yj-k,body.jma .yj-tile .yj-k,body.jma .yj-pillars .yj-k,body.jma .yj-reality .yj-k,body.jma .page-head .eyebrow,body.jma .page-head .ym-stock-eyebrow,body.jma .hero .eyebrow,body.jma .export-cta-card .eyebrow,body.jma .ymt-request-hero .ymt-kicker,body.jma .ymt-landing-hero .ymt-kicker,body.jma .ymt-final-cta .ymt-kicker,body.jma .ymt-experience-showcase .ymt-kicker{color:#fff!important}
body.jma .yj-season .yj-lbl,body.jma .yj-hseason .yj-lbl{color:#fff}
body.jma .yj-tile .yj-go,body.jma .yj-hsig .yj-textlink,body.jma .yj-sig .yj-textlink,body.jma .yj-dcta .yj-textlink{color:#fff;text-decoration:underline;text-decoration-color:var(--ym-red-500);text-underline-offset:4px}
body.jma .main-nav a.active,body.jma .main-nav a[aria-current=page]{color:#fff;box-shadow:inset 0 -2px 0 var(--ym-red-600)}
body.jma .mobile-nav-grouped a.active{color:#fff!important;box-shadow:inset 0 -2px 0 var(--ym-red-600)}
body.jma .site-footer,body.jma .site-footer p,body.jma .site-footer li,body.jma .site-footer span{color:rgba(255,255,255,.82)}
body.jma .site-footer .footer-bottom,body.jma .site-footer .copyright,body.jma .site-footer small,body.jma .site-footer .footer-note{color:#B8B8B8}
body.jma .yj-tag{color:var(--ym-ink-950)!important;background:#fff!important;border-color:var(--ym-gray-200)!important}
body.jma .yj-sig .yj-place,body.jma .yj-sig .yj-dur,body.jma .yj-hsig-lede,body.jma .yj-pillars p:not(.yj-k),body.jma .yj-tile p:not(.yj-k),body.jma .yj-lede,body.jma .yj-siglist p,body.jma .yj-dcta p:not(.yj-k),body.jma .page-head p,body.jma .page-head .ym-stock-sub{color:#D6D4D0!important}
body.jma .yj-hero .yj-vert small,body.jma .yj-season a small,body.jma .yj-pr small{color:#D6D4D0}
body.jma .page-head .ym-stock-count-label{color:#D6D4D0}

/* ---- contrast pass 2 (5 Sept 2026) ---- */
body.jma .btn-dark,body.jma .yj-btn-dark{background:var(--ym-ink-950)!important;color:#fff!important;border-color:var(--ym-ink-950)!important}
body.jma .btn-dark:hover,body.jma .yj-btn-dark:hover{background:var(--ym-charcoal-900)!important}
body.jma .car-card .view-btn{background:var(--ym-ink-950);color:#fff!important;padding:10px 14px;border-radius:var(--ym-radius);display:inline-flex;align-items:center;gap:6px;min-height:40px}
body.jma .car-card .view-btn:hover{background:var(--ym-red-600)}
body.jma .ym-gtab.active{color:#fff!important}
body.jma .ym-thumb-more-ov,body.jma .thumb-more,body.jma .ym-more-overlay{background:rgba(21,21,21,.72)!important;color:#fff!important}
body.jma .ym-docs-note,body.jma .ym-docs-hint,body.jma .ym-docs-sub,body.jma .ym-bc-sep,body.jma .breadcrumb .sep,body.jma .ym-price-note,body.jma .privacy-note,body.jma .yj-secure,body.jma .yj-note,body.jma .yj-sub{color:var(--ym-gray-700)!important}
body.jma .yj-muted,body.jma .yj-place,body.jma .yj-dur,body.jma .yj-meta,body.jma .yj-keyfacts small,body.jma .yj-keyfacts span,body.jma .yj-timeline p,body.jma .yj-faq p,body.jma .yj-practical p,body.jma .yj-std p,body.jma .yj-con p,body.jma .yj-variants p,body.jma .yj-fit li,body.jma .yj-info small,body.jma .yj-chat small,body.jma .yj-form .yj-secure{color:var(--ym-gray-700)}

/* ---- Phase 2 rhythm (5 Sept 2026): hero ink → white → warm → one ink CTA → ink footer. Dark helper bands become light. ---- */
body.jma .yj-reality,body.jma .yj-reality p{color:#fff}
body.jma .yj-reality p:not(.yj-k){color:#D6D4D0!important}
body.jma .yj-pillars{background:var(--ym-warm-50);border-top:1px solid var(--ym-gray-200);border-bottom:1px solid var(--ym-gray-200)}
body.jma .yj-pillars .yj-wrap>div{border-right-color:var(--ym-gray-200)}
body.jma .yj-pillars .yj-k{color:var(--ym-red-600)!important}
body.jma .yj-pillars p:not(.yj-k){color:var(--ym-charcoal-900)!important}
body.jma .yj-pillars p a,body.jma .yj-hhero .yj-pillars p a{color:var(--ym-ink-950)!important;text-decoration:underline;text-decoration-color:var(--ym-red-600)}
@media(max-width:900px){body.jma .yj-pillars .yj-wrap>div{border-bottom-color:var(--ym-gray-200)}}
body.jma .yj-search{background:var(--ym-warm-50);border-bottom:1px solid var(--ym-gray-200);color:var(--ym-charcoal-900)}
body.jma .yj-search .yj-lbl{color:var(--ym-ink-950)}
body.jma .yj-search label span{color:var(--ym-gray-700)}
body.jma .yj-season{background:#fff;color:var(--ym-charcoal-900);border-bottom:1px solid var(--ym-gray-200)}
body.jma .yj-season .yj-lbl,body.jma .yj-hseason .yj-lbl{color:var(--ym-red-600)}
body.jma .yj-season a,body.jma .yj-season a b{color:var(--ym-ink-950)}
body.jma .yj-season a small{color:var(--ym-gray-700)}
body.jma .yj-sep{background:var(--ym-gray-200)}
body.jma .yj-hsig .yj-hseason{background:transparent;border-color:#3a3a3a}
body.jma .yj-hsig .yj-hseason a,body.jma .yj-hsig .yj-hseason a b{color:#fff}
body.jma .yj-hsig .yj-hseason .yj-lbl{color:#fff}
body.jma .yj-hsig .yj-hseason a small{color:#D6D4D0}
body.jma .yj-col .yj-tiles .yj-tile,body.jma .yj-doors .yj-tile{background:#fff;color:var(--ym-charcoal-900);border:1px solid var(--ym-gray-200);border-top:4px solid var(--ym-red-600)}
body.jma .yj-col .yj-tile:hover,body.jma .yj-doors .yj-tile:hover{background:var(--ym-warm-50);border-color:var(--ym-gray-300);border-top-color:var(--ym-red-600)}
body.jma .yj-col .yj-tile h3,body.jma .yj-doors .yj-tile h3,body.jma .yj-col .yj-tile *,body.jma .yj-doors .yj-tile *{color:var(--ym-ink-950)}
body.jma .yj-col .yj-tile p:not(.yj-k),body.jma .yj-doors .yj-tile p:not(.yj-k){color:var(--ym-gray-700)!important}
body.jma .yj-col .yj-tile .yj-k,body.jma .yj-doors .yj-tile .yj-k{color:var(--ym-red-600)!important}
body.jma .yj-col .yj-tile .yj-go,body.jma .yj-doors .yj-tile .yj-go{color:var(--ym-red-600)!important;text-decoration:none}
body.jma .yj-hsig .yj-tiles .yj-tile{background:var(--ym-charcoal-900);border-color:#3a3a3a}
body.jma .yj-hsig .yj-tile *{color:#fff}
/* readable measure for running text */
body.jma .yj-prose p,body.jma .entry-content p,body.jma .page-content p,body.jma .yj-lede,body.jma .yj-hsig-lede,body.jma .yj-pitch,body.jma section .section-head p,body.jma .ym-wb-copy p,body.jma .service-card p,body.jma .trust-why-card p{max-width:68ch}

/* ---- dark CTA tiles inside .yj-hsig/.yj-sig keep white text (About 'Who we help'); crossed-out prices removed site-wide ---- */
body.jma .yj-hsig .yj-doors .yj-tile,body.jma .yj-sig .yj-tiles .yj-tile{background:var(--ym-charcoal-900)!important;border-color:#3a3a3a!important;border-top-color:var(--ym-red-600)!important}
body.jma .yj-hsig .yj-doors .yj-tile *,body.jma .yj-sig .yj-tiles .yj-tile *,body.jma .yj-hsig .yj-doors .yj-tile h3{color:#fff!important}
body.jma .yj-hsig .yj-doors .yj-tile p:not(.yj-k),body.jma .yj-sig .yj-tiles .yj-tile p:not(.yj-k){color:#D6D4D0!important}
body.jma .yj-hsig .yj-doors .yj-tile .yj-go,body.jma .yj-sig .yj-tile .yj-go{text-decoration:underline;text-decoration-color:var(--ym-red-500)}
body.jma .yj-hsig .yj-meta,body.jma .yj-sig .yj-meta,body.jma .yj-sig .yj-meta a,body.jma .yj-hsig .yj-meta a{color:#D6D4D0!important}
body.jma .yj-ticket s,body.jma .yj-bigprice s,body.jma .yj-save,body.jma .yj-mbook s,body.jma .ymt-summary-price del,body.jma .ymt-main del,body.jma .yj-pr s{display:none!important}

/* ---- Phase 5 vehicle cards (5 Sept 2026): 3:2 image, availability label, red price, black View Details ---- */
body.jma .car-card{border:1px solid var(--ym-gray-200);border-radius:0;box-shadow:none;background:#fff}
body.jma .car-card:hover{box-shadow:none;border-color:var(--ym-gray-300)}
body.jma .car-card .photo{aspect-ratio:3/2;overflow:hidden;background:var(--ym-warm-50)}
body.jma .car-card .photo img{aspect-ratio:3/2!important;height:100%;object-fit:cover}
body.jma .car-card .badges{top:10px;left:10px;gap:6px}
body.jma .car-card .badge{border-radius:2px;font-size:.75rem;font-weight:700;padding:4px 8px;background:#fff;color:var(--ym-ink-950);border:1px solid var(--ym-gray-200)}
body.jma .car-card .badge-avail{background:var(--ym-red-600);color:#fff;border-color:var(--ym-red-600)}
body.jma .car-card .badge-sold{background:var(--ym-ink-950);color:#fff;border-color:var(--ym-ink-950)}
body.jma .car-card .badge-reserved{background:var(--ym-warning);color:#fff;border-color:var(--ym-warning)}
body.jma .car-card .badge-red,body.jma .car-card .badge-grade{display:none}
body.jma .car-card .body{padding:16px 16px 14px}
body.jma .car-card .name{font-size:1.125rem;line-height:1.25}
body.jma .car-card .grade-line{color:var(--ym-gray-700);font-size:.875rem;margin-top:2px}
body.jma .car-card .car-specs{display:grid;grid-template-columns:1fr 1fr;gap:6px 12px;margin:12px 0;padding:10px 0;border-top:1px solid var(--ym-gray-200);border-bottom:1px solid var(--ym-gray-200)}
body.jma .car-card .spec{font-size:.875rem;color:var(--ym-charcoal-900);display:flex;align-items:center;gap:6px}
body.jma .car-card .spec svg{width:14px;height:14px;color:var(--ym-gray-700);flex:none}
body.jma .car-card .spec:empty,body.jma .car-card .spec .v:empty{display:none}
body.jma .car-card .footer{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:0;padding-top:0}
body.jma .car-card .price .jpy{color:var(--ym-red-600)!important;font-size:1.35rem;font-weight:700}
body.jma .car-card .price .alt{display:none}
body.jma .car-card .view-btn{background:var(--ym-ink-950);color:#fff!important;font-weight:700;font-size:.875rem;padding:10px 14px;min-height:40px}
body.jma .car-card .view-btn:hover{background:var(--ym-red-600)}

/* ---- Phase 3 purpose collections: chips + section ---- */
body.jma .ym-purpose-nav{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 32px}
body.jma .ym-purpose-chip{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:8px 14px;border:1px solid var(--ym-gray-300);border-radius:var(--ym-radius);background:#fff;color:var(--ym-ink-950);font-weight:500;font-size:.9375rem;text-decoration:none}
body.jma .ym-purpose-chip span{font-size:.75rem;color:var(--ym-gray-700);font-variant-numeric:tabular-nums}
body.jma .ym-purpose-chip:hover,body.jma .ym-purpose-chip.is-current{border-color:var(--ym-ink-950);background:var(--ym-ink-950);color:#fff}
body.jma .ym-purpose-chip:hover span,body.jma .ym-purpose-chip.is-current span{color:#D6D4D0}
body.jma .ym-purpose-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px}
body.jma .ym-sold-grid .car-card{opacity:.85}
body.jma .ym-purpose-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
@media(max-width:1000px){body.jma .ym-purpose-tiles{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){body.jma .ym-purpose-tiles{grid-template-columns:1fr 1fr;gap:10px}}
body.jma .ym-purpose-tile{display:flex;flex-direction:column;justify-content:space-between;gap:10px;min-height:120px;padding:16px 16px 14px;background:#fff;border:1px solid var(--ym-gray-200);border-top:4px solid var(--ym-red-600);text-decoration:none;color:var(--ym-ink-950)}
body.jma .ym-purpose-tile:hover{background:var(--ym-warm-50);border-color:var(--ym-gray-300);border-top-color:var(--ym-red-600)}
body.jma .ym-purpose-tile strong{font-size:1.0625rem;line-height:1.25}
body.jma .ym-purpose-tile span{font-size:.8125rem;color:var(--ym-gray-700)}
body.jma .ym-purpose-tile b{font-size:.8125rem;color:var(--ym-red-600);font-weight:700}
body.jma .car-card .jpy-ask{font-size:1rem;color:var(--ym-ink-950)!important}
body.jma .car-card-sold .photo::after{content:"";position:absolute;inset:0;background:rgba(21,21,21,.35)}
body.jma .car-card .photo{position:relative}

/* ---- Phase 3 purpose polish ---- */
body.jma .car-card .car-specs .spec{white-space:nowrap}
body.jma .ym-purpose-tiles{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}
@media(max-width:480px){body.jma .ym-purpose-tiles{grid-template-columns:1fr 1fr}}
body.jma .ym-purpose-section{padding-bottom:0}
body.jma .ym-purpose-section .section-head{margin-bottom:24px}

/* ---- Phase 6 vehicle page (preview v2) ---- */
body.jma .ym-id-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
body.jma .ym-keyspecs{margin:16px 0 20px}
body.jma .ym-inquiry{background:var(--ym-warm-50)}
body.jma .ym-vehicle-inquiry{max-width:720px;display:grid;gap:14px}
body.jma .ym-vehicle-inquiry .yj-frow{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:600px){body.jma .ym-vehicle-inquiry .yj-frow{grid-template-columns:1fr}}
body.jma .ym-vehicle-inquiry label{display:grid;gap:6px;font-size:.875rem;font-weight:500}
body.jma .ym-vehicle-inquiry input,body.jma .ym-vehicle-inquiry select,body.jma .ym-vehicle-inquiry textarea{width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--ym-gray-300);border-radius:var(--ym-radius);background:#fff;font:inherit;color:var(--ym-ink-950)}
body.jma .ym-vehicle-inquiry textarea{min-height:110px}
body.jma .ym-inquiry-actions{display:flex;gap:12px;flex-wrap:wrap}
body.jma .ym-condition .ym-docs-note{margin-top:12px;font-size:.875rem;color:#555}

/* ---- Phase 8 tour cards ---- */
body.jma .ymt-card-location{color:#555!important;font-size:.8125rem!important;font-weight:500!important;letter-spacing:.02em}
body.jma .ymt-card-facts{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px;list-style:none;margin:14px 0 18px;padding:12px 0 0;border-top:1px solid var(--ym-gray-200)}
body.jma .ymt-card-facts li{display:grid;gap:2px}
body.jma .ymt-card-facts small{font-size:.6875rem;text-transform:uppercase;letter-spacing:.06em;color:#555}
body.jma .ymt-card-facts span{font-size:.875rem;color:var(--ym-ink-950);line-height:1.35}
body.jma .ymt-card-foot strong{color:var(--ym-red-600)!important}
body.jma .ymt-card-foot small{color:#555!important;font-size:.75rem!important}

/* ---- Phase 8 hub cards + mobile purpose rail ---- */
body.jma .yj-card .yj-facts{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;list-style:none;margin:10px 0 12px;padding:10px 0 0;border-top:1px solid var(--ym-gray-200)}
body.jma .yj-card .yj-facts li{display:grid;gap:1px}
body.jma .yj-card .yj-facts small{font-size:.6875rem;text-transform:uppercase;letter-spacing:.06em;color:#555}
body.jma .yj-card .yj-facts span{font-size:.875rem;color:var(--ym-ink-950);line-height:1.35}
body.jma .yj-card .yj-go{display:block;margin-top:10px;font-weight:700;color:var(--ym-ink-950)}
body.jma .yj-card:hover .yj-go{color:var(--ym-red-600)}
body.jma .yj-card .yj-ptype{font-size:.75rem;color:#555}
@media(max-width:600px){body.jma .ym-purpose-tiles{display:flex;overflow-x:auto;gap:10px;padding:0 0 8px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}body.jma .ym-purpose-tile{flex:0 0 210px;min-height:auto;scroll-snap-align:start}}

/* ---- season strip mobile (overflow fix, 5 Sept 2026) ---- */
@media(max-width:700px){body.jma .yj-season>div{display:grid;gap:10px;justify-items:start}body.jma .yj-season .yj-sep{display:none}body.jma .yj-season a{white-space:normal;max-width:100%}body.jma .yj-season a b,body.jma .yj-season a small{display:block}}

/* ---- Phase 6 title column (preview v2) ---- */
body.jma .ym-title-box{padding:0 0 16px;border-bottom:1px solid var(--ym-gray-200);margin-bottom:20px}
body.jma .ym-title-box h1{margin:6px 0 8px}
body.jma .ym-title-box .price-jpy{color:var(--ym-red-600)!important;font-weight:700}
@media(min-width:1024px){body.jma .car-detail-grid.ym-cdg-v2{grid-template-areas:"title side" "gallery side" "content side"}body.jma .ym-cdg-v2>.ym-col-title{grid-area:title;min-width:0}}

/* hub ticket red (5 Sept 2026) */
body.jma .yj-card .yj-ticket{color:var(--ym-red-600)!important}

/* cookie settings button: solid ink, no gradient (5 Sept 2026) */
body.jma .gdpr_action_button,body.jma a.gdpr_action_button.btn,body.jma .wpl-cookie-settings-btn{background:#151515!important;background-image:none!important;color:#fff!important;border:1px solid #151515!important;border-radius:2px!important;box-shadow:none!important}
body.jma .gdpr_action_button:hover{background:#242424!important}

/* ---- QA sweep fixes (5 Sept 2026): contact page mobile grid, minimum 12px text, product sticky bars, season strip to 900px ---- */
@media(max-width:900px){body.jma .yj-season>div{display:grid;gap:10px;justify-items:start}body.jma .yj-season .yj-sep{display:none}body.jma .yj-season a{white-space:normal;max-width:100%}body.jma .yj-season a b,body.jma .yj-season a small{display:block}}
@media(max-width:760px){body.jma .contact-layout{grid-template-columns:1fr!important;display:grid}body.jma .contact-info{grid-template-columns:1fr!important;width:100%;min-width:0}body.jma .contact-card{min-width:0;max-width:100%;overflow-wrap:anywhere}body.jma .contact-layout>*{min-width:0;max-width:100%}}
body.jma main small,body.jma .yj small,body.jma .ymt-main small{font-size:max(12px,.75rem)}
body.jma svg text{font-size:12px}
@media(max-width:1023px){body.jma.single-product .ym-mobile-bar{display:none!important}body.jma.single-product .ym-car-sticky{bottom:0!important}body.jma.single-product{padding-bottom:84px!important}}

/* season strip wrap at every width (5 Sept 2026) */
body.jma .yj-season>div{flex-wrap:wrap;row-gap:10px;max-width:100%}
body.jma .yj-season a{white-space:normal;max-width:100%}
body.jma .yj-season{overflow:hidden}

/* minimum 12px small text on the tours hub / premium sections (5 Sept 2026) */
body.jma .yj small,body.jma .ymt-main small,body.jma .yj-card small,body.jma .yj-meta small,body.jma .yj-season small{font-size:12px!important}
body.jma .yj-ticket small{font-size:12px!important}

/* ---- hero stats + photo, price coverage, warranty (owner instruction 5 Sept 2026) ---- */
body.jma .yj-hhero-photo{position:relative;isolation:isolate}
body.jma .yj-hhero-photo::before{content:"";position:absolute;inset:0;background:url(../assets/realbiz/yard.jpg) center 40%/cover no-repeat;opacity:.16;z-index:-1}
body.jma .yj-stats{border-top:1px solid #333;margin-top:8px;position:relative}
body.jma .yj-stats>.yj-wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:22px 0 26px}
@media(max-width:900px){body.jma .yj-stats>.yj-wrap{grid-template-columns:1fr 1fr}}
body.jma .yj-stat{display:flex;flex-direction:column;gap:3px;justify-content:center;min-height:76px;padding:14px 16px;background:#242424;border-left:3px solid var(--ym-red-600);color:#fff!important;text-decoration:none}
body.jma .yj-stat b{font-size:1.5rem;line-height:1.1;font-variant-numeric:tabular-nums;color:#fff}
body.jma .yj-stat span{font-size:.8125rem;color:#D6D4D0}
body.jma .yj-stat:hover{background:#2c2c2c}
body.jma .ym-covers{list-style:none;margin:0;padding:0;display:grid;gap:0}
body.jma .ym-covers li{display:grid;grid-template-columns:160px 1fr;gap:12px;padding:12px 0;border-bottom:1px solid var(--ym-gray-200);font-size:.9375rem;line-height:1.55}
body.jma .ym-covers li strong{color:var(--ym-ink-950)}
body.jma .ym-covers li span{color:#444}
@media(max-width:600px){body.jma .ym-covers li{grid-template-columns:1fr;gap:4px}}
body.jma .ym-warranty p{font-size:1rem;line-height:1.6;padding:14px 16px;background:var(--ym-warm-50);border-left:3px solid var(--ym-red-600);margin:0}

/* warranty mini + coverage details + card warranty + disclaimer (5 Sept 2026) */
body.jma .ym-warranty-mini{margin:10px 0 0;font-size:.875rem;font-weight:500;color:var(--ym-ink-950)}
body.jma .ym-warranty-mini a{margin-left:6px;color:var(--ym-red-600);text-decoration:underline}
body.jma .ym-warranty-list{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:6px}
body.jma .ym-warranty-list li{padding:10px 14px;background:var(--ym-warm-50);border-left:3px solid var(--ym-red-600);font-weight:500}
body.jma .ym-warranty-details{border:1px solid var(--ym-gray-200);padding:0}
body.jma .ym-warranty-details summary{cursor:pointer;padding:12px 14px;font-weight:700;color:var(--ym-ink-950)}
body.jma .ym-warranty-details>div{padding:0 14px 8px}
body.jma .ym-warranty-details p{margin:0 0 10px;font-size:.9375rem;line-height:1.55;color:#333}
body.jma .car-card .card-warranty{font-size:.75rem;color:#444;padding:8px 0 0;border-top:1px solid var(--ym-gray-200);margin-top:auto}
body.jma .ym-disclaimer{padding:20px 0 28px;background:var(--ym-warm-50)}
body.jma .ym-disclaimer p{max-width:70ch;font-size:.8125rem;line-height:1.6;color:#444;margin:0}

/* ---- homepage v3 (owner brief 5 Sept 2026): trust cards, count, why photos, CTA band, light tours, alternating backgrounds ---- */
body.jma .yj-count{margin:14px 0 0;font-size:.9375rem;color:#D6D4D0}
body.jma .yj-count b{color:#fff;font-size:1.125rem}
body.jma .yj-trust{background:var(--ym-warm-50);border-bottom:1px solid var(--ym-gray-200)}
body.jma .yj-trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;padding:22px 0}
@media(max-width:1000px){body.jma .yj-trust-grid{grid-template-columns:1fr 1fr}}
@media(max-width:480px){body.jma .yj-trust-grid{grid-template-columns:1fr;gap:10px}}
body.jma .yj-trust-card{display:flex;gap:12px;align-items:flex-start;background:#fff;border:1px solid var(--ym-gray-200);padding:14px 16px;min-height:44px}
body.jma .yj-trust-card svg{width:28px;height:28px;flex:0 0 28px;color:var(--ym-red-600)}
body.jma .yj-trust-card h3{font-size:1rem;margin:0 0 2px;line-height:1.3;color:var(--ym-ink-950)}
body.jma .yj-trust-card p{margin:0;font-size:.875rem;color:#444;line-height:1.45}
body.jma #yj-purpose,body.jma #yj-help,body.jma #yj-work{box-shadow:0 0 0 100vmax var(--ym-warm-50);clip-path:inset(0 -100vmax)}
body.jma #yj-purpose{background:var(--ym-warm-50)}body.jma #yj-help{background:var(--ym-warm-50)}body.jma #yj-work{background:var(--ym-warm-50)}
body.jma .yj-why-photos{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:0 0 28px}
@media(max-width:700px){body.jma .yj-why-photos{grid-template-columns:1fr 1fr}body.jma .yj-why-photos img:last-child{display:none}}
body.jma .yj-why-photos img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block;border:1px solid var(--ym-gray-200)}
body.jma .yj-why-list{grid-template-columns:repeat(4,1fr)}
@media(max-width:1000px){body.jma .yj-why-list{grid-template-columns:1fr 1fr}}
@media(max-width:560px){body.jma .yj-why-list{grid-template-columns:1fr}}
body.jma .yj-cta-band{background:var(--ym-ink-950);color:#fff;padding:56px 0}
body.jma .yj-cta-band h2{color:#fff;font-size:clamp(1.5rem,3vw,2.25rem);max-width:22ch;margin:8px 0 12px}
body.jma .yj-cta-band p{color:#D6D4D0;max-width:62ch;margin:0 0 20px}
body.jma .yj-cta-band .yj-k{color:#fff}
body.jma #yj-journeys.yj-light{background:#fff;color:var(--ym-ink-950)}
body.jma #yj-journeys.yj-light h2,body.jma #yj-journeys.yj-light .yj-hsig-lede,body.jma #yj-journeys.yj-light .yj-meta,body.jma #yj-journeys.yj-light .yj-k{color:var(--ym-ink-950)}
body.jma #yj-journeys.yj-light .yj-k{color:var(--ym-red-600)}
body.jma #yj-journeys.yj-light .yj-pat{display:none}
body.jma #yj-journeys.yj-light .yj-btn-line{border-color:var(--ym-ink-950);color:var(--ym-ink-950)}
body.jma #yj-journeys.yj-light .yj-season{background:var(--ym-warm-50);color:var(--ym-ink-950)}
body.jma #yj-journeys.yj-light .yj-season a,body.jma #yj-journeys.yj-light .yj-season b,body.jma #yj-journeys.yj-light .yj-season small,body.jma #yj-journeys.yj-light .yj-lbl{color:var(--ym-ink-950)}
body.jma #yj-journeys.yj-light .yj-tile{background:#fff;border:1px solid var(--ym-gray-200);color:var(--ym-ink-950)}
body.jma #yj-journeys.yj-light .yj-tile h3,body.jma #yj-journeys.yj-light .yj-tile p,body.jma #yj-journeys.yj-light .yj-tile .yj-go{color:var(--ym-ink-950)}

/* more filters (phones) + gallery view-all (5 Sept 2026) */
body.jma .ym-more-filters{border:1px solid var(--ym-gray-300);margin:8px 0 12px;padding:0 12px}
body.jma .ym-more-filters summary{cursor:pointer;padding:12px 0;font-weight:700;color:var(--ym-ink-950);min-height:44px;display:flex;align-items:center}
body.jma .ym-more-filters[open] summary{border-bottom:1px solid var(--ym-gray-200);margin-bottom:8px}
body.jma .ym-view-all{display:block;width:100%;margin-top:10px}
body.jma .thumb[hidden]{display:none!important}

/* light tours section + CTA band contrast (5 Sept 2026) */
body.jma #yj-journeys.yj-light .yj-k{color:var(--ym-red-600)!important}
body.jma #yj-journeys.yj-light h2,body.jma #yj-journeys.yj-light .yj-hsig-lede,body.jma #yj-journeys.yj-light .yj-meta,body.jma #yj-journeys.yj-light .yj-meta a{color:var(--ym-ink-950)!important}
body.jma #yj-journeys.yj-light .yj-btn-line{border-color:var(--ym-ink-950)!important;color:var(--ym-ink-950)!important;background:transparent!important}
body.jma #yj-journeys.yj-light .yj-btn-line:hover{background:var(--ym-ink-950)!important;color:#fff!important}
body.jma .yj-card .yj-ticket,body.jma .yj-card .yj-ticket small{color:var(--ym-red-600)!important}
body.jma .yj-cta-band .yj-k{color:#fff!important}
body.jma .yj-cta-band .yj-btn-line{border-color:#fff!important;color:#fff!important}

/* light tours cards + rental tile (5 Sept 2026) */
body.jma #yj-journeys.yj-light .yj-card,body.jma #yj-journeys.yj-light .yj-card .yj-body{background:#fff!important;color:var(--ym-ink-950)!important}
body.jma #yj-journeys.yj-light .yj-card h3,body.jma #yj-journeys.yj-light .yj-card .yj-place,body.jma #yj-journeys.yj-light .yj-card .yj-facts span,body.jma #yj-journeys.yj-light .yj-card .yj-dur,body.jma #yj-journeys.yj-light .yj-card .yj-go{color:var(--ym-ink-950)!important}
body.jma #yj-journeys.yj-light .yj-card .yj-facts small,body.jma #yj-journeys.yj-light .yj-card .yj-ptype{color:#555!important}
body.jma #yj-journeys.yj-light .yj-tile{background:#fff!important;border:1px solid var(--ym-gray-200)!important;color:var(--ym-ink-950)!important}
body.jma #yj-journeys.yj-light .yj-tile .yj-k{color:var(--ym-red-600)!important}
body.jma #yj-journeys.yj-light .yj-tile h3,body.jma #yj-journeys.yj-light .yj-tile p,body.jma #yj-journeys.yj-light .yj-tile .yj-go{color:var(--ym-ink-950)!important}

/* narrow card specs wrap (320px) */
@media(max-width:360px){body.jma .car-card .car-specs{grid-template-columns:1fr}body.jma .car-card .car-specs .spec{white-space:normal}}

/* shop load more (Phase 10) */
body.jma .ym-load-more-wrap{grid-column:1/-1;text-align:center;margin:24px 0 8px}
body.jma .ym-load-more-wrap .btn{min-width:240px}
body.jma .ym-load-status{font-size:.875rem;color:#555;margin:10px 0 0}

/* ---- Phase 10 status CTAs (5 Sept 2026) ---- */
body.jma .ym-cta-note{font-size:.8125rem;color:var(--ym-gray-700);margin:0 0 10px;line-height:1.5}
body.jma .ym-actions-sold .btn-primary,body.jma .ym-actions-reserved .btn-primary{background:var(--ym-ink-950);border-color:var(--ym-ink-950);color:#fff}
body.jma .ym-actions-sold .btn-primary:hover,body.jma .ym-actions-reserved .btn-primary:hover{background:#000;color:#fff}
