.vx-engine { 
    font-family: 'Inter', sans-serif; 
    background-color: #f8fafc; 
    color: #0f172a; 
    -webkit-font-smoothing: antialiased; 
}
.g-text { 
    background: linear-gradient(135deg, #00A8C6 0%, #4FD1C5 100%); 
    -webkit-background-clip: text; 
    -webkit-text-fill-color: transparent; 
}
.g-bg { 
    background: linear-gradient(135deg, #060f21 0%, #0B1B3D 100%); 
}

#vaulex-finance-form input, 
#vaulex-finance-form select, 
#vaulex-finance-form textarea { 
    transition: all 0.2s ease; 
    border: 1px solid #cbd5e1; 
}
#vaulex-finance-form input:focus, 
#vaulex-finance-form select:focus, 
#vaulex-finance-form textarea:focus { 
    box-shadow: 0 0 0 4px rgba(0, 168, 198, 0.2); 
    border-color: #00A8C6; 
    outline: none; 
}

input[type=range] { 
    -webkit-appearance: none; 
    background: #cbd5e1; /* Slightly darker grey for contrast */
    height: 14px; /* Thicker track */
    border-radius: 9999px; 
    outline: none; 
    box-shadow: inset 0 2px 4px rgba(0,0,0,0.1);
}

input[type=range]::-webkit-slider-thumb { 
    -webkit-appearance: none; 
    height: 34px; /* Bigger thumb */
    width: 34px; 
    border-radius: 50%; 
    background: #00A8C6; 
    cursor: pointer; 
    box-shadow: 0 4px 10px rgba(0, 168, 198, 0.6); 
    border: 4px solid white; /* App-like tactile ring */
    transition: transform 0.1s ease-in-out;
}

input[type=range]::-webkit-slider-thumb:hover {
    transform: scale(1.1); /* Nice interactive pop when hovering */
}

/* Firefox Support */
input[type=range]::-moz-range-thumb {
    height: 34px;
    width: 34px;
    border-radius: 50%;
    background: #00A8C6;
    cursor: pointer;
    box-shadow: 0 4px 10px rgba(0, 168, 198, 0.6);
    border: 4px solid white;
    transition: transform 0.1s ease-in-out;
}
input[type=range]::-moz-range-track {
    background: #cbd5e1;
    height: 14px;
    border-radius: 9999px;
    box-shadow: inset 0 2px 4px rgba(0,0,0,0.1);
}

.main-cta { 
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1); 
    box-shadow: 0 8px 30px rgba(0, 168, 198, 0.4); 
}
.main-cta:hover { 
    transform: translateY(-3px) scale(1.02); 
    box-shadow: 0 16px 40px rgba(0, 168, 198, 0.5); 
}

.pulse-ring { 
    box-shadow: 0 0 0 0 rgba(0, 168, 198, 0.6); 
    animation: ring-loop 2s infinite; 
}

@keyframes ring-loop { 
    0% { box-shadow: 0 0 0 0 rgba(0, 168, 198, 0.6); } 
    70% { box-shadow: 0 0 0 12px rgba(0, 168, 198, 0); } 
    100% { box-shadow: 0 0 0 0 rgba(0, 168, 198, 0); } 
}

.file-dropzone { 
    transition: all 0.2s ease; 
    background-image: url("data:image/svg+xml,%3csvg width='100%25' height='100%25' xmlns='http://www.w3.org/2000/svg'%3e%3crect width='100%25' height='100%25' fill='none' rx='16' ry='12' stroke='%2300A8C6FF' stroke-width='3' stroke-dasharray='8%2c 8' stroke-dashoffset='0' stroke-linecap='square'/%3e%3c/svg%3e"); 
    border-radius: 16px; 
}
.file-dropzone:hover { 
    background-color: #f0fdfa; 
    border-color: #4FD1C5; 
}

/* ---- Added in v11.3 ---- */

/* CTA polish (the template references .jazzy-btn but it was never defined) */
.jazzy-btn {
    transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.25s ease;
    will-change: transform;
}
.jazzy-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 32px rgba(0, 168, 198, 0.35);
}
.jazzy-btn:active { transform: translateY(0); }

/* Sticky mobile conversion bar */
.vaulex-mobile-cta {
    box-shadow: 0 -4px 24px rgba(0, 0, 0, 0.10);
    padding-bottom: calc(0.75rem + env(safe-area-inset-bottom));
}

/* FAQ accordion niceties */
details.group > summary { user-select: none; }
details.group > summary::-webkit-details-marker { display: none; }
