:root{--bg:#f4f0e8;--text:#1f1f1f;--dark:#121212;--card:#fff;--muted:#6d6d6d;--line:#e5ddd2;--soft:#faf7f1;--accent:#b49461;--blocked:#e9e4dc}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--bg);color:var(--text)}a{text-decoration:none;color:inherit}button{font:inherit}.topbar{position:fixed;top:0;left:0;right:0;z-index:60;display:flex;justify-content:space-between;align-items:center;padding:16px 24px;background:rgba(0,0,0,.32);backdrop-filter:blur(8px);color:#fff}.topbar nav{display:flex;gap:18px}.brand{font-weight:700;letter-spacing:.08em;text-transform:uppercase}.brand span{display:block;font-size:12px;font-weight:400;opacity:.8}.langs{display:flex;gap:10px}.hero{position:relative;min-height:92vh;overflow:hidden;color:#fff}.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.72),rgba(0,0,0,.24),transparent)}.hero-inner{position:relative;z-index:2;max-width:1100px;margin:0 auto;padding:140px 24px 210px}.eyebrow{display:inline-block;border:1px solid rgba(255,255,255,.4);border-radius:999px;padding:8px 14px;font-size:11px;text-transform:uppercase;letter-spacing:.2em;background:rgba(255,255,255,.08)}.hero h1{font-size:64px;line-height:1.05;max-width:900px;margin:18px 0}.hero p{font-size:20px;line-height:1.6;max-width:760px}.hero-actions{display:flex;gap:12px;margin-top:24px}.booking-bar{position:absolute;left:50%;transform:translateX(-50%);bottom:32px;z-index:3;background:rgba(255,255,255,.96);border-radius:24px;display:grid;gap:14px;padding:16px 18px;box-shadow:0 18px 60px rgba(0,0,0,.18);width:min(1180px,94%)}.booking-bar-cta{grid-template-columns:1fr auto;align-items:center}.booking-bar-copy strong{display:block;font-size:18px;color:#111;margin-bottom:6px}.booking-bar-copy span{display:block;color:var(--muted);line-height:1.5}.sticky-booking{position:fixed;left:0;right:0;bottom:14px;z-index:55;display:flex;justify-content:center}.sticky-booking.show{display:flex}.sticky-booking-link{display:inline-flex;align-items:center;justify-content:center;padding:14px 22px;border-radius:999px;background:#111;color:#fff;box-shadow:0 12px 34px rgba(0,0,0,.22)}input,textarea,select{font:inherit;width:100%;padding:12px 14px;border:1px solid #ddd;border-radius:14px;background:#fff}input[readonly]{background:#fafafa;color:#555}textarea{min-height:130px;resize:vertical}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:13px 20px;border:1px solid transparent;font-weight:700;cursor:pointer}.btn-light{background:#fff;color:#111}.btn-outline{border-color:rgba(255,255,255,.55);color:#fff;background:transparent}.btn-dark{background:#111;color:#fff;border-radius:16px}.btn-block{width:100%}.section{max-width:1200px;margin:0 auto;padding:90px 24px}.section h2{font-size:42px;margin:0 0 12px}.section p{line-height:1.7}.section-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;margin-bottom:26px}.two-col,.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:start}.feature-list{display:grid;gap:14px;margin-top:24px}.feature-list div,.panel .row,.review{background:#fff;border-radius:18px;padding:16px}.image-stack{display:grid;grid-template-columns:1fr 1fr;gap:14px}.image-stack img{width:100%;height:290px;object-fit:cover;border-radius:28px}.image-stack img:last-child{grid-column:1/-1;height:340px}.gallery-section{padding-bottom:30px}.gallery-filters{display:flex;flex-wrap:wrap;gap:10px}.gallery-filter{border:1px solid var(--line);background:#fff;padding:12px 16px;border-radius:999px;cursor:pointer}.gallery-filter.is-active{background:#111;color:#fff;border-color:#111}.gallery-panel{display:none}.gallery-panel.is-active{display:block}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:24px}.gallery-grid-large{grid-template-columns:repeat(3,1fr)}.gallery-card{background:#fff;border-radius:28px;overflow:hidden;margin:0;box-shadow:0 6px 24px rgba(0,0,0,.05)}.gallery-card img{width:100%;height:260px;object-fit:cover;display:block}.gallery-card figcaption{padding:16px;line-height:1.5;color:#555}.gallery-open{display:block;padding:0;border:0;background:none;cursor:pointer;width:100%}.alt{background:#fff;max-width:none}.panel{background:#fff;border-radius:28px;padding:24px;box-shadow:0 6px 24px rgba(0,0,0,.06)}.panel .row{display:flex;justify-content:space-between;margin-bottom:10px}.compact-row{padding:12px 0;border-radius:0;background:transparent;border-bottom:1px solid var(--line)}.availability-wrap{padding:90px 0}.availability-shell{max-width:1200px;margin:0 auto;padding:0 24px}.availability-header{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;margin-bottom:26px}.availability-legend{display:flex;flex-wrap:wrap;gap:18px;color:#555}.availability-legend span{display:inline-flex;align-items:center;gap:8px}.legend-swatch{display:inline-block;width:14px;height:14px;border-radius:4px;background:#d7d7d7}.legend-swatch.is-available{background:#fff;border:1px solid var(--line)}.legend-swatch.is-blocked{background:var(--blocked)}.legend-swatch.is-selected{background:rgba(180,148,97,.24);border:1px solid rgba(180,148,97,.6)}.availability-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,.9fr);gap:24px;align-items:start}.calendar-panel,.booking-panel{background:var(--soft)}.calendar-toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:20px}.calendar-nav{width:42px;height:42px;border-radius:999px;border:1px solid var(--line);background:#fff;cursor:pointer;font-size:24px;line-height:1}.calendar-subtitle{margin-top:4px;color:#666;font-size:14px}.calendar-months{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.calendar-month h4{margin:0 0 12px;font-size:20px}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.calendar-weekdays span{font-size:12px;text-transform:uppercase;color:#666;padding:0 2px}.calendar-spacer{min-height:86px}.calendar-day{border:1px solid var(--line);background:#fff;border-radius:18px;min-height:86px;padding:10px 8px;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.calendar-day:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 24px rgba(0,0,0,.06)}.calendar-day.is-today{border-color:var(--accent)}.calendar-day.is-blocked{background:var(--blocked);color:#999;cursor:not-allowed}.calendar-day.is-in-range,.calendar-day.is-checkin,.calendar-day.is-checkout{background:rgba(180,148,97,.16);border-color:rgba(180,148,97,.65)}.calendar-date{font-weight:700}.calendar-price{font-size:12px;color:#666}.calendar-day.is-blocked .calendar-price{display:none}.booking-intro h3{margin:0 0 8px;font-size:28px}.booking-intro p{margin:0;color:#666}.booking-summary{margin:20px 0 24px;background:#fff;border:1px solid var(--line);border-radius:24px;padding:18px}.summary-empty{color:#666;margin-bottom:16px}.summary-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-bottom:18px}.summary-grid span{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#666;margin-bottom:5px}.summary-grid strong{font-size:16px}.summary-line-items{display:grid;gap:10px}.line-item{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}.line-item.muted{color:#666}.summary-total{display:flex;justify-content:space-between;align-items:center;padding-top:18px;margin-top:8px;font-size:18px}.booking-form{display:grid;gap:16px}.field-row{display:grid;gap:14px}.field-row.two-up{grid-template-columns:1fr 1fr}.field-row label span{display:block;margin-bottom:8px;font-size:14px;color:#555}.season-panel{margin-top:24px}.season-panel h4{margin:0 0 12px;font-size:18px}.dark{background:#151515;color:#fff;max-width:none}.dark .grid-2{max-width:1200px;margin:0 auto}.reviews{display:grid;gap:14px}.review{background:rgba(255,255,255,.08);color:#fff}.captcha-line{display:grid;gap:8px;margin:12px 0}.footer{display:flex;justify-content:space-between;gap:20px;padding:26px 24px;border-top:1px solid #ddd;max-width:1200px;margin:0 auto 20px;color:#666}.center{text-align:center}.narrow{max-width:800px}.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.82);display:none;align-items:center;justify-content:center;z-index:100;padding:24px}.lightbox.is-open{display:flex}.lightbox-inner{max-width:min(1100px,100%);text-align:center}.lightbox img{max-width:100%;max-height:78vh;border-radius:20px;display:block;margin:0 auto 16px}.lightbox p{margin:0;color:#fff}.lightbox-close{position:absolute;top:24px;right:24px;border:0;background:#fff;color:#111;width:46px;height:46px;border-radius:999px;font-size:30px;cursor:pointer}@media (max-width:1100px){.hero h1{font-size:52px}.calendar-months{grid-template-columns:1fr}.availability-layout{grid-template-columns:1fr}}@media (max-width:900px){.topbar nav{display:none}.hero{min-height:auto}.hero h1{font-size:40px}.hero-inner{padding-bottom:30px}.booking-bar,.booking-bar-cta{grid-template-columns:1fr;position:static;transform:none;width:auto;margin:24px}.section-head,.availability-header,.two-col,.grid-2,.gallery-grid,.gallery-grid-large,.field-row.two-up{grid-template-columns:1fr;display:grid}.availability-legend{gap:12px}.image-stack{grid-template-columns:1fr}.image-stack img,.image-stack img:last-child{height:240px}.footer{flex-direction:column}.calendar-weekdays span{font-size:11px}.calendar-day,.calendar-spacer{min-height:72px}.summary-grid{grid-template-columns:1fr 1fr}}@media (max-width:640px){.topbar{padding:14px 16px}.section{padding:72px 16px}.availability-shell{padding:0 16px}.hero-inner{padding:124px 16px 20px}.hero p{font-size:18px}.gallery-card img{height:220px}.summary-grid{grid-template-columns:1fr}.lightbox{padding:18px}.lightbox-close{top:14px;right:14px}}
body {
  font-family: 'Raleway', Arial, sans-serif;
}

h1, h2, h3, h4, .eyebrow, .section-head h2, .hero h1 {
  font-family: 'Cormorant Garamond', serif;
}

.hero h1 {
  font-size: clamp(3rem, 6vw, 5.5rem);
  line-height: 0.95;
  letter-spacing: 0.01em;
  font-weight: 600;
}

h2 {
  font-size: clamp(2.1rem, 4vw, 3.2rem);
  line-height: 1.05;
  font-weight: 600;
}

h3, h4 {
  font-weight: 600;
}

body, p, li, input, textarea, select, button, .btn, .admin-nav a {
  font-family: 'Raleway', Arial, sans-serif;
}

p, li, input, textarea, select {
  line-height: 1.7;
  letter-spacing: 0.01em;
}

.btn {
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  font-size: 0.92rem;
}

.hero .eyebrow {
  font-size: 1.1rem;
  letter-spacing: 0.06em;
  font-weight: 500;
}

.admin-body,
.admin-wrap,
.admin-panel,
.admin-nav,
.admin-card-grid,
.admin-actions-row,
.admin-form-grid,
.admin-form-inline {
  font-family: 'Raleway', Arial, sans-serif;
}
#location {
  background-color: #b49461;
  color: #fff;
}
.btn {
  background-color: #b49461;
  color: #ffffff;
  border: none;
}

