/*
 * theme.css — Estilos globales del tema · Fundación MF
 * ─────────────────────────────────────────────────────────────────────────
 * Se carga en TODAS las páginas del sitio.
 * Para estilos exclusivos de la portada ver assets/css/home.css
 *
 * ORGANIZACIÓN:
 *   1. Variables CSS globales (footer, cart, header)
 *   2. Header — ajustes del carrito y badge de cantidad
 *   3. Offcanvas Cart — panel lateral del carrito
 *   4. Footer
 *   5. Botón volver arriba
 * ─────────────────────────────────────────────────────────────────────────
 */


/* ═══════════════════════════════════════════════════════════════════════
   1. VARIABLES CSS GLOBALES
   ════════════════════════════════════════════════════════════════════════ */
:root {

  /* ── Footer ──────────────────────────────────────────────────────── */
  /* TODO: ajustar al color de marca definitivo                         */
  --fmf-footer-bg:            #1a1f2e;     /* fondo de la zona superior  */
  --fmf-footer-text:          #a0aab8;     /* color del texto general    */
  --fmf-footer-heading:       #ffffff;     /* color de títulos de columna */
  --fmf-footer-link:          #a0aab8;     /* color de links             */
  --fmf-footer-link-hover:    #ffffff;     /* color de links en hover    */
  --fmf-footer-bottom-bg:     #12161f;     /* fondo de la barra inferior */
  --fmf-footer-bottom-text:   #6c757d;     /* texto de la barra inferior */
  --fmf-footer-social-bg:     rgba(255,255,255,.08);  /* fondo íconos sociales  */
  --fmf-footer-social-hover:  var(--fmf-color-primary, #b80c09);

  /* ── Carrito offcanvas ───────────────────────────────────────────── */
  --fmf-cart-width:           400px;       /* ancho del panel            */
  --fmf-cart-header-bg:       #f8f9fa;
  --fmf-cart-footer-bg:       #f8f9fa;
  --fmf-cart-badge-bg:        #b80c09;     /* color del badge de cantidad */

  /* ── Tipografía (compartidas con home.css si se carga sola)         */
  --fmf-font-heading: 'Ubuntu',sans-serif !important;
  --fmf-font-body:    'Ubuntu',sans-serif !important;
}


/* ═══════════════════════════════════════════════════════════════════════
   2. HEADER — CARRITO Y BADGE DE CANTIDAD
   ════════════════════════════════════════════════════════════════════════ */

/*
 * El botón de carrito ya existe en Bootscore (.cart-toggler).
 * Aquí ajustamos el badge rojo de cantidad para que se vea correctamente.
 */

/* Badge de cantidad sobre el ícono del carrito */
.cart-content-count {
  font-family: var(--fmf-font-body);
  font-size: 0.65rem;
  font-weight: 700;
  min-width: 18px;
  height: 18px;
  padding: 0 4px;
  line-height: 18px;
  text-align: center;
  background-color: var(--fmf-cart-badge-bg) !important;
  border: 2px solid #fff;
}

/* Total del carrito en el header (visible en ≥ md) */
.cart-total {
  font-family: var(--fmf-font-body);
  font-size: 0.85rem;
  font-weight: 600;
}

/* Botón del carrito en el header: asegura posición relativa para el badge */
.cart-toggler {
  position: relative;
}


/* ═══════════════════════════════════════════════════════════════════════
   3. OFFCANVAS CART — PANEL LATERAL DEL CARRITO
   ════════════════════════════════════════════════════════════════════════ */

/* Ancho del panel */
#offcanvas-cart {
  width: var(--fmf-cart-width);
  max-width: 100vw;
}

/* Header del offcanvas */
#offcanvas-cart .offcanvas-header {
  background-color: var(--fmf-cart-header-bg);
  border-bottom: 1px solid rgba(0,0,0,.08);
  padding: 1rem 1.25rem;
}

#offcanvas-cart .offcanvas-title {
  font-family: var(--fmf-font-heading);
  font-size: 1.1rem;
  font-weight: 600;
}

/* Body del offcanvas — scrollea él mismo, sin scroll interno en la lista */
#offcanvas-cart .offcanvas-body {
  padding: 0;
  overflow-y: auto;       /* scroll único aquí, no en hijos */
  overflow-x: hidden;
}

#offcanvas-cart .cart-list {
  padding: 0;  /* sin flex:1 ni overflow propio */
}

/* Item individual del carrito */
#offcanvas-cart .woocommerce-mini-cart-item {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 0.85rem 0;
  border-bottom: 1px solid rgba(0,0,0,.06);
}

#offcanvas-cart .woocommerce-mini-cart-item:last-child {
  border-bottom: none;
}

/* Imagen del producto en el carrito */
#offcanvas-cart .woocommerce-mini-cart-item img {
  xwidth: 64px;
  xheight: 64px;
  object-fit: cover;
  border-radius: 0.5rem;
  flex-shrink: 0;
}

/* Nombre del producto — recorte a 2 líneas */
#offcanvas-cart .woocommerce-mini-cart-item a:not(.remove_from_cart_button) {
  font-family: var(--fmf-font-body);
  font-size: 0.88rem;
  font-weight: 600;
  color: #212529;
  text-decoration: none;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  line-height: 1.35;
  max-width: 200px;
}

#offcanvas-cart .woocommerce-mini-cart-item a:not(.remove_from_cart_button):hover {
  color: var(--fmf-footer-social-hover);
}

/* Precio y cantidad en el carrito */
#offcanvas-cart .woocommerce-mini-cart-item .quantity {
  font-family: var(--fmf-font-body);
  font-size: 0.85rem;
  color: #6c757d;
  margin-top: 0.25rem;
}

/* Botón eliminar del carrito (×) */
#offcanvas-cart .remove_from_cart_button {
  color: #adb5bd;
  font-size: 1.2rem;
  line-height: 1;
  transition: color 0.15s ease;
  text-decoration: none;
  margin-left: auto;
}

#offcanvas-cart .remove_from_cart_button:hover {
  color: #dc3545;
}

/* Footer del offcanvas con subtotal y botones */
#offcanvas-cart .cart-footer {
  background-color: var(--fmf-cart-footer-bg);
  border-top: 1px solid rgba(0,0,0,.08);
  padding: 0 !important;
}

/* Subtotal */
#offcanvas-cart .woocommerce-mini-cart__total {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  font-family: var(--fmf-font-body);
  font-weight: 600;
  font-size: 1rem;
  margin-bottom: 1rem;
}

#offcanvas-cart .woocommerce-mini-cart__total .woocommerce-Price-amount {
  font-size: 1.2rem;
  color: #212529;
}

/* Botones del footer del carrito (Ver carrito / Finalizar compra) */
#offcanvas-cart .woocommerce-mini-cart__buttons {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

#offcanvas-cart .woocommerce-mini-cart__buttons .button {
  display: block;
  width: 100%;
  text-align: center;
  padding: 0.6rem 1rem;
  font-family: var(--fmf-font-body);
  font-weight: 600;
  font-size: 0.9rem;
  border-radius: 0.375rem;
  text-decoration: none;
  transition: background-color 0.15s ease, border-color 0.15s ease;
}

/* Botón "Ver carrito" — secundario */
#offcanvas-cart .woocommerce-mini-cart__buttons .button:not(.checkout) {
  background-color: transparent;
  border: 1px solid #ced4da;
  color: #212529;
}

#offcanvas-cart .woocommerce-mini-cart__buttons .button:not(.checkout):hover {
  background-color: #f1f3f5;
  border-color: #adb5bd;
}

/* Botón "Finalizar compra" — primario */
#offcanvas-cart .woocommerce-mini-cart__buttons .checkout {
  background-color: var(--fmf-footer-social-hover, #0d6efd);
  border: 1px solid transparent;
  color: #ffffff;
}

#offcanvas-cart .woocommerce-mini-cart__buttons .checkout:hover {
  filter: brightness(0.92);
}

