/* =========================
   HERO BASE
========================= */
.wol-hero{
  position: relative;
  height: 360px;              /* matches comp better */
  overflow: hidden;
  background: #f6f1e7;
}

/* Background image */
.wol-hero__bg{
  position: absolute;
  inset: 0;
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
  z-index: 1;
}

/* Warm light on right */
.wol-hero::after{
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  width: 45%;
  height: 100%;
  background: radial-gradient(
    circle at 80% 35%,
    rgba(255,210,120,0.6),
    rgba(255,210,120,0) 65%
  );
  z-index: 2;
  pointer-events: none;
}

/* =========================
   SVG OVERLAY
========================= */
.wol-hero__svg{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 3;
  pointer-events: none;
}

/* =========================
   RED PANEL
========================= */
.wol-hero__panel{
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  height: 80%;
  width: 48%;
  min-width: 360px;
  max-width: 580px;

  background: #b52b2b;
  padding: 48px 44px;
  z-index: 4;

  /* Rounded right edge */
  border-top-right-radius: 96px;
  border-bottom-right-radius: 96px;

  /* Angled top-left cut */
  clip-path: polygon(
    64px 0%,
    100% 0%,
    100% 100%,
    0% 100%,
    0% 64px
  );
}

.wol-hero__title{
  margin: 0;
  color: #fff;
  font-weight: 700;
  font-size: 48px;
  line-height: 1.05;
}

/* =========================
   INTRO
========================= */
.wol-intro{
	text-align: center;
/*   padding: 50px 0 44px; */
	padding: 82px 0;
}

.wol-intro h2{
/*   	margin: 0 0 24px; */
	margin: 0;
/*   color: #b52b2b; */
/*   font-size: 40px; */
	color: #C1352C;
	font-size: 50px;
  	font-weight: 400;
}

.wol-intro p{
/*   max-width: 780px; */
/* 	max-width: 730px; */
	max-width: 985px;
  	margin: 0 auto;
  	font-size: 32px;
  	line-height: 1.4;
  	color: #111;
	letter-spacing: 0.2px;
}

/* =========================
   RESPONSIVE
========================= */
@media (max-width: 767px){
  .wol-hero{
    height: 280px;
  }

  .wol-hero__panel{
    width: 70%;
    height: 84%;
    padding: 28px 26px;
    border-top-right-radius: 64px;
    border-bottom-right-radius: 64px;

    clip-path: polygon(
      48px 0%,
      100% 0%,
      100% 100%,
      0% 100%,
      0% 48px
    );
  }

  .wol-hero__title{
    font-size: 34px;
  }
	.wol-intro{
    	padding: 50px 0 44px;
	}
	.wol-intro h2{
		font-size: 26px;
	}
	.wol-intro p{
		font-size: 20px;
	    line-height: 1.2;
	}
}

/* FOOTER BAR */
.wol-footer{
  /* deep brown/black gradient like screenshot */
/*   background: #0A0203; */
	background: #5B5C5E;
  color: #fff;
  padding: 50px 0;
}

.wol-footer__inner{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
	flex-wrap: wrap;

  -webkit-box-align: flex-start;
  -ms-flex-align: flex-start;
  align-items: flex-start;

  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
	margin: 0 -20px;
}

/* Column sizing */
/* .wol-footer__left,
.wol-footer__center,
.wol-footer__right{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
} */
.wol-footer-col{
	max-width: 23%;
    flex: 0 0 23%;
    padding: 0 20px;
}
.wol-footer-col:last-child{
	max-width: 30%;
    flex: 0 0 30%;
}
.wol-footer__left{  -webkit-box-flex: 0; -ms-flex: 0 0 34%; flex: 0 0 34%; }
.wol-footer__center{ -webkit-box-flex: 0; -ms-flex: 0 0 32%; flex: 0 0 32%; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; }
.wol-footer__right{ -webkit-box-flex: 0; -ms-flex: 0 0 34%; flex: 0 0 34%; -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; }

.wol-footer-col .footer-title h3{
	color: #ffffff;
	font-size: 16px;
	font-weight: 700;
}
.footer-text-content p,
.footer-text-content a{
	color: #ffffff;
	font-size: 16px;
	font-weight: 400;
}
.footer-text-content a span{
	color:#C1352C;
}
.wol-footer-col .wx-social__icon{
	height: 40px;
	width: 40px;
	margin: 0 4px;
}
.wol-footer-col .wx-social__icon img{
	height: 40px;
	width: 40px;
}
/* Logos */
.wol-footer__logo{
  display: inline-block;
  line-height: 0;
}

.wol-footer__logo--dealer img{
  max-height: 54px; /* tune to match your asset */
  width: auto;
}

.wol-footer__logo--express img{
  max-height: 46px; /* tune to match your asset */
  width: auto;
}

/* Legal */
.wol-footer__legal{
  margin: 0;
  font-size: 16px;
  line-height: 1.35;
  color: rgba(255,255,255,0.90);
}

.wol-footer__legal a{
  color: rgba(255,255,255,0.95);
  text-decoration: none;
	margin: 10px 0;
    display: block;
}

