:root{
  --spruce-950:#182720;
  --spruce-800:#25392e;
  --spruce-600:#3d5a48;
  --stone-100:#ddc7a4;
  --stone-50:#e7d4b0;
  --wood-600:#8a5a3c;
  --wood-700:#6e4630;
  --ember-500:#b5602f;
  --ember-600:#9a4f26;
  --ink:#20241f;
  --paper:#ecdec2;
  --line:#d8d2c2;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  background:var(--paper);
  color:var(--ink);
  font-family:'Work Sans', sans-serif;
  font-size:17px;
  line-height:1.6;
}
h1,h2,h3,.disp{
  font-family:'Fraunces', serif;
  font-weight:500;
  letter-spacing:-0.01em;
  color:var(--spruce-950);
}
a{color:inherit;}
img{max-width:100%;display:block;}
.wrap{max-width:1180px;margin:0 auto;padding:0 32px;}
@media(max-width:640px){.wrap{padding:0 20px;}}

/* header */
header{
  position:sticky;top:0;z-index:50;
  background:rgba(250,247,240,0.92);
  backdrop-filter:blur(6px);
  border-bottom:1px solid var(--line);
}
.nav{display:flex;align-items:center;justify-content:space-between;padding:18px 0;}
.logo{font-family:'Fraunces',serif;font-size:22px;font-weight:600;color:var(--spruce-950);}
.logo span{color:var(--ember-500);}
nav.links{display:flex;gap:28px;font-size:15px;}
nav.links a{text-decoration:none;color:var(--spruce-800);border-bottom:1px solid transparent;padding-bottom:2px;transition:border-color .15s;}
nav.links a:hover{border-color:var(--ember-500);}
@media(max-width:760px){nav.links{display:none;}}

/* hero */
.hero{
  display:grid;
  grid-template-columns:1.15fr 0.85fr;
  align-items:stretch;
  min-height:640px;
  border-bottom:1px solid var(--line);
}
@media(max-width:900px){.hero{grid-template-columns:1fr;min-height:auto;}}
.hero-text{
  display:flex;flex-direction:column;justify-content:center;
  padding:72px 56px 72px 32px;
  max-width:640px;
}
@media(max-width:900px){.hero-text{padding:56px 24px;max-width:100%;}}
.hero-eyebrow{
  font-size:15px;color:var(--wood-600);margin-bottom:18px;
}
.hero h1{
  font-size:clamp(38px,5vw,58px);
  line-height:1.06;
  margin-bottom:26px;
}
.hero p.lead{
  font-size:19px;color:var(--spruce-800);max-width:480px;margin-bottom:36px;
}
.cta-row{display:flex;gap:14px;flex-wrap:wrap;}
.btn{
  display:inline-block;
  padding:14px 28px;
  font-size:15px;
  text-decoration:none;
  border-radius:2px;
  transition:background .15s, color .15s, border-color .15s;
}
.btn-primary{background:var(--spruce-950);color:var(--stone-50);}
.btn-primary:hover{background:var(--ember-600);}
.btn-ghost{border:1px solid var(--spruce-950);color:var(--spruce-950);}
.btn-ghost:hover{border-color:var(--ember-500);color:var(--ember-500);}

.hero-photo{
  position:relative;
  background:linear-gradient(155deg,#2c4235,#1c2b22 65%);
  display:flex;align-items:flex-end;
  min-height:360px;
  overflow:hidden;
}
.hero-photo img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
}
.hero-photo .ph-label{
  position:relative;z-index:1;
  color:#cfd8c9;font-size:13px;padding:20px;
  background:rgba(0,0,0,0.18);width:100%;
}
.hero-photo::before{
  content:"";position:absolute;inset:0;
  background-image:
    repeating-linear-gradient(115deg, rgba(255,255,255,0.035) 0 2px, transparent 2px 26px);
}

