/**
 * Canevi storefront shell ? shared chrome + desktop page scale.
 * Desktop ?900: same author zoom as home (2304px) so PDP/shop match home density.
 */

html.canevi-site-page {
  --announce-bg: #f3e0ea;
  --page-bg: #f2f2f0;
  --header-bg: #f2f2f0;
  --canevi-sat: env(safe-area-inset-top, 0px);
  --canevi-sticky-h: 4.25rem;
}

/* Same scale model as homepage — authored for 2304px */
@media (min-width: 900px) {
  html.canevi-site-page {
    zoom: calc(100vw / 2304px);
  }

  /*
   * Cart + checkout: page at zoom 1 so forms/totals stay readable.
   * Restore catalogue density only for shared chrome (header / newsletter / footer).
   */
  html.canevi-site-page.canevi-cart-page,
  html.canevi-site-page.canevi-checkout-page {
    zoom: 1;
  }

  html.canevi-site-page.canevi-cart-page .canevi-chrome,
  html.canevi-site-page.canevi-checkout-page .canevi-chrome,
  html.canevi-site-page.canevi-cart-page .canevi-site-closing,
  html.canevi-site-page.canevi-checkout-page .canevi-site-closing {
    zoom: calc(100vw / 2304px);
    width: 2304px;
    max-width: none;
    box-sizing: border-box;
  }

  /* Sticky offset must match the scaled header, not full-size rem */
  html.canevi-site-page.canevi-cart-page body.canevi-site-page:not(.canevi-home-page),
  html.canevi-site-page.canevi-checkout-page body.canevi-site-page:not(.canevi-home-page) {
    padding-top: calc((var(--canevi-sticky-h) + var(--canevi-sat)) * 100vw / 2304px);
  }
}

@supports not (zoom: 1) {
  @media (min-width: 900px) {
    html.canevi-site-page {
      zoom: normal;
    }
  }
}

