/* =========================================================================
   Aginox — capa de diseño sobre Astra.
   Estados hover portados del diseño original + adaptación de WooCommerce.
   ========================================================================= */

/* --- hover states del diseño original ---------------------------------- */
.scp0:hover { color: #1A2A4E !important; }
.scp1:hover { color: #8B929A !important; }
.scp2:hover { background: #22355F !important; }
.scp3:hover { border-color: #E7EAEC !important; color: #FFFFFF !important; }
.scp4:hover { border-color: #FBB616 !important; }
.scp5:hover { color: #FFFFFF !important; border-bottom-color: #8B929A !important; }
.scp6:hover { background: #FFC94A !important; color: #101218 !important; }
.scp7:hover { background: #22355F !important; color: #FFFFFF !important; }
.scp8:hover { background: #FFC94A !important; }

a { text-decoration: none; }

/* --- Astra: quitar su cromo, el diseño manda ---------------------------- */
.site-content { padding: 0; }
#content .ast-container { max-width: 1240px; margin: 0 auto; padding: 40px 16px; }
.ast-separate-container #primary,
.ast-plain-container #primary { padding: 0; margin: 0; background: transparent; }
.ast-separate-container .ast-article-single { background: transparent; padding: 0; }
.entry-content { color: var(--agx-on-dark-2); }

/* --- páginas internas sobre el azul de marca --------------------------- */
.agx-inner .entry-title,
.agx-inner h1, .agx-inner h2, .agx-inner h3, .agx-inner h4 {
  font-family: var(--agx-font-display);
  color: #FFFFFF;
  letter-spacing: -0.02em;
}
.agx-inner .entry-content p,
.agx-inner .entry-content li { color: var(--agx-on-dark-2); line-height: 1.6; }
.agx-inner .entry-content a { color: var(--agx-accent); }
.agx-inner .entry-content strong { color: #FFFFFF; }
.agx-inner .wp-block-columns { gap: 24px; }

/* etiqueta tipo "eyebrow" del diseño */
.agx-eyebrow {
  font-family: var(--agx-font-mono) !important;
  font-size: 10.5px !important;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--agx-on-dark-3) !important;
}
/* recordatorios internos: visibles en local, nunca en producción */
.agx-todo {
  font-family: var(--agx-font-mono) !important;
  font-size: 12px !important;
  color: #FFC94A !important;
  border-left: 2px solid var(--agx-accent);
  padding-left: 10px;
}

/* --- formularios (WPForms y WooCommerce) ------------------------------- */
.wpforms-field-label,
.woocommerce form label {
  font-family: var(--agx-font-body);
  color: var(--agx-on-dark) !important;
  font-weight: 600;
}
input[type=text], input[type=email], input[type=search], input[type=tel],
input[type=password], input[type=number], textarea, select,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea {
  background: rgba(255,255,255,0.06) !important;
  border: 1px solid rgba(231,234,236,0.28) !important;
  border-radius: var(--agx-radius) !important;
  color: var(--agx-on-dark) !important;
  font-family: var(--agx-font-body);
}
input::placeholder, textarea::placeholder { color: var(--agx-on-dark-3); }
input:focus, textarea:focus, select:focus { border-color: var(--agx-accent) !important; outline: none; }

/* --- botones: el amarillo es acción ------------------------------------ */
.wpforms-submit,
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce a.button.alt,
.woocommerce button.button.alt {
  background: var(--agx-accent) !important;
  color: var(--agx-ink) !important;
  font-family: var(--agx-font-display) !important;
  font-weight: 800 !important;
  letter-spacing: 0.02em;
  border-radius: var(--agx-radius) !important;
  border: 0 !important;
  padding: 12px 18px !important;
  text-transform: none;
}
.wpforms-submit:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover { background: var(--agx-accent-hover) !important; color: var(--agx-ink) !important; }

/* --- grilla de productos ----------------------------------------------- */
/* La tarjeta la dibuja woocommerce/content-product.php, réplica del diseño.
   El <li> sólo aporta la celda de la grilla. */
.woocommerce ul.products { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 12px; margin: 0; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  width: 100% !important; margin: 0 !important; float: none !important;
  background: transparent; border: 0; padding: 0;
}
.woocommerce ul.products li.product .agx-card { transition: border-color .15s ease; }
.woocommerce ul.products li.product .agx-card:hover { border-color: var(--agx-accent) !important; }
.agx-card__media { position: relative; }
.woocommerce ul.products li.product a.added_to_cart {
  display: block; text-align: center; margin: 8px 14px 14px;
  font-family: var(--agx-font-mono); font-size: 12px; color: var(--agx-accent);
}
.woocommerce ul.products li.product .button.loading { opacity: .7; }

/* --- ficha de producto -------------------------------------------------- */
.woocommerce div.product .product_title { font-family: var(--agx-font-display); font-weight: 900; color: #FFFFFF; letter-spacing: -0.02em; }
.woocommerce div.product p.price,
.woocommerce div.product span.price {
  font-family: var(--agx-font-display);
  font-weight: 900;
  color: var(--agx-accent) !important;
  font-size: 30px;
}
.woocommerce div.product .woocommerce-product-details__short-description { color: var(--agx-on-dark-2); }
.woocommerce div.product .stock { font-family: var(--agx-font-mono); font-size: 13px; }
.woocommerce div.product .stock.in-stock { color: #7DD98F; }
.woocommerce div.product .stock.out-of-stock { color: #FF9B9B; }
.woocommerce div.product .product_meta { font-family: var(--agx-font-mono); font-size: 12.5px; color: var(--agx-on-dark-3); }
.woocommerce div.product .woocommerce-tabs ul.tabs li {
  background: var(--agx-blue-mid);
  border: 1px solid rgba(231,234,236,0.14);
  border-radius: var(--agx-radius-sm) var(--agx-radius-sm) 0 0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a { font-family: var(--agx-font-display); font-weight: 700; color: var(--agx-on-dark-2); }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { background: var(--agx-blue-deep); border-bottom-color: var(--agx-accent); }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: #FFFFFF; }
.woocommerce-product-attributes { font-family: var(--agx-font-mono); font-size: 13px; }

/* --- carrito y checkout ------------------------------------------------- */
.woocommerce table.shop_table {
  background: var(--agx-blue-mid);
  border: 1px solid rgba(231,234,236,0.14);
  border-radius: var(--agx-radius-lg);
  color: var(--agx-on-dark-2);
}
.woocommerce table.shop_table th { font-family: var(--agx-font-display); font-weight: 800; color: #FFFFFF; }
.woocommerce table.shop_table td { border-top-color: rgba(231,234,236,0.12); }
.woocommerce table.shop_table .amount { font-family: var(--agx-font-mono); color: var(--agx-accent); font-weight: 600; }
.woocommerce-cart .cart-collaterals .cart_totals > h2,
.woocommerce-checkout h3 { font-family: var(--agx-font-display); font-weight: 800; color: #FFFFFF; }
.woocommerce-checkout #payment { background: var(--agx-blue-mid); border-radius: var(--agx-radius-lg); }
.woocommerce-checkout #payment div.payment_box { background: var(--agx-blue-deep); color: var(--agx-on-dark-2); }
.woocommerce-checkout #payment ul.payment_methods { border-bottom-color: rgba(231,234,236,0.14); }

/* --- avisos ------------------------------------------------------------- */
.woocommerce-message, .woocommerce-info, .woocommerce-error {
  background: var(--agx-blue-mid);
  color: var(--agx-on-dark);
  border-top-color: var(--agx-accent);
  border-radius: var(--agx-radius);
}
.woocommerce-message a, .woocommerce-info a { color: var(--agx-accent); }

/* --- breadcrumb y orden ------------------------------------------------- */
.woocommerce .woocommerce-breadcrumb { font-family: var(--agx-font-mono); font-size: 12px; color: var(--agx-on-dark-3); }
.woocommerce .woocommerce-breadcrumb a { color: var(--agx-on-dark-2); }
.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering select { color: var(--agx-on-dark-2); font-family: var(--agx-font-mono); font-size: 13px; }

/* --- responsive --------------------------------------------------------- */
@media (max-width: 900px) {
  #content .ast-container { padding: 24px 16px; }
}
@media (max-width: 600px) {
  .woocommerce ul.products[class*="columns-"] li.product { width: 100%; float: none; }
}

/* --- fondo global: el azul de marca, no el claro de Astra -------------- */
html, body { background: var(--agx-blue) !important; }
body { color: var(--agx-on-dark); }

/* --- el diseño no lleva barra de título de página ---------------------- */
/* Cada página trae su propio encabezado en el contenido, heredado del sitio
   original; el título automático de Astra duplicaría ese encabezado. */
.agx-inner .entry-header .entry-title,
.agx-inner .ast-archive-description { display: none; }

/* --- neutralizar las cajas blancas de Astra (404, buscador, archivos) --- */
.ast-separate-container .ast-article-post,
.ast-separate-container .ast-article-single,
.ast-separate-container .comments-area,
.ast-separate-container .ast-404-layout-1,
.ast-separate-container .no-results,
.ast-separate-container #primary,
.ast-page-builder-template .entry-content,
.error404 .site-content .ast-container,
.search .site-content .ast-container {
  background: transparent !important;
  box-shadow: none !important;
}
.error404 .page-title, .search .page-title,
.error404 h1, .no-results h1 { color: #FFFFFF !important; font-family: var(--agx-font-display); }
.error404 .page-content p, .no-results p { color: var(--agx-on-dark-2); }
.search-form input[type=search] { color: var(--agx-on-dark) !important; }

/* =========================================================================
   Bloques de WooCommerce (Carrito y Finalizar compra).
   Carrito y checkout usan los bloques nuevos, no las plantillas clásicas:
   necesitan sus propios selectores .wc-block-*.
   ========================================================================= */

/* --- botones ------------------------------------------------------------ */
.wc-block-components-button:not(.is-link) {
  background-color: var(--agx-accent) !important;
  color: var(--agx-ink) !important;
  border: 0 !important;
  border-radius: var(--agx-radius) !important;
  font-family: var(--agx-font-display) !important;
  font-weight: 800 !important;
  letter-spacing: 0.02em;
  min-height: 50px;
}
.wc-block-components-button:not(.is-link):hover { background-color: var(--agx-accent-hover) !important; }
.wc-block-components-button__text { color: var(--agx-ink) !important; }
.wc-block-components-button.is-link { color: var(--agx-accent) !important; }

/* --- cabecera de la tabla del carrito ----------------------------------- */
.wc-block-cart-items__header {
  font-family: var(--agx-font-mono) !important;
  font-size: 10.5px !important;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--agx-on-dark-3) !important;
  border-bottom: 1px solid rgba(231,234,236,0.16);
}
.wc-block-cart-items__row { border-bottom: 1px solid rgba(231,234,236,0.12); }
.wc-block-cart-item__image img { border-radius: var(--agx-radius-sm); }

/* --- nombres, precios y datos ------------------------------------------- */
.wc-block-components-product-name {
  font-family: var(--agx-font-display) !important;
  font-weight: 700 !important;
  color: #FFFFFF !important;
}
.wc-block-components-product-metadata,
.wc-block-components-product-metadata__description { color: var(--agx-on-dark-3) !important; font-family: var(--agx-font-mono); font-size: 12px; }
.wc-block-formatted-money-amount,
.wc-block-components-product-price__value {
  font-family: var(--agx-font-mono) !important;
  color: var(--agx-on-dark) !important;
  font-weight: 600;
}
.wc-block-components-totals-item__value { color: var(--agx-accent) !important; font-weight: 700; }
.wc-block-components-totals-footer-item .wc-block-formatted-money-amount {
  font-family: var(--agx-font-display) !important;
  font-weight: 900 !important;
  color: var(--agx-accent) !important;
  font-size: 24px;
}

/* --- panel lateral de totales ------------------------------------------- */
.wc-block-components-sidebar .wc-block-components-totals-wrapper,
.wc-block-cart__sidebar .wc-block-components-panel,
.wc-block-components-sidebar {
  background: var(--agx-blue-mid);
  border: 1px solid rgba(231,234,236,0.14);
  border-radius: var(--agx-radius-lg);
}
.wc-block-components-sidebar .wc-block-components-totals-wrapper { border-radius: 0; border: 0; border-top: 1px solid rgba(231,234,236,0.12); }
.wc-block-cart__totals-title,
.wc-block-components-title,
.wc-block-components-checkout-step__title {
  font-family: var(--agx-font-display) !important;
  font-weight: 800 !important;
  color: #FFFFFF !important;
  letter-spacing: -0.01em;
}
.wc-block-components-checkout-step__description,
.wc-block-components-checkout-step__heading-content { color: var(--agx-on-dark-3) !important; }

/* --- campos de formulario ----------------------------------------------- */
.wc-block-components-text-input input,
.wc-block-components-textarea,
.wc-block-components-select__select,
.wc-block-components-combobox-control input {
  background: rgba(255,255,255,0.06) !important;
  border: 1px solid rgba(231,234,236,0.28) !important;
  border-radius: var(--agx-radius) !important;
  color: var(--agx-on-dark) !important;
  font-family: var(--agx-font-body) !important;
}
.wc-block-components-text-input label,
.wc-block-components-checkbox__label,
.wc-block-components-radio-control__label,
.wc-block-components-form .wc-block-components-text-input label { color: var(--agx-on-dark-3) !important; }
.wc-block-components-text-input.is-active label { color: var(--agx-accent) !important; }

/* --- métodos de pago y envío -------------------------------------------- */
.wc-block-components-radio-control__option,
.wc-block-components-shipping-rates-control__package {
  background: rgba(255,255,255,0.04);
  border-radius: var(--agx-radius);
}
.wc-block-components-radio-control-accordion-option { border-color: rgba(231,234,236,0.16) !important; }
.wc-block-components-panel__button { color: var(--agx-on-dark) !important; font-family: var(--agx-font-body); }

/* --- avisos -------------------------------------------------------------- */
.wc-block-components-notice-banner {
  background: var(--agx-blue-mid) !important;
  color: var(--agx-on-dark) !important;
  border-color: var(--agx-accent) !important;
  border-radius: var(--agx-radius);
}
.wc-block-components-notice-banner__content { color: var(--agx-on-dark) !important; }

/* --- carrito vacío -------------------------------------------------------- */
.wc-block-cart__empty-cart__title { font-family: var(--agx-font-display); color: #FFFFFF; }

/* --- selects del checkout: heredaban el blanco del navegador ------------ */
.wc-block-components-country-input select,
.wc-block-components-state-input select,
.wc-block-components-combobox .components-combobox-control__input,
.wc-block-components-form select,
.wc-blocks-components-select__container,
.wc-blocks-components-select__select {
  background-color: var(--agx-blue-deep) !important;
  border: 1px solid rgba(231,234,236,0.28) !important;
  border-radius: var(--agx-radius) !important;
  color: var(--agx-on-dark) !important;
  font-family: var(--agx-font-body) !important;
}
.wc-blocks-components-select__label,
.wc-block-components-combobox label { color: var(--agx-on-dark-3) !important; }
.wc-blocks-components-select__container option { background: var(--agx-blue-deep); color: var(--agx-on-dark); }
.wc-block-components-combobox-control input.components-combobox-control__input {
  background-color: var(--agx-blue-deep) !important;
  color: var(--agx-on-dark) !important;
}

/* --- grilla de productos: Astra impone sus propias columnas ------------- */
/* Astra aplica grid-template-columns sobre ul.products con más
   especificidad; hay que ganarle o las tarjetas se aprietan en móvil. */
.woocommerce ul.products,
.woocommerce-page ul.products,
.woocommerce ul.products.columns-4,
.woocommerce-page ul.products.columns-4 {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)) !important;
  gap: 12px !important;
}
@media (max-width: 540px) {
  .woocommerce ul.products,
  .woocommerce-page ul.products,
  .woocommerce ul.products.columns-4,
  .woocommerce-page ul.products.columns-4 {
    grid-template-columns: 1fr !important;
  }
  /* la tarjeta a una columna puede lucir la foto más alta */
  .agx-card__media { height: 150px !important; }
}

/* --- bloques de carrito/checkout con alignwide -------------------------- */
/* Vienen con margin lateral negativo pensado para temas que declaran anchos
   de alineación. Sin ese soporte el contenido se sale por la izquierda en
   móvil, cortando imágenes y campos. */
.wp-block-woocommerce-cart.alignwide,
.wp-block-woocommerce-checkout.alignwide,
.wp-block-woocommerce-cart,
.wp-block-woocommerce-checkout {
  margin-left: 0 !important;
  margin-right: 0 !important;
  max-width: 100% !important;
}

/* --- panel de cupones: el borde blanco del navegador desentonaba -------- */
.wc-block-components-panel__button,
.wc-block-components-totals-coupon__button,
.wc-block-components-totals-coupon .wc-block-components-panel__button {
  border: 1px solid rgba(231,234,236,0.24) !important;
  border-radius: var(--agx-radius) !important;
  background: rgba(255,255,255,0.04) !important;
  color: var(--agx-on-dark-2) !important;
  font-family: var(--agx-font-body) !important;
}
.wc-block-components-totals-coupon { padding: 12px; }

/* Sufijo "IVA incluido" del precio (opción de WooCommerce). En la tarjeta
   sobra: la tarjeta ya dice "por unidad, IVA incl." debajo del precio. */
.woocommerce-price-suffix {
  font-family: var(--agx-font-body);
  font-size: 0.55em;
  font-weight: 500;
  letter-spacing: 0;
  color: var(--agx-on-dark-2);
  white-space: nowrap;
  margin-left: 4px;
}
.agx-card-price .woocommerce-price-suffix { display: none; }

/* La flecha "subir" de Astra sube para no chocar con el botón flotante
   de WhatsApp, que va en la esquina inferior derecha. */
#ast-scroll-top {
  bottom: 96px !important;
}

/* Video de "Nosotros": ancho cómodo, esquinas como el resto y sin saltos de
   diseño mientras no se reproduce (el video no se descarga hasta dar play). */
.wp-block-video { margin: 22px 0; }
.wp-block-video video {
  display: block;
  width: 100%;
  max-width: 600px;
  height: auto;
  aspect-ratio: 16 / 9;
  background: #0e1a33;
  border-radius: 4px;
  border: 1px solid rgba(231, 234, 236, 0.16);
}

/* Barra superior en celular: el número de WhatsApp es lo importante y nunca
   debe cortarse. "Despacho y devoluciones" se oculta aquí y vive en el pie. */
@media (max-width: 700px) {
  .agx-top-despacho { display: none !important; }
  .agx-top-wsp { white-space: nowrap; }
}

/* Botones de la cabecera (Técnico / Cuenta / Carrito).
   Computador: textos largos y sin íconos, como estaba.
   Celular: una sola fila de tres botones iguales, con ícono y texto corto,
   en vez de textos partidos en dos líneas. */
.agx-ico, .agx-l-short { display: none; }
@media (max-width: 640px) {
  .agx-hacciones {
    width: 100%;
    margin-left: 0 !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px !important;
  }
  .agx-hbtn {
    justify-content: center;
    gap: 6px !important;
    padding: 11px 6px !important;
    font-size: 13px !important;
    white-space: nowrap;
    min-width: 0;
  }
  .agx-hbtn .agx-ico { display: inline-block; flex: 0 0 auto; }
  .agx-hbtn .agx-l-full { display: none; }
  .agx-hbtn .agx-l-short { display: inline; }
}

/* Cantidad en el carrito: el relleno del campo dejaba ~13 px para el número y
   un "10" se veía cortado en el celular. Ahora caben 3 dígitos con holgura
   (y 4), sin cambiar el aspecto del selector. */
.wc-block-components-quantity-selector { min-width: 132px; }
.wc-block-components-quantity-selector .wc-block-components-quantity-selector__input {
  width: 58px !important;
  min-width: 58px !important;
  padding: 10px 2px !important;
  text-align: center;
  font-size: 15px !important;
}

/* Correos y teléfonos de las páginas: se ven como enlaces y llevan a enviar
   el correo o a llamar con un toque. */
.entry-content a[href^="mailto:"],
.entry-content a[href^="tel:"] {
  color: rgb(251, 182, 22);
  text-decoration: underline;
  text-underline-offset: 3px;
  word-break: break-word;
}
.entry-content a[href^="mailto:"]:hover,
.entry-content a[href^="tel:"]:hover { color: rgb(255, 214, 102); }

/* Fichas y textos técnicos en categorías */
.agx-ficha { margin: 28px 0 8px; padding: 22px; background: rgb(35, 55, 97); border: 1px solid rgba(231, 234, 236, 0.16); border-radius: 4px; }
.agx-ficha-acciones { display: flex; gap: 10px; flex-wrap: wrap; margin: 0 0 18px; }
.agx-ficha-acciones a { font-family: Archivo, sans-serif; font-weight: 800; font-size: 13px; padding: 11px 16px; border-radius: 3px; text-decoration: none; }
.agx-ficha-acciones .agx-btn-pdf { background: #FBB616; color: #101218; }
.agx-ficha-acciones .agx-btn-wsp { border: 1px solid rgb(139, 146, 154); color: #e7eaec; }
.agx-ficha-texto { color: rgb(220, 224, 228); font-size: 15px; line-height: 1.65; max-width: 78ch; }
.agx-ficha-texto h2 { font-family: Archivo, sans-serif; font-weight: 800; font-size: 20px; color: #fff; margin: 22px 0 8px; }
.agx-ficha-texto h2:first-child { margin-top: 0; }
.agx-ficha-texto p { margin: 0 0 12px; }
.agx-ficha-texto ul { margin: 0 0 12px 1.2em; padding: 0; list-style: disc; }
.agx-ficha-texto li { margin: 0 0 5px; }
.agx-ficha-texto table { border-collapse: collapse; margin: 0 0 12px; font-size: 14px; }
.agx-ficha-texto th, .agx-ficha-texto td { border: 1px solid rgba(231, 234, 236, 0.2); padding: 6px 10px; text-align: left; }
.agx-ficha-texto a { color: #FBB616; text-decoration: underline; }
.woocommerce-page .agx-ficha:not(:first-child) { margin-top: 36px; }

/* Enlaces internos en la ficha de producto */
.agx-enlaces-producto { margin: 22px 0 0; font-family: 'IBM Plex Mono', monospace; font-size: 12.5px; line-height: 1.9; color: rgb(185, 192, 199); }
.agx-enlaces-producto strong { color: rgb(231, 234, 236); font-weight: 600; }
.agx-enlaces-producto a { color: rgb(231, 234, 236); text-decoration: underline; }

/* Opciones de pago y de envío: la opción elegida se marca en verde */
.wc-block-components-radio-control__input,
.wc-block-components-radio-control .wc-block-components-radio-control__input {
	background: transparent !important;
	border: 2px solid rgb(185, 192, 199) !important;
}
.wc-block-components-radio-control__input:checked {
	border-color: #22c55e !important;
	background: transparent !important;
}
.wc-block-components-radio-control__input:checked::before {
	background: #22c55e !important;
}
.wc-block-components-radio-control__option-checked,
.wc-block-components-radio-control-accordion-option--checked-option-highlighted {
	box-shadow: inset 0 0 0 1.5px #22c55e !important;
}

/* Checkout: Tipo de cliente como botones Persona | Empresa */
.agx-select-oculto { position: absolute !important; width: 1px; height: 1px; overflow: hidden; opacity: 0; pointer-events: none; }
.agx-tipo-toggle { margin: 0 0 14px; }
.agx-tipo-titulo { display: block; font-family: 'IBM Plex Sans', sans-serif; font-size: 13px; color: rgb(200, 206, 213); margin: 0 0 6px; }
.agx-tipo-botones { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.agx-tipo-botones button { font-family: Archivo, sans-serif; font-weight: 800; font-size: 15px; padding: 14px 10px; border-radius: 4px; cursor: pointer; background: transparent; color: rgb(231, 234, 236); border: 2px solid rgb(185, 192, 199); transition: background 0.15s, border-color 0.15s; }
.agx-tipo-botones button:hover { border-color: #22c55e; }
.agx-tipo-botones button.agx-on { background: #22c55e; border-color: #22c55e; color: #08210f; }
.agx-tipo-toggle.agx-error .agx-tipo-botones button { border-color: #ef4444; }
.agx-tipo-error { display: block; margin-top: 6px; font-size: 12.5px; color: #fca5a5; }
.agx-tipo-error[hidden] { display: none; }


/* Fotos de catálogo (recortes de fichas): se ven completas y más compactas */
.agx-card__media--contain { background-size: contain !important; background-repeat: no-repeat !important; background-position: center !important; background-color: #fff !important; }
.woocommerce div.product div.images .woocommerce-product-gallery__image img,
.woocommerce-page div.product div.images .woocommerce-product-gallery__image img { max-height: 380px; width: auto; max-width: 100%; margin: 0 auto; display: block; object-fit: contain; }
.woocommerce div.product div.images,
.woocommerce-page div.product div.images { max-width: 100%; }
@media (max-width: 768px) {
  .woocommerce div.product div.images .woocommerce-product-gallery__image img,
  .woocommerce-page div.product div.images .woocommerce-product-gallery__image img { max-height: 260px; }
}
