/*
Theme Name: Wizardlock Child
Template: twentytwentyfive
Description: Child theme for ARK Stormwater Services
Version: 2.0.0
*/

:root {
  --wl-red:           #E31818;
  --wl-red-hover:     #c91010;
  --wl-red-muted:     rgba(227,24,24,0.10);
  --wl-navy:          #0B1021;
  --wl-navy-light:    #151e3d;
  --wl-bg-light:      #f8f9fc;
  --wl-bg-white:      #ffffff;
  --wl-text-white:    #ffffff;
  --wl-text-dark:     #1a1a1a;
  --wl-text-muted:    #64748b;
 
  --wl-font-head:     'Montserrat', sans-serif;
  --wl-font-body:     'Inter', sans-serif;
 
  --wl-radius-sm:     8px;
  --wl-radius-md:     16px;
  --wl-radius-lg:     24px;
 
  --wl-shadow-sm:     0 4px  12px rgba(11,16,33,0.06);
  --wl-shadow-md:     0 10px 30px rgba(11,16,33,0.10);
  --wl-shadow-float:  0 20px 40px rgba(11,16,33,0.16);
  --wl-shadow-glow:   0 15px 35px rgba(227,24,24,0.22);
 
  --wl-ease:          0.4s cubic-bezier(0.16,1,0.3,1);
  --wl-fast:          0.2s ease-in-out;
}
 
/* ============================================================
   4. ANIMATIONS
   ============================================================ */
@keyframes wlFloat {
  0%,100% { transform: translateY(0);     }
  50%      { transform: translateY(-15px); }
}
@keyframes wlFloatB {
  0%,100% { transform: translateY(0);     }
  50%      { transform: translateY(-22px); }
}
@keyframes wlFadeUp {
  from { opacity:0; transform:translateY(24px); }
  to   { opacity:1; transform:translateY(0);    }
}
 








/* ============================================================
   5. GLOBAL — reset Twenty Nineteen on full-width pages
   ============================================================ */
 
/* Hide parent header on home — your custom header.php takes over */
.home .site-header { display: none !important; }
 
/* Remove default entry padding so sections bleed edge-to-edge */
.page-template-full-width-page .entry-content,
.page-template-default .entry-content {
  padding: 0 !important;
  max-width: none !important;
}
 
/* Strip WP block outer gutters on full-width alignments */
.wp-block-group.alignfull,
.wp-block-cover.alignfull {
  margin-left:  0 !important;
  margin-right: 0 !important;
}
 
/* Utility: red text */
.wl-red { color: var(--wl-red); }
 
/* ============================================================
   6. HERO SECTION  (wp:cover · class: wl-hero-cover)
   ============================================================ */
.wl-hero-cover {
  position:        relative;
  overflow:        hidden;
  display:         flex;
  align-items:     center;
  justify-content: center;
  text-align:      center;
}
 
/* Floating blob shapes — purely decorative */
.wl-hero-blobs {
  position:       absolute;
  inset:          0;
  pointer-events: none;
  z-index:        1;
}
.wl-blob {
  position:      absolute;
  background:    rgba(255,255,255,0.03);
  border:        1px solid rgba(255,255,255,0.06);
  border-radius: var(--wl-radius-md);
  backdrop-filter: blur(4px);
}
.wl-blob-1 {
  width:300px; height:300px;
  top:10%; right:-4%;
  animation: wlFloat 10s ease-in-out infinite;
  transform: rotate(15deg);
  border-radius: 40px;
}
.wl-blob-2 {
  width:150px; height:150px;
  bottom:20%; left:5%;
  animation: wlFloatB 8s ease-in-out infinite;
  border-radius: 50%;
  border-color: rgba(227,24,24,0.18);
}
.wl-blob-3 {
  width:200px; height:200px;
  top:40%; right:20%;
  animation: wlFloat 12s ease-in-out infinite alternate-reverse;
}
 
/* Inner group that constrains hero content */
.wl-hero-inner {
  position:  relative;
  z-index:   2;
  animation: wlFadeUp 1s ease-out;
  width:     100%;
}
 
/* Hero Badge */
.wl-hero-badge {
  display:          inline-block !important;
  padding:          7px 18px !important;
  background:       rgba(255,255,255,0.10) !important;
  border:           1px solid rgba(255,255,255,0.22) !important;
  border-radius:    20px !important;

  margin-bottom:    26px !important;
}
 
/* Hero H1 */
.wl-hero-h1.wp-block-heading {
  line-height:    1.1 !important;
  letter-spacing: -1px !important;
  color:          #fff !important;
  margin-bottom:  20px !important;
}
 
/* Hero sub-paragraph */
.wl-hero-sub {
  font-size:     1.35rem !important;
  color:         rgba(255,255,255,0.85) !important;
  line-height:   1.65 !important;
  max-width:     680px !important;
  margin:        0 auto 42px !important;
}
 
/* Hero Buttons wrapper */
.wl-hero-btns { gap: 18px !important; }
 
/* Primary red button */
.wl-btn-primary-block .wp-block-button__link {
  background-color: var(--wl-red) !important;
  color:            #fff !important;
  border:           none !important;
  border-radius:    var(--wl-radius-sm) !important;
  font-family:      var(--wl-font-head) !important;
  font-weight:      700 !important;
  font-size:        1.1rem !important;
  padding:          16px 32px !important;
  box-shadow:       var(--wl-shadow-glow) !important;
  transition:       var(--wl-ease) !important;
}
.wl-btn-primary-block .wp-block-button__link:hover {
  background-color: var(--wl-red-hover) !important;
  transform:        translateY(-3px) !important;
  box-shadow:       0 22px 48px rgba(227,24,24,0.32) !important;
}
 
