:root{
  --bg:#0b0f14; --card:#121926; --text:#eaf0ff; --muted:#a9b4c7;
  --accent:#4da3ff; --accent2:#39d98a; --gold:#d5aa55; --border:rgba(255,255,255,.08);
  --max:1100px;
}

*{box-sizing:border-box}

body{
  margin:0;
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial;
  background:linear-gradient(180deg,#070a0f, #0b0f14);
  color:var(--text)
}

a{color:inherit;text-decoration:none}

.container{max-width:var(--max);margin:0 auto;padding:18px}

.nav{
  position:sticky;top:0;z-index:10;
  background:rgba(11,15,20,.75);
  backdrop-filter: blur(10px);
  border-bottom:1px solid var(--border);
}

.nav-inner{display:flex;gap:14px;align-items:center;justify-content:space-between}

.brand{display:flex;align-items:center;gap:10px;line-height:1.1;flex:0 0 auto}
.brand-logo{
  width:62px;height:62px;object-fit:cover;
  border-radius:14px;border:1px solid rgba(213,170,85,.55);
  box-shadow:0 8px 24px rgba(0,0,0,.32)
}
.brand-copy{display:flex;flex-direction:column}
.brand-copy b{font-size:18px}
.brand-copy > span{font-size:12px;color:var(--muted)}

.menu{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.menu a{padding:8px 10px;border-radius:10px;border:1px solid transparent}
.menu a:hover{border-color:var(--border);background:rgba(255,255,255,.04)}
.menu a.active{border-color:rgba(77,163,255,.35);background:rgba(77,163,255,.10)}

@media (max-width:760px){
  .nav-inner{align-items:stretch;flex-direction:column;gap:10px;padding-top:10px;padding-bottom:10px}
  .brand{align-self:center}
  .brand-logo{width:54px;height:54px}
  .menu{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin}
  .menu a{white-space:nowrap}
}

.hero{padding:46px 0 24px}

.hero-card{
  border:1px solid var(--border);
  background:
    radial-gradient(1200px 500px at 15% 0%, rgba(77,163,255,.18), transparent),
    radial-gradient(1000px 450px at 90% 10%, rgba(57,217,138,.12), transparent),
    var(--card);
  border-radius:22px;
  padding:26px;
  display:grid;
  grid-template-columns: 1.2fr .8fr;
  gap:18px;
}

h1{margin:0 0 10px;font-size:34px}
p{color:var(--muted);line-height:1.6;margin:0 0 14px}

.badges{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 16px}
.badge{
  font-size:12px;color:var(--text);
  border:1px solid var(--border);
  padding:6px 10px;border-radius:999px;
  background:rgba(255,255,255,.03)
}

.cta{display:flex;gap:10px;flex-wrap:wrap}

.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:10px 14px;border-radius:12px;border:1px solid var(--border);
  background:rgba(255,255,255,.04);
  color:var(--text);
  font-weight:600;
  transition: transform .15s ease;
}

.btn.primary{border-color:rgba(77,163,255,.45);background:rgba(77,163,255,.14)}
.btn.whatsapp{border-color:rgba(57,217,138,.45);background:rgba(57,217,138,.12)}
.btn:hover{transform:translateY(-1px)}

.card{
  border:1px solid var(--border);
  background:rgba(255,255,255,.03);
  border-radius:18px;
  padding:18px
}

.grid{display:grid;gap:14px}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-2{grid-template-columns:repeat(2,1fr)}

@media (max-width:900px){
  .hero-card{grid-template-columns:1fr}
  .grid-3{grid-template-columns:1fr}
  .grid-2{grid-template-columns:1fr}
  h1{font-size:28px}
}

.section{padding:18px 0}
.section h2{margin:0 0 10px}

.small{font-size:12px;color:var(--muted)}

.footer{
  padding:22px 0 34px;
  color:var(--muted);
  border-top:1px solid var(--border);
  margin-top:18px
}

.kv{display:flex;gap:10px;flex-wrap:wrap}
.kv div{
  border:1px solid var(--border);
  border-radius:14px;
  padding:10px 12px;
  background:rgba(255,255,255,.02)
}
.kv b{display:block}

.list{margin:0;padding-left:18px;color:var(--muted);line-height:1.7}

.notice{border-left:3px solid rgba(77,163,255,.6);padding-left:12px;color:var(--muted)}

img{max-width:100%;border-radius:16px;border:1px solid var(--border)}

/* Chenar foto sub zona de contact */
.contact-photo{
  margin-top: 20px;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0,0,0,.15);
  border: 1px solid rgba(0,0,0,.08);
}

