/* ============================================================
   Hive Haven — Request a Quote form styles
   Inherits ALL design tokens from assets/global.css
   (colors / fonts / radius / buttons / spacing), extracted
   from the Home page. This file only styles the form layout.
   ============================================================ */

/* Body wrapper — quiet paper background like Home */
.hh-quote-wrap{
  max-width:840px;
  margin:0 auto;
  padding:70px 0 90px;
}
.hh-quote-intro{
  text-align:center;
  margin-bottom:44px;
}
.hh-quote-title{
  font-family:var(--hh-font-serif);
  font-size:clamp(34px,4.4vw,52px);
  font-weight:400;
  line-height:1.08;
  margin:12px 0 14px;
  color:var(--hh-ink);
}
.hh-quote-sub{
  font-size:16px;
  color:var(--hh-ink-soft);
  font-weight:300;
  line-height:1.7;
  max-width:600px;
  margin:0 auto;
}

/* Notices (warm, toned-down status colors that fit the palette) */
.hh-quote-notice{
  padding:18px 22px;
  border-radius:14px;
  font-size:15px;
  font-weight:500;
  line-height:1.6;
  margin-bottom:28px;
  border:1.5px solid;
  font-family:var(--hh-font-sans);
}
.hh-quote-success{
  background:#f2f6ec;
  border-color:#d8e3c9;
  color:#55703a;
}
.hh-quote-error{
  background:#faf1ec;
  border-color:#e9d6c8;
  color:#96513a;
}

/* Form panel (card language from Home) */
.hh-quote-form{
  background:var(--hh-cream);
  border:1px solid var(--hh-line);
  border-radius:22px;
  padding:44px;
  box-shadow:0 24px 50px -30px rgba(27,26,23,.28);
}
.hh-quote-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
}
.hh-field-full{
  grid-column:1 / -1;
}
.hh-field label{
  display:block;
  font-size:13px;
  font-weight:600;
  letter-spacing:.03em;
  color:var(--hh-ink);
  margin-bottom:8px;
  font-family:var(--hh-font-sans);
}
.hh-field .req{color:var(--hh-amber-deep)}
.hh-field input[type=text],
.hh-field input[type=email],
.hh-field select,
.hh-field textarea{
  width:100%;
  padding:13px 16px;
  border:1.5px solid var(--hh-line);
  border-radius:var(--hh-radius-control);
  background:#fff;
  font-size:15px;
  color:var(--hh-ink);
  transition:border-color .2s, box-shadow .2s;
  box-sizing:border-box;
  font-family:var(--hh-font-sans);
}
.hh-field textarea{
  resize:vertical;
  min-height:120px;
}
.hh-field input:focus,
.hh-field textarea:focus,
.hh-field select:focus{
  outline:none;
  border-color:var(--hh-amber);
  box-shadow:0 0 0 3px rgba(201,138,46,.15);
}
.hh-field input::placeholder,
.hh-field textarea::placeholder{
  color:#b3ab9c;
  font-weight:300;
}
.hh-quote-submit{
  width:100%;
  padding:16px 34px;
  font-size:15.5px;
}

/* Honeypot: hidden from humans, present for bots */
.hh-quote-hp{
  position:absolute !important;
  left:-9999px !important;
  top:auto;
  width:1px;
  height:1px;
  overflow:hidden;
}

.hh-quote-note{
  font-size:12.5px;
  color:var(--hh-ink-soft);
  opacity:.8;
  text-align:center;
  margin:22px 0 0;
  font-weight:300;
}

/* Tablet / mobile (Home breakpoints: 900 / 560) */
@media(max-width:900px){
  .hh-quote-wrap{padding:50px 0 70px}
  .hh-quote-form{padding:30px 24px;border-radius:18px}
  .hh-quote-grid{grid-template-columns:1fr;gap:16px}
  .hh-field-full{grid-column:auto}
}
@media(max-width:640px){
  .hh-quote-title{font-size:clamp(30px,9vw,38px)}
}