/* Residence result controls and open budget. Existing site typography and colours. */
.pride [hidden]{display:none!important}
.pr-result-media{min-width:0}
.pr-result-controls{margin-top:12px}
.pr-result-rooms{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}
.pr-result-rooms button{flex:1;min-height:34px;padding:7px 9px;border:1px solid #d7d7d3;border-radius:5px;background:#fff;color:#171717;font:inherit;font-size:12px;white-space:nowrap;cursor:pointer}
.pr-result-rooms button[aria-pressed="true"]{border-color:#d99a00;background:#fff7df}
.pr-result-selects{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.pr-result-selects .pr-field{min-width:0;display:flex;flex-direction:column;gap:8px;font-size:12px;font-weight:400}
.pr-result-selects select{display:block;width:100%;height:48px;padding:10px 30px 10px 10px;border:1px solid #d5d5d0;border-radius:7px;background:#fff;color:#171717;font:inherit;font-size:14px;text-overflow:ellipsis}
.pr-result-color-label{display:flex;justify-content:space-between;align-items:center;gap:6px;min-height:19px}
#pr-result-swatches{display:flex;gap:5px;align-items:center}
#pr-result-swatches i,#pr-result-swatches span{display:block;width:17px;height:17px;border-radius:50%;border:1px solid #00000012}
.pr-result-controls :is(button,select):focus-visible,#budget[data-budget-layout="open"] :is(input,select,button,a):focus-visible{outline:2px solid #8e6000;outline-offset:4px}
#budget[data-budget-layout="open"]{--zu-line:#deddd8;--zu-muted:#676b73;--zu-warm:#fffbf4;background:#f5f5f3;color:#171717}
#budget[data-budget-layout="open"] .pr-budget-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:stretch}
#budget[data-budget-layout="open"] :is(.pr-budget-settings,.pr-estimate){padding:28px;border:1px solid var(--zu-line);border-radius:14px;box-shadow:none;min-width:0;overflow:visible}
#budget[data-budget-layout="open"] .pr-budget-settings{background:#fff}
#budget[data-budget-layout="open"] .pr-estimate{display:flex;flex-direction:column;position:static;background:var(--zu-warm);color:#171717}
#budget[data-budget-layout="open"] .pr-budget-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0}
#budget[data-budget-layout="open"] .pr-field{min-width:0;display:flex;flex-direction:column;gap:8px;font-size:14px;font-weight:400;line-height:1.4}
#budget[data-budget-layout="open"] .pr-field :is(select,input){display:block;width:100%;height:48px;min-height:48px;margin:0;padding:10px 12px;border:1px solid #d5d5d0;border-radius:7px;color:#171717;background:#fff;font:inherit;font-size:15px;line-height:1.4}
#budget[data-budget-layout="open"] .pr-field :disabled{background:#f7f7f5;color:#72757b;opacity:1}
#budget[data-budget-layout="open"] .pr-budget-area{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:24px;font-size:16px;font-weight:500}
#budget[data-budget-layout="open"] .pr-budget-area>span{display:flex;align-items:center;gap:9px;font-size:13px;font-weight:400}
#budget[data-budget-layout="open"] #pr-budget-area{width:90px;height:46px;padding:8px;border:1px solid var(--zu-line);border-radius:7px;background:#fff;color:#171717;font:inherit;font-size:23px;text-align:center}
#budget[data-budget-layout="open"] #pr-budget-area-help{margin:8px 0 22px;color:var(--zu-muted);font-size:12px;line-height:1.5}
#budget[data-budget-layout="open"] .pr-small-title{margin:0 0 8px;padding:0;color:var(--zu-muted);font-size:12px;font-weight:400;line-height:1.5;text-transform:none;letter-spacing:0}
#budget[data-budget-layout="open"] .pr-cost-toggles{display:block;margin:0;padding:0}
#budget[data-budget-layout="open"] .pr-cost-toggle{position:relative;display:flex;align-items:center;gap:12px;margin:0;min-height:72px;padding:14px 48px 14px 0;border:0;border-bottom:1px solid #ecebe7;border-radius:0;background:transparent;cursor:pointer}
#budget[data-budget-layout="open"] .pr-cost-toggle strong{display:block;font-size:16px;font-weight:500;line-height:1.4}
#budget[data-budget-layout="open"] .pr-cost-toggle small{display:block;margin-top:4px;color:var(--zu-muted);font-size:12px;line-height:1.5}
#budget[data-budget-layout="open"] .pr-cost-toggle>input{position:absolute;right:0;top:calc(50% - 22px);left:auto;width:44px;height:44px;margin:0;opacity:0;z-index:1;cursor:pointer}
#budget[data-budget-layout="open"] .pr-cost-toggle>input:disabled{cursor:default}
#budget[data-budget-layout="open"] .pr-switch{position:absolute;right:0;top:calc(50% - 11px);width:38px;height:22px;border:0;border-radius:99px;background:#d4d4d2;flex:none}
#budget[data-budget-layout="open"] .pr-switch:after{content:'';position:absolute;left:2px;top:2px;width:18px;height:18px;border:0;border-radius:50%;background:#fff;box-shadow:none;transition:transform .15s}
#budget[data-budget-layout="open"] .pr-cost-toggle>input:checked~.pr-switch{background:#ffbc19}
#budget[data-budget-layout="open"] .pr-cost-toggle>input:checked~.pr-switch:after{transform:translateX(16px)}
#budget[data-budget-layout="open"] .pr-cost-toggle>input:focus-visible~.pr-switch{outline:2px solid #8e6000;outline-offset:4px}
#budget[data-budget-layout="open"] .pr-budget-extra-fields{display:grid;gap:20px;margin-top:20px}
#budget[data-budget-layout="open"] #pr-furniture-field{width:65%;margin-left:auto;font-size:12px}
#budget[data-budget-layout="open"] .pr-field small{color:var(--zu-muted);font-size:11px;line-height:1.5}
#budget[data-budget-layout="open"] .estimate-shares{padding:0;margin:0 0 36px;border:0;background:none}
#budget[data-budget-layout="open"] .estimate-shares__track{display:flex;gap:2px;width:100%;height:8px;overflow:hidden;border-radius:8px;background:#e8e6e0}
#budget[data-budget-layout="open"] .estimate-shares__track>*{min-width:0;flex-basis:0}
#budget[data-budget-layout="open"] .estimate-shares__legend{display:flex;flex-wrap:wrap;gap:5px 12px;list-style:none;margin:9px 0 0;padding:0;font-size:11px;line-height:1.5}
#budget[data-budget-layout="open"] .estimate-shares__legend li{display:inline-flex;align-items:center;gap:5px;padding:0;margin:0;color:#303036}
#budget[data-budget-layout="open"] .estimate-shares__legend i{display:inline-block;width:7px;height:7px;flex:none;font-style:normal}
#budget[data-budget-layout="open"] [data-part="works"]{background:#ffb900}
#budget[data-budget-layout="open"] [data-part="materials"]{background:#5b5b59}
#budget[data-budget-layout="open"] [data-part="design"]{background:#171717}
#budget[data-budget-layout="open"] [data-part="finish"]{background:#c7c7c5}
#budget[data-budget-layout="open"] [data-part="furniture"]{background:#b69564}
#budget[data-budget-layout="open"] .estimate-shares figcaption{margin-top:6px;color:var(--zu-muted);font-size:11px;line-height:1.5}
#budget[data-budget-layout="open"] .pr-total-label{margin:0;font-size:18px;font-weight:400;line-height:1.4}
#budget[data-budget-layout="open"] .pr-total{margin:10px 0 8px;font-size:clamp(26px,2.5vw,36px);font-weight:500;line-height:1.25;letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:#171717;overflow-wrap:normal}
#budget[data-budget-layout="open"] .pr-total-context,#budget[data-budget-layout="open"] #pr-budget-caption{font-size:12px;line-height:1.5;margin:0 0 8px;color:var(--zu-muted)}
#pr-budget-overview{min-width:0;margin-bottom:20px}
#pr-budget-details{display:flex;flex-direction:column;flex:1;min-width:0}
#budget[data-budget-layout="open"] .pr-cost-rows{margin:0;border:0}
#budget[data-budget-layout="open"] .pr-cost-rows>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;padding:18px 0;border:0;border-top:1px solid #e8dcc8;line-height:1.4;font-size:14px}
#budget[data-budget-layout="open"] .pr-cost-rows dt{min-width:0;margin:0;font-weight:500}
#budget[data-budget-layout="open"] .pr-cost-rows dd{margin:0;text-align:right;font-size:14px;font-weight:400;font-variant-numeric:tabular-nums}
#budget[data-budget-layout="open"] .pr-cost-rows .pr-cost-note{display:flex;justify-content:space-between;align-items:baseline;gap:12px;grid-column:1/-1;text-align:left;color:var(--zu-muted);font-size:11px;line-height:1.5;font-variant-numeric:normal}
#budget[data-budget-layout="open"] .pr-cost-note :is(span,small){font:inherit}
#budget[data-budget-layout="open"] .pr-cost-note>:first-child{max-width:65%}
#budget[data-budget-layout="open"] .pr-cost-note>:last-child{text-align:right}
#budget[data-budget-layout="open"] .pr-cost-row-excluded{color:var(--zu-muted)}
#budget[data-budget-layout="open"] .pr-budget-warning{margin:18px 0 0;padding:0;border:0;background:transparent;color:#72572e;font-size:12px;line-height:1.5}
#budget[data-budget-layout="open"] #pr-budget-details>.pr-button{margin-top:24px;display:flex;justify-content:center;gap:18px;width:100%;min-height:56px;border-radius:7px;white-space:normal;font-size:16px;font-weight:500}
#budget[data-budget-layout="open"] .pr-estimate-note{margin:16px 0 0;color:var(--zu-muted);font-size:12px;line-height:1.6}
#budget[data-budget-layout="open"] .pr-open-basis{font-size:13px;line-height:1.6;margin:22px 0 0}
#budget[data-budget-layout="open"] .pr-calculation-details{margin-top:14px}
#budget[data-budget-layout="open"] .pr-calculation-details p{font-size:14px;line-height:1.6}
#budget[data-budget-layout="open"] [aria-invalid="true"]{border-color:#aa2525!important}
.pr-open-contact{width:min(520px,calc(100% - 32px));max-height:calc(100dvh - 32px);padding:32px;border:1px solid #deddd8;border-radius:14px;overflow:auto;color:#171717;background:#fff;font-family:inherit}
.pr-open-contact::backdrop{background:rgba(0,0,0,.5)}
.pr-open-contact .pr-modal-close{position:absolute;top:8px;right:8px;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:transparent;color:#171717;font-size:28px;cursor:pointer}
#budget[data-budget-layout="open"] #pr-furniture-error{color:#982b24}
.pr-open-contact h2,.pr-open-contact h3{padding-right:22px;font-size:28px;line-height:1.2;margin:0 0 12px}
.pr-open-contact p{font-size:14px;line-height:1.5}
.pr-open-contact .estimate-gate__form{margin-top:20px}
.pr-open-contact .estimate-gate__field{display:block;font-size:14px;line-height:1.5;margin:14px 0}
.pr-open-contact .estimate-gate__field input{display:block;width:100%;min-height:48px;margin-top:6px;padding:10px 12px;border:1px solid #d5d5d0;border-radius:7px;font:inherit;font-size:16px;background:#fff;color:#171717}
.pr-open-contact .estimate-gate__consent{display:flex;align-items:flex-start;gap:10px;font-size:12px;line-height:1.5;margin:20px 0}
.pr-open-contact .estimate-gate__consent input{flex:none;width:18px;height:18px;margin-top:2px;accent-color:#ffbc19}
.pr-open-contact .estimate-gate__submit{width:100%;min-height:50px;background:#ffbc19;color:#171717;border:0;border-radius:7px;font:inherit;font-weight:500;cursor:pointer}
.pr-open-contact .estimate-gate__submit:disabled{opacity:.55;cursor:not-allowed}
.pr-open-contact :is(input,button,a):focus-visible{outline:2px solid #8e6000;outline-offset:3px}
@media(max-width:1100px){
 #budget[data-budget-layout="open"] :is(.pr-budget-settings,.pr-estimate){padding:24px}
 #budget[data-budget-layout="open"] .pr-budget-fields{grid-template-columns:1fr}
 #budget[data-budget-layout="open"] .pr-cost-rows>div{grid-template-columns:1fr;gap:6px}
 #budget[data-budget-layout="open"] .pr-cost-rows dd{text-align:left}
 #budget[data-budget-layout="open"] .pr-cost-rows .pr-cost-note{display:block}
 #budget[data-budget-layout="open"] .pr-cost-note>:first-child{max-width:none}
 #budget[data-budget-layout="open"] .pr-cost-note>:last-child{display:block;text-align:left;margin-top:3px}
 .pr-result-selects{grid-template-columns:1fr}
}
@media(max-width:768px){
 #budget[data-budget-layout="open"] .pr-budget-grid{grid-template-columns:1fr;gap:16px}
 #budget[data-budget-layout="open"] .pr-estimate{display:contents}
 #pr-budget-overview{order:-1;padding:22px;border:1px solid #deddd8;border-radius:14px;background:#fffbf4;margin:0;display:flex;flex-direction:column}
 #pr-budget-overview .pr-budget-total-group{order:-1;margin-bottom:14px}
 #budget[data-budget-layout="open"] .estimate-shares{margin:0}
 #budget[data-budget-layout="open"] .pr-budget-settings{order:0;padding:22px}
 #pr-budget-details{order:1;padding:4px 22px 22px;border:1px solid #deddd8;border-radius:14px;background:#fffbf4}
 #budget[data-budget-layout="open"] .pr-cost-rows>div:first-child{border-top:0}
 #budget[data-budget-layout="open"] .pr-total{font-size:30px}
 .pr-result-selects{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:560px){
 .pr-result-selects{grid-template-columns:1fr;gap:14px}
 .pr-result-selects select{font-size:16px}
 .pr-result-rooms button{min-height:36px}
 #budget[data-budget-layout="open"] .pr-budget-fields{grid-template-columns:1fr}
 #budget[data-budget-layout="open"] .pr-budget-settings,#pr-budget-overview{padding:22px 18px}
 #pr-budget-details{padding:4px 18px 22px}
 #budget[data-budget-layout="open"] .pr-total{font-size:28px;line-height:1.3}
 #budget[data-budget-layout="open"] .pr-total-label{font-size:16px}
 #budget[data-budget-layout="open"] .pr-cost-rows dd{font-size:16px}
 #budget[data-budget-layout="open"] #pr-furniture-field{width:100%;margin-left:0}
 #budget[data-budget-layout="open"] .pr-field :is(select,input){font-size:16px}
 #budget[data-budget-layout="open"] #pr-budget-details>.pr-button{font-size:15px;gap:10px}
 .pr-open-contact{padding:24px}
}
@media(prefers-reduced-motion:reduce){#budget[data-budget-layout="open"] .pr-switch:after{transition:none}}
@media print{.pr-result-controls,.pr-open-contact{display:none!important}}