.wol-footer__legal a:hover,
.wol-footer__legal a:focus{
  text-decoration: underline;
}

.wol-footer__legal-line{
  display: block;
  color: rgba(255,255,255,0.78);
  margin-top: 2px;
}

/* Responsive */
@media (max-width: 767px){
  .wol-footer{
    padding: 20px 0;
  }

  .wol-footer__inner{
    display: block;
    text-align: left;
	  margin: 0;
  }
	.wol-footer-col,
	.wol-footer-col:last-child{
		max-width: 100%;
		flex: 0 0 100%;
		padding: 25px 0;
		border-bottom: 1px dashed #ffffff
	}
	.wol-footer-col .footer-title h3{
		margin-bottom: 15px;
	}
  .wol-footer__left,
  .wol-footer__center,
  .wol-footer__right{
    display: block;
    text-align: center;
  }

  .wol-footer__left{ margin-bottom: 14px; }
  .wol-footer__center{ margin-bottom: 14px; }

  .wol-footer__logo--dealer img{ max-height: 30px; margin: 0 auto; }
  .wol-footer__logo--express img{ max-height: 32px; margin: 0 auto; }

  .wol-footer__legal{
    font-size: 12px;
  }
}

/* =========================================================
   STICKY / FIXED (driven by your JS: .is-fixed + .is-scrolled)
   Keeps your existing Bootstrap 3 float layout intact.
========================================================= */

/* When fixed, pin it */
#wol-navbar.is-fixed{
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  z-index: 99999;
  background: #fff; /* set solid so it doesn't look weird over hero */
}

/* Ensure nothing clips inside the navbar when fixed */
#wol-navbar.is-fixed,
#wol-navbar.is-fixed .container{
  overflow: visible;
}

/* Right logo: keep it vertically centered in the bar */
#wol-navbar .hlogo{
  position: absolute;          /* anchor inside .navbar-default .container (you already have position:relative) */
  right: 15px;
  top: 58%;
  transform: translateY(-50%);
  margin: 0;
  line-height: 0;
  z-index: 5;
}

/* Reserve space so menu doesn't collide with right logo */
/*
#wol-navbar #navbar.navbar-collapse{
  padding-right: 240px;    
}
*/

/* The brand should never "disappear" */
#wol-navbar .navbar-brand{
  position: relative;
  z-index: 6;
}

/* Smooth transitions (only on things we change) */
#wol-navbar,
#wol-navbar .navbar-brand,
#wol-navbar .navbar-brand img,
#wol-navbar .hlogo img,
#wol-navbar .navbar-nav{
  transition: all 200ms ease;
}

/* Default logo sizes (match your current feel) */
#wol-navbar .navbar-brand img{
  height: 48px;
  width: auto;
}

#wol-navbar .hlogo img{
  height: 34px;
  width: auto;
}

/* =========================================================
   SCROLLED STATE (shrink)
========================================================= */
#wol-navbar.is-scrolled{
  min-height: 92px;            /* smaller header */
  box-shadow: 0 8px 18px rgba(0,0,0,0.12);
}

/* shrink the brand padding so the bar height reduces */
#wol-navbar.is-scrolled .navbar-brand{
  padding: 18px 15px 18px;     /* from 55px 15px 50px */
  max-height: none;
}

/* shrink left logo */
#wol-navbar.is-scrolled .navbar-brand img{
  height: 34px;
}

/* shrink right logo */
#wol-navbar.is-scrolled .hlogo img{
  height: 26px;
}

/* Pull menu up when scrolled (your old CSS uses margin-top:86px) */
#wol-navbar.is-scrolled .navbar-nav{
  margin-top: 34px;            /* tune as needed */
}

/* =========================================================
   MOBILE: don't absolute-position right logo (it gets cramped)
========================================================= */
@media (max-width: 767px){
  #wol-navbar #navbar.navbar-collapse{
    padding-right: 0;
  }

  #wol-navbar .hlogo{
    position: static;
    transform: none;
    float: right;              /* keep it right on mobile */
    margin: 12px 15px 0 0;
  }

  /* keep shrink sane on mobile */
  #wol-navbar.is-scrolled .navbar-brand{
    padding: 14px 15px;
  }

  #wol-navbar.is-scrolled .navbar-nav{
    margin-top: 0;
  }
}

/* WP Admin Bar accommodation (logged in) */
body.admin-bar #wol-navbar.is-fixed{
  top: 32px; /* default admin bar height on desktop */
}

@media (max-width: 782px){
  body.admin-bar #wol-navbar.is-fixed{
    top: 46px; /* admin bar height on smaller screens */
  }
}

/* ===== Desktop header alignment (no more magic margin-top) ===== */
@media (min-width: 768px){

  /* make the nav bar content a flex row */
  #wol-navbar .container{
    display: flex;
    align-items: center;       /* vertical centering */
    position: relative;
  }

  /* left brand stays on left */
  #wol-navbar .navbar-header{
    display: flex;
    align-items: center;
  }

  #wol-navbar .navbar-brand{
    padding: 28px 15px;        /* slimmer default */
    height: auto;
  }

  /* right logo stays on the far right */
  #wol-navbar .hlogo{
    order: 3;
    margin-left: 18px;
    display: flex;
    align-items: center;
  }

  /* menu sits between */
  #wol-navbar #navbar.navbar-collapse{
    order: 2;
    flex: 1;
  }

  /* remove old margin-top pushing menu down */
  #wol-navbar.navbar-default .navbar-nav{
    margin-top: 0;
  }

  /* keep the menu aligned to the right */
  #wol-navbar .navbar-nav.navbar-right{
    display: flex;
    align-items: center;
  }
}

