/* === CUCUVET — Design tokens === */
:root {
  --cv-primary:      #2D5016;
  --cv-primary-dk:   #1E3810;
  --cv-primary-md:   #3d6b20;
  --cv-primary-lt:   #EAF2E0;
  --cv-primary-pale: #F4F9EF;

  --cv-gold:         #C9A84C;
  --cv-gold-dk:      #A8893C;
  --cv-gold-lt:      #F5EDD0;

  --cv-bg:           #FAF8F4;
  --cv-bg-alt:       #F2EDE3;
  --cv-bg-card:      #FFFFFF;
  --cv-border:       #E5D8C8;
  --cv-border-lt:    #F0E8DC;
  --cv-rule:         #D9CCB8;

  --cv-title:        #1C2614;
  --cv-text:         #3A4A2C;
  --cv-text-2:       #5C6B4A;
  --cv-text-3:       #8A9878;

  --cv-success:      #3A7D44;
  --cv-warning:      #C47B1A;
  --cv-error:        #B03A2E;

  --cv-badge-rx:     #8B1A1A;
  --cv-badge-rx-bg:  #FDEAEA;
  --cv-badge-otc:    #2D5016;
  --cv-badge-otc-bg: #EAF2E0;

  --cv-font-heading: 'Manrope', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --cv-font-body:    'Manrope', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

  --cv-shadow-sm: 0 1px 2px rgba(28,38,20,0.06);
  --cv-shadow-md: 0 4px 16px rgba(28,38,20,0.07);
  --cv-shadow-lg: 0 12px 40px rgba(28,38,20,0.12);
  --cv-radius:    4px;
  --cv-radius-lg: 12px;
}

* { box-sizing: border-box; -webkit-tap-highlight-color: transparent; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: var(--cv-font-body);
  font-size: 15px;
  line-height: 1.6;
  color: var(--cv-text);
  background: var(--cv-bg);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
img, svg { display: block; max-width: 100%; }
button { font: inherit; cursor: pointer; border: none; background: none; color: inherit; }
a { color: inherit; text-decoration: none; }
input, select, textarea { font: inherit; color: inherit; }

h1, h2, h3, h4 { margin: 0; font-family: var(--cv-font-heading); color: var(--cv-title); font-weight: 800; letter-spacing: -0.03em; }
h1 { font-size: clamp(38px, 5.2vw, 64px); line-height: 1.02; letter-spacing: -0.04em; }
h2 { font-size: clamp(28px, 3.6vw, 44px); line-height: 1.08; letter-spacing: -0.035em; }
h3 { font-size: 22px; line-height: 1.2; font-weight: 700; letter-spacing: -0.02em; }
h4 { font-weight: 700; letter-spacing: -0.015em; }
p { margin: 0 0 1em; }

/* Editorial eyebrow */
.cv-eyebrow {
  font-family: var(--cv-font-body);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--cv-primary);
}
.cv-eyebrow--gold { color: var(--cv-gold-dk); }
.cv-eyebrow--muted { color: var(--cv-text-3); }

/* Accent — light weight contrast (was: italic serif accent) */
.serif-italic { font-weight: 300; letter-spacing: -0.035em; }
h1 .serif-italic, h2 .serif-italic { font-weight: 300; }

/* === Stage / viewport === */
.stage {
  min-height: 100vh;
  background: #2a2520;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 24px 0 80px;
}
.stage__toolbar {
  position: fixed;
  top: 16px;
  right: 16px;
  z-index: 9999;
  display: flex;
  align-items: center;
  gap: 4px;
  background: rgba(28,38,20,0.92);
  backdrop-filter: blur(8px);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 999px;
  padding: 4px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.3);
}
.stage__toolbar button {
  font-family: var(--cv-font-body);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.6);
  padding: 8px 14px;
  border-radius: 999px;
  display: flex;
  align-items: center;
  gap: 6px;
  transition: all 0.15s;
}
.stage__toolbar button.is-active {
  background: var(--cv-gold);
  color: var(--cv-title);
}
.stage__frame {
  background: var(--cv-bg);
  box-shadow: 0 30px 80px rgba(0,0,0,0.4);
  overflow: hidden;
  transition: width 0.3s ease;
}
.stage__frame--desktop { width: 1440px; max-width: calc(100vw - 32px); }
.stage__frame--mobile { width: 390px; }

