/* Bootstrap CSS */
@import url('https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css');
/* Bootstrap Icons */
@import url('https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css');

/* Variables CSS */
@import url('variables.css');
/* Main Styles */
@import url('style.css');
/* Components */
@import url('components.css');
/* Team Cards */
@import url('team-cards-improved.css');
/* Beauty Theme */
@import url('salon-beauty-minimal.css');
/* ConiKosmetik Theme */
@import url('conikosmetik-theme.css');
/* Datepicker */
@import url('datepicker-simple.css');
/* Toast Fixes */
@import url('toast-fixes.css');

/* Security and Performance Improvements */
.ripple {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
    transform: scale(0);
    animation: ripple-animation 0.6s linear;
    pointer-events: none;
}

@keyframes ripple-animation {
    to {
        transform: scale(4);
        opacity: 0;
    }
}

/* Notification Styles */
.notification-container {
    position: fixed;
    top: 20px;
    right: 20px;
    z-index: 9999;
    max-width: 400px;
}

/* Datepicker Security Styles */
.neumorphic-datepicker,
.neumorphic-timepicker {
    position: fixed;
    background: var(--neumorphic-bg);
    border-radius: 20px;
    box-shadow: var(--shadow-neumorphic);
    padding: 20px;
    z-index: 1000;
    opacity: 1;
    transform: translateY(0);
    transition: all 0.2s ease;
}

.neumorphic-datepicker.show,
.neumorphic-timepicker.show {
    opacity: 1;
    transform: translateY(0);
}

/* Performance optimizations */
.card-hover {
    will-change: transform;
}

.btn {
    position: relative;
    overflow: hidden;
}

/* Accessibility improvements */
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* Error handling styles */
.error-message {
    color: var(--bs-danger);
    font-size: 0.875rem;
    margin-top: 0.25rem;
}

.form-control.is-invalid {
    border-color: var(--bs-danger);
    box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
}

/* Cookie Banner */
.cookie-banner {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background: var(--neumorphic-bg);
    box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.1);
    padding: 1rem 0;
    z-index: 9998;
    transform: translateY(100%);
    transition: transform 0.3s ease;
}

.cookie-banner.show {
    transform: translateY(0);
}

.cookie-banner p {
    color: var(--text-muted);
    font-size: 0.9rem;
}

@media (max-width: 768px) {
    .cookie-banner .col-md-4 {
        text-align: center !important;
        margin-top: 1rem;
    }
}

/* Contact Section Alignment Fix */
#contacto .text-start,
#contacto .text-start h4,
#contacto .text-start h6,
#contacto .text-start p,
#contacto .text-start div {
    text-align: left !important;
}

#contacto .card h4.text-start {
    text-align: left !important;
}

#contacto .d-flex .text-start {
    text-align: left !important;
}

#contacto .d-flex .text-start h6,
#contacto .d-flex .text-start p {
    text-align: left !important;
}

#contacto .card .text-start h6 {
    text-align: left !important;
}

#contacto .card .text-start .text-muted {
    text-align: left !important;
}