.planner{padding-top:2rem;padding-bottom:3rem}.planner-heading{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;margin-bottom:1.8rem}.planner-heading h1{font-size:clamp(2rem,4.4vw,3.4rem);margin:.25rem 0 .7rem}.planner-heading p{margin:.4rem 0}.view-3d{white-space:nowrap;font-weight:650}.planner-grid{display:grid;grid-template-columns:300px minmax(0,1fr);gap:1.5rem;align-items:start}.planner-setup,.plan-view,.plan-summary,.plan-files{background:#fff;border:1px solid #dce1da;border-radius:16px;padding:1.4rem}.planner-setup{display:grid;gap:.85rem}.planner-step{display:flex;align-items:center;gap:.65rem;margin:0 0 .4rem}.planner-step h2{font-size:1.18rem;margin:0}.step-number{display:grid;place-items:center;border-radius:50%;width:28px;height:28px;flex:0 0 28px;background:#eaf0e8;color:#173e35;font-weight:750;font-size:.88rem}.planner-setup>.planner-step:not(:first-child){margin-top:1rem}.planner label{display:grid;gap:.3rem;font-size:.88rem;font-weight:650}.planner select{width:100%;min-width:0;background:#fff;border:1px solid #b7c4ba;border-radius:8px;min-height:44px;padding:.6rem .65rem;font:inherit;color:#233a32}.planner .inline-field{grid-template-columns:1fr 88px;align-items:center}.planner .fine{margin:.2rem 0;color:#5e6e64;font-size:.83rem;line-height:1.55}.planner button,.file-label{background:#f9faf7;border:1px solid #c4cec5;min-height:44px;border-radius:8px;padding:.55rem .75rem;font:inherit;font-size:.88rem;cursor:pointer;color:#234238}.planner button:hover:not(:disabled),.file-label:hover{background:#edf3eb;border-color:#718b78}.planner button:disabled{opacity:.45;cursor:default}.planner button:focus-visible,.planner a:focus-visible,.planner select:focus-visible,.planner svg:focus-visible,.file-label:focus-within{outline:3px solid #b18126;outline-offset:3px}.planner-tabs{display:flex;gap:.35rem}.planner-tabs button{flex:1;font-size:.83rem;padding:.45rem .3rem}.planner-tabs button[aria-pressed=true]{background:#173e35;color:#fff;border-color:#173e35}.planner-tabs span{font-size:.74rem;opacity:.8}.planner-choices{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}.planner-choices button{padding:.7rem .35rem;display:grid;gap:.3rem;justify-items:center;align-content:start;text-align:center;font-size:.81rem}.planner-choices img{height:77px;max-width:100%;width:104px;object-fit:contain;filter:drop-shadow(0 1px 1px #7773)}.planner-choices small{color:#5e6e64;font-size:.72rem}.planner-choices .draft-label{color:#796035;font-size:.7rem}.planner-workspace{min-width:0;display:grid;gap:1rem}.plan-topline{display:flex;align-items:center;justify-content:space-between;gap:.7rem}.plan-topline h2{font-size:1.15rem;margin:0}.plan-topline>span{font-size:.72rem;color:#607464}.plan-canvas{position:relative;background:#f6f5ee;border:1px solid #d9dfd5;border-radius:8px;margin:1rem auto;max-height:610px;display:flex;align-items:center;justify-content:center;overflow:hidden}.plan-canvas svg{display:block;width:100%;max-height:610px;min-height:230px}.plan-canvas .holder{cursor:grab;touch-action:none}.plan-canvas .holder:active{cursor:grabbing}.plan-canvas .holder rect{vector-effect:non-scaling-stroke;pointer-events:all;stroke-width:2;fill:transparent;stroke:transparent}.plan-canvas .holder.selected rect{stroke:#194d3d;fill:#3d6d5212;stroke-width:3}.plan-canvas .holder.invalid rect{stroke:#b83f32;fill:#b83f321c}.plan-canvas .holder:focus{outline:none}.plan-canvas .holder:focus-visible rect{stroke:#b18126;stroke-width:4}.plan-canvas .holder image{pointer-events:none}.empty-plan{position:absolute;pointer-events:none;max-width:240px;text-align:center;padding:1rem 1.2rem;border-radius:10px;background:#fffffff2;box-shadow:0 2px 15px #2335;color:#173e35;font-size:1.15rem;font-weight:700}.empty-plan span{display:block;font-size:.86rem;line-height:1.5;font-weight:400;margin-top:.5rem}.empty-plan[hidden]{display:none}.plan-toolbar{display:flex;gap:.4rem;flex-wrap:wrap}.plan-toolbar button{font-size:.8rem;flex:1;white-space:nowrap}.plan-feedback{font-size:.86rem;line-height:1.5;min-height:1.5em;margin:.8rem 0;color:#375346}.plan-feedback.error{color:#963b2c}.selected-holder{padding:1rem;background:#edf3ea;border-radius:10px}.selected-holder[hidden]{display:none}.selected-top{display:flex;align-items:center;justify-content:space-between;gap:1rem}.selected-top label{display:flex;align-items:center;gap:.5rem}.selected-top select{width:85px}.selected-actions{display:flex;gap:.4rem;margin-top:.7rem}.selected-actions button{flex:1}.move-controls{display:flex;gap:.4rem;margin-top:.5rem;justify-content:center}.move-controls button{min-width:50px;font-size:1.2rem}.planner-help{margin-top:1rem;border-top:1px solid #dce1da;padding-top:.8rem;font-size:.83rem}.planner details summary{cursor:pointer;font-weight:650}.planner details p{line-height:1.6;font-size:.84rem;color:#54675b}.include-base{display:flex!important;align-items:center;gap:.6rem!important;margin:.8rem 0 1rem}.include-base input{width:19px;height:19px;accent-color:#173e35}.plan-part{display:flex;align-items:center;gap:.7rem;padding:.75rem 0;border-top:1px solid #e0e5dd}.plan-part img{width:50px;height:50px;object-fit:contain;flex:0 0 50px}.part-description{flex:1;min-width:0}.part-description strong{display:block;font-size:.86rem}.part-description small{display:block;color:#637265;font-size:.77rem;margin-top:.2rem}.part-actions{display:flex;align-items:center;gap:.4rem}.part-actions button{min-width:36px;min-height:36px;padding:.3rem .5rem}.part-price{font-size:.85rem;white-space:nowrap;margin:0 .3rem}.plan-totals{border-top:1px solid #bdcabc;margin:1rem 0;display:grid;grid-template-columns:1fr auto;gap:.4rem;font-size:.9rem}.plan-totals dt,.plan-totals dd{margin:0;padding-top:.4rem}.plan-totals dd{text-align:right}.plan-totals .total{font-weight:750;font-size:1rem}.planner .button{display:flex;align-items:center;justify-content:center;width:100%;background:#173e35;color:#fff;border-color:#173e35;min-height:52px;font-weight:650}.planner .button:hover:not(:disabled){background:#285749;color:#fff}.planning-only{padding:.8rem;background:#f8f2e6;border-radius:8px;font-size:.83rem;color:#725b31;line-height:1.5}.planning-only[hidden]{display:none}.plan-summary #cart-feedback{font-size:.85rem;margin:.7rem 0}.plan-summary #go-cart{font-weight:700}.plan-files{font-size:.85rem}.plan-files>div{display:flex;gap:.65rem;align-items:center}.file-label{display:inline-flex!important;position:relative;align-items:center;justify-content:center;overflow:hidden}.file-label input{position:absolute;inset:0;opacity:0;width:100%;cursor:pointer}.planner [hidden]{display:none!important}
@media(min-width:1050px){.planner-setup{position:sticky;top:15px}.plan-canvas{max-width:630px}}@media(max-width:780px){.planner-grid{grid-template-columns:1fr}.planner-heading{align-items:start;flex-direction:column;gap:.7rem}.planner-setup{grid-template-columns:1fr 1fr;padding:1rem;gap:.7rem}.planner-setup>.planner-step,.planner-setup>.fine,.planner-tabs,.planner-choices{grid-column:1/-1}.planner-setup>.planner-step:not(:first-child){margin-top:.4rem}.planner-setup #lid-size-label{grid-column:1/-1}.planner-choices{grid-template-columns:repeat(4,minmax(0,1fr))}.planner-choices img{height:65px}.planner-choices button{font-size:.75rem}.planner-choices small,.planner-choices .draft-label{font-size:.65rem}.plan-view,.plan-summary,.plan-files{padding:1rem}.plan-topline{align-items:start}.plan-topline>span{max-width:100px;text-align:right}.plan-canvas,.plan-canvas svg{max-height:520px}.planner{padding-top:1.4rem}.planner .inline-field{grid-template-columns:1fr}.part-actions{gap:.2rem}.part-price{font-size:.78rem}.plan-toolbar button{padding:.5rem .4rem}.selected-actions button{font-size:.8rem;padding:.5rem .3rem}}@media(max-width:420px){.planner-choices{grid-template-columns:1fr 1fr}.planner-choices img{height:58px}.planner-choices button{grid-template-columns:50px 1fr;align-items:center;text-align:left;column-gap:.4rem;padding:.5rem}.planner-choices img{grid-row:1/4;width:50px;height:50px}.planner-choices span,.planner-choices small{justify-self:start}.planner-choices .draft-label{font-size:.63rem}.plan-part{gap:.4rem}.plan-part img{width:35px;flex-basis:35px}.plan-part .part-price{margin:0}.part-actions button{min-width:32px}.selected-top{gap:.4rem}.selected-top strong{font-size:.87rem}.planner-heading h1{font-size:2rem}}
.back-to-holders{display:none}@media(max-width:780px){.planner-setup>label:first-of-type{grid-column:1/-1}.planner .inline-field{grid-column:1/-1;grid-template-columns:1fr 88px;align-items:center}.back-to-holders{display:inline-block;font-size:.8rem;margin-top:.6rem;font-weight:650}.plan-view{scroll-margin-top:12px}#holder-choices{scroll-margin-top:15px}}
.mobile-plan-link{display:none}@media(max-width:780px){.mobile-plan-link{display:block;grid-column:1/-1;text-align:center;padding:.5rem;border-radius:8px;background:#edf3eb;font-weight:650;font-size:.85rem}}