/* Mensaje carrito vacío */
#offcanvas-cart .woocommerce-mini-cart__empty-message {
  font-family: var(--fmf-font-body);
  font-size: 0.95rem;
  text-align: center;
  color: #6c757d;
  padding: 2rem 1rem;
}

/* Campo de cantidad en el mini-cart (ajuste de tamaño) */
#offcanvas-cart .woocommerce-quantity-input,
#offcanvas-cart .qty {
  max-width: 60px;
  padding: 0.2rem 0.4rem;
  font-size: 0.85rem;
}


/* ═══════════════════════════════════════════════════════════════════════
   4. FOOTER
   ════════════════════════════════════════════════════════════════════════ */

.fmf-footer {
  font-family: var(--fmf-font-body);
}

/* ── Zona superior ─────────────────────────────────────────────────── */

.fmf-footer-top {
  background-color: var(--fmf-footer-bg);
  color: var(--fmf-footer-text);
  padding: 4rem 0 3rem;
}

/* Logo del footer */
.fmf-footer-logo__img {
  height: 40px;
  width: auto;
  /* TODO: si el logo no se ve sobre fondo oscuro, aplicar filtro:
     filter: brightness(0) invert(1);  */
}

/* Descripción */
.fmf-footer__desc {
  color: var(--fmf-footer-text) !important;
  font-size: 0.9rem;
  line-height: 1.7;
  max-width: 320px;
}

/* Títulos de columna */
.fmf-footer__heading {
  font-family: var(--fmf-font-heading);
  font-size: 1rem;
  font-weight: 600;
  color: var(--fmf-footer-heading);
  margin-bottom: 1.25rem;
  letter-spacing: 0.02em;
}

/* Listas de navegación */
.fmf-footer__nav li {
  margin-bottom: 0.6rem;
}

.fmf-footer__nav a {
  font-size: 0.9rem;
  color: var(--fmf-footer-link);
  text-decoration: none;
  transition: color 0.15s ease, padding-left 0.15s ease;
  display: inline-block;
}

.fmf-footer__nav a:hover {
  color: var(--fmf-footer-link-hover);
  padding-left: 4px;
}

/* Datos de contacto */
.fmf-footer__contact li {
  font-size: 0.9rem;
  color: var(--fmf-footer-text);
}

.fmf-footer__contact a {
  color: var(--fmf-footer-text);
  text-decoration: none;
  transition: color 0.15s ease;
}

.fmf-footer__contact a:hover {
  color: var(--fmf-footer-link-hover);
}

/* Íconos de redes sociales */
.fmf-footer__social-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background-color: var(--fmf-footer-social-bg);
  color: var(--fmf-footer-text);
  text-decoration: none;
  font-size: 0.85rem;
  transition: background-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.fmf-footer__social-link:hover {
  background-color: var(--fmf-footer-social-hover);
  color: #fff;
  transform: translateY(-2px);
}

/* ── Barra inferior ────────────────────────────────────────────────── */

.fmf-footer-bottom {
  background-color: var(--fmf-footer-bottom-bg);
  color: var(--fmf-footer-bottom-text);
  padding: 0.9rem 0;
  border-top: 1px solid rgba(255,255,255,.05);
}

.fmf-footer-bottom__copy {
  font-size: 0.82rem;
  color: var(--fmf-footer-bottom-text);
}

.fmf-footer-bottom__links a {
  font-size: 0.82rem;
  color: var(--fmf-footer-bottom-text);
  text-decoration: none;
  transition: color 0.15s ease;
}

.fmf-footer-bottom__links a:hover {
  color: #ffffff;
}


/* ═══════════════════════════════════════════════════════════════════════
   5. LIVE SEARCH — buscador en tiempo real del header
   ════════════════════════════════════════════════════════════════════════ */

/* Contenedor inyectado en el navbar via bootscore_after_navbar_brand */
.fmf-nav-search-center {
  flex: 1 1 auto;
  max-width: 520px;
  margin: 0 1.5rem;
  align-items: center;
}

.fmf-live-search-wrap {
  position: relative;
  width: 100%;
}

.fmf-search-form {
  position: relative;
}

.fmf-search-input-wrap {
  position: relative;
  display: flex;
  align-items: center;
}

.fmf-search-icon {
  position: absolute;
  left: 0.75rem;
  color: #adb5bd;
  font-size: 0.9rem;
  pointer-events: none;
  z-index: 1;
}