.btn:hover {
  background-color: #a3834f;
}
.btn {
  border-radius: 999px;
  padding: 12px 22px;
  letter-spacing: 0.04em;
  transition: all 0.25s ease;
}

.btn:hover {
  transform: translateY(-1px);
}
.topbar {
  background-color: #b49461;
}
.topbar {
  position: sticky;
  top: 0;
  z-index: 1000;
  background: linear-gradient(135deg, #b49461, #a3834f);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.08);
  border-bottom: 1px solid rgba(255, 255, 255, 0.18);
  backdrop-filter: blur(6px);
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 28px;
  padding: 16px 28px;
}

.topbar,
.topbar a {
  color: #ffffff;
}

.topbar a {
  text-decoration: none;
  transition: opacity 0.25s ease, transform 0.25s ease, background-color 0.25s ease;
}

.topbar a:hover {
  opacity: 0.9;
  transform: translateY(-1px);
}

.brand {
  display: inline-flex;
  flex-direction: column;
  line-height: 1;
  font-family: 'Cormorant Garamond', serif;
  font-size: 2rem;
  font-weight: 600;
  letter-spacing: 0.03em;
  white-space: nowrap;
}

.brand span {
  font-family: 'Raleway', Arial, sans-serif;
  font-size: 0.78rem;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  opacity: 0.92;
  margin-top: 6px;
}

.topbar nav {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 26px;
  flex-wrap: wrap;
}

.topbar nav a {
  font-family: 'Raleway', Arial, sans-serif;
  font-size: 0.95rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  position: relative;
}

.topbar nav a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 1px;
  background: rgba(255, 255, 255, 0.85);
  transform: scaleX(0);
  transform-origin: center;
  transition: transform 0.25s ease;
}

