/* Custom styles for Hofburg Biglietti - Wanderlust template */

body {
    font-family: 'Open Sans', sans-serif;
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'Roboto', sans-serif;
    font-weight: bold;
}

html {
    scroll-behavior: smooth;
}

.travel-card {
    transition: all 0.3s ease;
    box-shadow: 0 4px 20px -4px rgba(0, 0, 0, 0.08);
}

.travel-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 40px -8px rgba(0, 0, 0, 0.15);
}

@keyframes fadeUp {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
}

.animate-fade-up {
    animation: fadeUp 0.6s ease-out forwards;
}

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
}

.fade-in {
    animation: fadeIn 0.6s ease-out;
}

#mobile-menu {
    transition: all 0.3s ease-in-out;
}

.faq-item { transition: all 0.3s ease; }
.faq-question { cursor: pointer; }
.faq-icon {
    transition: transform 0.3s ease;
    flex-shrink: 0;
}
.faq-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease, padding 0.3s ease;
}
.faq-answer:not(.hidden) { max-height: 1000px; }

button:focus, a:focus, input:focus {
    outline: 2px solid #f97316;
    outline-offset: 2px;
}

@media print {
    nav, footer, button { display: none; }
}

img { max-width: 100%; height: auto; }
main { padding-top: 0; }
a, button { transition: all 0.2s ease; }
