/* =============================================
   LANDING — Página de inicio del portal
   Se carga solo en la home. Usa las variables de mayorista.css.
   ============================================= */

body.mayorista-body.mayorista-landing {
    --l-ink:    #15171A;
    --l-ink-2:  #454A52;
    --l-muted:  #6B7078;
    --l-line:   #E6E7EA;
    --l-soft:   #F6F7F8;
    --l-radius: 14px;
    --l-shadow: 0 1px 2px rgba(17,24,39,.04), 0 10px 28px rgba(17,24,39,.07);
}

/* mayorista.css fuerza letter-spacing en los títulos: acá se necesita ajustarlo */
body.mayorista-body.mayorista-landing .l-h-tight { letter-spacing: -.028em !important; }

body.mayorista-body .l-container { max-width: 1200px; margin: 0 auto; padding: 0 1.5rem; }
body.mayorista-body .l-container-narrow { max-width: 780px;  margin: 0 auto; padding: 0 1.5rem; }

body.mayorista-body .l-section { padding: 3rem 0; background: #fff; }
body.mayorista-body .l-section-soft { background: var(--l-soft); }

/* ── Encabezado de sección ── */
body.mayorista-body .l-kicker {
    display: inline-flex;
    align-items: center;
    gap: .6rem;
    margin: 0 0 .9rem;
    color: var(--cc-naranja-dark);
    font-size: .76rem;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
}
body.mayorista-body .l-kicker::before { content: ''; width: 22px; height: 2px; background: var(--cc-naranja); border-radius: 2px; }

body.mayorista-body .l-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1.5rem;
    margin-bottom: 1.75rem;
}
body.mayorista-body .l-head-center { flex-direction: column; align-items: center; gap: 0; text-align: center; margin-bottom: 2rem; }
body.mayorista-body .l-head h2 {
    margin: 0 0 .6rem;
    color: var(--l-ink);
    font-size: clamp(1.65rem, 2.8vw, 2.2rem);
    font-weight: 700;
    line-height: 1.15;
}
body.mayorista-body .l-head p:not(.l-kicker) { margin: 0; max-width: 40rem; color: var(--l-muted); font-size: 1.02rem; }
body.mayorista-body .l-head-link {
    display: inline-flex; align-items: center; gap: .45rem;
    flex-shrink: 0;
    color: var(--l-ink);
    font-size: .92rem;
    font-weight: 600;
    padding-bottom: .15rem;
    border-bottom: 2px solid var(--cc-naranja);
    transition: color .15s;
}
body.mayorista-body .l-head-link:hover { color: var(--cc-naranja-dark); }
body.mayorista-body .l-head-link svg { width: 16px; height: 16px; }

