/* ==========================================================================
   CSS Original din blocul <style>
   ========================================================================== */

/* Resetări și setări generale */
#home {
  position: relative;
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  padding: 0 1rem;
}

#home .background-image {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  z-index: 1;
}

#home .overlay-gradient {
  position: absolute;
  inset: 0;
  background: linear-gradient(120deg, rgba(255,136,0,0.5), rgba(0,200,130,0.5));
  z-index: 2;
}

#home .overlay-dark {
  position: absolute;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.2);
  z-index: 3;
}

#home .content {
  position: relative;
  z-index: 4;
  text-align: center;
  color: white;
  max-width: 800px;
  margin: 0 auto;
}

#home h1 {
  font-size: 3rem;
  font-weight: bold;
  margin-bottom: 1.5rem;
  line-height: 1.2;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.8);
}

#home h1 span {
  color: #fdd835;
}

#home p {
  font-size: 1.25rem;
  margin-bottom: 2rem;
  opacity: 0.95;
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
}

#home .btn-group {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  justify-content: center;
  align-items: center;
}

#home .btn-primary,
#home .btn-secondary {
  font-size: 1rem;
  padding: 0.75rem 2rem;
  border-radius: 0.5rem;
  cursor: pointer;
  text-decoration: none;
  transition: transform 0.3s ease, box-shadow 0.3s ease, background-color 0.3s ease;
  display: inline-block;
}

#home .btn-primary {
  background: linear-gradient(to right, #ff6a00, #fdd835);
  color: white;
  border: none;
}
#home .btn-primary:hover {
  transform: scale(1.05);
  box-shadow: 0 4px 12px rgba(0,0,0,0.2);
}

#home .btn-secondary {
  background-color: rgba(255, 255, 255, 0.1);
  color: white;
  border: 1px solid rgba(255, 255, 255, 0.3);
}
#home .btn-secondary:hover {
  background-color: rgba(255,255,255,0.2);
  transform: scale(1.05);
}

/* Responsive: tablet */
@media (max-width: 768px) {
  #home h1 {
    font-size: 2.5rem;
  }
  #home p {
    font-size: 1.1rem;
  }
  #home .btn-group {
    gap: 0.75rem;
  }
  #home .btn-primary,
  #home .btn-secondary {
    padding: 0.6rem 1.5rem;
    font-size: 0.95rem;
  }
}

/* Responsive: mobil mic */
@media (max-width: 480px) {
  #home h1 {
    font-size: 2rem;
  }
  #home p {
    font-size: 1rem;
  }
  #home .btn-group {
    flex-direction: column;
    gap: 0.75rem;
  }
  #home .btn-primary,
  #home .btn-secondary {
    width: 100%;
    text-align: center;
    padding: 0.8rem 0;
    font-size: 1.1rem;
  }
}

/* --- CSS Facilities Section --- */
.facilities-section {
  padding: 5rem 1rem;
  background-color: #f9fafb;
  font-family: Arial, sans-serif;
}
.container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 1rem;
}
.facilities-header {
  text-align: center;
  margin-bottom: 4rem;
}
.facilities-header h2 {
  font-size: 2.5rem;
  color: #d97706;
  font-weight: 700;
  margin-bottom: 1rem;
}
.facilities-header p {
  font-size: 1.125rem;
  color: #6b7280;
  max-width: 700px;
  margin: 0 auto;
}
.facilities-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
}
@media(min-width: 768px) {
  .facilities-grid {
    grid-template-columns: 1fr 1fr;
  }
}
.facility-card {
  background: white;
  border: 2px solid #d4af37; /* border auriu */
  border-radius: 0.75rem;
  overflow: hidden;
  transition: box-shadow 0.3s ease, border-color 0.3s ease;
  box-shadow: none;
}
.facility-card:hover {
  border-color: #f7d45d; /* border auriu mai luminos */
box-shadow: 0 0 15px 4px rgba(212, 175, 55, 0.7); /* glow auriu */
cursor: pointer;
}
.facility-image-wrapper {
  position: relative;
  height: 16rem;
  overflow: hidden;
}
/* Carusel */
.carousel {
position: relative;
width: 100%;
height: 300px; /* ajustează în funcție de nevoie */
overflow: hidden;
border-radius: 10px; /* optional */
}

.carousel-prev, .carousel-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(0,0,0,0.4);
  border: none;
  color: white;
  font-size: 2rem;
  padding: 0.1rem 0.6rem;
  cursor: pointer;
  user-select: none;
  border-radius: 50%;
  z-index: 10;
}
.carousel-prev {
  left: 10px;
}
.carousel-next {
  right: 10px;
}

.facility-image-gradient {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 6rem;
  background: linear-gradient(to top, rgba(0,0,0,0.6), transparent);
}
.facility-title {
  position: absolute;
  bottom: 1rem;
  left: 1rem;
  color: white;
  font-size: 1.5rem;
  font-weight: 700;
  z-index: 2;
  text-shadow: 0 0 6px rgba(0,0,0,0.6);
}
.facility-content {
  padding: 1.5rem 1.5rem 2rem;
  color: #4b5563;
  font-size: 1rem;
  line-height: 1.5;
}
.facility-features {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.5rem 1rem;
  margin-top: 1rem;
}
.feature-item {
  display: flex;
  align-items: center;
  font-size: 0.875rem;
  color: #b45309;
}
.feature-item::before {
  content: '';
  display: inline-block;
  width: 8px; height: 8px;
  background-color: #d97706;
  border-radius: 50%;
  margin-right: 0.5rem;
}
/* Regulament */
.regulation-card {
  background: linear-gradient(90deg, #d97706, #fbbf24);
  color: white;
  padding: 2rem;
  border-radius: 1rem;
  box-shadow: 0 10px 15px rgba(0,0,0,0.2);
  margin-top: 4rem;
}
.regulation-card h3 {
  font-size: 2rem;
  font-weight: 700;
  margin-bottom: 2rem;
  text-align: center;
}
.regulation-list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
  text-align: center;
}
@media(min-width: 768px) {
  .regulation-list {
    grid-template-columns: repeat(3, 1fr);
  }
}
.regulation-list h4 {
  font-size: 1.25rem;
  font-weight: 600;
  margin-bottom: 0.5rem;
}
.regulation-list p {
  opacity: 0.9;
  font-size: 1rem;
}
/* Stiluri galerie */
/* Grid camere: 2 coloane desktop, 1 col mobil */
.rooms-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2rem;
  max-width: 1200px;
  margin: 0 auto;
}

.room-card {
  background: white;
  border-radius: 1rem;
  box-shadow: 0 2px 8px rgba(138, 92, 26, 0.15);
  overflow: hidden;
  transition: box-shadow 0.3s ease;
}

.room-card:hover {
  box-shadow: 0 0 12px rgba(185, 126, 21, 0.5);
}

.room-image {
  position: relative;
  height: 16rem;
  overflow: hidden;
}

.room-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.room-image img:hover {
  transform: scale(1.05);
}

.price-badge {
  position: absolute;
  top: 1rem;
  right: 1rem;
  background: #d4af37;
  color: #3a2c02;
  padding: 0.5rem 1rem;
  border-radius: 9999px;
  font-weight: 700;
  font-size: 1rem;
  white-space: nowrap;
  box-shadow: 0 0 10px #d4af37;
}

/* NOU: Resetează stilul de tip "bulă" doar pentru camerele cu preț per persoană */
.price-badge:has(.price-per-person-list) {
    background: transparent !important;
    padding: 0 !important;
    border-radius: 0 !important;
    color: inherit !important;
    box-shadow: none !important;
}

/* Stilurile pentru noua casetă de prețuri (rămân la fel) */
.price-badge .price-per-person-list {
    background-color: rgba(0, 0, 0, 0.65);
    padding: 10px 15px;
    border-radius: 8px;
    color: white;
    font-size: 1rem;
    line-height: 1.7;
    text-align: left;
    box-shadow: 0 2px 10px rgba(0,0,0,0.2);
    width: max-content;
}

.price-badge .price-per-person-list .price-item {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    padding: 5px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}

.price-badge .price-per-person-list .price-item:last-child {
    border-bottom: none;
}

.price-badge .price-per-person-list .person-count {
    font-weight: 600;
}

.price-badge .price-per-person-list .price-amount {
    font-weight: 500;
    white-space: nowrap;
}

.room-title {
  position: absolute;
  bottom: 1rem;
  left: 1rem;
  color: white;
  font-size: 1.75rem;
  font-weight: 700;
  text-shadow: 0 1px 4px rgba(0,0,0,0.7);
}

.room-description {
  color: #6c5b42;
  margin-bottom: 1rem;
  line-height: 1.5;
  padding: 0 1.5rem;
}
/* Stiluri pentru slider-ul de imagini din card */

.room-card .room-image-slider {
  position: relative;
  width: 100%;
  /* Setați o înălțime fixă sau un aspect-ratio pentru a evita salturile de conținut */
  aspect-ratio: 16 / 10; 
  overflow: hidden;
  border-radius: 10px 10px 0 0;
}

.room-image-slider .slider-main-images {
  width: 100%;
  height: 100%;
}

.room-image-slider .slider-main-images img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity 0.5s ease-in-out;
  visibility: hidden;
}

.room-image-slider .slider-main-images img.active {
  opacity: 1;
  visibility: visible;
  z-index: 1;
}

/* Păstrăm overlay-ul, prețul și titlul deasupra imaginilor */
.room-image-slider .image-gradient-overlay,
.room-image-slider .price-badge,
.room-image-slider .room-title {
  position: absolute;
  z-index: 2; /* Asigurăm că sunt deasupra imaginilor */
}
/* Poziționarea originală a elementelor */
.room-image-slider .image-gradient-overlay { bottom: 0; left: 0; width: 100%; height: 80%; background: linear-gradient(to top, rgba(0,0,0,0.8), transparent); }
.room-image-slider .price-badge { top: 15px; right: 15px; }
.room-image-slider .room-title { bottom: 20px; left: 20px; }


/* Stiluri pentru butoanele de navigare (săgeți) */
.slider-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 3;
  background-color: rgba(0, 0, 0, 0.5);
  color: white;
  border: none;
  font-size: 24px;
  font-weight: bold;
  cursor: pointer;
  padding: 5px 15px;
  border-radius: 50%;
  transition: background-color 0.3s ease;
  opacity: 0; /* Apar doar la hover pe slider */
  transition: opacity 0.3s ease;
}

.room-image-slider:hover .slider-nav {
  opacity: 1;
}

.slider-nav.prev {
  left: 10px;
}

