
/*
 * Rolling Suds V6 Design System
 * Conservative global layer: no URL/content structure changes.
 */

body.rsv6-design-system{
  --rs-navy:#082f4f;
  --rs-blue:#0a5796;
  --rs-blue-dark:#063f70;
  --rs-yellow:#ffc72c;
  --rs-text:#102b3d;
  --rs-muted:#5f7280;
  --rs-line:#dce5eb;
  --rs-soft:#f5f8fa;
  --rs-white:#ffffff;
  --rs-radius:14px;
  --rs-radius-lg:18px;
  --rs-shadow:0 8px 24px rgba(12,44,66,.07);
  --rs-shell:min(1180px,calc(100% - 40px));
  color:var(--rs-text);
}

/* ---------- Overall rhythm ---------- */

body.rsv6-design-system .brz-container,
body.rsv6-design-system .brz-container__wrap,
body.rsv6-design-system .rsv1-breadcrumbs,
body.rsv6-design-system .rsv4-commercial-decision,
body.rsv6-design-system .rsv4-multisite,
body.rsv6-design-system .rsv4-commercial-cta,
body.rsv6-design-system .rsv3-authority-block,
body.rsv6-design-system .rsv6-directory{
  max-width:1180px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

body.rsv6-design-system .brz-section__content{
  padding-top:64px!important;
  padding-bottom:64px!important;
}

/* Keep top/header and footer regions from becoming overly tall. */
body.rsv6-design-system header .brz-section__content,
body.rsv6-design-system footer .brz-section__content{
  padding-top:0!important;
  padding-bottom:0!important;
}

/* ---------- Typography ---------- */

body.rsv6-design-system .brz-rich-text h1,
body.rsv6-design-system h1:not(.wp-heading-inline){
  letter-spacing:-.035em!important;
  line-height:1.02!important;
}

body.rsv6-design-system .brz-rich-text h2,
body.rsv6-design-system .rsv4-decision-head h2,
body.rsv6-design-system .rsv4-multisite h2,
body.rsv6-design-system .rsv4-commercial-cta h2,
body.rsv6-design-system .rsv3-authority-head h2,
body.rsv6-design-system .rsv6-directory h2{
  font-size:clamp(30px,3.2vw,44px)!important;
  line-height:1.08!important;
  letter-spacing:-.028em!important;
  font-weight:700!important;
  color:var(--rs-navy)!important;
}

body.rsv6-design-system .brz-rich-text h3,
body.rsv6-design-system h3{
  line-height:1.16!important;
  letter-spacing:-.018em!important;
  color:var(--rs-text)!important;
}

body.rsv6-design-system .brz-rich-text p,
body.rsv6-design-system .brz-rich-text li{
  line-height:1.62!important;
}

body.rsv6-design-system .brz-rich-text p{
  color:var(--rs-muted);
}

body.rsv6-design-system .brz-rich-text a:not(.brz-btn){
  text-underline-offset:3px;
  text-decoration-thickness:1px;
}

/* ---------- Buttons ---------- */

body.rsv6-design-system .brz-btn,
body.rsv6-design-system a[class*="button"],
body.rsv6-design-system .wp-element-button,
body.rsv6-design-system button:not(.components-button):not(.wp-block-navigation__responsive-container-open){
  border-radius:999px!important;
  font-weight:700!important;
  letter-spacing:0!important;
  box-shadow:none!important;
  transition:transform .15s ease,box-shadow .15s ease,background-color .15s ease!important;
}

body.rsv6-design-system .brz-btn:hover,
body.rsv6-design-system .wp-element-button:hover{
  transform:translateY(-1px);
  box-shadow:0 6px 18px rgba(8,47,79,.12)!important;
}

/* ---------- Form controls ---------- */

body.rsv6-design-system input[type="text"],
body.rsv6-design-system input[type="email"],
body.rsv6-design-system input[type="tel"],
body.rsv6-design-system input[type="url"],
body.rsv6-design-system input[type="number"],
body.rsv6-design-system select,
body.rsv6-design-system textarea{
  border:1px solid var(--rs-line)!important;
  border-radius:10px!important;
  box-shadow:none!important;
  min-height:46px;
}

body.rsv6-design-system textarea{
  min-height:120px;
}

/* ---------- Brizy cards / columns ---------- */

/* Reduce the collection of unrelated shadows/radii across legacy pages. */
body.rsv6-design-system .brz-column__items{
  box-shadow:none!important;
}

body.rsv6-design-system .brz-columns .brz-bg{
  border-radius:var(--rs-radius)!important;
}

body.rsv6-design-system .brz-tabs__nav,
body.rsv6-design-system .brz-tabs__item,
body.rsv6-design-system .brz-accordion__item{
  border-radius:12px!important;
  box-shadow:none!important;
}

body.rsv6-design-system .brz-accordion__item{
  border-color:var(--rs-line)!important;
}

/* ---------- Our earlier Rolling Suds modules ---------- */

body.rsv6-design-system .rsv1-proof,
body.rsv6-design-system .rsv1-related,
body.rsv6-design-system .rsv2-link-graph,
body.rsv6-design-system .rsv3-authority-block,
body.rsv6-design-system .rsv4-commercial-decision,
body.rsv6-design-system .rsv4-commercial-cta,
body.rsv6-design-system .rsv6-directory{
  border-radius:var(--rs-radius-lg)!important;
  box-shadow:none!important;
  border:1px solid var(--rs-line)!important;
}

body.rsv6-design-system .rsv1-related,
body.rsv6-design-system .rsv2-link-graph,
body.rsv6-design-system .rsv3-authority-block,
body.rsv6-design-system .rsv4-commercial-decision,
body.rsv6-design-system .rsv4-commercial-cta,
body.rsv6-design-system .rsv6-directory{
  background:var(--rs-soft)!important;
}

body.rsv6-design-system .rsv1-related-grid>a,
body.rsv6-design-system .rsv2-link-grid>a,
body.rsv6-design-system .rsv3-authority-grid>a,
body.rsv6-design-system .rsv4-decision-grid article,
body.rsv6-design-system .rsv6-directory-grid>a{
  border:1px solid var(--rs-line)!important;
  border-radius:12px!important;
  box-shadow:none!important;
  background:var(--rs-white)!important;
}

/*
 * V4 added a second nav + trust strip ABOVE an already complete hero.
 * Hide those redundancies; the same capabilities remain in the hero
 * and in the standardized lower commercial modules.
 */
body.rsv6-design-system .rsv4-commercial-nav,
body.rsv6-design-system .rsv4-procurement-strip{
  display:none!important;
}

/* V4: convert cream/new visual language back into core Rolling Suds system. */
body.rsv6-design-system .rsv4-commercial-decision{
  padding:42px!important;
  margin-top:48px!important;
  margin-bottom:18px!important;
}

body.rsv6-design-system .rsv4-decision-grid{
  gap:12px!important;
}

body.rsv6-design-system .rsv4-decision-grid article{
  padding:24px 24px 24px 60px!important;
}

body.rsv6-design-system .rsv4-audience{
  border-top:1px solid var(--rs-line)!important;
}

body.rsv6-design-system .rsv4-multisite{
  padding:42px!important;
  margin-top:18px!important;
  margin-bottom:18px!important;
  border-radius:var(--rs-radius-lg)!important;
  background:var(--rs-navy)!important;
  border:1px solid var(--rs-navy)!important;
}

body.rsv6-design-system .rsv4-multisite h2{
  color:var(--rs-white)!important;
}

body.rsv6-design-system .rsv4-commercial-cta{
  padding:36px!important;
  margin-top:18px!important;
  margin-bottom:48px!important;
  background:var(--rs-white)!important;
}

body.rsv6-design-system .rsv4-primary{
  background:var(--rs-yellow)!important;
  color:var(--rs-navy)!important;
}

body.rsv6-design-system .rsv4-secondary{
  color:var(--rs-navy)!important;
  border-color:var(--rs-navy)!important;
}

/* Remove cream/orange personality from V4 eyebrow labels. */
body.rsv6-design-system .rsv4-eyebrow,
body.rsv6-design-system .rsv3-authority-head>span,
body.rsv6-design-system .rsv2-kicker,
body.rsv6-design-system .rsv1-eyebrow,
body.rsv6-design-system .rsv6-directory-head>p{
  color:var(--rs-blue)!important;
  font-size:10px!important;
  letter-spacing:.14em!important;
  font-weight:800!important;
}

/* ---------- Standardized service directory ---------- */

body.rsv6-design-system .rsv6-directory{
  padding:38px;
  margin-top:18px!important;
  margin-bottom:52px!important;
}

body.rsv6-design-system .rsv6-directory-head{
  max-width:720px;
  margin-bottom:24px;
}

body.rsv6-design-system .rsv6-directory-head>p{
  margin:0 0 8px!important;
}

body.rsv6-design-system .rsv6-directory-head h2{
  margin:0 0 9px!important;
}

body.rsv6-design-system .rsv6-directory-head>span{
  display:block;
  color:var(--rs-muted);
  line-height:1.5;
}

body.rsv6-design-system .rsv6-directory-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
}