.topbar nav a:hover::after {
  transform: scaleX(1);
}

.langs {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.langs a {
  font-family: 'Raleway', Arial, sans-serif;
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 7px 10px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.28);
  line-height: 1;
}

.langs a:hover {
  background: rgba(255, 255, 255, 0.12);
}

.langs a[href="/?lang=en"],
.langs a[href="/?lang=ru"],
.langs a[href="/?lang=tr"] {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

@media (max-width: 700px) {
  .topbar {
    position: sticky;
    top: 0;
    z-index: 1000;
    grid-template-columns: 1fr;
    justify-items: center;
    text-align: center;
    gap: 10px;
    padding: 14px 12px 12px;
  }

  .brand {
    font-size: 1.42rem;
    text-align: center;
    max-width: 100%;
  }

  .brand span {
    font-size: 0.62rem;
    letter-spacing: 0.1em;
    margin-top: 3px;
  }

  .langs {
    position: absolute;
    top: 8px;
    right: 10px;
    display: inline-flex;
    gap: 4px;
    flex-wrap: nowrap;
  }

  .langs a {
    padding: 4px 6px;
    font-size: 0.62rem;
    line-height: 1;
    min-width: 24px;
    text-align: center;
  }

  .topbar nav {
    justify-content: center;
    gap: 10px 12px;
    max-width: 100%;
  }

  .topbar nav a {
    font-size: 0.76rem;
    letter-spacing: 0.03em;
  }

  .topbar nav a::after {
    bottom: -4px;
  }
}
.facilities-section {
  background: #f7f4ef;
  text-align: center;
}

.facilities-intro {
  max-width: 860px;
  margin: 0 auto 56px;
}

.section-kicker {
  display: inline-block;
  margin-bottom: 14px;
  font-size: 0.82rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #b49461;
}

.facilities-intro h2 {
  margin: 0 0 18px;
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(2.4rem, 5vw, 4.4rem);
  line-height: 1;
  font-weight: 500;
  color: #1f1a17;
}

.facilities-intro p {
  margin: 0 auto;
  max-width: 760px;
  font-size: 1.08rem;
  line-height: 1.8;
  color: #7b6e5f;
}

.facilities-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 48px 36px;
  align-items: start;
}

