/* 420CreaStack WooCommerce compatibility layer for La Tienda de la Farmacia */
.woocommerce .cs420-woo-wrap,.cs420-woo-wrap{max-width:1180px;margin:0 auto;padding:28px 18px 52px;box-sizing:border-box}.cs420-woo-shell{background:#fff}.woocommerce .woocommerce-breadcrumb{font-size:13px;color:#64748b;margin:0 0 18px}.woocommerce .woocommerce-breadcrumb a{color:#2c7a78;text-decoration:none}.woocommerce h1.page-title,.woocommerce div.product .product_title{color:#182433;font-weight:800;letter-spacing:-.035em;line-height:1.05}.woocommerce ul.products{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.woocommerce ul.products::before,.woocommerce ul.products::after{display:none!important}.woocommerce ul.products li.product,.woocommerce-page ul.products li.product{float:none!important;width:auto!important;margin:0!important;background:#fff;border:1px solid #e8eef3;border-radius:18px;padding:16px;box-shadow:0 10px 28px rgba(24,36,51,.05);display:flex;flex-direction:column;min-height:100%}.woocommerce ul.products li.product a img{height:210px;object-fit:contain;margin:0 auto 14px;border-radius:12px}.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:15px;line-height:1.25;font-weight:800;color:#182433;min-height:42px;padding:0;margin:0 0 8px}.woocommerce ul.products li.product .price{font-size:18px;font-weight:900;color:#111827;margin:0 0 12px}.woocommerce ul.products li.product .button,.woocommerce div.product form.cart .button,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button{background:#2c7a78;color:#fff;border-radius:10px;border:0;font-weight:800;padding:12px 18px;text-align:center;transition:.2s}.woocommerce ul.products li.product .button{margin-top:auto}.woocommerce ul.products li.product .button:hover,.woocommerce div.product form.cart .button:hover,.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover{background:#235f5d;color:#fff}.woocommerce span.onsale{background:#2c7a78;color:#fff;border-radius:999px;min-height:auto;line-height:1;padding:7px 10px;font-weight:800}.woocommerce div.product div.images img{border-radius:18px;border:1px solid #e8eef3;background:#fff}.woocommerce div.product .summary{background:#fff;border:1px solid #e8eef3;border-radius:22px;padding:26px;box-shadow:0 10px 28px rgba(24,36,51,.05)}.woocommerce div.product p.price,.woocommerce div.product span.price{color:#182433;font-size:28px;font-weight:900}.woocommerce .quantity .qty{border:1px solid #d9e2ea;border-radius:10px;padding:10px;min-height:44px}.woocommerce-message,.woocommerce-info,.woocommerce-error{border-radius:14px;border-top-color:#2c7a78;background:#f8fffb;color:#182433}.woocommerce-message::before,.woocommerce-info::before{color:#2c7a78}.woocommerce nav.woocommerce-pagination ul{border:0;display:flex;gap:8px;justify-content:center}.woocommerce nav.woocommerce-pagination ul li{border:0}.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{border-radius:10px;background:#f4f7f9;color:#182433;font-weight:700}.woocommerce nav.woocommerce-pagination ul li span.current{background:#2c7a78;color:#fff}@media(max-width:1024px){.woocommerce ul.products{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:767px){.woocommerce .cs420-woo-wrap,.cs420-woo-wrap{padding:20px 14px 42px}.woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.woocommerce ul.products li.product{padding:12px;border-radius:16px}.woocommerce ul.products li.product a img{height:135px}.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:13px;min-height:48px}.woocommerce ul.products li.product .price{font-size:16px}.woocommerce div.product .summary{padding:20px;border-radius:18px}}

/* 1.0.0-beta.4.5 — Shop Builder filters + native archive loop */
.cs420-woo-filters-shell{width:100%;box-sizing:border-box}.cs420-woo-filters{display:block}.cs420-woo-filters-mobile{display:none}.cs420-woo-filter-card{background:#fff;border:1px solid #e8eef3;border-radius:18px;padding:18px;margin:0 0 14px;box-shadow:0 10px 26px rgba(24,36,51,.045);box-sizing:border-box}.cs420-woo-filter-title{display:flex;align-items:center;gap:8px;margin:0 0 12px;color:#182433;font-size:16px;font-weight:900;line-height:1.2}.cs420-woo-filter-title:before{content:"";width:8px;height:8px;border-radius:999px;background:#2c7a78;display:inline-block;flex:0 0 auto}.cs420-woo-filter-card ul{list-style:none;margin:0;padding:0}.cs420-woo-filter-card li{margin:8px 0;color:#4b5b68;font-size:14px;line-height:1.35}.cs420-woo-filter-card a{color:#2c7a78;text-decoration:none;font-weight:700}.cs420-woo-filter-card a:hover{text-decoration:underline}.cs420-woo-filter-card .count{color:#7b8794}.cs420-woo-filter-card select,.cs420-woo-filter-card input[type="text"],.cs420-woo-filter-card input[type="number"],.cs420-woo-filter-card input[type="search"]{width:100%;border:1px solid #dbe4ea;border-radius:10px;min-height:40px;padding:8px 10px;background:#fff;color:#182433}.cs420-woo-filter-card .price_slider_wrapper .ui-widget-content{background:#e4ecea;border:0;border-radius:999px}.cs420-woo-filter-card .price_slider_wrapper .ui-slider .ui-slider-range,.cs420-woo-filter-card .price_slider_wrapper .ui-slider .ui-slider-handle{background:#2c7a78}.cs420-woo-filter-card .price_slider_amount{display:flex;gap:8px;align-items:center;justify-content:space-between;flex-wrap:wrap;font-size:13px;color:#667786}.cs420-woo-filter-card .price_slider_amount .button{background:#2c7a78;color:#fff;border-radius:10px;border:0;padding:9px 12px;font-weight:800}.cs420-woo-filter-card--tip{background:#f8faf9}.cs420-woo-filter-card--tip p{margin:0;color:#667786;font-size:13px;line-height:1.55}.cs420-woo-archive-loop{width:100%;box-sizing:border-box}.cs420-woo-archive-loop .woocommerce-notices-wrapper{margin-bottom:12px}.cs420-woo-archive-loop .woocommerce-result-count{margin:0 0 18px;color:#667786;font-size:14px}.cs420-woo-archive-loop .woocommerce-ordering{margin:0 0 18px}.cs420-woo-archive-loop .woocommerce-ordering select{border:1px solid #dbe4ea;border-radius:12px;min-height:44px;padding:8px 38px 8px 12px;background:#fff;color:#182433}.cs420-woo-archive-loop .woocommerce-result-count,.cs420-woo-archive-loop .woocommerce-ordering{display:inline-flex;vertical-align:middle}.cs420-woo-archive-loop .woocommerce-ordering{float:right}.cs420-woo-archive-loop ul.products{clear:both;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.cs420-woo-archive-loop__preview{background:#fff;border:1px dashed #b9c7d2;border-radius:18px;padding:18px}.cs420-woo-archive-loop__preview>p{margin:0 0 10px;color:#667786}.elementor-widget-shortcode .cs420-woo-filters-shell,.elementor-widget-shortcode .cs420-woo-archive-loop{font-family:inherit}@media(max-width:1024px){.cs420-woo-archive-loop ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:767px){.cs420-woo-filters--desktop{display:none}.cs420-woo-filters-mobile{display:block;margin:0 0 18px}.cs420-woo-filters-mobile__summary{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;background:#2c7a78;color:#fff;border-radius:14px;padding:13px 16px;font-weight:900;cursor:pointer;box-sizing:border-box;list-style:none}.cs420-woo-filters-mobile__summary::-webkit-details-marker{display:none}.cs420-woo-filters-mobile__icon{font-size:15px;line-height:1}.cs420-woo-filters-mobile__content{padding-top:12px}.cs420-woo-filter-card{border-radius:16px;padding:15px;margin-bottom:12px}.cs420-woo-archive-loop .woocommerce-result-count{display:block;margin:0 0 10px}.cs420-woo-archive-loop .woocommerce-ordering{display:block;float:none;margin:0 0 16px}.cs420-woo-archive-loop .woocommerce-ordering select{width:100%;max-width:100%}.cs420-woo-archive-loop ul.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}

/* ==============================================================
   420CreaStack beta.57 — WooCommerce system pages
   Mi cuenta / Carrito / Checkout: layout nativo, responsive y sin sidebar
   ============================================================== */
body.cs420-woo-system-page .cs420-sidebar {
  display: none !important;
}

body.cs420-woo-system-page .cs420-woo-system-main {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body.cs420-woo-system-page .cs420-woo-system-wrap {
  width: 100%;
  max-width: 1180px;
  margin: 0 auto;
  padding: 32px 18px 56px;
  box-sizing: border-box;
}

body.cs420-woo-system-page .cs420-woo-system-wrap > .woocommerce {
  width: 100%;
  max-width: none;
  margin: 0;
  box-sizing: border-box;
}

/* Mi cuenta · usuario conectado
 * WooCommerce imprime .woocommerce-notices-wrapper antes de la navegación.
 * Se integra como una fila de ancho completo para que nunca desplace el menú
 * ni comprima el contenido de la cuenta.
 */
body.woocommerce-account.logged-in .cs420-woo-system-wrap > .woocommerce {
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
  column-gap: 24px;
  row-gap: 0;
  align-items: start;
}

body.woocommerce-account.logged-in .cs420-woo-system-wrap > .woocommerce > .woocommerce-notices-wrapper {
  grid-column: 1 / -1;
  width: 100%;
  min-width: 0;
  margin: 0 0 16px;
  box-sizing: border-box;
}

body.woocommerce-account.logged-in .cs420-woo-system-wrap > .woocommerce > .woocommerce-notices-wrapper:empty {
  display: none;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation,
body.woocommerce-account.logged-in .woocommerce-MyAccount-content {
  float: none !important;
  width: 100% !important;
  min-width: 0;
  margin: 0 !important;
  box-sizing: border-box;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation {
  grid-column: 1;
  background: #fff;
  border: 1px solid #e8eef3;
  border-radius: 20px;
  padding: 10px;
  box-shadow: 0 10px 28px rgba(24,36,51,.05);
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-content {
  grid-column: 2;
  background: #fff;
  border: 1px solid #e8eef3;
  border-radius: 20px;
  padding: 26px;
  box-shadow: 0 10px 28px rgba(24,36,51,.05);
  color: #344454;
  overflow: visible;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation ul {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation li {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation li::marker {
  content: "";
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation a {
  display: flex;
  align-items: center;
  min-height: 44px;
  padding: 10px 13px;
  border-radius: 12px;
  color: #344454;
  text-decoration: none;
  font-size: 14px;
  font-weight: 750;
  line-height: 1.25;
  transition: background-color .18s, color .18s;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation a:hover {
  background: #f4f8f7;
  color: #1e5f5d;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation .is-active > a {
  background: #eaf5f2;
  color: #1f625f;
  font-weight: 850;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-content > :first-child {
  margin-top: 0;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-content > :last-child {
  margin-bottom: 0;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-content a {
  color: #216865;
  text-underline-offset: 2px;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-content h2,
body.woocommerce-account.logged-in .woocommerce-MyAccount-content h3 {
  color: #182433;
  letter-spacing: -.02em;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-content .button,
body.woocommerce-account.logged-in .woocommerce-MyAccount-content button.button {
  border-radius: 10px !important;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-content table.shop_table {
  border: 1px solid #e8eef3;
  border-radius: 14px;
  overflow: hidden;
  border-collapse: separate;
  border-spacing: 0;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-content table.shop_table th {
  background: #f7f9fa;
  color: #182433;
  font-weight: 800;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-content table.shop_table th,
body.woocommerce-account.logged-in .woocommerce-MyAccount-content table.shop_table td {
  padding: 13px 14px;
  border-color: #edf1f4;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-content input.input-text,
body.woocommerce-account.logged-in .woocommerce-MyAccount-content input[type="text"],
body.woocommerce-account.logged-in .woocommerce-MyAccount-content input[type="email"],
body.woocommerce-account.logged-in .woocommerce-MyAccount-content input[type="password"],
body.woocommerce-account.logged-in .woocommerce-MyAccount-content input[type="tel"],
body.woocommerce-account.logged-in .woocommerce-MyAccount-content select,
body.woocommerce-account.logged-in .woocommerce-MyAccount-content textarea {
  width: 100%;
  max-width: 100%;
  min-height: 44px;
  border: 1px solid #d9e2ea;
  border-radius: 10px;
  padding: 10px 12px;
  background: #fff;
  color: #182433;
  box-sizing: border-box;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-content img {
  max-width: 100%;
  height: auto;
}

/* Mi cuenta · acceso/registro */
body.woocommerce-account:not(.logged-in) .cs420-woo-system-wrap > .woocommerce {
  max-width: 960px;
  margin: 0 auto;
}

body.woocommerce-account:not(.logged-in) .woocommerce form.login,
body.woocommerce-account:not(.logged-in) .woocommerce form.register {
  border: 1px solid #e8eef3;
  border-radius: 20px;
  padding: 24px;
  box-shadow: 0 10px 28px rgba(24,36,51,.05);
  background: #fff;
}

/* Tablet y móvil: Mi cuenta siempre se apila.
 * El umbral de 1024 px evita layouts estrechos en móviles de alta densidad,
 * tablets y navegadores con viewport amplio.
 */
@media (max-width: 1024px) {
  body.woocommerce-account.logged-in .cs420-woo-system-wrap > .woocommerce {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 16px;
  }

  body.woocommerce-account.logged-in .cs420-woo-system-wrap > .woocommerce > .woocommerce-notices-wrapper,
  body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation,
  body.woocommerce-account.logged-in .woocommerce-MyAccount-content {
    grid-column: 1;
  }

  body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation {
    padding: 7px;
    border-radius: 16px;
    overflow: hidden;
  }

  body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation ul {
    flex-direction: row;
    gap: 6px;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    padding-bottom: 2px !important;
  }

  body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation li {
    flex: 0 0 auto;
  }

  body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation a {
    min-height: 40px;
    padding: 9px 12px;
    white-space: nowrap;
    font-size: 13px;
  }

  body.woocommerce-account.logged-in .woocommerce-MyAccount-content {
    padding: 20px;
    border-radius: 16px;
  }
}

@media (max-width: 767px) {
  body.cs420-woo-system-page .cs420-woo-system-wrap {
    padding: 22px 14px 42px;
  }

  body.woocommerce-account.logged-in .woocommerce-MyAccount-content {
    padding: 18px;
  }

  body.woocommerce-account.logged-in .woocommerce-MyAccount-content table.shop_table {
    display: block;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}
