/* STLPH form styling consumes the shared seasonal calendar; decoration never
   selects an occasion, alters intake, or occupies a control's hit area. */
.quote-season-art { display:none; }
.quote-intro-kicker { margin:0 0 .65rem; font-size:.8rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.section-quote-wizard .quote-form-title { font-size:clamp(1.65rem, 2.7vw, 2.2rem); line-height:1.15; }
.section-quote-wizard .quote-intro p:last-child { margin-bottom:0; max-width:38rem; line-height:1.55; }
.section-quote-wizard .quote-wizard-step { opacity:1; }
.section-quote-wizard .quote-wizard-step-label { font-size:.78rem; line-height:1.35; letter-spacing:0; }
.section-quote-wizard .quote-wizard-step-num { width:1.6rem; height:1.6rem; font-size:.8rem; }
.section-quote-wizard .quote-wizard-progress::before { top:.8rem; }
.section-quote-wizard .quote-wizard-fields { gap:.85rem 1rem; }
.section-quote-wizard .field label { font-size:1rem; line-height:1.4; margin-bottom:.35rem; }
.section-quote-wizard .field :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea) { min-height:48px; font-size:1rem; }
.section-quote-wizard .quote-wizard-nav { margin-top:1.25rem; gap:.75rem; }
.section-quote-wizard .quote-wizard-nav .btn { min-height:48px; }

html[data-925-season="halloween"] .section-quote-wizard { padding-block:1.25rem 2.5rem; }
html[data-925-season="halloween"] .section-quote-wizard .quote-wizard-wrap {
  --quote-gutter:clamp(1rem,3.6vw,2.6rem);
  padding:0 var(--quote-gutter) 1.5rem;
  background:#faf8f5 !important; color:#211b4c;
  border:1px solid #c88c58; border-radius:18px;
  box-shadow:0 15px 45px #211b4c14;
  backdrop-filter:none; -webkit-backdrop-filter:none;
}
html[data-925-season="halloween"] .section-quote-wizard .quote-intro {
  grid-template-columns:minmax(0,1fr) 176px;
  gap:1.25rem 2rem;
  padding:0 var(--quote-gutter) 1.6rem;
  margin:0 calc(-1 * var(--quote-gutter)) 1.5rem;
  background:#231e2c; color:#fff5e6;
  border-radius:17px 17px 0 0; border-bottom:3px solid #d78c43;
}
html[data-925-season="halloween"] .quote-season-art {
  display:block; grid-column:1/-1; height:64px;
  margin-inline:calc(-1 * var(--quote-gutter));
  background:url('quote-halloween.svg') center top / auto 64px no-repeat;
  pointer-events:none;
}
html[data-925-season="halloween"] .section-quote-wizard .quote-intro :is(h1,p) {
  color:#fff5e6; -webkit-text-fill-color:currentColor; text-shadow:none; opacity:1;
}
html[data-925-season="halloween"] .section-quote-wizard .quote-intro .quote-intro-kicker { color:#edb35c; }
html[data-925-season="halloween"] .quote-intro .page-media { margin:0; }
html[data-925-season="halloween"] .quote-intro .page-media img {
  padding:5px; background:#332b3c; border-color:#c88c58; border-radius:10px;
  box-shadow:none;
}
html[data-925-season="halloween"] .quote-intro .page-media figcaption {
  color:#ecdfd4; font-size:.8rem; line-height:1.45; margin-top:.5rem;
}
html[data-925-season="halloween"] .section-quote-wizard .quote-wizard-step-num {
  background:#faf8f5; color:#57352c; box-shadow:0 0 0 1px #b58e78;
}
html[data-925-season="halloween"] .section-quote-wizard .quote-wizard-step:is(.is-active,.is-done) .quote-wizard-step-num {
  background:var(--s925-accent); color:#fff5e6; box-shadow:0 0 0 3px #f1dbc5;
}
html[data-925-season="halloween"] .section-quote-wizard .quote-wizard-step.is-active .quote-wizard-step-label { color:#913827; }
html[data-925-season="halloween"] .section-quote-wizard .quote-context-chip { background:#f3e1cc; color:#57352c; }
html[data-925-season="halloween"] .section-quote-wizard .field :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea) {
  background:#fff; color:#211b4c; border-color:#a07863;
}
html[data-925-season="halloween"] .section-quote-wizard .field :is(input,select,textarea):focus-visible {
  outline:3px solid #913827; outline-offset:3px;
}
html[data-925-season="halloween"] .section-quote-wizard .field :is(input,select,textarea).is-invalid,
html[data-925-season="halloween"] .section-quote-wizard .field.is-invalid :is(input,select,textarea) { border-color:#a02f2f; }

@media(max-width:759px) {
  html[data-925-season="halloween"] .section-quote-wizard .quote-intro { grid-template-columns:minmax(0,1fr); gap:1rem; padding-bottom:1.25rem; }
  html[data-925-season="halloween"] .quote-season-art { height:48px; background-size:auto 48px; }
  html[data-925-season="halloween"] .quote-intro .page-media { width:176px; max-width:100%; }
  html[data-925-season="halloween"] .quote-intro .page-media img { aspect-ratio:2/1; }
  .section-quote-wizard .quote-wizard-progress { gap:.4rem; }
  .section-quote-wizard .quote-wizard-step-label { font-size:.75rem; }
}
@media(max-width:359px) {
  .section-quote-wizard .quote-wizard-progress { grid-template-columns:repeat(2,minmax(0,1fr)); gap:.65rem; }
  .section-quote-wizard .quote-wizard-progress::before { display:none; }
  .section-quote-wizard .quote-wizard-step { flex-direction:row; text-align:left; }
  .section-quote-wizard .quote-wizard-step-num { flex-shrink:0; }
}
@media print { .quote-season-art { display:none !important; } }
