:root{
  --bg:#0b1020;
  --surface:#ffffff;
  --muted:#6b7280;
  --text:#0f172a;

  --primary:#9BD010;
  --primary-hover:#83B00D;
  --ring: rgba(155,208,16,.25);

  --border: rgba(15,23,42,.10);
  --shadow: 0 18px 40px rgba(2,6,23,.10);
  --shadow-sm: 0 10px 22px rgba(2,6,23,.08);

  --radius:18px;
  --radius-lg:22px;
}

*{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}

body{
  background:#f5f7fb;
  color:var(--text);
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
}

/* ---------- Header / Brand ---------- */
.brand{display:flex;align-items:center;gap:10px;color:var(--text);}
.brand-mark{
  width:40px;height:40px;border-radius:14px;
  background:radial-gradient(120% 120% at 20% 20%, rgba(37,99,235,.95), rgba(34,197,94,.85));
  color:#fff;display:grid;place-items:center;font-weight:900;
  box-shadow:0 14px 26px rgba(37,99,235,.18);
}
.brand-name{font-weight:900;letter-spacing:.2px;}

/* Pills del menú */
.nav-pill{
  padding:7px 10px;border-radius:999px;border:1px solid var(--border);
  text-decoration:none;color:var(--text);font-weight:700;font-size:13px;
  background:rgba(255,255,255,.75);backdrop-filter:blur(8px);
}
.nav-pill:hover{background:rgba(155,208,16,.10);border-color:rgba(155,208,16,.30);}
.nav-pill.active{
  background:rgba(155,208,16,.12);
  border-color:rgba(155,208,16,.34);
  color:#3a5d00;
}

/* ===== Logo en el header ===== */
.brand-mark.logo{
  width:130px;height:50px;border-radius:14px;background:#fff;
  border:1px solid rgba(15,23,42,.10);
  box-shadow:0 6px 14px rgba(2,6,23,.06);
  display:flex;align-items:center;justify-content:center;overflow:hidden;
}
.brand-mark.logo img{
  max-width:100%;max-height:100%;
  width:auto;height:auto;object-fit:contain;display:block;padding:4px;
}

/* ---------- Hero ---------- */
.hero{
  border-radius:var(--radius-lg);
  background:
    radial-gradient(1200px 420px at 10% 10%, rgba(155,208,16,.18), transparent 62%),
    radial-gradient(1000px 420px at 90% 15%, rgba(22,163,74,.14), transparent 60%),
    linear-gradient(180deg, rgba(255,255,255,.95), rgba(255,255,255,.88));
  border:1px solid var(--border);
  box-shadow:var(--shadow-sm);
}
.hero .badge.text-bg-dark{
  background:rgba(15,23,42,.92)!important;
  border:1px solid rgba(255,255,255,.10);
  font-weight:700;
}

/* Hero compacto para catálogo */
.hero-catalog{
  padding-top:1rem !important;
  padding-bottom:1rem !important;
}
.hero-catalog h1{
  font-size:clamp(1.8rem, 3vw, 2.5rem);
  line-height:1.05;
}
.catalog-payments{
  display:flex;
  flex-wrap:wrap;
  gap:.45rem;
  align-items:center;
}
.catalog-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:30px;
  padding:.22rem .60rem;
  border-radius:999px;
  background:rgba(15,23,42,.92);
  color:#fff;
  font-weight:700;
  font-size:.82rem;
  line-height:1;
}
.catalog-note{
  color:rgba(15,23,42,.68);
  font-size:.92rem;
  margin-left:.25rem;
}

.catalog-subnote{
  font-size:.92rem;
  color:rgba(15,23,42,.72);
  line-height:1.35;
}
.catalog-subnote-promo{
  color:#b91c1c;
  font-weight:700;
}

/* ---------- Cards ---------- */
.card{
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:none;
  background:rgba(255,255,255,.92);
}
.card.card-body{box-shadow:var(--shadow-sm);}