/* section shell */
section{padding:88px 0;}
.section-head{max-width:620px;margin-bottom:56px;}
.section-head .kicker{color:var(--wood-600);font-size:15px;margin-bottom:12px;}
.section-head h2{font-size:clamp(28px,3.4vw,38px);line-height:1.15;}
.section-head p{color:var(--spruce-800);margin-top:16px;font-size:17px;}

hr.divider{border:none;border-top:1px solid var(--line);}

.price-bar{
  background:var(--spruce-950);color:var(--stone-50);
  padding:20px 0;
}
.price-bar .wrap{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;text-align:center;}
.price-bar b{font-family:'Fraunces',serif;font-weight:600;font-size:19px;}
.price-bar span.sep{opacity:0.6;}

.badge{
  display:inline-block;font-size:13px;color:var(--ember-600);
  border:1px solid var(--ember-500);padding:4px 12px;border-radius:2px;
  margin-bottom:10px;
}

/* intro / about */
#o-nas{background:var(--stone-100);}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;}
@media(max-width:900px){.about-grid{grid-template-columns:1fr;gap:32px;}}
.about-grid img,.ph-box{width:100%;}
.ph-box{
  aspect-ratio:4/3;background:var(--spruce-600);
  display:flex;align-items:flex-end;
  border:1px solid var(--wood-700);
  overflow:hidden;position:relative;
}
.ph-box img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.ph-box .ph-label{position:relative;z-index:1;color:#e7e2d5;font-size:13px;padding:16px;background:rgba(0,0,0,0.2);width:100%;}
.about-grid p{color:var(--spruce-800);margin-top:16px;}
.facts{display:flex;gap:36px;margin-top:32px;flex-wrap:wrap;}
.fact b{display:block;font-family:'Fraunces',serif;font-size:26px;color:var(--spruce-950);}
.fact span{font-size:14px;color:var(--wood-600);}

/* apartments */
#apartmany{background:var(--paper);}
.apt{
  display:grid;grid-template-columns:1.1fr 1fr;gap:56px;align-items:center;
  padding:56px 0;
}
.apt:not(:last-child){border-bottom:1px solid var(--line);}
.apt.reverse{grid-template-columns:1fr 1.1fr;}
.apt.reverse .apt-photos{order:2;}
@media(max-width:900px){
  .apt,.apt.reverse{grid-template-columns:1fr;gap:28px;}
  .apt.reverse .apt-photos{order:0;}
}
.apt-photos{display:grid;grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr;gap:8px;height:340px;}
.apt-photos .ph-box{height:100%;aspect-ratio:auto;}
.apt-photos .big{grid-row:1/3;}

.real-gallery{
  display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:170px;grid-auto-flow:dense;
  gap:8px;
}
.real-gallery img{width:100%;height:100%;object-fit:cover;display:block;border:1px solid var(--line);}
.real-gallery .g-main{grid-column:span 2;grid-row:span 2;}
@media(max-width:900px){
  .real-gallery{grid-template-columns:repeat(2,1fr);grid-auto-rows:auto;}
  .real-gallery .g-main{grid-column:1/3;grid-row:auto;aspect-ratio:4/3;}
  .real-gallery img:not(.g-main){aspect-ratio:1/1;}
}
.apt-name{font-size:clamp(24px,2.6vw,30px);margin-bottom:6px;}
.apt-meta{color:var(--wood-600);font-size:15px;margin-bottom:18px;}
.apt-desc{color:var(--spruce-800);margin-bottom:20px;}
.amenities{display:flex;flex-wrap:wrap;gap:8px 10px;list-style:none;margin-bottom:22px;}
.amenities li{
  font-size:13.5px;color:var(--spruce-800);
  border:1px solid var(--line);padding:6px 12px;border-radius:2px;
}
.apt a.detail{
  font-size:15px;color:var(--ember-600);text-decoration:none;border-bottom:1px solid var(--ember-500);padding-bottom:2px;
}

/* location */
#okoli{background:var(--spruce-950);color:var(--stone-50);}
#okoli .section-head h2, #okoli .section-head .kicker{color:var(--stone-50);}
#okoli .section-head .kicker{color:#a9c1af;}
#okoli .section-head p{color:#c9d3c5;}
.okoli-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;}
@media(max-width:760px){.okoli-grid{grid-template-columns:1fr;}}
.okoli-item{border-top:1px solid rgba(255,255,255,0.18);padding-top:20px;}
.okoli-item b{display:block;font-family:'Fraunces',serif;font-size:19px;margin-bottom:8px;}
.okoli-item p{color:#c9d3c5;font-size:15.5px;}
.snow-note{
  margin-top:48px;padding:22px 26px;border-left:3px solid var(--ember-500);
  background:rgba(181,96,47,0.12);font-size:15.5px;color:#e9e4d6;
  max-width:720px;
}

/* contact */
#kontakt{background:var(--stone-100);}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;}
@media(max-width:900px){.contact-grid{grid-template-columns:1fr;gap:40px;}}
.contact-list{list-style:none;}
.contact-list li{padding:16px 0;border-bottom:1px solid var(--line);font-size:16px;}
.contact-list li span{display:block;color:var(--wood-600);font-size:13.5px;margin-bottom:4px;}
.contact-list li a{text-decoration:none;color:var(--spruce-950);}
form{display:flex;flex-direction:column;gap:14px;}
form label{font-size:13.5px;color:var(--wood-600);}
form input,form textarea{
  width:100%;padding:12px 14px;border:1px solid var(--line);
  background:var(--paper);font-family:inherit;font-size:15px;border-radius:2px;
}
form textarea{min-height:110px;resize:vertical;}
form button{
  align-self:flex-start;margin-top:6px;
  background:var(--spruce-950);color:var(--stone-50);
  border:none;padding:14px 30px;font-size:15px;cursor:pointer;border-radius:2px;
}
form button:hover{background:var(--ember-600);}

footer{
  padding:36px 0;border-top:1px solid var(--line);
  font-size:13.5px;color:var(--wood-600);
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;
}
/* ===== Skrytí vestavěné šablony inPage (AURORA) ===== */
#header,
#motive,
.container--article > .container__title,
.container--article > h1:first-child {
  display: none !important;
}
body.frontend {
  padding-top: 0 !important;
  margin-top: 0 !important;
}
.container--article {
  padding: 0 !important;
  margin: 0 !important;
  max-width: none !important;
  width: 100% !important;
  background: var(--paper) !important;
}
#main, .main {
  background: var(--paper) !important;
}