body.rsv6-design-system .rsv6-directory-grid>a{
  display:grid;
  grid-template-columns:1fr auto;
  grid-template-rows:auto auto;
  gap:3px 18px;
  align-items:center;
  padding:16px 17px;
  color:var(--rs-text)!important;
  text-decoration:none!important;
}

body.rsv6-design-system .rsv6-directory-grid strong{
  grid-column:1;
  grid-row:1;
  font-size:13px;
}

body.rsv6-design-system .rsv6-directory-grid span{
  grid-column:1;
  grid-row:2;
  font-size:10px;
  color:var(--rs-muted);
}

body.rsv6-design-system .rsv6-directory-grid b{
  grid-column:2;
  grid-row:1/3;
  color:var(--rs-blue);
}

/* ---------- Footer ---------- */

body.rsv6-design-system footer{
  margin-top:0!important;
}

/* ---------- Mobile ---------- */

@media(max-width:900px){
  body.rsv6-design-system .brz-section__content{
    padding-top:48px!important;
    padding-bottom:48px!important;
  }

  body.rsv6-design-system .rsv4-commercial-decision,
  body.rsv6-design-system .rsv4-multisite,
  body.rsv6-design-system .rsv4-commercial-cta,
  body.rsv6-design-system .rsv6-directory{
    width:calc(100% - 28px)!important;
    padding:28px!important;
  }
}

@media(max-width:680px){
  body.rsv6-design-system{
    --rs-shell:calc(100% - 28px);
  }

  body.rsv6-design-system .brz-section__content{
    padding-top:38px!important;
    padding-bottom:38px!important;
  }

  body.rsv6-design-system .rsv6-directory-grid{
    grid-template-columns:1fr;
  }

  body.rsv6-design-system .rsv4-commercial-decision,
  body.rsv6-design-system .rsv4-multisite,
  body.rsv6-design-system .rsv4-commercial-cta,
  body.rsv6-design-system .rsv6-directory{
    width:calc(100% - 20px)!important;
    padding:22px!important;
    border-radius:14px!important;
  }
}
