/* ux3-quote: Quick Quote form motion + honest completion states */
@media (prefers-reduced-motion: no-preference) {
  .pq-card .pq-opt,
  .pq-card .pq-chip,
  .pq-card .pq-step button {
    transition: border-color .18s ease, background .18s ease, transform .12s ease, box-shadow .18s ease;
  }
  .pq-card .pq-opt:active,
  .pq-card .pq-chip:active,
  .pq-card .pq-step button:active { transform: scale(.97); }
  .pq-amt { transition: opacity .2s ease, transform .2s ease; }
  .pq-amt.pq-tick { opacity: .55; transform: translateY(2px); }
  .pq-lf {
    display: none;
    overflow: hidden;
    opacity: 0;
    transform: translateY(8px);
    transition: opacity .28s ease, transform .28s ease;
  }
  .pq-lf.pq-on {
    display: grid;
    opacity: 1;
    transform: none;
    animation: pq-in .32s ease both;
  }
  .pq-ty {
    display: none;
    opacity: 0;
    transform: translateY(6px);
  }
  .pq-ty.pq-on {
    display: block;
    animation: pq-in .36s ease both;
  }
  @keyframes pq-in {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: none; }
  }
}
.pq-lf.pq-on { display: grid; }
.pq-ty.pq-on { display: block; }

.pq-lf label {
  display: flex; flex-direction: column; gap: 4px;
  font: 700 12px Inter, system-ui, sans-serif; color: #5b6675; letter-spacing: .04em; text-transform: uppercase;
}
.pq-lf input, .pq-lf select {
  width: 100%; border: 2px solid #dde3ea; border-radius: 10px; padding: 10px;
  font: 500 15px Inter, system-ui, sans-serif; color: #0B2545; background: #fff;
  transition: border-color .15s ease, box-shadow .15s ease;
}
.pq-lf input:focus, .pq-lf select:focus {
  outline: none; border-color: #FF7A00; box-shadow: 0 0 0 3px #FF7A0033;
}
.pq-lf input.pq-bad, .pq-lf select.pq-bad { border-color: #c0392b; box-shadow: 0 0 0 3px #c0392b22; }
.pq-err {
  display: none; margin-top: 8px; padding: 8px 10px; border-radius: 10px;
  background: #fdecea; color: #8a1f11; font: 700 13px Inter, system-ui, sans-serif;
}
.pq-err.pq-on { display: block; }
.pq-cta[disabled] { opacity: .65; cursor: wait; }
.pq-cta.pq-busy::after { content: "…"; }

.pq-ty h3 { font: 400 22px 'Archivo Black', system-ui, sans-serif; color: var(--navy, #0B2545); }
.pq-ty p { margin-top: 8px; color: #4a5562; font: 500 14px/1.45 Inter, system-ui, sans-serif; }
.pq-ty.pq-ok .pq-ty-badge {
  display: inline-block; margin-bottom: 8px; padding: 4px 10px; border-radius: 999px;
  background: #e7f6ec; color: #1b6b3a; font: 800 11px Inter, system-ui, sans-serif; letter-spacing: .06em;
}
.pq-ty.pq-fail .pq-ty-badge {
  display: inline-block; margin-bottom: 8px; padding: 4px 10px; border-radius: 999px;
  background: #fdecea; color: #8a1f11; font: 800 11px Inter, system-ui, sans-serif; letter-spacing: .06em;
}
.pq-ty .pq-ty-next { margin-top: 14px; display: grid; gap: 8px; }
.pq-ty .pq-ty-next a.pq-cta {
  display: block; text-align: center; text-decoration: none; box-sizing: border-box;
}
.pq-sum {
  margin-top: 12px; text-align: left; background: #f4f7fb; border-radius: 12px; padding: 12px;
  font: 500 13px/1.4 Inter, system-ui, sans-serif; color: #2c3a4a;
}
.pq-sum b { color: #0B2545; }


/* ——— Lead form open: do not clip contact fields / Send button ——— */
/* Fixed 1080px card + overflow:hidden made Send unclickable under overlaps. */
.pq-hero .pq-card:has(.pq-lf.pq-on),
.pq-hero .pq-card:has(.pq-ty.pq-on){
  overflow:visible!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
}
@media (min-width:960px){
  .pq-hero.hero-room:has(.pq-lf.pq-on),
  .pq-hero.hero-room:has(.pq-lf.pq-on) .h11,
  .pq-hero.hero-room:has(.pq-ty.pq-on),
  .pq-hero.hero-room:has(.pq-ty.pq-on) .h11{
    min-height:0!important;
    height:auto!important;
  }
  .pq-hero.hero-room:has(.pq-lf.pq-on) .pq-card,
  .pq-hero.hero-room:has(.pq-ty.pq-on) .pq-card{
    min-height:0!important;
    height:auto!important;
  }
}
.pq-lf.pq-on{
  overflow:visible!important;
  position:relative;
  z-index:6;
  gap:10px;
  margin-top:10px;
  padding-bottom:4px;
}
.pq-lf.pq-on .pq-cta,
#lfsend{
  position:relative;
  z-index:7;
  pointer-events:auto;
  touch-action:manipulation;
  min-height:48px;
}
/* When lead form open, collapse reserved hidden spacer blocks so card can shrink/grow with real content */
.pq-hero .pq-card:has(.pq-lf.pq-on) #intOnly.pq-hide,
.pq-hero .pq-card:has(.pq-lf.pq-on) #roomsQ.pq-hide{
  display:none!important;
  height:0!important;min-height:0!important;max-height:0!important;
}
.pq-hero .pq-card:has(.pq-lf.pq-on) #intOnly{
  min-height:0!important;
}
.pq-hero .pq-card:has(.pq-lf.pq-on) .pq-res{
  min-height:0!important;
  margin-top:8px!important;
}
