/* =====================================================================
   CIUDAD DEL MUEBLE - SISTEMA VISUAL COMPARTIDO
   =====================================================================
   Capa de diseno que unifica las paginas publicas con la nueva landing.

   COMO FUNCIONA
   -------------
   Se carga DESPUES de `css/style.css` desde `layout/app.blade.php`.
   No reemplaza a style.css: lo re-estiliza. Por eso todos los selectores
   reutilizan los nombres de clase que YA existen en las vistas y de los
   que depende `public/js/main.js` (jQuery). No se cambia ningun nombre de
   clase ni la estructura del DOM: la migracion es exclusivamente visual.

   PALETA
   ------
   Tomada literalmente de la landing (`public/landing/css/styles.css`)
   para no crear una segunda identidad visual.

   SECCIONES
   ---------
   01 Tokens          07 Grillas y sidebar    13 Animaciones
   02 Base            08 Filtros              14 Dark mode
   03 Encabezado      09 Paginacion           15 Responsive
   04 Botones         10 Estados y mensajes   16 Accesibilidad
   05 Formularios     11 Carrito y checkout
   06 Tarjeta prod.   12 Navegacion y footer
   ===================================================================== */


/* == 01 · TOKENS ================================================== */
:root {
  /* Marca (identicos a la landing) */
  --cdm-navy:  #14263d;
  --cdm-dark:  #0b1727;
  --cdm-coral: #ed694b;
  --cdm-cta:   #ed694b; /* llamada a la accion; puede diferir del acento */
  --cdm-cream: #f4f0e8;
  --cdm-sage:  #9eb59d;
  --cdm-ink:   #171a1d;

  /* Superficies y texto */
  --cdm-paper:      #ffffff;
  --cdm-text:       #171a1d;
  --cdm-text-soft:  #5c6268;
  --cdm-text-mute:  #8a9199;
  --cdm-line:       #e2ddd2;
  --cdm-line-soft:  #efeae0;

  /* Estados */
  --cdm-success: #3d7a5a;
  --cdm-warning: #d98324;
  --cdm-danger:  #c0392b;

  /* Espaciado */
  --cdm-sp-1: 6px;
  --cdm-sp-2: 12px;
  --cdm-sp-3: 20px;
  --cdm-sp-4: 32px;
  --cdm-sp-5: 52px;
  --cdm-sp-6: 80px;

  /* Tipografia fluida */
  --cdm-fs-label: 10px;
  --cdm-fs-body:  15px;
  --cdm-fs-lead:  17px;
  --cdm-fs-h3:    clamp(20px, 2.2vw, 27px);
  --cdm-fs-h2:    clamp(30px, 4.2vw, 56px);
  --cdm-fs-h1:    clamp(34px, 5.2vw, 68px);

  /* Bordes y transicion */
  --cdm-radius:   0px;
  --cdm-shadow:   0 10px 30px rgba(11, 23, 39, .07);
  --cdm-ease:     .28s cubic-bezier(.4, 0, .2, 1);
}


/* == 02 · BASE ==================================================== */
body { background: var(--cdm-cream); color: var(--cdm-text); }

