/* FinePixel Studio: customer quote issuing, v4.0.35 */
.quote-issue-status{margin-top:14px;padding:13px 15px;background:#1c2932;color:#bed0db;border-radius:10px;font-size:12px;line-height:1.6}
.quote-issue-status[data-state="ready"]{background:#1a303a;color:#bbebfa}
.quote-issue-status[data-state="error"]{background:#39292a;color:#ffd5d5}
.quote-issue-status[data-state="success"]{background:#1e3530;color:#b6efe0}
.quote-agree{display:flex!important;flex-direction:row!important;gap:11px!important;align-items:flex-start;font-size:12px!important;font-weight:500!important;line-height:1.65;color:#cdd9df!important;margin-top:17px;cursor:pointer}
.quote-agree input{flex:0 0 auto!important;width:17px;height:17px;accent-color:#79c6e9;margin-top:2px;padding:0!important}
.quote-honeypot{position:absolute!important;left:-99999px!important;width:1px!important;height:1px!important;opacity:0!important}
.quote-issue-result{background:#182f39;padding:18px;border-radius:12px;margin-top:15px;color:#e5f8ff}
.quote-issue-result strong{font-size:17px}.quote-issue-result p{color:#bcd1dc;font-size:12px;line-height:1.65;margin:8px 0 12px}
.quote-pdf-download{display:inline-block;background:#3b829f;border-radius:10px;color:#fff;padding:11px 16px;font-size:13px;font-weight:800;text-decoration:none}
.dialog-acts{flex-wrap:wrap;align-items:center}.dialog-acts .primary,.dialog-acts .secondary{white-space:normal}
@media(max-width:540px){.dialog-acts{align-items:stretch}.dialog-acts button{width:100%}}
@media print{.quote-issue-status,.quote-agree,.quote-issue-result,.quote-honeypot{display:none!important}}


/* V4.0.44: native final step instead of a fixed-height scrolling popup. */
.quote-review-section[hidden]{display:none!important}
.quote-review-section{
  clear:both;position:relative;margin:44px auto 54px;padding:0 0 36px;
  border-top:1px solid #26323c;scroll-margin-top:25px;color:#f4f7f8;
  animation:fpReviewRise .28s ease-out both;
}
@keyframes fpReviewRise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.quote-review-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:36px 0 27px}
.quote-review-heading h2{font-family:Manrope,Inter,sans-serif;font-size:clamp(27px,3.2vw,39px);line-height:1.16;margin:8px 0 10px;letter-spacing:-.035em}
.quote-review-heading p{color:#a8b8c4;font-size:14px;margin:0;max-width:620px}
.quote-back-link{border:none;background:transparent;color:#a9d9ef;font-size:12px;font-weight:700;white-space:nowrap;padding:12px 0}
.quote-back-link:hover,.quote-draft-link:hover{text-decoration:underline}
.quote-review-grid{display:grid;grid-template-columns:minmax(0,.91fr) minmax(0,1.09fr);gap:18px;align-items:start}
.quote-review-summary,.quote-review-send{min-width:0;background:#131b22;border:1px solid #2a343e;border-radius:17px;padding:clamp(19px,2.25vw,30px)}
.quote-review-send{background:#151e26}
.quote-review-panel-head h3{font-size:23px;margin:9px 0 10px;font-family:Manrope,Inter,sans-serif}
.quote-review-panel-head .review-date{font-size:12px;color:#aec0cb;padding:10px 13px;background:#1d2932;border-radius:8px;display:inline-block}
.quote-review-lines{margin:18px 0 3px}
.quote-review-section .review-line{padding:9px 0;gap:15px;border-color:#2a3640;font-size:12px;line-height:1.55}
.quote-review-section .review-line span{color:#bac7d0;min-width:0}
.quote-review-section .review-line strong{font-weight:650;color:#eef4f7;white-space:normal;overflow-wrap:anywhere;min-width:0}
.quote-review-section .review-final{margin-top:13px;padding:17px 0 3px;border-top:1px solid #4a6473;border-bottom:0;align-items:center}
.quote-review-section .review-final span{color:#d8eff9;font-weight:800;font-size:12px}
.quote-review-section .review-final strong{font-size:clamp(22px,2.35vw,30px);font-family:Manrope,Inter,sans-serif;color:#b7e9ff}
.quote-review-footnote{font-size:11px;line-height:1.65;color:#9caebb;margin:18px 0 0}
.quote-review-section .quote-contact{background:none;margin:0;padding:0;border-radius:0}
.quote-review-section .quote-contact h3{font-family:Manrope,Inter,sans-serif;font-size:23px;letter-spacing:-.03em;margin:8px 0 6px}
.quote-review-section .quote-contact>p{margin:0 0 20px;font-size:12px;color:#a8b8c4}
.quote-review-section .quote-contact-fields{gap:15px 13px}
.quote-review-section .quote-contact-fields label{font-size:12px}
.quote-review-section .quote-contact-fields input{background:#10181f;border:1px solid #34434f;padding:13px 15px;min-height:46px}
.quote-review-section .quote-contact-fields label:first-child{grid-column:1/-1}
.quote-review-section .quote-agree{margin:19px 0 0!important;background:#192530;padding:13px;border-radius:10px;font-size:11px!important}
.quote-review-section .quote-agree input{margin-top:1px!important}
.quote-review-section .quote-issue-status{margin-top:17px;padding:12px 14px;font-size:11px;background:#1b2933}
.quote-review-section .quote-review-actions{display:flex;flex-direction:column;gap:10px;margin-top:15px}
.quote-review-section .quote-review-submit{display:flex;align-items:center;justify-content:space-between;gap:13px;width:100%;min-height:51px;text-align:left;padding:14px 17px}
.quote-review-section .quote-review-submit span{font-size:19px}
.quote-review-section .quote-review-edit{background:transparent;border:0;color:#c1d4df;font-size:12px;font-weight:700;padding:10px 8px;align-self:flex-start}
.quote-review-section .quote-draft-link{border:0;background:none;color:#9dcde5;font-size:11px;padding:8px 0;margin-top:5px}
.quote-review-section .review-note{font-size:11px;color:#879ba8;line-height:1.65;margin:13px 0 0}
.quote-review-section .quote-issue-result{margin:14px 0 0;padding:17px}
body.review-active .mobile-basket{display:none}
@media(max-width:850px){.quote-review-grid{grid-template-columns:1fr}.quote-review-heading{align-items:flex-start;flex-direction:column;gap:9px;padding:28px 0 22px}.quote-review-section{margin-top:24px}.quote-review-heading h2{font-size:30px}.quote-review-summary,.quote-review-send{padding:22px}}
@media(max-width:540px){.quote-review-heading h2{font-size:27px}.quote-review-summary,.quote-review-send{padding:18px}.quote-review-section .quote-contact-fields{grid-template-columns:1fr}.quote-review-section .quote-contact-fields label:first-child{grid-column:auto}.quote-review-section .quote-review-submit{width:100%}.quote-review-section .review-final strong{font-size:23px}}
@media(prefers-reduced-motion:reduce){.quote-review-section{animation:none!important}}
@media print{
  .site-nav,.intro,.workspace,.path-choice,.presets,.active-path,.date-gate,.mobile-basket,.footer,.quote-review-heading .quote-back-link,.quote-review-send .dialog-acts,.quote-review-section .quote-draft-link,.quote-review-section .quote-issue-status,.quote-review-section .quote-issue-result{display:none!important}
  .wide,.quote-review-section{width:100%;max-width:none;margin:0;padding:0;border:0}
  .quote-review-section{display:block!important;color:#111;animation:none}
  .quote-review-grid{display:block}.quote-review-summary,.quote-review-send{border:1px solid #ddd;color:#111;background:#fff;margin-bottom:14px;break-inside:avoid}
  .quote-review-section .review-line span,.quote-review-section .review-line strong,.quote-review-section .review-final span,.quote-review-section .review-final strong,.quote-review-heading h2{color:#111}
  .quote-review-section .quote-contact input{border:0;padding:0;min-height:0}
}
/* Match the 1320px content grid used by the homepage and builder. */
.quote-review-section{max-width:var(--max,1320px);width:calc(100% - 48px)}
@media(max-width:830px){.quote-review-section{width:calc(100% - 32px)}}

/* V4.0.45: clear, non-blocking venue guidance within the approved review layout */
.quote-venue-warning[hidden]{display:none!important}
.quote-venue-warning{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin:17px 0 2px;padding:13px 14px;background:#202d37;border:1px solid #374955;border-radius:10px;font-size:12px;line-height:1.6;color:#d1e2ea}
.quote-venue-warning button{background:#315d72;border:0;border-radius:8px;color:#fff;font-size:12px;font-weight:800;padding:10px 12px;cursor:pointer}
.quote-venue-warning button:hover,.quote-venue-warning button:focus-visible{background:#3a7694}
.quote-review-section #issueQuoteBtn:disabled{opacity:.54;cursor:not-allowed}

/* V4.0.46: Clear quotation handoff and contact-form-inspired confirmation */
.quote-review-grid[hidden],.quote-success-stage[hidden],.quote-sending[hidden],.quote-pdf-download[hidden]{display:none!important}
.quote-review-send{position:relative}
.quote-submit-panel{margin-top:23px;padding:19px 17px 16px;background:linear-gradient(148deg,#152834,#10212b);border:1px solid #344f5f;border-radius:14px}
.quote-submit-intro .eyebrow{letter-spacing:.15em;color:#a1e5f8}
.quote-submit-intro p{font-size:12px;color:#b6cad6;line-height:1.6;margin:7px 0 16px}
.quote-review-section .quote-review-actions{margin:0;display:block}
.quote-review-section .quote-review-submit{width:100%;min-height:59px;display:flex;align-items:center;justify-content:center;gap:12px;padding:15px 17px;border:0;border-radius:11px;background:linear-gradient(115deg,#8de8fa,#64d6eb);color:#061924;font-family:Manrope,Inter,Arial,sans-serif;font-weight:800;font-size:13px;letter-spacing:.025em;text-align:center;box-shadow:0 11px 26px #45cfeb20;transition:filter .2s ease,transform .2s ease,box-shadow .2s ease}
.quote-review-section .quote-review-submit:hover:not(:disabled){background:linear-gradient(115deg,#adf3ff,#7fe2f3);transform:translateY(-1px);box-shadow:0 13px 31px #45cfeb38}
.quote-review-section .quote-review-submit:focus-visible{outline:3px solid #b8f1ff;outline-offset:3px}
.quote-review-section .quote-review-submit:disabled{background:#2d4c5b;color:#bdccd3;box-shadow:none;opacity:.72;cursor:not-allowed}
.quote-review-submit svg{flex:0 0 auto}.quote-send-arrow{font-size:18px;line-height:1;margin-left:auto}
.quote-review-section .quote-issue-status{background:transparent;border:0;padding:0;margin:12px 1px 0;color:#9fb3c0;font-size:11px;line-height:1.65}
.quote-review-section .quote-issue-status[data-state="ready"]{color:#b8dfed}
.quote-review-section .quote-issue-status[data-state="error"]{color:#ffc5be}
.quote-review-section .quote-issue-status[data-state="success"]{color:#b5eddc}
.quote-review-section .quote-review-edit{margin:13px 0 0;color:#b0c9d5}
.quote-sending{display:flex;align-items:center;gap:10px;padding:12px 3px 1px;color:#bdeaf6;font-size:12px}
.quote-spinner{width:18px;height:18px;flex:none;border:2px solid #6390a3;border-top-color:#bff6ff;border-radius:50%;animation:quoteSpin .8s linear infinite}
@keyframes quoteSpin{to{transform:rotate(360deg)}}
.quote-success-stage{margin:9px auto 30px;max-width:800px;text-align:center;padding:clamp(29px,5vw,53px);background:radial-gradient(circle at 50% 0%,#31647b28,transparent 59%),linear-gradient(155deg,#142633,#0e1821);border:1px solid #3a596b;border-radius:23px;box-shadow:0 25px 70px #0006;outline:none}
.quote-success-mark{width:76px;height:76px;border-radius:50%;display:grid;place-items:center;margin:0 auto 19px;color:#9ceafd;background:#233b4a;border:1px solid #5d9cba}
.quote-success-stage h3{font-family:Manrope,Inter,Arial,sans-serif;font-size:clamp(27px,3.2vw,38px);font-weight:800;line-height:1.2;letter-spacing:-.035em;color:#f6fbfd;margin:11px 0 13px}
.quote-success-description{font-size:14px;line-height:1.7;color:#bcd0dc;max-width:55ch;margin:0 auto 22px}
.quote-success-reference{background:#0e1b24;border-radius:12px;padding:16px 20px;display:flex;flex-direction:column;gap:8px;align-items:center;border:1px solid #304a5c}
.quote-success-reference span{font-size:10px;letter-spacing:.15em;color:#90b9ce;font-weight:800}
.quote-success-reference strong{color:#f2fbff;font-size:clamp(13px,1.5vw,19px);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;line-height:1.5}
.quote-delivery-status{margin:18px 0 22px;padding:0 4px}
.quote-delivery-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:10px 0;border-bottom:1px solid #2a414f;font-size:12px;text-align:left}
.quote-delivery-row span{color:#abc0cd}.quote-delivery-row strong{font-weight:750;text-align:right}.quote-delivery-row .is-accepted{color:#aceedb}.quote-delivery-row .is-pending{color:#f3c4aa}
.quote-success-actions{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:11px}
.quote-success-stage .quote-pdf-download{display:inline-flex;align-items:center;justify-content:center;gap:11px;min-height:53px;padding:13px 22px;background:linear-gradient(115deg,#8de8fa,#64d6eb);color:#071a24;font-weight:800;font-size:13px;border-radius:10px;box-shadow:0 13px 28px #0003;text-decoration:none}
.quote-success-stage .quote-pdf-download:hover{filter:brightness(1.09)}
.quote-success-home{color:#c4e1ed;border:1px solid #426073;padding:13px 18px;min-height:53px;border-radius:10px;font-weight:700;font-size:12px;display:inline-flex;align-items:center;gap:8px}
.quote-success-home:hover{background:#243b48}
.quote-success-footnote{font-size:11px;line-height:1.7;color:#94adbb;margin:21px 0 0}
@media(max-width:540px){.quote-submit-panel{padding:16px 13px}.quote-review-section .quote-review-submit{gap:9px;font-size:12px}.quote-review-submit svg{width:18px}.quote-success-stage{padding:28px 17px}.quote-success-actions{flex-direction:column}.quote-success-stage .quote-pdf-download,.quote-success-home{width:100%}.quote-delivery-row{align-items:flex-start;gap:8px}}
@media(prefers-reduced-motion:reduce){.quote-spinner{animation:none}.quote-review-section .quote-review-submit{transition:none}}
@media print{.quote-submit-panel,.quote-success-stage,.quote-review-edit{display:none!important}}

.quote-review-section .quote-back-link[hidden]{display:none!important}

/* V4.0.47: single-window sending, confirmation and return to homepage. */
.quote-issue-overlay[hidden],.quote-overlay-progress[hidden],.quote-overlay-failure[hidden],.quote-return-area [hidden]{display:none!important}
.quote-issue-overlay{position:fixed;inset:0;z-index:10010;display:flex;align-items:center;justify-content:center;padding:clamp(12px,3vw,32px);background:rgba(4,9,13,.87);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);overflow-y:auto;overscroll-behavior:contain}
.quote-issue-dialog{width:min(100%,780px);max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);overflow-y:auto;overscroll-behavior:contain;outline:none;scrollbar-color:#466272 #121c25;border-radius:22px}
.quote-issue-overlay .quote-success-stage{margin:0;max-width:none;box-shadow:0 25px 100px #000a;min-height:0}
.quote-overlay-progress,.quote-overlay-failure{text-align:center;border:1px solid #3a596b;border-radius:22px;background:radial-gradient(circle at 50% 0%,#2e637c33,transparent 60%),linear-gradient(145deg,#152a37,#0e1921);color:#f5f9fb;padding:clamp(32px,7vw,66px) clamp(22px,6vw,62px)}
.quote-overlay-progress h2,.quote-overlay-failure h2{font-family:Manrope,Inter,Arial,sans-serif;font-weight:800;letter-spacing:-.035em;font-size:clamp(25px,4vw,38px);line-height:1.15;margin:11px 0}
.quote-overlay-progress p:not(.eyebrow),.quote-overlay-failure p:not(.eyebrow){color:#b5cedb;font-size:14px;line-height:1.7}
.quote-overlay-spinner{width:69px;height:69px;margin:0 auto 26px;border:4px solid #28495b;border-top-color:#8eeafb;border-radius:50%;animation:quoteSpin 1s linear infinite}
.quote-overlay-progress-track{height:5px;max-width:360px;margin:26px auto 17px;border-radius:99px;background:#294554;overflow:hidden;position:relative}
.quote-overlay-progress-track span{position:absolute;top:0;bottom:0;left:0;width:35%;border-radius:99px;background:#80e1ef;animation:quoteIndeterminate 1.7s ease-in-out infinite}
@keyframes quoteIndeterminate{0%{transform:translateX(-110%)}100%{transform:translateX(400%)}}
.quote-overlay-progress .quote-overlay-hint,.quote-overlay-failure .quote-overlay-hint{font-size:11px;color:#96b0bd}
.quote-overlay-error-icon{width:72px;height:72px;display:grid;place-items:center;margin:0 auto 20px;border-radius:50%;font-size:33px;font-weight:700;background:#3b292d;border:1px solid #a16f79;color:#ffd4da}
.quote-overlay-error-actions{display:flex;justify-content:center;gap:12px;margin:24px 0;flex-wrap:wrap}
.quote-overlay-error-actions button,.quote-overlay-error-actions a{border:1px solid #497086;border-radius:10px;min-height:49px;padding:13px 19px;background:#253d4c;color:#ebfaff;font-size:13px;font-weight:750;cursor:pointer;text-decoration:none}
.quote-overlay-error-actions button{background:#74dcec;color:#08212d;border:0}
.quote-overlay-error-actions button:hover{filter:brightness(1.08)}
.quote-return-area{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px 17px;margin:19px 0 0}
.quote-return-area p{margin:0;color:#a8c4d3;font-size:12px;line-height:1.6}
.quote-return-area button{background:none;border:0;padding:4px;color:#a7e4f5;text-decoration:underline;text-underline-offset:3px;font-size:12px;cursor:pointer}
.quote-issue-dialog :focus-visible{outline:3px solid #b7f3ff;outline-offset:3px}
body.quote-overlay-open{overflow:hidden}
@media(max-width:540px){.quote-issue-overlay{align-items:flex-start;padding:12px}.quote-issue-dialog{max-height:calc(100dvh - 24px)}.quote-issue-overlay .quote-success-stage{padding:25px 16px}.quote-overlay-progress,.quote-overlay-failure{padding:40px 20px}.quote-overlay-progress h2{font-size:27px}}
@media(prefers-reduced-motion:reduce){.quote-overlay-spinner,.quote-overlay-progress-track span{animation:none}.quote-overlay-progress-track span{left:0;width:70%}}
@media print{.quote-issue-overlay{display:none!important}}


/* V4.0.48 – Owner-only, in-place test session renewal; shown only via ?internal_test=1 on staging. */
.quote-private-test[hidden]{display:none!important}
.quote-private-test{margin-top:17px;padding:16px;background:#142735;border:1px solid #3b5c6e;border-radius:12px;color:#d2e4ee}
.quote-private-test .eyebrow{color:#9fe8ff}
.quote-private-test>p{font-size:12px;line-height:1.65;color:#c0d5e0;margin:9px 0 14px}
.quote-private-test label{display:block;font-size:12px;font-weight:700;margin-bottom:8px}
.quote-private-test-fields{display:flex;align-items:stretch;gap:10px}
.quote-private-test input{min-width:0;flex:1;background:#0a1720;border:1px solid #435e6e;border-radius:9px;color:#fff;padding:12px 14px;font-size:13px}
.quote-private-test button{background:#7bdcf2;color:#0a1c25;border:0;border-radius:9px;font-weight:800;font-size:12px;padding:12px 14px;cursor:pointer}
.quote-private-test button:disabled{opacity:.6;cursor:wait}
.quote-private-test input:focus-visible,.quote-private-test button:focus-visible{outline:3px solid #abedff;outline-offset:2px}
.quote-private-test small{display:block;color:#8ca8b8;font-size:10px;line-height:1.65;margin-top:10px}
.quote-private-test .quote-test-message{margin:8px 0;color:#ffd6bf;font-size:12px;min-height:0}
.quote-private-test .quote-test-message:empty{display:none}
@media(max-width:580px){.quote-private-test-fields{flex-direction:column}.quote-private-test button{width:100%;min-height:45px}}
@media print{.quote-private-test{display:none!important}}
