/* ISLA Rebelde Camp — brand theme matched to logo
   Palette: deep navy, bright cyan, ice/light blue, white */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;500;600;700&family=Montserrat:wght@400;500;600;700&display=swap');


:root{
  --navy:#0b1f5c;        /* deep navy from logo outline + wordmark shadow */
  --navy-dark:#061344;   /* darker navy for hovers / headers */
  --cyan:#2bb6f6;        /* bright cyan from "Camp" script + water */
  --cyan-dark:#1597d6;
  --ice:#cfe9ff;         /* pale icy blue from wordmark fill */
  --paper:#f4f9ff;       /* page background, tinted cool white */
  --ink:#0b1f5c;         /* primary text = navy */
  --muted:#5b6b8a;
}

*{box-sizing:border-box;}
body{
  font-family:'Montserrat',system-ui,-apple-system,sans-serif;
  color:var(--ink);
  background:var(--paper);
  font-weight:400;
}
h1,h2,h3,h4,h5,h6,.navbar-brand{
  font-family:'Playfair Display','Montserrat',serif;
  font-weight:700;


  color:var(--navy);
  letter-spacing:.5px;
  text-transform:none;
}
h1{letter-spacing:1px;}
p,li,td,th,label,input,select,textarea,button,.btn,.card,.form-control,.form-select,.nav-link,.dropdown-item,small{
  font-family:'Montserrat',sans-serif;
}

a{color:var(--cyan-dark);}
a:hover{color:var(--navy);}

/* Brand utility classes (kept names for backward compat) */
.bg-forest{background:var(--navy)!important;color:#fff;}
.bg-parchment{background:var(--paper)!important;}
.text-ember{color:var(--cyan)!important;}
.text-navy{color:var(--navy)!important;}

.btn-ember{background:var(--cyan);color:#fff;border:none;font-weight:600;text-transform:uppercase;letter-spacing:.5px;}
.btn-ember:hover{background:var(--cyan-dark);color:#fff;}
.btn-forest{background:var(--navy);color:#fff;border:none;font-weight:600;text-transform:uppercase;letter-spacing:.5px;}
.btn-forest:hover{background:var(--navy-dark);color:#fff;}
.btn-outline-light{font-weight:600;text-transform:uppercase;letter-spacing:.5px;}

.navbar.bg-forest{background:var(--navy)!important; min-height:25vh;}
.navbar-dark .navbar-nav .nav-link{color:#cfe1ff;font-weight:500;}
.navbar-dark .navbar-nav .nav-link.active,
.navbar-dark .navbar-nav .nav-link:hover{color:#fff;}

.hero{
  position:relative;min-height:80vh;
  background:linear-gradient(rgba(6,19,68,.65),rgba(11,31,92,.7)),
    url('https://images.unsplash.com/photo-1504280390367-361c6d9f38f4?w=1920') center/cover;
  display:flex;align-items:center;color:#fff;text-align:center;
}
.hero h1{color:#fff;font-size:clamp(2.2rem,5.5vw,4.5rem);text-shadow:0 2px 12px rgba(0,0,0,.4);}
.hero p.lead{font-size:1.25rem;color:var(--ice);}

.section{padding:4rem 0;}
.section h2{font-size:2rem;margin-bottom:.5rem;}

.card{border:1px solid rgba(11,31,92,.08);border-radius:10px;}
.card h5,.card h6{color:var(--navy);}
.card-hover{transition:transform .25s,box-shadow .25s;}
.card-hover:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(11,31,92,.18);}

.price-tag{color:var(--cyan-dark);font-weight:700;font-size:1.25rem;font-family:'Oswald',sans-serif;letter-spacing:.5px;}

.feature-icon{
  width:56px;height:56px;display:inline-flex;align-items:center;justify-content:center;
  background:var(--cyan);color:#fff;border-radius:50%;font-size:1.5rem;
}

.gallery-item img{width:100%;height:220px;object-fit:cover;border-radius:8px;}
.gallery-item{margin-bottom:1rem;}

.booking-summary{position:sticky;top:90px;}
.booking-summary .total{font-size:1.6rem;font-weight:700;color:var(--cyan-dark);font-family:'Oswald',sans-serif;}

.table thead.bg-forest th,.table thead th.bg-forest{background:var(--navy)!important;color:#fff;}

footer{background:var(--navy-dark);color:var(--ice);}
footer a{color:var(--cyan);} 

/* Announcement bar */
.announcement-bar{
  background:rgba(6,19,68,.95);
  color:#fff;
  border-bottom:1px solid rgba(43,182,246,.25);
}
.announcement-bar .container{
  min-height:48px;
}
.announcement-bar .social-icons{
  display:flex;
  gap:14px;
  align-items:center;
}
.announcement-bar .social-icons a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  font-size:1.1rem;
  text-decoration:none;
}
.announcement-bar .social-icons a:hover{
  color:var(--cyan);
}
.announcement-bar .announcement-message{
  font-weight:600;
  letter-spacing:.2px;
  font-size:.95rem;
  color:var(--ice);
}

@media (max-width: 991.98px){
  .announcement-bar .container{gap:10px;}
  .announcement-bar .social-icons{gap:10px;}
  .announcement-bar .announcement-message{font-size:.9rem; padding:0 6px;}
}


/* Admin */
.admin-sidebar{min-height:100vh;background:var(--navy);color:#fff;}
.admin-sidebar a{color:#cfe1ff;display:block;padding:.6rem 1rem;text-decoration:none;border-left:3px solid transparent;font-weight:500;}
.admin-sidebar a:hover,.admin-sidebar a.active{background:rgba(255,255,255,.08);border-left-color:var(--cyan);color:#fff;}

.form-control:focus,.form-select:focus{border-color:var(--cyan);box-shadow:0 0 0 .2rem rgba(43,182,246,.25);}
