/* Cost Estimator Page Styles */
/* Scoped with .ce- and specific IDs to avoid global conflicts */
.ce-hero{position:relative;overflow:hidden;background:radial-gradient(circle at 25% 25%, #eef6ff 0%, #f5f9ff 55%, #ffffff 100%);padding:4rem 0 4.25rem;text-align:center}
.ce-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(140deg, rgba(var(--rp-color-primary-rgb),.18), rgba(var(--rp-color-secondary-rgb),.12) 42%, rgba(255,255,255,0) 70%),repeating-linear-gradient(45deg, rgba(var(--rp-color-primary-rgb),.06) 0 2px, transparent 2px 6px);opacity:.9;pointer-events:none}
.ce-hero h1{font-size:clamp(2rem,5vw,2.8rem);margin:0 0 .75rem;font-weight:600;letter-spacing:.5px;line-height:1.15}
.ce-hero p{font-size:1.05rem;margin:0 0 1.1rem;color:#3b4652;max-width:780px;margin-left:auto;margin-right:auto}
#countdown{font-size:1.5rem;font-weight:600;letter-spacing:.5px}
.ce-hero .brand-accent{color:var(--rp-color-accent-gold);position:relative}
.ce-hero .brand-accent:after{content:"";position:absolute;left:0;right:0;bottom:2px;height:6px;background:linear-gradient(90deg, rgba(var(--rp-color-accent-gold-rgb),.55), rgba(var(--rp-color-accent-gold-rgb),0));border-radius:4px;z-index:-1}
.ce-hero-edge{position:absolute;left:0;right:0;bottom:0;height:32px;background:linear-gradient(to bottom, rgba(255,255,255,0), #fff);pointer-events:none}
.estimator-wrap{background:#f8fafc}
.estimator-shell{max-width:1200px;margin:0 auto;padding:0 20px}
.ce-flex{display:flex;gap:24px;flex-wrap:wrap;justify-content:center;padding:60px 0}
.ce-left{flex:1;max-width:820px;min-width:0}
.ce-right{width:320px}
@media (min-width:992px){.ce-right{position:sticky;top:90px;align-self:flex-start}}
.ce-card,.ce-summary{background:#fff;border-radius:12px;padding:24px;box-shadow:0 4px 12px rgba(0,0,0,.05);margin-bottom:24px}
/* Light highlight for summary */
.ce-summary{background:#fafcff;border:1px solid #e4edf5;box-shadow:0 2px 4px rgba(0,0,0,.04)}
.ce-summary .ce-breakdown{background:#ffffff;border:1px solid #e4edf5;border-radius:8px;padding:12px;margin-bottom:10px}
.ce-summary .ce-breakdown p{font-size:.82rem}
/*.ce-card h2{font-size:1.4rem;margin:0 0 12px;color:#1e3a8a;font-weight:600}*/
.ce-card h2, .ce-summary h2{    font-weight: 600;
    letter-spacing: .5px;}
.ce-card h3{font-size:1rem;margin:18px 0 8px;font-weight:600;letter-spacing:.5px;color:#374151}
.ce-inline{display:flex;gap:16px;flex-wrap:wrap;align-items:center}
.ce-row{display:flex;gap:16px;flex-wrap:wrap}
.ce-card label{display:block;margin:4px 0 4px;color:#6b7280;font-size:.75rem;font-weight:600;letter-spacing:.05em;}
/* Use Bootstrap form-control and form-select; only constrain width */
.ce-card .form-control,.ce-card .form-select{max-width:240px;font-size:.9rem}
.ce-card .form-control:focus,.ce-card .form-select:focus{box-shadow:0 0 0 .20rem rgba(var(--rp-color-secondary-rgb),.35); border-color: var(--rp-color-secondary);}
.service-msg,.small-note{font-size:.7rem;color:#6b7280;margin-top:4px; padding-bottom: 0.75rem;}
.service-msg{display: none;}
.small-note{cursor:help;position:relative}
.small-note:hover:after{content:attr(data-tip);position:absolute;left:0;top:100%;background:var(--rp-color-primary);color:#fff;padding:5px 8px;border-radius:4px;font-size:.65rem;white-space:nowrap;z-index:10}
.hidden{display:none!important}
.faded{opacity:.5;pointer-events:none}
/*.ce-summary h2{font-size:1.4rem;margin:0 0 10px;color:#1e3a8a;font-family:'Playfair Display',serif}*/
.ce-breakdown p{margin:6px 0;font-size:.8rem;color:#374151}
.ce-total{font-size:1.1rem;font-weight:700;color:var(--rp-color-primary);margin-top:10px}
.ce-savings{color:var(--rp-color-secondary);font-size:.95rem;margin-top:4px;font-weight:600}
.ce-btn{background:var(--rp-color-accent-gold);color:#fff;border:none;padding:10px 18px;border-radius:24px;font-weight:600;font-size:.8rem;letter-spacing:.04em;cursor:pointer;transition:transform .25s,box-shadow .25s, background .25s ease;display:inline-block;box-shadow:0 4px 14px -4px rgba(var(--rp-color-accent-gold-rgb), .55)}
.ce-btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px -6px rgba(var(--rp-color-accent-gold-rgb), .6); background:#d98406}
.ce-btn.secondary{background:var(--rp-color-primary)}
@media (max-width:768px){.ce-hero h1{font-size:1.9rem}.ce-flex{padding:40px 0}.ce-right{width:100%;position:static}.ce-card,.ce-summary{margin-bottom:32px}}
.ce-note{font-size:.7rem;color:#6b7280;margin-top:6px}
/* Legends for fieldsets */
fieldset{border:0;padding:0;margin:0}
fieldset + fieldset{margin-top:.5rem}
legend{font-size:.7rem;letter-spacing:.08em;font-weight:600;color:#6b7280;}
legend + .form-check-inline, legend + .d-flex{margin-top:.15rem}

/* Inline alignment for checkboxes & radios */
.ce-card .form-check{display:flex;align-items:center;gap:4px;margin:2px 8px 2px 0; padding-left: 0;}
.ce-card .form-check-input{margin:0;flex:0 0 auto}
/* Override the generic block label so checkbox/radio text stays on same line */
.ce-card .form-check-label{display:inline-block;margin:0;font-size:.8rem;font-weight:600;letter-spacing:.05em;color:#6b7280}
.ce-card .form-check-inline{display:inline-flex;align-items:center}
.ce-card .form-check-inline .form-check-input{margin-right:4px}
