/* CYM / 2026-10-31 / primera capa visual. Sin cambios en datos o compra. */
:root {
  --cym-ink: #242629;
  --cym-muted: #62666b;
  --cym-line: #e3e5e7;
  --cym-soft: #f7f7f5;
  --cym-buy: #9e4435;
  --cym-buy-hover: #7d3328;
}

/* Mantener la estructura y los iconos del tema; solo modernizar su aspecto. */
body#index, body#category, body#search, body#product,
body#manufacturer, body#best-sales, body#prices-drop, body#new-products {
  color: var(--cym-ink);
  background: #fff;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
}
.columns-container { background: #fff; }
.page-heading, .page-subheading, .product-name, h1, h2, h3 {
  color: var(--cym-ink);
}
.page-heading {
  border-color: var(--cym-line);
  font-weight: 600;
  letter-spacing: -.02em;
}

/* CTA de compra, incluidos los span internos con degradados del tema antiguo. */
.button.ajax_add_to_cart_button,
#add_to_cart button.exclusive {
  background: var(--cym-buy);
  background-image: none;
  border: 1px solid var(--cym-buy);
  border-radius: 8px;
  color: #fff;
  box-shadow: none;
  text-shadow: none;
  font-family: inherit;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.4;
  min-height: 44px;
  transition: background-color .15s ease, border-color .15s ease;
}
.button.ajax_add_to_cart_button span,
#add_to_cart button.exclusive span {
  background: transparent;
  background-image: none;
  border: 0;
  border-radius: inherit;
  color: inherit;
  padding: 12px 16px;
  text-shadow: none;
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
}
.button.ajax_add_to_cart_button:hover,
#add_to_cart button.exclusive:hover {
  background: var(--cym-buy-hover);
  border-color: var(--cym-buy-hover);
  color: #fff;
}
.button.ajax_add_to_cart_button:hover span,
#add_to_cart button.exclusive:hover span {
  background: transparent;
  border-color: transparent;
  color: inherit;
}
.button.ajax_add_to_cart_button.disabled,
.button.ajax_add_to_cart_button[disabled],
#add_to_cart button.exclusive.disabled,
#add_to_cart button.exclusive[disabled] {
  background: #eceeef;
  border-color: #dfe2e4;
  color: #72777c;
  opacity: .8;
  cursor: not-allowed;
}
#add_to_cart button.exclusive {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  width: 100%;
  padding: 0 16px;
}
#add_to_cart button.exclusive span { padding: 12px 0; }
#add_to_cart button.exclusive:before {
  position: static;
  align-self: center;
  width: auto;
  height: auto;
  margin-right: 10px;
  border: 0;
  font-size: 20px;
  line-height: 1;
  text-shadow: none;
}
#add_to_cart button.exclusive:after { display: none; }
.button.lnk_view {
  background: #fff;
  border: 1px solid #cbd0d4;
  border-radius: 8px;
  color: var(--cym-ink);
  text-shadow: none;
  box-shadow: none;
  min-height: 44px;
}
.button.lnk_view span,
.button.lnk_view:hover span {
  padding: 12px 16px;
  border: 0;
  background: transparent;
  color: inherit;
  text-shadow: none;
  font-family: inherit;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.4;
}
.button.lnk_view:hover { background: var(--cym-soft); color: #111; }
.button.ajax_add_to_cart_button:focus-visible,
.button.lnk_view:focus-visible,
#add_to_cart button:focus-visible,
ul.product_list .product_img_link:focus-visible,
ul.product_list .product-name:focus-visible {
  outline: 3px solid #202124;
  outline-offset: 3px;
}

/* Rejilla: respetar columnas Bootstrap y el cambio existente entre grid/list. */
ul.product_list.grid {
  display: flex;
  flex-wrap: wrap;
  margin-left: -10px;
  margin-right: -10px;
}
ul.product_list.grid > li.ajax_block_product {
  display: flex;
  float: none;
  clear: none;
  padding: 10px;
  height: auto !important; /* Anula solo el salto de altura inline al hacer hover. */
  margin-bottom: 0 !important;
}
ul.product_list.grid > li.ajax_block_product .product-container {
  display: flex;
  flex-direction: column;
  width: 100%;
  min-width: 0;
  padding: 12px;
  border: 1px solid var(--cym-line);
  border-radius: 12px;
  background: #fff;
  box-shadow: none;
  transition: border-color .15s ease, box-shadow .15s ease;
}
ul.product_list.grid > li.ajax_block_product.hovered .product-container,
ul.product_list.grid > li.ajax_block_product .product-container:hover {
  border-color: #c9ced2;
  box-shadow: 0 5px 18px rgba(20, 24, 28, .06);
}
ul.product_list.grid > li .product-container .product-image-container {
  border: 0;
  padding: 0;
  margin: 0 0 14px;
  background: #fff;
}
ul.product_list.grid .product_img_link {
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1 / 1;
  border-radius: 8px;
}
ul.product_list.grid .product_img_link img {
  width: 100%;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}
ul.product_list.grid .right-block {
  display: flex;
  flex-direction: column;
  flex: 1 0 auto;
}
ul.product_list.grid > li .product-container h5,
ul.product_list.grid > li.hovered h5 {
  padding: 0;
  margin: 0 0 10px;
  min-height: 60px;
}
ul.product_list.grid .product-name {
  font-family: inherit;
  font-weight: 500;
  font-size: 14px;
  line-height: 1.45;
  color: var(--cym-ink);
}
ul.product_list.grid .product-name:hover { color: #000; text-decoration: underline; }
ul.product_list.grid > li .product-container .right-block > .content_price {
  display: block !important;
  min-height: 38px;
  padding: 0 0 12px;
}
ul.product_list.grid > li .product-container .product-image-container .content_price {
  display: none !important; /* Evita duplicar u ocultar el precio al pasar el raton. */
}
ul.product_list .price.product-price {
  color: var(--cym-ink);
  font-family: inherit;
  font-size: 21px;
  font-weight: 700;
}
ul.product_list .old-price.product-price { color: var(--cym-muted); font-size: 13px; font-weight: 400; }
ul.product_list.grid > li .product-container .button-container {
  display: flex !important; /* Visible sin depender de hover o del dispositivo. */
  flex-wrap: wrap;
  justify-content: center;
  gap: 7px;
  margin: auto 0 8px;
  padding: 0;
}
ul.product_list.grid > li .product-container .button-container .button {
  margin: 0;
  max-width: 100%;
  white-space: normal;
}
ul.product_list.grid .button-container .button span { padding: 11px 12px; }
ul.product_list.grid > li .product-container .functional-buttons {
  display: block !important;
  background: none;
  border-top: 1px solid var(--cym-line);
  margin-top: 8px;
}
ul.product_list.grid > li .product-container .comments_note { display: block; }
/* Conservar los colores semanticos existentes de stock, error y aviso. */
ul.product_list .availability span { border-radius: 5px; font-size: 12px; }
/* Dos columnas solo con espacio suficiente; no cambiar carruseles de modulos. */
@media (min-width: 380px) and (max-width: 767px) {
  ul.product_list.grid > li.ajax_block_product { width: 50%; }
  ul.product_list.grid > li .product-container { padding: 10px; border-radius: 10px; }
  ul.product_list.grid > li .product-container .button-container .button { width: 100%; }
  ul.product_list.grid > li .product-container h5,
  ul.product_list.grid > li.hovered h5 { min-height: 80px; }
}
@media (max-width: 379px) {
  ul.product_list.grid > li.ajax_block_product { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .button.ajax_add_to_cart_button, #add_to_cart button.exclusive,
  ul.product_list.grid > li.ajax_block_product .product-container { transition: none; }
}

/* Segunda capa / Cristal: porcelana, grafito y cobre profundo. */
body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif; }
#header .nav { background: var(--cym-soft); border-bottom: 1px solid var(--cym-line); }
#header .header_user_info { border-color: var(--cym-line); }
#header .header_user_info a, #header #languages-block-top .current { color: var(--cym-ink); text-shadow: none; }
#header .header_user_info a:hover, #header .header_user_info a.active,
#header #languages-block-top .current:hover { background: #eceeec; }
#search_block_top #search_query_top { border-color: #d3d6d8; border-radius: 8px; background: #fff; color: var(--cym-ink); }
#search_block_top .btn.button-search { background: var(--cym-ink); border-radius: 0 8px 8px 0; text-shadow: none; }

/* Menu: conservar Superfish, sus aperturas y su acordeon movil. */
#block_top_menu { padding-top: 18px; }
#block_top_menu .sf-menu { background: #fff; border: 1px solid var(--cym-line); border-radius: 10px; }
#block_top_menu .sf-menu > li { border-right: 0; margin-bottom: 0; }
#block_top_menu .sf-menu > li > a {
  border: 0; border-radius: 8px; padding: 14px 17px;
  font-family: inherit; font-size: 13px; line-height: 20px;
  text-transform: none; font-weight: 600; color: var(--cym-ink);
}
#block_top_menu .sf-menu > li > a:hover,
#block_top_menu .sf-menu > li.sfHover > a,
#block_top_menu .sf-menu > li.sfHoverForce > a { background: var(--cym-soft); color: var(--cym-buy); }
#block_top_menu .sf-menu > li > ul {
  top: 100%; background: #fff; border: 1px solid var(--cym-line);
  border-radius: 0 0 12px 12px; box-shadow: 0 12px 30px rgba(24,28,32,.12);
  padding: 22px; max-height: 70vh; overflow-y: auto;
}
#block_top_menu .sf-menu > li > ul > li { padding: 8px 14px 8px 0; }
#block_top_menu .sf-menu > li > ul > li > a { font-family: inherit; font-size: 14px; line-height: 1.5; text-transform: none; color: var(--cym-ink); }
#block_top_menu .sf-menu > li > ul > li > a:hover { color: var(--cym-buy); }
#block_top_menu .cat-title { background: var(--cym-soft); color: var(--cym-ink); border: 1px solid var(--cym-line); border-radius: 8px; text-shadow: none; }
#block_top_menu .cat-title:after { color: var(--cym-ink); }

