/*
Theme Name: Astra Child - Cover Cleaning
Template: astra
Description: Cover Cleaning design system child theme, built on Astra.
Version: 1.0.0
Text Domain: astra-child
*/

@import url("../astra/style.css");
@import url("https://fonts.googleapis.com/css2?family=Hanken+Grotesk:wght@400;500;600;700;800&family=Open+Sans:wght@400;600&display=swap");

/* ==========================================================================
   Design tokens - Cover Cleaning / Pristine Professional system
   ========================================================================== */
:root{
  --cc-primary:#00484a;
  --cc-primary-container:#046164;
  --cc-teal-dark:#046164;
  --cc-secondary:#2e6769;
  --cc-secondary-container:#b3edef;
  --cc-on-secondary-container:#346d6f;
  --cc-tertiary:#3B945E;
  --cc-deep-navy:#2A2F4F;
  --cc-surface:#fbf8ff;
  --cc-surface-mist:#EFF5F7;
  --cc-surface-container-lowest:#ffffff;
  --cc-on-surface:#141938;
  --cc-on-surface-variant:#3f4949;
  --cc-outline-variant:#bec8c8;
  --cc-primary-fixed:#a6eff2;
  --cc-primary-fixed-dim:#8ad3d6;
  --cc-accent-gold:#8a5a17;
  --cc-accent-gold-light:#fbf1e2;
  --cc-eco-green:#2f7a4f;
  --cc-eco-green-tint:rgba(59,148,94,0.14);

  --cc-radius-sm:0.25rem;
  --cc-radius-md:0.5rem;
  --cc-radius-lg:0.75rem;
  --cc-radius-xl:1.5rem;
  --cc-radius-full:9999px;

  --cc-section-padding:80px;

  --cc-font-display: 'Hanken Grotesk', sans-serif;
  --cc-font-body: 'Open Sans', sans-serif;
}

body{
  background:var(--cc-surface-mist);
  color:var(--cc-on-surface);
  font-family:var(--cc-font-body);
}

h1,h2,h3,h4,h5,h6{
  font-family:var(--cc-font-display);
  color:var(--cc-primary);
  letter-spacing:-0.01em;
}

/* ==========================================================================
   Header
   ========================================================================== */
.cc-header{
  background:rgba(251,248,255,0.85);
  backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(42,47,79,0.1);
  position:sticky;
  top:0;
  z-index:999;
}
.cc-header .site-title,
.cc-logo-text{
  font-family:var(--cc-font-display);
  font-weight:700;
  font-size:24px;
  color:var(--cc-primary);
}
.cc-header a{
  font-family:var(--cc-font-display);
  font-weight:700;
  font-size:14px;
  letter-spacing:0.05em;
  color:var(--cc-on-surface-variant);
  text-decoration:none;
}
.cc-header nav a:hover{ color:var(--cc-primary); }
.cc-header-phone{
  font-family:var(--cc-font-display);
  font-weight:700;
  color:var(--cc-primary);
  text-decoration:none;
}

/* ==========================================================================
   Buttons
   ========================================================================== */
.wp-block-button__link,
.cc-btn{
  font-family:var(--cc-font-display) !important;
  font-weight:700 !important;
  font-size:14px !important;
  letter-spacing:0.05em;
  text-transform:none;
  border-radius:var(--cc-radius-full) !important;
  padding:16px 32px !important;
  transition:all .2s ease;
}
.cc-btn-primary .wp-block-button__link{
  background:linear-gradient(135deg, var(--cc-teal-dark) 0%, var(--cc-primary) 100%) !important;
  color:#fff !important;
  border:none !important;
  box-shadow:0 6px 16px -6px rgba(4,97,100,0.5);
}
.cc-btn-primary .wp-block-button__link:hover{
  box-shadow:0 12px 28px -8px rgba(4,97,100,0.55);
  transform:translateY(-2px);
}
.cc-btn-outline .wp-block-button__link{
  background:transparent !important;
  color:var(--cc-teal-dark) !important;
  border:1.5px solid var(--cc-teal-dark) !important;
}
.cc-btn-outline .wp-block-button__link:hover{
  background:var(--cc-surface-mist) !important;
}
.cc-btn-on-dark .wp-block-button__link{
  background:#fff !important;
  color:var(--cc-primary) !important;
}
.cc-btn-sm .wp-block-button__link{
  padding:10px 22px !important;
  font-size:12px !important;
}