/* ===== Shrink state ===== */
@media (min-width: 768px){
  #wol-navbar.is-scrolled .navbar-brand{
    padding: 12px 15px;        /* shrink height */
  }

  #wol-navbar.is-scrolled .navbar-brand img{
    max-height: 44px;          /* tweak to taste */
    width: auto;
  }

  #wol-navbar.is-scrolled .hlogo img{
    max-height: 34px;          /* tweak to taste */
    width: auto;
  }
}

/* Keep navbar itself from forcing huge height */
#wol-navbar.navbar-default{
  min-height: 0;              /* let content define height */
}

/* --- Fixed stacking (navbar + login_menu) --- */
#wol-navbar.is-fixed{
  position: fixed;
  left: 0;
  right: 0;
  width: 100%;
  z-index: 99999;
}

.login_menu.is-fixed{
  position: fixed;
  left: 0;
  right: 0;
  width: 100%;
  z-index: 99998; /* under navbar */
}

/* Spacer that holds the combined height so content never slides under */
.wol-sticky-spacer{
  height: 0;
}

/* --- Slimmer header (default state) ---
   Your current padding is 55px 15px 50px :contentReference[oaicite:1]{index=1} */
@media (min-width: 768px){
  #wol-navbar .navbar-brand{
    padding: 32px 15px 28px; /* slimmer without changing structure */
  }

  /* Your current menu is pushed down by margin-top:86px :contentReference[oaicite:2]{index=2} */
  #wol-navbar.navbar-default .navbar-nav{
    margin-top: 34px;
  }

  /* Right logo was using margin: 75px... :contentReference[oaicite:3]{index=3} */
  #wol-navbar .hlogo{
    margin: 0;
  }
}

/* Slimmer in scrolled state (you already have a scrolled padding rule) :contentReference[oaicite:4]{index=4} */
@media (min-width: 768px){
  #wol-navbar.is-scrolled .navbar-brand{
    padding: 16px 15px 14px;
  }
  #wol-navbar.is-scrolled .navbar-nav{
    margin-top: 20px;
  }
}

/* ===== Static BLACK section ===== */
.dealer-static{
  background: #0A0203;
  color: #fff;
  text-align: center;
/*   padding: 50px 20px; */
	padding: 66px 20px;
}

.dealer-static__title{
  color:#fff;
  margin: 0 0 24px;
  font-size: 30px;
  font-weight: 500;
}

/* Force a stable 2-column layout (like your comp) */
.dealer-static__bullets{
  margin: 0 auto;
  padding: 0;
  list-style: disc;
  list-style-position: outside;

  /* IMPORTANT: this creates the two clean columns */
  display: flex;
  flex-wrap: wrap;
  justify-content: center;

  max-width: 980px;        /* controls overall line breaks */
  column-gap: 90px;        /* space between the two columns */
  row-gap: 12px;
}

/* Exactly 2 columns on desktop */
.dealer-static__bullets li{
  width: 420px;            /* two columns */
  max-width: 420px;
  margin-left: 18px;       /* bullet indent */
  text-align: center;

  font-size: 20px;
  line-height: 1.35;
}

/* Keep the “Local advertising…” from looking like it’s in a 3rd column */
@media (max-width: 1100px){
  .dealer-static__bullets{
    max-width: 860px;
    column-gap: 60px;
  }
  .dealer-static__bullets li{
    width: 380px;
    max-width: 380px;
  }
}

/* Mobile: single column */
@media (max-width: 767px){
  .dealer-static{
/*     padding: 26px 18px 22px; */
	  padding: 40px 18px;
  }
  .dealer-static__title{
    font-size: 22px;
  }
  .dealer-static__bullets{
    max-width: 520px;
    column-gap: 0;
  }
  .dealer-static__bullets li{
    width: 100%;
    max-width: 100%;
    font-size: 16px;
  }
}


/* ===== RED accordion bar + content ===== */
.dealer-cta{
  background: #C1352C;
  color: #fff;
}

/* Make the bar left-aligned, with padding like screenshot */
.dealer-cta__toggle{
	display: block;
	padding: 28px 86px 28px 54px;  /* left pad matches comp, right pad for + */
	color: #fff;
	text-decoration: none;
/*  font-size: 24px; */
	font-size: 32px;
	font-weight: 400;
	line-height: 1.2;
	position: relative;
	text-align: center;
	border-top: 1px solid rgba(255,255,255,0.18);
}
.dealer-cta__toggle b{
	font-size: 36px;
	margin-bottom: 5px;
    display: block;
}
.dealer-cta__toggle:hover,
.dealer-cta__toggle:focus{
  color: #fff;
  text-decoration: none;
  background: #C1352C;
}