.slider-nav.next {
  right: 10px;
}

.slider-nav:hover {
  background-color: rgba(0, 0, 0, 0.8);
}


/* NOU: Containerul pentru thumbnails, care acționează ca o fereastră */
.slider-thumbnails-container {
  position: absolute;
  bottom: 55px; /* L-am ridicat puțin pentru a nu se suprapune cu titlul */
  left: 20px;
  right: 20px; /* Se întinde pe lățimea cardului, cu o margine */
  z-index: 3;
  overflow: hidden; /* Foarte important: ascunde ce iese în afară */
}

/* MODIFICAT: Banda de thumbnails care se va mișca */
.slider-thumbnails {
  /* Am eliminat poziționarea absolută de aici */
  display: flex;
  gap: 8px;
  width: max-content; /* Lățimea se va adapta la conținut */
  padding: 5px 0; /* Puțin spațiu vertical */
  
  /* Această tranziție va anima mișcarea stânga-dreapta */
  transition: transform 0.4s ease-in-out;
}

/* MODIFICAT: Titlul, pentru a nu se suprapune cu noile thumbnails */
.room-image-slider .room-title {
  bottom: 20px; 
  left: 20px;
  /* Asigurăm că titlul are un fundal solid sub el pentru lizibilitate */
  text-shadow: 2px 2px 4px rgba(0,0,0,0.7);
}


/* Stilurile pentru .thumbnail rămân neschimbate */
.slider-thumbnails .thumbnail {
  width: 60px;
  height: 40px;
  object-fit: cover;
  border-radius: 4px;
  cursor: pointer;
  opacity: 0.7;
  border: 2px solid transparent;
  transition: opacity 0.3s ease, border-color 0.3s ease;
  flex-shrink: 0; /* Previne micșorarea thumbnail-urilor */
}

.slider-thumbnails .thumbnail:hover {
  opacity: 1;
}

.slider-thumbnails .thumbnail.active {
  opacity: 1;
  border-color: #fff;
}

.features-list {
  list-style: none;
  padding-left: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.5rem 1rem;
  color: #d4af37;
  font-size: 0.9rem;
  margin: 0 1.5rem 1.5rem 1.5rem;
}

.features-list li {
  display: flex;
  align-items: center;
}

.features-list li span {
  display: inline-block;
  width: 0.75rem;
  height: 0.75rem;
  background-color: #d4af37;
  border-radius: 50%;
  margin-right: 0.5rem;
  flex-shrink: 0;
}

.btn-reserve {
  display: inline-block;
  margin: 0 1.5rem 1.5rem 1.5rem;
  width: calc(100% - 3rem);
  background: linear-gradient(90deg, #b97e15 0%, #f8ce55 100%);
  color: #3a2c02;
  text-align: center;
  padding: 0.75rem 1rem;
  border-radius: 1rem;
  font-weight: 700;
  text-decoration: none;
  box-shadow: 0 0 8px rgba(185, 126, 21, 0.6);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  cursor: pointer;
}

.btn-reserve:hover {
  transform: scale(1.05);
  box-shadow: 0 0 15px rgba(185, 126, 21, 0.9);
}

/* Politica check-in/out */
.policy-card {
  margin: 4rem auto 0;
  max-width: 800px;
  background: linear-gradient(90deg, #a88b44, #f8ce55);
  padding: 2rem;
  border-radius: 1rem;
  box-shadow: 0 0 20px rgba(168, 139, 68, 0.5);
  color: #3a2c02;
}

.policy-card h3 {
  font-size: 1.75rem;
  font-weight: 700;
  margin-bottom: 1rem;
  text-align: center;
}

.policy-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem;
}

.policy-section h4 {
  font-weight: 600;
  font-size: 1.25rem;
  margin-bottom: 0.5rem;
}

.policy-section p {
  margin-top: 0;
  font-size: 0.85rem;
}

.policy-note {
  margin-top: 1.5rem;
  background: rgba(255 255 255 / 0.2);
  padding: 1rem;
  border-radius: 0.75rem;
}

/* Responsive Mobile */
@media (max-width: 768px) {
  .rooms-grid {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }

  .room-image {
    height: 12rem;
  }

  .room-title {
    font-size: 1.5rem !important;
  }

  .room-description {
    font-size: 1rem !important;
    padding: 0 1rem !important;
  }

  .features-list {
    grid-template-columns: 1fr;
    gap: 0.5rem;
    margin: 0 1rem 1rem 1rem !important;
  }

  .btn-reserve {
    width: calc(100% - 2rem);
    margin: 0 1rem 1rem 1rem;
    padding: 0.6rem 1rem;
    font-size: 1rem;
  }
}
/* contact  */

 /* Container */
#contact {
  padding: 5rem 1rem;
  background-color: #f4f6f8;
  font-family: Arial, sans-serif;
}
/* Container este deja definit global */

/* Titlu */
#contact h2 {
  font-size: 2.75rem;
  font-weight: 700;
  color: #3a3a3a;
  text-align: center;
  margin-bottom: 1rem;
}
#contact p.description {
  text-align: center;
  max-width: 700px;
  margin: 0 auto 3rem;
  font-size: 1.1rem;
  color: #555;
}

/* Grid 2 coloane */
.contact-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3rem;
}
@media (max-width: 768px) {
  .contact-grid {
    grid-template-columns: 1fr;
  }
}

/* Card info */
.info-card {
  background: white;
  padding: 2rem;
  border-radius: 1rem;
  box-shadow: 0 2px 10px rgb(0 0 0 / 0.1);
}

.info-card h3 {
  font-weight: 700;
  font-size: 1.75rem;
  margin-bottom: 1.5rem;
  color: #d97706;
}

.contact-item {
  display: flex;
  align-items: start;
  margin-bottom: 1.25rem;
}
.contact-icon {
  width: 32px;
  height: 32px;
  background-color: #d97706;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-right: 1rem;
  flex-shrink: 0;
}
.contact-icon svg {
  width: 16px;
  height: 16px;
  fill: white;
}
.contact-text h4 {
  margin: 0 0 0.25rem 0;
  font-weight: 600;
  color: #3a3a3a;
}
.contact-text p {
  margin: 0;
  color: #666;
  font-size: 0.95rem;
}

/* Card formular */
.form-card {
  background: white;
  padding: 2rem;
  border-radius: 1rem;
  box-shadow: 0 2px 10px rgb(0 0 0 / 0.1);
}
.form-card h3 {
  font-weight: 700;
  font-size: 1.75rem;
  margin-bottom: 1.5rem;
  color: #d97706;
}
form label {
  display: block;
  font-weight: 600;
  margin-bottom: 0.5rem;
  color: #333;
  font-size: 0.95rem;
}
form input[type="text"],
form input[type="email"],
form input[type="tel"],
form textarea {
  width: 100%;
  padding: 0.75rem 1rem;
  border-radius: 0.5rem;
  border: 1px solid #ccc;
  margin-bottom: 1.5rem;
  font-size: 1rem;
  font-family: inherit;
  transition: border-color 0.3s ease;
}
form input[type="text"]:focus,
form input[type="email"]:focus,
form input[type="tel"]:focus,
form textarea:focus {
  outline: none;
  border-color: #d97706;
  box-shadow: 0 0 5px #d97706;
}
form textarea {
  resize: vertical;
  min-height: 120px;
}

/* Buton submit */
form button[type="submit"] {
  background: linear-gradient(90deg, #b97e15 0%, #f8ce55 100%);
  color: #3a2c02;
  font-weight: 700;
  padding: 0.75rem 1.5rem;
  border-radius: 1rem;
  border: none;
  width: 100%;
  cursor: pointer;
  font-size: 1.1rem;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
form button[type="submit"]:hover {
  transform: scale(1.05);
  box-shadow: 0 0 15px rgba(185, 126, 21, 0.9);
}

/* Mesaj succes */
.success-message {
  background-color: #d4edda;
  border: 1px solid #c3e6cb;
  color: #155724;
  padding: 1rem 1.5rem;
  border-radius: 0.5rem;
  margin-bottom: 1.5rem;
  text-align: center;
  font-weight: 600;
}

/* ==========================================================================
   CSS Extras (extras din stilurile inline)
   ========================================================================== */

/* --- Secțiunea #rooms --- */
#rooms {
  padding: 5rem 1rem;
  background-color: #faf6f0;
}
.rooms-container {
  max-width: 1200px;
  margin: 0 auto;
}
.rooms-header {
  text-align: center;
  margin-bottom: 3rem;
}
.rooms-header h2 {
  font-size: 2.75rem;
  font-weight: 700;
  color: #8a5c1a;
  margin-bottom: 0.75rem;
}
.rooms-header p {
  font-size: 1.2rem;
  color: #6c5b42;
  max-width: 700px;
  margin: 0 auto;
}
.price-badge span {
  font-weight: 400;
  font-size: 0.85rem;
}
.image-gradient-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,0.6), transparent);
}


/* --- Secțiunea #gallery --- */
#gallery {
  padding: 5rem 1rem;
  background-color: #faf6f0;
  font-family: Arial, sans-serif;
}
.gallery-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 1rem;
}
.gallery-header {
  text-align: center;
  margin-bottom: 4rem;
}
.gallery-header h2 {
  font-size: 2.75rem;
  font-weight: 700;
  color: #8a5c1a;
  margin-bottom: 0.75rem;
}
.gallery-header p {
  font-size: 1.25rem;
  color: #6c5b42;
  max-width: 700px;
  margin: 0 auto;
}
.gallery-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
}
.gallery-card {
  position: relative;
  overflow: hidden;
  border-radius: 1rem;
  box-shadow: 0 2px 8px rgba(138,92,26,0.15);
  cursor: pointer;
  transition: box-shadow 0.3s ease;
}
.gallery-image {
  width: 100%;
  height: 16rem;
  object-fit: cover;
  transition: transform 0.5s ease;
}
.gallery-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,0.6), transparent);
  opacity: 0;
  transition: opacity 0.3s ease;
}
.gallery-info {
  position: absolute;
  bottom: 1rem;
  left: 1rem;
  color: white;
  text-shadow: 0 1px 4px rgba(0,0,0,0.8);
  opacity: 0;
  transition: opacity 0.3s ease;
}
.gallery-info p {
  background-color: rgba(212, 175, 55, 0.8);
  padding: 0.2rem 0.5rem;
  border-radius: 0.25rem;
  font-size: 0.8rem;
  margin-bottom: 0.3rem;
  display: inline-block;
}
.gallery-info h3 {
  font-weight: 600;
  margin: 0;
}
#modalGallery {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.8);
  justify-content: center;
  align-items: center;
  padding: 1rem;
  z-index: 9999;
}
#modalClose {
  position: absolute;
  top: 1rem;
  right: 1rem;
  background: rgba(0,0,0,0.6);
  color: white;
  border: none;
  font-size: 1.5rem;
  padding: 0.3rem 0.6rem;
  border-radius: 50%;
  cursor: pointer;
  transition: background 0.3s ease;
}
#modalImage {
  max-width: 90vw;
  max-height: 90vh;
  border-radius: 1rem;
  box-shadow: 0 0 20px rgba(212,175,55,0.7);
}


