

:root {
    --primary: #1a365d;
    --secondary: #ff6b35;
    --accent: #f7fafc;
    --text: #2d3748;
}
        
.font-display { font-family: 'Playfair Display', serif; }
.font-body { font-family: 'Inter', sans-serif; }
.font-accent { font-family: 'Poppins', sans-serif; }

    .hero-bg {
        background: linear-gradient(135deg, rgba(26, 54, 93, 0.9), rgba(255, 107, 53, 0.8)),
                    url('resources/hero-printing.jpg');
        background-size: cover;
        background-position: center;
        background-attachment: fixed;
    }
            
    .gradient-text {
        background: linear-gradient(135deg, var(--secondary), #ff8c42);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        background-clip: text;
    }
        
.card-hover {
    transition: all 0.3s ease;
}

.card-hover:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 40px rgba(0,0,0,0.1);
}
        
       
        .typewriter {
            overflow: hidden;
            border-right: 3px solid var(--secondary);
            white-space: nowrap;
            animation: typing 3.5s steps(40, end), blink-caret 0.75s step-end infinite;
        }
        
        @keyframes typing {
            from { width: 0; }
            to { width: 100%; }
        }
        
        @keyframes blink-caret {
            from, to { border-color: transparent; }
            50% { border-color: var(--secondary); }
        }
        
        .splide__slide img {
            width: 100%;
            height: 300px;
            object-fit: cover;
            border-radius: 12px;
        }
        
        
        /*service page css */
.material-card {
    cursor: pointer;
    border: 2px solid transparent;
    transition: all 0.3s ease;
}

.material-card.selected {
    border-color: var(--secondary);
    background-color: #fff5f0;
}
        
.price-display {
    background: linear-gradient(135deg, var(--primary), #2d5a87);
    color: white;
    padding: 1.5rem;
    border-radius: 1rem;
    text-align: center;
}

.calculator-section {
    background: linear-gradient(135deg, #f8fafc, #e2e8f0);
    border-radius: 1.5rem;
    padding: 2rem;
}

.step-indicator {
    display: flex;
    align-items: center;
    margin-bottom: 2rem;
}

.step {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #e2e8f0;
    color: #64748b;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    margin-right: 1rem;
}

.step.active {
    background: var(--secondary);
    color: white;
}

.step.completed {
    background: #10b981;
    color: white;
}

.step-line {
    flex: 1;
    height: 2px;
    background: #e2e8f0;
    margin: 0 1rem;
}

.step-line.completed {
    background: #10b981;
}

        
.floating-whatsapp {
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 1000;
    animation: float 3s ease-in-out infinite;
}

@keyframes float {
    0%, 100% { transform: translateY(0px); }
    50% { transform: translateY(-10px); }
}

/*contact us page css */
.discount-tier {
            border: 2px solid transparent;
            transition: all 0.3s ease;
        }
        
        .discount-tier.active {
            border-color: var(--secondary);
            background-color: #fff5f0;
        }
        
        .order-item {
            border: 1px solid #e2e8f0;
            border-radius: 0.75rem;
            padding: 1.5rem;
            margin-bottom: 1rem;
            background: white;
            transition: all 0.3s ease;
        }
        
        .order-item:hover {
            box-shadow: 0 4px 12px rgba(0,0,0,0.1);
        }
        
        .progress-bar {
            background: linear-gradient(90deg, var(--secondary) 0%, #ff8c42 100%);
            height: 8px;
            border-radius: 4px;
            transition: width 0.5s ease;
        }
        
        .upload-area {
            border: 2px dashed #cbd5e0;
            border-radius: 0.75rem;
            padding: 2rem;
            text-align: center;
            transition: all 0.3s ease;
            cursor: pointer;
        }
        
        .upload-area:hover {
            border-color: var(--secondary);
            background-color: #fff5f0;
        }
        
        .upload-area.dragover {
            border-color: var(--secondary);
            background-color: #fff5f0;
        }
        
/* local services */
.district-card {
            cursor: pointer;
            border: 2px solid transparent;
            transition: all 0.3s ease;
        }
        
        .district-card:hover {
            border-color: var(--secondary);
            background-color: #fff5f0;
        }
        
        .district-card.selected {
            border-color: var(--secondary);
            background-color: #fff5f0;
        }
        
        .service-card {
            background: linear-gradient(135deg, #ffffff, #f8fafc);
            border: 1px solid #e2e8f0;
        }
        
        .map-container {
            height: 500px;
            border-radius: 1rem;
            overflow: hidden;
        }
        
        .institution-search {
            position: relative;
        }
        
        .search-results {
            position: absolute;
            top: 100%;
            left: 0;
            right: 0;
            background: white;
            border: 1px solid #e2e8f0;
            border-radius: 0.5rem;
            box-shadow: 0 10px 25px rgba(0,0,0,0.1);
            z-index: 10;
            max-height: 300px;
            overflow-y: auto;
        }
        
        .search-result-item {
            padding: 1rem;
            border-bottom: 1px solid #f1f5f9;
            cursor: pointer;
            transition: background-color 0.2s;
        }
        
        .search-result-item:hover {
            background-color: #f8fafc;
        }
        
        .package-card {
            border: 2px solid #e2e8f0;
            transition: all 0.3s ease;
        }
        
        .package-card:hover {
            border-color: var(--secondary);
            transform: translateY(-2px);
        }
        
        .package-card.featured {
            border-color: var(--secondary);
            background: linear-gradient(135deg, #fff5f0, #ffffff);
        }
            