/* Hybrid Exterior Group - header dropdowns + Resources pages (Materials, manufacturers, Financing, Referral, FAQ) */

/* ---- Desktop dropdowns (Blue Nail-style white panels) ---- */
.heg-nav .elementor-nav-menu--main .sub-menu{min-width:250px!important;background:#fff!important;border:1px solid var(--heg-border)!important;border-top:3px solid var(--heg-primary)!important;border-radius:0 0 8px 8px;box-shadow:0 24px 40px -24px rgba(18,22,20,.45)!important;padding:8px 0!important}
.heg-nav .elementor-nav-menu--main .sub-menu .sub-menu{border-top:1px solid var(--heg-border)!important;border-left:3px solid var(--heg-primary)!important;border-radius:0 8px 8px 0;margin-top:-9px!important;margin-left:0!important}
.heg-nav .elementor-nav-menu--main .sub-menu a.elementor-sub-item{font-family:var(--heg-font-ui)!important;font-weight:600!important;font-size:.9375rem!important;color:var(--heg-text)!important;background:transparent!important;padding:11px 22px!important;border-left:3px solid transparent;transition:background-color .15s,color .15s,border-color .15s}
.heg-nav .elementor-nav-menu--main .sub-menu a.elementor-sub-item:hover,
.heg-nav .elementor-nav-menu--main .sub-menu a.elementor-sub-item:focus,
.heg-nav .elementor-nav-menu--main .sub-menu a.elementor-sub-item.highlighted,
.heg-nav .elementor-nav-menu--main .sub-menu a.elementor-sub-item.elementor-item-active{background:var(--heg-tint)!important;color:var(--heg-deep)!important;border-left-color:var(--heg-primary)}
.heg-nav .elementor-nav-menu--main .sub-menu .sub-arrow{margin-left:auto;padding-left:14px;color:var(--heg-soft)}
.heg-nav .elementor-nav-menu--main .sub-menu .sub-arrow svg,.heg-nav .elementor-nav-menu--main .sub-menu .sub-arrow i{transform:rotate(-90deg)}
.heg-nav .elementor-nav-menu--main>.elementor-nav-menu>li>a .sub-arrow{color:var(--heg-soft);margin-left:4px}
.heg-nav .menu-item.heg-menu-heading>a.elementor-sub-item{font-size:.75rem!important;letter-spacing:.14em;text-transform:uppercase;color:var(--heg-soft)!important;pointer-events:none;padding-top:8px!important;padding-bottom:6px!important}

/* ---- Mobile header: logo left, phone + hamburger right (<=1023px) ---- */
@media(max-width:1023px){
#heg-site-header .elementor-element-751aba0{width:auto!important;flex:1 1 auto!important;min-width:0}
#heg-site-header .elementor-element-cba3c50{width:auto!important;flex:0 0 auto!important;flex-wrap:nowrap!important;order:2}
#heg-site-header .elementor-element-0c5a21a{width:auto!important;flex:0 0 auto!important;order:3}
#heg-site-header .elementor-element-cba3c50 .heg-btn{display:none!important}
#heg-site-header .heg-hphone{margin:0!important;width:auto!important}
.heg-nav{width:auto!important}
.heg-nav .elementor-nav-menu--dropdown{max-height:calc(100vh - 80px);overflow-y:auto}
.heg-nav .elementor-nav-menu--dropdown .sub-menu a{padding-left:38px!important;font-size:1rem!important;background:var(--heg-light)}
.heg-nav .elementor-nav-menu--dropdown .sub-menu .sub-menu a{padding-left:56px!important;font-size:.9375rem!important;background:#fff}
.heg-nav .elementor-nav-menu--dropdown .sub-arrow{margin-left:auto;padding:0 4px 0 16px}
}

/* ---- Manufacturer cards (Materials hub) ---- */
.heg-mcard{height:100%}
.heg-mlogo{background:var(--heg-light);border-bottom:1px solid var(--heg-border);min-height:160px}
.heg-mlogo-lg{background:#fff;border:1px solid var(--heg-border);border-radius:var(--heg-radius);min-height:260px}
.heg-mlogo-img img{max-height:76px!important;width:auto!important;max-width:100%!important;object-fit:contain;transition:transform .3s var(--heg-ease)}
.heg-mlogo-lg .heg-mlogo-img img{max-height:120px!important}
.heg-mcard:hover .heg-mlogo-img img{transform:scale(1.04)}
.heg-mcard .heg-tags .elementor-icon-list-item{background:var(--heg-tint);border-color:transparent;color:var(--heg-deep);font-size:.75rem;padding:.3rem .7rem!important}
.heg-mcard .heg-tags .elementor-icon-list-icon{display:none}
.heg-mcard .heg-link{margin-top:auto}

/* ---- Manufacturer pages ---- */
.heg-linecard{height:100%}
.heg-linecard:hover{transform:none}
.heg-notecard{border-radius:var(--heg-radius);border:1px solid #D5E9C9}
.heg-notecard ul{margin:0;padding-left:1.1rem}
.heg-notecard li{margin-bottom:.35rem}
.heg-mother{min-height:110px}
.heg-mother .heg-mlogo-img img{max-height:52px!important;filter:grayscale(1);opacity:.75;transition:filter .2s,opacity .2s}
.heg-mother:hover .heg-mlogo-img img{filter:none;opacity:1}
.heg-r-body p{color:var(--heg-muted);font-size:1.0625rem;line-height:1.7}

/* ---- FAQ jump links ---- */
.heg-chip .elementor-button{background:#fff!important;color:var(--heg-text)!important;border:1px solid var(--heg-border-2)!important;border-radius:999px!important;padding:.6rem 1.1rem!important;font-family:var(--heg-font-ui);font-weight:600;font-size:.875rem}
.heg-chip .elementor-button:hover{background:var(--heg-tint)!important;border-color:var(--heg-primary)!important;color:var(--heg-deep)!important}
.heg-faqnav{position:relative}
section[id^="faq-"]{scroll-margin-top:110px}
#referral-form{scroll-margin-top:110px}

/* ---- Referral form ---- */
.heg-form .heg-formstep{margin:.4rem 0 0;font-family:var(--heg-font-ui);font-weight:700;font-size:.8125rem;letter-spacing:.14em;text-transform:uppercase;color:var(--heg-deep)}

/* ---- Header: hamburger only on tablet/mobile (<=1023px); desktop shows the full menu ---- */
@media(min-width:1024px){
.heg-nav .elementor-menu-toggle,
.heg-nav .elementor-nav-menu--dropdown.elementor-nav-menu__container{display:none!important}
}
@media(max-width:1023px){
.heg-nav .elementor-menu-toggle{display:grid!important}
}

/* ---- GAF manufacturer page (Blue Nail-style photo banner) ---- */
.heg-mbanner{position:relative;overflow:hidden;background-position:50% 8%!important}
.heg-mbanner:before{content:'';position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(90deg,rgba(12,15,13,.82) 0%,rgba(12,15,13,.62) 45%,rgba(12,15,13,.18) 100%)}
.heg-mbanner>.e-con-inner{position:relative;z-index:1}
.heg-mbanner .heg-mbanner-title .elementor-heading-title{color:#fff!important;font-size:clamp(2.4rem,5vw,4rem)!important;line-height:1.05!important;text-wrap:balance}
.heg-mbanner .heg-eyebrow-light .elementor-heading-title{color:#B9EC9F!important}
.heg-mbanner .heg-mbanner-lead p{color:rgba(255,255,255,.88)!important;font-size:1.1875rem;line-height:1.6;max-width:600px;margin:0}
.heg-crumbs p{margin:0;font-family:var(--heg-font-ui);font-weight:600;font-size:.8125rem;letter-spacing:.04em;color:rgba(255,255,255,.7)}
.heg-crumbs a{color:#fff!important;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.4)}
.heg-crumbs a:hover{border-color:#fff}
.heg-btn-ghost .elementor-button{background:transparent!important;color:#fff!important;border:1.5px solid rgba(255,255,255,.85)!important}
.heg-btn-ghost .elementor-button:hover{background:#fff!important;color:var(--heg-text)!important}
.heg-mini-title .elementor-heading-title{font-family:var(--heg-font-ui)!important;font-weight:700!important;font-size:.8125rem!important;letter-spacing:.14em;text-transform:uppercase;color:var(--heg-deep)!important}
.heg-checks-1 .elementor-icon-list-items{columns:1!important}
.heg-notecard .heg-checks .elementor-icon-list-item{border-bottom-color:#D5E9C9}
.heg-linecard .elementor-icon-box-wrapper,.heg-linecard .elementor-icon-box-content{text-align:left!important}
.heg-linecard .elementor-icon-box-icon{display:flex;justify-content:flex-start}
.heg-linecard .elementor-icon-box-icon .elementor-icon{width:46px;height:46px;display:grid;place-items:center;background:var(--heg-tint);border-radius:8px}
.heg-linecard .elementor-icon-box-title{font-size:1.3rem!important;line-height:1.2!important}
.heg-compcard .elementor-icon-box-title{font-size:1.125rem!important}
.heg-compcard .elementor-icon-box-description{font-size:.9rem!important}
.heg-wcard{background:#fff}
.heg-ctaband{border:1px solid #D5E9C9;border-radius:12px}

/* ---- Shingle color swatches ---- */
.heg-colors .heg-swgroup{margin:0 0 40px}
.heg-colors .heg-swtitle{display:flex;align-items:center;gap:12px;margin:0 0 18px;font-family:var(--heg-font-ui);font-weight:700;font-size:1.125rem;color:var(--heg-text)}
.heg-sw-new{font-size:.6875rem;letter-spacing:.12em;text-transform:uppercase;background:var(--heg-tint);color:var(--heg-deep);padding:.3rem .6rem;border-radius:999px}
.heg-swatches{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:22px 18px}
@media(max-width:1023px){.heg-swatches{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:767px){.heg-swatches{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 14px}}
.heg-sw{margin:0;display:flex;flex-direction:column;gap:10px}
.heg-sw-chip{display:block;aspect-ratio:4/3;border-radius:var(--heg-radius);background-color:var(--c);
background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='44'%3E%3Crect y='2' width='64' height='6' fill='rgba(0,0,0,.14)'/%3E%3Crect y='24' width='64' height='6' fill='rgba(0,0,0,.14)'/%3E%3Cpath d='M0 1H64M0 23H64' stroke='rgba(0,0,0,.38)' stroke-width='2'/%3E%3Cpath d='M18 2V22M50 2V22M2 24V44M34 24V44' stroke='rgba(0,0,0,.26)' stroke-width='1.5'/%3E%3C/svg%3E"),radial-gradient(circle,rgba(255,255,255,.16) 0 1px,transparent 1.4px),radial-gradient(circle,rgba(0,0,0,.3) 0 1px,transparent 1.6px),linear-gradient(165deg,rgba(255,255,255,.14),rgba(0,0,0,.24));
background-size:64px 44px,5px 5px,7px 7px,100% 100%;background-position:0 0,0 0,3px 2px,0 0;
box-shadow:inset 0 0 0 1px rgba(0,0,0,.08),0 14px 24px -20px rgba(18,22,20,.6);transition:transform .25s var(--heg-ease)}
.heg-sw:hover .heg-sw-chip{transform:translateY(-3px)}
.heg-sw-name{font-family:var(--heg-font-ui);font-weight:700;font-size:.9375rem;color:var(--heg-text);line-height:1.3}
.heg-sw-note{margin:0;text-align:center;color:var(--heg-soft);font-size:.875rem}