/* 1.7.0 — Shared visual polish. Remove decorative rules, not form/focus boundaries. */
.zenergy-recovery:not(.zr-focused-checkout) { --zr-border: rgba(16,59,54,.10); }
.zenergy-recovery:not(.zr-focused-checkout) .zr-main { border-inline: 0; }
.zenergy-recovery .zr-hero::after { content: none; border: 0; }
.zenergy-recovery .zr-hero__aside { display: none; }
.zenergy-recovery .zr-principles { border: 0; }
.zenergy-recovery .zr-principles__grid { gap: 38px; }
.zenergy-recovery .zr-principles__grid > div { border: 0; padding-inline: 0; }
.zenergy-recovery .zr-arrivals { border-top: 0; }
.zenergy-recovery .zr-guidance__grid { border: 0; gap: 46px; }
.zenergy-recovery .zr-guidance__grid article,
.zenergy-recovery .zr-guidance__grid article + article { padding-inline: 0; border: 0; }
.zenergy-recovery .zr-invitation { border: 0; }
.zenergy-recovery .zr-collection-grid { border: 0; box-shadow: none; }
.zenergy-recovery .zr-header.is-scrolled { border-color: transparent; box-shadow: 0 8px 32px rgba(16,59,54,.035); }
.zenergy-recovery .zr-footer { background: #142e29; }
.zenergy-recovery .zr-footer__grid { gap: 6vw; }
.zenergy-recovery .zr-footer__bottom { border-top-color: rgba(255,255,255,.09); }
.zenergy-recovery .zr-footer a { line-height: 1.8; }
/* Product sections use surface changes and spacing rather than boxed columns. */
.zenergy-recovery .zr-pdp__visual, .zenergy-recovery .zr-product-care { border: 0; }
.single-product.zenergy-recovery .zr-pdp .woocommerce-tabs { border: 0; }
.zenergy-recovery .zr-detail-grid { gap: 30px; border-bottom: 0; }
.zenergy-recovery .zr-detail-group,
.zenergy-recovery .zr-detail-group + .zr-detail-group { border: 0; padding-inline: 0; }
.zenergy-recovery .zr-detail-group li { border: 0; }
.zenergy-recovery .zr-product-description > p { border: 0; }
.zenergy-recovery .zr-pdp .woocommerce-product-details__short-description { border-top: 0; padding-top: 0; }
.zenergy-recovery .zr-pdp .product_meta { border-top-color: #e5e5da; }
/* Cart retains row separators, quantity outlines, error borders, and controls. */
.zr-commerce-page--cart .woocommerce .cart_totals { border: 0; box-shadow: none; }
.zr-commerce-page--cart .woocommerce table.cart { border-inline: 0; }
.zr-commerce-page--cart .cart-totals-section { border: 0; }
/* Information pages: a wider editorial spread, with a readable text column. */
.zr-content-page .zr-page-main { background: #fbfaf7; }
.zr-content-page .zr-page-hero { padding: 76px 0 60px; background: #f0eee7; color: #173e35; border: 0; }
.zr-content-page .zr-page-hero::after { content: none; }
.zr-content-page .zr-page-hero .zr-eyebrow { color: #887247 !important; font-size: 10px !important; margin-bottom: 22px; }
.zr-content-page .zr-page-hero h1 { max-width: 1050px; font: 500 clamp(42px, 4.4vw, 70px)/1.02 var(--zr-serif); letter-spacing: -.035em; overflow-wrap: anywhere; }
.zr-content-page .zr-page-hero__lead { max-width: 720px; margin-top: 24px; color: #677269; font: 400 14px/1.85 var(--zr-sans); }
.zr-content-page .zr-page-shell { display: grid; grid-template-columns: minmax(0, 1000px) minmax(220px, 280px); align-items: start; justify-content: space-between; gap: clamp(40px,6vw,110px); padding-block: 70px 90px; }
.zr-content-page .zr-prose { min-width: 0; color: #535e56; font: 400 15px/1.9 var(--zr-sans); overflow-wrap: anywhere; }
.zr-content-page .zr-prose > :first-child { margin-top: 0; }
.zr-content-page .zr-prose p { margin-bottom: 1.65em; }
.zr-content-page .zr-prose :is(h2,h3) { color: #173e35; font-weight: 500; letter-spacing: -.025em; }
.zr-content-page .zr-prose h2 { font-size: clamp(29px,2.5vw,39px); }
.zr-content-page .zr-prose h3 { font-size: 28px; }
.zr-content-page .zr-prose :is(img,video,iframe) { max-width: 100%; }
.zr-content-page .zr-prose :is(ul,ol) { padding-left: 1.35em; }
.zr-content-page .zr-prose li { padding-left: .2em; margin-bottom: .65em; }
.zr-content-page .zr-prose blockquote { border: 0; padding: 28px 32px; background: #f0efe7; }
.zr-content-page .zr-prose :is(th,td) { border-inline: 0; border-top: 0; border-bottom: 1px solid #e6e8df; }
.zr-content-page .zr-contact-details { gap: 24px; border: 0; background: transparent; }
.zr-content-page .zr-contact-details p { padding: 26px; background: #f0eee6; }
.zr-content-page .zr-prose .wpcf7 { padding: 32px; border: 0; background: #f0eee7; }
.zr-content-page .zr-prose .wpcf7 label { color: #4a5b4d; font: 500 12px/1.7 var(--zr-sans); letter-spacing: .02em; text-transform: none; }
.zr-content-page .zr-prose .wpcf7 :is(input:not([type=submit]),textarea,select) { min-height: 50px; padding: 12px 14px; background: #fff; border: 1px solid #bcc6b9; border-radius: 3px; color: #243f32; font: 400 15px/1.6 var(--zr-sans); }
.zr-content-page .zr-prose .wpcf7 :is(input[type=checkbox],input[type=radio]) { min-height: 0; width: 18px; height: 18px; accent-color: #173e35; }
.zr-content-page .zr-prose .wpcf7 input[type=submit] { min-height: 52px; padding-inline: 26px; background: #173e35; color: #fff; border-radius: 3px; font: 600 11px/1.5 var(--zr-sans); letter-spacing: .08em; }
.zr-page-care { min-width: 0; padding: 32px 28px; background: #eceee5; }
.zr-page-care .zr-eyebrow { margin-bottom: 18px; color: #837047 !important; font-size: 9px !important; }
.zenergy-recovery .zr-page-care h2 { margin: 0 0 18px; color: #173e35; font: 500 31px/1.05 var(--zr-serif); letter-spacing: -.02em; }
.zr-page-care > p:not(.zr-eyebrow) { color: #66705f; font: 400 12px/1.9 var(--zr-sans); }
.zr-page-care nav { display: flex; flex-direction: column; margin-top: 22px; gap: 4px; }
.zr-page-care a { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 44px; color: #38543e; font: 500 11px/1.7 var(--zr-sans); text-decoration: none; }
.zr-page-care a:hover { text-decoration: underline; text-underline-offset: 4px; }
.zr-page-empty { min-height: 300px; padding: 40px; background: #f0eee7; }
.zr-page-empty .zr-button { margin-top: 12px; }
/* Account and service forms: retain every native link, action, nonce and notice. */
.zr-account-page .zr-page-shell { grid-template-columns: minmax(0,1fr); }
.zr-account-page .zr-prose > .woocommerce { min-width: 0; }
.zr-account-page .woocommerce-MyAccount-navigation { width: 24%; padding: 26px; border: 0; background: #eceee5; }
.zr-account-page .woocommerce-MyAccount-navigation ul { margin: 0; padding: 0; list-style: none; }
.zr-account-page .woocommerce-MyAccount-navigation li { margin: 0; padding: 0; border: 0; }
.zr-account-page .woocommerce-MyAccount-navigation li a { display: block; min-height: 46px; padding: 12px 10px; color: #4e6552; font: 500 13px/1.7 var(--zr-sans); text-decoration: none; }
.zr-account-page .woocommerce-MyAccount-navigation li.is-active a { background: #dce3d5; color: #173e35; }
.zr-account-page .woocommerce-MyAccount-content { width: 70%; min-width: 0; }
.zr-account-page .woocommerce :is(form.login,form.register,form.lost_reset_password) { padding: 34px; border: 0; background: #f0eee7; }
.zr-account-page .woocommerce .form-row label { display: block; margin: 0 0 7px; color: #4a5b4d; font: 500 12px/1.7 var(--zr-sans); }
.zr-account-page .woocommerce :is(input.input-text,select,textarea) { width: 100%; min-height: 50px; padding: 12px 14px; border: 1px solid #bdc7b8; background: #fff; border-radius: 3px; font: 400 15px/1.6 var(--zr-sans); }
.zr-account-page .woocommerce :is(input[type=checkbox],input[type=radio]) { width: 18px; height: 18px; accent-color: #173e35; }
.zr-account-page .woocommerce :is(button.button,a.button,input[type=submit]) { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 13px 24px; border: 1px solid #173e35; border-radius: 3px; background: #173e35; color: #fff; font: 600 11px/1.6 var(--zr-sans); text-decoration: none; }
.zr-account-page .woocommerce .button:disabled { opacity: .5; cursor: not-allowed; }
.zr-account-page .woocommerce :is(.woocommerce-message,.woocommerce-info) { padding: 20px 24px; border: 0; background: #eaf0e5; color: #385539; }
.zr-account-page .woocommerce .woocommerce-error { padding: 20px 24px; border-left: 3px solid #984d3c; background: #f8eee8; color: #7e4134; }
.zr-account-page .woocommerce :is(table,th,td) { overflow-wrap: anywhere; }
.zr-content-page :is(a,button,input,select,textarea):focus-visible { outline: 2px solid #887044 !important; outline-offset: 4px; }
@media (max-width: 1100px) {
    .zr-content-page .zr-page-shell { grid-template-columns: minmax(0,1fr) 230px; gap: 36px; }
  .zr-account-page .zr-page-shell { grid-template-columns: minmax(0,1fr); }
  .zr-page-care { padding: 28px 22px; }
  .zenergy-recovery .zr-principles__grid { gap: 25px; }
  .zenergy-recovery .zr-guidance__grid { gap: 28px; }
}
@media (max-width: 800px) {
  .zr-content-page .zr-page-shell { grid-template-columns: minmax(0,1fr); padding-block: 46px 60px; gap: 40px; }
  .zr-content-page .zr-page-hero { padding-block: 52px 42px; }
  .zr-page-care { padding: 28px; }
  .zr-page-care nav { flex-direction: row; flex-wrap: wrap; gap: 4px 28px; }
  .zr-account-page .woocommerce-MyAccount-navigation, .zr-account-page .woocommerce-MyAccount-content { width: 100%; float: none; }
  .zr-account-page .woocommerce-MyAccount-navigation { margin-bottom: 30px; }
  .zr-account-page .woocommerce-MyAccount-navigation ul { display: flex; flex-wrap: wrap; gap: 4px; }
  .zr-account-page .woocommerce :is(.col2-set,.u-columns), .zr-account-page .woocommerce .col2-set > :is(.col-1,.col-2) { display: block; float: none; width: 100%; max-width: none; }
  .zr-account-page .woocommerce .col2-set > .col-2 { margin-top: 30px; }
  .zenergy-recovery .zr-detail-grid { gap: 0; }
}
@media (max-width: 600px) {
    .zenergy-recovery .zr-principles__grid, .zenergy-recovery .zr-guidance__grid { gap: 0; }
  .zr-content-page .zr-page-hero h1 { font-size: 43px; }
  .zr-content-page .zr-prose { font-size: 14px; }
  .zr-content-page .zr-prose .wpcf7, .zr-account-page .woocommerce :is(form.login,form.register,form.lost_reset_password), .zr-page-empty { padding: 24px 20px; }
  .zr-content-page .zr-prose .wpcf7 :is(input:not([type=submit]),textarea,select), .zr-account-page .woocommerce :is(input.input-text,select,textarea) { font-size: 16px; }
  .zenergy-recovery .zr-footer__grid { gap: 40px 24px; }
}
