/* Japanese pages share a monochrome base; vermilion marks primary actions. */
html:lang(ja) body {
  --ink: #111111;
  --paper: #f5f5f5;
  --text: #222222;
  --muted: #606060;
  --red: #111111;
  --gold: #c4c4c4;
  --line: #dedede;
  --lp-dark: #181818;
  --lp-white: #ffffff;
  --lp-soft: #ececec;
  --lp-focus: #111111;
  --course-green: #181818;
  --course-gold: #c4c4c4;
  --ja-accent: #b3442d;
  --ja-accent-hover: #91331f;
  --ja-control-border: #888888;
  --ja-on-dark: #d0d0d0;
  color-scheme: light;
  accent-color: var(--ja-accent);
  background: var(--paper);
  color: var(--text);
}

html:lang(ja) :is(.mobile-nav .small, .lunch-band .small, .lunch-band .note) {
  color: #c6c6c6;
}

html:lang(ja) .site-footer {
  color: #cecece;
}

html:lang(ja) .footer-bottom {
  color: #a8a8a8;
}

html:lang(ja) :is(.language a, .site-footer a):hover {
  color: #ffffff;
  text-decoration: underline;
}

html:lang(ja) :is(.hero-desc, .hero-diet) {
  color: #d3d3d3;
}

html:lang(ja) .hero .note {
  color: #bdbdbd;
}

html:lang(ja) .hero-summary {
  color: #c9c9c9;
}

