/* ═══════════════════════════════════════════════════════════════
   De Verhuizing — Premium V2: Text Effects, Gradients, Shine
   ═══════════════════════════════════════════════════════════════ */

/* ─── GRADIENT TEXT on brand name ─── */
h1 span[style*="color:#F96706"],
h2 span[style*="color:#F96706"] {
    background: linear-gradient(135deg, #F96706 0%, #FF8C3A 50%, #FFB347 100%) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    background-clip: text !important;
}

/* ─── ANIMATED GRADIENT on hero heading ─── */
@keyframes gradientShift {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}
.elementor-top-section:first-child h1 {
    text-shadow: none !important;
}
.elementor-top-section:first-child h1 span[style*="color:#F96706"] {
    background: linear-gradient(135deg, #F96706, #FF8C3A, #FFD700, #FF8C3A, #F96706) !important;
    background-size: 300% 300% !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    background-clip: text !important;
    animation: gradientShift 4s ease infinite !important;
}

/* ─── SHINE SWEEP on headings ─── */
@keyframes shineText {
    0% { background-position: -200% center; }
    100% { background-position: 200% center; }
}
h2[style*="color:#152B5D"] {
    position: relative;
    display: inline-block;
}

/* ─── GLOW PULSE on CTA buttons ─── */
@keyframes glowPulse {
    0%, 100% { box-shadow: 0 6px 24px rgba(249,103,6,0.4); }
    50% { box-shadow: 0 8px 36px rgba(249,103,6,0.6); }
}
a[style*="background:#F96706"][style*="padding:18px"],
a[style*="background:#F96706"][style*="padding:16px"] {
    animation: glowPulse 3s ease infinite !important;
}
a[style*="background:#F96706"]:hover {
    animation: none !important;
    box-shadow: 0 12px 40px rgba(249,103,6,0.5) !important;
}

/* ─── SHINE EFFECT on all orange buttons ─── */
@keyframes btnShine {
    0% { left: -100%; }
    20% { left: 100%; }
    100% { left: 100%; }
}
a[style*="background:#F96706"] {
    position: relative !important;
    overflow: hidden !important;
}
a[style*="background:#F96706"]::before {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    left: -100% !important;
    width: 60% !important;
    height: 100% !important;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent) !important;
    animation: btnShine 4s ease-in-out infinite !important;
    pointer-events: none !important;
    z-index: 1 !important;
}

/* ─── GRADIENT BORDERS on featured cards ─── */
a[style*="border-radius:16px"][style*="overflow:hidden"] {
    position: relative !important;
}
a[style*="border-radius:16px"][style*="overflow:hidden"]::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 16px;
    padding: 1px;
    background: linear-gradient(135deg, transparent 60%, rgba(249,103,6,0.3));
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    pointer-events: none;
    opacity: 0;
    transition: opacity .4s ease;
    z-index: 10;
}
a[style*="border-radius:16px"][style*="overflow:hidden"]:hover::before {
    opacity: 1;
}

/* ─── STATS COUNTER GLOW ─── */
div[style*="font-size:3.2rem"][style*="color:#F96706"],
div[style*="font-size:1.6rem"][style*="color:#F96706"],
div[style*="font-size:2rem"][style*="color:#F96706"] {
    text-shadow: 0 0 30px rgba(249,103,6,0.2);
}

/* ─── ICON FLOAT ANIMATION ─── */
@keyframes iconFloat {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-4px); }
}
div[style*="border-radius:12px"][style*="display:flex"][style*="justify-content:center"] .iconify,
div[style*="border-radius:14px"][style*="display:flex"][style*="justify-content:center"] .iconify,
div[style*="border-radius:16px"][style*="display:flex"][style*="justify-content:center"] .iconify {
    animation: iconFloat 3s ease-in-out infinite;
}
/* Stagger icon animations */
div[style*="display:grid"] > div:nth-child(2) .iconify { animation-delay: .3s; }
div[style*="display:grid"] > div:nth-child(3) .iconify { animation-delay: .6s; }
div[style*="display:grid"] > div:nth-child(4) .iconify { animation-delay: .9s; }

/* ─── REVIEW STARS SHIMMER ─── */
@keyframes starShimmer {
    0%, 100% { opacity: 1; }
    50% { opacity: .7; }
}
div[style*="color:#F96706"][style*="font-size:16px"],
div[style*="color:#F96706"][style*="font-size:18px"] {
    animation: starShimmer 2s ease-in-out infinite;
}

