/* Quote form (shared by every page with a #quote section) */
.qf-card{border:1px solid var(--rule);box-shadow:0 30px 80px rgba(0,0,0,.6);min-width:0}

/* logo banner */
.qf-banner{display:flex;align-items:center;justify-content:center;gap:clamp(18px,4vw,40px);
  background:var(--ink-2);padding:clamp(22px,4vw,34px) clamp(18px,4vw,40px);
  border-bottom:1px solid var(--rule)}
.qf-banner .mark{height:clamp(64px,12vw,96px);width:auto}
.qf-banner .divider{width:1px;align-self:stretch;background:linear-gradient(transparent,rgba(200,150,47,.6),transparent)}
.qf-banner .word{height:clamp(44px,9vw,76px);width:auto}
@media(max-width:420px){
  .qf-banner{flex-direction:column;gap:14px}
  .qf-banner .divider{width:60%;height:1px;align-self:center;background:linear-gradient(90deg,transparent,rgba(200,150,47,.6),transparent)}
}

/* body: roller-door ribs */
.qf-body{padding:clamp(24px,5vw,44px)}
.qf-body .title{margin-bottom:6px}
.qf-intro{margin-bottom:28px;font-size:.98rem}
.req{color:var(--gold-lit)}
.hint{display:block;font-size:.84rem;color:var(--steel-dim);margin-top:6px}
fieldset{border:0;display:grid;gap:16px}
legend{font-family:'Anton',Impact,sans-serif;font-size:1.05rem;letter-spacing:.04em;text-transform:uppercase;
  color:var(--gold-lit);margin-bottom:4px;padding:0}
.qf-section{border-top:1px solid rgba(255,255,255,.08);padding-top:22px}
input:user-invalid,select:user-invalid{border-color:#d0604a}

/* pill choices (radios / checkboxes) */
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips label{margin:0;cursor:pointer}
.chips input{position:absolute;opacity:0;width:1px;height:1px}
.chips span{display:inline-block;border:1px solid rgba(255,255,255,.14);padding:9px 14px;border-radius:2px;
  font-family:'Barlow Condensed',sans-serif;font-weight:600;letter-spacing:.08em;font-size:.88rem;color:#cfd1d5;
  background:var(--ink-3);transition:border-color .15s,background .15s,color .15s}
.chips input:checked+span{border-color:var(--gold);background:rgba(200,150,47,.16);color:var(--gold-lit)}
.chips input:focus-visible+span{outline:3px solid var(--gold-lit);outline-offset:2px}
.check{display:flex;align-items:center;gap:10px;text-transform:none;letter-spacing:0;font-family:'Barlow',sans-serif;
  font-size:.95rem;color:#cfd1d5;font-weight:400;cursor:pointer}
.check input{width:18px;height:18px;accent-color:var(--gold)}

/* more details toggle */
details.more{border:2px solid var(--gold);background:rgba(200,150,47,.08);border-radius:2px;
  animation:nudge 2.4s ease-in-out 3}
details.more[open]{animation:none}
@keyframes nudge{50%{box-shadow:0 0 0 5px rgba(200,150,47,.22)}}
details.more summary{cursor:pointer;list-style:none;padding:16px 18px;display:flex;justify-content:space-between;align-items:center;gap:14px;
  font-family:'Barlow Condensed',sans-serif;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--shell)}
details.more summary::-webkit-details-marker{display:none}
details.more summary:hover{background:rgba(200,150,47,.08)}
details.more summary small{display:block;font-weight:500;letter-spacing:.04em;text-transform:none;color:#cfd1d5;font-size:.88rem;margin-top:2px}
.tap{flex:none;display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:2px;white-space:nowrap;
  background:linear-gradient(160deg,var(--gold-lit),var(--gold) 50%,var(--gold-deep));color:#15130c;font-size:.82rem;letter-spacing:.1em}
.tap::after{content:"";width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;
  transform:translateY(-2px) rotate(45deg);transition:transform .2s}
details.more[open] .tap::after{transform:translateY(2px) rotate(-135deg)}
.tap .close,details.more[open] .tap .open{display:none}
details.more[open] .tap .close{display:inline}
details.more .inner{padding:4px 18px 22px;display:grid;gap:22px}

/* photos */
.drop{border:1px dashed rgba(200,150,47,.5);padding:22px;text-align:center;background:var(--ink-3);cursor:pointer}
.drop:hover{border-color:var(--gold-lit)}
.drop svg{width:34px;height:34px;margin:0 auto 8px;stroke:var(--gold-lit);fill:none;stroke-width:1.6}
.drop strong{font-family:'Barlow Condensed',sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--shell)}
.thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(86px,1fr));gap:8px;margin-top:12px}
.thumbs figure{position:relative;aspect-ratio:1;overflow:hidden;border:1px solid rgba(255,255,255,.12)}
.thumbs img{width:100%;height:100%;object-fit:cover}
.thumbs button{position:absolute;top:4px;right:4px;width:26px;height:26px;border-radius:50%;border:0;
  background:rgba(0,0,0,.75);color:#fff;font-size:15px;line-height:26px;cursor:pointer}
.photo-count{font-size:.84rem;color:var(--steel-dim);margin-top:8px}
.photo-count.full{color:var(--gold-lit)}

/* thank you */
.thanks{display:none;text-align:center;padding:clamp(34px,6vw,60px) clamp(20px,5vw,44px)}
.thanks img{height:80px;width:auto;margin:0 auto 18px}
.thanks h2{font-family:'Anton',Impact,sans-serif;font-weight:400;text-transform:uppercase;font-size:clamp(1.6rem,5vw,2.2rem);margin-bottom:10px}
.thanks p{max-width:44ch;margin:0 auto}
.qf-card.sent form{display:none}
.qf-card.sent .thanks{display:block}
.privacy{font-size:.82rem;color:var(--steel-dim)}
.qf-error{display:none;border:1px solid #d0604a;background:rgba(208,96,74,.12);color:var(--shell);padding:14px 16px;font-size:.95rem}
.qf-error.on{display:block}
.qf-error a{color:var(--gold-lit)}
.qf-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
form .btn[disabled]{opacity:.6;cursor:wait;transform:none}

/* keep short choice groups (e.g. date flexibility) on a single row, even on small phones */
.chips.one-row{flex-wrap:nowrap;gap:6px}
.chips.one-row label{flex:1 1 0;min-width:0}
.chips.one-row span{display:block;text-align:center;white-space:nowrap;padding:10px 4px;font-size:clamp(.72rem,3.4vw,.88rem);letter-spacing:.04em}
