/*
Theme Name: AllBouquets Marketplace
Theme URI: https://allbouquets.com
Template: neve-fse
Author: AllBouquets
Description: Child theme a medida del marketplace AllBouquets. Pantallas del prototipo hechas a mano en PHP/HTML sobre los hooks de WooCommerce/WCFM. Ver docs/adr/0002. Fase 0: solo el molde (tokens, header/footer y Home).
Version: 0.9.36
Requires at least: 6.5
Requires PHP: 8.0
Text Domain: allbouquets
*/

/* ================= Design tokens (Instruccion_General §6) ================= */
:root{
  --ab-verde-900:#1B4332;
  --ab-verde-700:#2D6A4F;
  --ab-verde-400:#52B788;
  --ab-verde-100:#D8F3DC;
  --ab-terracota:#C0673F;
  --ab-morado-900:#5A4C7A;
  --ab-morado-700:#7A6A99;
  --ab-morado-100:#EFE9F4;
  --ab-morado-50:#E6DEEF;
  --ab-crema:#FBF6EE;
  --ab-tinta:#1c2a24;
  --ab-radius-sm:16px;
  --ab-radius-lg:24px;
  --ab-shadow:0 18px 40px -24px rgba(27,67,50,.45);
  --ab-font-display:"Cormorant Garamond",Georgia,serif;
  --ab-font-body:"Inter",system-ui,-apple-system,sans-serif;
  --ab-font-accent:"Pinyon Script",cursive;
  --ab-maxw:1180px;
}

*,*::before,*::after{box-sizing:border-box;}
body{
  margin:0;
  font-family:var(--ab-font-body);
  color:var(--ab-tinta);
  background:var(--ab-crema);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none;}
img{max-width:100%;height:auto;display:block;}
h1,h2,h3{font-family:var(--ab-font-display);font-weight:600;line-height:1.12;margin:0 0 .4em;color:var(--ab-verde-900);}

.ab-script{font-family:var(--ab-font-accent);font-weight:400;color:var(--ab-terracota);font-size:1.15em;}

/* ================= Botones ================= */
.ab-btn{
  display:inline-block;padding:.72rem 1.4rem;border-radius:999px;
  font-weight:600;font-size:.95rem;line-height:1;transition:transform .15s ease,box-shadow .15s ease;
  border:1.5px solid transparent;cursor:pointer;
}
.ab-btn:hover{transform:translateY(-2px);}
.ab-btn--primary{background:var(--ab-verde-700);color:#fff;box-shadow:var(--ab-shadow);}
.ab-btn--ghost{background:transparent;border-color:var(--ab-verde-700);color:var(--ab-verde-900);}
.ab-btn--pill{background:var(--ab-terracota);color:#fff;}

/* ================= Header ================= */
.ab-header{position:sticky;top:0;z-index:40;background:rgba(251,246,238,.86);backdrop-filter:blur(10px);border-bottom:1px solid rgba(45,106,79,.12);}
.ab-header__inner{max-width:var(--ab-maxw);margin:0 auto;padding:1rem 1.4rem;display:flex;align-items:center;gap:1.5rem;}
.ab-brand{font-family:var(--ab-font-display);font-size:1.6rem;font-weight:700;color:var(--ab-verde-900);}
.ab-brand__accent{color:var(--ab-terracota);}
.ab-nav{margin-left:auto;}
.ab-nav__list{list-style:none;display:flex;gap:1.4rem;margin:0;padding:0;font-weight:500;font-size:.95rem;}
.ab-nav__list a:hover{color:var(--ab-verde-700);}

/* ================= Hero ================= */
.ab-main{min-height:50vh;}
.ab-hero{max-width:var(--ab-maxw);margin:0 auto;padding:4.5rem 1.4rem 3rem;text-align:center;}
.ab-hero__eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.78rem;font-weight:600;color:var(--ab-verde-400);margin:0 0 1rem;}
.ab-hero__title{font-size:clamp(2.4rem,5vw,3.8rem);}
.ab-hero__sub{max-width:640px;margin:0 auto 2rem;font-size:1.1rem;color:#41564c;}
.ab-hero__cta{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;}

/* ================= Secciones + grids ================= */
.ab-section{max-width:var(--ab-maxw);margin:0 auto;padding:3rem 1.4rem;}
.ab-section--alt{background:var(--ab-verde-100);border-radius:var(--ab-radius-lg);margin-top:2rem;}
.ab-section__title{font-size:2rem;text-align:center;margin-bottom:1.8rem;}
.ab-grid{display:grid;gap:1.2rem;}
.ab-grid--cats{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));}
.ab-grid--stores{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));}

