/* ==========================================================================
   acuarios.com — Tema AZUL (acuático)
   Capa que se carga DESPUÉS de acuarios-tema.css.
   Para volver al diseño anterior: quitar el <link> de este fichero en head.tpl
   ========================================================================== */

:root{
  --az-900:#05263a;
  --az-800:#0a3b5c;
  --az-700:#0e5a8a;
  --az-600:#0e6ba8;
  --az-500:#1273ab;
  --aqua:#21b6c9;
  --aqua-2:#2ec4b6;
  --arena:#f2f7fb;
  --tinta:#0d2b3e;
  --borde:#dbe9f2;
  --sombra-az:0 1px 2px rgba(6,42,64,.06), 0 10px 28px rgba(6,42,64,.10);
}

/* ---------- base ---------- */
body, #wrapper{
  background:var(--arena);
  color:var(--tinta);
}
a{color:var(--az-600)}
a:hover, a:focus{color:var(--az-800)}
h1,h2,h3,h4,h5,.h1,.h2,.h3{color:var(--az-800)}

/* ---------- cabecera ---------- */
.header-top{
  background:linear-gradient(120deg,var(--az-900),var(--az-700) 60%,var(--az-600));
  color:#eaf6fb;
  border-bottom:none;
}
.header-top a{color:#eaf6fb}
.header-top a:hover{color:#fff}
.header-top .material-icons{color:#bfe6f1}

.header-nav{
  background:linear-gradient(180deg,var(--az-800),var(--az-700));
  border-bottom:3px solid var(--aqua);
  box-shadow:0 6px 20px rgba(6,42,64,.18);
}
.header-nav a, .header-nav .menu a, #_desktop_top_menu a{
  color:#eaf6fb !important;
  font-weight:600;
}
.header-nav a:hover, #_desktop_top_menu a:hover{
  color:#fff !important;
  background:rgba(255,255,255,.10);
  border-radius:8px;
}
#_desktop_logo{background:transparent}
#_desktop_logo a{display:inline-block}

/* barra de búsqueda */
#search_widget input[type="text"]{
  border-radius:10px 0 0 10px;
  border:1px solid rgba(255,255,255,.35);
  background:rgba(255,255,255,.96);
}
#search_widget button{
  background:var(--aqua);
  color:#04303a;
  border-radius:0 10px 10px 0;
  border:none;
}

/* ---------- menú lateral y categorías ---------- */
.block-categories .title, #_desktop_categories .title{
  background:linear-gradient(180deg,var(--az-700),var(--az-800)) !important;
  color:#fff !important;
  border-radius:10px 10px 0 0;
}
.block-categories ul li a:hover{
  color:var(--az-700);
  background:#eaf6fb;
}

/* ---------- botones ---------- */
.btn-primary, .btn-primary:focus, #add-to-cart-or-refresh .btn-primary{
  background:linear-gradient(145deg,var(--az-600),var(--az-800)) !important;
  border-color:var(--az-800) !important;
  color:#fff !important;
  border-radius:10px;
  box-shadow:0 8px 20px rgba(10,59,92,.25);
  transition:transform .15s ease, box-shadow .15s ease;
}
.btn-primary:hover{
  background:linear-gradient(145deg,var(--az-500),var(--az-700)) !important;
  transform:translateY(-1px);
  box-shadow:0 12px 26px rgba(10,59,92,.32);
}
.btn-secondary, .btn-outline-primary{
  border-color:var(--az-600) !important;
  color:var(--az-700) !important;
  border-radius:10px;
  background:#fff;
}
.btn-secondary:hover, .btn-outline-primary:hover{
  background:var(--az-600) !important;
  color:#fff !important;
}

/* ---------- paneles y tarjetas ---------- */
#main .card, #main .box, .page-content.page-cms, .tabs,
.product-miniature .thumbnail-container, .product-cover{
  border-radius:12px !important;
  box-shadow:var(--sombra-az) !important;
  border:1px solid var(--borde) !important;
  background:#fff;
}
.product-miniature .thumbnail-container:hover{
  box-shadow:0 14px 34px rgba(6,42,64,.16) !important;
  transform:translateY(-2px);
  transition:.2s;
}

/* ---------- productos ---------- */
.product-title a{color:var(--az-800) !important;font-weight:600}
.product-title a:hover{color:var(--az-600) !important}
.price, .product-price, .current-price span{
  color:var(--az-800) !important;
  font-weight:700;
}
.product-flag, .badge-primary{
  background:var(--aqua) !important;
  color:#04303a !important;
  border-radius:8px;
}
.product-cover .layer{background:rgba(10,59,92,.10)}

/* ---------- migas y paginación ---------- */
.breadcrumb{
  background:#e8f3f9;
  border-radius:10px;
  padding:.6rem .9rem;
}
.breadcrumb a{color:var(--az-700)}
.page-link{color:var(--az-700)}
.page-item.active .page-link{
  background:var(--az-700);border-color:var(--az-700);color:#fff;
}

