/* ===== PULSETILA GLOBAL – Responsive + AOS ===== */
:root {
    --primary-light: #fdf2fe;
    --section-padding-y: clamp(3rem, 6vw, 5rem);
    --section-padding-x: clamp(1rem, 4vw, 1.5rem);
    --container-max: 1140px;
}

/* Reduce motion for accessibility */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
    [data-aos] { opacity: 1 !important; transform: none !important; }
}

/* Responsive containers & sections */
.section-responsive {
    padding-top: var(--section-padding-y);
    padding-bottom: var(--section-padding-y);
    padding-left: var(--section-padding-x);
    padding-right: var(--section-padding-x);
}
.container { max-width: var(--container-max); }

/* Responsive typography */
.display-5-responsive { font-size: clamp(1.75rem, 4vw, 2.5rem) !important; }
.display-4-responsive { font-size: clamp(2rem, 5vw, 3.5rem) !important; }
.lead-responsive { font-size: clamp(0.95rem, 1.5vw, 1.1rem) !important; }

/* Responsive spacing */
@media (max-width: 575.98px) {
    .container { padding-left: 1rem; padding-right: 1rem; }
    .py-5 { padding-top: 2rem !important; padding-bottom: 2rem !important; }
    .py-lg-5 { padding-top: 2.5rem !important; padding-bottom: 2.5rem !important; }
}
@media (min-width: 576px) and (max-width: 767.98px) {
    .container { padding-left: 1.25rem; padding-right: 1.25rem; }
}
@media (min-width: 768px) and (max-width: 991.98px) {
    .container { padding-left: 1.5rem; padding-right: 1.5rem; }
}

/* Responsive images */
.img-responsive {
    max-width: 100%;
    height: auto;
    display: block;
}

/* Responsive cards & boxes */
@media (max-width: 767.98px) {
    .rounded-4 { border-radius: 1rem !important; }
    .rounded-5 { border-radius: 1.25rem !important; }
    .p-4 { padding: 1rem !important; }
    .p-5, .px-5 { padding-left: 1.25rem !important; padding-right: 1.25rem !important; }
}

/* Footer responsive */
@media (max-width: 767.98px) {
    .footer-premium { padding-top: 3rem; padding-bottom: 1.5rem; }
    .footer-premium .row.g-5 { --bs-gutter-y: 2rem; }
    .footer-brand { font-size: 1.5rem; }
    .footer-heading { margin-bottom: 1rem; font-size: 0.9rem; }
}
@media (max-width: 991.98px) {
    .footer-premium .d-flex.gap-3 { justify-content: center !important; }
}

/* WhatsApp float – avoid overlap on small screens */
.wa-float { bottom: 1rem; right: 1rem; width: 56px; height: 56px; font-size: 28px; }
@media (min-width: 768px) {
    .wa-float { bottom: 1.5rem; right: 1.5rem; width: 65px; height: 65px; font-size: 32px; }
}

/* AOS: library handles animation; reduce motion respected above */
