:root{--turquoise:#00bcd4;--deep-aqua:#0099b7;--sand:#fffdf5;--white:#ffffff;--text:#0f2a2f;--muted:#5a7a80;--shadow:0 10px 30px rgba(0,0,0,.08)}
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;background:var(--sand);color:var(--text);font-family:"Poppins",system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}
img{max-width:100%;display:block}
.container{width:100%;max-width:1200px;margin:0 auto;padding:0 20px}
.a11y-hide{position:absolute;left:-9999px}
.reveal{opacity:0;transform:translateY(12px);transition:.6s ease}
.reveal.in{opacity:1;transform:none}

.header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.7);backdrop-filter:blur(10px);border-bottom:1px solid rgba(0,0,0,.06)}
.nav{display:flex;align-items:center;justify-content:space-between;height:64px;width:100%}
.navbar{display:flex;align-items:center;justify-content:space-between;height:70px;width:100%;position:relative}
.header a{text-decoration:none;color:var(--text)}
.brand{display:flex;align-items:center;gap:12px;color:var(--deep-aqua);font-weight:700;font-size:18px;text-decoration:none}
.brand-logo{width:36px;height:36px;border-radius:12px;background:linear-gradient(135deg,var(--turquoise),var(--deep-aqua));box-shadow:var(--shadow)}
.nav-links{display:flex;align-items:center;gap:22px}
.nav-links a{color:var(--text);text-decoration:none;padding:8px 12px;border-radius:10px;display:block}
.nav-links a:hover{background:rgba(0,0,0,.05)}
.nav.scrolled{background:rgba(255,255,255,.9)}
.navbar.scrolled{background:rgba(255,255,255,.9)}
.mobile-toggle{display:none;width:42px;height:42px;border-radius:12px;border:1px solid rgba(0,0,0,.12);background:rgba(255,255,255,.7);backdrop-filter:blur(6px);font-size:20px;line-height:1;align-items:center;justify-content:center}

.btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 18px;border-radius:14px;border:none;cursor:pointer;transition:.25s ease;gap:10px;font-weight:600;text-decoration:none}
.btn-sm{padding:8px 12px;border-radius:12px;font-size:14px}
.btn-primary{background:linear-gradient(135deg,var(--turquoise),var(--deep-aqua));color:var(--white);box-shadow:var(--shadow)}
.btn-secondary{background:rgba(0,188,212,.12);color:var(--deep-aqua);border:1px solid rgba(0,153,183,.25)}
.btn-outline{background:transparent;color:var(--deep-aqua);border:1px solid var(--deep-aqua)}
.btn:hover{transform:translateY(-2px)}

.hero{position:relative;min-height:88vh;display:grid;place-items:center;background:
 linear-gradient(rgba(0,0,0,.32),rgba(0,0,0,.32)),
 url("../images/hero.jpg") center/cover no-repeat;
 background-color:var(--deep-aqua)}
.hero h1,.hero p{color:var(--white)}
.hero-ctas .btn-secondary{background:rgba(255,255,255,.18);color:#fff;border-color:rgba(255,255,255,.35)}
.hero-inner{text-align:center;color:var(--white);padding:40px}
.hero-inner{margin-top:40px}
.hero-title{font-size:42px;line-height:1.15;margin:0 0 10px}
.hero-sub{font-size:18px;opacity:.9;margin:0 0 26px}
.hero-ctas{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

.features{padding:60px 0}
.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.card{background:var(--white);border-radius:18px;box-shadow:var(--shadow);padding:22px}
.card-icon{width:52px;height:52px;border-radius:16px;background:linear-gradient(135deg,var(--turquoise),var(--deep-aqua));display:grid;place-items:center;color:var(--white);font-size:24px;margin-bottom:12px}
.card-title{font-weight:700;margin-bottom:6px}
.card-text{color:var(--muted)}

.slider{position:relative;overflow:hidden;border-radius:18px;box-shadow:var(--shadow);background:var(--white)}
.slides{display:flex;transition:transform .6s ease}
.slide{min-width:100%;height:380px;background-size:cover;background-position:center}
.slider-controls{position:absolute;inset:0;display:flex;align-items:center;justify-content:space-between;padding:0 12px}
.slider-btn{width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.75);border:none;display:grid;place-items:center;cursor:pointer}
.slider-dots{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);display:flex;gap:8px}
.dot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.6)}
.dot.active{background:var(--turquoise)}

.testimonials{padding:60px 0}
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.testi{background:var(--white);border-radius:18px;box-shadow:var(--shadow);padding:22px}
.testi-quote{font-size:16px;color:var(--muted)}
.testi-author{margin-top:14px;font-weight:700;color:var(--deep-aqua)}

.cta{padding:60px 0;text-align:center}
.cta-box{background:linear-gradient(135deg,rgba(0,188,212,.12),rgba(0,153,183,.12));border:1px solid rgba(0,153,183,.25);border-radius:20px;box-shadow:var(--shadow);padding:30px}

.footer{background:var(--white);border-top:1px solid rgba(0,0,0,.08);padding:30px 0;margin-top:40px}
.footer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.footer a{color:var(--deep-aqua);text-decoration:none}

