/* ==========================================================================
   Šebestěnice Commercial Estate — shared stylesheet (CZ / EN / RU / future AR)
   ========================================================================== */

:root{
  --bg-dark:#12151a;
  --bg-dark-2:#1b1f26;
  --gold:#c6a24d;
  --gold-light:#e2c581;
  --text-light:#f5f3ee;
  --text-muted:#c7c9cf;
  --text-dark:#1b1d22;
  --text-body:#3a3d44;
  --surface:#ffffff;
  --surface-alt:#f5f4f0;
  --border:#e4e2da;
  --shadow: 0 10px 30px rgba(18,21,26,.10);
  --radius: 10px;
  --maxw: 1180px;
  font-size: 16px;
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  font-family: -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  color:var(--text-body);
  background:var(--surface);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{
  font-family: Georgia, "Times New Roman", serif;
  color:var(--text-dark);
  line-height:1.2;
  margin:0 0 .5em;
  letter-spacing:.2px;
}
p{ margin:0 0 1em; }
a{ color:inherit; }
img{ max-width:100%; display:block; }
.container{ max-width:var(--maxw); margin:0 auto; padding:0 24px; }
section{ padding:72px 0; }
.section-alt{ background:var(--surface-alt); }
.eyebrow{
  text-transform:uppercase;
  letter-spacing:2px;
  font-size:.78rem;
  font-weight:600;
  color:var(--gold);
  margin-bottom:10px;
  display:block;
}
.section-head{ max-width:720px; margin-bottom:42px; }
[dir="rtl"] .section-head{ margin-inline-start:auto; }

/* ---------- Header ---------- */
.site-header{
  position:sticky; top:0; z-index:50;
  background:rgba(18,21,26,.96);
  color:var(--text-light);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.site-header .container{
  display:flex; align-items:center; justify-content:space-between;
  padding-top:14px; padding-bottom:14px; gap:20px;
}
.brand{
  display:flex; flex-direction:column; line-height:1.15; white-space:nowrap;
}
.brand strong{ font-family:Georgia,serif; font-size:1.15rem; letter-spacing:.5px; }
.brand span{ font-size:.72rem; color:var(--text-muted); letter-spacing:1px; text-transform:uppercase; }
.main-nav{ display:flex; align-items:center; gap:16px; flex:1; flex-wrap:nowrap; min-width:0; }
.main-nav > a{ text-decoration:none; font-size:.85rem; color:var(--text-light); opacity:.8; white-space:nowrap; }
.main-nav > a:hover{ opacity:1; color:var(--gold-light); }

.nav-actions{ display:flex; align-items:center; gap:12px; margin-inline-start:auto; }

.lang-dropdown{ position:relative; }
.lang-current{
  display:flex; align-items:center; gap:7px; font:inherit; cursor:pointer;
  background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.2);
  color:var(--text-light); font-size:.82rem; padding:8px 14px; border-radius:20px;
}
.lang-current:hover{ border-color:rgba(255,255,255,.45); }
.lang-current .caret{ font-size:.6rem; opacity:.7; transition:transform .18s ease; }
.lang-dropdown.open .lang-current .caret{ transform:rotate(180deg); }
.lang-menu{
  position:absolute; top:calc(100% + 10px); inset-inline-start:0; min-width:175px;
  background:#1b1f26; border:1px solid rgba(255,255,255,.14); border-radius:10px;
  box-shadow:0 14px 34px rgba(0,0,0,.4); padding:6px; display:none; z-index:90;
}
.lang-dropdown.open .lang-menu{ display:block; }
.lang-menu a{
  display:flex; align-items:center; gap:10px; padding:9px 12px; border-radius:6px;
  color:var(--text-light); text-decoration:none; font-size:.86rem; opacity:.8;
}
.lang-menu a:hover{ background:rgba(255,255,255,.08); opacity:1; }
.lang-menu a.active{ color:var(--gold-light); font-weight:600; opacity:1; }
.lang-menu a .flag{ font-size:1rem; line-height:1; }

.btn-header{
  background:var(--gold); color:#20180a; padding:10px 20px; border-radius:6px;
  font-size:.86rem; font-weight:700; text-decoration:none; white-space:nowrap;
}
.btn-header:hover{ background:var(--gold-light); }

.nav-toggle{ display:none; }

/* ---------- Hero ---------- */
.hero{
  position:relative;
  color:var(--text-light);
  min-height:78vh;
  display:flex; align-items:flex-end;
  background-size:cover; background-position:center;
  background-color:#20242c;
}
.hero::after{
  content:"";
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(15,17,21,.35) 0%, rgba(12,14,17,.55) 45%, rgba(10,12,15,.92) 100%);
}
.hero-inner{ position:relative; z-index:2; padding-bottom:56px; width:100%; }
.hero .eyebrow{ color:var(--gold-light); }
.hero h1{ color:#fff; font-size:clamp(2rem,4.4vw,3.4rem); max-width:820px; }
.hero-loc{ color:var(--text-muted); font-size:1.05rem; margin-bottom:22px; }
.hero-meta{ display:flex; flex-wrap:wrap; gap:14px 34px; margin:26px 0 30px; }
.hero-meta div strong{ display:block; font-size:1.3rem; color:#fff; font-family:Georgia,serif; }
.hero-meta div span{ font-size:.78rem; color:var(--text-muted); text-transform:uppercase; letter-spacing:.6px; }
.hero-price{
  display:inline-flex; flex-direction:column; gap:2px;
  background:rgba(198,162,77,.14); border:1px solid rgba(198,162,77,.55);
  padding:14px 22px; border-radius:var(--radius); margin-bottom:26px;
}
.hero-price .amount{ font-family:Georgia,serif; font-size:1.9rem; color:var(--gold-light); font-weight:700; }
.hero-price .amount-alt{ font-size:1rem; color:var(--text-muted); }
.hero-cta{ display:flex; gap:14px; flex-wrap:wrap; }

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex; align-items:center; gap:8px;
  padding:13px 26px; border-radius:6px; font-weight:600; font-size:.95rem;
  text-decoration:none; border:1px solid transparent; cursor:pointer;
}
.btn-primary{ background:var(--gold); color:#20180a; }
.btn-primary:hover{ background:var(--gold-light); }
.btn-outline{ border-color:rgba(255,255,255,.55); color:#fff; }
.btn-outline:hover{ border-color:#fff; background:rgba(255,255,255,.08); }
.btn-dark{ background:var(--text-dark); color:#fff; }
.btn-dark:hover{ background:#000; }

/* ---------- Stat strip ---------- */
.stat-strip{
  background:var(--bg-dark-2); color:var(--text-light);
  padding:34px 0;
}
.stat-grid{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:22px; text-align:center;
}
.stat-grid strong{ display:block; font-family:Georgia,serif; font-size:1.5rem; color:var(--gold-light); }
.stat-grid span{ font-size:.78rem; color:var(--text-muted); text-transform:uppercase; letter-spacing:.5px; }

/* ---------- Overview text ---------- */
.overview-grid{ display:grid; grid-template-columns:1.3fr 1fr; gap:56px; align-items:start; }
.overview-grid .lead{ font-size:1.15rem; color:var(--text-dark); }
.fact-list{ list-style:none; margin:0; padding:0; border-top:1px solid var(--border); }
.fact-list li{
  display:flex; justify-content:space-between; gap:16px;
  padding:12px 0; border-bottom:1px solid var(--border); font-size:.95rem;
}
.fact-list li b{ color:var(--text-dark); font-weight:600; text-align:end; }

/* ---------- Cards ---------- */
.card-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:24px; }
.card{
  background:var(--surface); border:1px solid var(--border); border-radius:var(--radius);
  padding:28px; box-shadow:var(--shadow);
}
.card h3{ font-size:1.1rem; display:flex; align-items:center; gap:10px; }
.card .icon{
  width:40px; height:40px; border-radius:50%; background:var(--surface-alt);
  display:flex; align-items:center; justify-content:center; flex:none;
  border:1px solid var(--border); color:var(--gold);
}
.card .icon svg{ width:19px; height:19px; }
.globe svg{ display:block; }
.card ul{ margin:10px 0 0; padding-inline-start:20px; font-size:.92rem; }
.card .card-map{ width:100%; border-radius:8px; margin-bottom:16px; display:block; border:1px solid var(--border); }
.card .map-caption{ font-size:.74rem; color:var(--text-muted); margin:8px 0 0; }
.card ul li{ margin-bottom:6px; }

/* ---------- Buildings table ---------- */
.buildings{ display:flex; flex-direction:column; gap:16px; }
.building-row{
  display:grid; grid-template-columns:210px 1fr 160px; gap:20px; align-items:center;
  background:var(--surface); border:1px solid var(--border); border-radius:var(--radius);
  padding:20px 24px;
}
.building-row h4{ margin:0; font-size:1.05rem; }
.building-row .tag{ font-size:.72rem; text-transform:uppercase; letter-spacing:.5px; color:var(--gold); font-weight:700; }
.building-row ul{ margin:0; padding-inline-start:18px; font-size:.9rem; color:var(--text-body); }
.building-row .area{ text-align:end; }
.building-row .area strong{ font-family:Georgia,serif; font-size:1.4rem; color:var(--text-dark); display:block; }
.building-row .area span{ font-size:.75rem; color:var(--text-muted); text-transform:uppercase; }

/* ---------- Security / advantages list ---------- */
.check-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:14px 30px; list-style:none; padding:0; margin:0; }
.check-grid li{ display:flex; gap:10px; align-items:flex-start; font-size:.95rem; }
.check-grid li::before{ content:"✓"; color:var(--gold); font-weight:700; flex:none; }

/* ---------- Uses tags ---------- */
.tag-cloud{ display:flex; flex-wrap:wrap; gap:10px; }
.tag-cloud span{
  background:var(--surface); border:1px solid var(--border); border-radius:30px;
  padding:9px 18px; font-size:.88rem;
}

/* ---------- Gallery ---------- */
.gallery{ display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.gallery button{
  border:0; padding:0; margin:0; background:none; cursor:zoom-in; overflow:hidden;
  border-radius:8px; aspect-ratio:4/3; position:relative;
}
.gallery img{ width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }
.gallery button:hover img{ transform:scale(1.06); }

.lightbox{
  position:fixed; inset:0; background:rgba(10,11,14,.94); z-index:200;
  display:none; align-items:center; justify-content:center; padding:30px;
}
.lightbox.open{ display:flex; }
.lightbox img{ max-height:88vh; max-width:92vw; border-radius:6px; }
.lightbox-close{
  position:absolute; top:22px; inset-inline-end:28px; color:#fff; font-size:1.8rem;
  background:none; border:0; cursor:pointer; line-height:1;
}
.lightbox-nav{
  position:absolute; top:50%; transform:translateY(-50%);
  background:rgba(255,255,255,.12); color:#fff; border:0; width:48px; height:48px;
  border-radius:50%; font-size:1.4rem; cursor:pointer;
}
.lightbox-prev{ inset-inline-start:20px; }
.lightbox-next{ inset-inline-end:20px; }

/* ---------- Contact ---------- */
.contact-wrap{ display:grid; grid-template-columns:1fr 1fr; gap:56px; }
.contact-info .item{ margin-bottom:22px; }
.contact-info .item span{ display:block; font-size:.78rem; text-transform:uppercase; letter-spacing:.6px; color:var(--text-muted); margin-bottom:4px; }
.contact-info .item a, .contact-info .item strong{ font-size:1.05rem; color:var(--text-dark); text-decoration:none; }
.contact-info .item a:hover{ color:var(--gold); }
.item-note{ font-size:.82rem; color:var(--text-muted); margin:4px 0 0; }
.contact-note{
  background:var(--surface-alt); border:1px solid var(--border); border-radius:var(--radius);
  padding:16px 18px; font-size:.85rem; color:var(--text-muted); margin-top:18px;
}
form{ display:grid; gap:14px; }
.form-row{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
label{ font-size:.82rem; font-weight:600; color:var(--text-dark); margin-bottom:5px; display:block; }
input, textarea, select{
  width:100%; padding:12px 14px; border:1px solid var(--border); border-radius:6px;
  font-family:inherit; font-size:.95rem; background:#fff;
}
textarea{ min-height:110px; resize:vertical; }
.form-disclaimer{ font-size:.78rem; color:var(--text-muted); }

/* ---------- Footer ---------- */
footer{ background:var(--bg-dark); color:var(--text-muted); padding:40px 0; font-size:.85rem; }
footer .container{ display:flex; justify-content:space-between; flex-wrap:wrap; gap:16px; align-items:center; }
footer a{ color:var(--text-muted); text-decoration:none; }
footer a:hover{ color:var(--gold-light); }

/* ---------- Sticky CTA (mobile) ---------- */
.sticky-cta{
  position:fixed; bottom:0; inset-inline:0; z-index:60; display:none;
  background:var(--bg-dark); padding:12px 16px; gap:10px;
  box-shadow:0 -6px 20px rgba(0,0,0,.25);
}

/* ---------- Responsive ---------- */
@media (max-width: 1024px){
  .overview-grid, .contact-wrap{ grid-template-columns:1fr; }
  .building-row{ grid-template-columns:1fr; }
  .building-row .area{ text-align:start; display:flex; align-items:baseline; gap:10px; }
  .gallery{ grid-template-columns:repeat(2,1fr); }
  .main-nav{ display:none; }
  .nav-toggle{ display:inline-flex; background:none; border:1px solid rgba(255,255,255,.4); color:#fff; padding:8px 12px; border-radius:6px; }
  .site-header.nav-open .main-nav{
    display:flex; position:absolute; top:100%; inset-inline:0; background:var(--bg-dark);
    flex-direction:column; align-items:stretch; padding:18px 24px 24px; gap:16px;
    border-top:1px solid rgba(255,255,255,.08); max-height:calc(100vh - 64px); overflow-y:auto;
  }
  .nav-actions{
    margin-inline-start:0; flex-direction:column; align-items:stretch; gap:12px;
    padding-top:14px; border-top:1px solid rgba(255,255,255,.12);
  }
  .lang-current{ justify-content:center; }
  .lang-menu{ position:static; display:block; box-shadow:none; margin-top:8px; }
  .lang-dropdown:not(.open) .lang-menu{ display:none; }
  .btn-header{ text-align:center; }
  .sticky-cta{ display:flex; }
  section{ padding:52px 0; }
}
@media (max-width: 560px){
  .gallery{ grid-template-columns:repeat(2,1fr); }
  .form-row{ grid-template-columns:1fr; }
  .hero-meta{ gap:14px 22px; }
}

/* ---------- RTL (Arabic) ---------- */
[dir="rtl"] h1, [dir="rtl"] h2, [dir="rtl"] h3, [dir="rtl"] h4{
  font-family: "Segoe UI", Tahoma, Arial, sans-serif;
}
