/* Magic Spirit visual fixes - version 20261028-1 */
@media (min-width: 768px) {
  #_desktop_ps_searchbar .ps-searchbar { width: 100% !important; min-width: 0 !important; max-width: 100% !important; }
  #_desktop_ps_searchbar .ps-searchbar__form { width: 100% !important; min-width: 0 !important; }
  #_desktop_ps_searchbar .ps-searchbar__input { width: 100% !important; min-width: 0 !important; max-width: 100% !important; }
}
#footer .footer__before #emailsubscription_anchor_displayFooterBefore,
#footer .footer__before #emailsubscription_anchor_displayFooterBefore.bg-body-tertiary { background: transparent !important; color: #f6eef7 !important; }
#footer #emailsubscription_anchor_displayFooterBefore .h3 { color: #fff !important; }
#footer #emailsubscription_anchor_displayFooterBefore .text-body-secondary { color: #e6dce8 !important; }
#content .product-miniature .product-flags > .badge.out_of_stock { background: #766b74 !important; color: #fff !important; border-radius: 20px; padding: .35rem .65rem; font-size: .74rem; }

/* Magic Spirit: menú, categorías, blog y pie */
@media (min-width: 1200px) {
  .js-menu-desktop .submenu {
    width: 420px !important;
    max-width: calc(100vw - 24px) !important;
    left: 50% !important;
    transform: translateX(-50%);
    border-radius: 0 0 16px 16px;
    box-shadow: 0 14px 34px rgba(52, 31, 54, .16);
    max-height: min(70vh, 560px);
    overflow-y: auto;
  }
  .js-menu-desktop .submenu .container { width: 100% !important; max-width: none !important; padding: 12px 16px !important; }
  .js-menu-desktop .submenu__row { margin: 0 !important; }
  .js-menu-desktop .submenu__left { flex: 0 0 100% !important; max-width: 100% !important; }
  .js-menu-desktop .submenu__right { display: none !important; }
}
.js-menu-desktop .submenu__left a {
  display: flex;
  align-items: center;
  min-height: 44px;
  padding: 10px 12px;
  border-radius: 10px;
  color: #4b2948 !important;
  text-decoration: none;
  transition: background-color .16s ease, color .16s ease;
}
.js-menu-desktop .submenu__left a:hover,
.js-menu-desktop .submenu__left a:focus-visible { background: #f6eaf0; color: #9b4f6c !important; }

/* Las categorías sin navegación lateral usan todo el ancho disponible. */
body.page-category #left-column:not(:has(*)) { display: none !important; }
body.page-category #left-column:not(:has(*)) + #center-column {
  flex: 0 0 100% !important;
  width: 100% !important;
  max-width: 100% !important;
}

