/* Geometry, purchasing and quotation follow the established warm architectural palette. */
:root{--purchase-height:0px;--comparison-height:0px}.catalogue-share{margin:4px 0 18px}.planning-nav{flex-wrap:wrap}.planning-nav button,.article-tools button,.gallery-tabs button,.text-link,.icon-button{min-height:44px}.journey-modal label{display:block;font-size:13px;margin:14px 0 7px}.journey-modal input:not([type=checkbox]),.journey-modal select,.journey-modal textarea{width:100%;background:var(--paper,#faf8f3);border:1px solid var(--line,#dedbd2);padding:12px;font:inherit;border-radius:0}.journey-modal input:focus,.journey-modal select:focus,.journey-modal textarea:focus,summary:focus-visible{outline:2px solid #765b34;outline-offset:3px}.journey-modal [aria-invalid=true]{border-color:#a13d2d}.field-error{color:#8d3125;font-size:14px;line-height:1.5}.room-layout{display:grid;grid-template-columns:1.05fr 1fr;gap:40px}.room-dimensions,.quote-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.room-checks{display:flex;gap:24px}.room-checks label{display:flex;gap:10px;align-items:center;min-height:44px}.room-checks input{width:20px;height:20px;accent-color:#3d493e}.room-estimate{padding:26px;background:#f2eee5;align-self:start}.room-result{border-bottom:1px solid #d7d1c5;padding-bottom:20px;margin-bottom:20px}.room-result h3{font:28px var(--serif,Georgia);margin-bottom:14px}.room-result p{font-size:15px}.room-result small,.saved-room small,.quote-review-row small{display:block;font-size:12px;color:#595e54;line-height:1.6}.room-result dl{font-size:14px;margin:16px 0}.room-result dl div{display:flex;justify-content:space-between;gap:12px;margin:8px 0}.room-result dt{font-weight:400}.room-result dd{margin:0}.room-estimate>.button{width:100%;margin-top:16px}.saved-rooms{border-top:1px solid var(--line);margin:24px 0;padding-top:20px}.saved-rooms h4{font:25px var(--serif,Georgia)}.saved-room{display:flex;justify-content:space-between;gap:20px;padding:14px 0;border-bottom:1px solid var(--line)}.quote-steps{display:flex;list-style:none;padding:0;gap:10px;margin:0 0 22px}.quote-steps li{flex:1;font-size:12px;padding:12px 8px;border-bottom:2px solid #ddd7ca;color:#595e54}.quote-steps [aria-current]{border-color:#765b34;color:#292c27;font-weight:600}.quote-review-row{display:flex;justify-content:space-between;gap:20px;padding:18px 0;border-bottom:1px solid var(--line);font-size:14px}.quote-review-row>div:last-child{text-align:right;flex-shrink:0}.quote-review-row>div:last-child strong{display:block;margin-top:6px}.quote-ready{border-left:3px solid #476145;padding:12px 16px;background:#eef2e9}.quote-document h2{font:34px var(--serif,Georgia)}.quote-document h3{font:26px var(--serif,Georgia);margin-top:24px}.quote-document p,.quote-document li{font-size:14px;line-height:1.65}.quote-notice{border-left:3px solid #765b34;padding:16px;background:#f2eee5}.quote-contact{padding:12px 0}.quote-table-wrap{overflow:auto}.quote-document table{width:100%;font-size:13px;border-collapse:collapse}.quote-document th,.quote-document td{text-align:left;padding:14px 6px;border-bottom:1px solid var(--line);vertical-align:top}.quote-document small{display:block;margin-top:6px;color:#595e54}.quote-total{text-align:right;font-size:20px!important}.quote-tools{border-top:1px solid var(--line);padding-top:20px}.mobile-purchase{display:none}.journey-overlay .mobile-purchase,.journey-overlay .comparison-tray{visibility:hidden;pointer-events:none}
@media(max-width:767px){.room-layout{grid-template-columns:1fr;gap:24px}.room-estimate{padding:20px}.planning-bar-inner{gap:12px;align-items:start}.planning-nav{gap:6px 14px}.planning-nav button{font-size:11px}.quote-steps{gap:4px}.quote-steps li{padding:10px 4px;font-size:11px}.mobile-purchase:not([hidden]){display:flex;position:fixed;z-index:1030;bottom:0;left:0;right:0;background:#faf8f3;border-top:1px solid #d7d1c5;box-shadow:0 -6px 24px #292c2712;padding:12px 16px calc(12px + env(safe-area-inset-bottom));gap:14px;align-items:center}.mobile-selection{background:none;border:0;text-align:left;flex:1;min-width:0;padding:0;color:#292c27;min-height:44px}.mobile-selection strong{font-size:11px;letter-spacing:.04em}.mobile-selection small{display:block;font-size:11px;margin:4px 0}.mobile-selection span{font-size:17px}.mobile-actions{display:flex;flex-direction:column;align-items:stretch;max-width:55%}.mobile-actions .button{padding:12px 15px;font-size:11px;min-height:44px}.mobile-actions .text-link{font-size:11px;text-align:center;min-height:32px}.has-mobile-purchase{padding-bottom:calc(var(--purchase-height) + var(--comparison-height) + 20px)}.has-mobile-purchase .comparison-tray{bottom:var(--purchase-height)}.has-mobile-purchase .feedback-toast{bottom:calc(var(--purchase-height) + var(--comparison-height) + 16px)}.quote-form-grid{grid-template-columns:1fr}.saved-room{gap:12px}.quote-review-row{font-size:12px;gap:10px}.journey-modal .modal-header h2{font-size:25px}.quote-document h2{font-size:28px}}
@media print{body.printing-quote>*{display:none!important}body.printing-quote>#quoteModal{display:block!important;position:static;overflow:visible}body.printing-quote #quoteModal .modal-dialog,body.printing-quote #quoteModal .modal-content,body.printing-quote #quoteModal .modal-body{max-width:none;width:auto;height:auto;max-height:none;margin:0;padding:0;border:0;overflow:visible;transform:none}body.printing-quote #quoteModal .modal-header,body.printing-quote #quoteContent>*:not(#preparedQuote){display:none!important}body.printing-quote .quote-document tr{break-inside:avoid}}
@media(prefers-reduced-motion:reduce){.journey-modal.fade .modal-dialog{transition:none}}

.journey-modal .modal-body{padding:28px}.journey-modal .overlay-language{width:auto;flex:0 0 auto;padding:8px;min-width:58px;margin-left:auto;margin-right:20px}.journey-modal .modal-header h2{margin:0;max-width:80%;font-size:34px;line-height:1.1}.journey-modal input:disabled,.journey-modal select:disabled{opacity:.6}@media(max-width:767px){.journey-modal .modal-body{padding:18px}.journey-modal .modal-header h2{font-size:25px;max-width:65%}.journey-modal .overlay-language{margin:0 12px;padding:6px;min-width:50px}}
