/* RESET */
* {margin:0; padding:0; box-sizing:border-box;}
body {font-family:'Poppins', sans-serif; background:#fff; color:#333; line-height:1.5;}
a {text-decoration:none; color:inherit;}

/* HEADER HERO */
header.hero {
    background:#fff;
    text-align:center;
    padding:3rem 1rem;
    border-bottom:1px solid #e0e0e0;
    animation:fadeIn 1s;
}
header.hero .logo {width:120px; margin-bottom:1rem;}
header.hero h1 {color: rgb(0,61,121); font-size:2.5rem; margin-bottom:0.5rem;}
header.hero .subtitle {color:#555; font-size:1rem; margin-bottom:0.3rem;}

/* BOOKING SECTION */
.booking-section {
    max-width:600px;
    margin:2rem auto;
    padding:2rem;
    background:#fefefe;
    border-radius:15px;
    box-shadow:0 5px 20px rgba(0,0,0,0.05);
    animation:fadeIn 1s;
}
.booking-section h2 {color: rgb(0,61,121); margin-bottom:1.5rem; text-align:center;}

/* INPUT */
.input-group {position:relative; margin-bottom:1.2rem;}
.input-group input, .input-group select {
    width:100%;
    padding:0.8rem;
    border-radius:8px;
    border:1px solid #ccc;
    font-size:1rem;
    transition:0.3s;
}
.input-group input:focus, .input-group select:focus {border-color:rgb(0,61,121);}
.input-group label {
    position:absolute; top:-10px; left:15px; background:#fff; padding:0 5px; font-size:0.85rem; color:#555;
}

/* CHECKBOX */
.checkbox {display:flex; align-items:center; margin-bottom:0.8rem;}
.checkbox label {margin-left:0.5rem; font-size:0.9rem;}

/* BUTTON */
.btn-primary {
    background: rgb(0,61,121);
    color:white;
    padding:0.8rem 2rem;
    border:none;
    border-radius:50px;
    cursor:pointer;
    transition:0.3s;
}
.btn-primary:hover {background: rgb(0,45,90); transform:scale(1.05);}
.full {width:100%;}

/* POPUP */
#popup {
    position:fixed; top:20px; right:20px;
    background:rgb(0,61,121); color:white; padding:1rem 2rem;
    border-radius:10px; box-shadow:0 5px 20px rgba(0,0,0,0.2);
    display:none; z-index:1001; opacity:0; transition:0.5s;
}

/* COOKIE BANNER */
#cookie-banner {
    position:fixed; bottom:0; left:0; width:100%; background:white;
    padding:1rem; box-shadow:0 -5px 20px rgba(0,0,0,0.1); display:flex; justify-content:space-between; align-items:center; z-index:1000;
}
#cookie-banner button {background:rgb(0,61,121); color:white; border:none; border-radius:50px; padding:0.5rem 1rem; cursor:pointer; transition:0.3s;}
#cookie-banner button:hover {background:rgb(0,45,90); transform:scale(1.05);}

/* COOKIE SETTINGS */
#cookie-settings {display:none; position:fixed; bottom:70px; right:20px; background:white; padding:1rem; border-radius:15px; box-shadow:0 5px 20px rgba(0,0,0,0.2); z-index:1002; width:300px;}
#cookie-settings label{display:block; margin-bottom:0.5rem;}
#cookie-settings button{margin-top:1rem;}

/* ANIMATIONS */
@keyframes fadeIn {from{opacity:0;} to{opacity:1;}}