html:lang(ja) .hero-photo::after {
  background: linear-gradient(90deg, #11111133, transparent 35%);
}

html:lang(ja) .dish-card figure {
  background: #dcdcdc;
}

html:lang(ja) .sample-label {
  background: #111111e8;
  color: #ffffff;
}

html:lang(ja) .sample-replace {
  color: #dddddd;
}

html:lang(ja) :is(.story-band, .booking-callout, .course-card,
  .contact-reservation-note, .visit-guide, .access-room-section,
  .access-booking-section, .route-photo-placeholder) {
  background: #ececec;
}

html:lang(ja) :is(.booking-guide-grid > div, .guide-actions,
  .access-booking-steps > div, .course-snapshots, .course-price-options,
  .course-reservation-facts, .lunch-cut-heading) {
  border-color: var(--line);
}

html:lang(ja) .route-photo-placeholder {
  border-color: #c4c4c4;
}

html:lang(ja) .route-photo-frame {
  border-color: #a0a0a0;
}

html:lang(ja) .route-photo-frame::after {
  color: #606060;
}

html:lang(ja) .meal-choice::after {
  background: linear-gradient(180deg, transparent 15%, #111111db);
}

html:lang(ja) .meal-choice-copy small {
  background: #111111d9;
  color: #e5e5e5;
}

html:lang(ja) .lunch-showcase {
  background: var(--course-green);
}

html:lang(ja) .lunch-cut-card {
  background: #242424;
}

html:lang(ja) .lunch-booking-panel {
  border-color: #707070;
  background: #202020;
}

html:lang(ja) :is(.lunch-heading > p:not(.eyebrow),
  .lunch-showcase .sample-note, .lunch-showcase .menu-note,
  .lunch-intro-row p, .lunch-cut-copy > p, .lunch-showcase .source-story,
  .lunch-booking-panel p:not(.eyebrow), .hero-summary,
  .course-hero-copy > p:not(.course-kicker),
  .course-feature-wagyu .course-kicker,
  .course-feature-wagyu .course-feature-meta,
  .course-feature-wagyu .course-highlights p,
  .course-feature-wagyu .course-price-note,
  .course-feature-wagyu .course-booking-note,
  .page-menu .lunch-cut-note,
  .page-menu .lunch-details .lunch-heading-details > p:not(.lunch-sitting-summary),
  .page-menu .lunch-sitting-summary span,
  .kobe-story-copy > p:not(.kobe-image-cut), .kobe-photo-note,
  .lunch-inclusions p, .lunch-inclusions ul, .lunch-upgrade-price span,
  .lunch-reservation-grid dd, .lunch-reservation-note,
  .lunch-details .booking-caption) {
  color: var(--ja-on-dark);
}

html:lang(ja) .course-visit-option {
  border-color: var(--ja-control-border);
}

html:lang(ja) .course-visit-option:hover {
  border-color: var(--text);
  background: #ececec;
}

html:lang(ja) .course-visit-option.course-visit-lunch:hover {
  border-color: #333333;
  background: #333333;
}

html:lang(ja) .course-highlights li::before {
  background: #606060;
}

html:lang(ja) .course-feature-wagyu .course-highlights li::before {
  background: #c4c4c4;
}

html:lang(ja) :is(.reading-content input:not([type=hidden]),
  .reading-content textarea, .reading-content select) {
  border-color: var(--ja-control-border);
  background: #ffffff;
  color: var(--text);
}

html:lang(ja) :is(input, textarea)::placeholder {
  color: var(--muted);
  opacity: 1;
}

html:lang(ja) :is(input[type=checkbox], input[type=radio]) {
  accent-color: var(--ja-accent);
}

html:lang(ja) .filter-button {
  border-color: var(--ja-control-border);
  color: var(--text);
}

html:lang(ja) .filter-button:hover {
  border-color: var(--ja-accent);
  color: var(--ja-accent);
}

html:lang(ja) .filter-button[aria-pressed=true] {
  border-color: var(--ja-accent);
  background: var(--ja-accent);
  color: #ffffff;
}

html:lang(ja) .filter-button[aria-pressed=true]:hover {
  border-color: var(--ja-accent-hover);
  background: var(--ja-accent-hover);
  color: #ffffff;
}

html:lang(ja) .subnav a[aria-current=page] {
  border-color: var(--ja-accent);
  color: var(--ja-accent);
}

html:lang(ja) .carousel-controls button:not(:disabled):hover {
  border-color: var(--ja-accent);
  background: var(--ja-accent);
  color: #ffffff;
}

html:lang(ja) :is(.btn:not(.btn-outline):not(.btn-light),
  .lp-button:not(.lp-button-outline):not(.lp-button-ghost),
  .header-book, .mobile-actions .mobile-book, .course-reserve,
  .reading-content input[type=submit], .reading-content button[type=submit]) {
  border-color: var(--ja-accent);
  background: var(--ja-accent);
  color: #ffffff;
}

html:lang(ja) :is(.btn:not(.btn-outline):not(.btn-light),
  .lp-button:not(.lp-button-outline):not(.lp-button-ghost),
  .header-book, .mobile-actions .mobile-book, .course-reserve,
  .reading-content input[type=submit], .reading-content button[type=submit]):hover {
  border-color: var(--ja-accent-hover);
  background: var(--ja-accent-hover);
  color: #ffffff;
}

html:lang(ja) :is(.btn-outline, .lp-button-outline) {
  border-color: var(--text);
  background: transparent;
  color: var(--text);
}

html:lang(ja) :is(.btn-outline, .lp-button-outline):hover {
  border-color: var(--ink);
  background: var(--ink);
  color: #ffffff;
}

html:lang(ja) :is(a, button, input, textarea, select, summary):focus-visible {
  outline-color: var(--ink);
}

html:lang(ja) :is(.site-header, .mobile-nav, .site-footer, .hero, .lunch-band, .lunch-showcase,
  .lunch-details, .course-hero, .course-feature-wagyu, .lp-hero,
  .lp-dining, .lp-lunch, .lp-final-booking)
  :is(a, button, input, textarea, select, summary):focus-visible {
  outline-color: #ffffff;
}

html:lang(ja) .kobe-lunch-menu :is(a, button):focus-visible,
html:lang(ja) .mobile-actions a:focus-visible {
  outline-color: var(--ink);
}

html:lang(ja) :is(.lunch-showcase, .lunch-details, .course-hero,
  .course-feature-wagyu) .btn-outline {
  border-color: #c4c4c4;
  color: #ffffff;
}

html:lang(ja) :is(.lunch-showcase, .lunch-details, .course-hero,
  .course-feature-wagyu) .btn-outline:hover {
  border-color: #ffffff;
  background: #ffffff;
  color: var(--ink);
}

html:lang(ja) .kobe-lunch-menu .btn-outline {
  border-color: var(--text);
  color: var(--text);
}

html:lang(ja) .kobe-lunch-menu .btn-outline:hover {
  border-color: var(--ink);
  background: var(--ink);
  color: #ffffff;
}

@media (max-width: 760px) {
  html:lang(ja) .hero-photo::after {
    background: linear-gradient(180deg, #11111115, transparent 35%);
  }
}
