/* Jackhao.tv V67.1 — contact + guestbook form hardening.
   Keeps labels, controls and actions stacked correctly on narrow mobile viewports. */
.page-contact form[data-form],
.page-guestbook form[data-form]{
  width:min(100%,760px);
  margin-inline:auto;
  display:grid;
  gap:18px;
}
.page-contact form[data-form] .fields,
.page-guestbook form[data-form] .fields{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px 16px;
}
.page-contact form[data-form] .field,
.page-guestbook form[data-form] .field{
  min-width:0;
  display:grid;
  gap:7px;
  margin:0;
}
.page-contact form[data-form] .field.full,
.page-guestbook form[data-form] .field.full{grid-column:1/-1}
.page-contact form[data-form] label,
.page-guestbook form[data-form] label{
  display:block;
  width:100%;
  margin:0;
  color:#5f524a;
  font-size:13px;
  font-weight:750;
  line-height:1.45;
  letter-spacing:.02em;
}
.page-contact form[data-form] :where(input,textarea,select),
.page-guestbook form[data-form] :where(input,textarea,select){
  display:block;
  width:100%;
  max-width:100%;
  min-width:0;
  margin:0;
  padding:13px 14px;
  border:1px solid #d5c5b9;
  border-radius:12px;
  background:#fff;
  color:#2b211c;
  font:inherit;
  line-height:1.5;
  box-shadow:none;
}
.page-contact form[data-form] :where(input,select),
.page-guestbook form[data-form] :where(input,select){min-height:50px}
.page-contact form[data-form] textarea,
.page-guestbook form[data-form] textarea{
  min-height:170px;
  resize:vertical;
}
.page-contact form[data-form] :where(input,textarea,select):focus-visible,
.page-guestbook form[data-form] :where(input,textarea,select):focus-visible{
  outline:3px solid rgba(145,80,51,.18);
  outline-offset:1px;
  border-color:#a97559;
}
.page-contact form[data-form] [hidden],
.page-guestbook form[data-form] [hidden]{display:none!important}
.page-contact form[data-form] .status,
.page-guestbook form[data-form] .status{
  min-height:1.4em;
  margin:0;
  color:#665950;
  font-size:13px;
  line-height:1.6;
}

@media(max-width:700px){
  .page-contact form[data-form],
  .page-guestbook form[data-form]{
    width:100%;
    gap:15px;
    padding:20px!important;
    border-radius:18px!important;
  }
  .page-contact form[data-form] .fields,
  .page-guestbook form[data-form] .fields{
    grid-template-columns:minmax(0,1fr);
    gap:14px;
  }
  .page-contact form[data-form] .field.full,
  .page-guestbook form[data-form] .field.full{grid-column:auto}
  .page-contact form[data-form] label,
  .page-guestbook form[data-form] label{font-size:14px}
  .page-contact form[data-form] :where(input,textarea,select),
  .page-guestbook form[data-form] :where(input,textarea,select){
    font-size:16px;
    padding:13px 14px;
  }
  .page-contact form[data-form] textarea,
  .page-guestbook form[data-form] textarea{min-height:190px}
  .page-contact form[data-form] .btn,
  .page-guestbook form[data-form] .btn{
    width:100%;
    min-height:52px;
  }
}

@media(max-width:390px){
  .page-contact form[data-form],
  .page-guestbook form[data-form]{padding:16px!important}
}
