.pricing-calculator { margin:0 0 64px; border:1px solid var(--line); border-top:4px solid var(--orange); border-radius:16px; background:#fffdf8; overflow:hidden; }
.calc-heading { padding:32px 36px 24px; }
.calc-heading h2 { max-width:700px; margin:12px 0 16px; }
.calc-heading > p { line-height:1.65; max-width:760px; }
.calc-layout { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); border-top:1px solid var(--line); }
#pricing-calculator-form { padding:28px 36px; min-width:0; }
#pricing-calculator-form fieldset { padding:0; margin:0; border:0; min-width:0; }
#pricing-calculator-form legend { font-weight:600; font-size:18px; padding:0; margin-bottom:12px; }
.calc-fields { display:grid; grid-template-columns:1fr 1fr; gap:20px 18px; margin:24px 0; }
.calc-field { min-width:0; }
.calc-field label { display:block; font-weight:600; font-size:15px; line-height:1.5; margin-bottom:8px; }
.calc-field input,.calc-field select { width:100%; min-width:0; min-height:48px; background:white; border:1px solid #aaa99f; border-radius:6px; padding:10px 12px; font:16px var(--sans); color:var(--ink); }
.calc-field [aria-invalid=true] { border:2px solid #a02f23; }
.calc-hint { font-size:13px; line-height:1.65; color:#5b6058; margin:10px 0 0; }
.calc-error { color:#a02f23; font-size:14px; line-height:1.5; margin:8px 0 0; }
.calc-actions { display:flex; flex-wrap:wrap; gap:12px; }
.calc-actions button { cursor:pointer; }
.calc-actions button:not(.button) { border:1px solid var(--line); border-radius:6px; background:#fffdf8; color:var(--ink); padding:12px; font:500 14px var(--sans); }
.calc-actions .button { font-size:16px; padding:16px 20px; }
.calc-estimate { background:#eef0e7; padding:32px; border-left:1px solid var(--line); min-width:0; }
.calc-estimate h3 { font:500 27px/1.2 var(--serif); margin:16px 0; }
#calculator-placeholder { position:sticky; top:32px; }
#calculator-placeholder > p { line-height:1.7; }
.calc-total { font-size:clamp(30px,3vw,42px); font-weight:600; letter-spacing:-.03em; line-height:1.2; margin:18px 0 12px; overflow-wrap:anywhere; }
.calc-per-guest { font-size:16px; line-height:1.6; }
.calc-breakdown { margin:28px 0 16px; }
.calc-breakdown > div { display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px 16px; border-top:1px solid #cdd2c3; padding:12px 0; font-size:14px; line-height:1.5; }
.calc-breakdown dt { flex:1; min-width:130px; }
.calc-breakdown small { display:block; }
.calc-breakdown dd { margin:0; font-weight:600; overflow-wrap:anywhere; }
.calc-offer { border-top:1px solid #cdd2c3; margin-top:28px; padding-top:12px; }
.calc-offer > p { line-height:1.7; }
.calc-offer .button { white-space:normal; font-size:16px; line-height:1.6; padding:16px 20px; margin:20px 0 0; }
.calc-offer .text-link { margin-top:20px; font-size:14px; }
.calc-status { margin:0; padding:0 36px 20px; font-size:14px; color:var(--muted); }
.calc-status:empty { padding:0; }
.calc-example { padding:14px; background:#fae9d5; line-height:1.6; font-size:14px; border-radius:6px; margin:16px 0; }
.calc-quote-example { border-top:1px solid var(--line); padding:24px 36px; }
.calc-quote-example summary { cursor:pointer; font-weight:600; line-height:1.6; }
.calc-quote-example > p,.calc-quote-example figcaption { font-size:14px; line-height:1.7; margin:20px 0; max-width:800px; }
.calc-quote-example a,#calculator-fallback a { text-decoration:underline; text-underline-offset:3px; }
.calc-quote-example figure { margin:24px 0 0; max-width:840px; }
.calc-capture { max-height:600px; overflow:auto; border:1px solid var(--line); border-radius:8px; background:#f2f2ef; }
.calc-capture img { display:block; width:100%; height:auto; }
.pricing-calculator :focus-visible { outline:3px solid var(--orange); outline-offset:4px; }
#calculator-fallback { padding:0 36px 28px; line-height:1.8; }
.pricing-calculator [hidden] { display:none!important; }
@media(max-width:1000px){.calc-layout { grid-template-columns:1fr; }.calc-estimate { border-left:0; border-top:1px solid var(--line); }#calculator-placeholder { position:static; }}
@media(max-width:600px){.calc-heading,#pricing-calculator-form,.calc-estimate,.calc-quote-example { padding:24px 20px; }.calc-fields { grid-template-columns:1fr; }.calc-status { padding-inline:20px; }.calc-capture { max-height:500px; }.calc-total { font-size:32px; }.calc-actions { flex-direction:column; }.calc-actions .button { justify-content:center; }#calculator-fallback { padding:0 20px 24px; }}
