/* Varianta RTL (dreapta–stânga) generată automat din vila.css — nu se editează manual. */
/* ═══════════════════════════════════════════════════════════════
   VILA — stiluri de pagină
   Exclus tot ce deține main.css: tokeni, reset, navigație, footer,
   hero, butoane, tipografie, FAQ.
   ═══════════════════════════════════════════════════════════════ */

:root {
      --cream:#FAF7F1;
      --green:#3D6147;
      --green-dk:#2d4b36;
      --red:#C35B50;
      --red-dk:#a84940;
      --text:#1A1A1A;
      --muted:#2A2A2A;
      --border:rgba(0,0,0,0.08);
    }
.br-mob { display:none; }
.intro { padding:100px 40px; text-align:center; }
/* Titlul are nevoie de lățime ca să încapă pe două rânduri.
   Paragraful de sub el rămâne îngust: rândurile prea late obosesc
   ochiul, iar pragul confortabil e 60–75 de caractere. */
.intro-inner { max-width:1040px; margin:0 auto; }
.intro-inner p { max-width:68ch; margin-right:auto; margin-left:auto; }
.intro h2 { margin-bottom:28px; }
.intro p { margin-bottom:18px; }
.intro-stats {
      display:flex; justify-content:center;
      margin-top:56px;
      border-top:1px solid var(--border);
      padding-top:48px;
    }
.istat { flex:1; text-align:center; border-left:1px solid var(--border); padding:0 24px; }
.istat:last-child { border-left:none; }
.istat-num {
      display:block;
      font-family:var(--serif);
      font-size:2.6rem; font-weight:400;
      color:var(--green); line-height:1; margin-bottom:8px;
    }
.istat-lbl { font-size:0.67rem; letter-spacing:0.12em; text-transform:uppercase; color:var(--muted); }
.feat-section { padding:100px 40px; }
.feat-inner { max-width:1180px; margin:0 auto; }
.feat-grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:40px; }
.feat-card { text-align:center; }
.feat-img-wrap {
      position:relative; overflow:hidden;
      height:420px; margin-bottom:28px;
    }
.feat-img-wrap img { width:100%; height:100%; object-fit:cover; display:block; }
.feat-img-wrap::after {
      content:'';
      position:absolute; inset:12px;
      border:1px solid rgba(200,175,120,0.55);
      pointer-events:none; z-index:1;
    }
.feat-card h3 {
      margin-bottom:10px;
    }
@media (max-width: 860px) {
.feat-grid { grid-template-columns:repeat(2, 1fr); }
}
@media (max-width: 560px) {
.feat-grid { grid-template-columns:1fr; }
.feat-img-wrap { height:220px; }
}
.split { display:grid; grid-template-columns:1fr 1fr; }
.split-img { position:relative; overflow:hidden; min-height:560px; }
.split-img img { width:100%; height:100%; object-fit:cover; }
.split-img::after { content:''; position:absolute; inset:12px; border:1px solid rgba(200,175,120,0.55); pointer-events:none; z-index:1; }
.split-body {
      padding:80px 72px;
      display:flex; flex-direction:column; justify-content:center;
    }
.split-body h2 { margin-bottom:20px; }
.split-body p { margin-bottom:14px; }
.specs { list-style:none; margin:28px 0 36px; }
.specs li {
      display:flex; align-items:center; gap:12px;
      font-size:1.05rem; color:var(--muted);
      padding:10px 0;
      border-bottom:1px solid var(--border);
      font-weight:300;
    }