/* Producto (card catálogo) */
.product-card{
  border-radius:var(--radius);
  border:1px solid var(--border);
  overflow:hidden;
  background:rgba(255,255,255,.92);
  transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease;
  color:inherit;
  font-size:13px;
}
.product-card:hover{
  transform:translateY(-3px);
  box-shadow:var(--shadow);
  border-color:rgba(155,208,16,.28);
}
.product-card.is-featured{
  background:#fef3b2 !important;
  border-color:#eab308 !important;
  box-shadow:0 0 0 1px rgba(234,179,8,.22), var(--shadow-sm);
}
.product-card.is-featured:hover{
  border-color:#ca8a04 !important;
  box-shadow:0 0 0 1px rgba(202,138,4,.28), var(--shadow);
}
.product-card.is-oos{opacity:.86;filter:grayscale(.15);}
.product-card.is-oos:hover{opacity:.92;transform:translateY(-2px);}

/* Badges suaves */
.badge-soft{
  background:rgba(37,99,235,.10);
  border:1px solid rgba(37,99,235,.22);
  color:#1d4ed8;
  font-weight:700;
}
.badge-soft.green{
  background:rgba(155,208,16,.14);
  border:1px solid rgba(155,208,16,.30);
  color:#3a5d00;
}

/* ---------- Imágenes (cards catálogo) ---------- */
.thumb{
  border-radius:16px;
  overflow:hidden;
  border:1px solid rgba(15,23,42,.08);
  background:linear-gradient(180deg,#fff,#fafafa);
}
.thumb img{width:100%;height:160px;object-fit:contain;display:block;}
.thumb-placeholder{height:160px;display:grid;place-items:center;color:var(--muted);}

/* “Sin stock” */
.alert.alert-secondary{
  border-radius:14px;
  border:1px solid rgba(15,23,42,.12);
  background:rgba(148,163,184,.16);
  color:#334155;
}

/* ---------- Botones ---------- */
.btn{
  border-radius:14px;
  font-weight:800;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  line-height:1;
}

.btn-lg{
  border-radius:16px;
}

.btn-primary,
.btn-success,
.btn-outline-dark{
  min-height:44px;
}

#menuOff .btn{
  min-height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  line-height:1;
  padding-top:0;
  padding-bottom:0;
}

.btn-primary{
  background:var(--primary);
  border-color:var(--primary);
  font-weight:900;
  color:#0b1020;
}
.btn-primary:hover{
  background:var(--primary-hover);
  border-color:var(--primary-hover);
  color:#0b1020;
}
.btn-outline-dark{font-weight:800;}
.btn-success{background:#16a34a;border-color:#16a34a;font-weight:900;}
.btn-success:hover{filter:brightness(.95);}

/* ---------- Inputs ---------- */
.form-control:focus,.form-select:focus{
  border-color:rgba(155,208,16,.55);
  box-shadow:0 0 0 .25rem var(--ring);
}

/* Filtros catálogo */
.filters-card{
  padding:.9rem !important;
  box-shadow:none !important;
}
.form-label-sm{
  font-size:.82rem;
  font-weight:700;
  margin-bottom:.35rem;
  color:rgba(15,23,42,.82);
}
.filter-control{
  min-height:40px;
  border-radius:12px;
}
.filter-check{
  min-height:40px;
  display:flex;
  align-items:center;
  gap:.45rem;
  margin-bottom:.2rem;
}
.filter-check .form-check-input{
  margin-top:0;
}
.filter-check .form-check-label{
  font-size:.95rem;
}
.filter-btn{
  min-height:40px !important;
}

/* ===== HOME PRO ===== */
.home-hero{
  border-radius:22px;
  border:1px solid rgba(15,23,42,.10);
  background:
    radial-gradient(900px 360px at 15% 10%, rgba(155,208,16,.20), transparent 60%),
    radial-gradient(900px 360px at 90% 15%, rgba(22,163,74,.12), transparent 60%),
    linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,255,255,.90));
  box-shadow:var(--shadow-sm);
}
.home-dot{
  width:10px;height:10px;border-radius:999px;
  background:var(--primary);
  box-shadow:0 0 0 6px rgba(155,208,16,.16);
}
.home-lead{
  max-width:30ch;
  font-size:1.28rem;
  line-height:1.35;
  font-weight:500;
  color:rgba(15,23,42,.92);
}
.home-sublead{
  max-width:42ch;
  font-size:1rem;
  line-height:1.5;
  color:rgba(15,23,42,.68);
}