/* Ghost / outline white button */
.wl-btn-ghost-block .wp-block-button__link {
  background-color: transparent !important;
  color:            #fff !important;
  border:           2px solid rgba(255,255,255,0.35) !important;
  border-radius:    var(--wl-radius-sm) !important;
  font-family:      var(--wl-font-head) !important;
  font-weight:      700 !important;
  font-size:        1.1rem !important;
  padding:          16px 32px !important;
  transition:       var(--wl-ease) !important;
}
.wl-btn-ghost-block .wp-block-button__link:hover {
  background-color: var(--wl-red-hover) !important;
  border-color:     rgba(255,255,255,0.70) !important;
}


 
/* ============================================================
   7. TRUST BANNER  (wp:group · class: wl-trust-wrapper)
   ============================================================ */
.wl-trust-wrapper {
  position: relative;
  z-index:  10;
  padding:  0 5% !important;
  margin-top: -52px !important;
}
 
.wl-trust-banner {
  background:    var(--wl-bg-white) !important;
  border-radius: var(--wl-radius-lg) !important;
  box-shadow:    var(--wl-shadow-float) !important;
  padding:       38px 50px !important;
max-width: 80% !important;
}
 
/* Columns inside trust banner — no gap collapse */
.wl-trust-cols.wp-block-columns {
  gap: 0 !important;
  flex-wrap: wrap;
  max-width: 100% !important;
}
.sub-col-trust{
	width: 100% !important;
	align-items: center !important;
gap: 10px !important;
}
 
/* Each trust item column */
.wl-trust-item.wp-block-column {
  display:         flex !important;
  flex-direction:  column !important;
  align-items:     center !important;
  gap:             10px !important;
  padding:         0 20px !important;
}
 
/* Dividers between items */
.wl-trust-item.wp-block-column:not(:last-child) {
  border-right: 1px solid rgba(11,16,33,0.08);
}
 
/* Icon circle */
.wl-trust-icon-wrap {
  width:           52px !important;
  height:          52px !important;
  background:      var(--wl-red-muted) !important;
  border-radius:   50% !important;
  display:         flex !important;
  align-items:     center !important;
  justify-content: center !important;
  color:           var(--wl-red) !important;
  font-size:       1.4rem !important;
  margin:          0 auto 4px !important;
}
.wl-trust-icon-wrap i { color: var(--wl-red); }
 
/* Trust heading */
.wl-trust-title.wp-block-heading {
  font-family:  var(--wl-font-head) !important;
  font-size:    15px !important;
  font-weight:  700 !important;
  color:        var(--wl-navy) !important;
  margin:       0 !important;
text-align: left !important;
}
 
/* Trust subtext */
.wl-trust-sub {
  font-size:  0.88rem !important;
  color:      var(--wl-text-muted) !important;
  margin:     0 !important;
	text-align: left !important;
}


/* ============================================================
   8. PHILOSOPHY SECTION  (wp:group · class: wl-philosophy)
   ============================================================ */

.vertical-gradient-line {
  position: absolute;
  left: -20px;
  top: 10px;
  bottom: 10px;
  width: 4px;
  background: linear-gradient(to bottom, var(--primary) 0%, transparent 100%);
}

.wl-philosophy {
  background-color: var(--wl-bg-light) !important;
  padding:          100px 5% !important;
  
  border-top:       1px solid rgba(0,0,0,0.05) !important;
}
 
.wl-philosophy-cols.wp-block-columns {
  align-items: flex-start !important;
  gap:         70px !important;
}
 