.fmf-search-input {
  padding-left: 2.25rem;
  font-family: var(--fmf-font-body, sans-serif);
  font-size: 0.9rem;
  border-radius: 2rem !important;
  border-color: #dee2e6;
  background-color: #fff;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.fmf-search-input:focus {
  border-color: var(--fmf-footer-social-hover, #0d6efd);
  box-shadow: 0 0 0 3px rgba(13,110,253,.1);
  outline: none;
}

/* Dropdown */
.fmf-search-dropdown {
  display: none;
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  right: 0;
  background: #fff;
  border: 1px solid #e9ecef;
  border-radius: 0.75rem;
  box-shadow: 0 8px 24px rgba(0,0,0,.1);
  z-index: 9999;
  overflow: hidden;
}

.fmf-search-dropdown--open {
  display: block;
}

/* Lista de resultados */
.fmf-search-list {
  list-style: none;
  margin: 0;
  padding: 0.5rem 0;
}

.fmf-search-item {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.6rem 1rem;
  cursor: pointer;
  transition: background-color 0.1s ease;
}

.fmf-search-item:hover,
.fmf-search-item--active {
  background-color: #f8f9fa;
}

.fmf-search-item__img {
  width: 48px;
  height: 48px;
  object-fit: cover;
  border-radius: 0.375rem;
  flex-shrink: 0;
  background: #f1f3f5;
}

.fmf-search-item__info {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  min-width: 0;
}

.fmf-search-item__cat {
  font-family: var(--fmf-font-body, sans-serif);
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--fmf-footer-social-hover, #0d6efd);
}

.fmf-search-item__title {
  font-family: var(--fmf-font-body, sans-serif);
  font-size: 0.88rem;
  font-weight: 600;
  color: #212529;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.fmf-search-item__price {
  font-family: var(--fmf-font-body, sans-serif);
  font-size: 0.82rem;
  color: #6c757d;
}

/* "Ver todos" */
.fmf-search-all {
  list-style: none;
  border-top: 1px solid #e9ecef;
}

.fmf-search-all a {
  display: block;
  padding: 0.6rem 1rem;
  font-family: var(--fmf-font-body, sans-serif);
  font-size: 0.85rem;
  color: var(--fmf-footer-social-hover, #0d6efd);
  text-decoration: none;
  transition: background-color 0.1s ease;
}

.fmf-search-all a:hover {
  background-color: #f8f9fa;
}

/* Sin resultados / spinner */
.fmf-search-empty,
.fmf-search-spinner {
  padding: 1rem;
  font-family: var(--fmf-font-body, sans-serif);
  font-size: 0.88rem;
  color: #6c757d;
  text-align: center;
}


/* ═══════════════════════════════════════════════════════════════════════
   6. BOTÓN VOLVER ARRIBA
   ════════════════════════════════════════════════════════════════════════ */

.top-button {
  bottom: 1.5rem;
  right: 1.5rem;
  width: 42px;
  height: 42px;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.25s ease, visibility 0.25s ease, transform 0.25s ease;
}

.top-button.visible,
.top-button:focus {
  opacity: 1;
  visibility: visible;
}

.top-button:hover {
  transform: translateY(-3px);
}


/* ─────────────────────────────────────────────────────────────────────────
   Tienda — tarjetas de categoría (content-product-cat.php)
   ───────────────────────────────────────────────────────────────────────── */

.fmf-cat-card {
  color: inherit;
  box-shadow: 0 2px 8px rgba(0, 0, 0, .08);
  transition: box-shadow .2s ease, transform .2s ease;
}

.fmf-cat-card:hover {
  box-shadow: 0 6px 20px rgba(0, 0, 0, .14);
  transform: translateY(-3px);
}

.fmf-cat-card__img {
  aspect-ratio: 4 / 3;
  object-fit: cover;
  display: block;
}

.fmf-cat-card__overlay {
  border-top: 1px solid #f0f0f0;
}

.fmf-cat-card__name {
  letter-spacing: .04em;
  font-size: .95rem;
  line-height: 1.3;
}

.fmf-cat-card__count {
  letter-spacing: .06em;
  font-size: .78rem;
}









/* fonts
-------------------------------------------------------------------------------------------------------------- */
@import url('https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300..800;1,300..800&family=Ubuntu:ital,wght@0,300;0,400;0,500;0,700;1,300;1,400;1,500;1,700&display=swap');


/* generales
-------------------------------------------------------------------------------------------------------------- */
html, body, h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6  {font-family:'Ubuntu',sans-serif !important;}
ul {list-style-type: none;padding:0;margin:0;}
h1, h2, h3, h4, h5, h6 {margin:0;padding:0;font-size:inherit;line-height:inherit;font-weight:inherit;}
.form-control:focus {border-color:#666;outline:0;-webkit-box-shadow:none;box-shadow:none;}
.btn:focus, .btn:active:focus, .btn.active:focus, a:focus, .btn:active, .btn.active {outline:none !important;outline-offset:0 !important;}
label.error {font-size:11px !important;line-height:11px !important;padding:4px 5px 5px;color:#fff;background:#333;text-transform:uppercase;}
button:focus {outline:none;}
.navbar-toggler:focus {box-shadow:none;}
.carousel .carousel-control-prev-icon {background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="48" height="48" viewBox="0 0 24 24" fill="none" stroke="%230F172A" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="feather feather-chevron-left"><polyline points="15 18 9 12 15 6"></polyline></svg>');}
.carousel .carousel-control-next-icon {background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="48" height="48" viewBox="0 0 24 24" fill="none" stroke="%230F172A" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="feather feather-chevron-right"><polyline points="9 18 15 12 9 6"></polyline></svg>');}
.carousel-control-next-icon, .carousel-control-prev-icon {width:3rem;height:3rem;}


/* links
-------------------------------------------------------------------------------------------------------------- */
a, a:focus, a:active {color:#0F172A;text-decoration:none;}
a:hover {color:#b80c09;}


/* botones
-------------------------------------------------------------------------------------------------------------- */
.btn, .btn:focus, .btn:active, .btn:focus.active {border:none;font-weight:500;font-size:16px;line-height:20px;border-radius:5px;transition:transform 0.3s ease;padding-top:12px !important;padding-bottom:12px !important;}
.btn:hover {box-shadow:none;transform: scale(1.05);}
.btn-bl-az, .btn-bl-az:focus, .btn-bl-az:active, .btn-bl-az:focus.active {color:#0F172A !important;background:#fff !important;padding:12px 20px;}
.btn-bl-az:hover {color:#fff !important;background:#b80c09 !important}
.btn-az-bl, .btn-az-bl:focus, .btn-az-bl:active, .btn-az-bl:focus.active {color:#fff !important;background:#0F172A !important;padding:12px 20px;}
.btn-az-bl:hover {color:#fff !important;background:#b80c09 !important}

@media (min-width: 992px) {
.btn-bl-az, .btn-bl-az:focus, .btn-bl-az:active, .btn-bl-az:focus.active, .btn-ne-bl, .btn-ne-bl:focus, .btn-ne-bl:active, .btn-ne-bl:focus.active {font-size:18px;line-height:18px;padding:15px 20px;}
}


/* header
-------------------------------------------------------------------------------------------------------------- */
header {background: none !important}
header nav {background:#fff !important}
.navbar {padding-top:12px;padding-bottom:12px;-webkit-transition: all 0.5s;-moz-transition: all 0.5s;transition: all 0.5s;}
.navbar-brand {padding:0;height:30px;-webkit-transition: all 0.5s;-moz-transition: all 0.5s;transition: all 0.5s;}
.navbar-brand img {height:30px;vertical-align:unset;-webkit-transition: all 0.5s;-moz-transition: all 0.5s;transition: all 0.5s;}
.icon-user, .icon-cart {width:20px !important;height:20px !important;object-fit:contain !important;margin-top:-3px;}
.btn-outline-secondary, .btn-outline-secondary:focus, .btn-outline-secondary:active {border:1px solid #0F172A;border-radius:3px;color:#0F172A;padding:5px 10px;}
.btn-outline-secondary img {filter: invert(9%) sepia(25%) saturate(1274%) hue-rotate(185deg) brightness(92%) contrast(100%);}
.btn-outline-secondary:hover {background:#b80c09;color:#fff;border:1px solid #b80c09;} 
.btn-outline-secondary:hover img {filter: invert(100%) sepia(0%) saturate(7500%) hue-rotate(346deg) brightness(105%) contrast(102%);}
.offcanvas-body {border-top:1px solid #0F172A;}
.h5.offcanvas-title, .h5.offcanvas-title img {height:30px;vertical-align:unset;}
.navbar-nav li a {color:#0F172A;font-weight:500;font-size:18px;line-height:22px;}
.navbar-nav li a:hover {color:#b80c09 !important;border-radius:5px !important;}
.header.mini .nabvar{-webkit-box-shadow: 0px 2px 5px 0px rgba(0,0,0,0.1);-moz-box-shadow: 0px 2px 5px 0px rgba(0,0,0,0.1);box-shadow: 0px 2px 5px 0px rgba(0,0,0,0.1);}
header .navbar {webkit-transition: all 0s;-moz-transition: all 0s;transition: all 0s;}
header.mini .navbar {webkit-transition: all 0.5s;-moz-transition: all 0.5s;transition: all 0.5s;-webkit-box-shadow: 0px 2px 5px 0px rgba(0,0,0,0.1);-moz-box-shadow: 0px 2px 5px 0px rgba(0,0,0,0.1);box-shadow: 0px 2px 5px 0px rgba(0,0,0,0.1);}
#collapse-search {background:#fff !important;-webkit-box-shadow: 0px 2px 5px 0px rgba(0,0,0,0.1);-moz-box-shadow: 0px 2px 5px 0px rgba(0,0,0,0.1);box-shadow: 0px 2px 5px 0px rgba(0,0,0,0.1);}
header .btn:hover {transform:none;}

@media (min-width: 568px) {
.navbar .container {max-width:100%;}
}

@media (min-width: 768px) {
.navbar .container {max-width:100%;}
}

@media (min-width: 992px) {
header {position:fixed;top:0;left:0;right:0;width:100%;z-index:1030;height:147px;}
.navbar-brand, .navbar-brand img {height:44px;}
.navbar {padding-top:20px;padding-bottom:20px;align-items:start;transition: all .3s ease;}
.navbar .container {position:relative;max-width:960px;}
.navbar-nav {display:flex;width:100%;justify-content:space-around;}
.navbar-nav li a {padding:8px 12px !important;}
.offcanvas-menu {position:absolute !important;left:12px;right:12px;top:64px !important;max-width:936px;}
.offcanvas-body.offcanvas-menu {padding-top:12px !important;padding-bottom:12px !important;}
header.mini .navbar-brand, header.mini .navbar-brand img {height:30px;webkit-transition: all 0.5s;-moz-transition: all 0.5s;transition: all 0.5s;}
header.mini .navbar {padding-top:12px;padding-bottom:12px;webkit-transition: all 2.5s;-moz-transition: all 2.5s;transition: all 2.5s;}
header.mini .btn-menu {display: block !important;-webkit-transition: all 0.5s;-moz-transition: all 0.5s;transition: all 0.5s;}
header.mini .navbar-expand-lg .offcanvas {position:fixed !important;z-index:10000 !important;width:400px !important;visibility:hidden !important;background-color:#fff !important;transition:transform 0.3s ease-in-out !important;}
header.mini .navbar-expand-lg .offcanvas.show {visibility:visible !important; transform: translateX(-100%) !important;top:0;right:-400px;}
header.mini .navbar-expand-lg .offcanvas.show .navbar-nav {flex-direction: column;}
header .navbar-expand-lg .offcanvas .offcanvas-header {display:none;}
header.mini .navbar-expand-lg .offcanvas .offcanvas-header {display:flex;}
}

@media (min-width: 1200px) {
header {height:172px;}
.navbar-brand, .navbar-brand img {height:50px;}
.navbar {padding-top:25px;padding-bottom:25px;xheight:172px;}
.navbar .container {max-width:1140px;}
.navbar-nav li a {font-size:20px;line-height:24px;border-radius:5px;padding:12px 20px !important;}
.offcanvas-menu {top:74px !important;max-width:1116px;}
.offcanvas-body {padding-top:12px !important;padding-bottom:12px !important;}
}

@media (min-width: 1400px) {
.navbar .container {max-width:1320px;}
.offcanvas-menu {max-width:1296px;}
}


/* home-destacado
-------------------------------------------------------------------------------------------------------------- */
.home-destacado {border-radius:18px;-webkit-box-shadow:0px 0px 5px 3px rgba(0,0,0,0.05) !important;box-shadow:0px 0px 5px 3px rgba(0,0,0,0.05) !important;}
.home-destacado .carousel-inner {border-radius:15px;}
.home-destacado .carousel-control-prev, .home-destacado .carousel-control-next {width:10%;top:inherit;bottom:5px;}
.home-destacado .carousel-indicators [data-bs-target] {background-color:#0F172A;}

@media (min-width: 768px) {
.home-destacado .carousel-control-prev, .home-destacado .carousel-control-next {width:7%;top:0;bottom:0;}
}


/* productos — títulos de sección (home)
-------------------------------------------------------------------------------------------------------------- */
.productos-titulo h2 {font-weight:normal;font-size:26px;line-height:32px;margin-bottom:3px;}
.productos-titulo h3 {font-weight:normal;font-family:"Open Sans",sans-serif !important;font-size:16px;line-height:22px;}
.productos .productos-mas {font-size:16px;line-height:16px;padding:12px 20px;}
.productos h1.page-title {font-weight:600;font-size:26px;line-height:32px;margin-bottom:16px;padding:10px 0 10px 40px;}
.productos.productos-cursos h1.page-title {padding-left:50px;background-size:40px !important;}
.productos-categoria-barrita {align-items:center !important;background:#fff;margin:0;border-radius:5px;padding:10px 3px;color:#444;}
.productos-categoria-barrita select {color:#444;background-color:transparent;}

@media (min-width: 768px) {
.productos-titulo h2 {font-size:40px;line-height:44px;margin-bottom:6px;}
.productos-titulo h3 {font-size:18px;line-height:24px;padding-left:1px;}
.productos h1.page-title {font-size:40px;line-height:44px;padding-left:50px;background-size:40px !important;}
.productos.productos-cursos h1.page-title {padding-left:60px;background-size:50px !important;}
.woocommerce .woocommerce-result-count {margin-bottom:0 !important;}
}

@media (min-width: 992px) {
.productos-titulo h2 {font-size:60px;line-height:64px;margin-bottom:10px;}
.productos-titulo h3 {padding-left:3px;}
.productos-cursos .product.card,
.productos-libros-digitales .product.card,
.productos-libros-papel .product.card {border-bottom-width:20px;}
.productos h1.page-title {font-size:45px;line-height:45px;padding-left:60px;background-size:45px !important;}
.productos.productos-cursos h1.page-title {padding-left:75px;background-size:60px !important;}
/* #fmf-cursos .row > div:first-child .productos-producto, #fmf-cursos .row > div:last-child .productos-producto {margin-top:2rem;} */
}

@media (min-width: 1200px) {
.productos-titulo h2 {font-size:80px;line-height:76px;}
.productos-titulo h3 {padding-left:5px;}
.product.card .woocommerce-loop-product__title,
.product.card .productos-producto-contenido-titulo {font-size:18px;line-height:24px;}
.product.card .price,
.product.card .productos-producto-contenido-precio {font-size:17px;line-height:22px;}
}


/* Cursos — verde */
.productos-cursos {background:url(../img/fondo-cursos-arriba.png) left top no-repeat,url(../img/fondo-cursos-abajo.png) right bottom no-repeat,#e8f1f0 !important;}
.productos-cursos .productos-titulo, .productos.productos-cursos h1.page-title, .woocommerce .productos-cursos-content div.product p.price, .woocommerce .productos-cursos-content div.product span.price, .productos-cursos .price, .productos-detalle-relacionados.productos-cursos h2, .productos-cursos-content .productos-detalle-contenidos-titulo {color:#007C77 !important;}
.productos.productos-cursos h1.page-title {background:url(../img/icono-cursos.svg) left center no-repeat;background-size:30px;}
.productos.productos-cursos .productos-categoria-barrita {background:#e8f1f0;border:1px solid #007C7733;}
.productos.productos-cursos .productos-categoria-barrita select {border:1px solid #007C7733;}
.productos-cursos-content .productos-detalle-contenidos-modulos, .productos-cursos-content .productos-detalle-contenidos-descarga {background:#e8f1f0;}
.productos-cursos .productos-mas, .productos-cursos .productos-mas:focus, .productos-cursos .productos-mas:active, .productos-cursos .productos-mas:focus.active, .woocommerce .productos-cursos-content div.product form.cart .button, .woocommerce .productos-cursos-content div.product .summary .input-group-text, .productos-cursos-content .productos-detalle-contenidos a.btn, .productos-cursos-content .productos-detalle-contenidos a.btn:focus, .productos-cursos-content .productos-detalle-contenidos a.btn:active {color:#fff !important;background:#007C77 !important;border:none !important;text-decoration:none !important;}
.productos-cursos .productos-mas:hover, .woocommerce .productos-cursos-content div.product form.cart .button:hover, .woocommerce .productos-cursos-content div.product .summary .input-group-text:hover, .productos-cursos-content .productos-detalle-contenidos a.btn:hover {color:#fff !important;background:#295452 !important;border:none !important;text-decoration:none !important;}
.productos-cursos .product.card {border-bottom:10px solid #007C77;}
.woocommerce .productos-cursos-content div.product .summary input.form-control {border:1px solid #007C77 !important;color:#007C77;font-weight:700;}
.productos-cursos-content .productos-detalle-contenidos hr {border-top:1px solid #007C77 !important;}
.productos-cursos-content .productos-detalle-contenidos-titulo img {filter: invert(21%) sepia(86%) saturate(2815%) hue-rotate(165deg) brightness(85%) contrast(101%);}

/* Libros digitales — naranja */
.productos-libros-digitales {background:#fbefeb url(../img/fondo-libros-digitales.png) left bottom no-repeat !important;}
.productos-libros-digitales .productos-titulo, .productos.productos-libros-digitales h1.page-title, .woocommerce .productos-libros-digitales-content div.product p.price, .woocommerce .productos-libros-digitales-content div.product span.price, .productos-libros-digitales .price, .productos-detalle-relacionados.productos-libros-digitales h2, .productos-libros-digitales-content .productos-detalle-contenidos-titulo {color:#F46036 !important;}
.productos.productos-libros-digitales h1.page-title {background:url(../img/icono-libros-digitales.svg) left center no-repeat;background-size:30px;}
.productos.productos-libros-digitales .productos-categoria-barrita {background:#fbefeb;border:1px solid #F4603633;}
.productos.productos-libros-digitales .productos-categoria-barrita select {border:1px solid #F4603633;}
.productos-libros-digitales-content .productos-detalle-contenidos-modulos, .productos-libros-digitales-content .productos-detalle-contenidos-descarga {background:#fbefeb;}
.productos-libros-digitales .productos-mas, .productos-libros-digitales .productos-mas:focus, .productos-libros-digitales .productos-mas:active, .productos-libros-digitales .productos-mas:focus.active, .woocommerce .productos-libros-digitales-content div.product form.cart .button, .woocommerce .productos-libros-digitales-content div.product .summary .input-group-text, .productos-libros-digitales-content .productos-detalle-contenidos a.btn, .productos-libros-digitales-content .productos-detalle-contenidos a.btn:focus, .productos-libros-digitales-content .productos-detalle-contenidos a.btn:active {color:#fff !important;background:#F46036 !important;border:none !important;text-decoration:none !important;}
.productos-libros-digitales .productos-mas:hover, .woocommerce .productos-libros-digitales-content div.product form.cart .button:hover, .woocommerce .productos-libros-digitales-content div.product .summary .input-group-text:hover, .productos-libros-digitales-content .productos-detalle-contenidos a.btn:hover {color:#fff !important;background:#9c4931 !important;border:none !important;text-decoration:none !important;}
.productos-libros-digitales .product.card {border-bottom:10px solid #F46036;}
.woocommerce .productos-libros-digitales-content div.product .summary input.form-control {border:1px solid #F46036 !important;color:#F46036;font-weight:700;}
.productos-libros-digitales-content .productos-detalle-contenidos hr {border-top:1px solid #F46036 !important;}
.productos-libros-digitales-content .productos-detalle-contenidos-titulo img {filter: invert(44%) sepia(69%) saturate(835%) hue-rotate(332deg) brightness(90%) contrast(99%);}

/* Libros en papel — azul */
.productos-libros-papel {background:#eaf1f5 url(../img/fondo-libros-en-papel.png) right bottom no-repeat !important;}
.productos-libros-papel .productos-titulo, .productos.productos-libros-papel h1.page-title,.woocommerce .productos-libros-papel-content div.product p.price, .woocommerce .productos-libros-papel-content div.product span.price, .productos-libros-papel .price, .productos-detalle-relacionados.productos-libros-papel h2, .productos-libros-papel-content .productos-detalle-contenidos-titulo {color:#247BA0 !important;}
.productos.productos-libros-papel h1.page-title {background:url(../img/icono-libros-en-papel.svg) left center no-repeat;background-size:30px;}
.productos.productos-libros-papel .productos-categoria-barrita {background:#eaf1f5;border:1px solid #247BA033;}
.productos.productos-libros-papel .productos-categoria-barrita select {border:1px solid #247BA033;}
.productos-libros-papel-content .productos-detalle-contenidos-modulos, .productos-libros-papel-content .productos-detalle-contenidos-descarga {background:#eaf1f5;}
.productos-libros-papel .productos-mas, .productos-libros-papel .productos-mas:focus, .productos-libros-papel .productos-mas:active, .productos-libros-papel .productos-mas:focus.active, .woocommerce .productos-libros-papel-content div.product form.cart .button, .woocommerce .productos-libros-papel-content div.product .summary .input-group-text, .productos-libros-papel-content .productos-detalle-contenidos a.btn, .productos-libros-papel-content .productos-detalle-contenidos a.btn:focus, .productos-libros-papel-content .productos-detalle-contenidos a.btn:active {color:#fff !important;background:#247BA0 !important;border:none !important;text-decoration:none !important;}
.productos-libros-papel .productos-mas:hover, .woocommerce .productos-libros-papel-content div.product form.cart .button:hover, .woocommerce .productos-libros-papel-content div.product .summary .input-group-text:hover, .productos-libros-papel-content .productos-detalle-contenidos a.btn:hover {color:#fff !important;background:#2f546c !important;border:none !important;text-decoration:none !important;}
.productos-libros-papel .product.card {border-bottom:10px solid #247BA0;}
.woocommerce .productos-libros-papel-content div.product .summary input.form-control {border:1px solid #247BA0 !important;color:#247BA0;font-weight:700;}
.productos-libros-papel-content .productos-detalle-contenidos hr {border-top:1px solid #247BA0 !important;}
.productos-libros-papel-content .productos-detalle-contenidos-titulo img {filter: invert(40%) sepia(58%) saturate(610%) hue-rotate(153deg) brightness(90%) contrast(87%);}


/* productos — detalle
-------------------------------------------------------------------------------------------------------------- */
.productos.productos-detalle h1.page-title {padding-top:15px !important;padding-bottom:15px !important;margin-bottom:0 !important;}
.productos.productos-detalle.productos-cursos {background:#e8f1f0 url(../img/fondo-cursos-abajo.png) right center no-repeat !important}
.productos.productos-detalle.productos-libros-digitales {background:#fbefeb url(../img/fondo-libros-digitales.png) calc(100% + 500px) bottom no-repeat !important;}
.content-area .product_title {color:#0E1629;font-weight:700;font-size:24px;line-height:30px;margin-bottom:20px;}
.woocommerce div.product p.price, .woocommerce div.product span.price, .productos-detalle-contenidos-titulo {font-weight:700;font-size:20px;line-height:26px;}
.productos-detalle-relacionados {background-image:none !important;}
.productos-detalle-relacionados h2 {text-align:center;margin-bottom:30px;font-weight:700;font-size:20px;line-height:26px;}
div.product .summary form {border-radius:6px;padding:15px;border:1px solid #eee;}
table.variations tr {display:flex;flex-direction:column;align-items:flex-start;}
table.variations th.label, table.variations td.value {width:100%;}
.minus.input-group-text {border-bottom-right-radius:0 !important;border-top-right-radius:0 !important;}
.plus.input-group-text {border-bottom-left-radius:0 !important;border-top-left-radius:0 !important;}
.woocommerce div.product form.cart .variations .reset_variations {color:#000;}
.summary .text-bg-danger {background:#6c757d !important;}

@media (min-width: 768px) {
.productos.productos-detalle h1.page-title {font-size:30px;line-height:43px;padding-left:40px;background-size:30px !important;}
}

@media (min-width: 992px) {
.productos.productos-detalle h1.page-title {font-size:35px;line-height:40px;padding-left:50px;background-size:35px !important;}
.content-area .product_title {font-size:30px;line-height:36px;}
.woocommerce div.product p.price, .woocommerce div.product span.price, .productos-detalle-relacionados h2, .productos-detalle-contenidos-titulo {font-size:24px;line-height:30px;}
}


/* productos detalle contenidos
-------------------------------------------------------------------------------------------------------------- */
.productos-detalle-contenidos {color:#0E1629;font-size:16px;line-height:26px;}
.productos-detalle-contenidos-titulo img {height:28px;}
.productos-detalle-contenidos-modulos, .productos-detalle-contenidos-descarga, .productos-detalle-contenidos-caja-borde, .productos-detalle-contenidos-caja-llena {padding:25px;background:#f6f6f6;}
.productos-detalle-contenidos hr {opacity:1;margin:0;}
.productos-detalle-contenidos-texto a {text-decoration:underline;}
.productos-cursos-content .productos-detalle-contenidos-texto a:hover, .productos-libros-digitales-content .productos-detalle-contenidos-texto a:hover, .productos-libros-papel-content .productos-detalle-contenidos-texto a:hover {color:#000 !important;}
.productos-detalle-contenidos-texto img {max-width:100%;height:auto;border-radius:0px;}
.productos-detalle-contenidos-texto blockquote {border-radius:0px;padding:15px;background:#e8ecf8;}
.productos-detalle-contenidos-texto p, .productos-detalle-contenidos-foto, .productos-detalle-contenidos-video, .productos-detalle-contenidos-foto img, .productos-detalle-contenidos-video, .productos-detalle-contenidos-video .radio, .productos-detalle-contenidos-video iframe, .productos-detalle-contenidos-descarga, .productos-detalle-contenidos-caja-borde, .productos-detalle-contenidos-caja-llena {border-radius:6px !important;}
.productos-detalle-contenidos-texto p, .productos-detalle-contenidos-foto, .productos-detalle-contenidos-video, .productos-detalle-contenidos-redes, .productos-detalle-contenidos-galeria, .productos-detalle-contenidos-descarga, .productos-detalle-contenidos-frase, .productos-detalle-contenidos-texto blockquote, .productos-detalle-contenidos-modulos, .productos-detalle-contenidos hr, .productos-detalle-contenidos-titulo, .productos-detalle-contenidos-caja-borde, .productos-detalle-contenidos-caja-llena {margin-bottom:25px;}
.productos-detalle-contenidos-epigrafe {font-size:14px;line-height:20px;padding:10px 0 0;}
.productos-detalle-contenidos-descarga-titulo-gris {color:#333;}
.productos-detalle-contenidos-texto ul, .productos-detalle-contenidos-texto ol {margin-top:-15px;margin-bottom:25px;}
.productos-detalle-contenidos-texto li {padding-left:1em;margin-top:10px;}
.productos-detalle-contenidos-texto ul li::before {content:"\2022";color:#666;font-weight:bold;display:inline-block;width:1em;margin-left:-1em;}
.productos-detalle-contenidos-texto h2, .productos-detalle-contenidos-texto h5 {font-weight:600;font-size:22px;line-height:32px;}
.productos-detalle-contenidos-texto h3, .productos-detalle-contenidos-descarga-titulo {font-weight:600;font-size:20px;line-height:30px;}
.productos-detalle-contenidos-texto h4 {font-weight:600;font-size:18px;line-height:28px;}
.productos-detalle-contenidos-texto h5 {}
.productos-detalle-contenidos-texto h2 + ul, .productos-detalle-contenidos-texto h3 + ul, .productos-detalle-contenidos-texto h4 + ul, .productos-detalle-contenidos-texto li > ul {margin-top:0 !important;}
.productos-detalle-contenidos-texto hr {margin-top:25px;}
.productos-detalle-contenidos-texto p + h5 {margin-top:-25px !important;}

/* Cursos — verde */
.productos-cursos-content .productos-detalle-contenidos-texto a, .productos-cursos-content .productos-detalle-contenidos-texto ul li::before {color:#007C77 !important;}
.productos-cursos-content .productos-detalle-contenidos-caja-borde {border:1px solid #007C77;}
.productos-cursos-content .productos-detalle-contenidos-caja-llena, .productos-cursos-content .productos-detalle-contenidos-caja-borde .productos-detalle-contenidos-titulo {background:#007C77;border:1px solid #007C77;}

/* Libros digitales — naranja */
.productos-libros-digitales-content .productos-detalle-contenidos-texto a, .productos-libros-digitales-content .productos-detalle-contenidos-texto ul li::before {color:#F46036 !important;}
.productos-libros-digitales-content .productos-detalle-contenidos-caja-borde {border:1px solid #F46036;}
.productos-libros-digitales-content .productos-detalle-contenidos-caja-llena, .productos-libros-digitales-content .productos-detalle-contenidos-caja-borde .productos-detalle-contenidos-titulo {background:#F46036;border:1px solid #F46036;}

/* Libros en papel — azul */
.productos-libros-papel-content .productos-detalle-contenidos-texto a, .productos-libros-papel-content .productos-detalle-contenidos-texto ul li::before {color:#247BA0 !important;}
.productos-libros-papel-content .productos-detalle-contenidos-caja-borde {border:1px solid #247BA0;}
.productos-libros-papel-content .productos-detalle-contenidos-caja-llena, .productos-libros-papel-content .productos-detalle-contenidos-caja-borde .productos-detalle-contenidos-titulo {background:#247BA0;border:1px solid #247BA0;}

.productos-detalle-contenidos-caja-borde {background:#fff;}
.productos-detalle-contenidos-caja-borde .productos-detalle-contenidos-titulo {display:inline-block;padding:5px 10px;}
.productos-detalle-contenidos-caja-borde, .productos-detalle-contenidos-caja-llena {padding-bottom:0 !important;}
.productos-detalle-contenidos-caja-llena, .productos-detalle-contenidos-caja-borde .productos-detalle-contenidos-titulo, .productos-detalle-contenidos-caja-llena .productos-detalle-contenidos-titulo {color:#fff !important;}
.productos-detalle-contenidos-caja-llena .productos-detalle-contenidos-texto ul li::before {color:#fff !important;}
.productos-detalle-contenidos-caja-llena .productos-detalle-contenidos-texto a, .productos-detalle-contenidos-caja-llena .productos-detalle-contenidos-texto a:active, .productos-detalle-contenidos-caja-llena .productos-detalle-contenidos-texto a:focus {color:#fff !important;text-decoration:underline !important;}

@media (min-width: 992px) {
.productos-detalle-contenidos {font-size:18px;line-height:28px;}
.productos-detalle-contenidos-titulo img {height:40px;}
.productos-detalle-contenidos-modulos, .productos-detalle-contenidos-descarga, .productos-detalle-contenidos-caja-borde, .productos-detalle-contenidos-caja-llena  {padding:35px;}
.productos-detalle-contenidos-texto p, .productos-detalle-contenidos-foto, .productos-detalle-contenidos-video, .productos-detalle-contenidos-redes, .productos-detalle-contenidos-galeria, .productos-detalle-contenidos-descarga, .productos-detalle-contenidos-frase, .productos-detalle-contenidos-texto blockquote, .productos-detalle-contenidos-modulos, .productos-detalle-contenidos hr, .productos-detalle-contenidos-titulo, .productos-detalle-contenidos-caja-borde, .productos-detalle-contenidos-caja-llena {margin-bottom:35px;}
.productos-detalle-contenidos-texto ul, .productos-detalle-contenidos-texto ol {margin-top:-20px;margin-bottom:35px;}
.productos-detalle-contenidos-texto li {margin-top:15px;}
.productos-detalle-contenidos-texto h2, .productos-detalle-contenidos-texto h5 {font-weight:600;font-size:24px;line-height:34px;}
.productos-detalle-contenidos-texto h3, .productos-detalle-contenidos-descarga-titulo {font-weight:600;font-size:22px;line-height:32px;}
.productos-detalle-contenidos-texto h4 {font-weight:600;font-size:20px;line-height:30px;}
.productos-detalle-contenidos-texto hr {margin-top:35px;}
.productos-detalle-contenidos-texto p + h5 {margin-top:-35px !important;}
}












/* woocommerce - offcanvas
-------------------------------------------------------------------------------------------------------------- */
* {box-shadow:none !important;}
.offcanvas-header {background:#fff !important;border:none !important;}
.offcanvas-title {font-weight:700;font-size:18px;line-height:26px;text-transform:uppercase;color:#0F172A;}
.offcanvas .btn-close {outline:none !important;outline-offset:0 !important;box-shadow:none !important;}
.woocommerce-notice {color:#b80c09;font-weight:700;font-size:25px;line-height:30px;}
.alert-info, .must-log-in, .woocommerce-info, .woocommerce-noreviews, .woocommerce-message {background:#f4f4f4;border:none;color:#b80c09;}
alert-icon::before, .woocommerce-error::before, .woocommerce-info::before, .woocommerce-noreviews::before, .woocommerce-message::before, .wc-stripe-error::before {background-color:#b80c09;}
.woocommerce-form.woocommerce-form-login {margin-top:15px !important;background:#f0f0f0;padding:15px !important;}
.woocommerce-form.woocommerce-form-login .woocommerce-form-row label {font-weight:700 !important;}
.offcanvas-body h2, h1.entry-title , .entry-content h2 {color:#0F172A;font-weight:700;font-size:24px;line-height:30px;}
h1.entry-title {margin-bottom:20px;}
.offcanvas .text-truncate {white-space:normal !important;}
.woocommerce-mini-cart-item .remove .woocommerce-Price-amount, .woocommerce-mini-cart-item .remove .woocommerce-Price-amount bdi {white-space: nowrap;}
.woocommerce-mini-cart-item .col-3 {width:20%;}
.woocommerce-mini-cart-item .remove.col-3 {width:30%;}


/* woocommerce - offcanvas menu
-------------------------------------------------------------------------------------------------------------- */
.offcanvas-menu .offcanvas-header {padding:10px 16px !important;}
.offcanvas-menu .offcanvas-title img {height:38px;filter:invert(100%) sepia(0%) saturate(0%) hue-rotate(227deg) brightness(106%) contrast(104%);}


/* woocommerce - offcanvas mi cuenta
-------------------------------------------------------------------------------------------------------------- */
.list-group-item, .list-group-item:focus, .list-group-item:active, .woocommerce-MyAccount-navigation-link a, .woocommerce-MyAccount-navigation-link a:focus, .woocommerce-MyAccount-navigation-link a:active {background:#fff;color:#b80c09;border:1px solid #b80c09!important;margin-bottom:10px;border-radius:0 !important;text-transform:uppercase;font-weight:600;padding:6px 12px !important;display:block;}

.list-group-item:hover, .woocommerce-MyAccount-navigation-link a:hover {xbackground:#f0f0f0 !important;xcolor:#fff !important;xborder:1px solid #b80c09 !important;}
.woocommerce-MyAccount-navigation-link.is-active a {background:#333;border:1px solid #333 !important;color:#fff;}
.my-offcanvas-account .card-body {background:#f4f4f4;padding:20px !important;}
.lost_password {font-size:12px;}
#offcanvas-user .offcanvas-password.show-password-input {right:0.9em;top: 2.7rem;}


/* woocommerce - offcanvas carrito
-------------------------------------------------------------------------------------------------------------- */
.widget_shopping_cart_content .list-group-item {padding:15px !important;}
.widget_shopping_cart_content .list-group-item, .widget_shopping_cart_content .list-group-item:focus, .widget_shopping_cart_content .list-group-item:active {border:none !important;text-transform:none;color:inherit;font-weight:400}
.widget_shopping_cart_content .list-group-item:hover {background:none;border:none;color:inherit;}
.widget_shopping_cart_content .cart-footer {background:#f4f4f4 !important;}
.widget_shopping_cart_content .woocommerce-mini-cart__total {color:#000 !important;font-size:20px;}
.widget_shopping_cart_content .text-muted.small.shipping-text {display:none;}
.woocommerce-mini-cart-item .remove a, .woocommerce-mini-cart-item .remove a:active, .woocommerce-mini-cart-item .remove a:focus {color:#b80c09 !important;}
.woocommerce-mini-cart-item .remove a:hover {color:#c94139 !important;}
.woocommerce-mini-cart-item .item-name a, .woocommerce-mini-cart-item .item-name a:focus, .woocommerce-mini-cart-item .item-name a:active {font-weight:700;color:#b80c09;}
.woocommerce-mini-cart-item .item-name a:hover {color:#000;}
.woocommerce-mini-cart-item .item-quantity, .woocommerce-mini-cart-item .woocommerce-Price-amount {color:#212529 !important;}

.widget_shopping_cart_content .list-group-item {
    padding: 15px;
    border-bottom: 1px solid #eee !important;
}


/* woocommerce - offcanvas carrito - NEW
-------------------------------------------------------------------------------------------------------------- */
.woocommerce ul.cart_list li, .woocommerce ul.product_list_widget li {padding:15px;border-bottom:1px solid #eee;}
.woocommerce ul.cart_list li img, .woocommerce ul.product_list_widget li img {margin:0 12px 24px 0;width:48px;float:left;}
.widget_shopping_cart_content .woocommerce-mini-cart__total {background:#f4f4f4 !important;padding:15px 15px 5px;margin-bottom:0 !important;display:flex;justify-content:space-between;}
.widget_shopping_cart_content .woocommerce-mini-cart__buttons {background:#f4f4f4 !important;padding:0 15px 15px;margin-bottom:0 !important} 



/* woocommerce - botones
-------------------------------------------------------------------------------------------------------------- */
button, a.button {border-radius:6px !important;font-weight:700 !important;text-transform:uppercase;}
.btn-primary, .woocommerce .card a.button, .woocommerce div.product form.cart button.button, .woocommerce-cart .wc-proceed-to-checkout a.checkout-button, #place_order, .woocommerce div.product form.cart .button, .woocommerce button.button, .woocommerce-cart .wc-proceed-to-checkout a.checkout-button, .woocommerce button.button.alt, .woocommerce a.button, .woocommerce a.button-alt, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit, :where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce a.button {color:#fff !important;background:#0F172A !important;}
.btn:hover, .woocommerce #respond input#submit:hover, .woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover, .woocommerce a.button.alt:not(a.checkout-button):hover, .woocommerce .card a.button:hover, .woocommerce div.product form.cart button.button:hover, .woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover, #place_order:hover, .woocommerce div.product form.cart .button:hover, .woocommerce button.button:hover, .woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover, .woocommerce button.button.alt, .woocommerce a.button:hover, .woocommerce a.button-alt:hover, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit:hover, :where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce a.button:hover {background:#b80c09 !important;}


/* woocommerce - checkout
-------------------------------------------------------------------------------------------------------------- */
.woocommerce-checkout h2, .woocommerce-checkout h3 {font-weight:700;font-size:22px;line-height:26px;margin:15px 0;}
.woocommerce-billing-fields__field-wrapper, .woocommerce-shipping-fields, .woocommerce-additional-fields {border:1px solid #DEE2E6;border-radius:6px;padding:15px;}
.woocommerce-shipping-fields, .woocommerce-additional-fields {margin-top:24px;}


/* quienes somos
-------------------------------------------------------------------------------------------------------------- */
.quienes-somos {color:#0E1629;}
.quienes-somos h2 {font-size:20px;line-height:26px;}
.quienes-somos h3 {font-size:25px;line-height:30px;}
.quienes-somos p {font-size:16px;line-height:22px;}
.quienes-somos-caja {color:#fff;border-radius:10px;background:#0F172A;}
.quienes-somos-caja img {height:40px;}
.quienes-somos-puntos {margin-top:-70px;background:#fff;position:relative;width:100%;z-index:2;border-bottom:2px solid #0F172A;border-radius:15px 85px 0 0;}
.quienes-somos-puntos-img {min-height:320px;height:100%;background:url("../img/foto-quienes-somos.jpg") center center;background-size:cover;border-radius:15px;border-top-left-radius:85px;}
.quienes-somos-puntos ul li {display:flex;align-items:flex-start;gap:18px;margin-bottom:32px;}
.quienes-somos-puntos ul li:last-child {margin-bottom:0;}
.quienes-somos-puntos i {font-size:24px;color:#162038;line-height:1;}
.quienes-somos-puntos span {font-weight:600;font-size:16px;line-height:22px;}
.quines-somos-circulos li {display:flex;align-items:center;font-size:16px;line-height:22px;}
.quines-somos-circulos li strong {font-size:20px;line-height:26px;}
.quines-somos-circulos li div {padding-left:15px;}
.quines-somos-circulos img {width:70px;}

@media (min-width: 768px) {
.quienes-somos-caja {padding-left:60px !important;padding-right:60px !important;}
.quienes-somos-puntos-img {margin-left:-230px;height:520px;border-radius:15px;border-top-right-radius:85px;}
.quienes-somos-puntos {margin-top:0;border-radius:0 85px 15px 0;border-bottom:none;border-left:2px solid #0F172A;}
}

@media (min-width: 992px) {
.quienes-somos h2, .quienes-somos h3 {font-size:25px;line-height:31px;}
.quienes-somos p {font-size:18px;line-height:24px;}
.quienes-somos-caja {padding-left:80px !important;padding-right:80px !important;}
.quienes-somos-puntos-img {height:600px;}
.quienes-somos-puntos i {font-size:30px;}
.quienes-somos-puntos span {font-size:20px;line-height:26px;}
}

@media (min-width: 1200px) {
.quienes-somos-caja {padding-left:93px !important;padding-right:93px !important;}
.quienes-somos-puntos-img {margin-left:-300px;height:650px;}
.quienes-somos-puntos span {font-size:24px;line-height:30px;}
.quines-somos-circulos li {font-size:18px;line-height:24px;}
.quines-somos-circulos li strong {font-size:24px;line-height:30px;}
}

@media (min-width: 1400px) {
.quienes-somos-caja {padding-left:110px !important;padding-right:110px !important;}
}






/* Card base — contenedor principal */
.product.card,
.productos-producto {
  background: #fff;
  border: none;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0,0,0,.06);
  transition: transform .25s ease, box-shadow .25s ease;
}
.product.card:hover,
.productos-producto:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 24px rgba(0,0,0,.12);
}

/* Imagen del producto */
.product.card img.card-img-top,
.product.card img.attachment-woocommerce_thumbnail,
.productos-producto .fmf-product-card__img {
  aspect-ratio: 1 / 1;
  object-fit: contain;
  padding: 20px;
  background: #fff;
  transition: transform .3s ease;
}
.product.card:hover img.card-img-top,
.product.card:hover img.attachment-woocommerce_thumbnail,
.productos-producto:hover .fmf-product-card__img {
  transform: scale(1.03);
}


/* Caja para cursos */
.productos-cursos .product.card img.card-img-top, .productos-cursos .product.card img.attachment-woocommerce_thumbnail, .productos-cursos .productos-producto .fmf-product-card__img {padding:0;border-top-right-radius:130px;}
.productos-cursos .product.card, .productos-cursos .productos-producto {border-top-right-radius:130px;}


/* Body de la card */
.product.card .card-body,
.productos-producto .productos-producto-contenido {
  padding: 20px;
  display: flex;
  flex-direction: column;
  flex: 1;
}

/* Título del producto */
.product.card .woocommerce-loop-product__title,
.productos-producto .productos-producto-contenido-titulo {
  font-family: 'Ubuntu', sans-serif;
  font-weight: 700;
  color: #0F172A;
  font-size: 16px;
  line-height: 22px;
  margin-bottom: 10px;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.product.card .woocommerce-loop-product__title a,
.productos-producto .productos-producto-contenido-titulo a {
  color: inherit;
  text-decoration: none;
}
.product.card .woocommerce-loop-product__title a:hover,
.productos-producto .productos-producto-contenido-titulo a:hover {
  color: #b80c09;
}

/* Precio */
.product.card .price,
.product.card a .price,
.productos-producto .productos-producto-contenido-precio {
  font-family: 'Ubuntu', sans-serif;
  font-weight: 600;
  xcolor: #007C77 !important;
  font-size: 16px !important;
  line-height: 20px !important;
  margin-bottom: 15px;
  margin-top: auto;
  display:block;
}
.product.card .price del,
.productos-producto .productos-producto-contenido-precio del {
  color: #adb5bd;
  font-weight: 400;
  font-size: 13px;
}
.product.card .price ins,
.productos-producto .productos-producto-contenido-precio ins {
  text-decoration: none;
  color: #007C77;
}

/* Botón añadir al carrito / seleccionar opciones */
.product.card .add_to_cart_button,
.product.card .product_type_variable,
.product.card .product_type_simple,
.productos-producto .add_to_cart_button,
.productos-producto .product_type_variable,
.productos-producto .product_type_simple {
  display: inline-block;
  width: 100%;
  text-align: center;
  font-family: 'Ubuntu', sans-serif;
  font-weight: 600;
  font-size: 16px;
  line-height: 20px;
  padding: 12px 20px !important;
  border-radius: 6px;
  color: #fff !important;
  background: #0F172A !important;
  border: none;
  text-decoration: none;
  transition: background .2s ease, transform .2s ease;
  margin-top: auto;
}
.product.card .add_to_cart_button:hover,
.product.card .product_type_variable:hover,
.product.card .product_type_simple:hover,
.productos-producto .add_to_cart_button:hover,
.productos-producto .product_type_variable:hover,
.productos-producto .product_type_simple:hover {
  background: #b80c09 !important;
  transform: scale(1.03);
  color: #fff !important;
}

/* Badge de oferta */
.product.card .onsale,
.productos-producto .onsale {
  position: absolute;
  top: 12px;
  left: 12px;
  background: #b80c09;
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  padding: 4px 10px;
  border-radius: 4px;
  z-index: 2;
  text-transform: uppercase;
  letter-spacing: .04em;
}

/* Cards en categorías/tienda — borde base */
.product.card {
  border-bottom: 10px solid #0F172A;
}

@media (min-width: 992px) {
.product.card .price,
.product.card a .price,
.productos-producto .productos-producto-contenido-precio {
  font-size: 18px !important;
  line-height: 22px !important;
}
}



/* modal
-------------------------------------------------------------------------------------------------------------- */
.modal-header {background:#0F172A;color:#fff;font-weight:500;border:none;}
.modal-header h5, .modal-header .btn-close {color:#fff;font-size:18px;}
.modal-header .btn-close {filter:invert(1) brightness(2);box-shadow: none !important}
.modal-body {font-size:20px;}


/* banner propuesta
-------------------------------------------------------------------------------------------------------------- */
.banner-propuesta, .banner-propuesta:focus, .banner-propuesta:active {background:#0F172A url(../img/fondo-banner-propuesta.png) left top no-repeat;display:block;color:#fff;transition:transform 0.3s ease;}
.banner-propuesta:hover {transform:scale(1.03);color:#fff;}
.banner-propuesta-titulo {font-size:22px;line-height:28px;font-weight:500;}
.banner-propuesta-subtitulo {font-size:16px;line-height:24px;font-family:"Open Sans",sans-serif !important;}
.banner-propuesta .btn:hover {transform:none;}
@media (min-width: 768px) {

}

@media (min-width: 992px) {
.banner-propuesta-titulo {font-size:24px;line-height:32px;}
.banner-propuesta-subtitulo {font-size:18px;line-height:26px;}
}

@media (min-width: 1200px) {
.banner-propuesta-titulo {font-size:34px;line-height:40px;}
.banner-propuesta-subtitulo {font-size:20px;line-height:30px;}
}

@media (min-width: 1400px) {
.banner-propuesta-titulo {font-size:44px;line-height:48px;}
}


/* footer
-------------------------------------------------------------------------------------------------------------- */
footer {font-family:"Open Sans",sans-serif !important;font-size:15px;line-height:21px;}
.footer-logo {width:100%;max-width:300px;}
.footer-contacto a {display:inline-flex;padding:14px 7px 0;}
.footer-contacto a img {padding-right:4px;height:20px;}

@media (min-width: 768px) {
.footer-contacto a {padding:0;}
.footer-logo {max-width:400px;}
}

@media (min-width: 1400px) {
.footer-logo {max-width:430px;}
}


/* formulario
-------------------------------------------------------------------------------------------------------------- */
.fmf-search-input {border:1px solid #0F172A !important;border-radius:3px !important;color:#0F172A !important;padding:6px 10px 6px 34px !important;}
.fmf-search-icon {color:#0F172A !important;}
.fmf-nav-search-center {width:300px;margin:0 15px;}
.fmf-search-item__cat {color:#666;}

@media (min-width: 992px) {
#collapse-search {display:none;}
}


/* 
-------------------------------------------------------------------------------------------------------------- */


@media (min-width: 568px) {

}

@media (min-width: 768px) {

}

@media (min-width: 992px) {

}

@media (min-width: 1200px) {

}

@media (min-width: 1400px) {

}
