/* ══ MODAL PRODUCTO — RESPONSIVE MÓVIL ══ */
@media (max-width: 768px) {
    #product-modal {
        padding: 0 !important;
        align-items: flex-end !important;
    }
    #product-modal > div {
        grid-template-columns: 1fr !important;
        border-radius: 20px 20px 0 0 !important;
        max-height: 92vh !important;
        width: 100% !important;
        max-width: 100% !important;
        overflow-y: auto !important;
    }
    #product-modal > div > div:first-child {
        min-height: 260px !important;
        max-height: 260px !important;
        height: 260px !important;
    }
    #pm-img {
        height: 260px !important;
        max-height: 260px !important;
        width: 100% !important;
        object-fit: cover !important;
        object-position: center !important;
    }
    #product-modal > div > div:last-child {
        padding: 20px 18px 36px !important;
        overflow-y: auto !important;
    }
    #pm-name {
        font-size: 1.4rem !important;
        margin-bottom: 8px !important;
    }
    #pm-price {
        font-size: 1.6rem !important;
        margin-bottom: 16px !important;
    }
    #product-modal button[onclick="closeProductModal()"] {
        top: 12px !important;
        right: 12px !important;
        background: rgba(255,255,255,0.9) !important;
        border-radius: 50% !important;
        width: 32px !important;
        height: 32px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        font-size: 1rem !important;
    }
}

/* ── Botón flotante WhatsApp ── */
@keyframes wa-pulse {
    0% { box-shadow: 0 0 0 0 rgba(37,211,102,0.5); }
    70% { box-shadow: 0 0 0 14px rgba(37,211,102,0); }
    100% { box-shadow: 0 0 0 0 rgba(37,211,102,0); }
}
#wa-float { animation: wa-pulse 2.2s infinite; }
#wa-float:hover { animation: none; }
#wa-tooltip { opacity:0; transform:translateX(10px); transition:all 0.2s; pointer-events:none; }
#wa-float:hover #wa-tooltip { opacity:1; transform:translateX(0); }

/* ── FAQ ── */
.faq-item { border-bottom: 1px solid #eee; }
.faq-btn { width:100%; display:flex; justify-content:space-between; align-items:center; padding:22px 0; background:none; border:none; cursor:pointer; font-family:var(--font-heading); font-size:1.15rem; color:#1a1a1a; text-align:left; gap:16px; transition:color 0.2s; }
.faq-btn:hover { color:var(--accent); }
.faq-icon { font-size:0.8rem; color:var(--accent); flex-shrink:0; transition:transform 0.3s; }
.faq-btn.open .faq-icon { transform:rotate(45deg); }
.faq-answer { max-height:0; overflow:hidden; transition:max-height 0.4s ease, padding 0.3s; }
.faq-answer.open { max-height:300px; padding-bottom:20px; }
.faq-answer p { font-family:var(--font-body); font-size:0.9rem; line-height:1.85; color:var(--text-muted); }
.img-container:hover .img-hover-hint { opacity:1 !important; background:rgba(0,0,0,0.18) !important; }