/* ── Left column ── */
.wl-phil-left { 
  position: relative !important;
  border-left: 4px solid transparent;
  border-image: linear-gradient(to bottom, #e31818, transparent) 1;
  padding-left: 20px; /* optional */
  margin-left: -20px !important;
  border-radius: 4px;
 }
 
/* Red accent bar along left edge */
.wl-accent-line {
  position:   absolute;
  left:       -20px;
  top:        10px;
  bottom:     10px;
  width:      4px;
  background: linear-gradient(to bottom, var(--wl-red), transparent);
  border-radius: 4px;
}
 
/* Eyebrow label */
.wl-eyebrow {
  font-family:    var(--wl-font-head) !important;
  font-weight:    700 !important;
  font-size:      0.82rem !important;
  text-transform: uppercase !important;
  letter-spacing: 3px !important;
  color:          var(--wl-text-muted) !important;
  margin-bottom:  18px !important;
}
 
/* Philosophy heading */
.wl-phil-h2.wp-block-heading {
  font-family:    var(--wl-font-head) !important;
  font-size:      72px !important;
  font-weight:    800 !important;
  color:          var(--wl-navy) !important;
  line-height:    1.08 !important;
  letter-spacing: -1px !important;
  margin-bottom:  28px !important;
}
.wl-phil-h2 em { font-style: italic; }
 
/* Philosophy body */
.wl-phil-body {
 
  
  color:         var(--wl-text-muted) !important;
  line-height:   1.85 !important;
  margin-bottom: 36px !important;
  max-width:     460px !important;
}
 
/* Tags row */
.wl-tag-row.wp-block-columns { gap: 0 !important; }
 
.wl-tag {
  display:     inline-flex !important;
  align-items: center !important;
  gap:         10px !important;
  font-family: var(--wl-font-head) !important;
  font-weight: 700 !important;
  font-size:   0.93rem !important;
  color:       var(--wl-navy) !important;
  margin:      0 !important;
}
.wl-tag i { color: var(--wl-red); font-size: 1.1rem; }
 
/* ── Right column: Feature Cards ── */
.wl-phil-right { display: flex; flex-direction: column; gap: 0; }
 
/* Feature card */
.wl-feat-card.wp-block-group {
  background:    var(--wl-bg-white) !important;
  border-radius: var(--wl-radius-md) !important;
  border:        1px solid rgba(0,0,0,0.04) !important;
  padding:       26px 28px !important;
  margin-bottom: 18px !important;
  transition:    transform var(--wl-ease), box-shadow var(--wl-ease) !important;
}
.wl-feat-card.wp-block-group:last-child { margin-bottom: 0 !important; }
.wl-feat-card.wp-block-group:hover {
  transform:  translateY(-5px) !important;
  box-shadow: var(--wl-shadow-md) !important;
}
 

.quality-matters {
  background:    var(--wl-bg-light) !important;
  border-radius: var(--wl-radius-md) !important;
  border:        1px solid rgba(0,0,0,0.04) !important;
  padding:       26px 28px !important;
  margin-bottom: 18px !important;
  transition:    transform var(--wl-ease), box-shadow var(--wl-ease) !important;
}
.quality-matters:hover {
  transform:  translateY(-5px) !important;
  box-shadow: var(--wl-shadow-md) !important;
}

.quality-matters.white {
  background:    #ffffff !important;
  border-radius: var(--wl-radius-md) !important;
  border:        1px solid rgba(0,0,0,0.04) !important;
  padding:       26px 28px !important;
  margin-bottom: 18px !important;
  transition:    transform var(--wl-ease), box-shadow var(--wl-ease) !important;
}
.quality-matters.white:hover {
  transform:  translateY(-5px) !important;
  box-shadow: var(--wl-shadow-md) !important;
}

/* Inner Columns inside card — no gap override needed */
.wl-feat-inner.wp-block-columns { align-items: center !important; gap: 0 !important; }
 
/* Icon column — fixed width */
.wl-feat-icon-col { flex: 0 0 68px !important; max-width: 68px !important; }
 
/* Icon circle */
.wl-feat-icon {
  width:           52px !important;
  height:          52px !important;
  border-radius:   50% !important;
  display:         flex !important;
  align-items:     center !important;
  justify-content: center !important;
  font-size:       1.25rem !important;
  margin:          0 !important;
  flex-shrink:     0 !important;
}
.wl-icon-white {
  background: var(--wl-bg-white) !important;
  color:      var(--wl-red) !important;
  box-shadow: var(--wl-shadow-sm) !important;
}
.wl-icon-red {
  background: var(--wl-red) !important;
  color:      #fff !important;
  box-shadow: var(--wl-shadow-glow) !important;
}
.wl-feat-icon i { color: inherit; }
 
/* Feature heading */
.wl-feat-h3.wp-block-heading {
  font-family:   var(--wl-font-head) !important;
  font-size:     1.4rem !important;
  font-weight:   800 !important;
  color:         var(--wl-navy) !important;
  margin-bottom: 6px !important;
}
 
/* Feature paragraph */
.wl-feat-p {
  font-family: var(--wl-font-body) !important;
  font-size:   0.93rem !important;
  color:       var(--wl-text-muted) !important;
  line-height: 1.6 !important;
  margin:      0 !important;
}
 
/* ============================================================
   9. SERVICES SECTION  (wp:group · class: wl-services)
   ============================================================ */
.wl-services {
  
  padding:          100px 5% !important;
}
 
/* Section header group */
.wl-section-header { text-align: center !important; margin-bottom: 55px !important; }
 
/* Award logo image */
.wl-award-logo img {
  display:       block !important;
  margin:        0 auto 18px !important;
  height:        60px !important;
  width:         auto !important;
  padding:       10px !important;
  background:    var(--wl-bg-white) !important;
  border-radius: 50% !important;
  box-shadow:    var(--wl-shadow-sm) !important;
}
 
/* Services heading */
.wl-services-h2.wp-block-heading {
  font-family:   var(--wl-font-head) !important;
  font-weight:   800 !important;
  color:         var(--wl-navy) !important;
  margin-bottom: 16px !important;
}
 
/* Services description */
.wl-services-sub {
  font-family:  var(--wl-font-body) !important;
  color:        var(--wl-text-muted) !important;
  line-height:  1.75 !important;
  max-width:    620px !important;
  margin:       0 auto !important;
}
 
/* 3-column grid */
.wl-svc-grid.wp-block-columns { gap: 20px !important; align-items: stretch !important; }
.wl-svc-col.wp-block-column   { display: flex !important; flex-direction: column !important; gap: 16px !important; }
 
/* Each service item */
.wl-svc-item.wp-block-group {
 
  border-radius: var(--wl-radius-sm) !important;
  
  padding:       20px 22px !important;
  display:       flex !important;
  flex-direction: column !important;
  align-items:   center !important;
  gap:           14px !important;
  border-left:   4px solid transparent !important;
  transition:    transform var(--wl-ease), box-shadow var(--wl-ease), border-left-color var(--wl-fast) !important;
  margin-bottom: 0 !important;
  height: 100%;
  background:       var(--wl-bg-light) !important;
}

body.page-id-1133 .wl-svc-item.wp-block-group {
background: #ffffff !important;
}

.wl-svc-item.white.wp-block-group {
 
  border-radius: var(--wl-radius-sm) !important;
  
  padding:       20px 22px !important;
  display:       flex !important;
  flex-direction: column !important;
  align-items:   center !important;
  gap:           14px !important;
  border-left:   4px solid transparent !important;
  transition:    transform var(--wl-ease), box-shadow var(--wl-ease), border-left-color var(--wl-fast) !important;
  margin-bottom: 0 !important;
  height: 100%;
  background:       #fff !important;
}
.wl-svc-item.wp-block-group:hover {
  transform:        translateX(8px) translateY(-4px) !important;
  box-shadow:       var(--wl-shadow-float) !important;
  border-left-color: var(--wl-red) !important;
  background:       var(--wl-bg-light) !important;
}
 
/* Each service item */
.wl-svc-item.contact.wp-block-group {
 
  border-radius: var(--wl-radius-sm) !important;
  
  padding:       20px 22px !important;
  display:       flex !important;
  flex-direction: column !important;
  align-items:   flex-start !important;
  gap:           14px !important;
  border-left:   4px solid transparent !important;
  transition:    transform var(--wl-ease), box-shadow var(--wl-ease), border-left-color var(--wl-fast) !important;
  margin-bottom: 0 !important;
  height: 100%;
  background:       white !important;
}


/* Service icon paragraph */
.wl-svc-icon {
  width:           44px !important;
  height:          44px !important;
  min-width:       44px !important;
  background:      var(--wl-red-muted) !important;
  border-radius:   50% !important;
  display:         flex !important;
  align-items:     center !important;
  justify-content: center !important;
  font-size:       1.3rem !important;
  color:           var(--wl-red) !important;
  margin:          0 !important;
}
.wl-svc-icon i { color: var(--wl-red); }
 
/* Service name heading */
.wl-svc-name.wp-block-heading {
  font-family:  var(--wl-font-head) !important;
  font-size:    16px !important;
  font-weight:  800 !important;
  color:        var(--wl-navy) !important;
  line-height:  1.4 !important;
  margin:       0 !important;
}
 
/* ============================================================
   10. LOCATION SECTION  (wp:group · class: wl-location)
   ============================================================ */
.wl-location {
  background-color: var(--wl-navy) !important;
  color:            #fff !important;
  padding:          100px 5% !important;
  position:         relative !important;
  overflow:         hidden !important;
}
 
/* Decorative blobs */
.wl-loc-blobs { position:absolute; inset:0; pointer-events:none; z-index:0; opacity:0.45; }
.wl-blob-loc-1 {
  width:260px; height:260px;
  bottom:-8%; left:8%;
  animation: wlFloatB 12s ease-in-out infinite;
  border-radius: 40px;
  transform: rotate(-10deg);
  background: rgba(255,255,255,0.025);
  border: 1px solid rgba(255,255,255,0.05);
}
.wl-blob-loc-2 {
  width:180px; height:180px;
  top:12%; right:12%;
  animation: wlFloat 9s ease-in-out infinite alternate-reverse;
  border-radius: 50%;
  background: rgba(227,24,24,0.08);
  border: 1px solid rgba(227,24,24,0.12);
}
 
/* Location columns */
.wl-loc-cols.wp-block-columns {
  position:    relative !important;
  z-index:     2 !important;
  align-items: center !important;
  gap:         70px !important;
}
 
/* Location heading */
.wl-loc-h2.wp-block-heading {
  font-family:   var(--wl-font-head) !important;
  font-size:     2.3rem !important;
  font-weight:   800 !important;
  color:         #fff !important;
  margin-bottom: 16px !important;
}
 
/* Location sub */
.wl-loc-sub {
  font-family:   var(--wl-font-body) !important;
  font-size:     1.1rem !important;
  color:         rgba(255,255,255,0.80) !important;
  line-height:   1.75 !important;
  margin-bottom: 36px !important;
}
 
/* Contact card */
.wl-contact-card.wp-block-group {
  background:      rgba(255,255,255,0.06) !important;
  border:          1px solid rgba(255,255,255,0.12) !important;
  border-radius:   var(--wl-radius-md) !important;
  padding:         28px 30px !important;
  backdrop-filter: blur(10px) !important;
}
 
/* Each contact row */
.wl-contact-row.wp-block-columns {
  align-items:   center !important;
  gap:           0 !important;
  margin-bottom: 22px !important;
  border-bottom: 1px solid rgba(255,255,255,0.07) !important;
  padding-bottom: 18px !important;

}
.wl-contact-row.wp-block-columns:last-child {
  margin-bottom:  0 !important;
  border-bottom:  none !important;
  padding-bottom: 0 !important;
}
 
/* Contact icon column */
.wl-contact-icon-col { flex: 0 0 54px !important; max-width: 54px !important; }
 
/* Contact icon */
.wl-contact-icon {
  font-size: 1.75rem !important;
  color:     var(--wl-red) !important;
  margin:    0 !important;
  line-height: 1 !important;
}
.wl-contact-icon i { color: var(--wl-red); }
 
/* Contact label heading */
.wl-contact-label.wp-block-heading {
  font-family:   var(--wl-font-head) !important;
  font-size:     1.2rem !important;
  font-weight:   700 !important;
  color:         #fff !important;
  margin-bottom: 4px !important;
}
 
/* Contact value */
.wl-contact-val {
  font-family: var(--wl-font-body) !important;
  font-size:   1rem !important;
  color:       rgba(255,255,255,0.72) !important;
  margin:      0 !important;
}
 
/* Map column */
.wl-map-col { position: relative !important;  }
 
/* Map frame group */
.wl-map-frame.wp-block-group {
  border-radius: var(--wl-radius-md) !important;
  overflow:      hidden !important;
  box-shadow:    var(--wl-shadow-glow) !important;
 
  height:        450px !important;
  background:    rgba(255,255,255,0.05) !important;
  border:        1px solid rgba(255,255,255,0.12) !important;
  position:      relative !important;
  display:       flex !important;
  align-items:   center !important;
  justify-content: center !important;
}
 
body.page-id-1133.wl-map-frame.wp-block-group {  height: 550px !important; }
/* When a real iframe is inside, fill the frame */
.wl-map-frame iframe {
  position: absolute !important;
  inset:    0 !important;
  width:    100% !important;
  height:   100% !important;
  border:   0 !important;
  display:  block !important;
}
 
/* Placeholder text before map is added */
.wl-map-placeholder {
  font-family: var(--wl-font-body) !important;
  font-size:   0.9rem !important;
  color:       rgba(255,255,255,0.45) !important;
  line-height: 1.9 !important;
  margin:      0 !important;
}
.wl-map-placeholder i {
  font-size:     2.5rem !important;
  color:         var(--wl-red) !important;
  display:       block !important;
  margin-bottom: 10px !important;
  animation:     wlFloatB 4s ease-in-out infinite !important;
}
 
 
/* ============================================================
   13. RESPONSIVE
   ============================================================ */
@media (max-width: 1024px) {
  .wl-philosophy-cols.wp-block-columns,
  .wl-loc-cols.wp-block-columns {
    flex-direction: column !important;
    gap: 50px !important;
    padding-left: 15px;
  }
  .wl-phil-left,
  .wl-phil-right,
  .wl-loc-left,
  .wl-map-col {
    flex-basis: 100% !important;
    max-width:  100% !important;
    width:      100% !important;
  }
}
 
@media (max-width: 768px) {
  /* Hero */
  .wl-hero-cover { min-height: 88vh !important; padding-top: 110px !important; }
 
  .wl-hero-btns { flex-direction: column !important; align-items: center !important; }
  .wl-btn-primary-block,
  .wl-btn-ghost-block { width: 100% !important; }
  .wl-btn-primary-block .wp-block-button__link,
  .wl-btn-ghost-block .wp-block-button__link { width: 100% !important; justify-content: center !important; }
 
  /* Trust Banner */
  .wl-trust-wrapper { margin-top: 0 !important; padding: 0 !important; }
  .wl-trust-banner  { border-radius: 0 !important; padding: 32px 20px !important; }
  .wl-trust-cols.wp-block-columns { flex-wrap: wrap !important; gap: 0 !important; }
  .wl-trust-item.wp-block-column  { flex-basis: 50% !important; border-right: none !important; border-bottom: 1px solid rgba(11,16,33,0.07) !important; padding: 18px 10px !important; }
  .wl-trust-item.wp-block-column:nth-child(odd)  { border-right: 1px solid rgba(11,16,33,0.07) !important; }
  .wl-trust-item.wp-block-column:nth-last-child(-n+2) { border-bottom: none !important; }
 
  /* Philosophy */
  .wl-philosophy { padding: 70px 5% !important; margin-top: 0px !important; }
  .wl-accent-line { display: none !important; }
  .wl-phil-h2.wp-block-heading { font-size: 2.2rem !important; }
 
  /* Services */
  .wl-services { padding: 50px 5% !important; }
  .wl-svc-grid.wp-block-columns { flex-direction: column !important; }
  .wl-svc-col.wp-block-column   { flex-basis: 100% !important; }
 
  /* Location */
  .wl-location  { padding: 70px 5% !important; }
  .wl-map-frame.wp-block-group { height: 280px !important; animation: none !important; }
 
  /* CTA */
  .wl-cta-h2.wp-block-heading { font-size: 1.8rem !important; }
}
 
@media (max-width: 480px) {
  .wl-trust-item.wp-block-column { flex-basis: 100% !important; border-right: none !important; }
  
  .wl-cta-btn .wp-block-button__link { padding: 16px 28px !important; font-size: 1rem !important; }
}


/* ============================================================
   HEADER  (wp:group · class: wl-header)
   ============================================================ */
 
/* Fixed navy bar — full width, always on top */
.wl-header {
  position:         fixed !important;
  top:              0px !important;
  left:             0 !important;
  right:            0 !important;
  z-index:          9999 !important;
  background-color: var(--wl-navy) !important;
  padding:          0 5% !important;
  height:           82px !important;
  box-shadow:       0 2px 20px rgba(0,0,0,0.25) !important;
  /* flex layout already set via block attributes */
}

 .top-bar {
    margin-top: -72px;
    z-index: 99999999;
    position: fixed;
    width: 100%;
} 
.phone-number-header{
	margin-right: -70px !important;
}
.phone-number {
    margin-right: 100px !important;
    margin-top: -22px !important;
}

/* Push page content down so it doesn't hide behind header */
.wp-site-blocks,
.site-content,
#page {
  padding-top: 72px !important;
}
 
