/* ═══════════════════════════════════
   CĂSUȚELE CU TIHNĂ — components.css
   Componente reutilizabile
   ═══════════════════════════════════ */

/* ── CARD ── */
.card {
  background:var(--warm-white);
  border:1px solid var(--border);
  padding:36px 30px;
  position:relative;
  transition:transform 0.3s, box-shadow 0.3s;
}
.card::before {
  content:'';
  position:absolute; top:0; left:0;
  width:2px; height:0;
  background:var(--gold);
  transition:height 0.4s ease;
}
.card:hover { transform:translateY(-5px); box-shadow:var(--shadow); }
.card:hover::before { height:100%; }
.card .card-icon { font-size:2rem; margin-bottom:16px; display:block; }
.card h3 { color:var(--brown-dark); margin-bottom:10px; }
.card p  { font-size:0.9rem; color:var(--text-light); line-height:1.7; }

/* ── CARDS GRID ── */
.cards-grid-3 { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--border); }
.cards-grid-2 { display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:var(--border); }
.cards-grid-4 { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--border); }

/* ── FEATURE LIST ── */
.feature-list { display:flex; flex-direction:column; gap:14px; }
.feature-list li {
  display:flex; align-items:flex-start; gap:14px;
  font-size:0.92rem; line-height:1.6;
}
.feature-list .fi { font-size:1.1rem; flex-shrink:0; margin-top:2px; }

/* ── ICON BOX ── */
.icon-box {
  display:flex; align-items:flex-start; gap:18px;
  padding:22px 0;
  border-bottom:1px solid var(--border);
}
.icon-box:last-child { border-bottom:none; }
.icon-box .ib-icon { font-size:1.6rem; flex-shrink:0; }
.icon-box h4 {
  font-family:'Cormorant Garamond', serif;
  font-size:1.1rem; color:var(--brown-dark); margin-bottom:4px; font-weight:400;
}
.icon-box p { font-size:0.88rem; color:var(--text-light); line-height:1.6; }

/* ── PRICE CARD ── */
.price-card {
  background:var(--warm-white);
  border:1px solid var(--border);
  padding:44px 32px;
  text-align:center;
  position:relative;
  transition:transform 0.3s, box-shadow 0.3s;
  display:flex; flex-direction:column;
}
.price-card:hover { transform:translateY(-6px); box-shadow:var(--shadow); }

.price-card.featured {
  background:var(--green-deep);
  border-color:rgba(200,165,86,0.35);
}
.price-card.featured h3     { color:var(--cream); }
.price-card.featured p      { color:rgba(246,241,233,0.55); }
.price-card.featured .price-amount,
.price-card.featured .price-per { color:var(--gold-light); }

.price-badge {
  position:absolute; top:-12px; left:50%; transform:translateX(-50%);
  background:var(--gold); color:var(--brown-dark);
  font-size:0.6rem; letter-spacing:0.2em; text-transform:uppercase;
  padding:4px 16px; white-space:nowrap; font-weight:500;
}
.price-card h3      { font-size:1.2rem; margin-bottom:28px; color:var(--brown-dark); }
.price-amount       { font-family:'Cormorant Garamond', serif; font-size:3.2rem; color:var(--brown-dark); line-height:1; }
.price-from         { font-size:1rem; }
.price-per          { font-size:0.68rem; letter-spacing:0.15em; text-transform:uppercase; color:var(--text-light); margin:8px 0 28px; display:block; }

.price-features     { list-style:none; margin-bottom:32px; text-align:left; flex:1; }
.price-features li  {
  display:flex; gap:10px; align-items:flex-start;
  font-size:0.86rem; padding:9px 0;
  border-bottom:1px solid var(--border);
  color:var(--text-mid);
}
.price-features li::before { content:'✓'; color:var(--gold); flex-shrink:0; font-size:0.8rem; margin-top:1px; }
.price-card.featured .price-features li { color:rgba(246,241,233,0.65); border-color:rgba(255,255,255,0.07); }
.price-card .btn { display:block; text-align:center; }