.whatsapp-float{position:fixed;right:16px;bottom:16px;z-index:1000;width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#25D366,#128C7E);display:grid;place-items:center;box-shadow:var(--shadow)}
.whatsapp-float img{width:28px;height:28px}

.page{padding:40px 0}
.section-title{font-size:28px;margin:0 0 18px;color:var(--deep-aqua)}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}

.form{background:var(--white);border-radius:18px;box-shadow:var(--shadow);padding:22px}
.input{width:100%;padding:12px 14px;border-radius:12px;border:1px solid rgba(0,0,0,.12);outline:none}
.input:focus{border-color:var(--deep-aqua)}
.label{font-weight:600;margin-bottom:8px;display:block}
.row{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}

.table{width:100%;border-collapse:separate;border-spacing:0;background:var(--white);border-radius:18px;box-shadow:var(--shadow);overflow:hidden}
.table-responsive{width:100%;overflow-x:auto}
.table th,.table td{padding:14px;border-bottom:1px solid rgba(0,0,0,.06);text-align:left}
.table th{background:rgba(0,188,212,.08);color:var(--deep-aqua);font-weight:700}
.badge{display:inline-block;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:700}
.badge-confirmed{background:rgba(0,200,83,.15);color:#0e7a39}
.badge-pending{background:rgba(255,193,7,.18);color:#8a6400}
.badge-cancelled{background:rgba(244,67,54,.15);color:#9a1f1f}

.card-kpi{background:var(--white);border-radius:18px;box-shadow:var(--shadow);padding:22px;display:flex;align-items:center;justify-content:space-between}
.kpi-value{font-size:24px;font-weight:800;color:var(--deep-aqua)}
.kpi-label{color:var(--muted)}

.admin-wrap{min-height:100vh;background:linear-gradient(135deg,rgba(0,188,212,.15),rgba(0,153,183,.15))}
.admin-center{min-height:100vh;display:grid;place-items:center;padding:40px}
.glass{background:rgba(255,255,255,.6);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.5);border-radius:22px;box-shadow:var(--shadow);padding:26px}

.calendar{background:var(--white);border-radius:18px;box-shadow:var(--shadow);overflow:hidden}
.cal-header{display:flex;align-items:center;justify-content:space-between;padding:14px;border-bottom:1px solid rgba(0,0,0,.06)}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:rgba(0,0,0,.06)}
.cal-cell{background:var(--white);min-height:80px;padding:8px;display:flex;align-items:flex-start;justify-content:flex-end;position:relative}
.cal-date{position:absolute;top:8px;left:8px;font-weight:700;color:var(--muted)}
.cal-legend{display:flex;gap:10px;padding:12px}
.legend-item{display:flex;align-items:center;gap:8px}
.legend-dot{width:12px;height:12px;border-radius:50%}
.dot-available{background:#22c55e}
.dot-booked{background:#ef4444}
.dot-blocked{background:#64748b}
.cal-cell.available{background:#eafff4}
.cal-cell.booked{background:#ffecec}
.cal-cell.blocked{background:#f1f5f9}
.cal-actions{display:flex;gap:10px}
.table .btn{padding:8px 12px;border-radius:12px}
.cal-cell.selected{outline:2px solid var(--turquoise)}
.more-toggle{width:36px;height:36px;border-radius:12px;border:1px solid rgba(0,0,0,.12);background:var(--white);display:grid;place-items:center}
.more-menu{position:relative;display:inline-block}
.more-panel{position:absolute;top:100%;right:0;background:var(--white);border:1px solid rgba(0,0,0,.08);box-shadow:var(--shadow);border-radius:14px;padding:10px;display:none;min-width:200px;z-index:10}
.more-menu.open .more-panel{display:block}
.more-panel form,.more-panel a{display:block;margin:6px 0}

.gallery-grid{columns:3 200px;column-gap:16px}
.gallery-item{break-inside:avoid;border-radius:18px;overflow:hidden;box-shadow:var(--shadow);margin-bottom:16px}
.gallery-item img{width:100%;display:block;transform:scale(1);transition:transform .3s ease}
.gallery-item video{width:100%;display:block;border-radius:18px}
.gallery-item:hover img{transform:scale(1.05)}

@media(max-width:900px){
 .feature-grid{grid-template-columns:repeat(2,1fr)}
 .testi-grid{grid-template-columns:repeat(2,1fr)}
 .grid-3{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:768px){
 .mobile-toggle{display:flex}
 .nav-links{display:none;position:absolute;top:70px;left:0;right:0;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-bottom:1px solid rgba(0,0,0,.08);padding:12px 16px;flex-direction:column;gap:10px}
 .header.open .nav-links{display:flex}
}
@media(min-width:769px){
 .mobile-toggle{display:none !important}
}
@media(max-width:640px){
 .nav{height:58px}
 .hero-title{font-size:32px}
 .feature-grid{grid-template-columns:1fr}
 .testi-grid{grid-template-columns:1fr}
 .grid-2,.grid-3{grid-template-columns:1fr}
 .slide{height:260px}
  .cal-actions{flex-wrap:wrap}
}