/* Etiqueta editorial en mayusculas */
.cdm-label {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 var(--cdm-sp-3);
  font-size: var(--cdm-fs-label);
  font-weight: 900;
  letter-spacing: .19em;
  text-transform: uppercase;
  color: var(--cdm-navy);
}
.cdm-label span { color: var(--cdm-coral); }
.cdm-label i { width: 30px; height: 3px; background: var(--cdm-coral); font-style: normal; }
.cdm-label--light { color: #fff; }
.cdm-em { color: var(--cdm-coral); font-style: normal; }

/* Seccion clara / oscura, al estilo editorial de la landing */
.cdm-section { padding: var(--cdm-sp-6) 0; }
.cdm-section--tight { padding: var(--cdm-sp-5) 0; }
.cdm-section--navy { background: var(--cdm-navy); color: #fff; }
.cdm-section--navy h1, .cdm-section--navy h2, .cdm-section--navy h3 { color: #fff; }
.cdm-section--paper { background: var(--cdm-paper); }

.cdm-title {
  font-size: var(--cdm-fs-h2);
  line-height: .92;
  letter-spacing: -.045em;
  margin: 0 0 var(--cdm-sp-3);
  font-weight: 700;
}


/* == 03 · ENCABEZADO INTERNO ====================================== */
/* Re-estiliza el `.breadcrumb-section` que ya usan 7 vistas publicas.
   Version compacta del lenguaje editorial: no repite el hero gigante. */
.breadcrumb-section {
  background: var(--cdm-navy);
  background-image: none;
  color: #fff;
  padding: var(--cdm-sp-5) 0 var(--cdm-sp-4);
  position: relative;
  border-bottom: 3px solid var(--cdm-coral);
}
.breadcrumb-section .breadcrumb__text { text-align: left; }
.breadcrumb-section .breadcrumb__text h2 {
  font-size: var(--cdm-fs-h1);
  line-height: .9;
  letter-spacing: -.045em;
  margin: 0 0 var(--cdm-sp-2);
  color: #fff;
  font-weight: 700;
}
.breadcrumb-section .breadcrumb__option {
  font-size: var(--cdm-fs-label);
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, .55);
}
.breadcrumb-section .breadcrumb__option a { color: #fff; opacity: .75; transition: var(--cdm-ease); }
.breadcrumb-section .breadcrumb__option a:hover { opacity: 1; color: var(--cdm-coral); }
.breadcrumb-section .breadcrumb__option a::after { content: " / "; opacity: .45; }
.breadcrumb-section .breadcrumb__option span { color: var(--cdm-coral); }

/* Kicker del componente x-page-header */
.cdm-pagehead__kicker {
  display: block;
  font-size: var(--cdm-fs-label);
  font-weight: 900;
  letter-spacing: .19em;
  text-transform: uppercase;
  color: var(--cdm-coral);
  margin-bottom: var(--cdm-sp-2);
}


/* == 04 · BOTONES ================================================= */
.cdm-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 16px 24px;
  border: 1px solid transparent;
  border-radius: var(--cdm-radius);
  font-size: var(--cdm-fs-label);
  font-weight: 900;
  letter-spacing: .09em;
  text-transform: uppercase;
  line-height: 1.2;
  text-align: center;
  cursor: pointer;
  transition: var(--cdm-ease);
}
.cdm-btn--primary { background: var(--cdm-cta); color: #fff; }
.cdm-btn--primary:hover { background: var(--cdm-navy); color: #fff; }
.cdm-btn--navy { background: var(--cdm-navy); color: #fff; }
.cdm-btn--navy:hover { background: var(--cdm-cta); color: #fff; }
.cdm-btn--ghost { border-color: var(--cdm-navy); color: var(--cdm-navy); background: transparent; }
.cdm-btn--ghost:hover { background: var(--cdm-navy); color: #fff; }
.cdm-btn--light { border-color: rgba(255, 255, 255, .5); color: #fff; background: transparent; }
.cdm-btn--light:hover { background: #fff; color: var(--cdm-navy); }
.cdm-btn--wa { background: #25d366; color: #fff; }
.cdm-btn--wa:hover { background: #1da851; color: #fff; }
.cdm-btn--block { width: 100%; }
.cdm-btn:disabled, .cdm-btn[disabled] { opacity: .45; cursor: not-allowed; }

/* Boton flotante de WhatsApp. `bottom` deja libre el back-to-top. */
.cdm-wa-float {
  position: fixed;
  z-index: 60;
  right: 22px;
  bottom: 88px;
  width: 54px;
  height: 54px;
  background: #25d366;
  color: #fff;
  border-radius: 50%;
  display: grid;
  place-items: center;
  box-shadow: 0 12px 30px rgba(0, 0, 0, .27);
  transition: transform var(--cdm-ease);
}
.cdm-wa-float:hover { transform: scale(1.08); color: #fff; }
.cdm-wa-float svg { width: 27px; height: 27px; fill: currentColor; }


/* == 05 · FORMULARIOS ============================================= */
.cdm-field { margin-bottom: var(--cdm-sp-3); }
.cdm-field__label {
  display: block;
  margin-bottom: var(--cdm-sp-1);
  font-size: var(--cdm-fs-label);
  font-weight: 900;
  letter-spacing: .13em;
  text-transform: uppercase;
  color: var(--cdm-navy);
}
.cdm-field__req { color: var(--cdm-coral); }
.cdm-field__hint { display: block; margin-top: var(--cdm-sp-1); font-size: 12px; color: var(--cdm-text-mute); }
.cdm-field__error {
  display: block;
  margin-top: var(--cdm-sp-1);
  font-size: 12px;
  font-weight: 700;
  color: var(--cdm-danger);
}
.cdm-field__control {
  width: 100%;
  padding: 14px 16px;
  background: var(--cdm-paper);
  border: 1px solid var(--cdm-line);
  border-radius: var(--cdm-radius);
  font-size: var(--cdm-fs-body);
  color: var(--cdm-text);
  transition: var(--cdm-ease);
}
.cdm-field__control:focus {
  outline: none;
  border-color: var(--cdm-coral);
  box-shadow: 0 0 0 3px rgba(237, 105, 75, .16);
}
textarea.cdm-field__control { min-height: 150px; resize: vertical; }
.cdm-field--invalid .cdm-field__control { border-color: var(--cdm-danger); }
.cdm-field__control[disabled], .cdm-field__control[readonly] {
  background: var(--cdm-line-soft);
  cursor: not-allowed;
}


/* == 05b · CONTACTO Y PAGINAS INFORMATIVAS ======================== */
.contact { padding: var(--cdm-sp-5) 0 0; }
.contact__widget {
  padding: var(--cdm-sp-4) var(--cdm-sp-3);
  background: var(--cdm-paper);
  border: 1px solid var(--cdm-line-soft);
  height: 100%;
  transition: var(--cdm-ease);
}
.contact__widget:hover { border-color: var(--cdm-coral); box-shadow: var(--cdm-shadow); }
.contact__widget span[class^="icon_"] { font-size: 32px; color: var(--cdm-coral); display: block; margin-bottom: var(--cdm-sp-2); }
.contact__widget h4 {
  font-size: var(--cdm-fs-label);
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--cdm-navy);
  margin-bottom: var(--cdm-sp-1);
}
.contact__widget p { font-size: 13px; color: var(--cdm-text-soft); margin: 0; line-height: 1.6; }

.contact-form { padding: var(--cdm-sp-5) 0 var(--cdm-sp-6); }
.contact__form__title h2 {
  font-size: var(--cdm-fs-h2);
  line-height: .95;
  letter-spacing: -.04em;
  font-weight: 700;
  color: var(--cdm-navy);
  text-align: center;
}
.contact__form__title p { color: var(--cdm-text-soft); }
.contacto__acciones {
  display: flex;
  gap: var(--cdm-sp-2);
  flex-wrap: wrap;
  margin-top: var(--cdm-sp-3);
}

/* Articulo informativo: medida de linea comoda para lectura */
.cdm-article-wrap { background: var(--cdm-paper); }
.cdm-article {
  font-size: var(--cdm-fs-lead);
  line-height: 1.75;
  color: var(--cdm-text-soft);
  white-space: pre-line;
}
.cdm-article h2, .cdm-article h3 {
  font-size: var(--cdm-fs-h3);
  font-weight: 800;
  letter-spacing: -.02em;
  color: var(--cdm-navy);
  margin: var(--cdm-sp-4) 0 var(--cdm-sp-2);
  white-space: normal;
}
.cdm-article p { margin-bottom: var(--cdm-sp-3); }
.cdm-article a { color: var(--cdm-coral); text-decoration: underline; }
.cdm-article__cta {
  display: flex;
  gap: var(--cdm-sp-2);
  flex-wrap: wrap;
  margin-top: var(--cdm-sp-5);
  padding-top: var(--cdm-sp-4);
  border-top: 1px solid var(--cdm-line);
}

/* Mapa de "Como llegar" */
.map { position: relative; }
.map iframe { display: block; filter: saturate(.85); }
.map-inside .inside-widget {
  background: var(--cdm-navy);
  color: #fff;
  padding: var(--cdm-sp-3);
}
.map-inside .inside-widget h4 {
  font-size: var(--cdm-fs-label);
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--cdm-coral);
}
.map-inside .inside-widget ul { list-style: none; padding: 0; margin: 0; }
.map-inside .inside-widget li { font-size: 13px; color: rgba(255, 255, 255, .78); padding: 3px 0; }


/* == 06 · TARJETA DE PRODUCTO ===================================== */
/* Mismos nombres de clase que consume main.js. Solo cambia el aspecto. */
.featured__item {
  display: block;
  background: var(--cdm-paper);
  border: 1px solid var(--cdm-line-soft);
  border-bottom: 0;
  position: relative;
  transition: var(--cdm-ease);
}
.featured__item:hover { border-color: var(--cdm-line); box-shadow: var(--cdm-shadow); }

.featured__item__pic {
  position: relative;
  overflow: hidden;
  background: var(--cdm-cream);
  aspect-ratio: 1 / 1;
  height: auto;
}
.featured__item__pic img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .55s cubic-bezier(.4, 0, .2, 1);
}
.featured__item:hover .featured__item__pic img { transform: scale(1.045); }

/* Estado "sin imagen": el SVG de respaldo que ya trae el componente */
.featured__item__pic > svg {
  width: 46px;
  height: 46px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: var(--cdm-text-mute);
  opacity: .5;
}

.featured__item__text { padding: var(--cdm-sp-3) var(--cdm-sp-3) var(--cdm-sp-2); }
.featured__item__cat {
  display: block;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: var(--cdm-coral);
  margin-bottom: var(--cdm-sp-1);
  min-height: 1.2em;
}
.featured__item__text h6 {
  font-size: var(--cdm-fs-body);
  line-height: 1.3;
  margin: 0 0 var(--cdm-sp-2);
  color: var(--cdm-text);
  font-weight: 600;
  min-height: 2.6em;
}
.featured__item__text h5 {
  font-size: 22px;
  font-weight: 800;
  letter-spacing: -.02em;
  margin: 0;
  color: var(--cdm-navy);
}

.product__card__badge-oferta {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 3;
  background: var(--cdm-coral);
  color: #fff;
  padding: 7px 12px;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .14em;
}

.featured__item__actions {
  background: var(--cdm-paper);
  border: 1px solid var(--cdm-line-soft);
  border-top: 0;
  padding: 0 var(--cdm-sp-3) var(--cdm-sp-3);
  margin-bottom: var(--cdm-sp-4);
}
.product__card__actions-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--cdm-sp-2);
  margin-bottom: var(--cdm-sp-2);
}
.product__card__quantity {
  display: flex;
  align-items: center;
  border: 1px solid var(--cdm-line);
}
.product__card__quantity .qtybtn {
  width: 32px;
  height: 34px;
  display: grid;
  place-items: center;
  cursor: pointer;
  user-select: none;
  font-weight: 800;
  color: var(--cdm-navy);
  transition: var(--cdm-ease);
}
.product__card__quantity .qtybtn:hover { background: var(--cdm-navy); color: #fff; }
.product__card__quantity input {
  width: 40px;
  height: 34px;
  border: 0;
  border-left: 1px solid var(--cdm-line);
  border-right: 1px solid var(--cdm-line);
  text-align: center;
  font-weight: 700;
  color: var(--cdm-text);
  background: transparent;
}
.product__card__quantity input.product__card__quantity-input--error {
  color: var(--cdm-coral);
}
.product__card__quantity:has(.product__card__quantity-input--error) {
  border-color: var(--cdm-coral);
  box-shadow: 0 0 0 3px rgba(237, 105, 75, .14);
}
.product__card__quantity-warning {
  display: none;
  margin-top: 8px;
  color: var(--cdm-coral);
  font-family: var(--e404-font-mono, 'Space Mono', monospace);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .07em;
  line-height: 1.35;
  text-align: center;
  text-transform: uppercase;
}
.product__card__quantity-warning--visible {
  display: block;
}
.product__card__fav {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border: 1px solid var(--cdm-line);
  color: var(--cdm-text-mute);
  transition: var(--cdm-ease);
}
.product__card__fav:hover { border-color: var(--cdm-coral); color: var(--cdm-text-mute); }
.product__card__fav--active,
.product__card__fav--active:hover {
  color: var(--cdm-coral) !important;
  border-color: var(--cdm-coral);
}
.product__card__fav:not(.product__card__fav--active),
.product__card__fav:not(.product__card__fav--active):hover,
.product__card__fav:not(.product__card__fav--active):active {
  color: var(--cdm-text-mute) !important;
}
.product__card__fav:not(.product__card__fav--active) i {
  color: var(--cdm-text-mute) !important;
}
.product__card__fav:not(.product__card__fav--active):focus,
.product__card__fav:not(.product__card__fav--active):focus-visible {
  color: var(--cdm-text-mute) !important;
  border-color: var(--cdm-line);
  outline: none;
  box-shadow: none;
}
.product__card__fav--loading {
  pointer-events: none;
}
.product-card-btnfavorite-disabled {
  cursor: pointer;
}

.product__card__button {
  width: 100%;
  padding: 13px 16px;
  background: var(--cdm-navy);
  color: #fff;
  border: 1px solid var(--cdm-navy);
  font-size: var(--cdm-fs-label);
  font-weight: 900;
  letter-spacing: .11em;
  text-transform: uppercase;
  cursor: pointer;
  transition: var(--cdm-ease);
}
.product__card__button:hover { background: var(--cdm-cta); border-color: var(--cdm-cta); }
.product__card__agotado {
  display: block;
  width: 100%;
  padding: 13px 16px;
  text-align: center;
  background: var(--cdm-line-soft);
  color: var(--cdm-text-mute);
  font-size: var(--cdm-fs-label);
  font-weight: 900;
  letter-spacing: .11em;
  text-transform: uppercase;
}


/* == 06b · DETALLE DE PRODUCTO ==================================== */
/* Mismos nombres de clase: main.js engancha .item-detail-add-cart,
   .add-to-fav-detail, .pro-qty-detail y el zoom de la galeria.        */
.product-details { padding: var(--cdm-sp-6) 0 var(--cdm-sp-5); }

.product__details__pic__item { background: var(--cdm-cream); border: 1px solid var(--cdm-line-soft); }
.product__details__pic__item--large { width: 100%; height: auto; display: block; }
.product__details__pic__slider { margin-top: var(--cdm-sp-2); }
.product__details__pic__slider img {
  border: 1px solid var(--cdm-line-soft);
  cursor: pointer;
  transition: var(--cdm-ease);
}
.product__details__pic__slider img:hover { border-color: var(--cdm-coral); }

.product__details__text h3 {
  font-size: var(--cdm-fs-h2);
  line-height: .95;
  letter-spacing: -.04em;
  font-weight: 700;
  color: var(--cdm-navy);
  margin: 0 0 var(--cdm-sp-3);
}
.product__details__price {
  font-size: clamp(30px, 4vw, 46px);
  font-weight: 800;
  letter-spacing: -.03em;
  color: var(--cdm-coral);
  margin-bottom: var(--cdm-sp-3);
  padding-bottom: var(--cdm-sp-3);
  border-bottom: 1px solid var(--cdm-line);
}
.product__details__text > p {
  font-size: var(--cdm-fs-lead);
  line-height: 1.65;
  color: var(--cdm-text-soft);
}

.product__details__actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--cdm-sp-2);
  margin: var(--cdm-sp-4) 0 var(--cdm-sp-2);
}
.pro-qty-detail { display: flex; align-items: center; border: 1px solid var(--cdm-line); }
.pro-qty-detail .qtybtn {
  width: 40px;
  height: 48px;
  display: grid;
  place-items: center;
  cursor: pointer;
  user-select: none;
  font-weight: 800;
  color: var(--cdm-navy);
  transition: var(--cdm-ease);
}
.pro-qty-detail .qtybtn:hover { background: var(--cdm-navy); color: #fff; }
.pro-qty-detail input {
  width: 52px;
  height: 48px;
  border: 0;
  border-left: 1px solid var(--cdm-line);
  border-right: 1px solid var(--cdm-line);
  text-align: center;
  font-weight: 700;
  background: transparent;
  color: var(--cdm-text);
}

.primary-btn, .site-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 16px 26px;
  background: var(--cdm-navy);
  color: #fff;
  border: 1px solid var(--cdm-navy);
  border-radius: var(--cdm-radius);
  font-size: var(--cdm-fs-label);
  font-weight: 900;
  letter-spacing: .11em;
  text-transform: uppercase;
  cursor: pointer;
  transition: var(--cdm-ease);
}
.primary-btn:hover, .site-btn:hover { background: var(--cdm-cta); border-color: var(--cdm-cta); color: #fff; }
.primary-btn-disabled {
  display: inline-flex;
  align-items: center;
  padding: 16px 26px;
  background: var(--cdm-line-soft);
  color: var(--cdm-text-mute);
  font-size: var(--cdm-fs-label);
  font-weight: 900;
  letter-spacing: .11em;
  text-transform: uppercase;
  cursor: not-allowed;
}
.add-to-fav-detail {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border: 1px solid var(--cdm-line);
  color: var(--cdm-text-mute);
  cursor: pointer;
  transition: var(--cdm-ease);
}
.add-to-fav-detail:hover { border-color: var(--cdm-coral); color: var(--cdm-coral); }
.add-to-fav-activo { color: var(--cdm-coral); border-color: var(--cdm-coral); }

.product__details__wa { margin-bottom: var(--cdm-sp-4); }

.product__details__text > ul { list-style: none; padding: 0; margin: 0 0 var(--cdm-sp-4); }
.product__details__text > ul > li {
  display: flex;
  align-items: center;
  gap: var(--cdm-sp-2);
  padding: 11px 0;
  border-bottom: 1px solid var(--cdm-line-soft);
  font-size: var(--cdm-fs-body);
  color: var(--cdm-text-soft);
}
.product__details__text > ul > li b {
  min-width: 130px;
  font-size: var(--cdm-fs-label);
  font-weight: 900;
  letter-spacing: .13em;
  text-transform: uppercase;
  color: var(--cdm-navy);
}
.product__details__text .share a {
  display: inline-grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border: 1px solid var(--cdm-line);
  color: var(--cdm-navy);
  margin-right: 6px;
  transition: var(--cdm-ease);
}
.product__details__text .share a:hover { background: var(--cdm-coral); border-color: var(--cdm-coral); color: #fff; }

/* Pestanas (Bootstrap 4: no se toca data-toggle ni los ids) */
.product__details__tab { margin-top: var(--cdm-sp-4); }
.product__details__tab .nav-tabs { border-bottom: 1px solid var(--cdm-line); gap: var(--cdm-sp-3); }
.product__details__tab .nav-tabs .nav-link {
  border: 0;
  border-bottom: 2px solid transparent;
  padding: 12px 0;
  background: transparent;
  font-size: var(--cdm-fs-label);
  font-weight: 900;
  letter-spacing: .13em;
  text-transform: uppercase;
  color: var(--cdm-text-mute);
}
.product__details__tab .nav-tabs .nav-link.active {
  color: var(--cdm-navy);
  border-bottom-color: var(--cdm-coral);
  background: transparent;
}
.product__details__tab__desc { padding-top: var(--cdm-sp-3); }
.product__details__tab__desc h6 {
  font-size: var(--cdm-fs-label);
  font-weight: 900;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: var(--cdm-coral);
  margin-bottom: var(--cdm-sp-2);
}
.product__details__tab__desc p { font-size: var(--cdm-fs-body); line-height: 1.75; color: var(--cdm-text-soft); }

/* Resenas */
.resenas-form { padding: var(--cdm-sp-3); background: var(--cdm-cream); border: 1px solid var(--cdm-line-soft); }
.resenas-star { color: var(--cdm-line); cursor: pointer; font-size: 20px; margin-right: 3px; transition: var(--cdm-ease); }
.resenas-star.is-on, .resena-item__star--active { color: var(--cdm-coral); }
.resena-item__star--inactive { color: var(--cdm-line); }
/* style.css la dibujaba como caja (padding 20px + borde + radio 6px).
   Aca pasa a lista plana: hay que APAGAR el borde, el radio y el fondo,
   no solo cambiar el padding, o el texto queda pegado al borde viejo. */
.resena-item {
  padding: var(--cdm-sp-3) 0;
  border: 0;
  border-bottom: 1px solid var(--cdm-line-soft);
  border-radius: 0;
  background: transparent;
  margin-bottom: 0;
}
.resena-item__header { display: flex; align-items: center; gap: var(--cdm-sp-2); flex-wrap: wrap; }
.resena-item__author { font-size: 13px; color: var(--cdm-navy); }
.resena-item__date { font-size: 11px; color: var(--cdm-text-mute); }
.resena-item__text { margin: var(--cdm-sp-1) 0 0; font-size: var(--cdm-fs-body); color: var(--cdm-text-soft); }

.related-product { padding-bottom: var(--cdm-sp-6); }
.related__product__title h2, .product__discount__title h2 {
  font-size: var(--cdm-fs-h3);
  font-weight: 800;
  letter-spacing: -.02em;
  color: var(--cdm-navy);
  padding-bottom: var(--cdm-sp-2);
  border-bottom: 2px solid var(--cdm-coral);
  display: inline-block;
  margin-bottom: var(--cdm-sp-4);
}


/* == 07 · GRILLAS Y SIDEBAR ======================================= */
.sidebar__item { margin-bottom: var(--cdm-sp-4); }
.sidebar__item h4,
.sidebar__item .section-title h2 {
  font-size: var(--cdm-fs-label);
  font-weight: 900;
  letter-spacing: .17em;
  text-transform: uppercase;
  color: var(--cdm-navy);
  padding-bottom: var(--cdm-sp-2);
  border-bottom: 2px solid var(--cdm-coral);
  margin-bottom: var(--cdm-sp-3);
}
.sidebar__item ul { list-style: none; padding: 0; margin: 0; }
.sidebar__item ul li { border-bottom: 1px solid var(--cdm-line-soft); }
.sidebar__item ul li a {
  display: block;
  padding: 11px 0;
  font-size: 13px;
  color: var(--cdm-text-soft);
  transition: var(--cdm-ease);
}
.sidebar__item ul li a:hover { color: var(--cdm-coral); padding-left: 8px; }

.section-title h2 {
  font-size: var(--cdm-fs-h3);
  font-weight: 800;
  letter-spacing: -.02em;
  color: var(--cdm-navy);
  margin: 0 0 var(--cdm-sp-3);
}

/* Contador de resultados del listado */
.tienda-search-info {
  font-size: var(--cdm-fs-label);
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
  color: var(--cdm-text-soft);
  padding-bottom: var(--cdm-sp-2);
  border-bottom: 1px solid var(--cdm-line);
  margin-bottom: var(--cdm-sp-3);
}
.tienda-search-info strong { color: var(--cdm-navy); }
.tienda-search-info span { color: var(--cdm-coral); font-weight: 900; }


/* == 08 · FILTROS ================================================= */
.filter__item {
  padding: var(--cdm-sp-3) 0;
  border-bottom: 1px solid var(--cdm-line);
  margin-bottom: var(--cdm-sp-4);
}
.filter__gender { display: flex; flex-wrap: wrap; gap: var(--cdm-sp-1); margin-bottom: var(--cdm-sp-2); }
.filter__gender-btn {
  padding: 9px 16px;
  border: 1px solid var(--cdm-line);
  background: var(--cdm-paper);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--cdm-text-soft);
  transition: var(--cdm-ease);
}
.filter__gender-btn:hover { border-color: var(--cdm-navy); color: var(--cdm-navy); }
.filter__gender-btn--active {
  background: var(--cdm-navy);
  border-color: var(--cdm-navy);
  color: #fff;
}
.filter__sort { display: flex; align-items: center; gap: var(--cdm-sp-2); }
.filter__sort > span {
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--cdm-text-mute);
  white-space: nowrap;
}

/* nice-select (jQuery) envuelve todos los <select>. Se re-estiliza el
   wrapper que genera, sin tocar el <select> original ni su id. */
.filter__sort .nice-select,
.cdm-select-wrap .nice-select {
  border: 1px solid var(--cdm-line);
  border-radius: var(--cdm-radius);
  background: var(--cdm-paper);
  font-size: 12px;
  font-weight: 700;
  color: var(--cdm-navy);
  height: 40px;
  line-height: 38px;
  padding-left: 14px;
  padding-right: 32px;
}
.nice-select .option.selected.focus { color: var(--cdm-coral); }
.nice-select .list { border-radius: var(--cdm-radius); border: 1px solid var(--cdm-line); }

/* Panel de filtros en celular: nace cerrado para evitar flash de carga. */
.cdm-filtros-toggle { display: none; }


/* == 09 · PAGINACION ============================================== */
/* Bootstrap 4 (`Paginator::useBootstrapFour`). El AJAX de la tienda
   depende del selector `.pagination a`, por eso no se publica una vista
   personalizada: se re-estiliza el markup existente. */
.pagination {
  display: flex;
  flex-wrap: wrap;
  gap: var(--cdm-sp-1);
  justify-content: center;
  padding: var(--cdm-sp-4) 0;
  margin: 0;
  list-style: none;
}
.pagination .page-item .page-link {
  min-width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  padding: 0 12px;
  border: 1px solid var(--cdm-line);
  border-radius: var(--cdm-radius);
  background: var(--cdm-paper);
  color: var(--cdm-navy);
  font-size: 13px;
  font-weight: 700;
  transition: var(--cdm-ease);
}
.pagination .page-item .page-link:hover {
  border-color: var(--cdm-navy);
  background: var(--cdm-navy);
  color: #fff;
}
.pagination .page-item.active .page-link {
  background: var(--cdm-coral);
  border-color: var(--cdm-coral);
  color: #fff;
}
.pagination .page-item.disabled .page-link {
  opacity: .4;
  background: transparent;
  color: var(--cdm-text-mute);
}


/* == 10 · ESTADOS Y MENSAJES ====================================== */
/* Estado vacio / sin resultados */
.cdm-empty {
  text-align: center;
  padding: var(--cdm-sp-6) var(--cdm-sp-3);
  border: 1px dashed var(--cdm-line);
  background: var(--cdm-paper);
}
.cdm-empty__icon { font-size: 40px; color: var(--cdm-line); margin-bottom: var(--cdm-sp-3); }
.cdm-empty__title {
  font-size: var(--cdm-fs-h3);
  font-weight: 800;
  letter-spacing: -.02em;
  color: var(--cdm-navy);
  margin: 0 0 var(--cdm-sp-2);
}
.cdm-empty__text { color: var(--cdm-text-soft); font-size: var(--cdm-fs-body); margin: 0 0 var(--cdm-sp-4); }
.cdm-empty__actions { display: flex; gap: var(--cdm-sp-2); justify-content: center; flex-wrap: wrap; }

/* Mensajes flash. Se re-estiliza el markup de alertas de Bootstrap que
   ya emite `layout/app.blade.php` (session status / error). */
.alert {
  border: 0;
  border-left: 4px solid var(--cdm-navy);
  border-radius: var(--cdm-radius);
  background: var(--cdm-paper);
  color: var(--cdm-text);
  padding: 16px 20px;
  font-size: var(--cdm-fs-body);
  box-shadow: var(--cdm-shadow);
}
.alert-success { border-left-color: var(--cdm-success); }
.alert-danger  { border-left-color: var(--cdm-danger); }
.alert-warning { border-left-color: var(--cdm-warning); }
.alert-info    { border-left-color: var(--cdm-sage); }

/* Loader del listado AJAX */
.tienda-loader { display: none; padding: var(--cdm-sp-4) 0; text-align: center; }
.tienda-loader--active { display: block; }
body.cdm-shop #tienda-productos-grid.tienda-grid--loading { display: none; }
.cdm-shop__offers--loading {
  position: relative;
}
.cdm-shop__offers--loading > .row {
  min-height: 260px;
}
.cdm-shop__offers--loading .product__discount__slider {
  visibility: hidden;
}
.cdm-shop__offers--loading #tienda-ofertas-loader {
  position: absolute;
  left: 0;
  right: 0;
  bottom: var(--cdm-sp-4);
  top: 92px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
.tienda-loader__spinner {
  width: 34px;
  height: 34px;
  margin: 0 auto var(--cdm-sp-2);
  border: 2px solid var(--cdm-line);
  border-top-color: var(--cdm-coral);
  border-radius: 50%;
  animation: cdm-spin .7s linear infinite;
}
.tienda-loader__text {
  font-size: var(--cdm-fs-label);
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
  color: var(--cdm-text-mute);
}
@keyframes cdm-spin { to { transform: rotate(360deg); } }


/* == 11 · CARRITO Y CHECKOUT ====================================== */
/* Solo presentacion: ningun calculo ni nombre de campo se toca. */
.cdm-panel {
  background: var(--cdm-paper);
  border: 1px solid var(--cdm-line);
  padding: var(--cdm-sp-4);
}
.cdm-panel__title {
  font-size: var(--cdm-fs-label);
  font-weight: 900;
  letter-spacing: .17em;
  text-transform: uppercase;
  color: var(--cdm-navy);
  padding-bottom: var(--cdm-sp-2);
  border-bottom: 2px solid var(--cdm-coral);
  margin: 0 0 var(--cdm-sp-3);
}
.cdm-total-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding: 11px 0;
  border-bottom: 1px solid var(--cdm-line-soft);
  font-size: var(--cdm-fs-body);
  color: var(--cdm-text-soft);
}
.cdm-total-row--grand {
  border-bottom: 0;
  border-top: 2px solid var(--cdm-navy);
  margin-top: var(--cdm-sp-2);
  padding-top: var(--cdm-sp-3);
  font-size: 20px;
  font-weight: 800;
  color: var(--cdm-navy);
}
.cdm-total-row--grand strong { color: var(--cdm-coral); font-size: 26px; }

/* Carrito. ATENCION: main.js usa cadenas .parent().parent()... de
   profundidad fija sobre .shoping__cart__price / __total, por eso solo
   se cambian colores y espaciados, nunca el anidamiento del markup. */
.shoping-cart { padding: var(--cdm-sp-5) 0 var(--cdm-sp-6); }
.shoping__cart__item {
  display: flex;
  align-items: center;
  gap: var(--cdm-sp-3);
  padding: var(--cdm-sp-3) 0;
}
.shoping__cart__item img {
  width: 88px;
  height: 88px;
  object-fit: cover;
  border: 1px solid var(--cdm-line-soft);
}
.shoping__cart__info--nombre {
  font-size: var(--cdm-fs-body);
  font-weight: 600;
  color: var(--cdm-text);
  line-height: 1.35;
}
.shoping__cart__price, .shoping__cart__total {
  font-size: var(--cdm-fs-body);
  font-weight: 800;
  color: var(--cdm-navy);
  white-space: nowrap;
}
.shoping__cart__total { color: var(--cdm-coral); }
.cart__row {
  border-bottom: 1px solid var(--cdm-line-soft);
  background: var(--cdm-paper);
}
.shoping__cart__item__close {
  color: var(--cdm-text-mute);
  cursor: pointer;
  transition: var(--cdm-ease);
}
.shoping__cart__item__close:hover { color: var(--cdm-danger); }

.pro-qty { display: inline-flex; align-items: center; border: 1px solid var(--cdm-line); }
.pro-qty .qtybtn {
  width: 32px;
  height: 36px;
  display: grid;
  place-items: center;
  cursor: pointer;
  user-select: none;
  font-weight: 800;
  color: var(--cdm-navy);
  transition: var(--cdm-ease);
}
.pro-qty .qtybtn:hover { background: var(--cdm-navy); color: #fff; }
.pro-qty input {
  width: 44px;
  height: 36px;
  border: 0;
  border-left: 1px solid var(--cdm-line);
  border-right: 1px solid var(--cdm-line);
  text-align: center;
  font-weight: 700;
  background: transparent;
  color: var(--cdm-text);
}

.shoping__cart__btns { display: flex; gap: var(--cdm-sp-2); flex-wrap: wrap; padding-top: var(--cdm-sp-3); }
.shoping__checkout {
  background: var(--cdm-paper);
  border: 1px solid var(--cdm-line);
  padding: var(--cdm-sp-4);
}
.shoping__checkout h5 {
  font-size: var(--cdm-fs-label);
  font-weight: 900;
  letter-spacing: .17em;
  text-transform: uppercase;
  color: var(--cdm-navy);
  padding-bottom: var(--cdm-sp-2);
  border-bottom: 2px solid var(--cdm-coral);
  margin-bottom: var(--cdm-sp-3);
}
.shoping__checkout ul { list-style: none; padding: 0; margin: 0 0 var(--cdm-sp-3); }
.shoping__checkout ul li {
  display: flex;
  justify-content: space-between;
  padding: 10px 0;
  border-bottom: 1px solid var(--cdm-line-soft);
  font-size: var(--cdm-fs-body);
  color: var(--cdm-text-soft);
}
.shoping__checkout ul li:last-child {
  border-bottom: 0;
  border-top: 2px solid var(--cdm-navy);
  margin-top: var(--cdm-sp-1);
  padding-top: var(--cdm-sp-3);
  font-size: 19px;
  font-weight: 800;
  color: var(--cdm-navy);
}
.shoping__checkout ul li:last-child span { color: var(--cdm-coral); }


/* == 11b · AUTENTICACION PUBLICA ================================== */
/* Las vistas de auth ya traian `old()`, `@error` y clases `auth-*`
   propias. No se toca su markup: solo se re-estilan. */
.auth-section {
  padding: var(--cdm-sp-6) var(--cdm-sp-3);
  display: flex;
  justify-content: center;
  background: var(--cdm-cream);
}
.auth-card {
  width: 100%;
  max-width: 440px;
  background: var(--cdm-paper);
  border: 1px solid var(--cdm-line);
  border-top: 3px solid var(--cdm-coral);
  padding: var(--cdm-sp-5) var(--cdm-sp-4);
}
.auth-card__header { text-align: center; margin-bottom: var(--cdm-sp-4); }
.auth-card__title {
  font-size: clamp(26px, 3.4vw, 36px);
  font-weight: 800;
  letter-spacing: -.035em;
  color: var(--cdm-navy);
  margin: 0 0 var(--cdm-sp-1);
}
.auth-card__subtitle { font-size: 13px; color: var(--cdm-text-soft); margin: 0; }

.auth-social__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  padding: 13px 16px;
  border: 1px solid var(--cdm-line);
  background: var(--cdm-paper);
  color: var(--cdm-text);
  font-size: 13px;
  font-weight: 700;
  transition: var(--cdm-ease);
}
.auth-social__btn:hover { border-color: var(--cdm-navy); color: var(--cdm-navy); }
.auth-social__btn img { width: 18px; height: 18px; }

.auth-divider {
  display: flex;
  align-items: center;
  gap: var(--cdm-sp-2);
  margin: var(--cdm-sp-3) 0;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
  color: var(--cdm-text-mute);
}
.auth-divider::before, .auth-divider::after {
  content: "";
  flex: 1;
  height: 1px;
  background: var(--cdm-line);
}

.auth-form__group { margin-bottom: var(--cdm-sp-3); }
.auth-form__label {
  display: block;
  margin-bottom: var(--cdm-sp-1);
  font-size: var(--cdm-fs-label);
  font-weight: 900;
  letter-spacing: .13em;
  text-transform: uppercase;
  color: var(--cdm-navy);
}
.auth-form__input {
  width: 100%;
  padding: 14px 16px;
  background: var(--cdm-paper);
  border: 1px solid var(--cdm-line);
  border-radius: var(--cdm-radius);
  font-size: var(--cdm-fs-body);
  color: var(--cdm-text);
  transition: var(--cdm-ease);
}
.auth-form__input:focus {
  outline: none;
  border-color: var(--cdm-coral);
  box-shadow: 0 0 0 3px rgba(237, 105, 75, .16);
}
.auth-form__input.is-invalid { border-color: var(--cdm-danger); }
.auth-form__error { display: block; margin-top: var(--cdm-sp-1); font-size: 12px; font-weight: 700; color: var(--cdm-danger); }
.auth-form__input-group { position: relative; }
.auth-form__toggle-password {
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  border: 0;
  background: none;
  color: var(--cdm-text-mute);
  cursor: pointer;
}
.auth-form__submit, .auth-form button[type="submit"] {
  width: 100%;
  padding: 15px 20px;
  background: var(--cdm-navy);
  color: #fff;
  border: 1px solid var(--cdm-navy);
  font-size: var(--cdm-fs-label);
  font-weight: 900;
  letter-spacing: .11em;
  text-transform: uppercase;
  cursor: pointer;
  transition: var(--cdm-ease);
}
.auth-form__submit:hover, .auth-form button[type="submit"]:hover {
  background: var(--cdm-cta);
  border-color: var(--cdm-cta);
}
.auth-card a { color: var(--cdm-coral); }

/* Variante final de /login: una sola accion, sin distracciones globales. */
body.cdm-auth-login .header,
body.cdm-auth-login .footer,
body.cdm-auth-login .cdm-wa-float {
  display: none;
}

body.cdm-auth-login #cdm-main {
  min-height: 100vh;
}

body.cdm-auth-login .auth-section {
  min-height: 100vh;
  min-height: 100dvh;
  align-items: center;
  padding: 18px;
  background:
    linear-gradient(180deg, rgba(244, 240, 232, .98), rgba(244, 240, 232, .92)),
    var(--cdm-cream);
}

body.cdm-auth-login .auth-shell {
  width: min(448px, 100%);
  display: block;
  background: #fff;
  border: 1px solid rgba(20, 38, 61, .14);
  border-top: 3px solid var(--cdm-coral);
  box-shadow: 0 18px 50px rgba(11, 23, 39, .11);
}

body.cdm-auth-login .auth-panel {
  display: none;
}

body.cdm-auth-login .auth-card {
  width: 100%;
  max-width: 448px;
  min-height: auto;
  padding: 26px 32px 30px;
  background: transparent;
  border: 0;
  box-shadow: none;
}

body.cdm-auth-login .auth-brand {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 9px;
  margin: 0 auto 20px;
  color: var(--cdm-navy);
  font-family: var(--e404-font-mono, 'Space Mono', monospace);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
  line-height: 1.15;
  text-align: center;
  text-transform: uppercase;
  text-decoration: none;
}

body.cdm-auth-login .auth-brand:hover {
  color: var(--cdm-coral);
}

body.cdm-auth-login .auth-brand__mark,
body.cdm-auth-login .auth-brand__logo {
  width: 58px;
  height: 58px;
  flex: none;
}

body.cdm-auth-login .auth-brand__mark {
  display: grid;
  place-items: center;
  background: var(--cdm-navy);
  color: #fff;
  font-size: 13px;
  letter-spacing: 0;
  border-radius: 50%;
}

body.cdm-auth-login .auth-brand__logo {
  display: block;
  border-radius: 50%;
  object-fit: cover;
  border: 1px solid rgba(20, 38, 61, .16);
  background: var(--cdm-paper);
  box-shadow: 0 8px 20px rgba(11, 23, 39, .14);
}

body.cdm-auth-login .auth-brand__name {
  max-width: 220px;
}

body.cdm-auth-login .auth-card__header {
  margin-bottom: 18px;
}

body.cdm-auth-login .auth-card__title {
  margin-bottom: 6px;
  color: var(--cdm-navy);
  letter-spacing: 0;
}

body.cdm-auth-login .auth-social__btn {
  justify-content: center;
  color: var(--cdm-navy);
}

body.cdm-auth-login .auth-social {
  margin-bottom: 14px;
}

body.cdm-auth-login .auth-divider {
  margin: 0 0 14px;
}

body.cdm-auth-login .auth-message {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-bottom: 16px;
  padding: 12px 14px;
  border: 1px solid rgba(237, 105, 75, .28);
  background: rgba(237, 105, 75, .09);
  color: var(--cdm-navy);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.45;
}

body.cdm-auth-login .auth-message i {
  margin-top: 2px;
  color: var(--cdm-coral);
}

body.cdm-auth-login .auth-form {
  gap: 0;
}

body.cdm-auth-login .auth-form__group {
  margin-bottom: 14px;
}

body.cdm-auth-login .auth-form__input {
  height: 46px;
  padding-top: 0;
  padding-bottom: 0;
}

body.cdm-auth-login .auth-form__options {
  display: flex;
  justify-content: space-between;
  margin: -2px 0 14px;
}

body.cdm-auth-login .auth-remember {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin: 0;
  color: var(--cdm-text-soft);
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  user-select: none;
}

body.cdm-auth-login .auth-remember input {
  width: 17px;
  height: 17px;
  margin: 0;
  accent-color: var(--cdm-coral);
}

body.cdm-auth-login .auth-form__submit,
body.cdm-auth-login .auth-form button[type="submit"] {
  background: var(--cdm-navy);
  border-color: var(--cdm-navy);
  color: #fff;
  height: 46px;
  padding: 0 18px;
}

body.cdm-auth-login .auth-form__submit:hover,
body.cdm-auth-login .auth-form__submit:focus,
body.cdm-auth-login .auth-form button[type="submit"]:hover,
body.cdm-auth-login .auth-form button[type="submit"]:focus {
  background: var(--cdm-coral);
  border-color: var(--cdm-coral);
  color: #fff;
}

body.cdm-auth-login .auth-return-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  min-height: 42px;
  margin-top: 16px;
  padding: 11px 16px;
  border: 1px solid var(--cdm-line);
  background: transparent;
  color: var(--cdm-navy);
  font-family: var(--e404-font-mono, 'Space Mono', monospace);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .1em;
  text-align: center;
  text-transform: uppercase;
  transition: var(--cdm-ease);
}

body.cdm-auth-login .auth-card__footer {
  margin-top: 18px;
  padding: 16px 18px;
  border: 1px solid rgba(237, 105, 75, .24);
  background: rgba(237, 105, 75, .08);
  text-align: center;
}

body.cdm-auth-login .auth-card__footer p {
  margin-bottom: 5px;
  color: var(--cdm-navy);
  font-weight: 800;
}

body.cdm-auth-login .auth-card__footer .auth-link {
  color: var(--cdm-coral);
  font-weight: 900;
}

body.cdm-auth-login .auth-return-link:hover {
  border-color: var(--cdm-coral);
  color: var(--cdm-coral);
}

body.dark.cdm-auth-login .auth-section {
  background: linear-gradient(180deg, #0b1727 0%, #0d1c2e 100%);
}

body.dark.cdm-auth-login .auth-card {
  background: transparent;
  border-color: transparent;
  box-shadow: none;
}

body.dark.cdm-auth-login .auth-shell {
  background: #13263c;
  border-color: rgba(244, 240, 232, .16);
  border-top-color: var(--cdm-coral);
  box-shadow: 0 18px 50px rgba(0, 0, 0, .34);
}

body.dark.cdm-auth-login .auth-brand,
body.dark.cdm-auth-login .auth-card__title,
body.dark.cdm-auth-login .auth-form__label,
body.dark.cdm-auth-login .auth-social__btn,
body.dark.cdm-auth-login .auth-form__toggle-password {
  color: #fff;
}

body.dark.cdm-auth-login .auth-brand__mark {
  background: var(--cdm-coral);
  color: #fff;
}

body.dark.cdm-auth-login .auth-brand__logo {
  border-color: rgba(244, 240, 232, .18);
  background: rgba(244, 240, 232, .08);
  box-shadow: 0 10px 24px rgba(0, 0, 0, .32);
}

body.dark.cdm-auth-login .auth-remember {
  color: rgba(244, 240, 232, .78);
}

body.dark.cdm-auth-login .auth-divider {
  color: rgba(244, 240, 232, .78);
}

body.dark.cdm-auth-login .auth-divider::before,
body.dark.cdm-auth-login .auth-divider::after {
  background: rgba(244, 240, 232, .22);
}

body.dark.cdm-auth-login .auth-message {
  border-color: rgba(237, 105, 75, .42);
  background: rgba(237, 105, 75, .15);
  color: rgba(244, 240, 232, .9);
}

body.dark.cdm-auth-login .auth-card__footer {
  border-color: rgba(237, 105, 75, .42);
  background: rgba(237, 105, 75, .15);
}

body.dark.cdm-auth-login .auth-card__footer p {
  color: #fff;
}

body.dark.cdm-auth-login .auth-card__footer .auth-link {
  color: #fff;
  text-decoration: underline;
  text-decoration-color: rgba(255, 255, 255, .38);
  text-underline-offset: 3px;
}

body.dark.cdm-auth-login .auth-form__submit,
body.dark.cdm-auth-login .auth-form button[type="submit"] {
  background: var(--cdm-coral);
  border-color: var(--cdm-coral);
  color: #fff;
}

body.dark.cdm-auth-login .auth-form__submit:hover,
body.dark.cdm-auth-login .auth-form__submit:focus,
body.dark.cdm-auth-login .auth-form button[type="submit"]:hover,
body.dark.cdm-auth-login .auth-form button[type="submit"]:focus {
  background: #fff;
  border-color: #fff;
  color: var(--cdm-ink);
}

body.dark.cdm-auth-login .auth-social__btn:hover,
body.dark.cdm-auth-login .auth-social__btn:focus {
  border-color: var(--cdm-coral);
  color: var(--cdm-coral);
}

body.dark.cdm-auth-login .auth-return-link {
  border-color: rgba(244, 240, 232, .18);
  background: rgba(244, 240, 232, .04);
  color: rgba(244, 240, 232, .86);
}

body.dark.cdm-auth-login .auth-return-link:hover,
body.dark.cdm-auth-login .auth-return-link:focus {
  border-color: #fff;
  background: #fff;
  color: var(--cdm-ink);
}

@media (max-width: 575px) {
  body.cdm-auth-login .auth-section {
    align-items: flex-start;
    padding: 14px 14px 28px;
  }

  body.cdm-auth-login .auth-card {
    padding: 24px 20px 26px;
  }

  body.cdm-auth-login .auth-brand {
    margin-bottom: 18px;
  }
}


/* == 12 · NAVEGACION Y FOOTER ===================================== */
.footer { background: var(--cdm-dark); color: #fff; }
.footer__about__info ul { list-style: none; padding: 0; }
.footer__about__info li { font-size: 13px; color: rgba(255, 255, 255, .68); padding: 4px 0; }
.footer__about__info li i { color: var(--cdm-coral); width: 20px; }
.footer__widget h6,
.footer__widget h5 {
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--cdm-coral);
  margin-bottom: var(--cdm-sp-2);
}
.footer__widget ul li a { font-size: 13px; color: rgba(255, 255, 255, .68); transition: var(--cdm-ease); }
.footer__widget ul li a:hover { color: var(--cdm-coral); }
.footer__copyright {
  border-top: 1px solid rgba(255, 255, 255, .15);
  padding-top: var(--cdm-sp-3);
  margin-top: var(--cdm-sp-3);
}
.footer__copyright__text p { font-size: 12px; color: rgba(255, 255, 255, .55); }

.back-to-top {
  background: var(--cdm-navy);
  color: #fff;
  border-radius: 50%;
  transition: var(--cdm-ease);
}
.back-to-top:hover { background: var(--cdm-coral); color: #fff; }


/* == 13 · ANIMACIONES ============================================= */
/* Las animaciones GSAP las inicializa `public/js/cdm-ui.js`.
   REGLA IMPORTANTE: el contenido NUNCA se oculta desde CSS. `cdm-ui.js`
   marca <html> con la clase `cdm-gsap-ready` solo si GSAP cargo de
   verdad; si falla el CDN, todo queda visible. */
.cdm-gsap-ready .cdm-reveal { will-change: transform, opacity; }


/* == 14 · DARK MODE =============================================== */
/* El proyecto ya tenia dark mode (`body.dark`, persistido en
   localStorage por main.js). Se reasignan los tokens, no se duplican
   reglas: todo lo de arriba hereda automaticamente. */
body.dark {
  --cdm-cream:     #000000;
  --cdm-paper:     #111111;
  --cdm-text:      #e8e8e8;
  --cdm-text-soft: #b0b0b0;
  --cdm-text-mute: #6d6d6d;
  --cdm-line:      #2e2e2e;
  --cdm-line-soft: #232323;
  --cdm-navy:      #16283f;
  --cdm-shadow:    0 10px 30px rgba(0, 0, 0, .5);
}
body.dark .featured__item__text h5,
body.dark .cdm-empty__title,
body.dark .section-title h2,
body.dark .sidebar__item h4,
body.dark .cdm-panel__title,
body.dark .cdm-field__label { color: var(--cdm-coral); }
body.dark .product__card__button { background: var(--cdm-cta); border-color: var(--cdm-cta); }
body.dark .product__card__button:hover { background: #fff; color: var(--cdm-ink); }
body.dark .filter__gender-btn--active { background: var(--cdm-coral); border-color: var(--cdm-coral); }
body.dark .pagination .page-item .page-link { background: var(--cdm-paper); color: var(--cdm-text); }
body.dark .breadcrumb-section { background: #0a0a0a; }


/* == 15 · RESPONSIVE ============================================== */
@media (max-width: 991px) {
  :root { --cdm-sp-6: 56px; --cdm-sp-5: 40px; }
  .breadcrumb-section { padding: var(--cdm-sp-4) 0 var(--cdm-sp-3); }

  /* Filtros plegables en celular. El panel arranca abierto y solo lo
     cierra el JS, de modo que sin JavaScript todo sigue accesible. */
  .cdm-filtros-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 14px 16px;
    margin-bottom: var(--cdm-sp-2);
    background: var(--cdm-paper);
    border: 1px solid var(--cdm-line);
    color: var(--cdm-navy);
    font-size: var(--cdm-fs-label);
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
    cursor: pointer;
  }
  .cdm-filtros-toggle[aria-expanded="true"] { border-color: var(--cdm-navy); }
  .filter__item { margin-bottom: var(--cdm-sp-3); }
}

@media (max-width: 575px) {
  .featured__item__text { padding: var(--cdm-sp-2); }
  .featured__item__actions { padding: 0 var(--cdm-sp-2) var(--cdm-sp-2); }
  .featured__item__text h5 { font-size: 18px; }
  .cdm-wa-float { right: 14px; bottom: 78px; width: 48px; height: 48px; }
  .cdm-btn { padding: 14px 18px; }
}


/* == 16 · ACCESIBILIDAD =========================================== */
/* Foco visible y consistente para navegacion por teclado. */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible {
  outline: 2px solid var(--cdm-coral);
  outline-offset: 2px;
}

.cdm-skip-link {
  position: absolute;
  left: -9999px;
  top: 0;
  z-index: 200;
  padding: 12px 20px;
  background: var(--cdm-coral);
  color: #fff;
  font-size: var(--cdm-fs-label);
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.cdm-skip-link:focus { left: 0; color: #fff; }

.cdm-visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

@media (prefers-reduced-motion: reduce) {
  .tienda-loader__spinner { animation: none; }
  .featured__item:hover .featured__item__pic img { transform: none; }
}


/* =====================================================================
   == 17 · AJUSTE FINO SOBRE LA CAPA HEREDADA ==========================
   =====================================================================
   `style.css` trae la paleta original "Terracota-Tropical" y un lenguaje
   decorativo propio (bordes punteados, puntitos, radios de 8px, barras
   centradas). Los COLORES ya quedaron unificados remapeando --theme-* y
   --e404-* desde `layout/app.blade.php`.

   Esta seccion resuelve lo que no se arregla con variables: proporciones,
   jerarquia tipografica y adornos que chocan con el estilo editorial de
   la landing. Se apunta a la especificidad justa para ganarle a las
   reglas heredadas sin recurrir a !important, salvo donde style.css lo
   usa primero.
   ===================================================================== */

/* -- 17.1 · SISTEMA TIPOGRAFICO ------------------------------------
   Dos voces, igual que la landing:
     · Titulos → Poppins 800 con tracking negativo (bloque macizo)
     · Micro   → Space Mono en mayusculas con tracking amplio
   style.css ya usaba ambas fuentes; aca se ordena cuando va cada una. */
.breadcrumb-section .breadcrumb__text h2,
.product__details__text h3,
.section-title h2,
.cdm-empty__title,
.contact__form__title h2,
.auth-card__title,
.cdm-title {
  font-family: var(--e404-font-sans, 'Poppins', sans-serif);
  font-weight: 800;
  letter-spacing: -.035em;
  line-height: 1.04;
}

/* Los titulos internos NO repiten el hero gigante de la landing */
.breadcrumb-section .breadcrumb__text h2 { font-size: clamp(28px, 3.6vw, 46px); }
.product__details__text h3 { font-size: clamp(24px, 2.9vw, 38px); color: var(--cdm-navy); }
.section-title h2 { font-size: clamp(19px, 2vw, 25px); }


/* -- 17.2 · ADORNOS HEREDADOS AJENOS AL SISTEMA -------------------- */
/* Puntito decorativo sobre cada foto de producto */
.featured__item .featured__item__pic::before { content: none; }

/* Barra centrada bajo los titulos de seccion: pasa a filete izquierdo */
.section-title { text-align: left; margin-bottom: var(--cdm-sp-4); }
.section-title h2::after {
  left: 0;
  right: auto;
  margin: 0;
  width: 42px;
  height: 2px;
  border-radius: 0;
  bottom: -12px;
  background: var(--cdm-coral);
}

/* Filete bajo el titulo del encabezado interno, sobre fondo navy */
.breadcrumb-section .breadcrumb__text h2::after {
  position: static;
  display: block;
  content: "";
  width: 46px;
  height: 3px;
  border-radius: 0;
  background: var(--cdm-coral);
  margin: var(--cdm-sp-2) 0 var(--cdm-sp-3);
}

/* Radios y punteados: la landing es de cantos rectos */
.featured__item,
.featured__item__pic,
.featured__item__actions,
.product__details__pic__item,
.product__details__pic__slider img,
.sidebar__item,
.contact__widget,
.footer__about__logo img,
.shoping__checkout,
.cdm-panel { border-radius: 0; }


/* -- 17.3 · TARJETA DE PRODUCTO: PROPORCION -----------------------
   style.css fija .featured__item__pic en 190px de alto (dos veces) y usa
   `div.featured__item__pic`, de mayor especificidad que una clase suelta.
   Con `.featured__item .featured__item__pic` (0,2,0) se le gana sin
   !important. 190px quedaba muy chato para muebles: pasa a 4:5. */
.featured__item .featured__item__pic {
  height: auto;
  aspect-ratio: 4 / 5;
  border-bottom: 1px solid var(--cdm-line-soft);
}
.featured__item:hover .featured__item__pic { filter: none; }
.featured__item .featured__item__pic img { object-fit: cover; }

.featured__item { margin-bottom: 0; }
.featured__item__text { padding: var(--cdm-sp-3) var(--cdm-sp-3) var(--cdm-sp-2); }
.featured__item__text h6 {
  font-family: var(--e404-font-sans, 'Poppins', sans-serif);
  font-weight: 600;
  font-size: 14px;
  color: var(--cdm-text);
  line-height: 1.35;
}
.featured__item__text h6:hover { color: var(--cdm-coral); }

/* El precio es el dato comercial: mono, grande y coral */
.featured__item__text h5 {
  font-family: var(--e404-font-mono, 'Space Mono', monospace);
  font-size: 19px;
  font-weight: 700;
  letter-spacing: -.01em;
  color: var(--cdm-coral);
}


/* -- 17.4 · BOTONES: UNA SOLA VOZ ---------------------------------
   `.site-btn` y `.primary-btn` ya venian en Space Mono. Se alinea
   `.cdm-btn` con ellos para no tener dos estilos de boton conviviendo. */
.cdm-btn,
.product__card__button,
.product__card__agotado,
.primary-btn,
.site-btn,
.primary-btn-disabled {
  font-family: var(--e404-font-mono, 'Space Mono', monospace);
  border-radius: 0;
  letter-spacing: .08em;
}
.primary-btn:hover,
.site-btn:hover {
  transform: none;
  box-shadow: none;
  background: var(--cdm-cta);
  border-color: var(--cdm-cta);
  color: #fff;
}
.cdm-btn:hover { transform: none; }


/* -- 17.5 · ENCABEZADO INTERNO: AIRE Y RITMO ----------------------- */
.breadcrumb-section { padding: var(--cdm-sp-5) 0; border-bottom: 0; }
.breadcrumb-section .breadcrumb__text { max-width: 900px; }
.spad { padding-top: var(--cdm-sp-5); padding-bottom: var(--cdm-sp-6); }
.product .sidebar { top: 100px; }


/* -- 17.6 · FOOTER OSCURO, HECHO COMPLETO -------------------------
   El footer heredado estaba pensado para fondo claro: sus textos usan
   --e404-ink / --e404-ink-soft / --e404-muted. Al pasarlo a navy hay que
   reasignar TODOS esos colores o el texto queda ilegible. */
.footer { background: var(--cdm-dark); color: #fff; padding-top: var(--cdm-sp-6); }
.footer__about ul li,
.footer__widget ul li a,
.footer__widget p { color: rgba(255, 255, 255, .72); }
.footer__about ul li i,
.footer__widget__social a { color: rgba(255, 255, 255, .5); }
.footer__widget h6 { color: var(--cdm-coral); }
.footer__widget ul li a:hover,
.footer__copyright__dev a { color: var(--cdm-coral); }
.footer__widget form input {
  background: rgba(255, 255, 255, .06);
  border: 1px solid rgba(255, 255, 255, .16);
  color: #fff;
  border-radius: 0;
}
.footer__widget form input::placeholder { color: rgba(255, 255, 255, .4); }
.footer__widget form button { background: var(--cdm-coral); color: #fff; border-radius: 0; }
.footer__widget form button:hover { background: #fff; color: var(--cdm-navy); transform: none; }
.footer__widget__social a {
  border-color: rgba(255, 255, 255, .16);
  background: rgba(255, 255, 255, .05);
  border-radius: 0;
}
.footer__widget__social a:hover {
  background: var(--cdm-coral);
  border-color: var(--cdm-coral);
  color: #fff;
  transform: none;
  box-shadow: none;
}
.footer__copyright { border-top-color: rgba(255, 255, 255, .14); }
/* style.css marca este color con !important, hay que igualarlo */
.footer__copyright__text p { color: rgba(255, 255, 255, .5) !important; }
.footer__copyright__text,
.footer__copyright__dev { color: rgba(255, 255, 255, .5); }
.footer__copyright__dot { background: rgba(255, 255, 255, .2); }
.footer__copyright__dot--on { background: var(--cdm-coral); }
.footer__copyright__payment img { opacity: .5; }


/* -- 17.7 · SIDEBAR, FILTROS Y WIDGETS ----------------------------- */
.sidebar__item h4,
.contact__widget h4 {
  font-family: var(--e404-font-mono, 'Space Mono', monospace);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.contact__widget h4 { margin-top: var(--cdm-sp-2); }
.filter__item { text-align: left; padding-top: 0; border-top: 0; }
.sidebar__item ul li a { line-height: 1.5; }


/* =====================================================================
   == 18 · BARRIDO DE COLORES HARDCODEADOS =============================
   =====================================================================
   Remapear --theme-* y --e404-* unifico ~750 usos, pero `style.css`
   todavia tiene 34 selectores con la paleta vieja escrita a mano:

     #7A7068  gris calido   (18 selectores de texto)
     #C4603C  terracota     (6 selectores, todos en modo oscuro)
     rgba(196,96,60,·)      (7 sombras y fondos sutiles)
     rgba(139,94,60,·)      (1 sombra)

   Sin este barrido quedan manchas marrones sueltas sobre el nuevo
   sistema navy/coral. Se respetan los mismos niveles de opacidad para
   no alterar el peso visual de cada elemento.
   ===================================================================== */

/* -- 18.1 · Gris calido #7A7068 → gris neutro del sistema ---------- */
.sidebar__item__size label,
.checkout h6,
.checkout h6 a,
.checkout__order ul li,
.hero__search-mobile-btn,
.category-no-results,
.login__account--forgot span,
.blog__sidebar__search form input,
.blog__sidebar__search form button,
.blog__sidebar__recent__item__text span,
.blog__sidebar__item__tags a,
.blog__details__author__text span,
.blog__details__widget ul li,
.blog__details__widget .blog__details__social a { color: var(--cdm-text-soft); }

.blog__sidebar__search form input::placeholder { color: var(--cdm-text-mute); }
.product__discount__slider.owl-carousel .owl-dots button { border-color: var(--cdm-line); }
.product__discount__slider.owl-carousel .owl-dots button.active { border-color: var(--cdm-coral); background: var(--cdm-coral); }

/* -- 18.2 · Tintes terracota → coral, misma opacidad --------------- */
.hero__categories ul li a:hover { background: rgba(237, 105, 75, .05); }
.pago__method-badge { background: rgba(237, 105, 75, .08); }
.pago__input--error { box-shadow: 0 0 0 2px rgba(237, 105, 75, .15); }
.compras-table tbody tr:hover { background: rgba(237, 105, 75, .03); }
.product__pagination a:hover,
.blog__pagination a:hover { box-shadow: none; background: var(--cdm-navy); color: #fff; }

/* -- 18.3 · Modo oscuro: terracota → coral ------------------------- */
body.dark .resenas-form .text-muted a,
body.dark .modal-body a,
body.dark .compras-table__total,
body.dark .humberger__menu__logout,
body.dark .humberger__menu__logout i { color: var(--cdm-coral); }
body.dark .btn-primary { background: var(--cdm-coral); border-color: var(--cdm-coral); color: #fff; }


/* =====================================================================
   == 19 · CHECKOUT Y PASARELA DE PAGO =================================
   =====================================================================
   Solo presentacion. No se toca ningun calculo, campo ni integracion.
   ===================================================================== */
.checkout { padding: var(--cdm-sp-5) 0 var(--cdm-sp-6); }
.checkout h6 {
  font-family: var(--e404-font-mono, 'Space Mono', monospace);
  font-size: 11px;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.checkout h6 a { color: var(--cdm-coral); }
.checkout__order {
  background: var(--cdm-paper);
  border: 1px solid var(--cdm-line);
  border-radius: 0;
  padding: var(--cdm-sp-4);
}
.checkout__order h4,
.checkout__input p {
  font-family: var(--e404-font-mono, 'Space Mono', monospace);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .13em;
  text-transform: uppercase;
  color: var(--cdm-navy);
}
.checkout__order__subtotal,
.checkout__order__total {
  font-family: var(--e404-font-mono, 'Space Mono', monospace);
  font-weight: 700;
  color: var(--cdm-navy);
}
.checkout__order__total span { color: var(--cdm-coral); }
.checkout__input input,
.checkout__input select,
.checkout__input textarea {
  border: 1px solid var(--cdm-line);
  border-radius: 0;
  background: var(--cdm-paper);
  color: var(--cdm-text);
}
.checkout__input input:focus,
.checkout__input select:focus,
.checkout__input textarea:focus {
  outline: none;
  border-color: var(--cdm-coral);
  box-shadow: 0 0 0 3px rgba(237, 105, 75, .16);
}
.pago__method-badge { border-radius: 0; color: var(--cdm-coral); }


/* =====================================================================
   == 20 · MIS COMPRAS =================================================
   ===================================================================== */
.compras-table { background: var(--cdm-paper); border: 1px solid var(--cdm-line); }
.compras-table thead th {
  font-family: var(--e404-font-mono, 'Space Mono', monospace);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .13em;
  text-transform: uppercase;
  color: var(--cdm-navy);
  border-bottom: 2px solid var(--cdm-navy);
}
.compras-table tbody td { border-bottom: 1px solid var(--cdm-line-soft); color: var(--cdm-text-soft); }
.compras-table__total {
  font-family: var(--e404-font-mono, 'Space Mono', monospace);
  font-weight: 700;
  color: var(--cdm-coral);
}


/* =====================================================================
   == 21 · DESPLEGABLE DE CATEGORIAS ===================================
   =====================================================================
   `x-category-list` no es un <select>: es un desplegable propio
   (.hero__categories + .lista_categorias + buscador interno).

   CORRECCION DE UN CONFLICTO PROPIO
   ---------------------------------
   La regla generica de la seccion 07 `.sidebar__item ul li a` tiene la
   misma especificidad (0,1,3) que la heredada `.hero__categories ul li a`
   y se carga despues, asi que le pisaba el `padding: 0 20px 0 40px` y
   dejaba el texto pegado al borde. Aca se le devuelve el padding con una
   regla mas especifica y se termina de alinear con el sistema visual.
   ===================================================================== */

/* Cabecera del desplegable */
.hero__categories { margin-bottom: var(--cdm-sp-3); box-shadow: none; }
.hero__categories__all {
  background: var(--cdm-navy);
  border-radius: 0;
  padding: 14px 18px;
  gap: 10px;
}
.hero__categories__all i { color: #fff; margin-right: 0; }
.hero__categories__all span {
  font-family: var(--e404-font-mono, 'Space Mono', monospace);
  font-size: 10px;
  letter-spacing: .13em;
  color: #fff;
}
.hero__categories__all .category-chevron { margin-left: auto; color: #fff; }

/* Cuerpo de la lista */
.hero__categories ul,
.sidebar__item .hero__categories ul {
  border-radius: 0;
  border: 1px solid var(--cdm-line);
  box-shadow: var(--cdm-shadow);
  padding: 0;
  background: var(--cdm-paper);
}
.hero__categories ul li,
.sidebar__item .hero__categories ul li { border-bottom: 1px solid var(--cdm-line-soft); }
.hero__categories ul li:last-child,
.sidebar__item .hero__categories ul li:last-child { border-bottom: 0; }

/* EL ARREGLO: se restituye el padding horizontal.
   `.sidebar__item .hero__categories ul li a` = 0,2,3, por encima tanto de
   la regla heredada como de la generica del sidebar. */
.hero__categories ul li a,
.sidebar__item .hero__categories ul li a {
  display: block;
  padding: 0 18px;
  line-height: 40px;
  font-family: var(--e404-font-sans, 'Poppins', sans-serif);
  font-size: 13px;
  color: var(--cdm-text-soft);
  border-left: 2px solid transparent;
  transition: var(--cdm-ease);
}
.hero__categories ul li a:hover,
.sidebar__item .hero__categories ul li a:hover {
  padding-left: 22px;
  color: var(--cdm-navy);
  background: var(--cdm-cream);
  border-left-color: var(--cdm-coral);
}

/* Buscador interno de categorias */
.category-filter {
  padding: var(--cdm-sp-2) var(--cdm-sp-2) !important;
  border-bottom: 1px solid var(--cdm-line);
  background: var(--cdm-paper);
}
.category-search-input {
  border: 1px solid var(--cdm-line);
  border-radius: 0;
  padding: 9px 12px;
  font-size: 13px;
  color: var(--cdm-text);
  background: var(--cdm-paper);
}
.category-search-input:focus {
  outline: none;
  border-color: var(--cdm-coral);
  box-shadow: 0 0 0 3px rgba(237, 105, 75, .16);
}
/* El placeholder venia en coral (--theme-stamp): demasiado peso para un
   texto de ayuda, y se confundia con un valor real ya escrito. */
.category-search-input::placeholder { color: var(--cdm-text-mute); font-weight: 400; }

.category-no-results {
  padding: var(--cdm-sp-3) 18px;
  font-size: 13px;
  color: var(--cdm-text-mute);
}

/* Barra de scroll de la lista larga */
.lista_categorias { scrollbar-color: var(--cdm-coral) var(--cdm-line-soft); }
.lista_categorias::-webkit-scrollbar-track { background: var(--cdm-line-soft); }
.lista_categorias::-webkit-scrollbar-thumb { background: var(--cdm-coral); border-radius: 0; }
.lista_categorias::-webkit-scrollbar-thumb:hover { background: var(--cdm-navy); }

/* La regla generica del sidebar no debe tocar este desplegable */
.sidebar__item .hero__categories ul li a { line-height: 40px; }


/* =====================================================================
   == 22 · ANCHO Y AIRE EN ESCRITORIO ==================================
   =====================================================================
   Bootstrap 4 fija `.container` en 1140px y no garantiza ningun margen
   minimo: en pantallas de 1280-1366 el contenido queda pegado a los
   bordes. La landing, en cambio, respira porque usa gutters
   proporcionales (7.5vw).

   Se activa con la clase `cdm-ancho` en el <body>, que cada vista pide
   con @section('body_class','cdm-ancho'). Asi se puede probar pagina por
   pagina antes de aplicarlo a todo el sitio.

   La formula garantiza SIEMPRE un margen de 4vw a cada lado, y ademas
   sube el ancho util en pantallas grandes:
       1920px -> contenido 1256px, margen lateral 332px
       1440px -> contenido 1210px, margen lateral 115px
       1280px -> contenido 1114px, margen lateral  83px
   ===================================================================== */

@media (min-width: 992px) {
  .cdm-ancho .container {
    max-width: min(1320px, calc(100% - 8vw));
    padding-left: 32px;
    padding-right: 32px;
  }

  /* La grilla de productos gana aire entre columnas */
  .cdm-ancho .product__discount__slider,
  .cdm-ancho #tienda-productos-grid { margin-left: -12px; margin-right: -12px; }
  .cdm-ancho #tienda-productos-grid > [class*="col-"] { padding-left: 12px; padding-right: 12px; }

  /* Separacion real entre la barra lateral y la grilla */
  .cdm-ancho .product .sidebar { padding-right: var(--cdm-sp-3); }

  /* El encabezado interno no debe quedar pegado arriba del contenido */
  .cdm-ancho .breadcrumb-section { padding: var(--cdm-sp-6) 0 var(--cdm-sp-5); }
  .cdm-ancho .spad { padding-top: var(--cdm-sp-4); }
}


/* =====================================================================
   == 23 · AJUSTES PARA LA PALETA ROSA =================================
   =====================================================================
   Con el rosa al mando, algunos elementos que antes eran azules pasan a
   ser rosados y otros deben quedar deliberadamente neutros, para que el
   rosa destaque en vez de saturar. El azul (`--cdm-sage`) queda como
   detalle: solo informacion secundaria.
   ===================================================================== */

/* El nombre del producto en gris oscuro: deja que el precio sea lo unico
   con color dentro de la tarjeta. */
.featured__item__text h6 { color: var(--cdm-text); }
.featured__item__text h5 { color: var(--cdm-coral); }

/* Tarjeta sobre blanco calido: el borde define, no la sombra */
.featured__item,
.featured__item__actions { border-color: var(--cdm-line); }
.featured__item:hover { box-shadow: 0 12px 34px rgba(58, 46, 43, .10); }

/* El boton de compra lleva el coral pleno (el mismo del home) y al pasar
   el mouse baja al tono profundo de la misma rampa. */
.product__card__button { background: var(--cdm-cta); border-color: var(--cdm-cta); }
.product__card__button:hover { background: var(--cdm-navy); border-color: var(--cdm-navy); }
.cdm-btn--primary:hover { background: var(--cdm-navy); border-color: var(--cdm-navy); }

body.cdm-shop:not(.dark) .product__card__button {
  background: var(--cdm-navy);
  border-color: var(--cdm-navy);
  color: #fff;
}

body.cdm-shop:not(.dark) .product__card__button:hover,
body.cdm-shop:not(.dark) .product__card__button:focus {
  background: var(--cdm-coral);
  border-color: var(--cdm-coral);
  color: #fff;
}

body.cdm-shop:not(.dark) .product__card__button:hover *,
body.cdm-shop:not(.dark) .product__card__button:focus * {
  color: #fff;
}

body.dark.cdm-shop .product__card__button {
  background: var(--cdm-coral);
  border-color: var(--cdm-coral);
  color: #fff;
}

body.dark.cdm-shop .product__card__button:hover,
body.dark.cdm-shop .product__card__button:focus {
  background: #fff;
  border-color: #fff;
  color: var(--cdm-ink);
}

/* Informacion secundaria: aca vive el azul, discreto */
.cdm-info,
.alert-info { border-left-color: var(--cdm-sage); }
.product__details__text > ul > li b { color: var(--cdm-text); }

/* Los filetes y etiquetas chicas usan el acento oscuro, que sobre blanco
   mantiene contraste suficiente (4.73:1) a diferencia del coral claro. */
.featured__item__cat,
.sidebar__item h4,
.contact__widget h4 { color: var(--cdm-coral); }
.sidebar__item h4,
.cdm-panel__title { border-bottom-color: var(--cdm-coral); }


/* =====================================================================
   == 24 · PIE DE PAGINA ===============================================
   =====================================================================
   Mismo modelo editorial que el footer de la landing: una marca ancha a
   la izquierda y columnas angostas de datos, cada una con una etiqueta
   chica en mayusculas del color de acento.

   Reemplaza al footer viejo (col-lg-5 + col-lg-7 con dos listas al 50%).
   Las reglas de la seccion 17.6 siguen presentes por si quedara algun
   `.footer__widget` suelto, pero este bloque es el que manda.
   ===================================================================== */

.cdm-footer {
  background: var(--cdm-dark);
  color: #fff;
  padding: var(--cdm-sp-6) 0 var(--cdm-sp-4);
}

.cdm-footer__grid {
  display: grid;
  grid-template-columns: 1.6fr repeat(4, 1fr);
  gap: var(--cdm-sp-4);
  align-items: start;
}

/* ── Marca ─────────────────────────────────────────────────────── */
.cdm-footer__logo { display: inline-block; margin-bottom: var(--cdm-sp-3); }
.cdm-footer__logo img {
  max-width: 170px;
  height: auto;
  border-radius: 0;
}
.cdm-footer__tagline {
  max-width: 300px;
  font-size: 13px;
  line-height: 1.7;
  color: rgba(255, 255, 255, .62);
  margin: 0;
}

/* ── Columnas ──────────────────────────────────────────────────── */
.cdm-footer__col > small {
  display: block;
  margin-bottom: var(--cdm-sp-2);
  font-family: var(--e404-font-mono, 'Space Mono', monospace);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--cdm-coral);
}
.cdm-footer__col p {
  font-size: 13px;
  line-height: 1.75;
  color: rgba(255, 255, 255, .72);
  margin: 0 0 var(--cdm-sp-2);
}
.cdm-footer__col ul { list-style: none; padding: 0; margin: 0; }
.cdm-footer__col ul li { margin-bottom: 7px; }
.cdm-footer__col ul li a {
  font-size: 13px;
  color: rgba(255, 255, 255, .72);
  transition: var(--cdm-ease);
}
.cdm-footer__col ul li a:hover { color: var(--cdm-coral); padding-left: 5px; }

/* Enlace destacado dentro de una columna (Como llegar, WhatsApp) */
.cdm-footer__link {
  display: inline-block;
  font-family: var(--e404-font-mono, 'Space Mono', monospace);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #fff;
  border-bottom: 1px solid var(--cdm-coral);
  padding-bottom: 3px;
  transition: var(--cdm-ease);
}
.cdm-footer__link:hover { color: var(--cdm-coral); }

/* Redes: se reusa el componente x-social-icons sin tocar su markup,
   porque el menu movil tambien lo usa. */
.cdm-footer .footer__widget__social { display: flex; gap: 8px; }
.cdm-footer .footer__widget__social a {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, .18);
  background: transparent;
  border-radius: 0;
  color: rgba(255, 255, 255, .72);
  margin: 0;
  transition: var(--cdm-ease);
}
.cdm-footer .footer__widget__social a:hover {
  background: var(--cdm-coral);
  border-color: var(--cdm-coral);
  color: #fff;
  transform: none;
  box-shadow: none;
}

/* ── Barra inferior ────────────────────────────────────────────── */
.cdm-footer__bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: var(--cdm-sp-3);
  margin-top: var(--cdm-sp-5);
  padding-top: var(--cdm-sp-3);
  border-top: 1px solid rgba(255, 255, 255, .12);
}
.cdm-footer__bottom p {
  margin: 0;
  font-family: var(--e404-font-mono, 'Space Mono', monospace);
  font-size: 10px;
  letter-spacing: .05em;
  color: rgba(255, 255, 255, .45) !important;
  text-align: left;
}
.cdm-footer__bottom .codeland-link { display: inline-flex; align-items: center; gap: 6px; }
.cdm-footer__bottom .codeland-logo { width: 16px; height: 16px; border-radius: 0; }
.cdm-footer__bottom .codeland-brand { color: var(--cdm-coral); font-weight: 700; }
.cdm-footer__payment img { max-height: 22px; width: auto; opacity: .45; filter: grayscale(1); }

@media (max-width: 991px) {
  .cdm-footer { padding: var(--cdm-sp-5) 0 var(--cdm-sp-3); }
  .cdm-footer__grid { grid-template-columns: 1fr 1fr; gap: var(--cdm-sp-4); }
  .cdm-footer__brand { grid-column: 1 / -1; }
  .cdm-footer__tagline { max-width: none; }
}

@media (max-width: 575px) {
  .cdm-footer__grid { grid-template-columns: 1fr; gap: var(--cdm-sp-3); }
  .cdm-footer__bottom { flex-direction: column; align-items: flex-start; }
}


/* =====================================================================
   == 25 · LOGO CIRCULAR ===============================================
   =====================================================================
   El logo es la foto del local (la misma del perfil de Instagram),
   cuadrada de 150x150. Se muestra en circulo, como un avatar.

   `style.css` la dejaba ovalada por tres reglas en conflicto:
       .img_logo { height: 44px; width: auto; }   (linea temprana)
       .img_logo { width: 80px; border-radius: 50%; }
       .img_logo { width: 100px; }                (gana el ancho)
   Resultado: 100x44 con border-radius 50% = elipse.

   Aca se fija ancho Y alto iguales, mas object-fit para que la foto
   se recorte centrada en vez de deformarse.
   ===================================================================== */

.header__logo .img_logo,
.header__logo img {
  width: 52px;
  height: 52px;
  min-width: 52px;
  border-radius: 50%;
  object-fit: cover;
  display: block;
  border: 2px solid var(--cdm-line);
  background: var(--cdm-paper);
  transition: var(--cdm-ease);
}
.header__logo a:hover .img_logo,
.header__logo a:hover img { border-color: var(--cdm-coral); opacity: 1; }

/* Pie */
.cdm-footer__logo img {
  width: 76px;
  height: 76px;
  border-radius: 50%;
  object-fit: cover;
  display: block;
  border: 2px solid rgba(255, 255, 255, .22);
  max-width: none;
  transition: var(--cdm-ease);
}
.cdm-footer__logo:hover img { border-color: var(--cdm-coral); }

/* Avisos flotantes (toast). Ya venian redondos: solo se corrige el
   ovalado y se recorta la foto sin deformarla. */
.img_logo_error,
.toast .img_logo,
.toast-suscripcion .img_logo {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  object-fit: cover;
}

/* Menu movil */
.humberger__menu__logo img {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  object-fit: cover;
}

@media (max-width: 991px) {
  .header__logo .img_logo,
  .header__logo img { width: 44px; height: 44px; min-width: 44px; }
  .cdm-footer__logo img { width: 64px; height: 64px; }
}


/* =====================================================================
   == 26 · NEW HOME ALIGNMENT ==========================================
   =====================================================================
   Ajuste final para que las vistas publicas usen el mismo lenguaje del
   new home: banners con foto, sombra lateral, bloques de texto fuertes y
   botones rectos. No cambia rutas, ids ni clases funcionales.
   ===================================================================== */

.cdm-public .cdm-btn,
.cdm-public .primary-btn,
.cdm-public .site-btn,
.cdm-public .checkout-btn,
.cdm-public .product__card__button,
.cdm-public .product__card__agotado,
.cdm-public .primary-btn-disabled {
  min-height: 48px;
  border-radius: 0;
  font-family: var(--e404-font-mono, 'Space Mono', monospace);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
  box-shadow: none;
}

.cdm-public .cdm-btn:hover,
.cdm-public .primary-btn:hover,
.cdm-public .site-btn:hover,
.cdm-public .checkout-btn:hover,
.cdm-public .product__card__button:hover {
  transform: none;
  box-shadow: none;
  text-decoration: none;
}

.cdm-public .cdm-pagehead {
  min-height: 430px;
  display: flex;
  align-items: center;
  overflow: hidden;
  isolation: isolate;
  background: #0b1727;
  color: #fff;
  padding: 70px 0;
}

.cdm-public .cdm-pagehead__photo {
  position: absolute;
  inset: -8% 0;
  z-index: -3;
  background: var(--cdm-pagehead-img) center/cover no-repeat;
  transform: scale(1.01);
}

.cdm-public .cdm-pagehead__shade {
  position: absolute;
  inset: 0;
  z-index: -2;
  background:
    linear-gradient(90deg, rgba(6, 14, 25, .94), rgba(8, 18, 31, .66) 58%, rgba(8, 18, 31, .18)),
    linear-gradient(0deg, rgba(11, 23, 39, .26), rgba(11, 23, 39, .08));
}

.cdm-public .cdm-pagehead::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 5px;
  background: var(--cdm-coral);
  z-index: -1;
}

.cdm-public .cdm-pagehead .container {
  position: relative;
  z-index: 1;
}

.cdm-public .cdm-pagehead .breadcrumb__text {
  max-width: 780px;
  text-align: left;
}

.cdm-public .cdm-pagehead__kicker {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 22px;
  color: #fff;
  font-family: var(--e404-font-mono, 'Space Mono', monospace);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
}

.cdm-public .cdm-pagehead__kicker::before {
  content: "";
  width: 30px;
  height: 3px;
  background: var(--cdm-coral);
  flex: none;
}

.cdm-public .cdm-pagehead .breadcrumb__text h2 {
  max-width: 860px;
  margin: 0 0 18px;
  color: #fff;
  font-family: var(--e404-font-sans, 'Poppins', sans-serif);
  font-size: 58px;
  line-height: .9;
  letter-spacing: 0;
  font-weight: 900;
  text-shadow: 0 12px 36px rgba(0, 0, 0, .28);
}

.cdm-public .cdm-pagehead .breadcrumb__text h2::after {
  content: none;
}

.cdm-public .cdm-pagehead .breadcrumb__option {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
  color: rgba(255, 255, 255, .72);
  font-family: var(--e404-font-mono, 'Space Mono', monospace);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
}

.cdm-public .cdm-pagehead .breadcrumb__option a,
.cdm-public .cdm-pagehead .breadcrumb__option span {
  color: inherit;
}

.cdm-public .cdm-pagehead .breadcrumb__option a:hover {
  color: var(--cdm-coral);
}

.cdm-public .cdm-pagehead .breadcrumb__option a::after {
  content: "/";
  margin-left: 8px;
  opacity: .55;
}

.cdm-public .cdm-pagehead .breadcrumb__option span {
  color: var(--cdm-coral);
}

.cdm-public .cdm-pagehead__actions,
.cdm-public .hero-full__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 26px;
}

.cdm-public .cdm-pagehead__stamp {
  position: absolute;
  right: 7vw;
  bottom: 46px;
  width: 132px;
  height: 132px;
  border: 1px solid rgba(255, 255, 255, .44);
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  transform: rotate(7deg);
  color: #fff;
  font-family: var(--e404-font-mono, 'Space Mono', monospace);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: 0;
  text-align: center;
  pointer-events: none;
}

.cdm-public .cdm-pagehead__stamp b {
  color: var(--cdm-coral);
  font-family: var(--e404-font-sans, 'Poppins', sans-serif);
  font-size: 20px;
  line-height: 1;
}

.cdm-public .hero-full__media {
  min-height: 620px;
  max-height: none;
  height: calc(100vh - 112px);
  background: #0b1727;
}

.cdm-public .hero-full__overlay {
  background: linear-gradient(90deg, rgba(6, 14, 25, .94), rgba(8, 18, 31, .62) 56%, rgba(8, 18, 31, .16));
}

.cdm-public .hero-full__content {
  padding-left: 7.5vw;
  padding-right: 7.5vw;
}

.cdm-public .hero-full__tag {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #fff;
  font-family: var(--e404-font-mono, 'Space Mono', monospace);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0;
}

.cdm-public .hero-full__tag::before {
  content: "";
  width: 30px;
  height: 3px;
  background: var(--cdm-coral);
}

.cdm-public .hero-full__title {
  max-width: 820px;
  color: #fff;
  font-family: var(--e404-font-sans, 'Poppins', sans-serif);
  font-size: 72px;
  line-height: .88;
  letter-spacing: 0;
  font-weight: 900;
}

.cdm-public .hero-full__desc {
  max-width: 590px;
  color: rgba(255, 255, 255, .78);
  font-size: 17px;
  line-height: 1.6;
}

.cdm-public .hero-full__categories {
  margin-top: 0;
  padding: 18px 0 26px;
  background: #14263d;
  border-bottom: 0;
}

.cdm-public .hero-full__categories-list .category-item a {
  background: transparent;
  border: 1px solid rgba(255, 255, 255, .24);
  color: #fff;
  border-radius: 0;
  font-family: var(--e404-font-mono, 'Space Mono', monospace);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0;
}

.cdm-public .hero-full__categories-list .category-item a:hover {
  background: var(--cdm-coral);
  border-color: var(--cdm-coral);
  color: #fff;
}

.cdm-public .hero-full__arrow {
  border-radius: 50%;
  background: rgba(255, 255, 255, .08);
  border-color: rgba(255, 255, 255, .22);
  color: #fff;
}

.cdm-public .hero-full__arrow:hover:not(:disabled) {
  background: var(--cdm-coral);
  border-color: var(--cdm-coral);
}

.cdm-public .cdm-promo-banner {
  padding: 76px 0;
  background: #0b1727;
  color: #fff;
}

.cdm-public .cdm-promo-banner .cdm-label {
  color: #fff;
}

.cdm-public .cdm-promo-banner__card {
  position: relative;
  display: block;
  min-height: 280px;
  overflow: hidden;
  border: 0;
  border-radius: 0;
  background: var(--cdm-navy);
}

.cdm-public .cdm-promo-banner__card img {
  width: 100%;
  height: 100%;
  min-height: 280px;
  object-fit: cover;
  filter: saturate(.92);
  transition: transform .45s ease, filter .45s ease;
}

.cdm-public .cdm-promo-banner__card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, rgba(8, 18, 31, .78), rgba(8, 18, 31, .08));
}

.cdm-public .cdm-promo-banner__card span {
  position: absolute;
  left: 24px;
  bottom: 24px;
  z-index: 1;
  color: #fff;
  font-family: var(--e404-font-mono, 'Space Mono', monospace);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
  border-bottom: 1px solid var(--cdm-coral);
  padding-bottom: 5px;
}

.cdm-public .cdm-promo-banner__card:hover {
  transform: none;
  box-shadow: none;
}

.cdm-public .cdm-promo-banner__card:hover img {
  transform: scale(1.04);
  filter: saturate(1.05);
}

.cdm-public .cart-btn-refresh-mobile,
.cdm-public .fav-btn-refresh-mobile {
  box-shadow: 0 10px 24px rgba(11, 23, 39, .2);
}

.cdm-public .header {
  position: relative;
  z-index: 20;
  background: var(--cdm-cream);
  box-shadow: none;
}

.cdm-public .header__top {
  height: 34px;
  padding: 0;
  background: #ed694b;
  border: 0;
  color: #fff;
}

.cdm-public .header__top .container,
.cdm-public .header__top__links {
  height: 100%;
}

.cdm-public .header__top__links {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(16px, 5vw, 70px);
}

.cdm-public .header__top__links a,
.cdm-public .header__top__info {
  color: #fff;
  opacity: 1;
  font-family: var(--e404-font-mono, 'Space Mono', monospace);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.cdm-public .header__top__links a:hover {
  color: #14263d;
}

.cdm-public .header__top__links a i {
  color: inherit;
}

.cdm-public .header__top__separator {
  display: none;
}

.cdm-public .header__main {
  min-height: 84px;
  padding: 0;
  background: var(--cdm-cream);
  border-bottom: 1px solid rgba(20, 38, 61, .18);
}

.cdm-public .header__main__inner {
  min-height: 84px;
  gap: 28px;
}

.cdm-public .header__nav-list {
  gap: clamp(22px, 3vw, 44px);
}

.cdm-public .header__nav-list li a {
  color: #14263d;
  font-family: var(--e404-font-mono, 'Space Mono', monospace);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.cdm-public .header__nav-list li a::after {
  height: 2px;
  background: #ed694b;
  border-radius: 0;
}

.cdm-public .header__nav-list li:hover a,
.cdm-public .header__nav-list li.active a {
  color: #14263d;
}

.cdm-public .header__actions {
  gap: 12px;
}

.cdm-public .header__action-icon {
  color: #14263d;
  background: transparent;
  border-color: transparent;
  box-shadow: none;
}

.cdm-public .header__action-icon:hover {
  color: #ed694b;
  background: transparent;
  border-color: transparent;
  transform: none;
  box-shadow: none;
}

.cdm-public .header__search-inline {
  height: 40px;
  width: min(245px, 22vw);
  border: 1px solid #ed694b;
  border-radius: 999px;
  background: transparent;
  box-shadow: none;
}

.cdm-public .header__search-inline:focus-within {
  border-color: #14263d;
  box-shadow: 0 0 0 3px rgba(237, 105, 75, .16);
}

.cdm-public .header__search-inline-btn {
  color: #ed694b;
}

.cdm-public .header__search-inline-input {
  flex: 1 1 auto;
  min-width: 0;
  width: auto;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  padding: 6px 0;
  color: #14263d;
  font-size: 13px;
}

.cdm-public .header__search-inline-input:focus,
.cdm-public .header__search-inline-input:focus-visible {
  width: auto;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
}

.cdm-public .header__search-inline-input::placeholder {
  color: rgba(20, 38, 61, .52);
}

.cdm-search-clear {
  width: 34px;
  min-width: 34px;
  height: 100%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: rgba(20, 38, 61, .52);
  text-decoration: none;
  transition: color .2s ease, background-color .2s ease;
}

.cdm-search-clear:hover {
  color: var(--cdm-coral);
  text-decoration: none;
  background: rgba(237, 105, 75, .08);
}

.hero__search-mobile-form {
  display: flex;
  align-items: center;
}

.hero__search-mobile-form input[type="hidden"],
.header__search-inline input[type="hidden"] {
  display: none !important;
}

.hero__search-mobile-form .hero__search-mobile-input {
  flex: 1 1 auto;
  min-width: 0;
  width: auto;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  padding-right: 6px;
}

.hero__search-mobile-form .hero__search-mobile-input:focus,
.hero__search-mobile-form .hero__search-mobile-input:focus-visible {
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
}

.hero__search-mobile-form .cdm-search-clear {
  flex: 0 0 34px;
}

.cdm-public .header__user-img {
  border-color: rgba(20, 38, 61, .22);
}

.cdm-public .header__user-menu {
  border-radius: 0;
  border: 1px solid var(--cdm-line);
  box-shadow: 0 18px 45px rgba(11, 23, 39, .12);
}

.cdm-public .header__user-menu li a {
  display: flex;
  align-items: center;
  gap: 10px;
}

.cdm-public .header__user-menu li a i {
  width: 16px;
  color: var(--cdm-text-mute);
  text-align: center;
}

.cdm-public .header__user-menu li a:hover i {
  color: var(--cdm-coral);
}

.cdm-public .header__user-dropdown:hover .header__user-menu {
  opacity: 0;
  visibility: hidden;
  transform: translateY(-4px);
}

.cdm-public .header__user-dropdown.header__user-dropdown--open .header__user-menu,
.cdm-public .header__user-dropdown.header__user-dropdown--open:hover .header__user-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.cdm-public .header__user-dropdown:hover .header__user-arrow {
  transform: none;
}

.cdm-public .header__user-dropdown.header__user-dropdown--open .header__user-arrow {
  transform: rotate(180deg);
}

.cdm-public .header__badge {
  background: #ed694b;
  color: #fff;
  border: 0;
}

.cdm-public .header__cart-total {
  color: #14263d;
  font-family: var(--e404-font-mono, 'Space Mono', monospace);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0;
}

.cdm-public .humberger__open {
  color: #14263d;
  background: transparent;
  border-color: rgba(20, 38, 61, .18);
}

.cdm-public .humberger__open:hover {
  color: #fff;
  background: #ed694b;
  border-color: #ed694b;
}

body.dark.cdm-public .header {
  background: #0b1727;
}

body.dark.cdm-public .header__top {
  background: #ed694b;
}

body.dark.cdm-public .header__main {
  background: #0b1727;
  border-bottom-color: rgba(255, 255, 255, .16);
}

body.dark.cdm-public .header__nav-list li a,
body.dark.cdm-public .header__action-icon,
body.dark.cdm-public .header__cart-total,
body.dark.cdm-public .humberger__open {
  color: #fff;
}

body.dark.cdm-public .header__search-inline {
  border-color: rgba(237, 105, 75, .9);
}

body.dark.cdm-public .header__search-inline-input {
  color: #fff;
}

body.dark.cdm-public .header__search-inline-input::placeholder {
  color: rgba(255, 255, 255, .5);
}

body.dark.cdm-public .cdm-search-clear {
  color: rgba(255, 255, 255, .55);
}

body.dark.cdm-public .cdm-search-clear:hover {
  color: #fff;
}

/* Header integrado al banner nuevo: mantiene el mismo DOM y funciones,
   pero pasa a vivir visualmente dentro del primer bloque fotografico. */
.cdm-public .header {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 40;
  background: transparent;
}

.cdm-public .header__top {
  background: rgba(6, 14, 25, .62);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.cdm-public .header__top__links a,
.cdm-public .header__top__info {
  color: rgba(255, 255, 255, .82);
}

.cdm-public .header__top__links a:hover {
  color: #fff;
}

.cdm-public .header__main {
  background: rgba(6, 14, 25, .18);
  border-bottom: 1px solid rgba(255, 255, 255, .28);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.cdm-public .header__nav-list li a,
.cdm-public .header__action-icon,
.cdm-public .header__cart-total,
.cdm-public .humberger__open {
  color: #fff;
}

.cdm-public .header__nav-list li:hover a,
.cdm-public .header__nav-list li.active a {
  color: #fff;
}

.cdm-public .header__search-inline {
  border-color: rgba(255, 255, 255, .54);
  background: rgba(6, 14, 25, .18);
}

.cdm-public .header__search-inline:focus-within {
  border-color: #ed694b;
  box-shadow: 0 0 0 3px rgba(237, 105, 75, .18);
}

.cdm-public .header__search-inline-btn {
  color: #ed694b;
}

.cdm-public .header__search-inline-input {
  color: #fff;
}

.cdm-public .header__search-inline-input::placeholder {
  color: rgba(255, 255, 255, .58);
}

.cdm-public .header__user-img {
  border-color: rgba(255, 255, 255, .38);
}

.cdm-public .header__action-icon:hover {
  color: #ed694b;
}

.cdm-public .cdm-pagehead {
  padding-top: 188px;
  min-height: 560px;
}

.cdm-public .hero-full__media {
  padding-top: 118px;
}

body.dark.cdm-public .header {
  background: transparent;
}

body.dark.cdm-public .header__top {
  background: rgba(6, 14, 25, .68);
}

body.dark.cdm-public .header__main {
  background: rgba(6, 14, 25, .18);
  border-bottom-color: rgba(255, 255, 255, .18);
}

@media (max-width: 991px) {
  .cdm-public .header__top {
    display: none;
  }

  .cdm-public .header__main,
  .cdm-public .header__main__inner {
    min-height: 74px;
  }

  .cdm-public .header__actions {
    margin-left: auto;
  }

  .cdm-public .header__action-icon.header__action-link,
  .cdm-public .header__action-icon--favoritos,
  .cdm-public .header__search-inline {
    display: none;
  }

  .cdm-public .cdm-pagehead {
    min-height: 380px;
    padding: 58px 0;
  }

  .cdm-public .cdm-pagehead .breadcrumb__text h2 {
    font-size: 44px;
  }

  .cdm-public .cdm-pagehead__stamp {
    display: none;
  }

  .cdm-public .hero-full__media {
    min-height: 640px;
    height: 640px;
  }

  .cdm-public .hero-full__content {
    padding-left: 22px;
    padding-right: 22px;
  }

  .cdm-public .hero-full__title {
    font-size: 56px;
  }
}

@media (max-width: 575px) {
  .cdm-public .cdm-pagehead {
    min-height: 340px;
    padding: 46px 0;
  }

  .cdm-public .cdm-pagehead .breadcrumb__text h2,
  .cdm-public .hero-full__title {
    font-size: 40px;
  }

  .cdm-public .cdm-pagehead__actions,
  .cdm-public .hero-full__actions {
    flex-direction: column;
    align-items: stretch;
  }

  .cdm-public .cdm-pagehead__actions .cdm-btn,
  .cdm-public .hero-full__actions .cdm-btn {
    width: 100%;
  }

  .cdm-public .cdm-promo-banner {
    padding: 54px 0;
  }
}

/* Overrides finales del experimento integrado, despues de los breakpoints
   anteriores para que el header no vuelva a separarse del banner. */
@media (max-width: 991px) {
  .cdm-public .header {
    position: absolute;
  }

  .cdm-public .header__main {
    background: rgba(6, 14, 25, .32);
    border-bottom-color: rgba(255, 255, 255, .22);
  }

  .cdm-public .cdm-pagehead {
    min-height: 440px;
    padding-top: 134px;
    padding-bottom: 58px;
  }

  .cdm-public .hero-full__media {
    min-height: 700px;
    height: 700px;
  }
}

@media (max-width: 575px) {
  .cdm-public .cdm-pagehead {
    min-height: 410px;
    padding-top: 124px;
    padding-bottom: 46px;
  }
}


/* =====================================================================
   == 27 · TIENDA CON LENGUAJE NEW HOME ================================
   =====================================================================
   Alcance: solo la vista `resources/views/tienda/tienda.blade.php`, que
   activa `cdm-shop` en el body. Mantiene intactos los selectores usados
   por main.js y por el AJAX de filtros/paginacion.
   ===================================================================== */

.cdm-shop .cdm-pagehead {
  min-height: 520px;
  padding-top: 96px;
}

body.cdm-shop .header {
  position: relative;
  z-index: 40;
  background: var(--cdm-cream);
}

body.cdm-shop .header__top {
  height: 34px;
  padding: 0;
  background: var(--cdm-coral);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

body.cdm-shop .header__top .container,
body.cdm-shop .header__top__links {
  height: 100%;
}

body.cdm-shop .header__top__links {
  justify-content: center;
  gap: clamp(38px, 6vw, 96px);
}

body.cdm-shop .header__top__info {
  color: #fff;
  opacity: 1;
  font-family: var(--e404-font-mono, 'Space Mono', monospace);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .08em;
  line-height: 1;
  text-transform: uppercase;
}

body.cdm-shop .header__main {
  min-height: 84px;
  background: var(--cdm-cream);
  border-bottom: 1px solid rgba(20, 38, 61, .12);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

body.cdm-shop .header__main__inner {
  min-height: 84px;
  height: 84px;
  gap: clamp(16px, 2.1vw, 34px);
}

body.cdm-shop .header__logo {
  position: static;
  transform: none;
}

body.cdm-shop .header__logo a {
  gap: 12px;
  color: var(--cdm-navy);
}

body.cdm-shop .header__logo .img_logo,
body.cdm-shop .header__logo img {
  width: 44px;
  height: 44px;
  min-width: 44px;
  border: 0;
  box-shadow: none;
}

body.cdm-shop .header__brand-text {
  display: block;
  color: var(--cdm-navy);
  font-family: Arial, Helvetica, sans-serif;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0;
  line-height: .92;
  text-transform: uppercase;
}

body.cdm-shop .header__brand-text b {
  display: block;
  font-size: 19px;
  font-weight: 900;
  letter-spacing: 0;
}

body.cdm-shop .header__nav {
  flex: 1;
}

body.cdm-shop .header__nav-list {
  justify-content: center;
  gap: clamp(24px, 3.1vw, 54px);
}

body.cdm-shop .header__nav-list li a {
  color: var(--cdm-navy);
  font-family: Arial, Helvetica, sans-serif;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .1em;
  line-height: 1;
  text-transform: uppercase;
}

body.cdm-shop .header__nav-list li a::after {
  content: none;
}

body.cdm-shop .header__nav-list li:hover a,
body.cdm-shop .header__nav-list li.active a {
  color: var(--cdm-coral);
}

body.cdm-shop .header__actions {
  gap: 12px;
  margin-left: 0;
  flex: 0 0 auto;
}

body.cdm-shop .header__search-inline {
  align-items: center;
  display: flex;
  height: 44px;
  width: clamp(180px, 18vw, 245px);
  border: 1px solid rgba(20, 38, 61, .16);
  border-radius: 0;
  padding: 0;
  background: var(--cdm-cream) !important;
  flex: 0 1 245px;
}

body.cdm-shop .header__search-inline:focus-within {
  border-color: var(--cdm-coral);
  box-shadow: 0 0 0 3px rgba(237, 105, 75, .16);
}

body.cdm-shop .header__search-inline-btn {
  width: 42px;
  min-width: 42px;
  height: 100%;
  justify-content: center;
  padding: 0;
  color: var(--cdm-navy);
}

body.cdm-shop .header__search-inline-input {
  width: 100%;
  min-width: 0;
  height: 100%;
  padding: 0 14px 0 0;
  background: transparent !important;
  color: var(--cdm-navy);
}

body.cdm-shop .header__search-inline-input:focus {
  width: 100%;
}

body.cdm-shop .header__search-inline-input::placeholder {
  color: rgba(20, 38, 61, .52);
}

body.cdm-shop .header__actions .theme-toggle {
  display: flex;
}

body.cdm-shop .header__action-icon {
  width: 42px;
  height: 42px;
  min-width: 42px;
  color: var(--cdm-navy);
  background: transparent;
  border-color: transparent;
}

body.cdm-shop .header__action-icon svg {
  width: 25px;
  height: 25px;
}

body.cdm-shop .header__action-icon:hover {
  color: var(--cdm-coral);
  background: transparent;
  border-color: transparent;
}

body.cdm-shop .header__user-dropdown {
  width: auto;
  min-width: 0;
  overflow: visible;
  flex: 0 1 auto;
}

body.cdm-shop .header__action-icon.header__action-link,
body.cdm-shop .header__user-dropdown .header__action-link {
  width: auto;
  min-width: 0;
  gap: 8px;
  padding: 0 4px;
  height: 42px;
  max-width: 154px;
}

body.cdm-shop .header__user-name {
  display: inline-block;
  max-width: 78px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: inherit;
  font-family: var(--e404-font-mono, 'Space Mono', monospace);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0;
  line-height: 1;
  text-transform: uppercase;
}

body.cdm-shop .header__badge {
  top: -4px;
  right: -4px;
  background: var(--cdm-coral);
}

body.cdm-shop .header__cart-icon {
  width: auto;
  min-width: 42px;
  gap: 4px;
}

body.cdm-shop .header__cart-total {
  color: var(--cdm-navy);
  font-family: var(--e404-font-mono, 'Space Mono', monospace);
  font-size: 10px;
  font-weight: 900;
  max-width: 58px;
  overflow: hidden;
  text-overflow: ellipsis;
}

.cdm-shop .cdm-pagehead .breadcrumb__text h2 {
  max-width: 900px;
  font-size: clamp(48px, 7.2vw, 104px);
  line-height: .82;
}

.cdm-shop__mobile-search .hero__search-mobile {
  margin-top: 18px;
  margin-bottom: 0;
}

.cdm-shop__section {
  background:
    linear-gradient(180deg, rgba(244, 240, 232, .92), rgba(244, 240, 232, 1) 240px),
    var(--cdm-cream);
  padding-top: 31px;
  padding-bottom: 24px;
}

.cdm-shop__headline {
  margin-bottom: 64px;
}

.cdm-shop__headline .cdm-label {
  margin-bottom: 30px;
}

.cdm-shop__headline-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(270px, .55fr);
  gap: clamp(42px, 8vw, 116px);
  align-items: end;
}

.cdm-shop__headline h2 {
  margin: 0;
  color: var(--cdm-navy);
  font-family: var(--e404-font-sans, 'Poppins', sans-serif);
  font-size: clamp(44px, 6vw, 86px);
  line-height: .86;
  letter-spacing: 0;
  font-weight: 800;
  text-transform: uppercase;
}

.cdm-shop__headline p {
  margin: 0;
  padding-left: 24px;
  border-left: 3px solid var(--cdm-coral);
  color: var(--cdm-text-soft);
  font-size: 17px;
  line-height: 1.65;
}

.cdm-shop__layout {
  align-items: flex-start;
}

.cdm-shop .sidebar {
  position: sticky;
  top: 132px;
}

.cdm-shop .sidebar__item {
  background: var(--cdm-paper);
  border: 1px solid var(--cdm-line-soft);
  padding: 24px;
}

.cdm-shop .sidebar__item:first-child {
  position: relative;
  overflow: hidden;
  background: var(--cdm-paper);
  color: var(--cdm-navy);
  border-color: rgba(20, 38, 61, .16);
  box-shadow: none;
}

.cdm-shop .sidebar__item:first-child::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 5px;
  background: var(--cdm-coral);
}

.cdm-shop .sidebar__item:first-child .hero__categories__all {
  color: var(--cdm-navy);
  border-bottom-color: rgba(20, 38, 61, .14);
}

.cdm-shop .hero__categories__all {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 48px;
  padding: 0 12px 16px;
  background: transparent;
  color: var(--cdm-navy);
  border-bottom: 1px solid rgba(20, 38, 61, .14);
  font-family: var(--e404-font-mono, 'Space Mono', monospace);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.cdm-shop .hero__categories__all .fa-bars {
  color: var(--cdm-coral);
}

.cdm-shop .hero__categories__all .category-chevron {
  color: rgba(20, 38, 61, .46);
}

.cdm-shop .hero__categories__all span {
  flex: 1;
  color: var(--cdm-navy);
  font-size: 10px;
  letter-spacing: .12em;
  line-height: 1.25;
}

.cdm-shop .hero__categories ul {
  display: block;
  max-height: min(560px, calc(100vh - 250px));
  overflow-y: auto;
  margin-top: 18px;
  background: transparent;
  border: 0;
  padding: 0 2px 0 6px;
  box-shadow: none;
}

.cdm-shop .hero__categories ul .category-filter {
  position: sticky;
  top: 0;
  z-index: 2;
  padding: 0 0 16px;
  background: var(--cdm-paper);
  border-bottom: 0;
}

.cdm-shop .category-search-input {
  width: 100%;
  height: 44px;
  padding: 0 14px;
  border: 1px solid rgba(20, 38, 61, .16);
  background: var(--cdm-cream);
  color: var(--cdm-navy);
  font-size: 13px;
}

.cdm-shop .category-search-input::placeholder {
  color: rgba(20, 38, 61, .52);
}

.cdm-shop .hero__categories ul li {
  border-bottom: 1px solid rgba(20, 38, 61, .09);
}

.cdm-shop .hero__categories ul li a {
  position: relative;
  display: block;
  padding: 13px 28px 13px 0;
  color: rgba(20, 38, 61, .76);
  font-size: 13px;
  line-height: 1.35;
}

.cdm-shop .hero__categories ul li a::after {
  content: "\f105";
  position: absolute;
  top: 50%;
  right: 2px;
  transform: translateY(-50%);
  color: rgba(20, 38, 61, .24);
  font-family: "FontAwesome";
  font-size: 12px;
  transition: var(--cdm-ease);
}

.cdm-shop .hero__categories ul li a:hover {
  color: var(--cdm-coral);
  background: transparent;
  padding-left: 10px;
}

.cdm-shop .hero__categories ul li a.category-link--active {
  color: var(--cdm-coral);
  font-weight: 700;
}

.cdm-shop .hero__categories ul li a.category-link--active::after {
  color: var(--cdm-coral);
}

.cdm-shop .hero__categories ul li a:hover::after {
  color: var(--cdm-coral);
  right: 0;
}

.cdm-shop .category-no-results {
  padding: 12px 0;
  color: rgba(20, 38, 61, .52);
  font-size: 13px;
}

.cdm-shop .latest-product__text h4 {
  margin: 0 0 22px;
  padding-bottom: 14px;
  border-bottom: 2px solid var(--cdm-coral);
  color: var(--cdm-navy);
  font-family: var(--e404-font-mono, 'Space Mono', monospace);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.cdm-shop .latest-product__item {
  display: grid;
  grid-template-columns: 74px 1fr;
  gap: 14px;
  align-items: center;
  margin-bottom: 18px;
}

.cdm-shop .latest-product__item__pic {
  width: 74px;
  height: 74px;
  display: grid;
  place-items: center;
  overflow: hidden;
  background: var(--cdm-cream);
}

.cdm-shop .latest-product__item__pic img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.cdm-shop .latest-product__item__pic svg {
  width: 32px;
  height: 32px;
  color: var(--cdm-text-mute);
}

.cdm-shop .latest-product__item__text h6 {
  margin: 0 0 5px;
  color: var(--cdm-text);
  font-size: 13px;
  line-height: 1.25;
  font-weight: 600;
}

.cdm-shop .latest-product__item__text .precio {
  color: var(--cdm-coral);
  font-size: 14px;
  font-weight: 900;
}

.cdm-shop__resultbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin: 0 0 14px;
  padding: 14px 0 16px;
  background: transparent;
  border-top: 4px solid var(--cdm-coral);
  border-bottom: 1px solid rgba(20, 38, 61, .14);
  color: var(--cdm-navy);
}

.cdm-shop__resultbar strong {
  display: block;
  color: var(--cdm-navy);
  font-family: var(--e404-font-sans, 'Poppins', sans-serif);
  font-size: clamp(20px, 2.5vw, 34px);
  line-height: .92;
  letter-spacing: 0;
  text-transform: uppercase;
}

.cdm-shop__resultbar span {
  display: block;
  margin-top: 7px;
  color: rgba(20, 38, 61, .58);
  font-family: var(--e404-font-mono, 'Space Mono', monospace);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.cdm-shop__resultbar p {
  display: flex;
  align-items: baseline;
  gap: 8px;
  margin: 0;
  color: rgba(20, 38, 61, .58);
  font-family: var(--e404-font-mono, 'Space Mono', monospace);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
  text-align: right;
}

.cdm-shop__resultbar b {
  display: inline-block;
  color: var(--cdm-coral);
  font-family: var(--e404-font-sans, 'Poppins', sans-serif);
  font-size: clamp(26px, 3vw, 38px);
  line-height: .9;
  letter-spacing: 0;
}

.cdm-active-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: -2px 0 16px;
}

.cdm-active-filter {
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 0 8px 0 12px;
  border: 1px solid rgba(20, 38, 61, .14);
  background: var(--cdm-paper);
  color: var(--cdm-navy);
  font-family: var(--e404-font-mono, 'Space Mono', monospace);
  font-size: 10px;
  line-height: 1;
  text-transform: uppercase;
}

.cdm-active-filter span {
  color: rgba(20, 38, 61, .52);
  font-weight: 900;
  letter-spacing: .12em;
}

.cdm-active-filter strong {
  color: var(--cdm-coral);
  font-weight: 900;
  letter-spacing: .08em;
}

.cdm-active-filter a {
  width: 24px;
  height: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: rgba(20, 38, 61, .48);
  text-decoration: none;
}

.cdm-active-filter a:hover {
  color: var(--cdm-coral);
  text-decoration: none;
}

.cdm-shop .cdm-filtros-toggle {
  width: 100%;
  align-items: center;
  justify-content: space-between;
  padding: 16px 18px;
  border: 1px solid var(--cdm-navy);
  background: var(--cdm-navy);
  color: #fff;
  font-family: var(--e404-font-mono, 'Space Mono', monospace);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.cdm-shop .filter__item {
  margin-bottom: 28px;
  padding: 0 0 18px;
  background: transparent;
  border: 0;
  border-bottom: 1px solid rgba(20, 38, 61, .14);
}

.cdm-shop .filter__item > .row {
  align-items: flex-end;
}

.cdm-shop .filter__item > .row > .col-lg-4:first-child {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  flex: 0 0 100%;
  max-width: 100%;
}

.cdm-shop .filter__gender {
  display: inline-flex;
  flex: 0 1 auto;
  gap: 0;
  margin-bottom: 0;
  padding: 4px;
  background: var(--cdm-paper);
  border: 1px solid rgba(20, 38, 61, .14);
}

.cdm-shop .filter__gender-btn {
  min-height: 36px;
  display: inline-flex;
  align-items: center;
  padding: 0 14px;
  border: 0;
  background: transparent;
  color: rgba(20, 38, 61, .68);
  font-family: var(--e404-font-mono, 'Space Mono', monospace);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .08em;
  line-height: 1;
  text-transform: uppercase;
}

.cdm-shop .filter__gender-btn:hover {
  color: var(--cdm-coral);
}

.cdm-shop .filter__gender-btn--active {
  background: var(--cdm-navy);
  color: #fff;
}

.cdm-shop .filter__sort {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex: 0 0 auto;
  gap: 12px;
  margin-top: 0;
  padding-top: 0;
}

.cdm-shop .filter__sort > span {
  color: rgba(20, 38, 61, .58);
  letter-spacing: .14em;
}

.cdm-shop .filter__sort .nice-select,
.cdm-shop .filter__sort .tienda-sort-select {
  min-width: 176px;
  height: 42px;
  border-radius: 0;
  border-color: rgba(20, 38, 61, .18);
  background: var(--cdm-paper);
  color: var(--cdm-navy);
}

.cdm-shop .filter__sort .nice-select {
  float: none;
  line-height: 40px;
  padding-left: 16px;
  padding-right: 38px;
}

.cdm-shop .filter__sort .nice-select:hover,
.cdm-shop .filter__sort .nice-select.open {
  border-color: var(--cdm-coral);
}

.cdm-shop .filter__sort .nice-select:after {
  width: 7px;
  height: 7px;
  right: 16px;
  top: 50%;
  margin-top: -5px;
  border-bottom: 1.5px solid var(--cdm-navy);
  border-right: 1.5px solid var(--cdm-navy);
}

.cdm-shop .filter__sort .nice-select .list {
  top: 100%;
  margin-top: 6px;
}

.cdm-shop #tienda-productos-grid {
  row-gap: 24px;
}

.cdm-shop #tienda-productos-grid > [class*="col-"] {
  display: flex;
  flex-direction: column;
  margin-bottom: 0;
}

.cdm-shop .featured__item {
  background: var(--cdm-paper);
  width: 100%;
  border-color: rgba(20, 38, 61, .12);
  border-radius: 8px 8px 0 0;
  overflow: hidden;
}

.cdm-shop .featured__item:hover {
  transform: translateY(-4px);
}

.cdm-shop .featured__item .featured__item__pic {
  border-radius: 8px 8px 0 0;
}

.cdm-shop .featured__item__pic::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 42%;
  background: linear-gradient(0deg, rgba(11, 23, 39, .26), transparent);
  pointer-events: none;
  opacity: 0;
  transition: var(--cdm-ease);
}

.cdm-shop .featured__item:hover .featured__item__pic::after {
  opacity: 1;
}

.cdm-shop .featured__item__text h6 {
  color: var(--cdm-navy);
}

.cdm-shop .featured__item__actions {
  width: 100%;
  background: var(--cdm-paper);
  border-color: rgba(20, 38, 61, .12);
  border-radius: 0 0 8px 8px;
  transition: var(--cdm-ease);
}

.cdm-shop .featured__item:hover + .featured__item__actions,
.cdm-shop .featured__item__actions:hover {
  box-shadow: var(--cdm-shadow);
}

.cdm-shop__offers {
  margin-top: 42px;
  padding-top: 38px;
  padding-bottom: 12px;
  border-top: 1px solid var(--cdm-line);
}

.cdm-shop__offers .product__discount__title {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 24px;
}

.cdm-shop__offers .product__discount__title .cdm-label {
  margin: 0;
}

.cdm-shop__offers .product__discount__title h2 {
  margin: 0;
  color: var(--cdm-navy);
  font-size: clamp(32px, 3.2vw, 48px);
  line-height: .94;
  letter-spacing: 0;
  text-transform: uppercase;
}

.cdm-shop .product__discount__slider {
  width: 100%;
}

.cdm-shop .product__discount__slider .owl-stage {
  display: flex;
}

.cdm-shop .product__discount__slider .owl-item {
  display: flex;
}

.cdm-shop .product__discount__slider .owl-item > [class*="col-"] {
  max-width: none;
  flex: 0 0 100%;
}

.cdm-shop .product__discount__slider .owl-nav button {
  width: 42px;
  height: 42px;
  border: 1px solid var(--cdm-line) !important;
  background: var(--cdm-paper) !important;
  color: var(--cdm-navy) !important;
  transition: var(--cdm-ease);
}

.cdm-shop .product__discount__slider .owl-nav button:hover {
  border-color: var(--cdm-coral) !important;
  background: var(--cdm-coral) !important;
  color: #fff !important;
}

body.dark.cdm-shop .cdm-shop__section {
  background:
    linear-gradient(180deg, rgba(11, 23, 39, .96), rgba(13, 28, 46, 1) 260px),
    #0d1c2e;
}

body.dark.cdm-shop .header__top {
  background: #ed694b;
  border-bottom: 1px solid rgba(244, 240, 232, .12);
}

body.dark.cdm-shop .header__top__info,
body.dark.cdm-shop .header__top__links a {
  color: #fff;
  opacity: 1;
  text-shadow: 0 1px 0 rgba(11, 23, 39, .18);
}

body.dark.cdm-shop .cdm-shop__headline h2,
body.dark.cdm-shop .latest-product__text h4,
body.dark.cdm-shop .latest-product__item__text h6 {
  color: #fff;
}

body.dark.cdm-shop .cdm-shop__headline p {
  color: rgba(255, 255, 255, .66);
}

body.dark.cdm-shop .cdm-shop__resultbar {
  border-bottom-color: rgba(244, 240, 232, .16);
  color: #fff;
}

body.dark.cdm-shop .cdm-shop__resultbar strong {
  color: #fff;
}

body.dark.cdm-shop .cdm-shop__resultbar span,
body.dark.cdm-shop .cdm-shop__resultbar p {
  color: rgba(244, 240, 232, .58);
}

body.dark.cdm-shop .cdm-active-filter {
  border-color: rgba(244, 240, 232, .14);
  background: #0b1727;
  color: #fff;
}

body.dark.cdm-shop .cdm-active-filter span,
body.dark.cdm-shop .cdm-active-filter a {
  color: rgba(244, 240, 232, .58);
}

body.dark.cdm-shop .cdm-active-filter strong,
body.dark.cdm-shop .cdm-active-filter a:hover,
body.dark.cdm-shop .hero__categories ul li a.category-link--active {
  color: var(--cdm-coral);
}

body.dark.cdm-shop .filter__item {
  border-bottom-color: rgba(244, 240, 232, .16);
}

body.dark.cdm-shop .filter__gender {
  background: #13263c;
  border-color: rgba(244, 240, 232, .16);
}

body.dark.cdm-shop .filter__gender-btn {
  color: rgba(244, 240, 232, .7);
}

body.dark.cdm-shop .filter__gender-btn:hover {
  color: var(--cdm-coral);
}

body.dark.cdm-shop .filter__gender-btn--active {
  background: var(--cdm-coral);
  color: #fff;
}

body.dark.cdm-shop .filter__sort > span {
  color: rgba(244, 240, 232, .58);
}

body.dark.cdm-shop .filter__sort .nice-select,
body.dark.cdm-shop .filter__sort .tienda-sort-select {
  border-color: rgba(244, 240, 232, .18);
  background: #13263c;
  color: #fff;
}

body.dark.cdm-shop .filter__sort .nice-select:after {
  border-bottom-color: #fff;
  border-right-color: #fff;
}

body.dark.cdm-shop .sidebar__item:first-child {
  background: #13263c;
  border-color: rgba(244, 240, 232, .16);
}

body.dark.cdm-shop .sidebar__item:first-child .hero__categories__all {
  color: #fff;
  border-bottom-color: rgba(244, 240, 232, .16);
}

body.dark.cdm-shop .hero__categories__all span {
  color: #fff;
}

body.dark.cdm-shop .hero__categories__all .category-chevron {
  color: rgba(244, 240, 232, .42);
}

body.dark.cdm-shop .hero__categories ul .category-filter {
  background: #13263c;
}

body.dark.cdm-shop .category-search-input {
  border-color: rgba(244, 240, 232, .18);
  background: rgba(244, 240, 232, .06);
  color: #fff;
}

body.dark.cdm-shop .category-search-input::placeholder {
  color: rgba(244, 240, 232, .5);
}

body.dark.cdm-shop .hero__categories ul li {
  border-bottom-color: rgba(244, 240, 232, .12);
}

body.dark.cdm-shop .hero__categories ul li a {
  color: rgba(244, 240, 232, .78);
}

body.dark.cdm-shop .hero__categories ul li a::after {
  color: rgba(244, 240, 232, .28);
}

body.dark.cdm-shop .sidebar__item:not(:first-child),
body.dark.cdm-shop .featured__item,
body.dark.cdm-shop .featured__item__actions,
body.dark.cdm-shop .filter__item,
body.dark.cdm-shop .product__discount__slider .owl-nav button {
  background: #13263c;
  border-color: rgba(244, 240, 232, .14);
}

body.dark.cdm-shop .featured__item,
body.dark.cdm-shop .featured__item__actions {
  box-shadow: none;
}

body.dark.cdm-shop .featured__item__pic {
  background: #f4f0e8;
}

body.dark.cdm-shop .featured__item__text h6 {
  color: rgba(244, 240, 232, .9);
}

body.dark.cdm-shop .product__card__quantity {
  border-color: rgba(244, 240, 232, .18);
  background: rgba(244, 240, 232, .06);
}

body.dark.cdm-shop .product__card__quantity .qtybtn {
  color: rgba(244, 240, 232, .86);
}

body.dark.cdm-shop .product__card__quantity .qtybtn:hover {
  background: rgba(244, 240, 232, .12);
  color: #fff;
}

body.dark.cdm-shop .product__card__quantity input {
  border-color: rgba(244, 240, 232, .14);
  color: #fff;
  background: transparent;
}

body.dark.cdm-shop .product__card__fav {
  border-color: rgba(244, 240, 232, .18);
  background: rgba(244, 240, 232, .06);
  color: rgba(244, 240, 232, .52);
}

body.dark.cdm-shop .product__card__fav:hover,
body.dark.cdm-shop .product__card__fav--active {
  border-color: var(--cdm-coral);
  color: var(--cdm-coral);
}

body.dark.cdm-shop .header {
  background: #0b1727;
}

body.dark.cdm-shop .header__main {
  background: #0b1727;
  border-bottom-color: rgba(255, 255, 255, .16);
}

body.dark.cdm-shop .header__logo a,
body.dark.cdm-shop .header__brand-text,
body.dark.cdm-shop .header__nav-list li a,
body.dark.cdm-shop .header__action-icon,
body.dark.cdm-shop .header__cart-total {
  color: #fff;
}

body.dark.cdm-shop .header__nav-list li:hover a,
body.dark.cdm-shop .header__nav-list li.active a,
body.dark.cdm-shop .header__action-icon:hover {
  color: var(--cdm-coral);
}

body.dark.cdm-shop .header__search-inline {
  border-color: rgba(244, 240, 232, .18);
  background: rgba(244, 240, 232, .06) !important;
}

body.dark.cdm-shop .header__search-inline:focus-within {
  border-color: var(--cdm-coral);
  box-shadow: 0 0 0 3px rgba(237, 105, 75, .22);
}

body.dark.cdm-shop .header__search-inline-btn {
  color: #fff;
}

body.dark.cdm-shop .header__search-inline-input {
  background: transparent !important;
  color: #fff;
}

body.dark.cdm-shop .header__search-inline-input::placeholder {
  color: rgba(244, 240, 232, .5);
}

body.dark.cdm-shop .header__search-inline.is-open {
  background: #13263c !important;
  box-shadow: 0 14px 34px rgba(0, 0, 0, .28);
}

body.dark.cdm-shop .humberger__menu__wrapper {
  background: #0d1c2e;
}

body.dark.cdm-shop .humberger__menu__logo a,
body.dark.cdm-shop .humberger__menu__nav a,
body.dark.cdm-shop #mobile-menu-wrap a,
body.dark.cdm-shop .humberger__menu__auth-link,
body.dark.cdm-shop .humberger__menu__theme-toggle {
  color: #fff;
}

body.dark.cdm-shop .humberger__menu__nav li,
body.dark.cdm-shop #mobile-menu-wrap li {
  border-bottom-color: rgba(244, 240, 232, .12);
}

body.dark.cdm-shop .humberger__menu__wrapper .header__top__right__social a {
  color: #fff;
  background: #13263c;
  border-color: rgba(244, 240, 232, .16);
}

body.dark.cdm-shop .humberger__menu__contact,
body.dark.cdm-shop .humberger__menu__contact li {
  color: rgba(244, 240, 232, .66);
}

@media (min-width: 992px) and (max-width: 1280px) {
  body.cdm-shop .header__main__inner {
    gap: 16px;
  }

  body.cdm-shop .header__nav-list {
    gap: 24px;
  }

  body.cdm-shop .header__nav-list li a {
    font-size: 11px;
  }

  body.cdm-shop .header__search-inline {
    width: 168px;
    flex-basis: 168px;
  }

  body.cdm-shop .header__user-name {
    max-width: 56px;
  }
}

@media (max-width: 991px) {
  body.cdm-shop .header {
    position: relative;
  }

  body.cdm-shop .header__top {
    height: 30px;
    overflow: hidden;
  }

  body.cdm-shop .header__top__links {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0;
    overflow: hidden;
  }

  body.cdm-shop .header__top__info {
    display: none;
    max-width: calc(100vw - 32px);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  body.cdm-shop .header__top__info:first-child {
    display: block;
  }

  body.cdm-shop .header__main {
    background: var(--cdm-cream);
    border-bottom-color: rgba(20, 38, 61, .14);
  }

  body.cdm-shop .header__main,
  body.cdm-shop .header__main__inner {
    min-height: 112px;
    height: auto;
  }

  body.cdm-shop .header__main__inner {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr) 42px 42px;
    grid-template-rows: 58px 44px;
    align-items: center;
    gap: 0 8px;
    position: relative;
    padding: 0 14px 10px;
  }

  body.cdm-shop .humberger__open,
  body.cdm-shop .header__action-icon,
  body.cdm-shop .header__cart-total {
    color: var(--cdm-navy);
  }

  body.cdm-shop .humberger__open {
    position: static;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    grid-column: 1;
    width: 34px;
    height: 38px;
    margin: 0;
    font-size: 20px;
    line-height: 1;
  }

  body.cdm-shop .header__logo {
    position: static;
    left: auto;
    grid-column: 2;
    grid-row: 1;
    justify-self: center;
    transform: none;
    min-width: 0;
  }

  body.cdm-shop .header__logo a {
    justify-content: center;
  }

  body.cdm-shop .header__logo .img_logo,
  body.cdm-shop .header__logo img {
    width: 40px;
    height: 40px;
    min-width: 40px;
  }

  body.cdm-shop .header__brand-text {
    display: none;
  }

  body.cdm-shop .header__nav,
  body.cdm-shop .header__actions > .theme-toggle,
  body.cdm-shop .header__user-dropdown,
  body.cdm-shop .header__actions > .header__action-link:not(.header__action-icon--favoritos),
  body.cdm-shop .header__actions > a[aria-label="Iniciar sesión"],
  body.cdm-shop .header__actions > a[aria-label="Iniciar sesiÃ³n"] {
    display: none;
  }

  body.cdm-shop .header__actions {
    display: contents;
    margin-left: 0;
  }

  body.cdm-shop .header__search-inline {
    grid-column: 1 / -1;
    grid-row: 2;
    justify-self: stretch;
    align-items: center;
    display: flex;
    width: 100% !important;
    height: 44px;
    min-width: 0;
    border: 1px solid rgba(20, 38, 61, .16) !important;
    border-radius: 0;
    background: var(--cdm-cream) !important;
    box-shadow: none !important;
    flex: none;
    outline: none;
  }

  body.cdm-shop .header__search-inline:focus-within {
    border-color: var(--cdm-coral) !important;
    box-shadow: none !important;
  }

  body.dark.cdm-shop .header__search-inline {
    border-color: rgba(244, 240, 232, .18) !important;
    background: rgba(244, 240, 232, .06) !important;
  }

  body.dark.cdm-shop .header__search-inline:focus-within {
    border-color: var(--cdm-coral) !important;
    box-shadow: none !important;
  }

  body.cdm-shop .header__search-inline-btn {
    width: 42px;
    min-width: 42px;
    height: 100%;
    justify-content: center;
    padding: 0;
    outline: none;
  }

  body.cdm-shop .header__search-inline-btn:focus,
  body.cdm-shop .header__search-inline-btn:focus-visible {
    outline: none;
    box-shadow: none;
  }

  body.cdm-shop .header__search-inline-input {
    width: 100%;
    min-width: 0;
    height: 100%;
    border: 0;
    padding: 0 6px 0 2px;
    background: transparent !important;
    outline: none;
    box-shadow: none;
    opacity: 1;
    pointer-events: auto;
  }

  body.cdm-shop .header__search-inline-input:focus,
  body.cdm-shop .header__search-inline-input:focus-visible {
    outline: none;
    box-shadow: none;
  }

  body.dark.cdm-shop .header__search-inline-btn,
  body.dark.cdm-shop .header__search-inline-input {
    color: #fff;
  }

  body.dark.cdm-shop .header__search-inline-input::placeholder {
    color: rgba(244, 240, 232, .5);
  }

  body.cdm-shop .cdm-search-clear {
    width: 38px;
    min-width: 38px;
    color: rgba(20, 38, 61, .48);
  }

  body.cdm-shop .header__action-icon {
    width: 34px;
    height: 38px;
    min-width: 34px;
  }

  body.cdm-shop .header__action-icon svg {
    width: 21px;
    height: 21px;
  }

  body.cdm-shop .header__user-name {
    display: none;
  }

  body.cdm-shop .header__action-icon.header__action-link,
  body.cdm-shop .header__user-dropdown .header__action-link {
    width: 34px;
    min-width: 34px;
    max-width: 34px;
    height: 38px;
    padding: 0;
  }

  body.cdm-shop .header__action-icon--favoritos {
    grid-column: 3;
    grid-row: 1;
    justify-self: center;
    display: flex;
  }

  body.cdm-shop .header__cart-icon {
    grid-column: 4;
    grid-row: 1;
    justify-self: end;
    width: 34px;
    min-width: 34px;
    gap: 0;
  }

  body.cdm-shop .header__badge {
    top: 1px;
    right: 0;
    min-width: 13px;
    height: 13px;
    font-size: 8px;
    line-height: 13px;
  }

  body.cdm-shop .header__cart-total {
    display: none !important;
  }

  body.cdm-shop .humberger__menu__wrapper {
    background: var(--cdm-cream);
  }

  body.cdm-shop .humberger__menu__wrapper .slicknav_btn {
    display: none !important;
  }

  body.cdm-shop .humberger__menu__wrapper .slicknav_menu {
    background: transparent;
    padding: 0;
  }

  body.cdm-shop .humberger__menu__wrapper .slicknav_nav {
    display: block !important;
  }

  body.cdm-shop .humberger__menu__logo a,
  body.cdm-shop .humberger__menu__nav a,
  body.cdm-shop #mobile-menu-wrap a,
  body.cdm-shop .humberger__menu__auth-link {
    min-height: 46px;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 0;
    color: var(--cdm-navy);
    font-size: 14px;
    line-height: 1.25;
  }

  body.cdm-shop .humberger__menu__wrapper .slicknav_nav .slicknav_row,
  body.cdm-shop .humberger__menu__wrapper .slicknav_nav a {
    min-height: 48px;
    display: flex;
    align-items: center;
    padding: 14px 0;
  }

  body.cdm-shop .humberger__menu__nav li,
  body.cdm-shop #mobile-menu-wrap li {
    border-bottom: 1px solid rgba(20, 38, 61, .1);
  }

  body.cdm-shop .humberger__menu__nav a:hover,
  body.cdm-shop #mobile-menu-wrap a:hover,
  body.cdm-shop .humberger__menu__auth-link:hover {
    color: var(--cdm-coral);
  }

  body.cdm-shop .humberger__menu__theme-toggle {
    min-height: 46px;
    width: 100%;
    justify-content: flex-start;
    gap: 10px;
    margin-top: 10px;
    padding: 12px 0;
    color: var(--cdm-navy);
  }

  body.cdm-shop .humberger__menu__wrapper .header__top__right__social {
    display: flex;
    gap: 12px;
    margin-top: 20px;
  }

  body.cdm-shop .humberger__menu__wrapper .header__top__right__social a {
    width: 38px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--cdm-navy);
    border: 1px solid rgba(20, 38, 61, .16);
    background: var(--cdm-paper);
  }

  body.cdm-shop .humberger__menu__wrapper .header__top__right__social a:hover {
    color: #fff;
    background: var(--cdm-coral);
    border-color: var(--cdm-coral);
  }

  body.cdm-shop .cdm-pagehead {
    padding-top: 64px;
  }

  .cdm-shop__section {
    padding-top: 21px;
  }

  .cdm-shop__mobile-search {
    display: none;
  }

  .cdm-shop__headline {
    margin-bottom: 42px;
  }

  .cdm-shop__headline-grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .cdm-shop__headline p {
    max-width: 620px;
  }

  .cdm-shop__resultbar {
    align-items: center;
    flex-direction: row;
    gap: 12px;
    padding: 14px 0 16px;
  }

  .cdm-shop__resultbar p {
    text-align: right;
  }

  .cdm-shop .filter__item > .row > .col-lg-4:first-child {
    align-items: flex-start;
    flex-direction: column;
    gap: 14px;
  }

  .cdm-shop .filter__gender {
    flex-wrap: wrap;
    width: 100%;
  }

  .cdm-shop .filter__sort {
    justify-content: flex-start;
    width: 100%;
  }

  .cdm-shop .cdm-filtros-toggle {
    display: flex;
    margin-bottom: 14px;
  }

  .cdm-shop .filter__item[hidden] {
    display: none;
  }
}

@media (max-width: 575px) {
  .cdm-shop .cdm-pagehead .breadcrumb__text h2 {
    font-size: 42px;
  }

  .cdm-shop__mobile-search .hero__search-mobile {
    margin-top: 12px;
  }

  .cdm-shop__section {
    padding-top: 15px;
  }

  .cdm-shop__headline h2 {
    font-size: 39px;
  }

  .cdm-shop__headline p {
    padding-left: 18px;
    font-size: 15px;
  }

  .cdm-shop .filter__sort {
    align-items: flex-start;
    flex-direction: column;
  }

  .cdm-shop .filter__gender-btn {
    flex: 1 1 calc(50% - 2px);
    justify-content: center;
  }

  .cdm-shop .filter__sort .nice-select,
  .cdm-shop .tienda-sort-select {
    width: 100%;
  }

  .cdm-shop__resultbar strong {
    font-size: 18px;
  }

  .cdm-shop__resultbar span,
  .cdm-shop__resultbar p {
    font-size: 9px;
  }

  .cdm-shop__resultbar b {
    font-size: 30px;
  }

  .cdm-shop #tienda-productos-grid {
    display: flex;
    margin-left: -6px;
    margin-right: -6px;
    row-gap: 0;
  }

  .cdm-shop #tienda-productos-grid > [class*="col-"] {
    flex: 0 0 50%;
    max-width: 50%;
    padding-left: 6px;
    padding-right: 6px;
  }

  .cdm-shop #tienda-productos-grid .featured__item .featured__item__pic {
    aspect-ratio: 1 / 1;
  }

  .cdm-shop #tienda-productos-grid .featured__item__text {
    padding: 12px 10px 8px;
  }

  .cdm-shop #tienda-productos-grid .featured__item__cat {
    margin-bottom: 5px;
    font-size: 8px;
    letter-spacing: .1em;
  }

  .cdm-shop #tienda-productos-grid .featured__item__text h6 {
    min-height: 2.5em;
    margin-bottom: 8px;
    display: -webkit-box;
    overflow: hidden;
    font-size: 12px;
    line-height: 1.25;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
  }

  .cdm-shop #tienda-productos-grid .featured__item__text h5 {
    font-size: 15px;
  }

  .cdm-shop #tienda-productos-grid .featured__item__actions {
    padding: 0 10px 12px;
    margin-bottom: 18px;
  }

  .cdm-shop #tienda-productos-grid .product__card__actions-row {
    gap: 6px;
    margin-bottom: 8px;
  }

  .cdm-shop #tienda-productos-grid .product__card__quantity .qtybtn {
    width: 26px;
    height: 30px;
  }

  .cdm-shop #tienda-productos-grid .product__card__quantity input {
    width: 30px;
    height: 30px;
    font-size: 12px;
  }

  .cdm-shop #tienda-productos-grid .product__card__fav {
    width: 32px;
    height: 32px;
    min-width: 32px;
  }

  .cdm-shop #tienda-productos-grid .product__card__button,
  .cdm-shop #tienda-productos-grid .product__card__agotado {
    min-height: 38px;
    padding: 10px 8px;
    font-size: 9px;
    letter-spacing: .07em;
  }

  .cdm-shop__offers .product__discount__title {
    align-items: flex-start;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 14px;
  }

  .cdm-shop__offers {
    margin-top: 28px;
    padding-top: 24px;
  }

  .cdm-shop__offers .product__discount__title h2 {
    font-size: 28px;
  }

  .cdm-shop__offers .product__discount__slider {
    margin-left: 0;
    margin-right: 0;
  }

  .cdm-shop__offers .product__discount__slider .owl-stage-outer {
    overflow: visible;
  }

  .cdm-shop__offers .product__discount__slider .owl-item {
    padding: 0;
  }

  .cdm-shop__offers .product__discount__slider .owl-item > [class*="col-"] {
    display: flex;
    flex-direction: column;
  }

  .cdm-shop__offers .product__discount__slider .featured__item,
  .cdm-shop__offers .product__discount__slider .featured__item__actions {
    width: 100%;
  }

  .cdm-shop__offers .product__discount__slider .featured__item .featured__item__pic {
    aspect-ratio: 1 / 1;
  }

  .cdm-shop__offers .product__discount__slider .featured__item__text {
    padding: 12px 10px 8px;
  }

  .cdm-shop__offers .product__discount__slider .featured__item__cat {
    margin-bottom: 5px;
    font-size: 8px;
    letter-spacing: .1em;
  }

  .cdm-shop__offers .product__discount__slider .featured__item__text h6 {
    min-height: 2.5em;
    margin-bottom: 8px;
    display: -webkit-box;
    overflow: hidden;
    font-size: 12px;
    line-height: 1.25;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
  }

  .cdm-shop__offers .product__discount__slider .featured__item__text h5 {
    font-size: 15px;
  }

  .cdm-shop__offers .product__discount__slider .featured__item__actions {
    padding: 0 10px 12px;
    margin-bottom: 12px;
  }

  .cdm-shop__offers .product__discount__slider .product__card__quantity .qtybtn {
    width: 26px;
    height: 30px;
  }

  .cdm-shop__offers .product__discount__slider .product__card__quantity input {
    width: 30px;
    height: 30px;
    font-size: 12px;
  }

  .cdm-shop__offers .product__discount__slider .product__card__fav {
    width: 32px;
    height: 32px;
    min-width: 32px;
  }

  .cdm-shop__offers .product__discount__slider .product__card__button,
  .cdm-shop__offers .product__discount__slider .product__card__agotado {
    min-height: 38px;
    padding: 10px 8px;
    font-size: 9px;
    letter-spacing: .07em;
  }

  .cdm-shop__offers .product__discount__slider.owl-carousel .owl-dots {
    margin-top: 8px;
  }
}

