/* Keep Renovlies Vision stable alongside the existing Astra/Elementor stack. */
body.rv-theme {
  margin: 0;
  color: var(--ink);
  background: var(--white);
  font-family: "DM Sans", Arial, sans-serif;
  font-size: 16px;
  line-height: 1.5;
}
body.rv-theme :where(h1,h2,h3,h4,h5,h6) {
  color: var(--ink);
  font-family: Manrope, Arial, sans-serif;
  font-style: normal;
}
body.rv-theme :where(a,a:visited) { color: inherit; }
body.rv-theme .site-header {
  min-height: 92px;
  height: 92px;
  padding: 0 var(--pad);
  color: var(--ink);
  background: #fff;
  font-family: "DM Sans", Arial, sans-serif;
}
body.rv-theme .site-header .logo {
  display: flex;
  flex: 0 0 195px;
  width: 195px;
  height: 66px;
  align-items: center;
  overflow: hidden;
}
body.rv-theme .site-header .logo > a,
body.rv-theme .site-header .logo .custom-logo-link {
  display: flex;
  width: 195px;
  height: 66px;
  align-items: center;
}
body.rv-theme .site-header .logo img,
body.rv-theme .site-header img.custom-logo {
  display: block;
  width: 195px !important;
  max-width: 195px !important;
  height: 58px !important;
  max-height: 58px !important;
  margin: 0;
  object-fit: contain;
  object-position: left center;
}
body.rv-theme .site-header .desktop-nav a,
body.rv-theme .site-header .phone-link,
body.rv-theme .site-header .cart-link { color: var(--ink) !important; }
body.rv-theme .site-header .desktop-nav a { font-family: "DM Sans", Arial, sans-serif; }