/* Carrito superior: panel claro, sin tocar display ni el codigo de apertura. */
#header .shopping_cart > a:first-child {
  background: #fff; border: 1px solid #cfd3d5; border-radius: 8px;
  color: var(--cym-muted); text-shadow: none; padding: 12px 14px;
}
#header .shopping_cart > a:first-child b,
#header .shopping_cart > a:first-child:before,
#header .shopping_cart > a:first-child:after { color: var(--cym-ink); }
#header .shopping_cart > a:first-child b { font-family: inherit; font-size: 16px; }
#header .shopping_cart > a:first-child:hover { border-color: var(--cym-buy); }
#header .cart_block { background: #fff; color: var(--cym-ink); border: 1px solid var(--cym-line); border-radius: 10px; box-shadow: 0 12px 30px rgba(24,28,32,.15); }
#header .cart_block a, #header .cart_block .price { color: var(--cym-ink); }
#header .cart_block a:hover { color: var(--cym-buy); }
#header .cart_block dt, #header .cart_block dt.first_item { background: none; border-bottom: 1px solid var(--cym-line); }
#header .cart_block .cart-prices, #header .cart_block .cart-buttons { background: var(--cym-soft); }
#header .cart_block .cart-prices-line { border-color: var(--cym-line); }
#header .cart_block .product-atributes a,
#header .cart_block .cart-info .quantity-formated { color: var(--cym-muted); }
#header .cart_block .cart_block_list .remove_link a,
#header .cart_block .cart_block_list .ajax_cart_block_remove_link { color: var(--cym-muted); }
#header .cart_block .cart_block_list .remove_link a:hover { color: #b42336; }

/* Avanzar en la compra: solo los botones explicitos del carrito. */
#header .cart_block a#button_order_cart,
#layer_cart .layer_cart_cart .button-container a.button,
.cart_navigation .standard-checkout {
  background: var(--cym-buy); background-image: none;
  border: 1px solid var(--cym-buy); border-radius: 8px;
  color: #fff; text-shadow: none; box-shadow: none; min-height: 44px;
}
#header .cart_block a#button_order_cart span,
#header .cart_block a#button_order_cart:hover span,
#layer_cart .layer_cart_cart .button-container a.button span,
.cart_navigation .standard-checkout span {
  background: transparent; background-image: none; border: 0;
  color: inherit; text-shadow: none; padding: 12px 16px;
  font-family: inherit; font-size: 14px; line-height: 1.4; font-weight: 600;
}
#header .cart_block a#button_order_cart:hover,
#layer_cart .layer_cart_cart .button-container a.button:hover,
.cart_navigation .standard-checkout:hover { background: var(--cym-buy-hover); border-color: var(--cym-buy-hover); color: #fff; }
#layer_cart .layer_cart_cart .button-container a.button:hover span,
.cart_navigation .standard-checkout:hover span { background: transparent; border: 0; color: inherit; }

/* Popup de compra: conservar cierre, overlay y posicion del modulo. */
#layer_cart { border-radius: 14px; border: 1px solid var(--cym-line); box-shadow: 0 20px 60px rgba(24,28,32,.2); }
#layer_cart .layer_cart_product { padding: 30px; }
#layer_cart .layer_cart_product .title,
#layer_cart .layer_cart_cart .title { font-family: inherit; font-size: 21px; font-weight: 600; line-height: 1.4; color: var(--cym-ink); }
#layer_cart .layer_cart_product .title i { color: #24734b; }
#layer_cart .layer_cart_cart { background: var(--cym-soft); border-color: var(--cym-line); border-radius: 0 14px 14px 0; padding: 28px; min-height: 0; }
#layer_cart .layer_cart_cart .button-container { position: static; padding: 18px 0 0; }
#layer_cart .layer_cart_product .product-image-container { border-color: var(--cym-line); border-radius: 8px; }
#layer_cart .layer_cart_cart .button-container .continue {
  background: #fff; border: 1px solid #cfd3d5; border-radius: 8px; color: var(--cym-ink); text-shadow: none; box-shadow: none;
}
#layer_cart .layer_cart_cart .button-container .continue span { border: 0; background: transparent; color: inherit; text-shadow: none; padding: 12px 16px; font-family: inherit; font-size: 14px; font-weight: 600; line-height: 1.4; }
#layer_cart .cross { width: 32px; height: 32px; top: 10px; right: 10px; }
#layer_cart .cross:before { font-size: 25px; line-height: 32px; text-align: center; }

/* Resumen del carrito: conservar todos los importes y campos. */
#cart_summary { border-color: var(--cym-line); background: #fff; }
#cart_summary thead th { background: var(--cym-soft); color: var(--cym-ink); text-shadow: none; border-color: var(--cym-line); font-weight: 600; }
#cart_summary td { border-color: var(--cym-line); }
#cart_summary tfoot td { background: var(--cym-soft); color: var(--cym-ink); }
#cart_summary .cart_total_price td { font-weight: 700; }
#cart_summary .cart_quantity_input { border: 1px solid #cfd3d5; border-radius: 6px; box-shadow: none; color: var(--cym-ink); }
#cart_summary .cart_quantity_button a { border-radius: 5px; background: var(--cym-soft); border-color: var(--cym-line); }

/* Disponibilidad discreta, manteniendo los textos y estados nativos. */
#cart_summary tbody td.cart_avail { vertical-align: middle; }
#cart_summary tbody td.cart_avail > .label {
  display: inline-flex; align-items: center; gap: 6px; max-width: 180px;
  padding: 5px 9px; border: 1px solid transparent; border-radius: 12px;
  font-family: inherit; font-size: 12px; font-weight: 500; line-height: 1.4;
  white-space: normal; text-align: left; text-shadow: none; box-shadow: none;
}
#cart_summary tbody td.cart_avail > .label:before {
  content: ''; flex: 0 0 6px; width: 6px; height: 6px;
  border-radius: 50%; background: currentColor;
}
#cart_summary tbody td.cart_avail > .label-success { color: #276046; background: #edf6f0; border-color: #d8e8dd; }
#cart_summary tbody td.cart_avail > .label-warning { color: #795419; background: #fff6e3; border-color: #eadfc7; }
#cart_summary tbody td.cart_avail > .label-danger { color: #454b51; background: #eef0f2; border-color: #d9dde1; }
@media (max-width: 767px) {
  #order-detail-content #cart_summary tbody td.cart_avail {
    display: block; clear: both; width: 100%; padding: 0 8px 8px; text-align: left;
  }
  #cart_summary tbody td.cart_avail > .label { max-width: 100%; }
}