/* --- Secțiunea #contact --- */
.contact-icon.bg-green {
  background: #3ea75a;
}
.contact-icon.bg-yellow-dark {
  background: #c49a1a;
}

/* Carusel imagini (activare/dezactivare display) */
.carousel-image {
  display: none;
}
.carousel-image.active {
  display: block;
}
:root {
  --color-primary: #d97706;  /* Portocaliu/Auriu principal */
  --color-luxury: #fdd835;   /* Galben/Auriu deschis */
  --color-nature: #3ea75a;   /* Verde pentru natură */
  --color-foreground: #3a3a3a; /* Text principal (închis) */
  --color-muted-foreground: #6b7280; /* Text secundar (gri) */
  --color-secondary-bg: #f9fafb; /* Fundal secundar deschis */
  --color-card-bg: #ffffff; /* Fundal carduri */
}

/* Containerul principal al secțiunii */
#about {
  padding-top: 5rem;
  padding-bottom: 5rem;
  background-color: rgba(249, 250, 251, 0.2); /* bg-secondary/20 */
}

/* Wrapper pentru conținutul central */
.about-content-wrapper {
  max-width: 56rem; /* max-w-4xl */
  margin-left: auto;
  margin-right: auto;
}

/* Header-ul secțiunii */
.about-header {
  text-align: center;
  margin-bottom: 4rem; /* mb-16 */
}

.about-header h2 {
  font-size: 2.25rem; /* text-4xl */
  font-weight: 700; /* font-bold */
  color: var(--color-primary);
  margin-bottom: 1.5rem; /* mb-6 */
}

.about-header p {
  font-size: 1.25rem; /* text-xl */
  color: var(--color-muted-foreground);
}

/* Grid-ul principal: Povestea | Carduri Misiune/Viziune */
.about-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 3rem; /* gap-12 */
  align-items: center;
  margin-bottom: 4rem; /* mb-16 */
}

/* Partea cu "Povestea Noastră" */
.about-story h3 {
  font-size: 1.875rem; /* text-3xl */
  font-weight: 700; /* font-bold */
  color: var(--color-primary);
  margin-bottom: 1.5rem; /* mb-6 */
}

.about-story .text-content {
  color: var(--color-muted-foreground);
  line-height: 1.625; /* leading-relaxed */
}

/* Simulează "space-y-4" */
.about-story .text-content > *:not([hidden]) ~ *:not([hidden]) {
  margin-top: 1rem;
}

.about-story .text-content strong {
  color: var(--color-foreground);
}

/* Partea cu cardurile Misiune/Viziune/Valori */
/* Simulează "space-y-6" */
.about-values-cards > *:not([hidden]) ~ *:not([hidden]) {
  margin-top: 1.5rem;
}

/* Stilul general pentru cardurile mici */
.about-card {
  background-color: var(--color-card-bg);
  padding: 1.5rem; /* p-6 */
  border-radius: 0.75rem;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1); /* shadow-card */
}

.about-card h4 {
  font-size: 1.25rem; /* text-xl */
  font-weight: 600; /* font-semibold */
  margin-bottom: 0.75rem; /* mb-3 */
}

.about-card p {
  color: var(--color-muted-foreground);
}

/* Culori specifice pentru titlurile cardurilor */
.about-card .text-primary { color: var(--color-primary); }
.about-card .text-nature { color: var(--color-nature); }
.about-card .text-luxury { color: var(--color-luxury); }


/* Cardul mare de jos - Politica Resortului */
.policy-card-main {
  background: linear-gradient(90deg, #b97e15 0%, #f8ce55 100%); /* bg-gradient-primary */
  padding: 2rem; /* p-8 */
  color: white;
  border-radius: 0.75rem;
  box-shadow: 0 0 20px rgba(212, 175, 55, 0.5); /* shadow-luxury */
}

.policy-card-main h3 {
  font-size: 1.875rem; /* text-3xl */
  font-weight: 700; /* font-bold */
  margin-bottom: 1.5rem; /* mb-6 */
  text-align: center;
}

.policy-card-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem; /* gap-8 */
}

.policy-card-grid h4 {
  font-size: 1.25rem; /* text-xl */
  font-weight: 600; /* font-semibold */
  margin-bottom: 1rem; /* mb-4 */
  color: var(--color-luxury); /* text-luxury */
}

.policy-card-list {
  list-style: none;
  padding: 0;
  margin: 0;
  font-size: 0.875rem; /* text-sm */
  opacity: 0.9; /* opacity-90 */
}

/* Simulează "space-y-3" */
.policy-card-list > *:not([hidden]) ~ *:not([hidden]) {
  margin-top: 0.75rem;
}

.policy-card-list li {
  display: flex;
  align-items: flex-start; /* items-start */
}

.policy-card-list .bullet {
  color: var(--color-luxury);
  margin-right: 0.5rem; /* mr-2 */
}

/* Nota de confidențialitate */
.confidentiality-note {
  margin-top: 2rem; /* mt-8 */
  padding: 1rem; /* p-4 */
  background-color: rgba(255, 255, 255, 0.1); /* bg-white/10 */
  border-radius: 0.5rem; /* rounded-lg */
  text-align: center;
}

.confidentiality-note p {
  font-size: 0.875rem; /* text-sm */
  opacity: 0.9; /* opacity-90 */
}

/* Stiluri responsive */
@media (min-width: 768px) { /* md: */
  .about-header h2 {
    font-size: 3rem; /* md:text-5xl */
  }

  .policy-card-grid {
    grid-template-columns: repeat(2, 1fr); /* md:grid-cols-2 */
  }
}

@media (min-width: 1024px) { /* lg: */
  .about-grid {
    grid-template-columns: repeat(2, 1fr); /* lg:grid-cols-2 */
  }
}
  .booking-section {
  padding: 4rem 1rem;
  background: #f5f3f3; /* fundal alb */
  color: #111111;
}

.container {
  max-width: 1100px;
  margin: auto;
}

.booking-title {
  font-size: 2.5rem;
  margin-bottom: 1rem;
  text-align: center;
  color: #ca8a04; /* un galben mai elegant pe fundal alb */
}

.booking-description {
  text-align: center;
  margin-bottom: 2rem;
  color: #4b5563; /* gri închis pentru descriere */
}

.form-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 1rem;
}

.form-group label {
  display: block;
  margin-bottom: 0.3rem;
  font-weight: 600;
  color: #1f2937; /* gri foarte închis */
}

.form-group input,
.form-group select {
  width: 100%;
  padding: 0.7rem;
  border-radius: 8px;
  border: 1px solid #ccc;
  background: #f9fafb; /* alb foarte deschis */
  color: #111;
}

.form-group input:focus,
.form-group select:focus {
  border-color: #eab308;
  outline: none;
}

.btn-submit {
  margin-top: 2rem;
  width: 100%;
  padding: 1rem;
  font-size: 1.1rem;
  background-color: #eab308;
  color: #111;
  font-weight: bold;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  transition: background-color 0.3s ease;
}

.btn-submit:hover {
  background-color: #d4a007;
}

  #toast-container {
    position: fixed;
    bottom: 2rem;
    right: 2rem;
    z-index: 9999;
    display: flex;
    flex-direction: column;
    gap: 1rem;
  }

  .toast {
    padding: 1rem 1.5rem;
    border-radius: 8px;
    font-weight: bold;
    color: white;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    animation: fadeInOut 4s ease forwards;
    opacity: 0;
  }

  .toast-success {
    background-color: #16a34a;
  }

  .toast-error {
    background-color: #dc2626;
  }

  @keyframes fadeInOut {
    0% { opacity: 0; transform: translateX(100%); }
    10% { opacity: 1; transform: translateX(0); }
    90% { opacity: 1; transform: translateX(0); }
    100% { opacity: 0; transform: translateX(100%); }
  }
.shiny-button {
  position: relative;
  overflow: hidden;
}

.shiny-button::before {
  content: '';
  position: absolute;
  top: 0;
  left: -75%;
  width: 50%;
  height: 100%;
  background: linear-gradient(
    120deg,
    rgba(255, 255, 255, 0.4) 0%,
    rgba(255, 255, 255, 0.2) 20%,
    rgba(255, 255, 255, 0) 60%
  );
  transform: skewX(-20deg);
  z-index: 1;
}

.shiny-button:hover::before {
  animation: shine 1s ease;
}

@keyframes shine {
  0% {
    left: -75%;
  }
  100% {
    left: 125%;
  }
}
.transparent-bg {
  background-color: rgba(255, 255, 255, 0.5) !important; /* alb cu opacitate 50% */
}


/* CSS pagina galerie */

/* === Galerie Poze Page === */
.gallery-page__title {
  text-align: center;
  margin: 2rem 0 1rem;
  font-size: 2.5rem;
  color: #8a5c1a;
}
.gallery-page__intro {
  text-align: center;
  margin-bottom: 2rem;
  color: #6c5b42;
}

.gallery-page__grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(auto-fill, minmax(280px,1fr));
  margin-bottom: 3rem;
}
.gallery-page__card {
  overflow: hidden;
  border-radius: 0.75rem;
  box-shadow: 0 2px 8px rgba(0,0,0,0.1);
  cursor: pointer;
}
.gallery-page__img {
  width: 100%;
  height: 200px;
  object-fit: cover;
  transition: transform .3s;
}
.gallery-page__card:hover .gallery-page__img {
  transform: scale(1.05);
}

