
/* =========================================================
   KATO OIL | Contact Hub / Inquiry Forms
   ========================================================= */
.kt-contact-main{padding-bottom:120px}
.kt-contact-section-head{margin:0 0 30px}
.kt-contact-section-head>span,
.kt-contact-form-guide>span,
.kt-contact-phone>div>span{
  display:block;
  margin:0 0 12px;
  font-family:var(--kt-font-en);
  font-size:11px;
  font-weight:600;
  letter-spacing:.28em;
  color:var(--kt-accent-text);
}
.kt-contact-section-head h2,
.kt-contact-phone h2,
.kt-contact-form-guide h2{
  margin:0;
  font-size:30px;
  line-height:1.45;
  letter-spacing:.04em;
}
.kt-contact-hub{padding:24px 0 96px;border-top:1px solid var(--kt-line)}
.kt-contact-hub__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.kt-contact-card{
  position:relative;
  display:flex;
  min-height:260px;
  padding:34px 34px 32px;
  flex-direction:column;
  border:1px solid var(--kt-line);
  background:#111922;
  color:#fff;
  transition:background .24s ease,border-color .24s ease,transform .24s ease;
}
.kt-contact-card:hover{background:#152231;border-color:rgba(76,154,255,.72);transform:translateY(-2px);color:#fff}
.kt-contact-card__en{
  font-family:var(--kt-font-en);
  font-size:10px;
  font-weight:600;
  letter-spacing:.28em;
  color:var(--kt-accent-text);
}
.kt-contact-card strong{display:block;margin-top:18px;font-size:22px;line-height:1.5;letter-spacing:.06em}
.kt-contact-card p{margin:18px 0 0;max-width:30em;font-size:16px;line-height:2;color:var(--kt-text-72)}
.kt-contact-card i{
  position:absolute;
  right:30px;
  bottom:30px;
  width:38px;
  height:1px;
  background:var(--kt-accent-base);
  transition:transform .22s ease;
}
.kt-contact-card i:after{
  content:"";
  position:absolute;
  right:0;
  top:-3px;
  width:7px;
  height:7px;
  border-top:1px solid var(--kt-accent-base);
  border-right:1px solid var(--kt-accent-base);
  transform:rotate(45deg);
}
.kt-contact-card:hover i{transform:translateX(5px)}

.kt-contact-phone{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(420px,.88fr);
  align-items:center;
  gap:52px;
  padding:46px 48px;
  border-top:2px solid var(--kt-accent-base);
  background:#111922;
}
.kt-contact-phone p{margin:14px 0 0;font-size:16px;line-height:1.9;color:var(--kt-text-72)}
.kt-contact-phone__info>a{
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:end;
  gap:12px;
  min-height:96px;
  padding:20px 24px;
  border:1px solid var(--kt-line);
  background:#0d151e;
  color:#fff;
  transition:border-color .22s ease,background .22s ease;
}
.kt-contact-phone__info>a:hover{border-color:var(--kt-accent-base);background:#13202d;color:#fff}
.kt-contact-phone__info>a small{align-self:center;font-family:var(--kt-font-en);font-size:10px;letter-spacing:.26em;color:var(--kt-accent-text)}
.kt-contact-phone__info>a strong{font-family:var(--kt-font-en);font-size:30px;font-weight:600;letter-spacing:.04em}
.kt-contact-phone__info>a em{padding-bottom:5px;font-size:11px;font-style:normal;color:var(--kt-text-58)}


.kt-contact-phone__info{min-width:0}
.kt-contact-phone__schedule{
  margin:18px 0 0;
  padding:0;
  border-top:1px solid var(--kt-line-soft);
}
.kt-contact-phone__schedule>div{
  display:grid;
  grid-template-columns:72px minmax(0,1fr);
  column-gap:18px;
  padding:11px 0;
  border-bottom:1px solid var(--kt-line-soft);
  font-size:13px;
  line-height:1.75;
}
.kt-contact-phone__schedule dt{
  margin:0;
  color:var(--kt-text-58);
  white-space:nowrap;
}
.kt-contact-phone__schedule dd{
  min-width:0;
  margin:0;
  color:#fff;
  overflow-wrap:anywhere;
}
.kt-contact-phone__schedule dd span{white-space:nowrap}

/* Forms */
.kt-contact-form-layout{
  display:grid;
  grid-template-columns:minmax(220px,280px) minmax(0,1fr);
  gap:56px;
  padding:24px 0 0;
  border-top:1px solid var(--kt-line);
}
.kt-contact-form-guide{position:sticky;top:118px;align-self:start}
.kt-contact-form-guide h2{font-size:24px}
.kt-contact-form-guide ul{margin:26px 0 0;padding:0;list-style:none;border-top:1px solid var(--kt-line)}
.kt-contact-form-guide li{position:relative;padding:14px 0 14px 18px;border-bottom:1px solid var(--kt-line-soft);font-size:12px;line-height:1.8;color:var(--kt-text-72)}
.kt-contact-form-guide li:before{content:"";position:absolute;left:1px;top:24px;width:5px;height:5px;border-radius:50%;background:var(--kt-accent-base)}
.kt-contact-form-guide>a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-top:28px;
  min-height:54px;
  padding:0 18px;
  border:1px solid var(--kt-line);
  background:#111922;
  font-size:12px;
  font-weight:700;
}
.kt-contact-form-guide>a i{position:relative;width:24px;height:1px;background:var(--kt-accent-base)}
.kt-contact-form-guide>a i:after{content:"";position:absolute;right:0;top:-3px;width:7px;height:7px;border-top:1px solid var(--kt-accent-base);border-right:1px solid var(--kt-accent-base);transform:rotate(45deg)}
.kt-contact-form-guide>a:hover{border-color:var(--kt-accent-base);color:#fff}

.kt-contact-form-panel{
  min-width:0;
  padding:38px 42px 44px;
  border-top:2px solid var(--kt-accent-base);
  background:#111922;
}
.kt-contact-form__vehicle{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  margin:-6px 0 34px;
  padding:18px 20px;
  border:1px solid rgba(76,154,255,.34);
  background:rgba(31,111,214,.08);
}
.kt-contact-form__vehicle span{font-family:var(--kt-font-en);font-size:9px;font-weight:600;letter-spacing:.24em;color:var(--kt-accent-text)}
.kt-contact-form__vehicle strong{font-size:18px;letter-spacing:.05em}
.kt-contact-form__admin-note{
  margin:0 0 26px;
  padding:14px 16px;
  border:1px solid rgba(255,196,76,.36);
  background:rgba(255,196,76,.07);
  color:#f3d99a;
  font-size:12px;
  line-height:1.8;
}
.kt-contact-form__admin-note code{color:#fff}
.kt-contact-form__unavailable{padding:48px 0}
.kt-contact-form__unavailable h2{margin:0;font-size:24px}
.kt-contact-form__unavailable p{margin:16px 0 0;font-size:16px;line-height:2;color:var(--kt-text-72)}

.kt-contact-form-panel .wpcf7-form{margin:0}
.kt-contact-form__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 30px}
.kt-contact-form__field{padding:0 0 26px}
.kt-contact-form__field--full{grid-column:1/-1}
.kt-contact-form__field>label,
.kt-contact-form__label{
  display:flex;
  align-items:baseline;
  gap:7px;
  margin:0 0 10px;
  font-size:13px;
  font-weight:700;
  letter-spacing:.05em;
}
.kt-contact-form__required,
.kt-contact-form__optional{
  display:inline-flex;
  align-items:center;
  min-height:0;
  padding:1px 5px 0;
  font-family:var(--kt-font-jp);
  font-size:9px;
  font-weight:700;
  font-style:normal;
  line-height:1.35;
  letter-spacing:.06em;
  vertical-align:baseline;
  transform:translateY(-1px);
  border:1px solid rgba(76,154,255,.58);
  color:var(--kt-accent-text);
}
.kt-contact-form__optional{border-color:var(--kt-line);color:var(--kt-text-45)}
.kt-contact-form-panel .wpcf7-form-control-wrap{display:block}
.kt-contact-form-panel input[type="text"],
.kt-contact-form-panel input[type="email"],
.kt-contact-form-panel input[type="tel"],
.kt-contact-form-panel select,
.kt-contact-form-panel textarea{
  display:block;
  width:100%;
  min-height:54px;
  padding:12px 14px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:0;
  outline:0;
  background:#0c141d;
  color:#fff;
  font:500 16px/1.6 var(--kt-font-jp);
  box-shadow:none;
  transition:border-color .2s ease,background .2s ease;
  box-sizing:border-box;
}
.kt-contact-form-panel textarea{min-height:190px;resize:vertical}
.kt-contact-form-panel input:focus,
.kt-contact-form-panel select:focus,
.kt-contact-form-panel textarea:focus{border-color:var(--kt-accent-base);background:#101b27}
.kt-contact-form-panel input::placeholder,
.kt-contact-form-panel textarea::placeholder{color:rgba(255,255,255,.36)}
.kt-contact-form-panel select{appearance:auto}
.kt-contact-form-panel input[readonly]{background:#17212b;color:rgba(255,255,255,.74)}
.kt-contact-form__vehicle-hint{display:block;margin-top:7px;font-size:11px;line-height:1.7;color:var(--kt-text-45)}

.kt-contact-form__consent{
  margin:6px 0 4px;
  padding:22px 20px;
  border:1px solid var(--kt-line);
  background:#0c141d;
  font-size:13px;
  line-height:1.8;
}
.kt-contact-form__consent .wpcf7-list-item{margin:0}
.kt-contact-form__consent label{display:flex;align-items:flex-start;gap:10px;cursor:pointer}
.kt-contact-form__consent input{width:18px;height:18px;margin:4px 0 0;accent-color:var(--kt-accent-base);flex:none}
.kt-contact-form__consent a{color:var(--kt-accent-text);text-decoration:underline;text-underline-offset:3px}
.kt-contact-form__submit{position:relative;padding-top:8px}
.kt-contact-form-panel input[type="submit"]{
  width:100%;
  min-height:72px;
  padding:0 62px 0 26px;
  border:0;
  border-radius:0;
  background:var(--kt-accent-fill);
  color:#fff;
  font:700 18px/1.5 var(--kt-font-jp);
  letter-spacing:.08em;
  text-align:left;
  cursor:pointer;
  transition:background .22s ease;
}
.kt-contact-form-panel input[type="submit"]:hover{background:var(--kt-accent-base)}
.kt-contact-form__submit:after{
  content:"";
  position:absolute;
  right:28px;
  top:44px;
  width:36px;
  height:1px;
  background:#fff;
  pointer-events:none;
}
.kt-contact-form__submit:before{
  content:"";
  position:absolute;
  right:28px;
  top:41px;
  width:7px;
  height:7px;
  border-top:1px solid #fff;
  border-right:1px solid #fff;
  transform:rotate(45deg);
  pointer-events:none;
}
.kt-contact-form-panel .wpcf7-not-valid-tip{margin-top:7px;color:#ff9191;font-size:11px}
.kt-contact-form-panel .wpcf7-response-output{margin:22px 0 0!important;padding:14px 16px!important;border-width:1px!important;font-size:12px;line-height:1.8}
.kt-contact-form__submit .wpcf7-spinner{position:absolute;right:78px;top:32px;margin:0}
.kt-contact-form-panel .wpcf7-spinner{margin-top:0}

/* Primary CTA system compatibility */
.kt-contact-form-panel .kt-lower-primary-cta{min-height:72px}

@media(max-width:1279px){
  .kt-contact-hub__grid{gap:12px}
  .kt-contact-card{min-height:238px;padding:28px 26px}
  .kt-contact-phone{grid-template-columns:minmax(0,1fr) minmax(360px,.88fr);gap:34px}
  .kt-contact-form-layout{grid-template-columns:220px minmax(0,1fr);gap:34px}
  .kt-contact-form-panel{padding:34px 30px 40px}
}
@media(max-width:1023px){
  .kt-contact-main{padding-bottom:88px}
  .kt-contact-hub{padding:10px 0 72px}
  .kt-contact-hub__grid{grid-template-columns:1fr}
  .kt-contact-card{min-height:0;padding:24px 22px 64px}
  .kt-contact-card strong{font-size:19px}
  .kt-contact-card p{font-size:13px}
  .kt-contact-phone{display:block;padding:30px 24px}
  .kt-contact-phone h2{font-size:23px}
  .kt-contact-phone__info{margin-top:26px}
  .kt-contact-phone__info>a{min-height:76px}
  .kt-contact-phone__info>a strong{font-size:25px}
  .kt-contact-form-layout{display:block;padding-top:0}
  .kt-contact-form-guide{position:static;margin-bottom:30px}
  .kt-contact-form-guide ul{display:none}
  .kt-contact-form-guide>a{margin-top:18px}
  .kt-contact-form-panel{padding:28px 20px 34px}
  .kt-contact-form__grid{grid-template-columns:1fr;gap:0}
  .kt-contact-form__field{padding-bottom:22px}
  .kt-contact-form__vehicle{display:block}
  .kt-contact-form__vehicle strong{display:block;margin-top:9px;font-size:18px}
}
@media(max-width:599px){
  .kt-contact-section-head h2{font-size:24px}
  .kt-contact-card{padding-left:18px;padding-right:18px}
  .kt-contact-phone{padding:26px 18px}
  .kt-contact-phone__info>a{grid-template-columns:auto 1fr;gap:10px}
  .kt-contact-phone__info>a em{display:none}
  .kt-contact-phone__info>a strong{font-size:23px}
  .kt-contact-phone__schedule>div{grid-template-columns:68px minmax(0,1fr);column-gap:12px;font-size:12px}
  .kt-contact-form-panel{margin-left:-2px;margin-right:-2px;padding:26px 16px 32px}
  .kt-contact-form-panel input[type="text"],
  .kt-contact-form-panel input[type="email"],
  .kt-contact-form-panel input[type="tel"],
  .kt-contact-form-panel select,
  .kt-contact-form-panel textarea{font-size:18px}
}

/* 10/16 FB: white input panel, keep exterior dark and CTA blue. */
.kt-contact-site .kt-contact-form-panel{background:#fff;color:#0b2545;border-top-color:#1f6fd6}
.kt-contact-site .kt-contact-form-panel .kt-contact-form__field>label,.kt-contact-site .kt-contact-form-panel .kt-contact-form__label{color:#0b2545}
.kt-contact-site .kt-contact-form-panel :is(input[type="text"],input[type="email"],input[type="tel"],select,textarea){background:#fff;color:#0b2545;border:1px solid #b8c5d4}
.kt-contact-site .kt-contact-form-panel :is(input[type="text"],input[type="email"],input[type="tel"],select,textarea):focus{background:#fff;border-color:#1f6fd6;box-shadow:0 0 0 2px rgba(31,111,214,.16)}
.kt-contact-site .kt-contact-form-panel :is(input,textarea)::placeholder{color:#60758c}
.kt-contact-site .kt-contact-form-panel .kt-contact-form__consent{background:#f5f8fb;border-color:#dae1e9;color:#0b2545}
.kt-contact-site .kt-contact-form-panel .kt-contact-form__consent a{color:#1558ae}
.kt-contact-site .kt-contact-form-panel .kt-contact-form__optional{color:#485d75;border-color:#9babbc}
.kt-contact-site .kt-contact-form-panel .kt-contact-form__required{color:#1558ae;border-color:#8babd7}
.kt-contact-site .kt-contact-form-panel .kt-contact-form__admin-note{background:#fff7df;color:#62470a;border-color:#e9c67c}
.kt-contact-site .kt-contact-form-panel .kt-contact-form__admin-note code{color:#62470a}
.kt-contact-site .kt-contact-form-panel .kt-contact-form__vehicle{background:#eff5fe;color:#0b2545}
.kt-contact-site .kt-contact-form-panel .kt-contact-form__vehicle-hint{color:#445d77}
.kt-contact-site .kt-contact-form-panel .wpcf7-not-valid-tip{color:#b22b2b}
