/* UI/UX + Mobile Responsiveness Fixes (site-wide)
 Safe additive rules (won't override your brand colors) */

:root { --ui-radius: 16px; --ui-shadow: 0 10px 30px rgba(0,0,0,.08); }

* { box-sizing: border-box; }
img, video, svg { max-width: 100%; height: auto; }
iframe { max-width: 100%; }
table { width: 100%; border-collapse: collapse; }
pre, code { white-space: pre-wrap; word-break: break-word; }

html { scroll-behavior: smooth; }
body { overflow-x: hidden; }

/* Prevent accidental horizontal overflow from wide sections */
section, header, footer, main, nav { max-width: 100vw; overflow-x: clip; }

/* Comfortable mobile spacing */
@media (max-width: 768px) {
 .container, .wrap, .wrapper { padding-left: 16px !important; padding-right: 16px !important; }
 h1 { font-size: clamp(26px, 6vw, 34px) !important; line-height: 1.15 !important; }
 h2 { font-size: clamp(22px, 5.2vw, 28px) !important; line-height: 1.2 !important; }
 h3 { font-size: clamp(18px, 4.6vw, 22px) !important; line-height: 1.25 !important; }
 p, li { font-size: 16px !important; line-height: 1.6 !important; }
}

/* Buttons/taps */
button, .btn, a.btn, .button, [role="button"] {
 min-height: 44px;
 -webkit-tap-highlight-color: transparent;
}
a { word-break: break-word; }

/* Forms */
input, select, textarea { width: 100%; max-width: 100%; }
select { appearance: auto; }

/* Cards / blocks (gentle) */
.card, .feature-card, .project-card, .blog-card, .team-card { border-radius: var(--ui-radius); }

/* Hide duplicate footers if any page accidentally renders twice */
footer + footer,
.site-footer + .site-footer,
#footer + #footer { display: none !important; }

/* Fix common mobile navbar toggles (show hamburger, avoid overlap) */
.hamburger, .menu-toggle, .nav-toggle, .mobile-toggle, .navbar-toggler {
 display: inline-flex;
 align-items: center;
 justify-content: center;
 cursor: pointer;
}
@media (max-width: 992px) {
 nav .nav-links, nav .menu, nav ul { max-width: 100%; }
}

/* Prevent widgets overlapping content (safe) */
.whatsapp-widget, .wa-widget, #whatsapp, .ask-ai-widget, #ask-ai { z-index: 9999; }

/* Make grids stack on small screens if they forgot */
@media (max-width: 768px) {
 .grid, .row, .columns, .cols, .cards, .projects-grid, .team-grid, .blog-grid {
 grid-template-columns: 1fr !important;
 flex-direction: column !important;
 }
}

/* Safer spacing around hero blocks */
.hero, .hero-section, .page-hero {
 padding-top: clamp(22px, 5vw, 48px);
 padding-bottom: clamp(22px, 5vw, 48px);
}

/* Fix long price rows/labels */
.price, .starting-price, .meta, .project-meta { overflow-wrap: anywhere; }
