/* =====================================================================
 * Experiencia mobile tipo app — spec `Cliente - Mobile - Experiencia de compra.md`.
 * Solo se carga con el interruptor `ab_mobile_app` activo (inc/mobile.php) y TODO vive
 * dentro de @media (max-width:760px) bajo body.ab-m → escritorio sin cambios.
 * ===================================================================== */

/* Elementos móviles: nunca visibles en escritorio. */
.ab-mhead,.ab-mtabs,.ab-mcartbar,.ab-mtoast{display:none;}

@media (max-width:760px){
  body.ab-m{
    --abm-terracota:#C0673F;
    --abm-tinta:#3B463E;
    --abm-borde:#EFE7DA;
    --abm-tabs-h:56px;
    --abm-safe:env(safe-area-inset-bottom,0px);
    -webkit-tap-highlight-color:transparent;
  }

  /* ---------- Pantallas raíz: el tab bar reemplaza la hamburguesa ---------- */
  body.ab-m--root{padding-bottom:calc(var(--abm-tabs-h) + var(--abm-safe));}
  body.ab-m--root.ab-m--hascart{padding-bottom:calc(var(--abm-tabs-h) + var(--abm-safe) + 70px);}
  body.ab-m--root .ab-navtoggle,
  body.ab-m--root .ab-nav,
  body.ab-m--root .ab-acct,
  body.ab-m--root .ab-header__login,
  body.ab-m--root .ab-header__actions .ab-hicon:not([data-cart-link]){display:none !important;}

  /* Footer mínimo (solo enlaces legales) */
  body.ab-m--root .ab-footer__inner{display:none;}
  body.ab-m--root .ab-footer__bottom{flex-direction:column;align-items:flex-start;gap:.5rem;font-size:12px;}
  body.ab-m--root .ab-footer__links{display:flex;flex-wrap:wrap;gap:.3rem 1rem;}

  /* ---------- Tab bar (spec §2) ---------- */
  body.ab-m .ab-mtabs{
    display:flex;position:fixed;left:0;right:0;bottom:0;z-index:80;
    height:calc(var(--abm-tabs-h) + var(--abm-safe));padding-bottom:var(--abm-safe);
    background:#fff;border-top:1px solid var(--abm-borde);
  }
  .ab-mtabs__item{
    flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;
    min-width:44px;color:var(--abm-tinta);font:500 11px/1.1 var(--ab-font-body);
  }
  .ab-mtabs__ic{position:relative;display:flex;align-items:center;justify-content:center;width:38px;height:32px;border-radius:11px;transition:background .18s;}
  .ab-mtabs__item.is-active{color:var(--abm-terracota);}
  .ab-mtabs__item.is-active .ab-mtabs__ic{background:var(--abm-terracota);color:#fff;}
  /* Inicio → "Subir" al bajar más de 380px */
  .ab-mtabs__up,.ab-mtabs__lb--up{display:none;}
  .ab-mtabs__up{position:absolute;inset:0;align-items:center;justify-content:center;}
  .ab-mtabs__item.is-up .ab-mtabs__ic > svg{display:none;}
  .ab-mtabs__item.is-up .ab-mtabs__up{display:flex;}
  .ab-mtabs__item.is-up .ab-mtabs__lb{display:none;}
  .ab-mtabs__item.is-up .ab-mtabs__lb--up{display:block;}

  /* ---------- Barra "Ver carrito" (encima del tab bar) ---------- */
  body.ab-m .ab-mcartbar{
    display:flex;align-items:center;gap:.7rem;position:fixed;z-index:79;
    left:14px;right:14px;bottom:calc(var(--abm-tabs-h) + var(--abm-safe) + 8px);
    min-height:52px;padding:0 1rem;border-radius:16px;
    background:var(--ab-verde-900);color:#fff;font:600 14px/1.2 var(--ab-font-body);
    box-shadow:0 10px 26px -10px rgba(27,67,50,.55);
  }
  body.ab-m .ab-mcartbar[hidden]{display:none;}
  .ab-mcartbar__qty{background:rgba(255,255,255,.16);border-radius:999px;padding:.25rem .6rem;font-size:12px;}
  .ab-mcartbar__txt{flex:1;}
  .ab-mcartbar__sub{font-weight:700;}

  /* ---------- Header interno (spec §4) ---------- */
  body.ab-m--inner .ab-header{display:none;}
  body.ab-m--inner .wp-site-blocks > header.wp-block-template-part,body.ab-m--inner .wp-site-blocks > footer.wp-block-template-part{display:none;} /* checkout usa el tema de bloques */
  body.ab-m--inner .ab-footer{display:none;} /* pantallas internas: la barra de acción reemplaza al footer */
  body.ab-m .ab-mhead{
    display:flex;align-items:center;gap:.7rem;position:sticky;top:0;z-index:50;
    padding:.6rem 14px;background:var(--ab-crema);border-bottom:1px solid var(--abm-borde);
  }
  .ab-mhead__back{
    flex:0 0 44px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;
    background:#fff;border:1px solid #ECE3D6;border-radius:14px;color:var(--ab-verde-900);cursor:pointer;padding:0;
  }
  .ab-mhead__title{flex:1;min-width:0;margin:0;font:600 17px/1.2 var(--ab-font-body);color:var(--ab-tinta);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .ab-mhead__spacer{flex:0 0 44px;}
  .ab-mhead .ab-hicon{flex:0 0 44px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid #ECE3D6;border-radius:14px;}

  /* ---------- Toast (spec §4) ---------- */
  body.ab-m .ab-mtoast{
    display:flex;align-items:center;gap:.9rem;position:fixed;z-index:9999;left:16px;right:16px;bottom:104px;
    padding:.85rem 1rem;border-radius:14px;background:var(--ab-verde-900);color:#fff;
    font:500 14px/1.3 var(--ab-font-body);box-shadow:0 12px 30px -12px rgba(0,0,0,.4);
    opacity:0;transform:translateY(10px);transition:opacity .2s,transform .2s;pointer-events:none;
  }
  body.ab-m .ab-mtoast[hidden]{display:none;}
  body.ab-m .ab-mtoast.is-on{opacity:1;transform:none;pointer-events:auto;}
  body.ab-m--hascart .ab-mtoast{bottom:calc(var(--abm-tabs-h) + var(--abm-safe) + 72px);}
  .ab-mtoast__msg{flex:1;}
  .ab-mtoast__act{color:#95D5B2;font-weight:700;white-space:nowrap;}
}

/* =====================================================================
 * Tarea 3/4 — Inicio mobile (spec §3.1) + tarjeta mobile + hoja inferior.
 * ===================================================================== */
.ab-mh-top,.ab-mh-search,.ab-mh-sec,.ab-msheet,.ab-hero2__msub{display:none;}

@media (max-width:760px){
  /* --- Ocultar el Inicio de escritorio; queda solo el H1 del hero (único) --- */
  body.ab-m.home .ab-header,
  body.ab-m.home .ab-home > .ab-camp-banner,
  body.ab-m.home .ab-home > .ab-hsec,
  body.ab-m.home .ab-hero2__circle,
  body.ab-m.home .ab-hero2__kicker,
  body.ab-m.home .ab-hero2__sub,
  body.ab-m.home .ab-hero2__entity,
  body.ab-m.home .ab-hero2 .ab-search,
  body.ab-m.home .ab-hero2__trust,
  body.ab-m.home .ab-hero2__collage{display:none !important;}
  body.ab-m.home .ab-home{padding:0;}
  body.ab-m.home .ab-hero2{padding:2px 16px 10px;margin:0;background:none;min-height:0;overflow:visible;}
  body.ab-m.home .ab-hero2__grid{display:block;padding:0;margin:0;min-height:0;}
  body.ab-m.home .ab-hero2__title{font-size:28px;line-height:1.1;margin:0 0 6px;max-width:300px;color:var(--ab-verde-900);}
  body.ab-m.home .ab-hero2__msub{display:block;margin:0;font-size:15px;line-height:1.45;color:#4f5b54;}

  /* --- M1 dirección + carrito --- */
  body.ab-m .ab-mh-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px 8px;}
  .ab-mh-addr{display:flex;align-items:center;gap:6px;min-width:0;min-height:44px;background:none;border:0;padding:0;cursor:pointer;color:var(--ab-verde-900);font:700 17px/1.2 var(--ab-font-body);}
  .ab-mh-addr__txt{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .ab-mh-top .ab-hicon{flex:0 0 44px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid #ECE3D6;border-radius:14px;color:var(--abm-terracota);position:relative;}
  .ab-mh-top .ab-hicon__badge,.ab-mhead .ab-hicon__badge{background:var(--abm-terracota);}

  /* --- M2 buscador sticky + chips --- */
  body.ab-m .ab-mh-search{display:block;position:sticky;top:0;z-index:45;padding:10px 16px;background:var(--ab-crema);}
  .ab-mh-search.is-stuck{box-shadow:0 8px 16px -14px rgba(27,67,50,.5);}
  .ab-mh-search__form{display:flex;align-items:center;gap:8px;background:#F1EADF;border-radius:16px;padding:6px 6px 6px 14px;margin:0;}
  .ab-mh-search__field{flex:1;display:flex;align-items:center;gap:8px;color:#8a8478;min-width:0;}
  .ab-mh-search__field input{flex:1;min-width:0;border:0;background:none;font:400 16px var(--ab-font-body);color:var(--ab-tinta);padding:8px 0;outline:none;-webkit-appearance:none;}
  .ab-mh-search__btn{flex:0 0 auto;min-height:44px;padding:0 18px;border:0;border-radius:12px;background:var(--abm-terracota);color:#fff;font:700 15px var(--ab-font-body);cursor:pointer;}
  .ab-mh-search__chips{display:none !important;margin-top:10px;}
  .ab-mh-search.is-stuck .ab-mh-search__chips{display:flex !important;}
  .ab-mchips{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;margin-left:-16px;margin-right:-16px;padding:0 16px;}
  .ab-mchips::-webkit-scrollbar{display:none;}
  .ab-mchip{flex:0 0 auto;display:inline-flex;align-items:center;min-height:36px;padding:0 14px;border-radius:999px;background:#fff;border:1px solid #E5DECF;color:var(--ab-tinta);font:500 13px var(--ab-font-body);white-space:nowrap;}
  .ab-mchip.is-active{background:var(--ab-verde-900);border-color:var(--ab-verde-900);color:#fff;}

  /* --- Secciones --- */
  body.ab-m .ab-mh-sec{display:block;padding:10px 16px 14px;}
  .ab-mh-head{display:flex;align-items:center;gap:8px;margin-bottom:10px;}
  .ab-mh-head__t{margin:0;font:700 19px/1.2 var(--ab-font-body);color:var(--ab-tinta);}
  .ab-mh-head__note{margin-left:auto;font-size:12px;color:#7a7870;}
  .ab-mh-head__more{margin-left:auto;font:600 13px var(--ab-font-body);color:var(--abm-terracota);min-height:32px;display:flex;align-items:center;}
  .ab-mh-pill{background:var(--abm-terracota);color:#fff;border-radius:999px;padding:3px 9px;font:700 11px var(--ab-font-body);}

  /* Carruseles: scroll horizontal nativo sin barra, snap opcional */
  .ab-mrow{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none;margin:0 -16px;padding:0 16px 4px;-webkit-overflow-scrolling:touch;}
  .ab-mrow::-webkit-scrollbar{display:none;}
  .ab-mrow > *{scroll-snap-align:start;}
  .ab-mrow--132 .ab-mcard{flex:0 0 132px;}
  .ab-mrow--158 .ab-mcard{flex:0 0 158px;}

  /* M3 ocasiones */
  body.ab-m .ab-mh-occ{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;}
  .ab-mh-occ__card{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 4px;background:#fff;border-radius:16px;font:600 12px/1.2 var(--ab-font-body);color:var(--ab-tinta);text-align:center;box-shadow:0 4px 14px -10px rgba(27,67,50,.35);}
  .ab-mh-occ__ic{font-size:26px;line-height:1;}

  /* M4 logos */
  .ab-mlogo{flex:0 0 auto;display:flex;align-items:center;justify-content:center;border-radius:50%;overflow:hidden;background:#fff;border:1px solid #ECE3D6;color:var(--ab-verde-900);font:700 20px var(--ab-font-display);}
  .ab-mlogo img{width:100%;height:100%;object-fit:cover;}
  .ab-mh-logos{gap:14px;}
  .ab-mh-logos__it{flex:0 0 72px;display:flex;flex-direction:column;align-items:center;gap:6px;font:500 11px/1.2 var(--ab-font-body);color:var(--ab-tinta);text-align:center;}
  .ab-mh-logos__it > span:last-child{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-width:72px;}

  /* M5 campaña compacta */
  .ab-mh-camp{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:18px;border-radius:20px;color:#fff;}
  .ab-mh-camp__tag{background:rgba(255,255,255,.18);border-radius:999px;padding:3px 10px;font:600 11px var(--ab-font-body);}
  .ab-mh-camp__title{font:600 21px/1.15 var(--ab-font-display);}
  .ab-mh-camp__sub{font-size:13px;opacity:.88;}
  .ab-mh-camp__cta{margin-top:4px;background:#fff;color:var(--ab-verde-900);border-radius:12px;padding:9px 14px;font:700 13px var(--ab-font-body);}

  /* M6 descuentos */
  .ab-mh-deals{background:#F7E6DC;border-radius:22px;padding:14px 16px 16px;}
  .ab-mh-deals .ab-mrow{margin:0;padding:0 0 2px;border-radius:16px;}

  /* M8 bloque floristería */
  .ab-mh-store{display:flex;align-items:center;gap:12px;margin-bottom:12px;}
  .ab-mh-store__body{display:flex;flex-direction:column;gap:3px;min-width:0;}
  .ab-mh-store__name{font:700 16px/1.2 var(--ab-font-body);color:var(--ab-tinta);}
  .ab-mh-store__meta{font-size:12px;color:#6b746e;}

  /* M9 bodas */
  .ab-mh-bodas{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px;border-radius:20px;background:#E6DEEF;}
  .ab-mh-bodas__t{font:600 19px/1.2 var(--ab-font-display);color:var(--ab-morado-900);}
  .ab-mh-bodas__cta{flex:0 0 auto;background:var(--ab-morado-900);color:#fff;border-radius:12px;padding:10px 14px;font:700 13px var(--ab-font-body);}

  /* M10 lista */
  .ab-mh-list{list-style:none;margin:0;padding:0;background:#fff;border-radius:18px;}
  .ab-mh-list li + li{border-top:1px solid #F1EADF;}
  .ab-mh-list a{display:flex;align-items:center;gap:12px;padding:10px 12px;color:var(--ab-tinta);min-height:64px;}
  .ab-mh-list__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;}
  .ab-mh-list__name{font:600 15px var(--ab-font-body);}
  .ab-mh-list__meta{font-size:12px;color:#6b746e;}
  .ab-mh-list svg{color:#b5ad9f;flex:0 0 auto;}

  /* --- Tarjeta de producto mobile: "+" en la esquina inferior derecha de la imagen --- */
  .ab-mcard{position:relative;display:flex;flex-direction:column;gap:6px;min-width:0;}
  .ab-mcard__media{position:relative;}
  .ab-mcard__img{display:block;aspect-ratio:1/1;border-radius:16px;overflow:hidden;background:#F1EADF;}
  .ab-mcard__img img{width:100%;height:100%;object-fit:cover;}
  .ab-mcard__plus{position:absolute;right:8px;bottom:8px;display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:12px;border:0;background:var(--abm-terracota);color:#fff;cursor:pointer;box-shadow:0 6px 14px -6px rgba(192,103,63,.8);padding:0;}
  .ab-mcard__plus.is-busy{opacity:.6;pointer-events:none;}
  .ab-mcard__info{display:flex;flex-direction:column;gap:3px;color:var(--ab-tinta);}
  .ab-mcard__off{align-self:flex-start;background:#FBE3D6;color:#A4512E;border-radius:999px;padding:2px 8px;font:700 11px var(--ab-font-body);}
  .ab-mcard__name{font:500 13px/1.3 var(--ab-font-body);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
  .ab-mcard__price{font:700 14px var(--ab-font-body);color:#A4512E;}
  .ab-mcard__price small{font-weight:500;font-size:11px;color:#7a7870;}
  .ab-mcard__price s{font-weight:400;font-size:12px;color:#9a948a;margin-left:2px;}

  /* --- Hoja inferior (bottom sheet) --- */
  body.ab-m .ab-msheet{display:block;position:fixed;inset:0;z-index:120;}
  body.ab-m .ab-msheet[hidden]{display:none;}
  .ab-msheet__bg{position:absolute;inset:0;background:rgba(24,20,16,.45);opacity:0;transition:opacity .2s;}
  .ab-msheet__panel{position:absolute;left:0;right:0;bottom:0;background:var(--ab-crema);border-radius:22px 22px 0 0;padding:10px 16px calc(18px + var(--abm-safe));transform:translateY(100%);transition:transform .24s ease;max-height:88vh;overflow-y:auto;}
  .ab-msheet.is-open .ab-msheet__bg{opacity:1;}
  .ab-msheet.is-open .ab-msheet__panel{transform:none;}
  .ab-msheet__grip{display:block;width:40px;height:4px;border-radius:4px;background:#DCD3C4;margin:0 auto 12px;}
  .ab-msheet__t{font:700 19px var(--ab-font-body);color:var(--ab-tinta);margin:0 0 4px;}
  .ab-msheet__note{font-size:13px;color:#6b746e;margin:0 0 14px;}
  .ab-mfield{display:flex;flex-direction:column;gap:6px;margin-bottom:14px;font:600 13px var(--ab-font-body);}
  .ab-mfield input{min-height:48px;border:1px solid #E5DECF;border-radius:14px;padding:0 14px;font:400 16px var(--ab-font-body);background:#fff;}
  .ab-mbtn{display:flex;align-items:center;justify-content:center;width:100%;min-height:52px;border:0;border-radius:15px;background:var(--abm-terracota);color:#fff;font:700 16px var(--ab-font-body);cursor:pointer;}
}

/* =====================================================================
 * Tarea 5 — Comprar mobile (spec §3.2): chips rápidos, filtros en hoja inferior,
 * grilla de 2 columnas y tarjetas con el look de la tarjeta mobile (sobre el markup existente,
 * para no tocar el scroll infinito ni el agregar al carrito nativo).
 * ===================================================================== */
.ab-mshop-chips,.ab-mfilters-bg,.ab-mfilters__head,.ab-mfilters__apply{display:none;}

@media (max-width:760px){
  body.ab-m .ab-shop__wrap{padding:12px 16px 24px;}
  body.ab-m .ab-shop .ab-breadcrumb{display:none;}
  body.ab-m .ab-shop__h1{font-size:26px;line-height:1.15;margin:0 0 4px;}
  body.ab-m .ab-shop__sub{font-size:14px;margin:0 0 12px;}

  /* Chips rápidos */
  body.ab-m .ab-mshop-chips{display:flex;margin-bottom:10px;}
  body.ab-m .ab-mshop-chips button.ab-mchip{font-family:var(--ab-font-body);cursor:pointer;}

  /* Formulario de filtros → hoja inferior */
  body.ab-m .ab-filters{
    position:fixed;left:0;right:0;bottom:0;z-index:121;margin:0;
    flex-direction:column;align-items:stretch;gap:14px;flex-wrap:nowrap;
    background:var(--ab-crema);border-radius:22px 22px 0 0;box-shadow:0 -10px 30px rgba(0,0,0,.12);
    padding:10px 16px calc(18px + var(--abm-safe));max-height:88vh;overflow-y:auto;
    transform:translateY(105%);transition:transform .24s ease;visibility:hidden;
  }
  body.ab-m.ab-m-filters .ab-filters{transform:none;visibility:visible;}
  body.ab-m .ab-mfilters-bg{display:block;position:fixed;inset:0;z-index:120;background:rgba(24,20,16,.45);}
  body.ab-m .ab-mfilters-bg[hidden]{display:none;}
  body.ab-m .ab-mfilters__head{display:flex;flex-wrap:wrap;align-items:center;}
  body.ab-m .ab-mfilters__head .ab-msheet__grip{flex:0 0 100%;}
  body.ab-m .ab-mfilters__head .ab-msheet__t{flex:1;margin:0;}
  .ab-mfilters__x{width:44px;height:44px;border:0;background:none;font-size:28px;line-height:1;color:var(--ab-tinta);cursor:pointer;}
  body.ab-m .ab-filters__field{width:100%;}
  body.ab-m .ab-filters input[type=text],body.ab-m .ab-filters select{width:100%;min-height:48px;border-radius:14px;background:#fff;font-size:16px;}
  body.ab-m .ab-filters__pills .ab-pill{min-height:40px;}
  body.ab-m .ab-filters__clear{margin:0;align-self:center;min-height:44px;display:flex;align-items:center;}
  body.ab-m .ab-filters .ab-mfilters__apply{display:flex;flex:0 0 auto;position:sticky;bottom:0;z-index:2;background:var(--abm-terracota);color:#fff;box-shadow:0 -14px 18px -6px var(--ab-crema);}

  /* Fila de conteo + toggle de vista */
  body.ab-m .ab-shop__countrow{margin:6px 0 12px;gap:10px;}
  body.ab-m .ab-shop__count{font-size:13px;}
  body.ab-m .ab-viewtoggle{width:100%;}
  body.ab-m .ab-viewtoggle__btn{flex:1;min-height:40px;}

  /* Grilla "Todos los productos": 2 columnas, tarjeta mobile */
  body.ab-m .ab-grid--products{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px;}
  body.ab-m .ab-pcard{background:none;box-shadow:none;border:0;border-radius:0;overflow:visible;transform:none;gap:0;}
  body.ab-m .ab-pcard__link{padding:0;}
  body.ab-m .ab-pcard__img{border-radius:16px;background:#F1EADF;}
  body.ab-m .ab-pcard__tag,body.ab-m .ab-pcard__rating,body.ab-m .ab-pcard .ab-camp-badge{display:none;}
  body.ab-m .ab-pcard__title{margin:8px 0 3px;font:500 13px/1.3 var(--ab-font-body);color:var(--ab-tinta);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
  body.ab-m .ab-pcard__price{margin:0;font:700 14px var(--ab-font-body);color:#A4512E;}
  body.ab-m .ab-pcard__price del{font-weight:400;font-size:12px;color:#9a948a;}
  body.ab-m .ab-pcard__price ins{text-decoration:none;}
  body.ab-m .ab-pcard .ab-oferta-badge{left:8px;top:8px;}
  /* Botón "Agregar al carrito" / "Ver opciones" → "+" en la esquina inferior derecha de la imagen
     (margin-top en % se calcula sobre el ANCHO: imagen cuadrada → el botón cae en su borde inferior). */
  body.ab-m .ab-pcard__btn{
    position:absolute;right:8px;top:0;margin:calc(100% - 46px) 0 0;
    width:38px;height:38px;padding:0;border:0;border-radius:12px;
    background:var(--abm-terracota);box-shadow:0 6px 14px -6px rgba(192,103,63,.8);
    font-size:0;color:transparent;overflow:hidden;transform:none;
  }
  body.ab-m .ab-pcard__btn::before{content:"";position:absolute;inset:0;margin:auto;width:18px;height:18px;
    background:linear-gradient(#fff,#fff) center/2.4px 100% no-repeat,linear-gradient(#fff,#fff) center/100% 2.4px no-repeat;border-radius:2px;}
  body.ab-m .ab-pcard__btn.loading{opacity:.6;}
  body.ab-m .ab-pcard__btn.loading::after,body.ab-m .ab-pcard__btn.added::after{display:none;}
  body.ab-m .ab-pcard .added_to_cart,body.ab-m .ab-ccard .added_to_cart{display:none !important;}

  /* Vista "Por floristería": carruseles con el look mobile */
  body.ab-m .ab-fgroup__link{display:none;}
  body.ab-m .ab-fcarousel{gap:12px;margin:0 -16px;padding:0 16px 6px;scrollbar-width:none;}
  body.ab-m .ab-fcarousel::-webkit-scrollbar{display:none;}
  body.ab-m .ab-ccard{flex:0 0 158px;width:158px;}
  body.ab-m .ab-ccard__img{width:158px;height:158px;border-radius:16px;}
  body.ab-m .ab-ccard__ribbon,body.ab-m .ab-ccard__und,body.ab-m .ab-ccard__cat{display:none;}
  body.ab-m .ab-ccard__add{top:auto;bottom:8px;right:8px;width:38px;height:38px;border-radius:12px;background:var(--abm-terracota);box-shadow:0 6px 14px -6px rgba(192,103,63,.8);}
  body.ab-m .ab-ccard__add svg{width:18px;height:18px;}
  body.ab-m .ab-ccard__price{order:2;font-size:14px;color:#A4512E;}
  body.ab-m .ab-ccard__name{font:500 13px/1.3 var(--ab-font-body);color:var(--ab-tinta);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-top:8px;}
  body.ab-m .ab-ccard{display:flex;flex-direction:column;}
  body.ab-m .ab-ccard__img{order:0;}
  body.ab-m .ab-ccard__name{order:1;}
}

/* =====================================================================
 * Tarea 6 — Producto mobile (spec §3.3). Sobre el markup existente de single-product.php:
 * mobile.js mueve cantidad + "Agregar" a una barra de acción fija (mismos listeners de product.js).
 * ===================================================================== */
.ab-mbar{display:none;}

@media (max-width:760px){
  body.ab-m.single-product{padding-bottom:calc(84px + var(--abm-safe));}
  body.ab-m .ab-pdp__wrap{padding:12px 14px 20px;}
  body.ab-m .ab-pdp .ab-breadcrumb,
  body.ab-m .ab-pdp__catbadge,
  body.ab-m .ab-pdp__photolabel,
  body.ab-m .ab-pdp__pricenote,
  body.ab-m .ab-pdp__buynow,
  body.ab-m .ab-pdp__card{display:none !important;}

  /* Orden: imagen → miniaturas → compra → "Qué incluye / Cuidados" */
  body.ab-m .ab-pdp__grid{display:flex;flex-direction:column;gap:0;align-items:stretch;}
  body.ab-m .ab-pdp__media{display:contents;}
  body.ab-m .ab-pdp__mainimg{order:1;border-radius:24px;}
  body.ab-m .ab-pdp__thumbs{order:2;display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;margin-top:10px;}
  body.ab-m .ab-pdp__thumbs::-webkit-scrollbar{display:none;}
  body.ab-m .ab-pdp__thumb{flex:0 0 60px;width:60px;border-radius:12px;}
  body.ab-m .ab-pdp__buy{order:3;position:static;}
  body.ab-m .ab-pdp__infocards{order:4;grid-template-columns:1fr;gap:10px;margin-top:14px;}
  body.ab-m .ab-pdp__mainimg .ab-oferta-badge{top:14px;left:14px;}

  /* Bloque de compra sin tarjeta */
  body.ab-m .ab-pdp__buycard{padding:16px 0 0;background:none;box-shadow:none;border:0;border-radius:0;}
  body.ab-m .ab-fav--pdp{top:12px;right:0;}
  body.ab-m .ab-pdp__vendorlink{gap:8px;font-size:14px;color:var(--ab-tinta);padding-right:48px;}
  body.ab-m .ab-pdp__vendoravatar{width:26px;height:26px;}
  body.ab-m .ab-pdp__title{font:600 30px/1.08 var(--ab-font-display);margin:8px 0 6px;color:var(--ab-verde-900);}
  body.ab-m .ab-pdp__rating{font-size:13px;margin-bottom:6px;}
  body.ab-m .ab-pdp__price{font-size:24px;color:#A4512E;margin-bottom:12px;}
  body.ab-m .ab-pdp__pricereg{font-size:15px;}

  /* Tamaño → opciones de radio en tarjeta (solo productos variables; en simples se oculta "Única") */
  body.ab-m .ab-pdp__field:has(.ab-pill[data-slug="unica"]){display:none;}
  body.ab-m .ab-pdp__pills{flex-direction:column;gap:8px;}
  body.ab-m .ab-pdp__pills .ab-pill{
    flex-direction:row;justify-content:space-between;align-items:center;width:100%;min-height:52px;
    padding:0 14px 0 44px;position:relative;border-radius:14px;background:#fff;border:1px solid #E5DECF;color:var(--ab-tinta);
  }
  body.ab-m .ab-pdp__pills .ab-pill::before{content:"";position:absolute;left:14px;top:50%;width:18px;height:18px;margin-top:-9px;border-radius:50%;border:2px solid #C9C0B0;background:#fff;}
  body.ab-m .ab-pdp__pills .ab-pill.is-active{background:#EAF3EC;border-color:#2D6A4F;}
  body.ab-m .ab-pdp__pills .ab-pill.is-active::before{border-color:#2D6A4F;box-shadow:inset 0 0 0 3px #fff;background:#2D6A4F;}
  body.ab-m .ab-pdp__pills .ab-pill__name{font:600 15px var(--ab-font-body);}
  body.ab-m .ab-pdp__pills .ab-pill__price{font:600 14px var(--ab-font-body);opacity:1;color:#A4512E;}

  /* Señales → etiquetas */
  body.ab-m .ab-pdp__trust{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 0;}
  body.ab-m .ab-pdp__trust li{padding:5px 10px;border-radius:999px;background:#EAF3EC;color:var(--ab-verde-900);font-size:12px;font-weight:500;}
  body.ab-m .ab-pdp__trust li::before{content:none;}
  body.ab-m .ab-pdp__desc{padding:18px 0 6px;}
  body.ab-m .ab-pdp__desc .ab-section__title{font-size:22px;}
  body.ab-m .ab-pdp__vendorcard{padding:14px;}
  body.ab-m .ab-pdp__vendoractions{width:100%;justify-content:space-between;}
  body.ab-m .ab-pdp .ab-section__title{font-size:22px;}

  /* Barra de acción fija (spec §4): cantidad −/+ + "Agregar · total" */
  body.ab-m .ab-mbar{
    display:flex;align-items:center;gap:10px;position:fixed;left:0;right:0;bottom:0;z-index:85;
    padding:12px 16px calc(12px + var(--abm-safe));background:#fff;border-top:1px solid var(--abm-borde);
    box-shadow:0 -6px 20px rgba(27,67,50,.08);
  }
  body.ab-m .ab-mbar .ab-qty{flex:0 0 auto;display:flex;align-items:center;height:52px;border:1px solid #E5DECF;border-radius:15px;background:#fff;overflow:hidden;}
  body.ab-m .ab-mbar .ab-qty__btn{width:40px;height:52px;border:0;background:none;font-size:22px;color:var(--ab-verde-900);cursor:pointer;}
  body.ab-m .ab-mbar .ab-qty__input{width:28px;border:0;text-align:center;font:700 16px var(--ab-font-body);background:none;padding:0;}
  body.ab-m .ab-mbar .ab-pdp__add{
    flex:1;min-width:0;height:52px;margin:0;padding:0 16px;border-radius:15px;border:0;
    background:var(--abm-terracota);color:#fff;font:700 15px var(--ab-font-body);box-shadow:none;transform:none;
  }
  body.ab-m .ab-mbar .ab-pdp__add .ab-pdp__carticon{display:none;}
  body.ab-m .ab-mbar .ab-pdp__add > span{display:flex;justify-content:space-between;width:100%;}
  body.ab-m .ab-mbar .ab-pdp__add[disabled]{opacity:.7;}
}

/* =====================================================================
 * Tarea 7 — Carrito mobile (spec §3.4).
 * ===================================================================== */
.ab-mcart{display:none;}

@media (max-width:760px){
  body.ab-m .ab-cartpage__wrap > :not(.ab-mcart){display:none !important;}
  body.ab-m .ab-cartpage__wrap{padding:12px 16px 24px;}
  body.ab-m .ab-mcart{display:block;}
  body.ab-m.woocommerce-cart{padding-bottom:calc(84px + var(--abm-safe));}
  .ab-mcart.is-busy{opacity:.6;pointer-events:none;}

  .ab-mcart__free{background:#EAF3EC;border-radius:16px;padding:12px 14px;margin-bottom:14px;}
  .ab-mcart__free p{margin:0 0 8px;font-size:14px;color:var(--ab-verde-900);}
  .ab-mcart__bar{display:block;height:6px;border-radius:6px;background:#D3E6D8;overflow:hidden;}
  .ab-mcart__bar i{display:block;height:100%;background:var(--ab-verde-700);border-radius:6px;}

  .ab-mcart__lines{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;}
  .ab-mcart__line{display:flex;gap:12px;background:#fff;border-radius:18px;padding:10px;}
  .ab-mcart__img{flex:0 0 84px;width:84px;height:84px;border-radius:14px;overflow:hidden;background:#F1EADF;}
  .ab-mcart__img img{width:100%;height:100%;object-fit:cover;}
  .ab-mcart__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px;}
  .ab-mcart__name{font:600 14px/1.3 var(--ab-font-body);color:var(--ab-tinta);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
  .ab-mcart__store{display:flex;align-items:center;gap:5px;font-size:12px;font-weight:600;color:var(--ab-verde-700);}
  .ab-mcart__store img{width:14px;height:14px;border-radius:50%;object-fit:cover;flex-shrink:0;}
  .ab-mcart__meta{font-size:12px;color:#6b746e;}
  .ab-mcart__row{display:flex;align-items:center;justify-content:space-between;margin-top:auto;gap:8px;}
  .ab-mcart__total{font:700 15px var(--ab-font-body);color:#A4512E;}
  .ab-mcart__qty{display:flex;align-items:center;border:1px solid #E5DECF;border-radius:12px;height:38px;}
  .ab-mcart__qty button{width:38px;height:36px;border:0;background:none;font-size:18px;color:var(--ab-verde-900);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;}
  .ab-mcart__qty span{min-width:20px;text-align:center;font:700 14px var(--ab-font-body);}

  .ab-mcart__more{display:flex;align-items:center;justify-content:center;min-height:50px;margin:12px 0;border:1.5px dashed #CFC5B4;border-radius:16px;color:var(--ab-verde-900);font:600 14px var(--ab-font-body);}
  .ab-mcart__sum{background:#fff;border-radius:18px;padding:12px 14px;}
  .ab-mcart__sum p{display:flex;justify-content:space-between;margin:4px 0;font-size:14px;}
  .ab-mcart__ship span:last-child{color:#6b746e;font-size:13px;}

  body.ab-m .ab-mbar--cart .ab-mbtn{flex:1;}
  .ab-mbtn--split{justify-content:space-between !important;padding:0 18px;}

  .ab-mcart__empty{text-align:center;padding:48px 8px;}
  .ab-mcart__emptyic{font-size:56px;}
  .ab-mcart__emptyt{font:600 24px var(--ab-font-display);color:var(--ab-verde-900);margin:10px 0 4px;}
  .ab-mcart__emptys{color:#6b746e;font-size:14px;margin:0 0 18px;}
}

/* =====================================================================
 * Tarea 8 — Checkout mobile en UNA pantalla (spec §3.5 + §0 A4/A5/A6).
 * Mismo formulario WC y misma lógica (checkout.js, ab-entrega.php, Wompi): en ≤760px se muestran
 * todos los pasos a la vez como tarjetas numeradas; mobile.js agrega chips de método/fecha/franja
 * que manejan los campos reales y la barra fija "Pagar · total" pulsa el #place_order real.
 * ===================================================================== */
.ab-mck-only{display:none;}

@media (max-width:760px){
  body.ab-m.woocommerce-checkout{padding-bottom:calc(84px + var(--abm-safe));}
  body.ab-m .ab-ck .ab-stepper,
  body.ab-m .ab-ck .ab-ck__summary,
  body.ab-m .ab-ck .ab-ckpanel[data-panel="cart"],
  body.ab-m .ab-ck .ab-ck__actions{display:none !important;}
  body.ab-m .ab-mck-only{display:block;}
  body.ab-m .ab-ck{counter-reset:abmck;padding:0;}
  body.ab-m.woocommerce-checkout .wp-site-blocks{padding-left:14px;padding-right:14px;}
  body.ab-m .ab-ck__layout{display:block;}
  body.ab-m .ab-ck__wa{margin:0 0 12px;}
  /* Los 4 chips de métodos (Fase 2.2) quedan redundantes: .ab-mck-paynote ya dice lo mismo, integrado al paso de pago. */
  body.ab-m .ab-ck__paymethods{display:none;}
  /* Señal de confianza (Fase 2.2) reinsertada bajo el botón de WhatsApp — en escritorio vive en el aside oculto en mobile. */
  body.ab-m .ab-mck-trust{display:block;margin:0 0 16px;font-size:13px;color:#6b746e;text-align:center;}

  /* Cada paso = tarjeta blanca numerada (radio 18) */
  body.ab-m .ab-ck .ab-ckpanel:not([data-panel="cart"]){display:block !important;background:#fff;border-radius:18px;padding:16px 14px;margin:0 0 12px;}
  body.ab-m .ab-ck .ab-ck__h{counter-increment:abmck;display:flex;align-items:center;gap:10px;font:700 18px/1.2 var(--ab-font-body);color:var(--ab-tinta);margin:0 0 12px;}
  body.ab-m .ab-ck .ab-ck__h::before{content:counter(abmck);flex:0 0 26px;height:26px;border-radius:50%;background:var(--ab-verde-900);color:#fff;font:700 13px/26px var(--ab-font-body);text-align:center;}
  body.ab-m .ab-ck .ab-ck__sub{margin:-6px 0 10px 36px;font-size:13px;color:#6b746e;}

  /* Campos: táctiles y sin zoom en iOS (16px) */
  body.ab-m .ab-ck input.input-text,body.ab-m .ab-ck select,body.ab-m .ab-ck textarea{width:100%;min-height:48px;border:1px solid #E5DECF;border-radius:14px;padding:10px 14px;font-size:16px;background:#fff;}
  body.ab-m .ab-ck textarea{min-height:96px;}
  body.ab-m .ab-ck .form-row{margin:0 0 12px;padding:0;width:100% !important;float:none !important;}
  body.ab-m .ab-ck .form-row label{font:600 13px var(--ab-font-body);margin-bottom:4px;display:block;}
  body.ab-m .ab-ck .ab-m-invalid{border-color:#C0392B !important;box-shadow:0 0 0 3px rgba(192,57,43,.12);}
  body.ab-m .ab-entrega{border-top:0;padding-top:4px;}
  body.ab-m .ab-entrega h3{font:700 15px var(--ab-font-body);margin:4px 0 10px;}
  body.ab-m .ab-entrega__grid{grid-template-columns:minmax(0,1fr);}
  body.ab-m .ab-entrega__grid > *,body.ab-m .ab-ckpanel > *{min-width:0;}
  body.ab-m .woocommerce-form-coupon-toggle{display:none;} /* el formulario de cupón ya está en el resumen */

  /* Chips de método / fecha / franja (spec §4: activo #EAF3EC + borde #2D6A4F) */
  .ab-mck-lbl{font:600 13px var(--ab-font-body);margin:0 0 6px;color:var(--ab-tinta);}
  .ab-mck-chips{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;margin:0 0 12px;}
  .ab-mck-chips::-webkit-scrollbar{display:none;}
  .ab-mck-chips--grid{display:grid;grid-template-columns:1fr 1fr;overflow:visible;}
  .ab-mck-chip{flex:0 0 auto;min-height:44px;padding:6px 14px;border-radius:14px;border:1px solid #E5DECF;background:#fff;font:600 13px/1.2 var(--ab-font-body);color:var(--ab-tinta);cursor:pointer;text-align:center;}
  .ab-mck-chip small{display:block;font-weight:500;font-size:11px;color:#6b746e;}
  .ab-mck-chip.is-active{background:#EAF3EC;border-color:#2D6A4F;color:var(--ab-verde-900);}
  body.ab-m #ab_entrega_fecha_field.ab-mck-hidefield,body.ab-m #ab_entrega_franja_field.ab-mck-hidefield{display:none;}

  /* Tarjeta de mensaje + order bump */
  body.ab-m .ab-dedi{display:block;}
  body.ab-m .ab-dedi__card{display:none;}
  body.ab-m .ab-dedi label{display:block;font:600 13px var(--ab-font-body);margin-bottom:10px;}
  .ab-mck-count{display:block;text-align:right;font-size:12px;color:#6b746e;margin-top:-6px;}
  body.ab-m .ab-addons{margin-top:12px;}
  body.ab-m .ab-addon{min-height:56px;}

  /* Resumen, propina y cupón */
  body.ab-m #order_review table{font-size:14px;}
  body.ab-m .ab-tip-chips{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
  body.ab-m .ab-tip-chip{min-height:44px;display:flex;align-items:center;justify-content:center;border-radius:14px;}

  /* Pago (A4: sin selector propio; se elige dentro de Wompi) */
  .ab-mck-paynote{font-size:13px;color:#6b746e;margin:8px 0 0;}
  body.ab-m #place_order{display:none !important;} /* lo pulsa la barra fija */

  /* Barra fija "Pagar · total" (reusa .ab-ck__stickybar de checkout.js) */
  body.ab-m .ab-ck__stickybar{display:flex !important;position:fixed;left:0;right:0;bottom:0;z-index:85;padding:12px 16px calc(12px + var(--abm-safe));background:#fff;border-top:1px solid var(--abm-borde);box-shadow:0 -6px 20px rgba(27,67,50,.08);}
  body.ab-m .ab-ck__stickybar.is-hidden{display:none !important;}
  body.ab-m .ab-ck__stickybar-total{display:none;}
  body.ab-m .ab-ck__stickybar-cta{flex:1;display:flex;justify-content:space-between;align-items:center;height:52px;padding:0 18px;border-radius:15px;border:0;background:var(--abm-terracota);color:#fff;font:700 16px var(--ab-font-body);box-shadow:none;transform:none;}

  /* Capa "Procesando tu pago…" */
  .ab-mck-proc{position:fixed;inset:0;z-index:200;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:rgba(251,246,238,.94);font:600 16px var(--ab-font-body);color:var(--ab-verde-900);}
  .ab-mck-proc[hidden]{display:none;}
  .ab-mck-proc i{width:42px;height:42px;border-radius:50%;border:4px solid #D3E6D8;border-top-color:var(--ab-verde-700);animation:abmspin .8s linear infinite;}
  @keyframes abmspin{to{transform:rotate(360deg);}}
}

/* Tarea 8 — pasos plegables del checkout mobile (pedido del usuario 2026-10-06). */
.ab-mck-sum{display:none;}
@media (max-width:760px){
  body.ab-m .ab-ck .ab-ck__h{cursor:pointer;}
  body.ab-m .ab-ck .ab-ck__h::after{content:"";margin-left:auto;width:9px;height:9px;border-right:2px solid #8a8478;border-bottom:2px solid #8a8478;transform:rotate(-135deg);transition:transform .2s;}
  body.ab-m .ab-ck .ab-ckpanel.is-collapsed .ab-ck__h::after{transform:rotate(45deg);}
  body.ab-m .ab-ck .ab-ckpanel.is-collapsed > :not(.ab-ck__h):not(.ab-mck-sum){display:none !important;}
  body.ab-m .ab-ck .ab-ckpanel.is-collapsed .ab-ck__h{margin:0;}
  body.ab-m .ab-ck .ab-ckpanel.is-collapsed{padding-top:14px;padding-bottom:14px;}
  body.ab-m .ab-ck .ab-ckpanel.is-collapsed .ab-mck-sum:not(:empty){display:block;margin:6px 0 0 36px;font-size:13px;color:#6b746e;}
}

/* Checkout mobile — "¿Cómo lo entregamos?" como el referente del usuario (tarjetas-radio + fecha día/número). */
.ab-mck-delivery{display:none;}
@media (max-width:760px){
  body.ab-m .ab-mck-delivery{display:block;margin:0 0 16px;}
  body.ab-m #order_review .woocommerce-shipping-totals{display:none;} /* el método se elige arriba */
  body.ab-m .ab-mck-how{display:none;}
  .ab-mck-methods{display:flex;flex-direction:column;gap:10px;margin-bottom:16px;}
  .ab-mck-method{display:flex;align-items:center;gap:12px;width:100%;min-height:64px;padding:12px 16px;border-radius:16px;border:1px solid #E5DECF;background:#fff;text-align:left;cursor:pointer;font-family:var(--ab-font-body);color:var(--ab-tinta);}
  .ab-mck-method__dot{flex:0 0 22px;height:22px;border-radius:50%;border:2px solid #CFC5B4;background:#fff;}
  .ab-mck-method__txt{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;}
  .ab-mck-method__txt strong{font-size:16px;font-weight:700;}
  .ab-mck-method__txt small{font-size:13px;color:#6b746e;}
  .ab-mck-method__price{font-weight:700;font-size:15px;color:#3B463E;white-space:nowrap;}
  .ab-mck-method.is-active{background:#EAF3EC;border-color:#2D6A4F;}
  .ab-mck-method.is-active .ab-mck-method__dot{border-color:#2D6A4F;background:#2D6A4F;box-shadow:inset 0 0 0 4px #fff;}
  .ab-mck-expressnote{margin:0 0 14px;padding:12px 14px;border-radius:14px;background:#F7F1E6;font-size:14px;color:var(--ab-tinta);}
  .ab-mck-days[hidden],.ab-mck-slots[hidden],.ab-mck-expressnote[hidden]{display:none !important;}
  .ab-mck-lbl{font:500 14px var(--ab-font-body);color:#6b746e;margin:0 0 8px;}
  .ab-mck-chips--days{gap:10px;}
  .ab-mck-day{flex:0 0 64px;height:76px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border-radius:16px;border:1px solid #E5DECF;background:#fff;cursor:pointer;font-family:var(--ab-font-body);color:var(--ab-tinta);}
  .ab-mck-day small{font-size:13px;color:#6b746e;text-transform:capitalize;}
  .ab-mck-day strong{font-size:22px;font-weight:700;line-height:1;}
  .ab-mck-day.is-active{background:var(--ab-verde-900);border-color:var(--ab-verde-900);color:#fff;}
  .ab-mck-day.is-active small{color:#D8F3DC;}
  .ab-mck-slots .ab-mck-chip{min-height:52px;border-radius:14px;font-size:15px;font-weight:500;}
  .ab-mck-delivery #ab_entrega_fecha_field{margin-top:4px;}
}

/* Checkout mobile — nota de Express con hora estimada + cupón en una sola fila. */
@media (max-width:760px){
  .ab-mck-expressnote small{display:block;margin-top:4px;font-size:12px;color:#6b746e;}
  body.ab-m .ab-ck form.checkout_coupon{display:flex !important;align-items:center;gap:8px;margin:12px 0 4px;padding:0;border:0;background:none;}
  body.ab-m .ab-ck form.checkout_coupon .form-row{margin:0 !important;padding:0;float:none;width:auto !important;}
  body.ab-m .ab-ck form.checkout_coupon .form-row-first{flex:1;min-width:0;}
  body.ab-m .ab-ck form.checkout_coupon .clear{display:none;}
  body.ab-m .ab-ck .ab-couponslot{border:0;padding:0;margin:0;background:none;}
  body.ab-m .ab-ck form.checkout_coupon input{min-height:48px;}
  body.ab-m .ab-ck form.checkout_coupon button{height:48px;padding:0 16px;border-radius:14px;border:0;background:var(--ab-verde-900);color:#fff;font:700 14px var(--ab-font-body);white-space:nowrap;cursor:pointer;}
}

/* =====================================================================
 * Tarea 9 — Confirmación + seguimiento mobile (spec §3.6).
 * ===================================================================== */
.ab-mord{display:none;}
@media (max-width:760px){
  body.ab-m .ab-recibido__wrap > :not(.ab-mord){display:none !important;}
  body.ab-m .ab-recibido__wrap{padding:8px 14px 24px;max-width:none;}
  body.ab-m .ab-mord{display:block;padding-bottom:calc(84px + var(--abm-safe));}
  .ab-mord__hero{text-align:center;padding:14px 0 6px;}
  .ab-mord__check{width:72px;height:72px;margin:0 auto 8px;border-radius:50%;background:var(--ab-verde-700);display:flex;align-items:center;justify-content:center;animation:abmPop .45s cubic-bezier(.2,1.4,.4,1) both;}
  .ab-mord__check svg{width:40px;height:40px;fill:none;stroke:#fff;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:40;stroke-dashoffset:40;animation:abmDraw .45s .3s ease forwards;}
  .ab-mord__check.is-bad{background:#C0392B;color:#fff;font:700 34px var(--ab-font-body);}
  @keyframes abmPop{from{transform:scale(.4);opacity:0}to{transform:none;opacity:1}}
  @keyframes abmDraw{to{stroke-dashoffset:0}}
  .ab-mord__thanks{font:400 40px/1 var(--ab-font-accent);color:var(--abm-terracota);margin:4px 0 2px;}
  .ab-mord__title{font:600 26px/1.15 var(--ab-font-display);color:var(--ab-verde-900);margin:0 0 6px;}
  .ab-mord__lead{font-size:14px;color:#5a6b62;margin:0 0 10px;}
  .ab-mord__num{display:inline-block;background:var(--ab-verde-100);color:var(--ab-verde-900);font:700 14px var(--ab-font-body);letter-spacing:.03em;padding:6px 14px;border-radius:999px;}
  .ab-mord__top{display:flex;align-items:center;justify-content:space-between;margin:6px 0 12px;}
  .ab-mord__date{font-size:13px;color:#6b746e;}
  .ab-mord__card{background:#fff;border-radius:18px;padding:16px 14px;margin:14px 0 0;}
  .ab-mord__card h2{font:700 17px var(--ab-font-body);color:var(--ab-tinta);margin:0 0 12px;}
  .ab-mord__cardhead{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;}
  .ab-mord__eta{text-align:right;display:flex;flex-direction:column;}
  .ab-mord__eta small{font-size:12px;color:#6b746e;}
  .ab-mord__eta strong{font-size:14px;color:var(--ab-verde-900);}
  .ab-mord__tl{list-style:none;margin:4px 0 0;padding:0;}
  .ab-mord__tl li{display:flex;gap:12px;position:relative;padding-bottom:18px;}
  .ab-mord__tl li:last-child{padding-bottom:0;}
  .ab-mord__tl li:not(:last-child)::before{content:"";position:absolute;left:10px;top:24px;bottom:2px;width:2px;background:#E5DECF;}
  .ab-mord__tl li.is-done:not(:last-child)::before{background:var(--ab-verde-700);}
  .ab-mord__dot{flex:0 0 22px;height:22px;border-radius:50%;border:2px solid #CFC5B4;background:#fff;position:relative;z-index:1;}
  .ab-mord__tl li.is-done .ab-mord__dot{background:var(--ab-verde-700);border-color:var(--ab-verde-700);}
  .ab-mord__tl li.is-done .ab-mord__dot::after{content:"";position:absolute;left:6px;top:3px;width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg);}
  .ab-mord__tl li.is-current .ab-mord__dot{border-color:var(--ab-verde-700);box-shadow:0 0 0 4px #D8F3DC;}
  .ab-mord__tl strong{font-size:15px;color:var(--ab-tinta);}
  .ab-mord__tl li:not(.is-done):not(.is-current) strong{color:#9a948a;}
  .ab-mord__tl p{margin:2px 0 0;font-size:13px;color:#6b746e;}
  .ab-mord__lines{list-style:none;margin:0;padding:0;}
  .ab-mord__lines li{display:flex;align-items:center;gap:10px;padding:6px 0;font-size:14px;}
  .ab-mord__thumb{flex:0 0 48px;width:48px;height:48px;border-radius:12px;overflow:hidden;background:#F1EADF;}
  .ab-mord__thumb img{width:100%;height:100%;object-fit:cover;}
  .ab-mord__name{flex:1;min-width:0;}
  .ab-mord__name em{font-style:normal;color:#6b746e;}
  .ab-mord__meta{margin:10px 0 0;border-top:1px solid #F1EADF;padding-top:8px;}
  .ab-mord__meta div{display:flex;justify-content:space-between;gap:12px;padding:4px 0;font-size:14px;}
  .ab-mord__meta dt{color:#6b746e;}
  .ab-mord__meta dd{margin:0;text-align:right;}
  .ab-mord__meta dd small{color:#6b746e;font-size:12px;}
  .ab-mord__total{border-top:1px solid #F1EADF;margin-top:6px;padding-top:10px !important;font-weight:700;font-size:16px !important;}
  body.ab-m .ab-mbar--order .ab-mbtn{flex:1;}
}

/* =====================================================================
 * Tarea 10 — Pedidos, Cuenta, login a pantalla completa y Bodas (spec §3.7–3.9).
 * ===================================================================== */
.ab-morders,.ab-macc,.ab-macc__back{display:none;}
@media (max-width:760px){
  body.ab-m .ab-account__wrap{padding:12px 16px 24px;}
  body.ab-m.logged-in .ab-account__hello,
  body.ab-m .woocommerce-MyAccount-navigation{display:none !important;}
  body.ab-m .ab-account__body.is-dash{display:block;}
  body.ab-m .ab-macc ~ .ab-account__body{display:none !important;}
  body.ab-m .ab-morders ~ .ab-orders,body.ab-m .ab-morders ~ .ab-orders__pag,body.ab-m .ab-morders ~ .ab-empty{display:none !important;}
  body.ab-m .ab-mord ~ .ab-vo{display:none !important;}
  body.ab-m .ab-morders,body.ab-m .ab-macc{display:block;}
  body.ab-m .ab-macc__back{display:inline-flex;align-items:center;min-height:44px;font:600 15px var(--ab-font-body);color:var(--ab-verde-900);margin-bottom:4px;}

  /* Pedidos */
  .ab-morders__h1{font:600 28px/1.1 var(--ab-font-display);color:var(--ab-verde-900);margin:4px 0 12px;}
  .ab-morders__h2{font:700 14px var(--ab-font-body);color:#6b746e;text-transform:uppercase;letter-spacing:.06em;margin:16px 0 8px;}
  .ab-morders__list{display:flex;flex-direction:column;gap:10px;}
  .ab-mocard{display:flex;gap:12px;background:#fff;border-radius:18px;padding:10px;color:var(--ab-tinta);}
  .ab-morders__list.is-active .ab-mocard{box-shadow:0 0 0 1.5px #2D6A4F inset;}
  .ab-mocard__thumb{flex:0 0 64px;width:64px;height:64px;border-radius:14px;overflow:hidden;background:#F1EADF;}
  .ab-mocard__thumb img{width:100%;height:100%;object-fit:cover;}
  .ab-mocard__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px;}
  .ab-mocard__row{display:flex;align-items:center;justify-content:space-between;gap:8px;}
  .ab-mocard__row strong{font-size:14px;}
  .ab-mocard__row small{font-size:12px;color:#6b746e;}
  .ab-mocard__names{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .ab-mocard__total{font:700 14px var(--ab-font-body);color:#A4512E;white-space:nowrap;}
  .ab-mocard .ab-badge2{font-size:11px;padding:2px 8px;}
  body.ab-m .ab-mord .ab-mord__top{margin-top:0;}

  /* Cuenta */
  .ab-macc__hello{display:flex;align-items:center;gap:12px;margin:6px 0 14px;}
  .ab-macc__name{font:600 22px/1.1 var(--ab-font-display);color:var(--ab-verde-900);margin:0;}
  .ab-macc__mail{font-size:13px;color:#6b746e;margin:2px 0 0;}
  .ab-macc__list{list-style:none;margin:0;padding:0;background:#fff;border-radius:18px;}
  .ab-macc__list li + li{border-top:1px solid #F1EADF;}
  .ab-macc__list a{display:flex;align-items:center;gap:12px;min-height:56px;padding:0 14px;color:var(--ab-tinta);font:500 15px var(--ab-font-body);}
  .ab-macc__list a > span:nth-child(2){flex:1;}
  .ab-macc__list svg{color:#b5ad9f;}
  .ab-macc__ic{width:28px;text-align:center;font-size:18px;}
  .ab-macc__out{display:flex;align-items:center;justify-content:center;min-height:52px;margin-top:14px;border-radius:15px;border:1px solid #E5DECF;background:#fff;color:#C0392B;font:600 15px var(--ab-font-body);}

  /* Login / registro a pantalla completa */
  body.ab-m:not(.logged-in) .ab-account__wrap{padding:16px 16px 32px;}
  body.ab-m .ab-authcard{background:#fff;border-radius:24px;padding:20px 16px 24px;max-width:none;box-shadow:0 10px 30px -18px rgba(27,67,50,.35);} /* tarjeta blanca como en escritorio (pedido del usuario) */
  body.ab-m .ab-account__authtitle{font-size:30px;}
  body.ab-m .ab-account__body.is-auth input.input-text{min-height:48px;font-size:16px;border-radius:14px;}
  body.ab-m .ab-account__body.is-auth button[type="submit"]{width:100%;min-height:52px;border-radius:15px;}

  /* Bodas: tarjetas a una columna (el "Cotizar" ya abre el wizard a pantalla completa) */
  body.ab-m .ab-ev-grid{grid-template-columns:minmax(0,1fr) !important;gap:14px;}
  body.ab-m .ab-ev-filtros{flex-wrap:wrap;gap:10px;}
  body.ab-m .ab-ev-tipos{overflow-x:auto;scrollbar-width:none;}
  body.ab-m .ab-ev-card__actions .ab-btn{min-height:44px;display:inline-flex;align-items:center;justify-content:center;}
}

/* =====================================================================
 * Tarea 11 — aviso de instalación de la PWA.
 * ===================================================================== */
.ab-mpwa{display:none;}
@media (max-width:760px){
  body.ab-m .ab-mpwa{display:flex;align-items:center;gap:10px;position:fixed;left:12px;right:12px;z-index:90;
    bottom:calc(var(--abm-tabs-h) + var(--abm-safe) + 10px);padding:10px 8px 10px 12px;border-radius:18px;background:#fff;
    box-shadow:0 14px 34px -12px rgba(27,67,50,.45);border:1px solid #EFE7DA;opacity:0;transform:translateY(12px);transition:opacity .22s,transform .22s;}
  body.ab-m.ab-m--hascart .ab-mpwa{bottom:calc(var(--abm-tabs-h) + var(--abm-safe) + 78px);}
  body.ab-m:not(.ab-m--root) .ab-mpwa{bottom:calc(84px + var(--abm-safe) + 10px);}
  body.ab-m .ab-mpwa.is-on{opacity:1;transform:none;}
  .ab-mpwa img{flex:0 0 44px;border-radius:12px;}
  .ab-mpwa__txt{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px;font-size:12px;color:#6b746e;line-height:1.3;}
  .ab-mpwa__txt strong{font-size:14px;color:var(--ab-tinta);}
  .ab-mpwa__go{flex:0 0 auto;min-height:40px;padding:0 14px;border:0;border-radius:12px;background:var(--abm-terracota);color:#fff;font:700 14px var(--ab-font-body);cursor:pointer;}
  .ab-mpwa__x{flex:0 0 36px;height:40px;border:0;background:none;font-size:22px;color:#9a948a;cursor:pointer;}
  .ab-mpwa__steps{margin:0 0 18px;padding-left:20px;font-size:15px;line-height:1.6;color:var(--ab-tinta);}
}

/* Ajustes del usuario (2026-10-06): carruseles con aire a la izquierda + botón Buscar terracota. */
@media (max-width:760px){
  /* scroll-snap alinea al borde del scrollport e ignora el padding: scroll-padding devuelve los 16px de aire. */
  body.ab-m .ab-mrow,body.ab-m .ab-fcarousel,body.ab-m .ab-mchips,body.ab-m .ab-mck-chips{scroll-padding-inline:16px;}
  body.ab-m .ab-mh-deals .ab-mrow{scroll-padding-inline:0;}
  body.ab-m .ab-mh-search .ab-mh-search__btn{background:var(--abm-terracota) !important;color:#fff !important;border:0 !important;border-radius:16px !important;}
}

/* Perfil de floristería: en móvil el bloque del nombre baja DEBAJO de la portada (fondo crema) y el nombre blanco
 * con sombra (pensado para ir sobre la foto en escritorio) no se leía. */
@media (max-width:760px){
  body.ab-m .ab-store__name{color:var(--ab-verde-900);text-shadow:none;}
}

/* =====================================================================
 * Landing de Ads /flores-domicilio-bogota/ en móvil — spec "Cliente - Mobile - Landing Flores Domicilio Bogota"
 * (2026-10-07). Mismo HTML indexable que escritorio (H1/H2, FAQ, schemas); los controles extra (categorías, orden,
 * ciudad) solo se imprimen con el interruptor activo y aquí se ocultan en escritorio. Tab bar con Comprar activo.
 * Orden DOM de <main>: 1 hero · 2 productos · 3 cómo funciona · 4 por qué · 5 ¿qué buscas? · 6 reseñas · 7 FAQ · 8 CTA.
 * ===================================================================== */
.ab-lphead__city,.ab-lpcats,.ab-lpsorts,.ab-lpbar__count,.ab-lpbar__all,.ab-lpempty,.ab-pcard__vendor,.ab-pcard__eta{display:none;}
@media (max-width:760px){
  body.ab-m.ab-lp-body{padding-bottom:calc(var(--abm-tabs-h) + var(--abm-safe) + 76px) !important;}
  body.ab-m .ab-lp .ab-lp__wrap{padding:0 16px;}

  /* 1. Header: no sticky, logo + chip de ciudad + carrito 44×44 */
  body.ab-m .ab-lp .ab-lphead{position:static;backdrop-filter:none;}
  body.ab-m .ab-lp .ab-lphead__in{padding:10px 16px;gap:10px;}
  body.ab-m .ab-lp .ab-lphead__brand{font-size:24px;}
  body.ab-m .ab-lp .ab-lphead__city{display:inline-flex;align-items:center;margin-right:auto;padding:5px 10px;border-radius:999px;background:#EAF3EC;color:var(--ab-verde-900);font:600 12px var(--ab-font-body);}
  body.ab-m .ab-lp .ab-lphead .ab-hicon{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid #ECE3D6;border-radius:14px;color:var(--abm-terracota);position:relative;}

  /* Orden visual: hero · productos · cómo funciona · por qué · reseñas · FAQ · CTA final · chips de categorías */
  body.ab-m .ab-lp > main{display:flex;flex-direction:column;}
  body.ab-m .ab-lp > main > section:nth-of-type(1){order:1;}
  body.ab-m .ab-lp > main > section:nth-of-type(2){order:2;}
  body.ab-m .ab-lp > main > section:nth-of-type(3){order:3;}
  body.ab-m .ab-lp > main > section:nth-of-type(4){order:4;}
  body.ab-m .ab-lp > main > section:nth-of-type(6){order:5;}
  body.ab-m .ab-lp > main > section:nth-of-type(7){order:6;}
  body.ab-m .ab-lp > main > section:nth-of-type(8){order:7;}
  body.ab-m .ab-lp > main > section:nth-of-type(5){order:8;}

  /* 2. Hero: imagen 16:10 radio 22 con el contador superpuesto; H1 27px; bajada 13.5px */
  body.ab-m .ab-lp .ab-lphero{padding:4px 0 2px;}
  body.ab-m .ab-lp .ab-lphero__grid{position:relative;gap:12px;grid-template-columns:minmax(0,1fr);}
  body.ab-m .ab-lp .ab-lphero__grid > *{min-width:0;}
  body.ab-m .ab-lp .ab-lphero__media{aspect-ratio:16/10;border-radius:22px;box-shadow:0 12px 28px -16px rgba(27,67,50,.45);}
  body.ab-m .ab-lp .ab-lphero__badge{position:absolute;top:12px;left:28px;z-index:2;margin:0;background:rgba(255,255,255,.95);border:0;color:var(--abm-terracota);font:700 12px var(--ab-font-body);padding:6px 11px;box-shadow:0 4px 12px rgba(0,0,0,.12);}
  body.ab-m .ab-lp .ab-lphero h1{font-size:27px;line-height:1.1;margin:0 0 6px;}
  body.ab-m .ab-lp .ab-lphero__sub{font-size:13.5px;line-height:1.45;margin:0 0 12px;}
  body.ab-m .ab-lp .ab-lphero .ab-lp__btn{display:none;}
  /* 3. Trust chips */
  body.ab-m .ab-lp .ab-lphero__trust{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;gap:8px;margin:2px -16px 0;padding:0 16px;scroll-padding-inline:16px;}
  body.ab-m .ab-lp .ab-lphero__trust::-webkit-scrollbar{display:none;}
  body.ab-m .ab-lp .ab-lphero__trust span{flex:0 0 auto;background:#EAF3EC;color:var(--ab-verde-900);border-radius:999px;padding:6px 12px;font-size:12px;white-space:nowrap;}

  /* Secciones */
  body.ab-m .ab-lp .ab-lpsec{padding:18px 0 4px;}
  body.ab-m .ab-lp .ab-lpsec__h{text-align:left;font:700 19px/1.2 var(--ab-font-body);color:var(--ab-tinta);margin:0 0 4px;}
  body.ab-m .ab-lp .ab-lpsec__sub{text-align:left;font-size:13px;margin:0 0 10px;max-width:none;}

  /* 4. Categorías (grid de 4) */
  body.ab-m .ab-lp .ab-lpcats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0 0 6px;}
  body.ab-m .ab-lp .ab-lpcats__b{display:flex;flex-direction:column;align-items:center;gap:4px;min-height:68px;padding:10px 4px;border-radius:16px;border:1px solid transparent;background:#fff;font:600 12px var(--ab-font-body);color:var(--ab-tinta);cursor:pointer;box-shadow:0 4px 14px -10px rgba(27,67,50,.35);}
  body.ab-m .ab-lp .ab-lpcats__b span{font-size:22px;line-height:1;}
  body.ab-m .ab-lp .ab-lpcats__b.is-active{background:#EAF3EC;border-color:#2D6A4F;color:var(--ab-verde-900);}

  /* 5. Header de productos sticky: H2 + "N opciones" + orden + "Todos ›" */
  body.ab-m .ab-lp .ab-lpbar{position:sticky;top:0;z-index:30;background:var(--ab-crema);margin:0 -16px 10px;padding:10px 16px 8px;box-shadow:0 8px 14px -14px rgba(27,67,50,.5);}
  body.ab-m .ab-lp .ab-lpbar__top{display:flex;align-items:baseline;gap:8px;}
  body.ab-m .ab-lp .ab-lpbar__top .ab-lpsec__h{margin:0;}
  body.ab-m .ab-lp .ab-lpbar__count{display:inline;font-size:12px;color:#6b746e;white-space:nowrap;}
  body.ab-m .ab-lp .ab-lpbar__all{display:inline-flex;align-items:center;min-height:32px;margin-left:auto;font:600 13px var(--ab-font-body);color:var(--abm-terracota);white-space:nowrap;}
  body.ab-m .ab-lp .ab-lpbar .ab-lpsec__sub{display:none;}
  body.ab-m .ab-lp .ab-lpsorts{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;margin:8px -16px 0;padding:0 16px;scroll-padding-inline:16px;}
  body.ab-m .ab-lp .ab-lpsorts::-webkit-scrollbar{display:none;}
  body.ab-m .ab-lp .ab-lpsorts__b{flex:0 0 auto;min-height:36px;padding:0 14px;border-radius:999px;border:1px solid #E5DECF;background:#fff;font:500 13px var(--ab-font-body);color:var(--ab-tinta);white-space:nowrap;cursor:pointer;}
  body.ab-m .ab-lp .ab-lpsorts__b.is-active{background:var(--ab-verde-900);border-color:var(--ab-verde-900);color:#fff;}

  /* 6. Grilla 2 col (16/12) con la tarjeta mobile + floristería + badge de entrega + "+" 40×40 */
  body.ab-m .ab-lp .ab-lpgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px;}
  body.ab-m .ab-lp .ab-lpitem{position:relative;min-width:0;}
  body.ab-m .ab-lp .ab-lpitem[hidden]{display:none;}
  body.ab-m .ab-lp .ab-pcard__btn{width:40px;height:40px;margin-top:calc(100% - 48px);}
  body.ab-m .ab-lp .ab-pcard__vendor{display:block;margin:0 0 2px;font-size:12px;color:#6b746e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  body.ab-m .ab-lp .ab-pcard__eta{display:inline-block;position:absolute;left:8px;top:0;margin-top:calc(100% - 34px);padding:4px 8px;border-radius:999px;background:rgba(255,255,255,.95);color:var(--ab-verde-900);font:700 11px var(--ab-font-body);box-shadow:0 2px 8px rgba(0,0,0,.12);pointer-events:none;}
  body.ab-m .ab-lp .ab-pcard .ab-oferta-badge{top:8px;left:8px;}
  body.ab-m .ab-lp .ab-lpempty{display:block;text-align:center;padding:24px 8px;color:#6b746e;font-size:14px;}
  body.ab-m .ab-lp .ab-lpempty[hidden]{display:none;}
  body.ab-m .ab-lp .ab-lpempty button{display:block;margin:10px auto 0;min-height:44px;padding:0 20px;border-radius:14px;border:0;background:var(--ab-verde-900);color:#fff;font:700 14px var(--ab-font-body);}
  body.ab-m .ab-lp .ab-lp__seemore{margin-top:16px;}
  body.ab-m .ab-lp .ab-lp__seemore .ab-lp__btn{width:100%;min-height:50px;border-radius:15px;font-size:15px;}

  /* 7. Cómo funciona: card blanca con 3 pasos en fila */
  body.ab-m .ab-lp .ab-lpsteps{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;background:#fff;border-radius:20px;padding:14px 8px;}
  body.ab-m .ab-lp .ab-lpstep{padding:0 4px;border:0;background:none;}
  body.ab-m .ab-lp .ab-lpstep__n{width:32px;height:32px;font-size:16px;margin-bottom:6px;}
  body.ab-m .ab-lp .ab-lpstep h3{font:700 14px var(--ab-font-body);color:var(--ab-tinta);}
  body.ab-m .ab-lp .ab-lpstep p{font-size:12px;line-height:1.35;}

  /* 8. Por qué: lista con icono y separadores */
  body.ab-m .ab-lp .ab-lpwhy{display:block;background:#fff;border-radius:20px;padding:4px 14px;}
  body.ab-m .ab-lp .ab-lpwhy div{display:grid;grid-template-columns:36px 1fr;column-gap:10px;align-items:center;text-align:left;border:0;border-radius:0;background:none;padding:12px 0;}
  body.ab-m .ab-lp .ab-lpwhy div + div{border-top:1px solid #F1EADF;}
  body.ab-m .ab-lp .ab-lpwhy .ic{grid-row:span 2;font-size:22px;margin:0;}
  body.ab-m .ab-lp .ab-lpwhy strong{font-size:14px;margin:0;}
  body.ab-m .ab-lp .ab-lpwhy p{font-size:12px;}

  /* 9. Reseñas: carrusel de cards de 250px */
  body.ab-m .ab-lp .ab-lpsocial{text-align:left;}
  body.ab-m .ab-lp .ab-lpsocial__badge{font-size:12px;padding:6px 12px;margin-top:4px;}
  body.ab-m .ab-lp .ab-lpreviews{display:flex;gap:10px;overflow-x:auto;scrollbar-width:none;margin:12px -16px 0;padding:0 16px 4px;scroll-snap-type:x proximity;scroll-padding-inline:16px;}
  body.ab-m .ab-lp .ab-lpreviews::-webkit-scrollbar{display:none;}
  body.ab-m .ab-lp .ab-lprev{flex:0 0 250px;scroll-snap-align:start;padding:14px;border-radius:18px;}

  /* 10. FAQ (primer ítem abierto por JS) */
  body.ab-m .ab-lp .ab-lpfaq details{border-radius:16px;padding:0 14px;margin-bottom:8px;}
  body.ab-m .ab-lp .ab-lpfaq summary{min-height:52px;padding:12px 0;font-size:15px;}
  body.ab-m .ab-lp .ab-lpfaq p{font-size:14px;}

  /* 11. CTA final · 12. chips de categorías · 13. footer */
  body.ab-m .ab-lp .ab-lpfinal{border-radius:22px;padding:22px 16px;}
  body.ab-m .ab-lp .ab-lpfinal h2{font-size:24px;}
  body.ab-m .ab-lp .ab-lpfinal p{font-size:14px;margin-bottom:14px;}
  body.ab-m .ab-lp .ab-lpfinal__btns .ab-lp__btn{width:100%;min-height:50px;border-radius:15px;font-size:15px;}
  body.ab-m .ab-lp .ab-lpchips{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;scrollbar-width:none;gap:8px;margin:8px -16px 0;padding:0 16px 4px;scroll-padding-inline:16px;}
  body.ab-m .ab-lp .ab-lpchips::-webkit-scrollbar{display:none;}
  body.ab-m .ab-lp .ab-lpchips a{flex:0 0 auto;min-height:40px;display:inline-flex;align-items:center;padding:0 16px;border-color:#E5DECF;color:var(--ab-tinta);font-weight:600;font-size:14px;white-space:nowrap;}
  body.ab-m .ab-lp .ab-lpfoot{padding:20px 0 8px;}

  /* Fijos: barra de acción sobre el tab bar (terracota vacía / verde "Ir a pagar"), WhatsApp encima, toast encima */
  body.ab-m .ab-lpsticky{display:flex;position:fixed;left:14px;right:14px;bottom:calc(var(--abm-tabs-h) + var(--abm-safe) + 8px);min-height:52px;padding:0 6px 0 16px;border:0;border-radius:16px;background:var(--abm-terracota);box-shadow:0 10px 26px -10px rgba(192,103,63,.7);z-index:79;}
  body.ab-m .ab-lpsticky span{color:#fff;font:600 13px var(--ab-font-body);}
  body.ab-m .ab-lpsticky a{min-height:40px;display:inline-flex;align-items:center;padding:0 14px;border-radius:12px;background:rgba(255,255,255,.18);font:700 14px var(--ab-font-body);}
  body.ab-m.ab-lp-body.ab-m--hascart .ab-lpsticky{display:none;}
  body.ab-m.ab-lp-body .ab-lpwa{bottom:calc(var(--abm-tabs-h) + var(--abm-safe) + 72px);width:52px;height:52px;}
  body.ab-m.ab-lp-body .ab-mtoast{bottom:calc(var(--abm-tabs-h) + var(--abm-safe) + 72px);right:80px;}
}

/* "+" con la cantidad cuando el producto ya está en el carrito (en todo el sitio). */
@media (max-width:760px){
  body.ab-m .ab-pcard__btn.has-qty::before,body.ab-m .ab-ccard__add.has-qty svg,body.ab-m .ab-mcard__plus.has-qty svg{display:none;}
  body.ab-m .ab-pcard__btn.has-qty::after,body.ab-m .ab-ccard__add.has-qty::after,body.ab-m .ab-mcard__plus.has-qty::after{content:attr(data-qty);display:block !important;position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;font:700 16px/40px var(--ab-font-body);text-align:center;}
  body.ab-m .ab-pcard__btn.has-qty,body.ab-m .ab-ccard__add.has-qty,body.ab-m .ab-mcard__plus.has-qty{background:var(--ab-verde-900) !important;}
}
