/**
 * Canevi homepage — page composition only (Phase 2.1)
 * Visual parity with Phase 2 conversion homepage.
 * All values come from canevi-ui tokens/components.
 * Scoped to .canevi-home / .canevi-home-page
 */

html.canevi-home-page {
  --canevi-sat: env(safe-area-inset-top, 0px);
  --brand-soft: #f3e0ea;
  --announce-bg: #f3e0ea;
  --bg: #ffffff;
  --header-bg: #ffffff;
}

/*
 * iOS 26: safe-area tint is fixed to header chrome (white).
 * No scroll color switching — Safari won't reliably revert.
 */
body.canevi-home-page {
  background-color: var(--header-bg, #ffffff);
}

/*
 * Announce stays brand pink but does NOT own the status-bar zone
 * (that stays header/body white for a stable top chrome).
 */
.canevi-home--dir-f > .canevi-announce {
  background: var(--announce-bg, #f3e0ea);
  padding-top: 0;
  border: 0;
  box-shadow: none;
}

/* Hide Astra chrome on homepage */
.canevi-home-page .main-header-bar,
.canevi-home-page .ast-above-header,
.canevi-home-page .ast-below-header,
.canevi-home-page .ast-desktop-header-content,
.canevi-home-page .ast-mobile-header-wrap,
.canevi-home-page .ast-header-break-point .main-header-bar-wrap,
.canevi-home-page header#masthead,
.canevi-home-page footer#colophon,
.canevi-home-page .ast-breadcrumbs-wrapper,
.canevi-home-page .entry-header,
.canevi-home-page .ast-single-entry-banner,
.canevi-home-page .ast-archive-entry-banner {
  display: none !important;
}

.canevi-home-page .ast-container,
.canevi-home-page #content .ast-container,
.canevi-home-page .site-content > .ast-container {
  max-width: none;
  padding-left: 0;
  padding-right: 0;
  width: 100%;
  /* Astra uses flex here; flex:0 1 auto shrink-wraps #main to container content (~1166px). */
  display: block;
}

.canevi-home-page #content,
.canevi-home-page .site-content,
.canevi-home-page .ast-plain-container {
  margin: 0;
  padding: 0;
  max-width: none;
  width: 100%;
}

.canevi-home-page .site-content {
  background: var(--bg);
}

.canevi-home-page #primary,
.canevi-home-page #main,
.canevi-home-page #canevi-home {
  margin: 0;
  padding: 0;
  float: none;
  width: 100%;
  max-width: none;
  min-width: 0;
  flex: 1 1 100%;
}

/* Root surface — tokens loaded via canevi-ui */
.canevi-home {
  color: var(--text);
  background: var(--bg);
  font-family: var(--font-family);
  font-size: var(--font-body);
  line-height: var(--line-body);
  min-height: 70vh;
  width: 100%;
  max-width: none;
  -webkit-font-smoothing: antialiased;
}

.canevi-home *,
.canevi-home *::before,
.canevi-home *::after {
  box-sizing: border-box;
}

/* Link semantics within homepage shell */
.canevi-home a {
  color: var(--brand-dark);
  text-decoration: none;
  transition:
    color var(--transition),
    background var(--transition),
    border-color var(--transition),
    opacity var(--transition);
}

.canevi-home a:hover {
  color: var(--brand);
}

.canevi-home a.canevi-btn--primary,
.canevi-home a.canevi-btn--primary:hover {
  color: var(--text-inverse);
}

.canevi-home a.canevi-btn--secondary {
  color: var(--brand-dark);
}

.canevi-home a.canevi-btn--secondary:hover {
  color: var(--text-inverse);
}

.canevi-home a.canevi-icon-btn,
.canevi-home a.canevi-header__link,
.canevi-home a.canevi-logo,
.canevi-home a.canevi-card__title,
.canevi-home a.canevi-card__media,
.canevi-home a.canevi-cat-card,
.canevi-home a.canevi-collection {
  color: var(--text);
}

/* Footer logo — size lives here so Safari cache-busts with canevi-home.css */
.canevi-home .canevi-logo--footer .canevi-logo__img {
  height: 24px; /* 60% of prior 40px */
  width: auto;
  max-width: min(34vw, 6rem);
}

.canevi-home a.canevi-header__link {
  color: var(--text-muted);
}

.canevi-home a.canevi-header__link:hover {
  color: var(--text);
}

.canevi-home a.canevi-card__cta {
  color: var(--brand-dark);
}

.canevi-home a.canevi-card__cta:hover {
  color: var(--brand);
}

.canevi-home a.canevi-section__more {
  color: var(--brand-dark);
}

.canevi-home a.canevi-chip--promo,
.canevi-home a.canevi-cat-card--promo {
  color: var(--text-inverse);
}

.canevi-home a.canevi-cat-visual {
  color: var(--text);
}

.canevi-home a.canevi-campaign__cta,
.canevi-home a.canevi-campaign__cta:hover {
  color: var(--text-inverse);
}

/* —— Direction F · CANEVI NORTH STAR —— */

.canevi-home--dir-f .canevi-section__title--display,
.canevi-home--dir-f .canevi-campaign__title {
  font-family: var(--font-display-family);
  font-weight: 600;
  letter-spacing: var(--tracking-tight);
  text-transform: none;
}

.canevi-home--dir-f .canevi-campaign__demo {
  display: none;
}

.canevi-home--dir-f .canevi-campaign__cta {
  background: var(--text);
  border-color: var(--text);
  border-radius: var(--radius-pill);
}

.canevi-home--dir-f .canevi-campaign__cta:hover {
  background: var(--brand);
  border-color: var(--brand);
}

.canevi-home-zone--stage {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  isolation: isolate;
  overflow: hidden;
}

/* Header: always clears the notch with header chrome color when docked;
 * at rest sits under announce (transparent over hero). */
body.canevi-home-page .canevi-chrome .canevi-header {
  position: fixed;
  left: 0;
  right: 0;
  top: 2.5rem;
  z-index: calc(var(--z-sticky) + 4);
  background: transparent;
  border-bottom: 0;
  backdrop-filter: none;
  overflow: visible;
  /* Stable top safe-area = header chrome (even while transparent bar sits lower) */
  padding-top: 0;
  padding-left: env(safe-area-inset-left, 0px);
  padding-right: env(safe-area-inset-right, 0px);
  transition: background var(--transition), border-color var(--transition), padding-top var(--transition);
}

body.canevi-home-page .canevi-chrome .canevi-header.is-solid {
  background: var(--header-bg);
  border-bottom: var(--border-width) solid var(--divider);
  backdrop-filter: none;
  padding-top: constant(safe-area-inset-top);
  padding-top: env(safe-area-inset-top, 0px);
}

body.canevi-home-page .canevi-chrome .canevi-header:not(.is-solid) .canevi-header__link,
body.canevi-home-page .canevi-chrome .canevi-header:not(.is-solid) .canevi-icon-btn {
  color: var(--text-inverse);
}

body.canevi-home-page .canevi-chrome .canevi-header:not(.is-solid) .canevi-header__link:hover {
  color: var(--brand-soft);
}

.canevi-home--dir-f .canevi-campaign__content {
  padding-top: calc(var(--header-h) + var(--space-3xl));
  padding-bottom: calc(var(--space-3xl) + var(--space-3xl));
}

.canevi-home--dir-f .canevi-campaign__controls {
  bottom: calc(var(--campaign-control-inset) + var(--space-xl));
}

.canevi-live-capsule {
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translate(-50%, 50%);
  z-index: calc(var(--z-sticky) + 1);
  display: inline-flex;
  align-items: center;
  gap: var(--space-sm);
  max-width: min(92vw, 28rem);
  padding: var(--space-sm) var(--space-md) var(--space-sm) var(--space-sm);
  background: var(--bg);
  border: var(--border-width) solid var(--border);
  border-radius: var(--radius-pill);
  box-shadow: var(--shadow-elevated);
  color: var(--text);
  text-decoration: none;
}

.canevi-home a.canevi-live-capsule,
.canevi-home a.canevi-live-capsule:hover {
  color: var(--text);
}

.canevi-live-capsule:hover {
  border-color: var(--brand);
}

/* Direction F · option 1 — white pill + LIVE + avatars */
.canevi-home--dir-f .canevi-live-capsule--f {
  left: auto;
  right: max(var(--space-lg), env(safe-area-inset-right, 0px));
  bottom: calc(var(--space-2xl) + var(--space-md));
  transform: none;
  gap: 0.55rem;
  padding: 0.35rem 0.45rem 0.35rem 0.7rem;
  background: rgba(255, 255, 255, 0.94);
  border: 0;
  box-shadow: 0 8px 24px rgba(23, 23, 23, 0.14);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.canevi-home--dir-f .canevi-live-capsule--f:hover {
  border-color: transparent;
  box-shadow: 0 10px 28px rgba(23, 23, 23, 0.18);
}

.canevi-home--dir-f .canevi-live-capsule--f .canevi-live-capsule__badge {
  background: transparent;
  color: var(--text);
  padding: 0;
  font-size: 0.68rem;
  letter-spacing: 0.06em;
  gap: 0.35rem;
}

.canevi-home--dir-f .canevi-live-capsule--f .canevi-live-capsule__badge--soft {
  background: transparent;
  color: var(--text-muted);
}

.canevi-home--dir-f .canevi-live-capsule--f .canevi-live-badge__dot {
  width: 0.45rem;
  height: 0.45rem;
  background: #e11d48;
  box-shadow: 0 0 0 0 rgba(225, 29, 72, 0.45);
}

.canevi-home--dir-f .canevi-live-capsule__avatars {
  display: inline-flex;
  align-items: center;
  padding-right: 0.05rem;
}

.canevi-home--dir-f .canevi-live-capsule__face {
  width: 1.7rem;
  height: 1.7rem;
  border-radius: var(--radius-circle);
  overflow: hidden;
  border: 2px solid #fff;
  background: var(--brand-soft);
  margin-left: -0.45rem;
  flex-shrink: 0;
}

.canevi-home--dir-f .canevi-live-capsule__face:first-child {
  margin-left: 0;
}

.canevi-home--dir-f .canevi-live-capsule__face img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.canevi-home--dir-f .canevi-live-capsule__face--fallback:nth-child(1) {
  background: linear-gradient(145deg, #f3ebe6, #e8d5cc);
}

.canevi-home--dir-f .canevi-live-capsule__face--fallback:nth-child(2) {
  background: linear-gradient(145deg, #edd9e4, #d9b8c8);
}

.canevi-home--dir-f .canevi-live-capsule__face--fallback:nth-child(3) {
  background: linear-gradient(145deg, #e5e0dc, #cfc7c0);
}

.canevi-live-capsule__avatar {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: var(--radius-circle);
  background: var(--brand-soft);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.canevi-live-capsule__avatar-mark {
  color: var(--brand-dark);
  opacity: 0.7;
}

.canevi-live-capsule__badge {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  padding: var(--space-xs) var(--space-sm);
  border-radius: var(--radius-pill);
  background: var(--brand);
  color: var(--text-inverse);
  font-size: var(--font-micro);
  font-weight: var(--weight-bold);
  letter-spacing: var(--tracking-wide);
  text-transform: uppercase;
  flex-shrink: 0;
}

.canevi-live-capsule__badge--soft {
  background: var(--bg-soft);
  color: var(--brand-dark);
}

.canevi-live-capsule__copy {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: 0.1rem;
}

.canevi-live-capsule__title {
  font-size: var(--font-caption);
  font-weight: var(--weight-semibold);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.canevi-live-capsule__cta {
  font-size: var(--font-micro);
  font-weight: var(--weight-bold);
  color: var(--brand-dark);
}

.canevi-home-sheet {
  position: relative;
  z-index: var(--z-base);
  margin-top: 0;
  padding-top: calc(var(--space-3xl) + var(--space-lg));
  background: var(--bg);
}

/* —— Direction F · Mobile (iPhone Safari first) —— */
@media (max-width: 699px) {
  /*
   * iOS Safari: never use 100vw / calc(50% - 50vw) — it creates horizontal
   * rubber-band scroll and makes the hero feel inset in a “window”.
   */
  html.canevi-home-page,
  body.canevi-home-page {
    /* Do NOT set overflow-x on html/body — iOS then breaks position:fixed. */
    max-width: 100%;
    width: 100%;
    position: relative;
    --canevi-sat: env(safe-area-inset-top, 0px);
  }

  body.canevi-home-page #page,
  body.canevi-home-page .site,
  body.canevi-home-page .site-content,
  body.canevi-home-page #content {
    background: transparent;
  }

  /* Announce layout polish (color/safe-area already set globally above) */
  .canevi-home--dir-f > .canevi-announce {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: stretch;
    position: relative;
    z-index: calc(var(--z-sticky) + 3);
    padding-bottom: 0;
    margin: 0;
    box-sizing: border-box;
    line-height: 1;
  }

  .canevi-home--dir-f .canevi-announce__mobile,
  .canevi-home--dir-f .canevi-announce__track {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 2.5rem;
    height: 2.5rem;
  }

  .canevi-home--dir-f .canevi-announce__slide {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    padding: 0 var(--space-md);
    margin: 0;
    line-height: 1;
  }

  .canevi-home--dir-f .canevi-announce__slide.is-active {
    position: relative;
    height: 2.5rem;
  }

  .canevi-home--dir-f .canevi-announce__slide .canevi-icon {
    display: block;
    flex-shrink: 0;
    width: 1rem;
    height: 1rem;
    margin: 0;
    /* Truck glyph sits high in its viewBox — nudge for optical center */
    transform: translateY(0.12em);
  }

  .canevi-home--dir-f .canevi-announce__slide span {
    display: block;
    line-height: 1;
    padding: 0;
    margin: 0;
  }

  body.canevi-home-page .canevi-chrome .canevi-header {
    padding-left: env(safe-area-inset-left, 0px);
    padding-right: env(safe-area-inset-right, 0px);
  }

  body.canevi-home-page .canevi-chrome .canevi-logo__img {
    max-width: min(32vw, 5.8rem); /* 80% of previous mobile cap */
    height: auto;
  }

  body.canevi-home-page .canevi-chrome .canevi-header__bar {
    min-height: 52px;
  }

  /* Taller cinema hero — cascade for older Safari without svh */
  .canevi-home--dir-f .canevi-campaign__slide {
    min-height: 540px;
    min-height: 86vh;
    min-height: 86svh;
    max-height: 720px;
    height: auto;
    align-items: flex-end;
  }

  /* Stronger bottom scrim so white type always reads on light demo art */
  .canevi-home--dir-f .canevi-campaign__scrim {
    background: linear-gradient(
      180deg,
      rgba(23, 23, 23, 0.42) 0%,
      rgba(23, 23, 23, 0.12) 38%,
      rgba(23, 23, 23, 0.58) 100%
    );
    opacity: 1;
  }

  .canevi-home--dir-f .canevi-campaign__content {
    /* Header overlays hero at rest — clear the bar + safe-area */
    padding-top: calc(52px + env(safe-area-inset-top, 0px) + var(--space-xl));
    padding-bottom: calc(2.5rem + 7rem);
    padding-left: max(var(--container-pad, 1rem), env(safe-area-inset-left, 0px));
    padding-right: max(var(--container-pad, 1rem), env(safe-area-inset-right, 0px));
    max-width: 18rem;
  }

  .canevi-home--dir-f .canevi-campaign__title {
    font-size: clamp(2.35rem, 11vw, 3.1rem);
    line-height: 1.02;
    max-width: 9ch;
    margin-bottom: var(--space-sm);
  }

  .canevi-home--dir-f .canevi-campaign__sub {
    font-size: var(--font-body);
    max-width: 16ch;
    margin-bottom: var(--space-lg);
  }

  .canevi-home--dir-f .canevi-campaign__badge {
    margin-bottom: var(--space-md);
  }

  /* Magenta CTA like F-mobile mockup */
  .canevi-home--dir-f .canevi-campaign__cta {
    background: var(--brand);
    border-color: var(--brand);
    min-height: 2.75rem;
    padding-inline: var(--space-xl);
  }

  /* Dots collide with LIVE pill — swipe only on phone */
  .canevi-home--dir-f .canevi-campaign__controls {
    display: none;
  }

  /* LIVE pill F — white + LIVE + avatars, clear of sheet curve */
  .canevi-home--dir-f .canevi-live-capsule--f {
    left: auto;
    right: max(var(--space-md), env(safe-area-inset-right, 0px));
    bottom: calc(2.5rem + 4rem);
    transform: none;
    z-index: 5;
    max-width: none;
    width: auto;
    padding: 0.28rem 0.38rem 0.28rem 0.62rem;
    gap: 0.45rem;
  }

  .canevi-home--dir-f .canevi-live-capsule--f .canevi-live-capsule__badge {
    font-size: 0.62rem;
  }

  .canevi-home--dir-f .canevi-live-capsule__face {
    width: 1.55rem;
    height: 1.55rem;
    margin-left: -0.4rem;
    border-width: 1.5px;
  }

  /* Hero stays square-edged; only the sheet curves over it */
  .canevi-home--dir-f .canevi-home-zone--stage,
  .canevi-home--dir-f .canevi-campaign,
  .canevi-home--dir-f .canevi-campaign__viewport,
  .canevi-home--dir-f .canevi-campaign__slide,
  .canevi-home--dir-f .canevi-campaign__media,
  .canevi-home--dir-f .canevi-campaign__img {
    border-radius: 0 !important;
  }

  .canevi-home--dir-f .canevi-campaign__viewport {
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
    border-radius: 0 !important;
    overflow: hidden;
  }

  .canevi-home-page,
  .canevi-home-page #page,
  .canevi-home-page .site,
  .canevi-home-page .site-content,
  .canevi-home-page .ast-container,
  .canevi-home--dir-f {
    border-radius: 0 !important;
    max-width: none !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  /* Clip horizontal bleed on stage only — never on html/#page (breaks fixed chrome on iOS). */
  .canevi-home--dir-f .canevi-home-zone--stage {
    max-width: 100%;
  }

  /* Hide Astra “scroll to top” (blue square) on homepage */
  .canevi-home-page #ast-scroll-top,
  .canevi-home-page .ast-scroll-top-icon {
    display: none !important;
  }

  /*
   * CRITICAL (iOS Safari): never set overflow-x on the sheet.
   * overflow-x ≠ visible forces overflow-y to auto → nested scroll +
   * border-radius clips categories (half-circles) and breaks rails.
   */
  .canevi-home--dir-f .canevi-home-sheet {
    position: relative;
    z-index: 2;
    margin-top: -2.5rem;
    /* Categories sit tight under the curve */
    padding-top: calc(2.75rem - 0.75rem);
    /* Bottom safe-area lives on .canevi-home-footer (brand-soft), not here. */
    padding-bottom: 0;
    border-radius: 2.75rem 2.75rem 0 0;
    box-shadow: 0 -12px 36px rgba(23, 23, 23, 0.12);
    overflow: visible;
    max-width: 100%;
  }

  /* Capsule already positioned above sheet in rule above */

  /* Capsule already sells Live — product rail shows live items when active */
  .canevi-home--dir-f .canevi-live-block {
    display: none !important;
  }

  .canevi-home--dir-f .canevi-rail {
    padding-top: var(--space-md);
    padding-bottom: var(--space-md);
    max-width: 100%;
  }

  .canevi-home--dir-f .canevi-cats {
    padding-top: 0;
    padding-bottom: var(--space-sm);
    max-width: 100%;
    /* Do not pull under the sheet curve — negative margin + radius clips circles. */
    margin-top: 0;
  }

  .canevi-home--dir-f .canevi-cats--flush .canevi-cats__track {
    /* overflow-x:auto clips overflow-y; pad so live ring / soft shadow stay inside. */
    padding-top: 0.2rem;
    padding-bottom: 0.2rem;
  }

  /* Arrows are desktop-only — force hide on phone (Astra can restyle buttons) */
  .canevi-home--dir-f .canevi-rail__arrow {
    display: none !important;
  }

  /* Safety: rail card width if @import CSS is stale/cached on Safari */
  .canevi-home--dir-f .canevi-rail__slide {
    flex: 0 0 auto !important;
    width: 42vw !important;
    max-width: 10.5rem !important;
    min-width: 8.5rem !important;
  }

  .canevi-home--dir-f .canevi-rail__viewport {
    overflow: hidden;
    width: 100%;
    max-width: 100%;
  }

  .canevi-home--dir-f .canevi-rail__track,
  .canevi-home--dir-f .canevi-cats__track {
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
  }

  .canevi-home--dir-f .canevi-rail .canevi-card__cta {
    display: none;
  }

  .canevi-home--dir-f .canevi-rail .canevi-card__title {
    font-size: 0.72rem !important;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    height: var(--card-title-min-h);
    min-height: var(--card-title-min-h);
    max-height: var(--card-title-min-h);
    -webkit-line-clamp: 2;
  }

  .canevi-home--dir-f .canevi-rail .canevi-card__price {
    color: var(--text);
  }

  .canevi-home--dir-f .canevi-rail .canevi-card--sale .canevi-card__price .canevi-price__now,
  .canevi-home--dir-f .canevi-rail .canevi-card--sale .canevi-card__price .canevi-price__int,
  .canevi-home--dir-f .canevi-rail .canevi-card--sale .canevi-card__price .canevi-price__dec,
  .canevi-home--dir-f .canevi-rail .canevi-card--sale .canevi-card__price .canevi-price__cur {
    color: var(--brand);
  }

  /* Clear fixed header when scrolled into commerce */
  .canevi-home--dir-f .canevi-cats,
  .canevi-home--dir-f .canevi-rail {
    scroll-margin-top: max(56px, var(--canevi-sticky-h, 56px));
  }

  .canevi-home--dir-f .canevi-section__title--display {
    font-size: clamp(1.4rem, 5.8vw, 1.85rem);
  }

  .canevi-cats--photo .canevi-cats__track {
    gap: var(--space-md);
    padding-bottom: 0;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }

  .canevi-cats--photo .canevi-cats__track::-webkit-scrollbar {
    display: none;
  }

  .canevi-cat-photo {
    min-width: 4.25rem;
  }

  .canevi-cat-photo__media {
    width: 4.25rem;
    height: 4.25rem;
    border-width: 0;
    box-shadow: 0 0 0 1px rgba(23, 23, 23, 0.08);
  }

  .canevi-cat-photo__label {
    font-size: 0.72rem;
    max-width: 4.5rem;
  }

  /* Products immediately after cats */
  .canevi-home--dir-f .canevi-products {
    padding-top: var(--space-sm);
    padding-bottom: var(--space-lg);
  }

  .canevi-home--dir-f .canevi-grid--products {
    gap: var(--space-sm) var(--space-sm);
  }

  .canevi-home--dir-f .canevi-card__title {
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    height: var(--card-title-min-h);
    min-height: var(--card-title-min-h);
    max-height: var(--card-title-min-h);
    -webkit-line-clamp: 2;
  }

  .canevi-home--dir-f .canevi-card__price {
    color: var(--text);
    font-size: var(--font-price);
  }

  .canevi-home--dir-f .canevi-card__price .canevi-price--amazon,
  .canevi-home--dir-f .canevi-card__price .canevi-price__now,
  .canevi-home--dir-f .canevi-card__price .canevi-price__int,
  .canevi-home--dir-f .canevi-card__price .canevi-price__dec,
  .canevi-home--dir-f .canevi-card__price .canevi-price__cur {
    color: inherit;
  }

  /* Promo prices in brand pink; regular prices stay normal text */
  .canevi-home--dir-f .canevi-card--sale .canevi-card__price .canevi-price__now,
  .canevi-home--dir-f .canevi-card--sale .canevi-card__price .canevi-price__int,
  .canevi-home--dir-f .canevi-card--sale .canevi-card__price .canevi-price__dec,
  .canevi-home--dir-f .canevi-card--sale .canevi-card__price .canevi-price__cur,
  .canevi-home--dir-f .canevi-card--sale .canevi-card__price ins,
  .canevi-home--dir-f .canevi-card--sale .canevi-card__price ins .woocommerce-Price-amount {
    color: var(--brand);
  }

  .canevi-home--dir-f .canevi-card--sale .canevi-card__price .canevi-price__was,
  .canevi-home--dir-f .canevi-card--sale .canevi-card__price del,
  .canevi-home--dir-f .canevi-card--sale .canevi-card__price del .woocommerce-Price-amount {
    color: var(--text-muted);
  }
}

@media (min-width: 700px) {
  .canevi-home--dir-f .canevi-home-sheet {
    padding-top: calc(var(--space-xl) + var(--space-md));
    border-radius: 3.5rem 3.5rem 0 0;
  }

  .canevi-home--dir-f .canevi-cats--flush {
    padding-top: 0;
    padding-bottom: var(--space-md);
  }
}

.canevi-cats--photo .canevi-cats__track {
  display: flex;
  gap: var(--space-lg);
  overflow-x: auto;
  padding-bottom: var(--space-sm);
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
}

.canevi-cat-photo {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-sm);
  min-width: 4.75rem;
  scroll-snap-align: start;
  text-align: center;
}

.canevi-cat-photo__media {
  width: 4.5rem;
  height: 4.5rem;
  border-radius: var(--radius-circle);
  overflow: hidden;
  background: var(--brand-soft);
  border: var(--border-width) solid var(--border);
  transition: transform var(--transition-hover);
}

.canevi-cat-photo__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.canevi-cat-photo__fallback {
  display: block;
  width: 100%;
  height: 100%;
  background: linear-gradient(145deg, var(--brand-soft), var(--nude));
}

.canevi-cat-photo__label {
  font-size: var(--font-caption);
  font-weight: var(--weight-semibold);
  color: var(--text);
  max-width: 5.5rem;
  line-height: var(--line-snug);
}

.canevi-cat-photo--promo .canevi-cat-photo__media {
  border-color: var(--text);
}

.canevi-cat-photo--live .canevi-cat-photo__media {
  /* Border (not outer box-shadow) — survives overflow-x scroll clipping on the track. */
  box-shadow: none;
  border: 2px solid var(--brand);
}

.canevi-cat-photo:hover .canevi-cat-photo__media {
  transform: translateY(calc(var(--lift-sm) * -1));
}

@media (min-width: 900px) {
  .canevi-cat-photo__media {
    width: 5.5rem;
    height: 5.5rem;
  }

  .canevi-cats--photo .canevi-cats__track {
    justify-content: center;
    gap: var(--space-xl);
    overflow: visible;
  }

  .canevi-home--dir-f .canevi-cats--photo .canevi-cats__track,
  .canevi-home--dir-f .canevi-cats .canevi-cats__track {
    justify-content: center !important;
  }
}

/* Dense product rhythm — rails replace grid on Direction F */
.canevi-home--dir-f .canevi-rail .canevi-card__cta {
  display: none;
}

.canevi-home a.canevi-cat-photo {
  color: var(--text);
}

.canevi-home a.canevi-look,
.canevi-home a.canevi-occasion {
  text-decoration: none;
}

/* Header expand search — homepage (beats cached @import) */
.canevi-home-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;
}

.canevi-home-page .canevi-header-search__form:focus-within {
  border: 0 !important;
  box-shadow: none !important;
}

.canevi-home-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;
}

.canevi-home-page .canevi-header-search__input:focus,
.canevi-home-page .canevi-header-search__input:focus-visible {
  outline: none !important;
  box-shadow: none !important;
}

.canevi-home-page .canevi-header--search-open .canevi-header-search__trigger {
  display: none;
}

.canevi-home-page .canevi-header--search-open .canevi-header-search__panel {
  display: block;
  position: absolute;
  z-index: 42;
}

.canevi-home-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);
}

.canevi-home-page .canevi-header-search__suggest a {
  display: block;
  padding: 0.65rem 0.9rem;
  color: var(--text);
  font-size: 0.92rem;
  font-weight: 500;
  text-decoration: none;
}

@media (max-width: 899px) {
  .canevi-home-page .canevi-header--search-open .canevi-header__center,
  .canevi-home-page .canevi-header--search-open .canevi-header__menu-btn {
    opacity: 0;
    pointer-events: none;
  }

  .canevi-home-page .canevi-header--search-open .canevi-header-search__panel {
    left: var(--container-pad, 1.25rem);
    right: var(--container-pad, 1.25rem);
    top: 50%;
    width: auto;
    transform: translateY(-50%);
  }
}

@media (min-width: 900px) {
  .canevi-home-page .canevi-header--search-open .canevi-header-search__panel {
    top: 50%;
    right: 0;
    width: min(20rem, 36vw);
    transform: translateY(-50%);
  }
}

/* Trust strip — one row, icon above copy, brand-pink icons (beats cached UI) */
.canevi-home .canevi-trust__row {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 0 !important;
}

.canevi-home .canevi-trust__item {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  text-align: center !important;
  gap: 0.45rem !important;
  padding: 0.35rem 0.4rem !important;
  border-top: 0 !important;
}

.canevi-home .canevi-trust__item + .canevi-trust__item {
  border-left: var(--border-width) solid var(--border) !important;
  border-top: 0 !important;
}

.canevi-home .canevi-trust__icon,
.canevi-home .canevi-trust__icon .canevi-icon {
  color: #c1608d !important;
}

.canevi-home .canevi-trust__icon .canevi-icon {
  width: 1.9rem !important;
  height: 1.9rem !important;
}

.canevi-home .canevi-trust__icon .canevi-icon [stroke] {
  stroke: currentColor !important;
}



/* canevi search field opaque bg */
.canevi-home-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);
}