body.canevi-site-page {
  background-color: var(--page-bg, #f2f2f0);
  color: var(--text, #171717);
  font-family: var(--font-family, "Manrope", system-ui, sans-serif);
}

/*
 * Desktop only (?900): hide hamburger; kill Astra link/icon blue (#046bd2).
 * Mobile untouched ? no color !important outside this query.
 */
@media (min-width: 900px) {
  html.canevi-site-page,
  body.canevi-site-page {
    accent-color: var(--brand, #c1608d);
    caret-color: var(--brand, #c1608d);
  }

  html.canevi-site-page ::selection,
  body.canevi-site-page ::selection {
    background: var(--brand-soft, #f3e0ea);
    color: var(--brand-dark, #8e3d66);
  }

  html.canevi-site-page ::-moz-selection,
  body.canevi-site-page ::-moz-selection {
    background: var(--brand-soft, #f3e0ea);
    color: var(--brand-dark, #8e3d66);
  }

  /* Reinstate desktop menu hide (beats late .canevi-icon-btn { display }) */
  body.canevi-site-page .canevi-chrome .canevi-header__menu-btn {
    display: none !important;
  }

  /* Nav links ? never Astra global blue on hover/focus */
  body.canevi-site-page .canevi-chrome a.canevi-header__link,
  body.canevi-site-page .canevi-chrome a.canevi-header__link:visited,
  body.canevi-site-page .canevi-chrome button.canevi-header__link {
    color: var(--text-muted, #6d6865) !important;
  }

  body.canevi-site-page .canevi-chrome a.canevi-header__link:hover,
  body.canevi-site-page .canevi-chrome a.canevi-header__link:focus,
  body.canevi-site-page .canevi-chrome a.canevi-header__link:focus-visible,
  body.canevi-site-page .canevi-chrome a.canevi-header__link:active,
  body.canevi-site-page .canevi-chrome button.canevi-header__link:hover,
  body.canevi-site-page .canevi-chrome button.canevi-header__link:focus,
  body.canevi-site-page .canevi-chrome button.canevi-header__link:focus-visible,
  body.canevi-site-page .canevi-chrome button.canevi-header__link:active,
  body.canevi-site-page .canevi-chrome button.canevi-header__link[aria-expanded="true"] {
    color: var(--text, #171717) !important;
    outline: none;
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;
  }

  body.canevi-home-page .canevi-chrome .canevi-header:not(.is-solid) a.canevi-header__link,
  body.canevi-home-page .canevi-chrome .canevi-header:not(.is-solid) a.canevi-header__link:visited,
  body.canevi-home-page .canevi-chrome .canevi-header:not(.is-solid) a.canevi-header__link:hover,
  body.canevi-home-page .canevi-chrome .canevi-header:not(.is-solid) a.canevi-header__link:focus,
  body.canevi-home-page .canevi-chrome .canevi-header:not(.is-solid) a.canevi-header__link:focus-visible,
  body.canevi-home-page .canevi-chrome .canevi-header:not(.is-solid) a.canevi-header__link:active,
  body.canevi-home-page .canevi-chrome .canevi-header:not(.is-solid) button.canevi-header__link,
  body.canevi-home-page .canevi-chrome .canevi-header:not(.is-solid) button.canevi-header__link:hover,
  body.canevi-home-page .canevi-chrome .canevi-header:not(.is-solid) button.canevi-header__link:focus,
  body.canevi-home-page .canevi-chrome .canevi-header:not(.is-solid) button.canevi-header__link:focus-visible,
  body.canevi-home-page .canevi-chrome .canevi-header:not(.is-solid) button.canevi-header__link:active,
  body.canevi-home-page .canevi-chrome .canevi-header:not(.is-solid) button.canevi-header__link[aria-expanded="true"] {
    color: var(--text-inverse, #fff) !important;
    background: transparent !important;
    background-color: transparent !important;
  }

  /* Header icons ? never Astra blue bg (#045cb4) on hover/focus/open */
  body.canevi-site-page .canevi-chrome .canevi-icon-btn,
  body.canevi-site-page .canevi-chrome .canevi-icon-btn:hover,
  body.canevi-site-page .canevi-chrome .canevi-icon-btn:focus,
  body.canevi-site-page .canevi-chrome .canevi-icon-btn:focus-visible,
  body.canevi-site-page .canevi-chrome .canevi-icon-btn:active,
  body.canevi-site-page .canevi-chrome .canevi-icon-btn[aria-expanded="true"],
  body.canevi-site-page .canevi-chrome button.canevi-icon-btn:hover,
  body.canevi-site-page .canevi-chrome button.canevi-icon-btn:focus,
  body.canevi-site-page .canevi-chrome button.canevi-icon-btn:focus-visible,
  body.canevi-site-page .canevi-chrome button.canevi-icon-btn:active,
  body.canevi-site-page .canevi-chrome button.canevi-icon-btn[aria-expanded="true"] {
    color: var(--text, #171717) !important;
    background: transparent !important;
    background-color: transparent !important;
    border-color: transparent !important;
    outline: none !important;
    box-shadow: none !important;
    -webkit-tap-highlight-color: transparent;
  }

  body.canevi-site-page .canevi-chrome .canevi-icon-btn:hover,
  body.canevi-site-page .canevi-chrome .canevi-icon-btn[aria-expanded="true"] {
    background: var(--bg-soft, #f2f2f0) !important;
    background-color: var(--bg-soft, #f2f2f0) !important;
  }

  body.canevi-home-page .canevi-chrome .canevi-header:not(.is-solid) .canevi-icon-btn,
  body.canevi-home-page .canevi-chrome .canevi-header:not(.is-solid) .canevi-icon-btn:hover,
  body.canevi-home-page .canevi-chrome .canevi-header:not(.is-solid) .canevi-icon-btn:focus,
  body.canevi-home-page .canevi-chrome .canevi-header:not(.is-solid) .canevi-icon-btn:focus-visible,
  body.canevi-home-page .canevi-chrome .canevi-header:not(.is-solid) .canevi-icon-btn:active,
  body.canevi-home-page .canevi-chrome .canevi-header:not(.is-solid) .canevi-icon-btn[aria-expanded="true"],
  body.canevi-home-page .canevi-chrome .canevi-header:not(.is-solid) button.canevi-icon-btn:hover,
  body.canevi-home-page .canevi-chrome .canevi-header:not(.is-solid) button.canevi-icon-btn:focus,
  body.canevi-home-page .canevi-chrome .canevi-header:not(.is-solid) button.canevi-icon-btn:focus-visible,
  body.canevi-home-page .canevi-chrome .canevi-header:not(.is-solid) button.canevi-icon-btn:active,
  body.canevi-home-page .canevi-chrome .canevi-header:not(.is-solid) button.canevi-icon-btn[aria-expanded="true"] {
    color: var(--text-inverse, #fff) !important;
    background: transparent !important;
    background-color: transparent !important;
    border-color: transparent !important;
  }

  body.canevi-site-page .canevi-chrome .canevi-icon-btn svg,
  body.canevi-site-page .canevi-chrome .canevi-icon-btn .canevi-icon,
  body.canevi-site-page .canevi-chrome .canevi-icon-btn [stroke],
  body.canevi-site-page .canevi-chrome .canevi-icon-btn:hover svg,
  body.canevi-site-page .canevi-chrome .canevi-icon-btn:focus svg,
  body.canevi-site-page .canevi-chrome .canevi-icon-btn:focus-visible svg,
  body.canevi-site-page .canevi-chrome .canevi-icon-btn:active svg,
  body.canevi-site-page .canevi-chrome .canevi-icon-btn[aria-expanded="true"] svg,
  body.canevi-site-page .canevi-chrome .canevi-icon-btn:hover .canevi-icon,
  body.canevi-site-page .canevi-chrome .canevi-icon-btn:focus .canevi-icon,
  body.canevi-site-page .canevi-chrome .canevi-icon-btn:focus-visible .canevi-icon,
  body.canevi-site-page .canevi-chrome .canevi-icon-btn:active .canevi-icon,
  body.canevi-site-page .canevi-chrome .canevi-icon-btn[aria-expanded="true"] .canevi-icon,
  body.canevi-site-page .canevi-chrome .canevi-icon-btn:hover [stroke],
  body.canevi-site-page .canevi-chrome .canevi-icon-btn:focus [stroke],
  body.canevi-site-page .canevi-chrome .canevi-icon-btn:focus-visible [stroke],
  body.canevi-site-page .canevi-chrome .canevi-icon-btn:active [stroke],
  body.canevi-site-page .canevi-chrome .canevi-icon-btn[aria-expanded="true"] [stroke] {
    color: inherit !important;
    stroke: currentColor !important;
    fill: none !important;
  }

  body.canevi-site-page .canevi-chrome .canevi-icon-btn:focus-visible {
    outline: 2px solid var(--brand-dark, #8e3d66);
    outline-offset: 2px;
  }
}

/* Mobile: no pill / glow on header icons (hover sticks after tap on touch) */
@media (max-width: 899px) {
  body.canevi-site-page .canevi-chrome .canevi-icon-btn,
  body.canevi-site-page .canevi-chrome .canevi-icon-btn:hover,
  body.canevi-site-page .canevi-chrome .canevi-icon-btn:focus,
  body.canevi-site-page .canevi-chrome .canevi-icon-btn:focus-visible,
  body.canevi-site-page .canevi-chrome .canevi-icon-btn:active,
  body.canevi-site-page .canevi-chrome .canevi-icon-btn[aria-expanded="true"],
  body.canevi-site-page .canevi-chrome button.canevi-icon-btn,
  body.canevi-site-page .canevi-chrome button.canevi-icon-btn:hover,
  body.canevi-site-page .canevi-chrome button.canevi-icon-btn:focus,
  body.canevi-site-page .canevi-chrome button.canevi-icon-btn:focus-visible,
  body.canevi-site-page .canevi-chrome button.canevi-icon-btn:active,
  body.canevi-site-page .canevi-chrome button.canevi-icon-btn[aria-expanded="true"],
  body.canevi-site-page .canevi-chrome .canevi-header__menu-btn,
  body.canevi-site-page .canevi-chrome .canevi-header__menu-btn:hover,
  body.canevi-site-page .canevi-chrome .canevi-header__menu-btn:focus,
  body.canevi-site-page .canevi-chrome .canevi-header__menu-btn:focus-visible,
  body.canevi-site-page .canevi-chrome .canevi-header__menu-btn:active,
  body.canevi-site-page .canevi-chrome .canevi-header__menu-btn[aria-expanded="true"] {
    outline: none !important;
    outline-offset: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    background-color: transparent !important;
    border-color: transparent !important;
    -webkit-tap-highlight-color: transparent !important;
  }

  /* Keep stroke color ? do not flip to brand-dark on sticky :hover */
  body.canevi-site-page .canevi-chrome .canevi-icon-btn:hover,
  body.canevi-site-page .canevi-chrome .canevi-icon-btn:focus,
  body.canevi-site-page .canevi-chrome .canevi-icon-btn:focus-visible,
  body.canevi-site-page .canevi-chrome .canevi-icon-btn:active,
  body.canevi-site-page .canevi-chrome .canevi-icon-btn[aria-expanded="true"] {
    color: inherit !important;
  }
}

/* ?? Non-home: fixed solid header + content offset ?? */
body.canevi-site-page:not(.canevi-home-page) {
  padding-top: calc(var(--canevi-sticky-h) + var(--canevi-sat));
}

/* Logo: keep mobile size until desktop zoom breakpoint (avoid jump at 700?899) */
@media (max-width: 899px) {
  body.canevi-site-page .canevi-chrome .canevi-logo__img {
    max-width: min(32vw, 5.8rem) !important;
    height: auto !important;
  }

  body.canevi-site-page .canevi-chrome .canevi-header__bar {
    min-height: 52px;
  }
}

body.canevi-site-page:not(.canevi-home-page) .canevi-chrome {
  position: relative;
  z-index: 10050;
}

body.canevi-site-page:not(.canevi-home-page) .canevi-chrome .canevi-header {
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  z-index: 10055;
  background: var(--header-bg, #f2f2f0);
  border-bottom: 1px solid var(--border, #e4ded9);
  padding-top: constant(safe-area-inset-top);
  padding-top: env(safe-area-inset-top, 0px);
  box-shadow: 0 1px 0 rgba(23, 23, 23, 0.04);
}

body.canevi-site-page:not(.canevi-home-page) .canevi-chrome .canevi-header.is-solid {
  background: var(--header-bg, #f2f2f0);
}

/* Astra chrome fallback (filters strip markup; CSS covers residual HFB) */
body.canevi-site-page #masthead,
body.canevi-site-page .ast-above-header,
body.canevi-site-page .ast-main-header-wrap,
body.canevi-site-page .ast-mobile-header-wrap,
body.canevi-site-page #colophon,
body.canevi-site-page .site-footer,
body.canevi-site-page footer.site-footer {
  display: none !important;
}

/* Closing block (newsletter + footer) on non-home */
.canevi-site-closing {
  margin-top: clamp(2rem, 5vw, 3.5rem);
}

.canevi-site-closing .canevi-home-footer {
  background: var(--header-bg, #f2f2f0);
}

/* Soft Woo / content polish ? individual pages tune later */
body.canevi-site-page:not(.canevi-home-page) .site-content,
body.canevi-site-page:not(.canevi-home-page) .ast-container,
body.canevi-site-page:not(.canevi-home-page) .woocommerce {
  font-family: var(--font-family, "Manrope", system-ui, sans-serif);
  color: var(--text, #171717);
}

/*
 * Desktop non-home: match homepage width model.
 * Home authors full 2304 + zoom; Astra defaults to ~1200px and leaves huge side gutters.
 */
@media (min-width: 900px) {
  body.canevi-site-page:not(.canevi-home-page) {
    --ast-normal-container-width: 100%;
    --ast-container-width: 100%;
    --wp--custom--ast-content-width-size: 100%;
    --wp--custom--ast-wide-width-size: 100%;
    --canevi-desk-pad: 32px;
  }

  body.canevi-site-page:not(.canevi-home-page) .ast-container,
  body.canevi-site-page:not(.canevi-home-page) .ast-woocommerce-container,
  body.canevi-site-page:not(.canevi-home-page) #content > .ast-container,
  body.canevi-site-page:not(.canevi-home-page) .site-content > .ast-container,
  body.canevi-site-page:not(.canevi-home-page) .site-content .ast-container {
    max-width: none !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: var(--canevi-desk-pad, 32px) !important;
    padding-right: var(--canevi-desk-pad, 32px) !important;
    box-sizing: border-box;
  }

  body.canevi-site-page:not(.canevi-home-page) .canevi-chrome .canevi-container,
  body.canevi-site-page:not(.canevi-home-page) .canevi-site-closing .canevi-container {
    max-width: none !important;
    width: 100%;
    margin-inline: 0;
    padding-inline: var(--canevi-desk-pad, 32px);
    box-sizing: border-box;
  }

  body.canevi-site-page:not(.canevi-home-page) #page,
  body.canevi-site-page:not(.canevi-home-page) .site,
  body.canevi-site-page:not(.canevi-home-page) .site-content {
    max-width: none !important;
    width: 100%;
  }

  /*
   * Chrome type/size parity with homepage (home.css used to scope these to
   * .canevi-home-page only ? PDP looked smaller for logo, nav, icons).
   */
  body.canevi-site-page .canevi-chrome .canevi-header__bar {
    width: 100% !important;
    max-width: none !important;
    margin-inline: 0 !important;
    padding-inline: 32px !important;
    box-sizing: border-box !important;
  }

  body.canevi-site-page .canevi-chrome .canevi-header__nav {
    margin-left: 0 !important;
    gap: 1.35rem !important;
  }

  body.canevi-site-page .canevi-chrome .canevi-header__link,
  body.canevi-site-page .canevi-chrome a.canevi-header__link,
  body.canevi-site-page .canevi-chrome button.canevi-header__link,
  body.canevi-site-page .canevi-chrome button.canevi-header__link--btn {
    font-size: 0.9375rem !important;
    letter-spacing: 0.06em !important;
  }

  body.canevi-site-page .canevi-chrome .canevi-header__right {
    gap: 0.35rem !important;
  }

  body.canevi-site-page .canevi-chrome .canevi-header__right .canevi-icon-btn,
  body.canevi-site-page .canevi-chrome .canevi-header-search__trigger {
    width: 48px !important;
    height: 48px !important;
  }

  body.canevi-site-page .canevi-chrome .canevi-header__right .canevi-icon-btn .canevi-icon,
  body.canevi-site-page .canevi-chrome .canevi-header-search__trigger .canevi-icon {
    width: 24px !important;
    height: 24px !important;
  }

  body.canevi-site-page .canevi-chrome .canevi-cart-count,
  body.canevi-site-page .canevi-chrome .canevi-cart-count__num {
    min-width: 1.15rem !important;
    height: 1.15rem !important;
    font-size: 0.6875rem !important;
  }

  body.canevi-site-page .canevi-chrome .canevi-logo__img {
    height: var(--logo-h-lg, 44.8px) !important;
    max-width: var(--logo-max-w-lg, 176px) !important;
    width: auto !important;
  }

  /*
   * Shared chrome type (announce / newsletter / footer) ? same author scale
   * as home rails (@ 2304 + html zoom). Nav already at 15px.
   */
  body.canevi-site-page {
    --canevi-ui-scale: 1;
    --canevi-fs-section: calc(36px * var(--canevi-ui-scale));
    --canevi-fs-more: calc(18.67px * var(--canevi-ui-scale));
    --canevi-fs-ref: calc(18.5px * var(--canevi-ui-scale));
    --canevi-fs-offer: calc(14px * var(--canevi-ui-scale));
    --canevi-fs-cat: calc(15px * var(--canevi-ui-scale));
    --canevi-fs-campaign-sub: calc(18px * var(--canevi-ui-scale));
  }

  body.canevi-site-page .canevi-announce,
  body.canevi-site-page .canevi-announce__item,
  body.canevi-site-page .canevi-announce__slide,
  body.canevi-site-page .canevi-announce__slide span {
    font-size: var(--canevi-fs-cat) !important;
  }

  body.canevi-site-page .canevi-club__title {
    font-size: var(--canevi-fs-section) !important;
  }

  body.canevi-site-page .canevi-club__sub {
    font-size: var(--canevi-fs-campaign-sub) !important;
  }

  body.canevi-site-page .canevi-club__submit {
    font-size: var(--canevi-fs-cat) !important;
  }

  body.canevi-site-page .canevi-club__legal {
    font-size: var(--canevi-fs-offer) !important;
  }

  body.canevi-site-page .canevi-club__status {
    font-size: var(--canevi-fs-ref) !important;
  }

  body.canevi-site-page .canevi-home-footer__col-title,
  body.canevi-site-page .canevi-home-footer__list a {
    font-size: var(--canevi-fs-ref) !important;
  }

  /* Same rhythm as home (.canevi-home line-body) ? Astra/Woo inflate lh on other pages */
  body.canevi-site-page .canevi-home-footer__list {
    gap: 0.45rem !important;
  }

  body.canevi-site-page .canevi-home-footer__list li {
    margin: 0 !important;
    padding: 0 !important;
    line-height: var(--line-body, 1.45) !important;
  }

  /* Home color: brand-dark (was .canevi-home a) */
  body.canevi-site-page .canevi-home-footer__list a {
    color: var(--brand-dark, #8e3d66) !important;
    line-height: var(--line-body, 1.45) !important;
  }

  body.canevi-site-page .canevi-home-footer__list a:hover,
  body.canevi-site-page .canevi-home-footer__list a:focus-visible {
    color: var(--brand, #c1608d) !important;
  }

  body.canevi-site-page .canevi-home-footer__block-title {
    font-size: var(--canevi-fs-cat) !important;
  }

  body.canevi-site-page .canevi-home-footer__note {
    font-size: var(--canevi-fs-cat) !important;
  }

  body.canevi-site-page .canevi-home-footer__trademark {
    font-size: var(--canevi-fs-offer) !important;
    max-width: none !important;
    white-space: nowrap;
  }
}

@supports not (zoom: 1) {
  @media (min-width: 900px) {
    body.canevi-site-page {
      --canevi-ui-scale: calc(100vw / 2304px);
    }
  }
}

body.canevi-site-page:not(.canevi-home-page) a:where(:not(.button):not(.canevi-btn):not(.canevi-icon-btn)) {
  color: inherit;
}

body.canevi-site-page:not(.canevi-home-page) .woocommerce a.button,
body.canevi-site-page:not(.canevi-home-page) .woocommerce button.button,
body.canevi-site-page:not(.canevi-home-page) .woocommerce input.button {
  font-family: var(--font-family, "Manrope", system-ui, sans-serif);
}

/* ?? Newsletter (shared; also loaded on home via home.css ? keep in sync) ?? */
.canevi-club {
  background: color-mix(in srgb, var(--brand-soft, #f3e0ea) 72%, var(--bg, #fff));
  border-top: var(--border-width, 1px) solid var(--border, #e4ded9);
  padding: var(--space-3xl, 2.5rem) 0;
}

.canevi-club__inner {
  display: grid;
  gap: var(--space-xl, 1.5rem);
}

.canevi-club__eyebrow {
  display: none;
}

.canevi-club__title {
  margin: 0 0 var(--space-sm, 0.5rem);
  font-family: var(--font-family, "Manrope", system-ui, sans-serif);
  font-size: clamp(1.5rem, 4vw, 2rem);
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.15;
  color: var(--text, #171717);
}

.canevi-club__sub {
  margin: 0;
  max-width: 28rem;
  color: var(--text-muted, #6b6560);
  font-size: var(--font-body, 1rem);
  line-height: 1.45;
}

.canevi-club__field {
  background: var(--surface, #fff);
  max-width: 28rem;
  padding-right: 0.35rem;
  border: 0 !important;
  box-shadow: none !important;
}

.canevi-club__field:focus-within {
  border: 0 !important;
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--brand, #c1608d) 35%, transparent) !important;
}

.canevi-club__field .canevi-input,
.canevi-club #canevi-club-email {
  border: 0 !important;
  outline: none !important;
  box-shadow: none !important;
  background: transparent !important;
  border-radius: 0 !important;
  -webkit-appearance: none !important;
  appearance: none !important;
}

.canevi-club__field .canevi-input:focus,
.canevi-club__field .canevi-input:focus-visible,
.canevi-club #canevi-club-email:focus,
.canevi-club #canevi-club-email:focus-visible {
  border: 0 !important;
  outline: none !important;
  box-shadow: none !important;
}

.canevi-club__submit {
  flex: 0 0 auto;
  border-radius: 999px;
  min-height: 2.55rem;
  padding-inline: 1.1rem;
  white-space: nowrap;
}

.canevi-club__legal {
  margin: var(--space-sm, 0.5rem) 0 0;
  max-width: 28rem;
  font-size: var(--font-micro, 0.7rem);
  color: var(--text-muted, #6b6560);
  line-height: 1.4;
}

.canevi-club__legal a {
  color: var(--text, #171717);
  text-decoration: underline;
  text-underline-offset: 0.12em;
}

.canevi-club__status {
  margin: var(--space-sm, 0.5rem) 0 0;
  max-width: 28rem;
  font-size: var(--font-body-small, 0.875rem);
  line-height: 1.4;
}

.canevi-club__status.is-ok {
  color: var(--success, #2f6b4f);
}

.canevi-club__status.is-err {
  color: var(--danger, #b42318);
}

@media (min-width: 900px) {
  .canevi-site-closing .canevi-club__inner,
  body.canevi-site-page:not(.canevi-home-page) .canevi-club__inner {
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
    align-items: end;
    gap: 2rem;
  }
}

/* canevi header pops ? compact, not full drawers */
.canevi-header-pop {
  position: relative;
  display: inline-flex;
  align-items: center;
}
.canevi-header__right > .canevi-pop {
  position: absolute;
  top: calc(100% + 0.45rem);
  right: 0;
  z-index: calc(var(--z-drawer, 70) + 2);
}
.canevi-pop {
  width: min(18.5rem, calc(100vw - 1.5rem));
  max-height: min(70vh, 28rem);
  overflow: auto;
  padding: 0.9rem;
  background: #fff;
  border: 1px solid rgba(23, 23, 23, 0.1);
  border-radius: 0.85rem;
  color: var(--text, #171717);
  opacity: 0;
  transform: translateY(-4px);
  pointer-events: none;
  transition: opacity 140ms ease, transform 140ms ease;
  box-sizing: border-box;
}

.canevi-pop.canevi-pop--cart {
  width: min(20.5rem, calc(100vw - 1.25rem));
  max-width: calc(100vw - 1.25rem);
}
.canevi-pop.is-open {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}
.canevi-pop[hidden] { display: none !important; }
.canevi-pop.is-open[hidden] { display: block !important; }
/* Cart pop is flex column — never force display:block (breaks layout on checkout). */
#canevi-panel-cart.canevi-pop.is-open[hidden] { display: flex !important; }

.canevi-pop__identity {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  margin-bottom: 0.75rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid rgba(23, 23, 23, 0.08);
}
.canevi-pop__avatar {
  flex: 0 0 auto;
  width: 2.35rem;
  height: 2.35rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: var(--brand, #c1608d);
  color: #fff;
  font-size: 0.95rem;
  font-weight: 700;
}
.canevi-pop__who { min-width: 0; }
.canevi-pop__name {
  margin: 0;
  font-size: 0.95rem;
  font-weight: 700;
  line-height: 1.25;
  color: var(--text, #171717);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.canevi-pop__email {
  margin: 0.15rem 0 0;
  font-size: 0.78rem;
  color: var(--text-muted, #6b6b6b);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.canevi-pop__links {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
}
.canevi-pop__links a {
  display: block;
  padding: 0.55rem 0.2rem;
  color: var(--text, #171717);
  font-size: 0.9rem;
  font-weight: 500;
  text-decoration: none;
  border-radius: 0.35rem;
}
.canevi-pop__links a:hover,
.canevi-pop__links a:focus-visible {
  background: rgba(23, 23, 23, 0.04);
  outline: none;
}
.canevi-pop__guest-title {
  margin: 0 0 0.25rem;
  font-size: 0.95rem;
  font-weight: 700;
}
.canevi-pop__guest-note {
  margin: 0 0 0.85rem;
  font-size: 0.82rem;
  line-height: 1.4;
  color: var(--text-muted, #6b6b6b);
}
.canevi-pop__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 2.45rem;
  padding: 0.55rem 1rem;
  border-radius: 999px;
  background: var(--brand, #c1608d);
  color: #fff !important;
  font-size: 0.88rem;
  font-weight: 700;
  text-decoration: none;
}
.canevi-pop__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  margin-bottom: 0.55rem;
}
.canevi-pop__head-title {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--text-muted, #6b6b6b);
}
.canevi-pop__head-count {
  min-width: 1.15rem;
  height: 1.15rem;
  padding: 0 0.3rem;
  border-radius: 999px;
  background: var(--brand, #c1608d);
  color: #fff;
  font-size: 0.68rem;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* Cart pop items/remove/foot: assets/css/canevi-mini-cart.css (#canevi-panel-cart) */
.canevi-pop__cart-foot { display: grid; grid-template-columns: 1fr 1fr; gap: 0.45rem; margin-top: 0.55rem; }
.canevi-pop__btn { display: inline-flex; align-items: center; justify-content: center; min-height: 2.2rem; padding: 0.45rem 0.55rem; border-radius: 999px; font-size: 0.78rem; font-weight: 700; text-decoration: none; text-align: center; }
.canevi-pop__btn--ghost { color: var(--text, #171717); border: 1px solid rgba(23, 23, 23, 0.14); }
.canevi-pop__btn--primary { color: #fff; background: var(--brand, #c1608d); border: 1px solid var(--brand, #c1608d); }
@media (max-width: 599px) { .canevi-header__right > .canevi-pop.canevi-pop--cart { right: -0.35rem; } }

/* neutralize old full-panel rules if cached */
.canevi-panel.canevi-panel--end { display: none !important; }

.canevi-header__right{position:relative;}
.canevi-header,.canevi-header__bar,.canevi-header__right{overflow:visible;}

/* canevi menu pop 2.16.4 */
.canevi-header__left { position: relative; overflow: visible; }
.canevi-header-pop--start .canevi-pop--menu,
.canevi-pop--menu {
  left: 0;
  right: auto;
  width: min(20rem, calc(100vw - 1.25rem));
  max-height: min(78vh, 36rem);
}

.canevi-pop--menu .canevi-cat-tree--menu {
  margin-bottom: 0.15rem;
}
.canevi-header__left > .canevi-header-pop .canevi-pop,
.canevi-header-pop--start .canevi-pop {
  position: absolute;
  top: calc(100% + 0.45rem);
  z-index: calc(var(--z-drawer, 70) + 2);
}
.canevi-pop__nav {
  display: flex;
  flex-direction: column;
}
.canevi-pop__nav a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  padding: 0.55rem 0.2rem;
  color: var(--text, #171717);
  font-size: 0.95rem;
  font-weight: 600;
  text-decoration: none;
  border-radius: 0.35rem;
}
.canevi-pop__nav--muted a {
  font-size: 0.88rem;
  font-weight: 500;
  color: var(--text-muted, #6b6b6b);
}
.canevi-pop__nav a:hover,
.canevi-pop__nav a:focus-visible {
  background: rgba(23, 23, 23, 0.04);
  color: var(--text, #171717);
  outline: none;
}
.canevi-pop__section {
  margin-top: 0.65rem;
  padding-top: 0.65rem;
  border-top: 1px solid rgba(23, 23, 23, 0.08);
}
.canevi-pop__label {
  margin: 0 0 0.25rem;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--text-muted, #6b6b6b);
}
.canevi-pop__link--promo {
  color: var(--brand, #c1608d) !important;
  font-weight: 600 !important;
}
.canevi-pop__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.15rem;
  height: 1.15rem;
  padding: 0 0.3rem;
  border-radius: 999px;
  background: var(--brand, #c1608d);
  color: #fff;
  font-size: 0.68rem;
  font-weight: 700;
}
.canevi-pop__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem 0.85rem;
  margin-top: 0.75rem;
  padding-top: 0.7rem;
  border-top: 1px solid rgba(23, 23, 23, 0.08);
}
.canevi-pop__meta a {
  font-size: 0.78rem;
  font-weight: 500;
  color: var(--text-muted, #6b6b6b);
  text-decoration: none;
}
.canevi-pop__meta a:hover {
  color: var(--brand, #c1608d);
}
/* Drawer is active again (site-wide chrome); do not force-hide. */

/* canevi social icons in menu pop 2.16.5 */
.canevi-pop__meta {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  margin-top: 0.75rem;
  padding-top: 0.7rem;
  border-top: 1px solid rgba(23, 23, 23, 0.08);
}
.canevi-pop__meta-links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem 0.85rem;
}
.canevi-pop__meta-links a {
  font-size: 0.78rem;
  font-weight: 500;
  color: var(--text-muted, #6b6b6b);
  text-decoration: none;
}
.canevi-pop__meta-links a:hover {
  color: var(--brand, #c1608d);
}
.canevi-pop__social {
  display: flex;
  align-items: center;
  gap: 0.35rem;
}
.canevi-pop__social-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.1rem;
  height: 2.1rem;
  border-radius: 999px;
  color: var(--text, #171717);
  text-decoration: none;
  transition: background 140ms ease, color 140ms ease;
}
.canevi-pop__social-link:hover,
.canevi-pop__social-link:focus-visible {
  background: rgba(23, 23, 23, 0.06);
  color: var(--brand, #c1608d);
  outline: none;
}
.canevi-pop__social-link .canevi-icon {
  display: block;
}

/* ?? Desktop categories pop (tree) ?? */
/* Match <a class="canevi-header__link"> exactly ? do not use font:inherit (resets size) */
body.canevi-site-page .canevi-chrome button.canevi-header__link,
body.canevi-site-page .canevi-chrome button.canevi-header__link--btn {
  appearance: none;
  -webkit-appearance: none;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: var(--space-sm-plus, 0.5rem);
  font-family: inherit;
  font-size: var(--font-nav, 0.75rem);
  font-weight: var(--weight-semibold, 600) !important;
  letter-spacing: var(--tracking-wide, 0.06em) !important;
  text-transform: uppercase !important;
  line-height: inherit;
  white-space: nowrap;
  color: var(--text-muted, #6d6865) !important;
}

.canevi-header-pop--nav {
  position: relative;
  display: inline-flex;
  align-items: center;
}

.canevi-header-pop--nav .canevi-pop--categories {
  position: absolute;
  top: calc(100% + 0.55rem);
  left: 0;
  z-index: calc(var(--z-drawer, 70) + 3);
  width: min(22rem, calc(100vw - 2rem));
  max-height: min(72vh, 32rem);
  padding: 0.85rem 0.9rem 0.75rem;
}

.canevi-pop--categories .canevi-pop__head-title {
  margin: 0 0 0.65rem;
  padding: 0 0.15rem 0.55rem;
  border-bottom: 1px solid rgba(23, 23, 23, 0.08);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text-muted, #6b6b6b);
}

.canevi-cat-tree {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
}

.canevi-cat-tree--nested {
  margin: 0.15rem 0 0.35rem;
  padding: 0 0 0 0.85rem;
  border-left: 1px solid rgba(23, 23, 23, 0.08);
  gap: 0;
}

.canevi-cat-tree__link {
  display: block;
  padding: 0.42rem 0.35rem;
  text-decoration: none;
  border-radius: 0.35rem;
  color: var(--text, #171717);
}

.canevi-cat-tree__link--parent {
  font-size: 0.92rem;
  font-weight: 700;
  letter-spacing: 0.01em;
}

.canevi-cat-tree__link--child {
  font-size: 0.84rem;
  font-weight: 500;
  color: var(--text-muted, #6b6b6b);
  padding: 0.32rem 0.35rem;
}

.canevi-cat-tree__link:hover,
.canevi-cat-tree__link:focus-visible {
  background: rgba(23, 23, 23, 0.04);
  color: var(--text, #171717);
  outline: none;
}

.canevi-pop__cat-foot {
  margin-top: 0.65rem;
  padding-top: 0.55rem;
  border-top: 1px solid rgba(23, 23, 23, 0.08);
}

/* Only show categories trigger on desktop nav (nav itself is already desktop-only) */
@media (max-width: 899px) {
  .canevi-header-pop--nav {
    display: none;
  }
}

/* Express checkout only at checkout ? hide on cart / mini-cart leftovers */
body.woocommerce-cart #wc-stripe-express-checkout-element,
body.woocommerce-cart .ppc-button-wrapper,
body.woocommerce-cart #ppc-button-ppcp-gateway,
body.woocommerce-cart .wc-block-components-express-payment,
body.woocommerce-cart .wc-block-components-express-payment--cart,
body.woocommerce-cart .wc-block-cart__payment-options,
body.woocommerce-cart .wc-block-components-express-payment-continue-rule,
body.woocommerce-cart .wp-block-woocommerce-cart-express-payment-block,
.widget_shopping_cart #ppc-button-minicart,
.widget_shopping_cart .ppc-button-wrapper,
.canevi-header-pop #ppc-button-minicart,
.canevi-header-pop .ppc-button-wrapper {
  display: none !important;
}

/* ?? Header search: same as homepage on every storefront page ?? */
body.canevi-site-page .canevi-header-search__form {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  width: 100%;
  min-height: 2.35rem;
  padding: 0.15rem 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

body.canevi-site-page .canevi-header-search__form:focus-within {
  border: 0 !important;
  box-shadow: none !important;
}

body.canevi-site-page .canevi-header-search__input {
  flex: 1 1 auto;
  min-width: 0;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  outline: none !important;
  font-size: 16px !important;
  font-weight: 500;
  padding: 0.35rem 0 !important;
  accent-color: var(--brand, #c1608d);
  caret-color: var(--brand, #c1608d);
}

body.canevi-site-page .canevi-header-search__input:focus,
body.canevi-site-page .canevi-header-search__input:focus-visible {
  outline: none !important;
  box-shadow: none !important;
}

body.canevi-site-page .canevi-header--search-open .canevi-header-search__trigger {
  display: none;
}

body.canevi-site-page .canevi-header--search-open .canevi-header-search__panel {
  display: block;
  position: absolute;
  z-index: 50;
}

body.canevi-site-page .canevi-header--search-open .canevi-header-search__form {
  padding: 0.2rem 0.7rem !important;
  background: rgba(255, 255, 255, 0.94) !important;
  border: 1px solid rgba(23, 23, 23, 0.08) !important;
  border-radius: 999px !important;
  box-shadow: 0 1px 2px rgba(23, 23, 23, 0.04) !important;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

body.canevi-site-page .canevi-header--search-open .canevi-header-search__form:focus-within {
  border-color: rgba(23, 23, 23, 0.14) !important;
  background: rgba(255, 255, 255, 0.98) !important;
  box-shadow: 0 1px 2px rgba(23, 23, 23, 0.04) !important;
}

body.canevi-site-page .canevi-header-search__suggest {
  list-style: none;
  margin: 0;
  padding: 0.35rem 0;
  background: #fff;
  border: 1px solid rgba(23, 23, 23, 0.08);
  border-radius: 0.85rem;
  box-shadow: 0 12px 28px rgba(23, 23, 23, 0.12);
}

body.canevi-site-page .canevi-header-search__suggest a {
  display: block;
  padding: 0.65rem 0.9rem;
  color: var(--text, #171717);
  font-size: 0.92rem;
  font-weight: 500;
  text-decoration: none;
}

body.canevi-site-page .canevi-header--search-open .canevi-header__bar {
  position: relative !important;
}

body.canevi-site-page .canevi-header--search-open .canevi-header__right,
body.canevi-site-page .canevi-header--search-open .canevi-header__left {
  position: static !important;
}

body.canevi-site-page .canevi-header--search-open .canevi-header__right > .canevi-header-pop {
  display: none !important;
}

body.canevi-site-page .canevi-header--search-open .canevi-header-search {
  position: static !important;
}

@media (max-width: 899px) {
  body.canevi-site-page .canevi-header--search-open .canevi-header__center,
  body.canevi-site-page .canevi-header--search-open .canevi-header__menu-btn {
    opacity: 0;
    pointer-events: none;
  }

  body.canevi-site-page .canevi-header--search-open .canevi-header-search__panel {
    position: absolute !important;
    left: var(--container-pad, 1.25rem) !important;
    right: var(--container-pad, 1.25rem) !important;
    top: 50% !important;
    width: auto !important;
    transform: translateY(-50%) !important;
    z-index: 50 !important;
  }
}

@media (min-width: 900px) {
  body.canevi-site-page .canevi-header--search-open .canevi-header-search__panel {
    position: absolute !important;
    top: 50% !important;
    right: var(--container-pad, 1.25rem) !important;
    left: auto !important;
    width: min(22rem, 40vw) !important;
    transform: translateY(-50%) !important;
  }
}

/* ?? Mobile drawer / pops: same colors as homepage (kill Astra #046bd2) ?? */
body.canevi-site-page .canevi-drawer {
  display: flex;
  flex-direction: column;
  padding-bottom: calc(var(--space-lg, 1.25rem) + env(safe-area-inset-bottom, 0px));
}

body.canevi-site-page .canevi-drawer__body {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  gap: var(--space-xl, 1.75rem);
  min-height: 0;
}

body.canevi-site-page .canevi-drawer__label {
  margin: 0 0 var(--space-sm, 0.5rem);
  font-size: var(--font-overline, 0.68rem);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text-muted, #6d6865);
}

body.canevi-site-page .canevi-drawer button.canevi-icon-btn,
body.canevi-site-page .canevi-drawer button[data-canevi-menu-close] {
  -webkit-appearance: none !important;
  appearance: none !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border: 0 !important;
  border-radius: 999px !important;
  box-shadow: none !important;
  color: var(--text, #171717) !important;
  -webkit-tap-highlight-color: transparent;
}

body.canevi-site-page .canevi-drawer button.canevi-icon-btn:hover,
body.canevi-site-page .canevi-drawer button.canevi-icon-btn:focus-visible {
  background: var(--bg-soft, #f5f5f5) !important;
  color: var(--text, #171717) !important;
  outline: none;
}

body.canevi-site-page .canevi-drawer button.canevi-icon-btn svg,
body.canevi-site-page .canevi-drawer button.canevi-icon-btn [stroke] {
  color: inherit !important;
  stroke: currentColor !important;
  fill: none !important;
}

body.canevi-site-page .canevi-drawer a,
body.canevi-site-page .canevi-drawer a:link,
body.canevi-site-page .canevi-drawer a:visited {
  color: var(--text, #171717) !important;
  text-decoration: none !important;
}

body.canevi-site-page .canevi-drawer a:hover,
body.canevi-site-page .canevi-drawer a:focus,
body.canevi-site-page .canevi-drawer a:focus-visible,
body.canevi-site-page .canevi-drawer a:active {
  color: var(--text, #171717) !important;
  outline: none;
}

body.canevi-site-page .canevi-drawer__nav--primary a {
  font-size: var(--font-heading-s, 1.05rem);
  font-weight: 600;
}

body.canevi-site-page .canevi-drawer__nav--explore a,
body.canevi-site-page .canevi-drawer__nav--explore a:link,
body.canevi-site-page .canevi-drawer__nav--explore a:visited {
  font-size: var(--font-body, 0.95rem);
  font-weight: 500;
  color: var(--text-muted, #6d6865) !important;
  padding-top: var(--space-md, 0.75rem);
  padding-bottom: var(--space-md, 0.75rem);
}

body.canevi-site-page .canevi-drawer__nav--explore a:hover,
body.canevi-site-page .canevi-drawer__nav--explore a:focus-visible {
  color: var(--text, #171717) !important;
}

body.canevi-site-page .canevi-drawer__link--promo,
body.canevi-site-page .canevi-drawer__link--promo:link,
body.canevi-site-page .canevi-drawer__link--promo:visited,
body.canevi-site-page .canevi-drawer a.canevi-drawer__link--promo {
  color: var(--brand, #c1608d) !important;
  font-weight: 600 !important;
}

body.canevi-site-page .canevi-drawer__nav--account {
  margin-top: var(--space-xs, 0.35rem);
  padding-top: var(--space-md, 0.75rem);
  border-top: 1px solid var(--border, #e4ded9);
}

body.canevi-site-page .canevi-drawer__nav--account a {
  font-size: var(--font-body, 0.95rem);
}

body.canevi-site-page .canevi-drawer__cart-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.25rem;
  height: 1.25rem;
  padding: 0 0.35rem;
  border-radius: 999px;
  background: var(--brand, #c1608d);
  color: #fff !important;
  font-size: 0.7rem;
  font-weight: 700;
  line-height: 1;
}

body.canevi-site-page .canevi-drawer__foot {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-sm, 0.5rem) var(--space-lg, 1.25rem);
  margin-top: auto;
  padding-top: var(--space-lg, 1.25rem);
  border-top: 1px solid var(--divider, #eee);
}

body.canevi-site-page .canevi-drawer__foot a,
body.canevi-site-page .canevi-drawer__foot a:link,
body.canevi-site-page .canevi-drawer__foot a:visited {
  font-size: var(--font-caption, 0.8rem);
  font-weight: 500;
  color: var(--text-muted, #6d6865) !important;
  text-decoration: none !important;
  border: 0;
  padding: 0;
}

body.canevi-site-page .canevi-drawer__foot a:hover,
body.canevi-site-page .canevi-drawer__foot a:focus-visible {
  color: var(--brand, #c1608d) !important;
}

/* Account / cart / help pops ? match homepage hierarchy */
body.canevi-site-page .canevi-pop__nav a,
body.canevi-site-page .canevi-pop__nav a:link,
body.canevi-site-page .canevi-pop__nav a:visited {
  color: var(--text, #171717) !important;
  text-decoration: none !important;
}

body.canevi-site-page .canevi-pop__nav a:hover,
body.canevi-site-page .canevi-pop__nav a:focus-visible {
  color: var(--text, #171717) !important;
}

body.canevi-site-page .canevi-pop__nav--muted a,
body.canevi-site-page .canevi-pop__nav--muted a:link,
body.canevi-site-page .canevi-pop__nav--muted a:visited {
  color: var(--text-muted, #6b6b6b) !important;
}

body.canevi-site-page .canevi-pop__nav--muted a:hover,
body.canevi-site-page .canevi-pop__nav--muted a:focus-visible {
  color: var(--text, #171717) !important;
}

body.canevi-site-page .canevi-pop__meta a,
body.canevi-site-page .canevi-pop__meta a:link,
body.canevi-site-page .canevi-pop__meta a:visited,
body.canevi-site-page .canevi-pop__meta-links a,
body.canevi-site-page .canevi-pop__meta-links a:link,
body.canevi-site-page .canevi-pop__meta-links a:visited {
  color: var(--text-muted, #6b6b6b) !important;
  text-decoration: none !important;
}

body.canevi-site-page .canevi-pop__meta a:hover,
body.canevi-site-page .canevi-pop__meta a:focus-visible,
body.canevi-site-page .canevi-pop__meta-links a:hover,
body.canevi-site-page .canevi-pop__meta-links a:focus-visible {
  color: var(--brand, #c1608d) !important;
}

body.canevi-site-page .canevi-pop__link--promo,
body.canevi-site-page .canevi-pop__link--promo:link,
body.canevi-site-page .canevi-pop__link--promo:visited,
body.canevi-site-page .canevi-pop a.canevi-pop__link--promo {
  color: var(--brand, #c1608d) !important;
  font-weight: 600 !important;
}

body.canevi-site-page .canevi-pop__guest-note,
body.canevi-site-page .canevi-pop__label,
body.canevi-site-page .canevi-pop__email {
  color: var(--text-muted, #6b6b6b) !important;
}

/* Footer Ajuda / Conta ? brand-dark like homepage, all breakpoints (was desktop-only) */
body.canevi-site-page .canevi-home-footer a,
body.canevi-site-page .canevi-home-footer a:link,
body.canevi-site-page .canevi-home-footer a:visited {
  color: var(--brand-dark, #8e3d66) !important;
  text-decoration: none !important;
}

body.canevi-site-page .canevi-home-footer a:hover,
body.canevi-site-page .canevi-home-footer a:focus,
body.canevi-site-page .canevi-home-footer a:focus-visible,
body.canevi-site-page .canevi-home-footer a:active {
  color: var(--brand, #c1608d) !important;
}

body.canevi-site-page .canevi-home-footer__list a,
body.canevi-site-page .canevi-home-footer__list a:link,
body.canevi-site-page .canevi-home-footer__list a:visited {
  color: var(--brand-dark, #8e3d66) !important;
}

body.canevi-site-page .canevi-home-footer__list a:hover,
body.canevi-site-page .canevi-home-footer__list a:focus-visible {
  color: var(--brand, #c1608d) !important;
}

body.canevi-site-page .canevi-home-footer__social-link,
body.canevi-site-page .canevi-home-footer__social-link:link,
body.canevi-site-page .canevi-home-footer__social-link:visited {
  color: var(--text, #171717) !important;
}

body.canevi-site-page .canevi-home-footer__social-link:hover,
body.canevi-site-page .canevi-home-footer__social-link:focus-visible {
  color: var(--brand, #c1608d) !important;
}

/* —— Woo notices (ATC success / errors) — site-wide Canevi skin —— */
body.canevi-site-page .woocommerce-message,
body.canevi-site-page .woocommerce-info,
body.canevi-site-page .woocommerce-error,
body.canevi-site-page .woocommerce-notices-wrapper .woocommerce-message,
body.canevi-site-page .woocommerce-notices-wrapper .woocommerce-info,
body.canevi-site-page .woocommerce-notices-wrapper .woocommerce-error {
  border: 0 !important;
  border-left: 2px solid var(--brand, #c1608d) !important;
  background: var(--surface, #fff) !important;
  color: var(--text, #171717) !important;
  font-family: "Manrope", "Segoe UI", system-ui, sans-serif !important;
  font-size: 0.88rem !important;
  font-weight: 500 !important;
  line-height: 1.45 !important;
  border-radius: 0.65rem !important;
  padding: 0.9rem 1.05rem !important;
  margin: 0 0 1rem !important;
  box-shadow: 0 1px 0 rgba(23, 23, 23, 0.04);
  list-style: none !important;
}

body.canevi-site-page .woocommerce-error {
  border-left-color: var(--canevi-promo-red, #f93956) !important;
}

body.canevi-site-page .woocommerce-info {
  border-left-color: rgba(23, 23, 23, 0.28) !important;
}

body.canevi-site-page .woocommerce-message::before,
body.canevi-site-page .woocommerce-info::before,
body.canevi-site-page .woocommerce-error::before {
  display: none !important;
}

body.canevi-site-page .woocommerce-message a,
body.canevi-site-page .woocommerce-info a,
body.canevi-site-page .woocommerce-error a,
body.canevi-site-page .woocommerce-message a.button,
body.canevi-site-page .woocommerce-message a.wc-forward {
  color: var(--brand-dark, #8e3d66) !important;
  font-weight: 700 !important;
  text-decoration: underline !important;
  text-underline-offset: 0.12em;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin-left: 0.35rem !important;
  float: none !important;
  display: inline !important;
  min-height: 0 !important;
  line-height: inherit !important;
}

body.canevi-site-page .woocommerce-message a:hover,
body.canevi-site-page .woocommerce-info a:hover,
body.canevi-site-page .woocommerce-error a:hover {
  color: var(--brand, #c1608d) !important;
}

body.canevi-site-page ul.woocommerce-error,
body.canevi-site-page ul.woocommerce-message,
body.canevi-site-page ul.woocommerce-info {
  padding-left: 1.05rem !important;
}

body.canevi-site-page ul.woocommerce-error li,
body.canevi-site-page ul.woocommerce-message li,
body.canevi-site-page ul.woocommerce-info li {
  margin: 0 !important;
  padding: 0 !important;
}

/* ATC toast overlay (2s) — replaces inline Woo banners for add-to-cart */
.canevi-atc-toast {
  position: fixed;
  inset: 0;
  z-index: 10080;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.25rem;
  pointer-events: none;
  opacity: 0;
  transition: opacity 180ms ease;
}

.canevi-atc-toast.is-visible {
  pointer-events: auto;
  opacity: 1;
}

/* Keep mini-cart visible under toast (toast is temporary). */
body.canevi-panel-open #canevi-panel-cart.canevi-pop.is-open {
  z-index: 10070;
}

/* Mobile: pin cart pop to viewport so sticky header stacking cannot clip it.
   Prefer % over 100vw — CSS zoom on site pages makes 100vw fight fixed inset. */
@media (max-width: 899px) {
  body.canevi-panel-open #canevi-panel-cart.canevi-pop.is-open {
    position: fixed !important;
    top: calc(var(--canevi-sticky-h, 4.25rem) + var(--canevi-sat, 0px) + 0.35rem) !important;
    right: 0.5rem !important;
    left: auto !important;
    inset-inline-start: auto !important;
    width: min(22rem, calc(100% - 1rem)) !important;
    max-width: calc(100% - 1rem) !important;
    max-height: min(70vh, calc(100dvh - var(--canevi-sticky-h, 4.25rem) - 1.5rem)) !important;
    z-index: 10070 !important;
  }
}

.canevi-atc-toast__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(23, 23, 23, 0.28);
}

.canevi-atc-toast__card {
  position: relative;
  z-index: 1;
  max-width: min(22rem, calc(100vw - 2.5rem));
  padding: 1rem 1.15rem;
  border-radius: 0.75rem;
  background: #fff;
  color: #171717;
  font-family: "Manrope", "Segoe UI", system-ui, sans-serif;
  font-size: 0.92rem;
  font-weight: 600;
  line-height: 1.4;
  text-align: center;
  box-shadow: 0 12px 40px rgba(23, 23, 23, 0.18);
  border-left: 3px solid var(--brand, #c1608d);
  transform: translateY(6px) scale(0.98);
  transition: transform 180ms ease;
}

.canevi-atc-toast.is-visible .canevi-atc-toast__card {
  transform: none;
}

.canevi-atc-toast.is-error .canevi-atc-toast__card {
  border-left-color: var(--canevi-promo-red, #f93956);
}

@media (prefers-reduced-motion: reduce) {
  .canevi-atc-toast,
  .canevi-atc-toast__card {
    transition: none;
  }
}


