/*
 * mobile-enhance.css — Claymatics v2.1
 * Glassmorphism · Neumorphism · Responsive · Motion
 * Targets exact class names from templates
 * Version: 2.1.0
 */

/* ─────────────────────────────────────────────────────────────
   TOKENS
───────────────────────────────────────────────────────────── */
:root {
    --glass-blur:    blur(18px);
    --glass-border:  rgba(255,255,255,.12);
    --neu-shadow-up: rgba(255,255,255,.06);
    --neu-shadow-dn: rgba(0,0,0,.35);
    --ease-spring:   cubic-bezier(0.34,1.56,0.64,1);
    --ease-out:      cubic-bezier(0.4,0,0.2,1);
    --dur-fast:      160ms;
    --dur-med:       280ms;
}

/* ─────────────────────────────────────────────────────────────
   BASE RESETS
───────────────────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body { overflow-x: hidden; }
img  { max-width: 100%; height: auto; display: block; }
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: .01ms !important;
        transition-duration: .01ms !important;
    }
}

/* ─────────────────────────────────────────────────────────────
   SCROLL PROGRESS BAR
───────────────────────────────────────────────────────────── */
.clm-scroll-progress {
    position: fixed; top: 0; left: 0; right: 0;
    height: 2px; z-index: 10000;
    background: linear-gradient(90deg, #1E6BFF, #18C29C);
    width: 0; transform-origin: left;
    transition: width .1s linear;
}
.site-com .clm-scroll-progress {
    background: linear-gradient(90deg, #7c3aed, #e879f9);
}

/* ─────────────────────────────────────────────────────────────
   HEADER — liquid glass pill
───────────────────────────────────────────────────────────── */
.clm-header { position: fixed; top: 0; left: 0; right: 0; z-index: 999; }
.clm-header__inner {
    margin: 10px 16px;
    padding: 10px 20px;
    border-radius: 18px;
    background: rgba(11,31,59,.75);
    backdrop-filter: var(--glass-blur);
    -webkit-backdrop-filter: var(--glass-blur);
    border: 1px solid rgba(255,255,255,.1);
    box-shadow:
        0 4px 24px rgba(0,0,0,.25),
        inset 0 1px 0 var(--neu-shadow-up);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    transition: all var(--dur-med) var(--ease-out);
}
.clm-header--scrolled .clm-header__inner {
    margin: 6px 12px;
    padding: 8px 16px;
    background: rgba(11,31,59,.93);
    box-shadow: 0 8px 32px rgba(0,0,0,.3), inset 0 1px 0 var(--neu-shadow-up);
}
.site-com .clm-header__inner {
    background: rgba(13,5,25,.75);
    border-color: rgba(139,92,246,.2);
}
.site-com .clm-header--scrolled .clm-header__inner {
    background: rgba(13,5,25,.94);
}
/* Mobile header */
@media (max-width: 767px) {
    .clm-header__inner {
        margin: 8px 10px;
        padding: 8px 14px;
        border-radius: 14px;
    }
}

/* ─────────────────────────────────────────────────────────────
   LOGO
───────────────────────────────────────────────────────────── */
.clm-logo { flex-shrink: 0; text-decoration: none; }
.clm-logo img, .clm-logo .custom-logo {
    max-height: 36px !important;
    width: auto !important;
}
@media (max-width: 575px) {
    .clm-logo img, .clm-logo .custom-logo { max-height: 30px !important; }
    .clm-logo__text { font-size: 1.15rem !important; }
}

/* ─────────────────────────────────────────────────────────────
   BUTTONS — touch targets + ripple + glow
───────────────────────────────────────────────────────────── */
.clm-btn, .btn-glow, .com-btn-primary, .com-btn-ghost,
.clm-btn--primary, .clm-btn--secondary, .clm-btn--ghost {
    min-height: 44px;
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
    user-select: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
    transition:
        transform var(--dur-fast) var(--ease-spring),
        box-shadow var(--dur-med) var(--ease-out),
        background-color var(--dur-med) var(--ease-out);
}
.clm-btn--primary:hover, .com-btn-primary:hover, .btn-glow-primary:hover {
    transform: translateY(-2px) scale(1.02);
}
.clm-btn--primary:active, .com-btn-primary:active {
    transform: scale(.97);
}
/* Ripple */
.clm-btn--primary::after, .com-btn-primary::after,
.btn-glow-primary::after {
    content: '';
    position: absolute; inset: 0;
    background: linear-gradient(135deg, rgba(255,255,255,.18) 0%, transparent 55%);
    opacity: 0;
    transition: opacity var(--dur-fast);
}
.clm-btn--primary:hover::after, .com-btn-primary:hover::after,
.btn-glow-primary:hover::after { opacity: 1; }

/* Ghost glass */
.clm-btn--ghost, .com-btn-ghost {
    background: rgba(255,255,255,.07);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(255,255,255,.14);
    transition: all var(--dur-med) var(--ease-out);
}
.clm-btn--ghost:hover, .com-btn-ghost:hover {
    background: rgba(255,255,255,.12);
    border-color: rgba(255,255,255,.25);
    transform: translateY(-1px);
}

/* Mobile: full-width CTA */
@media (max-width: 575px) {
    .hero-cta-group, .com-hero-btns {
        flex-direction: column !important;
        align-items: stretch !important;
    }
    .hero-cta-group > a,
    .hero-cta-group > button,
    .com-hero-btns > a,
    .com-hero-btns > button {
        width: 100% !important;
        justify-content: center !important;
    }
}

/* ─────────────────────────────────────────────────────────────
   .NET CARDS — neumorphic (white on light bg)
───────────────────────────────────────────────────────────── */
.site-net .lg-card--white {
    background: #fff !important;
    border: 1px solid rgba(30,107,255,.08) !important;
    border-radius: 18px !important;
    box-shadow:
        6px 6px 18px rgba(0,0,0,.09),
        -4px -4px 12px rgba(255,255,255,.8),
        inset 0 1px 0 rgba(255,255,255,.95) !important;
    transition:
        transform var(--dur-med) var(--ease-spring),
        box-shadow var(--dur-med) var(--ease-out) !important;
}
.site-net .lg-card--white:hover {
    transform: translateY(-6px) !important;
    box-shadow:
        10px 10px 28px rgba(0,0,0,.13),
        -4px -4px 14px rgba(255,255,255,.7),
        0 0 0 2px rgba(30,107,255,.2) !important;
}
/* Card titles on .net */
.site-net .lg-card--white .lg-card__title,
.site-net .lg-card--white h2,
.site-net .lg-card--white h3 {
    color: #0B1F3B !important;
}

/* ─────────────────────────────────────────────────────────────
   .COM CARDS — purple glassmorphism
───────────────────────────────────────────────────────────── */
.site-com .clm-port-card {
    background: rgba(139,92,246,.07) !important;
    backdrop-filter: var(--glass-blur) !important;
    -webkit-backdrop-filter: var(--glass-blur) !important;
    border: 1px solid rgba(139,92,246,.2) !important;
    border-radius: 18px !important;
    box-shadow:
        0 8px 32px rgba(0,0,0,.28),
        inset 0 1px 0 rgba(167,139,250,.1) !important;
    transition:
        transform var(--dur-med) var(--ease-spring),
        box-shadow var(--dur-med) var(--ease-out),
        border-color var(--dur-med) var(--ease-out) !important;
}
.site-com .clm-port-card:hover {
    transform: translateY(-7px) !important;
    border-color: rgba(167,139,250,.4) !important;
    box-shadow:
        0 20px 50px rgba(0,0,0,.4),
        0 0 0 1px rgba(167,139,250,.2),
        0 0 30px rgba(124,58,237,.15),
        inset 0 1px 0 rgba(167,139,250,.15) !important;
}
/* Service cards — same glass */
.site-com .com-service-card {
    backdrop-filter: var(--glass-blur) !important;
    -webkit-backdrop-filter: var(--glass-blur) !important;
    box-shadow:
        0 4px 24px rgba(0,0,0,.2),
        inset 0 1px 0 rgba(167,139,250,.08) !important;
    transition:
        transform var(--dur-med) var(--ease-spring),
        box-shadow var(--dur-med) var(--ease-out),
        border-color var(--dur-med) var(--ease-out) !important;
}
.site-com .com-service-card:hover {
    transform: translateY(-6px) !important;
}

/* ─────────────────────────────────────────────────────────────
   .NET PORTFOLIO CARDS — glass on dark bg
───────────────────────────────────────────────────────────── */
.site-net .clm-port-card {
    background: rgba(255,255,255,.97) !important;
    border: 1px solid rgba(30,107,255,.1) !important;
    border-radius: 18px !important;
    box-shadow:
        6px 6px 20px rgba(0,0,0,.08),
        -3px -3px 10px rgba(255,255,255,.7),
        inset 0 1px 0 #fff !important;
    transition:
        transform var(--dur-med) var(--ease-spring),
        box-shadow var(--dur-med) var(--ease-out) !important;
}
.site-net .clm-port-card:hover {
    transform: translateY(-6px) !important;
    box-shadow:
        10px 10px 28px rgba(0,0,0,.12),
        0 0 0 2px rgba(30,107,255,.18) !important;
}

/* ─────────────────────────────────────────────────────────────
   HERO SECTIONS — always behind content (z-index), responsive
───────────────────────────────────────────────────────────── */
/* Canvas: never blocks clicks */
#comHeroCanvas {
    pointer-events: none !important;
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
}
/* Hero padding accounts for fixed nav */
.hero-section { padding-top: 90px !important; }
.com-hero-v2  { height: 100vh; height: 100svh; }
.com-hero-v2 .min-vh-100 {
    min-height: 100vh; min-height: 100svh;
    padding-top: 90px !important;
}
/* Fluid hero type */
.hero-title {
    font-size: clamp(2rem, 5vw, 4.2rem) !important;
    line-height: 1.1 !important;
}
.com-hero-title {
    font-size: clamp(1.9rem, 5vw, 4rem) !important;
    line-height: 1.1 !important;
}
.hero-subtitle, .com-hero-sub {
    font-size: clamp(.9rem, 2vw, 1.1rem) !important;
    line-height: 1.75 !important;
}
@media (max-width: 575px) {
    .hero-section { padding-top: 80px !important; padding-bottom: 60px !important; }
    .com-hero-v2 .col-lg-8 { padding-top: 80px; padding-bottom: 40px; }
    .com-scroll-hint { display: none !important; }
    .hero-orb { display: none !important; }
}

/* ─────────────────────────────────────────────────────────────
   SECTION PADDING — fluid
───────────────────────────────────────────────────────────── */
.com-services-section,
.com-portfolio-section,
.com-reviews-section,
.com-cta-section {
    padding: clamp(48px, 8vw, 96px) 0 !important;
}

/* Force mobile padding on all inline-styled sections */
@media (max-width: 767px) {
    section[style*="padding:7rem"],
    section[style*="padding: 7rem"],
    section[style*="padding:6rem"],
    section[style*="padding: 6rem"],
    section[style*="padding:5rem"],
    section[style*="padding: 5rem"] {
        padding-top: 44px !important;
        padding-bottom: 44px !important;
    }
}

/* ─────────────────────────────────────────────────────────────
   GRIDS — responsive
───────────────────────────────────────────────────────────── */
.clm-port-2col {
    display: grid;
    grid-template-columns: repeat(2,1fr);
    gap: 20px;
}
@media (max-width: 767px) {
    .clm-port-2col { grid-template-columns: 1fr !important; gap: 16px !important; }

    /* All 3-col grids → 1-col */
    .com-services-grid { grid-template-columns: 1fr !important; }

    /* Inline grid overrides */
    div[style*="grid-template-columns:repeat(3"],
    div[style*="grid-template-columns: repeat(3"] {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 14px !important;
    }
    div[style*="grid-template-columns:1fr 1.2fr"],
    div[style*="grid-template-columns: 1fr 1.2fr"],
    div[style*="grid-template-columns:1.2fr 1fr"],
    div[style*="grid-template-columns: 1.2fr 1fr"] {
        display: flex !important;
        flex-direction: column !important;
        gap: 24px !important;
    }
    div[style*="grid-template-columns:repeat(4"],
    div[style*="grid-template-columns: repeat(4"] {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 16px !important;
    }
}
@media (max-width: 575px) {
    div[style*="grid-template-columns:repeat(3"],
    div[style*="grid-template-columns: repeat(3"],
    div[style*="grid-template-columns:repeat(4"],
    div[style*="grid-template-columns: repeat(4"] {
        grid-template-columns: 1fr !important;
    }
    .com-services-grid { gap: 12px !important; }
}

/* ─────────────────────────────────────────────────────────────
   FILTER TABS — horizontal scroll on mobile
───────────────────────────────────────────────────────────── */
.clm-port-filter-bar {
    position: sticky !important;
    top: 66px !important;
    z-index: 100 !important;
}
.clm-port-type-tabs {
    display: flex !important;
    gap: 4px !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
    padding-bottom: 2px !important;
}
.clm-port-type-tabs::-webkit-scrollbar { display: none !important; }
.clm-ptt { white-space: nowrap !important; flex-shrink: 0 !important; }
@media (max-width: 575px) {
    .clm-port-filter-bar { top: 58px !important; }
    .clm-ptt { padding: 7px 11px !important; font-size: .75rem !important; }
}

/* ─────────────────────────────────────────────────────────────
   FLUID TYPE SCALE
───────────────────────────────────────────────────────────── */
.section-title, .com-section-title {
    font-size: clamp(1.6rem, 3.5vw, 2.8rem) !important;
    line-height: 1.15 !important;
}

/* ─────────────────────────────────────────────────────────────
   PROOF / STATS — wrap on mobile
───────────────────────────────────────────────────────────── */
.hero-stats, .com-proof-bar {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 16px !important;
}
@media (max-width: 479px) {
    .com-proof-item { flex: 1 1 calc(50% - 8px) !important; }
    .com-proof-num  { font-size: 1.25rem !important; }
    .hero-stat-num  { font-size: 1.4rem !important; }
}

/* ─────────────────────────────────────────────────────────────
   REVIEWS CAROUSEL
───────────────────────────────────────────────────────────── */
@media (max-width: 575px) {
    .com-review-card { width: 84vw !important; }
    .com-review-text { font-size: .8rem !important; }
}

/* ─────────────────────────────────────────────────────────────
   FOOTER — responsive
───────────────────────────────────────────────────────────── */
.footer-links a {
    transition: color var(--dur-fast), padding-left var(--dur-fast) !important;
}
.footer-links a:hover { color: #fff !important; padding-left: 4px !important; }
.site-com .footer-links a:hover { color: #c4b5fd !important; }
.social-link {
    width: 38px; height: 38px;
    border-radius: 50%;
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(255,255,255,.1);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: rgba(255,255,255,.6) !important;
    transition: all var(--dur-med) var(--ease-out);
    text-decoration: none;
}
.social-link:hover {
    background: rgba(255,255,255,.12);
    border-color: rgba(255,255,255,.25);
    color: #fff !important;
    transform: translateY(-3px);
    box-shadow: 0 6px 16px rgba(0,0,0,.25);
}
.site-com .social-link:hover {
    border-color: rgba(167,139,250,.4);
    box-shadow: 0 6px 16px rgba(124,58,237,.3);
}
.footer-bottom {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    padding: 20px 0 !important;
    margin-top: 40px !important;
    border-top: 1px solid rgba(255,255,255,.07) !important;
    font-size: .8rem !important;
    color: rgba(255,255,255,.35) !important;
}
@media (max-width: 767px) {
    .footer-bottom { flex-direction: column !important; text-align: center !important; }
    .site-footer { padding-top: 48px !important; }
    .site-footer .row { row-gap: 28px !important; }
}
@media (max-width: 575px) {
    .site-footer .col-6 { flex: 0 0 50% !important; max-width: 50% !important; }
    .footer-links a { font-size: .82rem !important; }
}

/* ─────────────────────────────────────────────────────────────
   SINGLE PORTFOLIO — Behance layout responsive
───────────────────────────────────────────────────────────── */
@media (max-width: 991px) {
    .sp-body { grid-template-columns: 1fr !important; }
    .sp-sidebar { position: relative !important; top: 0 !important; }
}
@media (max-width: 575px) {
    .sp-hero { height: 50vh !important; min-height: 300px !important; }
    .sp-hero-content { padding: 24px 20px !important; }
    .sp-hero-back { left: 14px !important; top: 14px !important; font-size: .7rem !important; }
    .sp-hero-title { font-size: clamp(1.3rem, 5vw, 1.8rem) !important; }
    .sp-body { padding: 28px 14px 60px !important; }
    .sp-gallery-grid { grid-template-columns: 1fr !important; }
    .sp-related-grid { grid-template-columns: 1fr 1fr !important; }
    .sp-overview { flex-wrap: wrap !important; gap: 12px !important; }
    .sp-stat { flex: 1 1 calc(50% - 6px) !important; }
}

/* ─────────────────────────────────────────────────────────────
   GET STARTED — responsive steps
───────────────────────────────────────────────────────────── */
@media (max-width: 767px) {
    .com-gs-options { grid-template-columns: 1fr 1fr !important; }
    .com-gs-field-row { grid-template-columns: 1fr !important; }
    .com-gs-conn { width: 24px !important; }
    .com-gs-panel { padding: 22px 16px !important; }
    .com-gs-trust { gap: 10px 18px !important; }
}
@media (max-width: 479px) {
    .com-gs-options { grid-template-columns: 1fr !important; }
}

/* ─────────────────────────────────────────────────────────────
   INPUTS — glass style unified
───────────────────────────────────────────────────────────── */
.com-gs-field input,
.com-gs-field textarea,
.com-gs-field select {
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
    transition: border-color var(--dur-med), box-shadow var(--dur-med),
                background var(--dur-med) !important;
}

/* ─────────────────────────────────────────────────────────────
   MOBILE NAV — .com purple tint
───────────────────────────────────────────────────────────── */
.site-com .clm-mobile-nav {
    background: rgba(13,5,25,.97) !important;
    border-left-color: rgba(139,92,246,.2) !important;
}
.site-com .clm-mobile-nav__list li a:hover,
.site-com .clm-mobile-nav__list .current-menu-item > a {
    background: rgba(124,58,237,.12) !important;
    border-color: rgba(167,139,250,.25) !important;
    color: #c4b5fd !important;
}
.clm-mobile-nav__list li a { min-height: 48px !important; }
@media (max-width: 991px) {
    .clm-nav.d-none { display: none !important; }
    .clm-burger { display: flex !important; }
}
@media (min-width: 992px) {
    .clm-burger { display: none !important; }
}

/* ─────────────────────────────────────────────────────────────
   TECH PILLS — hero tech stack chips
───────────────────────────────────────────────────────────── */
.tech-logo-grid { display: flex; flex-wrap: wrap; gap: 8px; }
.tech-logo-item {
    background: rgba(255,255,255,.07);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 999px;
    padding: 6px 14px;
    font-size: .78rem;
    font-weight: 600;
    color: rgba(255,255,255,.75);
    transition: all var(--dur-med) var(--ease-out);
    cursor: default;
}
.tech-logo-item:hover {
    background: rgba(30,107,255,.15);
    border-color: rgba(30,107,255,.35);
    color: #fff;
    box-shadow: 0 0 12px rgba(30,107,255,.2);
}

/* ─────────────────────────────────────────────────────────────
   GLASSMORPHISM UTILS
───────────────────────────────────────────────────────────── */
.glass-card {
    background: rgba(255,255,255,.06);
    backdrop-filter: var(--glass-blur);
    -webkit-backdrop-filter: var(--glass-blur);
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 18px;
    box-shadow: 0 8px 32px rgba(0,0,0,.25), inset 0 1px 0 rgba(255,255,255,.08);
}
/* Stat cards on .net homepage */
.site-net .hero-stat {
    background: rgba(255,255,255,.96) !important;
    border: 1px solid rgba(30,107,255,.08) !important;
    border-radius: 16px !important;
    box-shadow:
        4px 4px 14px rgba(0,0,0,.08),
        -2px -2px 8px rgba(255,255,255,.85),
        inset 0 1px 0 #fff !important;
}
/* Stat cards on .com homepage */
.site-com .com-proof-item {
    background: rgba(139,92,246,.08);
    border: 1px solid rgba(139,92,246,.18);
    border-radius: 14px;
    padding: 12px 16px;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

/* ─────────────────────────────────────────────────────────────
   HOVER EFFECTS — cards, links, icons
───────────────────────────────────────────────────────────── */
a, button, [role="button"] {
    transition-property: color, background-color, border-color, box-shadow, transform, opacity;
    transition-duration: var(--dur-med);
    transition-timing-function: var(--ease-out);
}
a:focus-visible, button:focus-visible, input:focus-visible,
textarea:focus-visible, select:focus-visible {
    outline: 2px solid #1E6BFF;
    outline-offset: 3px;
    border-radius: 4px;
}
.site-com a:focus-visible, .site-com button:focus-visible {
    outline-color: #a78bfa;
}

/* ─────────────────────────────────────────────────────────────
   WHATSAPP FLOAT
───────────────────────────────────────────────────────────── */
.whatsapp-float {
    position: fixed;
    bottom: 28px; right: 22px;
    width: 52px; height: 52px;
    background: #25D366;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 990;
    box-shadow: 0 4px 20px rgba(37,211,102,.5);
    transition: all var(--dur-med) var(--ease-spring);
}
.whatsapp-float svg { width: 26px; height: 26px; fill: #fff; }
.whatsapp-float:hover {
    transform: scale(1.12) translateY(-3px);
    box-shadow: 0 8px 28px rgba(37,211,102,.6);
}
@media (max-width: 575px) {
    .whatsapp-float { bottom: 20px; right: 14px; width: 46px; height: 46px; }
    .whatsapp-float svg { width: 22px; height: 22px; }
}

/* ─────────────────────────────────────────────────────────────
   CONTAINER SAFE AREAS
───────────────────────────────────────────────────────────── */
.container, .container-fluid {
    padding-left:  max(16px, env(safe-area-inset-left));
    padding-right: max(16px, env(safe-area-inset-right));
}
@media (max-width: 575px) {
    .container { padding-left: 16px !important; padding-right: 16px !important; }
}

/* ─────────────────────────────────────────────────────────────
   PROCESS SECTION MOBILE (services pages)
───────────────────────────────────────────────────────────── */
@media (max-width: 767px) {
    .com-process-wrap { max-width: 100% !important; }
    /* Process card connector line hidden on mobile */
    div[style*="position:absolute;top:32px"][style*="height:1px"] {
        display: none !important;
    }
}

/* ─────────────────────────────────────────────────────────────
   .NET HOMEPAGE SECTIONS — counters, calculator, works grid
───────────────────────────────────────────────────────────── */
@media (max-width: 767px) {
    /* Client ticker — do not override padding, keeps original spacing */
    /* Our works grid */
    #lgWorksGrid { grid-template-columns: 1fr 1fr !important; }
}
@media (max-width: 575px) {
    #lgWorksGrid { grid-template-columns: 1fr !important; }
    /* Counters */
    .counter-card { padding: 20px 16px !important; }
}


/* ═══════════════════════════════════════════════════════════════
   COMPREHENSIVE MOBILE FIX v2 — all remaining responsive issues
═══════════════════════════════════════════════════════════════ */

/* ── Canvas hero always behind text ── */
#comHeroCanvas {
    pointer-events: none !important;
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    z-index: 0 !important;
}
.com-hero-v2 .container { position: relative; z-index: 3; }

/* ── Hero min-height for canvas to fill ── */
.com-hero-v2 {
    min-height: 100svh !important;
    height: 100svh !important;
    position: relative !important;
    overflow: hidden !important;
}
.com-hero-v2 .row.min-vh-100 {
    min-height: 100svh !important;
    padding-top: 88px !important;
}

/* ── Body top padding — compensate for fixed header ── */
body { padding-top: 72px !important; }
.com-hero-v2 ~ * { position: relative; }

/* ── Full width images ── */
.wp-post-image, .attachment-full, img[class*="size-"] {
    max-width: 100% !important;
    height: auto !important;
}

/* ════════════════════════════════
   TABLET (≤991px)
════════════════════════════════ */
@media (max-width: 991.98px) {
    /* Header */
    body { padding-top: 68px !important; }
    .clm-header__inner { margin: 8px 12px !important; padding: 8px 14px !important; }
    /* Hero text */
    .com-hero-v2 .row.min-vh-100 { padding-top: 80px !important; }
    /* Services grid */
    .svc-grid { grid-template-columns: 1fr 1fr !important; }
    .svc-pricing-grid { grid-template-columns: 1fr !important; }
    .svc-ind-grid { grid-template-columns: repeat(3,1fr) !important; }
    /* Portfolio */
    .clm-port-2col { grid-template-columns: repeat(2,1fr) !important; }
    /* Single portfolio */
    .sp-body { display: flex !important; flex-direction: column !important; gap: 32px !important; }
}

/* ════════════════════════════════
   MOBILE (≤767px)
════════════════════════════════ */
@media (max-width: 767.98px) {
    body { padding-top: 64px !important; }

    /* ── Hero text sizes ── */
    .hero-title { font-size: clamp(1.9rem,6.5vw,2.8rem) !important; }
    .com-hero-title { font-size: clamp(1.8rem,6vw,2.5rem) !important; }
    .hero-subtitle,.com-hero-sub { font-size: .92rem !important; }
    .svc-hero-title { font-size: clamp(1.8rem,6vw,2.8rem) !important; }

    /* ── Stat grids ── */
    .svc-stat-grid { grid-template-columns: 1fr 1fr !important; }
    .hero-stats { gap: 12px !important; }
    .hero-stat { padding: 16px 12px !important; }

    /* ── Services page ── */
    .svc-grid { grid-template-columns: 1fr !important; }
    .svc-ind-grid { grid-template-columns: repeat(2,1fr) !important; }
    .svc-tech-grid { gap: 8px !important; }
    .svc-tech-pill { font-size: .76rem !important; padding: 7px 12px !important; }

    /* ── Journey section ── */
    .journey-line { left: 22px !important; }
    .journey-step {
        display: flex !important;
        flex-direction: row !important;
        gap: 0 !important;
        grid-template-columns: unset !important;
    }
    .journey-left,.journey-right { padding: 0 0 0 14px !important; flex: 1; }
    .journey-center { flex-shrink: 0 !important; }
    .journey-step:nth-child(even) .journey-left { order: unset !important; }
    .journey-step:nth-child(even) .journey-right { display: none !important; }
    .journey-step:nth-child(odd) .journey-right { display: none !important; }

    /* ── Portfolio ── */
    .clm-port-2col { grid-template-columns: 1fr !important; gap: 14px !important; }
    .clm-port-filter-bar { top: 58px !important; }

    /* ── CTA groups ── */
    .hero-cta-group,.com-hero-btns,.d-flex.gap-3 {
        flex-wrap: wrap !important;
    }
    .com-hero-v2 .hero-cta-group a,
    .com-hero-v2 .com-hero-btns a { min-width: 160px !important; }

    /* ── Reviews ── */
    .com-review-card { width: 82vw !important; }

    /* ── Inline grid overrides (inline style= beats classes) ── */
    div[style*="grid-template-columns:1fr 1.2fr"],
    div[style*="grid-template-columns: 1fr 1.2fr"],
    div[style*="grid-template-columns:1.2fr 1fr"],
    div[style*="grid-template-columns: 1.2fr 1fr"] {
        display: flex !important; flex-direction: column !important; gap: 24px !important;
    }
    div[style*="grid-template-columns:repeat(3,1fr)"],
    div[style*="grid-template-columns: repeat(3, 1fr)"],
    div[style*="grid-template-columns:repeat(3, 1fr)"] {
        display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 14px !important;
    }
    div[style*="grid-template-columns:repeat(4"] {
        display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 12px !important;
    }

    /* ── Section padding ── */
    .svc-journey,.svc-industries,.svc-tech,.svc-pricing,.svc-cta {
        padding-top: 44px !important; padding-bottom: 44px !important;
    }

    /* ── Footer ── */
    .footer-bottom { flex-direction: column !important; text-align: center !important; gap: 6px !important; }
    .site-footer { padding-top: 44px !important; }
}

/* ════════════════════════════════
   SMALL MOBILE (≤575px)
════════════════════════════════ */
@media (max-width: 575px) {
    body { padding-top: 60px !important; }

    /* ── Header ── */
    .clm-header__inner { margin: 6px 8px !important; padding: 7px 12px !important; border-radius: 12px !important; }
    .clm-logo img { max-height: 28px !important; }
    .clm-logo__text { font-size: 1.05rem !important; }
    .clm-domain-switcher { display: none !important; }
    .clm-btn--ghost.d-none { display: none !important; }
    /* Keep CTA text short */
    .clm-btn--quote .clm-btn__text { font-size: .76rem !important; }

    /* ── Canvas hero ── */
    .com-hero-v2 .row.min-vh-100 { padding-top: 72px !important; padding-bottom: 32px !important; }
    .com-eyebrow-pill { font-size: .62rem !important; padding: 4px 10px !important; }
    .com-scroll-hint { display: none !important; }

    /* ── Stat + Proof ── */
    .svc-stat-grid { grid-template-columns: 1fr 1fr !important; gap: 10px !important; }
    .svc-stat-card { padding: 14px 12px !important; }
    .svc-stat-num { font-size: 1.3rem !important; }

    /* ── Service cards ── */
    .svc-card { padding: 20px 18px !important; }
    .svc-pricing-grid .svc-price-card { padding: 24px 20px !important; }

    /* ── Industries ── */
    .svc-ind-grid { grid-template-columns: 1fr 1fr !important; gap: 10px !important; }
    .svc-ind-card { padding: 16px 14px !important; }

    /* ── Tech pills ── */
    .svc-tech-pill { font-size: .72rem !important; padding: 6px 10px !important; gap: 5px !important; }

    /* ── Grids fully single col ── */
    div[style*="grid-template-columns:repeat(3"],
    div[style*="grid-template-columns: repeat(3"],
    div[style*="grid-template-columns:repeat(4"],
    div[style*="grid-template-columns: repeat(4"] {
        grid-template-columns: 1fr !important;
    }
    .svc-ind-grid { grid-template-columns: 1fr 1fr !important; }

    /* ── Portfolio single ── */
    .sp-hero { height: 48vh !important; min-height: 280px !important; }
    .sp-hero-title { font-size: 1.3rem !important; }

    /* ── Buttons full width ── */
    .svc-hero .d-flex.gap-3 { flex-direction: column !important; }
    .svc-hero .d-flex.gap-3 a { width: 100% !important; justify-content: center !important; }
    .svc-cta .d-flex { flex-direction: column !important; }
    .svc-cta .d-flex a { width: 100% !important; max-width: 340px !important; justify-content: center !important; }

    /* ── Calculator ── */
    .lg-calc-box { padding: 20px 16px !important; }
    .lg-result-price { font-size: 1.5rem !important; }

    /* ── Footer ── */
    .site-footer .col-6 { flex: 0 0 100% !important; max-width: 100% !important; }
    .footer-brand { max-width: 100% !important; }
}

/* ════════════════════════════════
   EXTRA SMALL (≤400px)
════════════════════════════════ */
@media (max-width: 400px) {
    .clm-btn--quote .clm-btn__text { display: none !important; }
    .clm-btn--quote { min-width: 44px !important; padding: 8px !important; }
    .clm-btn--quote .clm-btn__icon { font-size: 1.15rem !important; }
    .hero-title { font-size: 1.75rem !important; }
    .com-hero-title { font-size: 1.65rem !important; }
}