.canevi-home-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;
}


/* canevi search suggest ver mais */
.canevi-header-search__suggest-more,
.canevi-search-overlay__suggest-more {
  list-style: none;
}
.canevi-header-search__more,
.canevi-search-overlay__more {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0.65rem 0.9rem;
  border: 0;
  background: transparent;
  color: var(--brand, #c1608d);
  font: inherit;
  font-size: 0.88rem;
  font-weight: 600;
  text-align: left;
  cursor: pointer;
}
.canevi-header-search__more:hover,
.canevi-header-search__more:focus-visible,
.canevi-search-overlay__more:hover,
.canevi-search-overlay__more:focus-visible {
  background: rgba(23, 23, 23, 0.04);
  outline: none;
}
.canevi-header-search__suggest.is-expanded .canevi-header-search__suggest-extra,
.canevi-search-overlay__suggest.is-expanded .canevi-search-overlay__suggest-extra {
  display: list-item;
}
.canevi-header-search__suggest-all a,
.canevi-search-overlay__suggest-all a{
  font-weight:600;
  color:var(--brand,#c1608d);
}

/* canevi drawer close — kill Astra/WebKit blue button chrome */
.canevi-drawer button.canevi-icon-btn,
.canevi-drawer button[data-canevi-menu-close],
.canevi-home-page .canevi-drawer button.canevi-icon-btn,
.canevi-home-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: var(--radius-pill, 999px) !important;
  box-shadow: none !important;
  color: var(--text, #171717) !important;
  -webkit-tap-highlight-color: transparent;
}
.canevi-drawer button.canevi-icon-btn:hover,
.canevi-drawer button.canevi-icon-btn:focus-visible,
.canevi-home-page .canevi-drawer button.canevi-icon-btn:hover,
.canevi-home-page .canevi-drawer button.canevi-icon-btn:focus-visible {
  background: var(--bg-soft, #f5f5f5) !important;
  color: var(--text, #171717) !important;
  outline: none;
}
.canevi-drawer button.canevi-icon-btn svg,
.canevi-drawer button.canevi-icon-btn [stroke] {
  color: inherit !important;
  stroke: currentColor !important;
  fill: none !important;
}

/* canevi drawer blocks 2.16 */
.canevi-drawer {
  display: flex;
  flex-direction: column;
  padding-bottom: calc(var(--space-lg) + env(safe-area-inset-bottom, 0px));
}
.canevi-drawer__body {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  gap: var(--space-xl);
  min-height: 0;
}
.canevi-drawer__label {
  margin: 0 0 var(--space-sm);
  font-size: var(--font-overline, 0.68rem);
  font-weight: var(--weight-bold, 700);
  letter-spacing: var(--tracking-widest, 0.08em);
  text-transform: uppercase;
  color: var(--text-muted);
}
.canevi-drawer__nav--primary a {
  font-size: var(--font-heading-s, 1.05rem);
  font-weight: var(--weight-semibold, 600);
}
.canevi-drawer__nav--explore a {
  font-size: var(--font-body, 0.95rem);
  font-weight: var(--weight-medium, 500);
  color: var(--text-muted);
  padding-top: var(--space-md);
  padding-bottom: var(--space-md);
}
.canevi-drawer__nav--explore a:hover,
.canevi-drawer__nav--explore a:focus-visible {
  color: var(--text);
}
.canevi-drawer__link--promo {
  color: var(--brand, #c1608d) !important;
  font-weight: var(--weight-semibold, 600) !important;
}
.canevi-drawer__nav--account {
  margin-top: var(--space-xs);
  padding-top: var(--space-md);
  border-top: var(--border-width, 1px) solid var(--border, #e4ded9);
}
.canevi-drawer__nav--account a {
  font-size: var(--font-body, 0.95rem);
}
.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: var(--text-inverse, #fff);
  font-size: 0.7rem;
  font-weight: 700;
  line-height: 1;
}
.canevi-drawer__foot {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-sm) var(--space-lg);
  margin-top: auto;
  padding-top: var(--space-lg);
  border-top: var(--border-width, 1px) solid var(--divider, #eee);
}
.canevi-drawer__foot a {
  font-size: var(--font-caption, 0.8rem);
  font-weight: var(--weight-medium, 500);
  color: var(--text-muted);
  text-decoration: none;
  border: 0;
  padding: 0;
}
.canevi-drawer__foot a:hover,
.canevi-drawer__foot a:focus-visible {
  color: var(--brand, #c1608d);
}

/* canevi header pops 2.16.3 — 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;
}
.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; }

.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;
}
.canevi-pop__cart-body { max-height: 14rem; overflow: auto; }
.canevi-pop__cart-foot {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.45rem;
  margin-top: 0.7rem;
  padding-top: 0.7rem;
  border-top: 1px solid rgba(23, 23, 23, 0.08);
}
.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);
}
.canevi-pop .woocommerce-mini-cart,
.canevi-pop .cart_list { list-style: none; margin: 0; padding: 0; }
.canevi-pop .woocommerce-mini-cart-item {
  display: grid;
  grid-template-columns: 48px 1fr;
  gap: 0.55rem;
  padding: 0.55rem 0;
  border-bottom: 1px solid rgba(23, 23, 23, 0.06);
  font-size: 0.8rem;
}
.canevi-pop .woocommerce-mini-cart-item img {
  width: 48px;
  height: 48px;
  object-fit: cover;
  border-radius: 0.35rem;
}
.canevi-pop .woocommerce-mini-cart__total,
.canevi-pop .woocommerce-mini-cart__buttons { display: none; }
.canevi-pop .woocommerce-mini-cart__empty-message {
  margin: 0.75rem 0;
  text-align: center;
  color: var(--text-muted, #6b6b6b);
  font-size: 0.85rem;
}
/* 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(75vh, 32rem);
}
.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);
}
/* hide legacy drawer if cached markup */
.canevi-drawer,
.canevi-drawer-backdrop { display: none !important; }

/* 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;
}

/* canevi live card vertical 2.16.7 */
.canevi-home .canevi-live-card {
  width: min(42vw, 11.5rem) !important;
}
@media (min-width: 700px) {
  .canevi-home .canevi-live-card {
    width: 13rem !important;
  }
}
.canevi-home .canevi-live-card__media {
  aspect-ratio: 3 / 4 !important;
}

/* canevi kill blue selection / tap / system accent 2.16.8 */
html.canevi-home-page,
body.canevi-home-page,
.canevi-home,
.canevi-ui {
  -webkit-tap-highlight-color: transparent;
  accent-color: var(--brand, #c1608d);
  caret-color: var(--brand, #c1608d);
}

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

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

/* iOS / WebKit link tap + focus chrome */
body.canevi-home-page a,
body.canevi-home-page button,
.canevi-home a,
.canevi-home button,
.canevi-ui a,
.canevi-ui button {
  -webkit-tap-highlight-color: transparent;
}

body.canevi-home-page :focus:not(:focus-visible),
.canevi-home :focus:not(:focus-visible),
.canevi-ui :focus:not(:focus-visible) {
  outline: none;
}

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

/* Inputs: kill blue autofill / focus ring where possible */
body.canevi-home-page input,
body.canevi-home-page textarea,
body.canevi-home-page select,
.canevi-home input,
.canevi-home textarea,
.canevi-home select {
  accent-color: var(--brand, #c1608d);
  caret-color: var(--brand, #c1608d);
}

/* canevi search expand fix 2.16.9 — panel must use header bar, not __right */
.canevi-header--search-open .canevi-header__bar {
  position: relative !important;
}
.canevi-header--search-open .canevi-header__right,
.canevi-header--search-open .canevi-header__left {
  position: static !important;
}
.canevi-header--search-open .canevi-header__right > .canevi-header-pop {
  display: none !important;
}
.canevi-header--search-open .canevi-header-search {
  position: static !important;
}
@media (max-width: 899px) {
  .canevi-home-page .canevi-header--search-open .canevi-header-search__panel,
  .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) {
  .canevi-home-page .canevi-header--search-open .canevi-header-search__panel,
  .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;
  }
}















/* canevi same-site layout 2.25.0 — full-page zoom so EVERYTHING matches across desktop widths */
@media (min-width: 900px) {
  /*
   * Layout is authored for 2304px. Zoom the whole homepage (html) to the viewport
   * so header, announce, campaign, cats, rails, footer all share one scale.
   * Token math stays at scale 1 (no double-scaling). Firefox fallback below.
   */
  html.canevi-home-page {
    zoom: calc(100vw / 2304px);
  }

  .canevi-home--dir-f {
    --canevi-ui-scale: 1;

    --canevi-desk-pad: calc(32px * var(--canevi-ui-scale));
    --canevi-rail-gap: calc(20px * var(--canevi-ui-scale));
    --canevi-section-pad-y: calc(36px * var(--canevi-ui-scale));
    --canevi-head-mb: calc(18px * var(--canevi-ui-scale));

    --canevi-fs-section: calc(36px * var(--canevi-ui-scale));
    --canevi-fs-more: calc(18.67px * var(--canevi-ui-scale));
    --canevi-fs-card-title: calc(20.48px * var(--canevi-ui-scale));
    --canevi-fs-price: calc(28px * 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-badge: calc(17.5px * var(--canevi-ui-scale));
    --canevi-fs-look-title: calc(28.67px * var(--canevi-ui-scale));
    --canevi-fs-look-sub: calc(17.41px * var(--canevi-ui-scale));
    --canevi-fs-occ-label: calc(20.96px * var(--canevi-ui-scale));
    --canevi-fs-occ-sub: calc(16.17px * var(--canevi-ui-scale));
    --canevi-fs-live-title: calc(22px * var(--canevi-ui-scale));

    --canevi-badge-pad-y: calc(6px * var(--canevi-ui-scale));
    --canevi-badge-pad-x: calc(11px * var(--canevi-ui-scale));
    --canevi-swatch-size: calc(14px * var(--canevi-ui-scale));
    --canevi-card-meta-pad: calc(8.8px * var(--canevi-ui-scale)) calc(1.6px * var(--canevi-ui-scale)) calc(2.4px * var(--canevi-ui-scale));
    --canevi-flash-bar-h: calc(34px * var(--canevi-ui-scale));
    --canevi-fs-flash: calc(14.5px * var(--canevi-ui-scale));

    /* Categories + campaign must use same scale (fixed rem caused resolution drift) */
    --canevi-cat-size: calc(88px * var(--canevi-ui-scale));
    --canevi-cat-gap: calc(36px * var(--canevi-ui-scale));
    --canevi-fs-cat: calc(15px * var(--canevi-ui-scale));
    --canevi-fs-campaign-title: calc(50px * var(--canevi-ui-scale));
    --canevi-fs-campaign-sub: calc(18px * var(--canevi-ui-scale));
    --canevi-fs-campaign-badge: calc(13px * var(--canevi-ui-scale));
    --canevi-campaign-cta-h: calc(44px * var(--canevi-ui-scale));
  }

  .canevi-home--dir-f .canevi-home-sheet .canevi-container,
  .canevi-home--dir-f .canevi-rail > .canevi-container,
  .canevi-home--dir-f .canevi-looks > .canevi-container,
  .canevi-home--dir-f .canevi-occasions > .canevi-container {
    width: 100% !important;
    max-width: none !important;
    margin-inline: 0;
    padding-inline: var(--canevi-desk-pad);
    box-sizing: border-box;
  }

  .canevi-home--dir-f .canevi-rail,
  .canevi-home--dir-f .canevi-looks,
  .canevi-home--dir-f .canevi-occasions {
    padding-top: var(--canevi-section-pad-y);
    padding-bottom: var(--canevi-section-pad-y);
  }

  .canevi-home--dir-f .canevi-rail__arrow,
  .canevi-home--dir-f .canevi-looks .canevi-rail__arrow,
  .canevi-home--dir-f .canevi-occasions .canevi-rail__arrow {
    display: none !important;
  }

  .canevi-home--dir-f .canevi-rail .canevi-section__head.canevi-rail__head,
  .canevi-home--dir-f .canevi-looks .canevi-section__head,
  .canevi-home--dir-f .canevi-occasions .canevi-section__head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: var(--canevi-head-mb);
    width: 100%;
  }

  .canevi-home--dir-f .canevi-rail .canevi-section__title,
  .canevi-home--dir-f .canevi-looks .canevi-section__title,
  .canevi-home--dir-f .canevi-occasions .canevi-section__title {
    font-size: var(--canevi-fs-section) !important;
    font-weight: 700;
    letter-spacing: -0.02em;
    line-height: 1.15;
    margin: 0;
  }

  .canevi-home--dir-f .canevi-rail .canevi-section__more {
    font-size: var(--canevi-fs-more) !important;
    font-weight: 500 !important;
    color: #6b6b6b !important;
    text-decoration: none !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    white-space: nowrap;
  }

  .canevi-home--dir-f .canevi-rail__viewport,
  .canevi-home--dir-f .canevi-looks .canevi-rail__viewport,
  .canevi-home--dir-f .canevi-occasions .canevi-rail__viewport {
    overflow: visible !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0;
    padding-inline: var(--canevi-desk-pad);
    box-sizing: border-box;
  }

  .canevi-home--dir-f .canevi-rail__track {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--canevi-rail-gap);
    overflow: visible !important;
    overflow-x: visible !important;
    scroll-snap-type: none !important;
    padding: 0 !important;
    width: 100%;
    margin: 0;
    scrollbar-width: none;
  }

  .canevi-home--dir-f .canevi-rail--lives .canevi-rail__track,
  .canevi-home--dir-f .canevi-occasions .canevi-rail__track,
  .canevi-home--dir-f .canevi-occasions__track {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: var(--canevi-rail-gap);
    overflow: visible !important;
    overflow-x: visible !important;
    scroll-snap-type: none !important;
    padding: 0 !important;
    width: 100%;
    margin: 0;
    scrollbar-width: none;
  }

  .canevi-home--dir-f .canevi-looks .canevi-rail__track,
  .canevi-home--dir-f .canevi-looks__track {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--canevi-rail-gap);
    overflow: visible !important;
    overflow-x: visible !important;
    scroll-snap-type: none !important;
    padding: 0 !important;
    width: 100%;
    margin: 0;
    scrollbar-width: none;
  }

  .canevi-home--dir-f .canevi-rail__track::-webkit-scrollbar,
  .canevi-home--dir-f .canevi-looks__track::-webkit-scrollbar,
  .canevi-home--dir-f .canevi-occasions__track::-webkit-scrollbar {
    display: none;
  }

  .canevi-home--dir-f .canevi-rail__slide,
  .canevi-home--dir-f .canevi-rail .canevi-card.canevi-rail__slide,
  .canevi-home--dir-f .canevi-rail .canevi-live-card,
  .canevi-home--dir-f .canevi-look,
  .canevi-home--dir-f .canevi-occasion {
    flex: unset !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    scroll-snap-align: unset;
  }

  .canevi-home--dir-f .canevi-look {
    min-height: 0;
    aspect-ratio: 3 / 4;
    height: auto;
  }

  .canevi-home--dir-f .canevi-look__title {
    font-size: var(--canevi-fs-look-title) !important;
  }

  .canevi-home--dir-f .canevi-look__sub {
    font-size: var(--canevi-fs-look-sub) !important;
  }

  .canevi-home--dir-f .canevi-occasion {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
  }

  .canevi-home--dir-f .canevi-occasion__media {
    width: 100%;
    aspect-ratio: 3 / 4;
    border-radius: var(--radius-md, 0.75rem);
    overflow: hidden;
  }

  .canevi-home--dir-f .canevi-occasion__label {
    font-size: var(--canevi-fs-occ-label) !important;
  }

  .canevi-home--dir-f .canevi-occasion__sub {
    font-size: var(--canevi-fs-occ-sub) !important;
  }

  .canevi-home--dir-f .canevi-rail .canevi-card__title {
    font-size: var(--canevi-fs-card-title) !important;
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 1 !important;
    line-clamp: 1 !important;
    overflow: hidden !important;
    height: 1.35em !important;
    min-height: 1.35em !important;
    max-height: 1.35em !important;
    white-space: normal !important;
  }

  .canevi-home--dir-f .canevi-rail .canevi-card__price,
  .canevi-home--dir-f .canevi-rail .canevi-price,
  .canevi-home--dir-f .canevi-rail .canevi-price--amazon {
    font-size: var(--canevi-fs-price) !important;
  }

  .canevi-home--dir-f .canevi-rail .canevi-card__ref {
    font-size: var(--canevi-fs-ref) !important;
  }

  .canevi-home--dir-f .canevi-rail .canevi-offer__trigger {
    font-size: var(--canevi-fs-offer) !important;
  }

  .canevi-home--dir-f .canevi-rail .canevi-card__swatches {
    gap: calc(4.5px * var(--canevi-ui-scale)) !important;
    min-height: calc(16px * var(--canevi-ui-scale)) !important;
  }

  .canevi-home--dir-f .canevi-rail .canevi-card__cta {
    display: none !important;
  }

  .canevi-home--dir-f .canevi-rail .canevi-card__badges {
    max-width: calc(100% - 0.5rem);
    flex-wrap: wrap;
  }

  .canevi-home--dir-f .canevi-rail .canevi-badge {
    font-size: var(--canevi-fs-badge) !important;
    padding: var(--canevi-badge-pad-y) var(--canevi-badge-pad-x) !important;
  }

  .canevi-home--dir-f .canevi-rail .canevi-card__body,
  .canevi-home--dir-f .canevi-rail .canevi-card__meta {
    padding: var(--canevi-card-meta-pad) !important;
  }

  .canevi-home--dir-f .canevi-rail .canevi-card__swatch {
    width: var(--canevi-swatch-size) !important;
    height: var(--canevi-swatch-size) !important;
  }

  .canevi-home--dir-f .canevi-rail .canevi-card--flash {
    --canevi-flash-bar-h: calc(34px * var(--canevi-ui-scale));
  }

  .canevi-home--dir-f .canevi-rail .canevi-card__flash-bar {
    min-height: var(--canevi-flash-bar-h) !important;
    padding: calc(7px * var(--canevi-ui-scale)) calc(12px * var(--canevi-ui-scale)) !important;
    gap: calc(6px * var(--canevi-ui-scale)) !important;
  }

  .canevi-home--dir-f .canevi-rail .canevi-card__flash-label,
  .canevi-home--dir-f .canevi-rail .canevi-card__flash-sep,
  .canevi-home--dir-f .canevi-rail .canevi-card__flash-countdown {
    font-size: var(--canevi-fs-flash) !important;
  }

  .canevi-home--dir-f .canevi-rail .canevi-live-card {
    border-radius: var(--radius-md, 0.75rem);
  }

  .canevi-home--dir-f .canevi-rail .canevi-live-card__media {
    aspect-ratio: 3 / 4;
  }

  .canevi-home--dir-f .canevi-rail .canevi-live-card__title {
    font-size: var(--canevi-fs-live-title) !important;
  }

  /* Categories: same % of viewport at every desktop width */
  .canevi-home--dir-f .canevi-cats--photo .canevi-cats__track,
  .canevi-home--dir-f .canevi-cats .canevi-cats__track {
    justify-content: center !important;
    gap: var(--canevi-cat-gap) !important;
  }

  .canevi-home--dir-f .canevi-cat-photo__media {
    width: var(--canevi-cat-size) !important;
    height: var(--canevi-cat-size) !important;
  }

  .canevi-home--dir-f .canevi-cat-photo__label {
    font-size: var(--canevi-fs-cat) !important;
    max-width: calc(var(--canevi-cat-size) + 16px) !important;
  }

  .canevi-home--dir-f .canevi-cat-photo {
    min-width: var(--canevi-cat-size) !important;
  }

  /* Campaign copy scales with viewport like product rails */
  .canevi-home--dir-f .canevi-campaign__title {
    font-size: var(--canevi-fs-campaign-title) !important;
  }

  .canevi-home--dir-f .canevi-campaign__sub {
    font-size: var(--canevi-fs-campaign-sub) !important;
  }

  .canevi-home--dir-f .canevi-campaign__badge {
    font-size: var(--canevi-fs-campaign-badge) !important;
  }

  .canevi-home--dir-f .canevi-campaign__cta {
    min-height: var(--canevi-campaign-cta-h) !important;
    font-size: var(--canevi-fs-cat) !important;
  }
}

/* canevi promo-red palette 2.19.2 — mobile + desktop (same site) */
.canevi-home--dir-f {
  --canevi-promo-red: #f93956;
  --badge-promo-bg: #f93956;
  --badge-promo-fg: #fff;
}

.canevi-home--dir-f .canevi-card--sale .canevi-card__price .canevi-price__now,
.canevi-home--dir-f .canevi-card--sale .canevi-card__price .canevi-price__int,
.canevi-home--dir-f .canevi-card--sale .canevi-card__price .canevi-price__dec,
.canevi-home--dir-f .canevi-card--sale .canevi-card__price .canevi-price__cur,
.canevi-home--dir-f .canevi-card--sale .canevi-card__price ins,
.canevi-home--dir-f .canevi-card--sale .canevi-card__price ins .woocommerce-Price-amount,
.canevi-home--dir-f .canevi-rail .canevi-card--sale .canevi-card__price .canevi-price__now,
.canevi-home--dir-f .canevi-rail .canevi-card--sale .canevi-card__price .canevi-price__int,
.canevi-home--dir-f .canevi-rail .canevi-card--sale .canevi-card__price .canevi-price__dec,
.canevi-home--dir-f .canevi-rail .canevi-card--sale .canevi-card__price .canevi-price__cur {
  color: var(--canevi-promo-red) !important;
}

.canevi-home--dir-f .canevi-card__flash-bar {
  background: var(--canevi-promo-red) !important;
  color: #fff !important;
}

.canevi-home--dir-f .canevi-card__badges .canevi-badge--promo,
.canevi-home--dir-f .canevi-card__badges .canevi-badge--pct,
.canevi-home--dir-f .canevi-card .canevi-badge--promo,
.canevi-home--dir-f .canevi-card .canevi-badge--pct,
.canevi-home--dir-f .canevi-rail .canevi-card__badges .canevi-badge--promo,
.canevi-home--dir-f .canevi-rail .canevi-card__badges .canevi-badge--pct {
  background: var(--canevi-promo-red) !important;
  color: #fff !important;
}

/* canevi page-zoom firefox fallback 2.25.0 */
@supports not (zoom: 1) {
  @media (min-width: 900px) {
    html.canevi-home-page {
      zoom: normal;
    }
    .canevi-home--dir-f {
      --canevi-ui-scale: calc(100vw / 2304px);
    }
  }
}