/* Preguntanos: secundario grafito, formulario y respuestas del modulo intactos. */
#megaask_box .megaask_opener,
#megaask_box .megaask_opener:hover {
  background: var(--cym-ink); background-image: none; border: 1px solid var(--cym-ink);
  border-radius: 8px; min-height: 46px; max-width: 100%; padding: 12px 18px;
}
#megaask_box .megaask_opener:hover { background: #41454a; }
#megaask_box .megaask_opener span { color: #fff; font-family: inherit; font-size: 14px; font-weight: 600; text-shadow: none; }
.ui-dialog.megaask_form_dialog, .ui-dialog.megaask_result_dialog { background: #fff; border: 1px solid var(--cym-line); border-radius: 12px; max-width: calc(100% - 24px); box-shadow: 0 20px 60px rgba(24,28,32,.22); font-family: inherit; }
.megaask_form_dialog .ui-dialog-titlebar,
.megaask_result_dialog .ui-dialog-titlebar { background: var(--cym-ink); background-image: none; border: 0; border-radius: 8px 8px 0 0; color: #fff; padding: 14px; }
.megaask_formbox .megaask_form_control { border: 1px solid #cfd3d5; border-radius: 6px; color: var(--cym-ink); min-height: 40px; padding: 8px 28px 8px 10px; }
.megaask_formbox .megaask_form_control:focus { outline: 2px solid var(--cym-buy); outline-offset: 2px; }
.megaask_buttons .megaask_button_send { background: var(--cym-buy); border-color: var(--cym-buy); border-radius: 7px; min-height: 44px; padding: 10px 20px; }
.megaask_buttons .megaask_button_send:hover { background: var(--cym-buy-hover); }
.megaask_buttons .megaask_button_cancel { background: #fff; border: 1px solid #cfd3d5; color: var(--cym-ink); border-radius: 7px; min-height: 44px; padding: 10px 20px; }
.megaask_buttons .megaask_button_send[disabled] { background: #e0e2e4; border-color: #d3d6d8; color: #666; cursor: not-allowed; }

/* Footer grafito: jerarquia y contraste sin retirar enlaces. */
.footer-container { background: #242629; background-image: none; border-top: 1px solid #34373a; margin-top: 40px; }
.footer-container #footer { color: #d5d7d9; padding-top: 30px; padding-bottom: 35px; }
.footer-container #footer h4,
.footer-container #footer h4 a { color: #fff; text-shadow: none; font-family: inherit; font-size: 15px; font-weight: 600; text-transform: none; }
.footer-container #footer a { color: #d5d7d9; text-shadow: none; }
.footer-container #footer a:hover { color: #fff; text-decoration: underline; }
.footer-container #footer .footer-block ul li { padding-bottom: 10px; }
.footer-container #footer #block_contact_infos { border-color: #484b4e; }
.footer-container #footer #block_contact_infos > div ul li,
.footer-container #footer #block_contact_infos > div ul li i { color: #d5d7d9; }
.footer-container #footer #block_contact_infos > div ul li span { color: #fff; }
.footer-container #footer .bottom-footer { color: #c7cbcf; background: #242629; }
.footer-container #footer #social_block ul li a { color: #fff; }
.SEslider[class] .se-pager a { background-color: #bec2c5; }
.SEslider[class] .se-pager a.se-pager-link.active { background-color: var(--cym-buy); }

#block_top_menu a:focus-visible, #header .shopping_cart a:focus-visible,
#layer_cart .button:focus-visible, .megaask_opener:focus-visible,
.megaask_buttons button:focus-visible, .cart_navigation a:focus-visible {
  outline: 3px solid var(--cym-buy); outline-offset: 3px;
}
.footer-container a:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
@media (max-width: 767px) {
  #block_top_menu .sf-menu { border-top: 0; border-radius: 0 0 10px 10px; }
  #block_top_menu .sf-menu > li > a { padding: 14px 48px 14px 16px; }
  #block_top_menu .sf-menu > li > ul { top: 0; padding: 12px 16px; max-height: none; overflow: visible; box-shadow: none; border: 0; }
  #layer_cart { width: 94%; margin-left: 3%; margin-right: 3%; }
  #layer_cart .layer_cart_product, #layer_cart .layer_cart_cart { padding: 22px 18px; }
  #layer_cart .layer_cart_product .title { padding-right: 20px; font-size: 18px; }
  #layer_cart .layer_cart_cart { border-radius: 0 0 14px 14px; }
  #layer_cart .layer_cart_cart .button-container .button { width: 100%; margin-right: 0; }
  .ui-dialog.megaask_form_dialog, .ui-dialog.megaask_result_dialog { left: 12px !important; width: calc(100% - 24px) !important; }
  .megaask_form_dialog #megaask_product { float: none; width: 100%; }
  .megaask_form_dialog #megaask_product > img { max-width: 100px; }
  .megaask_form_dialog .megaask_formbox { float: none; width: 100%; }
  .megaask_form_dialog .megaask_form_control { width: 100%; }
  .footer-container #footer { padding-top: 20px; }
}

/* Tercera capa: orientacion, estados y formularios de compra. */
.breadcrumb {
  display: block; padding: 8px 0; margin: 8px 0 18px;
  background: transparent; border: 0; border-radius: 0;
  color: var(--cym-muted); font-size: 13px; font-weight: 400;
  line-height: 1.8; overflow: visible; overflow-wrap: anywhere;
}
.breadcrumb a, .breadcrumb a.home {
  display: inline; position: static; padding: 4px 2px; margin: 0;
  width: auto; height: auto; background: transparent;
  color: var(--cym-muted); font-size: inherit; line-height: inherit;
}
.breadcrumb a:before, .breadcrumb a:after { display: none; }
.breadcrumb a:hover { color: var(--cym-ink); text-decoration: underline; }
.breadcrumb .navigation-pipe { width: auto; text-indent: 0; padding: 0 7px; color: #777b80; }
.breadcrumb .item-breadalone { color: var(--cym-ink); }
.breadcrumb a:focus-visible { outline: 2px solid var(--cym-buy); outline-offset: 2px; }

/* Oferta no es una alarma: grafito, etiqueta plana, porcentaje coherente. */
ul.product_list .sale-box, ul.product_list .new-box,
#product .sale-box, #product .new-box {
  width: auto; height: auto; overflow: visible; z-index: 2; top: 8px;
}
ul.product_list .sale-box, #product .sale-box { right: 8px; }
ul.product_list .new-box, #product .new-box { left: 8px; }
.sale-box .sale-label, .new-box .new-label {
  position: static; display: block; width: auto;
  transform: none; -webkit-transform: none; -ms-transform: none;
  border-radius: 5px; padding: 6px 8px;
  font-family: inherit; font-size: 11px; line-height: 1.2;
  font-weight: 600; text-shadow: none; letter-spacing: .03em;
}
.sale-box .sale-label { background: var(--cym-ink); color: #fff; }
.new-box .new-label { background: #f1f2f0; border: 1px solid #dce0dd; color: #42484b; }
.sale-label:before, .sale-label:after,
.new-label:before, .new-label:after { display: none; }
ul.product_list .price-percent-reduction,
#product .price-percent-reduction,
#product #reduction_percent, #product #reduction_amount {
  background: #f2eeeb; border: 1px solid #ded4ce;
  color: #68483c; border-radius: 5px; text-shadow: none;
  font-family: inherit; font-size: 13px; font-weight: 600;
}
#product .special-price { color: var(--cym-ink); }

/* Disponibilidad: solo estados/textos existentes, nunca inventar stock. */
#availability_statut .label, ul.product_list .availability span {
  border: 1px solid transparent; border-radius: 6px;
  font-family: inherit; font-size: 12px; font-weight: 500;
  line-height: 1.5; padding: 5px 8px; white-space: normal;
}
#availability_statut .label-danger,
ul.product_list .availability .label-danger { color: #454b51; background: #eef0f2; border-color: #d9dde1; }
#availability_statut .label-warning,
ul.product_list .availability .label-warning { color: #795419; background: #fff6e3; border-color: #ead5a8; }
#availability_statut .label-success,
ul.product_list .availability .label-success { color: #276046; background: #edf6f0; border-color: #cbded2; }
ul.product_list .availability .label-danger { display: inline-block; margin: 4px 0 0; }

/* Alertas diferenciadas: error real rojo; aviso ambar; informacion neutra. */
#center_column .alert { border-radius: 8px; padding: 14px 16px; line-height: 1.6; text-shadow: none; }
#center_column .alert-danger { background: #fbeff0; border-color: #e8bdc2; color: #8a2632; }
#center_column .alert-warning { background: #fff7e8; border-color: #ead9b9; color: #745321; }
#center_column .alert-info { background: #f1f3f5; border-color: #d5dbe1; color: #414b56; }
#center_column .alert-success { background: #edf6f0; border-color: #cbded2; color: #276046; }
#center_column .alert a { color: inherit; text-decoration: underline; }

/* Paso actual legible: sin flechas de imagen ni degradados antiguos. */
ul#order_step { display: flex; flex-wrap: wrap; gap: 8px; height: auto; padding: 0; margin: 0 0 28px; background: none; border: 0; }
ul#order_step > li {
  flex: 1 1 140px; width: auto; height: auto; min-height: 48px;
  float: none; border: 1px solid var(--cym-line); border-radius: 8px;
  padding: 0; margin: 0; background: var(--cym-soft); background-image: none;
  color: var(--cym-muted); box-shadow: none;
}
ul#order_step > li > span, ul#order_step > li > a {
  display: block; height: auto; padding: 14px 12px;
  border: 0; border-radius: inherit; background: transparent; background-image: none;
  font-family: inherit; font-size: 13px; font-weight: 500;
  line-height: 1.5; color: inherit; text-shadow: none;
}
ul#order_step > li:before, ul#order_step > li:after,
ul#order_step > li > span:after, ul#order_step > li > a:after { display: none; }
ul#order_step > li.step_current { background: var(--cym-ink); border-color: var(--cym-ink); color: #fff; }
ul#order_step > li.step_current > span { color: #fff; }
ul#order_step > li.step_done { background: #fff; border-color: #bfc8c3; color: #354b40; }
ul#order_step > li.step_done a:hover { background: var(--cym-soft); text-decoration: underline; }
ul#order_step em { font-size: 12px; font-weight: 600; margin-right: 4px; }

/* Compra: solo presentacion, sin cambiar pasos ni pagos. */
body#order #center_column .box,
body#order-opc #center_column .box,
body#authentication #center_column .box {
  background: #fff; border: 1px solid var(--cym-line); border-radius: 10px; padding: 22px;
}
body#order #center_column input.form-control,
body#order-opc #center_column input.form-control,
body#authentication #center_column input.form-control,
body#order #center_column textarea.form-control,
body#order-opc #center_column textarea.form-control,
body#authentication #center_column textarea.form-control {
  min-height: 44px; border: 1px solid #cbd0d4; border-radius: 7px;
  background-color: #fff; color: var(--cym-ink); box-shadow: none;
}
body#order #center_column .form-control:focus,
body#order-opc #center_column .form-control:focus,
body#authentication #center_column .form-control:focus { border-color: var(--cym-buy); outline: 2px solid var(--cym-buy); outline-offset: 2px; }
body#order #center_column .form-group label,
body#order-opc #center_column .form-group label,
body#authentication #center_column .form-group label { color: var(--cym-ink); font-weight: 600; }
/* No anular validaciones ni estilos de proveedores de pago. */
body#order #center_column .form-group.form-error input,
body#order-opc #center_column .form-group.form-error input,
body#authentication #center_column .form-group.form-error input { border-color: #b42336; background-color: #fbeff0; }
body#order #center_column .form-group.form-ok input,
body#order-opc #center_column .form-group.form-ok input,
body#authentication #center_column .form-group.form-ok input { border-color: #559273; }
.cart_navigation .button.button-medium,
#center_column #SubmitLogin, #center_column #submitAccount,
#center_column #submitGuestAccount {
  background: var(--cym-buy); background-image: none;
  border: 1px solid var(--cym-buy); border-radius: 8px;
  min-height: 44px; color: #fff; box-shadow: none; text-shadow: none;
}
.cart_navigation .button.button-medium span,
#center_column #SubmitLogin span, #center_column #submitAccount span,
#center_column #submitGuestAccount span {
  border: 0; background: transparent; color: inherit; text-shadow: none;
  font-family: inherit; font-size: 14px; font-weight: 600; line-height: 1.4; padding: 12px 16px;
}
.cart_navigation .button.button-medium:hover,
#center_column #SubmitLogin:hover, #center_column #submitAccount:hover,
#center_column #submitGuestAccount:hover { background: var(--cym-buy-hover); border-color: var(--cym-buy-hover); }
.cart_navigation .button.button-medium:hover span,
#center_column #SubmitLogin:hover span, #center_column #submitAccount:hover span,
#center_column #submitGuestAccount:hover span { background: transparent; color: inherit; border: 0; }
.cart_navigation .button-exclusive { color: var(--cym-muted); font-weight: 500; text-shadow: none; }
.cart_navigation .button-exclusive:hover { color: var(--cym-ink); text-decoration: underline; }
.cart_navigation .button.button-medium:disabled,
.cart_navigation .button.button-medium.disabled,
#center_column #SubmitLogin:disabled, #center_column #submitAccount:disabled,
#center_column #submitGuestAccount:disabled { background: #e0e2e4; border-color: #d3d6d8; color: #666; cursor: not-allowed; }
body#order .delivery_options > div,
body#order-opc .delivery_options > div { border: 1px solid var(--cym-line); border-radius: 8px; background: #fff; margin-bottom: 12px; }
body#order .delivery_options table td,
body#order-opc .delivery_options table td { border-color: var(--cym-line); }
body#order h1.step-num span, body#order-opc h1.step-num span { background: var(--cym-ink); border-radius: 6px; }
body#order input:focus-visible, body#order button:focus-visible,
body#order-opc input:focus-visible, body#order-opc button:focus-visible,
body#authentication button:focus-visible { outline: 2px solid var(--cym-buy); outline-offset: 3px; }
@media (max-width: 767px) {
  ul#order_step { gap: 6px; }
  ul#order_step > li { flex-basis: calc(50% - 6px); }
  ul#order_step > li > span, ul#order_step > li > a { font-size: 12px; padding: 11px 9px; }
  body#order #center_column .box, body#order-opc #center_column .box,
  body#authentication #center_column .box { padding: 16px; }
  .cart_navigation .button.button-medium { width: 100%; text-align: center; margin-bottom: 14px; }
}

/* Tablas y paneles de compra: mismo sistema, sin cambiar su estructura. */
body#order #center_column .table,
body#order-opc #center_column .table,
body#order-detail #center_column .table,
body#authentication #center_column .table {
  background-color: #fff; border-color: var(--cym-line);
  color: var(--cym-ink); font-size: 14px; line-height: 1.55;
}
body#order #center_column .table > thead > tr > th,
body#order-opc #center_column .table > thead > tr > th,
body#order-detail #center_column .table > thead > tr > th,
body#authentication #center_column .table > thead > tr > th {
  background: var(--cym-soft); color: var(--cym-ink);
  border-color: var(--cym-line); padding: 14px 12px;
  font-family: inherit; font-weight: 600; text-shadow: none;
  vertical-align: middle;
}
body#order #center_column .table > tbody > tr > td,
body#order-opc #center_column .table > tbody > tr > td,
body#order-detail #center_column .table > tbody > tr > td,
body#authentication #center_column .table > tbody > tr > td {
  padding: 14px 12px; border-color: var(--cym-line); vertical-align: middle;
}
body#order #center_column .table > tfoot > tr > td,
body#order-opc #center_column .table > tfoot > tr > td,
body#order-detail #center_column .table > tfoot > tr > td {
  background: var(--cym-soft); padding: 12px; border-color: var(--cym-line);
  color: var(--cym-ink); text-shadow: none;
}
#cart_summary tfoot #total_price_container,
#cart_summary tfoot #total_price,
#cart_summary tfoot .cart_total_price .total_price_container {
  background: #f0f1ef; color: var(--cym-ink); font-weight: 700;
}
#cart_summary .cart_product img { border-radius: 6px; border: 1px solid var(--cym-line); }
#cart_summary .cart_description .product-name { font-family: inherit; line-height: 1.5; }
body#order #center_column .table-responsive,
body#order-opc #center_column .table-responsive,
body#order-detail #center_column .table-responsive { border-color: var(--cym-line); border-radius: 8px; }
body#order .delivery_options .delivery_option,
body#order-opc .delivery_options .delivery_option { overflow: hidden; }
body#order .delivery_options .delivery_option table,
body#order-opc .delivery_options .delivery_option table { margin-bottom: 0; }
body#order .delivery_options .delivery_option .delivery_option_radio,
body#order-opc .delivery_options .delivery_option .delivery_option_radio { vertical-align: middle; }
body#order .delivery_options .delivery_option .order_carrier_logo,
body#order-opc .delivery_options .delivery_option .order_carrier_logo { max-width: 100%; height: auto; }