/* Pin the + to the far right and keep it centered */
.dealer-cta__icon{
  position: absolute;
  /*right: 34px;*/
  margin-left:20px;
/*   top: 50%; */
	top: 50px;
  width: 16px;
  height: 16px;
  transform: translateY(-50%);
}

/* Plus */
.dealer-cta__icon:before,
.dealer-cta__icon:after{
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  background: #fff;
  transform: translate(-50%, -50%);
}

.dealer-cta__icon:before{ width: 22px; height: 2px; }
.dealer-cta__icon:after{ width: 2px; height: 22px; }

/* Open = minus */
.dealer-cta__toggle:not(.collapsed) .dealer-cta__icon:after{
  height: 0;
}

/* Collapsed content area (still RED) */
.dealer-cta__collapse{
  background: #E3E3E3;
}

.dealer-cta__content{
    background: #fff;
  padding: 16px 54px 26px;        /* align with the toggle left padding */
  font-size: 15px;
  line-height: 1.6;
}

/* WOLSELEY EXPRESS */
.wx-section{
  background: #E3E3E3;
  padding: 40px 0 48px;
}

.wx-row{
  display: block; /* keep BS3 normal flow */
}

/* LEFT TEXT */
.wx-title{
	margin: 20px 0 24px;
/* 	font-size: 30px; */
	font-size: 32px;
	line-height: 1.25;
	font-weight: 700;
	color: #111;
}

.wx-text{
  margin: 0 0 16px;
	/*   font-size: 16px; */
	font-size: 20px;
	line-height: 1.2;
	color: #222;
	/*   max-width: 520px; */
	max-width: 630px;
	letter-spacing: 0.4px;
}

.wx-quicklinks{
  margin: 10px 0 32px;
  font-size: 16px;
  line-height: 1.4;
}

.wx-quicklinks__label{
	/*   color: #b52b2b; */
	color: #C1352C;
	font-weight: 600;
	/*   font-size:18px; */
	font-size: 30px;
	margin-bottom: 2px;
}

.wx-quicklinks__items a{
	color: #111;
	text-decoration: none;
	font-size: 20px;
	letter-spacing: 0.4px;
}
.wx-quicklinks__items a .wolseley-image{
	width:150px;
	margin-top: 5px;
}
.wx-quicklinks__items a:hover{
  text-decoration: underline;
}

/* TILES */
.wx-tiles{
  margin-top: 10px;
}

.wx-tile{
  display: block;
  min-height: 86px;
}

.wx-tile img{
  display: block;
  margin: 0 auto;
}

/* Social tile has icons overlaid bottom-right-ish like screenshot */
.wx-tile--social{
  position: relative;
  overflow: hidden;
}

.wx-social{
  position: absolute;
  left: 12px;
  bottom: 10px;
  display: flex;
  gap: 8px;
}

.wx-social__icon{
  display: inline-block;
  width: 32px;
  height: 32px;
}

.wx-social__icon img{
  width: 32px;
  height: 32px;
}

/* RIGHT HEX IMAGE */
.wx-hex-wrap{
  position: relative;
  padding-top: 12px;
  padding-left: 10px;
}

.wx-hex__img{
  width: 100%;
  height: auto;
  display: block;
}

/* Responsiveness */
@media (max-width: 991px){
  .wx-hex-wrap{
    margin-top: 22px;
  }
  .wx-hex{
    margin-left: 0;
  }
}

@media (max-width: 767px){
  .wx-section{
    padding: 28px 0 34px;
  }
  .wx-tile{
    margin-bottom: 12px;
  }
  .wx-social {
	left:50%;
	transform:translateX(-50%);	
  }
}

/* HVAC TEAM */
.hvac-team{
  background: #fff;
/* 	padding: 49px 0 40px; */
	padding: 49px 0 80px;
	border-bottom: 33px solid #E3E3E3;
}

.hvac-team__title{
  margin: 0 0 24px;
  font-size: 32px;
  font-weight: 700;
  color: #000;
}

.hvac-team__intro{
  margin: 0 0 22px;
/*   max-width: 720px;
  font-size: 20px; */
	max-width:850px;
	font-size:24px;
  line-height: 1.2;
  color: #000;
}

.hvac-team__grid{
  margin-top: 10px;
}

.hvac-team__card{
  padding-top: 8px;
  line-height:1.4;
	display: flex;
	flex-wrap: wrap;
}
.hvac-team__card .team-image{
	max-width: 25%;
	flex: 0 0 25%;
}
.hvac-team__card .team-content{
	max-width: 75%;
	flex: 0 0 75%;
	padding-left: 7px;
}
.hvac-team__name{
	font-size: 16px;
	font-weight: 700;
	color: #000000;
	margin-bottom: 2px;
	letter-spacing: 0.4px;
}

.hvac-team__role{
	font-size: 16px;
	color: #000000;
}

.hvac-team__link{
	font-size: 16px;
	color: #000000;
  text-decoration: none;
  display: inline-block;
}

.hvac-team__link:hover{
  text-decoration: underline;
}

.hvac-team__meta{
	font-size: 16px;
	color: #000000;
}

