:root {
  /* Casava Vogue storefront palette */
  --cv-primary: #111111;
  --cv-black: #111111;
  --cv-forest: #263c32;
  --cv-tan: #a67c52;
  --cv-warm-translucent: rgba(0, 0, 0, .08);

  --cv-page: #f2f2f2;
  --cv-paper: #ffffff;
  --cv-ink: #211c19;
  --cv-muted: #776d65;
  --cv-line: #e7e7e7;
  --cv-soft: #e7e7e7;
  --cv-accent: #111111;
  --cv-link: #111111;
  --cv-price: #111111;
  --cv-sale: #111111;
  --cv-shipping: #263c32;
  --cv-button-bg: #111111;
  --cv-button-text: #ffffff;
  --cv-button-secondary-bg: #ffffff;
  --cv-button-secondary-text: #211c19;
  --cv-header-bg: rgba(242, 242, 242, .94);
  --cv-header-text: #211c19;
  --cv-badge-bg: rgba(0, 0, 0, .08);
  --cv-badge-text: #111111;

  /* Shared aliases used by the individual storefront page styles. */
  --page: var(--cv-page);
  --paper: var(--cv-paper);
  --ink: var(--cv-ink);
  --muted: var(--cv-muted);
  --line: var(--cv-line);
  --soft: var(--cv-soft);
  --accent: var(--cv-accent);
  --wine: var(--cv-primary);
  --deep: var(--cv-forest);
  --gold: var(--cv-tan);
  --cv-font-family: "Avenir Next", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --cv-base-font-size: 14.75px;
  --cv-mobile-font-size: 13.75px;
  --cv-body-line-height: 1.48;
  --cv-heading-weight: 470;
  --cv-title-weight: 500;
  --cv-label-weight: 520;
  --cv-button-font-size: 12.25px;
  --cv-input-font-size: 12.25px;
  --cv-product-name-size: 12.25px;
  --cv-price-font-size: 12.25px;
  --cv-border-width: 0px;
  --cv-radius: 8px;
  --cv-button-radius: 5px;
  --cv-input-radius: 999px;
  --cv-card-padding: 10px;
}