/* Ajuste fino: la barra de categorias de tienda necesita mas respiracion
   entre titulo, buscador, links y scrollbar sin cambiar su componente. */
body.cdm-shop .sidebar__item:first-child {
  padding: 14px 24px 24px;
}

body.cdm-shop .sidebar__item:first-child::before {
  width: 4px;
}

body.cdm-shop .sidebar__item:first-child .hero__categories {
  margin-bottom: 0;
}

body.cdm-shop .sidebar__item:first-child .hero__categories__all {
  padding: 0 8px;
}

body.cdm-shop .sidebar__item:first-child .hero__categories ul {
  padding: 0 12px 12px;
  max-height: min(460px, calc(100vh - 230px));
  margin-top: 8px;
  scrollbar-gutter: stable;
}

body.cdm-shop .sidebar__item:first-child .hero__categories ul .category-filter {
  margin: 0 -12px 8px;
  padding: 0 16px 10px !important;
  border-bottom: 1px solid var(--cdm-line-soft);
}

body.cdm-shop .sidebar__item:first-child .category-search-input {
  height: 40px;
  padding: 0 14px;
}

body.cdm-shop .sidebar__item:first-child .hero__categories ul li.category-item a {
  padding: 0 10px;
  line-height: 44px;
}

body.cdm-shop .sidebar__item:first-child .hero__categories ul li.category-item a:hover {
  padding-left: 14px;
}