/* ---------- pestañas de la ficha ---------- */
.nav-tabs .nav-link{
  color:var(--az-700);
  border-radius:8px 8px 0 0;
}
.nav-tabs .nav-link.active{
  color:var(--az-800);
  border-bottom:3px solid var(--aqua);
  font-weight:700;
  background:#fff;
}

/* ---------- formularios ---------- */
.form-control:focus{
  border-color:var(--aqua);
  box-shadow:0 0 0 .2rem rgba(33,182,201,.18);
}
.custom-checkbox input:checked + span, .custom-radio input:checked + span{
  background:var(--az-600) !important;
}

/* ---------- avisos ---------- */
.alert-info{background:#e8f3f9;border-color:#bfe0ee;color:#0a3b5c}
.alert-success{background:#e6f7f1;border-color:#b7e6d5;color:#0f5c46}

/* ---------- pie ---------- */
#footer, .footer-container{
  background:linear-gradient(180deg,var(--az-800),var(--az-900)) !important;
  color:#d6e9f2;
}
#footer a, .footer-container a{color:#bfe6f1 !important}
#footer a:hover, .footer-container a:hover{color:#fff !important}
#footer .h3, #footer h3, .footer-container .h3{color:#fff !important}
.block-social li a, .footer-container .block-social a{color:#fff !important}

/* ---------- detalles ---------- */
.section-title, .page-header h1{border-bottom-color:var(--borde)}
hr{border-color:var(--borde)}
.blockreassurance .block-title, .reassurance-title{color:var(--az-800)}

/* barra superior de navegación del cliente */
.user-info a, .account-list a{color:var(--az-700)}

/* fondo suave en zonas de la home */
#index .featured-products, #index .products-section{
  background:linear-gradient(180deg,#eaf5fb, transparent 60%);
  border-radius:16px;
}

/* ==========================================================================
   Correcciones: menú desplegable, newsletter, contacto, redes y avisos
   ========================================================================== */

/* ---- menú desplegable: fondo blanco, letras azul oscuro, esquinas ---- */
#_desktop_top_menu .dropdown-menu,
.header-nav .dropdown-menu,
.top-menu .dropdown-menu,
.menu .dropdown-menu{
  background:#ffffff !important;
  border:1px solid #dbe9f2 !important;
  border-radius:14px !important;
  box-shadow:0 16px 38px rgba(6,42,64,.20) !important;
  padding:10px 0 !important;
  overflow:hidden;
}
#_desktop_top_menu .dropdown-menu a,
.header-nav .dropdown-menu a,
.top-menu .dropdown-menu a,
.menu .dropdown-menu a{
  color:#0a3b5c !important;
  background:transparent !important;
  font-weight:600;
}
#_desktop_top_menu .dropdown-menu a:hover,
.header-nav .dropdown-menu a:hover,
.top-menu .dropdown-menu a:hover,
.menu .dropdown-menu a:hover{
  color:#0e6ba8 !important;
  background:#eaf5fb !important;
}
/* solo los enlaces de primer nivel del menú van en claro */
.header-nav .top-menu > li > a,
#_desktop_top_menu > li > a{color:#eaf6fb !important}

/* ---- newsletter: caja azul claro redondeada ---- */
#footer .block_newsletter{
  background:linear-gradient(160deg,#e2f4fc,#c9e8f6) !important;
  border:1px solid #a8d7ea !important;
  border-radius:16px !important;
  padding:18px 20px 16px !important;
  box-shadow:0 12px 28px rgba(3,32,48,.28) !important;
}
#footer .block_newsletter .title,
#footer .block_newsletter .h3,
#footer .block_newsletter label,
#footer .block_newsletter #block-newsletter-label,
#footer .block_newsletter strong{color:#0d2b3e !important}
#footer .block_newsletter p,
#footer .block_newsletter .page-content,
#footer .block_newsletter .page-content p{color:#3d5a6b !important}
#footer .block_newsletter form .input-wrapper{background:#fff !important;border-radius:10px !important}
#footer .block_newsletter form input[type="email"],
#footer .block_newsletter form input[type="text"]{
  background:#fff !important;border:1px solid #9fcfdf !important;
  color:#0d2b3e !important;border-radius:10px 0 0 10px !important;
}
#footer .block_newsletter form button[type="submit"]{
  background:linear-gradient(145deg,#0e6ba8,#0a3b5c) !important;
  border:1px solid #0a3b5c !important;color:#fff !important;
  border-radius:0 10px 10px 0 !important;
}

/* ---- información de la tienda en gris claro ---- */
#footer .block-contact,
#footer .block-contact p,
#footer .block-contact #contact-infos,
#footer .block-contact .block-contact-title,
#footer .block-contact .h3,
#footer .block-contact .h4{color:#c9ddea !important}
#footer .block-contact a{color:#eaf6fb !important}

/* ---- "Llámenos" en amarillo ---- */
#footer .ac-tel,
#footer .ac-tel a{
  color:#ffd54a !important;
  font-weight:800;
  text-decoration:none;
}
#footer .ac-tel a:hover{color:#ffe680 !important;text-decoration:underline}