/* Blog: presentación editorial con tarjetas de lectura. */
body.cms-id-13 #main h1,
body.cms-id-13 #content h1 { color: #4b2948; letter-spacing: -.025em; }
body.cms-id-13 .page-content { max-width: 1000px; margin-inline: auto; color: #443842; line-height: 1.7; }
body.cms-id-13 .page-content > p:first-of-type {
  margin: 0 0 20px;
  padding: 22px 26px;
  border-left: 4px solid #b95770;
  border-radius: 0 16px 16px 0;
  background: linear-gradient(110deg, #f7eaf0, #fbf7f2);
  font-size: 1.08rem;
}
body.cms-id-13 .page-content > p:nth-of-type(2) { margin: 0 0 28px; text-align: center; }
body.cms-id-13 .page-content > p:nth-of-type(2) a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 10px 20px;
  border-radius: 999px;
  background: #4b2948;
  color: #fff !important;
  font-weight: 600;
  text-decoration: none;
}
body.cms-id-13 .page-content > p:nth-of-type(2) a:hover { background: #713d66; }
body.cms-id-13 .page-content h2 { margin: 0 0 14px; color: #4b2948; font-size: 1.45rem; }
body.cms-id-13 .page-content ul {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr));
  gap: 16px;
  margin: 0 0 24px;
  padding: 0;
  list-style: none;
}
body.cms-id-13 .page-content li {
  min-height: 118px;
  padding: 21px;
  border: 1px solid #eadde4;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 6px 18px rgba(64, 41, 58, .06);
  transition: transform .16s ease, box-shadow .16s ease;
}
body.cms-id-13 .page-content li:hover { transform: translateY(-2px); box-shadow: 0 10px 24px rgba(64, 41, 58, .11); }
body.cms-id-13 .page-content li a { color: #4b2948; font-weight: 650; text-decoration: none; }
body.cms-id-13 .page-content li a:hover { color: #a54f70; text-decoration: underline; text-underline-offset: 3px; }
body.cms-id-13 .page-content > p:last-of-type {
  margin: 0;
  padding: 16px 20px;
  border-radius: 14px;
  background: #f7f3ef;
  color: #64545c;
}

/* Lectura cómoda para los tres artículos publicados. */
body.cms-id-10 .page-content,
body.cms-id-11 .page-content,
body.cms-id-12 .page-content { max-width: 860px; margin-inline: auto; color: #443842; font-size: 1.04rem; line-height: 1.8; }
body.cms-id-10 .page-content > p:first-of-type,
body.cms-id-11 .page-content > p:first-of-type,
body.cms-id-12 .page-content > p:first-of-type {
  padding: 18px 22px;
  border-left: 4px solid #b95770;
  border-radius: 0 14px 14px 0;
  background: #f7eaf0;
  font-size: 1.1rem;
}
body.cms-id-10 .page-content h2,
body.cms-id-11 .page-content h2,
body.cms-id-12 .page-content h2 { margin-top: 1.8em; padding-left: 14px; border-left: 3px solid #c79552; color: #4b2948; }
body.cms-id-10 .page-content ul,
body.cms-id-11 .page-content ul,
body.cms-id-12 .page-content ul { padding: 18px 22px 18px 42px; border-radius: 14px; background: #f7f3ef; }

/* Boletín legible y coordinado con el pie en color ciruela. */
#emailsubscription_anchor_displayFooterBefore {
  padding-block: 22px;
  background: #f5e9ef !important;
  color: #4b2948 !important;
}
#emailsubscription_anchor_displayFooterBefore .h3 { color: #4b2948 !important; font-weight: 700; line-height: 1.4; }
#emailsubscription_anchor_displayFooterBefore .text-body-secondary { color: #695564 !important; line-height: 1.5; }

/* Contraste del boletin en la franja clara del pie */
#footer .footer__before #emailsubscription_anchor_displayFooterBefore.bg-body-tertiary { background: #f5e9ef !important; color: #4b2948 !important; }
#footer #emailsubscription_anchor_displayFooterBefore .h3 { color: #4b2948 !important; }
#footer #emailsubscription_anchor_displayFooterBefore .text-body-secondary { color: #695564 !important; }

/* Brand colors and clear mobile navigation */
.product-miniature__add.btn-primary { background: #b95770 !important; border-color: #b95770 !important; color: #fff !important; border-radius: 10px; transition: background-color .16s ease, border-color .16s ease; }
.product-miniature__add.btn-primary:hover, .product-miniature__add.btn-primary:focus-visible { background: #4b2948 !important; border-color: #4b2948 !important; color: #fff !important; }
.product-miniature .product-flags .badge.out_of_stock { background: #766b74 !important; color: #fff !important; border: 0 !important; border-radius: 999px !important; padding: .38rem .72rem !important; font-size: .76rem; }
#mobileMenu .menu__list > li { border-bottom: 1px solid #f0e5eb; }
#mobileMenu .menu__link { display: flex; align-items: center; min-height: 48px; padding: 10px 16px; color: #4b2948 !important; -webkit-text-fill-color: #4b2948 !important; font-size: 1rem; font-weight: 550; text-decoration: none; }
#mobileMenu .menu__toggle-child { display: grid; place-items: center; width: 42px; height: 42px; margin: 0 8px; border-radius: 50%; background: #f7eaf0; color: #a64f6d !important; }
#mobileMenu .offcanvas-header { min-height: 56px; border-bottom: 1px solid #f0e5eb; }
.subcategory__link:has(.subcategory__thumbnail[src*="es-default-small_default"]) { min-height: 74px; padding: 12px 16px; border: 1px solid #eadde4; border-radius: 12px; background: #f7edf2; }
.subcategory__thumbnail[src*="es-default-small_default"] { display: none !important; }

/* Keep sale markers within the brand palette */
.product-miniature .product-flags .badge.on-sale { background: #b95770 !important; color: #fff !important; border-radius: 999px !important; padding: .38rem .72rem !important; }
