/* ========== Paleta: crem + teracotă ========== */
:root{
  --cream:#fbf6ee;        /* fundal principal */
  --cream-deep:#f5ebdd;   /* secțiuni alternante */
  --card:#fffaf3;         /* carduri */
  --line:#ecdcc6;         /* borduri fine */
  --terra:#c0643a;        /* accent (butoane, titluri mici) */
  --terra-dark:#a8522c;
  --terra-soft:#f6e3d3;   /* etichete */
  --terra-text:#9a4a26;
  --green:#2d5016;
  --bar:#f3e6d3;          /* bara de sus */
  --sage:#8f9f77;         /* brazii dintre sectiunile deschise */
}

/* ========== Reset & Base ========== */
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'Source Sans 3',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;line-height:1.6;color:#333;background:var(--cream);overflow-x:hidden;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,.logo,.section-title{font-family:'Lora',Georgia,'Times New Roman',serif;letter-spacing:-.01em}
button,input,select,textarea{font-family:inherit}

/* ========== Header / Nav ========== */
header{
  position:fixed;top:0;left:0;width:100%;
  background:rgba(243,230,211,.96);border-bottom:1px solid var(--line);
  backdrop-filter:blur(10px);
  z-index:1000;padding:1rem 0;transition:all .3s ease
}
nav{
  max-width:1200px;margin:0 auto;padding:0 2rem;
  display:flex;justify-content:space-between;align-items:center
}
.logo{font-size:1.6rem;font-weight:700;line-height:1.2;color:#2d5016;margin-right:2rem;text-decoration:none;white-space:nowrap}
.nav-center{display:flex;align-items:center;gap:2rem}
.nav-links{display:flex;list-style:none;gap:1.5rem}
.nav-links a{white-space:nowrap;color:#333;text-decoration:none;font-weight:500;font-size:1.1rem;transition:color .3s}
.nav-links a:hover{color:#2d5016}
.language-switcher{display:flex;gap:.5rem;align-items:center;margin-right:1rem}
.lang-btn{padding:.5rem 1rem;border:2px solid #2d5016;background:transparent;color:#2d5016;font-weight:700;border-radius:20px;cursor:pointer;transition:.2s;font-size:.9rem}
.lang-btn.active,.lang-btn:hover{background:#2d5016;color:#fff}
.mobile-menu{display:none;flex-direction:column;cursor:pointer}
.mobile-menu span{width:25px;height:3px;background:#333;margin:3px 0;transition:.2s}

/* ========== Hero ========== */
.hero{
  height:100vh;background:linear-gradient(rgba(0,0,0,.4),rgba(0,0,0,.4));
  display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;position:relative
}
.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1}
.hero-content{max-width:800px;padding:0 2rem;z-index:2}
.hero h1{font-size:3.5rem;line-height:1.15;font-weight:600;margin-bottom:1rem;text-shadow:2px 2px 4px rgba(0,0,0,.8)}
.hero p{font-size:1.35rem;line-height:1.55;max-width:640px;margin:0 auto 2rem;text-shadow:1px 1px 2px rgba(0,0,0,.8)}
.cta-button{display:inline-block;padding:1rem 2rem;background:var(--terra);color:#fff;border-radius:50px;font-size:1.1rem;font-weight:700;text-decoration:none;box-shadow:0 4px 15px rgba(192,100,58,.35);transition:.2s}
.cta-button:hover{background:var(--terra-dark);transform:translateY(-2px);box-shadow:0 6px 20px rgba(192,100,58,.45)}
.whatsapp-btn{background:var(--green);box-shadow:0 4px 15px rgba(45,80,22,.3);margin-top:1rem;display:inline-block}
.whatsapp-btn:hover{background:#20b955}

/* ========== Sections & Containers ========== */
section{padding:5rem 0}
.container{max-width:1200px;margin:0 auto;padding:0 2rem}
.section-title{text-align:center;font-size:2.5rem;margin-bottom:3rem;color:#2d5016}

/* ========== Overview ========== */
.overview{background:var(--cream-deep)}
.overview-content{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
.overview-text{font-size:1.15rem;line-height:1.8}
.overview-text p+p{margin-top:1.8em}
.overview-features{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem;margin-top:2rem}
.feature{background:var(--card);border:1px solid var(--line);padding:1.5rem;border-radius:10px;box-shadow:0 4px 14px rgba(150,80,40,.08);text-align:center}
.feature h4{color:var(--terra);margin-bottom:.5rem}

/* ========== Rooms ========== */
.rooms-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem;margin-top:3rem}
.room-card{background:var(--card);border-radius:15px;overflow:hidden;box-shadow:0 6px 22px rgba(150,80,40,.10);transition:transform .3s}
.room-card:hover{transform:translateY(-5px)}
.room-image{height:250px;overflow:hidden}
.room-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.room-card:hover .room-image img{transform:scale(1.05)}
.room-details{padding:1.5rem}
.room-details h3{color:#2d5016;margin-bottom:1rem;font-size:1.3rem}
.room-features{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}
.room-feature{background:var(--terra-soft);padding:.3rem .8rem;border-radius:20px;font-size:.9rem;color:var(--terra-text)}

/* ========== Contact & Booking ========== */
.contact{background:#2d5016;color:#fff}
.contact-content{display:grid;grid-template-columns:1fr 1fr;gap:4rem}
.contact-info h3{margin-bottom:1rem;font-size:1.5rem}
.contact-info p{margin-bottom:1rem;font-size:1.1rem}
.contact-form{padding:2rem;border-radius:15px}

/* Booking (sus): pastel derivat din #2d5016 */
.booking{background:var(--cream-deep)}
.booking .contact-form{background:var(--card);border:1px solid var(--line);color:#333;max-width:600px;margin:0 auto}
.booking .form-group input,.booking .form-group textarea{border:1px solid #dccab1;background:#fff}
.booking .submit-btn{background:var(--terra);color:#fff !important}
.booking .submit-btn:hover{background:var(--terra-dark)}

/* Contact (jos) pe fundal verde */
.contact .contact-form{background:rgba(255,255,255,.1);color:#fff;backdrop-filter:blur(10px)}

.form-group{margin-bottom:1.5rem}
.form-group label{display:block;margin-bottom:.5rem;font-weight:700}
.form-group input,.form-group textarea,.form-group select{
  width:100%;padding:1rem;border:none;border-radius:8px;font-size:1rem;background:rgba(255,255,255,.9)
}
.form-group textarea{height:120px;resize:vertical}
.submit-btn{background:#fff;color:#2d5016;padding:1rem 2rem;border:none;border-radius:50px;font-size:1.1rem;font-weight:700;cursor:pointer;transition:.2s}
.submit-btn:hover{background:#f0f0f0;transform:translateY(-2px)}

/* ========== Footer ========== */
footer{background:#1a2e0a;color:#fff;text-align:center;padding:2rem 0}

/* ========== WEATHER (Desktop) ========== */
.weather-banner{
  background:var(--cream-deep);border:1px solid var(--line);border-radius:16px;
  padding:1.25rem 1.5rem;display:flex;justify-content:space-between;gap:1.5rem;align-items:center;
  box-shadow:0 2px 10px rgba(0,0,0,.05)
}
.wb-left h3{margin-bottom:.5rem;color:#2d5016}
.wb-main{display:flex;align-items:baseline;gap:1rem}
.wb-temp{font-size:2.75rem;font-weight:700;color:#2d5016;line-height:1}
.wb-desc small{color:#555}
.wb-extras{margin-top:.5rem;display:flex;gap:1rem;color:#2d5016}
.wb-right label{display:block;font-weight:600;margin-bottom:.35rem}
#wbSelect{padding:.6rem .9rem;border-radius:10px;border:1px solid var(--line);background:#fff}

/* Forecast 3 zile – desktop: grid 3 coloane */
.wb-forecast{margin-top:1rem;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.wb-day{
  background:var(--card);border:1px solid var(--line);border-radius:12px;
  padding:.9rem;text-align:center;color:#2d5016;box-shadow:0 2px 8px rgba(0,0,0,.05)
}
.wb-day h4{font-size:1rem;margin-bottom:.25rem}
.wb-day .wb-icon{font-size:1.4rem;line-height:1;margin:.25rem 0}
.wb-day .wb-range{font-weight:700}

/* ========== Responsive (layout general) ========== */
@media (max-width:768px){
  .nav-center{flex-direction:column;gap:1rem}
  .nav-links{
    position:fixed;top:120px;left:-100%;width:100%;height:calc(100vh - 120px);
    background:var(--bar);flex-direction:column;justify-content:flex-start;align-items:center;
    padding-top:2rem;transition:left .3s ease
  }
  .nav-links.active{left:0}
  .mobile-menu{display:flex}
  .language-switcher{order:-1}
  .hero h1{font-size:2.5rem}
  .hero p{font-size:1.1rem}
  .overview-content,.contact-content{grid-template-columns:1fr;gap:2rem}
  .overview-features{grid-template-columns:1fr}
  .rooms-grid{grid-template-columns:1fr}
  .section-title{font-size:2rem}
}
@media (min-width:769px) and (max-width:1180px){
  nav{padding:0 1.25rem}
  .logo{font-size:1.3rem;margin-right:1rem}
  .nav-center{gap:1rem}
  .nav-links{gap:1rem}
  .nav-links a{font-size:1rem}
}
@media (max-width:480px){
  .logo{font-size:1.2rem;white-space:normal;max-width:12ch;margin-right:.5rem}
  .hero h1{font-size:2rem}
  .cta-button{padding:.8rem 1.5rem;font-size:1rem}
  section{padding:3rem 0}
  .container{padding:0 1rem}
  .language-switcher{gap:.3rem}
  .lang-btn{padding:.3rem .8rem;font-size:.8rem}
}

/* ========== Desktop: centrează booking ========== */
@media (min-width:769px){
  .booking .container{display:flex;flex-direction:column;align-items:center}
  .booking .contact-form{width:100%;max-width:700px;margin:0 auto}
}

/* ========== WEATHER (Mobile / Tablet – CAROUSEL) ========== */
/* singurul bloc mobil pentru meteo; NU există alte reguli mobile pentru .wb-forecast */
@media (max-width:900px){
  /* ascunde partea cu “vreme acum” */
  .weather-banner .wb-left{display:none !important}

  /* selectorul sus, full width */
  .weather-banner{
    display:flex !important;flex-direction:column !important;align-items:stretch !important;
    gap:.75rem !important;padding:1rem !important;border-radius:12px !important
  }
  .weather-banner .wb-right{order:-1 !important;width:100% !important}

  /* forecast = carusel (NU grid) */
  .wb-forecast{
    display:flex !important;flex-wrap:nowrap !important;
    overflow-x:auto !important;overflow-y:hidden !important;
    gap:.75rem !important;width:100% !important;max-width:100% !important;
    padding:.5rem 0 .3rem !important;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;
    margin-top:.5rem !important
  }
  .wb-forecast::-webkit-scrollbar{height:6px}
  .wb-forecast::-webkit-scrollbar-track{background:#e8f5e8;border-radius:8px}
  .wb-forecast::-webkit-scrollbar-thumb{background:#cfe8cf;border-radius:8px}

  /* carduri compacte; doar zi + icon */
  .wb-forecast .wb-day{
    flex:0 0 120px !important;display:flex !important;flex-direction:column;
    align-items:center;justify-content:center;text-align:center !important;
    background:#fff !important;border:1px solid #cfe8cf !important;border-radius:10px !important;
    padding:.7rem !important;scroll-snap-align:start
  }
  .wb-forecast .wb-day h4{display:block !important;font-size:1.2rem;margin:0 0 .25rem 0}
  .wb-forecast .wb-day .wb-icon{display:block !important;font-size:2rem !important;line-height:1;margin:0}
  .wb-forecast .wb-day .wb-range,.wb-forecast .wb-day small{display:none !important}
}
/* ==== WEATHER (mobil) — arată și min/max + descriere în card ==== */
@media (max-width: 900px){
  /* card puțin mai lat ca să încapă textul */
  .wb-forecast .wb-day{
    flex: 0 0 150px !important;   /* era ~120px; creștem lățimea */
    padding: .8rem !important;
  }

  /* temperatura min/max */
  .wb-forecast .wb-day .wb-range{
    display: block !important;
    font-size: 1rem;
    font-weight: 700;
    margin-top: .25rem;
  }

  /* descrierea condiției (dacă e randată ca <small> sau cu clasa .wb-cond) */
  .wb-forecast .wb-day small,
  .wb-forecast .wb-day .wb-cond{
    display: block !important;
    font-size: 1rem;
    margin-top: .15rem;
    color: #2d5016;
    opacity: .95;
  }
}
/* ==== WEATHER: carusel pe mobil/tabletă ==== */
.wb-forecast-wrap{
  position: relative;
  margin-top: 1rem;
}

/* fade pe margini (vizual „carusel”) – doar mobil */
@media (max-width: 900px){
  .wb-forecast-wrap::before,
  .wb-forecast-wrap::after{
    content:""; position:absolute; top:0; bottom:0; width:28px; pointer-events:none;
    z-index:2;
  }
  .wb-forecast-wrap::before{
    left:0; background:linear-gradient(90deg, rgba(232,245,232,1), rgba(232,245,232,0));
  }
  .wb-forecast-wrap::after{
    right:0; background:linear-gradient(-90deg, rgba(232,245,232,1), rgba(232,245,232,0));
  }
}

/* butoane navigație */
.wb-nav{
  position:absolute; top:50%; transform:translateY(-50%);
  width:36px; height:36px; border-radius:50%;
  background:#2d5016; color:#fff; border:none; font-size:22px; line-height:1;
  display:none; align-items:center; justify-content:center;
  box-shadow:0 4px 12px rgba(0,0,0,.15); z-index:3; cursor:pointer;
}
.wb-prev{ left:-6px; }
.wb-next{ right:-6px; }
.wb-nav:active{ transform:translateY(-50%) scale(.98); }

/* buline */
.wb-dots{ display:none; gap:8px; justify-content:center; margin-top:.5rem; }
.wb-dots button{
  width:8px; height:8px; border-radius:50%; border:none; background:#cfe8cf; cursor:pointer;
}
.wb-dots button[aria-current="true"]{ background:#2d5016; }

/* pe mobil activăm caruselul vizual */
@media (max-width: 900px){
  .wb-nav{ display:flex; }
  .wb-dots{ display:flex; }

  .wb-forecast{
    display:flex !important; flex-wrap:nowrap !important;
    overflow-x:auto !important; overflow-y:hidden !important;
    gap:.75rem !important; padding:.5rem 8px .3rem 8px !important;
    scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch;
  }
  .wb-forecast .wb-day{
    flex:0 0 150px !important; scroll-snap-align:start;
  }
}

/* pe desktop ascundem butoane/buline; rămâne grid-ul tău */
@media (min-width: 901px){
  .wb-nav, .wb-dots{ display:none !important; }
}
/* ===== Gallery sections ===== */
.gallery-section { margin-bottom: 3rem; }
.gallery-section .g-note { text-align:center; margin: -1.5rem 0 1.5rem; color:#2d5016; opacity:.9; }

/* grid reutilizabil (se potrivește cu .rooms-grid) */
.gallery-grid{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 1rem;
}
.g-item{
  background:#fff; border-radius:14px; overflow:hidden;
  box-shadow:0 5px 18px rgba(0,0,0,.08); cursor:zoom-in;
}
.g-item img{
  width:100%; height:240px; object-fit:cover; display:block;
  transition: transform .25s ease;
}
.g-item:hover img{ transform: scale(1.04); }

/* ===== Lightbox ===== */
.lightbox{
  position:fixed; inset:0; background:rgba(0,0,0,.8);
  display:none; align-items:center; justify-content:center;
  padding: 2rem; z-index: 2000;
}
.lightbox.open{ display:flex; }
.lb-figure{ max-width:min(1100px, 90vw); max-height: 88vh; text-align:center; }
.lb-figure img{ max-width:100%; max-height:80vh; object-fit:contain; border-radius:8px; }
.lb-figure figcaption{ color:#fff; margin-top:.5rem; opacity:.9; }

.lb-close{
  position:absolute; top:16px; right:16px; width:42px; height:42px;
  border:none; border-radius:50%; background:#000; color:#fff; font-size:22px; cursor:pointer;
  opacity:.85;
}
.lb-close:hover{ opacity:1; }

.lb-nav{
  position:absolute; top:50%; transform:translateY(-50%);
  width:48px; height:48px; border-radius:50%; border:none; cursor:pointer;
  background:#2d5016; color:#fff; font-size:26px; box-shadow:0 6px 18px rgba(0,0,0,.25);
}
.lb-prev{ left: 18px; }
.lb-next{ right: 18px; }

@media (max-width: 600px){
  .g-item img{ height: 200px; }
  .lb-nav{ width:40px; height:40px; font-size:22px; }
  .lb-prev{ left:10px; } .lb-next{ right:10px; }
}
footer {
  background: #1a2e0a;
  color: #fff;
  text-align: center;
  padding: 2rem 0;
}

footer .powered {
  font-size: 0.85rem;
  color: #bbb;         /* gri deschis */
  margin-top: 0.5rem;
}

footer .powered strong {
  color: #fff;         /* alb pentru contrast */
  font-weight: 600;
}
/* ===== Cookie banner (discret) ===== */
.cookie-banner{
  position: fixed; inset: auto 1rem 1rem auto;
  max-width: 560px; width: min(92vw, 560px);
  background: rgba(27, 46, 11, .94); /* verde închis translucid */
  color: #fff; border-radius: 14px; padding: .85rem 1rem;
  box-shadow: 0 8px 24px rgba(0,0,0,.25);
  display: flex; gap: .85rem; align-items: center; z-index: 1100;
  backdrop-filter: blur(6px);
}
.cookie-text{ font-size: .92rem; line-height: 1.35; }
.cookie-text a{ color: #cfe8cf; text-decoration: underline; }
.cookie-actions{ display: flex; gap: .5rem; margin-left: auto; flex-wrap: wrap; }
.cookie-btn{
  background: #e8f5e8; color:#1a2e0a; border:0; border-radius: 20px;
  padding:.5rem .9rem; font-weight:600; cursor:pointer;
}
.cookie-btn:hover{ filter: brightness(0.95); }
.cookie-btn.ghost{
  background: transparent; color:#e8f5e8; border:1px solid #cfe8cf;
}
.cookie-link{
  background: transparent; border:0; color:#cfe8cf; text-decoration: underline;
  cursor:pointer; padding: .3rem .4rem;
}

/* popover preferințe */
.cookie-popover{
  position: fixed; inset: auto 1rem 4.5rem auto;
  z-index: 1120; display: grid; place-items: start end;
}
.cookie-popover-inner{
  width: min(92vw, 360px);
  background: #fff; color:#2d5016; border:1px solid #cfe8cf; border-radius:12px;
  box-shadow: 0 12px 28px rgba(0,0,0,.18);
  padding: 1rem; font-size: .95rem;
}
.cookie-popover-inner h4{ margin:0 0 .6rem 0; }
.cookie-switch{ display:flex; align-items:center; gap:.5rem; margin:.4rem 0; }
.cookie-popover-actions{ display:flex; gap:.5rem; justify-content:flex-end; margin-top:.75rem; }

@media (max-width: 560px){
  .cookie-banner{ inset: auto .75rem .75rem .75rem; }
  .cookie-actions{ width:100%; justify-content:flex-end; }
}
/* Cookie: respectă atributul hidden */
.cookie-banner[hidden],
.cookie-popover[hidden]{
  display: none !important;
}

.map-buttons {
  display: flex;
  gap: 12px;
  margin-top: 16px;
  flex-wrap: wrap;
}

.map-btn {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 16px;
  background: #ffffff;
  border: 1px solid #ddd;
  border-radius: 6px;
  text-decoration: none;
  color: #333;
  font-size: 0.95rem;
  transition: all 0.25s ease;
}

.map-btn:hover {
  background: #f6f6f6;
  border-color: #bbb;
  transform: translateY(-1px);
}

.map-btn .icon {
  font-size: 1.1rem;
}

.map-btn .text {
  white-space: nowrap;
}
.cookie-settings-link {
  display:inline-block;
  margin-top:12px;
  text-decoration: underline;
  cursor:pointer;
}


/* ===== Formulare: trimitere pe WhatsApp + alternativa email ===== */
.wa-submit::before{content:"";display:inline-block;width:1.15em;height:1.15em;margin-right:.5em;vertical-align:-.2em;
  background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 0 0-8.6 15.1L2 22l5-1.3A10 10 0 1 0 12 2Zm0 18.2a8.2 8.2 0 0 1-4.2-1.1l-.3-.2-3 .8.8-2.9-.2-.3A8.2 8.2 0 1 1 12 20.2Zm4.5-6.1c-.2-.1-1.5-.7-1.7-.8s-.4-.1-.6.1-.7.8-.8 1-.3.2-.5.1a6.7 6.7 0 0 1-3.3-2.9c-.3-.4.2-.4.8-1.4a.5.5 0 0 0 0-.5l-.8-1.8c-.2-.5-.4-.4-.6-.4h-.5a1 1 0 0 0-.7.3 3 3 0 0 0-.9 2.2 5.2 5.2 0 0 0 1.1 2.7 11.8 11.8 0 0 0 4.5 4c1.7.7 2.3.8 3.2.7a2.7 2.7 0 0 0 1.8-1.3 2.2 2.2 0 0 0 .2-1.3c-.1-.1-.3-.2-.5-.3Z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 0 0-8.6 15.1L2 22l5-1.3A10 10 0 1 0 12 2Zm0 18.2a8.2 8.2 0 0 1-4.2-1.1l-.3-.2-3 .8.8-2.9-.2-.3A8.2 8.2 0 1 1 12 20.2Zm4.5-6.1c-.2-.1-1.5-.7-1.7-.8s-.4-.1-.6.1-.7.8-.8 1-.3.2-.5.1a6.7 6.7 0 0 1-3.3-2.9c-.3-.4.2-.4.8-1.4a.5.5 0 0 0 0-.5l-.8-1.8c-.2-.5-.4-.4-.6-.4h-.5a1 1 0 0 0-.7.3 3 3 0 0 0-.9 2.2 5.2 5.2 0 0 0 1.1 2.7 11.8 11.8 0 0 0 4.5 4c1.7.7 2.3.8 3.2.7a2.7 2.7 0 0 0 1.8-1.3 2.2 2.2 0 0 0 .2-1.3c-.1-.1-.3-.2-.5-.3Z'/%3E%3C/svg%3E") center/contain no-repeat}
.email-alt{display:block;margin:.9rem auto 0;background:none;border:0;font:inherit;font-size:.95rem;
  color:inherit;opacity:.8;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.email-alt:hover{opacity:1}
.booking form,.contact form{text-align:center}
.booking .form-group,.contact .form-group{text-align:left}

/* linkuri lizibile pe fundalul verde din Contact */
.contact a:not(.map-btn){color:var(--terra-soft);text-underline-offset:3px}
.contact a:not(.map-btn):hover{color:#fff}

/* ===== Brazi artistici intre sectiuni ===== */
.forest-divider{
  position:relative;z-index:1;height:120px;margin:-120px 0 -1px;pointer-events:none;
  background:var(--fd,var(--cream));
  -webkit-mask:url("../images/forest.svg") center bottom/auto 100% repeat-x;
          mask:url("../images/forest.svg") center bottom/auto 100% repeat-x;
}
.forest-divider{-webkit-mask-position:var(--fdx,50%) bottom;mask-position:var(--fdx,50%) bottom}
.forest-divider.fd-a{transform:scaleX(-1)}
.forest-divider.fd-b{--fdx:30%}
.forest-divider.fd-c{transform:scaleX(-1);--fdx:70%}
.forest-divider.fd-foot{--fdx:55%}
/* intre sectiuni deschise: brazi verde-salvie, iar dealul din fata in culoarea sectiunii urmatoare */
.forest-divider.fd-light{
  background:var(--sage);
  -webkit-mask-image:url("../images/forest-trees.svg");mask-image:url("../images/forest-trees.svg");
}
.forest-divider.fd-light::after{
  content:"";position:absolute;inset:0;background:var(--fd);
  -webkit-mask:url("../images/forest-ground.svg") var(--fdx,50%) bottom/auto 100% repeat-x;
          mask:url("../images/forest-ground.svg") var(--fdx,50%) bottom/auto 100% repeat-x;
}
.hero .forest-divider{position:absolute;left:0;right:0;bottom:-1px;margin:0;height:140px}
section:has(+ .forest-divider),main:has(~ .forest-divider){padding-bottom:calc(5rem + 70px)}
@media (max-width:768px){
  .forest-divider{height:80px;margin-top:-80px}
  .hero .forest-divider{height:90px}
  section:has(+ .forest-divider),main:has(~ .forest-divider){padding-bottom:calc(3rem + 50px)}
}

/* ===== Iconite la punctele din "Despre noi" ===== */
.feature-icon{display:inline-grid;place-items:center;width:52px;height:52px;margin-bottom:.6rem;
  border-radius:50%;background:var(--terra-soft);color:var(--terra)}
.feature-icon svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}

/* ===== Buton WhatsApp fix ===== */
.wa-float{position:fixed;right:20px;bottom:20px;z-index:1050;display:flex;align-items:center;gap:.6rem;
  height:58px;padding:0 17px;border-radius:29px;background:#25d366;color:#fff;text-decoration:none;
  font-weight:700;box-shadow:0 8px 24px rgba(0,0,0,.22);transition:transform .2s,box-shadow .2s}
.wa-float svg{width:26px;height:26px;flex:none}
.wa-float:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(0,0,0,.28)}
.wa-float::after{content:"";position:absolute;inset:0;border-radius:inherit;border:2px solid #25d366;
  animation:wa-pulse 2.4s ease-out 3;pointer-events:none}
@keyframes wa-pulse{from{opacity:.8;transform:scale(1)}to{opacity:0;transform:scale(1.35)}}
/* pe ecrane mici doar iconita rotunda */
@media (max-width:768px){.wa-float{right:14px;bottom:14px;width:56px;height:56px;padding:0;justify-content:center}.wa-float-label{display:none}}
/* ascuns cat timp e afisat bannerul de cookie, ca sa nu se suprapuna */
body:has(.cookie-banner:not([hidden])) .wa-float{display:none}
@media (prefers-reduced-motion:reduce){.wa-float::after{animation:none}}

/* Nota sub formularul de rezervare: cererea nu inseamna confirmare */
.booking-note{margin-top:1.4rem;padding:.9rem 1rem .9rem 2.6rem;position:relative;text-align:left;
  font-size:.92rem;line-height:1.5;color:#5a4a3a;background:var(--terra-soft);border-radius:10px}
.booking-note::before{content:"i";position:absolute;left:.85rem;top:.95rem;width:1.2rem;height:1.2rem;
  border-radius:50%;background:var(--terra);color:#fff;font:700 .8rem/1.2rem Georgia,serif;text-align:center}
.booking-note strong{color:var(--terra-text)}

footer .powered a{ color:inherit; text-decoration:none; }
footer .powered a:hover strong{ color:var(--terra-soft); text-decoration:underline; text-underline-offset:3px; }