/* === Lightbox Modal === */
.gallery-modal {
  display: none;
  position: fixed;  
  inset: 0;
  background: rgba(0,0,0,0.85);
  justify-content: center;
  align-items: center;
  z-index: 9999;
}
.gallery-modal__img {
  max-width: 90vw;
  max-height: 90vh;
  border-radius: .5rem;
}
.gallery-modal__close {
  position: absolute;
  top: 2%;
  right: 2%;
  font-size: 2rem;
  color: white;
  cursor: pointer;
}
/* Stil pentru butonul “Vezi mai multe imagini” */
.see-more-gallery .btn {
  display: inline-block;
  padding: 0.75rem 1.75rem;
  font-size: 1rem;
  font-weight: 600;
  color: #fff;
  background: linear-gradient(90deg, #b97e15 0%, #f8ce55 100%);
  border: none;
  border-radius: 50px;
  text-decoration: none;
  box-shadow: 0 4px 12px rgba(255,127,0,0.3);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.see-more-gallery .btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 0 8px rgba(185, 126, 21, 0.6);
}

.see-more-gallery .btn:active {
  transform: translateY(0);
  box-shadow: 0 3px 8px rgba(255,127,0,0.3);
}

.see-more-gallery {
  text-align: center;
  margin: 3rem 0;
}

.flatpickr-input {
  font-size: 18px !important;
  padding: 16px 20px !important;
  min-height: 60px !important;
  line-height: 1.5 !important;
  border-radius: 0.75rem !important;
  width: 100% !important;
  background-color: white !important;
  cursor: pointer !important;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}

@media (max-width: 768px) {
  .flatpickr-input {
    font-size: 20px !important;
    min-height: 64px !important;
    padding: 20px 22px !important;
  }
}


.flatpickr-input:focus {
  outline: 2px solid #facc15;
  box-shadow: 0 0 0 3px #fef9c3;
}

/*CSS discount*/
/* --- STILURI PENTRU OFERTE SPECIALE --- */

/* Pregătim cardul pentru a putea poziționa panglica în interiorul lui */
.room-card.has-discount {
    position: relative;
    border: 2px solid #d97706; /* Adăugăm o bordură aurie pentru a ieși în evidență */
    box-shadow: 0 10px 30px -10px rgba(217, 119, 6, 0.5);
}

/* Stilul pentru panglica din colț */
.discount-ribbon {
    position: absolute;
    top: -4px;
    right: -4px;
    width: 120px;
    height: 120px;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    z-index: 4; /* Asigurăm că e deasupra */
}

.discount-ribbon span {
    position: absolute;
    width: 170px;
    background: linear-gradient(45deg, #d97706, #ffc500);
    color: #fff;
    text-align: center;
    font-weight: 700;
    font-size: 15px;
    text-transform: uppercase;
    letter-spacing: 1px;
    padding: 8px 0;
    transform: rotate(45deg) translateY(-20px);
    box-shadow: 0 5px 10px rgba(0,0,0,0.2);
    text-shadow: 1px 1px 2px rgba(0,0,0,0.3);
}

/* Stilul pentru prețul nou, redus (pentru prețul pe noapte) */
.room-card.has-discount .price-badge > .discount-price {
    font-size: 1.2em;
    color: #fff;
}

/* Stilul pentru prețul vechi, tăiat (pentru prețul pe noapte) */
.room-card.has-discount .price-badge > s {
    color: #ffc9c9;
    font-size: 0.8em;
    font-weight: 400;
    opacity: 0.9;
}

/* NOU: Stiluri specifice pentru lista de prețuri per persoană cu discount */
.price-per-person-list .price-amount s {
    color: #ffb8b8; /* Un roșu-roz deschis pentru textul tăiat */
    font-weight: 400;
    opacity: 0.8;
    font-size: 0.9em;
    margin-right: 8px; /* Spațiu între prețul vechi și cel nou */
}

.price-per-person-list .price-amount .discount-price {
    color: #ffdd57; /* Un galben-auriu aprins pentru a ieși în evidență */
    font-weight: 700;
}

/* Facem caseta neagră să iasă mai mult în evidență la ofertă */
.room-card.has-discount .price-per-person-list {
    background-color: rgba(40, 0, 0, 0.75); /* Un fundal mai închis, cu tentă roșiatică */
    border: 1px solid rgba(255, 221, 87, 0.5); /* Bordură aurie fină */
}

/* Animația de puls pentru badge-ul de preț (doar pentru prețul pe noapte) */
.room-card.has-discount .price-badge:not(:has(.price-per-person-list)) {
    background: linear-gradient(135deg, #e52d27, #b31217);
    animation: pulse-red 2.5s infinite;
    padding: 10px 18px;
}

@keyframes pulse-red {
    0% { box-shadow: 0 0 0 0 rgba(229, 45, 39, 0.7); }
    70% { box-shadow: 0 0 0 10px rgba(229, 45, 39, 0); }
    100% { box-shadow: 0 0 0 0 rgba(229, 45, 39, 0); }
}


/* --- STILURI PENTRU SECȚIUNEA EVENIMENT v2.0 - FLOATING POSTER --- */

/* Secțiunea principală */
.event-hero-v2 {
    position: relative;
    width: 100%;
    min-height: 90vh;
    padding: 5rem 2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background-color: #0d0d0d;
}

/* Fundalul ambiental (video/imagine blurată) */
.event-background-v2 {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    filter: blur(15px) brightness(0.4);
    transform: scale(1.1); /* Previne marginile goale de la blur */
    opacity: 0.5;
    z-index: 1;
}
.event-background-v2 video,
.event-background-v2 .image-bg {
    width: 100%;
    height: 100%;
    object-fit: cover;
    background-size: cover;
}

/* Containerul grid pentru conținut */
.event-hero-container {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: 1fr 1.2fr; /* Afișul puțin mai mic decât textul */
    gap: 4rem;
    align-items: center;
    width: 100%;
    max-width: 1200px;
}

/* Coloana Afișului */
.event-poster-column {
    display: flex;
    align-items: center;
    justify-content: center;
}

.event-poster-container {
    perspective: 2000px; /* Perspectiva 3D */
}

/* Afișul interactiv */
#event-poster-interactive.event-poster {
    display: block;
    position: relative;
    transform-style: preserve-3d;
    will-change: transform;
    transition: transform 0.1s ease-out;
    border-radius: 12px;
    box-shadow: 0 25px 50px -12px rgba(0,0,0,0.6);
    /* Variabile CSS controlate de JS */
    transform: rotateY(var(--rotateY, 0deg)) rotateX(var(--rotateX, 0deg));
}

#event-poster-interactive.event-poster img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 12px;
    border: 2px solid rgba(255,255,255,0.1);
}

/* Efectul de luciu (Glossy Sheen) */
#event-poster-interactive.event-poster::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 12px;
    background: radial-gradient(
        circle at var(--pointer-x, 50%) var(--pointer-y, 50%),
        rgba(255, 255, 255, 0.25),
        rgba(255, 255, 255, 0) 40%
    );
    opacity: var(--pointer-opacity, 0);
    transition: opacity 0.3s ease;
    will-change: background, opacity;
}

/* Coloana cu detalii */
.event-details-column {
    color: #fff;
    animation: detailsFadeIn 1s ease-out 0.2s forwards;
    opacity: 0;
    transform: translateX(20px);
}

@keyframes detailsFadeIn {
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

/* 1. Containerul Principal al Secțiunii */
.event-slider-section {
    position: relative;
    width: 100%;
    min-height: 90vh;
    background-color: #111;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 4rem 2rem;
    overflow: hidden;
}

/* 2. Containerul intern pentru Slide-uri */
.event-slider-container {
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
}

/* 3. Fiecare Slide Individual */
.event-slide {
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.8s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 1;
}
.event-slide.active { opacity: 1; visibility: visible; z-index: 2; }

/* 4. Fundalul Fiecărui Slide */
.event-slide .event-background-v2 {
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%; z-index: 1; overflow: hidden;
}
.event-slide .event-background-v2::after {
    content: '';
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    background: rgba(0, 0, 0, 0.6);
    z-index: 2;
}
.event-slide .event-background-v2 .image-bg,
.event-slide .event-background-v2 video {
    width: 100%; height: 100%;
    object-fit: cover;
    background-size: cover;
    background-position: center center;
    position: absolute;
    z-index: 1;
}

/* 5. Containerul de Conținut (Poster + Detalii) */
.event-slide .event-hero-container {
    position: relative;
    z-index: 3;
    display: grid;
    grid-template-columns: 400px 1fr;
    gap: 3rem;
    align-items: center;
    width: 100%;
    max-width: 1200px;
    padding: 2rem;
}

/* --- Stiluri pentru Coloana de Poster și Afișul Interactiv --- */
.event-poster-column {
    display: flex;
    justify-content: center;
    align-items: center;
}
.event-poster-container { perspective: 1500px; }

/* MODIFICAT: Limităm înălțimea afișului și ascundem ce depășește */
.event-poster-interactive {
    display: block;
    border-radius: 12px;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.4);
    transform: rotateX(var(--rotateX, 0)) rotateY(var(--rotateY, 0));
    transition: transform 0.1s linear;
    max-height: 520px; /* Înălțime maximă pentru poster */
    overflow: hidden;   /* Ascunde ce este mai jos */
}
.event-poster-interactive img {
    display: block; width: 100%; height: auto;
}
.event-poster-interactive::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: radial-gradient(circle at var(--pointer-x, 50%) var(--pointer-y, 50%), rgba(255, 255, 255, 0.2), transparent 40%);
    opacity: var(--pointer-opacity, 0);
    transition: opacity 0.3s ease-out;
    border-radius: inherit;
    z-index: 5;
}

/* --- Stiluri pentru Coloana de Detalii --- */
.event-details-column { color: #fff; }
.event-details-column .content-badge {
    background-color: #d97706;
    color: #fff;
    padding: 0.4rem 1rem;
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 1px;
    border-radius: 20px;
    margin-bottom: 1.5rem;
    text-transform: uppercase;
    display: inline-block;
}
.event-details-column .content-title {
    font-size: clamp(2.5rem, 5vw, 3.5rem);
    font-weight: 900;
    margin: 0 0 0.5rem 0;
    color: #fff;
    text-shadow: 0 3px 15px rgba(0,0,0,0.5);
    line-height: 1.1;
}
.event-details-column .event-period-display {
    font-size: 1rem;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.8);
    margin-bottom: 1.5rem;
    display: block;
}

