/*
 * Rolling Suds V7 Premium Service Pages
 * Editorial hierarchy layered on top of V6.
 */

body.rsv7-premium-page{
  --rsv7-navy:#072f50;
  --rsv7-blue:#0a5796;
  --rsv7-yellow:#ffc72c;
  --rsv7-ink:#102a3c;
  --rsv7-copy:#60727f;
  --rsv7-line:#dfe7ec;
  --rsv7-soft:#f6f9fb;
  --rsv7-white:#fff;
  --rsv7-shell:min(1180px,calc(100% - 40px));
  --rsv7-prose:760px;
}

/* ---------- Premium canvas ---------- */

body.rsv7-premium-page{
  background:#fff;
}

body.rsv7-premium-page .rsv7-content-section{
  max-width:1180px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Give the page a calm rhythm instead of every section fighting for attention. */
body.rsv7-premium-page .rsv7-content-section:not(.rsv7-hero-section){
  margin-top:0!important;
  margin-bottom:0!important;
}

/* ---------- Hero ---------- */

body.rsv7-premium-page .rsv7-hero-section{
  width:var(--rsv7-shell)!important;
  margin:28px auto 58px!important;
  border-radius:20px!important;
  overflow:hidden!important;
  box-shadow:0 18px 50px rgba(7,47,80,.12)!important;
}

body.rsv7-premium-page .rsv7-hero-section h1{
  max-width:820px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  font-size:clamp(38px,5vw,64px)!important;
  line-height:.98!important;
  letter-spacing:-.045em!important;
}

body.rsv7-premium-page .rsv7-hero-section p{
  max-width:760px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  font-size:16px!important;
  line-height:1.6!important;
}

/* ---------- Editorial sections ---------- */

body.rsv7-premium-page .rsv7-content-section:not(.rsv7-hero-section) .brz-section__content{
  padding-top:54px!important;
  padding-bottom:54px!important;
}

body.rsv7-premium-page .rsv7-content-section:not(.rsv7-hero-section) h2{
  max-width:820px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  text-wrap:balance;
}

body.rsv7-premium-page .rsv7-content-section:not(.rsv7-hero-section) > .brz-section__content{
  border-top:1px solid rgba(223,231,236,.7);
}

/*
 * Avoid the "every section has a new background color" feeling.
 * Most sections become white; only key functional blocks keep a soft/navy treatment.
 */
body.rsv7-premium-page .rsv7-content-section:not(.rsv7-hero-section):not(.rsv7-faq-section){
  background:#fff!important;
}

body.rsv7-premium-page .rsv7-faq-section{
  background:var(--rsv7-soft)!important;
  width:var(--rsv7-shell)!important;
  margin:26px auto 34px!important;
  border-radius:18px!important;
  overflow:hidden!important;
}

/* ---------- Cards ---------- */

body.rsv7-premium-page .rsv7-premium-card,
body.rsv7-premium-page .rsv4-decision-grid article,
body.rsv7-premium-page .brz-tabs__item,
body.rsv7-premium-page .brz-accordion__item{
  border:1px solid var(--rsv7-line)!important;
  border-radius:12px!important;
  box-shadow:none!important;
}

body.rsv7-premium-page .rsv7-premium-card:hover{
  border-color:#c8d6df!important;
  transform:translateY(-1px);
}

/* Tone down arbitrary legacy card shadows. */
body.rsv7-premium-page .brz-shadow,
body.rsv7-premium-page [style*="box-shadow"]{
  --rsv7-shadow-override:none;
}

/* ---------- Images ---------- */

body.rsv7-premium-page .rsv7-content-section img{
  border-radius:14px;
}

body.rsv7-premium-page .rsv7-content-section:not(.rsv7-hero-section) img{
  box-shadow:0 10px 30px rgba(9,48,78,.07);
}

/* ---------- Secondary content disclosure ---------- */

body.rsv7-premium-page.rsv7-js-ready:not(.rsv7-details-open) .rsv7-secondary-section{
  display:none!important;
}

body.rsv7-premium-page .rsv7-more-panel{
  width:var(--rsv7-shell);
  margin:20px auto 38px;
  padding:24px 26px;
  display:grid;
  grid-template-columns:1fr auto;
  gap:30px;
  align-items:center;
  border:1px solid var(--rsv7-line);
  border-radius:16px;
  background:var(--rsv7-soft);
}

body.rsv7-premium-page .rsv7-more-copy>span{
  display:block;
  margin-bottom:5px;
  color:var(--rsv7-blue);
  font-size:9px;
  font-weight:800;
  letter-spacing:.15em;
}

body.rsv7-premium-page .rsv7-more-copy>strong{
  display:block;
  margin-bottom:5px;
  color:var(--rsv7-ink);
  font-size:20px;
  letter-spacing:-.02em;
}

body.rsv7-premium-page .rsv7-more-copy>p{
  margin:0!important;
  max-width:720px;
  color:var(--rsv7-copy)!important;
  font-size:13px!important;
  line-height:1.5!important;
}

body.rsv7-premium-page .rsv7-more-toggle{
  min-width:185px;
  padding:11px 12px 11px 17px!important;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  border:1px solid var(--rsv7-navy)!important;
  border-radius:999px!important;
  background:#fff!important;
  color:var(--rsv7-navy)!important;
  cursor:pointer;
  font-size:11px!important;
  font-weight:800!important;
}

body.rsv7-premium-page .rsv7-more-toggle b{
  display:grid;
  place-items:center;
  min-width:28px;
  height:28px;
  padding:0 7px;
  border-radius:999px;
  background:var(--rsv7-navy);
  color:#fff;
  font-size:10px;
}

body.rsv7-premium-page.rsv7-details-open .rsv7-secondary-section{
  animation:rsv7Reveal .22s ease both;
}

@keyframes rsv7Reveal{
  from{opacity:0;transform:translateY(6px)}
  to{opacity:1;transform:none}
}

/* ---------- V4 commercial modules: retain value, reduce visual weight ---------- */

body.rsv7-premium-page .rsv4-commercial-decision{
  padding:34px!important;
  margin-top:28px!important;
  margin-bottom:14px!important;
}

body.rsv7-premium-page .rsv4-decision-head h2{
  max-width:720px!important;
  margin-left:0!important;
}

body.rsv7-premium-page .rsv4-decision-grid{
  margin:22px 0!important;
}

body.rsv7-premium-page .rsv4-decision-grid article{
  padding-top:19px!important;
  padding-bottom:19px!important;
}

body.rsv7-premium-page .rsv4-multisite{
  padding:34px!important;
  margin-top:14px!important;
  margin-bottom:28px!important;
  box-shadow:none!important;
}

body.rsv7-premium-page .rsv4-multisite h2{
  max-width:560px!important;
  margin-left:0!important;
}

/* If the underlying page already has a polished estimate CTA, don't show another one. */
body.rsv7-premium-page .rsv7-redundant-cta{
  display:none!important;
}

/* Floating call/search utility was visually competing with the page CTAs. */
body.rsv7-premium-page .rsv7-floating-search-hidden{
  display:none!important;
}

/* ---------- Native page CTA ---------- */

body.rsv7-premium-page .rsv7-page-cta-section{
  width:var(--rsv7-shell)!important;
  margin:36px auto 40px!important;
  border-radius:18px!important;
  overflow:hidden!important;
  box-shadow:0 14px 36px rgba(7,47,80,.10)!important;
}

body.rsv7-premium-page .rsv7-page-cta-section h2{
  max-width:820px!important;
}

/* ---------- FAQ ---------- */

body.rsv7-premium-page .rsv7-faq-section .brz-accordion__item{
  background:#fff!important;
  margin-bottom:8px!important;
}

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

body.rsv7-premium-page footer{
  margin-top:18px!important;
}

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

@media(max-width:900px){
  body.rsv7-premium-page{
    --rsv7-shell:calc(100% - 28px);
  }

  body.rsv7-premium-page .rsv7-hero-section{
    margin-top:16px!important;
    margin-bottom:40px!important;
    border-radius:16px!important;
  }

  body.rsv7-premium-page .rsv7-more-panel{
    grid-template-columns:1fr;
    gap:18px;
  }

  body.rsv7-premium-page .rsv7-more-toggle{
    width:100%;
  }
}

@media(max-width:680px){
  body.rsv7-premium-page{
    --rsv7-shell:calc(100% - 20px);
  }

  body.rsv7-premium-page .rsv7-hero-section{
    width:100%!important;
    margin-top:0!important;
    border-radius:0!important;
  }

  body.rsv7-premium-page .rsv7-content-section:not(.rsv7-hero-section) .brz-section__content{
    padding-top:38px!important;
    padding-bottom:38px!important;
  }

  body.rsv7-premium-page .rsv4-commercial-decision,
  body.rsv7-premium-page .rsv4-multisite{
    padding:23px!important;
  }

  body.rsv7-premium-page .rsv7-more-panel{
    padding:20px;
  }
}