/* Mobile spacing */
@media (max-width: 767px){
  .hvac-team{
    padding: 26px 0 30px;
  }
  .hvac-team__card{
    margin-bottom: 16px;
  }
}

/* DEALER MENU */
/* =========================
   DEALER MENU HEX GRID
========================= */
.wol-hexy-grid { margin-top: 25px; }
.wol-hexy-grid .col-md-4,
.wol-hexy-grid .col-sm-6 { margin-bottom: 34px; }

/* =========================
   HEX TILE (SVG MASK)
========================= */
.landing-hexy{
  position: relative;
  display: block;
  width: 100%;
  max-width: 430px;
  margin: 0 auto;

  /* BS3 fallback (aspect-ratio not fully supported everywhere) */
  height: 0;
  padding-bottom: 100%;

  text-decoration: none !important;
  background: none !important;
}

/* Image layer (only place the photo is painted) */
.landing-hexy__media{
  position: absolute;
  inset: 0;
  background: var(--hexy-bg) no-repeat center 26% / cover;
  z-index: 1;

  -webkit-mask-image: url('/wp-content/themes/wolseleydealer/images/hex-mask.svg');
  mask-image: url('/wp-content/themes/wolseleydealer/images/hex-mask.svg');
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
}

/* Optional hover */
.landing-hexy:hover .landing-hexy__media{ filter: brightness(0.96); }

/* =========================
   RED BOTTOM SECTION (correct)
   - Use SAME hex mask (so edges match)
   - Then draw only bottom part via ::before clip
========================= */
/* Red layer: same hex mask, but red is just bottom fill */
.landing-hexy__label{
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;

  -webkit-mask-image: url('/wp-content/themes/wolseleydealer/images/hex-mask.svg');
  mask-image: url('/wp-content/themes/wolseleydealer/images/hex-mask.svg');
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
}

.landing-hexy__label::before{
  content:"";
  position:absolute;
  inset:0;

  /* 👇 THIS is the key: flat line + taller red */
  background: linear-gradient(
    to bottom,
    transparent 0%,
    transparent 58%,   /* move this up/down to change red height */
    #c6282d 58%,
    #c6282d 100%
  );
}

/* Text near top of the red */
.landing-hexy__text{
  position:absolute;
  left: 12%;
  right: 12%;
  top: 62%;            /* adjust to taste */
  text-align:center;

  color:#fff;
  font-weight:700;
  font-size:22px;
  line-height:1.3;
}

/* Responsive */
@media (max-width: 991px){
  .landing-hexy{ max-width: 360px; }
  .landing-hexy__text{ font-size: 20px; top: 61%; }
}
@media (max-width: 480px){
  .landing-hexy{ max-width: 320px; }
  .landing-hexy__text{ font-size: 18px; top: 62%; }
}

/* =========================
   2025 PAGE HEADER
========================= */

.page_header--2025{
  position: relative;
  background: #b52b2b;
  padding: 60px 0;            /* your “not fat” padding */
  overflow: hidden;
}

/* Text (left side) */
.ph2025__text{
  position: relative;
  z-index: 6;                 /* above all decorative stuff */
  color: #fff;

  /* KEY: reserve space so text never collides with the big border hex */
  max-width: 720px;           /* keep it readable */
  padding-right: 140px;       /* creates breathing room from seam graphics */
}

.ph2025__kicker{
  display: inline-block;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  font-size: 14px;
  margin-bottom: 10px;
  opacity: .95;
}

.ph2025__title{
  margin: 0;
  font-weight: 700;
  font-size: 44px;
  line-height: 1.12;
  color: #fff;
}

/* =========================
   RIGHT PANEL (full height)
========================= */

/* full-height grey panel wrapper */
.ph2025__right{
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;                 /* IMPORTANT: removes “red strip” issues */
  width: 38vw;
  min-width: 360px;
  max-width: 560px;
  pointer-events: none;
  z-index: 3;                /* sits above red, below logo/solid hex/text */
}

/* GREY HEX fill area (masked) */
.ph2025__hex-grey{
  position: absolute;
  inset: 0;
  background-color: #e6e6e6; /* fallback fill */

  /* Use BOTH mask + -webkit-mask for Safari */
  -webkit-mask-image: url('/wp-content/themes/wolseleydealer/images/hex-grey.svg');
  mask-image: url('/wp-content/themes/wolseleydealer/images/hex-grey.svg');

  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;

  -webkit-mask-position: left center; /* seam side */
  mask-position: left center;

  -webkit-mask-size: auto 100%;       /* fill full height */
  mask-size: auto 100%;

  z-index: 3;
}

/* =========================
   WHITE HEXES (seam overlap)
========================= */

/* WHITE BORDER HEX should be UNDER the grey */
.ph2025__hex-border{
  position: absolute;
  top: 50%;
  left: 0; /* seam */
  transform: translate(-50%, -50%);
  width: 240px;
  height: 240px;
  background: url('/wp-content/themes/wolseleydealer/images/title-hex-white-border.svg') no-repeat center;
  background-size: contain;

  z-index: 2; /* UNDER .ph2025__hex-grey (z=3) */
  opacity: 1;
}