/* ---- enlaces y títulos del footer ---- */
#footer .footer-container li a,
#footer .footer-container .cms-page-link{color:#c9ddea !important}
#footer .footer-container li a:hover{color:#fff !important}
#footer .footer-container .h3,
#footer .footer-container .h4,
#footer .footer-container p.h3{color:#fff !important}

/* ---- redes sociales: círculo azul, icono blanco ---- */
#footer .block-social li{
  background:#0e5a8a !important;
  border:1px solid rgba(255,255,255,.28) !important;
  border-radius:50% !important;
  width:38px;height:38px;
  display:inline-flex;align-items:center;justify-content:center;
  transition:background .18s ease, transform .18s ease;
}
#footer .block-social li:hover{background:#21b6c9 !important;transform:translateY(-2px)}
#footer .block-social li a{
  background-color:transparent !important;
  filter:brightness(0) invert(1);
  width:22px;height:22px;
  background-size:20px 20px !important;
}
#footer .block-social li a span{display:none}

/* ==========================================================================
   Ajustes de cabecera: desplegable, teléfono, carrito y buscador
   ========================================================================== */

/* ---- "Llámenos" de la barra superior en amarillo ---- */
#contact-link, #contact-link a{
  color:#ffd54a !important;
  font-weight:700;
}
#contact-link a:hover{color:#ffe680 !important}

/* ---- menú desplegable: letras azul oscuro y esquinas redondeadas ---- */
#_desktop_top_menu .sub-menu,
.menu .sub-menu,
.popover.sub-menu,
.js-sub-menu{
  background:#ffffff !important;
  border:1px solid #dbe9f2 !important;
  border-radius:16px !important;
  box-shadow:0 18px 44px rgba(6,42,64,.22) !important;
  overflow:hidden;
}
#_desktop_top_menu .sub-menu a,
.menu .sub-menu a,
.popover.sub-menu a,
a.dropdown-item{
  color:#0a3b5c !important;
  font-weight:600;
  background:transparent !important;
}
#_desktop_top_menu .sub-menu a:hover,
.menu .sub-menu a:hover,
a.dropdown-item:hover{
  color:#0e6ba8 !important;
  background:#eaf5fb !important;
}
#_desktop_top_menu .sub-menu .h3,
#_desktop_top_menu .sub-menu .title,
.sub-menu .menu-title{color:#0e5a8a !important}
#_desktop_top_menu .sub-menu li{border-bottom-color:#eef6fa !important}

/* ---- carrito de la barra superior: esquinas redondeadas ---- */
#_desktop_cart .blockcart,
.header-top .blockcart,
.blockcart{
  border-radius:12px !important;
  overflow:hidden;
}
#_desktop_cart .blockcart a{color:#0a3b5c !important}

/* ---- buscador: esquinas derechas redondeadas ---- */
#search_widget form{border-radius:12px;overflow:hidden}
#search_widget input[type="text"],
#search_widget input[type="search"]{
  border-radius:12px !important;
}

/* ---- redes sociales: iconos SVG blancos sobre círculo azul ---- */
#footer .block-social li a{
  filter:none !important;
  position:relative;
  display:block;
  width:22px; height:22px;
  background-image:none !important;
  text-indent:-9999px;
  overflow:hidden;
}
#footer .block-social li a::before{
  content:"";
  position:absolute; inset:0;
  background-repeat:no-repeat;
  background-position:center;
  background-size:18px 18px;
}
#footer .block-social li.facebook a::before{
  background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 512'%3E%3Cpath fill='%23ffffff' d='M279.14 288l14.22-92.66h-88.91v-60.13c0-25.35 12.42-50.06 52.24-50.06h40.42V6.26S260.43 0 225.36 0c-73.22 0-121.08 44.38-121.08 124.72v70.62H22.89V288h81.39v224h100.17V288z'/%3E%3C/svg%3E");
}
#footer .block-social li.youtube a::before{
  background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath fill='%23ffffff' d='M549.7 124.1c-6.3-23.7-24.8-42.3-48.3-48.6C458.8 64 288 64 288 64S117.2 64 74.6 75.5c-23.5 6.3-42 24.9-48.3 48.6-11.4 42.9-11.4 132.3-11.4 132.3s0 89.4 11.4 132.3c6.3 23.6 24.8 41.5 48.3 47.8C117.2 448 288 448 288 448s170.8 0 213.4-11.5c23.5-6.3 42-24.2 48.3-47.8 11.4-42.9 11.4-132.3 11.4-132.3s0-89.4-11.4-132.3zm-317.5 213.5V175.2l142.7 81.2-142.7 81.2z'/%3E%3C/svg%3E");
}
#footer .block-social li.instagram a::before{
  background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='%23ffffff' d='M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z'/%3E%3C/svg%3E");
}
#footer .block-social li.tiktok a::before{
  background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='%23ffffff' d='M448 209.9a210.1 210.1 0 0 1-122.8-39.3v178.8A162.6 162.6 0 1 1 185 188.3v89.9a74.6 74.6 0 1 0 52.2 71.2V0h88a121.2 121.2 0 0 0 1.9 22.2A122.2 122.2 0 0 0 381 102.4a121.4 121.4 0 0 0 67 20.1z'/%3E%3C/svg%3E");
}