/* ─── BADGE HOVER GLOW ─── */
span[style*="background:rgba(249,103,6"] {
    transition: all .3s ease !important;
}
span[style*="background:rgba(249,103,6"]:hover {
    box-shadow: 0 4px 16px rgba(249,103,6,0.25) !important;
    transform: translateY(-1px) scale(1.03);
}

/* ─── SECTION DIVIDER GRADIENTS ─── */
.elementor-top-section:nth-child(3)::before,
.elementor-top-section:nth-child(5)::before,
.elementor-top-section:nth-child(7)::before {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    left: 10% !important;
    right: 10% !important;
    height: 1px !important;
    background: linear-gradient(90deg, transparent, rgba(249,103,6,0.2), rgba(21,43,93,0.1), transparent) !important;
    z-index: 5 !important;
    pointer-events: none !important;
}

/* ─── GLASSMORPHISM on hero form ─── */
div[style*="border-radius:20px"][style*="box-shadow"][style*="padding:32px"],
div[style*="border-radius:20px"][style*="box-shadow"][style*="padding:36px"] {
    backdrop-filter: blur(12px) !important;
    border: 1px solid rgba(255,255,255,0.8) !important;
}

/* ─── FORM INPUT GRADIENT FOCUS ─── */
input:focus, select:focus, textarea:focus {
    border-image: linear-gradient(135deg, #F96706, #FF8C3A) 1 !important;
    border-image-slice: 1 !important;
    border-radius: 10px !important;
    border: 2px solid #F96706 !important;
    box-shadow: 0 0 0 4px rgba(249,103,6,0.06) !important;
}

/* ─── PILL LOCATION HOVER ─── */
a[style*="border-radius:50px"]:hover,
span[style*="border-radius:50px"]:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 6px 20px rgba(0,0,0,0.08) !important;
}

/* ─── DECORATIVE BACKGROUNDS ─── */
/* Light section with subtle mesh gradient */
.elementor-top-section:nth-child(4) {
    background:
        radial-gradient(ellipse at 20% 50%, rgba(249,103,6,0.03) 0%, transparent 50%),
        radial-gradient(ellipse at 80% 20%, rgba(21,43,93,0.03) 0%, transparent 50%),
        #fff !important;
}
.elementor-top-section:nth-child(6) {
    background:
        radial-gradient(ellipse at 70% 80%, rgba(249,103,6,0.03) 0%, transparent 50%),
        radial-gradient(ellipse at 30% 30%, rgba(21,43,93,0.02) 0%, transparent 50%),
        #F6F7F9 !important;
}

/* ─── SMOOTH PAGE TRANSITIONS ─── */
.elementor {
    animation: pageIn .6s ease;
}
@keyframes pageIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

/* ─── FOOTER LINK UNDERLINE ANIMATION ─── */
footer ul li a {
    position: relative !important;
}
footer ul li a::after {
    content: "" !important;
    position: absolute !important;
    bottom: -2px !important;
    left: 0 !important;
    width: 0 !important;
    height: 1px !important;
    background: #F96706 !important;
    transition: width .3s ease !important;
}
footer ul li a:hover::after {
    width: 100% !important;
}

/* ─── PREFERS REDUCED MOTION ─── */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

/* ═══ CRITICAL MOBILE REPAIR (Aggressive Overrides) ═══ */
@media (max-width: 768px) {
    html, body {
        overflow-x: hidden !important;
        width: 100% !important;
        position: relative !important;
    }
    
    .elementor-section, 
    .elementor-top-section {
        width: 100% !important;
        max-width: 100vw !important;
        left: 0 !important;
        margin: 0 !important;
        overflow: hidden !important;
    }

    .elementor-container {
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 15px !important;
        padding-right: 15px !important;
        margin: 0 !important;
    }

    /* Fix hero layout */
    .elementor-top-section:first-child .elementor-container {
        padding: 40px 15px !important;
        min-height: auto !important;
    }

    /* Fix text rendering and wrapping */
    h1, h2, h3, h4, h5, h6, p, span, div {
        max-width: 100% !important;
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
    }

    /* Ensure no element pushes the width beyond 100% */
    * {
        max-width: 100vw !important;
    }
    
    /* Counteract any absolute positioned decorations causing scroll */
    .elementor-top-section::before,
    .elementor-top-section::after {
         max-width: 100% !important;
    }
}