/* Browser chrome for desktop */
.chrome {
  background: linear-gradient(180deg, #ece6db 0%, #e0d8c8 100%);
  padding: 10px 14px 8px;
  display: flex;
  align-items: center;
  gap: 12px;
  border-bottom: 1px solid var(--cv-border);
}
.chrome__dots { display: flex; gap: 6px; }
.chrome__dots span { width: 12px; height: 12px; border-radius: 50%; background: #c8baa3; }
.chrome__dots span:nth-child(1) { background: #e07b67; }
.chrome__dots span:nth-child(2) { background: #d9a64a; }
.chrome__dots span:nth-child(3) { background: #7ba36b; }
.chrome__addr {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 8px;
  background: #faf7f0;
  border: 1px solid #d4c8b3;
  border-radius: 6px;
  padding: 6px 12px;
  font-size: 12px;
  color: var(--cv-text-2);
}
.chrome__lock { color: var(--cv-success); }

/* Mobile device chrome */
.mobile-status {
  background: var(--cv-bg);
  padding: 14px 24px 6px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 14px;
  font-weight: 600;
  color: var(--cv-title);
}
.mobile-status__icons { display: flex; gap: 4px; align-items: center; }

/* === Container === */
.cv-container {
  width: 100%;
  margin: 0 auto;
  padding: 0 40px;
}
.is-mobile .cv-container { padding: 0 20px; }
.stage__frame--desktop .cv-container { max-width: 1280px; }

/* === Buttons === */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  height: 48px;
  padding: 0 24px;
  font-family: var(--cv-font-body);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  border-radius: 2px;
  border: 1.5px solid transparent;
  transition: all 0.2s ease;
  cursor: pointer;
  white-space: nowrap;
}
.btn--primary {
  background: var(--cv-primary);
  color: white;
}
.btn--primary:hover { background: var(--cv-primary-dk); transform: translateY(-1px); box-shadow: 0 8px 24px rgba(45,80,22,0.25); }
.btn--gold {
  background: var(--cv-gold);
  color: var(--cv-title);
}
.btn--gold:hover { background: var(--cv-gold-dk); color: white; }
.btn--ghost {
  background: transparent;
  border-color: var(--cv-title);
  color: var(--cv-title);
}
.btn--ghost:hover { background: var(--cv-title); color: white; }
.btn--ghost-light {
  background: transparent;
  border-color: rgba(255,255,255,0.4);
  color: white;
}
.btn--ghost-light:hover { background: white; color: var(--cv-title); }
.btn--sm { height: 38px; padding: 0 16px; font-size: 11px; }
.btn--lg { height: 56px; padding: 0 32px; font-size: 14px; }
.btn--block { width: 100%; }

/* === Badges === */
.badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  padding: 5px 9px;
  border-radius: 2px;
  font-family: var(--cv-font-body);
}
.badge--rx   { background: var(--cv-badge-rx-bg);  color: var(--cv-badge-rx); }
.badge--otc  { background: var(--cv-badge-otc-bg); color: var(--cv-badge-otc); }
.badge--new  { background: var(--cv-gold-lt);      color: var(--cv-gold-dk); }
.badge--sale { background: #fadcd6;                color: var(--cv-error); }
.badge--ghost-light {
  background: rgba(255,255,255,0.12);
  border: 1px solid rgba(255,255,255,0.2);
  color: rgba(255,255,255,0.92);
  backdrop-filter: blur(6px);
}

/* === Rules / dividers === */
.cv-hr { border: 0; height: 1px; background: var(--cv-rule); margin: 0; }
.cv-hr--gold { background: var(--cv-gold); height: 2px; width: 40px; }

/* === Cards === */
.product-card {
  position: relative;
  display: flex;
  flex-direction: column;
  background: var(--cv-bg-card);
  border: 1px solid var(--cv-border-lt);
  transition: all 0.25s ease;
  cursor: pointer;
}
.product-card:hover {
  border-color: var(--cv-rule);
  box-shadow: var(--cv-shadow-md);
  transform: translateY(-2px);
}
.product-card__media {
  position: relative;
  aspect-ratio: 1;
  background: var(--cv-bg-alt);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.product-card__badges {
  position: absolute;
  top: 12px;
  left: 12px;
  display: flex;
  gap: 6px;
  z-index: 2;
}
.product-card__wishlist {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 36px;
  height: 36px;
  background: rgba(255,255,255,0.9);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--cv-text-2);
  transition: all 0.2s;
  z-index: 2;
}
.product-card__wishlist:hover { color: var(--cv-error); background: white; }
.product-card__body {
  padding: 18px 18px 20px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  flex: 1;
}
.product-card__brand {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--cv-text-3);
}
.product-card__title {
  font-family: var(--cv-font-heading);
  font-size: 16px;
  font-weight: 700;
  color: var(--cv-title);
  line-height: 1.25;
  letter-spacing: -0.02em;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.product-card__meta {
  font-size: 12px;
  color: var(--cv-text-2);
  margin-bottom: 8px;
}
.product-card__rating {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 4px;
}
.product-card__rating-val {
  font-size: 12px;
  font-weight: 700;
  color: var(--cv-title);
  letter-spacing: -0.01em;
}
.product-card__rating-count {
  font-size: 11px;
  color: var(--cv-text-3);
}
.product-card__add--buy {
  background: var(--cv-gold) !important;
  color: var(--cv-title) !important;
  padding: 0 18px;
}
.product-card__add--buy:hover {
  background: var(--cv-gold-dk) !important;
  color: var(--cv-title) !important;
}

/* ============================================================
   PRODUCT SHELF — horizontal scrolling line of products
   ============================================================ */
.shelf { margin-bottom: 56px; }
.shelf:last-child { margin-bottom: 0; }
.shelf__head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 24px;
  flex-wrap: wrap;
}
.shelf__title {
  font-size: clamp(22px, 2.6vw, 30px);
  font-weight: 800;
  letter-spacing: -0.03em;
  color: var(--cv-title);
  line-height: 1.05;
}
.shelf__nav {
  width: 40px;
  height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--cv-border);
  background: var(--cv-bg-card);
  color: var(--cv-title);
  transition: all 0.18s;
  flex-shrink: 0;
}
.shelf__nav:hover { background: var(--cv-primary); color: #fff; border-color: var(--cv-primary); }
.shelf__scroller {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(240px, 1fr);
  gap: 20px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  padding-bottom: 8px;
  scrollbar-width: thin;
  scrollbar-color: var(--cv-border) transparent;
}
.shelf__scroller::-webkit-scrollbar { height: 8px; }
.shelf__scroller::-webkit-scrollbar-track { background: transparent; }
.shelf__scroller::-webkit-scrollbar-thumb { background: var(--cv-border); border-radius: 4px; }
.shelf__item { scroll-snap-align: start; }
@media (max-width: 767px) {
  .shelf__scroller { grid-auto-columns: minmax(72%, 72%); gap: 12px; }
  .shelf { margin-bottom: 40px; }
}
.product-card__footer {
  margin-top: auto;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  padding-top: 12px;
  border-top: 1px solid var(--cv-border-lt);
}
.product-card__price {
  display: flex;
  flex-direction: column;
}
.product-card__price-now {
  font-family: var(--cv-font-body);
  font-size: 18px;
  font-weight: 700;
  color: var(--cv-title);
  letter-spacing: -0.01em;
}
.product-card__price-old {
  font-size: 12px;
  color: var(--cv-text-3);
  text-decoration: line-through;
}
.product-card__rating {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  color: var(--cv-text-2);
}
.product-card__add {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  height: 38px;
  padding: 0 14px;
  background: var(--cv-primary);
  color: white;
  font-family: var(--cv-font-body);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  border-radius: 2px;
  transition: all 0.2s;
  white-space: nowrap;
}
.product-card__add:hover { background: var(--cv-primary-dk); transform: translateY(-1px); box-shadow: 0 6px 14px rgba(45,80,22,0.25); }

/* === Placeholder media === */
.ph-media {
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background:
    linear-gradient(135deg, rgba(45,80,22,0.04) 0%, rgba(201,168,76,0.06) 100%),
    var(--cv-bg-alt);
  overflow: hidden;
}
.ph-media__label {
  position: absolute;
  bottom: 12px;
  left: 12px;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--cv-text-3);
  display: flex;
  align-items: center;
  gap: 6px;
}
.ph-media__label::before {
  content: '';
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--cv-text-3);
}
.ph-media__center {
  text-align: center;
  padding: 24px;
  max-width: 80%;
}
.ph-media__center .name {
  font-family: var(--cv-font-heading);
  font-size: 20px;
  font-weight: 700;
  color: var(--cv-text-2);
  line-height: 1.2;
  letter-spacing: -0.02em;
}
.ph-media__center .brand {
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--cv-text-3);
  margin-bottom: 8px;
}
.ph-media svg.cat-silhouette {
  width: 64%;
  max-width: 240px;
  opacity: 0.14;
  position: absolute;
}

