/* =================================================
   VARIABLES
   ================================================= */
:root{
  4px;
  --logo-h: clamp(64px, 6vw, 96px);

  --bg: #ccdd88;                 /* fundal pagină */
  --nav-bg: #5b49d6;             /* HEADER + FOOTER */
  --text-dark: #1a1a1a;
  --text-light: rgba(255,255,255,.92);

  --accent: #d4af37;
   12px 28px rgba(0,0,0,.35);
}


/* =================================================
   GLOBAL
   ================================================= */
html, body{
  height: 100%;
  background: var(--bg);
  color: var(--text-dark);
}

body{
  padding-top: var(--nav-h);
}

#page{
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

main{
  flex: 1;
}

/* =================================================
   NAVBAR & FOOTER (UNIFIED)
   ================================================= */
.site-nav{
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1040;

  background: var(--nav-bg);   /* NEGRU */
  box-shadow: var(--shadow);
}


/* NAVBAR */
/* =========================
   NAVBAR – TEXT ALB
   ========================= */
.site-nav,
.site-nav *{
  color: #ffffff !important;
}

/* linkuri meniu */
.site-nav .nav-link{
  color: #ffffff !important;
}

/* hover */
.site-nav .nav-link:hover{
  color: #ffffff !important;
  opacity: 0.9;
}

/* link activ */
.site-nav .nav-link.active{
  color: #ffffff !important;
  font-weight: 600;
}

/* icon hamburger */
.site-nav .navbar-toggler-icon{
  filter: invert(1);
}

/* buton hamburger */
.site-nav .navbar-toggler{
  border-color: rgba(255,255,255,.6);
}


/* FOOTER */
footer{
  background: var(--nav-bg);   /* NEGRU ca header */
  color: var(--text-light);
  margin-top: auto;
}


/* =================================================
   LOGO & BRAND
   ================================================= */
.brand-logo{
  display: flex;
  align-items: center;
}

.brand-logo img{
  height: var(--logo-h);
  width: auto;
  filter: drop-shadow(0 6px 14px rgba(0,0,0,.35));
}

/* Blazon (scut) pentru logo în navbar + bandă cu 3 stele */
.brand-blazon{
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 52px;
  padding: 6px 6px 10px;
  background: linear-gradient(180deg, rgba(255,255,255,.12), rgba(255,255,255,.02));
  border: 1px solid rgba(255,255,255,.20);
  border-radius: 14px 14px 18px 18px;
  clip-path: polygon(10% 0%, 90% 0%, 100% 18%, 100% 58%, 50% 100%, 0% 58%, 0% 18%);
  box-shadow: 0 10px 20px rgba(0,0,0,.25);
}

.brand-blazon__img{
  width: 34px;
  height: 34px;
  border-radius: 10px;
  object-fit: cover;
  filter: drop-shadow(0 6px 10px rgba(0,0,0,.35));
}

.brand-blazon__band{
  position: absolute;
  left: 6px;
  right: 6px;
  bottom: 6px;
  height: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  background: rgba(0,0,0,.35);
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 10px;
  backdrop-filter: blur(6px);
}

.brand-blazon__star{
  color: #ffd24a; /* galben */
  font-size: 12px;
  line-height: 1;
  text-shadow: 0 1px 6px rgba(0,0,0,.45);
}

.navbar-brand{
  font-family: 'Great Vibes', cursive;
  font-size: clamp(24px, 2.4vw, 34px);
  font-weight: 400;
  color: var(--accent) !important;
  letter-spacing: 1.5px;
  margin-left: 12px;
  text-shadow:
    0 2px 6px rgba(0,0,0,.4),
    0 0 10px rgba(212,175,55,.25);
}

/* =================================================
   NAV LINKS
   ================================================= */
.site-nav .nav-link{
  color: var(--text-dark);
}

.site-nav .nav-link:hover{
  color: #000;
}

/* =================================================
   HERO
   ================================================= */
.hero{
  min-height: clamp(360px, 44vh, 560px);
  display: flex;
  align-items: flex-end;
  padding: clamp(22px, 4vw, 48px);
  box-shadow: 0 18px 40px rgba(0,0,0,.28);
}

.hero h1,
.hero .display-4,
.hero .display-6{
  color: #fff;
  text-shadow: 0 10px 30px rgba(0,0,0,.55);
}

.hero p,
.hero .lead{
  color: rgba(255,255,255,.85);
  max-width: 62ch;
}

/* =================================================
   CARDURI
   ================================================= */
.card{
  background: rgba(255,255,255,.25);
  border: 1px solid rgba(0,0,0,.1);
  border-radius: 16px;
  box-shadow: 0 12px 28px rgba(0,0,0,.2);
}

.card-title{
  color: #111;
}

.card-text{
  color: #333;
  line-height: 1.65;
}

/* Card premium */
.card-premium{
  background: linear-gradient(180deg, #3a3a3a, #2f2f2f);
  border-radius: 18px;
  border: 1.5px solid var(--accent);
  color: #fff;
}

/* =================================================
   IMAGINI
   ================================================= */
.card-img-top{
  height: 240px;
  object-fit: cover;
  border-radius: 16px 16px 0 0;
}

img.rounded{
  border-radius: 16px !important;
  object-fit: cover;
}

/* Room cover */
.room-cover{
  max-height: 70vh;
  overflow: hidden;
  border-radius: 18px;
}

.room-cover img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* =================================================
   RESPONSIVE
   ================================================= */
@media (max-width: 991px){

  .site-nav{
    padding: 6px 0;
  }

  .brand-logo img{
    height: 52px;
  }

  .navbar-brand{
    font-size: 22px;
    margin-left: 6px;
  }

  .navbar-collapse{
    position: fixed;
    inset: 0;
    background: var(--bg);
    padding: 90px 24px 24px;
    transform: translateY(-100%);
    transition: transform .35s ease, opacity .25s ease;
    pointer-events: none;
    z-index: 1050;
  }

  .navbar-collapse.show{
    transform: translateY(0);
    pointer-events: auto;
  }

  .navbar-nav .nav-link{
    font-size: 1.1rem;
    padding: 14px;
  }
}

@media (max-width: 576px){

  .hero{
    min-height: 60vh;
    align-items: center;
    text-align: center;
    padding: 20px;
  }

  .hero h1{
    font-size: 1.6rem;
  }

  .card-img-top{
    height: 180px;
  }
}


/* Homepage logo (blazon) */
.brand-blazon--home{width: 82px; height: 92px; padding: 10px 10px 16px; border-color: rgba(0,0,0,.10); background: linear-gradient(180deg, rgba(255,255,255,.95), rgba(255,255,255,.60)); box-shadow: 0 10px 24px rgba(0,0,0,.12);} 
.brand-blazon--home .brand-blazon__img{width: 58px; height: 58px; border-radius: 14px; filter: drop-shadow(0 8px 12px rgba(0,0,0,.18));}
.brand-blazon--home .brand-blazon__band{left: 10px; right: 10px; bottom: 9px; height: 18px; background: rgba(0,0,0,.18); border-color: rgba(0,0,0,.10);} 
.brand-blazon--home .brand-blazon__star{font-size: 14px;}
@media (max-width: 576px){.brand-blazon--home{width:72px;height:82px}.brand-blazon--home .brand-blazon__img{width:52px;height:52px}}