body.dark.cdm-shop .sidebar__item:first-child .hero__categories ul .category-filter {
  background: #13263c;
  border-bottom-color: rgba(244, 240, 232, .12);
}

body.dark.cdm-shop .sidebar__item:first-child .category-search-input {
  border-color: rgba(244, 240, 232, .18);
  background: rgba(244, 240, 232, .06);
  color: #fff;
}

@media (min-width: 992px) and (max-width: 1199px) {
  body.cdm-shop .sidebar__item:first-child {
    padding: 14px 16px 20px;
  }

  body.cdm-shop .sidebar__item:first-child .hero__categories__all {
    padding: 0 4px;
    gap: 8px;
  }

  body.cdm-shop .sidebar__item:first-child .hero__categories__all span {
    font-size: 9px;
    letter-spacing: .08em;
  }

  body.cdm-shop .sidebar__item:first-child .hero__categories ul {
    padding: 0 8px 10px;
  }

  body.cdm-shop .sidebar__item:first-child .hero__categories ul .category-filter {
    margin: 0 -8px 8px;
    padding: 0 12px 10px !important;
  }
}

@media (min-width: 992px) {
  body.cdm-shop #cdm-filtros-panel[hidden] {
    display: block;
  }
}

/* Ajustes mobile de tienda: centrar la barra de resultados y el logo
   respecto de la pantalla, no respecto de las columnas de acciones. */
