/* =====================================================================
 * FMA MOBILE LAYER — capa móvil del proceso de compra (29-sep-2026)
 * Se carga después de fma-ux.css y fma-product.css (inc/product-page.php).
 * "Base" vale en todos los anchos; el resto solo actúa a ≤768 px.
 * Patrones: listado a 2 columnas, ficha con miniaturas en fila y barra de
 * compra fija, carrito con selector de envío compacto y barra "Tramitar
 * pedido" fija, checkout con resumen plegable arriba y pago abajo, bloques
 * de relleno (banda MTRYX, footer) compactos u ocultos en el embudo.
 * Nota: style.css tiene reglas !important muy específicas para las tarjetas
 * (ul.products li.product h2), por eso aquí los selectores de tarjeta llevan
 * el mismo prefijo.
 * ===================================================================== */

/* ---------- base (todos los anchos) ---------- */
.cart-actions { display: flex; justify-content: space-between; align-items: baseline; margin-top: 24px; flex-wrap: wrap; gap: 14px; }
.cart-actions__right { display: flex; gap: 14px; align-items: baseline; flex-wrap: nowrap; min-width: 0; }
.cart-actions__right > * { margin: 0 !important; }
.cart-coupon { flex: 1 1 auto; min-width: 0; }
.cart-coupon summary { cursor: pointer; color: var(--c-grafito-soft); font-size: .9rem; list-style: none; }
.cart-coupon summary::-webkit-details-marker { display: none; }
.cart-coupon__form { display: flex; gap: 8px; margin-top: 8px; }
.cart-coupon__form input { padding: 8px 12px; border: 1px solid var(--c-linea); border-radius: 8px; min-width: 0; flex: 1; font-family: inherit; }
.cart-coupon__form .btn { padding: 8px 14px; white-space: nowrap; }
.cart-actions__update { background: transparent; border: 0; cursor: pointer; color: var(--c-grafito-soft); text-decoration: underline; font-size: .9rem; font-family: inherit; padding: 0; white-space: nowrap; }
.cart-summary__secure { display: flex; align-items: center; gap: 8px; font-size: .78rem; color: var(--c-grafito-soft); justify-content: center; }
.cart-summary__secure svg { width: 14px; height: 14px; flex: none; }
/* Fila del total: etiqueta fija, importe a la derecha y la nota del IVA debajo en pequeño (antes se pegaba todo en una línea) */
.cart-summary__row--total { align-items: baseline; gap: 12px; }
.cart-summary__row--total > span:first-child { flex: none; }
.cart-summary__row--total > span:last-child { text-align: right; min-width: 0; }
.cart-summary__row--total .includes_tax { display: block; font-size: .72rem; font-weight: 400; color: var(--c-grafito-soft); margin-top: 2px; }

