:root {
--primary: #0A0F7A;
--secondary: #2D7DD2;
--accent: #A4C400;


--bg: #EEF1F6;
--section: #F7F9FC;
--card: #FFFFFF;

--text: #1A1A1A;
--text-soft: #666;

--white: #FFFFFF;

--shadow:
    0 10px 30px rgba(0,0,0,.08);

--transition:
    all .3s ease;


}

/* =========================
GENERAL
========================= */

html {
scroll-behavior: smooth;
}

body {
background: var(--bg);
color: var(--text);
font-family: 'Segoe UI', sans-serif;
overflow-x: hidden;
}

section {
padding: 80px 0;
overflow: hidden;
}

img {
max-width: 100%;
height: auto;
}

a {
text-decoration: none;
transition: var(--transition);
}

.card {
border: none;
border-radius: 20px;
box-shadow: var(--shadow);
transition: var(--transition);
}

.card:hover {
transform: translateY(-5px);
}

/* =========================
NAVBAR
========================= */

.navbar {
background: var(--primary);
backdrop-filter: blur(10px);
padding: 15px 0;
}

.navbar-brand {
letter-spacing: 2px;
font-weight: 700;
}

.navbar-brand img {
max-height: 45px;
}

.nav-link {
color: var(--white) !important;
font-weight: 500;
margin-left: 10px;
}

.nav-link:hover,
.nav-link.active {
color: var(--accent) !important;
}

.navbar .btn-success {
background: var(--accent);
border: none;
border-radius: 50px;
padding: 12px 24px;
font-weight: 600;
}

.navbar .btn-success:hover {
transform: translateY(-2px);
}

.navbar .btn-outline-light {
border-radius: 50px;
}

/* =========================
HERO
========================= */

.hero-section {
min-height: 85vh;


background:
    linear-gradient(
        rgba(10,15,122,.85),
        rgba(10,15,122,.85)
    );

color: var(--white);

display: flex;
align-items: center;


}
.page-hero{
    background:
        linear-gradient(
            rgba(10,15,122,.92),
            rgba(10,15,122,.92)
        );
    color:#fff;
    padding:90px 0;
}
.hero-section h1 {
font-weight: 800;
line-height: 1.1;
}

.hero-section .lead {
opacity: .95;
}

.hero-section img {
max-height: 650px;
object-fit: cover;
border-radius: 25px;
}

.hero-section .btn {
padding: 14px 28px;
border-radius: 50px;
}

/* =========================
BUTTONS
========================= */

.btn-primary {
background: var(--secondary);
border: none;
}

.btn-primary:hover {
background: var(--primary);
}

.btn-success {
background: var(--accent);
border: none;
}

.btn-success:hover {
opacity: .9;
}

/* =========================
SECTIONS
========================= */

.bg-section {
background: var(--section);
}

.icon-box i {
font-size: 3rem;
}

.text-accent {
color: var(--accent);
}

.text-soft {
color: var(--text-soft);
}

/* =========================
FOOTER
========================= */

.footer-main {
background: var(--primary);
color: var(--white);
padding: 70px 0 30px;
}

.footer-main h5 {
color: var(--accent);
font-weight: 700;
}

.footer-main a {
color: var(--white);
}

.footer-main a:hover {
color: var(--accent);
}

.footer-main hr {
border-color: rgba(255,255,255,.15);
margin: 30px 0;
}

.social-links {
display: flex;
gap: 15px;
}

.social-links a {
width: 42px;
height: 42px;


border-radius: 50%;

background: rgba(255,255,255,.1);

display: flex;
align-items: center;
justify-content: center;

font-size: 18px;


}

.social-links a:hover {
background: var(--accent);
color: var(--white);
}

/* =========================
WHATSAPP FLOAT
========================= */

.whatsapp-float {


position: fixed;

right: 25px;
bottom: 25px;

width: 65px;
height: 65px;

border-radius: 50%;

background: #25D366;

color: #fff;

display: flex;
align-items: center;
justify-content: center;

font-size: 32px;

box-shadow:
    0 10px 30px rgba(0,0,0,.25);

z-index: 999;

transition: var(--transition);


}

.whatsapp-float:hover {


transform: scale(1.1);

color: #fff;


}

/* =========================
TABLES
========================= */

.table {
background: #fff;
border-radius: 15px;
overflow: hidden;
}

/* =========================
DASHBOARD
========================= */

.min-vh-dashboard {
min-height: calc(100vh - 80px);
}

/* =========================
RESPONSIVE
========================= */

@media (max-width: 991px) {


.hero-section {
    text-align: center;
    min-height: auto;
    padding: 100px 0;
}

.hero-section img {
    margin-top: 40px;
    max-height: 400px;
}

.navbar .btn-success {
    width: 100%;
    margin-top: 15px;
}

.navbar-nav {
    padding-top: 15px;
}


}

@media (max-width: 768px) {


section {
    padding: 60px 0;
}
 .hero-section{
        min-height:70vh;
    }

    .page-hero{
        padding:60px 0;
    }
.hero-section h1 {
    font-size: 2.5rem;
}

.footer-main {
    text-align: center;
}

.social-links {
    justify-content: center;
}

.whatsapp-float {
    width: 55px;
    height: 55px;
    font-size: 28px;
}


}

@media (max-width: 576px) {


.hero-section h1 {
    font-size: 2rem;
}

.hero-section .lead {
    font-size: 1rem;
}

.btn-lg {
    width: 100%;
}

.display-5 {
    font-size: 2rem;
}


}
.reserva-card{
    cursor:pointer;
    transition:.3s;
}

.reserva-card:hover{
    transform:translateY(-5px);
}

.horario-radio:checked + i{
    color:var(--accent) !important;
}

.reserva-card:has(.horario-radio:checked){
    border:3px solid var(--accent);
    box-shadow:0 0 20px rgba(164,196,0,.3);
}