@media (max-width: 991px) {
  body.cdm-shop {
    max-width: 100%;
    overflow-x: hidden;
  }

  html:has(body.cdm-shop) {
    max-width: 100%;
    overflow-x: hidden;
  }

  body.cdm-shop #cdm-main {
    max-width: 100%;
    overflow-x: hidden;
  }

  body.cdm-shop .header__main__inner {
    grid-template-columns: 42px minmax(0, 1fr) 42px 42px;
  }

  body.cdm-shop .header__logo {
    position: absolute;
    top: 9px;
    left: 50%;
    grid-column: auto;
    grid-row: auto;
    justify-self: auto;
    transform: translateX(-50%);
    z-index: 2;
  }

  body.cdm-shop .cdm-shop__resultbar {
    display: flex !important;
    justify-content: center;
    text-align: center;
    width: 100%;
  }

  body.cdm-shop .cdm-shop__resultbar > div {
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 8px;
    min-width: 0;
  }

  body.cdm-shop .cdm-shop__resultbar strong:empty {
    display: none;
  }

  body.cdm-shop .cdm-shop__resultbar p {
    justify-content: center;
    text-align: center;
  }

  body.cdm-shop .cdm-active-filters {
    justify-content: center;
    margin-top: -6px;
  }

  body.cdm-shop .cdm-shop__offers,
  body.cdm-shop .cdm-shop__offers .row,
  body.cdm-shop .cdm-shop__offers .product__discount__slider {
    max-width: 100%;
    overflow-x: hidden;
  }

  body.cdm-shop .cdm-shop__offers .product__discount__slider .owl-stage-outer {
    overflow: hidden;
  }
}