/* WHITE SOLID HEX should be ABOVE the grey (so it “pops”) */
.ph2025__hex-solid{
  position: absolute;
  left: 0;  /* seam */
  top: calc(50% + 78px);
  transform: translate(-10%, -50%);
  width: 36px;
  height: 36px;
  background: url('/wp-content/themes/wolseleydealer/images/title-hex-white-solid.svg') no-repeat center;
  background-size: contain;

  z-index: 5; /* ABOVE grey */
}

/* =========================
   LOGO (aligned to container edge)
========================= */

.ph2025__logo{
  position: absolute;
  top: 50%;
  transform: translateY(-50%);

  /* Align to the container’s right edge */
  right: max(24px, calc((100vw - 1140px) / 2));

  max-width: 320px;
  height: auto;

  z-index: 6; /* ABOVE everything */
}

/* =========================
   RESPONSIVE container-edge alignment
========================= */

@media (max-width: 1199px){
  .ph2025__logo{
    right: max(20px, calc((100vw - 960px) / 2));
    max-width: 300px;
  }
  .ph2025__text{ padding-right: 120px; }
}

@media (max-width: 991px){
  .ph2025__right{ width: 44vw; min-width: 320px; }

  .ph2025__logo{
    right: max(18px, calc((100vw - 720px) / 2));
    max-width: 260px;
  }

  .ph2025__hex-border{ width: 210px; height: 210px; }
  .ph2025__text{ padding-right: 110px; }
}

@media (max-width: 767px){
  /* mobile: right block becomes bottom bar */
  .page_header--2025{ padding: 40px 0 220px; }

  .ph2025__right{
    width: 100%;
    height: 200px;
    top: auto;
    bottom: 0;
    min-width: 0;
    max-width: none;
  }

  .ph2025__hex-grey{
    -webkit-mask-position: right center;
    mask-position: right center;

    -webkit-mask-size: auto 150%;
    mask-size: auto 150%;
  }

  .ph2025__logo{
    right: 18px;
    max-width: 220px;
  }

  .ph2025__hex-border{
    left: 65%;
    transform: translate(-50%, -50%);
  }

  .ph2025__hex-solid{
    left: calc(65% - 60px);
  }

  .ph2025__text{
    max-width: none;
    padding-right: 0;
  }
}

/* ==========================================
   PATCH: 2025 header fixes (drop AFTER existing)
========================================== */

/* 0) Make blending behave predictably (contain it) */
.page_header--2025 { isolation: isolate; }

/* 1) Mobile red strip fix: match padding-bottom to grey panel height */
@media (max-width: 767px){
  :root{ --ph2025-bar-h: 240px; } /* tweak if you want taller/shorter */
  .page_header--2025{ padding: 40px 0 var(--ph2025-bar-h); }
  .ph2025__right{ height: var(--ph2025-bar-h); }
}

/* 2) Nudge the big white border hex LEFT a bit (more outside the seam) */
.ph2025__hex-border{
  /* was: translate(-50%, -50%) */
  transform: translate(-58%, -50%);
}

/* 3) Nudge the small solid hex DOWN + LEFT */
.ph2025__hex-solid{
  /* move down a bit */
  top: calc(50% + 98px);

  /* was: translate(-10%, -50%) */
  transform: translate(-32%, -50%);
}

/* 4) Keep text from colliding with the border hex (desktop + tablet) */
.ph2025__text{
  padding-right: 220px; /* more breathing room than before */
}
@media (max-width: 991px){
  .ph2025__text{ padding-right: 180px; }
}

/* 5) Mobile: stop the “mess”
      - keep text clean
      - move seam hexes into the grey bar area
      - place logo on the right, vertically centered in the bar
*/
@media (max-width: 767px){
  .ph2025__text{
    padding-right: 0;
    max-width: none;
  }

  /* grey panel should fill width on mobile */
  .ph2025__right{
    left: 0;
    right: 0;
    width: 100%;
    min-width: 0;
    max-width: none;
  }

  /* put seam hexes inside the grey bar so they don't crash into text */
  .ph2025__hex-border{
    left: 26%;
    top: 50%;
    width: 210px;
    height: 210px;
    transform: translate(-50%, -50%);
  }

  .ph2025__hex-solid{
    left: 18%;
    top: calc(50% + 74px);
    transform: translate(-50%, -50%);
  }

  /* logo: right aligned inside the container "feel" */
  .ph2025__logo{
    top: 50%;
    right: 18px;
    transform: translateY(-50%);
    max-width: 220px;
  }
}

/* 6) “Remove” white box behind the logo using multiply */
.ph2025__logo{
  mix-blend-mode: multiply;     /* white becomes grey */
  background: transparent;
  display: block;
}

/* If the logo gets slightly dull, this helps a bit */
.ph2025__logo{
  filter: contrast(1.05) saturate(1.05);
}

.hubspot-form-wrap {
    padding:40px 0;
    max-width:800px;
    margin:0 auto;
}

/* Scope to just this form wrapper */
.hubspot-form-wrap .hs-form label {
	color: #000 !important;
	font-weight: 500;
	font-size: 14px;
	margin-bottom: 6px;
	letter-spacing: 0.3px;
}

