/*
    FILE: components.css
    PURPOSE: Reusable component styles for cards, modals, forms, and navigation
*/

.card-hover { position: relative; overflow: hidden; transition: transform 300ms ease, box-shadow 300ms ease; }

.card-hover:hover { transform: translateY(-10px); box-shadow: 0 30px 90px rgba(0,0,0,0.18); }

.mega-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }

.mega-item { display: block; padding: 1rem 1.15rem; background: rgba(255,255,255,0.03); border-radius: 20px; border: 1px solid rgba(255,255,255,0.06); transition: background var(--transition), transform var(--transition); }

.mega-item:hover { background: rgba(255,255,255,0.07); transform: translateY(-3px); }

.mega-item strong { display: block; margin-bottom: 0.5rem; }

.mobile-menu { position: fixed; inset: 0; padding: 5rem 1.5rem 1.5rem; background: rgba(5,5,5,0.98); transform: translateY(-100%); transition: transform 260ms ease; z-index: 1050; }

.mobile-menu.open { transform: translateY(0); }

.mobile-menu ul { list-style: none; display: grid; gap: 1rem; }

.mobile-menu a,
.mobile-menu button { color: var(--text); display: block; width: 100%; text-align: left; font-size: 1.1rem; }

.full-width { width: 100%; }

.form-group input,
.form-group textarea { width: 100%; }

.hero-visual { min-height: 540px; }

.trusted-item { min-height: 80px; display: grid; place-items: center; }

.testimonial-slider { overflow: hidden; }

@media (max-width: 768px) {
    .hero-visual { min-height: 420px; }
}