/* imagini una sub alta */
.contact-photo img{
  width: 100%;
  height: auto;
  display: block;
  margin-bottom: 12px;
  transition: transform .4s ease;
}
.contact-photo img:last-child{margin-bottom:0}

/* hover doar pe imaginea atinsă */
.contact-photo img:hover{
  transform: scale(1.03);
}

/* HERO full-width (poza mare sus) */
.hero-cover{
  position: relative;
  min-height: 45vh;
  display: flex;
  align-items: flex-end;
  overflow: hidden;

  /* ca să arate ca un card mare, egal cu pagina */
  border-radius: 22px;
  border: 1px solid var(--border);
  margin-top: 18px;
}

/* fundal hero */
.hero-cover__bg{
  position: absolute;
  inset: 0;
  border-radius: 22px;
  background:
    linear-gradient(180deg, rgba(0,0,0,.55), rgba(0,0,0,.18)),
    url("images/curte_optimizata_1mb.jpg") center/cover no-repeat;
  transform: scale(1.02);
}

/* conținut peste imagine */
.hero-cover__content{
  position: relative;
  padding: 48px 0 60px; /* mai jos, mai premium */
  color: #fff;
  max-width: 820px;
}

.hero-cover__content h1{
  margin: 0 0 10px;
  font-size: clamp(28px, 4vw, 48px);
  line-height: 1.05;
}

.hero-cover__content h1 span{color: var(--accent)}

.hero-cover__content p{
  margin: 0 0 18px;
  font-size: 18px;
  color: rgba(255,255,255,.88);
}

.hero-cover__cta{
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

/* pe mobil */
@media (max-width: 700px){
  .hero-cover{ min-height: 52vh; }
  .hero-cover__content{ padding: 28px 0 34px; }
}
/* Camere page */
.room-grid{
  display:grid;
  grid-template-columns: 1.15fr .85fr;
  gap:16px;
}

.room-gallery{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:10px;
}

.room-photo img{
  width:100%;
  height:140px;
  object-fit:cover;
  border-radius:14px;
}

.room-features .kv{ margin-bottom: 6px; }

@media (max-width:900px){
  .room-grid{ grid-template-columns: 1fr; }
  .room-gallery{ grid-template-columns: 1fr; }
  .room-photo img{ height:auto; }
}
/* ===============================
   CAMERE
================================ */

.room-grid {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 24px;
}

@media (max-width: 900px) {
  .room-grid {
    grid-template-columns: 1fr;
  }
}

.room-gallery {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
  margin-top: 12px;
}

.room-gallery img {
  width: 100%;
  height: 160px;
  object-fit: cover;
  border-radius: 10px;
  transition: transform .3s ease;
}

.room-gallery img:hover {
  transform: scale(1.04);
}

.room-placeholder {
  height: 160px;
  border-radius: 10px;
  border: 1px dashed rgba(255,255,255,.2);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  color: #9fb4cc;
  background: rgba(255,255,255,.03);
}

.room-features .list {
  margin-top: 12px;
}
/* ===== GALERIE (grid + lightbox) ===== */
.gallery-head{
  display:flex;
  gap:12px;
  align-items:flex-end;
  justify-content:space-between;
  margin:0 0 14px;
  flex-wrap:wrap;
}

.gallery-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:12px;
}

@media (max-width: 900px){
  .gallery-grid{ grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px){
  .gallery-grid{ grid-template-columns: 1fr; }
}

.gl-item{
  display:block;
  border-radius:16px;
  overflow:hidden;
  border:1px solid var(--border);
  background:rgba(255,255,255,.02);
}

.gl-item img{
  width:100%;
  height:220px;
  object-fit:cover;
  display:block;
  border-radius:0;     /* pentru că are deja containerul border-radius */
  border:none;         /* scoatem borderul default de la img */
  transition: transform .35s ease;
}

.gl-item:hover img{
  transform: scale(1.03);
}

/* Lightbox */
.lightbox{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.82);
  display:none;
  align-items:center;
  justify-content:center;
  padding:18px;
  z-index:999;
}

.lightbox.open{ display:flex; }

.lightbox-figure{
  margin:0;
  width:min(1100px, 100%);
}

.lightbox-img{
  width:100%;
  height:auto;
  display:block;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.12);
  background:#111;
}

.lightbox-cap{
  margin-top:10px;
  color:rgba(255,255,255,.85);
  text-align:center;
}

.lightbox-close{
  position:absolute;
  top:14px;
  right:14px;
  width:44px;
  height:44px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.06);
  color:#fff;
  font-size:26px;
  line-height:1;
  cursor:pointer;
}

