/* Heat pump size calculator (page template: calculator.php).
   Everything is scoped to .aacc so it can't affect the rest of the theme. */
.aacc{
  --navy:#092a49; --navy-2:#0f2c49; --royal:#0f2650;
  --bronze:#8b6022; --bronze-2:#906027; --gold:#c7ac65; --sky:#678fd5;
  --cream:#F8F5F1; --mist:#EBEEF5; --paper:#FBFBFB;
  --ink:#222; --text:#3e3e3e; --muted:#717578; --line:#e3ded5;
  --radius:16px; --shadow:0 12px 34px rgba(9,42,73,.10);
  font-family:"Montserrat",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--text);background:var(--paper);line-height:1.6;font-size:16px
}
.aacc *,.aacc *::before,.aacc *::after{box-sizing:border-box}
.aacc h1,.aacc h2,.aacc h3,.aacc h4{font-family:inherit;letter-spacing:normal}
/* the theme gives every h2 an inline-block layout and an underline swoosh */
.aacc h2{display:block;position:static;padding:0}
.aacc h2::after{content:none!important;display:none}
.aacc img{max-width:100%;display:block}
.aacc a{color:var(--bronze)}
.aacc .wrap{width:min(1180px,100% - 32px);margin-inline:auto}

.aacc .cbtn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;cursor:pointer;font:inherit;font-weight:700;font-size:.92rem;line-height:1.4;text-decoration:none;padding:13px 24px;border-radius:999px;background:var(--bronze);color:#fff;transition:transform .15s,background .15s}
.aacc .cbtn:hover{background:#6f4c1a;color:#fff;transform:translateY(-2px)}
.aacc .cbtn.gold{background:var(--gold);color:var(--navy)} .aacc .cbtn.gold:hover{background:#d6bc7c}
.aacc .cbtn.ghost{background:rgba(255,255,255,.14);color:#fff} .aacc .cbtn.ghost:hover{background:rgba(255,255,255,.22)}
.aacc .cbtn.sm{padding:9px 16px;font-size:.82rem}
.aacc .cbtn.block{width:100%}

/* hero (sits under the theme's transparent header, like #subheader) */
.aacc .hero{color:#fff;padding:170px 0 70px;background:linear-gradient(110deg,rgba(9,42,73,.97),rgba(15,38,80,.9)),var(--hero-img,none) center/cover,var(--navy)}
.aacc .pill{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.1);border:1px solid rgba(199,172,101,.6);padding:7px 16px;border-radius:999px;font-weight:700;font-size:.76rem;letter-spacing:.06em;text-transform:uppercase;color:var(--gold)}
.aacc .hero h1{font-size:clamp(2rem,4.6vw,3.2rem);line-height:1.1;margin:16px 0 12px;font-weight:800;letter-spacing:-.02em;color:#fff}
.aacc .hero h1 em{font-style:normal;color:var(--gold)}
.aacc .hero p{max-width:40em;color:#d3deec;margin:0}
.aacc .kinds{display:inline-flex;gap:6px;background:rgba(255,255,255,.12);padding:5px;border-radius:999px;margin-top:24px}
.aacc .kinds button{border:0;background:transparent;color:#fff;font:inherit;font-weight:700;font-size:.9rem;padding:11px 22px;border-radius:999px;cursor:pointer;transition:.15s}
.aacc .kinds button:hover{background:rgba(255,255,255,.12)}
.aacc .kinds button[aria-pressed="true"]{background:var(--gold);color:var(--navy)}

/* mode picker */
.aacc .modes{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:-44px;position:relative;z-index:2}
.aacc .mode{position:relative;cursor:pointer;background:#fff;border:2px solid var(--line);border-radius:18px;padding:20px 20px 18px;box-shadow:var(--shadow);transition:.15s;text-align:left;font:inherit;color:inherit}
.aacc .mode:hover{transform:translateY(-3px)}
.aacc .mode[aria-pressed="true"]{border-color:var(--bronze);background:var(--cream)}
.aacc .mode[aria-pressed="true"]::after{content:"✓";position:absolute;top:12px;right:14px;width:24px;height:24px;border-radius:50%;background:var(--bronze);color:#fff;font-weight:900;display:grid;place-items:center;font-size:.8rem}
.aacc .mode .ic{font-size:1.8rem;line-height:1}
.aacc .mode b{display:block;color:var(--navy);font-size:1.05rem;margin:8px 0 2px}
.aacc .mode span{font-size:.82rem;color:var(--muted)}

/* layout */
.aacc .calc{display:grid;grid-template-columns:1.1fr .9fr;gap:30px;align-items:start;padding:40px 0 30px}
.aacc .step{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px;margin-bottom:18px;box-shadow:var(--shadow)}
.aacc .step h2{display:flex;align-items:center;gap:12px;font-size:1.1rem;line-height:1.3;margin:0 0 4px;color:var(--navy);font-weight:800}
.aacc .step h2 .n{flex:none;width:30px;height:30px;border-radius:50%;background:var(--navy);color:var(--gold);display:grid;place-items:center;font-size:.85rem}
.aacc .step .hint{margin:0 0 16px 42px;font-size:.84rem;color:var(--muted)}
.aacc .tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.aacc .tile{position:relative;cursor:pointer;display:block;margin:0}
.aacc .tile input,.aacc .chips input{position:absolute;opacity:0;pointer-events:none}
.aacc .tile span{display:block;height:100%;border:2px solid var(--line);border-radius:14px;padding:14px;background:#fff;transition:.15s}
.aacc .tile b{display:block;color:var(--navy);font-size:.92rem;margin-bottom:2px}
.aacc .tile small{display:block;color:var(--muted);font-size:.76rem;line-height:1.4}
.aacc .tile:hover span{border-color:var(--gold)}
.aacc .tile input:checked + span{border-color:var(--bronze);background:var(--cream);box-shadow:0 0 0 3px rgba(139,96,34,.12)}
.aacc .tile input:focus-visible + span,.aacc .chips input:focus-visible + span{outline:3px solid var(--sky);outline-offset:2px}
.aacc .chips{display:flex;gap:8px;flex-wrap:wrap}
.aacc .chips label{cursor:pointer;position:relative;margin:0}
.aacc .chips span{display:inline-block;border:2px solid var(--line);border-radius:999px;padding:8px 15px;font-size:.82rem;font-weight:600;background:#fff;color:var(--ink);transition:.15s}
.aacc .chips label:hover span{border-color:var(--gold)}
.aacc .chips input:checked + span{background:var(--navy);border-color:var(--navy);color:#fff}
.aacc .lab{display:block;font-weight:700;font-size:.78rem;color:var(--navy);margin:18px 0 8px;text-transform:uppercase;letter-spacing:.05em}
.aacc .lab:first-child{margin-top:0}

.aacc .room{border:1.5px solid var(--line);border-radius:14px;padding:18px;margin-bottom:14px;background:var(--paper)}
.aacc .room-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.aacc .room-head b{color:var(--navy)}
.aacc .rm{background:none;border:0;color:var(--muted);font:inherit;font-size:.8rem;font-weight:700;cursor:pointer;text-decoration:underline}
.aacc .rm:hover{color:#a33}
.aacc .slider{margin:12px 0 4px}
.aacc .slider .ctop{display:flex;justify-content:space-between;font-size:.84rem;font-weight:600;color:var(--ink)}
.aacc .slider .ctop label{margin:0}
.aacc .slider .ctop output{color:var(--bronze);font-weight:800}
.aacc input[type=range]{width:100%;accent-color:var(--bronze);height:28px;margin:2px 0;padding:0;border:0;background:transparent}
.aacc .meta{font-size:.78rem;color:var(--muted);margin-top:8px}
.aacc .addroom{width:100%;border:2px dashed var(--gold);background:transparent;color:var(--bronze);font:inherit;font-weight:700;border-radius:14px;padding:14px;cursor:pointer}
.aacc .addroom:hover{background:var(--cream)}

/* result */
.aacc .resbox{position:sticky;top:110px}
.aacc .res{background:var(--navy);color:#fff;border-radius:22px;padding:26px;box-shadow:0 24px 50px rgba(9,42,73,.25)}
.aacc .res small.k{display:block;color:var(--gold);font-weight:800;letter-spacing:.1em;text-transform:uppercase;font-size:.7rem}
.aacc .res .rec{font-size:clamp(1.5rem,2.6vw,2rem);font-weight:900;line-height:1.15;margin:6px 0 4px;letter-spacing:-.02em}
.aacc .res .why{color:#c9d6e6;font-size:.86rem;margin:0}
.aacc .gauge{margin:20px 0 6px}
.aacc .gauge .bar{position:relative;display:flex;height:14px;border-radius:999px;overflow:hidden;background:rgba(255,255,255,.12)}
.aacc .gauge .z{height:100%}
.aacc .z1{background:#d9c58f}.aacc .z2{background:#c7ac65}.aacc .z3{background:#a67c32}.aacc .z4{background:#8b6022}.aacc .z5{background:#6d4a17}
.aacc .gauge .pin{position:absolute;top:-5px;width:4px;height:24px;background:#fff;border-radius:3px;box-shadow:0 0 0 2px var(--navy);transition:left .25s}
.aacc .gauge .labs{display:flex;margin-top:6px;font-size:.62rem;color:#a9bbd0;font-weight:600}
.aacc .gauge .labs span{text-align:center;overflow:hidden;white-space:nowrap}
.aacc .need{display:flex;justify-content:space-between;font-size:.8rem;color:#c9d6e6;margin-top:8px}
.aacc .need b{color:#fff}
.aacc .note{background:rgba(199,172,101,.16);border-left:4px solid var(--gold);border-radius:8px;padding:10px 12px;font-size:.8rem;color:#f3e9cc;margin-top:14px}
.aacc .stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}
.aacc .stat{background:rgba(255,255,255,.08);border-radius:14px;padding:14px}
.aacc .stat small{display:block;color:#a9bbd0;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.aacc .stat b{display:block;font-size:1.25rem;margin-top:2px;line-height:1.2}
.aacc .stat i{display:block;font-style:normal;font-size:.7rem;color:#a9bbd0;margin-top:2px}
.aacc .roomlist{margin-top:16px;display:grid;gap:8px}
.aacc .rl{background:rgba(255,255,255,.08);border-radius:12px;padding:10px 14px;display:flex;justify-content:space-between;gap:10px;font-size:.84rem}
.aacc .rl b{color:var(--gold)} .aacc .rl span{color:#c9d6e6}
.aacc .cta{display:grid;gap:10px;margin-top:20px}
.aacc .fine{font-size:.7rem;color:#8fa6c0;margin:14px 0 0}

.aacc .copt{background:#fff;border:1px solid var(--line);border-radius:var(--radius);margin-top:16px;overflow:hidden}
.aacc .copt summary{cursor:pointer;padding:16px 20px;font-weight:700;color:var(--navy);font-size:.9rem;list-style:none;display:flex;justify-content:space-between;align-items:center}
.aacc .copt summary::-webkit-details-marker{display:none}
.aacc .copt summary::after{content:"+";font-size:1.3rem;color:var(--bronze)}
.aacc .copt[open] summary::after{content:"–"}
.aacc .copt .in{padding:0 20px 18px}
.aacc .copt .grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:end}
.aacc .copt label.f{font-size:.76rem;font-weight:700;color:var(--navy);display:block;margin-bottom:6px}
.aacc input.cnum{width:100%;font:inherit;padding:10px 12px;border:1.5px solid #d6d0c3;border-radius:10px;background:#fff;color:var(--ink)}
.aacc .runout{margin-top:14px;background:var(--cream);border-radius:12px;padding:14px;font-size:.86rem}
.aacc .runout b{color:var(--navy);font-size:1.2rem}
.aacc .runout .cmp{color:var(--muted);font-size:.78rem;margin-top:4px}

/* products */
.aacc .prods h3{margin:22px 0 10px;color:var(--navy);font-size:1rem;font-weight:700;line-height:1.3}
.aacc .plist{display:grid;gap:10px}
.aacc .p{display:flex;justify-content:space-between;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px 16px;text-decoration:none;color:inherit;transition:.15s}
.aacc .p:hover{border-color:var(--bronze);transform:translateY(-2px)}
.aacc .p b{display:block;color:var(--navy);font-size:.88rem;line-height:1.3}
.aacc .p small{color:var(--muted);font-size:.74rem}
.aacc .p .pr{text-align:right;flex:none;font-weight:800;color:var(--navy);font-size:.95rem}
.aacc .p .pr i{display:block;font-style:normal;font-weight:600;font-size:.68rem;color:var(--muted)}
.aacc .tag{display:inline-block;background:var(--gold);color:var(--navy);font-size:.6rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;padding:2px 8px;border-radius:999px;margin-left:6px;vertical-align:middle}

.aacc section.band{padding:60px 0;background:transparent}
.aacc section.alt{background:var(--cream)}
.aacc .kicker{display:inline-block;color:var(--bronze);font-weight:800;text-transform:uppercase;letter-spacing:.12em;font-size:.74rem}
.aacc h2.big{font-size:clamp(1.5rem,3.2vw,2.2rem);line-height:1.15;margin:6px 0 12px;color:var(--navy);font-weight:800}
.aacc .sub{color:var(--muted);max-width:46em;margin:0 0 26px}
.aacc .how{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.aacc .how .c{background:#fff;border:1px solid var(--line);border-top:4px solid var(--gold);border-radius:var(--radius);padding:22px}
.aacc .how .c b{display:block;color:var(--navy);margin-bottom:6px}
.aacc .how .c p{margin:0;font-size:.88rem;color:var(--muted)}
.aacc table.t{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;font-size:.88rem;margin-top:18px}
.aacc table.t th,.aacc table.t td{padding:11px 16px;text-align:left;border-bottom:1px solid var(--line)}
.aacc table.t th{background:var(--navy);color:#fff;font-weight:700}
.aacc table.t tr:last-child td{border-bottom:0}
.aacc .faq{max-width:820px}
.aacc .faq details{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px 18px;margin-top:10px}
.aacc .faq summary{cursor:pointer;font-weight:700;color:var(--navy);font-size:.92rem}
.aacc .faq p{margin:8px 0 0;color:var(--muted);font-size:.88rem}

/* quote form (Contact Form 7) */
.aacc #quote{scroll-margin-top:100px}
.aacc .formgrid{display:grid;grid-template-columns:.9fr 1.1fr;gap:32px;align-items:start}
.aacc .side{background:var(--bronze-2);color:#fff;border-radius:22px;padding:34px}
.aacc .side h2{color:#fff;margin:10px 0 12px;font-size:1.7rem;font-weight:800;line-height:1.2}
.aacc .side p,.aacc .side li{color:#f6ecd9}
.aacc .side ul{padding-left:1.2em;margin:0 0 1em}
.aacc .side a{color:#fff;font-weight:800}
.aacc .side .kicker{color:var(--navy-2);background:var(--gold);padding:4px 10px;border-radius:6px}
.aacc .quote-form{background:#fff;border:1px solid var(--line);border-radius:22px;padding:30px;box-shadow:var(--shadow)}
.aacc .quote-form .wpcf7-form{margin:0}
.aacc .quote-form .frow{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.aacc .quote-form .frow:first-child label.l{margin-top:0}
.aacc .quote-form label.l{display:block;font-weight:700;font-size:.78rem;margin:14px 0 6px;color:var(--navy)}
.aacc .quote-form .wpcf7-form-control-wrap{display:block}
.aacc .quote-form input.t,.aacc .quote-form textarea{width:100%;font:inherit;font-size:.9rem;padding:12px 14px;border:1.5px solid #d6d0c3;border-radius:10px;background:#fff;color:var(--ink);box-shadow:none;height:auto}
.aacc .quote-form textarea{min-height:120px;resize:vertical}
.aacc .quote-form input.t:focus,.aacc .quote-form textarea:focus,.aacc input.cnum:focus{outline:3px solid rgba(139,96,34,.22);border-color:var(--bronze)}
.aacc .quote-form .fsubmit{position:relative;margin-top:18px}
.aacc .quote-form .wpcf7-submit{width:100%}
.aacc .quote-form .wpcf7-submit:disabled{opacity:.7;cursor:wait;transform:none}
.aacc .quote-form .wpcf7-spinner{position:absolute;right:16px;top:50%;margin:-12px 0 0}
.aacc .quote-form .wpcf7-not-valid-tip{font-size:.76rem;font-weight:600;margin-top:4px}
.aacc .quote-form .wpcf7 form .wpcf7-response-output{margin:14px 0 0;border-radius:10px;padding:12px 14px;font-weight:700;font-size:.88rem}
.aacc .quote-form .wpcf7 form.sent .wpcf7-response-output{background:var(--mist);color:var(--navy);border-color:var(--navy)}

.aacc .sos{background:var(--bronze-2);color:#fff;padding:38px 0}
.aacc .sos .wrap{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
.aacc .sos h3{margin:0;font-size:1.4rem;color:#fff;font-weight:700} .aacc .sos p{margin:4px 0 0}
.aacc .sos a.tel{font-size:2rem;font-weight:900;color:#fff;text-decoration:none}
.aacc .mobile-bar{display:none}

/* Theme overrides. This file only loads on the calculator page, so they don't affect other pages.
   The theme's script fixes the mobile call/book bar after 50px of scroll (.sticky1), which takes it
   out of the page flow so the banner slides under it. Keep it in the flow and simply sticky instead.
   overflow:clip on #wrapper still clips like the theme's overflow:hidden but lets sticky work. */
#wrapper{overflow:clip}
.header-mobile-btn-wrapper,.header-mobile-btn-wrapper.sticky1{position:sticky!important;top:115px;z-index:10;width:auto;transition:none;box-shadow:none}
.header-mobile-btn-wrapper.sticky1{box-shadow:rgba(0,0,0,.16) 0 3px 6px}
@media (max-width:347px){
  .header-mobile-btn-wrapper,.header-mobile-btn-wrapper.sticky1{top:120px}
}
/* the bar sits between the header and the banner below 768px, so the banner needs no header clearance */
@media (max-width:767px){
  .aacc .hero{padding-top:54px}
}

@media (max-width:960px){
  .aacc .calc,.aacc .formgrid{grid-template-columns:1fr}
  .aacc .resbox{position:static}
}
@media (max-width:640px){
  .aacc .modes{grid-template-columns:1fr;margin-top:-34px}
  .aacc .mode{display:grid;grid-template-columns:auto 1fr;column-gap:14px;align-items:center;padding:14px 16px}
  .aacc .mode .ic{grid-row:span 2}
  .aacc .mode b{margin:0}
  .aacc .tiles{grid-template-columns:1fr}
  .aacc .quote-form .frow,.aacc .copt .grid2{grid-template-columns:1fr}
  .aacc .quote-form .frow:first-child > div + div label.l{margin-top:14px}
  .aacc .step{padding:20px 16px}
  .aacc .step .hint{margin-left:0}
  .aacc .stats{grid-template-columns:1fr}
  .aacc .mobile-bar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:40;background:#fff;border-top:1px solid var(--line);padding:10px 14px;gap:10px;align-items:center;box-shadow:0 -8px 24px rgba(0,0,0,.1)}
  .aacc .mobile-bar .mb-t{flex:1;min-width:0;font-size:.74rem;color:var(--muted);line-height:1.3}
  .aacc .mobile-bar .mb-t b{display:block;color:var(--navy);font-size:.88rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  body{padding-bottom:74px}
}