.facility-card {
  text-align: center;
}

.facility-icon {
  width: 74px;
  height: 74px;
  margin: 0 auto 20px;
  border-radius: 50%;
  border: 1px solid rgba(180, 148, 97, 0.35);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.8rem;
  color: #b49461;
  background: rgba(255, 255, 255, 0.5);
}

.facility-card h3 {
  margin: 0 0 10px;
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.9rem;
  font-weight: 500;
  color: #1f1a17;
}

.facility-card p {
  margin: 0 auto;
  max-width: 330px;
  color: #7b6e5f;
  line-height: 1.7;
  font-size: 1rem;
}

@media (max-width: 900px) {
  .facilities-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 34px 24px;
  }
}

@media (max-width: 640px) {
  .facilities-grid {
    grid-template-columns: 1fr;
  }

  .facilities-intro {
    margin-bottom: 40px;
  }
}
<section id="facilities" class="section facilities-section">
  <div class="facilities-intro">
    <span class="section-kicker"><?= h(content_value($content['facilities_intro_kicker'] ?? '', $lang)) ?></span>
    <h2><?= h(content_value($content['facilities_intro_title'] ?? '', $lang)) ?></h2>
    <p><?= h(content_value($content['facilities_intro_text'] ?? '', $lang)) ?></p>
  </div>

  <div class="facilities-grid">
    <?php foreach (($content['facilities'] ?? []) as $facility): ?>
      <div class="facility-card">
        <div class="facility-icon"><?= facility_icon_svg($facility['icon'] ?? 'sparkle'); ?></div>
        <h3><?= h(content_value($facility['title'] ?? '', $lang)) ?></h3>
        <p><?= h(content_value($facility['text'] ?? '', $lang)) ?></p>
      </div>
    <?php endforeach; ?>
  </div>
</section>
.booking-bar-cta {
  display: flex;
  justify-content: center;
  align-items: center;
}

.booking-bar-copy {
  text-align: center;
  max-width: 760px;
}
.booking-bar-cta {
  display: flex;
  justify-content: center;
  align-items: center;
}

.booking-bar-copy {
  text-align: center;
  max-width: 760px;
}