@media (max-width: 575px) {
  body.cdm-shop .cdm-shop__resultbar {
    flex-wrap: wrap;
    gap: 6px 10px;
  }

  body.cdm-shop #tienda-productos-grid {
    justify-content: center;
    width: auto;
    max-width: none;
  }
}

.cdm-auth-modal {
  border: 1px solid var(--cdm-line);
  border-radius: 8px;
  overflow: hidden;
}

.cdm-auth-modal__header,
.cdm-auth-modal__body,
.cdm-auth-modal__footer {
  background: var(--cdm-paper);
}

.cdm-auth-modal__header {
  align-items: center;
  border-bottom: 1px solid var(--cdm-line);
}

.cdm-auth-modal__header .modal-title {
  color: var(--cdm-navy);
  font-family: var(--e404-font-sans, 'Poppins', sans-serif);
  font-size: 18px;
  font-weight: 800;
}

.cdm-auth-modal__close {
  color: var(--cdm-text-mute);
  opacity: 1;
}

.cdm-auth-modal__body p {
  margin: 0;
  color: var(--cdm-text-soft);
  font-size: 14px;
  line-height: 1.6;
}

.cdm-auth-modal__footer {
  gap: 10px;
  border-top: 1px solid var(--cdm-line);
}

.cdm-auth-modal__btn {
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 16px;
  border: 1px solid var(--cdm-navy);
  font-family: var(--e404-font-mono, 'Space Mono', monospace);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
  text-decoration: none;
}

.cdm-auth-modal__btn:hover {
  text-decoration: none;
}

.cdm-auth-modal__btn--primary {
  background: var(--cdm-navy);
  color: #fff;
}

.cdm-auth-modal__btn--primary:hover {
  border-color: var(--cdm-coral);
  background: var(--cdm-coral);
  color: #fff;
}

.cdm-auth-modal__btn--ghost {
  background: transparent;
  color: var(--cdm-navy);
}

.cdm-auth-modal__btn--ghost:hover {
  border-color: var(--cdm-coral);
  color: var(--cdm-coral);
}

body.dark.cdm-public .cdm-auth-modal,
body.dark.cdm-public .cdm-auth-modal__header,
body.dark.cdm-public .cdm-auth-modal__body,
body.dark.cdm-public .cdm-auth-modal__footer {
  background: #0b1727;
  border-color: rgba(244, 240, 232, .14);
}

body.dark.cdm-public .cdm-auth-modal__header .modal-title {
  color: #fff;
}

body.dark.cdm-public .cdm-auth-modal__body p {
  color: rgba(244, 240, 232, .7);
}

body.dark.cdm-public .cdm-auth-modal__btn--ghost {
  color: #fff;
  border-color: rgba(244, 240, 232, .22);
}


/* Iconos comerciales del header: mismos colores en modo claro y oscuro. */
.cdm-public .header__action-icon--favoritos svg,
body.dark.cdm-public .header__action-icon--favoritos svg,
body.cdm-shop .header__action-icon--favoritos svg,
body.dark.cdm-shop .header__action-icon--favoritos svg {
  color: #ef4444;
}

.cdm-public .header__action-icon--favoritos:hover svg,
body.dark.cdm-public .header__action-icon--favoritos:hover svg,
body.cdm-shop .header__action-icon--favoritos:hover svg,
body.dark.cdm-shop .header__action-icon--favoritos:hover svg {
  color: #f87171;
}

.cdm-public .header__cart-icon svg,
body.dark.cdm-public .header__cart-icon svg,
body.cdm-shop .header__cart-icon svg,
body.dark.cdm-shop .header__cart-icon svg {
  color: #22c55e;
}

.cdm-public .header__cart-icon:hover svg,
body.dark.cdm-public .header__cart-icon:hover svg,
body.cdm-shop .header__cart-icon:hover svg,
body.dark.cdm-shop .header__cart-icon:hover svg {
  color: #4ade80;
}

.cdm-public .fav-badge,
body.dark.cdm-public .fav-badge {
  background: #ef4444;
  color: #fff;
}

.cdm-public .cart-badge,
body.dark.cdm-public .cart-badge {
  background: #22c55e;
  color: #fff;
}

.cdm-public .header__cart-total,
body.dark.cdm-public .header__cart-total {
  color: #22c55e;
}


/* =====================================================================
   == 30 · CONTACTO OPERATIVO ==========================================
   ===================================================================== */

body.cdm-contacto {
  background: var(--cdm-cream);
}

body.cdm-contacto .cdm-contacto__section {
  padding-top: 31px;
  padding-bottom: var(--cdm-sp-6);
  background:
    linear-gradient(180deg, rgba(244, 240, 232, .92), rgba(244, 240, 232, 1) 240px),
    var(--cdm-cream);
}

.cdm-contacto__resultbar {
  margin-bottom: var(--cdm-sp-5);
}

.cdm-contacto__intro {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(280px, .58fr);
  gap: clamp(32px, 6vw, 88px);
  align-items: end;
  margin-bottom: var(--cdm-sp-5);
}

.cdm-contacto__intro .cdm-label {
  margin-bottom: 24px;
}

.cdm-contacto__intro h1 {
  max-width: 850px;
  margin: 0;
  color: var(--cdm-navy);
  font-family: var(--e404-font-sans, 'Poppins', sans-serif);
  font-size: clamp(38px, 5.2vw, 76px);
  font-weight: 900;
  letter-spacing: 0;
  line-height: .9;
  text-transform: uppercase;
}

.cdm-contacto__intro p {
  margin: 0;
  padding-left: 24px;
  border-left: 3px solid var(--cdm-coral);
  color: var(--cdm-text-soft);
  font-size: 16px;
  line-height: 1.7;
}

.cdm-contacto__layout {
  display: grid;
  grid-template-columns: minmax(300px, .82fr) minmax(0, 1.18fr);
  gap: var(--cdm-sp-4);
  align-items: stretch;
}

.cdm-contacto__info,
.cdm-contacto__form {
  min-width: 0;
}

.cdm-contacto__info {
  display: flex;
  flex-direction: column;
  background: var(--cdm-navy);
  color: #fff;
  padding: clamp(24px, 3.5vw, 42px);
}

.cdm-contacto__info-head {
  padding-bottom: var(--cdm-sp-4);
  border-bottom: 1px solid rgba(255, 255, 255, .14);
}

.cdm-contacto__info-head span {
  display: block;
  margin-bottom: 12px;
  color: var(--cdm-coral);
  font-family: var(--e404-font-mono, 'Space Mono', monospace);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .14em;
  line-height: 1.2;
  text-transform: uppercase;
}

.cdm-contacto__info-head h2 {
  margin: 0;
  color: #fff;
  font-family: var(--e404-font-sans, 'Poppins', sans-serif);
  font-size: clamp(28px, 3vw, 42px);
  font-weight: 900;
  letter-spacing: 0;
  line-height: .95;
  text-transform: uppercase;
}

.cdm-contacto__info-list {
  display: grid;
  gap: 0;
}

body.cdm-contacto .contact__widget {
  display: grid;
  grid-template-columns: 34px 1fr;
  column-gap: 16px;
  align-items: start;
  height: auto;
  padding: 22px 0;
  background: transparent;
  border: 0;
  border-bottom: 1px solid rgba(255, 255, 255, .14);
  color: #fff;
  text-align: left;
}

body.cdm-contacto .contact__widget:hover {
  border-color: rgba(255, 255, 255, .14);
  box-shadow: none;
}

body.cdm-contacto .contact__widget span[class^="icon_"] {
  grid-row: span 2;
  margin: 1px 0 0;
  color: var(--cdm-coral) !important;
  font-size: 28px;
}

body.cdm-contacto .contact__widget h4 {
  margin: 0 0 7px;
  color: #fff;
  border: 0;
}

body.cdm-contacto .contact__widget p {
  margin: 0;
  color: rgba(244, 240, 232, .72);
  font-size: 14px;
  line-height: 1.55;
  overflow-wrap: anywhere;
}

.cdm-contacto__quick-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: auto;
  padding-top: var(--cdm-sp-4);
}

.cdm-contacto__quick-actions .cdm-btn {
  width: 100%;
}

.cdm-contacto__form {
  padding: clamp(24px, 3.8vw, 46px);
  background: var(--cdm-paper);
  border: 1px solid rgba(20, 38, 61, .14);
}

body.cdm-contacto .contact__form__title {
  margin-bottom: var(--cdm-sp-4);
  text-align: left;
}

body.cdm-contacto .contact__form__title .cdm-label {
  justify-content: flex-start;
  margin-bottom: 18px;
}

body.cdm-contacto .contact__form__title h2 {
  margin: 0 0 12px;
  color: var(--cdm-navy);
  font-size: clamp(28px, 3.4vw, 48px);
  font-weight: 900;
  letter-spacing: 0;
  line-height: .95;
  text-align: left;
  text-transform: uppercase;
}

body.cdm-contacto .contact__form__title p {
  max-width: 560px;
  margin: 0;
  color: var(--cdm-text-soft);
  font-size: 15px;
  line-height: 1.65;
  text-align: left;
}

body.cdm-contacto .cdm-field__control {
  min-height: 48px;
  background: var(--cdm-cream);
  border-color: rgba(20, 38, 61, .16);
}

body.cdm-contacto textarea.cdm-field__control {
  min-height: 170px;
}

body.cdm-contacto .contacto__acciones {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  margin-top: var(--cdm-sp-4);
}

body.cdm-contacto .contacto__acciones .cdm-btn {
  flex: 0 0 auto;
  min-height: 48px;
  width: auto;
  padding: 0 24px;
}

body.dark.cdm-contacto {
  --cdm-cream: #0d1c2e;
  --cdm-paper: #13263c;
  --cdm-text: rgba(244, 240, 232, .92);
  --cdm-text-soft: rgba(244, 240, 232, .72);
  --cdm-text-mute: rgba(244, 240, 232, .52);
  --cdm-line: rgba(244, 240, 232, .18);
  --cdm-line-soft: rgba(244, 240, 232, .12);
  background: #0d1c2e;
}