/* MODIFICAT: Scurtăm automat descrierea la 5 rânduri */
.event-details-column .content-description {
    font-size: 1.1rem;
    max-width: 550px;
    margin-bottom: 2rem;
    line-height: 1.7;
    color: rgba(255, 255, 255, 0.9);
    
    /* Magia pentru trunchierea textului */
    display: -webkit-box;
    -webkit-line-clamp: 6; /* Numărul maxim de rânduri vizibile */
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.event-details-column .event-live-message {
    font-weight: bold;
    color: #4ade80;
    margin-bottom: 2rem;
    font-size: 1.2rem;
    animation: pulse 2s infinite;
}
@keyframes pulse {
  0% { transform: scale(1); opacity: 1; }
  50% { transform: scale(1.05); opacity: 0.7; }
  100% { transform: scale(1); opacity: 1; }
}
.event-details-column .content-button {
    padding: 1rem 2.5rem;
    font-size: 1.1rem;
    font-weight: bold;
    border-radius: 50px;
    text-decoration: none;
    display: inline-block;
    background-color: #d97706;
    color: white;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.event-details-column .content-button:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(217, 119, 6, 0.3);
}

/* --- Stiluri pentru Navigare și Paginare --- */
.event-slider-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    background-color: rgba(0, 0, 0, 0.4);
    color: white;
    border: none;
    font-size: 24px;
    cursor: pointer;
    border-radius: 50%;
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.3s ease, transform 0.3s ease;
}
.event-slider-nav:hover {
    background-color: rgba(217, 119, 6, 0.8);
    transform: translateY(-50%) scale(1.1);
}
.event-slider-nav.prev { left: 20px; }
.event-slider-nav.next { right: 20px; }

.event-slider-dots {
    position: absolute;
    bottom: 30px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 10;
    display: flex;
    gap: 12px;
}
.event-slider-dots .dot {
    width: 12px; height: 12px;
    border-radius: 50%;
    background-color: rgba(255, 255, 255, 0.5);
    cursor: pointer;
    transition: all 0.3s ease;
}
.event-slider-dots .dot.active,
.event-slider-dots .dot:hover {
    background-color: white;
    transform: scale(1.2);
}

/* --- Responsive pentru tablete și telefoane --- */
@media (max-width: 992px) {
    .event-slide .event-hero-container {
        grid-template-columns: 1fr; text-align: center; gap: 2rem;
    }
    .event-details-column {
        display: flex; flex-direction: column; align-items: center;
    }
    .event-poster-column {
        order: -1; max-width: 350px; margin: 0 auto;
    }
}
@media (max-width: 768px) {
     .event-slider-section { min-height: 100vh; padding: 2rem 1rem; }
    .event-slide .event-hero-container { padding: 1rem; }
    .event-poster-column { max-width: 280px; }
    .event-details-column .content-title { font-size: clamp(2rem, 8vw, 2.5rem); }
}
/* Media Queries pentru Responsive */
@media (max-width: 992px) {
    .event-hero-container {
        grid-template-columns: 1fr;
        gap: 3rem;
        text-align: center;
    }
    .event-details-column {
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    .event-details-column .content-description {
        max-width: 100%;
    }
}


/* --- NOU: STILURI PENTRU BANNERUL CU CRONOMETRU --- */

.event-countdown-section {
    position: relative;
    width: 100%;
    min-height: 70vh;
    padding: 100px 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    overflow: hidden;
    color: #fff;
}

.countdown-background {
    position: absolute;
    top: -20px; /* Extindem pentru a ascunde marginile blurate */
    left: -20px;
    right: -20px;
    bottom: -20px;
    background-size: cover;
    background-position: center;
    filter: blur(15px) brightness(0.7); /* Efectul de blur și întunecare */
    transform: scale(1.1); /* Previne marginile goale de la blur */
}

.countdown-overlay {
    position: absolute;
    inset: 0;
    background: radial-gradient(circle, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.7) 100%);
    z-index: 1;
}

.countdown-content {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.countdown-pre-title {
    font-size: 1.5rem;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.8);
    margin-bottom: 0;
    text-transform: uppercase;
    letter-spacing: 2px;
}

.countdown-event-title {
    font-size: clamp(2.5rem, 6vw, 4.5rem);
    font-weight: 800;
    margin: 10px 0;
    text-shadow: 0 5px 25px rgba(0,0,0,0.5);
    line-height: 1.1;
}

.countdown-starts-in {
    font-size: 1.2rem;
    margin: 20px 0 10px;
    color: rgba(255, 255, 255, 0.7);
}

.big-countdown-timer {
    display: flex;
    gap: 20px;
    margin-bottom: 40px;
}

.big-countdown-timer .countdown-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    background: rgba(0, 0, 0, 0.2);
    padding: 20px 25px;
    border-radius: 15px;
    min-width: 110px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(5px);
}

.big-countdown-timer .countdown-item span {
    font-size: 3.5rem;
    font-weight: 700;
    line-height: 1;
}

.big-countdown-timer .countdown-item .countdown-label {
    font-size: 1rem;
    font-weight: 500;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.7);
    margin-top: 5px;
}

/* Modificare pentru secțiunea de eveniment activ */
.event-live-message {
    font-size: 1.5rem;
    font-weight: bold;
    padding: 20px;
    background: rgba(0,0,0,0.3);
    border-radius:10px;
    text-align: center;
    margin-top: 20px;
    color: #fcd34d; /* auriu */
}

/* Stil pentru perioada evenimentului activ */
.event-period-display {
    font-size: 1.1rem;
    font-weight: 600;
    color: #fcd34d; /* O nuanță de auriu */
    margin-top: -10px; /* Apropie de titlu */
    margin-bottom: 20px;
    text-shadow: 1px 1px 3px rgba(0,0,0,0.4);
}

