.quote-page { background: #eadfcc; }
.quote-main { min-height: 100vh; padding: 10rem 4rem 6rem; background: linear-gradient(180deg, #2b211b 0, #3a2d25 25rem, #eadfcc 25rem, #f4ecdf 100%); }
.quote-intro { max-width: 780px; margin: 0 auto 3rem; text-align: center; color: var(--chalk); }
.quote-intro h1 { margin: .4rem 0 1rem; font-family: "Cormorant Garamond", serif; font-size: clamp(3rem, 6vw, 5rem); font-weight: 300; line-height: 1; }
.quote-intro > p:last-child { margin: 0; color: rgba(255,250,240,.74); font-size: 1.05rem; line-height: 1.75; }
.quote-steps { display: grid; grid-template-columns: repeat(3, 1fr); max-width: 1080px; margin: 0 auto; padding: 0; list-style: none; border: 1px solid rgba(226,201,130,.28); background: #2a211b; }
.quote-steps li { display: flex; align-items: center; justify-content: center; gap: .65rem; min-height: 68px; padding: .8rem; color: rgba(255,250,240,.52); border-right: 1px solid rgba(226,201,130,.2); font-size: .78rem; font-weight: 600; text-transform: uppercase; }
.quote-steps li:last-child { border-right: 0; }
.quote-steps span { color: var(--gold); font-family: "Cormorant Garamond", serif; font-size: 1.45rem; }
.quote-steps .is-active { color: var(--gold-soft); background: rgba(226,201,130,.1); }
.quote-steps .is-complete { color: rgba(255,250,240,.82); }
.quote-form, .quote-success { max-width: 1180px; margin: 0 auto; }
.quote-panel { padding: clamp(1.25rem, 4vw, 3rem); background: rgba(255,250,240,.96); border: 1px solid rgba(32,26,22,.14); box-shadow: 0 28px 70px rgba(24,16,11,.18); }
.quote-panel[hidden], .quote-success[hidden], .quote-collection[hidden] { display: none; }
.quote-panel-head { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: 2rem; padding-bottom: 1rem; border-bottom: 1px solid var(--line); }
.quote-panel-head h2, .quote-success h2 { margin: .25rem 0 0; font-family: "Cormorant Garamond", serif; font-size: clamp(2.25rem, 4vw, 3.6rem); font-weight: 300; }
.quote-text-button { padding: .6rem 0; color: var(--ink); border: 0; border-bottom: 1px solid currentColor; background: transparent; font-size: .78rem; font-weight: 700; text-transform: uppercase; cursor: pointer; }
.quote-selected { display: grid; gap: .75rem; }
.quote-material-card { display: grid; grid-template-columns: 130px minmax(0,1fr) auto; align-items: center; gap: 1.2rem; padding: .75rem; border: 1px solid var(--line); background: #fffaf0; }
.quote-material-card img { width: 130px; height: 96px; object-fit: cover; }
.quote-material-card span, .quote-requirement-title span, .quote-choice-card span { color: var(--gold); font-size: .72rem; font-weight: 700; text-transform: uppercase; }
.quote-material-card h3, .quote-requirement-title h3, .quote-choice-card h4, .quote-summary h3 { margin: .2rem 0; font-family: "Cormorant Garamond", serif; font-size: 1.55rem; font-weight: 400; }
.quote-material-card p { margin: 0; color: rgba(32,26,22,.65); }
.quote-material-card button { min-height: 44px; padding: .5rem .8rem; border: 0; border-bottom: 1px solid currentColor; background: transparent; color: var(--wine); font-size: .75rem; font-weight: 700; text-transform: uppercase; cursor: pointer; }
.quote-empty { padding: 2rem; text-align: center; color: rgba(32,26,22,.65); border: 1px dashed rgba(32,26,22,.25); }
.quote-collection { margin-top: 2rem; padding-top: 1.5rem; border-top: 1px solid var(--line); }
.quote-collection > h3 { font-family: "Cormorant Garamond", serif; font-size: 2rem; font-weight: 400; }
.quote-collection-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 1px; border: 1px solid var(--line); background: var(--line); }
.quote-choice-card { background: #fffaf0; }
.quote-choice-card img { display: block; width: 100%; aspect-ratio: 4/3; object-fit: cover; }
.quote-choice-card > div { padding: 1rem; }
.quote-choice-card button { width: 100%; min-height: 44px; margin-top: .8rem; border: 1px solid rgba(32,26,22,.3); background: transparent; color: var(--ink); font-size: .75rem; font-weight: 700; text-transform: uppercase; cursor: pointer; }
.quote-choice-card.is-added { opacity: .68; }
.quote-choice-card.is-added button { cursor: default; }
.quote-panel-actions { position: sticky; bottom: 0; z-index: 3; display: flex; justify-content: space-between; gap: 1rem; margin: 2rem -1rem -1rem; padding: 1rem; background: rgba(255,250,240,.95); border-top: 1px solid var(--line); backdrop-filter: blur(10px); }
.quote-back { border-color: rgba(32,26,22,.28); background: transparent; }
.quote-error { min-height: 1.4rem; margin: 1rem 0 0; color: var(--wine); font-weight: 600; }
.quote-turnstile { width: min(100%, 420px); margin: 1.5rem 0 0; }
.quote-requirements { display: grid; gap: 1rem; }
.quote-requirement-card { padding: 1.2rem; border: 1px solid var(--line); background: #fffaf0; }
.quote-requirement-title { display: flex; align-items: center; gap: 1rem; margin-bottom: 1.2rem; }
.quote-requirement-title img { width: 96px; height: 72px; object-fit: cover; }
.quote-requirement-fields, .quote-contact-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
.quote-requirement-fields label, .quote-project-fields label, .quote-contact-fields label { display: grid; gap: .45rem; color: var(--ink); font-size: .82rem; font-weight: 600; }
.quote-requirement-fields input, .quote-requirement-fields select, .quote-project-fields input, .quote-project-fields select, .quote-contact-fields input, .quote-contact-fields textarea { width: 100%; min-height: 48px; padding: .75rem; border: 1px solid rgba(32,26,22,.2); border-radius: 0; background: white; color: var(--ink); }
.quote-unit-input { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; background: white; border: 1px solid rgba(32,26,22,.2); }
.quote-unit-input input { border: 0; }
.quote-unit-input b { padding: 0 1rem; color: rgba(32,26,22,.5); }
.quote-unsure { display: flex; align-items: center; gap: .7rem; margin-top: 1rem; font-size: .9rem; cursor: pointer; }
.quote-unsure input { width: 20px; height: 20px; accent-color: var(--gold); }
.quote-requirement-card.is-unsure .quote-requirement-fields select { opacity: .45; pointer-events: none; }
.quote-project-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; margin: 2rem 0 0; padding: 1.4rem; border: 1px solid var(--line); }
.quote-project-fields legend { padding: 0 .6rem; font-family: "Cormorant Garamond",serif; font-size: 1.65rem; }
.quote-project-fields small { color: rgba(32,26,22,.5); font-weight: 400; }
.quote-contact-layout { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(280px,.75fr); gap: 2rem; align-items: start; }
.quote-contact-fields textarea { min-height: 140px; resize: vertical; }
.quote-wide { grid-column: 1/-1; }
.quote-upload small { color: rgba(32,26,22,.55); font-weight: 400; line-height: 1.5; }
.quote-summary { padding: 1.4rem; color: var(--chalk); background: var(--espresso); }
.quote-summary article { padding: 1rem 0; border-bottom: 1px solid rgba(255,250,240,.18); }
.quote-summary h3 { color: var(--chalk); }
.quote-summary p { margin: .3rem 0 0; color: rgba(255,250,240,.65); line-height: 1.5; }
.quote-summary-delivery { display: grid; gap: .35rem; padding-top: 1rem; }
.quote-summary-delivery span { color: var(--gold-soft); font-size: .72rem; text-transform: uppercase; }
.quote-success { padding: clamp(2rem,6vw,5rem); text-align: center; background: rgba(255,250,240,.97); box-shadow: var(--shadow); }
.quote-success > strong { display: block; margin: .5rem 0 1.5rem; color: var(--gold); font-family: "Cinzel",serif; font-size: clamp(1.4rem,4vw,2.2rem); }
.quote-success > p { max-width: 620px; margin: 1rem auto; line-height: 1.7; }
.quote-success-actions { display: flex; justify-content: center; flex-wrap: wrap; gap: .8rem; margin-top: 2rem; }

@media (min-width: 901px) and (max-width: 1100px) {
  .site-nav { grid-template-columns: auto auto; min-height: 70px; padding: .55rem 1rem; }
  .brand { width: 200px; height: 50px; min-height: 50px; }
  .menu-toggle { display: inline-flex; }
  .nav-panel { position: absolute; top: calc(100% + .55rem); left: 1.15rem; right: 1.15rem; display: grid; justify-items: center; gap: 1.15rem; max-height: 0; overflow: hidden; opacity: 0; visibility: hidden; pointer-events: none; padding: 0 .95rem; background: rgba(29,23,19,.97); border: 1px solid rgba(226,201,130,.22); box-shadow: var(--shadow); transition: max-height .3s ease,opacity .25s ease,padding .25s ease; }
  .site-nav.menu-open .nav-panel { max-height: 78svh; overflow-y: auto; opacity: 1; visibility: visible; pointer-events: auto; padding-block: 1.1rem 1.25rem; }
  .nav-links, .nav-actions { width: 100%; align-items: center; flex-direction: column; justify-content: flex-start; }
  .nav-links { gap: .45rem; }
  .nav-actions { gap: .75rem; margin-top: .35rem; }
  .nav-links li { width: 100%; max-width: 260px; }
  .nav-links a { width: 100%; min-height: 50px; justify-content: flex-start; padding-inline: .75rem; font-size: .92rem; }
  .lang-switch { width: min(100%,320px); display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); padding: .3rem; }
  .lang-switch a { min-height: 40px; }
  .nav-contact { width: min(100%,260px); min-height: 48px; }
}
@media (max-width: 900px) {
  .quote-main { padding: 8rem 1.25rem 4rem; background: linear-gradient(180deg,#2b211b 0,#3a2d25 23rem,#eadfcc 23rem,#f4ecdf 100%); }
  .quote-intro { margin-bottom: 2rem; }
  .quote-steps li { flex-direction: column; gap: .1rem; font-size: .68rem; text-align: center; }
  .quote-collection-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .quote-contact-layout { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .quote-main { padding-inline: .75rem; }
  .quote-steps li { padding: .55rem .25rem; }
  .quote-panel { padding: 1.1rem; }
  .quote-panel-head { align-items: flex-start; flex-direction: column; }
  .quote-material-card { grid-template-columns: 82px minmax(0,1fr); gap: .8rem; }
  .quote-material-card img { width: 82px; height: 72px; }
  .quote-material-card button { grid-column: 2; justify-self: start; padding-left: 0; }
  .quote-collection-grid, .quote-requirement-fields, .quote-project-fields, .quote-contact-fields { grid-template-columns: 1fr; }
  .quote-wide { grid-column: auto; }
  .quote-panel-actions .btn { width: auto; flex: 1; }
  .quote-success-actions { flex-direction: column; }
}