/* ── Logo ── */
.wl-header-logo figure,
.wl-header-logo-img figure { margin: 0 !important; }
 
.wl-header .wp-block-site-logo img,
.wl-header-logo img,
.wl-header-logo-img img {
  height:     44px !important;
  width:      auto !important;
  max-width:  none !important;
  display:    block !important;
  /* invert dark logo to white on navy bg */
  
}
 
/* ── Navigation links ── */
.wl-header-nav .wp-block-navigation__container {
  gap: 0 !important;
}
 
.wl-header-nav .wp-block-navigation-item__content,
.wl-header-nav .wp-block-navigation-link__content {
  font-family:    var(--wl-font-head) !important;
  font-weight:    600 !important;
  font-size:      0.95rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.8px !important;
  color:          #fff !important;
  padding:        6px 16px !important;
  position:       relative !important;
  transition:     color var(--wl-fast) !important;
  text-decoration: none;
}
 
/* Animated underline on hover */
.wl-header-nav .wp-block-navigation-item__content::after,
.wl-header-nav .wp-block-navigation-link__content::after {
  content:          '' !important;
  position:         absolute !important;
  bottom:           -2px !important;
  left:             16px !important;
  right:            16px !important;
  height:           2px !important;
  background-color: var(--wl-red) !important;
  transform:        scaleX(0) !important;
  transform-origin: left !important;
  transition:       transform var(--wl-fast) !important;
}
.wl-header-nav .wp-block-navigation-item:hover .wp-block-navigation-item__content::after,
.wl-header-nav .wp-block-navigation-item:hover .wp-block-navigation-link__content::after {
  transform: scaleX(1) !important;
}
 