/* ==========================================================================
   Badge / eyebrow
   ========================================================================== */
.cc-eyebrow{
  display:inline-block;
  background:var(--cc-secondary-container);
  color:var(--cc-on-secondary-container);
  font-family:var(--cc-font-display);
  font-weight:700;
  font-size:13px;
  letter-spacing:0.08em;
  text-transform:uppercase;
  padding:6px 16px;
  border-radius:var(--cc-radius-full);
  text-align:center;
}
p.cc-eyebrow{
  text-align:center;
}

/* ==========================================================================
   Hero
   ========================================================================== */
.cc-hero{
  min-height:78vh;
  display:flex;
  align-items:center;
  position:relative;
  overflow:hidden;
}
.cc-hero:before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(ellipse at center, rgba(251,248,255,0.94) 0%, rgba(251,248,255,0.8) 45%, rgba(251,248,255,0.35) 100%);
  z-index:1;
}
.cc-hero > .wp-block-cover__inner-container{
  position:relative;
  z-index:2;
  display:flex !important;
  flex-direction:column;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  width:100%;
}
.cc-hero .wp-block-cover__inner-container > *{
  text-align:center !important;
}
.cc-hero .wp-block-cover__inner-container > .wp-block-group{
  margin-left:auto !important;
  margin-right:auto !important;
  width:100%;
}
.cc-hero .wp-block-cover__inner-container .wp-block-group > *{
  text-align:center !important;
}
.cc-hero .wp-block-buttons{
  justify-content:center !important;
  width:100%;
}
.cc-hero h1{
  font-size:48px;
  line-height:56px;
  font-weight:700;
  max-width:640px;
}
.cc-hero h1 .cc-accent{ color:var(--cc-teal-dark); }
.cc-hero h1 .cc-heading-green{ color:var(--cc-eco-green); }
.cc-hero p{
  font-size:18px;
  line-height:28px;
  color:var(--cc-on-surface-variant);
  max-width:520px;
}
@media (max-width:781px){
  .cc-hero{ min-height:auto; padding:64px 0; }
  .cc-hero h1{ font-size:36px; line-height:42px; }
}

/* ==========================================================================
   Section headings
   ========================================================================== */
.cc-section-heading{
  text-align:center;
  margin-bottom:56px;
}
.cc-section-heading h2{
  font-size:32px;
  line-height:40px;
  font-weight:600;
  margin-bottom:16px;
}
.cc-section-heading .cc-underline{
  width:80px;
  height:4px;
  background:var(--cc-teal-dark);
  margin:0 auto;
  border-radius:var(--cc-radius-full);
}

/* ==========================================================================
   Cards
   ========================================================================== */
.cc-card{
  background:var(--cc-surface-container-lowest);
  border:1px solid rgba(42,47,79,0.1);
  border-radius:var(--cc-radius-lg);
  padding:24px;
  transition:all .3s ease;
}
.cc-card:hover{
  box-shadow:0 18px 34px -12px rgba(4,97,100,0.22);
  border-color:rgba(4,97,100,0.25);
  transform:translateY(-4px);
}
.cc-card img{
  border-radius:var(--cc-radius-md);
  height:192px;
  object-fit:cover;
}
.cc-card h3{ font-size:24px; line-height:32px; font-weight:600; }
.cc-card-price{
  font-family:var(--cc-font-display);
  font-weight:700;
  font-size:13px;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:var(--cc-accent-gold);
  background:var(--cc-accent-gold-light);
  display:inline-block;
  padding:4px 12px;
  border-radius:var(--cc-radius-full);
}

/* ==========================================================================
   Icon circles
   ========================================================================== */
.cc-icon-circle{
  width:64px;
  height:64px;
  border-radius:50%;
  background:linear-gradient(135deg, rgba(4,97,100,0.16) 0%, rgba(166,239,242,0.35) 100%);
  color:var(--cc-teal-dark);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:28px;
  margin:0 auto 20px;
  box-shadow:0 4px 12px -4px rgba(4,97,100,0.2);
}
.cc-icon-eco{
  background:linear-gradient(135deg, rgba(47,122,79,0.18) 0%, rgba(179,237,197,0.4) 100%);
  color:var(--cc-eco-green);
  box-shadow:0 4px 12px -4px rgba(47,122,79,0.2);
}

