.ph-estimator{--ph-ink:#24342b;--ph-muted:#596b5f;--ph-accent:#2c6041;--ph-pale:#f2f6f1;--ph-line:#d9e3da;--ph-paper:#fff;max-width:1050px;margin:1.5rem auto;padding:24px;color:var(--ph-ink);background:var(--ph-paper);border:1px solid var(--ph-line);border-radius:12px;font-family:inherit;line-height:1.5}
.ph-estimator .ph-included-description{display:block;color:var(--ph-muted);font-size:.88em;line-height:1.35;margin-top:2px}.ph-estimator button:disabled{opacity:.6;cursor:not-allowed}.ph-estimator .ph-contact>a[data-inquiry]:not([href]){opacity:.6;pointer-events:none}
.ph-estimator .ph-price-caption{font-size:.78rem;color:var(--ph-muted);margin:0 0 4px}
.ph-estimator *{box-sizing:border-box}.ph-estimator [hidden]{display:none!important}.ph-estimator .ph-progress{display:flex;gap:8px;flex-wrap:wrap;border-bottom:1px solid var(--ph-line);padding-bottom:16px;color:var(--ph-muted);font-size:.82rem}.ph-estimator .ph-progress span{padding:5px 10px;border-radius:99px}.ph-estimator .ph-progress .is-current{background:var(--ph-accent);color:white}.ph-estimator .ph-screen{padding:16px 2px 4px}.ph-estimator .ph-eyebrow{font-size:.72rem;text-transform:uppercase;letter-spacing:.14em;font-weight:700;color:var(--ph-accent);margin:12px 0 4px}.ph-estimator h2{font-size:clamp(1.6rem,3vw,2.2rem);margin:0 0 5px}.ph-estimator h3{font-size:1.15rem;margin:0 0 6px}.ph-estimator p{margin:7px 0 16px;color:var(--ph-muted)}.ph-estimator label{font-weight:600;display:block}.ph-estimator label small{font-weight:400;color:var(--ph-muted)}.ph-estimator .ph-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;max-width:660px}.ph-estimator input[type="number"],.ph-estimator select,.ph-estimator textarea{display:block;width:100%;max-width:100%;padding:10px 12px;margin:5px 0 12px;border:1px solid var(--ph-line);border-radius:6px;font:inherit;color:var(--ph-ink);background:var(--ph-paper)}.ph-estimator .ph-more{max-width:300px}.ph-estimator .ph-hint{font-size:.82rem;color:var(--ph-muted)}.ph-estimator fieldset{border:0;padding:0;margin:12px 0}.ph-estimator legend{font-weight:700;margin-bottom:8px}.ph-estimator .ph-checks{display:flex;flex-wrap:wrap;gap:8px}.ph-estimator .ph-checks label{font-weight:400;border:1px solid var(--ph-line);border-radius:7px;padding:10px}.ph-estimator input[type="checkbox"]{accent-color:var(--ph-accent);margin-right:5px}.ph-estimator button,.ph-estimator .ph-contact>a[data-inquiry]{display:inline-block;padding:11px 16px;background:var(--ph-accent);border:1px solid var(--ph-accent);border-radius:6px;color:white;font:inherit;font-weight:650;text-decoration:none;cursor:pointer}.ph-estimator button.ph-link{border:0;background:transparent;color:var(--ph-accent);text-decoration:underline;padding:9px 0}.ph-estimator .ph-actions{display:flex;gap:14px;flex-wrap:wrap;align-items:center;justify-content:space-between;margin-top:20px}.ph-estimator .ph-actions span{font-size:.8rem;color:var(--ph-muted)}.ph-estimator .ph-package-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:20px}.ph-estimator .ph-package{border:1px solid var(--ph-line);border-radius:8px;padding:16px;display:flex;flex-direction:column;min-width:0}.ph-estimator .ph-package.is-selected{border:2px solid var(--ph-accent);padding:15px}.ph-estimator .ph-package .ph-description{font-size:.83rem;min-height:65px}.ph-estimator .ph-package .ph-price{color:var(--ph-ink);font-size:1.65rem;font-weight:700;margin:0}.ph-estimator .ph-package .ph-savings{font-size:.78rem;color:var(--ph-accent)}.ph-estimator .ph-package ul{padding-left:18px;flex:1;font-size:.83rem}.ph-estimator .ph-package li{margin:5px 0}.ph-estimator .ph-extra{display:flex;align-items:start;justify-content:space-between;gap:12px;border-bottom:1px solid var(--ph-line);padding:14px 0;cursor:pointer}.ph-estimator .ph-extra small{display:block;padding-left:28px;line-height:1.4}.ph-estimator .ph-extra strong{white-space:nowrap}.ph-estimator .ph-estimate-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(220px, .8fr);gap:24px}.ph-estimator .ph-line{display:flex;justify-content:space-between;gap:15px;padding:10px 0;border-bottom:1px solid var(--ph-line)}.ph-estimator .ph-total{font-size:1.3rem;font-weight:700;border:0}.ph-estimator .ph-contact{padding:18px;background:var(--ph-pale);border-radius:8px;align-self:start}.ph-estimator .ph-contact p{font-size:.85rem}.ph-estimator .ph-contact button{display:block;margin-top:10px}.ph-estimator .ph-disclaimer{font-size:.82rem;background:var(--ph-pale);padding:13px;border-radius:6px;margin-top:18px}.ph-estimator .ph-partial{border-top:1px solid var(--ph-line);padding:19px 2px 2px;margin-top:15px;font-size:.85rem}.ph-estimator .ph-partial a,.ph-estimator .ph-contact a:not([data-inquiry]){color:var(--ph-accent)}.ph-estimator .ph-error{color:#9b2d2d!important;background:#fff1ee;padding:10px;border-radius:6px;margin-top:15px}
@media(max-width:760px){.ph-estimator{padding:16px}.ph-estimator .ph-package-grid,.ph-estimator .ph-estimate-grid{grid-template-columns:1fr}.ph-estimator .ph-package .ph-description{min-height:0}.ph-estimator .ph-fields{grid-template-columns:1fr}.ph-estimator .ph-checks label{flex-basis:calc(50% - 4px)}.ph-estimator .ph-actions{align-items:stretch}.ph-estimator .ph-actions button:not(.ph-link){width:100%}}
@media(max-width:420px){.ph-estimator .ph-checks label{flex-basis:100%}}

.ph-estimator .ph-calendar-note{font-size:.82rem;background:var(--ph-pale);padding:10px 12px;border-radius:6px;color:var(--ph-muted);margin:12px 0}.ph-estimator .ph-month{margin:20px 0}.ph-estimator .ph-month h3{margin-bottom:10px}.ph-estimator .ph-date-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.ph-estimator button.ph-date{background:var(--ph-paper);color:var(--ph-ink);border:1px solid var(--ph-line);padding:9px 4px;min-height:74px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px}.ph-estimator button.ph-date[data-state="request"]{background:var(--ph-pale);border-style:dashed}.ph-estimator button.ph-date[data-state="blocked"]{opacity:.42;background:#f5f5f5}.ph-estimator button.ph-date.is-selected{outline:3px solid var(--ph-accent);outline-offset:1px}.ph-estimator .ph-date-dow,.ph-estimator .ph-date small{font-size:.68rem;font-weight:500}.ph-estimator .ph-date strong{font-size:1.15rem}.ph-estimator .ph-selected-date{margin:15px 0;padding:12px;border-left:4px solid var(--ph-accent);background:var(--ph-pale);font-weight:650}
@media(max-width:600px){.ph-estimator .ph-date-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.ph-estimator button.ph-date{min-height:68px}}
.ph-estimator input[type="text"],.ph-estimator input[type="email"],.ph-estimator input[type="tel"],.ph-estimator input:not([type]){display:block;width:100%;padding:10px 12px;margin:5px 0 12px;border:1px solid var(--ph-line);border-radius:6px;font:inherit;color:var(--ph-ink);background:var(--ph-paper)}
.ph-estimator .ph-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px;max-width:800px}.ph-estimator .ph-wide{grid-column:1/-1}.ph-estimator .ph-month-head{display:grid;grid-template-columns:48px 1fr 48px;align-items:center;margin-bottom:10px}.ph-estimator .ph-month-head h3{text-align:center;margin:0}.ph-estimator button.ph-month-nav{padding:7px;background:transparent;color:var(--ph-accent);border-color:var(--ph-line)}.ph-estimator .ph-weekday{text-align:center;font-size:.72rem;font-weight:700;color:var(--ph-muted);padding:4px}.ph-estimator .ph-date-blank{min-height:74px}.ph-estimator .ph-review-card{background:var(--ph-pale);padding:18px;border-radius:8px}.ph-estimator .ph-review-card p{margin:7px 0}
@media(max-width:600px){.ph-estimator .ph-date-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.ph-estimator button.ph-date{min-height:58px;padding:5px 1px}.ph-estimator .ph-date strong{font-size:1rem}.ph-estimator .ph-date small{font-size:.58rem}.ph-estimator .ph-weekday{font-size:.6rem;padding:2px}.ph-estimator .ph-date-blank{min-height:58px}.ph-estimator .ph-form-grid{grid-template-columns:1fr}.ph-estimator .ph-wide{grid-column:auto}}