/* Mantener logos, enlaces, formularios e iframes de cada metodo de pago. */
body#order #center_column p.payment_module > a,
body#order-opc #center_column p.payment_module > a {
  border: 1px solid #d1d5d8; border-radius: 10px;
  background-color: #fff; color: var(--cym-ink);
  font-family: inherit; text-shadow: none; box-shadow: none;
}
body#order #center_column p.payment_module > a:hover,
body#order-opc #center_column p.payment_module > a:hover {
  border-color: var(--cym-buy); background-color: var(--cym-soft); color: var(--cym-ink);
}
body#order #center_column p.payment_module > a:focus-visible,
body#order-opc #center_column p.payment_module > a:focus-visible { outline: 2px solid var(--cym-buy); outline-offset: 3px; }
body#order #center_column .payment_option_form,
body#order-opc #center_column .payment_option_form { border-color: var(--cym-line); border-radius: 8px; }

/* Registro: separar grupos, conservar campos requeridos, ayudas y validacion. */
body#authentication #center_column fieldset,
body#order-opc #center_column fieldset { border-radius: 8px; border-color: var(--cym-line); }
body#authentication #center_column .form-group,
body#order-opc #center_column .account_creation .form-group { margin-bottom: 18px; }
body#authentication #center_column .page-subheading,
body#order #center_column .page-subheading,
body#order-opc #center_column .page-subheading { font-family: inherit; font-weight: 600; text-transform: none; line-height: 1.5; }
body#authentication #center_column .inline-infos,
body#authentication #center_column .form_info { color: var(--cym-muted); font-size: 12px; line-height: 1.6; }
@media (max-width: 767px) {
  body#order #center_column .table, body#order-opc #center_column .table,
  body#order-detail #center_column .table { font-size: 13px; }
  body#order #center_column .table > tbody > tr > td,
  body#order-opc #center_column .table > tbody > tr > td,
  body#order-detail #center_column .table > tbody > tr > td { padding: 10px 8px; }
  body#order #center_column .table-responsive,
  body#order-opc #center_column .table-responsive,
  body#order-detail #center_column .table-responsive { overflow-x: auto; -webkit-overflow-scrolling: touch; }
}