/* === Form === */
.field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.field__label {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--cv-text-2);
}
.input, .select, .textarea {
  width: 100%;
  height: 48px;
  background: var(--cv-bg-card);
  border: 1px solid var(--cv-border);
  border-radius: 2px;
  padding: 0 14px;
  font-size: 14px;
  color: var(--cv-title);
  transition: border-color 0.2s, box-shadow 0.2s;
}
.textarea { height: auto; padding: 12px 14px; min-height: 88px; resize: vertical; }
.input:focus, .select:focus, .textarea:focus {
  outline: none;
  border-color: var(--cv-primary);
  box-shadow: 0 0 0 3px rgba(45,80,22,0.10);
}
.select { appearance: none; background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1l5 5 5-5' stroke='%233A4A2C' stroke-width='1.5' fill='none' stroke-linecap='round'/></svg>"); background-repeat: no-repeat; background-position: right 14px center; padding-right: 36px; }
.checkbox {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  font-size: 14px;
}
.checkbox input { width: 18px; height: 18px; accent-color: var(--cv-primary); }

/* === Stepper === */
.stepper {
  display: inline-flex;
  align-items: center;
  border: 1px solid var(--cv-border);
  border-radius: 2px;
  background: var(--cv-bg-card);
  overflow: hidden;
}
.stepper button {
  width: 40px;
  height: 44px;
  font-size: 16px;
  color: var(--cv-text);
  transition: background 0.15s;
}
.stepper button:hover { background: var(--cv-primary-lt); color: var(--cv-primary); }
.stepper__value { padding: 0 8px; min-width: 36px; text-align: center; font-weight: 600; color: var(--cv-title); }

/* === Trust pill === */
.trust-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  background: var(--cv-primary-pale);
  border-radius: 999px;
  font-size: 12px;
  color: var(--cv-text);
}
.trust-pill__icon { color: var(--cv-primary); display: flex; align-items: center; }

