/* Presentation/accessibility fixes, 2026-10-13. */
[hidden]{display:none!important}
.gallery-lightbox figcaption{background:#fff8fc!important;color:#49394f!important}
.gallery-lightbox figcaption strong{color:#49394f!important}
.gallery-lightbox figcaption span{color:#974c78!important;font-size:12px}
.gallery-lightbox figcaption p{color:#67536f!important;font-size:12px}
html[data-theme="night"] .gallery-lightbox figcaption{background:#221b29!important;color:#f7edf8!important}
html[data-theme="night"] .gallery-lightbox figcaption strong{color:#f7edf8!important}
html[data-theme="night"] .gallery-lightbox figcaption span{color:#f5a8d1!important}
html[data-theme="night"] .gallery-lightbox figcaption p{color:#d9c8df!important}
.contact-main-button[aria-disabled="true"]{box-shadow:none!important;background:transparent!important;border:1px solid currentColor;cursor:default;pointer-events:none;opacity:1}
.contact-main-button[aria-disabled="true"]>span:last-child{display:none}
.schedule-day-name,.schedule-day small{font-size:12px!important;line-height:1.4!important}
html[data-theme="night"] .schedule-day-name,html[data-theme="night"] .schedule-day small{color:#e2cde9!important}
.schedule-week-note p,.schedule-month{font-size:13px!important}
html:not([data-theme="night"]) .schedule-day-name,html:not([data-theme="night"]) .schedule-day small,html:not([data-theme="night"]) .schedule-week-note,html:not([data-theme="night"]) .schedule-month{color:#68516f!important}
html:not([data-theme="night"]) .hero-description,html:not([data-theme="night"]) .section-heading>p,html:not([data-theme="night"]) .contact-note,html:not([data-theme="night"]) .vp-note{color:#65536d!important}
.hero-description{font-size:15px!important;line-height:1.95!important}
.decoration-settings{display:flex;flex-wrap:wrap;align-items:center;justify-content:inherit;gap:8px;margin:20px 0 0;font:12px/1.5 Arial,sans-serif;color:var(--muted,#68516f)}
.decoration-settings button{min-height:44px;padding:9px 16px;border:1px solid currentColor;border-radius:22px;background:var(--paper,#fff8fc);color:var(--ink,#49394f);font:700 13px/1.4 Arial,sans-serif;cursor:pointer}
.decoration-settings button:focus-visible,.vp-work-expand:focus-visible{outline:3px solid #b65e97;outline-offset:4px}
html:not([data-decorations="on"]) [data-yukinon-mascot],html:not([data-decorations="on"]) .hero-charms,html:not([data-decorations="on"]) .yukinon-charm-playground,html:not([data-decorations="on"]) .is-playable-charm{visibility:hidden!important;pointer-events:none!important}
.vp-public-voice{display:inline-block;margin:0 0 24px;color:var(--pink-deep,#a34e85);font-weight:700}
.vp-preparing{margin-top:12px}.vp-preparing summary{cursor:pointer;min-height:44px;padding:12px 0;font-size:15px}.vp-work-expand{display:none}
.login-card form>label{display:block;text-align:left;color:#f1dfb3;font-size:15px;line-height:1.6;margin:10px 0 4px}
.login-card input::placeholder{color:#c4b9c7;opacity:1}
@media(max-width:600px){
  .schedule-week{grid-template-columns:1fr!important;gap:8px!important}
  .schedule-day{display:grid!important;grid-template-columns:28px 32px 32px 1fr;align-items:center;gap:12px;min-height:54px;padding:10px 14px!important;text-align:left!important}
  .schedule-day-number{font-size:18px!important;margin:0!important}
  .schedule-day-name{font-size:14px!important}
  .schedule-day-status{margin:0!important}
  .schedule-day small{font-size:14px!important;text-align:right}
  .schedule-week-note p{font-size:13px!important}
  .hero-description{font-size:14px!important}
  .vp-work-description{max-height:160px!important;height:auto!important;overflow:hidden!important}
  .vp-work-description.is-expanded{max-height:none!important}
  .vp-work-expand:not([hidden]){display:block;min-height:44px;padding:10px 16px;margin-top:12px;border:1px solid var(--line);border-radius:18px;color:var(--ink);background:var(--paper);font:inherit;cursor:pointer}
  .vp-work-scroll-hint{display:none!important}
  [data-works]>article{min-height:0!important}
}
@media(min-width:601px) and (max-width:1180px){
  .hero-left{min-height:0!important;height:clamp(440px,65vw,690px)!important}
  .hero-left-art{background-position:center 30%!important}
}
@media(max-width:1180px){.decoration-settings{justify-content:center}}
