/* ==========================================================================
   Kuchituras — EXTRAS (cargar después de kuchi.css)
   Imágenes reales en cards · panel carrito · búsqueda live · marquee clickeable
   ========================================================================== */

/* ---------- Imágenes reales en las cards de producto ---------- */
.ku-product__media img,
.ku-product__img {
  position: relative; z-index: 1;
  width: 100%; height: 100%;
  object-fit: contain;
  padding: 14%;
  display: block;
  filter: drop-shadow(0 8px 16px rgba(42,22,32,.10));
  transition: transform .35s ease;
}
.ku-product:hover .ku-product__img { transform: scale(1.04); }

.ku-empty {
  grid-column: 1 / -1;
  padding: 56px 20px; text-align: center;
  color: var(--ku-muted, #8A6B76);
  font-family: var(--ku-italic, 'Cormorant Garamond', serif);
  font-size: 19px;
}

/* ---------- Marquee de marcas: clickeable con logo ---------- */
.ku-marquee__track a {
  text-decoration: none; color: inherit;
  display: inline-flex; align-items: center; gap: 12px;
  padding: 6px 22px; border-radius: 999px;
  transition: background .2s ease, color .2s ease, transform .2s ease;
}
.ku-marquee__track a:hover {
  background: var(--ku-magenta, #D6006E); color: #fff; transform: translateY(-1px);
}
.ku-marquee__track a:hover em { color: #fff; }
.ku-marquee__logo {
  width: 30px; height: 30px; border-radius: 50%;
  background: #fff; padding: 4px; object-fit: contain;
  box-shadow: 0 2px 8px rgba(42,22,32,.12); flex: 0 0 auto;
}

/* ---------- Búsqueda live (dropdown) ---------- */
.ku-search { position: relative; }
.ku-search__results {
  position: absolute; top: calc(100% + 8px); left: 0; right: 0;
  background: #fff; border: 1px solid var(--ku-line, #EADDE3);
  border-radius: 16px; box-shadow: 0 18px 40px rgba(42,22,32,.16);
  padding: 8px; z-index: 60; max-height: 70vh; overflow-y: auto;
}
.ku-search__group { padding: 6px 4px; }
.ku-search__group + .ku-search__group { border-top: 1px solid var(--ku-line, #EADDE3); }
.ku-search__grouptitle {
  display: block; font-size: 11px; text-transform: uppercase; letter-spacing: .08em;
  color: var(--ku-muted, #8A6B76); padding: 6px 10px 4px; font-weight: 600;
}
.ku-search__item {
  display: flex; align-items: center; gap: 12px;
  padding: 8px 10px; border-radius: 10px; text-decoration: none; color: var(--ku-plum, #2A1620);
}
.ku-search__item:hover { background: var(--ku-cream-deep, #F6ECEF); }
.ku-search__item--mini { font-size: 14px; }
.ku-search__thumb {
  width: 40px; height: 40px; border-radius: 8px; flex: 0 0 auto;
  background: var(--ku-cream-deep, #F6ECEF); overflow: hidden; display: grid; place-items: center;
}
.ku-search__thumb img { width: 100%; height: 100%; object-fit: contain; padding: 3px; }
.ku-search__info { display: flex; flex-direction: column; min-width: 0; flex: 1; }
.ku-search__name { font-size: 13.5px; font-weight: 500; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ku-search__price { font-size: 12.5px; color: var(--ku-magenta, #D6006E); font-weight: 600; }
.ku-search__empty { padding: 18px 14px; text-align: center; color: var(--ku-muted, #8A6B76); font-size: 14px; }

/* ---------- Panel del carrito ---------- */
.ku-cart-panel { position: fixed; inset: 0; z-index: 95; display: flex; justify-content: flex-end; }
.ku-cart-panel[hidden] { display: none; }
.ku-cart-panel__backdrop { position: absolute; inset: 0; background: rgba(42,22,32,.45); backdrop-filter: blur(4px); animation: kuFade .2s ease; }
.ku-cart-panel__body {
  position: relative; width: 100%; max-width: 460px;
  background: var(--ku-cream, #FBF5F0); display: flex; flex-direction: column;
  box-shadow: -16px 0 40px rgba(42,22,32,.2); animation: kuSlide .3s cubic-bezier(.2,.7,.2,1);
}
@keyframes kuFade { from { opacity: 0; } to { opacity: 1; } }
@keyframes kuSlide { from { transform: translateX(100%); } to { transform: translateX(0); } }
.ku-cart-panel__head {
  padding: 20px 24px; display: flex; justify-content: space-between; align-items: center;
  border-bottom: 1px solid var(--ku-line, #EADDE3);
}
.ku-cart-panel__head h2 { margin: 0; font-family: var(--ku-serif, 'DM Serif Display', serif); font-size: 24px; color: var(--ku-plum, #2A1620); }
.ku-cart-panel__list { flex: 1; overflow-y: auto; padding: 12px 24px; }
.ku-cart-panel__empty { color: var(--ku-muted, #8A6B76); font-family: var(--ku-italic, 'Cormorant Garamond', serif); font-size: 17px; text-align: center; padding: 44px 0; }
.ku-cart-line {
  display: grid; grid-template-columns: 52px 1fr auto auto auto; gap: 11px; align-items: center;
  padding: 13px 0; border-bottom: 1px solid var(--ku-line, #EADDE3);
}
.ku-cart-line__img { width: 52px; height: 52px; border-radius: 11px; background: var(--ku-cream-deep, #F6ECEF); overflow: hidden; display: grid; place-items: center; }
.ku-cart-line__img img { width: 100%; height: 100%; object-fit: contain; padding: 5px; }
.ku-cart-line__name { font-size: 13px; font-weight: 500; color: var(--ku-plum, #2A1620); margin: 0 0 2px; line-height: 1.3; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ku-cart-line__meta { margin: 0; font-size: 12px; color: var(--ku-muted, #8A6B76); }
.ku-cart-line__qty { display: flex; align-items: center; border: 1px solid var(--ku-line-2, #E0CED6); border-radius: 999px; background: #fff; }
.ku-cart-line__qty button { width: 26px; height: 26px; border: 0; background: transparent; color: var(--ku-plum, #2A1620); cursor: pointer; font-size: 14px; }
.ku-cart-line__qty span { min-width: 22px; text-align: center; font-size: 13px; font-weight: 600; }
.ku-cart-line__sub { font-size: 13px; font-weight: 700; color: var(--ku-plum, #2A1620); white-space: nowrap; }
.ku-cart-line__del { width: 24px; height: 24px; border: 0; background: transparent; color: var(--ku-muted, #8A6B76); cursor: pointer; font-size: 19px; line-height: 1; padding: 0; }
.ku-cart-line__del:hover { color: var(--ku-magenta, #D6006E); }
.ku-cart-panel__foot { padding: 16px 24px 20px; border-top: 1px solid var(--ku-line, #EADDE3); background: #fff; }
.ku-cart-panel__totalrow { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 12px; }
.ku-cart-panel__totalrow span { color: var(--ku-muted, #8A6B76); font-size: 14px; }
.ku-cart-panel__totalrow strong { font-family: var(--ku-serif, 'DM Serif Display', serif); font-size: 26px; color: var(--ku-plum, #2A1620); }
.ku-cart-panel__actions { display: grid; grid-template-columns: auto auto 1fr; gap: 8px; }
.ku-cart-panel__actions .ku-btn { width: 100%; justify-content: center; }
.ku-cart-panel__actions .ku-btn:disabled { opacity: .4; cursor: not-allowed; }

/* ---------- Badge tabbar mobile ---------- */
.ku-tabbar__badge {
  position: absolute; top: 4px; right: calc(50% - 22px);
  min-width: 16px; height: 16px; padding: 0 4px; border-radius: 999px;
  background: var(--ku-magenta, #D6006E); color: #fff; font-size: 10px; font-weight: 700;
  display: grid; place-items: center; line-height: 1;
}

/* ---------- Página carrito / favoritos (cuando se usan) ---------- */
.ku-cartpage, .ku-favpage { max-width: 1100px; margin: 0 auto; padding: 40px 20px 64px; }
.ku-cartpage__head, .ku-favpage__head { text-align: center; margin-bottom: 32px; }
.ku-cartpage__head h1, .ku-favpage__head h1 { font-family: var(--ku-serif, 'DM Serif Display', serif); font-size: clamp(34px,5vw,52px); margin: 0 0 8px; color: var(--ku-plum, #2A1620); }
.ku-cartpage__head p, .ku-favpage__head p { color: var(--ku-muted, #8A6B76); margin: 0; }
.ku-cartpage__grid { display: grid; gap: 24px; }
@media (min-width: 900px){ .ku-cartpage__grid { grid-template-columns: 1fr 340px; } }
.ku-cartpage__items { background: #fff; border-radius: 20px; border: 1px solid var(--ku-line, #EADDE3); overflow: hidden; }
.ku-cart-row { display: grid; grid-template-columns: 80px 1fr auto; gap: 16px; padding: 18px 20px; align-items: center; border-bottom: 1px solid var(--ku-line, #EADDE3); }
.ku-cart-row:last-child { border-bottom: 0; }
.ku-cart-row__img { width: 80px; height: 80px; background: var(--ku-cream-deep, #F6ECEF); border-radius: 14px; overflow: hidden; display: grid; place-items: center; }
.ku-cart-row__img img { width: 100%; height: 100%; object-fit: contain; padding: 8px; }
.ku-cart-row__info h3 { font-weight: 500; font-size: 16px; margin: 0 0 4px; color: var(--ku-plum, #2A1620); }
.ku-cart-row__info a { color: inherit; text-decoration: none; }
.ku-cart-row__info p { margin: 0; color: var(--ku-muted, #8A6B76); font-size: 13px; }
.ku-cart-row__actions { display: flex; flex-direction: column; align-items: flex-end; gap: 8px; }
.ku-cart-row__price { font-family: var(--ku-serif, 'DM Serif Display', serif); font-size: 22px; color: var(--ku-plum, #2A1620); }
.ku-cart-row__qty { display: flex; align-items: center; border: 1.5px solid var(--ku-line-2, #E0CED6); border-radius: 999px; background: #fff; }
.ku-cart-row__qty button { width: 34px; height: 34px; border: 0; background: transparent; font-size: 16px; cursor: pointer; color: var(--ku-plum, #2A1620); }
.ku-cart-row__qty span { min-width: 28px; text-align: center; font-weight: 600; font-size: 14px; }
.ku-cart-row__del { background: 0; border: 0; color: var(--ku-muted, #8A6B76); font-size: 12px; cursor: pointer; text-decoration: underline; }
.ku-cart-row__del:hover { color: var(--ku-magenta, #D6006E); }
.ku-cartpage__summary { background: var(--ku-plum, #2A1620); color: #fff; border-radius: 20px; padding: 24px; height: fit-content; }
@media (min-width: 900px){ .ku-cartpage__summary { position: sticky; top: 100px; } }
.ku-cartpage__summary h2 { font-family: var(--ku-serif, 'DM Serif Display', serif); font-size: 24px; margin: 0 0 16px; }
.ku-cartpage__summary-row { display: flex; justify-content: space-between; padding: 10px 0; font-size: 14px; }
.ku-cartpage__summary-row.total { border-top: 1px solid rgba(255,255,255,.2); padding-top: 16px; margin-top: 8px; font-size: 17px; font-weight: 700; }
.ku-cartpage__summary-row.total strong { font-family: var(--ku-serif, 'DM Serif Display', serif); font-size: 28px; font-weight: 400; }
.ku-cartpage__summary .ku-btn { width: 100%; margin-top: 16px; justify-content: center; }
.ku-cartpage__empty, .ku-favpage__empty { text-align: center; padding: 72px 20px; background: #fff; border-radius: 20px; border: 1px solid var(--ku-line, #EADDE3); }
.ku-cartpage__empty svg.ku-icon, .ku-favpage__empty svg.ku-icon { width: 60px; height: 60px; color: var(--ku-muted, #8A6B76); margin-bottom: 14px; }
.ku-cartpage__empty h2, .ku-favpage__empty h2 { font-family: var(--ku-serif, 'DM Serif Display', serif); font-size: 26px; color: var(--ku-plum, #2A1620); margin: 0 0 8px; }
.ku-cartpage__empty p, .ku-favpage__empty p { color: var(--ku-muted, #8A6B76); margin: 0 0 24px; }

/* ==========================================================================
   FIXES (sesión correcciones)
   ========================================================================== */

/* ---- Marquee más lento (de 35s a 70s) + pausa al pasar el ratón ---- */
.ku-marquee__track { animation-duration: 70s !important; }
.ku-marquee:hover .ku-marquee__track { animation-play-state: paused; }

/* ---- Búsqueda live: asegurar que el dropdown se vea sobre todo ---- */
.ku-search { position: relative; }
.ku-search__results { z-index: 120; }

/* ---- Botón favorito activo en PDP ---- */
.kpdp__wish.is-liked { background: var(--ku-magenta, #D6006E); color: #fff; border-color: var(--ku-magenta, #D6006E); }
.kpdp__wish.is-liked svg { fill: #fff; }

/* ---- Sección de envíos en footer ---- */
.ku-shipbar {
  background: var(--ku-cream-deep, #F6ECEF);
  border-top: 1px solid var(--ku-line, #EADDE3);
  padding: 28px 20px;
}
.ku-shipbar__inner {
  max-width: 1200px; margin: 0 auto;
  display: grid; gap: 20px; align-items: center;
  grid-template-columns: 1fr;
}
@media (min-width: 800px){ .ku-shipbar__inner { grid-template-columns: 1.2fr 2fr; } }
.ku-shipbar__title { font-family: var(--ku-serif,'DM Serif Display',serif); font-size: 22px; color: var(--ku-plum,#2A1620); margin: 0 0 4px; }
.ku-shipbar__title em { font-style: italic; color: var(--ku-magenta,#D6006E); }
.ku-shipbar__sub { color: var(--ku-muted,#8A6B76); font-size: 14px; margin: 0; }
.ku-shipbar__logos { display: flex; flex-wrap: wrap; gap: 16px; align-items: center; }
.ku-shipbar__logo {
  height: 46px; background: #fff; border-radius: 10px; padding: 8px 14px;
  display: grid; place-items: center; box-shadow: 0 4px 12px rgba(42,22,32,.06);
}
.ku-shipbar__logo img { max-height: 30px; max-width: 110px; object-fit: contain; }

/* ---- Carrusel: franja de productos debajo ---- */
.ku-hero-strip { margin-top: -8px; }

/* ---- Filtro de precio (fila extra) ---- */
.ku-filterbar__price { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.ku-filterbar__pricelabel { font-size: 13px; color: var(--ku-muted,#8A6B76); font-weight: 600; }
.ku-filterbar__price input { width: 100px; padding: 9px 12px; border-radius: 999px; border: 1.5px solid var(--ku-line,#EADDE3); font-size: 14px; }

/* ==========================================================================
   COMBOS — imagen visible y bien encuadrada (reemplaza el círculo blanco)
   ========================================================================== */
/* El círculo decorativo pasa a contener la imagen */
.ku-combo__circle.has-img { background: rgba(255,255,255,.55); overflow: hidden; }
/* ocultar el círculo blanco interno y el texto cuando hay imagen */
.ku-combo__circle.has-img::after { display: none !important; }
.ku-combo__media {
  position: absolute; inset: 0;
  display: block;
  border-radius: 50%;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 10px 24px -8px rgba(42,22,32,.20);
  z-index: 2;
}
.ku-combo__media img {
  width: 100%; height: 100%;
  object-fit: cover; display: block;
}

/* ==========================================================================
   PAGINACIÓN — grande y visible (categorías, marcas, productos)
   ========================================================================== */
.ku-pagination {
  display: flex; flex-wrap: wrap; justify-content: center; align-items: center;
  gap: 10px; margin: 40px auto 8px; padding: 0 16px;
}
.ku-pagination a,
.ku-pagination span {
  display: inline-grid; place-items: center;
  min-width: 48px; height: 48px; padding: 0 14px;
  border-radius: 14px;
  font-family: var(--ku-serif,'DM Serif Display',serif);
  font-size: 19px; font-weight: 500;
  text-decoration: none;
  border: 1.5px solid var(--ku-line-2,#E0CED6);
  color: var(--ku-plum,#2A1620);
  background: #fff;
  transition: all .18s ease;
}
.ku-pagination a:hover {
  border-color: var(--ku-magenta,#D6006E);
  color: var(--ku-magenta,#D6006E);
  transform: translateY(-2px);
  box-shadow: 0 8px 18px -8px rgba(214,0,110,.4);
}
.ku-pagination span.is-active {
  background: var(--ku-magenta,#D6006E);
  border-color: var(--ku-magenta,#D6006E);
  color: #fff;
  box-shadow: 0 8px 18px -8px rgba(214,0,110,.5);
}
.ku-pagination a .ku-icon { width: 22px; height: 22px; }
/* Flechas anterior/siguiente: botones grandes y destacados */
.ku-pagination a.ku-page-nav {
  background: var(--ku-magenta,#D6006E); border-color: var(--ku-magenta,#D6006E);
  color: #fff; min-width: 130px; height: 54px; font-size: 17px; gap: 8px;
  display: inline-flex; align-items: center; justify-content: center;
}
.ku-pagination a.ku-page-nav:hover { background: #A50458; border-color:#A50458; color:#fff; }
.ku-pagination a.ku-page-nav .ku-icon { width: 24px; height: 24px; }
@media (max-width: 520px){
  .ku-pagination a, .ku-pagination span { min-width: 46px; height: 46px; font-size: 17px; }
  .ku-pagination a.ku-page-nav { min-width: 120px; height: 52px; }
}

/* ==========================================================================
   TARJETA PRODUCTO — enlaces en imagen y nombre (fix móvil carrito/favorito)
   ========================================================================== */
/* Imagen grande, limpia, ocupa todo el media y lleva al producto */
.ku-product__media { position: relative; display: block; border-radius: inherit; text-decoration: none; overflow: hidden; }
.ku-product__name a { color: inherit; text-decoration: none; }
.ku-product__name a:hover { color: var(--ku-magenta,#D6006E); }

/* Logo sello en la esquina inferior derecha de la imagen */
.ku-product__seal {
  position: absolute; right: 8px; bottom: 8px;
  width: 38px; height: 38px; object-fit: contain;
  z-index: 3; pointer-events: none;
  filter: drop-shadow(0 2px 4px rgba(0,0,0,.25));
  opacity: .95;
}

/* Acciones (corazón + carrito) al lado del precio */
.ku-product__footer { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.ku-product__actions { display: inline-flex; align-items: center; gap: 8px; }
.ku-product__like,
.ku-product__add-btn {
  width: 42px; height: 42px; border-radius: 50%;
  border: 1.5px solid var(--ku-line-2,#E0CED6); background: #fff;
  display: grid; place-items: center; cursor: pointer;
  transition: all .18s ease; flex: 0 0 auto; padding: 0;
}
.ku-product__like svg,
.ku-product__add-btn svg { width: 19px; height: 19px; color: var(--ku-plum,#2A1620); transition: color .2s; }
.ku-product__like:hover { border-color: var(--ku-magenta,#D6006E); }
.ku-product__like:hover svg { color: var(--ku-magenta,#D6006E); }
.ku-product__like.is-liked { background: var(--ku-magenta,#D6006E); border-color: var(--ku-magenta,#D6006E); }
.ku-product__like.is-liked svg { color: #fff; fill: #fff; }
/* botón carrito: bolsa + signo + pequeño encima */
.ku-product__add-btn { position: relative; background: var(--ku-plum,#2A1620); border-color: var(--ku-plum,#2A1620); }
.ku-product__add-btn svg { color: #fff; }
.ku-product__add-plus {
  position: absolute; top: 4px; right: 5px;
  font-size: 13px; font-weight: 800; line-height: 1; color: #fff;
}
.ku-product__add-btn:hover { background: var(--ku-magenta,#D6006E); border-color: var(--ku-magenta,#D6006E); transform: translateY(-1px); }

/* Imagen del producto más grande (menos fondo visible) */
.ku-product__media .ku-product__img,
.ku-product__img {
  padding: 4% !important;
  object-fit: cover !important;
  width: 100%; height: 100%;
}

/* ==========================================================================
   GRID DE MARCAS — logo nítido (sin opacidad), no como la letra decorativa
   ========================================================================== */
.ku-cat--marca { min-height: 150px; }
.ku-brandcard__logo {
  position: absolute; right: 16px; top: 16px;
  width: 84px; height: 84px;
  background: #fff; border-radius: 18px;
  display: grid; place-items: center; padding: 12px;
  box-shadow: 0 10px 24px -10px rgba(42,22,32,.25);
  z-index: 1; opacity: 1;
}
.ku-brandcard__logo img {
  width: 100%; height: 100%; object-fit: contain; opacity: 1;
}
@media (max-width: 520px){
  .ku-brandcard__logo { width: 64px; height: 64px; padding: 9px; }
}

/* ==========================================================================
   MÓVIL — favorito visible arriba al lado del carrito + barra inferior mejorada
   ========================================================================== */
/* Mostrar el corazón de favoritos también en móvil (junto al carrito) */
.ku-header__like { display: inline-grid !important; }

/* Barra inferior móvil más grande y clara */
.ku-tabbar {
  padding: 10px 8px calc(10px + env(safe-area-inset-bottom));
  box-shadow: 0 -6px 24px rgba(42,22,32,.16);
  border-top: 2px solid var(--ku-magenta,#D6006E);
  background: #fff;
}
.ku-tabbar a {
  gap: 5px; padding: 8px 4px; border-radius: 16px;
  color: var(--ku-plum,#2A1620);
}
.ku-tabbar a .ku-icon { width: 30px; height: 30px; }
.ku-tabbar__label { font-size: 13px; font-weight: 700; letter-spacing: .01em; }
.ku-tabbar a.is-active {
  color: #fff; background: var(--ku-magenta,#D6006E);
}
.ku-tabbar a.is-active .ku-icon { color: #fff; }
/* badge del carrito en la barra inferior, más visible */
.ku-tabbar__badge {
  position: absolute; top: 4px; right: calc(50% - 26px);
  min-width: 20px; height: 20px; padding: 0 6px; border-radius: 999px;
  background: #2A1620; color: #fff; font-size: 11px; font-weight: 700;
  display: grid; place-items: center; line-height: 1;
  border: 2px solid #fff;
}
.ku-tabbar a.is-active .ku-tabbar__badge { background:#fff; color:var(--ku-magenta,#D6006E); }
/* contador del corazón y carrito arriba, más visible en móvil */
.ku-header__like .ku-cart-btn__count,
.ku-cart-btn__count {
  background: var(--ku-magenta,#D6006E); color:#fff;
}

/* ==========================================================================
   HERO — imagen del slide dentro del círculo (como "Kits")
   ========================================================================== */
.ku-hero__circle-img {
  width: 86%; height: 86%;
  object-fit: cover; border-radius: 50%;
  display: block;
  box-shadow: 0 12px 30px -10px rgba(42,22,32,.3);
}
.ku-hero__circle-inner { overflow: hidden; }

/* ==========================================================================
   Quitar barra inferior móvil — favorito ya está arriba junto al carrito
   ========================================================================== */
.ku-tabbar { display: none !important; }
body { padding-bottom: 0 !important; }
/* asegurar corazón visible siempre, junto al carrito */
.ku-header__like { display: inline-grid !important; }

/* ==========================================================================
   Top bar (barra negra) más compacta y discreta
   ========================================================================== */
.ku-utility { font-size: 11.5px; }
.ku-utility__inner { padding: 6px var(--s-5); }
.ku-utility__item .ku-icon { width: 13px; height: 13px; }