/* ==========================================================================
   Trust bar strip
   ========================================================================== */
.cc-trustbar{
  background:linear-gradient(180deg, #ffffff 0%, var(--cc-surface-mist) 100%);
  border-top:1px solid rgba(42,47,79,0.08);
  border-bottom:1px solid rgba(42,47,79,0.08);
}
.cc-trustbar-item{
  font-family:var(--cc-font-display);
  font-weight:600;
  font-size:14px;
  color:var(--cc-primary);
  display:flex;
  align-items:center;
  gap:8px;
  justify-content:center;
}

/* ==========================================================================
   Tiers / list rows
   ========================================================================== */
.cc-tier-row{
  background:var(--cc-surface-mist);
  border:1px solid rgba(4,97,100,0.1);
  border-radius:var(--cc-radius-md);
  padding:16px;
  display:flex;
  gap:16px;
  align-items:flex-start;
}
.cc-tier-icon{
  background:var(--cc-primary-fixed);
  color:var(--cc-primary);
  border-radius:var(--cc-radius-md);
  width:40px;
  height:40px;
  min-width:40px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.cc-stat-card{
  border-radius:var(--cc-radius-lg);
  padding:24px;
  color:#fff;
  background:linear-gradient(135deg, var(--cc-teal-dark) 0%, var(--cc-primary) 100%) !important;
  box-shadow:0 16px 30px -14px rgba(4,97,100,0.4);
}
.cc-stat-card[style*="2e6769"]{
  background:linear-gradient(135deg, var(--cc-secondary) 0%, var(--cc-eco-green) 130%) !important;
  box-shadow:0 16px 30px -14px rgba(47,122,79,0.35);
}
.cc-stat-card .cc-stat-num{
  font-family:var(--cc-font-display);
  font-size:36px;
  font-weight:700;
  line-height:1;
  margin-bottom:4px;
}
.cc-stat-card .cc-stat-label{
  font-family:var(--cc-font-display);
  font-size:13px;
  text-transform:uppercase;
  letter-spacing:0.08em;
}

/* ==========================================================================
   Dark / navy sections
   ========================================================================== */
.cc-navy{
  background:linear-gradient(160deg, #232842 0%, var(--cc-deep-navy) 45%, #1f3538 100%);
  color:#fff;
}
.cc-navy h2, .cc-navy h3, .cc-navy h4{ color:#fff; }
.cc-navy p, .cc-navy li, .cc-navy a{ color:rgba(255,255,255,0.75); }
.cc-area-item{
  display:flex;
  align-items:center;
  gap:8px;
  font-family:var(--cc-font-display);
  font-weight:500;
  font-size:14px;
}

/* ==========================================================================
   Before / After
   ========================================================================== */
.cc-ba-frame{
  border-radius:var(--cc-radius-lg);
  overflow:hidden;
  position:relative;
}
.cc-ba-label{
  position:absolute;
  top:12px;
  left:12px;
  background:rgba(20,25,56,0.75);
  color:#fff;
  font-family:var(--cc-font-display);
  font-weight:700;
  font-size:12px;
  letter-spacing:0.08em;
  text-transform:uppercase;
  padding:4px 12px;
  border-radius:var(--cc-radius-full);
  z-index:2;
}

/* ==========================================================================
   Testimonials
   ========================================================================== */
.cc-review-card{
  background:#fff;
  border:1px solid rgba(42,47,79,0.1);
  border-radius:var(--cc-radius-lg);
  padding:24px;
}
.cc-review-stars{
  color:#f5a623;
  font-size:16px;
  letter-spacing:2px;
  margin-bottom:12px;
}

/* ==========================================================================
   CTA banner
   ========================================================================== */
.cc-cta-card{
  background:linear-gradient(135deg, #ffffff 0%, var(--cc-secondary-container) 140%);
  border-radius:var(--cc-radius-xl);
  padding:64px 48px;
  text-align:center;
  position:relative;
  overflow:hidden;
  border:1px solid rgba(4,97,100,0.1);
  box-shadow:0 30px 60px -30px rgba(4,97,100,0.25);
}
.cc-cta-card:before{
  content:"";
  position:absolute;
  top:-80px;
  right:-80px;
  width:220px;
  height:220px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(4,97,100,0.18) 0%, rgba(4,97,100,0) 70%);
  pointer-events:none;
}

/* ==========================================================================
   Footer
   ========================================================================== */
.cc-footer{
  background:var(--cc-deep-navy);
  color:rgba(255,255,255,0.75);
}
.cc-footer h4{
  color:var(--cc-primary-fixed-dim);
  font-size:14px;
  text-transform:uppercase;
  letter-spacing:0.05em;
}
.cc-footer a{ color:rgba(255,255,255,0.75); text-decoration:none; }
.cc-footer a:hover{ color:var(--cc-primary-fixed); }
.cc-footer-bottom{
  border-top:1px solid rgba(255,255,255,0.1);
  text-align:center;
  font-family:var(--cc-font-display);
  font-size:12px;
  letter-spacing:0.1em;
  text-transform:uppercase;
  color:rgba(255,255,255,0.5);
}

/* ==========================================================================
   Astra real header markup - sticky, blur, phone/CTA nav items
   ========================================================================== */
.site-header,
#masthead{
  position:sticky;
  top:0;
  z-index:999;
  background:rgba(251,248,255,0.88) !important;
  backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(42,47,79,0.1);
}
.ast-desktop .site-title a,
.ast-desktop .site-title{
  font-family:var(--cc-font-display) !important;
  font-weight:700 !important;
  color:var(--cc-primary) !important;
  font-size:24px !important;
}
.main-header-menu .menu-item > a,
.ast-desktop .menu-item > a{
  font-family:var(--cc-font-display) !important;
  font-weight:700 !important;
  font-size:14px !important;
  letter-spacing:0.05em;
  color:var(--cc-on-surface-variant) !important;
}
.main-header-menu .menu-item > a:hover{ color:var(--cc-teal-dark) !important; }
.main-header-menu .cc-nav-phone > a{
  color:var(--cc-primary) !important;
  font-weight:700 !important;
}
.main-header-menu .cc-nav-cta > a{
  background:var(--cc-primary-container) !important;
  color:#fff !important;
  padding:16px 32px !important;
  font-size:14px !important;
  border-radius:var(--cc-radius-full) !important;
  margin-left:8px;
}
.main-header-menu .cc-nav-cta > a:hover{ background:var(--cc-teal-dark) !important; }

/* ==========================================================================
   Footer widgets (site-wide, via Astra footer-widget-1 / footer-widget-2)
   ========================================================================== */
.footer-widget-area,
.ast-builder-footer-row-container,
.cc-footer-widgets-row{
  background:linear-gradient(135deg, var(--cc-teal-dark) 0%, var(--cc-primary) 100%) !important;
  color:rgba(255,255,255,0.85) !important;
  position:relative;
  padding-top:0;
  padding-bottom:0;
}
.cc-footer-widgets-row:before{
  content:"";
  display:block;
  height:4px;
  background:linear-gradient(90deg, var(--cc-primary-fixed) 0%, var(--cc-primary-fixed-dim) 50%, var(--cc-primary-fixed) 100%);
}
.cc-footer-grid{
  max-width:1200px;
  margin:0 auto;
  padding:56px 20px 40px;
  display:grid;
  grid-template-columns:1.3fr 1fr 1fr 1fr;
  gap:40px;
}
.cc-footer-grid aside{ min-width:0; }
.footer-widget-area h2,
.footer-widget-area .widget-title,
.cc-footer-widgets-row h2,
.cc-footer-widgets-row .widget-title{
  color:#fff !important;
  font-family:var(--cc-font-display);
  font-size:14px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:0.08em;
  margin:0 0 18px !important;
  padding-bottom:10px;
  position:relative;
}
.footer-widget-area .widget-title:after,
.cc-footer-widgets-row .widget-title:after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:28px;
  height:2px;
  background:var(--cc-primary-fixed);
  border-radius:2px;
}
.footer-widget-area a,
.cc-footer-widgets-row a{ color:rgba(255,255,255,0.78) !important; text-decoration:none; transition:color .2s ease, padding-left .2s ease; }
.footer-widget-area a:hover,
.cc-footer-widgets-row a:hover{ color:#fff !important; padding-left:4px; }
.cc-footer-logo{
  font-family:var(--cc-font-display);
  font-weight:800;
  font-size:24px;
  color:#fff;
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom:14px;
}
.cc-footer-brand p{
  font-size:14px;
  line-height:22px;
  color:rgba(255,255,255,0.75) !important;
}
.cc-footer-list{ list-style:none; margin:0; padding:0; }
.cc-footer-list li{ margin-bottom:10px; font-size:14px; }
.footer-widget-area p,
.cc-footer-widgets-row p{ color:rgba(255,255,255,0.85) !important; }
.cc-footer-widgets-row .cc-footer-contact p{ color:rgba(255,255,255,0.85) !important; margin:0 0 10px; font-size:14px; }
.cc-footer-social-row{
  max-width:1200px;
  margin:0 auto;
  padding:0 20px 32px;
  display:flex;
  gap:10px;
  align-items:center;
  font-family:var(--cc-font-display);
  font-size:13px;
  font-weight:600;
  border-top:1px solid rgba(255,255,255,0.15);
  padding-top:24px;
}
.cc-footer-social-row a{ color:rgba(255,255,255,0.85) !important; text-decoration:none; }
.cc-footer-social-row a:hover{ color:#fff !important; }
.cc-footer-social-row span{ color:rgba(255,255,255,0.4); }
@media (max-width:781px){
  .cc-footer-grid{ grid-template-columns:1fr 1fr; gap:32px; padding:40px 20px 24px; }
}
@media (max-width:480px){
  .cc-footer-grid{ grid-template-columns:1fr; }
}
#footer-below,
.ast-small-footer{
  background:var(--cc-primary) !important;
  border-top:1px solid rgba(255,255,255,0.15);
}
#footer-below .footer-copyright,
.ast-small-footer p{
  color:rgba(255,255,255,0.5) !important;
  font-family:var(--cc-font-display);
  font-size:12px;
  letter-spacing:0.08em;
  text-transform:uppercase;
}

/* ==========================================================================
   Inner-page hero (Services / About / Contact)
   ========================================================================== */
.cc-hero-page{ min-height:320px !important; }
.cc-hero-page:before{ display:none; }
.cc-hero-page h2{ color:#fff; font-size:36px; }

/* ==========================================================================
   Contact form
   ========================================================================== */
.cc-form{ display:flex; flex-direction:column; gap:16px; margin-top:16px; }
.cc-form-row{ display:flex; flex-direction:column; gap:6px; }
.cc-form-row label{ font-family:var(--cc-font-display); font-weight:600; font-size:14px; color:var(--cc-primary); }
.cc-form-row input, .cc-form-row select, .cc-form-row textarea{
  font-family:var(--cc-font-body);
  font-size:15px;
  padding:12px 14px;
  border:1px solid var(--cc-outline-variant);
  border-radius:var(--cc-radius-md);
  background:#fff;
  color:var(--cc-on-surface);
}
.cc-form-row input:focus, .cc-form-row select:focus, .cc-form-row textarea:focus{
  outline:none; border-color:var(--cc-teal-dark);
}
.cc-form-submit{
  font-family:var(--cc-font-display);
  font-weight:700;
  font-size:14px;
  letter-spacing:0.05em;
  background:var(--cc-teal-dark);
  color:#fff;
  border:none;
  padding:16px 32px;
  border-radius:var(--cc-radius-full);
  cursor:pointer;
  width:fit-content;
}
.cc-form-submit:hover{ box-shadow:0 10px 25px -8px rgba(4,97,100,0.45); }

/* ==========================================================================
   Service page: included list, FAQ items
   ========================================================================== */
.cc-included-item{
  background:#fff;
  border:1px solid rgba(4,97,100,0.12);
  border-radius:var(--cc-radius-md);
  padding:14px 18px;
  margin-bottom:10px;
  font-weight:500;
}
.cc-faq-item{
  border-bottom:1px solid rgba(42,47,79,0.1);
  padding:20px 0;
}
.cc-faq-item h4{ font-size:18px; margin-bottom:8px; }
.cc-faq-item p{ color:var(--cc-on-surface-variant); margin:0; }

/* ==========================================================================
   Pricing table
   ========================================================================== */
.cc-price-table table{ width:100%; border-collapse:collapse; background:#fff; border-radius:var(--cc-radius-md); overflow:hidden; }
.cc-price-table th{
  background:linear-gradient(135deg, var(--cc-teal-dark) 0%, var(--cc-primary) 100%);
  color:#fff;
  font-family:var(--cc-font-display);
  font-weight:700;
  text-align:left;
  padding:14px 20px;
}
.cc-price-table td{
  padding:14px 20px;
  border-bottom:1px solid rgba(42,47,79,0.08);
}
.cc-price-table tr:last-child td{ border-bottom:none; }
.cc-price-table tr:nth-child(even) td{ background:rgba(4,97,100,0.03); }

/* ==========================================================================
   Anchor scroll offset (sticky header)
   ========================================================================== */
[id^="chk-"]{ scroll-margin-top:100px; }

/* ==========================================================================
   Breadcrumbs
   ========================================================================== */
.cc-breadcrumbs{
  font-family:var(--cc-font-display);
  font-size:13px;
  font-weight:600;
  color:var(--cc-on-surface-variant);
  padding:16px 0 0;
}
.cc-breadcrumbs a{ color:var(--cc-teal-dark); text-decoration:none; }
.cc-breadcrumbs a:hover{ text-decoration:underline; }
.cc-breadcrumbs .sep{ margin:0 8px; color:var(--cc-outline-variant); }

/* ==========================================================================
   Explore more links row
   ========================================================================== */
.cc-explore-more{
  text-align:center;
  font-family:var(--cc-font-display);
  font-weight:600;
  font-size:14px;
}
.cc-explore-more a{ color:var(--cc-teal-dark); text-decoration:none; }
.cc-explore-more a:hover{ text-decoration:underline; }

/* ==========================================================================
   Mobile hardening pass
   ========================================================================== */
@media (max-width:781px){
  /* Price tables: allow horizontal scroll instead of cramming/breaking columns */
  .cc-price-table{
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
  }
  .cc-price-table table{ min-width:480px; }
  .cc-price-table th, .cc-price-table td{ padding:10px 14px; font-size:14px; }

  /* Hero on inner pages: don't force a full 320px block on very short content */
  .cc-hero-page{ min-height:260px !important; padding:32px 0; }
  .cc-hero-page h1, .cc-hero-page h2{ font-size:28px !important; line-height:34px !important; }

  /* Trust bar: 2 per row instead of 5 full-width stacked rows */
  .cc-trustbar .wp-block-columns{
    display:flex;
    flex-wrap:wrap;
    row-gap:12px;
  }
  .cc-trustbar .wp-block-column{
    flex:0 0 50% !important;
    width:50% !important;
  }

  /* CTA card padding tighter on mobile */
  .cc-cta-card{ padding:32px 20px; }

  /* Stat cards: stack image + card pairs without cramped padding */
  .cc-stat-card{ padding:16px; }
  .cc-stat-card .cc-stat-num{ font-size:28px; }

  /* Prevent long emails/links from overflowing narrow containers */
  .cc-footer-contact, .cc-cta-card p, .cc-review-card p{
    word-break:break-word;
    overflow-wrap:break-word;
  }

  /* Ensure form fields and buttons are comfortably tappable */
  .cc-form-row input, .cc-form-row select, .cc-form-row textarea{ font-size:16px; }
  .wp-block-button__link, .cc-form-submit{ min-height:44px; }

  /* Breadcrumbs wrap cleanly on narrow screens */
  .cc-breadcrumbs{ font-size:12px; line-height:1.6; }

  /* Tighter section heading spacing */
  .cc-section-heading{ margin-bottom:32px; }
}

@media (max-width:400px){
  .cc-trustbar .wp-block-column{ flex:0 0 100% !important; width:100% !important; }
  .cc-hero h1{ font-size:30px !important; line-height:36px !important; }
}

/* ==========================================================================
   Related services grid
   ========================================================================== */
.cc-related-card{
  padding:16px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:10px;
  height:100%;
}
.cc-related-services .wp-block-columns{
  flex-wrap:wrap;
}
.cc-related-services .wp-block-column{
  flex-basis:30% !important;
  min-width:200px;
}

/* ==========================================================================
   Section spacing helper
   ========================================================================== */
.cc-section{ padding-top:var(--cc-section-padding); padding-bottom:var(--cc-section-padding); }
@media (max-width:781px){
  .cc-section{ padding-top:48px; padding-bottom:48px; }
  .cc-cta-card{ padding:40px 24px; }
}