/* ---- menú móvil (3 líneas) en amarillo ---- */
#menu-icon, #menu-icon .material-icons, .menu-icon, .js-menu-icon{
  color:#ffd54a !important;
}
#menu-icon{opacity:1 !important}
#menu-icon:hover, #menu-icon:focus{color:#ffe680 !important}

/* ---- etiquetas de producto (NUEVO / rebajado): letra blanca ---- */
.product-flag, .product-flag.new, .product-flag.on-sale, .product-flag.discount,
.product-miniature .product-flag, .badge, .new{
  color:#ffffff !important;
}
.product-flag.new{background:#0e6ba8 !important;color:#fff !important}

/* ---- logo: esquinas redondeadas y contorno blanco ---- */
#_desktop_logo .logo,
.header-top .logo,
.header-nav .logo,
img.logo{
  border-radius:12px !important;
  border:3px solid #ffffff !important;
  background:#ffffff;
  padding:3px;
  box-shadow:0 6px 18px rgba(3,32,48,.22);
  overflow:hidden;
}

/* ---- subcategorías con imagen: 3 columnas ---- */
#subcategories ul,
.subcategories ul,
#subcategories .subcategories-list{
  display:grid !important;
  grid-template-columns:repeat(3, minmax(0,1fr)) !important;
  gap:18px 16px !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
}
#subcategories ul li,
.subcategories ul li{
  width:auto !important;
  float:none !important;
  margin:0 !important;
  padding:0 !important;
  display:block !important;
}
#subcategories ul li a,
.subcategories ul li a{
  display:block !important;
  text-align:center;
}
#subcategories ul li img,
.subcategories ul li img{
  max-width:100%;
  height:auto;
  border-radius:10px;
}
@media (max-width: 767.98px){
  #subcategories ul, .subcategories ul{
    grid-template-columns:repeat(2, minmax(0,1fr)) !important;
  }
}

/* ==========================================================================
   Subcategorías: 3 columnas en escritorio, 2 en móvil, imágenes ajustadas
   ========================================================================== */
body #subcategories ul.subcategories-list,
body #subcategories > ul,
body .subcategories > ul,
body #subcategories ul,
body .subcategories ul{
  display:grid !important;
  grid-template-columns:repeat(3, minmax(0,1fr)) !important;
  gap:18px 16px !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
}
body #subcategories ul li,
body .subcategories ul li{
  width:auto !important;
  max-width:100% !important;
  float:none !important;
  margin:0 !important;
  padding:0 !important;
}
/* las fotos se adaptan al ancho de la columna */
body #subcategories ul li img,
body .subcategories ul li img{
  display:block;
  width:100% !important;
  max-width:100% !important;
  height:auto !important;
  max-height:190px;
  object-fit:contain;
  border-radius:10px;
  margin:0 auto 8px !important;
}

@media (max-width: 991.98px){
  body #subcategories ul, body .subcategories ul{
    grid-template-columns:repeat(2, minmax(0,1fr)) !important;
  }
}
@media (max-width: 575.98px){
  body #subcategories ul, body .subcategories ul{
    grid-template-columns:repeat(2, minmax(0,1fr)) !important;
    gap:12px 10px !important;
  }
  body #subcategories ul li img, body .subcategories ul li img{
    max-height:130px;
  }
}

