/* ================================================================
   MAYORISTA — B2B / Corporativo / Azul y Ámbar (layout-mayorista)
   ================================================================ */
body.layout-mayorista { background: #f8fafc; font-family: 'DM Sans', system-ui, sans-serif; }

/* Header azul corporativo */
body.layout-mayorista header { background: var(--color-primario) !important; box-shadow: 0 2px 12px rgba(30,58,95,.4) !important; }
body.layout-mayorista #category-buttons { background: var(--color-primario-deep) !important; border-top: 1px solid rgba(255,255,255,.10) !important; }
body.layout-mayorista .header-logo-text strong { color: #fbbf24 !important; font-family: 'DM Sans', sans-serif; font-weight: 700; }
body.layout-mayorista .nav-link-btn, body.layout-mayorista .quick-pill, body.layout-mayorista .dropdown-btn { color: #cbd5e1 !important; font-family: 'DM Sans', sans-serif; font-size: 0.82rem; }
body.layout-mayorista .nav-link-btn:hover, body.layout-mayorista .quick-pill:hover { color: #ffffff !important; }
body.layout-mayorista .header-search-wrap { background: rgba(255,255,255,.10); border-color: rgba(255,255,255,.2); border-radius: 6px; }
body.layout-mayorista .header-search-wrap input { color: #fff; background: transparent; font-family: 'DM Sans', sans-serif; }
body.layout-mayorista .header-search-wrap input::placeholder { color: rgba(203,213,225,.55); }
body.layout-mayorista .header-cart-btn { background: var(--color-acento) !important; color: #fff !important; border-radius: 6px; font-weight: 600; font-family: 'DM Sans', sans-serif; }
body.layout-mayorista .header-cart-btn:hover { background: var(--color-acento-hover) !important; }
body.layout-mayorista #cart-count { background: #fbbf24; color: #000; }

/* Cards — compacto, borde, corporate */
body.layout-mayorista .product-grid { grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 1.2rem; }
body.layout-mayorista .product { background: #ffffff; border: 1px solid #e2e8f0; border-radius: 8px; box-shadow: 0 1px 4px rgba(30,58,95,.06); overflow: hidden; }
body.layout-mayorista .product:hover { transform: translateY(-2px); box-shadow: 0 6px 18px rgba(30,58,95,.14); border-color: #94a3b8; }
body.layout-mayorista .prod-img-wrap { aspect-ratio: 1/1; border-radius: 0; background: #f1f5f9; }
body.layout-mayorista .prod-img-wrap img { object-fit: contain; }
body.layout-mayorista .product:hover .prod-img-wrap img { transform: scale(1.03); }
body.layout-mayorista .product h3 { color: #0f172a !important; font-family: 'DM Sans', sans-serif; font-weight: 500; font-size: 0.85rem; padding: 0.55rem 0.8rem 0.1rem; }
body.layout-mayorista .product p { color: var(--color-acento) !important; font-weight: 800; font-family: 'DM Sans', sans-serif; font-size: 1.1rem; padding: 0 0.8rem 0.4rem; }
body.layout-mayorista .product > button:not(.quantity-controls button) { background: var(--color-primario); color: #fff; border-radius: 6px; margin: 0 0.8rem 0.8rem; width: calc(100% - 1.6rem); font-family: 'DM Sans', sans-serif; font-weight: 600; font-size: 0.82rem; }
body.layout-mayorista .product > button:not(.quantity-controls button):hover { background: var(--color-primario-deep); }
body.layout-mayorista .quantity-controls { border-radius: 6px; margin: 0 0.8rem 0.8rem; }
@media (hover: none) { body.layout-mayorista .product > button:not(.quantity-controls button) { opacity: 1 !important; } }

/* Títulos */
body.layout-mayorista .seccion-titulo { color: var(--color-primario); border-bottom-color: #cbd5e1; font-family: 'DM Sans', sans-serif; font-weight: 700; text-transform: none; font-size: 0.95rem; }
body.layout-mayorista .category-title { color: var(--color-primario); border-bottom-color: #cbd5e1; font-family: 'DM Sans', sans-serif; font-weight: 700; text-transform: none; }

/* Strip */
body.layout-mayorista .strip-info { background: var(--color-primario); }
body.layout-mayorista .strip-item { color: #e2e8f0; font-family: 'DM Sans', sans-serif; }
body.layout-mayorista .strip-item strong, body.layout-mayorista .strip-item span { color: #fbbf24 !important; }
body.layout-mayorista .strip-item { border-color: rgba(255,255,255,.15) !important; }

/* Precios */
body.layout-mayorista .precio-actual { color: var(--color-acento) !important; font-weight: 800; }

/* Carrito */
body.layout-mayorista .cart-header { background: var(--color-primario); }
body.layout-mayorista .cart-checkout-btn { background: var(--color-primario); border-radius: 6px; font-family: 'DM Sans', sans-serif; font-weight: 600; }
body.layout-mayorista .cart-checkout-btn:hover { background: var(--color-primario-deep); }

/* Hero */
body.layout-mayorista .hero-section { background: linear-gradient(135deg, #0f172a 0%, var(--color-primario) 60%, #1e40af 100%); min-height: 400px; }
body.layout-mayorista .hero-section.has-hero-bg .hero-overlay { background: rgba(15,23,42,.65) !important; }
body.layout-mayorista .hero-tag { background: rgba(251,191,36,.12); border: 1px solid rgba(251,191,36,.4); color: #fde68a; border-radius: 6px; font-family: 'DM Sans', sans-serif; font-size: 0.72rem; font-weight: 600; }
body.layout-mayorista .hero-titulo { font-family: 'DM Sans', sans-serif; font-weight: 800; color: #ffffff; font-size: clamp(1.9rem, 4vw, 3.2rem); line-height: 1.2; }
body.layout-mayorista .hero-sub { color: rgba(203,213,225,.78); font-family: 'DM Sans', sans-serif; font-size: 0.92rem; }
body.layout-mayorista .hero-cta { background: var(--color-acento); color: #fff; border-radius: 6px; font-family: 'DM Sans', sans-serif; font-weight: 700; }
body.layout-mayorista .hero-cta:hover { background: var(--color-acento-hover); filter: none; }

/* Categorías */
body.layout-mayorista .cat-visual-card { background: #ffffff; border: 1px solid #e2e8f0; border-radius: 8px; }
body.layout-mayorista .cat-visual-card:hover { background: #f8fafc; border-color: #94a3b8; box-shadow: 0 4px 12px rgba(30,58,95,.12); }
body.layout-mayorista .cat-visual-nombre { color: #0f172a !important; font-family: 'DM Sans', sans-serif; font-weight: 600; }
body.layout-mayorista .cat-visual-count { color: #64748b; font-size: 0.75rem; }

/* Producto detalle */
body.layout-mayorista .pd-ab-hero { grid-template-columns: 50fr 50fr; max-width: 1200px; margin: 0 auto; padding: 2rem 1.5rem; gap: 2rem; align-items: start; }
body.layout-mayorista .pd-ab-images { grid-column: 1; grid-row: 1; position: sticky; top: 80px; background: #f1f5f9; border-radius: 8px; }
body.layout-mayorista .pd-carousel-frame { min-height: 320px; max-height: 70vh; border-radius: 8px; }
body.layout-mayorista .pd-ab-main-img { min-height: 320px; max-height: 70vh; border-radius: 8px; object-fit: contain; background: #f1f5f9; }
body.layout-mayorista .pd-ab-panel { grid-column: 2; grid-row: 1; background: #fff; border: 1px solid #e2e8f0; border-radius: 8px; padding: 2rem 1.8rem; box-shadow: 0 2px 12px rgba(30,58,95,.07); }
body.layout-mayorista .pd-ab-title { color: #0f172a; font-family: 'DM Sans', sans-serif; font-weight: 700; font-size: clamp(1.5rem, 2.8vw, 2rem); }
body.layout-mayorista .pd-price { color: var(--color-acento) !important; font-weight: 800; font-size: 1.6rem !important; }
body.layout-mayorista .pd-ab-btn-main { background: var(--color-primario); border-radius: 6px; font-family: 'DM Sans', sans-serif; font-weight: 700; }
body.layout-mayorista .pd-ab-btn-main:hover:not(:disabled) { background: var(--color-primario-deep); }
body.layout-mayorista .pd-ab-btn-main:disabled { background: rgba(30,58,95,.15); color: #475569; }
body.layout-mayorista .pd-car-thumbs { background: rgba(241,245,249,.95); border-radius: 0 0 8px 8px; justify-content: center; width: 100%; box-sizing: border-box; }

@media (max-width: 768px) {
    body.layout-mayorista .pd-ab-hero { grid-template-columns: 1fr; padding: 1rem; gap: 1rem; }
    body.layout-mayorista .pd-ab-images { grid-column: 1; grid-row: 1; position: static; }
    body.layout-mayorista .pd-ab-panel { grid-column: 1; grid-row: 2; }
}