/* Stiluri Generale & Utilitare */
.section-header{text-align:center;max-width:800px;margin:0 auto 4rem}.section-header h2{font-size:clamp(2rem,5vw,2.8rem);font-weight:800;color:#1a202c;margin-bottom:.75rem;line-height:1.2}.section-header p{font-size:1.1rem;color:#4a5568;max-width:650px;margin:0 auto}

/* Stiluri Secțiuni Diverse */
.what-to-expect-section{padding:5rem 1rem;background-color:#fdfaf6}.expect-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2.5rem}.expect-card{background-color:#fff;border-radius:1rem;padding:2.5rem;box-shadow:0 10px 25px -5px rgba(0,0,0,.05),0 4px 6px -2px rgba(0,0,0,.04);transition:transform .3s ease,box-shadow .3s ease;border-left:5px solid transparent}.expect-card:hover{transform:translateY(-8px);box-shadow:0 20px 30px -10px rgba(0,0,0,.1);border-left-color:#d97706}.expect-card h3{font-size:1.5rem;font-weight:700;color:#c26a02;margin-bottom:1rem}.expect-card p{color:#333;line-height:1.7}.guest-passes-section{background:#111827;color:#f9fafb;padding:5rem 1rem}.guest-passes-section .section-header h2{color:#fff}.guest-passes-section .section-header p{color:#d1d5db}.passes-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;margin-top:3rem}.pass-card{background-color:#1f2937;border:1px solid #374151;border-radius:1rem;padding:2rem;text-align:center;display:flex;flex-direction:column;transition:transform .3s,box-shadow .3s}.pass-card:hover{transform:translateY(-10px);box-shadow:0 0 25px rgba(217,119,6,.5);border-color:#d97706}.pass-card h3{font-size:1.1rem;text-transform:uppercase;color:#d97706;letter-spacing:1px;margin-bottom:1rem}.pass-prices{margin:1.5rem 0;flex-grow:1}.pass-price-item{margin-bottom:.75rem}.pass-price-item .price{font-size:2rem;font-weight:700;color:#fff}.pass-price-item .label{font-size:1rem;color:#9ca3af;display:block}.pass-card .pass-time{font-size:.9rem;color:#d1d5db;margin-top:auto;padding-top:1rem;border-top:1px solid #374151}.faq-section{padding:5rem 1rem;background-color:#fff}.faq-container{max-width:850px;margin:0 auto}.faq-item{border-bottom:1px solid #e2e8f0}.faq-item:last-child{border-bottom:none}.faq-item summary{font-size:1.25rem;font-weight:600;padding:1.5rem 1rem;cursor:pointer;list-style:none;position:relative;color:#2d3748;transition:background-color .2s}.faq-item summary:hover{background-color:#f7fafc}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary::after{content:'›';position:absolute;right:1.5rem;top:50%;transform:translateY(-50%) rotate(90deg);font-size:2rem;line-height:1;transition:transform .3s ease-in-out;color:#d97706}.faq-item[open] summary::after{transform:translateY(-50%) rotate(-90deg)}.faq-answer{padding:0 1.5rem 1.5rem;color:#4a5568;line-height:1.7;animation:fadeIn .5s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.community-join-section{padding:5rem 1rem;background-color:#fdfaf6}.join-card{max-width:1100px;margin:0 auto;background-color:#fff;border:1px solid #e2e8f0;border-radius:1.5rem;padding:3rem;box-shadow:0 10px 25px -5px rgba(0,0,0,.05),0 4px 6px -2px rgba(0,0,0,.04)}.join-card-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:3rem;align-items:center}.join-content h2{color:#d97706;font-size:clamp(1.8rem,4vw,2.5rem);font-weight:800;margin-bottom:.75rem;line-height:1.2}.join-content .tagline{color:#4a5568;font-size:1.2rem;margin-bottom:2rem;font-weight:500}.benefits-list{list-style:none;padding:0;margin:0 0 2rem;display:flex;flex-direction:column;gap:1rem}.benefits-list li{display:flex;align-items:center;gap:.75rem;font-size:1.05rem;color:#374151}.benefits-list .icon{color:#d97706}.btn-whatsapp{display:inline-flex;align-items:center;gap:.75rem;background:linear-gradient(90deg,#d97706,#c26a02);color:#fff;padding:.8rem 1.8rem;border-radius:50px;font-weight:700;text-decoration:none;transition:transform .3s ease,box-shadow .3s ease;box-shadow:0 4px 15px rgba(217,119,6,.3)}.btn-whatsapp:hover{transform:translateY(-3px);box-shadow:0 8px 25px rgba(217,119,6,.5)}.join-qr{text-align:center}.qr-code-wrapper{background:#fff;padding:1rem;border-radius:1rem;display:inline-block;border:1px solid #e2e8f0;transition:transform .3s ease,box-shadow .3s ease}.qr-code-wrapper:hover{transform:scale(1.05);box-shadow:0 0 40px rgba(217,119,6,.2)}.qr-code-wrapper img{max-width:220px;width:100%;display:block;border-radius:.5rem}.qr-code-wrapper .qr-caption{font-weight:600;color:#111827;margin-top:.75rem;margin-bottom:0;font-size:.9rem;text-transform:uppercase;letter-spacing:1px}.season-message-section{padding:5rem 1rem;background-color:#fff}.season-message-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:3rem;align-items:center;max-width:1100px;margin:0 auto}.season-message-image img{width:100%;height:auto;border-radius:1rem;box-shadow:0 10px 30px rgba(0,0,0,.1);transform:rotate(-2deg);transition:transform .4s ease}.season-message-image img:hover{transform:rotate(0) scale(1.03)}.season-message-content h2{color:#d97706;font-size:clamp(1.8rem,4vw,2.5rem);font-weight:800;margin-bottom:1rem;line-height:1.2}.season-message-content p{color:#4a5568;font-size:1.15rem;line-height:1.8;margin-bottom:1.5rem}.season-message-content .signature{font-family:'Dancing Script',cursive;font-size:2.2rem;text-align:right;display:block;margin-top:2rem;color:#1a202c}@media (max-width:992px){.join-card-grid,.season-message-grid{grid-template-columns:1fr;gap:2.5rem}.join-content,.season-message-content{text-align:center}.benefits-list{align-items:center}.benefits-list li{justify-content:center}.join-qr{margin-top:1rem}.join-card{padding:2rem}.season-message-image{max-width:400px;margin:0 auto}.season-message-content .signature{text-align:center}}.nude-dinner-section{padding:5rem 0;background-color:#fdfdfd}.nude-dinner-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}@media (max-width:992px){.nude-dinner-grid{grid-template-columns:1fr}}.nude-dinner-content-col h3{margin-top:2rem}.nude-dinner-image-col{position:relative;overflow:hidden;border-radius:16px;box-shadow:0 10px 25px rgba(0,0,0,.1);cursor:pointer}.nude-dinner-image-col .main-image{display:block;width:100%;height:100%;object-fit:cover;transition:transform .4s cubic-bezier(.25,.46,.45,.94),filter .4s ease}.qr-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-color:rgba(15,23,42,.7);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;justify-content:center;align-items:center;opacity:0;visibility:hidden;transition:opacity .4s ease,visibility .4s ease}.qr-overlay .qr-card{background-color:#fff;padding:2rem;border-radius:16px;box-shadow:0 8px 30px rgba(0,0,0,.25);max-width:280px;width:90%;text-align:center;transform:scale(.9);transition:transform .4s cubic-bezier(.25,.46,.45,.94)}.qr-overlay .menu-qr-image{max-width:180px;width:100%;display:block;margin:0 auto;border-radius:8px}.qr-overlay .menu-qr-caption{color:#333;font-weight:600;margin-top:1.5rem;margin-bottom:0;text-transform:uppercase;letter-spacing:1.5px;font-size:.9rem;text-shadow:none}.menu-icon-trigger{position:absolute;bottom:20px;left:20px;background:rgba(255,255,255,.9);color:#333;padding:8px 16px;border-radius:50px;display:flex;align-items:center;gap:8px;font-weight:600;font-size:.8rem;box-shadow:0 4px 10px rgba(0,0,0,.15);transition:all .3s ease;text-transform:uppercase}.menu-icon-trigger svg{stroke:#333}.nude-dinner-image-col:hover .main-image{transform:scale(1.1);filter:brightness(.7)}.nude-dinner-image-col:hover .qr-overlay{opacity:1;visibility:visible}.nude-dinner-image-col:hover .qr-overlay .qr-card{transform:scale(1)}.nude-dinner-image-col:hover .menu-icon-trigger{opacity:0;transform:translateY(10px)}

/* === STILURI REVIZUITE PENTRU SECȚIUNEA JOBURI === */
.homepage-jobs-section { padding: 5rem 1rem; background-color: #f8f9fa; }
.jobs-list-container { max-width: 900px; margin: 0 auto; }
.homepage-job-item {
    display: grid; grid-template-columns: 80px 1fr auto; gap: 1.5rem; align-items: center;
    padding: 1.5rem; background-color: #fff; border: 1px solid #e2e8f0;
    border-radius: 1rem; margin-bottom: 1rem;
    transition: box-shadow 0.3s ease, transform 0.3s ease;
}
.homepage-job-item:hover { transform: translateY(-5px); box-shadow: 0 10px 25px -5px rgba(0,0,0,0.07), 0 4px 6px -2px rgba(0,0,0,0.04); }
.homepage-job-image-wrapper { width: 80px; height: 80px; border-radius: 0.75rem; overflow: hidden; background-color: #f1f5f9; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.homepage-job-image { width: 100%; height: 100%; object-fit: cover; }
.homepage-job-info h3 { font-size: 1.4rem; color: #1a202c; margin: 0 0 0.25rem 0; }
.job-meta-home { color: #4a5568; display: flex; flex-wrap: wrap; gap: 1.5rem; font-size: 0.9rem; }
.job-meta-home span { display: inline-flex; align-items: center; }
.job-meta-home span i { color: #d97706; margin-right: 0.5rem; }
.btn-apply {
    display: inline-block; background-color: #d97706; color: #fff; padding: 0.8rem 1.8rem;
    border-radius: 50px; text-decoration: none; font-weight: 600; transition: background-color 0.3s;
    white-space: nowrap;
}
.btn-apply:hover { background-color: #c26a02; }
.see-all-jobs { text-align: center; margin-top: 2.5rem; }
.see-all-jobs .btn-secondary {
    display: inline-block; padding: 0.8rem 2rem; border-radius: 50px; text-decoration: none;
    font-weight: 700; transition: all 0.3s ease; background-color: transparent;
    color: #1a202c; border: 2px solid #1a202c;
}
.see-all-jobs .btn-secondary:hover { background-color: #1a202c; color: #fff; }
@media (max-width: 640px) {
    .homepage-job-item { grid-template-columns: 1fr; text-align: center; gap: 1rem; }
    .homepage-job-image-wrapper { margin: 0 auto 1rem; }
    .job-meta-home { justify-content: center; }
    .btn-apply { margin-top: 1rem; }
}

/* === STILURI NOI PENTRU GALERIE (GRID CLASIC) === */
.gallery-section{padding:5rem 1rem;background-color:#fdfaf6}.gallery-filters{display:flex;justify-content:center;flex-wrap:wrap;gap:1rem;margin-bottom:3rem}.gallery-filter-btn{background-color:#fff;border:1px solid #e2e8f0;color:#4a5568;padding:.75rem 1.5rem;border-radius:50px;cursor:pointer;font-weight:600;transition:all .3s ease}.gallery-filter-btn:hover{background-color:#d97706;color:#fff;border-color:#d97706}.gallery-filter-btn.active{background-color:#1a202c;color:#fff;border-color:#1a202c;box-shadow:0 4px 15px rgba(26,32,44,.2)}
.modern-gallery-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
}
@media (max-width: 992px) { .modern-gallery-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) { .modern-gallery-grid { grid-template-columns: 1fr; } }

.gallery-item{position:relative;overflow:hidden;border-radius:1rem;box-shadow:0 4px 15px rgba(0,0,0,.05);cursor:pointer;aspect-ratio: 4 / 3; transform: scale(1); opacity: 1; transition: transform .4s ease, opacity .4s ease, width .1s ease-out .4s; will-change:transform,opacity}
.gallery-item.hidden{transform:scale(.8);opacity:0;transition:transform .4s ease,opacity .4s ease,width .1s ease,height .1s ease,padding .1s ease,margin .1s ease;width:0!important;height:0!important;padding:0!important;margin:0!important;overflow:hidden;pointer-events:none;gap:0;border:none;}
.gallery-item:hover .gallery-image{transform:scale(1.05)}.gallery-item:hover .gallery-item-overlay{opacity:1}.gallery-item:hover .gallery-item-info{opacity:1;transform:translateY(0)}.gallery-image{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.gallery-item-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.8) 0%,transparent 70%);opacity:0;transition:opacity .4s ease}.gallery-item-info{position:absolute;bottom:0;left:0;padding:1.5rem;color:#fff;opacity:0;transform:translateY(20px);transition:opacity .4s ease,transform .4s ease}.gallery-item-info h3{margin:0;font-size:1.2rem;font-weight:700}.gallery-item-info p{margin:.25rem 0 0;font-size:.9rem;opacity:.8}#gallery-load-more-container{text-align:center;margin-top:3rem}#gallery-load-more{background-color:#d97706;color:#fff;padding:.8rem 2rem;border-radius:50px;text-decoration:none;font-weight:700;transition:all .3s ease;border:none;cursor:pointer}#gallery-load-more:hover{background-color:#c26a02}.hidden-by-limit{display:none}

/* === STILURI SECȚIUNE EVENIMENTE v3 (PREMIUM LAYOUT) === */
.dynamic-event-hero.premium-layout {
    position: relative;
    width: 100%;
    min-height: 90vh;
    padding: 5rem 2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    color: #fff;
}
.event-hero-background {
    position: absolute;
    top: -5%; left: -5%;
    width: 110%; height: 110%;
    background-size: cover;
    background-position: center;
    filter: blur(10px) brightness(0.6);
    animation: zoomEffect 40s infinite alternate ease-in-out;
    transform: scale(1.1);
}
@keyframes zoomEffect { from { transform: scale(1.1); } to { transform: scale(1); } }
.event-hero-overlay {
    position: absolute; inset: 0;
    background: radial-gradient(circle at center, rgba(0,0,0,0.4) 0%, rgba(0,0,0,0.7) 100%);
    z-index: 1;
}
.event-hero-grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: 1fr 1.5fr;
    gap: 3rem;
    align-items: center;
    max-width: 1200px;
    width: 100%;
}
.poster-column {
    perspective: 1000px;
    animation: slideUpFadeIn 1s cubic-bezier(0.25, 1, 0.5, 1);
}
.event-poster {
    display: block;
    border-radius: 1rem;
    overflow: hidden;
    box-shadow: 0 20px 40px rgba(0,0,0,0.5);
    transform: rotateY(-10deg) rotateX(5deg);
    transition: transform 0.5s cubic-bezier(0.25, 1, 0.5, 1), box-shadow 0.5s ease;
}
.event-poster:hover {
    transform: rotateY(0) rotateX(0) scale(1.05);
    box-shadow: 0 30px 60px rgba(0,0,0,0.4);
}
.event-poster img { display: block; width: 100%; height: auto; }

.details-column { text-align: left; }
.details-column > * {
    animation: slideUpFadeIn 0.8s cubic-bezier(0.25, 1, 0.5, 1) both;
}
/* Animație eșalonată pentru un efect premium */
.details-column .event-title { animation-delay: 0.1s; }
.details-column .event-period { animation-delay: 0.2s; }
.details-column .event-description, .details-column .big-countdown-timer { animation-delay: 0.3s; }
.details-column .btn-event-hero { animation-delay: 0.4s; }

@keyframes slideUpFadeIn {
    from { opacity: 0; transform: translateY(30px); }
    to { opacity: 1; transform: translateY(0); }
}

.event-badge {
    padding: 0.5rem 1.2rem;
    border-radius: 50px;
    font-size: 0.9rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    display: inline-block;
    margin-bottom: 1rem;
}
.event-badge.live { background-color: #d97706; box-shadow: 0 0 20px rgba(217, 119, 6, 0.7); }
.event-badge.upcoming { background-color: rgba(255,255,255,0.2); }

.details-column .event-title {
    font-size: clamp(2.2rem, 5vw, 3.5rem);
    font-weight: 800;
    line-height: 1.1;
    margin: 0 0 0.75rem;
    text-shadow: 0 3px 10px rgba(0,0,0,0.5);
}
.details-column .event-period {
    font-size: 1.1rem;
    font-weight: 500;
    opacity: 0.8;
    margin-bottom: 1.5rem;
}
.details-column .event-description {
    font-size: 1.1rem;
    opacity: 0.9;
    line-height: 1.7;
    margin-bottom: 2rem;
}
.details-column .btn-event-hero {
    padding: 0.9rem 2.2rem;
    font-size: 1rem;
    /* Adăugăm stilurile și din CSS-ul vechi pentru consistență */
    background: #d97706; color: #fff; border-radius: 50px; font-weight: 700; text-decoration: none; text-transform: uppercase; transition: all 0.3s ease; display: inline-block;
}
.details-column .btn-event-hero:hover { background: #c26a02; transform: translateY(-3px) scale(1.05); }
.details-column .btn-event-hero.secondary { background: transparent; border: 2px solid #fff; }
.details-column .btn-event-hero.secondary:hover { background: #fff; color: #111; }

/* Responsive */
@media (max-width: 992px) {
    .event-hero-grid { grid-template-columns: 1fr; gap: 2.5rem; }
    .poster-column { max-width: 400px; margin: 0 auto; }
    .details-column { text-align: center; }
}

/* === STILURI PENTRU CRONOMETRU (ADAUGAT) === */
.big-countdown-timer {
    display: flex;
    justify-content: center; /* Pe mobil este deja centrat, acest cod ajută pe desktop */
    gap: 1.5rem;
    margin-bottom: 2.5rem;
    flex-wrap: wrap; /* Permite trecerea pe rândul următor dacă nu încape */
}
.countdown-item {
    text-align: center;
    background: rgba(255,255,255,0.1);
    padding: 1rem;
    border-radius: 0.5rem;
    border: 1px solid rgba(255,255,255,0.2);
    min-width: 85px;
    backdrop-filter: blur(5px);
}
.countdown-item span {
    display: block;
    font-size: 2.5rem;
    font-weight: 700;
    line-height: 1;
    color: #fff;
    text-shadow: 0 2px 5px rgba(0,0,0,0.4);
}
.countdown-label {
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    opacity: 0.8;
    margin-top: 0.5rem;
}

/* === AJUSTĂRI RESPONSIVE COMPLETE PENTRU EVENIMENTE (ADAUGAT) === */
@media (max-width: 768px) {
    .dynamic-event-hero.premium-layout {
        min-height: 80vh; /* Înălțime redusă pentru ecrane mai mici */
        padding: 4rem 1rem;
    }
    .event-hero-grid {
        gap: 2rem; /* Spațiu redus între poster și text */
    }
    .details-column .event-title {
        font-size: clamp(2rem, 8vw, 2.8rem); /* Font mai mic și mai adaptabil pentru titlu */
    }
    .poster-column {
        perspective: none; /* Eliminăm perspectiva 3D pe mobil */
    }
    .event-poster {
        transform: none !important; /* Anulăm complet rotația 3D */
        box-shadow: 0 10px 25px rgba(0,0,0,0.4);
    }
    .event-poster:hover {
        transform: scale(1.03) !important; /* Efect de hover mai simplu */
    }

    /* Ajustări pentru cronometru pe mobil */
    .big-countdown-timer {
        gap: 0.75rem;
        margin-bottom: 2rem;
    }
    .countdown-item {
        padding: 0.75rem;
        min-width: 70px;
    }
    .countdown-item span {
        font-size: 2rem;
    }
    .countdown-label {
        font-size: 0.7rem;
    }
}
/* === STILURI PENTRU CASETA DE REGULI EVENIMENT (ADAUGAT) === */
.event-rules-box {
    margin-top: 2.5rem;
    padding: 1.5rem;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 0.75rem;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    text-align: left;
    
    /* Adăugăm animația de intrare, cu o întârziere mai mare */
    animation: slideUpFadeIn 0.8s cubic-bezier(0.25, 1, 0.5, 1) both;
    animation-delay: 0.5s;
}

.event-rules-box h4 {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    font-size: 1rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #fff;
    margin: 0 0 1rem 0;
    opacity: 0.95;
}

.event-rules-box h4 svg {
    width: 20px;
    height: 20px;
    color: #d97706; /* Culoarea de accent a brandului */
    flex-shrink: 0;
}

.event-rules-box ul {
    list-style: none;
    padding: 0;
    margin: 0;
    font-size: 0.95rem;
    line-height: 1.6;
    color: #e5e7eb; /* Un gri deschis pentru lizibilitate */
}

.event-rules-box ul li {
    position: relative;
    padding-left: 1.25rem;
    margin-bottom: 0.5rem;
}

.event-rules-box ul li:last-child {
    margin-bottom: 0;
}

.event-rules-box ul li::before {
    content: '•';
    position: absolute;
    left: 0;
    top: 1px;
    color: #d97706; /* Punct portocaliu */
    font-weight: bold;
    font-size: 1.2rem;
}

/* Ajustări responsive */
@media (max-width: 992px) {
    .event-rules-box {
        text-align: center; /* Se centrează pe mobil, unde toată coloana e centrată */
    }
    .event-rules-box h4 {
        justify-content: center; /* Centrează titlul și iconița */
    }
    .event-rules-box ul li {
        padding-left: 0;
        text-align: left; /* Păstrăm textul aliniat la stânga pentru lizibilitate */
    }
    .event-rules-box ul li::before {
        /* Ascundem bulina pe mobil unde textul este mai înghesuit */
        display: none; 
    }
}
.event-rules-exception {
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid rgba(255, 255, 255, 0.2);
    font-size: 0.9rem;
    font-style: italic;
    opacity: 0.9;
}
.event-rules-exception strong {
    color: #fff;
}
/* Stil pentru alerta de sărbători din interiorul casetei */
.event-holiday-alert {
    background: rgba(217, 119, 6, 0.15); /* Tintă de auriu/chihlimbar */
    border: 1px solid rgba(217, 119, 6, 0.4);
    padding: 1rem;
    border-radius: 0.5rem;
    margin-bottom: 1.5rem;
    display: flex;
    align-items: flex-start;
    gap: 1rem;
}

.event-holiday-alert i, 
.event-holiday-alert svg {
    color: #d97706;
    font-size: 1.2rem;
    flex-shrink: 0;
    margin-top: 2px;
}

.event-holiday-alert p {
    margin: 0;
    font-size: 0.95rem;
    line-height: 1.5;
    color: #fff;
}

.event-holiday-alert strong {
    color: #fbbf24; /* Un galben mai strălucitor pt accent */
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Stil pentru butonul de contact rapid în interiorul regulamentului */
.contact-reception-link {
    display: inline-block;
    margin-top: 0.5rem;
    color: #d97706;
    text-decoration: none;
    font-weight: 700;
    border-bottom: 1px dashed #d97706;
    transition: 0.3s;
}

.contact-reception-link:hover {
    color: #fff;
    border-bottom-color: #fff;
}

/* --- REVELION 2025 SPECIAL STYLES --- */
.revelion-section {
    position: relative;
    padding: 60px 15px;
    background-color: #050505;
    color: #fff;
    overflow: hidden;
    text-align: center;
    border-bottom: 3px solid #d4af37;
    font-family: 'Montserrat', sans-serif; /* Asigură-te că ai fontul sau folosește inherit */
}

/* Background Image Handling */
.revelion-bg {
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    background-size: cover;
    background-position: center;
    filter: blur(4px) brightness(0.35);
    z-index: 1;
}
.revelion-overlay {
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    background: radial-gradient(circle, rgba(212,175,55,0.05) 0%, rgba(0,0,0,0.85) 90%);
    z-index: 2;
}
.relative-z { position: relative; z-index: 10; max-width: 1280px; margin: 0 auto; }

/* Header Elements */
.rev-subtitle {
    display: block;
    font-size: 0.9rem;
    letter-spacing: 2px;
    color: #d4af37;
    margin-bottom: 10px;
    font-weight: 700;
    text-transform: uppercase;
}
.rev-title {
    font-size: clamp(2.5rem, 5vw, 4.5rem);
    font-weight: 800;
    line-height: 1.1;
    margin: 0 0 15px 0;
    text-transform: uppercase;
    color: #fff;
}
.rev-title span {
    color: #d4af37;
    text-shadow: 0 0 15px rgba(212,175,55,0.3);
}
.rev-date-box {
    display: inline-block;
    background: rgba(255,255,255,0.1);
    border: 1px solid #d4af37;
    padding: 8px 20px;
    border-radius: 50px;
    font-size: 1.1rem;
    margin-bottom: 20px;
    color: #fce205;
}
.rev-desc {
    max-width: 800px;
    margin: 0 auto 30px auto;
    font-size: 1.1rem;
    color: #ddd;
    line-height: 1.6;
}

/* Countdown */
.nye-countdown {
    display: flex;
    justify-content: center;
    gap: 15px;
    margin-bottom: 40px;
}
.nye-time-box {
    background: rgba(0,0,0,0.6);
    border: 1px solid #d4af37;
    padding: 10px 15px;
    border-radius: 8px;
    min-width: 70px;
    backdrop-filter: blur(5px);
}
.nye-time-box span { display: block; font-size: 1.8rem; font-weight: 700; color: #fff; line-height: 1; }
.nye-time-box small { font-size: 0.75rem; text-transform: uppercase; color: #d4af37; }

/* Wellness Bar */
.rev-wellness-bar {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
    margin-bottom: 50px;
    border-top: 1px solid rgba(255,255,255,0.1);
    border-bottom: 1px solid rgba(255,255,255,0.1);
    padding: 20px 0;
}
.wellness-item { font-size: 1rem; color: #ccc; }
.wellness-item i { color: #d4af37; margin-right: 8px; }

/* Grid Title */
.packages-title { font-size: 2rem; color: #fff; margin-bottom: 5px; text-transform: uppercase; letter-spacing: 1px; }
.packages-subtitle { color: #999; font-size: 0.95rem; margin-bottom: 30px; }

/* Packages Grid */
.revelion-packages-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 20px;
    margin-bottom: 40px;
}

/* Card Styles */
.rev-card {
    background: #151515;
    border: 1px solid #333;
    border-radius: 12px;
    padding: 25px 20px;
    position: relative;
    transition: transform 0.3s, border-color 0.3s;
    display: flex;
    flex-direction: column;
}
.rev-card:hover { transform: translateY(-5px); border-color: #666; }

/* VIP & Discount Styles */
.rev-card.vip {
    background: linear-gradient(160deg, #1a1a1a, #000);
    border: 1px solid #d4af37;
    box-shadow: 0 0 20px rgba(212,175,55,0.15);
    z-index: 5;
    transform: scale(1.03);
}
.rev-card.vip:hover { transform: scale(1.05); }

.vip-badge, .discount-tag {
    position: absolute;
    top: -12px; left: 50%;
    transform: translateX(-50%);
    background: #d4af37;
    color: #000;
    font-weight: 800;
    font-size: 0.8rem;
    padding: 4px 12px;
    border-radius: 10px;
    text-transform: uppercase;
}
.discount-tag { background: #c0392b; color: #fff; }

.card-header h3 { font-size: 1.6rem; margin: 10px 0 5px 0; color: #fff; }
.rev-card.vip h3 { color: #d4af37; }
.card-dates { color: #777; font-size: 0.9rem; display: block; margin-bottom: 20px; }

/* Pricing Rows inside Cards */
.rev-prices { background: rgba(255,255,255,0.03); padding: 15px; border-radius: 8px; margin-bottom: 20px; }
.price-row {
    display: flex; justify-content: space-between; align-items: center;
    padding: 5px 0; border-bottom: 1px solid rgba(255,255,255,0.05);
}
.price-row:last-child { border-bottom: none; }
.price-row span { font-size: 0.85rem; color: #aaa; text-align: left; }
.price-row strong { font-size: 1.1rem; color: #fff; }
.price-row.female strong { color: #ff9ff3; } /* Roz pal pentru diferentiere subtila */
.old-price { font-size: 0.8rem; color: #666; display: block; text-align: right; }

/* Features */
.card-features { list-style: none; padding: 0; margin: 0 0 20px 0; text-align: left; }
.card-features li { padding: 6px 0; font-size: 0.9rem; color: #ccc; border-bottom: 1px solid #222; }
.card-features li i { color: #d4af37; width: 20px; }

/* Buttons */
.btn-rev {
    display: inline-block;
    padding: 12px 20px;
    border-radius: 4px;
    text-decoration: none;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 0.9rem;
    margin-top: auto;
    transition: 0.3s;
}
.btn-rev.secondary { background: transparent; border: 1px solid #fff; color: #fff; }
.btn-rev.secondary:hover { background: #fff; color: #000; }
.btn-rev.primary { background: #d4af37; color: #000; border: none; width: 100%; }
.btn-rev.primary:hover { background: #f1c40f; }

/* Extra Grid (Party Only & Info) */
.rev-extra-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-bottom: 40px;
    text-align: left;
}
.rev-card.party-only { background: #0f0f0f; border-color: #444; }
.rev-card.party-only h3 { font-size: 1.4rem; color: #fce205; }
.inline-prices { display: flex; justify-content: space-between; gap: 10px; }
.price-box { text-align: center; }
.price-box small { display: block; font-size: 0.7rem; color: #888; }
.price-box strong { font-size: 1.3rem; color: #fff; }
.card-features.horizontal { display: flex; gap: 15px; justify-content: center; flex-wrap: wrap; text-align: center; border:none;}
.card-features.horizontal li { border: none; font-size: 0.8rem; }

.rev-info-box {
    background: #111;
    border: 1px solid #333;
    padding: 20px;
    border-radius: 12px;
}
.rev-info-box h4 { color: #d4af37; margin-bottom: 10px; }
.rev-info-box p { font-size: 0.9rem; color: #ccc; margin-bottom: 10px; }
.rev-info-box ul { padding-left: 20px; color: #aaa; font-size: 0.9rem; }

/* Footer Details */
.revelion-footer-details {
    border-top: 1px solid #333;
    padding-top: 30px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 40px;
    color: #888;
}
.details-col h5 { color: #fff; margin-bottom: 10px; }
.details-col p { font-size: 0.9rem; line-height: 1.4; }

/* Pulse Animation */
.pulse-btn { animation: goldPulse 2s infinite; }
@keyframes goldPulse {
    0% { box-shadow: 0 0 0 0 rgba(212, 175, 55, 0.7); }
    70% { box-shadow: 0 0 0 10px rgba(212, 175, 55, 0); }
    100% { box-shadow: 0 0 0 0 rgba(212, 175, 55, 0); }
}

/* Responsive */
@media (max-width: 900px) {
    .rev-extra-grid { grid-template-columns: 1fr; }
    .rev-title { font-size: 2.2rem; }
    .rev-card.vip { transform: scale(1); }
    .price-row { flex-direction: column; align-items: flex-start; gap: 2px; }
    .price-row div { width: 100%; display: flex; justify-content: space-between; align-items: center; }
}


/* Homepage story and optional presentation film. */
.ff-story {
    padding: 88px 24px;
    background: linear-gradient(145deg, #fdfaf5, #f4ede2);
    color: #38352f;
}
.ff-story .ff-story-inner {
    max-width: 1120px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    align-items: center;
    gap: 56px;
}
.ff-story .ff-story-eyebrow {
    display: block;
    margin-bottom: 16px;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.6;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #926320;
}
.ff-story h2 {
    margin: 0 0 24px;
    font-size: clamp(30px, 4vw, 46px);
    font-weight: 700;
    line-height: 1.16;
    letter-spacing: -1px;
    color: #302a21;
}
.ff-story .ff-story-intro p {
    margin: 0 0 16px;
    font-size: 17px;
    line-height: 1.85;
    color: #625c52;
}
.ff-story .ff-story-intro strong { color: #3d3529; }
.ff-story .ff-story-signature {
    display: block;
    margin-top: 24px;
    font-family: 'Dancing Script', Georgia, serif;
    font-size: 30px;
    font-style: italic;
    color: #926320;
}
.ff-story .ff-story-media { min-width: 0; }
.ff-story:not(.ff-story--with-video) .ff-story-media { width: 100%; max-width: 380px; justify-self: center; }
.ff-story figure {
    min-width: 0;
    margin: 0;
    overflow: hidden;
    border: 1px solid #e5d9c6;
    border-radius: 20px;
    background: #fffdf9;
    box-shadow: 0 16px 40px rgba(74, 53, 22, .08);
}
.ff-story .ff-story-photo img {
    display: block;
    width: 100%;
    height: auto;
}
.ff-story figcaption { padding: 20px 24px; }
.ff-story figcaption span {
    display: block;
    margin-bottom: 5px;
    font-size: 11px;
    line-height: 1.6;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: #926320;
}
.ff-story figcaption strong { display: block; color: #302a21; font-size: 18px; }
.ff-story.ff-story--with-video .ff-story-inner { grid-template-columns: 1fr; gap: 36px; }
.ff-story--with-video .ff-story-intro { max-width: 780px; }
.ff-story--with-video .ff-story-media {
    display: grid;
    grid-template-columns: minmax(0, .6fr) minmax(0, 1.4fr);
    gap: 24px;
    align-items: start;
}
.ff-story .ff-story-player { background: #171713; }
.ff-story .ff-story-player video {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
    object-fit: contain;
}
.ff-story .ff-story-player video:focus-visible { outline: 3px solid #c09041; outline-offset: -3px; }
@media (max-width: 760px) {
    .ff-story { padding: 56px 20px; }
    .ff-story .ff-story-inner,
    .ff-story--with-video .ff-story-media { grid-template-columns: 1fr; gap: 28px; }
    .ff-story .ff-story-intro p { font-size: 16px; }
    .ff-story .ff-story-signature { font-size: 27px; }
    .ff-story figcaption { padding: 18px 20px; }
}

/* Relaxation massage, next to the resort facilities. */
.ff-massage { padding: 80px 24px; background: #151a16; color: #f9f5ed; }
.ff-massage .ff-massage-inner {
    display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
    align-items: center; gap: 64px; max-width: 1120px; margin: 0 auto;
}
.ff-massage .ff-massage-photo {
    display: block; overflow: hidden; border-radius: 20px;
    border: 1px solid #655337; box-shadow: 0 20px 50px rgba(0, 0, 0, .25);
}
.ff-massage .ff-massage-photo img { display: block; width: 100%; height: auto; }
.ff-massage .ff-massage-eyebrow {
    display: block; margin-bottom: 16px; color: #eac17e;
    font-size: 12px; font-weight: 600; letter-spacing: 2px; text-transform: uppercase;
}
.ff-massage h2 { margin: 0 0 24px; font-size: clamp(30px, 3.5vw, 44px); line-height: 1.2; font-weight: 700; color: #fff6e7; }
.ff-massage p { margin: 0 0 20px; font-size: 16px; line-height: 1.8; color: #d4d6cd; }
.ff-massage .ff-massage-lead { font-size: 18px; }
.ff-massage .ff-massage-service { margin: 28px 0; padding: 20px 24px; border-left: 3px solid #d7ac67; background: #20271f; border-radius: 0 12px 12px 0; }
.ff-massage h3 { margin: 0 0 8px; color: #f3cd8e; font-size: 18px; font-weight: 600; }
.ff-massage .ff-massage-service p { margin: 0; font-size: 15px; }
.ff-massage .ff-massage-booking { font-size: 14px; }
.ff-massage .ff-massage-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 20px; }
.ff-massage .ff-massage-button { display: inline-flex; justify-content: center; align-items: center; min-height: 48px; padding: 14px 22px; border-radius: 10px; background: #ebc17d; color: #201b13; font-size: 15px; font-weight: 700; text-decoration: none; text-align: center; }
.ff-massage .ff-massage-button:hover { background: #f7d69e; }
.ff-massage .ff-massage-phone { color: #f4d8ac; font-size: 15px; text-underline-offset: 5px; padding: 12px 0; }
.ff-massage a:focus-visible { outline: 3px solid #fff; outline-offset: 5px; }
@media (max-width: 760px) {
    .ff-massage { padding: 48px 20px; }
    .ff-massage .ff-massage-inner { grid-template-columns: 1fr; gap: 32px; }
    .ff-massage .ff-massage-photo { max-width: 480px; width: 100%; margin: 0 auto; }
    .ff-massage .ff-massage-button { width: 100%; }
}

/*regulament*/