.cart-summary__row--muted { color: var(--c-grafito-soft); font-size: .86rem; }
.cart-summary__row--total small { display: block; font-size: .7rem; font-weight: 400; color: var(--c-grafito-soft); letter-spacing: 0; }
.cart-summary__delivery { list-style: none; margin: 6px 0 0; padding: 12px 0 0; border-top: 1px solid var(--c-linea); display: flex; flex-direction: column; gap: 6px; font-size: .8rem; color: var(--c-grafito-soft); }
.cart-summary__delivery li { display: flex; align-items: center; gap: 8px; line-height: 1.3; }
.cart-summary__delivery svg { width: 16px; height: 16px; flex: none; color: var(--c-verde-botanico, #276B45); }
.subhero__count { font-size: .6em; color: var(--c-grafito-soft); font-weight: 400; }
/* Checkout: tarjeta "Entrega" (el selector viene de la tabla-resumen, movido por fma-mobile.js) y línea-resumen en la tabla */
.fma-entrega__hint { margin: -6px 0 12px; font-size: .84rem; color: var(--c-grafito-soft); line-height: 1.45; }
.fma-entrega__body .fma-shipping { display: flex; flex-direction: column; gap: 12px; }
.fma-ship-chosen { display: inline-flex; flex-wrap: wrap; gap: 6px; align-items: baseline; font-weight: 500; }
.fma-checkout__summary table.shop_table .includes_tax { display: block; font-size: .74rem; font-weight: 400; color: var(--c-grafito-soft); margin-top: 2px; }
.fma-ship-chosen__price { color: var(--c-grafito-soft); font-size: .9em; }
table.shop_table .fma-shipping--checkout { margin-top: 10px; }
.fma-entrega__body .fma-shipping__no-options { margin: 0; }
.fma-shipping__no-options { font-size: .88rem; color: var(--c-grafito-soft); background: var(--c-crema, #F3EFEA); border-radius: 10px; padding: 10px 12px; }

.fma-free-bar { display: flex; flex-direction: column; gap: 6px; }
.fma-free-bar__text { font-size: .85rem; color: var(--c-verde-botanico, #276B45); font-weight: 600; line-height: 1.35; }
.fma-free-bar__track { height: 6px; border-radius: 99px; background: #e6e1d8; overflow: hidden; }
.fma-free-bar__track span { display: block; height: 100%; border-radius: 99px; background: var(--c-verde-botanico, #276B45); transition: width .3s ease; }
.fma-free-bar.is-done .fma-free-bar__track span { background: var(--c-verde-salvia, #6FAE8C); }

.fma-price-free { color: var(--c-verde-botanico, #276B45); font-weight: 700; }
.fma-ship-row__price .fma-price-free, .fma-ship-suboption__price .fma-price-free { color: inherit; }

/* Breadcrumb del listado/ficha: style.css pinta dos separadores ("/" y "›"); nos quedamos con "›" */
.fma-breadcrumb__item::after { display: none !important; content: none !important; }

/* Checkout: el <select> real que select2 esconde recibía width:100 % del tema y ensanchaba la página 50 px (móvil) */
.fma-checkout select#billing_state.select2-hidden-accessible, .fma-checkout select#shipping_state.select2-hidden-accessible, .fma-checkout select#billing_country.select2-hidden-accessible, .fma-checkout select#shipping_country.select2-hidden-accessible, .fma-checkout .form-row select.select2-hidden-accessible { position: absolute !important; width: 1px !important; height: 1px !important; min-height: 0 !important; padding: 0 !important; border: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0 0 0 0) !important; }
/* Textos solo para lectores de pantalla (WooCommerce los imprime; el tema no traía la regla) */
.fma-checkout .screen-reader-text, .woocommerce-checkout form.checkout_coupon .screen-reader-text, .fma-checkout__summary #order_review_heading { position: absolute !important; width: 1px !important; height: 1px !important; margin: -1px !important; padding: 0 !important; overflow: hidden !important; clip: rect(0 0 0 0) !important; border: 0 !important; }
/* Formulario de cupón del checkout (posición por defecto de WooCommerce, ANTES de form.checkout; WooCommerce lo muestra/oculta
   con display inline, así que se estilan los hijos): campo + botón en una fila */
.woocommerce-checkout form.checkout_coupon { max-width: 520px; margin: 0 0 16px; }
.woocommerce-checkout form.checkout_coupon .form-row { margin: 0 !important; }
.woocommerce-checkout form.checkout_coupon .form-row-first { float: left; width: calc(100% - 148px) !important; }
.woocommerce-checkout form.checkout_coupon .form-row-last { float: right; width: 140px !important; }
.woocommerce-checkout form.checkout_coupon .clear { clear: both; }
.woocommerce-checkout form.checkout_coupon input.input-text { width: 100%; min-height: 44px; padding: 9px 12px; border: 1px solid var(--c-linea-strong, var(--c-linea)); border-radius: 10px; font-family: 'Montserrat', sans-serif; font-size: 16px; }
.woocommerce-checkout form.checkout_coupon .button { display: inline-flex; width: 100%; align-items: center; justify-content: center; min-height: 44px; padding: 0 12px; background: var(--c-verde-botanico, #276B45); color: #fff; border: 0; border-radius: 10px; font-family: inherit; font-weight: 600; font-size: .9rem; cursor: pointer; white-space: nowrap; }
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info { font-size: .85rem; }
.fma-checkout label.checkbox .optional, .fma-checkout .form-row label .optional { float: none !important; display: inline; margin-left: 4px; font-weight: 400; color: var(--c-grafito-soft); }
/* Casillas (consulta al farmacéutico, enviar a otra dirección, condiciones): casilla + texto en línea */
.fma-checkout .form-row label.checkbox, .fma-checkout .woocommerce-form__label-for-checkbox { display: inline-flex !important; align-items: flex-start; gap: 8px; font-family: 'Montserrat', sans-serif !important; font-size: .85rem !important; font-weight: 500 !important; line-height: 1.4; margin: 0 !important; }
.fma-checkout .form-row input[type="checkbox"], .fma-checkout .woocommerce-form__input-checkbox { width: 16px !important; height: 16px !important; min-height: 0 !important; margin: 2px 0 0 !important; flex: none; accent-color: var(--c-verde-botanico, #276B45); }
.fma-checkout #ship-to-different-address { font-family: 'Montserrat', sans-serif !important; font-size: .9rem !important; font-weight: 600 !important; }

/* Listado: el título de la tarjeta llevaba 16 px de relleno lateral que la categoría y el precio no tienen (quedaba desalineado) */
ul.products li.product h2.fma-card__title, ul.products li.product .fma-card__title { padding-left: 0 !important; padding-right: 0 !important; }
/* Pasarela de tarjeta: iconos vectoriales nítidos (inc/tienda-presentacion.php) en lugar del PNG pixelado del plugin */
.fma-pay-icons { display: inline-flex; gap: 6px; vertical-align: middle; margin-left: 8px; }
.fma-pay-ico { display: block; height: 22px; width: auto; }
#payment .payment_method_redsys > label img { display: none !important; }
/* la etiqueta sigue en línea con el círculo de selección; si no caben, los iconos bajan debajo del texto */
#payment .payment_method_redsys > label .fma-pay-icons { margin: 4px 0 0 6px; }

.fma-sticky { display: none; }

/* ---------- ≤768 px: proceso de compra en móvil ---------- */
@media (max-width: 768px) {

  /* Cabeceras de sección: compactas, sin "eyebrow" ni párrafo largo; sin el hueco de 48 px del contenedor de página */
  .woocommerce-cart main > .container, .woocommerce-checkout main > .container, .woocommerce-account main > .container { padding-top: 0 !important; }
  .subhero { padding: 12px 0 10px !important; }
  .subhero__inner { gap: 4px !important; }
  .subhero .breadcrumb { font-size: .72rem !important; margin: 0 0 2px !important; display: block !important; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .subhero__eyebrow { display: none !important; }
  .subhero h1 { font-size: 1.5rem !important; line-height: 1.15 !important; }
  .subhero__lead { font-size: .84rem !important; line-height: 1.45 !important; margin: 2px 0 0 !important; }
  .page-section { padding: 14px 0 24px !important; }

  /* WhatsApp flotante: más pequeño, sin tooltip, por encima de las barras fijas */
  .fab-wa { width: 46px !important; height: 46px !important; right: 12px !important; bottom: 14px !important; box-shadow: 0 8px 18px -8px rgba(37,211,102,.6) !important; }
  .fab-wa .lucide { width: 22px !important; height: 22px !important; }
  .fab-wa::after { display: none !important; }
  body.has-fma-sticky .fab-wa { bottom: 84px !important; }
  .fma-cookie-banner__text { flex-basis: 100% !important; max-width: 100% !important; font-size: .82rem !important; }
  .fma-cookie-banner__actions { flex-basis: 100% !important; }

  /* Banda MTRYX: 4 tarjetas en 2x2 solo con icono + título; oculta en carrito / checkout / pedido recibido */
  .mtryx-band { padding: 26px 0 !important; }
  .mtryx-band .wrap-x > div:first-child { margin-bottom: 14px !important; }
  .mtryx-band h2 { font-size: 1.35rem !important; margin: .2rem 0 .3rem !important; }
  .mtryx-band__grid { grid-template-columns: 1fr 1fr !important; gap: 8px !important; }
  .mtryx-band .feature-card { padding: 12px !important; gap: 8px !important; border-radius: 12px !important; }
  .mtryx-band .feature-card__icon { width: 30px !important; height: 30px !important; border-radius: 8px !important; }
  .mtryx-band .feature-card__icon .lucide { width: 16px; height: 16px; }
  .mtryx-band .feature-card h4 { font-size: .78rem !important; line-height: 1.25 !important; margin: 0 !important; }
  .mtryx-band .feature-card p { display: none !important; }
  .mtryx-band__text { display: none !important; }
  .mtryx-band__legal { margin-top: 12px !important; padding: 10px 12px !important; font-size: .74rem !important; gap: 10px !important; }
  .mtryx-band__legal img { height: 32px !important; }
  .woocommerce-cart .mtryx-band, .woocommerce-checkout .mtryx-band, .fma-order-received .mtryx-band { display: none !important; }

  /* Footer: marca arriba, enlaces en 2 columnas, contacto abajo; en el embudo solo la línea legal */
  .site-footer { padding: 26px 0 18px !important; }
  .site-footer .sprig { display: none !important; }
  .footer-grid { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 16px 14px !important; }
  .footer-grid > div:first-child, .footer-grid > div:last-child { grid-column: 1 / -1; }
  .footer-grid > div:first-child p { margin-top: 10px !important; font-size: .8rem !important; }
  .site-footer h5 { margin: 0 0 8px !important; }
  .site-footer ul { margin: 0 !important; padding: 0 !important; list-style: none; }
  .site-footer ul li { font-size: .82rem !important; line-height: 1.5 !important; margin: 0 0 4px !important; }
  .footer-bottom { margin-top: 16px !important; padding-top: 12px !important; font-size: .7rem !important; }
  .footer-bottom .legal-links { gap: 6px 12px !important; }
  .woocommerce-cart .footer-grid, .woocommerce-checkout .footer-grid { display: none !important; }
  .woocommerce-cart .site-footer, .woocommerce-checkout .site-footer { padding: 14px 0 !important; }
  .woocommerce-cart .footer-bottom, .woocommerce-checkout .footer-bottom { margin-top: 0 !important; padding-top: 0 !important; border-top: 0 !important; }

  /* Barras fijas inferiores (las crea fma-mobile.js) */
  .fma-sticky { position: fixed; left: 0; right: 0; bottom: 0; z-index: 90; display: flex; align-items: center; gap: 12px; padding: 10px 12px calc(10px + env(safe-area-inset-bottom, 0px)); background: #fff; border-top: 1px solid var(--c-linea, #e3ddd2); box-shadow: 0 -8px 24px -12px rgba(0,0,0,.18); transform: translateY(110%); transition: transform .25s ease; }
  .fma-sticky.is-visible { transform: translateY(0); }
  .fma-sticky__info { display: flex; flex-direction: column; line-height: 1.1; min-width: 0; }
  .fma-sticky__label { font-size: .62rem; text-transform: uppercase; letter-spacing: .08em; color: var(--c-grafito-soft); }
  .fma-sticky__price { font-weight: 700; font-size: 1.1rem; color: var(--c-grafito); white-space: nowrap; }
  .fma-sticky__price .amount, .fma-sticky__price bdi { font-weight: 700; color: inherit; }
  .fma-sticky__btn { flex: 1; height: 46px; border: 0; border-radius: 12px; background: var(--c-verde-botanico, #276B45); color: #fff !important; font-family: inherit; font-weight: 600; font-size: .95rem; display: inline-flex; align-items: center; justify-content: center; text-decoration: none !important; cursor: pointer; }
  body.has-fma-sticky { padding-bottom: 78px; }
  /* Mientras el aviso de cookies está abierto (fijo abajo, z-index 9990) la barra no se enseña; al aceptar/rechazar reaparece */
  body:has(.fma-cookie-banner) .fma-sticky { display: none; }

  /* ===== LISTADO (tienda / categoría): 2 columnas, tarjetas compactas ===== */
  /* La rejilla del shop era "1fr" (= minmax(auto,1fr)): el contenido mínimo la estiraba a 426 px y la 2ª columna salía de pantalla */
  .fma-shop__layout { grid-template-columns: minmax(0, 1fr) !important; }
  .fma-shop__main, .fma-shop__main ul.products, .fma-toolbar { min-width: 0 !important; max-width: 100% !important; }
  .fma-shop { padding-top: 10px !important; }
  /* Paginación (20 páginas): en fila que envuelve, sin desplazamientos negativos ni ancho fijo */
  .woocommerce-pagination, .woocommerce-pagination ul.page-numbers, ul.page-numbers { display: flex !important; flex-wrap: wrap !important; justify-content: center; gap: 6px !important; width: 100% !important; max-width: 100% !important; margin: 14px 0 0 !important; padding: 0 !important; left: auto !important; transform: none !important; list-style: none; }
  .woocommerce-pagination { flex-direction: column; }
  ul.page-numbers li { margin: 0 !important; padding: 0 !important; }
  ul.page-numbers a, ul.page-numbers span { display: inline-flex !important; align-items: center; justify-content: center; min-width: 36px !important; height: 36px !important; padding: 0 8px !important; margin: 0 !important; border-radius: 10px !important; font-size: .85rem !important; }
  .fma-shop__breadcrumb { font-size: .72rem; }
  .fma-shop__search { margin: 0 0 10px !important; padding: 4px 4px 4px 12px !important; }
  .fma-shop__search input[type="search"] { padding: 8px 0 !important; }
  .fma-shop__search button { padding: 8px 12px !important; font-size: .8rem !important; }
  .fma-shop__header { margin-bottom: 8px !important; padding-bottom: 8px !important; }
  .fma-shop__title { font-size: 1.45rem !important; margin: 0 0 4px !important; }
  .fma-filter-toggle { min-height: 40px; padding: 8px 14px !important; margin-bottom: 10px !important; font-size: .85rem !important; border-radius: 12px !important; box-shadow: none !important; transform: none !important; }
  .fma-toolbar { display: flex !important; flex-direction: row !important; align-items: center !important; justify-content: space-between !important; gap: 8px !important; margin: 0 0 10px !important; padding-bottom: 8px !important; flex-wrap: nowrap !important; }
  .fma-toolbar__count { flex: 1 1 50%; min-width: 0; }
  .fma-toolbar__count, .fma-toolbar__count .woocommerce-result-count { font-size: .72rem !important; margin: 0 !important; line-height: 1.3; white-space: normal !important; }
  .fma-toolbar__sort { width: auto !important; flex: 0 1 46%; min-width: 0; max-width: 46%; }
  .fma-toolbar__sort form { width: 100%; margin: 0; }
  .fma-toolbar__sort select { width: 100% !important; max-width: 100% !important; min-width: 0 !important; font-size: .8rem !important; padding: 6px 26px 6px 10px !important; }
  .fma-shop ul.products, .woocommerce ul.products, ul.products { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 10px !important; margin: 0 !important; padding: 0 !important; }
  ul.products li.product { width: auto !important; float: none !important; margin: 0 !important; min-width: 0; }
  ul.products li.product.fma-card { border-radius: 12px !important; }
  ul.products li.product.fma-card:hover { transform: none !important; }
  ul.products li.product .fma-card__badges { top: 6px !important; left: 6px !important; gap: 4px !important; }
  ul.products li.product .fma-badge { padding: 2px 7px !important; font-size: .58rem !important; border-radius: 8px !important; }
  ul.products li.product .fma-card__body { padding: 8px 10px 4px !important; gap: 2px !important; }
  ul.products li.product .fma-card__cat { font-size: .58rem !important; margin: 0 0 2px !important; }
  body.woocommerce ul.products li.product h2.fma-card__title, body ul.products li.product h2.fma-card__title, body.woocommerce ul.products li.product h2.fma-card__title a, body ul.products li.product .fma-card__title a { font-size: .8rem !important; line-height: 1.3 !important; margin: 0 0 4px !important; }
  /* El recorte a 2 líneas va en el enlace (si el <a> es block, el clamp del h2 no actúa y asoma media tercera línea) */
  body ul.products li.product .fma-card__title { display: block !important; overflow: visible !important; min-height: 2.6em; max-height: none !important; -webkit-line-clamp: unset; }
  body ul.products li.product .fma-card__title a { display: -webkit-box !important; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
  ul.products li.product .fma-card__rating { display: none !important; }
  ul.products li.product .fma-card__price, ul.products li.product .fma-card__price .amount { font-size: .95rem !important; margin: 0 !important; line-height: 1.2; }
  ul.products li.product .fma-card__price del .amount { font-size: .74rem !important; }
  ul.products li.product .fma-card__stock { font-size: .62rem !important; margin: 2px 0 0 !important; }
  ul.products li.product .fma-card__actions { padding: 6px 10px 10px !important; gap: 6px !important; }
  ul.products li.product .fma-btn--cart { width: 100%; height: 38px !important; min-height: 0 !important; font-size: .78rem !important; padding: 0 10px !important; border-radius: 10px !important; justify-content: center; }
  ul.products li.product .fma-btn--cart svg { width: 14px; height: 14px; }

  /* ===== FICHA DE PRODUCTO ===== */
  .single-product .fma-single { padding-top: 8px !important; }
  .fma-sp.fma-sp--v4 { margin-top: 6px !important; }
  .fma-sp__breadcrumb { font-size: .72rem; overflow-x: auto; scrollbar-width: none; }
  .fma-sp__breadcrumb::-webkit-scrollbar { display: none; }
  .fma-sp__breadcrumb .fma-breadcrumb { flex-wrap: nowrap !important; white-space: nowrap; }
  .fma-sp--v4 .fma-sp__layout { gap: 14px !important; }
  .fma-sp--v4 .fma-sp__gallery .woocommerce-product-gallery__image img { max-height: 72vw; width: 100%; }
  .fma-sp--v4 .fma-sp__gallery .flex-control-thumbs { display: flex !important; grid-template-columns: none !important; overflow-x: auto; gap: 8px !important; margin: 8px 0 0 !important; padding: 0 0 4px !important; scrollbar-width: none; }
  .fma-sp--v4 .fma-sp__gallery .flex-control-thumbs::-webkit-scrollbar { display: none; }
  .fma-sp--v4 .fma-sp__gallery .flex-control-thumbs li { flex: 0 0 56px !important; width: 56px !important; margin: 0 !important; }
  .fma-sp--v4 .fma-sp__gallery .flex-control-thumbs li img { width: 56px !important; height: 56px !important; object-fit: contain; border-radius: 8px; }
  .fma-sp__cat { font-size: .66rem !important; }
  .fma-sp__title { font-size: 1.35rem !important; line-height: 1.2 !important; margin: 0 0 4px !important; }
  .fma-sp__subtitle { font-size: .85rem !important; margin: 0 0 6px !important; }
  .fma-sp__meta-row { font-size: .74rem !important; margin-bottom: 4px !important; }
  .fma-sp__price { margin: 6px 0 4px !important; }
  .fma-sp__price .price, .fma-sp__price .amount { font-size: 1.45rem !important; }
  .fma-sp__price del .amount { font-size: 1rem !important; }
  .fma-sp__tax { font-size: .7rem !important; }
  .fma-sp__stock { font-size: .8rem !important; margin: 0 0 8px !important; }
  .fma-sp--v4 .fma-sp__add-to-cart form.cart { margin: 4px 0 12px !important; }
  .fma-sp--v4 .fma-sp__add-to-cart .quantity { height: 48px !important; border-color: var(--c-linea-strong, #cfd6cc) !important; }
  .fma-sp--v4 .fma-sp__add-to-cart .single_add_to_cart_button { height: 48px !important; line-height: 48px !important; max-height: 48px !important; font-size: .95rem !important; }
  .fma-sp__delivery { padding: 10px 12px !important; gap: 8px !important; margin: 0 0 10px !important; border-radius: 12px !important; display: flex; flex-direction: column; }
  .fma-sp__delivery-row { display: flex; gap: 8px !important; align-items: flex-start !important; }
  .fma-sp__delivery-row svg { width: 16px !important; height: 16px !important; flex: none; margin-top: 2px; }
  .fma-sp__delivery-row strong { font-size: .8rem !important; display: block; line-height: 1.25; }
  .fma-sp__delivery-row small { font-size: .72rem !important; line-height: 1.3; display: block; }
  .fma-sp__excerpt { font-size: .86rem !important; line-height: 1.5 !important; }
  .fma-sp__facts { grid-template-columns: 1fr 1fr !important; gap: 6px 12px !important; margin: 6px 0 10px !important; padding: 10px 12px !important; }
  .fma-sp__fact dt { font-size: .6rem !important; }
  .fma-sp__fact dd { font-size: .8rem !important; }
  .fma-sp__trust { display: grid !important; grid-template-columns: repeat(3, 1fr); gap: 6px; }
  .fma-sp__trust-item { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 4px !important; font-size: .62rem !important; line-height: 1.2; padding: 8px 4px !important; }
  .fma-sp__trust-item svg { width: 16px !important; height: 16px !important; }
  .fma-sp .fma-sp__related { margin: 4px 0 16px !important; }
  .fma-sp .fma-sp__related h2 { font-size: 1.25rem !important; margin: 0 0 8px !important; }
  .fma-sp .fma-sp__related ul.products { display: flex !important; grid-template-columns: none !important; overflow-x: auto; gap: 10px !important; scroll-snap-type: x mandatory; padding: 0 0 6px !important; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
  .fma-sp .fma-sp__related ul.products::-webkit-scrollbar { display: none; }
  .fma-sp .fma-sp__related ul.products li.product { flex: 0 0 44% !important; scroll-snap-align: start; }
  .fma-sp__content { gap: 12px !important; }
  .fma-acc { margin-bottom: 8px !important; border-radius: 12px !important; }
  .fma-acc__head { padding: 12px 14px !important; font-size: 1.05rem !important; }
  .fma-acc__body { padding: 0 14px 12px !important; font-size: .88rem !important; line-height: 1.5 !important; }
  .fma-consejo { position: static !important; padding: 14px !important; border-radius: 12px !important; }
  .fma-consejo__avatar { width: 36px !important; height: 36px !important; font-size: 1.1rem !important; }
  .fma-consejo__body { max-height: 200px !important; font-size: .86rem !important; }
  .fma-consejo__cta-text { font-size: .86rem !important; margin: 10px 0 8px !important; }
  .fma-btn--wa { padding: 11px 14px !important; font-size: .9rem !important; }
  .fma-consejo__legal { font-size: .68rem !important; }

  /* ===== CARRITO ===== */
  .woocommerce-cart .cart-grid { gap: 14px !important; }
  .cart-line { grid-template-columns: 64px minmax(0, 1fr) auto !important; gap: 10px !important; padding: 12px 0 !important; align-items: start !important; }
  .cart-line__media { width: 64px !important; height: 64px !important; border-radius: 10px !important; }
  .cart-line__brand { font-size: .6rem !important; }
  .cart-line__name { font-size: .92rem !important; line-height: 1.25 !important; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
  .cart-line__qty { margin-top: 6px !important; gap: 10px !important; }
  .cart-line .fma-qty { height: 32px; }
  .cart-line .fma-qty__btn { width: 32px !important; height: 32px !important; font-size: 1rem !important; }
  .cart-line .fma-qty__input { width: 34px !important; height: 32px !important; font-size: .9rem !important; }
  .cart-line__remove { font-size: .74rem !important; }
  .cart-line__price { font-size: .95rem !important; padding-top: 2px; }
  .cart-actions { flex-direction: column !important; align-items: stretch !important; gap: 8px !important; margin-top: 10px !important; }
  .cart-actions__right { justify-content: space-between !important; width: 100%; }
  .cart-actions .link-arrow { font-size: .85rem; }
  .cart-coupon summary { font-size: .78rem !important; white-space: nowrap; }
  .cart-actions__update { font-size: .78rem !important; }

  .cart-summary { position: static !important; padding: 14px !important; gap: 10px !important; border-radius: 14px !important; }
  .cart-summary h3 { font-size: 1.15rem !important; }
  .cart-summary__row { font-size: .88rem !important; }
  .cart-summary__row--total { font-size: 1.05rem !important; padding-top: 10px !important; }
  .cart-summary__cta { min-height: 48px; font-size: .95rem; }
  .cart-summary__secure { font-size: .72rem !important; }

  .fma-cart-shipping-block { padding: 10px 10px 8px !important; margin: 2px 0 !important; border-radius: 12px !important; }
  .fma-cart-shipping-block__head { font-size: .85rem !important; margin-bottom: 8px !important; }
  .fma-shipping { gap: 8px !important; }
  .fma-shipping__barrio { gap: 4px !important; }
  .fma-shipping__barrio label { font-size: .76rem !important; }
  .fma-shipping__barrio-tag { display: none !important; }
  .fma-shipping__barrio select { padding: 9px 34px 9px 12px !important; font-size: 16px !important; border-radius: 10px !important; }
  .fma-shipping__hint { display: none !important; }
  .fma-shipping__methods { gap: 6px !important; }
  .fma-ship-row { border-radius: 10px !important; }
  /* Filas sueltas (Recogida, Mensajería): radio | texto | precio en una sola fila; sin icono ni etiqueta redundante */
  .fma-ship-row > label { grid-template-columns: 18px minmax(0, 1fr) auto !important; grid-template-rows: auto !important; gap: 10px !important; padding: 10px 12px !important; align-items: center !important; }
  .fma-ship-row > label .fma-ship-row__kicker { display: none !important; }
  .fma-ship-row__icon { display: none !important; }
  .fma-ship-row__body { min-width: 0; gap: 1px !important; }
  .fma-ship-row__title { font-size: .84rem !important; gap: 6px !important; line-height: 1.25 !important; }
  .fma-ship-row__kicker { font-size: .56rem !important; padding: 1px 5px !important; }
  .fma-ship-row__note { font-size: .7rem !important; line-height: 1.3 !important; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
  .fma-ship-row > label .fma-ship-row__price { grid-column: 3 !important; grid-row: auto !important; text-align: right !important; font-size: .88rem !important; align-self: center; }
  /* Grupo Ziclo-P: cabecera (título + nota | desde X) y 3 sub-opciones en fila: modo | descripción | precio */
  .fma-ship-group__head { grid-template-columns: minmax(0, 1fr) auto !important; gap: 8px !important; padding: 10px 12px 6px !important; }
  .fma-ship-group__head .fma-ship-row__body { grid-column: 1 !important; }
  .fma-ship-group__head .fma-ship-row__price { grid-column: 2 !important; font-size: .72rem !important; }
  .fma-ship-group__head .fma-ship-row__price .woocommerce-Price-amount { font-size: .84rem !important; }
  .fma-ship-group__options { grid-template-columns: 1fr !important; gap: 4px !important; padding: 0 8px 8px !important; }
  .fma-ship-group__options .fma-ship-suboption { display: grid !important; grid-template-columns: auto minmax(0, 1fr) auto !important; grid-template-rows: auto !important; align-items: center; gap: 0 8px !important; padding: 9px 10px !important; border-radius: 8px !important; min-height: 0 !important; text-align: left !important; }
  .fma-ship-group__options .fma-ship-suboption__mode { grid-column: 1 !important; grid-row: 1 !important; font-size: .82rem !important; margin: 0 !important; }
  .fma-ship-group__options .fma-ship-suboption__desc { grid-column: 2 !important; grid-row: 1 !important; font-size: .68rem !important; margin: 0 !important; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .fma-ship-group__options .fma-ship-suboption__price { grid-column: 3 !important; grid-row: 1 !important; font-size: .88rem !important; margin: 0 !important; white-space: nowrap; }
  .fma-ship-group__options .fma-ship-suboption.is-checked::after { display: none !important; }
  .fma-ship-group__options .fma-ship-suboption.is-checked { box-shadow: inset 0 0 0 1.5px var(--c-verde-botanico, #276B45) !important; }
  .fma-shipping__legend { font-size: .68rem !important; padding: 8px 10px !important; line-height: 1.4 !important; }
  .fma-shipping__calc summary { font-size: .76rem !important; }
  .fma-shipping__calc .shipping-calculator-form { gap: 6px !important; }

  /* ===== CHECKOUT ===== */
  .woocommerce-checkout .subhero__lead { display: none !important; }
  .fma-checkout__grid { gap: 12px !important; }
  .fma-checkout__card { padding: 14px !important; border-radius: 14px !important; }
  .fma-checkout__card-title { font-size: 1.15rem !important; margin: 0 0 10px !important; }
  .fma-checkout .form-row, .fma-checkout p.form-row { margin: 0 0 10px !important; }
  .fma-checkout .form-row label { font-size: .78rem !important; margin-bottom: 4px !important; }
  .fma-checkout .form-row input.input-text, .fma-checkout .form-row select, .fma-checkout .form-row textarea, .fma-checkout .select2-selection--single { font-size: 16px !important; padding: 9px 12px !important; min-height: 44px !important; }
  /* Nombre / apellidos a dos columnas solo en los datos del cliente (el formulario de cupón NO) */
  .fma-checkout #customer_details .form-row.form-row-first, .fma-checkout #customer_details .form-row.form-row-last { width: calc(50% - 5px) !important; float: left; margin-right: 0 !important; }
  .fma-checkout #customer_details .form-row.form-row-last { float: right; }
  .fma-checkout #customer_details .form-row.form-row-wide, .fma-checkout .woocommerce-additional-fields, .fma-checkout .woocommerce-shipping-fields { clear: both; }
  .fma-checkout .woocommerce-billing-fields h3, .fma-checkout .woocommerce-shipping-fields h3, .fma-checkout .woocommerce-additional-fields h3 { font-size: .95rem !important; margin: 0 0 8px !important; }
  .fma-checkout textarea { min-height: 72px !important; }
  .fma-checkout .woocommerce-form-coupon-toggle .woocommerce-info { font-size: .82rem !important; padding: 10px 12px !important; margin: 0 0 10px !important; }

  /* Resumen plegable arriba (lo construye fma-mobile.js con la tabla real de WooCommerce) */
  .fma-co-summary { border: 1px solid var(--c-linea, #e3ddd2); border-radius: 14px; background: #fff; margin: 0 0 12px; overflow: hidden; }
  .fma-co-summary__toggle { width: 100%; display: flex; align-items: center; gap: 10px; padding: 12px 14px; background: var(--c-crema, #F3EFEA); border: 0; font-family: inherit; font-size: .8rem; color: var(--c-grafito); cursor: pointer; text-align: left; }
  .fma-co-summary__title { flex: 1; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .fma-co-summary__total { font-weight: 700; font-size: .98rem; white-space: nowrap; }
  .fma-co-summary__total .amount, .fma-co-summary__total bdi { font-weight: 700; color: inherit; }
  .fma-co-summary__toggle svg { transition: transform .2s; flex: none; }
  .fma-co-summary.is-open .fma-co-summary__toggle svg { transform: rotate(180deg); }
  .fma-co-summary__body { display: none; padding: 2px 14px 8px; }
  .fma-co-summary.is-open .fma-co-summary__body { display: block; }
  .fma-co-summary table.shop_table { width: 100% !important; border-collapse: collapse !important; font-size: .84rem !important; margin: 0 !important; border: 0 !important; }
  .fma-co-summary table.shop_table thead { display: none !important; }
  .fma-co-summary table.shop_table td, .fma-co-summary table.shop_table th { padding: 8px 0 !important; border: 0 !important; border-bottom: 1px solid #f0ece6 !important; vertical-align: top; background: transparent !important; }
  .fma-co-summary table.shop_table th { text-align: left; font-weight: 500 !important; color: var(--c-grafito-soft); }
  .fma-co-summary table.shop_table { table-layout: auto !important; }
  .fma-co-summary table.shop_table td.product-name { width: auto !important; max-width: none !important; word-break: normal !important; overflow-wrap: anywhere; }
  .fma-co-summary table.shop_table td.product-total, .fma-co-summary table.shop_table tfoot td { text-align: right; white-space: nowrap; width: 1%; }
  .fma-co-summary table.shop_table .includes_tax { display: block; font-size: .7rem !important; font-weight: 400 !important; color: var(--c-grafito-soft) !important; margin-top: 2px; }
  .fma-co-summary table.shop_table tr.order-total th, .fma-co-summary table.shop_table tr.order-total td { font-weight: 700 !important; font-size: .95rem !important; color: var(--c-grafito) !important; border-bottom: 0 !important; }
  .fma-co-summary table.shop_table tr.order-total .amount { color: var(--c-verde-botanico, #276B45) !important; }
  .fma-co-summary .woocommerce-shipping-totals td { text-align: left !important; white-space: normal !important; }
  .fma-co-summary .fma-shipping__chosen { padding: 0 !important; }
  .fma-co-summary .fma-shipping__chosen-hint { display: none !important; }
  .fma-co-summary .fma-shipping__chosen-label { font-size: .84rem !important; }
  .fma-co-summary .fma-ship-chosen { font-size: .82rem; }
  .fma-co-summary table.shop_table .fma-shipping--checkout { display: none; }
  .fma-checkout__entrega .fma-checkout__card-title { margin-bottom: 6px !important; }
  .fma-entrega__hint { font-size: .78rem !important; margin: 0 0 10px !important; }
  .cart-summary__delivery { font-size: .74rem; gap: 4px; padding-top: 10px; }
  .cart-summary__row--muted { font-size: .8rem !important; }

  .fma-checkout #payment.woocommerce-checkout-payment { margin: 0 !important; clear: both; }
  .fma-checkout #payment ul.payment_methods li { padding: 10px 0 !important; }
  .fma-checkout #payment ul.payment_methods li label { font-size: .9rem !important; }
  .fma-checkout #payment ul.payment_methods li .payment_box { font-size: .8rem !important; padding: 8px 10px !important; }
  .fma-checkout .woocommerce-terms-and-conditions-wrapper .form-row label { font-size: .78rem !important; }
  .fma-checkout .woocommerce-privacy-policy-text p { font-size: .78rem !important; line-height: 1.45 !important; }
  .fma-checkout #place_order { width: 100% !important; min-height: 50px !important; font-size: 1rem !important; border-radius: 12px !important; }
  .fma-checkout__secure { font-size: .74rem !important; margin-top: 10px !important; }

  /* Bloque de reseña (pedido recibido) */
  .fma-ty .fma-review-block { padding: 14px !important; font-size: .88rem !important; border-radius: 14px !important; }
  .fma-ty .fma-review-block p { margin: 0 0 10px !important; line-height: 1.5; }
  .fma-ty .fma-review-block .btn { width: 100%; justify-content: center; }
}

/* Pantallas muy estrechas (≤360 px) */
@media (max-width: 360px) {
  ul.products li.product h2.fma-card__title, ul.products li.product .fma-card__title a { font-size: .76rem !important; }
  ul.products li.product .fma-btn--cart { font-size: .74rem !important; }
  .fma-ship-group__options .fma-ship-suboption__desc { display: none !important; }
  .fma-co-summary__toggle { font-size: .76rem; }
}