/* ===== Posílení vlastního vzhledu proti výchozímu stylu šablony ===== */
body {
  background: var(--paper) !important;
  color: var(--ink) !important;
  font-family: 'Work Sans', sans-serif !important;
}
h1, h2, h3, .disp {
  font-family: 'Fraunces', serif !important;
  color: var(--spruce-950) !important;
}
#okoli .section-head h2, #okoli .section-head .kicker { color: var(--stone-50) !important; }

.amenities {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px 10px !important;
  list-style: none !important;
  margin: 0 0 22px 0 !important;
  padding: 0 !important;
}
.amenities li {
  font-size: 13.5px !important;
  color: var(--spruce-800) !important;
  border: 1px solid var(--line) !important;
  padding: 6px 12px !important;
  border-radius: 2px !important;
  background: transparent !important;
  list-style: none !important;
  margin: 0 !important;
}
.apt-desc { color: var(--spruce-800) !important; margin-bottom: 20px !important; }
.apt-meta { color: var(--wood-600) !important; margin-bottom: 18px !important; }
.apt-name { margin-bottom: 6px !important; }

#o-nas, .price-bar, #okoli, #kontakt { background-color: initial; }
#o-nas { background: var(--stone-100) !important; }
.price-bar { background: var(--spruce-950) !important; color: var(--stone-50) !important; }
#okoli { background: var(--spruce-950) !important; color: var(--stone-50) !important; }
#kontakt { background: var(--stone-100) !important; }

.btn-primary { background: var(--spruce-950) !important; color: var(--stone-50) !important; }
.btn-ghost { border: 1px solid var(--spruce-950) !important; color: var(--spruce-950) !important; }