.ab-card{background:#fff;border-radius:var(--ab-radius-sm);padding:1.4rem;box-shadow:var(--ab-shadow);border:1px solid rgba(45,106,79,.08);transition:transform .18s ease;}
.ab-card:hover{transform:translateY(-4px);}
.ab-card__tag{display:inline-block;font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:var(--ab-terracota);font-weight:700;margin-bottom:.5rem;}
.ab-card__title{font-size:1.25rem;margin:0 0 .25rem;}
.ab-card__meta{font-size:.9rem;color:#5a6b62;margin:0;}

/* ================= Footer ================= */
.ab-footer{background:var(--ab-verde-900);color:#dfeee6;margin-top:3rem;}
.ab-footer__inner{max-width:var(--ab-maxw);margin:0 auto;padding:3rem 1.4rem 2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));}
.ab-footer h3{color:#fff;font-size:1.1rem;}
.ab-footer a:hover{color:var(--ab-verde-400);}
.ab-footer__bottom{border-top:1px solid rgba(255,255,255,.12);text-align:center;padding:1.2rem;font-size:.85rem;color:#a9c5b8;}
.ab-footer__brand{font-family:var(--ab-font-display);font-size:1.5rem;color:#fff;}

/* ================= Producto (PDP) ================= */
/* Spec: en esta pantalla el header usa la variante de contenedor 1100px, no el ancho global. */
.single-product .ab-header__inner{max-width:1100px;}
.ab-pdp__wrap{max-width:1100px;margin:0 auto;padding:1.5rem 1.4rem 2rem;}
.ab-breadcrumb{font-size:.85rem;color:#5a6b62;margin-bottom:1.2rem;}
.ab-breadcrumb a:hover{color:var(--ab-verde-700);}
.ab-pdp__grid{display:grid;grid-template-columns:minmax(0,1.05fr) 408px;gap:36px;align-items:start;}
.ab-pdp__mainimg{position:relative;border-radius:24px;overflow:hidden;background:#fff;aspect-ratio:1/1;}
.ab-pdp__mainimg img{width:100%;height:100%;object-fit:cover;}
.ab-pdp__catbadge{position:absolute;top:14px;left:14px;z-index:2;background:rgba(27,67,50,.85);color:#fff;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;padding:.3rem .7rem;border-radius:999px;}
.ab-pdp__stripes{position:absolute;inset:0;z-index:1;pointer-events:none;background:repeating-linear-gradient(135deg,rgba(27,67,50,.05) 0,rgba(27,67,50,.05) 2px,transparent 2px,transparent 12px);}
.ab-pdp__photolabel{position:absolute;bottom:14px;left:14px;z-index:2;background:rgba(251,246,238,.9);color:var(--ab-verde-900);font-size:.72rem;font-weight:600;padding:.28rem .7rem;border-radius:999px;}
.ab-pdp__thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:12px;}
.ab-pdp__thumb{padding:0;border:2.5px solid transparent;border-radius:14px;overflow:hidden;cursor:pointer;background:#fff;aspect-ratio:1/1;}
.ab-pdp__thumb.is-active{border-color:var(--ab-verde-700);}
.ab-pdp__thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.ab-pdp__infocards{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px;}
.ab-pdp__infocard{padding:1.1rem 1.2rem;}
.ab-pdp__infotitle{font-size:1.1rem;margin:0 0 .6rem;}
.ab-pdp__list{list-style:none;margin:0;padding:0;font-size:.9rem;}
.ab-pdp__list li{padding:.2rem 0 .2rem 1.4rem;position:relative;}
.ab-pdp__list--check li::before{content:"✓";position:absolute;left:0;color:var(--ab-verde-400);font-weight:700;}
.ab-pdp__list--leaf li::before{content:"❧";position:absolute;left:0;color:#7c5cbf;}
.ab-pdp__buy{position:sticky;top:90px;}
.ab-pdp__buycard{padding:1.6rem;border-radius:22px;box-shadow:0 10px 30px rgba(27,67,50,.08);}
.ab-pdp__vendorlink{display:inline-flex;align-items:center;gap:.5rem;font-size:.9rem;color:var(--ab-verde-700);font-weight:600;}
.ab-pdp__vendoravatar{width:22px;height:22px;border-radius:50%;object-fit:cover;background:var(--ab-verde-100);flex:0 0 auto;}
.ab-pdp__title{font-family:var(--ab-font-display);font-size:30px;margin:.4rem 0 .3rem;}
.ab-pdp__rating{color:var(--ab-terracota);font-weight:600;font-size:.92rem;margin-bottom:.8rem;}
.ab-pdp__price{font-size:32px;font-weight:700;color:var(--ab-verde-900);}
.ab-pdp__price bdi,.ab-pdp__price .amount{font-family:var(--ab-font-body);}
.ab-pdp__pricenote{font-size:.82rem;color:#7a8a80;margin:.1rem 0 1.2rem;}
.ab-pdp__field{margin-bottom:1.1rem;}
.ab-pdp__label{display:block;font-weight:600;font-size:.85rem;margin-bottom:.5rem;color:var(--ab-verde-900);}
.ab-pdp__pills{display:flex;gap:.5rem;flex-wrap:wrap;}
.ab-pill{padding:.55rem 1rem;border-radius:999px;border:1.5px solid rgba(45,106,79,.3);background:#fff;font-weight:600;font-size:.9rem;cursor:pointer;transition:.15s;}
.ab-pill.is-active{background:var(--ab-verde-700);color:#fff;border-color:var(--ab-verde-700);}
.ab-pdp__pills .ab-pill{display:inline-flex;flex-direction:column;align-items:center;gap:.1rem;line-height:1.2;padding:.5rem 1rem;}
.ab-pdp__pills .ab-pill__price{font-size:.76rem;font-weight:600;opacity:.8;}
.ab-pdp__pills .ab-pill__price bdi{font-family:var(--ab-font-body);}
.ab-qty{display:inline-flex;align-items:center;border:1.5px solid rgba(45,106,79,.3);border-radius:999px;overflow:hidden;}
.ab-qty__btn{width:40px;height:40px;border:0;background:#fff;font-size:1.2rem;cursor:pointer;color:var(--ab-verde-900);}
.ab-qty__input{width:44px;text-align:center;border:0;font-weight:600;font-size:1rem;background:#fff;}
.ab-pdp__add,.ab-pdp__buynow{width:100%;margin-top:.4rem;text-align:center;}
.ab-pdp__add{display:flex;align-items:center;justify-content:center;gap:.5rem;}
.ab-pdp__carticon{flex:0 0 auto;}
.ab-pdp__buynow{margin-top:.7rem;background:var(--ab-verde-900);border-color:var(--ab-verde-900);}
.ab-btn--dashed{width:100%;margin-top:.9rem;background:transparent;border:1.5px dashed var(--ab-verde-400);color:var(--ab-verde-700);}
.ab-pdp__trust{list-style:none;margin:1.2rem 0 0;padding:0;font-size:.85rem;color:#5a6b62;}
.ab-pdp__trust li{padding:.25rem 0 .25rem 1.3rem;position:relative;}
.ab-pdp__trust li::before{content:"✓";position:absolute;left:0;color:var(--ab-verde-400);}
.ab-pdp__desc{padding:2rem 0;}
.ab-pdp__vendorcard{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin-top:1rem;cursor:pointer;}
.ab-pdp__vendorhead{display:flex;align-items:center;gap:1rem;}
.ab-pdp__vendorcardavatar{width:52px;height:52px;border-radius:50%;object-fit:cover;background:var(--ab-verde-100);flex:0 0 auto;}
.ab-pdp__vendormsg{position:relative;z-index:1;}
.ab-badge{font-size:.75rem;color:var(--ab-verde-700);font-weight:700;}
.ab-pdp__vendoractions{display:flex;align-items:center;gap:1rem;}
.ab-pdp__vendormore{font-weight:600;color:var(--ab-verde-700);}
.ab-pdp__noreviews{color:#7a8a80;text-align:center;}
/* Toast */
.ab-toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,20px);background:var(--ab-verde-900);color:#fff;padding:.9rem 1.4rem;border-radius:14px;box-shadow:var(--ab-shadow);opacity:0;transition:.28s;z-index:9999;font-weight:500;}
.ab-toast.is-visible{opacity:1;transform:translate(-50%,0);}
@media(max-width:860px){.ab-pdp__grid{grid-template-columns:1fr;}.ab-pdp__buy{position:static;}.ab-pdp__infocards{grid-template-columns:1fr;}}

/* ================= Tienda / Comprar ================= */
.ab-shop__wrap{max-width:1180px;margin:0 auto;padding:1.5rem 1.4rem 2.5rem;}
.ab-shop .ab-breadcrumb{font-size:13px;color:#9C8E7C;}
.ab-shop__h1{font-size:clamp(2rem,4vw,2.8rem);margin:.3rem 0 .3rem;}
.ab-shop__sub{color:#5a6b62;margin:0 0 1.4rem;}
.ab-shop__sub a{color:var(--ab-verde-700);font-weight:600;}
.ab-filters{background:#fff;border-radius:20px;padding:16px;box-shadow:0 5px 18px rgba(27,67,50,.05);display:flex;gap:16px;flex-wrap:wrap;align-items:flex-end;}
.ab-filters__field{display:flex;flex-direction:column;gap:.35rem;}
.ab-filters__field label{font-size:.78rem;font-weight:600;color:var(--ab-verde-900);}
.ab-filters__search{flex:1;min-width:200px;}
.ab-filters input[type=text],.ab-filters select{padding:.6rem .8rem;border:1px solid #E5DECF;border-radius:999px;background:var(--ab-crema);font-size:.9rem;font-family:inherit;color:var(--ab-tinta);}
.ab-filters__search input{width:100%;}
.ab-searchbox{position:relative;}
.ab-searchbox__icon{position:absolute;left:.85rem;top:50%;transform:translateY(-50%);color:#9C8E7C;pointer-events:none;}
.ab-searchbox input[type=text]{padding-left:2.4rem;}
.ab-filters__pills{display:flex;gap:.4rem;}
.ab-filters__pills .ab-pill{padding:.5rem .8rem;font-size:.82rem;}
.ab-filters__clear{margin-left:auto;color:var(--ab-terracota);font-weight:600;font-size:.88rem;align-self:center;}
.ab-chips{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-top:1rem;}
.ab-chips__label{font-size:.82rem;color:#7A7060;font-weight:600;}
.ab-chip{display:inline-flex;align-items:center;gap:.4rem;background:#EAF3EC;border:1px solid #CFE3D5;color:var(--ab-verde-900);border-radius:999px;padding:.35rem .8rem;font-size:.83rem;}
.ab-chip__x{display:inline-flex;width:18px;height:18px;align-items:center;justify-content:center;background:#fff;border-radius:50%;font-size:.8rem;}
.ab-shop__count{font-size:14px;color:#7A7060;margin:1.2rem 0 1rem;}
.ab-grid--products{grid-template-columns:repeat(auto-fill,minmax(218px,1fr));gap:22px;}
/* Tarjeta de producto */
.ab-pcard{position:relative;background:#fff;border-radius:var(--ab-radius-sm);overflow:hidden;box-shadow:var(--ab-shadow);border:1px solid rgba(45,106,79,.08);display:flex;flex-direction:column;transition:transform .18s ease;}
.ab-pcard:hover{transform:translateY(-4px);}
.ab-pcard__link{display:block;padding:0 0 .2rem;}
.ab-pcard__img{aspect-ratio:1/1;overflow:hidden;background:var(--ab-verde-100);}
.ab-pcard__img img{width:100%;height:100%;object-fit:cover;}
.ab-pcard__tag{display:inline-block;margin:.8rem .9rem 0;font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--ab-terracota);font-weight:700;}
.ab-pcard__title{font-size:1.05rem;margin:.3rem .9rem .2rem;color:var(--ab-verde-900);}
.ab-pcard__price{margin:0 .9rem;font-weight:600;color:var(--ab-verde-900);}
.ab-pcard__price bdi{font-family:var(--ab-font-body);}
.ab-pcard__rating{margin:.2rem .9rem 0;color:var(--ab-terracota);font-size:.85rem;font-weight:600;}
.ab-pcard__btn{margin:.7rem .9rem 1rem;text-align:center;}
.ab-fav{position:absolute;top:10px;right:10px;z-index:2;width:38px;height:38px;border-radius:50%;border:0;background:rgba(255,255,255,.9);color:#cbb8ab;font-size:1.1rem;cursor:pointer;box-shadow:0 4px 12px rgba(0,0,0,.12);transition:.15s;}
.ab-fav.is-active{color:var(--ab-terracota);}
.ab-pagination{margin:2rem 0 0;display:flex;justify-content:center;gap:.5rem;}
.ab-pagination .page-numbers{padding:.5rem .9rem;border-radius:10px;background:#fff;border:1px solid rgba(45,106,79,.15);color:var(--ab-verde-900);}
.ab-pagination .current{background:var(--ab-verde-700);color:#fff;}
/* Estado vacio */
.ab-empty{text-align:center;border:2px dashed #D8CBB6;border-radius:22px;padding:3rem 1.5rem;max-width:520px;margin:1.5rem auto;}
.ab-empty__icon{width:64px;height:64px;border-radius:50%;background:#F7DAD2;display:flex;align-items:center;justify-content:center;font-size:1.6rem;margin:0 auto 1rem;}
.ab-empty__title{font-size:22px;margin:0 0 .5rem;}
.ab-empty p{color:#7a8a80;margin:0 0 1.2rem;}
.ab-empty .ab-btn--primary{background:var(--ab-verde-900);border-color:var(--ab-verde-900);}

/* ================= Perfil de floristería ================= */
.ab-store__wrap{max-width:1100px;margin:0 auto;padding:1.2rem 1.4rem 2.5rem;}
.ab-store__back{display:inline-block;color:var(--ab-verde-700);font-weight:600;font-size:.9rem;margin-bottom:1rem;}
.ab-store__cover{position:relative;aspect-ratio:48/13;min-height:170px;border-radius:24px;background:linear-gradient(120deg,var(--ab-verde-700),var(--ab-verde-400));background-size:cover;background-position:center;}
.ab-store__coverlabel{position:absolute;left:14px;bottom:12px;background:rgba(27,67,50,.55);color:#fff;font-size:.72rem;padding:.25rem .6rem;border-radius:999px;}
.ab-store__id{display:flex;align-items:flex-end;gap:1.2rem;margin:-48px 1.5rem 0;position:relative;flex-wrap:wrap;}
.ab-store__avatar{width:96px;height:96px;border-radius:50%;border:4px solid var(--ab-crema);object-fit:cover;background:#fff;}
.ab-store__idbody{flex:1;min-width:220px;padding-bottom:.3rem;}
.ab-store__name{font-family:var(--ab-font-display);font-size:clamp(1.8rem,3.5vw,40px);margin:0 0 .2rem;color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.35);}
.ab-store__id .ab-badge{font-size:.85rem;color:#fff;background:var(--ab-verde-700);padding:.15rem .5rem;border-radius:999px;}
.ab-store__meta{color:#40534a;margin:.2rem 0 .5rem;font-weight:500;}
.ab-store__tags{display:flex;gap:.4rem;flex-wrap:wrap;}
.ab-store__tag{background:var(--ab-verde-100);color:var(--ab-verde-900);font-size:.78rem;padding:.25rem .7rem;border-radius:999px;}
.ab-store__contact{align-self:center;}
.ab-store__pills{display:flex;gap:.7rem;flex-wrap:wrap;margin:1.4rem 0 1rem;}
.ab-store__pill{background:#fff;border:1px solid rgba(45,106,79,.15);border-radius:999px;padding:.5rem .9rem;font-size:.85rem;color:#40534a;}
.ab-tabs{display:flex;gap:.3rem;border-bottom:1px solid rgba(45,106,79,.15);margin:1rem 0 1.6rem;overflow-x:auto;}
.ab-tab{border:0;background:transparent;padding:.8rem 1.1rem;font-weight:600;font-size:.95rem;color:#7a8a80;cursor:pointer;border-bottom:3px solid transparent;white-space:nowrap;}
.ab-tab.is-active{color:var(--ab-verde-900);border-bottom-color:var(--ab-verde-700);}
.ab-tabpanel[hidden]{display:none;}
.ab-scard{border-top:3px solid #7c5cbf;display:flex;flex-direction:column;gap:.4rem;}
.ab-scard__btn{margin-top:auto;text-align:center;}
.ab-store__about{display:grid;grid-template-columns:1fr 320px;gap:1.5rem;align-items:start;}
.ab-store__history{font-family:var(--ab-font-display);font-size:17px;color:#40534a;}
.ab-store__stats{display:flex;gap:1rem;margin-top:1rem;}
.ab-store__stat{flex:1;text-align:center;padding:1.2rem;}
.ab-store__statnum{display:block;font-size:1.4rem;font-weight:700;color:var(--ab-verde-900);}
.ab-store__statlbl{font-size:.82rem;color:#7a8a80;}
@media(max-width:760px){.ab-store__about{grid-template-columns:1fr;}}

/* ================= Favoritos ================= */
.ab-pdp__buycard{position:relative;}
.ab-fav--pdp{position:absolute;top:14px;right:14px;}
.ab-store__idactions{display:flex;align-items:center;gap:.7rem;align-self:center;}
.ab-fav--store{position:static;width:44px;height:44px;background:#fff;border:1px solid rgba(45,106,79,.2);}
.ab-favs__eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.75rem;font-weight:600;color:var(--ab-verde-400);margin:0;}
/* Spec §2: en Favoritos la tarjeta usa el ♥ de quitar en vez del botón de agregar al carrito. */
.ab-favs .ab-pcard__btn{display:none;}
.ab-favs__section{margin-top:2rem;}
.ab-favs__title{font-size:1.5rem;margin-bottom:1rem;}
.ab-favs__stores{display:flex;flex-direction:column;gap:.7rem;max-width:640px;}
.ab-favrow{display:flex;align-items:center;gap:1rem;background:#fff;border:1px solid rgba(45,106,79,.1);border-radius:16px;padding:.8rem 1rem;box-shadow:var(--ab-shadow);}
.ab-favrow__avatar{width:52px;height:52px;border-radius:50%;object-fit:cover;background:var(--ab-verde-100);}
.ab-favrow__body{flex:1;display:flex;flex-direction:column;}
.ab-favrow__name{font-weight:600;color:var(--ab-verde-900);}
.ab-favrow__sub{font-size:.83rem;color:#7a8a80;}
.ab-favrow__x{position:static;width:36px;height:36px;font-size:1.2rem;background:var(--ab-verde-100);}

/* ================= Checkout: dedicatoria + propina ================= */
.ab-checkout-extra{margin:1.5rem 0;padding:1.4rem;background:#fff;border-radius:var(--ab-radius-sm);border:1px solid rgba(45,106,79,.1);}
.ab-checkout-extra h3{font-size:1.15rem;margin:0 0 .7rem;}
.ab-checkout-extra h3:not(:first-child){margin-top:1.4rem;}
.ab-field-wide{width:100%;}
.ab-tip-chips{display:flex;gap:.6rem;flex-wrap:wrap;}
.ab-tip-chip{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem .9rem;border:1.5px solid rgba(45,106,79,.25);border-radius:999px;cursor:pointer;font-weight:600;font-size:.9rem;}
.ab-tip-note{font-size:.82rem;color:#7a8a80;margin:.5rem 0 0;}
.ab-order-dedicatoria{margin-top:1.5rem;padding:1.2rem 1.4rem;background:linear-gradient(155deg,#FCF7EF,#F4ECDD);border:1px solid #EADFC9;border-radius:var(--ab-radius-sm);}
.ab-dedicatoria-msg{font-family:var(--ab-font-accent);font-size:1.6rem;color:var(--ab-tinta);text-align:center;margin:.4rem 0;}
.ab-dedicatoria-firma{font-family:var(--ab-font-accent);font-size:1.25rem;color:#7A7060;text-align:right;}

/* ================= Confirmación + Timeline ================= */
.ab-confirm{max-width:620px;margin:1rem auto 0;text-align:center;}
.ab-confirm__check{width:70px;height:70px;border-radius:50%;background:var(--ab-verde-700);color:#fff;font-size:2rem;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem;animation:abPop .4s ease;}
@keyframes abPop{0%{transform:scale(.4);opacity:0;}100%{transform:scale(1);opacity:1;}}
.ab-confirm__title{font-size:2rem;}
.ab-confirm__num{display:inline-block;margin:1rem 0;background:var(--ab-verde-100);color:var(--ab-verde-900);font-weight:700;letter-spacing:.05em;padding:.5rem 1.2rem;border-radius:999px;}
.ab-confirm__tracktitle{font-size:1.3rem;margin:2rem 0 1rem;text-align:left;}
.ab-timeline{max-width:520px;margin:0 auto;text-align:left;}
.ab-tl-node{display:flex;gap:1rem;padding-bottom:1.4rem;position:relative;}
.ab-tl-node:not(:last-child)::before{content:"";position:absolute;left:15px;top:32px;bottom:0;width:2px;background:rgba(45,106,79,.2);}
.ab-tl-node.is-done:not(:last-child)::before{background:var(--ab-verde-700);}
.ab-tl-dot{flex:0 0 auto;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:700;background:var(--ab-crema);border:2px solid rgba(45,106,79,.25);color:var(--ab-verde-700);z-index:1;}
.ab-tl-node.is-done .ab-tl-dot{background:var(--ab-verde-700);color:#fff;border-color:var(--ab-verde-700);}
.ab-tl-node.is-current .ab-tl-dot{background:var(--ab-verde-100);border-color:var(--ab-verde-700);animation:abPulse 1.6s infinite;}
@keyframes abPulse{0%,100%{box-shadow:0 0 0 0 rgba(45,106,79,.4);}50%{box-shadow:0 0 0 8px rgba(45,106,79,0);}}
.ab-tl-body strong{color:var(--ab-verde-900);}
.ab-tl-body p{margin:.15rem 0 0;font-size:.88rem;color:#7a8a80;}
.ab-tl-node.is-future .ab-tl-body{opacity:.6;}

/* ================= Mi cuenta ================= */
.ab-account__wrap{max-width:1080px;margin:0 auto;padding:1.5rem 1.4rem 3rem;}
.ab-account__body.is-auth{max-width:440px;margin:0 auto;}
.ab-account__authtitle{font-size:2rem;text-align:center;margin:.2rem 0;}
.ab-account__authsub{text-align:center;color:#5a6b62;margin:0 0 1.4rem;}
.ab-account__wrap .ab-favs__eyebrow{text-align:center;font-family:var(--ab-font-accent);font-size:1.4rem;text-transform:none;letter-spacing:0;color:var(--ab-terracota);}
.ab-seg{display:flex;background:var(--ab-verde-100);border-radius:999px;padding:4px;max-width:440px;margin:0 auto 1.4rem;}
.ab-seg__btn{flex:1;border:0;background:transparent;padding:.6rem;border-radius:999px;font-weight:600;cursor:pointer;color:var(--ab-verde-900);}
.ab-seg__btn.is-active{background:#fff;box-shadow:0 2px 8px rgba(27,67,50,.12);}
.ab-social{margin-top:1rem;text-align:center;}
.ab-social__sep{display:block;color:#9aa8a0;font-size:.82rem;margin:.8rem 0;}
.ab-social__google{width:100%;background:#fff;border:1.5px solid rgba(45,106,79,.25);color:var(--ab-verde-900);opacity:.7;cursor:not-allowed;}
/* Auth: UNA sola card blanca (segmented control + formulario), spec Cliente-Cuenta §1 */
.ab-authcard{max-width:440px;margin:0 auto;background:#fff;border:1px solid var(--ab-verde-100);border-radius:22px;padding:1.4rem 1.35rem 1.5rem;box-shadow:0 14px 34px rgba(27,67,50,.07);}
.ab-authcard .ab-seg{margin:0 0 1.3rem;}
.ab-authcard .ab-account__body.is-auth{max-width:none;margin:0;}
.ab-account__body.is-auth #customer_login.col2-set{display:block;}
.ab-account__body.is-auth .u-column1,.ab-account__body.is-auth .u-column2{float:none;width:100%;max-width:none;padding:0;margin:0;}
.ab-account__body.is-auth form.woocommerce-form{background:transparent;border:0;border-radius:0;padding:0;box-shadow:none;}
.ab-account__body.is-auth .form-row,.ab-account__body.is-auth .woocommerce-form-row{margin:0 0 1rem;}
.ab-account__body.is-auth label{display:block;font-weight:600;color:var(--ab-verde-900);margin-bottom:.35rem;}
.ab-account__body.is-auth input.input-text,.ab-account__body.is-auth input[type=text],.ab-account__body.is-auth input[type=email],.ab-account__body.is-auth input[type=tel],.ab-account__body.is-auth input[type=password]{width:100%;box-sizing:border-box;padding:.7rem .85rem;border:1px solid #d7e3da;border-radius:12px;background:#fff;font-size:1rem;}
.ab-account__body.is-auth input:focus{outline:none;border-color:var(--ab-verde-400);box-shadow:0 0 0 3px rgba(82,183,136,.18);}
.ab-account__body.is-auth .woocommerce-form-login__submit,.ab-account__body.is-auth .woocommerce-form-register__submit{width:100%;white-space:nowrap;padding:.8rem 1.3rem;margin-top:.2rem;font-size:1rem;}
.ab-account__body.is-auth .lost_password{text-align:center;margin:1rem 0 0;}
.ab-account__body.is-auth .lost_password a{color:var(--ab-verde-700);font-weight:600;}
/* Dashboard */
.ab-account__hello{display:flex;align-items:center;gap:1rem;margin-bottom:1.6rem;}
.ab-account__avatar{width:60px;height:60px;border-radius:50%;background:var(--ab-verde-700);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.6rem;font-family:var(--ab-font-display);}
.ab-account__helloname{font-size:1.6rem;margin:0;}
.ab-account__helloemail{color:#7a8a80;margin:0;font-size:.9rem;}
.ab-account__body.is-dash .woocommerce-MyAccount-navigation{width:230px;float:left;}
.ab-account__body.is-dash .woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0;position:sticky;top:90px;}
.ab-account__body.is-dash .woocommerce-MyAccount-navigation li{margin-bottom:.3rem;}
.ab-account__body.is-dash .woocommerce-MyAccount-navigation a{display:block;padding:.7rem 1rem;border-radius:12px;color:var(--ab-verde-900);font-weight:600;}
.ab-account__body.is-dash .woocommerce-MyAccount-navigation li.is-active a,.ab-account__body.is-dash .woocommerce-MyAccount-navigation a:hover{background:var(--ab-verde-100);}
.ab-account__body.is-dash .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a{color:var(--ab-terracota);}
.ab-account__body.is-dash .woocommerce-MyAccount-content{overflow:hidden;padding-left:2rem;}
.ab-account__body .button{background:var(--ab-verde-700);color:#fff;border-radius:999px;padding:.6rem 1.3rem;border:0;font-weight:600;}
.ab-quote-stub{border-top:3px solid #7c5cbf;background:#fff;border-radius:var(--ab-radius-sm);padding:1.6rem;text-align:center;box-shadow:var(--ab-shadow);}
.ab-quote-stub h3{margin:0 0 .5rem;}
@media(max-width:760px){.ab-account__body.is-dash .woocommerce-MyAccount-navigation{width:100%;float:none;}.ab-account__body.is-dash .woocommerce-MyAccount-content{padding-left:0;}}

/* ============================================================
 * Maquetación Home + header/footer compartidos (Cliente - Inicio.md)
 * ============================================================ */

/* ---- Header compartido ---- */
.ab-header{position:sticky;top:0;z-index:50;background:rgba(251,246,238,.9);backdrop-filter:blur(12px);border-bottom:1px solid #ECE3D6;}
.ab-header__inner{max-width:1240px;margin:0 auto;padding:.85rem 1.4rem;display:flex;align-items:center;gap:1.5rem;}
.ab-brand{display:flex;align-items:center;gap:.5rem;}
.ab-brand__word{font-family:var(--ab-font-display);font-weight:600;font-size:22px;color:var(--ab-verde-900);}
.ab-nav{margin-left:auto;}
.ab-nav__list{list-style:none;display:flex;gap:.4rem;margin:0;padding:0;}
.ab-nav__link{display:inline-block;padding:.5rem .85rem;border-radius:999px;font-weight:500;font-size:.93rem;color:#3d4b43;transition:.15s;}
.ab-nav__link:hover{color:var(--ab-verde-900);}
.ab-nav__link.is-active{background:#EAF3EC;color:var(--ab-verde-900);font-weight:600;}
/* Acento morado de la sección de eventos (spec Cliente - Bodas) */
.ab-nav__link--ev:hover{color:var(--ab-morado-900);}
.ab-nav__link--ev.is-active{background:var(--ab-morado-100);color:var(--ab-morado-900);}
.ab-header__actions{display:flex;align-items:center;gap:.9rem;}
.ab-cart{position:relative;display:inline-flex;}
.ab-cart__badge{position:absolute;top:-6px;right:-8px;background:var(--ab-terracota);color:#fff;font-size:.68rem;font-weight:700;min-width:17px;height:17px;border-radius:999px;display:flex;align-items:center;justify-content:center;padding:0 4px;}
.ab-avatar{width:38px;height:38px;border-radius:50%;background:var(--ab-verde-900);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;}
.ab-header__login{padding:.55rem 1.1rem;}

/* ---- Footer compartido ---- */
.ab-footer__inner{max-width:1240px;grid-template-columns:1.4fr 1fr 1fr 1fr;}
.ab-footer__brand{font-family:var(--ab-font-display);font-size:1.5rem;color:#fff;margin:0 0 .4rem;}
.ab-footer__claim{color:#B9CFC2;font-size:.9rem;max-width:280px;}
.ab-footer__col h3{color:#fff;font-size:1rem;margin:0 0 .7rem;}
.ab-footer__col p{margin:.35rem 0;}
.ab-footer__bottom{max-width:1240px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.6rem;border-top:1px solid rgba(255,255,255,.1);padding:1.1rem 1.4rem;font-size:.85rem;color:#A9C5B8;}
.ab-footer__links{display:flex;gap:1.1rem;}
.ab-footer__links a:hover,.ab-footer__col a:hover{color:var(--ab-verde-400);}

/* ---- Botones extra ---- */
.ab-btn--soft{background:rgba(27,67,50,.08);color:var(--ab-verde-900);}

/* ---- Hero ---- */
.ab-hero2{position:relative;overflow:hidden;background:var(--ab-crema);}
.ab-hero2__grid{position:relative;z-index:2;max-width:1240px;margin:0 auto;padding:3.5rem 1.4rem 3rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:48px;align-items:center;}
.ab-hero2__circle{position:absolute;border-radius:50%;z-index:1;}
.ab-hero2__circle--tr{width:420px;height:420px;top:-120px;right:-90px;background:radial-gradient(circle,var(--ab-verde-100),transparent 70%);animation:abFloat 9s ease-in-out infinite;}
.ab-hero2__circle--bl{width:360px;height:360px;bottom:-140px;left:-100px;background:radial-gradient(circle,#F7DAD2,transparent 70%);}
@keyframes abFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
.ab-hero2__kicker{font-family:var(--ab-font-accent);font-size:26px;color:var(--ab-terracota);margin:0 0 .2rem;}
.ab-hero2__title{font-family:var(--ab-font-display);font-weight:600;color:var(--ab-verde-900);font-size:clamp(40px,6vw,68px);line-height:1.04;margin:0 0 1rem;}
.ab-hero2__sub{font-size:17px;color:#595959;max-width:440px;margin:0 0 1.6rem;}
.ab-search{display:flex;gap:.5rem;background:#fff;border-radius:20px;padding:9px;box-shadow:0 18px 44px rgba(27,67,50,.13);max-width:560px;flex-wrap:wrap;}
.ab-search__field{flex:1;min-width:130px;}
.ab-search__field select{width:100%;border:0;background:var(--ab-crema);border-radius:14px;padding:.75rem .8rem;font-family:inherit;font-size:.92rem;color:var(--ab-tinta);cursor:pointer;}
.ab-search__btn{min-height:54px;display:flex;align-items:center;gap:.4rem;white-space:nowrap;}
.ab-hero2__trust{margin:1.3rem 0 0;color:#6b7c71;font-size:.92rem;}
.ab-hero2__trust span{color:#C9BBA6;margin:0 .5rem;}
.ab-hero2__collage{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto;gap:14px;}
.ab-photo{position:relative;border-radius:20px;background:linear-gradient(135deg,var(--ab-verde-100),#ead9cf);display:block;overflow:hidden;}
.ab-photo::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(45deg,rgba(45,106,79,.05) 0 8px,transparent 8px 16px);}
.ab-photo em{position:absolute;left:10px;bottom:10px;z-index:2;font-style:normal;font-size:.72rem;background:rgba(27,67,50,.55);color:#fff;padding:.2rem .55rem;border-radius:999px;}
.ab-photo--a{aspect-ratio:3/4;}
.ab-photo--b{aspect-ratio:3/4;}
.ab-photo--c{aspect-ratio:4/3;grid-column:1/3;}

/* ---- Secciones Home ---- */
.ab-hsec{max-width:1240px;margin:0 auto;padding:3rem 1.4rem 0;}
.ab-home>.ab-hsec:last-of-type{padding-bottom:3rem;}
.ab-hsec__head{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap;}
.ab-hsec__kicker{text-transform:uppercase;letter-spacing:.14em;font-size:.76rem;font-weight:700;color:var(--ab-terracota);margin:0 0 .2rem;}
.ab-hsec__title{font-family:var(--ab-font-display);font-size:2rem;color:var(--ab-verde-900);margin:0;}
.ab-hsec__cta{white-space:nowrap;}

/* ---- Categorías ---- */
.ab-catgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:16px;}
.ab-catcard{height:148px;border-radius:20px;padding:1rem;display:flex;flex-direction:column;justify-content:space-between;transition:transform .2s ease,box-shadow .2s ease;color:var(--ab-verde-900);}
.ab-catcard:hover{transform:translateY(-4px);box-shadow:0 16px 30px -18px rgba(27,67,50,.4);}
.ab-catcard__icon{width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.55);display:flex;align-items:center;justify-content:center;font-size:1.3rem;}
.ab-catcard__name{font-family:var(--ab-font-display);font-size:1.25rem;font-weight:600;}
.ab-catcard__desc{font-size:.82rem;opacity:.8;}

/* ---- Tarjeta floristería (Home) ---- */
.ab-grid--stores2{grid-template-columns:repeat(auto-fill,minmax(264px,1fr));gap:24px;}
.ab-storecard{background:#fff;border:1px solid #F0E8DA;border-radius:20px;overflow:hidden;box-shadow:0 6px 20px rgba(27,67,50,.06);transition:transform .2s;}
.ab-storecard:hover{transform:translateY(-5px);}
.ab-storecard__banner{position:relative;display:block;aspect-ratio:16/10;background:linear-gradient(120deg,var(--ab-verde-700),var(--ab-verde-400));}
.ab-storecard__banner em{position:absolute;left:10px;bottom:8px;font-style:normal;font-size:.7rem;background:rgba(27,67,50,.5);color:#fff;padding:.2rem .5rem;border-radius:999px;}
.ab-storecard__body{display:flex;gap:.8rem;padding:1rem;}
.ab-storecard__avatar{width:44px;height:44px;border-radius:12px;background:var(--ab-verde-900);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;flex-shrink:0;}
.ab-storecard__name{font-family:var(--ab-font-display);font-size:19px;margin:0 0 .15rem;color:var(--ab-verde-900);}
.ab-storecard__name .ab-badge{font-size:.72rem;color:var(--ab-verde-700);}
.ab-storecard__meta{font-size:.85rem;color:#6b7c71;margin:0;}
.ab-storecard__rating{color:var(--ab-terracota);font-size:.85rem;font-weight:600;margin:.2rem 0 0;}

/* ---- Cómo funciona ---- */
.ab-howcard{background:#fff;border:1px solid #F0E8DA;border-radius:28px;padding:2.5rem;}
.ab-how{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:28px;margin-top:1.5rem;}
.ab-how__step{text-align:center;}
.ab-how__num{width:56px;height:56px;border-radius:50%;background:var(--ab-verde-100);color:var(--ab-verde-900);font-family:var(--ab-font-display);font-size:22px;font-weight:600;display:flex;align-items:center;justify-content:center;margin:0 auto .8rem;}
.ab-how__step h3{font-family:var(--ab-font-display);font-size:1.3rem;margin:0 0 .4rem;color:var(--ab-verde-900);}
.ab-how__step p{color:#5a6b62;font-size:.92rem;}

/* ---- Banda eventos ---- */
.ab-eventsband{position:relative;overflow:hidden;background:linear-gradient(135deg,var(--ab-verde-900),var(--ab-verde-700));border-radius:28px;padding:2.5rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;align-items:center;}
.ab-eventsband__circle{position:absolute;width:280px;height:280px;top:-120px;right:-60px;border-radius:50%;background:rgba(255,255,255,.06);}
.ab-eventsband__text{position:relative;z-index:2;}
.ab-eventsband__badge{display:inline-block;background:rgba(255,255,255,.15);color:#fff;font-size:.78rem;font-weight:600;padding:.3rem .8rem;border-radius:999px;margin-bottom:.8rem;}
.ab-eventsband__text h2{font-family:var(--ab-font-display);color:#fff;font-size:1.9rem;margin:0 0 .6rem;}
.ab-eventsband__text p{color:#D7E8DC;margin:0 0 1.2rem;}
.ab-eventsband__cards{display:flex;flex-direction:column;gap:.8rem;position:relative;z-index:2;}
.ab-svccard{background:rgba(255,255,255,.96);border-radius:18px;padding:.9rem;display:flex;align-items:center;gap:.8rem;}
.ab-svccard__thumb{width:74px;height:74px;border-radius:14px;background:linear-gradient(135deg,var(--ab-verde-100),#ead9cf);flex-shrink:0;}
.ab-svccard h4{margin:0;font-size:1rem;color:var(--ab-verde-900);}
.ab-svccard p{margin:0;font-size:.83rem;color:#6b7c71;}
.ab-svccard__price{font-weight:600;color:var(--ab-verde-700)!important;}
.ab-svccard .ab-btn{margin-left:auto;padding:.5rem 1rem;font-size:.85rem;}

/* ---- Banda únete ---- */
.ab-joinband{background:#F7DAD2;border-radius:28px;padding:2.5rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;align-items:center;}
.ab-joinband__kicker{font-family:var(--ab-font-accent);font-size:24px;color:var(--ab-terracota);margin:0 0 .2rem;}
.ab-joinband h2{font-family:var(--ab-font-display);font-size:1.9rem;color:var(--ab-verde-900);margin:0 0 .5rem;}
.ab-joinband p{color:#8A5D52;margin:0;}
.ab-joinband__cta{display:flex;gap:.8rem;flex-wrap:wrap;justify-content:flex-end;}

/* ---- Testimonios ---- */
.ab-testi{background:#fff;border:1px solid #F0E8DA;border-radius:20px;padding:1.5rem;box-shadow:0 6px 20px rgba(27,67,50,.06);}
.ab-testi__stars{color:#E9B949;letter-spacing:2px;margin-bottom:.6rem;}
.ab-testi__quote{font-family:var(--ab-font-display);font-style:italic;font-size:16px;color:#3d4b43;line-height:1.5;}
.ab-testi__by{display:flex;align-items:center;gap:.7rem;margin-top:1rem;}
.ab-testi__avatar{width:40px;height:40px;border-radius:50%;background:var(--ab-verde-900);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;}
.ab-testi__by strong{display:block;color:var(--ab-verde-900);font-size:.92rem;}
.ab-testi__by span{font-size:.82rem;color:#7a8a80;}

@media(max-width:680px){
	.ab-nav{display:none;}
	.ab-hero2__collage{grid-template-columns:1fr 1fr;}
	.ab-joinband__cta{justify-content:flex-start;}
}

/* ============================================================
 * Checkout wizard de 5 pasos (Cliente - Checkout.md)
 * ============================================================ */
.ab-ck{max-width:1180px;margin:0 auto;padding:1.5rem 1.4rem 3rem;}
.ab-stepper{list-style:none;display:flex;gap:.4rem;margin:0 0 2rem;padding:0;counter-reset:s;flex-wrap:wrap;}
.ab-stepper__node{display:flex;align-items:center;gap:.5rem;flex:1;min-width:120px;color:#9aa89f;font-weight:600;font-size:.9rem;position:relative;}
.ab-stepper__node::after{content:"";position:absolute;left:17px;top:16px;width:100%;height:2px;background:#E5DECF;z-index:0;}
.ab-stepper__node:last-child::after{display:none;}
.ab-stepper__num{position:relative;width:34px;height:34px;border-radius:50%;background:#fff;border:2px solid #E5DECF;display:flex;align-items:center;justify-content:center;font-size:.9rem;flex-shrink:0;z-index:1;}
.ab-stepper__label{position:relative;z-index:1;background:var(--ab-crema);padding:0 .35rem;}
.ab-stepper__node.is-clickable{cursor:pointer;}
.ab-stepper__node.is-current{color:var(--ab-verde-900);}
.ab-stepper__node.is-current .ab-stepper__num{border-color:var(--ab-verde-700);color:var(--ab-verde-900);}
.ab-stepper__node.is-done{color:var(--ab-verde-700);}
.ab-stepper__node.is-done .ab-stepper__num{background:var(--ab-verde-700);border-color:var(--ab-verde-700);color:#fff;font-size:0;}
.ab-stepper__node.is-done .ab-stepper__num::before{content:"✓";font-size:1rem;}
.ab-stepper__node.is-done::after{background:var(--ab-verde-400);}
.ab-ck__layout{display:grid;grid-template-columns:minmax(0,1fr) 366px;gap:28px;align-items:start;}
.ab-ck__main{min-width:0;}
.ab-ck__h{font-family:var(--ab-font-display);font-size:1.7rem;color:var(--ab-verde-900);margin:0 0 .3rem;}
.ab-ck__sub{color:#7a8a80;margin:0 0 1rem;}
.ab-ck__count{color:#7a8a80;margin:0 0 1rem;}
.ab-ckpanel{background:#fff;border:1px solid #F0E8DA;border-radius:var(--ab-radius-lg);padding:1.6rem;box-shadow:var(--ab-shadow);}
.ab-ck__actions{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:1.5rem;flex-wrap:wrap;}
.ab-ck__actions--pago{justify-content:flex-start;}
.ab-ck-back,.ab-ck__seguir{background:none;border:0;color:var(--ab-verde-700);font-weight:600;cursor:pointer;font-size:.95rem;}
/* Carrito */
.ab-ckcart__row{display:flex;align-items:center;gap:1rem;padding:.8rem 0;border-bottom:1px solid #F0E8DA;}
.ab-ckcart__thumb img{width:64px;height:64px;object-fit:cover;border-radius:12px;}
.ab-ckcart__info{flex:1;}
.ab-ckcart__info h3{font-family:var(--ab-font-display);font-size:1.1rem;margin:0;color:var(--ab-verde-900);}
.ab-ckcart__meta{color:#7a8a80;font-size:.85rem;margin:.2rem 0 0;}
.ab-ckcart__price{font-weight:600;color:var(--ab-verde-900);}
/* Dedicatoria */
.ab-dedi{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem;}
.ab-dedi__form label{display:block;font-weight:600;font-size:.88rem;color:var(--ab-verde-900);margin-bottom:1rem;}
.ab-dedi__form textarea,.ab-dedi__form input{width:100%;margin-top:.4rem;padding:.7rem .9rem;border:1px solid #E5DECF;border-radius:12px;font-family:inherit;font-size:.95rem;}
.ab-dedi__card{background:linear-gradient(155deg,#FCF7EF,#F4ECDD);border:1px solid #EADFC9;border-radius:18px;padding:1.6rem;display:flex;flex-direction:column;min-height:200px;}
.ab-dedi__logo{font-family:var(--ab-font-display);font-weight:600;color:var(--ab-verde-700);font-size:.9rem;}
.ab-dedi__msg{flex:1;display:flex;align-items:center;justify-content:center;text-align:center;font-family:var(--ab-font-accent);font-size:26px;color:#5a4a3a;}
.ab-dedi__sign{text-align:right;font-family:var(--ab-font-accent);font-size:21px;color:#7A7060;margin:0;}
/* Tip + cupón */
.ab-tip{margin-top:1.5rem;border-top:1px solid #F0E8DA;padding-top:1.2rem;}
.ab-tip h3{font-size:1.05rem;margin:0 0 .7rem;color:var(--ab-verde-900);}
.ab-tip-chip{display:inline-flex;align-items:center;padding:.5rem 1rem;border-radius:999px;border:1.5px solid rgba(45,106,79,.3);cursor:pointer;font-weight:600;font-size:.9rem;margin:0 .4rem .4rem 0;}
.ab-tip-chip.is-active{background:var(--ab-verde-700);color:#fff;border-color:var(--ab-verde-700);}
.ab-tip-chip input{position:absolute;opacity:0;width:0;}
.ab-tip-note{font-size:.83rem;color:#7a8a80;margin:.3rem 0 0;}
.ab-couponslot{margin-top:1.2rem;}
.ab-coupon-relocated{display:flex!important;gap:.5rem;flex-wrap:wrap;}
.ab-coupon-relocated .input-text{padding:.6rem .9rem;border:1px solid #E5DECF;border-radius:999px;}
/* Resumen sticky */
.ab-ck__summary{position:sticky;top:90px;background:#fff;border:1px solid #F0E8DA;border-radius:22px;padding:1.4rem;box-shadow:0 10px 30px rgba(27,67,50,.08);}
.ab-ck__summary h3{font-family:var(--ab-font-display);font-size:1.3rem;margin:0 0 1rem;color:var(--ab-verde-900);}
.ab-cksum__lines{max-height:228px;overflow:auto;display:flex;flex-direction:column;gap:.6rem;}
.ab-cksum__line{display:flex;align-items:center;gap:.6rem;font-size:.88rem;}
.ab-cksum__thumb{position:relative;flex-shrink:0;}
.ab-cksum__thumb img{width:44px;height:44px;border-radius:10px;object-fit:cover;}
.ab-cksum__thumb em{position:absolute;top:-6px;right:-6px;background:var(--ab-verde-700);color:#fff;font-style:normal;font-size:.68rem;min-width:18px;height:18px;border-radius:999px;display:flex;align-items:center;justify-content:center;}
.ab-cksum__name{flex:1;color:var(--ab-tinta);}
.ab-cksum__lp{font-weight:600;color:var(--ab-verde-900);}
.ab-cksum__totals{border-top:1px solid #F0E8DA;margin-top:1rem;padding-top:1rem;}
.ab-cksum__totals>div{display:flex;justify-content:space-between;margin:.3rem 0;color:#5a6b62;}
.ab-cksum__total{font-family:var(--ab-font-display);font-size:22px;color:var(--ab-verde-900)!important;font-weight:600;}
.ab-cksum__trust{font-size:.82rem;color:#7a8a80;margin:1rem 0 0;text-align:center;}
.ab-ck__empty{color:#7a8a80;}
/* Campos WC dentro de los paneles — neutraliza los floats/anchos por defecto de WC */
.ab-ckpanel .col2-set{display:block;}
.ab-ckpanel .col2-set .col-1,.ab-ckpanel .col2-set .col-2{float:none;width:100%;max-width:none;padding:0;}
.ab-ckpanel .col2-set .col-2:empty{display:none;}
.ab-ckpanel .woocommerce-billing-fields>h3,.ab-ckpanel .woocommerce-shipping-fields h3,.ab-ckpanel .woocommerce-additional-fields h3,.ab-ckpanel #order_review_heading{font-family:var(--ab-font-display);font-size:1.25rem;font-weight:600;color:var(--ab-verde-900);margin:0 0 1rem;line-height:1.2;}
.ab-ckpanel .woocommerce-billing-fields__field-wrapper,.ab-ckpanel .woocommerce-shipping-fields__field-wrapper,.ab-ckpanel .woocommerce-additional-fields__field-wrapper{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem;}
.ab-ckpanel .form-row{float:none!important;width:auto!important;display:flex;flex-direction:column;margin:0 0 1rem;padding:0;}
.ab-ckpanel .form-row-wide,.ab-ckpanel .form-row.notes{grid-column:1 / -1;}
.ab-ckpanel .form-row label{display:block;font-weight:600;font-size:.85rem;color:var(--ab-verde-900);margin-bottom:.35rem;}
.ab-ckpanel .form-row .required{color:var(--ab-terracota);border:0;text-decoration:none;}
.ab-ckpanel .form-row .optional{color:#9aa89f;font-weight:400;}
.ab-ckpanel input.input-text,.ab-ckpanel select,.ab-ckpanel textarea{width:100%;padding:.65rem .9rem;border:1px solid #E5DECF;border-radius:12px;font-family:inherit;font-size:.95rem;background:#fff;}
.ab-ckpanel .select2-container{width:100%!important;}
.ab-ckpanel .select2-container .select2-selection--single{height:auto;min-height:44px;border:1px solid #E5DECF;border-radius:12px;padding:.3rem .55rem;display:flex;align-items:center;}
.ab-ckpanel .select2-container--default .select2-selection--single .select2-selection__arrow{top:50%;transform:translateY(-50%);}
.ab-ckpanel #place_order{background:var(--ab-terracota);color:#fff;border:0;border-radius:999px;padding:.9rem 1.6rem;font-weight:600;font-size:1rem;width:100%;cursor:pointer;margin-top:1rem;}
@media(max-width:900px){.ab-ck__layout{grid-template-columns:1fr;}.ab-ck__summary{position:static;}.ab-dedi{grid-template-columns:1fr;}.ab-ckpanel .woocommerce-billing-fields__field-wrapper,.ab-ckpanel .woocommerce-shipping-fields__field-wrapper{grid-template-columns:1fr;}.ab-stepper__label{display:none;}}

/* ============================================================
 * Cuenta — Mis pedidos (tarjetas) + detalle a medida (Cliente - Cuenta.md)
 * ============================================================ */
.ab-orders{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;}
.ab-ocard{display:block;background:#fff;border:1px solid #F0E8DA;border-radius:18px;padding:1.2rem;box-shadow:0 5px 18px rgba(27,67,50,.06);transition:transform .18s;}
.ab-ocard:hover{transform:translateY(-4px);}
.ab-ocard__top{display:flex;justify-content:space-between;align-items:center;gap:.5rem;}
.ab-ocard__num{font-weight:700;color:var(--ab-verde-900);}
.ab-ocard__date{color:#7a8a80;font-size:.83rem;margin:.3rem 0 .8rem;}
.ab-ocard__thumbs{display:flex;margin:0 0 .7rem;}
.ab-ocard__thumb{margin-left:-10px;}
.ab-ocard__thumb:first-child{margin-left:0;}
.ab-ocard__thumb img{width:44px;height:44px;border-radius:50%;border:2px solid #fff;object-fit:cover;}
.ab-ocard__names{font-size:.88rem;color:#5a6b62;margin:0 0 .8rem;}
.ab-ocard__foot{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #F0E8DA;padding-top:.7rem;}
.ab-ocard__total{font-weight:700;color:var(--ab-verde-900);}
.ab-ocard__link{color:var(--ab-terracota);font-weight:600;font-size:.88rem;}
.ab-orders__pag{display:flex;gap:.6rem;justify-content:center;margin-top:1.5rem;}
/* Badges de estado */
.ab-badge2{display:inline-flex;align-items:center;gap:.35rem;padding:.28rem .7rem;border-radius:999px;font-size:.78rem;font-weight:700;}
.ab-badge2.is-nuevo{background:#D8F3DC;color:#1B4332;}
.ab-badge2.is-prep{background:#EAE2F5;color:#6A4F9E;}
.ab-badge2.is-ruta{background:#FBEBCB;color:#9A6B12;}
.ab-badge2.is-entregado{background:#D8F3DC;color:#2D6A4F;}
.ab-badge2.is-neutral{background:#EDE6D8;color:#7a6f5c;}
.ab-pulse{width:8px;height:8px;border-radius:50%;background:currentColor;animation:abPulse 1.4s ease-in-out infinite;}
@keyframes abPulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(1.5)}}
/* Detalle de pedido */
.ab-vo__back{display:inline-block;color:var(--ab-verde-700);font-weight:600;margin-bottom:1rem;}
.ab-vo__head{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;}
.ab-vo__title{font-family:var(--ab-font-display);font-size:1.8rem;color:var(--ab-verde-900);margin:0;}
.ab-vo__meta{color:#7a8a80;margin:.2rem 0 1.5rem;}
.ab-vo__cards{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:1.5rem 0;}
.ab-vo__card{padding:1.3rem;}
.ab-vo__cardh{font-size:1.1rem;margin:0 0 .6rem;color:var(--ab-verde-900);}
.ab-vo__card p{margin:.2rem 0;color:#5a6b62;font-size:.92rem;}
.ab-vo__vendor{display:flex;align-items:center;gap:.7rem;}
.ab-vo__avatar{width:44px;height:44px;border-radius:12px;background:var(--ab-verde-900);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;}
.ab-vo__vendor span{font-size:.82rem;color:var(--ab-verde-700);}
.ab-vo__products{padding:1.4rem;}
.ab-vo__line{display:flex;align-items:center;gap:.8rem;padding:.5rem 0;border-bottom:1px solid #F5EFE3;}
.ab-vo__lthumb img{width:46px;height:46px;border-radius:10px;object-fit:cover;}
.ab-vo__lname{flex:1;color:var(--ab-verde-900);}
.ab-vo__lname em{color:#7a8a80;font-style:normal;}
.ab-vo__lprice{font-weight:600;}
.ab-vo__totals{margin-top:1rem;}
.ab-vo__totals>div{display:flex;justify-content:space-between;margin:.3rem 0;color:#5a6b62;}
.ab-vo__disc span:last-child{color:var(--ab-verde-700);}
.ab-vo__total{font-family:var(--ab-font-display);font-size:1.3rem;color:var(--ab-verde-900)!important;font-weight:600;border-top:1px solid #F0E8DA;padding-top:.6rem;margin-top:.4rem;}
.ab-vo__dedi{margin-top:1rem;}
.ab-vo__actions{display:flex;gap:.8rem;margin-top:1.5rem;flex-wrap:wrap;}
@media(max-width:640px){.ab-vo__cards{grid-template-columns:1fr;}}

/* ============================================================
 * Confirmación + Seguimiento a medida (Cliente - Checkout.md)
 * ============================================================ */
.ab-confirm{max-width:620px;margin:2rem auto;text-align:center;padding:0 1.4rem;}
.ab-confirm__check{width:76px;height:76px;border-radius:50%;background:var(--ab-verde-700);color:#fff;display:flex;align-items:center;justify-content:center;font-size:2.2rem;margin:0 auto 1.2rem;animation:abPop .5s cubic-bezier(.2,1.4,.4,1) both;}
@keyframes abPop{0%{transform:scale(0);opacity:0}100%{transform:scale(1);opacity:1}}
.ab-confirm__title{font-family:var(--ab-font-display);font-size:2rem;color:var(--ab-verde-900);margin:0 0 .5rem;}
.ab-confirm__lead{color:#5a6b62;margin:0 0 1rem;}
.ab-confirm__num{display:inline-block;background:var(--ab-verde-100);color:var(--ab-verde-900);font-weight:700;padding:.4rem 1rem;border-radius:999px;letter-spacing:.03em;}
.ab-confirm__summary{text-align:left;margin:1.5rem 0;padding:1.4rem;}
.ab-confirm__eta{margin:0 0 1rem;color:var(--ab-verde-900);border-bottom:1px solid #F0E8DA;padding-bottom:.8rem;}
.ab-confirm__line{display:flex;justify-content:space-between;padding:.3rem 0;color:#5a6b62;font-size:.92rem;}
.ab-confirm__total{display:flex;justify-content:space-between;border-top:1px solid #F0E8DA;margin-top:.6rem;padding-top:.8rem;font-family:var(--ab-font-display);font-size:1.3rem;font-weight:600;color:var(--ab-verde-900);}
.ab-confirm__actions{display:flex;gap:.8rem;justify-content:center;flex-wrap:wrap;}
/* Tracking */
.ab-track{max-width:680px;margin:2rem auto;padding:0 1.4rem;}
.ab-track__head{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-top:.5rem;}
.ab-track__home{margin-top:1.5rem;display:inline-block;}
/* Timeline vertical (refuerzo) */
.ab-timeline{margin:1.5rem 0;padding-left:.5rem;}
.ab-tl-node{display:flex;gap:1rem;position:relative;padding-bottom:1.4rem;}
.ab-tl-node::before{content:"";position:absolute;left:15px;top:32px;bottom:-4px;width:2px;background:#E5DECF;}
.ab-tl-node:last-child::before{display:none;}
.ab-tl-node.is-done::before{background:var(--ab-verde-400);}
.ab-tl-dot{width:32px;height:32px;border-radius:50%;background:var(--ab-crema);border:2px solid #E5DECF;display:flex;align-items:center;justify-content:center;flex-shrink:0;z-index:1;color:#fff;font-size:.9rem;}
.ab-tl-node.is-done .ab-tl-dot{background:var(--ab-verde-700);border-color:var(--ab-verde-700);}
.ab-tl-node.is-current .ab-tl-dot{background:var(--ab-verde-400);border-color:var(--ab-verde-400);animation:abPulse 1.4s ease-in-out infinite;}
.ab-tl-body strong{color:var(--ab-verde-900);}
.ab-tl-body p{margin:.15rem 0 0;color:#7a8a80;font-size:.88rem;}
.ab-tl-node.is-future .ab-tl-body{opacity:.6;}

/* ============================================================
 * Fase 1b — Panel de floristería / Verificación KYC (Floristeria - Verificacion KYC.md)
 * ============================================================ */
.ab-panel-body{background:#F4EFE6;margin:0;}
.ab-panel-gate{max-width:440px;margin:6rem auto;text-align:center;padding:0 1.4rem;}
.ab-panel{display:grid;grid-template-columns:246px 1fr;min-height:100vh;}
.ab-panel__side{background:var(--ab-verde-900);color:#CFE0D5;padding:1.6rem 1.2rem;position:sticky;top:0;align-self:start;height:100vh;}
.ab-panel__logo{font-family:var(--ab-font-display);font-weight:700;font-size:1.4rem;color:#fff;display:block;margin-bottom:1.5rem;}
.ab-panel__store{display:flex;gap:.7rem;align-items:center;background:rgba(255,255,255,.06);border-radius:14px;padding:.8rem;margin-bottom:1.5rem;}
.ab-panel__avatar{width:42px;height:42px;border-radius:10px;background:var(--ab-verde-700);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;flex-shrink:0;}
.ab-panel__store strong{color:#fff;font-size:.95rem;display:block;}
.ab-panel__estado{font-size:.8rem;color:#E0C58F;display:flex;align-items:center;gap:.35rem;}
.ab-panel__estado .ab-dot{width:7px;height:7px;border-radius:50%;background:#E0C58F;}
.ab-panel__nav{display:flex;flex-direction:column;gap:.3rem;}
.ab-panel__nav a,.ab-panel__nav span{padding:.6rem .8rem;border-radius:10px;color:#CFE0D5;font-weight:500;font-size:.92rem;}
.ab-panel__nav a.is-active{background:rgba(82,183,136,.18);color:#fff;font-weight:600;}
.ab-panel__nav .is-disabled{opacity:.5;}
.ab-panel__nav em{font-style:normal;font-size:.75rem;opacity:.7;}
.ab-panel__note{margin-top:1.5rem;font-size:.8rem;color:#9FBBAA;line-height:1.5;}
.ab-panel__note a{display:block;color:#9FBBAA;text-decoration:none;}
.ab-panel__note a:hover{color:#fff;}
.ab-panel__logout{margin-top:.45rem;}
.ab-panel__content{padding:2.5rem;max-width:1100px;}
.ab-panel__kicker{font-family:var(--ab-font-accent);font-size:20px;color:var(--ab-terracota);margin:0;}
.ab-panel__h1{font-family:var(--ab-font-display);font-size:2rem;color:var(--ab-verde-900);margin:.2rem 0 1.5rem;}
.ab-kbanner{background:linear-gradient(135deg,var(--ab-verde-900),var(--ab-verde-700));border-radius:20px;padding:1.5rem;color:#fff;display:grid;grid-template-columns:1fr auto;gap:.5rem 1rem;align-items:center;margin-bottom:1.8rem;}
.ab-kbanner strong{font-size:1.1rem;}.ab-kbanner p{margin:.2rem 0 0;color:#CFE0D5;font-size:.88rem;}
.ab-kbanner__pct{font-family:var(--ab-font-display);font-size:2.4rem;font-weight:600;grid-row:span 1;}
.ab-kbanner__bar{grid-column:1/3;height:8px;background:rgba(255,255,255,.2);border-radius:999px;overflow:hidden;}
.ab-kbanner__bar span{display:block;height:100%;background:var(--ab-verde-400);transition:width .4s;}
.ab-kgrid{display:grid;grid-template-columns:1.55fr 1fr;gap:1.5rem;align-items:start;}
.ab-kstep{background:#fff;border:1px solid #E9E0D0;border-radius:var(--ab-radius-sm);margin-bottom:1rem;overflow:hidden;}
.ab-kstep__head{width:100%;text-align:left;background:none;border:0;padding:1.1rem 1.3rem;font-weight:600;color:var(--ab-verde-900);cursor:pointer;display:flex;align-items:center;gap:.7rem;font-size:1rem;}
.ab-kstep__n{width:30px;height:30px;border-radius:50%;background:#EDE6D8;color:var(--ab-verde-900);display:flex;align-items:center;justify-content:center;font-size:.9rem;flex-shrink:0;}
.ab-kstep.is-done .ab-kstep__n{background:var(--ab-verde-700);color:#fff;}
.ab-kstep__state{margin-left:auto;font-size:.78rem;font-weight:600;color:#9aa89f;background:#F4EFE6;padding:.2rem .6rem;border-radius:999px;}
.ab-kstep.is-open .ab-kstep__state{color:#9A6B12;background:#FBEBCB;}
.ab-kstep.is-done .ab-kstep__state{color:var(--ab-verde-700);background:var(--ab-verde-100);}
.ab-kstep__body{display:none;padding:0 1.3rem 1.3rem;}
.ab-kstep.is-open .ab-kstep__body{display:block;}
.ab-kform{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem;}
.ab-kform label{display:flex;flex-direction:column;font-size:.85rem;font-weight:600;color:var(--ab-verde-900);gap:.35rem;}
.ab-kform input,.ab-kform select{padding:.6rem .8rem;border:1px solid #E5DECF;border-radius:10px;font-family:inherit;font-weight:400;}
.ab-kdoc{display:flex;align-items:center;gap:.9rem;padding:.9rem;border:1px solid #E9E0D0;border-radius:12px;margin-bottom:.7rem;}
.ab-kdoc__ic{width:38px;height:38px;border-radius:10px;background:#EDE6D8;display:flex;align-items:center;justify-content:center;}
.ab-kdoc.is-up .ab-kdoc__ic{background:var(--ab-verde-100);}
.ab-kdoc__info{flex:1;display:flex;flex-direction:column;}
.ab-kdoc__info strong{color:var(--ab-verde-900);font-size:.92rem;}
.ab-kdoc__info span{font-size:.8rem;color:#7a8a80;}
.ab-kdoc__btn{background:var(--ab-verde-700);color:#fff;padding:.45rem .9rem;border-radius:999px;font-size:.83rem;font-weight:600;cursor:pointer;}
.ab-kdoc__btn input{display:none;}
.ab-kdoc__view{font-size:.83rem;color:var(--ab-terracota);font-weight:600;}
.ab-ksend{background:#fff;border:1px solid #E9E0D0;border-radius:16px;padding:1.4rem;margin-top:.5rem;}
.ab-ksend h3{margin:0 0 .3rem;color:var(--ab-verde-900);}
.ab-ksend p{margin:0 0 1rem;color:#7a8a80;font-size:.9rem;}
.ab-ksend .ab-btn[disabled]{background:#C9BEAA;cursor:not-allowed;}
.ab-kinfo{position:sticky;top:20px;display:flex;flex-direction:column;gap:1rem;}
.ab-kinfo__card{padding:1.2rem;}
.ab-kinfo__card h3{font-size:1rem;margin:0 0 .6rem;color:var(--ab-verde-900);}
.ab-kinfo__card p{margin:0;color:#5a6b62;font-size:.88rem;}
.ab-kinfo__time{background:var(--ab-crema);}
.ab-kinfo__priv{background:#EAF6EE;}
@media(max-width:900px){.ab-panel{grid-template-columns:1fr;}.ab-panel__side{position:static;height:auto;}.ab-kgrid{grid-template-columns:1fr;}.ab-kinfo{position:static;}.ab-kform{grid-template-columns:1fr;}}

/* ============================================================
 * Fase 1b — Re-skin del dashboard WCFM + Resumen (scopeado a body.ab-vendor-panel)
 * ============================================================ */
body.ab-vendor-panel{background:#F4EFE6;}
/* Sidebar de WCFM -> verde oscuro de marca (best-effort sobre las clases de WCFM) */
body.ab-vendor-panel .wcfm_menu,body.ab-vendor-panel #wcfm_menu,body.ab-vendor-panel .wcfm-menu,body.ab-vendor-panel .wcfmmp-store-manager-menu{background:var(--ab-verde-900)!important;border:0!important;}
body.ab-vendor-panel .wcfm_menu ul li a,body.ab-vendor-panel #wcfm_menu ul li a{color:#CFE0D5!important;}
body.ab-vendor-panel .wcfm_menu ul li.wcfm-menu-item-active>a,body.ab-vendor-panel #wcfm_menu ul li a.active,body.ab-vendor-panel .wcfm_menu ul li:hover>a{background:rgba(82,183,136,.18)!important;color:#fff!important;}
body.ab-vendor-panel .wcfm-content,body.ab-vendor-panel .wcfm_container{background:#F4EFE6!important;}
/* Resumen inyectado */
.ab-vsum{margin:1.2rem 0;}
.ab-vkpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem;margin-bottom:1.4rem;}
.ab-vkpi{background:#fff;border:1px solid #E9E0D0;border-radius:16px;padding:1.1rem;display:flex;gap:.8rem;align-items:center;}
.ab-vkpi__ic{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0;}
.ab-vkpi strong{display:block;font-size:1.4rem;color:var(--ab-verde-900,#1B4332);font-family:var(--ab-font-display,Georgia),serif;}
.ab-vkpi span{font-size:.8rem;color:#7a8a80;}
.ab-vchart{background:#fff;border:1px solid #E9E0D0;border-radius:16px;padding:1.3rem;margin-bottom:1.4rem;}
.ab-vchart h3{margin:0 0 1rem;color:var(--ab-verde-900,#1B4332);font-size:1.1rem;}
.ab-vbars{display:flex;gap:.6rem;align-items:flex-end;height:140px;}
.ab-vbar{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;gap:.4rem;}
.ab-vbar span{width:70%;min-height:4px;background:linear-gradient(180deg,#52B788,#2D6A4F);border-radius:6px 6px 0 0;transition:height .4s;}
.ab-vbar em{font-style:normal;font-size:.75rem;color:#7a8a80;}
.ab-vchart__total{text-align:right;margin:.8rem 0 0;color:#5a6b62;font-size:.9rem;}
.ab-vatt{background:#fff;border:1px solid #E9E0D0;border-radius:16px;padding:1.3rem;}
.ab-vatt h3{margin:0 0 .8rem;color:var(--ab-verde-900,#1B4332);font-size:1.1rem;}
.ab-vatt__item{display:block;padding:.7rem .9rem;background:#FBEBCB;color:#9A6B12;border-radius:10px;margin-bottom:.5rem;font-weight:600;text-decoration:none;}
.ab-vatt__ok{color:#7a8a80;margin:0;}

/* ============================================================
 * Fase 1b — Gestión de pedidos (Floristeria - Gestion de pedidos.md)
 * ============================================================ */
.ab-gpgrid{display:grid;grid-template-columns:340px minmax(0,1fr);gap:1.3rem;align-items:start;}
.ab-gpfilters{display:flex;gap:.3rem;flex-wrap:wrap;margin-bottom:.8rem;position:sticky;top:0;}
.ab-gpfilter{padding:.35rem .7rem;border-radius:999px;background:#EDE6D8;color:#5a5850;text-decoration:none;font-size:12px;font-weight:600;}
.ab-gpfilter.on{background:var(--ab-verde-700);color:#fff;}
.ab-gprow{display:flex;justify-content:space-between;align-items:center;gap:.7rem;background:#fff;border-left:3px solid transparent;border-radius:12px;padding:.8rem 1rem;margin-bottom:.5rem;text-decoration:none;color:var(--ab-verde-900);border:1px solid #E9E0D0;}
.ab-gprow.on{box-shadow:0 4px 14px rgba(27,67,50,.1);}
.ab-gprow__b strong{display:block;font-size:14px;}.ab-gprow__b span{font-size:12px;color:#7a7870;}
.ab-gprow__r{text-align:right;display:flex;flex-direction:column;gap:.3rem;align-items:flex-end;}
.ab-gprow__r em{font-style:normal;font-weight:700;font-size:.9rem;}
.ab-gpbadge{font-size:11px;font-weight:700;padding:.18rem .55rem;border-radius:999px;}
.ab-gphead h2{font-family:var(--ab-font-display);font-size:26px;color:var(--ab-verde-900);margin:.4rem 0 .2rem;}
.ab-gphead p{color:#7a7870;font-size:13px;margin:0;}
.ab-gphead a{color:var(--ab-terracota);font-weight:600;}
.ab-gptl{display:flex;justify-content:space-between;margin:1.5rem 0;position:relative;}
.ab-gptl__node{flex:1;text-align:center;position:relative;display:flex;flex-direction:column;align-items:center;gap:.3rem;}
.ab-gptl__node::before{content:"";position:absolute;top:16px;left:50%;width:100%;height:3px;background:#E5DECF;z-index:0;}
.ab-gptl__node:last-child::before{display:none;}
.ab-gptl__node.is-done::before{background:var(--ab-verde-400);}
.ab-gptl__dot{width:34px;height:34px;border-radius:50%;background:var(--ab-crema);border:2px solid #E5DECF;display:flex;align-items:center;justify-content:center;color:#fff;z-index:1;font-size:.9rem;}
.ab-gptl__node.is-done .ab-gptl__dot{background:var(--ab-verde-700);border-color:var(--ab-verde-700);}
.ab-gptl__node.is-current .ab-gptl__dot{background:var(--ab-verde-400);border-color:var(--ab-verde-400);animation:abPulse 1.4s infinite;}
.ab-gptl__node em{font-style:normal;font-size:.82rem;font-weight:600;color:var(--ab-verde-900);}
.ab-gptl__node small{color:#9a988f;font-size:.72rem;}
.ab-gptl__node.is-future em,.ab-gptl__node.is-future small{opacity:.55;}
.ab-gpcards{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem;}
.ab-gpcards .ab-card{padding:1.1rem;}
.ab-gpcards p{margin:.2rem 0;color:#5a6b62;font-size:.9rem;}
.ab-gpitems{padding:1.2rem;}
.ab-gpdedi{margin-top:1rem;padding:.9rem;background:var(--ab-crema);border-radius:12px;color:#B08968;font-family:var(--ab-font-display);font-style:italic;}
.ab-gpbar{position:sticky;bottom:0;background:var(--ab-verde-900);border-radius:var(--ab-radius-sm);padding:1rem 1.3rem;display:flex;align-items:center;gap:1rem;margin-top:1.2rem;flex-wrap:wrap;}
.ab-gpbar__hint{flex:1;color:#CFE0D5;font-size:.9rem;}
.ab-gpbar__print{background:rgba(255,255,255,.12);color:#fff;border:0;border-radius:999px;padding:.6rem 1.1rem;font-weight:600;cursor:pointer;}
.ab-gpbar .ab-gpbar__adv{background:var(--ab-verde-400)!important;color:#0f2a1e!important;border:0;border-radius:999px;padding:.7rem 1.4rem;font-weight:700;cursor:pointer;font-size:.95rem;box-shadow:0 3px 10px rgba(0,0,0,.28);}
.ab-gpbar__done{color:#9FE0B8;font-weight:700;}
.ab-gpbar__review{background:#F6E4B8;color:#7a5a12;border-radius:999px;padding:.6rem 1.1rem;font-weight:700;text-decoration:none;}
.ab-rotulo{display:none;}
@media print{
	body.ab-panel-body *{visibility:hidden;}
	.ab-rotulo,.ab-rotulo *{visibility:visible;}
	.ab-rotulo{display:block;position:absolute;left:0;top:0;width:100%;padding:2rem;font-size:16px;}
	.ab-rotulo h2{font-size:22px;margin-bottom:1rem;}
	.ab-rotulo p{margin:.5rem 0;}
}
@media(max-width:820px){.ab-gpgrid{grid-template-columns:1fr;}.ab-gpcards{grid-template-columns:1fr;}}

/* ============================================================
 * Fase 1b · Tarea 5 — Gestión de productos + modal de importación
 * ============================================================ */
.ab-pptop{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;flex-wrap:wrap;margin-bottom:1.4rem;}
.ab-pptop__btns{display:flex;gap:.6rem;}
.ab-ppstats{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap;margin-bottom:1rem;}
.ab-ppchip{background:#fff;border:1px solid #E7E2D8;border-radius:999px;padding:.4rem .9rem;font-size:13px;color:#6B6559;}
.ab-ppchip strong{color:var(--ab-verde-900);font-size:15px;margin-right:.25rem;}
.ab-ppsearch{margin-left:auto;flex:1;min-width:220px;max-width:340px;}
.ab-ppsearch input{width:100%;padding:.55rem .9rem;border:1px solid #E7E2D8;border-radius:10px;background:#fff;font-size:14px;}
.ab-pptable{background:#fff;border:1px solid #E7E2D8;border-radius:var(--ab-radius-sm);overflow:hidden;}
.ab-pptable__head,.ab-pprow{display:grid;grid-template-columns:2.4fr 1.1fr 1fr .9fr .9fr;gap:1rem;align-items:center;padding:.85rem 1.1rem;}
.ab-pptable__head{background:#F6F3EC;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#8A8478;border-bottom:1px solid #E7E2D8;}
.ab-pprow{border-bottom:1px solid #F0EBE1;font-size:14px;}
.ab-pprow:last-child{border-bottom:0;}
.ab-pprow__p{display:flex;align-items:center;gap:.7rem;}
.ab-pprow__p img{width:44px;height:44px;border-radius:8px;object-fit:cover;background:#F0EBE1;}
.ab-pprow__p strong{display:block;color:#2B2B26;}
.ab-pprow__p small{color:#9A9488;font-size:12px;}
.ab-pprow__price{font-family:var(--ab-font-display);font-weight:600;font-size:1.2rem;color:var(--ab-verde-700);}
.ab-ppstock{display:inline-block;padding:.2rem .6rem;border-radius:999px;font-size:12px;font-weight:600;}
.ab-ppstock.green{background:var(--ab-verde-100);color:var(--ab-verde-700);}
.ab-ppstock.amber{background:#FBF0DC;color:#B77E1B;}
.ab-ppstock.red{background:#FBE4E4;color:#C0392B;}
.ab-pprow__act{display:flex;align-items:center;gap:.8rem;}
.ab-pprow__act a{text-decoration:none;font-size:16px;}
.ab-pplink{background:none;border:0;color:var(--ab-terracota);font-size:13px;cursor:pointer;padding:0;text-decoration:underline;}
.ab-ppempty{padding:2.5rem;text-align:center;color:#9A9488;}
/* Drawer nuevo/editar */
.ab-drawer{position:fixed;inset:0;background:rgba(24,20,16,.45);display:none;justify-content:flex-end;z-index:60;}
.ab-drawer.on{display:flex;}
.ab-drawer__box{width:min(460px,92vw);height:100%;background:#fff;padding:2rem;overflow-y:auto;box-shadow:-8px 0 30px rgba(0,0,0,.15);}
.ab-drawer__x{float:right;text-decoration:none;color:#8A8478;font-size:18px;}
.ab-drawer__box h2{margin:0 0 1.2rem;color:var(--ab-verde-900);}
.ab-drawer__box label{display:block;font-size:13px;color:#6B6559;margin-bottom:.9rem;}
.ab-drawer__box input,.ab-drawer__box select,.ab-drawer__box textarea{width:100%;margin-top:.3rem;padding:.55rem .7rem;border:1px solid #E7E2D8;border-radius:9px;font-size:14px;font-family:inherit;}
.ab-drawer__row{display:grid;grid-template-columns:1fr 1fr;gap:.9rem;}
.ab-drawer__actions{display:flex;align-items:center;gap:1rem;margin-top:.5rem;}
/* Modal importación */
.ab-imp-modal{position:fixed;inset:0;background:rgba(24,20,16,.5);display:none;align-items:center;justify-content:center;z-index:70;padding:1rem;}
.ab-imp-modal.on{display:flex;}
.ab-imp-box{background:#fff;border-radius:var(--ab-radius-lg);width:min(640px,96vw);max-height:90vh;overflow-y:auto;padding:2rem;position:relative;}
.ab-imp-close{position:absolute;top:1.2rem;right:1.4rem;text-decoration:none;color:#8A8478;font-size:18px;}
.ab-imp-box h2{margin:0 0 1.2rem;color:var(--ab-verde-900);}
.ab-imp-drop{border:2px dashed #CDBFA6;border-radius:var(--ab-radius-sm);padding:2.4rem 1rem;text-align:center;cursor:pointer;background:var(--ab-crema);transition:.15s;}
.ab-imp-drop.over{border-color:var(--ab-terracota);background:#F4EEE1;}
.ab-imp-drop p{margin:.3rem 0;color:#5C564B;}
.ab-imp-hint{font-size:12px;color:#9A9488;}
.ab-imp-tpl{font-size:13px;margin:1rem 0 .3rem;}
.ab-imp-tpl a{color:var(--ab-terracota);}
.ab-imp-cols{font-size:12px;color:#9A9488;}
.ab-imp-confirm{font-size:14px;color:var(--ab-verde-700);margin:.2rem 0 .4rem;}
.ab-imp-warn{background:#FBF0DC;color:#B77E1B;border-radius:9px;padding:.6rem .9rem;font-size:13px;margin:.6rem 0;}
.ab-imp-tablewrap{max-height:320px;overflow-y:auto;border:1px solid #EEE8DC;border-radius:10px;margin:.8rem 0;}
.ab-imp-table{width:100%;border-collapse:collapse;font-size:13px;}
.ab-imp-table th,.ab-imp-table td{padding:.45rem .7rem;text-align:left;border-bottom:1px solid #F0EBE1;}
.ab-imp-table th{background:#F6F3EC;position:sticky;top:0;color:#8A8478;font-size:11px;text-transform:uppercase;}
.ab-imp-table tr.bad{background:#FCEDED;color:#B94A3B;}
.ab-imp-foot{display:flex;justify-content:space-between;align-items:center;margin-top:.6rem;}
@media(max-width:820px){
	.ab-pptable__head{display:none;}
	.ab-pprow{grid-template-columns:1fr 1fr;gap:.5rem;}
	.ab-pprow__p{grid-column:1/-1;}
}

/* ============================================================
 * Fase 1b · Tarea 6 — Editar perfil público (editor + preview en vivo)
 * ============================================================ */
.ab-perfil-body{background:#F4EFE6;}
.ab-perfil{max-width:1180px;margin:0 auto;padding:1.6rem 1.4rem 3rem;}
.ab-perfil__top{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;flex-wrap:wrap;margin-bottom:1.2rem;}
.ab-perfil__topact{display:flex;align-items:center;gap:1.1rem;}
.ab-perfil__live{color:var(--ab-terracota);text-decoration:none;font-size:14px;font-weight:600;}
.ab-perfil__save{background:#7F9A86;border-color:#7F9A86;color:#fff;cursor:pointer;}
.ab-perfil__save.is-dirty{background:var(--ab-verde-700);border-color:var(--ab-verde-700);}
.ab-perfil__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);background:#fff;border:1px solid #E7E2D8;border-radius:var(--ab-radius-sm);overflow:hidden;}
.ab-perfil__form{padding:1.6rem;border-right:1px solid #ECE6DA;max-height:78vh;overflow-y:auto;}
.ab-perfil__preview{padding:1.6rem;background:#FBF9F4;position:sticky;top:0;align-self:start;max-height:82vh;overflow-y:auto;}
.ab-pfsec{margin-bottom:1.6rem;}
.ab-pfsec h2{font-size:14px;text-transform:uppercase;letter-spacing:.05em;color:#8A8478;margin:0 0 .8rem;}
.ab-pfsec label{display:block;font-size:13px;color:#6B6559;margin-bottom:.8rem;}
.ab-pfsec input[type=text],.ab-pfsec textarea{width:100%;margin-top:.3rem;padding:.55rem .75rem;border:1px solid #E7E2D8;border-radius:9px;font-size:14px;font-family:inherit;background:#fff;}
.ab-pfrow{display:grid;grid-template-columns:1fr 1fr;gap:.9rem;}
.ab-pfcount{text-align:right;font-size:12px;color:#9A9488;margin:.2rem 0 0;}
/* imagen de marca */
.ab-pfcover{aspect-ratio:2/1;border-radius:12px;background:#E9E2D3 center/cover no-repeat;position:relative;cursor:pointer;display:flex;align-items:flex-end;justify-content:center;overflow:hidden;}
.ab-pfcover__lbl{background:rgba(24,20,16,.55);color:#fff;font-size:12px;padding:.35rem .8rem;border-radius:999px;margin-bottom:.6rem;}
.ab-pfhint{font-size:12px;color:#9A9488;margin:.4rem 0 .8rem;}
.ab-pflogo{display:flex;align-items:center;gap:.9rem;}
.ab-pflabel{font-size:13px;color:#6B6559;}
.ab-pflogo__img{width:118px;height:118px;border-radius:14px;background:var(--ab-verde-700) center/cover no-repeat;position:relative;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#fff;}
.ab-pflogo__ini{font-size:34px;font-weight:600;}
.ab-pflogo__img[style*="url"] .ab-pflogo__ini{display:none;}
.ab-pflogo__pencil{position:absolute;right:6px;bottom:6px;background:#fff;color:#5C564B;width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;box-shadow:0 1px 4px rgba(0,0,0,.2);}
/* chips */
.ab-pfchips{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.6rem;}
.ab-pfchip{background:var(--ab-verde-100);color:var(--ab-verde-900);border-radius:999px;padding:.3rem .7rem;font-size:13px;display:inline-flex;align-items:center;gap:.4rem;}
.ab-pfchip button{background:none;border:0;color:var(--ab-verde-700);cursor:pointer;font-size:12px;padding:0;}
.ab-pftagadd{width:100%;padding:.55rem .75rem;border:1px dashed #CDBFA6;border-radius:9px;font-size:14px;background:#fff;}
/* vista previa */
.ab-pfprev__lbl{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:#9A9488;margin:0 0 .8rem;}
.ab-pfprev{border:1px solid #ECE6DA;border-radius:var(--ab-radius-sm);overflow:hidden;background:#fff;}
.ab-pfprev__cover{aspect-ratio:2/1;background:#D8CBB6 center/cover no-repeat;}
.ab-pfprev__id{padding:0 1.4rem 1rem;margin-top:-39px;}
.ab-pfprev__avatar{width:78px;height:78px;border-radius:50%;border:4px solid #fff;background:var(--ab-verde-700) center/cover no-repeat;display:flex;align-items:center;justify-content:center;color:#fff;font-size:26px;font-weight:600;}
.ab-pfprev__avatar[style*="url"] span{display:none;}
.ab-pfprev__name{font-family:var(--ab-font-display);font-size:1.5rem;margin:.7rem 0 .3rem;color:var(--ab-verde-900);display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;}
.ab-pfprev__meta{font-size:13px;color:#6B6559;margin:0 0 .6rem;}
.ab-pfprev__tags{display:flex;flex-wrap:wrap;gap:.4rem;}
.ab-pfprev__tagghost{opacity:.5;}
.ab-pfprev__pills{display:flex;flex-wrap:wrap;gap:.5rem;padding:0 1.4rem 1rem;}
.ab-pfprev__about{padding:1rem 1.4rem 1.4rem;border-top:1px solid #F0EBE1;}
.ab-pfprev__about h4{font-size:1rem;color:var(--ab-verde-900);margin:0 0 .5rem;}
.ab-pfprev__history{font-family:var(--ab-font-display);font-style:italic;font-size:1.2rem;line-height:1.5;color:#4A4A42;margin:0;}
.ab-pfprev__foot{font-size:12px;color:#9A9488;margin:.9rem 0 0;text-align:center;}
/* toast */
.ab-toast{position:fixed;left:50%;bottom:2rem;transform:translateX(-50%) translateY(1rem);background:#2B2B26;color:#fff;padding:.7rem 1.2rem;border-radius:10px;font-size:14px;opacity:0;transition:.3s;z-index:90;}
.ab-toast.on{opacity:1;transform:translateX(-50%) translateY(0);}
@media(max-width:900px){
	.ab-perfil__grid{grid-template-columns:1fr;}
	.ab-perfil__form{border-right:0;border-bottom:1px solid #ECE6DA;max-height:none;}
	.ab-perfil__preview{position:static;max-height:none;}
}

/* ============================================================
 * Fase 1b · Tarea 7 — Pagos y liquidaciones
 * ============================================================ */
.ab-pgflash{border-radius:10px;padding:.7rem 1rem;font-size:14px;margin-bottom:1rem;}
.ab-pgflash.ok{background:var(--ab-verde-100);color:var(--ab-verde-700);}
.ab-pgflash.err{background:#FBE4E4;color:#C0392B;}
.ab-pggrid{display:grid;grid-template-columns:1.15fr 1fr;gap:1.1rem;margin-bottom:1.1rem;}
.ab-pgsaldo{background:linear-gradient(135deg,var(--ab-verde-900),var(--ab-verde-700));border-radius:22px;padding:1.7rem;color:#fff;}
.ab-pgsaldo__lbl{font-size:13px;opacity:.85;margin:0 0 .5rem;}
.ab-pgsaldo__monto{font-family:var(--ab-font-display);font-size:44px;line-height:1;margin:0 0 .6rem;font-weight:600;}
.ab-pgsaldo__dep{font-size:12.5px;opacity:.82;margin:0 0 1.2rem;}
.ab-pgsaldo__btns{display:flex;gap:.7rem;flex-wrap:wrap;}
.ab-pgsaldo__retirar{background:#fff;color:var(--ab-verde-900);border:0;font-weight:600;cursor:pointer;}
.ab-pgsaldo__retirar:disabled{opacity:.5;cursor:not-allowed;}
.ab-pgsaldo__cuenta{background:rgba(255,255,255,.16);color:#fff;border:1px solid rgba(255,255,255,.35);border-radius:999px;padding:.5rem 1rem;font-size:13px;cursor:pointer;}
.ab-pgmes{background:#fff;border:1px solid #E7E2D8;border-radius:var(--ab-radius-sm);padding:1.5rem;}
.ab-pgmes h2{font-size:1.05rem;color:var(--ab-verde-900);margin:0 0 1rem;}
.ab-pgmes__row{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid #F0EBE1;font-size:14px;color:#6B6559;}
.ab-pgmes__row:last-child{border-bottom:0;}
.ab-pgmes__row strong{color:#2B2B26;}
.ab-pgmes__row strong.neg{color:#C0392B;}
.ab-pgmes__row strong.pos{color:var(--ab-verde-700);}
.ab-pgtransito{background:#FBF0D6;color:#8A6D1B;border-radius:12px;padding:.85rem 1.1rem;font-size:14px;margin-bottom:1.3rem;}
.ab-pgtabs{display:flex;gap:.4rem;border-bottom:1px solid #E7E2D8;margin-bottom:1rem;}
.ab-pgtab{background:none;border:0;border-bottom:2px solid transparent;padding:.6rem .9rem;font-size:14px;color:#8A8478;cursor:pointer;}
.ab-pgtab.is-active{color:var(--ab-verde-900);border-bottom-color:var(--ab-verde-900);font-weight:600;}
.ab-pgtable{background:#fff;border:1px solid #E7E2D8;border-radius:var(--ab-radius-sm);overflow:hidden;}
.ab-pgtable__head--liq,.ab-pgrow--liq{display:grid;grid-template-columns:2fr .8fr 1fr 1fr 1fr;gap:1rem;align-items:center;padding:.85rem 1.1rem;}
.ab-pgtable__head{background:#F6F3EC;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#8A8478;border-bottom:1px solid #E7E2D8;}
.ab-pgrow{border-bottom:1px solid #F0EBE1;font-size:14px;}
.ab-pgrow:last-child{border-bottom:0;}
.ab-pgrow small{display:block;color:#9A9488;font-size:12px;}
.ab-pgneto{font-family:var(--ab-font-display);font-size:1.3rem;color:var(--ab-verde-700);font-weight:600;}
.ab-pgtx{background:#fff;border:1px solid #E7E2D8;border-radius:var(--ab-radius-sm);overflow:hidden;}
.ab-pgtxrow{display:flex;align-items:center;gap:.9rem;padding:.85rem 1.1rem;border-bottom:1px solid #F0EBE1;}
.ab-pgtxrow:last-child{border-bottom:0;}
.ab-pgtxico{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:15px;flex-shrink:0;}
.ab-pgtxico.venta{background:var(--ab-verde-100);color:var(--ab-verde-700);}
.ab-pgtxico.retiro{background:#EEE9F5;color:#6A4CA0;} /* morado: mandato de la spec */
.ab-pgtxico.comision{background:#F6E7DE;color:var(--ab-terracota);}
.ab-pgtxbody{flex:1;font-size:14px;}
.ab-pgtxbody small{display:block;color:#9A9488;font-size:12px;}
.ab-pgtxamt{font-weight:600;font-size:15px;}
.ab-pgtxamt.pos{color:var(--ab-verde-700);}
.ab-pgtxamt.neg{color:#6A4CA0;}
/* modales de pago (reusa .ab-imp-modal/.ab-imp-box) */
.ab-pgfield{display:block;font-size:13px;color:#6B6559;margin-bottom:1rem;}
.ab-pgfield input,.ab-pgfield select{width:100%;margin-top:.3rem;padding:.6rem .75rem;border:1px solid #E7E2D8;border-radius:9px;font-size:15px;font-family:inherit;}
.ab-pgchips{display:flex;gap:.5rem;margin-bottom:.9rem;}
.ab-pgquick{background:#F4EEE1;border:1px solid #E7E2D8;border-radius:999px;padding:.4rem .9rem;font-size:13px;cursor:pointer;}
.ab-pgnote{font-size:12.5px;color:#9A9488;margin:0 0 1rem;}
@media(max-width:820px){
	.ab-pggrid{grid-template-columns:1fr;}
	.ab-pgtable__head--liq{display:none;}
	.ab-pgrow--liq{grid-template-columns:1fr 1fr;}
	.ab-pgtable,.ab-pgtx{overflow-x:auto;}
}

/* ============================================================
 * Fase 1c · Tarea 2 — Landing "Bodas y eventos" (acento morado)
 * ============================================================ */
.ab-eventos{max-width:var(--ab-maxw);margin:0 auto;padding:0 1.4rem 4rem;}
/* Hero */
.ab-ev-hero{position:relative;padding:2.5rem 0 1.5rem;overflow:hidden;}
.ab-ev-hero__circle{position:absolute;top:-80px;right:-60px;width:340px;height:340px;border-radius:50%;background:var(--ab-morado-50);z-index:0;}
.ab-ev-hero__body{position:relative;z-index:1;max-width:680px;}
.ab-breadcrumb{font-size:.85rem;color:#8a8478;margin-bottom:1rem;}
.ab-breadcrumb a{color:#8a8478;}
.ab-ev-hero__kicker{color:var(--ab-morado-700)!important;font-size:1.5rem;display:block;margin-bottom:.2rem;}
.ab-ev-hero__h1{font-family:var(--ab-font-display);font-size:clamp(34px,5vw,56px);line-height:1.08;color:var(--ab-morado-900);margin:0 0 1rem;}
.ab-ev-hero__p{font-size:1.05rem;color:#5a5449;max-width:600px;margin:0 0 1.4rem;}
.ab-ev-hero__pills{display:flex;flex-wrap:wrap;gap:.6rem;}
.ab-ev-pill{background:#fff;border:1px solid var(--ab-morado-100);border-radius:999px;padding:.45rem 1rem;font-size:.9rem;color:var(--ab-morado-900);}
/* Filtros */
.ab-ev-filtros{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin:1.5rem 0;padding:1rem 1.2rem;background:#fff;border:1px solid var(--ab-morado-100);border-radius:var(--ab-radius-sm);}
.ab-ev-filtro{font-size:.8rem;color:#8a8478;display:flex;flex-direction:column;gap:.3rem;}
.ab-ev-filtro select{padding:.5rem .8rem;border:1px solid #E5DECF;border-radius:10px;font-family:inherit;font-size:.95rem;background:#fff;min-width:180px;}
.ab-ev-tipos{display:flex;gap:.35rem;background:var(--ab-morado-100);padding:.25rem;border-radius:999px;}
.ab-ev-tipo{background:none;border:0;padding:.45rem 1rem;border-radius:999px;font-size:.9rem;font-weight:600;color:var(--ab-morado-900);cursor:pointer;}
.ab-ev-tipo.is-active{background:var(--ab-morado-700);color:#fff;}
.ab-ev-count{margin-left:auto;font-size:.9rem;color:#8a8478;}
.ab-ev-count strong{color:var(--ab-morado-900);}
/* Grid */
.ab-ev-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.4rem;}
.ab-ev-card{background:#fff;border:1px solid #F0E8DA;border-top:4px solid var(--ab-morado-700);border-radius:var(--ab-radius-sm);overflow:hidden;display:flex;flex-direction:column;box-shadow:0 10px 30px rgba(90,76,122,.07);}
.ab-ev-card__media{position:relative;display:block;aspect-ratio:16/9;background:var(--ab-morado-50);overflow:hidden;}
.ab-ev-card__media img{width:100%;height:100%;object-fit:cover;}
.ab-ev-card__ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#a99fbb;font-size:.85rem;}
.ab-ev-card__badge{position:absolute;top:.7rem;left:.7rem;background:rgba(255,255,255,.92);color:var(--ab-morado-900);font-size:.75rem;font-weight:600;padding:.25rem .7rem;border-radius:999px;}
.ab-ev-card__body{padding:1.1rem 1.2rem 1.3rem;display:flex;flex-direction:column;flex:1;}
.ab-ev-card__vendor{font-size:.8rem;color:#8a8478;margin:0 0 .3rem;}
.ab-ev-card__name{font-family:var(--ab-font-display);font-size:22px;line-height:1.15;margin:0 0 .5rem;}
.ab-ev-card__name a{color:var(--ab-morado-900);}
.ab-ev-card__desc{font-size:.9rem;color:#5a5449;margin:0 0 1rem;flex:1;}
.ab-ev-card__meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;}
.ab-ev-card__price{font-family:var(--ab-font-display);font-size:1.15rem;font-weight:600;color:var(--ab-morado-700);}
.ab-ev-card__rating{font-size:.85rem;color:#8a8478;}
.ab-ev-card__actions{display:flex;gap:.6rem;}
.ab-ev-card__ver{border-color:var(--ab-morado-700);color:var(--ab-morado-900);flex:1;text-align:center;}
.ab-ev-card__cotizar{background:var(--ab-morado-700);color:#fff;border:1.5px solid var(--ab-morado-700);flex:1;text-align:center;}
.ab-ev-card__cotizar:hover{background:var(--ab-morado-900);border-color:var(--ab-morado-900);}
.ab-ev-noresult{grid-column:1/-1;text-align:center;color:#8a8478;padding:2rem;}
/* Cómo funciona */
.ab-ev-como{background:var(--ab-morado-50);border-radius:var(--ab-radius-lg);padding:2.4rem 1.6rem;margin:3rem 0;}
.ab-ev-como__title{font-family:var(--ab-font-display);text-align:center;color:var(--ab-morado-900);font-size:1.8rem;margin:0 0 1.8rem;}
.ab-ev-pasos{display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem;}
.ab-ev-paso{text-align:center;}
.ab-ev-paso__num{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:#fff;color:var(--ab-morado-700);font-family:var(--ab-font-display);font-size:1.3rem;font-weight:600;margin-bottom:.8rem;}
.ab-ev-paso h3{font-family:var(--ab-font-display);font-size:1.15rem;color:var(--ab-morado-900);margin:0 0 .4rem;}
.ab-ev-paso p{font-size:.9rem;color:#5a5449;margin:0;}
/* CTA final */
.ab-ev-cta{background:linear-gradient(135deg,var(--ab-verde-900),var(--ab-verde-700));border-radius:var(--ab-radius-lg);padding:2.8rem 1.6rem;text-align:center;color:#fff;}
.ab-ev-cta h2{font-family:var(--ab-font-display);font-size:1.9rem;color:#fff;margin:0 0 .6rem;}
.ab-ev-cta p{max-width:520px;margin:0 auto 1.5rem;opacity:.9;}
.ab-ev-cta__btn{background:#fff;color:var(--ab-verde-900);border:0;}
@media(max-width:820px){
	.ab-ev-pasos{grid-template-columns:1fr 1fr;}
	.ab-ev-count{margin-left:0;width:100%;}
}
@media(max-width:560px){.ab-ev-pasos{grid-template-columns:1fr;}}

/* ============================================================
 * Fase 1c · Tarea 3 — Detalle de Servicio
 * ============================================================ */
.ab-svc{max-width:1100px;margin:0 auto;padding:0 1.4rem 4rem;}
.ab-svc .ab-breadcrumb{padding:1.2rem 0;}
/* Hero */
.ab-svc-hero{position:relative;aspect-ratio:21/9;min-height:240px;border-radius:var(--ab-radius-lg);background:var(--ab-morado-50) center/cover no-repeat;overflow:hidden;display:flex;align-items:flex-end;}
.ab-svc-hero__badge,.ab-svc-hero__pf{position:absolute;top:1rem;font-size:.75rem;font-weight:600;padding:.3rem .8rem;border-radius:999px;background:rgba(255,255,255,.92);color:var(--ab-morado-900);}
.ab-svc-hero__badge{left:1rem;}
.ab-svc-hero__pf{right:1rem;}
.ab-svc-hero__title{position:relative;padding:1.6rem;color:#fff;}
.ab-svc-hero__cat{font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;opacity:.9;}
.ab-svc-hero__title h1{font-family:var(--ab-font-display);font-size:clamp(28px,4vw,44px);color:#fff;margin:.2rem 0 0;line-height:1.1;}
/* Grid */
.ab-svc-grid{display:grid;grid-template-columns:minmax(0,1fr) 372px;gap:2.4rem;margin-top:2rem;align-items:start;}
.ab-svc-vendor{display:flex;align-items:center;gap:.8rem;padding:.9rem 1rem;background:#fff;border:1px solid var(--ab-morado-100);border-radius:var(--ab-radius-sm);margin-bottom:1.4rem;}
.ab-svc-vendor__avatar{width:46px;height:46px;border-radius:50%;background:var(--ab-morado-700) center/cover no-repeat;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;flex-shrink:0;}
.ab-svc-vendor__body strong{display:block;color:var(--ab-morado-900);}
.ab-svc-vendor__body small{color:#8a8478;font-size:.82rem;}
.ab-svc-intro{font-family:var(--ab-font-display);font-size:18px;line-height:1.5;color:#4a4438;margin:0 0 2rem;}
.ab-svc-sec{margin-bottom:2.2rem;}
.ab-svc-sec h2{font-family:var(--ab-font-display);font-size:1.5rem;color:var(--ab-morado-900);margin:0 0 1rem;}
.ab-svc-incluye{display:grid;grid-template-columns:1fr 1fr;gap:.6rem 1.2rem;}
.ab-svc-check{font-size:.95rem;color:#4a4438;}
.ab-svc-pasos{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;}
.ab-svc-paso{text-align:center;background:#fff;border:1px solid #F0E8DA;border-radius:12px;padding:1rem .6rem;}
.ab-svc-paso__n{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:var(--ab-morado-50);color:var(--ab-morado-700);font-family:var(--ab-font-display);font-weight:600;margin-bottom:.5rem;}
.ab-svc-paso p{margin:0;font-size:.9rem;color:#4a4438;}
/* Paquetes */
.ab-svc-paquetes{display:flex;flex-direction:column;gap:1rem;}
.ab-svc-paquete{position:relative;background:#fff;border:1px solid #F0E8DA;border-radius:var(--ab-radius-sm);padding:1.3rem 1.4rem;}
.ab-svc-paquete.is-dest{border:1.5px solid var(--ab-morado-700);}
.ab-svc-paquete__badge{position:absolute;top:-11px;left:1.4rem;background:var(--ab-morado-700);color:#fff;font-size:.72rem;font-weight:600;padding:.25rem .8rem;border-radius:999px;}
.ab-svc-paquete h3{font-family:var(--ab-font-display);font-size:1.3rem;color:var(--ab-morado-900);margin:0 0 .2rem;}
.ab-svc-paquete__precio{font-weight:600;color:var(--ab-verde-700);margin:0 0 .3rem;}
.ab-svc-paquete__tag{font-size:.9rem;color:#8a8478;margin:0 0 .7rem;}
.ab-svc-paquete__chips{display:flex;flex-wrap:wrap;gap:.4rem;}
.ab-svc-paquete__chips span{background:var(--ab-morado-100);color:var(--ab-morado-900);border-radius:999px;padding:.25rem .7rem;font-size:.8rem;}
.ab-svc-nota{font-size:.85rem;color:#8a8478;margin:.9rem 0 0;font-style:italic;}
/* Portafolio */
.ab-svc-portafolio{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;}
.ab-svc-pf{aspect-ratio:1;border-radius:12px;overflow:hidden;background:var(--ab-morado-50);}
.ab-svc-pf img{width:100%;height:100%;object-fit:cover;}
.ab-svc-pf--ph{display:flex;align-items:center;justify-content:center;color:#a99fbb;font-size:.8rem;}
/* FAQ */
.ab-svc-faq__item{border-bottom:1px solid #F0E8DA;}
.ab-svc-faq__q{width:100%;display:flex;justify-content:space-between;align-items:center;background:none;border:0;padding:1rem 0;font-size:1rem;font-weight:600;color:var(--ab-morado-900);cursor:pointer;text-align:left;}
.ab-svc-faq__q span{color:var(--ab-morado-700);font-size:1.3rem;transition:transform .2s;}
.ab-svc-faq__item.is-open .ab-svc-faq__q span{transform:rotate(45deg);}
.ab-svc-faq__a{max-height:0;overflow:hidden;transition:max-height .25s ease;}
.ab-svc-faq__item.is-open .ab-svc-faq__a{max-height:200px;}
.ab-svc-faq__a p{margin:0 0 1rem;color:#5a5449;font-size:.95rem;}
/* Columna de compra */
.ab-svc-buy{position:sticky;top:90px;background:#fff;border:1px solid #F0E8DA;border-top:4px solid var(--ab-morado-700);border-radius:var(--ab-radius-sm);padding:1.6rem;box-shadow:0 12px 34px rgba(90,76,122,.1);}
.ab-svc-buy__title{font-family:var(--ab-font-display);font-size:1.3rem;color:var(--ab-morado-900);margin:0 0 .3rem;}
.ab-svc-buy__precio{font-family:var(--ab-font-display);font-size:2rem;font-weight:600;color:var(--ab-verde-700);margin:0 0 .4rem;}
.ab-svc-buy__nota{font-size:.85rem;color:#8a8478;margin:0 0 1.1rem;}
.ab-svc-buy__trust{list-style:none;padding:0;margin:0 0 1.2rem;display:flex;flex-direction:column;gap:.5rem;}
.ab-svc-buy__trust li{font-size:.9rem;color:#4a4438;}
.ab-svc-buy__cta{display:block;text-align:center;width:100%;margin-bottom:.6rem;}
.ab-svc-buy__wa{display:block;text-align:center;width:100%;background:#fff;border:1.5px solid var(--ab-morado-700);color:var(--ab-morado-900);}
.ab-svc-buy__fine{font-size:.8rem;color:#8a8478;text-align:center;margin:.8rem 0 0;}
/* Otros */
.ab-svc-otros{margin-top:3rem;}
.ab-svc-otros>h2{font-family:var(--ab-font-display);font-size:1.6rem;color:var(--ab-morado-900);margin:0 0 1.2rem;}
@media(max-width:900px){
	.ab-svc-grid{grid-template-columns:1fr;}
	.ab-svc-buy{position:static;}
	.ab-svc-pasos{grid-template-columns:1fr 1fr;}
}
@media(max-width:560px){.ab-svc-incluye{grid-template-columns:1fr;}.ab-svc-portafolio{grid-template-columns:1fr 1fr;}}

/* ============================================================
 * Fase 1c · Tarea 4 — Wizard "Solicitar cotización"
 * ============================================================ */
.ab-wiz-body{background:var(--ab-crema);margin:0;}
.ab-wiz-header{display:flex;justify-content:space-between;align-items:center;padding:1.1rem 1.6rem;border-bottom:1px solid #EEE6D8;background:#fff;}
.ab-wiz-logo{font-family:var(--ab-font-display);font-size:1.3rem;font-weight:600;color:var(--ab-verde-900);}
.ab-wiz-salir{color:#8a8478;font-size:.9rem;}
.ab-wiz{max-width:720px;margin:0 auto;padding:1.8rem 1.4rem 4rem;}
/* Contexto del vendedor */
.ab-wiz-ctx{display:flex;align-items:center;gap:.9rem;padding:1rem 1.2rem;background:#fff;border:1px solid var(--ab-morado-100);border-radius:var(--ab-radius-sm);margin-bottom:1.4rem;}
.ab-wiz-ctx__avatar{width:44px;height:44px;border-radius:50%;background:var(--ab-morado-700);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;flex-shrink:0;}
.ab-wiz-ctx__body{flex:1;display:flex;flex-direction:column;}
.ab-wiz-ctx__kicker{font-family:var(--ab-font-accent);color:var(--ab-morado-700);font-size:1.15rem;}
.ab-wiz-ctx__name{font-family:var(--ab-font-display);font-size:17px;color:var(--ab-verde-900);}
.ab-wiz-ctx__free{font-size:.8rem;color:#8a8478;text-align:right;max-width:130px;}
/* Progreso */
.ab-wiz-prog{list-style:none;display:flex;gap:.5rem;padding:0;margin:0 0 1.6rem;}
.ab-wiz-prog__seg{flex:1;text-align:center;}
.ab-wiz-prog__seg span{display:block;height:5px;border-radius:999px;background:#EAE1D2;margin-bottom:.4rem;}
.ab-wiz-prog__seg.is-active span{background:var(--ab-verde-700);}
.ab-wiz-prog__seg em{font-style:normal;font-size:.75rem;color:#9a9488;}
.ab-wiz-prog__seg.is-active em{color:var(--ab-verde-900);font-weight:600;}
/* Card */
.ab-wiz-card{background:#fff;border:1px solid #F0E8DA;border-radius:var(--ab-radius-lg);padding:1.8rem;min-height:300px;box-shadow:var(--ab-shadow);}
.ab-wiz-h{font-family:var(--ab-font-display);font-size:1.7rem;color:var(--ab-verde-900);margin:0 0 .3rem;}
.ab-wiz-sub{color:#7a8a80;margin:0 0 1.4rem;}
.ab-wiz-eventos{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;}
.ab-wiz-evento{display:flex;flex-direction:column;align-items:center;gap:.4rem;padding:1.2rem .6rem;background:#fff;border:1.5px solid #EAE1D2;border-radius:var(--ab-radius-sm);cursor:pointer;font-size:.95rem;font-weight:600;color:var(--ab-verde-900);transition:.15s;}
.ab-wiz-evento:hover{border-color:var(--ab-morado-700);}
.ab-wiz-evento.is-active{border-color:var(--ab-morado-700);background:var(--ab-morado-50);}
.ab-wiz-evento__emo{font-size:1.8rem;}
.ab-wiz-field{display:block;font-size:.88rem;font-weight:600;color:var(--ab-verde-900);margin-bottom:1rem;}
.ab-wiz-field input,.ab-wiz-field textarea{width:100%;margin-top:.35rem;padding:.65rem .85rem;border:1px solid #E5DECF;border-radius:12px;font-family:inherit;font-size:.95rem;font-weight:400;background:#fff;}
.ab-wiz-label{font-size:.82rem;font-weight:600;color:#8a8478;text-transform:uppercase;letter-spacing:.04em;margin:.2rem 0 .6rem;}
.ab-wiz-chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.2rem;}
.ab-wiz-chip{background:#fff;border:1.5px solid #EAE1D2;border-radius:999px;padding:.45rem 1rem;font-size:.9rem;cursor:pointer;color:var(--ab-verde-900);}
.ab-wiz-chip.is-active{background:var(--ab-morado-700);border-color:var(--ab-morado-700);color:#fff;}
/* Resumen */
.ab-wiz-resumen{margin-top:1.2rem;background:var(--ab-crema);border-radius:12px;padding:.8rem 1rem;}
.ab-wiz-resumen div{display:flex;justify-content:space-between;padding:.3rem 0;font-size:.9rem;border-bottom:1px solid #EEE6D8;}
.ab-wiz-resumen div:last-child{border-bottom:0;}
.ab-wiz-resumen span{color:#8a8478;}
.ab-wiz-resumen strong{color:var(--ab-verde-900);}
.ab-wiz-gate{margin-top:1rem;background:#FBF0D6;color:#8A6D1B;border-radius:10px;padding:.8rem 1rem;font-size:.9rem;}
.ab-wiz-gate.is-flash{animation:abwizflash .5s;}
.ab-wiz-gate__login{color:var(--ab-terracota);font-weight:600;text-decoration:underline;}
@keyframes abwizflash{0%,100%{transform:translateX(0);}25%{transform:translateX(-4px);}75%{transform:translateX(4px);}}
.ab-wiz-trust{font-size:.82rem;color:#9a9488;text-align:center;margin:1.4rem 0 0;}
.ab-wiz-nav{display:flex;justify-content:space-between;align-items:center;margin-top:1.2rem;}
.ab-wiz-back{background:none;border:0;color:var(--ab-verde-700);font-weight:600;cursor:pointer;font-size:.95rem;}
.ab-wiz-next{margin-left:auto;}
.ab-wiz-next:disabled{opacity:.45;cursor:not-allowed;}
/* Confirmación */
.ab-wiz-done{text-align:center;padding:2rem 1rem;}
.ab-wiz-check{width:72px;height:72px;border-radius:50%;background:var(--ab-verde-100);color:var(--ab-verde-700);font-size:2.2rem;display:flex;align-items:center;justify-content:center;margin:0 auto 1.2rem;animation:abwizpop .4s ease;}
@keyframes abwizpop{0%{transform:scale(.4);opacity:0;}100%{transform:scale(1);opacity:1;}}
.ab-wiz-done h1{font-family:var(--ab-font-display);font-size:1.9rem;color:var(--ab-verde-900);margin:0 0 .6rem;}
.ab-wiz-done>p{color:#5a5449;max-width:480px;margin:0 auto 1.6rem;}
.ab-wiz-refcard{background:#fff;border:1px solid #F0E8DA;border-radius:var(--ab-radius-sm);padding:1.4rem;max-width:420px;margin:0 auto 1.6rem;}
.ab-wiz-reflbl{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:#9a9488;}
.ab-wiz-ref{display:block;font-family:var(--ab-font-display);font-size:1.6rem;font-weight:600;color:var(--ab-morado-700);margin:.2rem 0 .6rem;}
.ab-wiz-done-btns{display:flex;gap:.7rem;justify-content:center;flex-wrap:wrap;}
@media(max-width:560px){.ab-wiz-eventos{grid-template-columns:1fr 1fr;}.ab-wiz-ctx__free{display:none;}}

/* ============================================================
 * Fase 1c · Tarea 5 — Bandeja de cotizaciones (floristería)
 * ============================================================ */
.ab-cotbadge{font-style:normal;background:var(--ab-terracota);color:#fff;border-radius:999px;font-size:.7rem;padding:.05rem .4rem;margin-left:.3rem;}
.ab-cotgrid{display:grid;grid-template-columns:330px minmax(0,1fr);gap:1.4rem;align-items:start;}
/* Bandeja */
.ab-cotlist{background:#fff;border:1px solid #E7E2D8;border-radius:var(--ab-radius-sm);overflow:hidden;}
.ab-cotfilters{display:flex;gap:.3rem;padding:.8rem;border-bottom:1px solid #F0EBE1;flex-wrap:wrap;}
.ab-cotfilter{font-size:.82rem;padding:.35rem .8rem;border-radius:999px;color:#6B6559;background:#F4EEE1;}
.ab-cotfilter.is-active{background:var(--ab-verde-700);color:#fff;}
.ab-cotrow{display:block;padding:.85rem 1rem;border-bottom:1px solid #F0EBE1;border-left:3px solid transparent;}
.ab-cotrow:last-child{border-bottom:0;}
.ab-cotrow.is-active{background:#fff;}
.ab-cotrow.is-active.is-terra{border-left-color:var(--ab-terracota);}
.ab-cotrow.is-active.is-morado{border-left-color:var(--ab-morado-700);}
.ab-cotrow.is-active.is-verde{border-left-color:var(--ab-verde-700);}
.ab-cotrow.is-active.is-gris{border-left-color:#9a9488;}
.ab-cottop{display:flex;justify-content:space-between;align-items:center;margin-bottom:.35rem;}
.ab-cottop small{color:#9a9488;font-size:.72rem;}
.ab-cotbdg{font-size:.68rem;font-weight:600;padding:.15rem .55rem;border-radius:999px;}
.ab-cotbdg.is-terra{background:#F6E7DE;color:var(--ab-terracota);}
.ab-cotbdg.is-morado{background:var(--ab-morado-100);color:var(--ab-morado-900);}
.ab-cotbdg.is-verde{background:var(--ab-verde-100);color:var(--ab-verde-700);}
.ab-cotbdg.is-gris{background:#EEE9E1;color:#8a8478;}
.ab-cottitle{font-family:var(--ab-font-display);font-size:15px;color:var(--ab-verde-900);display:block;}
.ab-cotcli{font-size:.85rem;color:#5a5449;display:block;}
.ab-cotmeta{font-size:.78rem;color:#9a9488;display:block;margin-top:.2rem;}
/* Detalle */
.ab-cotdetail{background:#fff;border:1px solid #E7E2D8;border-radius:var(--ab-radius-sm);padding:1.6rem;min-height:320px;}
.ab-cotdet__head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap;margin-bottom:1.2rem;}
.ab-cotdet__head h2{font-family:var(--ab-font-display);font-size:1.4rem;color:var(--ab-verde-900);margin:.4rem 0 .2rem;}
.ab-cotdet__sub{color:#8a8478;font-size:.85rem;margin:0;}
.ab-cotcard{background:var(--ab-crema);border-radius:12px;padding:1.2rem;margin-bottom:1.4rem;}
.ab-cotcard h3{font-size:1rem;color:var(--ab-verde-900);margin:0 0 .9rem;}
.ab-cotdatos{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.8rem;}
.ab-cotdatos div{display:flex;flex-direction:column;}
.ab-cotdatos span{font-size:.75rem;color:#9a9488;}
.ab-cotdatos strong{color:#2B2B26;font-size:.92rem;}
.ab-cotbrief{margin-top:1rem;padding-top:.9rem;border-top:1px solid #EAE1D2;}
.ab-cotbrief span{font-size:.75rem;color:#9a9488;}
.ab-cotbrief p{margin:.3rem 0 0;color:#4a4438;font-size:.92rem;}
/* Armador */
.ab-armador h3{font-size:1.05rem;color:var(--ab-verde-900);margin:0 0 .8rem;}
.ab-armtabla{width:100%;border-collapse:collapse;margin-bottom:.6rem;}
.ab-armtabla th{text-align:left;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:#9a9488;padding:.3rem .4rem;}
.ab-armtabla td{padding:.3rem .4rem;}
.ab-armtabla input{width:100%;padding:.5rem .6rem;border:1px solid #E5DECF;border-radius:9px;font-family:inherit;font-size:.9rem;}
.ab-arm-cant{max-width:64px;}
.ab-arm-del{background:none;border:0;color:#C0392B;cursor:pointer;font-size:1rem;}
.ab-armgrid{display:grid;grid-template-columns:1fr 280px;gap:1.4rem;margin-top:1.2rem;align-items:start;}
.ab-arm-lbl{font-size:.82rem;font-weight:600;color:var(--ab-verde-900);display:block;margin:.6rem 0 .5rem;}
.ab-armchips{display:flex;gap:.5rem;margin-bottom:.4rem;}
.ab-armchip{background:#fff;border:1.5px solid #EAE1D2;border-radius:999px;padding:.4rem 1rem;font-size:.88rem;cursor:pointer;color:var(--ab-verde-900);}
.ab-armchip.is-active{background:var(--ab-morado-700);border-color:var(--ab-morado-700);color:#fff;}
.ab-armleft textarea{width:100%;margin-top:.35rem;padding:.6rem .75rem;border:1px solid #E5DECF;border-radius:10px;font-family:inherit;font-size:.9rem;}
.ab-armresumen{background:var(--ab-crema);border-radius:12px;padding:1.1rem 1.2rem;}
.ab-armres__row{display:flex;justify-content:space-between;padding:.35rem 0;font-size:.9rem;color:#6B6559;border-bottom:1px solid #EAE1D2;}
.ab-armres__row strong{color:#2B2B26;}
.ab-armres__row .neg{color:#C0392B;}
.ab-armres__neto strong{font-family:var(--ab-font-display);font-size:1.25rem;color:var(--ab-verde-700);}
.ab-armres__total{border-bottom:0;padding-top:.6rem;}
.ab-armres__total strong{font-family:var(--ab-font-display);font-size:1.5rem;color:var(--ab-verde-900);}
.ab-armacts{display:flex;justify-content:space-between;align-items:center;margin-top:1.4rem;gap:1rem;flex-wrap:wrap;}
.ab-armrechazar{background:#fff;border:1.5px solid #E4B4AC;color:#C0392B;}
.ab-armenviar{background:var(--ab-verde-700);color:#fff;border:0;}
.ab-armenviar:disabled{opacity:.45;cursor:not-allowed;}
/* Card de estado */
.ab-cotestado{display:flex;align-items:center;gap:1rem;padding:1.4rem;border-radius:12px;}
.ab-cotestado.is-morado{background:var(--ab-morado-50);}
.ab-cotestado.is-verde{background:var(--ab-verde-100);}
.ab-cotestado__ico{width:48px;height:48px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;font-size:1.4rem;flex-shrink:0;}
.ab-cotestado.is-morado .ab-cotestado__ico{color:var(--ab-morado-700);}
.ab-cotestado.is-verde .ab-cotestado__ico{color:var(--ab-verde-700);}
.ab-cotestado__body{flex:1;}
.ab-cotestado__body strong{display:block;color:var(--ab-verde-900);}
.ab-cotestado__body p{margin:.2rem 0 0;font-size:.88rem;color:#5a5449;}
.ab-cotestado__total{font-family:var(--ab-font-display);font-size:1.4rem;font-weight:600;color:var(--ab-verde-900);}
@media(max-width:900px){.ab-cotgrid{grid-template-columns:1fr;}.ab-armgrid{grid-template-columns:1fr;}}

/* ============================================================
 * Fase 1c · Tarea 6 — Mis cotizaciones (cliente)
 * ============================================================ */
.ab-mcot{max-width:820px;margin:0 auto;padding:0 1.4rem 4rem;}
.ab-mcot .ab-breadcrumb{padding:1.2rem 0;}
.ab-mcot__h1{font-family:var(--ab-font-display);font-size:2rem;color:var(--ab-verde-900);margin:0 0 .3rem;}
.ab-mcot__sub{color:#7a8a80;margin:0 0 1.6rem;}
/* Badges por estado */
.ab-mcot-badge{font-size:.72rem;font-weight:600;padding:.2rem .7rem;border-radius:999px;}
.ab-mcot-badge.is-amber{background:#F8EEDD;color:#9C6B2E;}
.ab-mcot-badge.is-green{background:var(--ab-verde-100);color:var(--ab-verde-700);}
.ab-mcot-badge.is-purple{background:#EAE3F0;color:#6A4C8C;}
.ab-mcot-badge.is-grey{background:#F0EBE2;color:#9C8E7C;}
/* Lista */
.ab-mcot-list{display:flex;flex-direction:column;gap:.9rem;}
.ab-mcot-card{display:flex;align-items:center;gap:1rem;background:#fff;border:1px solid #F0E8DA;border-radius:var(--ab-radius-sm);padding:1rem 1.2rem;box-shadow:0 8px 24px rgba(27,67,50,.05);}
.ab-mcot-card__av{width:46px;height:46px;border-radius:50%;background:var(--ab-morado-700);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;flex-shrink:0;}
.ab-mcot-card__body{flex:1;}
.ab-mcot-card__top{display:flex;align-items:center;gap:.7rem;margin-bottom:.2rem;}
.ab-mcot-card__top strong{font-family:var(--ab-font-display);font-size:1.15rem;color:var(--ab-verde-900);}
.ab-mcot-card__meta{font-size:.85rem;color:#8a8478;}
.ab-mcot-card__total{font-weight:600;color:var(--ab-verde-900);white-space:nowrap;}
/* Detalle */
.ab-mcot-back{color:var(--ab-verde-700);font-weight:600;font-size:.9rem;display:inline-block;margin-bottom:1rem;}
.ab-mcot-det__head{display:flex;align-items:center;gap:1rem;margin-bottom:1.4rem;}
.ab-mcot-det__head h1{font-family:var(--ab-font-display);font-size:1.6rem;color:var(--ab-verde-900);margin:0;}
.ab-mcot-det__head p{margin:0;color:#8a8478;font-size:.9rem;}
.ab-mcot-det__head .ab-mcot-badge{margin-left:auto;}
.ab-mcot-solicitud{background:var(--ab-crema);border-radius:var(--ab-radius-sm);padding:1.2rem;margin-bottom:1.4rem;}
.ab-mcot-solicitud h3{font-size:1rem;color:var(--ab-verde-900);margin:0 0 .9rem;}
/* Bloques por estado */
.ab-mcot-block{background:#fff;border:1px solid #F0E8DA;border-radius:var(--ab-radius-sm);padding:1.6rem;}
.ab-mcot-block.is-amber{background:#FBF4E6;border-color:#EAD9B8;text-align:center;}
.ab-mcot-block.is-grey{background:#F4F1EA;color:#6b6559;}
.ab-mcot-block__ico{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;background:#fff;font-size:1.6rem;margin-bottom:.8rem;}
.ab-mcot-block h2{font-family:var(--ab-font-display);font-size:1.5rem;color:var(--ab-verde-900);margin:0 0 .5rem;}
.ab-mcot-block.is-amber .ab-mcot-block__ico{color:#B77E1B;}
.ab-mcot-prop{border-top:4px solid var(--ab-morado-700);}
.ab-mcot-prop__nota{font-family:var(--ab-font-display);font-style:italic;font-size:1.1rem;color:#4a4438;margin:0 0 1.2rem;}
.ab-mcot-items{border-top:1px solid #F0EBE1;}
.ab-mcot-item{display:flex;justify-content:space-between;padding:.6rem 0;border-bottom:1px solid #F0EBE1;font-size:.95rem;}
.ab-mcot-item strong{color:var(--ab-verde-900);}
.ab-mcot-tot{margin:1rem 0;}
.ab-mcot-tot div{display:flex;justify-content:space-between;padding:.3rem 0;color:#5a6b62;font-size:.92rem;}
.ab-mcot-tot div:first-child strong{font-family:var(--ab-font-display);font-size:1.2rem;color:var(--ab-verde-900);}
.ab-mcot-vig{font-size:.82rem;color:#9a9488;margin:0 0 1rem;}
.ab-mcot-acts{display:flex;gap:.7rem;flex-wrap:wrap;}
.ab-mcot-accept{width:100%;text-align:center;}
.ab-mcot-fine{font-size:.82rem;color:#9a9488;text-align:center;margin:1rem 0 0;}
/* Confirmado / completado */
.ab-mcot-conf{border-top:4px solid var(--ab-verde-700);text-align:center;}
.ab-mcot-conf .ab-mcot-block__ico{background:var(--ab-verde-100);color:var(--ab-verde-700);}
.ab-mcot-desglose{max-width:360px;margin:.6rem auto 1.4rem;text-align:left;}
.ab-mcot-desglose div{display:flex;justify-content:space-between;padding:.35rem 0;color:#5a6b62;border-bottom:1px solid #F0EBE1;}
.ab-mcot-desglose__tot{border-bottom:0!important;}
.ab-mcot-desglose__tot strong{font-family:var(--ab-font-display);font-size:1.25rem;color:var(--ab-verde-900);}
.ab-mcot-pasos{text-align:left;background:var(--ab-crema);border-radius:12px;padding:1.2rem 1.4rem;margin-bottom:1.2rem;}
.ab-mcot-pasos h4{margin:0 0 .6rem;color:var(--ab-verde-900);}
.ab-mcot-pasos ol{margin:0;padding-left:1.2rem;color:#4a4438;font-size:.92rem;}
.ab-mcot-pasos li{margin-bottom:.4rem;}
.ab-mcot-completo{background:var(--ab-verde-100);color:var(--ab-verde-700);border-radius:10px;padding:.7rem 1rem;font-weight:600;margin-bottom:1rem;}
.ab-mcot-chat{margin-top:.7rem;}
@media(max-width:560px){.ab-mcot-card{flex-wrap:wrap;}}

/* ============================================================
 * Fase 1c · maquetación — Skin del order-pay (pago de anticipo/saldo)
 * Reestiliza el template nativo checkout/form-pay.php sin tocar su lógica.
 * ============================================================ */
.ab-pay{max-width:var(--ab-maxw);margin:0 auto;padding:1.8rem 1.4rem 4rem;}
.ab-pay__grid{display:grid;grid-template-columns:minmax(0,1fr) 366px;gap:28px;align-items:start;}
.ab-pay__main{background:#fff;border:1px solid #F0E8DA;border-radius:var(--ab-radius-lg);padding:1.8rem;box-shadow:var(--ab-shadow);}
.ab-pay__h{font-family:var(--ab-font-display);font-size:1.7rem;color:var(--ab-verde-900);margin:0 0 .3rem;}
.ab-pay__sub{color:#7a8a80;margin:0 0 1.4rem;}
/* Lista de métodos de pago (gateways WC) */
.ab-pay .wc_payment_methods{list-style:none;margin:0 0 1.2rem;padding:0;border:1px solid #EAE1D2;border-radius:var(--ab-radius-sm);overflow:hidden;}
.ab-pay .wc_payment_methods li{padding:0;border-bottom:1px solid #F0EBE1;}
.ab-pay .wc_payment_methods li:last-child{border-bottom:0;}
.ab-pay .wc_payment_methods label{display:block;padding:1rem 1.1rem;font-weight:600;color:var(--ab-verde-900);cursor:pointer;}
.ab-pay .wc_payment_methods input[type=radio]{margin-right:.6rem;accent-color:var(--ab-verde-700);}
.ab-pay .payment_box{padding:0 1.1rem 1.1rem;font-size:.9rem;color:#5a5449;}
.ab-pay .payment_box p{margin:.4rem 0;}
.ab-pay #place_order{background:var(--ab-terracota);color:#fff;border:0;border-radius:999px;padding:.95rem 1.6rem;font-weight:600;font-size:1rem;width:100%;cursor:pointer;margin-top:.6rem;transition:transform .15s ease;}
.ab-pay #place_order:hover{transform:translateY(-2px);}
.ab-pay .woocommerce-terms-and-conditions-wrapper{margin-bottom:.8rem;font-size:.85rem;}
/* Resumen aside */
.ab-pay__summary{position:sticky;top:90px;background:#fff;border:1px solid #F0E8DA;border-radius:22px;padding:1.5rem;box-shadow:0 10px 30px rgba(27,67,50,.08);}
.ab-pay__summary h3{font-family:var(--ab-font-display);font-size:1.3rem;color:var(--ab-verde-900);margin:0 0 1rem;}
.ab-pay__row{display:flex;justify-content:space-between;gap:1rem;padding:.45rem 0;color:#5a6b62;font-size:.92rem;border-bottom:1px solid #F0EBE1;}
.ab-pay__row:last-of-type{border-bottom:0;}
.ab-pay__now{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;border-top:2px solid #F0E8DA;border-bottom:0;margin-top:.6rem;padding-top:.9rem;}
.ab-pay__now span{color:var(--ab-verde-900);font-weight:600;}
.ab-pay__now strong{font-family:var(--ab-font-display);font-size:1.7rem;color:var(--ab-verde-900);}
.ab-pay__trust{font-size:.8rem;color:#7a8a80;margin:1rem 0 0;text-align:center;}
@media(max-width:900px){
	.ab-pay__grid{grid-template-columns:1fr;}
	.ab-pay__summary{position:static;}
}

/* ============================================================
 * Fase 1d · Tarea 2 — Mensajes (componente compartido cliente/floristería)
 * ============================================================ */
.ab-msg-page{max-width:var(--ab-maxw);margin:0 auto;padding:1.4rem 1.4rem 2rem;}
.ab-msg-page__h1{font-family:var(--ab-font-display);font-size:2rem;color:var(--ab-verde-900);margin:0 0 .2rem;}
.ab-msg-page__sub{color:#7a8a80;margin:0 0 1.2rem;}
.ab-msg{display:grid;grid-template-columns:340px minmax(0,1fr);height:640px;background:#fff;border:1px solid #E7E2D8;border-radius:var(--ab-radius-sm);overflow:hidden;}
/* Lista */
.ab-msg__list{border-right:1px solid #F0EBE1;display:flex;flex-direction:column;min-height:0;}
.ab-msg__search{padding:.8rem;border-bottom:1px solid #F0EBE1;}
.ab-msg__search input{width:100%;padding:.55rem .8rem;border:1px solid #E5DECF;border-radius:999px;font-size:.9rem;background:var(--ab-crema);}
.ab-msg__convs{overflow-y:auto;flex:1;}
.ab-msg__empty{padding:2rem 1rem;text-align:center;color:#9a9488;font-size:.9rem;}
.ab-msg__conv{display:flex;gap:.7rem;align-items:flex-start;padding:.85rem 1rem;border-bottom:1px solid #F5F1E9;border-left:3px solid transparent;}
.ab-msg__conv.is-active{background:#FAF6FF;border-left-color:var(--ab-morado-700);}
.ab-msg__av{width:42px;height:42px;border-radius:14px;background:var(--ab-morado-700);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;flex-shrink:0;}
.ab-msg__cbody{flex:1;min-width:0;display:flex;flex-direction:column;gap:.15rem;}
.ab-msg__ctop{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem;}
.ab-msg__ctop strong{color:var(--ab-verde-900);font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ab-msg__ctop small{color:#9a9488;font-size:.72rem;flex-shrink:0;}
.ab-msg__ctx{font-size:.72rem;padding:.1rem .5rem;border-radius:999px;align-self:flex-start;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.ab-msg__ctx.is-evento{background:var(--ab-morado-100);color:var(--ab-morado-900);}
.ab-msg__ctx.is-pedido{background:var(--ab-verde-100);color:var(--ab-verde-700);}
.ab-msg__ctx.is-floristeria{background:#EEE9E1;color:#8a8478;}
.ab-msg__prev{font-size:.82rem;color:#8a8478;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ab-msg__prev.is-unread{color:#2b2b26;font-weight:600;}
.ab-msg__badge{background:var(--ab-morado-700);color:#fff;border-radius:999px;min-width:20px;height:20px;font-size:.72rem;display:flex;align-items:center;justify-content:center;padding:0 .3rem;flex-shrink:0;}
/* Chat */
.ab-msg__chat{display:flex;flex-direction:column;min-height:0;}
.ab-msg__none{margin:auto;color:#9a9488;}
.ab-msg__head{display:flex;align-items:center;gap:.8rem;padding:.9rem 1.2rem;border-bottom:1px solid #F0EBE1;}
.ab-msg__hbody{flex:1;display:flex;flex-direction:column;}
.ab-msg__hbody strong{color:var(--ab-verde-900);}
.ab-msg__presence{font-size:.75rem;color:var(--ab-verde-400);}
.ab-msg__vertienda{font-size:.82rem;color:var(--ab-morado-700);font-weight:600;}
.ab-msg__ctxbar{display:flex;align-items:center;gap:.7rem;padding:.7rem 1.2rem;border-bottom:1px solid #F0EBE1;}
.ab-msg__ctxbar.is-evento{background:var(--ab-morado-50);}
.ab-msg__ctxbar.is-pedido{background:var(--ab-verde-100);}
.ab-msg__ctxico{width:30px;height:30px;border-radius:8px;background:#fff;display:flex;align-items:center;justify-content:center;}
.ab-msg__ctxbody{flex:1;display:flex;flex-direction:column;}
.ab-msg__ctxbody strong{font-size:.88rem;color:var(--ab-verde-900);}
.ab-msg__ctxbody small{font-size:.75rem;color:#8a8478;}
.ab-msg__ctxcta{font-size:.82rem;font-weight:600;color:var(--ab-morado-900);}
/* Hilo */
.ab-msg__thread{flex:1;overflow-y:auto;padding:1.1rem 1.2rem;display:flex;flex-direction:column;gap:.5rem;background:#FCFAF6;min-height:0;}
.ab-msg__daysep{text-align:center;font-size:.72rem;color:#9a9488;margin:.4rem 0;}
.ab-msg__bubble{max-width:72%;padding:.6rem .85rem;border-radius:16px;font-size:.92rem;line-height:1.35;position:relative;}
.ab-msg__bubble.is-me{align-self:flex-end;background:var(--ab-verde-700);color:#fff;border-bottom-right-radius:4px;}
.ab-msg__bubble.is-them{align-self:flex-start;background:#F2ECE0;color:#3a352c;border-bottom-left-radius:4px;}
.ab-msg__txt{display:block;}
.ab-msg__time{display:block;font-size:.66rem;opacity:.7;margin-top:.2rem;text-align:right;}
.ab-msg__typing{align-self:flex-start;background:#ECE6DA;border-radius:16px;padding:.6rem .9rem;display:flex;gap:.25rem;}
.ab-msg__typing span{width:7px;height:7px;border-radius:50%;background:#a89f8f;animation:abtyping 1.2s infinite;}
.ab-msg__typing span:nth-child(2){animation-delay:.2s;}
.ab-msg__typing span:nth-child(3){animation-delay:.4s;}
@keyframes abtyping{0%,60%,100%{transform:translateY(0);opacity:.4;}30%{transform:translateY(-4px);opacity:1;}}
/* Quick + composer */
.ab-msg__quick{display:flex;gap:.5rem;padding:.6rem 1.2rem;flex-wrap:wrap;border-top:1px solid #F0EBE1;}
.ab-msg__chip{background:var(--ab-crema);border:1px solid #E5DECF;border-radius:999px;padding:.35rem .8rem;font-size:.82rem;cursor:pointer;color:var(--ab-verde-900);}
.ab-msg__chip:hover{border-color:var(--ab-verde-700);}
.ab-msg__composer{display:flex;align-items:flex-end;gap:.5rem;padding:.7rem 1.2rem 1rem;border-top:1px solid #F0EBE1;}
.ab-msg__attach{background:none;border:0;font-size:1.2rem;cursor:pointer;padding:.3rem;}
.ab-msg__composer textarea{flex:1;resize:none;border:1px solid #E5DECF;border-radius:16px;padding:.6rem .9rem;font-family:inherit;font-size:.92rem;max-height:120px;min-height:40px;}
.ab-msg__send{width:40px;height:40px;border-radius:50%;border:0;background:var(--ab-verde-700);color:#fff;font-size:1rem;cursor:pointer;flex-shrink:0;}
.ab-msg__send:disabled{background:#CBD3CC;cursor:not-allowed;}
.ab-msg__trust{font-size:.8rem;color:#9a9488;text-align:center;margin:1rem auto 0;max-width:640px;}
@media(max-width:820px){
	.ab-msg{grid-template-columns:1fr;height:auto;}
	.ab-msg__list{max-height:280px;}
	.ab-msg__chat{min-height:420px;}
}

/* Badge de no-leídos en el nav (Fase 1d) */
.ab-navbadge{font-style:normal;background:var(--ab-morado-700);color:#fff;border-radius:999px;font-size:.65rem;padding:.05rem .35rem;margin-left:.25rem;vertical-align:middle;}

/* ============================================================
 * Fase 1d · Tarea 4 — Reseña post-compra
 * ============================================================ */
.ab-rs-body{background:var(--ab-crema);}
.ab-rs{max-width:640px;margin:0 auto;padding:1.6rem 1.4rem 4rem;}
.ab-rs-kicker{color:var(--ab-terracota)!important;font-size:1.3rem;margin:0 0 .1rem;text-align:center;}
.ab-rs-h1{font-family:var(--ab-font-display);font-size:1.9rem;color:var(--ab-verde-900);text-align:center;margin:0 0 1.4rem;}
/* Card del pedido */
.ab-rs-order{display:flex;align-items:center;gap:.9rem;background:#fff;border:1px solid #F0E8DA;border-radius:var(--ab-radius-sm);padding:1rem;margin-bottom:1.2rem;}
.ab-rs-order__thumb{width:52px;height:52px;border-radius:12px;background:#F0EBE1 center/cover no-repeat;display:flex;align-items:center;justify-content:center;font-size:1.4rem;flex-shrink:0;}
.ab-rs-order__body{flex:1;display:flex;flex-direction:column;}
.ab-rs-order__body strong{color:var(--ab-verde-900);}
.ab-rs-order__body small{color:#8a8478;font-size:.85rem;}
.ab-rs-order__ver{font-size:.82rem;color:var(--ab-morado-700);font-weight:600;}
/* Card de calificación */
.ab-rs-card{background:#fff;border:1px solid #F0E8DA;border-radius:var(--ab-radius-lg);padding:1.8rem;box-shadow:var(--ab-shadow);}
.ab-rs-q{font-family:var(--ab-font-display);font-size:1.35rem;color:var(--ab-verde-900);text-align:center;margin:0 0 1rem;}
.ab-rs-stars{display:flex;justify-content:center;gap:.5rem;}
.ab-rs-star{font-size:42px;color:#E2D8C4;cursor:pointer;transition:transform .12s,color .12s;line-height:1;}
.ab-rs-star.is-hover,.ab-rs-star.is-on{color:#E0A33E;}
.ab-rs-star.is-pop{animation:abrspop .3s;}
@keyframes abrspop{0%{transform:scale(1);}50%{transform:scale(1.35);}100%{transform:scale(1);}}
.ab-rs-label{text-align:center;font-weight:600;min-height:1.4em;margin:.6rem 0 1.4rem;}
.ab-rs-label.is-r1,.ab-rs-label.is-r2{color:var(--ab-terracota);}
.ab-rs-label.is-r3{color:#B77E1B;}
.ab-rs-label.is-r4,.ab-rs-label.is-r5{color:var(--ab-verde-700);}
/* Sub-calificaciones */
.ab-rs-subs{border-top:1px solid #F0EBE1;border-bottom:1px solid #F0EBE1;padding:1rem 0;margin-bottom:1.2rem;display:flex;flex-direction:column;gap:.7rem;}
.ab-rs-sub{display:flex;justify-content:space-between;align-items:center;}
.ab-rs-sub__lbl{font-size:.92rem;color:#4a4438;}
.ab-rs-dots{display:flex;gap:.25rem;}
.ab-rs-dot{font-size:22px;color:#E2D8C4;cursor:pointer;line-height:1;}
.ab-rs-dot.is-hover,.ab-rs-dot.is-on{color:#E0A33E;}
/* Fotos */
.ab-rs-flabel{font-size:.9rem;font-weight:600;color:var(--ab-verde-900);margin:0 0 .5rem;display:block;}
.ab-rs-fotos{display:flex;gap:.6rem;flex-wrap:wrap;margin-bottom:1.2rem;}
.ab-rs-foto{width:74px;height:74px;border-radius:12px;background:#F0EBE1 center/cover no-repeat;position:relative;}
.ab-rs-foto__x{position:absolute;top:-6px;right:-6px;width:22px;height:22px;border-radius:50%;background:#2b2b26;color:#fff;border:0;cursor:pointer;font-size:14px;line-height:1;}
.ab-rs-foto-add{width:74px;height:74px;border-radius:12px;border:2px dashed #CDBFA6;display:flex;align-items:center;justify-content:center;font-size:.82rem;color:var(--ab-terracota);cursor:pointer;}
.ab-rs-card textarea{width:100%;padding:.7rem .9rem;border:1px solid #E5DECF;border-radius:12px;font-family:inherit;font-size:.95rem;resize:vertical;}
.ab-rs-count{text-align:right;font-size:.78rem;color:#9a9488;margin:.2rem 0 1rem;}
.ab-rs-reco{display:flex;align-items:center;gap:.5rem;font-size:.95rem;color:#4a4438;margin-bottom:1.4rem;cursor:pointer;}
.ab-rs-reco input{accent-color:var(--ab-verde-700);width:18px;height:18px;}
.ab-rs-publish{width:100%;background:#CBD3CC;color:#fff;border:0;border-radius:999px;padding:.9rem;font-weight:600;font-size:1rem;cursor:not-allowed;}
.ab-rs-publish.is-ready{background:var(--ab-verde-700);cursor:pointer;}
.ab-rs-fine{text-align:center;font-size:.8rem;color:#9a9488;margin:.8rem 0 0;}
/* Confirmación */
.ab-rs-done{text-align:center;padding:2rem 1rem;}
.ab-rs-done__star{font-size:3.5rem;color:#E0A33E;animation:abrspop .5s;}
.ab-rs-done h1{font-family:var(--ab-font-display);font-size:1.9rem;color:var(--ab-verde-900);margin:.4rem 0 .5rem;}
.ab-rs-done>p{color:#5a5449;max-width:460px;margin:0 auto 1.6rem;}
.ab-rs-done__card{background:#fff;border:1px solid #F0E8DA;border-radius:var(--ab-radius-sm);padding:1.4rem;max-width:420px;margin:0 auto 1.6rem;}
.ab-rs-done__stars{font-size:1.6rem;color:#E0A33E;letter-spacing:.15rem;}
.ab-rs-done__cmt{color:#4a4438;font-size:.95rem;margin:.6rem 0 0;}
.ab-rs-done__btns{display:flex;gap:.7rem;justify-content:center;flex-wrap:wrap;}

.ab-drawer__imglbl{margin-bottom:.3rem;}
.ab-drawer__img{display:flex;align-items:center;gap:.9rem;margin:0 0 .2rem;}
.ab-drawer__imgprev{width:76px;height:76px;flex:0 0 auto;border-radius:12px;border:1px solid #E7E2D8;background:#F1ECE2 center/cover no-repeat;display:flex;align-items:center;justify-content:center;font-size:.68rem;color:#9a9384;text-align:center;}

.ab-camp-banner{margin:0 0 1.5rem;color:#fff;}
.ab-camp-banner__in{max-width:1180px;margin:0 auto;padding:1.6rem 1.4rem;}
.ab-camp-banner__tag{display:inline-block;background:rgba(255,255,255,.22);border-radius:999px;padding:.2rem .7rem;font-size:.72rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;}
.ab-camp-banner h2{font-family:var(--ab-font-display,Georgia,serif);font-size:1.9rem;margin:.4rem 0 .2rem;color:#fff;}
.ab-camp-banner p{margin:0 0 .8rem;opacity:.92;}
.ab-camp-banner__cta{display:inline-block;background:#fff;color:#1B4332;border-radius:999px;padding:.45rem 1.1rem;font-weight:700;text-decoration:none;font-size:.9rem;}
ul.products li.product{position:relative;}
.ab-camp-badge{position:absolute;top:.6rem;left:.6rem;z-index:3;background:var(--ab-verde-700,#2D6A4F);color:#fff;border-radius:999px;padding:.2rem .6rem;font-size:.72rem;font-weight:700;box-shadow:0 2px 6px rgba(0,0,0,.15);}
.ab-camp-badge--star{background:#E0A33E;color:#1C1C1A;}
.ab-camp-aviso{background:var(--ab-verde-100,#D8F3DC);border-left:3px solid var(--ab-verde-700,#2D6A4F);border-radius:10px;padding:.8rem 1rem;margin:0 0 1.2rem;color:#1B4332;}
.ab-camp-aviso--up{background:#FBF0D6;border-left-color:#E0A33E;color:#6a5a2e;}
.ab-camp-aviso strong{display:block;font-size:.95rem;}
.ab-camp-aviso p{margin:.2rem 0 0;font-size:.86rem;}

/* Comprar: toggle de vista Todos / Por floristeria (spec Cliente-Comprar §5/§6b) */
.ab-shop__countrow{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin:1rem 0 1.1rem;}
.ab-shop__countrow .ab-shop__count{margin:0;}
.ab-viewtoggle{display:inline-flex;background:#F3ECDF;border-radius:11px;padding:4px;}
.ab-viewtoggle__btn{border:0;background:transparent;color:#5C6B5E;padding:.45rem .95rem;border-radius:8px;font-weight:600;cursor:pointer;white-space:nowrap;font-size:.9rem;}
.ab-viewtoggle__btn.is-active{background:var(--ab-verde-900);color:#fff;}
.ab-groups{display:flex;flex-direction:column;gap:34px;}
.ab-fgroup__head{display:flex;justify-content:space-between;align-items:center;gap:16px;border-bottom:1px solid #EEE4D2;padding-bottom:14px;margin-bottom:18px;flex-wrap:wrap;}
.ab-fgroup__id{display:flex;align-items:center;gap:12px;text-decoration:none;}
.ab-fgroup__avatar{width:42px;height:42px;border-radius:50%;background:var(--ab-verde-900);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--ab-font-display);font-size:1.15rem;flex:0 0 auto;}
.ab-fgroup__meta{display:flex;flex-direction:column;line-height:1.25;}
.ab-fgroup__meta strong{font-family:var(--ab-font-display);font-size:1.25rem;color:var(--ab-verde-900);font-weight:600;}
.ab-fgroup__meta em{font-style:normal;font-size:.78rem;color:#9C8E7C;}
.ab-fgroup__link{background:#EAF3EC;color:var(--ab-verde-900);padding:.42rem .85rem;border-radius:999px;font-weight:600;font-size:.85rem;text-decoration:none;white-space:nowrap;}

/* Header dinámico por actor/sesión (Headers.md): íconos + menú de cuenta + hamburguesa */
.ab-nav__list{flex-wrap:nowrap;overflow:hidden;}
.ab-nav__link{white-space:nowrap;}
.ab-hicon{position:relative;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:#fff;border:1px solid #ECE3D6;color:var(--ab-verde-900);text-decoration:none;}
.ab-hicon:hover{background:#F6F1E8;}
.ab-hicon__badge{position:absolute;top:-5px;right:-6px;background:var(--ab-terracota);color:#fff;font-size:.66rem;font-weight:700;min-width:16px;height:16px;border-radius:999px;display:flex;align-items:center;justify-content:center;padding:0 4px;}
.ab-acct{position:relative;}
.ab-acct__btn{display:inline-flex;align-items:center;gap:.5rem;background:#fff;border:1px solid #ECE3D6;border-radius:999px;padding:.28rem .6rem .28rem .3rem;cursor:pointer;font:inherit;}
.ab-acct__btn:hover{background:#F6F1E8;}
.ab-acct__avatar{width:32px;height:32px;border-radius:50%;background:var(--ab-verde-900);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.9rem;flex:0 0 auto;}
.ab-acct__name{font-weight:600;color:var(--ab-verde-900);font-size:.9rem;max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.ab-acct__chev{color:#7a8a80;font-size:.7rem;}
.ab-acct__menu{position:absolute;right:0;top:calc(100% + 8px);min-width:224px;background:#fff;border:1px solid #ECE3D6;border-radius:14px;box-shadow:0 16px 36px rgba(27,67,50,.16);padding:.5rem;z-index:60;}
.ab-acct__menu a{display:block;padding:.55rem .7rem;border-radius:9px;color:var(--ab-verde-900);text-decoration:none;font-size:.92rem;font-weight:500;}
.ab-acct__menu a:hover{background:#EAF3EC;}
.ab-acct__email{margin:.2rem .7rem .5rem;color:#7a8a80;font-size:.8rem;word-break:break-all;}
.ab-acct__sep{display:block;height:1px;background:#ECE3D6;margin:.4rem 0;}
.ab-acct__logout{color:var(--ab-terracota)!important;}
.ab-acct__logout:hover{background:#FBEDE7!important;}
.ab-navtoggle{display:none;flex-direction:column;gap:4px;background:none;border:0;cursor:pointer;padding:.4rem;}
.ab-navtoggle span{width:22px;height:2px;background:var(--ab-verde-900);border-radius:2px;display:block;}
@media(max-width:680px){
	.ab-header__inner{flex-wrap:wrap;row-gap:.5rem;}
	.ab-navtoggle{display:flex;order:4;}
	.ab-header__actions{order:3;margin-left:auto;}
	.ab-nav{display:none;order:5;flex-basis:100%;margin-left:0;}
	.ab-nav.is-open{display:block;}
	.ab-nav__list{flex-direction:column;gap:.2rem;overflow:visible;}
	.ab-acct__name{max-width:90px;}
}

/* fix: el atributo hidden debe ganar al display de grid/flex del panel */
[data-view-panel][hidden]{display:none!important;}

/* Carrito tematizado (Cliente-Checkout §Paso 1) */
.ab-cartpage__wrap{max-width:960px;margin:0 auto;padding:1.5rem 1.4rem 3rem;}
.ab-cartpage__h1{font-family:var(--ab-font-display);font-size:2.2rem;color:var(--ab-verde-900);margin:.3rem 0 1.2rem;}
.ab-cartpage .woocommerce{margin:0;}
.ab-cartpage table.shop_table{width:100%;border:1px solid #ECE3D6;border-radius:16px;border-collapse:separate;border-spacing:0;overflow:hidden;background:#fff;}
.ab-cartpage table.shop_table th{background:#FBF6EE;text-align:left;padding:.9rem 1rem;font-weight:600;color:var(--ab-verde-900);font-size:.88rem;border:0;}
.ab-cartpage table.shop_table td{padding:1rem;border-top:1px solid #F0E8DA;vertical-align:middle;}
.ab-cartpage .product-thumbnail img{width:72px;height:72px;object-fit:cover;border-radius:12px;}
.ab-cartpage .product-name a{color:var(--ab-verde-900);font-family:var(--ab-font-display);font-size:1.1rem;text-decoration:none;}
.ab-cartpage .product-remove a{color:var(--ab-terracota)!important;font-weight:700;text-decoration:none;font-size:1.1rem;}
.ab-cartpage .quantity input{width:66px;padding:.45rem;border:1px solid #d7e3da;border-radius:8px;text-align:center;}
.ab-cartpage .actions .button,
.ab-cartpage .wc-proceed-to-checkout .button,
.ab-cartpage .checkout-button{background:var(--ab-verde-700)!important;color:#fff!important;border-radius:999px!important;padding:.75rem 1.5rem!important;border:0!important;font-weight:600!important;}
.ab-cartpage .actions .coupon .button{background:var(--ab-verde-900)!important;}
.ab-cartpage .cart-collaterals{margin-top:1.6rem;display:flex;justify-content:flex-end;}
.ab-cartpage .cart_totals{background:#fff;border:1px solid #ECE3D6;border-radius:16px;padding:1.3rem 1.4rem;min-width:320px;}
.ab-cartpage .cart_totals h2{font-family:var(--ab-font-display);color:var(--ab-verde-900);margin-top:0;}
.ab-cartpage .cart_totals table{width:100%;}
.ab-cartpage .cart_totals th,.ab-cartpage .cart_totals td{padding:.5rem 0;color:var(--ab-verde-900);}
.ab-cartpage .coupon .input-text{border:1px solid #d7e3da;border-radius:8px;padding:.55rem;margin-right:.4rem;}
.ab-cartpage__back{display:inline-block;margin-top:1.3rem;color:var(--ab-verde-700);font-weight:600;text-decoration:none;}
@media(max-width:600px){.ab-cartpage .cart-collaterals{justify-content:stretch;}.ab-cartpage .cart_totals{min-width:0;width:100%;}}

/* Botón full-width (KYC: subir documentos, enviar a verificación) */
.ab-btn--block{display:block;width:100%;text-align:center;box-sizing:border-box;}

/* KYC: forzar fondo solido en botones de accion (evita que algun estilo los deje ghost/transparentes) */
.ab-kstep__body button.ab-btn--block:not([disabled]),
.ab-ksend button.ab-btn--block:not([disabled]){background:var(--ab-verde-700)!important;color:#fff!important;border-color:transparent!important;box-shadow:var(--ab-shadow);}
.ab-kstep__body button.ab-btn--block:not([disabled]):hover,
.ab-ksend button.ab-btn--block:not([disabled]):hover{background:var(--ab-verde-900)!important;}

/* Recuperar / cambiar contraseña (spec Cliente - Recuperar contrasena) */
.ab-lostpw__intro,.ab-resetpw__intro{color:#5a6b62;font-size:.92rem;margin:0 0 1.1rem;}
.ab-account__body.is-auth .ab-lostpw__submit,
.ab-account__body.is-auth .ab-resetpw__submit{display:block;width:100%;background:var(--ab-verde-700);color:#fff;border:0;border-radius:999px;padding:.8rem 1.3rem;font-weight:600;font-size:1rem;cursor:pointer;}
.ab-account__body.is-auth .ab-lostpw__submit:hover,
.ab-account__body.is-auth .ab-resetpw__submit:hover{background:var(--ab-verde-900);}
.ab-lostpw__back{text-align:center;margin:1.1rem 0 0;}
.ab-lostpw__back a{color:var(--ab-verde-700);font-weight:600;text-decoration:none;}
.ab-pwmeter{display:flex;gap:6px;margin:.55rem 0 .35rem;}
.ab-pwmeter span{flex:1;height:6px;border-radius:3px;background:#E7E0D3;transition:background .2s;}
.ab-pwmeter__label{font-size:.8rem;color:#7a8a80;margin:0 0 1.1rem;}

/* Vista "Por floristería" — carrusel horizontal (spec Cliente - Comprar §6b) */
.ab-fcarousel{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x proximity;padding:2px 2px 12px;-webkit-overflow-scrolling:touch;}
.ab-fcarousel::-webkit-scrollbar{height:8px;}
.ab-fcarousel::-webkit-scrollbar-track{background:transparent;}
.ab-fcarousel::-webkit-scrollbar-thumb{background:#E5DECF;border-radius:999px;}
.ab-ccard{flex:0 0 168px;width:168px;scroll-snap-align:start;}
.ab-ccard__img{position:relative;width:168px;height:168px;border-radius:18px;overflow:hidden;background:#F3ECDF;}
.ab-ccard__img>a:not(.ab-ccard__add){display:block;width:100%;height:100%;}
.ab-ccard__img img{width:100%;height:100%;object-fit:cover;display:block;}
.ab-ccard__ribbon{position:absolute;top:0;right:0;height:100%;width:26px;background:var(--ab-ribbon,#2D6A4F);color:#fff;writing-mode:vertical-rl;text-orientation:mixed;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;padding:8px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ab-ccard__add{position:absolute;top:8px;right:34px;width:30px;height:30px;border-radius:999px;background:var(--ab-verde-700,#2D6A4F);color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px;line-height:1;text-decoration:none;box-shadow:0 2px 6px rgba(0,0,0,.22);}
.ab-ccard__add:hover{background:var(--ab-verde-900,#1B4332);color:#fff;}
.ab-ccard__und{position:absolute;right:34px;bottom:8px;background:rgba(27,67,50,.72);color:#fff;font-size:9.5px;font-weight:600;letter-spacing:.03em;padding:2px 6px;border-radius:999px;}
.ab-ccard__price{font-weight:700;font-size:16px;color:var(--ab-verde-900,#1B4332);margin-top:8px;line-height:1.2;}
.ab-ccard__name{display:block;font-family:var(--ab-font-display);font-size:15px;color:var(--ab-verde-900,#1B4332);text-decoration:none;line-height:1.2;margin-top:2px;}
.ab-ccard__name:hover{color:var(--ab-verde-700,#2D6A4F);}
.ab-ccard__cat{font-size:11.5px;color:#9C8E7C;margin-top:2px;}

/* Hero collage con fotos reales de producto + quitar texturas sobre imagenes de producto */
.ab-photo img{width:100%;height:100%;object-fit:cover;display:block;}
.ab-hero2__collage a.ab-photo{cursor:pointer;}
.ab-photo::after{display:none;}
.ab-pdp__stripes{display:none;}

/* Boton de busqueda del hero: el tema padre estiliza button[type=submit] (mas especifico) y
   lo dejaba con fondo transparente. Restauramos el pill terracota con mayor especificidad. */
.ab-search .ab-search__btn{background:var(--ab-terracota);color:#fff;}
.ab-search .ab-search__btn:hover{background:var(--ab-terracota);filter:brightness(.95);}
.ab-search .ab-search__btn svg{stroke:#fff;}

/* Barra de busqueda del hero: centrar verticalmente (sin hueco bajo los selects) y
   boton mas redondo (el tema padre pisaba el border-radius del pill). */
.ab-search{align-items:center;}
.ab-search .ab-search__btn{border-radius:999px;}

/* "Productos para regalar" (home): con pocos productos, auto-fill dejaba una columna vacia al
   final (5 tracks / 4 productos). auto-fit colapsa la vacia y los productos llenan el ancho. */
.ab-home .ab-grid--products{grid-template-columns:repeat(auto-fit,minmax(218px,1fr));}

/* "Productos para regalar" (home): tarjetas grandes en scroll horizontal (opcion 1). */
.ab-hscroll{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:24px;-webkit-overflow-scrolling:touch;}
.ab-hscroll::-webkit-scrollbar{height:8px;}
.ab-hscroll::-webkit-scrollbar-track{background:transparent;}
.ab-hscroll::-webkit-scrollbar-thumb{background:#E5DECF;border-radius:999px;}
.ab-hscroll .ab-pcard{flex:0 0 240px;scroll-snap-align:start;}

/* Link "Mi panel" en el desplegable de cuenta (solo floristerias) — accion principal. */
.ab-acct__panel{font-weight:700;color:var(--ab-verde-700);}
