/* CMS body sections on home / storefront pages */
.home-cms-body{display:flex;flex-direction:column;gap:0}
.home-cms-section{display:block;width:100%}
.home-cms-section--category_grid,
.home-cms-section--category_carousel{padding-bottom:0}
/* Full-width category band: title → cards → small gap before View All Formulas */
html.has-cms-layout-header .home-cms-body .home-cms-section--category_grid,
html.has-cms-layout-header .home-cms-body .home-cms-section--category_carousel{
  background:linear-gradient(135deg, #fdfbfb 0%, #ebedee 100%);
  width:100vw !important;
  max-width:100vw !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
  margin-bottom:0 !important;
  padding-top:clamp(2.5rem, 5vw, 4rem);
  padding-bottom:clamp(0.75rem, 1.5vw, 1.25rem);
  padding-inline:max(1.5rem, calc(50vw - 600px)) !important;
  box-sizing:border-box;
}
/* Tighter gap: services split-row block → category band */
html.has-cms-layout-header .home-cms-body .home-cms-section--html_block:has(.split-row):has(+ .home-cms-section--category_carousel),
html.has-cms-layout-header .home-cms-body .home-cms-section--html_block:has(.split-row):has(+ .home-cms-section--category_grid){
  margin-bottom:0 !important;
  background:transparent;
  width:auto !important;
  max-width:none !important;
  margin-left:0 !important;
  margin-right:0 !important;
  padding:0 !important;
}
html.has-cms-layout-header .home-cms-body .home-cms-section--html_block:has(.split-row):has(+ .home-cms-section--category_carousel) .section,
html.has-cms-layout-header .home-cms-body .home-cms-section--html_block:has(.split-row):has(+ .home-cms-section--category_grid) .section{
  padding-bottom:clamp(0.75rem, 1.5vw, 1.25rem) !important;
}
html.has-cms-layout-header .home-cms-body .home-cms-section--html_block:has(.split-row):has(+ .home-cms-section--category_carousel) .split-row:last-child,
html.has-cms-layout-header .home-cms-body .home-cms-section--html_block:has(.split-row):has(+ .home-cms-section--category_grid) .split-row:last-child{
  padding-bottom:clamp(0.75rem, 1.5vw, 1.25rem);
  border-bottom:none;
}
html.has-cms-layout-header .home-cms-body .home-cms-section--html_block:has(.split-row) + .home-cms-section--category_carousel,
html.has-cms-layout-header .home-cms-body .home-cms-section--html_block:has(.split-row) + .home-cms-section--category_grid{
  margin-top:0 !important;
  padding-top:clamp(1.25rem, 2.5vw, 2rem);
}
/* Subtitle-only html block directly above category carousel/grid */
html.has-cms-layout-header .home-cms-body .home-cms-section--html_block:not(:has(.split-row)):has(+ .home-cms-section--category_carousel),
html.has-cms-layout-header .home-cms-body .home-cms-section--html_block:not(:has(.split-row)):has(+ .home-cms-section--category_grid){
  background:linear-gradient(135deg, #fdfbfb 0%, #ebedee 100%);
  width:100vw !important;
  max-width:100vw !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
  margin-bottom:0 !important;
  padding-top:clamp(2.5rem, 5vw, 4rem);
  padding-bottom:0;
  padding-inline:max(1.5rem, calc(50vw - 600px)) !important;
  box-sizing:border-box;
}
html.has-cms-layout-header .home-cms-body .home-cms-section--html_block:not(:has(.split-row)):has(+ .home-cms-section--category_carousel) + .home-cms-section--category_carousel,
html.has-cms-layout-header .home-cms-body .home-cms-section--html_block:not(:has(.split-row)):has(+ .home-cms-section--category_grid) + .home-cms-section--category_grid{
  padding-top:0;
}
html.has-cms-layout-header .home-cms-body .home-cms-section--category_grid .category-grid-section,
html.has-cms-layout-header .home-cms-body .home-cms-section--category_carousel .dynamic-category-carousel{
  background:transparent;
  border-radius:0;
  padding:0;
}
/* View All Formulas — continues gradient band to bottom highlight */
html.has-cms-layout-header .home-cms-body .home-cms-section--category_grid + .home-cms-section--html_block:not(:has(.cta-section)):not(:has(.gp-home-support-band)),
html.has-cms-layout-header .home-cms-body .home-cms-section--category_carousel + .home-cms-section--html_block:not(:has(.cta-section)):not(:has(.gp-home-support-band)){
  margin-top:0 !important;
  margin-bottom:25px !important;
  padding-top:0;
  padding-bottom:clamp(2.5rem, 4vw, 3.5rem);
  padding-inline:max(1.5rem, calc(50vw - 600px)) !important;
  background:linear-gradient(135deg, #fdfbfb 0%, #ebedee 100%);
  width:100vw !important;
  max-width:100vw !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
  box-sizing:border-box;
}
html.has-cms-layout-header .home-cms-body .home-cms-section--category_grid + .home-cms-section--html_block .text-center-mt,
html.has-cms-layout-header .home-cms-body .home-cms-section--category_carousel + .home-cms-section--html_block .text-center-mt{
  margin-top:0;
}
/* Green CTA section — flush below gradient band */
html.has-cms-layout-header .home-cms-body .home-cms-section--category_grid + .home-cms-section--html_block + .home-cms-section--html_block,
html.has-cms-layout-header .home-cms-body .home-cms-section--category_carousel + .home-cms-section--html_block + .home-cms-section--html_block{
  margin-top:0 !important;
}
html.has-cms-layout-header .home-cms-body .home-cms-section--category_grid + .home-cms-section--html_block + .home-cms-section--html_block:has(.cta-section),
html.has-cms-layout-header .home-cms-body .home-cms-section--category_carousel + .home-cms-section--html_block + .home-cms-section--html_block:has(.cta-section){
  padding-top:0 !important;
}
html.has-cms-layout-header .home-cms-body .home-cms-section--category_grid + .home-cms-section--html_block + .home-cms-section--html_block .cta-section,
html.has-cms-layout-header .home-cms-body .home-cms-section--category_carousel + .home-cms-section--html_block + .home-cms-section--html_block .cta-section{
  margin-top:0;
}
.home-cms-section--category_grid .gp-cg-grid,
.home-cms-section--category_carousel .gp-cg-grid{justify-content:start}
.home-cms-section--category_grid .category-grid-section,
.home-cms-section--category_carousel .category-grid-section{width:100%}
.home-cms-body .section--body .section h2.section-title--ruled,
.home-cms-body .section--body .section h2.section-title{
  display:flex;
  width:100%;
  justify-content:center;
  text-align:center;
}
.home-cms-section--html_block + .home-cms-section--html_block{margin-top:5%}
html.has-cms-layout-header .home-cms-body .home-cms-section--html_block + .home-cms-section--html_block:has(+ .home-cms-section--category_carousel),
html.has-cms-layout-header .home-cms-body .home-cms-section--html_block + .home-cms-section--html_block:has(+ .home-cms-section--category_grid){
  margin-top:0;
}

/* Customer service / phone strip below categories */
.home-cms-section--category_grid + .home-cms-section--html_block .gp-home-support-band,
.home-cms-section--category_carousel + .home-cms-section--html_block .gp-home-support-band,
.category-grid-section + .gp-home-support-band,
.home-cms-section--html_block .gp-home-support-band{
  margin:32px auto 0;
  max-width:920px;
  padding:28px 32px;
  text-align:center;
  background:linear-gradient(180deg,#f0f9f8 0%,#ecfdf5 100%);
  border:1px solid #bae6fd;
  border-radius:16px;
  box-shadow:0 8px 24px rgba(15,118,110,.08);
}
.gp-home-support-band p{margin:0 0 8px;font-size:clamp(1rem,2vw,1.125rem);line-height:1.65;color:#0f172a}
.gp-home-support-band p:last-child{margin-bottom:0;color:var(--gp-muted);font-size:.95rem}
.gp-home-support-band a{color:var(--gp-primary);font-weight:700;text-decoration:none}
.gp-home-support-band a:not(.btn):hover{text-decoration:underline;color:var(--gp-primary-light)}
.gp-home-support-band a.btn:hover{text-decoration:none}