/* Contacto y crear cuenta: coherentes con la compra, sin competir con ella. */
#center_column #SubmitCreate,
#center_column #opc_createAccount {
  background: var(--cym-ink); background-image: none; border: 1px solid var(--cym-ink);
  border-radius: 8px; min-height: 44px; color: #fff;
  font-family: inherit; box-shadow: none; text-shadow: none;
}
#center_column #SubmitCreate span,
#center_column #opc_createAccount span {
  background: transparent; background-image: none; border: 0; color: inherit;
  text-shadow: none; padding: 12px 16px;
  font-family: inherit; font-size: 14px; font-weight: 600; line-height: 1.4;
}
#center_column #SubmitCreate:hover,
#center_column #opc_createAccount:hover { background: #41454a; border-color: #41454a; }
#center_column #SubmitCreate:hover span,
#center_column #opc_createAccount:hover span { background: transparent; border: 0; color: inherit; }
#center_column #SubmitCreate:disabled,
#center_column #opc_createAccount:disabled { background: #e0e2e4; border-color: #d3d6d8; color: #666; cursor: not-allowed; }
#center_column #SubmitCreate:focus-visible,
#center_column #opc_createAccount:focus-visible { outline: 2px solid var(--cym-buy); outline-offset: 3px; }

body#contact .contact-form-box {
  background: #fff; background-image: none; border: 1px solid var(--cym-line);
  border-radius: 12px; padding: 26px; margin-bottom: 30px; box-shadow: none;
  color: var(--cym-ink);
}
body#contact .contact-form-box fieldset { background: none; padding: 0; }
body#contact .contact-form-box .page-subheading {
  font-family: inherit; font-size: 20px; font-weight: 600; text-transform: none;
  line-height: 1.4; color: var(--cym-ink); margin: 0 0 24px; padding: 0;
}
body#contact .contact-form-box .form-group { margin-bottom: 18px; }
body#contact .contact-form-box label { color: var(--cym-ink); font-size: 14px; font-weight: 600; line-height: 1.5; margin-bottom: 8px; }
body#contact .contact-form-box input.form-control:not([type="file"]),
body#contact .contact-form-box textarea.form-control {
  max-width: 100%; width: 100%; min-height: 44px;
  border: 1px solid #cbd0d4; border-radius: 7px;
  color: var(--cym-ink); background-color: #fff; box-shadow: none;
  font-family: inherit; font-size: 15px; line-height: 1.5; padding: 10px 12px;
}
body#contact .contact-form-box textarea.form-control { height: 230px; min-height: 180px; resize: vertical; }
body#contact .contact-form-box input.form-control[readonly] { background-color: var(--cym-soft); }
body#contact .contact-form-box input.form-control:focus,
body#contact .contact-form-box textarea.form-control:focus { border-color: var(--cym-buy); outline: 2px solid var(--cym-buy); outline-offset: 2px; }
body#contact .contact-form-box div.selector { border-radius: 6px; }
body#contact .contact-form-box .form-group.form-error input { border-color: #b42336; background-color: #fbeff0; }
body#contact .contact-form-box .form-group.form-ok input { border-color: #559273; }
body#contact .contact-form-box .desc_contact { color: var(--cym-muted); font-size: 13px; line-height: 1.6; }
body#contact .contact-form-box .submit { margin-top: 22px; }
body#contact #submitMessage {
  background: var(--cym-buy); background-image: none; border: 1px solid var(--cym-buy);
  border-radius: 8px; min-height: 46px; color: #fff; text-shadow: none; box-shadow: none;
}
body#contact #submitMessage span { border: 0; background: transparent; color: inherit; text-shadow: none; padding: 12px 22px; font-family: inherit; font-size: 14px; font-weight: 600; line-height: 1.4; }
body#contact #submitMessage:hover { background: var(--cym-buy-hover); border-color: var(--cym-buy-hover); }
body#contact #submitMessage:hover span { background: transparent; color: inherit; border: 0; }
body#contact #submitMessage:disabled { background: #e0e2e4; border-color: #d3d6d8; color: #666; cursor: not-allowed; }
body#contact #submitMessage:focus-visible { outline: 2px solid var(--cym-buy); outline-offset: 3px; }
body#contact #captcha-box { max-width: 100%; overflow-x: auto; }
body#contact #freegdpr-form { margin-top: 18px; }
body#contact #freegdpr-form label { font-size: 13px; font-weight: 400; line-height: 1.6; }
@media (min-width: 992px) {
  body#contact .contact-form-box fieldset > .clearfix { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.6fr); gap: 28px; }
  body#contact .contact-form-box fieldset > .clearfix:before,
  body#contact .contact-form-box fieldset > .clearfix:after { display: none; }
  body#contact .contact-form-box .col-md-3,
  body#contact .contact-form-box .col-md-9 { float: none; width: auto; padding: 0; min-width: 0; }
}
@media (max-width: 991px) {
  body#contact .contact-form-box .col-md-3,
  body#contact .contact-form-box .col-md-9 { padding: 0; }
}
@media (max-width: 767px) {
  body#contact .contact-form-box { padding: 16px; border-radius: 10px; }
  body#contact .contact-form-box .page-subheading { font-size: 18px; }
  body#contact .contact-form-box input.form-control:not([type="file"]),
  body#contact .contact-form-box textarea.form-control,
  body#authentication #center_column input.form-control,
  body#order #center_column input.form-control,
  body#order-opc #center_column input.form-control { font-size: 16px; }
  body#contact #submitMessage,
  #center_column #SubmitCreate, #center_column #opc_createAccount { width: 100%; }
}