/* Text inputs, email, textarea, select */
.hubspot-form-wrap .hs-input {
	padding: 20px !important;
	border-radius: 4px;
	border: 1px solid rgba(0,0,0,0.4);
	background: #fff;
	color: #000000;
	font-size: 14px;
	letter-spacing: 0.5px;
}

.hubspot-form-wrap p {
    color:#000;
}

/* Placeholder text */
.hubspot-form-wrap .hs-input::placeholder {
  color: rgba(255,255,255,0.6);
}

/* Focus state */
.hubspot-form-wrap .hs-input:focus {
  outline: none;
  border-color: #fff;
}

/* Space between fields */
.hubspot-form-wrap .hs-form-field {
  margin-bottom: 16px;
}

.hubspot-form-wrap .hs-button {
  background: #000 !important;
  border:0 !important;
  color: #fff !important;
  border-color: #000 !important;
  padding:20px !important;
  font-size:18px !important;
}
/*web dev copp*/
@media only screen and (max-width: 767px) {
    #wol-navbar.is-scrolled .navbar-toggle {
		top: 10px;
    }
}
.page_header .col-sm-9{
	display: flex;
	align-items: center;
}

.page_header .ph2025__hex-grey{
	margin-bottom: 0;
	mask:none;
    background-color: transparent;
    background-image: url(/wp-content/themes/wolseleydealer/images/hex-grey.svg);
    background-repeat: no-repeat;
}
.page_header .ph2025__hex-grey:after{
	content: '';
	background: #e3e3e3;
	position: absolute;
	top:0; 
	right: 0;
	height: 100%;
	width: 50%;
		
}
.page_header--2025 {
    padding: 21px 0;
}
.page_header .ph2025__hex-border{
	width: 139px;
	height: 157px;
	transform: translate(-50%, -50%);
    left: -20px;
	margin-bottom: 0;
}
.page_header .ph2025__hex-solid{
	width: 29px;
	height: 32px;
	margin-bottom: 0;
	transform: translate(-50%, -50%);
    left: -55px;
}
.page_header .ph2025__logo{
	right:max(24px, calc((100vw - 1140px) / 1.2));
}
@media only screen and (min-width:1441px){
	.ph2025__right{
		max-width: 100%;
	}
	.page_header .ph2025__logo {
		right: max(24px, calc((100vw - 1140px) / 1.6));
	}
}
@media only screen and (max-width:991px){
	.page_header .col-sm-9{
		width: 60%;
	}
}
@media only screen and (max-width:767px){
	.page_header--2025 {
		padding: 0;
	}
	.ph2025__right {
		left: auto;
		right: 0;
		width: 50%;
		/*height: 200px;*/
        top: 50%;
        transform: translate(0, -50%);
	}
	.page_header .ph2025__logo {
		width: 180px;
	}
	.page_header .ph2025__hex-grey {
		background-size: auto 100%;
	}
	.page_header .col-sm-9{
		width: 40%;
	}
}
@media only screen and (max-width: 480px) {
	.ph2025__right {
		width: 45%;
	}
	.page_header .ph2025__hex-border {
		width: 109px;
		height: 117px;
	}
	.page_header .ph2025__hex-solid {
		width: 19px;
		height: 22px;
	}
    .page_header .ph2025__logo {
        width: 140px;
    }
	.page_header span {
		font-size: 18px;
		letter-spacing: 0;
	}
	.page_header h1 {
		font-size: 20px;
		line-height: 24px;
	}
}
.wol-hero__bg{
	position: relative;
	background-color: #f6f1e7;
	overflow: hidden;
}
.wol-hero__bg:after {
    content: "";
    position: absolute;
    right: 0;
    top: 0;
    width: 45%;
    height: 100%;
    background: radial-gradient(circle at 80% 35%, rgba(255, 210, 120, 0.6), rgba(255, 210, 120, 0) 65%);
    z-index: 2;
    pointer-events: none;
}
.wol-hero:after {
	display: none;
}
.wol-hero{
	height: 483px;
	background: none;
	position: static;
	overflow: visible;
}
.wol-hero__panel{
	background-image:url('/wp-content/uploads/2025/12/Subtract.svg');
	background-repeat: no-repeat;
	background-color: transparent;
	clip-path: none;
	height: 100%;
	position: relative;
	transform:none;
	left: auto;
	top: auto;
	background-position: -130px;
	padding:70px 0;
	display: flex;
	align-items: center;
}
.wol-hero__panel:before{
	content:'';
	background-color:#C1352B;
	position: absolute;
	left: -100%;
	height: 100%;
	top: 0;
	width: 100%;
}
.wol-hero__title{
	font-size: 64px;
}
.icon-wrap {
	margin-top: 20px;
}
.icon-wrap a{
	margin: 10px 10px;
	display: inline-block;
}
.graphic-pentagon{
	position: absolute;
	left: 33%;
    z-index: 1;
    bottom: -59px;
}
.graphic-pentagon .penta25-big img{
	width: 379px;
	height: 427px;
}
.penta25-small{
	position: absolute;
	top: 0;
	right: 0;
}
@media only screen and (min-width:1441px){
	.graphic-pentagon {
		left: 38%;
	}
}
@media only screen and (max-width:1199px){
	.wol-hero__panel{
		padding: 70px 20px;
	}
	.wol-hero__title {
		font-size: 54px;
	}
}
@media only screen and (max-width:991px){
	.graphic-pentagon {
		bottom: -29px;
	}
	.graphic-pentagon .penta25-big img {
		width: 339px;
		height: 387px;
	}
}
@media only screen and (max-width:767px){
	.wol-hero {
		height: 383px;
	}
	.wol-hero__panel {
		padding: 20px 50px;
        height: auto;
/*         background-position: -130px; */
		background-position: center right;
        bottom: 0;
        position: absolute;
        left: -20px;
		height: 100%;
	}
	.wol-hero__title {
        font-size: 50px;
    }
	.graphic-pentagon {
		bottom: -30px;
	}
	.dealer-cta__toggle{
		padding: 20px 45px 20px 15px;
		font-size: 24px;
	}
	.dealer-cta__toggle b{
		font-size: 24px;
	}
	.dealer-cta__icon {
		right: 20px;
	}
	.dealer-cta__icon:before {
	    width: 20px;
	}
	.dealer-cta__icon:after {
		height: 20px;
	}
	.wx-title {
	    font-size: 26px;
        line-height: 1.2;
	}
	.wx-text{
		font-size: 16px;
	}
	.wx-quicklinks__label {
	    font-size: 24px;
	}
	.wx-quicklinks__items a{
		font-size: 16px;
	}
	.hvac-team__title{
		font-size: 26px;
	}
	.hvac-team__intro {
	    font-size: 18px;
	}
	.hvac-team__name,
	.hvac-team__role,
	.hvac-team__link{
    	font-size: 16px;
	}
}
.dealer-static__title{
	font-size: 40px;
	font-weight: bold;
	margin-bottom: 50px;
}
.dealer-static__bullets{
	max-width: 1140px;
	column-gap: 10px;
	justify-content: flex-start;
}
.dealer-static__bullets li {
    width: auto;
    max-width: inherit;
	font-size: 30px;
	text-align: left;
	margin-left: 0;
}
.dealer-static__bullets li:nth-child(odd){
	width: 43%;
}
.dealer-static__bullets li:nth-child(even){
	width: 56%;
}	