.lightbox-close:hover{
  transform: translateY(-1px);
}
/* =========================
   GALERIE (pro)
   ========================= */
.gallery-hero{
  background: radial-gradient(900px 380px at 20% 0%, rgba(77,163,255,.10), transparent),
              radial-gradient(900px 380px at 80% 0%, rgba(57,217,138,.08), transparent),
              rgba(255,255,255,.03);
}

.gallery-tabs{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.chip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:8px 12px;
  border-radius:999px;
  border:1px solid var(--border);
  background:rgba(255,255,255,.03);
  color:var(--text);
  font-weight:600;
  font-size:13px;
}
.chip:hover{
  border-color:rgba(77,163,255,.35);
  background:rgba(77,163,255,.08);
}

.gallery-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:14px;
}

.gallery-item{
  position:relative;
  overflow:hidden;
  border-radius:16px;
  border:1px solid var(--border);
  background:rgba(255,255,255,.02);
  box-shadow: 0 12px 30px rgba(0,0,0,.22);
  transform: translateZ(0);
}

.gallery-item img{
  width:100%;
  height:220px;
  object-fit:cover;
  display:block;
  border-radius:0;
  border:0;
  transition: transform .35s ease;
}

.gallery-item:hover img{
  transform: scale(1.03);
}

.gallery-caption{
  position:absolute;
  left:10px;
  right:10px;
  bottom:10px;
  padding:8px 10px;
  border-radius:12px;
  background:rgba(0,0,0,.45);
  border:1px solid rgba(255,255,255,.10);
  font-size:12px;
  color:rgba(255,255,255,.90);
}

/* item “wide” pentru poze panoramice */
.gallery-item.wide{
  grid-column: span 2;
}
.gallery-item.wide img{
  height:220px;
}

/* responsive */
@media (max-width: 900px){
  .gallery-grid{ grid-template-columns:repeat(2, 1fr); }
  .gallery-item.wide{ grid-column: span 2; }
}
@media (max-width: 600px){
  .gallery-grid{ grid-template-columns:1fr; }
  .gallery-item.wide{ grid-column: span 1; }
  .gallery-item img{ height:240px; }
}
/* Contact - harta */
.map-embed{
  width:100%;
  height:320px;
  border-radius:16px;
  overflow:hidden;
  border:1px solid var(--border);
  box-shadow: 0 12px 30px rgba(0,0,0,.25);
  margin-top:10px;
}

.map-embed iframe{
  width:100%;
  height:100%;
  border:0;
}
/* ===== Contact: formular + anti-spam ===== */
.contact-form label{
  display:block;
  font-size:12px;
  color:var(--muted);
  margin:10px 0 6px;
}
.contact-form input,
.contact-form textarea{
  width:100%;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid var(--border);
  background:rgba(255,255,255,.03);
  color:var(--text);
  outline:none;
}
.contact-form input:focus,
.contact-form textarea:focus{
  border-color:rgba(77,163,255,.45);
}

/* grid form */
.form-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
@media (max-width:900px){
  .form-grid{ grid-template-columns:1fr; }
}

/* honeypot ascuns */
.hp-field{
  position:absolute;
  left:-9999px;
  top:auto;
  width:1px;
  height:1px;
  overflow:hidden;
}

/* ===== Harta ===== */
.map-embed{
  width:100%;
  height:320px;
  border-radius:16px;
  overflow:hidden;
  border:1px solid var(--border);
  box-shadow: 0 12px 30px rgba(0,0,0,.25);
  margin-top:10px;
}
.map-embed iframe{
  width:100%;
  height:100%;
  border:0;
}

