/* SAEBA CORE 1.0.0 — theme-agnostic tokens with Lightning-specific page treatments */
:root {
  --saeba-red: #e1002e;
  --saeba-ink: #231815;
  --saeba-paper: #f6f5f2;
  --saeba-line: #e1dcd7;
  --saeba-max: 1180px;
  --saeba-gutter: clamp(20px, 5vw, 68px);
  --saeba-font-en: 'Jost', Arial, sans-serif;
  --saeba-font-ja: 'Noto Sans JP', 'Hiragino Kaku Gothic ProN', sans-serif;
}
body.saeba-core-enabled {
  font-family: var(--saeba-font-ja);
  color: var(--saeba-ink);
  -webkit-font-smoothing: antialiased;
}
body.saeba-core-enabled a:focus-visible,
body.saeba-core-enabled button:focus-visible,
body.saeba-core-enabled input:focus-visible,
body.saeba-core-enabled textarea:focus-visible,
body.saeba-core-enabled select:focus-visible {
  outline: 2px solid var(--saeba-red);
  outline-offset: 3px;
}
body.saeba-core-enabled :where(section, article, div)[id] { scroll-margin-top: 100px; }
@media (max-width:767px) {
  body.saeba-core-enabled :where(section, article, div)[id] { scroll-margin-top: 78px; }
}
/* Only fixed pages: do not alter post or archive layouts. */
body.page.saeba-core-enabled .siteContent { padding-top: 0; }
/* Contact Form 7: legacy .saeba-contact-wrapper remains supported. */
.saeba-contact-wrapper { box-sizing: border-box; width: min(100%, 700px); margin-inline: auto; font-family: var(--saeba-font-ja); }
.saeba-contact-wrapper, .saeba-contact-wrapper * { box-sizing: border-box; }
.saeba-contact-wrapper .form-group { margin-bottom: 24px; }
.saeba-contact-wrapper label { display:block; margin-bottom: 9px; color: var(--saeba-ink); font-size: .93rem; font-weight:700; }
.saeba-contact-wrapper .required { display:inline-block; margin-left: 8px; padding:3px 7px; background:var(--saeba-red); color:#fff; font-size:.68rem; }
.saeba-contact-wrapper .wpcf7-form-control-wrap { display:block; width:100%; }
.saeba-contact-wrapper :is(input:not([type=submit]):not([type=checkbox]):not([type=radio]):not([type=hidden]), textarea, select) {
  display:block; width:100%; padding:15px 16px; border:1px solid #cfc9c5; border-radius:0;
  background:#fff; color:var(--saeba-ink); font:inherit; font-size:16px; line-height:1.6;
}
.saeba-contact-wrapper :is(input,textarea,select):focus { border-color:var(--saeba-red); box-shadow:0 0 0 3px rgba(225,0,46,.1); outline:none; }
.saeba-contact-wrapper textarea { min-height:155px; resize:vertical; }
.saeba-contact-wrapper :is(input[type=checkbox],input[type=radio]) { accent-color:var(--saeba-red); }
.saeba-contact-wrapper :is(.wpcf7-submit,.saeba-submit-btn-simple,input[type=submit]) {
  display:inline-flex; justify-content:center; align-items:center; min-height:52px;
  background:var(--saeba-ink); color:#fff; border:1px solid var(--saeba-ink); border-radius:0;
  padding:14px 44px; font-family:var(--saeba-font-en); font-weight:700; font-size:14px;
  letter-spacing:.13em; cursor:pointer; transition:background .25s,border-color .25s,transform .25s;
}
.saeba-contact-wrapper :is(.wpcf7-submit,.saeba-submit-btn-simple,input[type=submit]):hover { background:var(--saeba-red); border-color:var(--saeba-red); transform:translateY(-2px); }
.saeba-contact-wrapper .wpcf7-not-valid-tip { color:var(--saeba-red); font-size:.82rem; margin-top:6px; }
.saeba-contact-wrapper .wpcf7-response-output { margin:20px 0 0!important; border:1px solid var(--saeba-ink)!important; padding:15px!important; }
@media (prefers-reduced-motion: reduce) {
  .saeba-contact-wrapper :is(.wpcf7-submit,.saeba-submit-btn-simple,input[type=submit]) { transition:none; transform:none!important; }
}