/* Reorganizacion movil progresiva: el JS mueve nodos existentes, no formularios nuevos. */
@media (max-width: 767px) {
  #header .cym-mobile-header-row {
    display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr);
    align-items: center; column-gap: 12px;
  }
  #header .cym-mobile-header-row:before,
  #header .cym-mobile-header-row:after { display: none; }
  #header .cym-mobile-header-row > #header_logo {
    grid-column: 1; grid-row: 1; width: auto; float: none; padding: 12px 0 0;
  }
  #header .cym-mobile-header-row > #header_logo img {
    width: 100%; max-width: 230px; max-height: 60px; height: auto; object-fit: contain;
  }
  #header .cym-mobile-header-row > .cym-mobile-cart-column {
    grid-column: 2; grid-row: 1; float: none; width: auto; padding: 12px 0 0;
  }
  #header .cym-mobile-cart-column .shopping_cart { width: 100%; float: none; padding-top: 0; }
  #header .cym-mobile-cart-column .shopping_cart > a:first-child { padding: 11px 9px; min-height: 44px; }
  #header .cym-mobile-cart-column .shopping_cart > a:first-child b { font-size: 14px; }
  #header .cym-mobile-cart-column .shopping_cart > a:first-child:before { padding-right: 6px; font-size: 19px; }
  #header .cym-mobile-cart-column .shopping_cart > a:first-child:after { font-size: 14px; }
  #header .cym-mobile-cart-column .ajax_cart_no_product { font-size: 12px; }
  #header .cym-mobile-cart-column .cart_block { top: 100%; width: calc(100vw - 30px); max-width: 360px; min-width: 0; }
  #header .cym-mobile-header-row > #layer_cart { left: 0; right: 0; }
  #header .cym-mobile-header-row > #search_block_top {
    grid-column: 1 / -1; grid-row: 2; float: none; width: 100%; padding: 12px 0 0;
  }
  #header .cym-mobile-header-row #search_query_top { height: 46px; font-size: 16px; }
  #header .cym-mobile-header-row .button-search { height: 46px; }
  #header .cym-mobile-header-row > #block_top_menu {
    grid-column: 1 / -1; grid-row: 3; float: none; width: 100%; padding: 10px 0 0;
  }
  #header .header_user_info a { padding-top: 8px; padding-bottom: 8px; }
  #block_top_menu .cat-title { padding: 12px 16px; margin-bottom: 0; }

  body#product .primary_block h1 { font-size: 23px; line-height: 1.35; margin-top: 16px; }
  body#product #image-block { max-width: 100%; margin: 0 auto 10px; }
  body#product #image-block #bigpic { max-height: 280px; width: 100%; height: auto; object-fit: contain; }
  body#product .pb-left-column { margin-bottom: 16px; }
  body#product .pb-center-column { margin-bottom: 12px; }
  body#product .pb-right-column { margin-bottom: 20px; }
  body#product .box-info-product { border: 1px solid var(--cym-line); border-radius: 10px; background: #fff; }
  body#product .box-info-product .content_prices { background: var(--cym-soft); border-color: var(--cym-line); border-radius: 10px 10px 0 0; }
  body#product #quantity_wanted { min-height: 44px; font-size: 16px; border-radius: 6px; }
  body#product #attributes select { font-size: 16px; }
  body#product .cym-mobile-product-description { clear: both; padding: 0 15px 20px; }
  body#product .cym-mobile-product-description h2 { font-family: inherit; font-size: 18px; line-height: 1.5; }

  .cym-mobile-details { clear: both; margin: 12px 0; border: 1px solid var(--cym-line); border-radius: 8px; background: #fff; }
  .cym-mobile-details > summary {
    cursor: pointer; padding: 14px 16px; min-height: 46px;
    font-size: 14px; font-weight: 600; color: var(--cym-ink); line-height: 1.5;
  }
  .cym-mobile-details[open] > summary { border-bottom: 1px solid var(--cym-line); }
  .cym-mobile-details > .block { padding: 14px; margin-bottom: 0; }
  body#category #left_column #cym-mobile-sidebar { margin-top: 10px; }
  body#category .content_sortPagiBar .form-control { font-size: 16px; }
  body#category .content_sortPagiBar .sortPagiBar label { font-size: 13px; }

  .cym-mobile-guest-note { border-left: 3px solid var(--cym-buy); padding: 10px 14px; margin-bottom: 20px; background: var(--cym-soft); }
  .cym-mobile-guest-note h2 { font-size: 20px; line-height: 1.4; margin: 0 0 8px; }
  .cym-mobile-guest-note a { display: inline-block; padding: 8px 0; color: var(--cym-ink); text-decoration: underline; }
  body#authentication #login_form { scroll-margin-top: 15px; }
  body#authentication .cym-mobile-guest { margin-bottom: 28px; }
  .cym-mobile-summary-toggle {
    display: block; width: 100%; text-align: left; padding: 14px;
    background: #fff; color: var(--cym-ink); border: 1px solid #cbd0d4;
    border-radius: 8px; font-family: inherit; font-size: 14px; font-weight: 600; line-height: 1.5; margin: 0 0 10px; cursor: pointer;
  }
  #cart_summary.cym-mobile-cart-collapsed > tbody,
  #cart_summary.cym-mobile-cart-collapsed > thead { display: none !important; }
  /* tfoot no se oculta: total, transporte y descuentos siguen en el mismo nodo. */
  .cym-mobile-summary-toggle:focus-visible,
  .cym-mobile-details > summary:focus-visible { outline: 2px solid var(--cym-buy); outline-offset: 3px; }
}
#center_column #opc_guestCheckout { background: var(--cym-buy); border: 1px solid var(--cym-buy); border-radius: 8px; color: #fff; text-shadow: none; }
#center_column #opc_guestCheckout span { background: transparent; border: 0; color: inherit; text-shadow: none; padding: 12px 16px; font-family: inherit; font-size: 14px; }
#center_column #opc_guestCheckout:hover { background: var(--cym-buy-hover); border-color: var(--cym-buy-hover); }
#center_column #opc_guestCheckout:hover span { background: transparent; color: inherit; border: 0; }
#center_column #opc_guestCheckout:disabled { background: #e0e2e4; border-color: #d3d6d8; color: #666; }

