/* ═══════════════════════════════════════════════
   Camel Towing — responsive.css
   FINAL PASS — loaded LAST.
   Uses !important sparingly to override inline styles.
   ═══════════════════════════════════════════════ */

/* Prevent horizontal scroll globally */
html, body { overflow-x: hidden !important; max-width: 100vw !important; }

/* Images never overflow */
img, iframe, video, svg { max-width: 100% !important; height: auto; }

/* iOS input zoom fix — inputs must be >= 16px */
@media (max-width: 768px) {
    input, select, textarea { font-size: max(16px, 1em) !important; }
}

/* iPhone notch / home indicator */
@supports (padding: env(safe-area-inset-bottom)) {
    .mobile-cta-bar {
        padding-bottom: env(safe-area-inset-bottom);
    }
    .site-footer .footer-bottom {
        padding-bottom: calc(20px + env(safe-area-inset-bottom));
    }
}

/* Touch devices — kill hover transforms on cards */
@media (hover: none) and (pointer: coarse) {
    [class*="card"]:hover,
    .step:hover,
    .svc-card:hover {
        transform: none !important;
    }
}

/* Inline grid override for 3-col sections on mobile */
@media (max-width: 1024px) {
    [style*="grid-template-columns: repeat(3"] {
        grid-template-columns: 1fr !important;
    }
    [style*="grid-template-columns: 1fr 1fr"] {
        grid-template-columns: 1fr !important;
    }
}