/* Mobile hamburger menu colors */
.wl-header-nav .wp-block-navigation__responsive-container-open,
.wl-header-nav .wp-block-navigation__responsive-container-close {
  color: #fff !important;
}
.wl-header-nav .wp-block-navigation__responsive-container.is-menu-open {
  background-color: var(--wl-navy) !important;
}
 
/* ── CTA group (phone + button) ── */
.wl-header-cta { gap: 16px !important; }
 
/* Phone number */
.wl-header-phone {
  font-family:  var(--wl-font-head) !important;
  font-weight:  700 !important;
  font-size:    1rem !important;
  color:        #fff !important;
  margin:       0 !important;
  white-space:  nowrap !important;
}

 
/* Header CTA Button */
.wl-header-btn .wp-block-button__link {
  background-color: var(--wl-red) !important;
  color:            #fff !important;
  border:           none !important;
  border-radius:    var(--wl-radius-sm) !important;
  font-family:      var(--wl-font-head) !important;
  font-weight:      700 !important;
  font-size:        0.88rem !important;
  padding:          11px 22px !important;
  box-shadow:       var(--wl-shadow-glow) !important;
  transition:       var(--wl-ease) !important;
  white-space:      nowrap !important;
}
.wl-header-btn .wp-block-button__link:hover {
  background-color: var(--wl-red-hover) !important;
  transform:        translateY(-2px) !important;
}
 