body.dark.cdm-contacto .cdm-contacto__section {
  background:
    linear-gradient(180deg, rgba(11, 23, 39, .92), rgba(13, 28, 46, 1) 240px),
    #0d1c2e !important;
}

body.dark.cdm-contacto .cdm-contacto__intro h1,
body.dark.cdm-contacto .cdm-contacto__resultbar strong,
body.dark.cdm-contacto .cdm-contacto__resultbar,
body.dark.cdm-contacto .cdm-field__label,
body.dark.cdm-contacto .contact__form__title h2 {
  color: #fff;
}

body.dark.cdm-contacto .cdm-contacto__intro p,
body.dark.cdm-contacto .cdm-contacto__resultbar p,
body.dark.cdm-contacto .cdm-contacto__resultbar span,
body.dark.cdm-contacto .contact__form__title p {
  color: rgba(244, 240, 232, .72);
}

body.dark.cdm-contacto .cdm-contacto__form {
  background: #13263c !important;
  border-color: rgba(244, 240, 232, .14);
}

body.dark.cdm-contacto .cdm-field__control {
  background: rgba(244, 240, 232, .06);
  border-color: rgba(244, 240, 232, .18);
  color: #fff;
}

body.dark.cdm-contacto .cdm-field__hint {
  color: rgba(244, 240, 232, .52);
}

body.dark.cdm-contacto .cdm-btn--ghost {
  border-color: rgba(244, 240, 232, .26);
  color: #fff;
}

body.dark.cdm-contacto .cdm-btn--ghost:hover {
  border-color: var(--cdm-coral);
  background: var(--cdm-coral);
  color: #fff;
}

@media (max-width: 991px) {
  .cdm-contacto__intro,
  .cdm-contacto__layout {
    grid-template-columns: 1fr;
  }

  .cdm-contacto__resultbar {
    margin-bottom: var(--cdm-sp-4);
  }

  .cdm-contacto__intro {
    gap: 22px;
    margin-bottom: var(--cdm-sp-4);
  }

  .cdm-contacto__intro p {
    padding-left: 18px;
  }
}

@media (max-width: 575px) {
  body.cdm-contacto .cdm-contacto__section {
    padding-top: 22px;
  }

  .cdm-contacto__intro h1 {
    font-size: 36px;
  }

  .cdm-contacto__quick-actions,
  body.cdm-contacto .contacto__acciones {
    grid-template-columns: 1fr;
  }

  body.cdm-contacto .contacto__acciones .cdm-btn {
    width: 100%;
    flex: 0 0 auto;
  }
}


/* =====================================================================
   == 31 · COMO LLEGAR OPERATIVO =======================================
   ===================================================================== */

body.cdm-comollegar {
  background: var(--cdm-cream);
}

body.cdm-comollegar .cdm-comollegar__section {
  padding-top: 31px;
  padding-bottom: var(--cdm-sp-6);
  background:
    linear-gradient(180deg, rgba(244, 240, 232, .92), rgba(244, 240, 232, 1) 240px),
    var(--cdm-cream);
}

.cdm-comollegar__intro {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(280px, .58fr);
  gap: clamp(32px, 6vw, 88px);
  align-items: end;
  margin-bottom: var(--cdm-sp-5);
  padding-top: 14px;
}

.cdm-comollegar__intro h1 {
  max-width: 850px;
  margin: 0;
  color: var(--cdm-navy);
  font-family: var(--e404-font-sans, 'Poppins', sans-serif);
  font-size: clamp(38px, 5.2vw, 76px);
  font-weight: 900;
  letter-spacing: 0;
  line-height: .9;
  text-transform: uppercase;
}

.cdm-comollegar__intro p {
  margin: 0;
  padding-left: 24px;
  border-left: 3px solid var(--cdm-coral);
  color: var(--cdm-text-soft);
  font-size: 16px;
  line-height: 1.7;
}

.cdm-comollegar__layout {
  display: grid;
  grid-template-columns: minmax(0, 1.28fr) minmax(320px, .72fr);
  gap: var(--cdm-sp-4);
  align-items: stretch;
}

.cdm-comollegar__map {
  min-height: 620px;
  background: var(--cdm-navy);
  border: 1px solid rgba(20, 38, 61, .14);
  overflow: hidden;
}

body.cdm-comollegar .cdm-comollegar__map iframe {
  display: block;
  min-height: 620px;
  filter: grayscale(.18) saturate(.9);
}

.cdm-comollegar__panel {
  display: flex;
  flex-direction: column;
  min-width: 0;
  background: var(--cdm-navy);
  color: #fff;
  padding: clamp(24px, 3.5vw, 42px);
}

.cdm-comollegar__panel-head {
  padding-bottom: var(--cdm-sp-4);
  border-bottom: 1px solid rgba(255, 255, 255, .14);
}

.cdm-comollegar__panel-head span {
  display: block;
  margin-bottom: 12px;
  color: var(--cdm-coral);
  font-family: var(--e404-font-mono, 'Space Mono', monospace);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .14em;
  line-height: 1.2;
  text-transform: uppercase;
}

.cdm-comollegar__panel-head h2 {
  margin: 0;
  color: #fff;
  font-family: var(--e404-font-sans, 'Poppins', sans-serif);
  font-size: clamp(28px, 3vw, 42px);
  font-weight: 900;
  letter-spacing: 0;
  line-height: .95;
  text-transform: uppercase;
}

.cdm-comollegar__items {
  display: grid;
  gap: 0;
}

.cdm-comollegar__items article {
  display: grid;
  grid-template-columns: 34px 1fr;
  column-gap: 16px;
  align-items: start;
  padding: 24px 0;
  border-bottom: 1px solid rgba(255, 255, 255, .14);
}

.cdm-comollegar__items article > span {
  margin-top: 1px;
  color: var(--cdm-coral);
  font-size: 28px;
}

.cdm-comollegar__items h3 {
  margin: 0 0 7px;
  color: #fff;
  font-family: var(--e404-font-mono, 'Space Mono', monospace);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .14em;
  line-height: 1.25;
  text-transform: uppercase;
}

.cdm-comollegar__items p {
  margin: 0;
  color: rgba(244, 240, 232, .72);
  font-size: 14px;
  line-height: 1.55;
  overflow-wrap: anywhere;
}

.cdm-comollegar__actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: auto;
  padding-top: var(--cdm-sp-4);
}

.cdm-comollegar__actions .cdm-btn {
  width: 100%;
}

body.dark.cdm-comollegar {
  --cdm-cream: #0d1c2e;
  --cdm-paper: #13263c;
  --cdm-text: rgba(244, 240, 232, .92);
  --cdm-text-soft: rgba(244, 240, 232, .72);
  --cdm-text-mute: rgba(244, 240, 232, .52);
  --cdm-line: rgba(244, 240, 232, .18);
  --cdm-line-soft: rgba(244, 240, 232, .12);
  background: #0d1c2e;
}

body.dark.cdm-comollegar .cdm-comollegar__section {
  background:
    linear-gradient(180deg, rgba(11, 23, 39, .92), rgba(13, 28, 46, 1) 240px),
    #0d1c2e !important;
}

body.dark.cdm-comollegar .cdm-comollegar__intro h1 {
  color: #fff;
}

body.dark.cdm-comollegar .cdm-comollegar__intro p {
  color: rgba(244, 240, 232, .72);
}

body.dark.cdm-comollegar .cdm-comollegar__map {
  border-color: rgba(244, 240, 232, .14);
}

body.dark.cdm-comollegar .cdm-comollegar__map iframe {
  filter: grayscale(.32) saturate(.82) brightness(.86);
}

@media (max-width: 991px) {
  .cdm-comollegar__intro,
  .cdm-comollegar__layout {
    grid-template-columns: 1fr;
  }

  .cdm-comollegar__intro {
    gap: 22px;
    margin-bottom: var(--cdm-sp-4);
  }

  .cdm-comollegar__intro p {
    padding-left: 18px;
  }

  .cdm-comollegar__map,
  body.cdm-comollegar .cdm-comollegar__map iframe {
    min-height: 460px;
  }

  .cdm-comollegar__panel {
    order: -1;
  }
}

@media (max-width: 575px) {
  body.cdm-comollegar .cdm-comollegar__section {
    padding-top: 22px;
  }

  .cdm-comollegar__intro h1 {
    font-size: 36px;
  }

  .cdm-comollegar__map,
  body.cdm-comollegar .cdm-comollegar__map iframe {
    min-height: 360px;
  }

  .cdm-comollegar__actions {
    grid-template-columns: 1fr;
  }
}


/* =====================================================================
   == 32 · CARRITO OPERATIVO ===========================================
   ===================================================================== */

body.cdm-carrito {
  background: var(--cdm-cream);
}

body.cdm-carrito .cdm-carrito__section {
  padding-top: 31px;
  padding-bottom: var(--cdm-sp-6);
  background:
    linear-gradient(180deg, rgba(244, 240, 232, .92), rgba(244, 240, 232, 1) 240px),
    var(--cdm-cream);
}

.cdm-carrito__intro {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(280px, .58fr);
  gap: clamp(32px, 6vw, 88px);
  align-items: end;
  margin-bottom: var(--cdm-sp-5);
  padding-top: 14px;
}

.cdm-carrito__intro h1 {
  max-width: 850px;
  margin: 0;
  color: var(--cdm-navy);
  font-family: var(--e404-font-sans, 'Poppins', sans-serif);
  font-size: clamp(38px, 5.2vw, 76px);
  font-weight: 900;
  letter-spacing: 0;
  line-height: .9;
  text-transform: uppercase;
}

.cdm-carrito__intro p {
  margin: 0;
  padding-left: 24px;
  border-left: 3px solid var(--cdm-coral);
  color: var(--cdm-text-soft);
  font-size: 16px;
  line-height: 1.7;
}

.cdm-carrito__resultbar {
  margin-bottom: var(--cdm-sp-4);
}

body.cdm-carrito .shoping-cart__row {
  align-items: flex-start;
}

body.cdm-carrito .cart__products {
  padding-right: 28px;
}

body.cdm-carrito .fila__container {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-bottom: 12px;
  padding: 18px;
  background: var(--cdm-paper);
  border: 1px solid rgba(20, 38, 61, .12);
  border-radius: 8px;
  box-shadow: none;
}

body.cdm-carrito .fila__container .shoping__cart__item {
  flex: 0 0 auto;
  margin: 0;
}

body.cdm-carrito .fila__container .shoping__cart__item img {
  width: 92px;
  height: 92px;
  display: block;
  object-fit: cover;
  border-radius: 6px;
  background: var(--cdm-cream);
}

body.cdm-carrito .fila__container > .shoping__cart__info {
  flex: 1 1 auto;
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(170px, 1fr) auto;
  gap: 16px;
  align-items: center;
}

body.cdm-carrito .fila__container .shoping__cart__info--nombre {
  margin: 0;
  color: var(--cdm-navy);
  font-family: var(--e404-font-sans, 'Poppins', sans-serif);
  font-size: 16px;
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1.25;
}

body.cdm-carrito .fila__container > .shoping__cart__info > div {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 14px;
  min-width: 0;
}

body.cdm-carrito .fila__container .shoping__cart__price,
body.cdm-carrito .fila__container .shoping__cart__total {
  margin: 0;
  color: var(--cdm-coral);
  font-family: var(--e404-font-mono, 'Space Mono', monospace);
  font-size: 15px;
  font-weight: 900;
  letter-spacing: 0;
  white-space: nowrap;
}

body.cdm-carrito .fila__container .shoping__cart__price {
  color: rgba(20, 38, 61, .62);
}

body.cdm-carrito .fila__container .shoping__cart__quantity {
  margin: 0;
}

body.cdm-carrito .fila__container .pro-qty {
  width: 116px;
  height: 40px;
  display: flex;
  align-items: center;
  overflow: hidden;
  background: var(--cdm-cream);
  border: 1px solid rgba(20, 38, 61, .14);
  border-radius: 0;
}

body.cdm-carrito .fila__container .pro-qty input {
  width: 38px;
  height: 100%;
  padding: 0;
  color: var(--cdm-navy);
  font-family: var(--e404-font-mono, 'Space Mono', monospace);
  font-size: 13px;
  font-weight: 900;
  text-align: center;
  background: transparent;
  border: 0;
}

body.cdm-carrito .fila__container .pro-qty .qtybtn {
  width: 38px;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(20, 38, 61, .6);
  font-family: var(--e404-font-mono, 'Space Mono', monospace);
  font-size: 14px;
  font-weight: 900;
  cursor: pointer;
  transition: var(--cdm-ease);
}

body.cdm-carrito .fila__container .pro-qty .qtybtn:hover {
  color: var(--cdm-coral);
  background: rgba(237, 105, 75, .08);
}

body.cdm-carrito .fila__container .shoping__cart__item__close {
  margin: 0;
}

body.cdm-carrito .fila__container .icon_close {
  width: 38px;
  height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  color: rgba(20, 38, 61, .46);
  font-size: 18px;
  opacity: 1;
  cursor: pointer;
  transition: var(--cdm-ease);
}

body.cdm-carrito .fila__container .icon_close:hover {
  color: var(--cdm-coral);
  background: rgba(237, 105, 75, .08);
}

body.cdm-carrito .cart__summary {
  position: sticky;
  top: 132px;
}

body.cdm-carrito .shoping__checkout {
  margin-top: 0;
  padding: 28px;
  background: var(--cdm-navy);
  color: #fff;
  border: 0;
  border-radius: 8px;
}

body.cdm-carrito .shoping__checkout h5 {
  margin: 0 0 20px;
  padding-bottom: 16px;
  color: #fff;
  border-bottom: 1px solid rgba(255, 255, 255, .14);
  font-family: var(--e404-font-sans, 'Poppins', sans-serif);
  font-size: 24px;
  font-weight: 900;
  letter-spacing: 0;
  line-height: 1;
  text-transform: uppercase;
}

body.cdm-carrito .shoping__checkout ul {
  margin: 0 0 24px;
  padding: 0;
}

body.cdm-carrito .shoping__checkout ul li {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 14px;
  padding: 12px 0;
  color: rgba(244, 240, 232, .72);
  border-bottom: 1px solid rgba(255, 255, 255, .1);
  font-family: var(--e404-font-mono, 'Space Mono', monospace);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

body.cdm-carrito .shoping__checkout ul li a {
  margin-left: auto;
  color: rgba(244, 240, 232, .72);
  border-bottom: 1px solid rgba(237, 105, 75, .7);
  font-size: 10px;
  text-decoration: none;
}

body.cdm-carrito .shoping__checkout ul li a:hover {
  color: var(--cdm-coral);
}

body.cdm-carrito .shoping__checkout ul li span,
body.cdm-carrito .shoping__checkout .carrito__total {
  color: #fff;
  font-size: 13px;
  letter-spacing: 0;
}

body.cdm-carrito .shoping__checkout ul li:last-child {
  color: #fff;
  border-bottom: 0;
}

body.cdm-carrito .shoping__checkout ul li:last-child span {
  color: var(--cdm-coral);
  font-family: var(--e404-font-sans, 'Poppins', sans-serif);
  font-size: 28px;
  font-weight: 900;
  line-height: .9;
}

body.cdm-carrito .checkout-btn {
  width: 100%;
  min-height: 52px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border-radius: 0;
  text-decoration: none;
}

body.cdm-carrito .shoping__cart__btns {
  display: flex;
  gap: 10px;
  align-items: center;
  padding-top: 18px;
}

body.cdm-carrito .shoping__cart__btns .primary-btn {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 20px;
  border-radius: 0;
}

body.cdm-carrito .cdm-empty {
  margin-bottom: var(--cdm-sp-3);
  background: var(--cdm-paper);
  border: 1px solid rgba(20, 38, 61, .12);
  border-radius: 8px;
}

body.dark.cdm-carrito {
  --cdm-cream: #0d1c2e;
  --cdm-paper: #13263c;
  --cdm-text: rgba(244, 240, 232, .92);
  --cdm-text-soft: rgba(244, 240, 232, .72);
  --cdm-text-mute: rgba(244, 240, 232, .52);
  --cdm-line: rgba(244, 240, 232, .18);
  --cdm-line-soft: rgba(244, 240, 232, .12);
  background: #0d1c2e;
}

body.dark.cdm-carrito .cdm-carrito__section {
  background:
    linear-gradient(180deg, rgba(11, 23, 39, .92), rgba(13, 28, 46, 1) 240px),
    #0d1c2e !important;
}

body.dark.cdm-carrito .cdm-carrito__intro h1,
body.dark.cdm-carrito .cdm-carrito__resultbar strong,
body.dark.cdm-carrito .cdm-carrito__resultbar,
body.dark.cdm-carrito .fila__container .shoping__cart__info--nombre {
  color: #fff;
}

body.dark.cdm-carrito .cdm-carrito__intro p,
body.dark.cdm-carrito .cdm-carrito__resultbar p,
body.dark.cdm-carrito .cdm-carrito__resultbar span {
  color: rgba(244, 240, 232, .72);
}

body.dark.cdm-carrito .fila__container,
body.dark.cdm-carrito .cdm-empty {
  background: #13263c;
  border-color: rgba(244, 240, 232, .14);
}

body.dark.cdm-carrito .fila__container .shoping__cart__item img,
body.dark.cdm-carrito .fila__container .pro-qty {
  background: rgba(244, 240, 232, .06);
  border-color: rgba(244, 240, 232, .18);
}

body.dark.cdm-carrito .fila__container .shoping__cart__price,
body.dark.cdm-carrito .fila__container .pro-qty .qtybtn,
body.dark.cdm-carrito .fila__container .icon_close {
  color: rgba(244, 240, 232, .58);
}

body.dark.cdm-carrito .fila__container .pro-qty input {
  color: #fff;
}

@media (max-width: 991px) {
  .cdm-carrito__intro {
    grid-template-columns: 1fr;
    gap: 22px;
    margin-bottom: var(--cdm-sp-4);
  }

  .cdm-carrito__intro p {
    padding-left: 18px;
  }

  body.cdm-carrito .cart__products {
    padding-right: 15px;
  }

  body.cdm-carrito .cart__summary {
    position: static;
    margin-top: 24px;
  }

  body.cdm-carrito .shoping__cart__btns {
    flex-direction: column;
    align-items: stretch;
  }

  body.cdm-carrito .shoping__cart__btns .primary-btn {
    width: 100%;
  }
}

@media (max-width: 767px) {
  body.cdm-carrito .fila__container {
    align-items: flex-start;
    gap: 12px;
    padding: 12px;
  }

  body.cdm-carrito .fila__container .shoping__cart__item img {
    width: 68px;
    height: 68px;
  }

  body.cdm-carrito .fila__container > .shoping__cart__info {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  body.cdm-carrito .fila__container > .shoping__cart__info > div {
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 8px;
  }

  body.cdm-carrito .fila__container .shoping__cart__info--nombre {
    font-size: 13px;
  }

  body.cdm-carrito .fila__container .shoping__cart__price,
  body.cdm-carrito .fila__container .shoping__cart__total {
    font-size: 12px;
  }

  body.cdm-carrito .fila__container .pro-qty {
    width: 94px;
    height: 34px;
  }

  body.cdm-carrito .fila__container .pro-qty input,
  body.cdm-carrito .fila__container .pro-qty .qtybtn {
    width: 31px;
  }

  body.cdm-carrito .fila__container .icon_close {
    width: 34px;
    height: 34px;
    font-size: 15px;
  }
}

@media (max-width: 575px) {
  body.cdm-carrito .cdm-carrito__section {
    padding-top: 22px;
  }

  .cdm-carrito__intro h1 {
    font-size: 36px;
  }

  body.cdm-carrito .shoping__checkout {
    padding: 22px;
  }
}


/* =====================================================================
   == 33 · MIS COMPRAS OPERATIVO =======================================
   ===================================================================== */

body.cdm-miscompras {
  background: var(--cdm-cream);
}

body.cdm-miscompras .cdm-miscompras__section {
  padding-top: 31px;
  padding-bottom: var(--cdm-sp-6);
  background:
    linear-gradient(180deg, rgba(244, 240, 232, .92), rgba(244, 240, 232, 1) 240px),
    var(--cdm-cream);
}

.cdm-miscompras__intro {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(280px, .58fr);
  gap: clamp(32px, 6vw, 88px);
  align-items: end;
  margin-bottom: var(--cdm-sp-5);
  padding-top: 14px;
}

.cdm-miscompras__intro h1 {
  max-width: 850px;
  margin: 0;
  color: var(--cdm-navy);
  font-family: var(--e404-font-sans, 'Poppins', sans-serif);
  font-size: clamp(38px, 5.2vw, 76px);
  font-weight: 900;
  letter-spacing: 0;
  line-height: .9;
  text-transform: uppercase;
}

.cdm-miscompras__intro p {
  margin: 0;
  padding-left: 24px;
  border-left: 3px solid var(--cdm-coral);
  color: var(--cdm-text-soft);
  font-size: 16px;
  line-height: 1.7;
}

.cdm-miscompras__resultbar {
  margin-bottom: var(--cdm-sp-4);
}

body.cdm-miscompras .compras-alert {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: var(--cdm-sp-3);
  padding: 14px 16px;
  background: rgba(61, 122, 90, .1);
  border: 1px solid rgba(61, 122, 90, .22);
  border-radius: 8px;
  color: var(--cdm-success);
}

body.cdm-miscompras .compras-alert__close {
  margin-left: auto;
  padding: 0;
  background: transparent;
  border: 0;
  color: inherit;
  cursor: pointer;
}

body.cdm-miscompras .compras-table-wrap {
  overflow: hidden;
  background: var(--cdm-paper);
  border: 1px solid rgba(20, 38, 61, .12);
  border-radius: 8px;
}

body.cdm-miscompras .compras-table {
  width: 100%;
  margin: 0;
  background: transparent;
  border: 0;
  border-collapse: collapse;
}

body.cdm-miscompras .compras-table thead th {
  padding: 16px 18px;
  background: var(--cdm-navy);
  border: 0;
  color: #fff;
  font-family: var(--e404-font-mono, 'Space Mono', monospace);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .12em;
  line-height: 1.25;
  text-transform: uppercase;
  white-space: nowrap;
}

body.cdm-miscompras .compras-table tbody td,
body.cdm-miscompras .compras-table tfoot td {
  padding: 17px 18px;
  border: 0;
  border-bottom: 1px solid var(--cdm-line-soft);
  color: var(--cdm-text-soft);
  font-size: 14px;
  vertical-align: middle;
}

body.cdm-miscompras .compras-table tbody tr:hover {
  background: rgba(237, 105, 75, .04);
}

body.cdm-miscompras .compras-table tfoot td {
  background: var(--cdm-cream);
  color: var(--cdm-navy);
}

body.cdm-miscompras .compras-table__id,
body.cdm-miscompras .compras-table__total,
body.cdm-miscompras .compras-resumen-card__value--total {
  color: var(--cdm-coral);
  font-family: var(--e404-font-mono, 'Space Mono', monospace);
  font-weight: 900;
  letter-spacing: 0;
  white-space: nowrap;
}

body.cdm-miscompras .compras-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 27px;
  padding: 0 10px;
  background: var(--badge-color, var(--cdm-text-mute));
  border-radius: 6px;
  color: #fff;
  font-family: var(--e404-font-mono, 'Space Mono', monospace);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
  white-space: nowrap;
}

body.cdm-miscompras .compras-btn {
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 14px;
  border-radius: 0;
  font-family: var(--e404-font-mono, 'Space Mono', monospace);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .08em;
  line-height: 1.2;
  text-transform: uppercase;
  text-decoration: none;
  transition: var(--cdm-ease);
  white-space: nowrap;
}

body.cdm-miscompras .compras-btn--outline {
  background: transparent;
  border: 1px solid rgba(20, 38, 61, .18);
  color: var(--cdm-navy);
}

body.cdm-miscompras .compras-btn--outline:hover {
  background: var(--cdm-coral);
  border-color: var(--cdm-coral);
  color: #fff;
}

body.cdm-miscompras .compras-pagination {
  display: flex;
  justify-content: center;
  margin-top: var(--cdm-sp-4);
}

body.cdm-miscompras .cdm-empty {
  background: var(--cdm-paper);
  border: 1px solid rgba(20, 38, 61, .12);
  border-radius: 8px;
}

body.cdm-miscompras .compras-resumen-card {
  margin-bottom: var(--cdm-sp-4);
  padding: 0;
  background: var(--cdm-paper);
  border: 1px solid rgba(20, 38, 61, .12);
  border-radius: 8px;
}

body.cdm-miscompras .compras-resumen-card__row {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0;
}

body.cdm-miscompras .compras-resumen-card__col {
  min-width: 0;
  padding: 20px;
  border-right: 1px solid var(--cdm-line-soft);
}

body.cdm-miscompras .compras-resumen-card__col:last-child {
  border-right: 0;
}

body.cdm-miscompras .compras-resumen-card__label {
  display: block;
  margin-bottom: 8px;
  color: var(--cdm-text-mute);
  font-family: var(--e404-font-mono, 'Space Mono', monospace);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}

body.cdm-miscompras .compras-resumen-card__value {
  color: var(--cdm-navy);
  font-size: 15px;
  font-weight: 800;
}

body.cdm-miscompras .cdm-miscompras__actions {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: var(--cdm-sp-4);
}

body.cdm-miscompras .cdm-miscompras__actions .cdm-btn {
  min-height: 40px;
  padding: 0 16px;
}

body.dark.cdm-miscompras {
  --cdm-cream: #0d1c2e;
  --cdm-paper: #13263c;
  --cdm-text: rgba(244, 240, 232, .92);
  --cdm-text-soft: rgba(244, 240, 232, .72);
  --cdm-text-mute: rgba(244, 240, 232, .52);
  --cdm-line: rgba(244, 240, 232, .18);
  --cdm-line-soft: rgba(244, 240, 232, .12);
  background: #0d1c2e;
}

body.dark.cdm-miscompras .cdm-miscompras__section {
  background:
    linear-gradient(180deg, rgba(11, 23, 39, .92), rgba(13, 28, 46, 1) 240px),
    #0d1c2e !important;
}

body.dark.cdm-miscompras .cdm-miscompras__intro h1,
body.dark.cdm-miscompras .cdm-shop__resultbar strong,
body.dark.cdm-miscompras .cdm-shop__resultbar,
body.dark.cdm-miscompras .compras-resumen-card__value,
body.dark.cdm-miscompras .compras-table tfoot td,
body.dark.cdm-miscompras .compras-btn--outline {
  color: #fff;
}

body.dark.cdm-miscompras .cdm-miscompras__intro p,
body.dark.cdm-miscompras .cdm-shop__resultbar p,
body.dark.cdm-miscompras .cdm-shop__resultbar span,
body.dark.cdm-miscompras .compras-table tbody td {
  color: rgba(244, 240, 232, .72);
}

body.dark.cdm-miscompras .compras-table-wrap,
body.dark.cdm-miscompras .compras-resumen-card,
body.dark.cdm-miscompras .cdm-empty {
  background: #13263c;
  border-color: rgba(244, 240, 232, .14);
}

body.dark.cdm-miscompras .compras-table thead th {
  background: #0b1727;
}

body.dark.cdm-miscompras .compras-table tfoot td {
  background: rgba(244, 240, 232, .05);
}

body.dark.cdm-miscompras .compras-btn--outline {
  border-color: rgba(244, 240, 232, .22);
}

@media (max-width: 991px) {
  .cdm-miscompras__intro {
    grid-template-columns: 1fr;
    gap: 22px;
    margin-bottom: var(--cdm-sp-4);
  }

  .cdm-miscompras__intro p {
    padding-left: 18px;
  }

  body.cdm-miscompras .compras-resumen-card__row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.cdm-miscompras .compras-resumen-card__col {
    border-bottom: 1px solid var(--cdm-line-soft);
  }
}

@media (max-width: 767px) {
  body.cdm-miscompras .compras-table-wrap {
    overflow: visible;
    background: transparent;
    border: 0;
  }

  body.cdm-miscompras .compras-table,
  body.cdm-miscompras .compras-table thead,
  body.cdm-miscompras .compras-table tbody,
  body.cdm-miscompras .compras-table tfoot,
  body.cdm-miscompras .compras-table tr,
  body.cdm-miscompras .compras-table td {
    display: block;
    width: 100%;
  }

  body.cdm-miscompras .compras-table thead {
    display: none;
  }

  body.cdm-miscompras .compras-table tbody tr,
  body.cdm-miscompras .compras-table tfoot tr {
    margin-bottom: 12px;
    padding: 14px;
    background: var(--cdm-paper);
    border: 1px solid rgba(20, 38, 61, .12);
    border-radius: 8px;
  }

  body.dark.cdm-miscompras .compras-table tbody tr,
  body.dark.cdm-miscompras .compras-table tfoot tr {
    background: #13263c;
    border-color: rgba(244, 240, 232, .14);
  }

  body.cdm-miscompras .compras-table tbody td,
  body.cdm-miscompras .compras-table tfoot td {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 10px 0;
    border-bottom: 1px solid var(--cdm-line-soft);
    text-align: right !important;
  }

  body.cdm-miscompras .compras-table tbody td::before {
    content: attr(data-label);
    color: var(--cdm-text-mute);
    font-family: var(--e404-font-mono, 'Space Mono', monospace);
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .11em;
    text-align: left;
    text-transform: uppercase;
  }

  body.cdm-miscompras .compras-table tbody td:last-child,
  body.cdm-miscompras .compras-table tfoot td:last-child {
    border-bottom: 0;
  }

  body.cdm-miscompras .compras-btn {
    width: 100%;
  }

  body.cdm-miscompras .compras-resumen-card__row {
    grid-template-columns: 1fr;
  }

  body.cdm-miscompras .compras-resumen-card__col {
    border-right: 0;
  }

  body.cdm-miscompras .cdm-miscompras__actions {
    flex-direction: column;
    align-items: stretch;
  }

  body.cdm-miscompras .cdm-miscompras__actions .cdm-btn {
    width: 100%;
  }
}

@media (max-width: 575px) {
  body.cdm-miscompras .cdm-miscompras__section {
    padding-top: 22px;
  }

  .cdm-miscompras__intro h1 {
    font-size: 36px;
  }

  body.cdm-miscompras .cdm-shop__resultbar {
    margin-bottom: var(--cdm-sp-3);
  }
}


/* =====================================================================
   == 34 · DETALLE DE PRODUCTO OPERATIVO ===============================
   ===================================================================== */

body.cdm-product-detail {
  background: var(--cdm-cream);
}

body.cdm-product-detail .cdm-product-detail__section {
  padding-top: 31px;
  padding-bottom: var(--cdm-sp-6);
  background:
    linear-gradient(180deg, rgba(244, 240, 232, .92), rgba(244, 240, 232, 1) 240px),
    var(--cdm-cream);
}

.cdm-product-detail__layout {
  display: grid;
  grid-template-columns: minmax(0, 1.06fr) minmax(360px, .94fr);
  gap: clamp(26px, 5vw, 72px);
  align-items: start;
}

.cdm-product-detail__gallery {
  min-width: 0;
}

body.cdm-product-detail .product__details__pic {
  position: sticky;
  top: 132px;
}

body.cdm-product-detail .product__details__pic__item {
  overflow: hidden;
  background: var(--cdm-paper);
  border: 1px solid rgba(20, 38, 61, .12);
  border-radius: 8px;
}

body.cdm-product-detail .product__details__pic__item--large {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: contain;
  background: var(--cdm-cream);
}

body.cdm-product-detail .product-placeholder--detail {
  min-height: 520px;
  display: grid;
  place-items: center;
}

.cdm-product-detail__thumbs {
  position: relative;
  margin-top: var(--cdm-sp-2);
  padding: 0 52px;
}

body.cdm-product-detail .product__details__pic__slider {
  margin-top: 0;
}

body.cdm-product-detail .product__details__pic__slider .owl-stage-outer {
  overflow: hidden;
}

body.cdm-product-detail .product__details__pic__slider img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  background: var(--cdm-paper);
  border: 1px solid rgba(20, 38, 61, .12);
  border-radius: 8px;
}