/* Checkout movil: el formulario primero; navegacion secundaria al terminar. */
@media (max-width: 767px) {
  body.cym-checkout-mobile #cym-checkout-navigation { clear: both; margin-top: 28px; }
  body.cym-checkout-mobile #cym-checkout-navigation > #left_column {
    float: none; width: 100%; padding: 12px 14px 0;
  }
  body.cym-checkout-mobile #cym-checkout-navigation > #block_top_menu {
    float: none; width: 100%; padding: 12px 14px;
  }
  body.cym-checkout-mobile #cym-checkout-navigation > #search_block_top {
    float: none; width: 100%; padding: 12px 14px;
  }
  body.cym-checkout-mobile #cym-checkout-navigation #search_query_top { height: 46px; font-size: 16px; }
  body.cym-checkout-mobile #cym-checkout-navigation .button-search { height: 46px; }
  body.cym-checkout-mobile #cym-checkout-navigation > .header_user_info {
    float: none; margin: 0 14px 14px; border: 1px solid var(--cym-line); border-radius: 8px;
  }
  body.cym-checkout-mobile #cym-checkout-navigation > .header_user_info a {
    display: block; min-height: 44px; padding: 12px; color: var(--cym-ink); text-shadow: none;
  }
  body.cym-checkout-mobile #cym-checkout-navigation > .header_user_info a:hover { background: var(--cym-soft); }
  body.cym-checkout-mobile .cart_navigation { padding-top: 16px; border-top: 1px solid var(--cym-line); }
  body.cym-checkout-mobile .cart_navigation .button-exclusive {
    display: block; clear: both; float: none; min-height: 44px; padding: 12px 0;
  }
  body.cym-checkout-mobile .cym-checkout-optional-note { margin-top: 8px; margin-bottom: 12px; }
  body.cym-checkout-mobile .cym-checkout-optional-note > #ordermsg { padding: 14px; margin-bottom: 0; }
  body.cym-checkout-mobile .footer-container #newsletter_block_left { display: none; }
  #cym-checkout-navigation a:focus-visible,
  body.cym-checkout-mobile .cart_navigation a:focus-visible,
  body.cym-checkout-mobile .cart_navigation button:focus-visible {
    outline: 2px solid var(--cym-buy); outline-offset: 3px;
  }
}

/* Portada: prioridades de conservacion; reuniones en segundo plano. */
body#index #left_column, body#index #homepage-slider { display: none; }
body#index #center_column { width: 100%; float: none; }
body#index #slider_row { margin-bottom: 0; }
.cym-home { padding: 18px 0 26px; }
.cym-home-intro { max-width: 780px; margin-bottom: 30px; }
.cym-home-eyebrow { margin: 0 0 12px; color: var(--cym-muted); font-size: 12px; font-weight: 600; letter-spacing: .09em; text-transform: uppercase; }
.cym-home-intro h1 { margin: 0 0 18px; color: var(--cym-ink); font-family: inherit; font-size: 40px; font-weight: 600; letter-spacing: -.035em; line-height: 1.15; }
.cym-home-intro > p:last-child, .cym-home-gatherings > p { color: var(--cym-muted); font-size: 15px; line-height: 1.7; }
.cym-home-section-title { font-family: inherit; font-size: 22px; line-height: 1.4; font-weight: 600; margin: 0 0 18px; }
.cym-home-priority { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
.cym-home-card { display: block; border: 1px solid var(--cym-line); border-radius: 12px; background: #fff; color: var(--cym-ink); padding: 20px; text-decoration: none; }
.cym-home-card:hover { color: var(--cym-ink); border-color: #bfc6ca; text-decoration: none; box-shadow: 0 6px 20px rgba(24,28,32,.05); }
.cym-home-card:focus-visible { outline: 3px solid var(--cym-buy); outline-offset: 3px; }
.cym-home-card-primary { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); align-items: center; gap: 18px; }
.cym-home-card img { display: block; width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: contain; border-radius: 8px; }
.cym-home-card h3 { color: var(--cym-ink); font-family: inherit; font-size: 22px; font-weight: 600; line-height: 1.35; margin: 0 0 10px; }
.cym-home-card p { color: var(--cym-muted); font-size: 14px; line-height: 1.6; margin-bottom: 18px; }
.cym-home-card-action { color: var(--cym-buy); font-size: 14px; font-weight: 600; line-height: 1.5; }
.cym-home-card-action i { margin-left: 4px; }
.cym-home-gatherings { padding: 30px; margin-top: 30px; border-radius: 12px; background: var(--cym-soft); }
.cym-home-secondary { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; margin-top: 18px; }
.cym-home-secondary .cym-home-card { display: grid; grid-template-columns: 100px minmax(0,1fr); column-gap: 16px; align-items: center; }
.cym-home-secondary img { grid-row: 1 / 3; }
.cym-home-secondary h3 { font-size: 17px; margin-bottom: 6px; }
.header_user_info .icon-user { margin-right: 6px; }
@media (max-width: 991px) {
  .cym-home-card-primary { grid-template-columns: 1fr; }
  .cym-home-card-primary img { max-width: 220px; margin: 0 auto; }
  .cym-home-secondary .cym-home-card { display: block; padding: 16px; }
  .cym-home-secondary img { max-width: 120px; margin: 0 auto 12px; }
}
@media (max-width: 767px) {
  .cym-home { padding-top: 16px; }
  .cym-home-intro { margin-bottom: 24px; }
  .cym-home-intro h1 { font-size: 30px; }
  .cym-home-intro > p:last-child, .cym-home-gatherings > p { font-size: 14px; }
  .cym-home-section-title { font-size: 20px; margin-bottom: 14px; }
  .cym-home-priority { gap: 12px; }
  .cym-home-card { padding: 12px; border-radius: 9px; }
  .cym-home-card-primary { gap: 10px; }
  .cym-home-card h3 { font-size: 18px; }
  .cym-home-card p { font-size: 13px; margin-bottom: 12px; }
  .cym-home-card-action { display: inline-block; min-height: 44px; padding: 10px 0; font-size: 13px; }
  .cym-home-gatherings { padding: 18px 14px; margin-top: 24px; }
  .cym-home-secondary { grid-template-columns: 1fr; gap: 10px; }
  .cym-home-secondary .cym-home-card { display: grid; grid-template-columns: 80px minmax(0,1fr); gap: 0 14px; padding: 12px; }
  .cym-home-secondary img { grid-row: 1 / 3; margin: 0; }
  .cym-home-secondary h3 { font-size: 16px; }
}
@media (max-width: 359px) { .cym-home-priority { grid-template-columns: 1fr; } }

/* Categorias: navegacion visible y controles nativos conservados. */
body#category #left_column.cym-category-secondary { display: none; }
body#category #center_column.cym-category-wide { width: 100%; float: none; }
body#category .cym-category-intro {
  max-width: 850px; margin: -8px 0 24px; color: var(--cym-muted); font-size: 15px; line-height: 1.7;
}
body#category #center_column > h1.product-listing {
  display: flex; flex-wrap: wrap; align-items: baseline; gap: 10px 20px;
  padding: 0 0 20px; margin: 8px 0 22px; border-bottom: 1px solid var(--cym-line);
  color: var(--cym-ink); font-family: inherit; font-weight: 600; font-size: 30px; line-height: 1.3; text-transform: none;
}
body#category #center_column > h1.product-listing .cat-name { font-size: 30px; line-height: 1.3; }
body#category .product-listing .heading-counter {
  float: none; padding: 0; color: var(--cym-muted); font-size: 13px; font-weight: 400;
}
body#category #subcategories { border: 0; padding: 0; margin: 0 0 24px; }
body#category #subcategories .subcategory-heading {
  margin: 0 0 14px; color: var(--cym-ink); font-family: inherit; font-size: 17px; font-weight: 600; line-height: 1.4;
}
body#category #subcategories > ul { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; margin: 0; }
body#category #subcategories > ul:before, body#category #subcategories > ul:after { display: none; }
body#category #subcategories > ul > li { float: none; width: auto; height: auto; margin: 0; text-align: left; min-width: 0; }
body#category #subcategories .cym-subcategory-link {
  display: flex; align-items: center; gap: 10px; height: 100%; min-height: 64px; padding: 12px;
  border: 1px solid var(--cym-line); border-radius: 9px; background: #fff; color: var(--cym-ink); text-decoration: none;
}
body#category #subcategories .cym-subcategory-link:hover { border-color: #bfc6ca; background: var(--cym-soft); }
body#category #subcategories .cym-subcategory-link img { flex: 0 0 52px; width: 52px; height: 52px; object-fit: contain; }
body#category #subcategories .cym-subcategory-placeholder { display: flex; align-items: center; justify-content: center; flex: 0 0 52px; width: 52px; height: 52px; border-radius: 6px; background: var(--cym-soft); color: var(--cym-muted); font-size: 22px; }
body#category #subcategories .subcategory-name { flex: 1; font: 600 14px/1.5 "Open Sans",sans-serif; color: inherit; text-transform: none; overflow-wrap: anywhere; }
body#category #subcategories .icon-angle-right { flex: 0 0 auto; color: var(--cym-muted); }
body#category .content_sortPagiBar .sortPagiBar {
  padding: 14px; margin-bottom: 12px; border: 1px solid var(--cym-line); border-radius: 9px; background: var(--cym-soft);
}
body#category .content_sortPagiBar .sortPagiBar label { color: var(--cym-ink); font-weight: 400; }
body#category .content_sortPagiBar .top-pagination-content,
body#category .content_sortPagiBar .bottom-pagination-content { background: #fff; border-color: var(--cym-line); }
body#category .cym-category-about { clear: both; margin: 26px 0; border: 1px solid var(--cym-line); border-radius: 9px; }
body#category .cym-category-about > summary { padding: 16px; color: var(--cym-ink); font-size: 14px; line-height: 1.5; font-weight: 600; cursor: pointer; }
body#category .cym-category-about[open] > summary { border-bottom: 1px solid var(--cym-line); }
body#category .cym-category-about .content_scene_cat { border: 0; margin: 0; padding: 18px; color: var(--cym-muted); line-height: 1.7; }
body#category .cym-category-about .content_scene_cat a { color: var(--cym-buy); text-decoration: underline; }
body#category .cym-category-about .rte img, body#category .cym-category-image { display: block; max-width: 100%; height: auto; }
body#category .cym-category-image { margin: 0 auto 18px; }
body#category #subcategories a:focus-visible,
body#category .cym-category-about > summary:focus-visible { outline: 2px solid var(--cym-buy); outline-offset: 3px; }
@media (max-width: 991px) {
  body#category #subcategories > ul { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 767px) {
  body#category #center_column > h1.product-listing { margin-top: 12px; gap: 8px; padding-bottom: 16px; }
  body#category #center_column > h1.product-listing .cat-name { flex-basis: 100%; font-size: 24px; }
  body#category #subcategories > ul { gap: 8px; }
  body#category #subcategories .cym-subcategory-link { padding: 10px; gap: 8px; }
  body#category #subcategories .cym-subcategory-link img { flex-basis: 36px; width: 36px; height: 36px; }
  body#category #subcategories .cym-subcategory-placeholder { flex-basis: 36px; width: 36px; height: 36px; font-size: 18px; }
  body#category #subcategories .subcategory-name { font-size: 13px; }
  body#category #subcategories .icon-angle-right { display: none; }
  body#category .content_sortPagiBar .sortPagiBar { padding: 12px; }
  body#category .cym-category-about .content_scene_cat { padding: 14px; }
}
@media (max-width: 359px) {
  body#category #subcategories > ul { grid-template-columns: 1fr; }
}