/* ── GALLERY ── */
.gallery-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
}
.gallery-item {
  position:relative; overflow:hidden;
  background:var(--green-deep);
  aspect-ratio:4/3;
  cursor:pointer;
}
.gallery-item.tall { grid-row:span 2; aspect-ratio:unset; }
.gallery-item.wide { grid-column:span 2; }

.gallery-placeholder {
  position:absolute; inset:0;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:12px; padding:20px;
  transition:background 0.3s;
}
.gallery-item:hover .gallery-placeholder { background:rgba(61,92,56,0.5); }
.gallery-placeholder .gp-emoji { font-size:3rem; opacity:0.5; transition:opacity 0.3s; }
.gallery-item:hover .gallery-placeholder .gp-emoji { opacity:0.8; }
.gallery-placeholder .gp-label {
  font-size:0.65rem; letter-spacing:0.2em; text-transform:uppercase;
  color:rgba(246,241,233,0.35); text-align:center;
  transition:color 0.3s;
}
.gallery-item:hover .gallery-placeholder .gp-label { color:rgba(246,241,233,0.6); }

.gallery-img {
  width:100%; height:100%; object-fit:cover;
  transition:transform 0.5s ease;
}
.gallery-item:hover .gallery-img { transform:scale(1.05); }

/* ── CONTACT FORM ── */
.contact-form { display:flex; flex-direction:column; gap:16px; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.form-group { display:flex; flex-direction:column; gap:7px; }
.form-group label {
  font-size:0.65rem; letter-spacing:0.22em; text-transform:uppercase;
  color:var(--text-light); font-weight:400;
}
.form-group input,
.form-group textarea,
.form-group select {
  background:var(--cream);
  border:1px solid var(--border);
  padding:12px 16px;
  font-family:'Jost', sans-serif;
  font-size:0.9rem; font-weight:300;
  color:var(--text-dark);
  outline:none;
  transition:border-color 0.25s, background 0.25s;
  resize:vertical;
  -webkit-appearance:none;
}
.form-group input:focus,
.form-group textarea:focus,
.form-group select:focus {
  border-color:var(--gold);
  background:var(--warm-white);
}
.form-group textarea { min-height:130px; }

/* ── LIGHTBOX ── */
.lightbox {
  position:fixed; inset:0; z-index:500;
  background:rgba(22,34,24,0.96);
  display:flex; align-items:center; justify-content:center;
  opacity:0; pointer-events:none;
  transition:opacity 0.3s;
}
.lightbox.is-open { opacity:1; pointer-events:all; }
.lightbox-close {
  position:absolute; top:24px; right:32px;
  background:none; border:none; cursor:pointer;
  font-size:2.2rem; color:rgba(246,241,233,0.5);
  line-height:1; transition:color 0.25s; padding:4px;
}
.lightbox-close:hover { color:var(--cream); }
.lightbox-body {
  max-width:800px; width:90%;
  background:var(--brown-dark);
  padding:64px 48px; text-align:center;
}
.lightbox-emoji  { font-size:5rem; display:block; margin-bottom:20px; }
.lightbox-title  { font-family:'Cormorant Garamond', serif; font-size:2rem; color:var(--cream); margin-bottom:12px; }
.lightbox-desc   { font-size:0.9rem; color:rgba(246,241,233,0.55); }

/* ── NOTICE BOX ── */
.notice-box {
  background:var(--cream);
  border-left:3px solid var(--gold);
  padding:20px 24px;
}
.notice-box p { font-size:0.88rem; color:var(--text-light); line-height:1.75; }

/* ── RESPONSIVE GRIDS ── */
@media (max-width:900px) {
  .cards-grid-3 { grid-template-columns:1fr 1fr; }
  .cards-grid-4 { grid-template-columns:1fr 1fr; }
  .gallery-grid { grid-template-columns:1fr 1fr; }
  .gallery-item.tall,.gallery-item.wide { grid-row:unset; grid-column:unset; aspect-ratio:4/3; }
  .form-row { grid-template-columns:1fr; }
}
@media (max-width:580px) {
  .cards-grid-3,.cards-grid-2,.cards-grid-4 { grid-template-columns:1fr; }
  .gallery-grid { grid-template-columns:1fr; }
  .lightbox-body { padding:40px 24px; }
}