body.cdm-product-detail .product__details__pic__slider .owl-nav {
  position: absolute;
  inset: 50% -52px auto -52px;
  z-index: 2;
  display: flex;
  justify-content: space-between;
  transform: translateY(-50%);
  pointer-events: none;
}

body.cdm-product-detail .product__details__pic__slider .owl-nav button {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  background: var(--cdm-paper) !important;
  border: 1px solid rgba(20, 38, 61, .14) !important;
  border-radius: 8px;
  color: var(--cdm-navy) !important;
  box-shadow: 0 8px 22px rgba(11, 23, 39, .08);
  pointer-events: auto;
  transition: var(--cdm-ease);
}

body.cdm-product-detail .product__details__pic__slider .owl-nav button:hover {
  background: var(--cdm-coral) !important;
  border-color: var(--cdm-coral) !important;
  color: #fff !important;
}

body.cdm-product-detail .product__details__pic__slider .owl-dots {
  margin-top: 12px;
  text-align: center;
}

body.cdm-product-detail .product__details__pic__slider .owl-dot span {
  width: 7px;
  height: 7px;
  background: rgba(20, 38, 61, .22);
}

body.cdm-product-detail .product__details__pic__slider .owl-dot.active span {
  background: var(--cdm-coral);
}

.cdm-product-detail__summary {
  min-width: 0;
}

body.cdm-product-detail .product__details__text {
  padding: clamp(24px, 3.8vw, 46px);
  background: var(--cdm-paper);
  border: 1px solid rgba(20, 38, 61, .12);
  border-radius: 8px;
}

body.cdm-product-detail .product__details__text .cdm-label {
  margin-bottom: 18px;
}

body.cdm-product-detail .product__details__text h1,
body.cdm-product-detail .product__details__text h3 {
  margin: 0 0 var(--cdm-sp-3);
  color: var(--cdm-navy);
  font-family: var(--e404-font-sans, 'Poppins', sans-serif);
  font-size: clamp(34px, 4.5vw, 64px);
  font-weight: 900;
  letter-spacing: 0;
  line-height: .9;
  text-transform: uppercase;
}

body.cdm-product-detail .product__details__price {
  margin-bottom: var(--cdm-sp-3);
  padding-bottom: var(--cdm-sp-3);
  color: var(--cdm-coral);
  border-bottom: 1px solid var(--cdm-line);
  font-family: var(--e404-font-sans, 'Poppins', sans-serif);
  font-size: clamp(30px, 4vw, 46px);
  font-weight: 900;
  letter-spacing: 0;
  line-height: 1;
}

body.cdm-product-detail .product__details__text > p {
  margin-bottom: 0;
  color: var(--cdm-text-soft);
  font-size: 16px;
  line-height: 1.7;
}

body.cdm-product-detail .product__details__actions {
  display: grid;
  grid-template-columns: auto minmax(210px, 1fr) 48px;
  gap: 10px;
  align-items: stretch;
  margin: var(--cdm-sp-4) 0 var(--cdm-sp-2);
}

body.cdm-product-detail .pro-qty-detail {
  height: 52px;
  display: flex;
  align-items: center;
  overflow: hidden;
  background: var(--cdm-cream);
  border: 1px solid rgba(20, 38, 61, .14);
  border-radius: 0;
}

body.cdm-product-detail .pro-qty-detail .qtybtn {
  width: 42px;
  height: 100%;
  color: rgba(20, 38, 61, .62);
  font-family: var(--e404-font-mono, 'Space Mono', monospace);
  font-size: 14px;
  font-weight: 900;
}

body.cdm-product-detail .pro-qty-detail .qtybtn:hover {
  background: rgba(237, 105, 75, .08);
  color: var(--cdm-coral);
}

body.cdm-product-detail .pro-qty-detail input {
  width: 42px;
  height: 100%;
  padding: 0;
  color: var(--cdm-navy);
  font-family: var(--e404-font-mono, 'Space Mono', monospace);
  font-size: 13px;
  font-weight: 900;
  background: transparent;
  border-color: rgba(20, 38, 61, .14);
}

body.cdm-product-detail .pro-qty-detail:has(.product__card__quantity-input--error) {
  border-color: var(--cdm-coral);
  box-shadow: 0 0 0 3px rgba(237, 105, 75, .14);
}

body.cdm-product-detail .item-detail-add-cart,
body.cdm-product-detail .primary-btn-disabled {
  min-height: 52px;
  width: 100%;
  padding: 0 22px;
  background: var(--cdm-navy);
  border-color: var(--cdm-navy);
  color: #fff;
  text-align: center;
  text-decoration: none;
}

body.cdm-product-detail .item-detail-add-cart:hover,
body.cdm-product-detail .item-detail-add-cart:focus {
  background: var(--cdm-coral);
  border-color: var(--cdm-coral);
  color: #fff;
}

body.cdm-product-detail .primary-btn-disabled {
  background: var(--cdm-line-soft);
  border-color: var(--cdm-line-soft);
  color: var(--cdm-text-mute);
}

body.cdm-product-detail .cdm-product-detail__fav {
  width: 52px;
  height: 52px;
  border-radius: 0;
}

body.cdm-product-detail .product__details__actions .product__card__quantity-warning {
  grid-column: 1 / -1;
  margin-top: 0;
  text-align: left;
}

body.cdm-product-detail .product__details__wa {
  min-height: 50px;
  margin: 0 0 var(--cdm-sp-4);
  border-radius: 0;
  text-decoration: none;
}

body.cdm-product-detail .cdm-product-detail__meta {
  list-style: none;
  margin: 0 0 var(--cdm-sp-4);
  padding: 0;
  border-top: 1px solid var(--cdm-line-soft);
}

body.cdm-product-detail .cdm-product-detail__meta > li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--cdm-sp-2);
  padding: 14px 0;
  border-bottom: 1px solid var(--cdm-line-soft);
  color: var(--cdm-text-soft);
  font-size: 14px;
}

body.cdm-product-detail .cdm-product-detail__meta > li b {
  min-width: 130px;
  color: var(--cdm-navy);
  font-family: var(--e404-font-mono, 'Space Mono', monospace);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .13em;
  text-transform: uppercase;
}

body.cdm-product-detail .product__details__text .share {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

body.cdm-product-detail .product__details__text .share a {
  width: 38px;
  height: 38px;
  display: inline-grid;
  place-items: center;
  margin: 0;
  background: var(--cdm-cream);
  border: 1px solid rgba(20, 38, 61, .14);
  border-radius: 8px;
  color: var(--cdm-navy);
  font-size: 17px;
  text-decoration: none;
  transition: var(--cdm-ease);
}

body.cdm-product-detail .product__details__text .share button {
  width: 38px;
  height: 38px;
  display: inline-grid;
  place-items: center;
  margin: 0;
  padding: 0;
  background: var(--cdm-cream);
  border: 1px solid rgba(20, 38, 61, .14);
  border-radius: 8px;
  color: var(--cdm-navy);
  font-size: 17px;
  cursor: pointer;
  transition: var(--cdm-ease);
}

body.cdm-product-detail .product__details__text .share a:hover {
  background: var(--cdm-coral);
  border-color: var(--cdm-coral);
  color: #fff;
}

body.cdm-product-detail .product__details__text .share button:hover,
body.cdm-product-detail .product__details__text .share button:focus {
  background: var(--cdm-coral);
  border-color: var(--cdm-coral);
  color: #fff;
  outline: none;
}

.cdm-share-modal .modal-content {
  overflow: hidden;
  background: var(--cdm-paper);
  border: 0;
  border-radius: 8px;
  box-shadow: 0 18px 52px rgba(11, 23, 39, .22);
}

.cdm-share-modal__header {
  display: grid;
  grid-template-columns: 46px 1fr auto;
  gap: 14px;
  align-items: center;
  padding: 20px 22px;
  background: var(--cdm-navy);
  color: #fff;
}

.cdm-share-modal__icon {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  background: rgba(255, 255, 255, .1);
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: 8px;
  color: var(--cdm-coral);
  font-size: 20px;
}

.cdm-share-modal__header span {
  display: block;
  margin-bottom: 5px;
  color: var(--cdm-coral);
  font-family: var(--e404-font-mono, 'Space Mono', monospace);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .14em;
  line-height: 1.2;
  text-transform: uppercase;
}

.cdm-share-modal__header h5 {
  margin: 0;
  color: #fff;
  font-family: var(--e404-font-sans, 'Poppins', sans-serif);
  font-size: 21px;
  font-weight: 900;
  letter-spacing: 0;
  line-height: 1.05;
}

.cdm-share-modal__close {
  color: #fff;
  text-shadow: none;
  opacity: .78;
}

.cdm-share-modal__close:hover {
  color: #fff;
  opacity: 1;
}

.cdm-share-modal__body {
  padding: 24px 22px;
  background: var(--cdm-paper);
}

.cdm-share-modal__body strong {
  display: block;
  margin-bottom: 10px;
  color: var(--cdm-navy);
  font-family: var(--e404-font-sans, 'Poppins', sans-serif);
  font-size: 18px;
  font-weight: 900;
  line-height: 1.25;
}

.cdm-share-modal__body p {
  margin: 0 0 16px;
  color: var(--cdm-text-soft);
  font-size: 14px;
  line-height: 1.6;
}

.cdm-share-modal__link {
  padding: 12px 14px;
  background: var(--cdm-cream);
  border: 1px solid rgba(20, 38, 61, .12);
  border-radius: 8px;
  color: var(--cdm-text-soft);
  font-family: var(--e404-font-mono, 'Space Mono', monospace);
  font-size: 11px;
  font-weight: 700;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.cdm-share-modal__footer {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  padding: 0 22px 22px;
  background: var(--cdm-paper);
}

.cdm-share-modal__btn {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 18px;
  border: 1px solid transparent;
  border-radius: 0;
  font-family: var(--e404-font-mono, 'Space Mono', monospace);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .1em;
  text-transform: uppercase;
  text-decoration: none;
  cursor: pointer;
  transition: var(--cdm-ease);
}

.cdm-share-modal__btn--primary {
  background: var(--cdm-coral);
  border-color: var(--cdm-coral);
  color: #fff;
}

.cdm-share-modal__btn--primary:hover {
  background: var(--cdm-navy);
  border-color: var(--cdm-navy);
  color: #fff;
}

.cdm-share-modal__btn--ghost {
  background: transparent;
  border-color: rgba(20, 38, 61, .18);
  color: var(--cdm-navy);
}

.cdm-share-modal__btn--ghost:hover {
  border-color: var(--cdm-coral);
  color: var(--cdm-coral);
}

body.cdm-product-detail .product__details__tab {
  margin-top: var(--cdm-sp-4);
  padding-top: var(--cdm-sp-3);
  border-top: 1px solid var(--cdm-line-soft);
}

body.cdm-product-detail .product__details__tab .nav-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
}

body.cdm-product-detail .product__details__tab .nav-tabs .nav-item {
  flex: 1 1 auto;
  text-align: center;
}

body.cdm-product-detail .product__details__tab .nav-tabs .nav-link {
  min-height: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 14px;
  background: var(--cdm-cream);
  border: 1px solid rgba(20, 38, 61, .12);
  border-radius: 8px;
  color: var(--cdm-text-mute);
  font-family: var(--e404-font-mono, 'Space Mono', monospace);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .1em;
  text-transform: uppercase;
}

body.cdm-product-detail .product__details__tab .nav-tabs .nav-link.active {
  background: var(--cdm-navy);
  border-color: var(--cdm-navy);
  color: #fff;
}

body.cdm-product-detail .product__details__tab .tab-content {
  margin-top: 12px;
  padding: clamp(18px, 2.4vw, 28px);
  background: var(--cdm-cream);
  border: 1px solid rgba(20, 38, 61, .12);
  border-radius: 8px;
}

body.cdm-product-detail .product__details__tab__desc {
  padding-top: 0;
}

body.cdm-product-detail .product__details__tab__desc h6 {
  margin: 0 0 14px;
  color: var(--cdm-coral);
  font-family: var(--e404-font-mono, 'Space Mono', monospace);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .14em;
  line-height: 1.3;
  text-transform: uppercase;
}

body.cdm-product-detail .product__details__tab__desc p {
  margin-bottom: 0;
  color: var(--cdm-text-soft);
  font-size: 15px;
  line-height: 1.75;
}

body.cdm-product-detail .product__details__tab__desc .form-control {
  background: var(--cdm-paper);
  border-color: rgba(20, 38, 61, .14);
  border-radius: 0;
  color: var(--cdm-text);
}

body.cdm-product-detail .resenas-form {
  padding: 18px;
  background: var(--cdm-paper);
  border-color: rgba(20, 38, 61, .12);
  border-radius: 8px;
}

body.cdm-product-detail .resena-item {
  padding: 18px 0;
}

body.cdm-product-detail .cdm-product-detail__related {
  padding: 0 0 var(--cdm-sp-6);
  background: var(--cdm-cream);
}

body.cdm-product-detail .related__product__title {
  margin-bottom: var(--cdm-sp-4);
  padding-top: var(--cdm-sp-4);
  border-top: 1px solid rgba(20, 38, 61, .12);
  text-align: left;
}

body.cdm-product-detail .related__product__title .cdm-label {
  justify-content: flex-start;
  margin-bottom: 12px;
}

body.cdm-product-detail .related__product__title h2 {
  margin: 0;
  color: var(--cdm-navy);
  font-family: var(--e404-font-sans, 'Poppins', sans-serif);
  font-size: clamp(26px, 3vw, 42px);
  font-weight: 900;
  letter-spacing: 0;
  line-height: .95;
  text-transform: uppercase;
}

body.dark.cdm-product-detail {
  --cdm-cream: #0d1c2e;
  --cdm-paper: #13263c;
  --cdm-text: rgba(244, 240, 232, .92);
  --cdm-text-soft: rgba(244, 240, 232, .72);
  --cdm-text-mute: rgba(244, 240, 232, .52);
  --cdm-line: rgba(244, 240, 232, .18);
  --cdm-line-soft: rgba(244, 240, 232, .12);
  background: #0d1c2e;
}

body.dark.cdm-product-detail .cdm-product-detail__section,
body.dark.cdm-product-detail .cdm-product-detail__related {
  background:
    linear-gradient(180deg, rgba(11, 23, 39, .92), rgba(13, 28, 46, 1) 240px),
    #0d1c2e !important;
}

body.dark.cdm-product-detail .product__details__text h1,
body.dark.cdm-product-detail .product__details__text h3,
body.dark.cdm-product-detail .cdm-product-detail__meta > li b,
body.dark.cdm-product-detail .related__product__title h2,
body.dark.cdm-product-detail .resena-item__author {
  color: #fff;
}

body.dark.cdm-product-detail .product__details__text,
body.dark.cdm-product-detail .product__details__pic__item {
  background: #13263c;
  border-color: rgba(244, 240, 232, .14);
}

body.dark.cdm-product-detail .product__details__pic__item--large,
body.dark.cdm-product-detail .pro-qty-detail,
body.dark.cdm-product-detail .product__details__tab__desc .form-control,
body.dark.cdm-product-detail .resenas-form,
body.dark.cdm-product-detail .product__details__text .share a,
body.dark.cdm-product-detail .product__details__text .share button,
body.dark.cdm-product-detail .cdm-share-modal__link {
  background: rgba(244, 240, 232, .06);
  border-color: rgba(244, 240, 232, .18);
}

body.dark.cdm-product-detail .product__details__tab .nav-tabs {
  background: transparent;
  border: 0;
}

body.dark.cdm-product-detail .product__details__tab .nav-tabs .nav-link,
body.dark.cdm-product-detail .product__details__tab .tab-content {
  background: rgba(244, 240, 232, .06);
  border-color: rgba(244, 240, 232, .16);
}

body.dark.cdm-product-detail .product__details__tab .nav-tabs .nav-link {
  color: rgba(244, 240, 232, .62);
}

body.dark.cdm-product-detail .product__details__tab__desc .form-control,
body.dark.cdm-product-detail .resenas-form {
  background: rgba(244, 240, 232, .05);
}

body.dark.cdm-product-detail .product__details__pic__slider img {
  background: #13263c;
  border-color: rgba(244, 240, 232, .14);
}

body.dark.cdm-product-detail .pro-qty-detail .qtybtn,
body.dark.cdm-product-detail .product__details__text .share a,
body.dark.cdm-product-detail .product__details__text .share button {
  color: rgba(244, 240, 232, .72);
}

body.dark.cdm-product-detail .pro-qty-detail input,
body.dark.cdm-product-detail .product__details__tab__desc .form-control {
  color: #fff;
}

body.dark.cdm-product-detail .item-detail-add-cart {
  background: var(--cdm-coral);
  border-color: var(--cdm-coral);
  color: #fff;
}

body.dark.cdm-product-detail .item-detail-add-cart:hover,
body.dark.cdm-product-detail .item-detail-add-cart:focus {
  background: #fff;
  border-color: #fff;
  color: var(--cdm-ink);
}

body.dark.cdm-product-detail .product__details__tab .nav-tabs .nav-link.active,
body.dark.cdm-product-detail .product__details__pic__slider .owl-nav button:hover,
body.dark.cdm-product-detail .product__details__text .share button:hover,
body.dark.cdm-product-detail .product__details__text .share button:focus {
  background: var(--cdm-coral) !important;
  color: #fff !important;
}

body.dark.cdm-product-detail .cdm-share-modal .modal-content,
body.dark.cdm-product-detail .cdm-share-modal__body,
body.dark.cdm-product-detail .cdm-share-modal__footer {
  background: #13263c;
}

body.dark.cdm-product-detail .cdm-share-modal__body strong {
  color: #fff;
}

body.dark.cdm-product-detail .cdm-share-modal__body p,
body.dark.cdm-product-detail .cdm-share-modal__link {
  color: rgba(244, 240, 232, .72);
}

body.dark.cdm-product-detail .cdm-share-modal__btn--ghost {
  border-color: rgba(244, 240, 232, .22);
  color: #fff;
}

body.dark.cdm-product-detail .cdm-share-modal__btn--ghost:hover {
  border-color: var(--cdm-coral);
  color: var(--cdm-coral);
}

body.dark.cdm-product-detail .product__details__pic__slider .owl-nav button {
  background: #13263c !important;
  border-color: rgba(244, 240, 232, .18) !important;
  color: #fff !important;
}

@media (max-width: 991px) {
  body.cdm-product-detail .cdm-product-detail__section {
    padding-top: 22px;
  }

  .cdm-product-detail__layout {
    grid-template-columns: 1fr;
    gap: var(--cdm-sp-4);
  }

  body.cdm-product-detail .product__details__pic {
    position: static;
  }

  body.cdm-product-detail .product__details__text {
    padding: 28px;
  }
}

@media (max-width: 575px) {
  body.cdm-product-detail .product__details__text {
    padding: 22px;
  }

  body.cdm-product-detail .product__details__text h1 {
    font-size: 34px;
  }

  body.cdm-product-detail .product__details__actions {
    grid-template-columns: 1fr 52px;
  }

  body.cdm-product-detail .product__details__quantity,
  body.cdm-product-detail .item-detail-add-cart,
  body.cdm-product-detail .primary-btn-disabled,
  body.cdm-product-detail .product__details__actions .product__card__quantity-warning {
    grid-column: 1 / -1;
  }

  body.cdm-product-detail .pro-qty-detail {
    width: 100%;
    justify-content: space-between;
  }

  body.cdm-product-detail .pro-qty-detail input {
    flex: 1 1 auto;
  }

  body.cdm-product-detail .cdm-product-detail__fav {
    grid-column: 2;
    grid-row: 2;
  }

  body.cdm-product-detail .item-detail-add-cart,
  body.cdm-product-detail .primary-btn-disabled {
    grid-column: 1;
    grid-row: 2;
    min-width: 0;
    padding: 0 14px;
    font-size: 9px;
  }

  body.cdm-product-detail .cdm-product-detail__meta > li {
    align-items: flex-start;
    flex-direction: column;
  }

  .cdm-product-detail__thumbs {
    padding: 0 44px;
  }

  body.cdm-product-detail .product__details__pic__slider .owl-nav {
    left: -44px;
    right: -44px;
  }

  body.cdm-product-detail .product__details__pic__slider .owl-nav button {
    width: 36px;
    height: 36px;
  }

  body.cdm-product-detail .product__details__tab .nav-tabs .nav-item {
    flex-basis: 100%;
  }

  .cdm-share-modal__footer {
    flex-direction: column;
  }

  .cdm-share-modal__btn {
    width: 100%;
  }
}
