/* 和 × 黎明 — presentation only; tokens.css and exported content stay intact. */
:root[data-design="wa"] {
  color-scheme: dark;
  --void: #0a0b0d; --night: #121316; --indigo: #17181c; --indigo-deep: #101114;
  --bg: #0a0b0d; --bg-elevated: #121316; --surface: #17181c;
  --surface-2: rgba(255,255,255,.035); --surface-solid: #17181c;
  --heading: #f2f3f5; --text: #c9ccd3; --ink: #c9ccd3; --muted: #9aa0ab;
  --gold: #e8b860; --gold-strong: #f0c777; --accent: var(--gold); --accent-2: var(--gold);
  --accent-strong: var(--gold-strong); --on-accent: #0a0b0d;
  --felt: #0b5a40; --tile-face: #f3eee4;
  --line: rgba(255,255,255,.1); --hairline: var(--line); --hairline-strong: rgba(232,184,96,.32);
  --header-bg: rgba(10,11,13,.86); --drawer-bg: #121316;
  --placeholder: #8a93ad; --error: #ff8894; --focus-ring: var(--gold);
  --shu: var(--gold); --shu-bright: var(--gold); --glow-shu: rgba(232,184,96,.12);
  --glow: rgba(232,184,96,.12); --glow-gold: rgba(232,184,96,.16);
  --tint-accent-weak: rgba(232,184,96,.06); --tint-gold-weak: rgba(232,184,96,.07);
  --font-display: 'Spectral',Georgia,'Times New Roman',serif;
  --font-body: 'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --font-wa: 'Hiragino Mincho ProN','Yu Mincho','Noto Serif JP',serif; --font-jp: var(--font-wa);
  --r-xs: 6px; --r-sm: 12px; --r-md: 12px; --r-lg: 12px; --r-xl: 12px; --r-pill: 999px;
  --ease-wa: cubic-bezier(.22,.61,.12,1);
}
:root[data-design="wa"][data-theme="light"] {
  color-scheme: light;
  --bg: #f3eee4; --bg-elevated: #fbf8f2; --surface: #fbf8f2;
  --surface-2: rgba(80,60,25,.035); --surface-solid: #fbf8f2;
  --header-bg: rgba(243,238,228,.92); --drawer-bg: #fbf8f2;
  --text: #3a332a; --ink: #3a332a; --heading: #15120e; --muted: #6a6052; --placeholder: #6a6052;
  --accent: #806015; --accent-strong: #6b4f0e; --accent-2: #806015; --on-accent: #fff;
  --hairline: rgba(80,60,25,.14); --hairline-strong: rgba(80,60,25,.3);
  --focus-ring: #806015; --error: #b3261e;
}
[data-design="wa"] body { background: var(--bg); color: var(--text); isolation: isolate; }
[data-design="wa"] body::before {
  content: ''; position: fixed; inset: 0; z-index: -1; pointer-events: none;
  background: url('/assets/wa/washi-sumi.webp') center / 1100px repeat; opacity: .28;
}
[data-design="wa"][data-theme="light"] body::before { filter: invert(1) grayscale(1) sepia(.4); mix-blend-mode: multiply; }
[data-design="wa"] :is(h1,h2,h3,.std,.hero-title,.lineup-name,.showcase-title,.price strong,.showcase-price strong,.lineup-price strong) {
  font-family: var(--font-display); font-weight: 400; letter-spacing: -.025em;
}
[data-design="wa"] :is(.gradient,.wa-em) { background: none; color: var(--accent); -webkit-text-fill-color: currentColor; font-style: italic; }
[data-design="wa"] :is([lang="ja"],.lineup-jp) { font-family: var(--font-wa); }
[data-design="wa"] :is(.section-eyebrow,.kicker,.badge,.site-footer ul li.head,.lang-code) { font-size: 12px; }
[data-design="wa"] :is(.section--hairline-top,.shop-section) { position: relative; border-top: 0; }
[data-design="wa"] :is(.section--hairline-top,.shop-section)::before {
  content: ''; position: absolute; top: 0; left: 8%; right: 8%; height: 1px; pointer-events: none;
  background: linear-gradient(90deg,transparent,var(--hairline-strong) 22%,var(--hairline-strong) 78%,transparent);
}
/* Header glass and the photographic home masthead. */
[data-design="wa"] .site-header { background: var(--header-bg); border-bottom-color: var(--hairline); backdrop-filter: blur(16px); transition: background .35s; }
[data-design="wa"].wa-home .site-header { position: fixed; left: 0; right: 0; }
[data-design="wa"].wa-home.wa-top .site-header { background: transparent; backdrop-filter: none; border-bottom-color: transparent; }
[data-design="wa"].wa-home.wa-top .site-header .logo-light { display: none; }
[data-design="wa"].wa-home.wa-top .site-header .logo-dark { display: block; }
[data-design="wa"].wa-home.wa-top .site-header :is(.nav-desktop > ul > li > a:not(.cta-pill),.lang-menu > summary,.theme-toggle,.nav-toggle,.cart-mobile) { color: #f2f3f5; }
[data-design="wa"] .site-header:has(.lang-menu[open]) { backdrop-filter: none; -webkit-backdrop-filter: none; }
[data-design="wa"] .lang-menu .lang-list { background: var(--drawer-bg); border-color: var(--hairline-strong); }
[data-design="wa"] .lang-menu .lang-list .lang-item { color: var(--text); }
[data-design="wa"] .lang-menu .lang-list .is-current { color: var(--accent); }
[data-design="wa"] .nav-drawer { background: var(--drawer-bg); color: var(--text); }
[data-design="wa"] :is(.cta-pill,.btn-glass,.quote-pill) { border-radius: 999px; }
[data-design="wa"] .cta-pill { background: var(--accent); color: var(--on-accent); border: 1px solid var(--accent); box-shadow: none; }
[data-design="wa"] .cta-pill:hover { background: var(--accent-strong); color: var(--on-accent); }
[data-design="wa"] .cart-pill { border: 1px solid var(--hairline-strong); background: transparent; }
[data-design="wa"] .ql-steps .step.is-active .n { color: var(--on-accent); }
[data-design="wa"] .qcount { background: var(--accent); color: var(--on-accent); }
[data-design="wa"] :is(.lineup-col,.table-card,.story-card,.review-card,.card,.showroom-fig img) { border-radius: 12px; }
[data-design="wa"] .review-card { background: var(--bg-elevated); border-color: var(--hairline); }
[data-design="wa"] .section-eyebrow { display: inline-flex; align-items: center; gap: 14px; }
[data-design="wa"] [data-wa-num]::before {
  content: attr(data-wa-num); display: inline-block; width: auto; height: auto; background: none;
  font: italic 28px/1 var(--font-display); color: var(--accent); letter-spacing: -.03em;
}
[data-design="wa"] .section-eyebrow::after { content: ''; width: 40px; height: 1px; background: var(--hairline-strong); }
[data-design="wa"] .lineup-num { font-family: var(--font-display); font-style: italic; }
/* A quiet vertical inscription; decorative and absent on phones. */
.wa-mei { position: absolute; z-index: 2; right: clamp(22px,3vw,52px); top: 35%; writing-mode: vertical-rl; font: 18px/2 var(--font-wa); letter-spacing: .5em; color: #f2f3f5; pointer-events: none; }
.wa-mei::before { content: ''; display: inline-block; height: 64px; width: 1px; margin-bottom: 20px; background: linear-gradient(transparent,#e8b860); }
/* Photos are always fully visible, including before JS and if JS stops.
   Only a translucent decorative panel opens; it cannot conceal the product. */
[data-design="wa"] .wa-shoji { position: relative; overflow: hidden; }
[data-design="wa"] .wa-shoji img { clip-path: none; }
/* The legacy reveal observer must not hide a photograph or its parent either. */
:root[data-design="wa"].reveal-armed .reveal:has(img) { opacity: 1; transform: none; animation: none; }
[data-design="wa"].wa-armed .wa-shoji.wa-in::after {
  content: ''; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(90deg,rgba(232,184,96,.12),transparent 50%,rgba(232,184,96,.12));
  animation: wa-shoji-open 1.2s var(--ease-wa) both;
}
@keyframes wa-shoji-open { from { clip-path: inset(0); } to { clip-path: inset(0 50%); } }
/* Article-local OS-light rules must follow the site's explicit theme instead. */
:root[data-design="wa"] .mm {
  --mm-bg: var(--bg); --mm-card: var(--surface-2); --mm-card-solid: var(--bg-elevated);
  --mm-text: var(--text); --mm-head: var(--heading); --mm-muted: var(--muted);
  --mm-line: var(--hairline); --mm-line-2: var(--hairline-strong);
  --mm-gold: var(--accent); --mm-gold-ink: var(--accent); --mm-red: var(--error);
  --mm-blue: #7ca1ff; --mm-blue-2: #3d5bd9;
}
:root[data-design="wa"][data-theme="light"] .mm { --mm-blue: #3d5bd9; --mm-blue-2: #7ca1ff; }
/* Forms: opaque surfaces keep text/error contrast independent of the texture. */
[data-design="wa"] :is(input:not([type=submit]):not([type=button]):not([type=reset]):not([type=hidden]):not([type=checkbox]):not([type=radio]),textarea,select) { background: var(--bg-elevated); color: var(--heading); border-color: var(--hairline-strong); }
[data-design="wa"] :is(input,textarea)::placeholder { color: var(--placeholder); opacity: 1; }
[data-design="wa"] .wpcf7 .wpcf7-not-valid-tip { color: var(--error); }
[data-design="wa"] .wpcf7 input.wpcf7-submit { background: var(--accent); color: var(--on-accent); }
[data-design="wa"] :is(.shop-faq,.ac-details) summary { list-style: none; display: flex; align-items: baseline; justify-content: space-between; gap: 20px; }
[data-design="wa"] :is(.shop-faq,.ac-details) summary::-webkit-details-marker { display: none; }
[data-design="wa"] :is(.shop-faq,.ac-details) summary::after { content: '+'; color: var(--accent); font-size: 24px; font-weight: 300; flex: none; }
[data-design="wa"] :is(.shop-faq,.ac-details) details[open] > summary::after,
[data-design="wa"] .ac-details[open] > summary::after { content: '−'; }
:root[data-design="wa"] .site-footer {
  position: relative; background: #0a0b0d; border-top: 1px solid rgba(232,184,96,.25);
  --heading: #f2f3f5; --text: #c9ccd3; --muted: #9aa0ab; --accent-2: #e8b860;
}
[data-design="wa"] .site-footer::before { content: ''; position: absolute; inset: 0 0 auto; height: 120px; pointer-events: none; opacity: .08; background: #e8b860; mask: url('/wp-content/themes/alban-2026/assets/img/brand/seigaiha.png') center top / 120px repeat-x; }
[data-design="wa"] .site-footer::after { display: none; }
[data-design="wa"] :is(a,button,input,select,textarea,summary):focus-visible { outline: 2px solid var(--focus-ring); outline-offset: 4px; }
@media(max-width:760px) { .wa-mei { display: none; } }
@media(prefers-reduced-motion:reduce) {
  [data-design="wa"], [data-design="wa"] *, [data-design="wa"] *::before, [data-design="wa"] *::after { scroll-behavior: auto !important; animation: none !important; transition: none !important; }
  [data-design="wa"] .wa-shoji::after { display: none; }
  [data-design="wa"] .wa-shoji img, [data-design="wa"] .reveal { clip-path: none !important; transform: none !important; opacity: 1 !important; filter: none !important; }
}