/* ── Header Responsive ── */
@media (max-width: 900px) {
  .wl-header-phone { display: none !important; }
}
@media (max-width: 768px) {
  .wl-header-btn  { display: none !important; }
  .wl-header      { padding: 0 4% !important; }
}

 
/* ============================================================
   FOOTER  (wp:group · class: wl-footer)
   ============================================================ */
 
.wl-footer {
  background-color: var(--wl-navy-light) !important;
  color:            rgba(255,255,255,0.72) !important;
  padding:          80px 5% 0 !important;
}
 
/* 4-column top grid */
.wl-footer-grid.wp-block-columns {
  gap:           40px !important;
  margin-bottom: 60px !important;
  align-items:   flex-start !important;
}
 
/* ── Brand column ── */
.wl-footer-brand-col { display: flex; flex-direction: column; gap: 0; }
 
/* Footer logo */
.wl-footer-logo { margin-bottom: 20px !important; }
.wl-footer-logo img {
  height:  38px !important;
  width:   auto !important;
  display: block !important;
  
}
 
/* Brand tagline */
.wl-footer-tagline {
  font-family:   var(--wl-font-body) !important;
  font-size:     1rem !important;
  color:         rgba(255,255,255,0.65) !important;
  line-height:   1.75 !important;
  max-width:     280px !important;
  margin-bottom: 24px !important;
}
 
/* Social icons row */
.wl-footer-social { gap: 0 !important; }
.wl-footer-social .wp-block-buttons { gap: 10px !important; display: flex !important; }
 
.wl-social-btn .wp-block-button__link {
  width:            38px !important;
  height:           38px !important;
  padding:          0 !important;
  background-color: rgba(255,255,255,0.08) !important;
  color:            rgba(255,255,255,0.80) !important;
  border:           1px solid rgba(255,255,255,0.12) !important;
  border-radius:    50% !important;
  display:          flex !important;
  align-items:      center !important;
  justify-content:  center !important;
  font-size:        0.9rem !important;
  transition:       background-color var(--wl-fast), color var(--wl-fast) !important;
}
.wl-social-btn .wp-block-button__link:hover {
  background-color: var(--wl-red) !important;
  color:            #fff !important;
  border-color:     var(--wl-red) !important;
}
 
/* ── Link / info columns ── */
.wl-footer-col { display: flex; flex-direction: column; }
 