/* Menu compacto: enlace para navegar y boton independiente para desplegar. */
#block_top_menu .cym-menu-toggle { display: none; font-family: inherit; cursor: pointer; }
#block_top_menu .sf-menu { display: block; }
#block_top_menu .cym-menu-toggle:after { display: none; }
#block_top_menu .sf-menu > li { position: static; }
#block_top_menu .sf-menu > li > a { display: inline-block; vertical-align: middle; }
#block_top_menu .sf-menu > li > ul { top: 100%; left: 0; width: 100%; }
#block_top_menu .sf-menu > li > ul > li > a { white-space: normal; }
#block_top_menu:not(.cym-menu-ready) .sf-menu > li:hover > ul,
#block_top_menu:not(.cym-menu-ready) .sf-menu > li:focus-within > ul { display: block; }
#block_top_menu.cym-menu-ready .sf-menu > li > ul:not([hidden]) { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 4px 14px; }
#block_top_menu.cym-menu-ready .sf-menu > li > ul > li { float: none; width: auto; min-width: 0; }
#block_top_menu.cym-menu-ready .sf-menu > li > ul > li.category-thumbnail { grid-column: 1 / -1; }
#block_top_menu [hidden] { display: none !important; }
#block_top_menu .cym-submenu-toggle {
  display: inline-flex; align-items: center; justify-content: center; vertical-align: middle;
  width: 44px; height: 44px; padding: 0; margin: 0 4px 0 -8px; border: 0;
  border-radius: 6px; background: transparent; color: var(--cym-ink);
  font-family: inherit; font-size: 23px; line-height: 1; cursor: pointer;
}
#block_top_menu .cym-submenu-toggle:hover,
#block_top_menu .cym-submenu-toggle[aria-expanded="true"] { background: #eceeec; }
#block_top_menu button:focus-visible { outline: 2px solid var(--cym-buy); outline-offset: 2px; }
/* Con raton, el hover abre el submenu. El boton reaparece al recibir foco. */
@media (min-width: 768px) and (hover: hover) and (pointer: fine) {
  #block_top_menu .cym-submenu-toggle {
    position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
    overflow: hidden; clip: rect(0,0,0,0); clip-path: inset(50%); white-space: nowrap;
  }
  #block_top_menu .cym-submenu-toggle:focus {
    position: static; width: 44px; height: 44px; margin: 0 4px 0 -8px;
    overflow: visible; clip: auto; clip-path: none; white-space: normal;
    background: var(--cym-soft); outline: 2px solid var(--cym-buy); outline-offset: 2px;
  }
}
ul.product_list.grid .product-name { overflow-wrap: anywhere; }
@media (max-width: 767px) {
  #block_top_menu.cym-menu-ready .cym-menu-toggle {
    display: block; width: 100%; text-align: left; border: 1px solid var(--cym-line);
    border-radius: 8px; background: var(--cym-soft); color: var(--cym-ink);
    min-height: 46px; padding: 12px 16px; font-size: 16px; font-weight: 600;
  }
  #block_top_menu .sf-menu > li { position: relative; }
  #block_top_menu .sf-menu > li > a { display: block; min-height: 46px; padding: 14px 56px 14px 16px; }
  #block_top_menu .sf-menu > li > .cym-submenu-toggle { position: absolute; top: 1px; right: 4px; margin: 0; }
  #block_top_menu .sf-menu > li > ul { top: auto; left: auto; width: auto; padding: 4px 16px 12px; }
  #block_top_menu.cym-menu-ready .sf-menu > li > ul:not([hidden]) { grid-template-columns: 1fr; }
  #block_top_menu .sf-menu > li > ul > li { float: none; width: 100%; padding: 0; }
  #block_top_menu .sf-menu > li > ul > li > a { min-height: 44px; padding: 12px 8px; line-height: 1.5; }
}
/* CYM 2026-11-02: jerarquia legible de las nuevas fichas editoriales. */
body#product .cym-product-copy h2 {
  font-size: 23px; line-height: 1.35; font-weight: 600; color: var(--cym-ink);
  margin: 28px 0 16px; padding-bottom: 12px; border-bottom: 1px solid var(--cym-line);
}
body#product .cym-product-copy h3 {
  font-size: 18px; line-height: 1.4; font-weight: 600; color: var(--cym-ink);
  margin: 24px 0 10px;
}
body#product .cym-product-copy h2:first-child { margin-top: 8px; }
@media (max-width: 767px) {
  body#product .cym-product-copy h2 { font-size: 21px; }
  body#product .cym-product-copy h3 { font-size: 18px; }
}