/* === Helpers === */
.text-muted { color: var(--cv-text-2); }
.text-mute2 { color: var(--cv-text-3); }
.flex { display: flex; }
.flex-col { display: flex; flex-direction: column; }
.gap-4 { gap: 4px; } .gap-6 { gap: 6px; } .gap-8 { gap: 8px; } .gap-12 { gap: 12px; }
.gap-16 { gap: 16px; } .gap-24 { gap: 24px; } .gap-32 { gap: 32px; } .gap-48 { gap: 48px; }
.mt-8 { margin-top: 8px; } .mt-16 { margin-top: 16px; } .mt-24 { margin-top: 24px; } .mt-32 { margin-top: 32px; } .mt-48 { margin-top: 48px; }
.mb-8 { margin-bottom: 8px; } .mb-16 { margin-bottom: 16px; } .mb-24 { margin-bottom: 24px; } .mb-32 { margin-bottom: 32px; }
.section { padding: 96px 0; }
.is-mobile .section { padding: 64px 0; }
.divider-section { border-top: 1px solid var(--cv-border-lt); }
.text-center { text-align: center; }

/* === Stars === */
.stars { display: inline-flex; color: var(--cv-gold); gap: 1px; }
.stars svg { width: 14px; height: 14px; }

/* === Slide-in cart drawer === */
.cart-drawer-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(28,38,20,0.4);
  backdrop-filter: blur(4px);
  z-index: 200;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.25s;
}
.cart-drawer-backdrop.is-open { opacity: 1; pointer-events: auto; }
.cart-drawer {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  width: 420px;
  max-width: 100vw;
  background: var(--cv-bg);
  z-index: 201;
  transform: translateX(100%);
  transition: transform 0.3s ease;
  display: flex;
  flex-direction: column;
  box-shadow: -20px 0 60px rgba(0,0,0,0.15);
}
.cart-drawer.is-open { transform: translateX(0); }

/* === Toast === */
.toast {
  position: fixed;
  bottom: 32px;
  left: 50%;
  transform: translateX(-50%) translateY(20px);
  background: var(--cv-title);
  color: white;
  padding: 14px 22px;
  border-radius: 2px;
  font-size: 13px;
  letter-spacing: 0.04em;
  z-index: 300;
  opacity: 0;
  pointer-events: none;
  transition: all 0.25s;
  display: flex;
  align-items: center;
  gap: 10px;
  box-shadow: 0 12px 32px rgba(0,0,0,0.25);
}
.toast.is-visible { opacity: 1; transform: translateX(-50%) translateY(0); }
.toast__check { color: var(--cv-gold); }

/* ===== Overrides para integración en WordPress (sin el wrapper .stage del prototipo) ===== */
.cv-container { max-width: 1280px; }
body.cucuvet-home { background: var(--cv-bg); font-family: var(--cv-font-body); }
/* el admin-bar de WP no empuja el header sticky */
.cvh-header { position: sticky; top: 0; z-index: 50; background: var(--cv-bg); }
/* Imagen real de producto dentro del media cuadrado */
.product-card__media img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; padding: 14px; }
/* Responsive (el prototipo usaba JS; aquí media queries) */
@media (max-width: 1024px){
  .cvh-hero-h1{ font-size: 52px !important; }
  .cvh-tiles{ grid-template-columns: repeat(3,1fr) !important; }
}
@media (max-width: 767px){
  .cv-container{ padding: 0 20px; }
  .section{ padding: 56px 0; }
  .cvh-hero-h1{ font-size: 40px !important; }
  .cvh-hero-search{ flex-wrap: wrap; border-radius: 18px !important; }
  .cvh-tiles{ grid-template-columns: repeat(2,1fr) !important; }
  .cvh-trust{ grid-template-columns: 1fr 1fr !important; }
  .cvh-nav-row{ display:none !important; }
  .cvh-contact-grid, .cvh-news-grid{ grid-template-columns: 1fr !important; }
  .cvh-header-main{ grid-template-columns: auto 1fr auto !important; }
  .cvh-header-search{ display:none !important; }
}

