/* ================================================================
   FARMA — Farmacia / Droguería / Confiable (layout-farma)
   ================================================================ */
body.layout-farma { background: #f0fdf4; font-family: 'Nunito', system-ui, sans-serif; }

/* Header blanco con acento verde */
body.layout-farma header { background: #ffffff !important; box-shadow: 0 1px 0 #a7f3d0, 0 2px 8px rgba(0,0,0,.06) !important; }
body.layout-farma #category-buttons { background: #ecfdf5 !important; border-top: 1px solid #a7f3d0 !important; }
body.layout-farma .header-logo-text strong { color: var(--color-primario-deep) !important; font-family: 'Nunito', sans-serif; font-weight: 800; }
body.layout-farma .nav-link-btn, body.layout-farma .quick-pill, body.layout-farma .dropdown-btn { color: var(--color-primario) !important; font-family: 'Nunito', sans-serif; }
body.layout-farma .nav-link-btn:hover, body.layout-farma .quick-pill:hover { color: var(--color-primario-deep) !important; }
body.layout-farma .header-search-wrap { background: #ecfdf5; border-color: #a7f3d0; }
body.layout-farma .header-search-wrap input { color: var(--color-primario-deep); background: transparent; }
body.layout-farma .header-search-wrap input::placeholder { color: #6ee7b7; }
body.layout-farma .header-cart-btn { background: var(--color-primario) !important; color: #fff !important; border-radius: 99px; }
body.layout-farma .header-cart-btn:hover { background: var(--color-primario-deep) !important; }
body.layout-farma #cart-count { background: var(--color-acento); color: #fff; }

/* Cards */
body.layout-farma .product-grid { grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 1.5rem; }
body.layout-farma .product { background: #ffffff; border: 1px solid #d1fae5; border-radius: 16px; box-shadow: 0 1px 4px rgba(5,150,105,.08); overflow: hidden; }
body.layout-farma .product:hover { transform: translateY(-3px); box-shadow: 0 8px 24px rgba(5,150,105,.16); border-color: #6ee7b7; }
body.layout-farma .prod-img-wrap { aspect-ratio: 1/1; border-radius: 0; background: #f0fdf4; }
body.layout-farma .prod-img-wrap img { object-fit: contain; }
body.layout-farma .product:hover .prod-img-wrap img { transform: scale(1.04); }
body.layout-farma .product h3 { color: var(--color-primario-deep) !important; font-family: 'Nunito', sans-serif; font-weight: 700; font-size: 0.88rem; padding: 0.5rem 0.8rem 0.1rem; }
body.layout-farma .product p { color: var(--color-primario) !important; font-weight: 800; font-family: 'Nunito', sans-serif; padding: 0 0.8rem 0.4rem; }
body.layout-farma .product > button:not(.quantity-controls button) { background: var(--color-primario); color: #fff; border-radius: 99px; margin: 0 0.8rem 0.8rem; width: calc(100% - 1.6rem); font-family: 'Nunito', sans-serif; font-weight: 700; font-size: 0.82rem; }
body.layout-farma .product > button:not(.quantity-controls button):hover { background: var(--color-primario-deep); }
body.layout-farma .quantity-controls { border-radius: 99px; margin: 0 0.8rem 0.8rem; }
@media (hover: none) { body.layout-farma .product > button:not(.quantity-controls button) { opacity: 1 !important; } }

/* Títulos */
body.layout-farma .seccion-titulo { color: var(--color-primario-deep); border-bottom-color: #a7f3d0; font-family: 'Nunito', sans-serif; font-weight: 800; text-transform: none; }
body.layout-farma .category-title { color: var(--color-primario-deep); border-bottom-color: #a7f3d0; font-family: 'Nunito', sans-serif; font-weight: 800; text-transform: none; }

/* Strip */
body.layout-farma .strip-info { background: #d1fae5; }
body.layout-farma .strip-item { color: var(--color-primario-deep); font-family: 'Nunito', sans-serif; }
body.layout-farma .strip-item strong, body.layout-farma .strip-item span { color: var(--color-primario-deep) !important; }
body.layout-farma .strip-item { border-color: rgba(5,150,105,.2) !important; }

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

/* Carrito */
body.layout-farma .cart-header { background: var(--color-primario); }
body.layout-farma .cart-checkout-btn { background: var(--color-primario); border-radius: 99px; }
body.layout-farma .cart-checkout-btn:hover { background: var(--color-primario-deep); }

/* Hero */
body.layout-farma .hero-section { background: linear-gradient(135deg, var(--color-primario-deep) 0%, var(--color-primario) 60%, #34d399 100%); min-height: 400px; }
body.layout-farma .hero-section.has-hero-bg .hero-overlay { background: rgba(6,95,70,.60) !important; }
body.layout-farma .hero-tag { background: rgba(167,243,208,.15); border: 1px solid rgba(110,231,183,.4); color: #a7f3d0; border-radius: 99px; }
body.layout-farma .hero-titulo { font-family: 'Nunito', sans-serif; font-weight: 800; color: #ffffff; font-size: clamp(2rem, 4vw, 3.5rem); }
body.layout-farma .hero-sub { color: rgba(167,243,208,.80); font-family: 'Nunito', sans-serif; }
body.layout-farma .hero-cta { background: var(--color-acento); color: #fff; border-radius: 99px; font-family: 'Nunito', sans-serif; font-weight: 700; }
body.layout-farma .hero-cta:hover { background: var(--color-acento-hover); filter: none; }

/* Categorías */
body.layout-farma .cat-visual-card { background: #ecfdf5; border: 1px solid #a7f3d0; border-radius: 16px; }
body.layout-farma .cat-visual-card:hover { background: #d1fae5; border-color: #6ee7b7; box-shadow: 0 4px 14px rgba(5,150,105,.15); }
body.layout-farma .cat-visual-nombre { color: var(--color-primario-deep) !important; font-family: 'Nunito', sans-serif; font-weight: 700; }
body.layout-farma .cat-visual-count { color: var(--color-primario); }

/* Producto detalle */
body.layout-farma .pd-ab-hero { grid-template-columns: 55fr 45fr; max-width: 1200px; margin: 0 auto; padding: 2rem 1.5rem; gap: 2rem; align-items: start; }
body.layout-farma .pd-ab-images { grid-column: 1; grid-row: 1; position: sticky; top: 80px; background: #ecfdf5; border-radius: 16px; }
body.layout-farma .pd-carousel-frame { min-height: 320px; max-height: 70vh; border-radius: 16px; }
body.layout-farma .pd-ab-main-img { min-height: 320px; max-height: 70vh; border-radius: 16px; object-fit: contain; background: #ecfdf5; }
body.layout-farma .pd-ab-panel { grid-column: 2; grid-row: 1; background: #fff; border: 1px solid #d1fae5; border-radius: 16px; padding: 2rem 1.8rem; box-shadow: 0 4px 20px rgba(5,150,105,.08); }
body.layout-farma .pd-ab-title { color: var(--color-primario-deep); font-family: 'Nunito', sans-serif; font-weight: 800; font-size: clamp(1.6rem, 3vw, 2.2rem); }
body.layout-farma .pd-price { color: var(--color-primario) !important; }
body.layout-farma .pd-ab-btn-main { background: var(--color-primario); border-radius: 99px; font-family: 'Nunito', sans-serif; font-weight: 700; }
body.layout-farma .pd-ab-btn-main:hover:not(:disabled) { background: var(--color-primario-deep); }
body.layout-farma .pd-ab-btn-main:disabled { background: rgba(5,150,105,.15); color: var(--color-primario-deep); }
body.layout-farma .pd-car-thumbs { background: rgba(209,250,229,.9); border-radius: 0 0 16px 16px; justify-content: center; width: 100%; box-sizing: border-box; }

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