.specs li:first-child { border-top:1px solid var(--border); }
.specs li i { color:var(--green); font-size:1.2rem; flex-shrink:0; }
.fullbleed .scarcity-hint { color:#fff; }
.fullbleed .scarcity-hint i { color:#7fc98f; }
.modal-scarcity { display:inline-flex; align-items:center; gap:7px; margin-top:16px; font-size:0.72rem; letter-spacing:0.12em; text-transform:uppercase; font-weight:700; color:var(--red); animation:pulse-text 2.4s ease-in-out infinite; }
@keyframes pulse-text { 0%,100%{opacity:1} 50%{opacity:0.4} }
.fullbleed {
      min-height:620px;
      display:flex; align-items:center; justify-content:center;
      text-align:center;
      padding:80px 40px;
      color:#fff;
    }
.fullbleed-inner { max-width:680px; }
.fullbleed h2 {
      margin-bottom:20px;
      text-shadow:0 2px 24px rgba(0,0,0,0.3);
    }
.fullbleed p { opacity:0.92; margin-bottom:36px; }
.fb-1 {
      background:linear-gradient(to bottom, rgba(10,18,14,0.45) 0%, rgba(10,18,14,0.65) 100%),
        url('/wp-content/uploads/2026/07/terasa-privata-padure-noapte-cuplu-romantic-cazare-lux-busteni-forest-retreat-villas.webp')
        center/cover no-repeat;
    }
.fb-2 {
      background:linear-gradient(to bottom, rgba(10,18,14,0.4) 0%, rgba(10,18,14,0.65) 100%),
        url('/wp-content/uploads/2026/07/Jacuzzi-vila-bruno.jpeg')
        center/cover no-repeat;
    }
.gallery-section { padding:80px 0; }
@media (max-width: 600px) {
.gallery-section { padding:48px 0; }
}
.gallery-hdr { max-width:1180px; margin:0 auto; padding:0 40px 44px; text-align:center; }
.gallery-wrap { position:relative; overflow:hidden; max-height:700px; transition:max-height 0.6s ease; }
.gallery-wrap.expanded { max-height:4000px; }
.gallery-grid {
      display:grid;
      grid-template-columns:repeat(4, 1fr);
      grid-auto-rows:260px;
      gap:4px;
    }
.g-wide { grid-column:span 2; }
.g-img { overflow:hidden; cursor:pointer; }
.g-img img { width:100%; height:100%; object-fit:cover; transition:transform 0.6s ease; display:block; }
.g-img:hover img { transform:scale(1.04); }
.gallery-fade {
      position:absolute; bottom:0; right:0; left:0; height:260px;
      background:linear-gradient(to bottom, transparent 0%, rgba(255,255,255,0.6) 40%, #fff 80%);
      display:flex; align-items:flex-end; justify-content:center;
      padding-bottom:28px; transition:opacity 0.4s;
    }
.gallery-fade.hidden { opacity:0; pointer-events:none; }
.gallery-see-all {
      display:inline-flex; align-items:center; gap:9px;
      padding:13px 32px; color:var(--text);
      border:1px solid rgba(0,0,0,0.14);
      font-family:var(--sans);
      font-size:0.8rem; font-weight:700;
      letter-spacing:0.08em; text-transform:uppercase;
      cursor:pointer; box-shadow:0 2px 16px rgba(0,0,0,0.08);
      transition:box-shadow 0.2s, background 0.2s;
    }
.gallery-see-all:hover { box-shadow:0 4px 24px rgba(0,0,0,0.14); background:var(--cream); }
#lightbox {
      position:fixed; inset:0; z-index:9998;
      background:rgba(0,0,0,0.94);
      display:none;
      align-items:center; justify-content:center;
    }
.lb-img-wrap { position:relative; max-width:90vw; max-height:90vh; display:flex; align-items:center; justify-content:center; }
.lb-img-wrap img { max-width:90vw; max-height:85vh; object-fit:contain; display:block; user-select:none; }
.lb-close {
      position:fixed; top:20px; left:24px;
      background:none; border:none;
      color:rgba(255,255,255,0.7); font-size:2rem; line-height:1;
      cursor:pointer; transition:color 0.2s; z-index:1;
    }
.lb-close:hover { color:#fff; }
.lb-nav {
      position:fixed; top:50%; transform:translateY(-50%);
      background:rgba(255,255,255,0.12);
      border:1px solid rgba(255,255,255,0.15);
      color:#fff; width:48px; height:48px;
      display:flex; align-items:center; justify-content:center;
      font-size:1.4rem; cursor:pointer; border-radius:50%;
      transition:background 0.2s; z-index:1;
    }
.lb-nav:hover { background:rgba(255,255,255,0.22); }
.lb-prev { right:20px; }
.lb-next { left:20px; }
.lb-counter {
      position:fixed; bottom:24px; right:50%; transform:translateX(50%);
      color:rgba(255,255,255,0.5); font-size:0.78rem; letter-spacing:0.08em;
    }
.amenities-section { padding:64px 40px; }
.amenities-inner { max-width:1100px; margin:0 auto; }
.section-header h2 { margin-bottom:0; }
.amenity-tabs {
      display:flex; justify-content:center;
      border-bottom:1px solid var(--border);
      margin-bottom:48px;
    }
.amenity-tab {
      padding:14px 36px;
      font-size:0.78rem; font-weight:600;
      letter-spacing:0.1em; text-transform:uppercase;
      color:var(--muted); cursor:pointer;
      border-bottom:2px solid transparent;
      margin-bottom:-1px; transition:all 0.2s;
    }
.amenity-tab.active { color:var(--green); border-bottom-color:var(--green); }
.amenity-panel { display:none; }
.amenity-panel.active {
      display:grid;
      grid-template-columns:repeat(3, 1fr);
      gap:48px 32px;
      padding:24px 0 16px;
    }
#t-interior.active { grid-template-columns:repeat(4, 1fr); }
.a-item {
      display:flex; flex-direction:column; align-items:center;
      text-align:center;
      padding:0;
      background:transparent;
    }
.a-ico {
      color:var(--green); font-size:1.8rem;
      margin-bottom:14px;
      width:52px; height:52px;
      display:flex; align-items:center; justify-content:center;
      border:1px solid rgba(61,97,71,0.18);
      border-radius:50%;
    }
.a-name { font-size:0.9rem; font-weight:600; margin-bottom:6px; }
.a-desc { font-size:0.78rem; color:var(--muted); font-weight:300; line-height:1.7; }
#t-wellness.active { grid-template-columns:repeat(4, 1fr); }
.activities-section { padding:100px 40px; }
.activities-inner { max-width:1180px; margin:0 auto; }
.activities-hdr { margin-bottom:56px; text-align:center; }
.activities-hdr p { max-width:480px; margin-top:16px; margin-right:auto; margin-left:auto; }
.activities-grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:1px; background:rgba(0,0,0,0.06); }
.act-card { background:#fff; overflow:hidden; }
.act-img { overflow:hidden; position:relative; }
.act-img::after { content:''; position:absolute; inset:12px; border:1px solid rgba(200,175,120,0.55); pointer-events:none; z-index:1; }
.act-img img { width:100%; aspect-ratio:3/2; object-fit:cover; transition:transform 0.5s ease; }
.act-card:hover .act-img img { transform:scale(1.04); }
.act-body { padding:24px 28px 32px; }
.act-tag { font-size:0.65rem; letter-spacing:0.14em; text-transform:uppercase; color:var(--green); font-weight:700; margin-bottom:10px; }
.act-body h3 { margin-bottom:10px; }
.testimonials-section { padding:100px 40px; }
.testimonials-inner { max-width:1100px; margin:0 auto; }
.ratings-row {
      display:flex; align-items:stretch; justify-content:center;
      margin-top:52px; margin-bottom:72px;
      border-top:1px solid var(--border);
      border-bottom:1px solid var(--border);
      padding:48px 0;
    }
.r-item { text-align:center; flex:1; }
.r-item + .r-item { border-right:1px solid var(--border); }
.r-num {
      display:block;
      font-family:var(--serif);
      font-size:3.8rem; font-weight:400;
      color:var(--text); line-height:1; margin-bottom:10px;
    }
.r-src { font-size:0.67rem; letter-spacing:0.16em; text-transform:uppercase; color:var(--muted); }
.t-grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:48px; }
.t-quote-mark {
      font-family:var(--serif);
      font-size:4rem; color:var(--green);
      line-height:0.5; margin-bottom:24px; display:block;
      opacity:0.3;
    }
.t-text {
      font-family:var(--serif);
      font-size:1.12rem; font-style:italic;
      line-height:1.75; color:var(--text); margin-bottom:24px;
    }
.t-author { font-size:0.8rem; font-weight:600; color:var(--green); letter-spacing:0.05em; }
.t-meta { font-size:0.74rem; color:var(--muted); margin-top:3px; font-weight:300; }
.pricing-section { padding:100px 40px; }
.pricing-inner { max-width:640px; margin:0 auto; text-align:center; }
.pricing-inner h2 { margin-bottom:16px; }
.pricing-inner .sub { font-size:1.05rem; color:var(--muted); font-weight:300; line-height:1.8; margin-bottom:52px; }
.pricing-table { margin:0 auto 32px; border-top:1px solid var(--border); }
.p-row { display:grid; grid-template-columns:1fr auto; padding:22px 0; border-bottom:1px solid var(--border); align-items:center; }
.p-label { font-size:0.96rem; color:var(--text); text-align:right; font-weight:400; }
.p-price { font-family:var(--serif); font-size:1.8rem; font-weight:400; color:var(--green); }
.p-note { font-size:0.8rem; color:var(--muted); font-weight:300; font-style:italic; margin-bottom:44px; }
.modal-box { background:#fff; width:100%; max-width:460px; padding:44px 40px; position:relative; max-height:92vh; overflow-y:auto; }
.modal-close { position:absolute; top:16px; left:20px; background:none; border:none; font-size:1.4rem; cursor:pointer; color:var(--muted); line-height:1; }
.modal-title { font-family:var(--serif); font-size:2rem; font-weight:400; color:var(--green); margin-bottom:6px; }
.modal-sub { font-size:0.82rem; color:var(--muted); font-weight:300; margin-bottom:28px; line-height:1.65; }
.form-group { margin-bottom:18px; }
.form-label { display:block; font-size:0.7rem; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; color:var(--muted); margin-bottom:6px; }
.form-control { width:100%; padding:12px 14px; border:1px solid rgba(0,0,0,0.14); font-family:var(--sans); font-size:0.92rem; color:var(--text); background:#fff; transition:border-color 0.2s; appearance:none; }
.form-control:focus { outline:none; border-color:var(--green); }
.form-control.error { border-color:var(--red); }
.form-err { font-size:0.75rem; color:var(--red); margin-top:4px; display:none; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.form-row .form-group { min-width:0; }
.form-row .form-control { min-width:0; font-size:0.82rem; padding:12px 8px; }
.form-submit { width:100%; padding:15px; background:var(--red); color:#fff; border:none; font-family:var(--sans); font-size:0.78rem; font-weight:700; letter-spacing:0.1em; text-transform:uppercase; cursor:pointer; margin-top:8px; transition:background 0.2s; }
.form-submit:hover { background:var(--red-dk); }
.form-submit:disabled { opacity:0.55; cursor:not-allowed; }
.form-success { text-align:center; padding:24px 0; }
.form-success h3 { margin-bottom:10px; }
@media (max-width: 1024px) {
.split { grid-template-columns:1fr; }
.split-img { min-height:420px; }
.split-body { padding:60px 40px; }
.t-grid { grid-template-columns:1fr; gap:40px; text-align:center; }
.t-quote-mark { display:block; text-align:center; }
.activities-grid { grid-template-columns:repeat(2, 1fr); }
}
@media (max-width: 768px) {
.gallery-grid { grid-template-columns:repeat(2, 1fr); }
.g-wide { grid-column:span 1; }
.amenity-panel.active, #t-interior.active, #t-wellness.active { grid-template-columns:1fr 1fr; }
.activities-grid { grid-template-columns:1fr; }
.activities-hdr { text-align:center; }
.activities-hdr p { max-width:100%; }
.act-body { text-align:center; }
.ratings-row { flex-direction:column; gap:0; }
.r-item + .r-item { border-right:none; border-top:1px solid var(--border); padding-top:28px; margin-top:28px; }
.form-row { gap:10px; }
}
@media (max-width: 600px) {
.br-mob { display:inline; }
.feat-section { padding:60px 24px; }
.intro, .amenities-section, .testimonials-section, .pricing-section { padding:72px 24px; }
.activities-section { padding:72px 24px 40px; }
.split-body { padding:48px 24px; text-align:center; }
.specs { text-align:right; }
.specs li { font-size:0.95rem; color:var(--text); }
.specs li i { font-size:1.3rem; }
.amenity-tabs { gap:0; }
.amenity-tab { padding:10px 12px; font-size:0.72rem; }
.amenity-panel.active, #t-wellness.active { display:grid; grid-template-columns:1fr 1fr !important; padding-top:0; }
.a-item { flex-direction:column; align-items:center; text-align:center; border:none; background:transparent; padding:16px 10px; gap:8px; }
.a-item:last-child:nth-child(odd) { grid-column:1 / -1; max-width:50%; margin:0 auto; }
.a-ico { margin-top:0; font-size:1.4rem; }
.a-name { font-size:0.82rem; }
.a-desc { font-size:0.74rem; }
.fullbleed { padding:64px 24px; min-height:360px; }
.p-price { font-size:1.3rem; }
.p-label { font-size:0.85rem; }
.p-note { font-size:0.6rem; }
.t-text { font-size:1.08rem; }
.gallery-grid { grid-template-columns:1fr 1fr; grid-auto-rows:160px; }
.modal-box { padding:32px 20px; }
}

/* ── diferențe față de șablonul comun ── */
@keyframes heroZoom {
      from { transform:scale(1); }
      to   { transform:scale(1.28); }
        url('/wp-content/uploads/2026/07/jacuzzi-wintergarden-grup-prieteni-sampanie-bucegi-vila-elena-cazare-lux-busteni-forest-retreat-villas.webp')
        url('/wp-content/uploads/2026/07/masa-familie-terasa-exterior-padure-bunici-nepoti-vila-elena-cazare-familie-busteni-forest-retreat-villas.webp')
.g-tall { grid-row:auto; }
.gen-section { padding:100px 40px; background:#fff; }
.gen-inner { max-width:1100px; margin:0 auto; }
.gen-hdr { text-align:center; margin-bottom:72px; }
.gen-grid { display:grid; grid-template-columns:repeat(4, 1fr); gap:56px; }
.gen-item { text-align:center; }
.gen-icon {
      width: 48px; height: 48px;
      border: 1px solid var(--border);
      margin: 0 auto 20px;
      color: var(--green); font-size: 1.2rem;
.gen-item h3 { margin-bottom:14px; }
.why-section { background:#fff; padding:100px 40px; }
.why-inner { max-width:1100px; margin:0 auto; }
.why-hdr { max-width:640px; margin-bottom:72px; }
.why-hdr h2 { margin-bottom:20px; }
.why-grid { display:grid; grid-template-columns:1fr 1fr; gap:0; border-top:1px solid var(--border); border-right:1px solid var(--border); }
.why-item { padding:48px 52px; border-left:1px solid var(--border); border-bottom:1px solid var(--border); }
.why-num { font-family:var(--serif); font-size:0.85rem; color:var(--muted); letter-spacing:0.2em; margin-bottom:18px; display:block; }
.why-item h3 { font-style:italic; margin-bottom:16px; }
.why-quote { margin-top:64px; font-family:var(--serif); font-size:1.25rem; font-style:italic; color:var(--muted); border-right:2px solid var(--green); padding-right:24px; }
.why-grid { grid-template-columns:1fr; border-right:none; }
.why-item { border-right:none; padding:36px 0; }
.why-section { padding:72px 24px; }
.why-hdr { text-align:center; }
.why-quote { text-align:right; }
#t-wellness.active { grid-template-columns:repeat(6, 1fr); }
#t-wellness.active .a-item { grid-column:span 2; }
#t-wellness.active .a-item:nth-child(7) { grid-column:2 / 4; }
#t-wellness.active .a-item:nth-child(8) { grid-column:4 / 6; }
.gen-grid { grid-template-columns:repeat(2, 1fr); gap:48px; }
.g-tall { grid-row:auto; }
.gallery-more { grid-template-columns:repeat(3, 1fr); }
.amenity-panel.active, #t-interior.active { grid-template-columns:1fr 1fr; }
.intro-stats { flex-wrap:wrap; }
.istat { border-left:none; border-bottom:1px solid var(--border); padding:20px 0; }
.istat:last-child { border-bottom:none; }
.hero-sub-extra { display:inline; }
.intro, .gen-section, .amenities-section, .testimonials-section, .pricing-section { padding:72px 24px; }
.gen-grid { grid-template-columns:1fr; gap:40px; }
.amenity-panel.active, #t-wellness.active { display:grid; grid-template-columns:1fr 1fr !important; border-right:none; border-top:none; gap:0; padding-top:0; }
#t-wellness.active .a-item { grid-column:auto !important; }
.gallery-more { grid-template-columns:repeat(2, 1fr); }
.gallery-more .g-img { height:140px; }
.modal-price { font-size:1.15rem !important; }

/* Titlul are nevoie de lățime ca să încapă pe două rânduri.
   Textul de sub el rămâne îngust: un rând prea lat obosește ochiul,
   iar recomandarea e 60–75 de caractere. */
.intro-inner p { max-width:68ch; margin-right:auto; margin-left:auto; }
