/* ================================================================
   ALMACEN — Despensa / Artesanal / Cálido (layout-almacen)
   ================================================================ */
body.layout-almacen { background: #fffbf5; }

/* Header oscuro marrón */
body.layout-almacen header { background: #1c1409 !important; box-shadow: 0 2px 12px rgba(0,0,0,.35) !important; }
body.layout-almacen #category-buttons { background: #241a0a !important; border-top: 1px solid #3d2e14 !important; }
body.layout-almacen .header-logo-text strong { color: var(--color-acento) !important; font-family: var(--font-display); font-style: italic; }
body.layout-almacen .nav-link-btn, body.layout-almacen .quick-pill, body.layout-almacen .dropdown-btn { color: #fde68a !important; opacity: 0.85; }
body.layout-almacen .nav-link-btn:hover, body.layout-almacen .quick-pill:hover { opacity: 1; color: var(--color-acento) !important; }
body.layout-almacen .header-search-wrap { background: #2c1f0a; border-color: #5c3f1a; }
body.layout-almacen .header-search-wrap input { color: #fde68a; background: transparent; }
body.layout-almacen .header-search-wrap input::placeholder { color: #92754a; }
body.layout-almacen .header-cart-btn { background: var(--color-primario) !important; color: #fff !important; border-radius: 12px; }
body.layout-almacen .header-cart-btn:hover { background: var(--color-primario-deep) !important; }
body.layout-almacen #cart-count { background: #fff; color: var(--color-primario); }

/* Cards */
body.layout-almacen .product-grid { grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 1.8rem 1.4rem; }
body.layout-almacen .product { background: #fffbf5; border: 1px solid #fde68a; border-radius: 20px; box-shadow: 0 2px 8px rgba(120,80,20,.08); overflow: hidden; }
body.layout-almacen .product:hover { transform: translateY(-4px); box-shadow: 0 10px 28px rgba(180,83,9,.18); border-color: var(--color-acento); }
body.layout-almacen .prod-img-wrap { aspect-ratio: 1/1; border-radius: 0; background: #fef3c7; }
body.layout-almacen .prod-img-wrap img { object-fit: cover; }
body.layout-almacen .product:hover .prod-img-wrap img { transform: scale(1.04); }
body.layout-almacen .product h3 { color: #1c1409 !important; font-family: var(--font-display); font-style: italic; font-size: 0.95rem; padding: 0.6rem 0.9rem 0.1rem; }
body.layout-almacen .product p { color: var(--color-primario) !important; font-weight: 700; padding: 0 0.9rem 0.5rem; }
body.layout-almacen .product > button:not(.quantity-controls button) { background: var(--color-primario); color: #fff; border-radius: 12px; margin: 0 0.9rem 0.9rem; width: calc(100% - 1.8rem); font-weight: 600; }
body.layout-almacen .product > button:not(.quantity-controls button):hover { background: var(--color-primario-deep); }
body.layout-almacen .quantity-controls { border-radius: 12px; margin: 0 0.9rem 0.9rem; }
@media (hover: none) { body.layout-almacen .product > button:not(.quantity-controls button) { opacity: 1 !important; } }

/* Títulos */
body.layout-almacen .seccion-titulo { color: #92400e; border-bottom-color: #fde68a; font-family: var(--font-display); font-style: italic; text-transform: none; }
body.layout-almacen .category-title { color: #92400e; border-bottom-color: #fde68a; font-family: var(--font-display); font-style: italic; text-transform: none; }

/* Strip */
body.layout-almacen .strip-info { background: #fef3c7; }
body.layout-almacen .strip-item { color: #78350f; }
body.layout-almacen .strip-item strong, body.layout-almacen .strip-item span { color: #92400e !important; }
body.layout-almacen .strip-item { border-color: rgba(180,83,9,.2) !important; }

/* Precios */
body.layout-almacen .precio-actual { color: var(--color-primario) !important; }

/* Carrito */
body.layout-almacen .cart-header { background: #1c1409; }
body.layout-almacen .cart-checkout-btn { background: var(--color-primario); border-radius: 12px; }
body.layout-almacen .cart-checkout-btn:hover { background: var(--color-primario-deep); }

/* Hero */
body.layout-almacen .hero-section { background: #1c1409; min-height: 420px; }
body.layout-almacen .hero-section.has-hero-bg .hero-overlay { background: rgba(28,20,9,.65) !important; }
body.layout-almacen .hero-tag { background: rgba(253,230,138,.12); border: 1px solid rgba(245,158,11,.4); color: #fde68a; border-radius: 99px; }
body.layout-almacen .hero-titulo { font-family: var(--font-display); font-style: italic; font-weight: 400; color: #fde68a; font-size: clamp(2.2rem, 4.5vw, 3.8rem); }
body.layout-almacen .hero-sub { color: rgba(253,230,138,.72); font-size: 0.9rem; }
body.layout-almacen .hero-cta { background: var(--color-primario); color: #fff; border-radius: 12px; font-weight: 700; }
body.layout-almacen .hero-cta:hover { background: var(--color-primario-deep); filter: none; }

/* Categorías */
body.layout-almacen .cat-visual-card { background: #fef3c7; border: 1px solid #fde68a; border-radius: 16px; }
body.layout-almacen .cat-visual-card:hover { background: #fde68a; border-color: var(--color-acento); box-shadow: 0 4px 14px rgba(180,83,9,.18); }
body.layout-almacen .cat-visual-nombre { color: #78350f !important; }
body.layout-almacen .cat-visual-count { color: var(--color-primario); }

/* Producto detalle */
body.layout-almacen .pd-ab-hero { grid-template-columns: 55fr 45fr; max-width: 1200px; margin: 0 auto; padding: 2rem 1.5rem; gap: 2.5rem; align-items: start; }
body.layout-almacen .pd-ab-images { grid-column: 1; grid-row: 1; position: sticky; top: 80px; background: #fef3c7; border-radius: 20px; }
body.layout-almacen .pd-carousel-frame { min-height: 340px; max-height: 70vh; border-radius: 20px; }
body.layout-almacen .pd-ab-main-img { min-height: 340px; max-height: 70vh; border-radius: 20px; object-fit: contain; background: #fef3c7; }
body.layout-almacen .pd-ab-panel { grid-column: 2; grid-row: 1; background: #fff; border: 1px solid #fde68a; border-radius: 20px; padding: 2rem 1.8rem; box-shadow: 0 4px 20px rgba(180,83,9,.10); }
body.layout-almacen .pd-ab-title { color: #1c1409; font-family: var(--font-display); font-style: italic; font-weight: 400; font-size: clamp(1.7rem, 3vw, 2.4rem); }
body.layout-almacen .pd-price { color: var(--color-primario) !important; }
body.layout-almacen .pd-ab-btn-main { background: var(--color-primario); border-radius: 12px; }
body.layout-almacen .pd-ab-btn-main:hover:not(:disabled) { background: var(--color-primario-deep); }
body.layout-almacen .pd-ab-btn-main:disabled { background: rgba(217,119,6,.2); color: #92400e; }
body.layout-almacen .pd-car-thumbs { background: rgba(254,243,199,.9); border-radius: 0 0 20px 20px; justify-content: center; width: 100%; box-sizing: border-box; }

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