/* ── Botones ── */
body.mayorista-body .l-btn {
    display: inline-flex; align-items: center; justify-content: center; gap: .55rem;
    padding: .9rem 1.6rem;
    border: 1.5px solid transparent;
    border-radius: 10px;
    font-size: .98rem;
    font-weight: 600;
    line-height: 1.2;
    cursor: pointer;
    transition: background .15s, border-color .15s, color .15s, transform .15s;
}
body.mayorista-body .l-btn svg { width: 17px; height: 17px; flex-shrink: 0; }
body.mayorista-body .l-btn-primary { background: var(--cc-naranja); color: #fff; }
body.mayorista-body .l-btn-primary:hover { background: var(--cc-naranja-dark); color: #fff; transform: translateY(-1px); }
body.mayorista-body .l-btn-ghost { border-color: rgba(255,255,255,.28); color: #fff; }
body.mayorista-body .l-btn-ghost:hover { border-color: rgba(255,255,255,.6); background: rgba(255,255,255,.06); color: #fff; }

/* ══════════════════════════════════════
   HERO
══════════════════════════════════════ */
body.mayorista-body .l-hero {
    position: relative;
    overflow: hidden;
    color: #fff;
    background:
        radial-gradient(60% 80% at 85% 10%, rgba(232,114,45,.16) 0%, transparent 60%),
        linear-gradient(180deg, #17191D 0%, #111316 100%);
}
body.mayorista-body .l-hero-inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 4rem 1.5rem 3.5rem;
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr);
    gap: 4.5rem;
    align-items: center;
}

body.mayorista-body .l-hero .l-kicker { color: #F0955B; }
body.mayorista-body .l-hero h1 {
    margin: 0 0 1.35rem;
    color: #fff;
    font-size: clamp(2.3rem, 4.4vw, 3.7rem);
    font-weight: 700;
    line-height: 1.08;
}
body.mayorista-body .l-hero h1 .l-accent { color: var(--cc-naranja); }
body.mayorista-body .l-lead {
    max-width: 34rem;
    margin: 0 0 2.25rem;
    color: rgba(255,255,255,.68);
    font-size: 1.12rem;
    line-height: 1.65;
}
body.mayorista-body .l-actions { display: flex; flex-wrap: wrap; gap: .8rem; }

body.mayorista-body .l-stats {
    display: grid;
    grid-template-columns: repeat(3, auto);
    justify-content: start;
    gap: 0;
    margin-top: 2.25rem;
    padding-top: 1.5rem;
    border-top: 1px solid rgba(255,255,255,.12);
}
body.mayorista-body .l-stat { padding-right: 2.25rem; }
body.mayorista-body .l-stat + .l-stat { padding-left: 2.25rem; border-left: 1px solid rgba(255,255,255,.12); }
body.mayorista-body .l-stat strong { display: block; color: #fff; font-size: 1.7rem; font-weight: 700; line-height: 1.1; letter-spacing: -.02em; }
body.mayorista-body .l-stat span { display: block; margin-top: .3rem; color: rgba(255,255,255,.5); font-size: .8rem; }

/* Tarjeta de condiciones */
body.mayorista-body .l-cond {
    padding: 2rem;
    border-radius: 18px;
    background: #fff;
    color: var(--l-ink);
    box-shadow: 0 30px 60px rgba(0,0,0,.35);
}
body.mayorista-body .l-cond h2 { margin: 0 0 1.25rem; color: var(--l-ink); font-size: 1.05rem; font-weight: 700; }
body.mayorista-body .l-cond-list { display: flex; flex-direction: column; }
body.mayorista-body .l-cond-item {
    display: flex; align-items: center; gap: 1rem;
    padding: .95rem 0;
    border-top: 1px solid var(--l-line);
}
body.mayorista-body .l-cond-icon {
    width: 40px; height: 40px;
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0;
    border-radius: 10px;
    background: #FDF0E8;
    color: var(--cc-naranja-dark);
}
body.mayorista-body .l-cond-icon svg { width: 20px; height: 20px; }
body.mayorista-body .l-cond-label { display: block; color: var(--l-muted); font-size: .78rem; }
body.mayorista-body .l-cond-value { display: block; color: var(--l-ink); font-size: .98rem; font-weight: 600; line-height: 1.35; }
body.mayorista-body .l-cond-link {
    display: inline-flex; align-items: center; gap: .45rem;
    margin-top: .9rem;
    padding-top: 1.1rem;
    width: 100%;
    border-top: 1px solid var(--l-line);
    color: var(--cc-naranja-dark);
    font-size: .92rem;
    font-weight: 600;
}
body.mayorista-body .l-cond-link:hover { color: var(--l-ink); }
body.mayorista-body .l-cond-link svg { width: 16px; height: 16px; }

/* ══════════════════════════════════════
   NUEVOS MODELOS
══════════════════════════════════════ */
body.mayorista-body .l-nuevos-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.25rem; }
body.mayorista-body .l-card {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid var(--l-line);
    border-radius: var(--l-radius);
    background: #fff;
    transition: box-shadow .2s, transform .2s, border-color .2s;
}
body.mayorista-body .l-card:hover { transform: translateY(-3px); box-shadow: var(--l-shadow); border-color: #D5D7DC; }
body.mayorista-body .l-card-img {
    position: relative;
    aspect-ratio: 1;
    padding: 12px;
    background: var(--l-soft);
    overflow: hidden;
}
body.mayorista-body .l-card-img img { display: block; width: 100%; height: 100%; object-fit: contain; }
body.mayorista-body .l-card-tag {
    position: absolute; top: .7rem; left: .7rem;
    padding: .22rem .6rem;
    border-radius: 6px;
    background: var(--l-ink);
    color: #fff;
    font-size: .64rem;
    font-weight: 700;
    letter-spacing: .1em;
}
body.mayorista-body .l-card-body { display: flex; align-items: flex-start; justify-content: space-between; gap: .75rem; padding: .95rem 1rem 1.05rem; }
body.mayorista-body .l-card-name {
    margin: 0;
    color: var(--l-ink);
    font-size: .95rem;
    font-weight: 600;
    line-height: 1.3;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
body.mayorista-body .l-card-sku { margin: .3rem 0 0; color: var(--l-muted); font-size: .78rem; }
body.mayorista-body .l-chip {
    flex-shrink: 0;
    padding: .2rem .55rem;
    border-radius: 6px;
    background: #FDF0E8;
    color: var(--cc-naranja-dark);
    font-size: .74rem;
    font-weight: 700;
}

/* ══════════════════════════════════════
   BENEFICIOS
══════════════════════════════════════ */
body.mayorista-body .l-benef-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    border: 1px solid var(--l-line);
    border-radius: var(--l-radius);
    background: #fff;
    overflow: hidden;
}
body.mayorista-body .l-benef { padding: 2rem 1.75rem; }
body.mayorista-body .l-benef + .l-benef { border-left: 1px solid var(--l-line); }
body.mayorista-body .l-benef-icon {
    width: 46px; height: 46px;
    display: flex; align-items: center; justify-content: center;
    margin-bottom: 1.15rem;
    border-radius: 12px;
    background: #FDF0E8;
    color: var(--cc-naranja-dark);
}
body.mayorista-body .l-benef-icon svg { width: 23px; height: 23px; }
body.mayorista-body .l-benef h3 { margin: 0 0 .5rem; color: var(--l-ink); font-size: 1.02rem; font-weight: 700; }
body.mayorista-body .l-benef p { margin: 0; color: var(--l-muted); font-size: .92rem; line-height: 1.6; }

/* ══════════════════════════════════════
   TAMAÑOS
══════════════════════════════════════ */
body.mayorista-body .l-size-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; margin-bottom: 1.5rem; }
body.mayorista-body .l-size {
    padding: 2rem 2.25rem;
    border: 1px solid var(--l-line);
    border-radius: var(--l-radius);
    background: #fff;
}
body.mayorista-body .l-size-head {
    display: flex; align-items: flex-start; justify-content: space-between;
    padding-bottom: 1.25rem;
    margin-bottom: 1.25rem;
    border-bottom: 1px solid var(--l-line);
}
body.mayorista-body .l-size-num { color: var(--l-ink); font-size: 2.6rem; font-weight: 700; line-height: 1; letter-spacing: -.03em; }
body.mayorista-body .l-size-tipo { margin: .55rem 0 0; color: var(--l-muted); font-size: .88rem; }
body.mayorista-body .l-size-mult {
    padding: .3rem .8rem;
    border-radius: 999px;
    background: var(--cc-naranja);
    color: #fff;
    font-size: .85rem;
    font-weight: 700;
}
body.mayorista-body .l-size-list { display: flex; flex-direction: column; gap: .7rem; }
body.mayorista-body .l-size-list li { position: relative; padding-left: 1.7rem; color: var(--l-ink-2); font-size: .94rem; line-height: 1.5; }
body.mayorista-body .l-size-list li svg { position: absolute; left: 0; top: .18rem; width: 17px; height: 17px; color: var(--cc-naranja); }
body.mayorista-body .l-note {
    display: flex; align-items: flex-start; gap: .75rem;
    padding: 1rem 1.25rem;
    border: 1px solid var(--l-line);
    border-radius: 12px;
    background: #fff;
    color: var(--l-ink-2);
    font-size: .92rem;
    line-height: 1.55;
}
body.mayorista-body .l-note svg { width: 19px; height: 19px; flex-shrink: 0; margin-top: .1rem; color: var(--cc-naranja-dark); }

/* ══════════════════════════════════════
   CÓMO HACER UN PEDIDO
══════════════════════════════════════ */
body.mayorista-body .l-steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.5rem; counter-reset: paso; }
body.mayorista-body .l-step { position: relative; padding-top: 1.5rem; border-top: 2px solid var(--l-line); }
body.mayorista-body .l-step::before {
    content: '';
    position: absolute; top: -2px; left: 0;
    width: 44px; height: 2px;
    background: var(--cc-naranja);
}
body.mayorista-body .l-step-num { display: block; margin-bottom: 1.1rem; color: var(--cc-naranja-dark); font-size: .8rem; font-weight: 700; letter-spacing: .12em; }
body.mayorista-body .l-step-icon {
    width: 46px; height: 46px;
    display: flex; align-items: center; justify-content: center;
    margin-bottom: 1rem;
    border: 1px solid var(--l-line);
    border-radius: 12px;
    background: #fff;
    color: var(--l-ink);
}
body.mayorista-body .l-step-icon svg { width: 22px; height: 22px; }
body.mayorista-body .l-step h3 { margin: 0 0 .45rem; color: var(--l-ink); font-size: 1.02rem; font-weight: 700; }
body.mayorista-body .l-step p { margin: 0; color: var(--l-muted); font-size: .92rem; line-height: 1.6; }

/* ══════════════════════════════════════
   PAGO Y ENVÍO
══════════════════════════════════════ */
body.mayorista-body .l-info-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; }
body.mayorista-body .l-panel { padding: 2rem 2.25rem; border: 1px solid var(--l-line); border-radius: var(--l-radius); background: #fff; }
body.mayorista-body .l-panel-head { display: flex; align-items: center; gap: .9rem; margin-bottom: 1.15rem; }
body.mayorista-body .l-panel-icon {
    width: 44px; height: 44px;
    display: flex; align-items: center; justify-content: center;
    border-radius: 12px;
    background: #FDF0E8;
    color: var(--cc-naranja-dark);
}
body.mayorista-body .l-panel-icon svg { width: 22px; height: 22px; }
body.mayorista-body .l-panel h3 { margin: 0; color: var(--l-ink); font-size: 1.15rem; font-weight: 700; }
body.mayorista-body .l-panel p { margin: 0 0 .85rem; color: var(--l-ink-2); font-size: .94rem; line-height: 1.65; }
body.mayorista-body .l-panel p:last-child { margin-bottom: 0; }
body.mayorista-body .l-tags { display: flex; flex-wrap: wrap; gap: .45rem; margin: 1.1rem 0 0; }
body.mayorista-body .l-tag {
    padding: .3rem .8rem;
    border: 1px solid var(--l-line);
    border-radius: 999px;
    background: var(--l-soft);
    color: var(--l-ink-2);
    font-size: .82rem;
    font-weight: 600;
}
body.mayorista-body .l-tag-ok { border-color: #ABEFC6; background: #ECFDF3; color: #067647; }

/* ══════════════════════════════════════
   PREGUNTAS FRECUENTES (acordeón: el comportamiento está en mayorista.js)
══════════════════════════════════════ */
body.mayorista-body .l-faq .mayorista-faq-item { border-bottom: 1px solid var(--l-line); }
body.mayorista-body .l-faq .mayorista-faq-item:first-child { border-top: 1px solid var(--l-line); }
body.mayorista-body .l-faq .mayorista-faq-question {
    position: relative;
    display: block;
    width: 100%;
    padding: 1.3rem 3rem 1.3rem 0;
    border: none;
    background: none;
    color: var(--l-ink);
    font-family: inherit;
    font-size: 1.02rem;
    font-weight: 600;
    line-height: 1.4;
    text-align: left;
    cursor: pointer;
    transition: color .15s;
}
body.mayorista-body .l-faq .mayorista-faq-question:hover { color: var(--cc-naranja-dark); }
body.mayorista-body .l-faq .mayorista-faq-question::before,
body.mayorista-body .l-faq .mayorista-faq-question::after {
    content: '';
    position: absolute; top: 50%; right: .25rem;
    width: 14px; height: 2px;
    margin-top: -1px;
    border-radius: 2px;
    background: currentColor;
    transition: transform .2s;
}
body.mayorista-body .l-faq .mayorista-faq-question::after { transform: rotate(90deg); }
body.mayorista-body .l-faq .mayorista-faq-item.open .mayorista-faq-question::after { transform: rotate(0deg); }
body.mayorista-body .l-faq .mayorista-faq-answer { display: none; padding: 0 3rem 1.4rem 0; }
body.mayorista-body .l-faq .mayorista-faq-item.open .mayorista-faq-answer { display: block; }
body.mayorista-body .l-faq .mayorista-faq-answer p { margin: 0; color: var(--l-ink-2); font-size: .97rem; line-height: 1.7; }

/* ══════════════════════════════════════
   RESEÑAS
══════════════════════════════════════ */
body.mayorista-body .l-reviews-widget { max-width: 1200px; margin: 0 auto; padding: 0 1.5rem; }
body.mayorista-body .l-reviews-widget > * { max-width: 100%; }

/* ══════════════════════════════════════
   CTA FINAL
══════════════════════════════════════ */
body.mayorista-body .l-cta { padding: 3rem 0; background: #fff; }
body.mayorista-body .l-cta-box {
    padding: 3rem 2rem;
    border-radius: 20px;
    text-align: center;
    color: #fff;
    background:
        radial-gradient(60% 120% at 50% 0%, rgba(232,114,45,.22) 0%, transparent 65%),
        #17191D;
}
body.mayorista-body .l-cta-box h2 { margin: 0 0 .8rem; color: #fff; font-size: clamp(1.7rem, 3vw, 2.3rem); font-weight: 700; line-height: 1.15; }
body.mayorista-body .l-cta-box p { margin: 0 auto 2rem; max-width: 32rem; color: rgba(255,255,255,.68); font-size: 1.05rem; }
body.mayorista-body .l-cta-box .l-actions { justify-content: center; }

/* El footer va pegado al cierre de la home */
body.mayorista-body.mayorista-landing .pf { margin-top: 0; }

/* ══════════════════════════════════════
   RESPONSIVE
══════════════════════════════════════ */
@media (max-width: 1000px) {
    body.mayorista-body .l-hero-inner { grid-template-columns: 1fr; gap: 2.25rem; padding: 3rem 1.5rem 2.5rem; }
    body.mayorista-body .l-cond { max-width: none; }
    body.mayorista-body .l-cond-list { display: grid; grid-template-columns: 1fr 1fr; column-gap: 2.5rem; }
    body.mayorista-body .l-nuevos-grid { grid-template-columns: repeat(3, 1fr); }
    body.mayorista-body .l-benef-grid { grid-template-columns: repeat(2, 1fr); }
    body.mayorista-body .l-benef:nth-child(3) { border-left: none; }
    body.mayorista-body .l-benef:nth-child(n+3) { border-top: 1px solid var(--l-line); }
    body.mayorista-body .l-steps { grid-template-columns: repeat(2, 1fr); gap: 2.25rem 1.5rem; }
}
@media (max-width: 720px) {
    body.mayorista-body .l-section { padding: 1.75rem 0; }
    body.mayorista-body .l-head { flex-direction: column; align-items: flex-start; gap: .6rem; margin-bottom: 1rem; }
    body.mayorista-body .l-head-center { align-items: center; }
    body.mayorista-body .l-hero-inner { padding: 1.75rem 1.25rem 1.5rem; gap: 1.75rem; }
    body.mayorista-body .l-actions .l-btn { flex: 1 1 100%; }
    body.mayorista-body .l-stats { grid-template-columns: repeat(3, 1fr); margin-top: 1.75rem; padding-top: 1.25rem; }
    body.mayorista-body .l-stat { padding-right: .75rem; }
    body.mayorista-body .l-stat + .l-stat { padding-left: .9rem; }
    body.mayorista-body .l-stat strong { font-size: 1.35rem; }
    body.mayorista-body .l-cond { padding: 1.5rem; }
    body.mayorista-body .l-cond-list { grid-template-columns: 1fr; }
    body.mayorista-body .l-nuevos-grid { grid-template-columns: repeat(2, 1fr); gap: .8rem; }
    body.mayorista-body .l-card-body { flex-direction: column; gap: .5rem; padding: .8rem .85rem .9rem; }
    body.mayorista-body .l-benef-grid { grid-template-columns: 1fr; }
    body.mayorista-body .l-benef { padding: 1.25rem; }
    body.mayorista-body .l-benef-icon { margin-bottom: .8rem; }
    body.mayorista-body .l-benef + .l-benef { border-left: none; border-top: 1px solid var(--l-line); }
    body.mayorista-body .l-size-grid,
body.mayorista-body .l-info-grid { grid-template-columns: 1fr; }
    body.mayorista-body .l-size,
body.mayorista-body .l-panel { padding: 1.25rem; }
    body.mayorista-body .l-size-head { padding-bottom: 1rem; margin-bottom: 1rem; }
    body.mayorista-body .l-steps { grid-template-columns: 1fr; gap: 1.25rem; }
    body.mayorista-body .l-step { padding-top: 1.1rem; }
    body.mayorista-body .l-step-num { margin-bottom: .7rem; }
    body.mayorista-body .l-step-icon { margin-bottom: .7rem; }
    body.mayorista-body .l-cta { padding: 1.5rem 0; }
    body.mayorista-body .l-cta-box { padding: 1.75rem 1.25rem; border-radius: 16px; }
}

/* ══════════════════════════════════════
   BANNER DE COMBOS (arte a un lado, combos que van pasando sobre el blanco)
   Imágenes: assets/img/banner-combos-desktop.jpg (escritorio/tablet) y banner-combos-mobile.jpg (celular)
══════════════════════════════════════ */
body.mayorista-body .cb {
    position: relative; display: grid; grid-template-columns: 1.2fr 1fr; min-height: 440px;
    border-radius: 22px; overflow: hidden; background: #fff; border: 1px solid var(--linea);
    box-shadow: 0 1px 2px rgba(17,24,39,.04), 0 14px 36px rgba(17,24,39,.08);
}
body.mayorista-body .cb-arte {
    position: absolute; inset: 0 auto 0 0; width: 62%;
    background: url("../img/banner-combos-desktop.jpg") left top / auto 440px no-repeat;
    -webkit-mask-image: linear-gradient(90deg, #000 80%, transparent 100%); mask-image: linear-gradient(90deg, #000 80%, transparent 100%);
}
body.mayorista-body .cb-panel { grid-column: 2; position: relative; z-index: 2; display: flex; flex-direction: column; justify-content: center; gap: 1rem; padding: 1.6rem 2rem 1.3rem 0;
}
body.mayorista-body .cb-kicker { display: inline-flex; align-items: center; gap: .6rem; margin: 0 0 .5rem; color: var(--naranja-dark); font-size: .76rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase;
}
body.mayorista-body .cb-kicker::before { content: ""; width: 24px; height: 2px; background: var(--naranja); border-radius: 2px;
}
body.mayorista-body .cb-titulo { margin: 0; font-size: clamp(1.5rem, 2.5vw, 2.05rem); line-height: 1.1; letter-spacing: -.028em; font-weight: 800;
}
body.mayorista-body .cb-titulo span { color: var(--naranja);
}
body.mayorista-body .cb-sub { margin: .5rem 0 0; font-size: .92rem; line-height: 1.45; color: var(--gris);
}
body.mayorista-body .cb-pila { position: relative; display: grid; min-height: 192px;
}
body.mayorista-body .cb-slide {
    position: relative; grid-area: 1 / 1; min-width: 0; display: flex; align-items: center; gap: 1.3rem;
    color: inherit; text-decoration: none; opacity: 0; transform: translateX(34px); pointer-events: none;
    transition: opacity .55s ease, transform .55s ease;
}
body.mayorista-body .cb-slide.activo { opacity: 1; transform: none; pointer-events: auto;
}
body.mayorista-body .cb-slide.sale { opacity: 0; transform: translateX(-34px);
}
body.mayorista-body .cb-foto {
    position: relative; flex: 0 0 176px; width: 176px; height: 176px; padding: 11px; border-radius: 18px; background: #F6F7F8;
    box-shadow: 0 12px 30px rgba(17,24,39,.12), inset 0 0 0 1px rgba(17,24,39,.04);
}
body.mayorista-body .cb-foto img { display: block; width: 100%; height: 100%; object-fit: contain;
}
body.mayorista-body .cb-tag { position: absolute; top: -9px; left: -9px; background: var(--naranja); color: #fff; font-size: .64rem; font-weight: 800; letter-spacing: .1em; padding: .28rem .6rem; border-radius: 7px; box-shadow: 0 4px 10px rgba(232,114,45,.4);
}
body.mayorista-body .cb-info { min-width: 0;
}
body.mayorista-body .cb-nombre { margin: 0 0 .25rem; font-size: 1.25rem; font-weight: 800; line-height: 1.2;
}
body.mayorista-body .cb-meta { margin: 0 0 .75rem; font-size: .9rem; color: var(--gris);
}
body.mayorista-body .cb-cta { display: inline-flex; align-items: center; gap: .5rem; padding: .58rem 1.05rem; border-radius: 10px; background: var(--naranja); color: #fff; font-size: .88rem; font-weight: 800; box-shadow: 0 6px 16px rgba(232,114,45,.32); transition: background .15s;
}
body.mayorista-body .cb-slide:hover .cb-cta { background: var(--naranja-dark);
}
body.mayorista-body .cb-cta svg { width: 15px; height: 15px;
}
body.mayorista-body .cb-pie { display: flex; align-items: center; justify-content: space-between; gap: 1rem;
}
body.mayorista-body .cb-control { display: flex; align-items: center; gap: .7rem;
}
body.mayorista-body .cb-dots { display: flex; gap: .45rem;
}
body.mayorista-body .cb-dot { width: 9px; height: 9px; padding: 0; border: 0; border-radius: 99px; background: #D7D9DE; cursor: pointer; transition: width .3s, background .3s;
}
body.mayorista-body .cb-dot.activo { width: 28px; background: var(--naranja);
}
body.mayorista-body .cb-flecha { width: 34px; height: 34px; padding: 0; display: grid; place-items: center; border: 1px solid var(--linea); border-radius: 50%; background: #fff; color: var(--carbon); cursor: pointer;
}
body.mayorista-body .cb-flecha:hover { background: var(--naranja); border-color: var(--naranja); color: #fff;
}
body.mayorista-body .cb-flecha svg { width: 15px; height: 15px;
}
body.mayorista-body .cb-flecha.atras svg { transform: scaleX(-1);
}
body.mayorista-body .cb-todos { display: inline-flex; align-items: center; gap: .4rem; color: var(--carbon); font-size: .88rem; font-weight: 700; text-decoration: none; border-bottom: 2px solid var(--naranja); padding-bottom: 2px; white-space: nowrap;
}
body.mayorista-body .cb-todos svg { width: 15px; height: 15px;
}
@media (max-width: 1100px) {
  body.mayorista-body .cb { grid-template-columns: 1.2fr 1fr; grid-template-rows: 250px auto auto; min-height: 0;
  }
  body.mayorista-body .cb-arte { inset: 0 auto auto 0; width: 62%; height: 250px; background: url("../img/banner-combos-desktop.jpg") left center / cover no-repeat;
  }
  body.mayorista-body .cb-arte::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(255,255,255,0) 70%, #fff 100%);
  }
  body.mayorista-body .cb-panel { display: contents;
  }
  body.mayorista-body .cb-head { grid-column: 2; grid-row: 1; align-self: center; position: relative; z-index: 2; padding: 1rem 1.6rem 1rem 0;
  }
  body.mayorista-body .cb-pila { grid-column: 1 / -1; grid-row: 2; position: relative; z-index: 2; margin: 0 1.8rem; min-height: 190px;
  }
  body.mayorista-body .cb-pie { grid-column: 1 / -1; grid-row: 3; position: relative; z-index: 2; padding: .5rem 1.8rem 1.4rem;
  }
  body.mayorista-body .cb-slide { justify-content: center;
  }
  
}
@media (max-width: 760px) {
  body.mayorista-body .cb { grid-template-columns: 1fr; grid-template-rows: auto; border-radius: 18px;
  }
  body.mayorista-body .cb-arte { inset: 0 0 auto 0; width: auto; height: 285px; background: url("../img/banner-combos-mobile.jpg") center top / cover no-repeat;
        -webkit-mask-image: linear-gradient(180deg, #000 60%, transparent 92%); mask-image: linear-gradient(180deg, #000 60%, transparent 92%);
  }
  body.mayorista-body .cb-arte::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(255,255,255,0) 45%, #fff 100%);
  }
  body.mayorista-body .cb-panel { display: flex; grid-column: 1; padding: 222px 1.2rem 1.4rem; gap: .9rem;
  }
  body.mayorista-body .cb-head { grid-column: auto; grid-row: auto; padding: 0;
  }
  body.mayorista-body .cb-titulo { font-size: 1.55rem;
  }
  body.mayorista-body .cb-sub { font-size: .9rem;
  }
  body.mayorista-body .cb-pila { grid-column: auto; grid-row: auto; margin: 0; min-height: 0;
  }
  body.mayorista-body .cb-slide { flex-direction: column; justify-content: flex-start; text-align: center; gap: .9rem;
  }
  body.mayorista-body .cb-foto { flex-basis: auto; width: 190px; height: 190px;
  }
  body.mayorista-body .cb-info { text-align: center;
  }
  body.mayorista-body .cb-meta { margin-bottom: .6rem;
  }
  body.mayorista-body .cb-pie { grid-column: auto; grid-row: auto; padding: 0; flex-direction: column-reverse; gap: .9rem;
  }
  
}
@media (prefers-reduced-motion: reduce) {
  body.mayorista-body .cb-slide { transition: none;
  }
  
}

/* Reglas defensivas: el tema fuerza estilos en imágenes, enlaces y botones */
body.mayorista-body .cb { --naranja: #E8722D; --naranja-dark: #C95E1E; --naranja-light: #FDF0E8; --carbon: #2A2A2A; --gris: #6B7078; --linea: #E6E7EA; }
body.mayorista-body .cb-section { padding: 1.75rem 0 1rem; }
body.mayorista-body .cb-foto img { display: block !important; width: 100% !important; height: 100% !important; max-width: 100% !important; max-height: 100% !important; object-fit: contain !important; object-position: center !important; margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; float: none !important; }
body.mayorista-body .cb a, body.mayorista-body .cb a:hover { text-decoration: none; }
body.mayorista-body .cb a.cb-slide, body.mayorista-body .cb a.cb-slide:hover { color: var(--carbon); }
body.mayorista-body .cb a.cb-todos, body.mayorista-body .cb a.cb-todos:hover { color: var(--carbon); }
body.mayorista-body .cb .cb-cta, body.mayorista-body .cb a.cb-slide:hover .cb-cta { color: #fff; }
body.mayorista-body .cb h2.cb-titulo, body.mayorista-body .cb h3.cb-nombre { color: var(--carbon); font-family: inherit; text-transform: none; }
body.mayorista-body .cb h2.cb-titulo span { color: var(--naranja); }
body.mayorista-body .cb .cb-nombre { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
body.mayorista-body .cb button { font: inherit; text-transform: none; letter-spacing: normal; min-height: 0; box-shadow: none; }
body.mayorista-body .cb svg { flex-shrink: 0; }
body.mayorista-body .cb .cb-flecha { width: 34px; height: 34px; padding: 0; }
body.mayorista-body .cb .cb-dot { width: 9px; height: 9px; padding: 0; }
body.mayorista-body .cb .cb-dot.activo { width: 28px; }