@media only screen and (max-width:1199px){
	.dealer-static__bullets li {
		font-size: 25px;
	}
}
@media only screen and (max-width:991px){
	.dealer-static__title{
		font-size: 30px;
	}
	.dealer-static__bullets li {
		font-size: 18px;
	}
}
@media (max-width: 993px) {
    .collapse.in {
		z-index: 99999;
	}
}
@media only screen and (max-width:767px){
	.dealer-static__title{
		font-size: 26px;
		margin-bottom: 40px;
	}
	.dealer-static__bullets li {
		font-size: 16px;
		margin-left: 0;
	}
	.dealer-static__bullets li:nth-child(odd),
	.dealer-static__bullets li:nth-child(even){
		width: 47%;
	}
}
	/* banner */
	.page_header h1{
		font-weight: bold;
	}
	.page_header span{
		color: #ffffff;
		text-transform:none;
		font-weight: bold;
	}
	/* banner END */
	/* faq */
	.panel-group {
		margin-bottom: 1px;
	}
	.panel-group .panel + .panel{
		margin-top: 4px;
	}
	.panel-title a{
		max-width: 100%;
		text-align: center;
		font-weight: 300;
		text-transform: none;
		font-size: 36px;
		line-height: 1.3;
		padding: 17px
	}
	.panel-title a::after{
		display: none;
	}
	.panel-title a span:after{
		color: #ffffff;
		font-size: 28px;
		top: -10px;
	}
	.panel-title a[aria-expanded="true"] span:after{
		top: -15px;
	}
	.panel-body{
		text-align: center;
		padding: 50px 20%;
		font-size: 25px;
		line-height: 1.5;
	}
	.panel-body p{
		font-size: 25px;
		line-height: 1.5;
		font-weight: normal;
	}
	.panel-body .pdfemb-viewer{
		margin: 0 auto 30px;
	}
	.panel-body a.customize-unpreviewable{
		font-weight: bold;
	}
	@media only screen and (max-width:991px){
		.panel-title a{
			font-size: 28px;
		}
		.panel-body{
			padding: 50px 10%;
			font-size: 20px;
		}
		.panel-body p{
			font-size: 20px;
		}
	}
	@media only screen and (max-width:991px){
		.panel-title a{
			font-size: 26px;
		}
		.panel-body{
			padding: 50px 5%;
			font-size: 18px;
		}
		.panel-body p{
			font-size: 18px;
		}
	}
	@media only screen and (max-width:767px){
		.panel-title a{
			font-size: 22px;
		}
		.panel-body{
			padding: 40px 20px;
			font-size: 16px;
		}
		.panel-body img{
			width: 100%;
			height: auto;
		}
		.panel-body p{
			font-size: 16px;
		}
		.panel-body .pdfemb-viewer{
			width: 100% !important;
		}
	}
	/* faq end */
/*web dev copp end*/