/* main.css - Non-critical styles for Lavandería Villanúa */

/* Custom utilities */
.text-primary { color: var(--color-primary); }
.bg-primary { background-color: var(--color-primary); }
.border-primary { border-color: var(--color-primary); }

/* Spacing utilities */
.section-padding { padding-top: 5rem; padding-bottom: 5rem; }
@media (max-width: 768px) {
    .section-padding { padding-top: 3rem; padding-bottom: 3rem; }
}

/* Card hover effects */
.card-hover {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.card-hover:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
}

/* Gradient backgrounds */
.gradient-hero {
    background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);
}
.gradient-section {
    background: linear-gradient(to bottom right, var(--color-gray-50), white);
}

/* Custom button variants */
.btn-outline-white {
    background: transparent;
    border: 2px solid white;
    color: white;
}
.btn-outline-white:hover {
    background: white;
    color: var(--color-primary);
}

/* Stats counters */
.stat-number {
    font-size: 3.5rem;
    font-weight: 800;
    line-height: 1;
    background: linear-gradient(to right, var(--color-primary), var(--color-primary-light));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* Responsive typography */
@media (max-width: 640px) {
    .hero-title {
        font-size: 2.5rem;
    }
    .hero-subtitle {
        font-size: 1.25rem;
    }
}

/* Form styles */
.input-rounded {
    border-radius: 9999px;
    padding: 1rem 1.5rem;
    border: 1px solid var(--color-gray-200);
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
}
.input-rounded:focus {
    outline: none;
    border-color: var(--color-primary);
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
}

/* Accessibility focus styles */
a:focus, button:focus, input:focus {
    outline: 2px solid var(--color-primary);
    outline-offset: 2px;
}

/* Print styles */
@media print {
    .no-print { display: none; }
    body { font-size: 12pt; color: black; }
    a { color: black; text-decoration: underline; }
}