/* Hosanna Shop — Custom Application Styles */

body {
    font-family: 'Inter', sans-serif;
    -webkit-tap-highlight-color: transparent;
}

.form-field { 
    width: 100%; 
    min-height: 44px; 
    padding: 0 1rem; 
    border: 1px solid #e2e8f0; 
    border-radius: 0.75rem; 
    background: #f8fafc; 
    font-size: 0.75rem; 
    outline: none; 
}

.form-field:focus { 
    border-color: #4F35C3; 
    background: #fff; 
}

.primary-action { 
    width: 100%; 
    height: 44px; 
    border-radius: 0.75rem; 
    background: #4F35C3; 
    color: #fff; 
    font-size: 0.75rem; 
    font-weight: 700; 
    box-shadow: 0 8px 18px rgba(79, 53, 195, 0.18); 
}

h1, h2, h3, h4, .font-title {
    font-family: 'Poppins', sans-serif;
}

/* Custom scrollbar hiding */
.no-scrollbar::-webkit-scrollbar {
    display: none;
}

.no-scrollbar {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

/* Color definitions */
:root {
    --primary: #4F35C3;
    --primary-light: #F0EDFD;
    --primary-dark: #3b259d;
}

.bg-primary { background-color: var(--primary); }
.text-primary { color: var(--primary); }
.border-primary { border-color: var(--primary); }
.bg-primary-light { background-color: var(--primary-light); }
.text-primary-dark { color: var(--primary-dark); }

.shadow-phone {
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25), 0 0 40px rgba(0, 0, 0, 0.05);
}

/* Realistic phone mock style for desktop — Responsive to viewport bounds */
@media (min-width: 640px) {
    .phone-container {
        width: 100%;
        max-width: 412px;
        height: 100%;
        max-height: min(892px, calc(100vh - 2rem));
        aspect-ratio: 412 / 892;
        border-radius: 40px;
        border: 10px solid #1f2937; /* deep charcoal frame */
        position: relative;
        overflow: hidden;
        background-color: #ffffff;
        margin: auto;
    }
    /* Speaker/Notch */
    .phone-container::before {
        content: '';
        position: absolute;
        top: 0;
        left: 50%;
        transform: translateX(-50%);
        width: 32%;
        max-width: 140px;
        height: 24px;
        background-color: #1f2937;
        border-bottom-left-radius: 14px;
        border-bottom-right-radius: 14px;
        z-index: 50;
    }
}