/* ===== WhatsApp flotant (global) ===== */
.wa-float{
  position: fixed;
  right: 16px;
  bottom: 16px;
  z-index: 999;
  padding: 12px 14px;
  border-radius: 999px;
  border: 1px solid rgba(57,217,138,.45);
  background: rgba(57,217,138,.12);
  color: var(--text);
  font-weight: 700;
  box-shadow: 0 14px 36px rgba(0,0,0,.35);
}
.wa-float:hover{
  transform: translateY(-1px);
}
/* ===== ATRACTII (carduri cu poze) ===== */
.atr-tabs{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.atr-grid{
  display:grid;
  grid-template-columns:repeat(2, 1fr);
  gap:14px;
}

.atr-card{
  border:1px solid var(--border);
  background:rgba(255,255,255,.03);
  border-radius:18px;
  overflow:hidden;
  box-shadow: 0 12px 28px rgba(0,0,0,.18);
}

.atr-img{
  display:block;
  overflow:hidden;
}

.atr-img img{
  width:100%;
  height:220px;
  object-fit:cover;
  display:block;
  border:0;
  border-radius:0;
  transition: transform .35s ease;
}

.atr-card:hover .atr-img img{
  transform: scale(1.03);
}

.atr-body{
  padding:14px 16px 16px;
}

.atr-body h3{
  margin:0 0 8px;
  font-size:18px;
}

.atr-body p{
  margin:0;
  color:var(--muted);
  line-height:1.55;
}

@media (max-width:900px){
  .atr-grid{ grid-template-columns:1fr; }
  .atr-img img{ height:240px; }
}
/* ===== ATRACTII (cards + grid) ===== */
.atr-tabs{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.chip{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  border-radius:999px;
  border:1px solid var(--border);
  background:rgba(255,255,255,.03);
  color:var(--text);
  font-weight:600;
  font-size:13px;
}
.chip:hover{
  background:rgba(255,255,255,.06);
}
.chip--soft{
  font-weight:600;
  font-size:12px;
  padding:7px 10px;
  background:rgba(255,255,255,.02);
}

.chips{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:10px;
}

.atr-grid{
  display:grid;
  grid-template-columns:repeat(2, 1fr);
  gap:14px;
}

.atr-card{
  border:1px solid var(--border);
  background:rgba(255,255,255,.03);
  border-radius:18px;
  overflow:hidden;
}

.atr-card--wide{
  grid-column:1 / -1;
}

.atr-img{
  display:block;
  border-bottom:1px solid var(--border);
}
.atr-img img{
  width:100%;
  height:220px;
  object-fit:cover;
  display:block;
  border:none;
  border-radius:0;
}

.atr-body{
  padding:16px;
}
.atr-body h3{
  margin:0 0 8px;
  font-size:18px;
}
.atr-body p{
  margin:0;
  color:var(--muted);
  line-height:1.6;
}

@media (max-width:900px){
  .atr-grid{ grid-template-columns:1fr; }
  .atr-img img{ height:210px; }
  .atr-card--wide{ grid-column:auto; }
}

/* ===== WhatsApp flotant ===== */
.wa-float{
  position:fixed;
  right:16px;
  bottom:16px;
  z-index:999;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:12px 14px;
  border-radius:999px;
  border:1px solid rgba(57,217,138,.45);
  background:rgba(57,217,138,.14);
  color:var(--text);
  font-weight:800;
  box-shadow: 0 12px 30px rgba(0,0,0,.25);
}
.wa-float:hover{
  transform: translateY(-1px);
  background:rgba(57,217,138,.18);
}

/* ===== Rezervare online ===== */
.booking-callout{
  display:grid;
  grid-template-columns:1fr auto;
  align-items:center;
  gap:20px;
  margin:4px 0 18px;
  padding:22px;
  border:1px solid rgba(213,170,85,.42);
  border-radius:18px;
  background:
    radial-gradient(700px 240px at 0% 0%, rgba(77,163,255,.15), transparent),
    linear-gradient(135deg, rgba(213,170,85,.10), rgba(255,255,255,.025));
}
.booking-callout h2{margin:5px 0 8px}
.booking-callout p{margin:0}
.eyebrow{
  color:var(--gold);
  font-size:12px;
  font-weight:800;
  letter-spacing:.12em;
}
.btn.booking-btn{
  min-height:48px;
  padding:12px 20px;
  border-color:rgba(213,170,85,.75);
  background:linear-gradient(135deg, #e7c574, #bd8c35);
  color:#111722;
  box-shadow:0 10px 30px rgba(189,140,53,.22);
}
.btn.booking-btn:hover{box-shadow:0 14px 34px rgba(189,140,53,.30)}

/* ===== Tur virtual ===== */
.tour-intro{
  background:
    radial-gradient(900px 380px at 15% 0%, rgba(77,163,255,.14), transparent),
    radial-gradient(900px 380px at 85% 0%, rgba(213,170,85,.10), transparent),
    rgba(255,255,255,.03);
}
.tour-embed{
  width:100%;
  overflow:hidden;
  border-radius:18px;
  border:1px solid var(--border);
  background:#05070b;
  box-shadow:0 16px 42px rgba(0,0,0,.32);
}
.tour-embed iframe{
  display:block;
  width:100%;
  height:clamp(430px, 72vh, 760px);
  border:0;
}
.tour-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}

@media (max-width:700px){
  .booking-callout{grid-template-columns:1fr;padding:18px}
  .booking-btn{width:100%}
  .tour-embed iframe{height:62vh;min-height:460px}
}