/* Column heading */
.wl-footer-col-title.wp-block-heading {
  font-family:    var(--wl-font-head) !important;
  font-size:      1.2rem !important;
  font-weight:    800 !important;
  color:          #fff !important;
  text-transform: capitalize !important;
  letter-spacing: 1px !important;
  margin-bottom:  24px !important;
  
  
  display:        inline-block !important;
}
 
/* Areas list */
.wl-footer-list.wp-block-list {
  list-style:  none !important;
  padding:     0 !important;
  margin:      0 !important;
}
.wl-footer-list li {
  font-family:   var(--wl-font-body) !important;
  font-size:     16px !important;
  color:         rgba(255,255,255,0.65) !important;
  margin-bottom: 12px;
  transition:    color var(--wl-fast), padding-left var(--wl-fast) !important;
}
.wl-footer-list li:last-child { border-bottom: none !important; }
.wl-footer-list li:hover      { color: var(--wl-red) !important; padding-left: 6px !important; }
 
/* Quick links via Navigation block */
.wl-footer-nav .wp-block-navigation__container { gap: 0 !important; }
.wl-footer-nav .wp-block-navigation-item { display: flex !important; }
.wl-footer-nav .wp-block-navigation-item__content,
.wl-footer-nav .wp-block-navigation-link__content {
  font-family:  var(--wl-font-body) !important;
  font-size:    16px !important;
  font-weight:  500 !important;
  color:        rgba(255,255,255,0.65) !important;
  margin-bottom: 12px;
  display:      block !important;
  
  transition:   color var(--wl-fast), padding-left var(--wl-fast) !important;
}
.wl-footer-nav .wp-block-navigation-item:last-child .wp-block-navigation-item__content,
.wl-footer-nav .wp-block-navigation-item:last-child .wp-block-navigation-link__content {
  border-bottom: none !important;
}
.wl-footer-nav .wp-block-navigation-item:hover .wp-block-navigation-item__content,
.wl-footer-nav .wp-block-navigation-item:hover .wp-block-navigation-link__content {
  color:        var(--wl-red) !important;
  padding-left: 6px !important;
}
 
/* Contact info rows */
.wl-footer-contact-list { gap: 0 !important; }
.wl-footer-contact-row {
  font-family:   var(--wl-font-body) !important;
  font-size:     1rem !important;
  color:         rgba(255,255,255,0.65) !important;
  margin:        0 0 12px !important;
  display:       flex !important;
  align-items:   flex-start !important;
  gap:           10px !important;
  
  
}
.wl-footer-contact-row:last-child {
  border-bottom: none !important;
  margin-bottom: 0 !important;
}
.wl-footer-contact-row i {
  color:      var(--wl-red) !important;
  font-size:  1rem !important;
  margin-top: 2px !important;
  flex-shrink: 0 !important;
  width:       16px !important;
}
 
/* ── Footer Bottom Bar ── */
.wl-footer-bottom {
  border-top:  1px solid rgba(255,255,255,0.10) !important;
  padding:     24px 0 28px !important;
  margin-top:  0 !important;
}
 
/* Copyright text */
.wl-footer-copy {
  font-family: var(--wl-font-body) !important;
  font-size:   0.88rem !important;
  color:       rgba(255,255,255,0.45) !important;
  margin:      0 !important;
}
 
/* Bottom nav links */
.wl-footer-bottom-nav .wp-block-navigation__container { gap: 0 !important; }
.wl-footer-bottom-link.wp-block-navigation-item .wp-block-navigation-item__content,
.wl-footer-bottom-link.wp-block-navigation-item .wp-block-navigation-link__content {
  font-family: var(--wl-font-body) !important;
  font-size:   0.88rem !important;
  color:       rgba(255,255,255,0.45) !important;
  padding:     0 !important;
  transition:  color var(--wl-fast) !important;
}
.wl-footer-bottom-link.wp-block-navigation-item:hover .wp-block-navigation-item__content,
.wl-footer-bottom-link.wp-block-navigation-item:hover .wp-block-navigation-link__content {
  color: var(--wl-red) !important;
}
 
/* ── Footer Responsive ── */
@media (max-width: 900px) {
  .wl-footer-grid.wp-block-columns {
    flex-wrap: wrap !important;
    gap:       30px !important;
  }
  .wl-footer-brand-col { flex-basis: 100% !important; max-width: 100% !important; }
  .wl-footer-col       { flex-basis: calc(33% - 20px) !important; }
}
 
@media (max-width: 600px) {
  .wl-footer          { padding: 50px 5% 0 !important; }
  .wl-footer-col      { flex-basis: 100% !important; max-width: 100% !important; }
  .wl-footer-tagline  { max-width: 100% !important; }
  .wl-footer-bottom   { flex-direction: column !important; gap: 12px !important; text-align: center !important; }
  .wl-footer-bottom-nav .wp-block-navigation__container { justify-content: center !important; }
}



/* Only paragraph & list links */
.entry-content p a,
.entry-content li a {
  text-decoration: underline;
  transition: color 0.3s ease, text-decoration-color 0.3s ease;
}

.entry-content p a:hover,
.entry-content li a:hover {
  color: #e31818;
  text-decoration-color: #e31818;
}


#rl-gallery-container-1 .rl-basicgrid-gallery .rl-gallery-item {
   
    border-radius: 16px;
}


/* 30-4-26 https://wizardlock.ezsolutionweb.com/vehicle-lock-out-service/ start */

