/* kisoba — quiet editorial polish, autumn 2026.
   Layered after kisoba-refinements.css; no content or hero alterations.
   Remove this stylesheet reference to return to the exact previous design. */
:root{
  --kisoba-polish-ink:#292c28;
  --kisoba-polish-olive:#57634f;
  --kisoba-polish-warm:#b09a7e;
  --kisoba-polish-paper:#fbfaf7;
  --kisoba-polish-muted:#817b6f;
  --kisoba-polish-hairline:#dfd9d0;
}
body,#page-content{background-color:var(--kisoba-polish-paper)!important}
#page-content #about,#page-content #history,#page-content #booking{background-color:transparent!important}

/* A single small line above each editorial label connects the five sections. */
#page-content #about h3.heading-secondary,
#page-content #history h3.heading-secondary,
#page-content .kisoba-editorial-intro h3.heading-secondary{
  color:var(--kisoba-polish-muted)!important;
  font-weight:500!important;
  font-size:clamp(12px,1vw,13px)!important;
  letter-spacing:.17em!important;
}
#page-content #about h3.heading-secondary::before,
#page-content #history h3.heading-secondary::before,
#page-content .kisoba-editorial-intro h3.heading-secondary::before{
  content:"";display:block;width:34px;height:1px;
  background:var(--kisoba-polish-warm);margin:0 auto 18px;
}

/* Quiet Japanese typography; keep prose left-aligned rather than justify. */
#page-content #about h2.heading-primary,
#page-content #history h2.heading-primary,
#page-content .kisoba-editorial-main-heading{
  color:var(--kisoba-polish-ink)!important;
  font-weight:400!important;
  letter-spacing:.035em!important;
  line-height:1.68!important;
  text-wrap:balance;
}
#about .kisoba-about-description,
#history .kisoba-history-intro-copy,
#history .kisoba-history-text-column > .elementor-column-wrap,
#booking .kisoba-booking-copy{max-width:800px!important}
#page-content #about .kisoba-about-description p,
#page-content #history .kisoba-history-intro-copy p,
#page-content #history .kisoba-history-text-column p,
#page-content #booking .kisoba-booking-copy p{
  line-height:2.12!important;letter-spacing:.035em!important;
}

/* The six archival photos belong to one calm, gallery-like field. */
#history .kisoba-history-gallery-band::before{
  background:#edece7!important;
  box-shadow:inset 0 1px 0 rgba(95,85,70,.08),inset 0 -1px 0 rgba(95,85,70,.08);
}
#history .kisoba-history-gallery-band{
  padding:clamp(38px,4.8vw,66px) 0!important;
}
/* A thin dark hairline and a narrow off-white mat give the old photographs
   the same crisp tonal separation as the full-width color photographs. */
#history .kisoba-history-gallery-item a{
  padding:clamp(4px,.55vw,7px);
  background:#fffefa;
  border:1px solid rgba(42,43,39,.32);
  box-shadow:0 2px 5px rgba(27,29,26,.11),0 12px 24px rgba(27,29,26,.14);
}
#history .kisoba-history-gallery-item img{
  box-shadow:none!important;
}

/* The Booking invitation remains an unmistakable link, without button chrome. */
#page-content .kisoba-booking-intro .kisoba-editorial-main-heading a{
  color:var(--kisoba-polish-ink)!important;
  text-decoration-color:var(--kisoba-polish-warm)!important;
  text-decoration-thickness:1px!important;
  text-underline-offset:.28em;
}

/* Contact: a full-bleed unbleached-paper band, not a bordered card. The label,
   heading and form are grouped within a single softly colored field. */
