/* ============================================================
   PlusHeat header / footer redesign (Figma "Desktop-11")
   Uses theme CSS variables from root.css + Rubik.
   Prefixed .hfv2- classes to avoid clashing with legacy CSS.
   ============================================================ */

.hfv2-header,
.hfv2-footer,
.hfv2-mobile-menu{
    font-family:var(--font-primary);
}
.hfv2-header .container-lg,
.hfv2-footer .container-lg{
    max-width: 100%;
}
.hfv2-header *,.hfv2-footer *,.hfv2-mobile-menu *{box-sizing:border-box}
.hfv2-header a,.hfv2-footer a,.hfv2-mobile-menu a{text-decoration:none}

/* ---------------- HEADER ---------------- */
.hfv2-header{position:relative;z-index:40;background:var(--color-white);}
.hfv2-header-row{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:78px}
.hfv2-logo{display:inline-flex;align-items:center}
.hfv2-logo img{display:block;width:auto;height:auto;max-width:150px}

.hfv2-nav{flex:1;display:flex;justify-content:center}
.hfv2-nav ul{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:22px}
.hfv2-nav ul li{margin:0}
.hfv2-nav ul li a{font-size:16px;font-weight:var(--font-regular);line-height:1;color:var(--color-heading);transition:color .15s}
.hfv2-nav ul li a:hover,.hfv2-nav ul li.current-menu-item a{color:var(--color-primary)}

/* Neutralise legacy #header nav styling (old orange-pill nav) leaking in via id selectors */
#header .hfv2-nav .hfv2-nav-menu{background:transparent !important;border-radius:0 !important;padding:0 !important;box-shadow:none !important;margin:0;display:flex;align-items:center;gap:22px}
#header .hfv2-nav .hfv2-nav-menu > li{background:transparent !important;margin:0;padding:0}
#header .hfv2-nav .hfv2-nav-menu > li > a{color:var(--color-heading)!important;background:transparent !important;padding:0 !important;font-size:16px;font-weight:var(--font-regular)}
#header .hfv2-nav .hfv2-nav-menu > li > a:hover,#header .hfv2-nav .hfv2-nav-menu > li.current-menu-item > a{color:var(--color-primary) !important}

.hfv2-cta{display:flex;gap:12px;flex:0 0 auto}
.hfv2-btn{display:inline-flex;align-items:center;justify-content:center;border-radius:16px;font-size:16px;font-weight:var(--font-regular);line-height:1;padding:12px 24px;border:2px solid var(--color-heading);color:var(--color-heading);background:var(--color-white);white-space:nowrap;transition:background .15s,color .15s}
.hfv2-btn:hover{background:var(--color-heading);color:var(--color-white)}

.hfv2-burger{display:none;background:none;border:0;cursor:pointer;padding:6px;margin-left:auto}
.hfv2-burger span{display:block;width:26px;height:2.5px;background:var(--color-heading);border-radius:2px;margin:5px 0}

/* ---------------- FOOTER ---------------- */
.hfv2-footer{font-weight:var(--font-regular);background:var(--color-white);color:var(--color-text);letter-spacing:-.03em;border-top:1px solid var(--color-border-light);    border-radius: 64px 64px 0 0;
    background-color: var(--color-white);
    box-shadow: 0 -24px 39.8px -6px rgba(0, 0, 0, 0.04);}
.hfv2-footer-top{display:grid;grid-template-columns:2fr 0.7fr 0.7fr 0.7fr 1.5fr;gap:24px;padding:64px 0 56px}

.hfv2-fbrand .hfv2-logo img{max-width:160px;margin-bottom:16px}
.hfv2-ftagline{font-size:16px;line-height:24px;max-width:300px;margin:0 0 22px;color:var(--color-heading)}
.hfv2-social{display:flex;gap:14px}
.hfv2-social a{display:inline-flex;width:24px;height:24px}
.hfv2-social img{width:100%;height:100%;object-fit:contain}

.hfv2-fcol h4{color:var(--color-heading);font-size:20px;font-weight:var(--font-semibold);line-height:28px;margin:0 0 16px}
.hfv2-fcol ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.hfv2-fcol ul li{margin:0}
.hfv2-fcol ul li a{font-size:20px;line-height:28px;color:var(--color-text);transition:color .15s}
.hfv2-fcol ul li a:hover{color:var(--color-primary)}