.header-mobile-phone{
    display: none!important;
}
@media (max-width:1500px){
    .wl-header .main-menu-bar{
        gap: 30px!important;
    }
}
@media (max-width:1400px){
    .wp-block-navigation__responsive-container-open:not(.always-shown){
        display: flex!important;
        padding: 5px 6px!important;
        border: 1px solid rgba(255,255,255,0.10) !important;
    }
    .wl-header-cta, 
    .phone-number-header,
    .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open){
        display: none!important;
    }
    body .wl-header{
        justify-content: space-between!important;
    }
    .wp-block-navigation__responsive-container-close{
        top: 20px!important;
        right: 20px!important;
    }
    .wp-block-navigation .wp-block-navigation-item{
        text-align: center!important;
        width: 100%!important;
    }
    .wp-block-navigation .wp-block-navigation__submenu-icon{
        color: #000!important;
        display: block!important;
        position: absolute!important;
        top: 6px!important;
        right: -100px!important;
        left: 0;
        margin: auto;
    }
    .wp-block-navigation .wp-block-navigation-item .wp-block-navigation-item__content{
        
        width: fit-content!important;
    }
    body .wp-block-navigation .wp-block-navigation-item:focus,
    body .wp-block-navigation .wp-block-navigation-item:hover,
    body .wp-block-navigation .wp-block-navigation-item__content.wp-block-navigation-item__content:hover,
    body .wp-block-navigation .wp-block-navigation-item__content.wp-block-navigation-item__content:focus,
    body .wp-block-navigation .wp-block-navigation__submenu-icon:hover,
    body .wp-block-navigation .wp-block-navigation__submenu-icon:focus{
        border: 0!important;
        box-shadow: 0!important;
        outline: none!important;
    }
    .open-on-hover-click a.wp-block-navigation-item__content{
        margin-bottom: 0px !important;
    }
    .wp-block-navigation .has-child .wp-block-navigation__submenu-container{
        width:fit-content!important;
        padding: 0!important;
        border-bottom: 1px solid #ddd!important;
        padding-top: 10px!important;
    }
    .wp-block-navigation .has-child:has(.wp-block-navigation__submenu-icon[aria-expanded="false"]) 
    .wp-block-navigation__submenu-container{
        display: none!important;
    }
    .wp-block-navigation .has-child:has(.wp-block-navigation__submenu-icon[aria-expanded="true"]) 
    .wp-block-navigation__submenu-container{
        display: block!important;
    }
    .header-mobile-phone {
        display: block!important;
    }
    .header-mobile-phone a{
        color: #000!important;
        position: relative;
        padding-left: 30px !important;
    }
    .header-mobile-phone a:before{
        content: "\f095";
        display: inline-block!important;
        color: #000;
        font-size: 18px;
        font-family: "fontawesome"!important;
        position: absolute;
       left: 0px;
    }
}

@media screen and (min-width:767px) and (max-width:1300px){
    body .wl-trust-banner{
        max-width: 100%!important;
    }
}
@media (max-width:992px){
    body .wl-trust-banner{
        padding: 30px 0px!important;
    }
    body .sub-col-trust{
        flex-wrap:wrap!important;
    }
    body .sub-col-trust *{
        flex-basis: 100%!important;
        text-align: center!important;
    }
    .wl-svc-name.wp-block-heading,
    .sub-col-trust .wl-trust-title.wp-block-heading{
        text-align: center!important;
    }
}
@media (max-width:767px){
    body .wl-trust-item.wp-block-column:nth-last-child(-n+2),
    body .wl-trust-item.wp-block-column{
        border-bottom: 1px solid rgba(11,16,33,0.07) !important;
        border-right: 0!important;
    }
    body .wl-trust-item.wp-block-column:last-child{
        border-bottom: 0!important;
    }
    body .wl-trust-banner{
        padding: 0!important;
    }
    .wp-block-columns.is-not-stacked-on-mobile {
        flex-wrap: wrap !important;
        gap: 20px!important;
        margin-top: 20px;
    }
    .wp-block-columns.is-not-stacked-on-mobile .wp-block-column.is-layout-flow.wp-block-column-is-layout-flow{
        width: 100%!important;
        flex:auto;
    }
    body .wl-phil-left{
        margin-left: 0px !important;
        width: fit-content !important;
        flex: 100%;
    }
    body .wl-philosophy{
        padding: 50px 15px !important;
    }
    body p.wl-phil-body{
        margin-bottom:20px!important;
    }
    .wp-container-core-columns-is-layout-128f84493{
        gap: 20px!important;
    }
    .quality-matters{
        padding: 15px !important;
    }
    .quality-matters .wp-block-spacer{
        height: 10px!important;
    }
    .quality-matters .has-custom-wl-text-muted-color{
        line-height: 1.85 !important;
    }
    body .wl-hero-sub{
        font-size: 16px!important;
        margin-bottom: 0!important;
    }
    body .wl-hero-cover{
        padding: 40px 20px!important;
    }
    body .wl-btn-primary-block .wp-block-button__link{
        font-size: 16px !important;
        padding: 10px 8px !important;
    }
    body .has-custom-wl-navy-background-color{
        padding-right: 15px!important;
        padding-left: 15px!important;
    }
    body .wp-block-cover-is-layout-constrained iframe{
        width: 100%!important;
    }
    .wl-phil-right .wp-block-image img{
        height: 80%!important;
        width: 100%!important;
        aspect-ratio: 1;
    }
}

/* 30-4-26 https://wizardlock.ezsolutionweb.com/vehicle-lock-out-service/ end */
