#page-content .kisoba-inquiry-band{
  width:100%;position:relative;isolation:isolate;z-index:1;
  margin:clamp(76px,8vw,116px) 0 0!important;
  padding:clamp(56px,6vw,84px) 0 clamp(58px,6vw,88px)!important;
}
#page-content .kisoba-inquiry-band::before{
  content:"";position:absolute;inset:0 auto 0 50%;z-index:-1;
  width:100vw;transform:translateX(-50%);background:#f5f1e9;
}
#page-content .kisoba-inquiry-band .kisoba-inquiry-intro{
  margin-top:0!important;
}
#page-content .kisoba-inquiry-band #contact{
  background:transparent!important;margin-top:clamp(24px,3vw,36px)!important;
}
#page-content .kisoba-inquiry-band #contact .elementor-element.elementor-element-0fae172{
  background:transparent!important;
  border:0!important;border-radius:0!important;box-shadow:none!important;
  padding:0 clamp(24px,4vw,48px)!important;
}
#page-content #contact .elementor-form input:not([type=hidden]),
#page-content #contact .elementor-form textarea{
  border:1px solid #d7d2c9!important;
  border-radius:1px!important;
  box-shadow:none!important;
  background:#fff!important;
  color:var(--kisoba-polish-ink)!important;
  padding:14px 16px!important;
  transition:border-color .18s ease;
}
#contact .elementor-form input::placeholder,
#contact .elementor-form textarea::placeholder{color:#7d7a74;opacity:1}
#contact .elementor-form input:focus,
#contact .elementor-form textarea:focus{
  border-color:var(--kisoba-polish-olive)!important;
  outline:2px solid rgba(87,99,79,.14)!important;outline-offset:1px;
}
#contact .elementor-field-type-html > div{
  font-style:normal!important;font-size:13px!important;color:var(--kisoba-polish-muted)!important;
}
#contact .elementor-form button[type=submit]{
  background:var(--kisoba-polish-olive)!important;
  color:#fff!important;border-radius:1px!important;
  font-size:14px!important;letter-spacing:.1em!important;
  box-shadow:none!important;transform:none!important;
}
#contact .elementor-form button[type=submit]:hover:not(:disabled){background:#3e4939!important}
#contact .elementor-form button[type=submit]:disabled{opacity:.5;cursor:not-allowed}
#contact .kisoba-form-privacy{color:var(--kisoba-polish-muted)!important}
#contact .kisoba-form-privacy a{color:var(--kisoba-polish-olive)!important}

/* Old Elementor sets the desktop inquiry column to 62% and left-aligns
   its submit group. Center a single readable form column and its button.
   The mobile layout is intentionally unchanged. */
@media(min-width:761px){
  #page-content #contact .elementor-element.elementor-element-b1489e0{
    width:100%!important;max-width:100%!important;margin-inline:auto!important;
  }
  #page-content #contact .elementor-widget-form{width:100%!important}
  #page-content #contact #kisoba-contact-form{
    width:100%!important;max-width:680px!important;
    margin-left:auto!important;margin-right:auto!important;
  }
  #page-content #contact #kisoba-contact-form .elementor-form-fields-wrapper{
    width:100%!important;margin-left:0!important;margin-right:0!important;
    justify-content:center!important;
  }
  #page-content #contact #kisoba-contact-form .elementor-field-group-name,
  #page-content #contact #kisoba-contact-form .elementor-field-group-email,
  #page-content #contact #kisoba-contact-form .elementor-field-group-message{
    width:100%!important;max-width:100%!important;flex-basis:100%!important;
    padding-left:0!important;padding-right:0!important;
  }
  #page-content #contact #kisoba-contact-form input:not([type=hidden]),
  #page-content #contact #kisoba-contact-form textarea{
    width:100%!important;box-sizing:border-box!important;
  }
  #page-content #contact #kisoba-contact-form .elementor-field-type-submit{
    display:flex!important;justify-content:center!important;
    width:100%!important;max-width:100%!important;flex-basis:100%!important;
    padding-left:0!important;padding-right:0!important;
  }
  #page-content #contact #kisoba-contact-form button[type=submit]{
    margin-left:auto!important;margin-right:auto!important;
  }
}

/* Finish the page with the same quiet green-black as the hero's shadows. */
#page-footer,#page-footer.kisoba-footer{
  background:#292e29!important;border-top:1px solid rgba(255,255,255,.1);
}

@media(max-width:760px){
  #page-content #about h3.heading-secondary::before,
  #page-content #history h3.heading-secondary::before,
  #page-content .kisoba-editorial-intro h3.heading-secondary::before{
    margin-bottom:14px;
  }
  #page-content #about .kisoba-about-description p,
  #page-content #history .kisoba-history-intro-copy p,
  #page-content #history .kisoba-history-text-column p,
  #page-content #booking .kisoba-booking-copy p{
    letter-spacing:.018em!important;line-height:2.02!important;
  }
  #history .kisoba-history-gallery-band{padding:30px 0!important}
  #history .kisoba-history-gallery-item a{padding:3px}
  #page-content .kisoba-inquiry-band{
    margin-top:62px!important;padding:48px 0 54px!important;
  }
  #page-content .kisoba-inquiry-band #contact .elementor-element.elementor-element-0fae172{
    padding:0 19px!important;
  }
}
@media(prefers-reduced-motion:reduce){
  #page-content #contact .elementor-form input,
  #page-content #contact .elementor-form textarea{transition:none}
}