/* ===== Tienda / archivo WooCommerce con el diseño ===== */
.woocommerce ul.products, .woocommerce-page ul.products{
  display:grid !important; grid-template-columns:repeat(4,1fr) !important;
  gap:24px !important; margin:0 !important; padding:0 !important; list-style:none !important;
}
@media(max-width:1100px){ .woocommerce ul.products{ grid-template-columns:repeat(3,1fr) !important; } }
@media(max-width:767px){ .woocommerce ul.products{ grid-template-columns:repeat(2,1fr) !important; gap:12px !important; } }
.woocommerce ul.products li.product.cv-cell{
  width:auto !important; margin:0 !important; float:none !important; padding:0 !important;
  border:0 !important; background:none !important; box-shadow:none !important;
}
.woocommerce ul.products li.product.cv-cell::before{ display:none !important; }
.woocommerce ul.products li.product.cv-cell .product-card{ height:100%; }
/* títulos/breadcrumb de archivo */
.woocommerce .woocommerce-products-header__title, .woocommerce-page h1.page-title, .wd-page-title .title{
  font-family:var(--cv-font-heading) !important; font-weight:800 !important; color:var(--cv-title) !important; letter-spacing:-0.03em !important;
}
.woocommerce-breadcrumb{ font-size:13px; color:var(--cv-text-3); }
.woocommerce-breadcrumb a{ color:var(--cv-text-2); }
/* sidebar de filtros */
.widget .widgettitle, .wd-widget-title, .widget-title{ font-family:var(--cv-font-heading) !important; font-weight:800 !important; color:var(--cv-title) !important; }
/* botón Filtrar y ordenar a tono */
.woocommerce .price_slider_amount .button{ background:var(--cv-primary) !important; color:#fff !important; border-radius:2px !important; }
.woocommerce .orderby, .wd-ordering .orderby{ border:1px solid var(--cv-border) !important; border-radius:2px !important; }

/* ===== Ficha de producto (single) con el diseño ===== */
.single-product div.product .product_title,.single-product .product_title{
  font-family:var(--cv-font-heading)!important;font-weight:800!important;font-size:clamp(30px,3.4vw,50px)!important;
  letter-spacing:-0.03em!important;line-height:1.05!important;color:var(--cv-title)!important;margin:0 0 14px!important;
}
.single-product .summary .price,.single-product div.product p.price,.single-product div.product span.price{
  color:var(--cv-title)!important;font-weight:700!important;font-size:38px!important;font-family:var(--cv-font-body)!important;
}
.single-product .summary .price ins{color:var(--cv-primary)!important;text-decoration:none!important;font-weight:700!important;}
.single-product .summary .price del{color:var(--cv-text-3)!important;font-size:18px!important;font-weight:400!important;}
.single-product .summary{padding-left:0;}
.single-product .stock.in-stock{color:var(--cv-success)!important;font-weight:600;}
.single-product .woocommerce-product-rating{margin-bottom:18px;}
.single-product .woocommerce-product-rating .star-rating span{color:var(--cv-gold)!important;}
.single-product form.cart{margin-top:8px;}
.single-product .single_add_to_cart_button{border-radius:2px!important;text-transform:uppercase!important;letter-spacing:.06em!important;font-weight:700!important;min-height:56px!important;padding:0 32px!important;}
.single-product form.cart .quantity .qty{height:56px!important;border:1px solid var(--cv-border)!important;border-radius:2px!important;width:72px!important;}
.single-product .product_meta{font-size:13px;color:var(--cv-text-3);border-top:1px solid var(--cv-border-lt);padding-top:16px;margin-top:20px;}
.single-product .woocommerce-product-gallery{background:var(--cv-bg-alt);}
.single-product .flex-control-thumbs li img{border:1px solid var(--cv-border-lt);}
/* tabs estilo diseño (subrayado oro) */
.woocommerce-tabs ul.tabs.wc-tabs{border-bottom:1px solid var(--cv-rule)!important;padding:0 0 0 0!important;margin-bottom:32px!important;}
.woocommerce-tabs ul.tabs.wc-tabs::before{border-color:var(--cv-rule)!important;}
.woocommerce-tabs ul.tabs li{background:none!important;border:0!important;border-radius:0!important;margin:0 28px 0 0!important;padding:0!important;}
.woocommerce-tabs ul.tabs li::before,.woocommerce-tabs ul.tabs li::after{display:none!important;}
.woocommerce-tabs ul.tabs li a{text-transform:uppercase!important;letter-spacing:.04em!important;font-weight:600!important;font-size:13px!important;color:var(--cv-text-3)!important;padding:14px 2px!important;display:inline-block;}
.woocommerce-tabs ul.tabs li.active a{color:var(--cv-title)!important;}
.woocommerce-tabs ul.tabs li.active{border-bottom:2px solid var(--cv-gold)!important;}
.woocommerce-tabs .panel h2,.woocommerce-tabs .panel h3{font-family:var(--cv-font-heading)!important;color:var(--cv-title)!important;}
.related.products>h2,.upsells.products>h2{font-family:var(--cv-font-heading)!important;font-weight:800!important;color:var(--cv-title)!important;letter-spacing:-0.03em;}
/* trust pills tras add-to-cart */
.cv-trust-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px;}
.cv-trust-row .trust-pill{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;background:var(--cv-primary-pale);border-radius:999px;font-size:12px;color:var(--cv-text);}
.cv-trust-row .trust-pill__icon{color:var(--cv-primary);display:flex;}