body.rv-theme .rv-home .hero,
body.rv-theme .rv-home .hero h1,
body.rv-theme .rv-home .hero h2,
body.rv-theme .rv-home .hero h3 { color: #fff !important; }
body.rv-theme .rv-home .hero h1 {
  font-family: Manrope, Arial, sans-serif !important;
  font-size: clamp(44px,6.5vw,92px) !important;
  font-weight: 750 !important;
  line-height: 1.03 !important;
}
body.rv-theme .rv-home .hero h1 em { color: var(--blush) !important; }
body.rv-theme .rv-home .hero-copy { color: rgba(255,255,255,.78) !important; }
body.rv-theme .rv-home .hero-stats span { color: rgba(255,255,255,.6) !important; }

body.rv-theme .rv-home .section-title,
body.rv-theme .rv-home .rv-included h2,
body.rv-theme .rv-home .rv-details h2,
body.rv-theme .rv-home .rv-plan h2 { color: var(--ink) !important; }
body.rv-theme .rv-home .rv-details > h2 {
  max-width: 760px;
  font-family: Manrope, Arial, sans-serif !important;
  font-size: clamp(30px,3vw,46px) !important;
  font-weight: 750 !important;
  line-height: 1.12 !important;
}
body.rv-theme .rv-home .rv-details summary :where(h2,h3) {
  margin: 0 !important;
  color: var(--ink) !important;
  font-family: Manrope, Arial, sans-serif !important;
  font-size: clamp(18px,1.55vw,23px) !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  letter-spacing: 0 !important;
}
body.rv-theme .rv-home .section-title em { color: var(--wine) !important; }
body.rv-theme .rv-home .package-section,
body.rv-theme .rv-home .package-copy,
body.rv-theme .rv-home .package-copy .section-title { color: #fff !important; }
body.rv-theme .rv-home .package-copy .section-title em { color: var(--blush) !important; }
body.rv-theme .rv-home .package-copy > p:not(.eyebrow) { color: rgba(255,255,255,.78) !important; }
body.rv-theme .rv-home .package-picker { color: var(--ink) !important; background: #fff !important; }
body.rv-theme .rv-home .size-options button {
  color: var(--ink) !important;
  background: var(--paper) !important;
  border-color: var(--line) !important;
}
body.rv-theme .rv-home .size-options button.active {
  color: #fff !important;
  background: var(--wine) !important;
  border-color: var(--wine) !important;
}
body.rv-theme .rv-home .product-card,
body.rv-theme .rv-home .product-card:visited { color: var(--ink) !important; background: #fff !important; }
body.rv-theme .rv-home .product-info h3 { color: var(--ink) !important; }
body.rv-theme .rv-home .product-price .woocommerce-Price-amount { color: var(--ink) !important; }
body.rv-theme .rv-home .rv-cta,
body.rv-theme .rv-home .rv-cta h2 { color: #fff !important; }

body.rv-theme .button,
body.rv-theme .button:visited,
body.rv-theme a.button,
body.rv-theme a.button:visited {
  font-family: "DM Sans", Arial, sans-serif;
  text-decoration: none;
}
body.rv-theme .button.button-wine,
body.rv-theme .button.button-wine:visited,
body.rv-theme .rv-form input[type=submit] {
  color: #fff !important;
  background: var(--wine) !important;
  border-color: var(--wine) !important;
}
body.rv-theme .button.button-wine:hover { background: var(--wine-dark) !important; }
body.rv-theme .text-link,
body.rv-theme .text-link:visited { color: var(--wine) !important; }
body.rv-theme .hero .text-link,
body.rv-theme .hero .text-link:visited { color: #fff !important; }
.rv-arrow {
  display: inline-block;
  width: 1em;
  height: 1em;
  flex: 0 0 auto;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

body.rv-theme .rv-footer,
body.rv-theme .rv-footer :where(h2,h3,h4) { color: var(--ink); }
body.rv-theme .rv-footer a,
body.rv-theme .rv-footer a:visited { color: inherit; }

body.rv-theme .rv-shop .woocommerce-products-header { max-width: 900px; margin-bottom: 48px; }
body.rv-theme .rv-shop .woocommerce-products-header__title.page-title {
  color: var(--ink);
  font-family: Manrope, Arial, sans-serif;
  font-size: clamp(38px,5vw,70px);
  line-height: 1.08;
}
body.rv-theme .rv-shop .term-description { color: var(--muted); font-size: 18px; line-height: 1.75; }
body.rv-theme .rv-category-bottom {
  max-width: 1050px;
  margin: 90px auto 0;
  padding-top: 55px;
  border-top: 1px solid var(--line);
}
body.rv-theme .rv-category-bottom .entry-content { color: var(--muted); }
body.rv-theme .rv-category-bottom :where(h2,h3) { color: var(--ink); }
body.rv-theme .wc-content-below-products {
  width: 100% !important;
  max-width: 1050px;
  margin: 90px auto 0;
  padding-top: 55px;
  border-top: 1px solid var(--line);
  color: var(--muted);
  overflow-wrap: anywhere;
}
body.rv-theme .wc-content-below-products :where(h2,h3) { color: var(--ink); }
body.rv-theme .wc-content-below-products table { width: 100%; border-collapse: collapse; }
body.rv-theme .wc-content-below-products :where(th,td) {
  padding: 12px;
  border: 1px solid var(--line);
  text-align: left;
  vertical-align: top;
}

@media (max-width: 760px) {
  body.rv-theme .site-header { min-height: 78px; height: 78px; padding: 0 16px; }
  body.rv-theme .site-header .logo,
  body.rv-theme .site-header .logo > a,
  body.rv-theme .site-header .logo .custom-logo-link { flex-basis: 165px; width: 165px; height: 56px; }
  body.rv-theme .site-header .logo img,
  body.rv-theme .site-header img.custom-logo { width: 165px !important; max-width: 165px !important; height: 50px !important; max-height: 50px !important; }
  body.rv-theme .rv-home .hero-content {
    width: 100%;
    margin: 0;
    padding: 100px 24px 155px !important;
  }
  body.rv-theme .rv-home .hero-buttons { align-items: flex-start; }
  body.rv-theme .rv-home .hero-buttons .button { max-width: 100%; }
  body.rv-theme .rv-home .hero h1 { font-size: 38px !important; }
  body.rv-theme .rv-category-bottom { margin-top: 55px; padding-top: 38px; }
  body.rv-theme .wc-content-below-products { margin-top: 55px; padding-top: 38px; }
  body.rv-theme .wc-content-below-products table {
    display: block;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}

@media (max-width: 380px) {
  body.rv-theme .rv-home .hero-content { padding-right: 20px !important; padding-left: 20px !important; }
}