.hfv2-fcontact{font-size:20px;line-height:28px}
.hfv2-fcontact h4 a{color:var(--color-heading)}
.hfv2-fcontact a:hover{color:var(--color-primary)}
.hfv2-fcontact-body p{margin:-3px 0 0;line-height:2}
.hfv2-fcontact-body p strong{color:var(--color-heading);font-weight:var(--font-semibold);}
.hfv2-fcontact .hfv2-cicon,
.hfv2-mm-contact .hfv2-cicon{width:18px;height:18px;display:inline-block;vertical-align:-4px;margin-right:8px}

.hfv2-footer-bottom{padding:36px 0 48px;font-size:16px;line-height:24px;color:var(--color-text)}
.hfv2-agreement{margin:0 0 14px;max-width:100%}
.hfv2-agreement p{margin:0 0 12px}
.hfv2-agreement a{color:var(--color-text);text-decoration:underline;text-underline-offset:2px}
.hfv2-agreement a:hover{color:var(--color-primary);}
.hfv2-legal{display:flex;flex-wrap:wrap;gap:8px 22px;align-items:center;padding-top:6px}
.hfv2-legal a,.hfv2-legal span{color:var(--color-text);font-size:16px}
.hfv2-legal a:hover{color:var(--color-primary)}
.hfv2-legal .hfv2-copy{margin-left:auto}

/* ---------------- MOBILE MENU ---------------- */
.hfv2-mobile-menu{position:fixed;inset:0;background:var(--color-white);z-index:60;transform:translateX(100%);transition:transform .28s ease;display:flex;flex-direction:column;padding:22px 24px 34px;overflow-y:auto}
.hfv2-mobile-menu.open{transform:translateX(0)}
.hfv2-mm-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px}
.hfv2-mm-top .hfv2-logo img{max-width:140px}
.hfv2-mm-close{background:none;border:0;font-size:32px;line-height:1;color:var(--color-text);cursor:pointer}
.hfv2-mm-nav ul{list-style:none;margin:0 0 30px;padding:0;display:flex;flex-direction:column;gap:20px}
.hfv2-mm-nav ul li a{font-size:16px;font-weight:var(--font-semibold);color:var(--color-heading)}
.hfv2-mm-contact{font-size:16px;font-weight:var(--font-regular);line-height:2.25;color:var(--color-text)}
.hfv2-mm-contact h4{font-weight: var(--font-semibold);margin-bottom:0;}
.hfv2-mm-contact h4 a{color:var(--color-heading)}
.hfv2-mm-contact p{margin:0;}
.hfv2-mm-contact strong{color:var(--color-heading);font-weight:var(--font-semibold);}
.hfv2-mm-cta{display:flex;gap:14px;margin-top:auto;padding-top:34px}
.hfv2-mm-cta .hfv2-btn{flex:1;padding:16px;background:var(--color-heading);color:var(--color-white);border-color:var(--color-heading)}
.hfv2-mm-cta .hfv2-btn:hover{background:var(--color-heading);border-color:var(--color-heading)}

.sticky-menu{display:none!important;;}

/* ---------------- RESPONSIVE ---------------- */
@media(max-width:1100px){
    .hfv2-footer-top{grid-template-columns:2fr 1fr 1fr 1fr 2fr;}
}
@media(max-width:1000px){
    .hfv2-nav,.hfv2-cta{display:none}
    .hfv2-burger{display:block}
    .hfv2-header-row{min-height:66px}
    /* Mobile footer: single-column stack, Contact us first (matches mobile design) */
    .hfv2-footer{margin-top:3rem;}
    .hfv2-footer-top{grid-template-columns:1fr;gap:34px;padding:44px 0 24px}
    .hfv2-fbrand{order:0}
    .hfv2-ftagline{max-width:100%;}
    .hfv2-fcol ul li a{font-size:16px;line-height:26px}
    .hfv2-fcontact{font-size:16px;line-height:24px}
    .hfv2-fcol--contact{order:1}
    .hfv2-fcol--plans{order:2}
    .hfv2-fcol--about{order:3}
    .hfv2-fcol--support{order:4}
    .hfv2-fcol--plans ul,
    .hfv2-fcol--about ul,
    .hfv2-fcol--support ul{display:grid;grid-template-columns:1fr 1fr;gap:12px 24px}
    .hfv2-legal{flex-direction:column;align-items:flex-start;}
    .hfv2-legal .hfv2-copy{margin-left:0;flex-basis:100%;margin-top:30px;}
}