/* ===== Carrito (WooCommerce) con el diseño ===== */
.woocommerce-cart .entry-title,.woocommerce-cart h1.page-title,.woocommerce-checkout h1.page-title,.woocommerce-account h1.page-title,.woocommerce-cart .wd-page-title .title{
  font-family:var(--cv-font-heading)!important;font-weight:800!important;letter-spacing:-0.03em!important;color:var(--cv-title)!important;
}
.woocommerce table.shop_table{border:1px solid var(--cv-border)!important;border-radius:2px!important;background:var(--cv-bg-card)!important;}
.woocommerce table.shop_table thead th{font-family:var(--cv-font-heading)!important;font-weight:700!important;color:var(--cv-title)!important;text-transform:uppercase;font-size:12px;letter-spacing:.06em;}
.woocommerce-cart table.cart img{width:80px!important;border:1px solid var(--cv-border-lt);background:var(--cv-bg-alt);}
.woocommerce-cart .product-name a{font-family:var(--cv-font-heading)!important;font-weight:700!important;color:var(--cv-title)!important;letter-spacing:-0.01em;}
.woocommerce-cart .product-name a:hover{color:var(--cv-primary)!important;}
.woocommerce .cart .quantity .qty{height:44px!important;border:1px solid var(--cv-border)!important;border-radius:2px!important;width:64px!important;}
.woocommerce-cart .coupon .input-text{border-radius:2px!important;}
.cart_totals h2{font-family:var(--cv-font-heading)!important;font-weight:800!important;letter-spacing:-0.02em;color:var(--cv-title)!important;}
.cart_totals{background:var(--cv-bg-card);border:1px solid var(--cv-border-lt);padding:28px;}
.cart_totals table.shop_table{border:0!important;}
.cart_totals .order-total .amount{font-size:26px!important;font-weight:700!important;color:var(--cv-title)!important;}
.wc-proceed-to-checkout a.checkout-button{background:var(--cv-gold)!important;color:var(--cv-title)!important;border-radius:2px!important;text-transform:uppercase!important;letter-spacing:.06em!important;font-weight:700!important;min-height:56px!important;display:flex!important;align-items:center;justify-content:center;}
.wc-proceed-to-checkout a.checkout-button:hover{background:var(--cv-gold-dk)!important;color:#fff!important;}

/* ===== Checkout (WooCommerce) con el diseño ===== */
.woocommerce-checkout h3,.woocommerce-checkout #order_review_heading{font-family:var(--cv-font-heading)!important;font-weight:800!important;letter-spacing:-0.02em!important;color:var(--cv-title)!important;}
.woocommerce-checkout .col2-set .col-1,.woocommerce-checkout .col2-set .col-2{float:none;width:100%;}
.woocommerce-checkout #order_review{background:var(--cv-bg-card);border:1px solid var(--cv-border-lt);padding:28px;}
.woocommerce-checkout #payment{background:var(--cv-bg-alt)!important;border-radius:2px;}
.woocommerce-checkout #payment ul.payment_methods{border-bottom:1px solid var(--cv-border-lt)!important;}
.woocommerce-checkout #place_order,.woocommerce #payment #place_order{background:var(--cv-primary)!important;color:#fff!important;border-radius:2px!important;text-transform:uppercase!important;letter-spacing:.06em!important;font-weight:700!important;min-height:56px!important;width:100%!important;font-size:15px!important;}
.woocommerce-checkout #place_order:hover{background:var(--cv-primary-dk)!important;}
.woocommerce-checkout .woocommerce-info,.woocommerce-checkout .woocommerce-message{border-top-color:var(--cv-primary)!important;}
.woocommerce form .form-row label{font-size:13px;color:var(--cv-text-2);font-weight:500;}
.woocommerce-checkout table.shop_table .product-name{font-family:var(--cv-font-heading)!important;color:var(--cv-title)!important;}
.woocommerce-checkout .order-total .amount{color:var(--cv-title)!important;font-weight:700!important;}
/* cuenta */
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a{color:var(--cv-primary)!important;font-weight:700;}
.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover{color:var(--cv-primary)!important;}

/* ===== MÓVIL — responsive del diseño Cucuvet ===== */
@media(max-width:860px){
  .cvh-nav-row{ display:none !important; }
  .cvh-header-search{ display:none !important; }
  .cvh-header-main{ height:62px !important; grid-template-columns:auto auto !important; justify-content:space-between !important; gap:10px !important; }
  .cvh-foot-grid{ grid-template-columns:1fr 1fr !important; gap:32px !important; }
}
@media(max-width:767px){
  .cv-container{ padding:0 18px !important; }
  .section{ padding:48px 0 !important; }
  .cvh-hero-h1{ font-size:38px !important; letter-spacing:-0.02em !important; }
  .cvh-hero-search{ padding:6px !important; border-radius:999px !important; gap:6px !important; }
  .cvh-hero-cats{ display:none !important; }
  .cvh-hero-search input[type=text]{ height:48px !important; font-size:15px !important; }
  .cvh-hero-search button{ height:48px !important; padding:0 16px !important; font-size:13px !important; }
  .cvh-tiles{ grid-template-columns:1fr 1fr !important; }
  .cvh-trust{ grid-template-columns:1fr 1fr !important; }
  .cvh-trust>div{ padding:18px 14px !important; }
  .cvh-contact-grid, .cvh-news-grid{ grid-template-columns:1fr !important; padding:28px 22px !important; gap:28px !important; }
  .cvh-foot-grid{ grid-template-columns:1fr !important; gap:28px !important; }
  .woocommerce ul.products{ grid-template-columns:repeat(2,1fr) !important; gap:12px !important; }
  .product-card__body{ padding:14px 14px 16px !important; }
  .product-card__title{ font-size:14px !important; }
}
@media(max-width:420px){
  .cvh-hero-h1{ font-size:32px !important; }
  .cvh-tiles{ grid-template-columns:1fr 1fr !important; }
}

/* ===== Fondo blanco (petición Nabil) ===== */
:root{ --cv-bg:#FFFFFF; }
body, body.cucuvet-home, body.cucuvet-skin, .woocommerce, .woocommerce-page{ background:#FFFFFF !important; }

/* ===== Cajas de producto más curvy + fancy + "Comprar ahora" ===== */
.product-card{ border-radius:20px !important; overflow:hidden; border:1px solid var(--cv-border-lt) !important; background:#fff; box-shadow:0 2px 10px rgba(28,38,20,.04); transition:transform .25s, box-shadow .25s, border-color .25s; }
.product-card:hover{ transform:translateY(-5px); box-shadow:0 22px 52px rgba(28,38,20,.15) !important; border-color:var(--cv-border) !important; }
.product-card__media{ display:block; border-radius:0 !important; background:var(--cv-bg-alt); aspect-ratio:1; position:relative; }
.product-card__media img{ width:100%; height:100%; object-fit:contain; padding:16px; mix-blend-mode:multiply; }
.product-card__wishlist{ border-radius:50% !important; }
.product-card .badge{ border-radius:999px !important; }
.product-card__body{ padding:16px 16px 18px; display:flex; flex-direction:column; gap:5px; }
.product-card__title{ display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; font-family:var(--cv-font-heading); font-weight:700; font-size:15px; color:var(--cv-title); line-height:1.3; letter-spacing:-.01em; text-decoration:none; }
.product-card__title:hover{ color:var(--cv-primary); }
.product-card__rating{ display:flex; align-items:center; gap:6px; margin:2px 0 4px; }
.product-card__rating .stars{ color:var(--cv-gold); }
.product-card__footer{ border-top:1px solid var(--cv-border-lt); padding-top:12px; margin-top:6px; }
.cv-buynow{ display:flex; align-items:center; justify-content:center; gap:8px; width:100%; height:46px; margin-top:12px; background:var(--cv-gold); color:var(--cv-title) !important; font-family:var(--cv-font-body); font-weight:800; font-size:12.5px; letter-spacing:.06em; text-transform:uppercase; border-radius:999px; text-decoration:none; transition:all .2s; }
.cv-buynow:hover{ background:var(--cv-gold-dk); color:#fff !important; transform:translateY(-1px); box-shadow:0 10px 22px rgba(201,168,76,.4); }
/* botón pill también en grids nativos */
.woocommerce ul.products li.product .cv-buynow{ margin-top:12px; }

/* ===== FiboSearch integrado en el diseño ===== */
.cvh-header-search{ width:100%; }
.cvh-header-search .dgwt-wcas-search-wrapp{ max-width:none!important; width:100%!important; }
.cvh-header-search .dgwt-wcas-search-input[type=search]{ height:46px!important; border-radius:999px!important; background:var(--cv-bg-alt)!important; border:1px solid transparent!important; padding:0 52px 0 20px!important; font-family:var(--cv-font-body)!important; font-size:14px!important; box-shadow:none!important; color:var(--cv-title)!important; }
.cvh-header-search .dgwt-wcas-search-input[type=search]:focus{ border-color:var(--cv-primary)!important; }
.cvh-header-search .dgwt-wcas-search-submit, .cvh-header-search .dgwt-wcas-ico-magnifier path, .cvh-header-search .dgwt-wcas-search-icon svg path{ fill:var(--cv-text-3)!important; }
.cvh-header-search .dgwt-wcas-search-submit{ background:transparent!important; }
.cvh-header-search .dgwt-wcas-preloader{ background:var(--cv-bg-alt)!important; }
/* HERO: pill blanco grande */
.cvh-hero-search{ max-width:820px; margin:40px auto 0; }
.cvh-hero-search .dgwt-wcas-search-wrapp{ width:100%!important; max-width:none!important; background:#fff!important; border-radius:999px!important; padding:7px 7px 7px 8px!important; box-shadow:0 20px 60px rgba(0,0,0,0.25)!important; display:flex!important; align-items:center!important; }
.cvh-hero-search .dgwt-wcas-search-form{ width:100%; display:flex; align-items:center; }
.cvh-hero-search .dgwt-wcas-search-input[type=search]{ height:56px!important; border:none!important; background:transparent!important; font-size:17px!important; box-shadow:none!important; flex:1; padding-left:20px!important; color:var(--cv-title)!important; }
.cvh-hero-search .dgwt-wcas-search-submit{ background:var(--cv-gold)!important; color:var(--cv-title)!important; border:none!important; border-radius:999px!important; height:56px!important; min-width:64px!important; padding:0 24px!important; font-weight:700!important; }
.cvh-hero-search .dgwt-wcas-search-icon{ display:none!important; }
/* dropdown sugerencias a tono */
.dgwt-wcas-suggestion:hover, .dgwt-wcas-suggestion-hovered{ background:var(--cv-primary-pale)!important; }
.dgwt-wcas-st-title strong{ color:var(--cv-primary)!important; }
.dgwt-wcas-price{ color:var(--cv-title)!important; font-weight:700!important; }

/* ===== Fix hero FiboSearch: quitar el botón/círculo raro, input limpio ===== */
.cvh-hero-search .dgwt-wcas-search-submit{ display:none !important; }
.cvh-hero-search .dgwt-wcas-search-icon{ display:none !important; }
.cvh-hero-search .dgwt-wcas-ico-magnifier{ display:none !important; }
.cvh-hero-search .dgwt-wcas-search-input[type=search]{ padding-left:28px !important; }
.cvh-hero-search .dgwt-wcas-search-wrapp{ padding:7px 24px 7px 8px !important; }
.cvh-hero-search .dgwt-wcas-preloader{ right:24px !important; }
/* header: asegurar lupa a la derecha y limpia */
.cvh-header-search .dgwt-wcas-search-submit{ background:transparent !important; box-shadow:none !important; }

/* ===== Checkout UI mejorado (CSS sobre WooCommerce/Elementor, pasarela intacta) ===== */
.woocommerce-checkout .cv-checkout-secure{ display:flex; align-items:center; justify-content:center; gap:10px; background:var(--cv-primary-pale); border:1px solid var(--cv-primary-lt); color:var(--cv-text); border-radius:14px; padding:14px 18px; font-size:13px; font-weight:500; margin:8px 0 24px; }
.woocommerce-checkout .cv-checkout-secure svg{ color:var(--cv-primary); }
.cv-checkout-trust{ margin-top:18px; padding:18px 20px; background:var(--cv-primary-pale); border:1px solid var(--cv-primary-lt); border-radius:14px; display:flex; flex-direction:column; gap:11px; }
.cv-checkout-trust .cv-ct-row{ display:flex; align-items:center; gap:10px; font-size:12.5px; color:var(--cv-text); }
.cv-checkout-trust .cv-ct-row svg{ color:var(--cv-primary); flex-shrink:0; }
.woocommerce-checkout #payment{ background:var(--cv-bg-alt)!important; border-radius:14px; }
.woocommerce-checkout #payment div.payment_box{ background:#fff!important; border-radius:10px; }
.woocommerce-checkout #place_order, .woocommerce-checkout button[name="woocommerce_checkout_place_order"]{ border-radius:999px!important; min-height:56px!important; text-transform:uppercase!important; letter-spacing:.06em!important; font-weight:700!important; }
.woocommerce-checkout .order-total .amount{ font-size:22px!important; color:var(--cv-title)!important; font-weight:800!important; }
.woocommerce-checkout .woocommerce-billing-fields h3{ font-family:var(--cv-font-heading)!important; font-weight:800!important; letter-spacing:-.02em; color:var(--cv-title)!important; }
.woocommerce-checkout .checkout_coupon{ border-radius:14px!important; border:1px solid var(--cv-border-lt)!important; }