.home-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
  width:100%;
  max-width:520px;
  margin-bottom:.9rem;
}
.home-actions .btn{
  flex:0 0 auto;
  padding:.58rem .9rem;
  font-size:.95rem;
  min-height:40px;
}
.home-payments{
  margin-top:.25rem;
  margin-bottom:1rem;
}

.home-card{
  border-radius:18px;
  border:1px solid rgba(15,23,42,.10);
  background:rgba(255,255,255,.92);
  box-shadow:var(--shadow-sm);
}

/* Carousel */
.home-carousel{
  border-radius:18px;
  overflow:hidden;
  border:1px solid rgba(15,23,42,.10);
  background:rgba(255,255,255,.92);
  box-shadow:var(--shadow-sm);
}
.home-slide{
  height:360px;
  display:grid;
  place-items:center;
  background:linear-gradient(180deg,#fff,#fafafa);
}
.home-slide img{ width:100%; height:100%; object-fit:cover; }

/* Categorías */
.cat-card{
  display:block;
  border-radius:16px;
  border:1px solid rgba(15,23,42,.10);
  background:rgba(255,255,255,.92);
  box-shadow:var(--shadow-sm);
  transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease;
  color:inherit;
}
.cat-card:hover{
  transform:translateY(-3px);
  box-shadow:var(--shadow);
  border-color:rgba(155,208,16,.30);
}
.cat-title{ font-weight:900; font-size:16px; }
.cat-desc{ color:rgba(15,23,42,.65); margin-top:2px; font-size:12px; }
.cat-icon{ font-size:22px; }


/* Beneficios */
.info-card{
  border-radius:16px;
  border:1px solid rgba(15,23,42,.10);
  background:rgba(255,255,255,.92);
}
.info-title{ font-weight:900; font-size:16px; }
.info-text{ color:rgba(15,23,42,.65); margin-top:6px; }

/* Mini productos */
.mini-product{
  display:block;
  border-radius:18px;
  border:1px solid rgba(15,23,42,.10);
  background:rgba(255,255,255,.92);
  overflow:hidden;
  box-shadow:var(--shadow-sm);
  transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease;
  color:inherit;
}
.mini-product:hover{
  transform:translateY(-3px);
  box-shadow:var(--shadow);
  border-color:rgba(155,208,16,.30);
}
.mini-thumb{
  height:160px;
  background:linear-gradient(180deg,#fff,#fafafa);
  border-bottom:1px solid rgba(15,23,42,.08);
  display:grid;
  place-items:center;
}
.mini-thumb img{ width:100%; height:100%; object-fit:contain; }
.mini-placeholder{ color:rgba(15,23,42,.55); }
.mini-title{
  font-weight:800;
  font-size:13px;
  line-height:1.2;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.mini-cta{ font-weight:800; color:rgba(15,23,42,.75); }
@media (max-width: 575.98px){ .home-slide{ height:240px; } }

/* ===== Dirección (página aparte) ===== */
.dir-hero{
  border-radius:22px;
  background:
    radial-gradient(900px 360px at 10% 10%, rgba(155,208,16,.18), transparent 60%),
    radial-gradient(900px 360px at 90% 20%, rgba(22,163,74,.12), transparent 60%),
    linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,255,255,.90));
  border:1px solid rgba(15,23,42,.10);
  box-shadow:var(--shadow-sm);
}

/* ===== Botones flotantes PRO (IG izquierda / WA derecha) ===== */
.wa-float,
.ig-float{
  position:fixed;
  bottom:18px;
  padding:12px 14px;
  border-radius:999px;
  color:#fff;
  text-decoration:none;
  font-weight:800;
  box-shadow:0 12px 22px rgba(0,0,0,.14);
  z-index:999999;
  display:inline-flex;
  align-items:center;
  gap:10px;
  line-height:1;
}
.wa-float{ right:18px; background:#25D366; }
.ig-float{ left:18px;  background:#E1306C; }
.wa-float:hover,
.ig-float:hover{ filter:brightness(.95); }
.float-ico{ width:18px; height:18px; display:block; }
@media (max-width: 575.98px){
  .wa-float,
  .ig-float{
    bottom:12px;
    padding:10px 12px;
    gap:8px;
  }
  .wa-float{ right:12px; }
  .ig-float{ left:12px; }
  .float-ico{ width:17px; height:17px; }
}

/* ===== Producto detalle: precios tipo "fila Excel" ===== */
.price-table{ display:flex; flex-direction:column; gap:10px; }
.price-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 14px;
  border-radius:14px;
  border:2px solid rgba(15,23,42,.18);
  background:rgba(255,255,255,.92);
}
.price-name{
  font-weight:900;
  letter-spacing:.2px;
  font-size:13px;
  color:rgba(15,23,42,.82);
}
.price-val{
  font-weight:950;
  font-size:18px;
  white-space:nowrap;
}
.price-row-green{ border-color: rgba(34,197,94,.55); background: rgba(34,197,94,.08); }
.price-row-amber{ border-color: rgba(245,158,11,.60); background: rgba(245,158,11,.08); }
.price-row-lime{ border-color: rgba(155,208,16,.60); background: rgba(155,208,16,.08); }
@media (max-width: 575.98px){
  .price-row{ padding:10px 12px; }
  .price-name{ font-size:12px; }
  .price-val{ font-size:16px; }
}

/* =========================
   MOBILE FIRST TWEAKS (header + chips)
   ========================= */
@media (max-width: 575.98px){
  header .container{padding-top:.35rem!important;padding-bottom:.35rem!important;}
  .btn-mobile-icon{width:38px;height:38px;display:inline-grid;place-items:center;border-radius:14px;}

  .hero-catalog{
    padding:.85rem !important;
  }

  .hero-catalog h1{
    font-size:1.7rem;
  }

  .catalog-payments{
    gap:.35rem;
  }

  .catalog-pill{
    min-height:28px;
    padding:.18rem .52rem;
    font-size:.76rem;
  }

  .catalog-note{
    display:block;
    width:100%;
    margin-left:0;
    margin-top:.2rem;
    font-size:.82rem;
  }
  
  .catalog-subnote{
  font-size:.82rem;
  line-height:1.35;
}
.catalog-subnote-promo{
  color:#b91c1c;
  font-weight:700;
}
  
    .home-lead{
    font-size:1.02rem;
    line-height:1.4;
    max-width:100%;
  }

  .home-sublead{
    font-size:.94rem;
    line-height:1.45;
    max-width:100%;
  }

  .home-actions{
  max-width:100%;
  gap:.45rem;
  margin-bottom:.95rem;
}

.home-actions .btn{
  flex:1 1 calc(50% - .25rem);
  min-width:0;
  width:auto;
  padding:.55rem .7rem;
  font-size:.90rem;
  min-height:38px;
}

.home-payments{
  margin-top:.1rem !important;
  margin-bottom:1rem !important;
}

  .home-payments{
    margin-top:1rem !important;
  }
  
    .filters-card{
    padding:.75rem !important;
  }

  .filter-control{
    min-height:38px;
  }

  .filter-check{
    min-height:38px;
    margin-bottom:0;
  }

  .filter-check .form-check-label{
    font-size:.90rem;
  }

  .filter-btn{
    min-height:38px !important;
  }
  
  .cat-outlet-mobile{
    flex:0 0 100% !important;
    max-width:100% !important;
  }

  .mobile-chips{
    padding:.12rem 0 .24rem;
    border-top:1px solid var(--border);
    background:#fff;
  }
  .chips-scroll{
    display:flex;
    gap:.45rem;
    overflow:auto;
    -webkit-overflow-scrolling:touch;
    padding:.18rem .70rem;
    margin:0;
    scrollbar-width:none;
  }
  .chips-scroll::-webkit-scrollbar{display:none;}
  .chip{
    flex:0 0 auto;
    padding:.36rem .65rem;
    min-height:36px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    font-size:.90rem;
    border:1px solid var(--border);
    border-radius:999px;
    font-weight:600;
    color:var(--text);
    background:#fff;
    text-decoration:none;
    white-space:nowrap;
  }
  .chip.active{
    background:rgba(155,208,16,.14);
    border-color:rgba(155,208,16,.35);
  }
}

/* ---------- Detalle de producto: imagen bien encuadrada ---------- */
.detail-thumb{
  width:100%;
  border-radius:var(--radius);
  overflow:hidden;
  border:1px solid rgba(15,23,42,.08);
  background:linear-gradient(180deg,#fff,#fafafa);
  aspect-ratio:1 / 1;
  display:flex;
  align-items:center;
  justify-content:center;
}
.detail-thumb img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  display:block;
  padding:12px;
  max-width:none;
  max-height:none;
}
@media (min-width: 992px){
  .detail-thumb{ aspect-ratio:4 / 3; }
  .detail-thumb img{ padding:16px; }
}

/* =========================
   CATALOGO: grilla responsive (solo si el row tiene .catalog-grid)
   ========================= */
@media (max-width: 575.98px){
  .catalog-grid > .col-product{
    flex:0 0 50% !important;
    max-width:50% !important;
  }
}
@media (min-width: 1200px){
  .catalog-grid > .col-product{
    flex:0 0 20% !important;
    max-width:20% !important;
  }
}

/* =========================
   CATALOGO: spacing general mobile
   ========================= */
@media (max-width: 575.98px){
  .row.g-3{
    --bs-gutter-x:.30rem;
    --bs-gutter-y:.60rem;
  }

  .col-product{
    padding-left:.2rem !important;
    padding-right:.2rem !important;
  }

  .product-card{ font-size:12px; }

  .product-card .p-3{
    display:flex;
    flex-direction:column;
    padding:.70rem !important;
  }

  .product-card h3.h5{
    font-size:clamp(11.5px, 3vw, 13px);
    line-height:1.12;
    min-height:2.25em;
    font-weight:700 !important;
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    overflow:hidden;
    margin:0;
  }

  .product-card .badge{
    font-size:.64rem;
    padding:.25rem .40rem;
    border-radius:999px;
    line-height:1.1;
    white-space:nowrap;
  }

  .product-card .small.text-muted{
    margin-top:.25rem !important;
    line-height:1.2;
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:1;
    overflow:hidden;
    font-size:12px;
  }

  .thumb{
    padding:.15rem;
    border-radius:16px;
  }

  .thumb img,
  .thumb-placeholder{
    height:130px;
  }

  .badge-soft{
    background:rgba(15,23,42,.06);
    border-color:rgba(15,23,42,.12);
    color:var(--text);
  }

  .product-card .mt-3.d-grid{
    margin-top:auto !important;
    padding-top:.75rem;
  }

  .product-card .btn.btn-primary{
    width:100%;
    font-size:13px;
    padding:11px 8px !important;
  }
}

@media (max-width: 420px){
  .product-card .p-3 > .d-flex.align-items-start.justify-content-between{ flex-wrap:wrap; }
  .product-card .p-3 > .d-flex.align-items-start.justify-content-between > .badge{ margin-top:.25rem; }
}

/* =========================
   CATALOGO: card desktop
   ========================= */
.product-card > .p-3{
  display:flex;
  flex-direction:column;
}
.product-card .p-3 > .d-flex.align-items-start.justify-content-between{
  align-items:flex-start !important;
  gap:.6rem !important;
}
.product-card .p-3 > .d-flex.align-items-start.justify-content-between > div.me-2{
  flex:1 1 auto;
  min-width:0;
}
.product-card .p-3 > .d-flex.align-items-start.justify-content-between > .badge{
  flex:0 0 auto;
  white-space:nowrap;
  align-self:flex-start;
  font-size:.58rem;
  padding:.16rem .36rem;
  line-height:1;
}

.product-card h3.h5{
  font-size:13px;
  line-height:1.12;
  min-height:2.2em;
  font-weight:700 !important;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
  margin:0;
}
.product-card .small.text-muted{
  margin-top:.25rem !important;
  line-height:1.2;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:1;
  overflow:hidden;
  font-size:12px;
}
.product-card .mt-3.d-grid{
  margin-top:auto !important;
  padding-top:.75rem;
}
.product-card .btn.btn-primary{
  border-radius:14px;
  padding:10px 12px;
  font-size:13px;
}

@media (min-width: 992px){
  .product-card{ font-size:12px; }
  .product-card .p-3{ padding:12px !important; }

  .product-card .p-3 > .d-flex.align-items-start.justify-content-between{
    gap:.5rem !important;
  }
  .product-card .p-3 > .d-flex.align-items-start.justify-content-between > div.me-2{
    min-width:0;
  }
  .product-card .p-3 > .d-flex.align-items-start.justify-content-between > .badge{
  font-size:.58rem;
  padding:.16rem .36rem;
  line-height:1;
}

  .product-card h3.h5{
  font-size:12px !important;
  line-height:1.1;
  min-height:2.15em;
  font-weight:700 !important;
}

  .product-card .small.text-muted{
    font-size:11px !important;
  }

  .product-card .btn.btn-primary{
    font-size:13px !important;
    padding:10px 12px !important;
  }
}

@media (min-width: 1200px){
  .catalog-grid > .col-product .product-card{
    font-size:11.5px;
  }
}

/* =========================
   PRICE-MAIN catálogo
   ========================= */
.price-main{
  width:100%;
  box-sizing:border-box;
  overflow:hidden;
  background:rgba(15,23,42,.03);
  border:1px solid rgba(15,23,42,.10);
  border-radius:16px;
  padding:.40rem .50rem;
  margin-top:.30rem;
}
.price-main .pm-row{
  width:100%;
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:.45rem;
  padding:.10rem 0;
}
.price-main .pm-k{
  flex:1 1 auto;
  min-width:0;
  font-size:.68rem;
  font-weight:800;
  color:rgba(15,23,42,.72);
  line-height:1.1;
}
.price-main .pm-v{
  flex:0 0 auto;
  text-align:right;
  font-size:.70rem;
  font-weight:950;
  color:rgba(15,23,42,.92);
  white-space:nowrap;
}
.price-main .pm-main .pm-k{ color:#244000; }
.price-main .pm-main .pm-v{ font-size:.88rem; font-weight:950; }
.price-main .pm-empty{
  font-size:.72rem;
  color:rgba(15,23,42,.65);
  padding:.12rem 0;
}

/* Mobile: evitar cortes feos */
@media (max-width: 575.98px){
  .price-main{
    padding:.35rem .45rem !important;
  }

  .price-main .pm-v{
    max-width:75% !important;
    text-overflow:clip !important;
    overflow:visible !important;
  }

  .price-main .pm-k{
    white-space:normal !important;
    text-overflow:clip !important;
    overflow:visible !important;
    line-height:1.1;
  }

  .price-main .pm-row.pm-main{
    flex-direction:column;
    align-items:flex-start;
    gap:.15rem;
  }
  .price-main .pm-row.pm-main .pm-v{
    max-width:100% !important;
    font-size:.92rem;
  }

  .price-main .pm-row.pm-lista .pm-k,
.price-main .pm-row.pm-lista .pm-v{
  color:#0068b5;
}

.price-main .pm-row.pm-efec .pm-k,
.price-main .pm-row.pm-efec .pm-v{
  color:#b91c1c;
}

.price-main .pm-row.pm-usd .pm-k,
.price-main .pm-row.pm-usd .pm-v{
  color:#111827;
}

.price-main .pm-row.pm-cuotas .pm-k,
.price-main .pm-row.pm-cuotas .pm-v{
  color:#475569;
}
}

/* Desktop */
@media (min-width: 576px){
  .price-main{
    background:rgba(255,255,255,.92);
    border:1px solid rgba(15,23,42,.12);
    border-radius:16px;
  }

  .price-main .pm-k{
    font-size:.72rem;
    white-space:normal !important;
    overflow:visible !important;
    text-overflow:clip !important;
    line-height:1.12;
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
  }

  .price-main .pm-v{
    font-size:.78rem;
    white-space:nowrap !important;
    overflow:visible !important;
    text-overflow:clip !important;
    max-width:none !important;
    text-align:right;
  }

  .price-main .pm-main .pm-v{ font-size:.95rem; }

  .price-main .pm-row.pm-lista .pm-k,
.price-main .pm-row.pm-lista .pm-v{
  color:#0068b5;
}

.price-main .pm-row.pm-efec .pm-k,
.price-main .pm-row.pm-efec .pm-v{
  color:#b91c1c;
}

.price-main .pm-row.pm-usd .pm-k,
.price-main .pm-row.pm-usd .pm-v{
  color:#111827;
}

.price-main .pm-row.pm-cuotas .pm-k,
.price-main .pm-row.pm-cuotas .pm-v{
  color:#475569;
}
}

/* Offcanvas (menú): evitar que los flotantes tapen categorías */
@media (max-width: 575.98px){
  #menuOff .offcanvas-body{
    padding-bottom:90px;
  }
}

/* Destacados home */
.home-featured .mini-product{
  display:flex;
  flex-direction:column;
  height:100%;
  border-radius:18px;
  border:1px solid rgba(15,23,42,.10);
  background:rgba(255,255,255,.96);
  overflow:hidden;
  box-shadow:var(--shadow-sm);
  transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease;
  color:inherit;
}

.home-featured .mini-product:hover{
  transform:translateY(-3px);
  box-shadow:var(--shadow);
  border-color:rgba(155,208,16,.30);
}

.home-featured .mini-thumb{
  height:180px;
  padding:12px;
  background:linear-gradient(180deg,#fff,#fafafa);
  border-bottom:1px solid rgba(15,23,42,.08);
  display:flex;
  align-items:center;
  justify-content:center;
}

.home-featured .mini-thumb img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
}

.home-featured .mini-product .p-3{
  display:flex;
  flex-direction:column;
  flex:1;
  padding:14px !important;
}

.home-featured .mini-product .d-flex.justify-content-between{
  align-items:flex-start;
  gap:10px;
}

.home-featured .mini-title{
  flex:1;
  min-width:0;
  font-weight:800;
  font-size:15px;
  line-height:1.3;
  color:#0f172a;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

.home-featured .mini-product .badge{
  flex-shrink:0;
  font-size:11px;
  line-height:1;
  padding:7px 10px;
  border-radius:999px;
}

.home-featured .mini-cta{
  margin-top:auto;
  padding-top:10px;
  font-weight:800;
  font-size:14px;
  color:#0f172a;
}

@media (max-width: 575.98px){
  .home-featured .mini-thumb{
    height:150px;
    padding:10px;
  }

  .home-featured .mini-title{
    font-size:14px;
  }

  .home-featured .mini-product .badge{
    font-size:10px;
    padding:6px 8px;
  }
}

/* Slider destacados mobile */
.home-featured .carousel-item{
  padding-bottom:4px;
}

.home-featured .carousel-indicators [data-bs-target]{
  width:8px;
  height:8px;
  border-radius:50%;
  border:0;
  margin:0 4px;
}

@media (max-width: 575.98px){
  .home-featured .carousel .mini-product{
    margin:0 auto;
    max-width:320px;
  }
}