.cv-cookie-notice {
  position: fixed;
  left: 50%;
  bottom: 18px;
  z-index: 2147483000;
  width: min(760px, calc(100% - 28px));
  padding: 14px 16px;
  display: flex;
  align-items: center;
  gap: 18px;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 8px;
  background: rgba(10,10,10,.96);
  color: #fff;
  box-shadow: 0 12px 36px rgba(0,0,0,.2);
  font-family: "Avenir Next", "Helvetica Neue", Arial, sans-serif;
  transform: translateX(-50%);
}
.cv-cookie-notice__copy { min-width: 0; flex: 1; }
.cv-cookie-notice__copy strong { display: block; margin-bottom: 2px; font-size: 13px; font-weight: 500; }
.cv-cookie-notice__copy p { margin: 0; color: #c9c9c9; font-size: 11px !important; line-height: 1.4 !important; }
.cv-cookie-notice__copy a { color: #fff; text-decoration: underline; text-underline-offset: 2px; }
.cv-cookie-notice__accept { flex: 0 0 auto; min-height: 36px; padding: 8px 15px; border: 0; border-radius: 5px; background: #fff; color: #111; font-size: 11px; font-weight: 500; cursor: pointer; }
@media (max-width: 820px) {
  .cv-cookie-notice { bottom: calc(64px + env(safe-area-inset-bottom)); padding: 13px; align-items: stretch; flex-direction: column; gap: 10px; }
  .cv-cookie-notice__accept { width: 100%; }
}

/* Storefront headers use one neutral, pill-shaped search treatment. */
.app-header .app-search,
.catalog-header .catalog-search,
.main-header .search-form,
.site-header .search-form,
.search-head .search-pill {
  border-radius: 999px !important;
}

body {
  background: var(--cv-page) !important;
  color: var(--cv-ink) !important;
  font-family: var(--cv-font-family) !important;
  font-size: var(--cv-base-font-size) !important;
  line-height: var(--cv-body-line-height) !important;
  letter-spacing: 0 !important;
}

.site-header,
.main-header,
.topbar {
  background: var(--cv-header-bg) !important;
  border-bottom: var(--cv-border-width) solid var(--cv-line) !important;
  backdrop-filter: blur(16px);
  box-shadow: none !important;
}

.header-inner,
.topbar-inner {
  padding-top: 13px !important;
  padding-bottom: 13px !important;
}

.brand,
.logo {
  color: var(--cv-header-text) !important;
  font-size: 12px !important;
  font-weight: var(--cv-label-weight) !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
}

a {
  color: var(--cv-link);
}

h1 {
  font-weight: var(--cv-heading-weight) !important;
  letter-spacing: 0 !important;
}

h2,
h3 {
  color: var(--cv-ink) !important;
  font-weight: var(--cv-heading-weight) !important;
  letter-spacing: 0 !important;
}

h2 {
  font-size: clamp(20px, 2.4vw, 32px) !important;
}

p,
.section-copy,
.hero-copy,
.muted,
.product-meta,
.note-item span,
.detail-list,
.product-description {
  color: var(--cv-muted) !important;
}

.button,
.btn,
.icon-link,
.grid-cart-btn,
.search_sbtn,
.coupon-btn,
.add-to-cart-btn,
.checkout-btn,
.primary-button,
.wishlist-btn,
.theme-toggle {
  border-radius: var(--cv-button-radius) !important;
  border-color: var(--cv-line) !important;
  border-width: var(--cv-border-width) !important;
  font-size: var(--cv-button-font-size) !important;
  font-weight: 560 !important;
}

.button.primary,
.btn.primary,
.grid-cart-btn,
.search_sbtn,
.coupon-btn,
.add-to-cart-btn,
.checkout-btn,
.primary-button {
  background: var(--cv-button-bg) !important;
  border-color: var(--cv-button-bg) !important;
  color: var(--cv-button-text) !important;
}

.button:not(.primary),
.btn:not(.primary),
.icon-link,
.theme-toggle {
  background: var(--cv-button-secondary-bg) !important;
  color: var(--cv-button-secondary-text) !important;
}

input,
select,
textarea {
  border-radius: var(--cv-input-radius) !important;
  border-color: var(--cv-line) !important;
  border-width: var(--cv-border-width) !important;
  font-size: var(--cv-input-font-size) !important;
}

.panel,
.card,
.product-card,
.category-card,
.note-item,
.store-note,
.discount-card,
.requirement,
.faq-item,
.identity-card,
.search-dropdown,
.cart-item,
.summary-card,
.address-card,
.payment-card,
.order-card {
  border: var(--cv-border-width) solid var(--cv-line) !important;
  border-radius: var(--cv-radius) !important;
  box-shadow: none !important;
}

.product-card,
.panel,
.card,
.note-item,
.discount-card,
.requirement,
.faq-item {
  background: var(--cv-paper) !important;
}

.store-note {
  background: var(--cv-line) !important;
}

.product-info,
.product-body {
  padding: var(--cv-card-padding) !important;
}

.product-name {
  font-size: var(--cv-product-name-size) !important;
  line-height: 1.35 !important;
  font-weight: var(--cv-title-weight) !important;
}

.subcategory,
.section-kicker,
.eyebrow,
.discount-tag,
.shipping-tag,
.promo-countdown {
  font-size: 10px !important;
  letter-spacing: .1em !important;
  font-weight: var(--cv-label-weight) !important;
}

.subcategory,
.section-kicker,
.eyebrow {
  color: var(--cv-muted) !important;
}

.discount-tag,
.promo-countdown,
.coupon-applied {
  color: var(--cv-sale) !important;
}

.shipping-tag {
  color: var(--cv-shipping) !important;
}

.price,
.price-now {
  color: var(--cv-price) !important;
  font-size: var(--cv-price-font-size) !important;
}

.price-was {
  font-size: 11px !important;
}

.pill,
.status,
.cart-count,
.registered-badge {
  background: var(--cv-badge-bg) !important;
  color: var(--cv-badge-text) !important;
}

.hero {
  border-radius: 0 !important;
}

@media (max-width: 820px) {
  body {
    font-size: var(--cv-mobile-font-size) !important;
  }

  .page {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  .header-inner,
  .topbar-inner {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  h1 {
    font-size: clamp(34px, 10vw, 48px) !important;
  }

  .product-detail .product-title {
    font-size: 22px !important;
    line-height: 1.18 !important;
  }

  h2 {
    font-size: 22px !important;
  }

  .hero-copy,
  .section-copy,
  p {
    font-size: 13.75px !important;
    line-height: 1.65 !important;
  }

  .button,
  .btn,
  .icon-link,
  .grid-cart-btn,
  .coupon-btn,
  .checkout-btn {
    min-height: 36px !important;
    font-size: 11.75px !important;
  }

  .panel,
  .card,
  .discount-card,
  .requirement,
  .faq-item {
    padding: 16px !important;
  }
}