/* ---- tarjeta de cada subcategoría: azul suave y esquinas redondeadas ---- */
body #subcategories ul li > a,
body .subcategories ul li > a,
body #subcategories ul li .subcategory,
body .subcategories ul li .subcategory{
  display:block !important;
  background:linear-gradient(180deg,#eaf6fc,#dceff9) !important;
  border:1px solid #c6e3f1 !important;
  border-radius:16px !important;
  padding:12px 12px 10px !important;
  text-align:center;
  box-shadow:0 6px 16px rgba(6,42,64,.08);
  transition:transform .16s ease, box-shadow .16s ease, background .16s ease;
}
body #subcategories ul li > a:hover,
body .subcategories ul li > a:hover,
body #subcategories ul li .subcategory:hover,
body .subcategories ul li .subcategory:hover{
  background:linear-gradient(180deg,#e2f3fb,#cfe9f6) !important;
  box-shadow:0 12px 26px rgba(6,42,64,.16);
  transform:translateY(-2px);
}
body #subcategories ul li > a span,
body .subcategories ul li > a span{
  display:block;
  margin-top:6px;
  color:#0a3b5c !important;
  font-weight:700;
}

/* ==========================================================================
   Subcategorías: tarjeta azul + imágenes ajustadas + 2 columnas en móvil
   ========================================================================== */
body #subcategories ul li .subcategory-image,
body .subcategories ul li .subcategory-image{
  display:block !important;
  background:linear-gradient(180deg,#eaf6fc,#dceff9) !important;
  border:1px solid #c6e3f1 !important;
  border-radius:16px !important;
  padding:12px !important;
  box-shadow:0 6px 16px rgba(6,42,64,.08);
  transition:transform .16s ease, box-shadow .16s ease;
}
body #subcategories ul li .subcategory-image:hover,
body .subcategories ul li .subcategory-image:hover{
  box-shadow:0 12px 26px rgba(6,42,64,.16);
  transform:translateY(-2px);
}
/* el enlace y el picture tambien heredan el fondo azul (evita el blanco) */
body #subcategories ul li .subcategory-image a.img,
body #subcategories ul li .subcategory-image picture,
body .subcategories ul li .subcategory-image a.img,
body .subcategories ul li .subcategory-image picture{
  display:block !important;
  background:transparent !important;
  border:none !important;
  border-radius:12px !important;
  overflow:hidden;
}
body #subcategories ul li img,
body .subcategories ul li img,
body #subcategories ul li .subcategory-image img{
  display:block;
  width:100% !important;
  max-width:100% !important;
  height:auto !important;
  max-height:180px;
  object-fit:contain;
  margin:0 auto !important;
  border-radius:10px;
}

/* móvil: 2 columnas (regla al final y reforzada) */
@media screen and (max-width: 1199.98px){
  body #subcategories ul,
  body .subcategories ul,
  body #subcategories ul.subcategories-list{
    grid-template-columns:repeat(2, minmax(0,1fr)) !important;
  }
}
@media screen and (max-width: 991.98px){
  body #subcategories ul,
  body .subcategories ul{
    grid-template-columns:repeat(2, minmax(0,1fr)) !important;
    gap:14px 12px !important;
  }
  body #subcategories ul li img,
  body .subcategories ul li img{max-height:140px}
}

/* ---- imagen de la descripción: arriba a la izquierda, integrada ---- */
#category-description img,
.block-category #category-description img,
.category-description img,
.block-category-inner img{
  float:left !important;
  margin:0 18px 12px 0 !important;
  max-width:320px !important;
  width:auto !important;
  height:auto !important;
  border-radius:14px !important;
  box-shadow:0 8px 20px rgba(6,42,64,.12);
  display:block;
}
#category-description::after,
.category-description::after,
.block-category-inner::after{content:"";display:block;clear:both}
#category-description p:first-of-type{margin-top:0}
@media screen and (max-width: 991.98px){
  #category-description img, .block-category-inner img{
    float:none !important; margin:0 auto 12px !important; max-width:100% !important;
  }
}

/* ==========================================================================
   Subcategorías: nombre separado de la tarjeta, centrado
   ========================================================================== */
body #subcategories ul li .subcategory-image,
body .subcategories ul li .subcategory-image{
  padding:14px 14px 18px !important;
}
body #subcategories ul li .subcategory-name,
body .subcategories ul li .subcategory-name,
body #subcategories ul li a .subcategory-name{
  display:block !important;
  text-align:center !important;
  margin:14px auto 8px !important;
  padding:0 10px !important;
  line-height:1.35;
  font-weight:700;
  color:#0a3b5c !important;
}
body #subcategories ul li .subcategory-name a,
body .subcategories ul li .subcategory-name a{
  display:inline-block;
  padding:4px 2px;
  color:#0a3b5c !important;
  text-decoration:none;
}
body #subcategories ul li .subcategory-name a:hover{color:#0e6ba8 !important}
/* un poco de aire dentro de cada celda */
body #subcategories ul li, body .subcategories ul li{
  padding-bottom:6px !important;
}

/* ==========================================================================
   Móvil: subcategorías en 2 columnas más pequeñas
   ========================================================================== */
@media screen and (max-width: 991.98px){
  body #subcategories ul,
  body .subcategories ul{
    grid-template-columns:repeat(2, minmax(0,1fr)) !important;
    gap:10px 8px !important;
  }
  body #subcategories ul li .subcategory-image,
  body .subcategories ul li .subcategory-image{
    padding:8px 8px 10px !important;
    border-radius:12px !important;
  }
  body #subcategories ul li img,
  body .subcategories ul li img{
    max-height:105px !important;
    max-width:88% !important;
    margin:0 auto !important;
    border-radius:8px !important;
  }
  body #subcategories ul li .subcategory-name,
  body .subcategories ul li .subcategory-name{
    margin:8px auto 4px !important;
    padding:0 4px !important;
    font-size:12.5px !important;
    line-height:1.25;
  }
}
@media screen and (max-width: 575.98px){
  body #subcategories ul li img,
  body .subcategories ul li img{max-height:88px !important}
  body #subcategories ul li .subcategory-name,
  body .subcategories ul li .subcategory-name{font-size:11.5px !important}
}

