@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap');

* {
    font-family: 'Poppins', sans-serif;
}

body {
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
    min-height: 100vh;
}

/* Animazione per i bordi delle card */
@keyframes borderAnimation {
    0% {
        border-color: #F03E62;
    }
    25% {
        border-color: #F7941D;
    }
    50% {
        border-color: #9752A2;
    }
    75% {
        border-color: #2384C8;
    }
    100% {
        border-color: #12A89D;
    }
}

.search-box {
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease;
    border-radius: 16px;
    background: white;
}

.search-box:hover {
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.15);
}

.btn-search {
    background-color: #F03E62;
    transition: all 0.3s ease;
    color: white;
}

.btn-search:hover {
    transform: translateY(-2px);
    box-shadow: 0 7px 15px rgba(240, 62, 98, 0.4);
    background-color: #e03557;
}

.btn-experiences {
    background-color: #2384C8;
    transition: all 0.3s ease;
    color: white;
}

.btn-experiences:hover {
    transform: translateY(-2px);
    box-shadow: 0 7px 15px rgba(35, 132, 200, 0.4);
    background-color: #1f76b2;
}

.pulse {
    animation: pulse 2s infinite;
}

@keyframes pulse {
    0% {
        box-shadow: 0 0 0 0 rgba(240, 62, 98, 0.7);
    }
    70% {
        box-shadow: 0 0 0 10px rgba(240, 62, 98, 0);
    }
    100% {
        box-shadow: 0 0 0 0 rgba(240, 62, 98, 0);
    }
}

.tag-hotel {
    background-color: rgba(240, 62, 98, 0.1);
    color: #F03E62;
}

.tag-activity {
    background-color: rgba(247, 148, 29, 0.1);
    color: #F7941D;
}

.tag-excursion {
    background-color: rgba(151, 82, 162, 0.1);
    color: #9752A2;
}

.tag-bnb {
    background-color: rgba(35, 132, 200, 0.1);
    color: #2384C8;
}

.tag-villa {
    background-color: rgba(18, 168, 157, 0.1);
    color: #12A89D;
}

/* Stile per la scrollbar */
::-webkit-scrollbar {
    width: 8px;
}

::-webkit-scrollbar-track {
    background: #f1f1f1;
}

::-webkit-scrollbar-thumb {
    background: linear-gradient(to bottom, #F03E62, #F7941D);
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background: linear-gradient(to bottom, #d83557, #e0851a);
}

/* Stili per il logo - HEADER GRANDE */
.logo-container-header {
    height: 90px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1.5rem;
}

.logo-img-header {
    height: 100%;
    object-fit: contain;
}

/* Stili per il logo - FOOTER PICCOLO */
.logo-container-footer {
    height: 50px;
    display: flex;
    align-items: center;
}

.logo-img-footer {
    height: 100%;
    object-fit: contain;
}

/* Gradiente per i titoli */
.gradient-text {
    background: linear-gradient(90deg, #F03E62, #F7941D, #9752A2, #2384C8, #12A89D);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    background-size: 300% 300%;
    animation: gradient 8s ease infinite;
}

@keyframes gradient {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}

/* Stili per le card colorate */
.card-pink {
    border-top: 4px solid #F03E62;
}

.card-orange {
    border-top: 4px solid #F7941D;
}

.card-purple {
    border-top: 4px solid #9752A2;
}

.card-blue {
    border-top: 4px solid #2384C8;
}

.card-teal {
    border-top: 4px solid #12A89D;
}

/* Stile per la card consigli rapidi */
.quick-tips-card {
    margin-top: 1.5rem;
}