/* ==========================================================================
   La imagen de la categoría NO se muestra dentro de la descripción
   ========================================================================== */
#category-description img,
#category-description picture,
#category-description figure,
.category-description img,
.category-desc img,
.block-category-inner #category-description img,
.block-category .category-cover,
.block-category #category-description .rte img{
  display:none !important;
  visibility:hidden !important;
  width:0 !important;
  height:0 !important;
  margin:0 !important;
  padding:0 !important;
}
#category-description::after,
.category-description::after,
.block-category-inner::after{content:"";display:block;clear:both}

/* ---- redes sociales: ocultar el texto (solo el icono) ---- */
#footer .block-social li a,
#footer .block-social li a span,
#footer .block-social li a .sr-only,
.footer-container .block-social li a{
  font-size:0 !important;
  line-height:0 !important;
  color:transparent !important;
  text-indent:-9999px !important;
  overflow:hidden !important;
  text-shadow:none !important;
}
#footer .block-social li a::before{
  font-size:0; /* el icono va por background-image */
  text-indent:0;
}

/* ---- desplegable: al pasar el ratón, letras azul oscuro ---- */
#_desktop_top_menu .sub-menu li a:hover,
#_desktop_top_menu .sub-menu li:hover > a,
#_desktop_top_menu .sub-menu li a:focus,
#_desktop_top_menu .sub-menu li a:active,
.menu .sub-menu li a:hover,
.menu .sub-menu li:hover > a,
.sub-menu a.dropdown-item:hover,
.sub-menu a.dropdown-item:focus,
.top-menu .sub-menu li a:hover{
  color:#0a3b5c !important;
  background:#eaf5fb !important;
}
#_desktop_top_menu .sub-menu li a:hover span,
#_desktop_top_menu .sub-menu li:hover > a span,
.sub-menu a.dropdown-item:hover span{
  color:#0a3b5c !important;
}
/* el enlace "Ver todo" del pie del desplegable */
#_desktop_top_menu .sub-menu a[href*="ver-todo"]:hover,
.sub-menu .ver-todo:hover{color:#0a3b5c !important}

/* ---- carrito de la cabecera: texto blanco sobre fondo azul ---- */
#_desktop_cart .blockcart,
.header-top .blockcart,
.blockcart{
  background:rgba(255,255,255,.14) !important;
  border:1px solid rgba(255,255,255,.28) !important;
  border-radius:12px !important;
  overflow:hidden;
}
#_desktop_cart .blockcart a,
#_desktop_cart .blockcart span,
#_desktop_cart .blockcart .cart-products-count,
#_desktop_cart .blockcart .material-icons,
.header-top .blockcart a,
.header-top .blockcart span,
.blockcart a,
.blockcart span,
.blockcart .cart-products-count{
  color:#ffffff !important;
}
#_desktop_cart .blockcart:hover,
.header-top .blockcart:hover{background:rgba(255,255,255,.22) !important}

/* ---- menú superior: al pasar el ratón, fondo blanco y letra azul oscuro ---- */
#_desktop_top_menu > li > a:hover,
#_desktop_top_menu > li > a:focus,
#_desktop_top_menu > li.is-open > a,
#_desktop_top_menu > li.is-open > a:hover,
.header-nav .top-menu > li > a:hover,
.header-nav .top-menu > li.is-open > a,
.menu > ul > li > a:hover{
  color:#0a3b5c !important;
  background:#ffffff !important;
  border-radius:8px;
}

/* ---- listado de categoría: título completo, sin cortar ---- */
.product-miniature .product-title,
.product-miniature .product-title a,
.product-miniature h2, .product-miniature h3{
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;
  display:block;
  line-height:1.3;
  max-height:none !important;
  height:auto !important;
  -webkit-line-clamp:unset !important;
  -webkit-box-orient:unset !important;
}
.product-miniature .thumbnail-container,
.product-miniature .product-description{
  overflow:visible !important;
  max-height:none !important;
}
.product-miniature .product-title{margin-bottom:4px}

/* ---- listado: nombre arriba y formatos debajo, tarjetas alineadas ---- */
.product-miniature .product-title a{display:block}
.product-miniature .ac-nombre{
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical;
  overflow:hidden; line-height:1.25;
  min-height:2.5em;
}
.product-miniature .ac-formatos{
  display:block;
  margin-top:3px;
  font-size:.85em;
  font-weight:600;
  color:#0e6ba8;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.product-miniature .product-title{min-height:3.6em}

/* ---- buscador centrado en la barra superior ---- */
.ac-barra-top{
  display:flex !important;
  align-items:center !important;
  gap:18px;
  flex-wrap:nowrap;
}
.ac-barra-top #contact-link{flex:0 0 auto}
.ac-search-top{
  flex:1 1 auto !important;
  max-width:460px !important;
  margin:0 auto !important;
  float:none !important;
  position:static !important;
  width:auto !important;
}
.ac-search-top form{display:flex;align-items:center;width:100%}
.ac-search-top input[type="text"]{
  width:100% !important;
  border-radius:12px !important;
  background:#fff !important;
  color:#0d2b3e !important;
}
.ac-search-top .material-icons{color:#0e5a8a !important}

/* ---- buscador centrado de verdad en la barra superior ---- */
.ac-barra-top{position:relative !important}
.ac-search-top{
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  transform:translate(-50%,-50%) !important;
  width:420px !important;
  max-width:42vw !important;
  margin:0 !important;
}
@media (max-width: 991.98px){
  .ac-search-top{
    position:static !important;
    transform:none !important;
    width:100% !important;
    max-width:100% !important;
    margin:6px auto !important;
    display:block;
  }
}

/* ---- buscador flotante abajo a la derecha ---- */
.ac-search-float{
  position:fixed !important;
  right:20px !important;
  bottom:88px !important;
  left:auto !important;
  top:auto !important;
  width:320px !important;
  max-width:82vw !important;
  margin:0 !important;
  transform:none !important;
  background:rgba(255,255,255,.97) !important;
  border:1px solid #cfe6f2 !important;
  border-radius:14px !important;
  box-shadow:0 14px 38px rgba(6,42,64,.30) !important;
  padding:10px !important;
  z-index:10050 !important;
  display:none;
}
.ac-search-float.abierto{display:block !important}
.ac-search-float form{display:flex;align-items:center;width:100%}
.ac-search-float input[type="text"]{
  width:100% !important;
  border:1px solid #bfdcea !important;
  border-radius:10px !important;
  background:#fff !important;
  color:#0d2b3e !important;
  padding:8px 10px !important;
}
.ac-search-float .material-icons{color:#0e5a8a !important}

.ac-search-fab{
  position:fixed !important;
  right:20px !important;
  bottom:20px !important;
  width:56px;height:56px;
  border-radius:50% !important;
  border:none !important;
  background:linear-gradient(145deg,#0e6ba8,#0a3b5c) !important;
  color:#fff !important;
  font-size:22px !important;
  line-height:1;
  cursor:pointer;
  box-shadow:0 12px 30px rgba(10,59,92,.40) !important;
  z-index:10060 !important;
  display:flex;align-items:center;justify-content:center;
}
.ac-search-fab:hover{transform:translateY(-2px)}
@media (max-width: 575.98px){
  .ac-search-float{right:12px !important;left:12px !important;width:auto !important;bottom:84px !important}
  .ac-search-fab{right:12px !important;bottom:12px !important}
}

/* ---- widget de blogs en el pie ---- */
.ac-blog-wrap{margin-top:18px}
.ac-blog-titulo{
  color:#ffffff !important;
  font-size:13px;text-transform:uppercase;letter-spacing:.08em;
  margin:0 0 10px !important;font-weight:700;
}
.ac-blog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:760px}
.ac-blog-card{
  display:flex;gap:10px;align-items:center;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.20);
  border-radius:12px;padding:10px;text-decoration:none;
  transition:background .18s ease, transform .18s ease;
}
.ac-blog-card:hover{background:rgba(255,255,255,.18);transform:translateY(-2px)}
.ac-blog-img{
  flex:0 0 56px;width:56px;height:56px;border-radius:10px;
  background-size:cover;background-position:center;
  background-color:rgba(255,255,255,.15);
}
.ac-blog-txt{display:flex;flex-direction:column;min-width:0}
.ac-blog-fuente{font-size:11px;color:#9fc4bf;margin-bottom:3px}
.ac-blog-post{
  font-size:13px;color:#ffffff !important;font-weight:600;line-height:1.3;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
@media (max-width: 767.98px){
  .ac-blog-grid{grid-template-columns:1fr}
}

/* buscador flotante siempre desplegado */
.ac-search-float{display:block !important;bottom:20px !important}
.ac-search-fab{display:none !important}
@media (max-width: 575.98px){ .ac-search-float{bottom:12px !important} }

/* ---- widget blogs: dos columnas, 5 posts cada una ---- */
.ac-blog-grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:18px !important;
  max-width:900px;
}
.ac-blog-col{display:flex;flex-direction:column;gap:8px}
.ac-blog-fuente{
  color:#9fc4bf !important;font-size:11px;text-transform:uppercase;letter-spacing:.08em;
  margin:0 0 4px !important;font-weight:700;
}
.ac-blog-card{display:flex;gap:10px;align-items:center;background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.16);border-radius:12px;padding:8px;text-decoration:none;
  transition:background .18s ease,transform .18s ease}
.ac-blog-card:hover{background:rgba(255,255,255,.16);transform:translateY(-1px)}
.ac-blog-img{flex:0 0 52px;width:52px;height:52px;border-radius:9px;background-size:cover;
  background-position:center;background-color:rgba(255,255,255,.12)}
.ac-blog-sin{background-image:linear-gradient(135deg,#0e5a8a,#0a3b5c)}
.ac-blog-txt{display:flex;flex-direction:column;min-width:0}
.ac-blog-post{font-size:12.5px;color:#fff !important;font-weight:600;line-height:1.3;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ac-blog-fecha{font-size:10.5px;color:#9fc4bf;margin-top:2px}
@media (max-width: 767.98px){
  .ac-blog-grid{grid-template-columns:1fr !important}
}

/* separar los iconos sociales de la caja de suscripción */
#footer .block-social,
.footer-container .block-social{
  margin-top:26px !important;
  padding-top:6px;
}
#footer .block_newsletter + .block-social,
.footer-container .block_newsletter + .block-social{
  margin-top:30px !important;
}

/* ---- pie: redes centradas y blogs debajo, también centrados ---- */
#footer .block-social,
.footer-container .block-social{
  display:flex !important;
  justify-content:center !important;
  width:100%;
  text-align:center;
  margin:26px auto 0 !important;
}
#footer .block-social ul,
.footer-container .block-social ul{
  display:flex !important;
  justify-content:center !important;
  gap:12px !important;
  margin:0 auto !important;
  padding:0 !important;
}
#footer .block-social li,
.footer-container .block-social li{margin:0 !important}

.ac-blog-wrap{
  width:100%;
  margin:20px auto 0 !important;
  text-align:center;
}
.ac-blog-titulo{text-align:center}
.ac-blog-grid{
  margin:0 auto !important;
  justify-items:center;
}
.ac-blog-col{width:100%}
.ac-blog-card{text-align:left}

/* mas aire entre las redes sociales y el titulo de ultimos articulos */
.ac-blog-wrap{margin-top:42px !important}
.ac-blog-titulo{margin-bottom:16px !important}

/* margen inferior del bloque de feeds */
.ac-blog-wrap{margin-bottom:30px !important;padding-bottom:6px}

/* lupa fuera, a la izquierda de la caja de busqueda */
.ac-search-float{
  padding:10px 12px 10px 46px !important;
}
.ac-search-float form{position:relative !important}
.ac-search-float form .material-icons.search,
.ac-search-float .material-icons.search{
  position:absolute !important;
  left:-34px !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  font-size:22px !important;
  color:#0e5a8a !important;
  pointer-events:none;
  margin:0 !important;
}
.ac-search-float input[type="text"]{
  padding-left:12px !important;
  background-image:none !important;
}

/* mas separacion y forzar que los feeds vayan debajo de las redes */
.ac-blog-wrap{
  display:block !important;
  width:100% !important;
  flex:0 0 100% !important;
  flex-basis:100% !important;
  clear:both !important;
  margin-top:60px !important;
  padding-top:8px;
}
.ac-blog-titulo{margin-top:0 !important;margin-bottom:18px !important}

/* separacion real entre iconos y "Ultimos articulos" */
.ac-blog-titulo{
  padding-top:46px !important;
  margin-top:0 !important;
  margin-bottom:20px !important;
}

/* lupa visible a la izquierda de la caja */
.ac-search-float form .material-icons.search,
.ac-search-float .material-icons.search{display:none !important}
.ac-search-float::before{
  content:"";
  position:absolute;
  left:14px;
  top:50%;
  transform:translateY(-50%);
  width:20px;height:20px;
  background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230e5a8a' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-3.6-3.6'/%3E%3C/svg%3E") center/contain no-repeat;
  pointer-events:none;
}
.ac-search-float{padding-left:46px !important}

/* separacion extra bajo las redes sociales */
#footer .block-social, .footer-container .block-social{
  margin-bottom:44px !important;
}

/* resultados de busqueda: tarjetas redondeadas con relieve */
#products .product-miniature .thumbnail-container,
.product-list .product-miniature .thumbnail-container,
.js-product-miniature .thumbnail-container,
.product-miniature .thumbnail-container{
  border-radius:12px !important;
  box-shadow:0 1px 2px rgba(6,42,64,.06), 0 10px 26px rgba(6,42,64,.10) !important;
  border:1px solid #dbe9f2 !important;
  background:#fff !important;
  overflow:hidden !important;
}
#products .product-miniature .thumbnail-container:hover,
.product-miniature .thumbnail-container:hover{
  box-shadow:0 14px 34px rgba(6,42,64,.18) !important;
  transform:translateY(-2px);
}
