@charset "UTF-8";
/* =========================================================================
   Pešava & partners — homepage
   Ruční přepis podle pesavapartners.cz (desktop 1440 px).
   Všechny hodnoty jsou odečtené z originálu (computed styles + geometrie).
   ========================================================================= */

/* ---------- ikonový font (převzatý z původního webu) ---------- */
@font-face {
  font-family: 'dreamhome';
  src: url('../fonts/dreamhome.woff') format('woff'),
       url('../fonts/dreamhome.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
  font-display: block;
}
[class^="icon-dreamhome-"], [class*=" icon-dreamhome-"] {
  font-family: 'dreamhome' !important;
  font-style: normal; font-weight: normal; font-variant: normal;
  text-transform: none; line-height: 1;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
}
.icon-dreamhome-phone-call:before { content: "\e900"; }
.icon-dreamhome-phone:before      { content: "\e901"; }
.icon-dreamhome-price-house:before{ content: "\e905"; }
.icon-dreamhome-folder:before     { content: "\e910"; }
.icon-dreamhome-sale:before       { content: "\e919"; }
.icon-dreamhome-phone-cal:before  { content: "\e91a"; }
.icon-dreamhome-mail2:before      { content: "\e91b"; }
.icon-dreamhome-check:before      { content: "\e91d"; }
.icon-dreamhome-instagram:before  { content: "\e939"; }
.icon-dreamhome-facebook:before   { content: "\e93a"; }
.icon-dreamhome-linkedin2:before  { content: "\e93b"; }
.icon-dreamhome-twitter:before    { content: "\e936"; }
.icon-dreamhome-email:before      { content: "\e945"; }
.icon-dreamhome-arrow-right:before{ content: "\e94b"; }
.icon-dreamhome-office:before     { content: "\e94f"; }
.icon-dreamhome-money:before      { content: "\e955"; }

/* ---------- tokeny ---------- */
:root {
  --navy:      #003153;   /* zůstává pro ikony, focus a hover pozadí */
  --navy-link: #004d6c;
  --hover:     #5a5a5f;   /* hover místo modré, aby zůstal viditelný */
  --sand:      #d8c3a5;
  --cream:     #faf3e0;
  --cream-hero:#f3edd9;
  --grey-bg:   #f6f6f5;
  --box-cream: #fff5e0;
  --ink:       #1c1c1e;
  --black:     #000;
  --body:      #3a3a3c;
  --muted:     #8e8e93;
  --line:      #efefef;
  --field:     #e5e5ea;
  --white:     #fff;

  --font-head: 'Poppins', sans-serif;
  --font-ui:   'Inter', sans-serif;
  --font-list: 'Mulish', sans-serif;
}

/* ---------- reset ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  font-family: var(--font-head);
  font-size: 14px;
  line-height: 21px;
  color: var(--body);
  background: var(--white);
  -webkit-font-smoothing: antialiased;
}
img, video { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
button { font: inherit; }
h1, h2, h3, h4, h5, h6, p, blockquote, figure, ul { margin: 0; }
ul { padding: 0; list-style: none; }

.sr-only, .skip-link {
  position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden;
  clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
.skip-link:focus {
  position: fixed; top: 10px; left: 10px; z-index: 2000;
  width: auto; height: auto; clip: auto; padding: 10px 16px;
  background: var(--navy); color: #fff; border-radius: 8px;
}
:focus-visible { outline: 2px solid var(--navy); outline-offset: 2px; }

/* ---------- layout ---------- */
.container       { max-width: 1140px; margin: 0 auto; padding: 0 15px; }
.container--wide { max-width: 1140px; padding: 0 24px; }

.heading {
  font-family: var(--font-head);
  font-size: 45px; line-height: 54px; font-weight: 500;
  color: var(--black);
}
.heading--center { text-align: center; }

.divider-line { width: 100px; height: 2px; background: var(--black); }

/* ---------- tlačítka ---------- */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 9px;
  font-family: var(--font-ui); font-size: 15px; font-weight: 700; line-height: 23px;
  border: 0; border-radius: 10px; cursor: pointer;
  padding: 16px 18px; text-align: center;
  transition: background-color .25s ease, color .25s ease, opacity .25s ease;
}
.btn--dark { background: var(--black); color: var(--white); }
.btn--dark:hover { background: var(--navy); }
.btn--soft { background: rgba(0, 0, 0, .1); color: var(--ink); }
.btn--soft:hover { background: rgba(0, 0, 0, .16); }
.btn i { font-size: 24px; line-height: 25px; }

.linkarrow {
  display: inline-flex; align-items: center; gap: 10px;
  font-family: var(--font-head); font-size: 14px; line-height: 25px; font-weight: 600;
  color: var(--black);
}
.linkarrow i { font-size: 15px; transition: transform .25s ease; }
.linkarrow:hover i { transform: translateX(4px); }
.linkarrow--sm { font-size: 13px; line-height: 19.5px; color: var(--black); }
.linkarrow--sm i { font-size: 13px; }

/* =========================================================================
   HLAVIČKA
   ========================================================================= */
.header {
  position: relative; z-index: 999;
  height: 78px; background: var(--white);
  box-shadow: 0 4px 18px rgba(0, 0, 0, .08);
}
.header__inner {
  display: flex; align-items: center; height: 100%;
  padding: 0 92px;
}
.header__brand img { width: 129px; height: 55px; object-fit: contain; }

.mainnav { margin-left: 92px; }
.mainnav .menu { display: flex; align-items: center; }
.menu > .menu-item { position: relative; margin: 0 5px; }
.menu > .menu-item:first-child { margin-left: 0; margin-right: 2.5px; }
.menu > .menu-item > a {
  display: inline-flex; align-items: center; gap: 7px;
  padding: 3px 8px; line-height: 70px;
  font-family: var(--font-ui); font-size: 16px; font-weight: 500; color: var(--black);
  transition: color .25s ease;
}
.menu > .menu-item > a:hover,
.menu > .menu-item.is-open > a { color: var(--hover); }
.has-children > a::after {
  content: ""; width: 7px; height: 7px; margin-top: -3px; margin-right: 5px;
  border-right: 1.6px solid currentColor; border-bottom: 1.6px solid currentColor;
  transform: rotate(45deg); transition: transform .25s ease;
}
.menu-item.is-open > a::after { transform: rotate(-135deg) translate(-3px, -3px); }
.menu-toggle { display: none; }

.sub-menu {
  position: absolute; top: 100%; left: 0; z-index: 9999;
  width: 270px; padding: 0;
  background: var(--white); border-radius: 10px;
  box-shadow: 0 10px 40px rgba(0, 0, 0, .15);
  opacity: 0; visibility: hidden; transform: translateY(10px);
  transition: opacity .25s ease, transform .25s ease, visibility .25s;
}
.menu-item:hover > .sub-menu,
.menu-item.is-open > .sub-menu,
.sub-menu li:hover > .sub-menu,
.sub-menu li:focus-within > .sub-menu {
  opacity: 1; visibility: visible; transform: translateY(0);
}
.sub-menu a {
  display: block; padding: 13px;
  font-family: var(--font-ui); font-size: 14px; line-height: 24px; font-weight: 500;
  color: var(--ink); transition: color .2s ease, background-color .2s ease;
}
.sub-menu a:hover { color: var(--hover); background: #f7f9fb; }
.sub-menu li:first-child > a { border-radius: 10px 10px 0 0; }
.sub-menu li:last-child  > a { border-radius: 0 0 10px 10px; }
.sub-menu li { position: relative; }
.sub-menu .sub-menu { top: 0; left: 100%; }
.sub-menu .has-children > a { display: flex; align-items: center; justify-content: space-between; }

.header__call {
  display: flex; align-items: center; gap: 21px;
  margin-left: auto;
}
.header__call > i { font-size: 30px; color: var(--black); }
.header__call-sep { width: 1px; height: 42px; background: rgba(0, 0, 0, .12); }
.header__call-text span {
  display: block; font-family: var(--font-head); font-size: 14px; line-height: 21px; color: var(--black);
}
.header__call-text a {
  display: block; font-family: var(--font-ui); font-size: 14px; line-height: 21px;
  font-weight: 600; color: var(--black); white-space: nowrap;
}
.header__cta { margin-left: 25px; white-space: nowrap; }
.header__cta i { width: 35px; }
.actionbox .btn i, .box-add .btn i { width: 37px; }

.burger { display: none; }

/* sticky stav */
.header.is-fixed {
  position: fixed; top: 0; left: 0; right: 0;
  animation: header-down .4s ease;
}
@keyframes header-down { from { transform: translateY(-100%); } to { transform: translateY(0); } }
.header-spacer { display: none; height: 78px; }
.header-spacer.is-active { display: block; }

/* =========================================================================
   HERO
   ========================================================================= */
.hero {
  position: relative; overflow: hidden;
  min-height: 912px; padding-top: 30px;
  background: var(--cream-hero) url('../img/hero-prague.jpg') center / cover no-repeat;
}
.hero__overlay { position: absolute; inset: 0; background: var(--black); opacity: .32; }
.hero__inner {
  position: relative; z-index: 1;
  display: flex; align-items: flex-start;
  min-height: 882px; padding: 0 71px 0 57px;
}
.hero__left { flex: 1; padding-top: 258px; min-width: 0; }
.hero__title {
  font-family: var(--font-head); font-size: 60px; line-height: 72px; font-weight: 600;
  color: var(--white);
}
.hero__lead {
  margin-top: 24px; max-width: 942px;
  font-family: var(--font-head); font-size: 16px; line-height: 24px; color: var(--white);
}
.hero__meta { display: flex; align-items: flex-start; margin-top: 20px; }
.counter + .counter { border-left: 1px solid rgba(255, 255, 255, .45); padding-left: 3px; margin-left: 19px; }
.counter__value {
  font-family: var(--font-ui); font-size: 30px; line-height: 28px; font-weight: 700; color: var(--white);
}
.counter__label {
  margin-top: 10px;
  font-family: var(--font-head); font-size: 13px; line-height: 22px; font-weight: 600; color: var(--white);
}

.badge {
  position: relative; flex: none;
  width: 118px; height: 118px; margin-left: 230px;
  background: var(--sand); border-radius: 50%;
}
.badge__text {
  position: absolute; top: 50%; left: 50%; width: 140px; height: 140px;
  transform: translate(-50%, -50%);
  animation: badge-spin 20s linear infinite;
}
.badge__text text {
  font-family: var(--font-head); font-size: 50px; font-weight: 700;
  text-transform: uppercase; fill: var(--black);
}
@keyframes badge-spin { to { transform: translate(-50%, -50%) rotate(360deg); } }

.hero__card { flex: none; width: 340px; padding-top: 75px; }
.pricecard {
  background: var(--white); border: 1px solid var(--line); border-radius: 10px;
  padding: 30px;
}
.pricecard__kicker {
  margin-bottom: 31px;
  font-family: var(--font-ui); font-size: 14px; line-height: 21px; font-weight: 600; color: var(--ink);
}
.pricecard__price {
  max-width: 263px;
  font-family: var(--font-head); font-size: 45px; line-height: 54px; font-weight: 700; color: var(--ink);
}
.pricecard__sub {
  margin-top: 15px; padding-bottom: 24px; border-bottom: 1px solid var(--line);
  font-family: var(--font-ui); font-size: 14px; line-height: 21px; font-weight: 400; color: var(--muted);
}
.pricecard__list { margin-top: 24px; }
.pricecard__list li { display: flex; align-items: flex-start; gap: 11px; margin-bottom: 14px; }
.pricecard__list .text {
  font-family: var(--font-list); font-size: 14px; line-height: 21px; color: var(--body);
}
.tick {
  flex: none; width: 17px; height: 17px; margin-top: 2px;
  background: var(--black) no-repeat center / 9px 9px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M1.5 6.4l3 3 6-6.4' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  border-radius: 50%;
}
.pricecard__btn { display: flex; width: 100%; margin-top: 23px; border-radius: 8px; padding: 16px 20px; }

/* =========================================================================
   PRUH RYCHLÝCH ODKAZŮ
   ========================================================================= */
.quickbar { background: var(--sand); }
.quickbar ul { display: flex; justify-content: center; gap: 25px; height: 26px; }
.quickbar a {
  display: flex; align-items: center; height: 26px;
  font-family: var(--font-head); font-size: 13px; line-height: 19.5px; font-weight: 600;
  color: var(--black); padding-right: 0;
}
.quickbar__icon {
  margin-right: 5px;
  flex: none; width: 26px; height: 26px; border-radius: 50%;
  background: rgba(255, 255, 255, .2);
  display: flex; align-items: center; justify-content: center;
}
.quickbar__icon i { font-size: 13px; color: var(--navy); }

/* =========================================================================
   NAŠE SPECIALIZACE
   ========================================================================= */
.spec { background: var(--cream); padding: 86px 0 59px; }
.spec .heading { margin-top: 15px; }

.quote {
  background: rgba(0, 0, 0, .1);
  border-left: 4px solid var(--black);
  border-radius: 10px;
  padding: 40px;
}
.quote p { font-family: var(--font-head); font-size: 16px; line-height: 29px; color: var(--body); }
.quote--center { margin-top: 20px; text-align: center; }

.iconboxes {
  display: grid; grid-auto-flow: column;
  grid-template-rows: repeat(2, auto); grid-template-columns: repeat(4, 240px);
  justify-content: center;
  column-gap: 30px; row-gap: 20px;
  margin-top: 69px;
}
.iconbox {
  display: flex; flex-direction: column;
  min-height: 346px; padding: 30px;
  background: var(--white); border-radius: 10px;
  transition: box-shadow .3s ease, transform .3s ease;
}
.iconbox:hover { box-shadow: 0 14px 34px rgba(0, 0, 0, .08); }
.iconbox__icon { font-size: 30px; line-height: 1; color: var(--navy); }
.iconbox__body { flex: 1; margin-top: 13px; padding-bottom: 11px; border-bottom: 1px solid var(--line); }
.iconbox__title {
  font-family: var(--font-ui); font-size: 18px; line-height: 27px; font-weight: 600; color: #121212;
}
.iconbox__body p {
  margin-top: 13px; font-size: 14px; line-height: 21px; color: var(--body);
  display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 4; line-clamp: 4;
  overflow: hidden;
}
.iconbox__body strong { font-weight: 700; }
.iconbox .linkarrow { margin-top: 28px; }

/* =========================================================================
   REFERENČNÍ LOGA (marquee)
   ========================================================================= */
.refs { padding-top: 70px; }
.refs__viewport {
  overflow: hidden; padding-left: 24px;
  border-bottom: 1px solid var(--line);
  margin-bottom: 30px;
}
.refs__track { display: flex; gap: 50px; width: max-content; animation: refs-scroll 30s linear infinite; }
.refs__track img { flex: none; width: 160px; height: 80px; object-fit: cover; opacity: .3; }
@keyframes refs-scroll { to { transform: translateX(-1680px); } }
.refs__viewport:hover .refs__track { animation-play-state: paused; }

/* =========================================================================
   O MAKLÉŘI
   ========================================================================= */
.intro { padding-top: 56px; }
.intro__inner { display: flex; align-items: flex-end; }
.intro__media { flex: none; width: 212px; margin-left: 99px; }
.intro__media video { width: 100%; height: auto; }
.intro .quote {
  width: 681px; margin-left: 79px;
  padding: 54px 40px 41px;
}
.intro .quote p { font-size: 14px; line-height: 21px; margin-bottom: 27px; }
.intro .quote p:last-child { margin-bottom: 0; }
.intro .quote strong { font-weight: 600; }
.intro .quote b { font-weight: 600; }
.intro .quote em { font-weight: 700; color: var(--ink); font-style: italic; }
.intro .quote a { color: var(--ink); text-decoration: underline; }

/* =========================================================================
   VÍCE NEŽ JEN REALITNÍ KANCELÁŘ
   ========================================================================= */
.longread { padding: 102px 0 100px; }
.longread .divider-line { margin-top: 19px; }
.longread > .container > p { margin-top: 22px; font-size: 14px; line-height: 21px; color: var(--body); }
.longread a { color: var(--black); font-weight: 700; }
.longread summary {
  cursor: pointer; list-style: revert;
  font-size: 14px; line-height: 21px;
}
.longread summary strong { font-weight: 700; color: var(--black); }
.longread h3 {
  margin-top: 24px;
  font-family: var(--font-head); font-size: 30px; line-height: 36px; font-weight: 700; color: var(--black);
}
.longread details p { margin-top: 11px; font-size: 14px; line-height: 21px; color: var(--body); }

/* =========================================================================
   REALITNÍ BLOG
   ========================================================================= */
.blog { background: var(--grey-bg); padding: 101px 0 98px; }
.blog__grid { display: grid; grid-template-columns: repeat(3, 350px); gap: 30px; justify-content: center; margin-top: 51px; }
.post__thumb { position: relative; display: block; border-radius: 10px; overflow: hidden; }
.post__thumb img { width: 350px; height: 197px; object-fit: cover; transition: transform .5s ease; }
.post__thumb:hover img { transform: scale(1.05); }
.post__meta {
  position: absolute; left: 10px; bottom: 9px;
  display: flex; align-items: center; gap: 17px;
  background: var(--white); border-radius: 6px; padding: 7px 15px;
  font-family: var(--font-head); font-size: 13px; line-height: 19.5px; font-weight: 600; color: var(--black);
}
.post__cat { display: inline-flex; align-items: center; gap: 7px; color: var(--body); }
.post__cat i { font-size: 14px; }
.post__title {
  margin-top: 21px;
  font-family: var(--font-head); font-size: 18px; line-height: 27px; font-weight: 500; color: var(--ink);
}
.post__title a:hover { color: var(--hover); }
.post .linkarrow { margin-top: 17px; }

/* =========================================================================
   KONTAKT
   ========================================================================= */
.contact { background: linear-gradient(180deg, var(--cream) 0%, var(--grey-bg) 100%); padding: 86px 0 101px; }
.contact__inner { display: flex; gap: 30px; }
.contact__left { width: 540px; flex: none; padding-top: 11px; }
.contact__right { width: 540px; flex: none; padding-top: 15px; }
.contact__left .heading { font-weight: 600; }
.contact__left .divider-line { margin-top: 25px; }

.contact__row { display: flex; align-items: center; margin-top: 60px; }
.contact__row > i { width: 45px; font-size: 45px; line-height: 1; color: var(--navy); }
.contact__row + .contact__row { margin-top: 31px; }
.contact__row + .contact__row > i { width: 48px; font-size: 50px; }
.contact__slash { flex: none; width: 1px; height: 46px; margin: 0 31px; background: rgba(0, 0, 0, .15); transform: rotate(20deg); }
.contact__label {
  font-family: var(--font-ui); font-size: 14px; line-height: 21px; font-weight: 600; color: var(--muted);
}
.contact__phone {
  margin-top: 2px;
  font-family: var(--font-head); font-size: 30px; line-height: 38px; font-weight: 800; color: var(--black);
}
.contact__mail {
  margin-top: 2px;
  font-family: var(--font-head); font-size: 16px; line-height: 24px; color: var(--black);
}

.cform input, .cform textarea {
  display: block; width: 100%;
  background: var(--white); border: 1px solid var(--field); border-radius: 10px;
  padding: 16px 18px;
  font-family: var(--font-ui); font-size: 14px; line-height: 21px; color: var(--body);
}
.cform input { height: 55px; }
.cform input, .cform textarea { margin-top: 11px; }
.cform input:first-of-type { margin-top: 0; }
.cform textarea { height: 130px; padding: 15px 16px; resize: vertical; }
.cform ::placeholder { color: var(--body); opacity: 1; }
.cform input:focus, .cform textarea:focus { border-color: var(--navy); outline: none; }
.cform__quiz-label {
  display: block; margin-top: 16px;
  font-family: var(--font-head); font-size: 14px; line-height: 21px; font-weight: 600; color: var(--body);
}
.cform__quiz-label + input { margin-top: 1px; }
.cform__submit { display: flex; width: 100%; margin-top: 39px; padding: 16px 20px; }
.cform__submit i { font-size: 18px; line-height: 23px; }
.cform__call { display: flex; width: 100%; margin-top: 20px; font-family: var(--font-head); }
.cform__call i { font-size: 18px; line-height: 23px; }
.cform__note {
  width: 550px; max-width: 100%; margin: 21px 0 0 -10px;
  font-family: var(--font-head); font-size: 10px; line-height: 15px; font-weight: 700; color: var(--body);
}

/* =========================================================================
   PATIČKA
   ========================================================================= */
.footer-bg { background: var(--black); }

.actionbox {
  position: relative; overflow: hidden;
  min-height: 603px;
  background: rgba(0, 0, 0, .1) url('../img/cta-bg.jpg') 0 0 / cover no-repeat;
}
.actionbox__inner { position: relative; z-index: 1; padding-top: 186px; }
.actionbox__text { max-width: 733px; }
.actionbox .heading { max-width: 697px; font-family: var(--font-ui); color: var(--black); }
.actionbox p {
  margin-top: 15px; padding-right: 40px;
  font-size: 14px; line-height: 21px; color: var(--black);
}
.actionbox p b { font-weight: 700; }
.actionbox .btn { margin-top: 81px; padding: 15px 31px; }
.actionbox__photo {
  position: absolute; top: 0; left: 865px;
  width: 411px; height: 603px; object-fit: fill;
}

.boxes { padding: 100px 0 71px; }
.boxes__inner { display: grid; grid-template-columns: repeat(2, 1fr); align-items: start; gap: 28px; }
.box-add {
  display: flex; gap: 33px; height: 254px;
  background: var(--box-cream); border-radius: 12px;
  box-shadow: 0 4px 26px rgba(66, 71, 76, .08);
  padding: 32px 30px 0 35px;
}
.box-add img { flex: none; width: 100px; height: 102px; object-fit: contain; }
.box-add h3 {
  font-family: var(--font-ui); font-size: 30px; line-height: 36px; font-weight: 700; color: var(--ink);
}
.box-add p { margin-top: 17px; font-size: 14px; line-height: 21px; color: var(--ink); }
.box-add .btn { margin-top: 19px; padding: 15px 34px; }

.footer__widgets {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 25px;
  padding-top: 100px; padding-bottom: 112px;
}
.widget__title {
  margin-bottom: 20px;
  font-family: var(--font-ui); font-size: 16px; line-height: 19.2px; font-weight: 500; color: var(--white);
}
.widget__sub { font-size: 14px; line-height: 21px; color: var(--white); }
.widget__strong { margin-top: 6px; font-size: 14px; line-height: 22px; font-weight: 600; color: #e5e5e5; }
.widget__rule { margin-top: 6px; padding-top: 6px; border-top: 1px solid rgba(255, 255, 255, .176); }
.widget__contact { display: flex; align-items: center; gap: 16px; padding-bottom: 13px; }
.widget__contact i { font-size: 35px; color: var(--white); }
.widget__contact h3 { font-size: 14px; line-height: 22px; font-weight: 400; color: #e5e5e5; }
.widget__contact a:hover { color: var(--white); }
.widget__links { margin-top: -11px; }
.widget__links li { margin-bottom: 16px; }
.widget__links a { font-size: 14px; line-height: 22px; color: #e5e5e5; }
.widget__links a:hover { color: var(--white); }

.footer__nav { border-top: 1px solid rgba(255, 255, 255, .1); padding: 28px 0; }
.footer__nav-inner { display: flex; align-items: center; justify-content: space-between; }
.footer__logo img { width: 108px; height: 39px; object-fit: contain; }
.footer__social { display: flex; gap: 8px; }
.footer__social a {
  display: flex; align-items: center; justify-content: center;
  width: 44px; height: 44px; border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, .1);
  transition: background-color .25s ease;
}
.footer__social a:hover { background: rgba(255, 255, 255, .12); }
.footer__social i { font-size: 19px; color: var(--white); }

.footer__bottom {
  background: var(--ink); border-top: 1px solid rgba(255, 255, 255, .1);
  padding: 30px 0; text-align: center;
}
.footer__bottom span {
  font-family: var(--font-head); font-size: 14px; line-height: 21px; font-weight: 100;
  color: rgba(255, 255, 255, .5);
}

/* =========================================================================
   OFF-CANVAS (mobil)
   ========================================================================= */
.offcanvas {
  position: fixed; top: 0; left: 0; z-index: 1100;
  width: 320px; height: 100%; overflow-y: auto;
  background: var(--white); padding: 20px;
  transform: translateX(-100%); transition: transform .35s ease;
}
.offcanvas.is-open { transform: translateX(0); }
.offcanvas__head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 20px; }
.offcanvas__head img { width: 129px; height: 55px; object-fit: contain; }
.offcanvas__close {
  width: 36px; height: 36px; border: 0; border-radius: 50%;
  background: rgba(0, 0, 0, .1); font-size: 22px; line-height: 1; cursor: pointer;
}
.offcanvas__body .menu { display: block; }
.offcanvas__body .menu-item { margin: 0; border-bottom: 1px solid rgba(0, 0, 0, .06); }
.offcanvas__body .menu-item > a {
  display: block; padding: 10px 50px 10px 0; line-height: 21px;
  font-family: var(--font-head); font-size: 14px; font-weight: 600; color: var(--ink);
}
.offcanvas__body .sub-menu {
  position: static; width: auto; opacity: 1; visibility: visible; transform: none;
  background: rgba(0, 0, 0, .05); border-radius: 10px; box-shadow: none;
  padding: 15px 20px; margin-bottom: 10px; display: none;
}
.offcanvas__body li.is-open > .sub-menu { display: block; }
.offcanvas__body .sub-menu a { padding: 5px 40px 5px 0; font-family: var(--font-head); font-weight: 400; }
.offcanvas__body .sub-menu .menu-toggle { top: 0; height: 32px; }
.offcanvas__body .sub-menu .menu-toggle::after { top: 10px; }
.offcanvas__body .sub-menu .sub-menu { background: rgba(0, 0, 0, .05); margin-top: 8px; }
.offcanvas__body .menu-toggle {
  display: block; position: absolute; top: 4px; right: 0;
  width: 40px; height: 40px; border: 0; background: none; cursor: pointer;
}
.offcanvas__body .menu-toggle::after {
  content: ""; position: absolute; top: 14px; left: 14px;
  width: 8px; height: 8px; border-right: 2px solid var(--ink); border-bottom: 2px solid var(--ink);
  transform: rotate(45deg);
}
.offcanvas__body li { position: relative; }
.offcanvas__foot { margin-top: 24px; }
.offcanvas__foot h3 { margin: 20px 0 10px; font-family: var(--font-ui); font-size: 16px; color: var(--ink); }
.offcanvas__foot p { font-size: 14px; line-height: 24px; }
.offcanvas__foot .btn { width: 100%; }
.offcanvas-backdrop { position: fixed; inset: 0; z-index: 1050; background: rgba(0, 0, 0, .5); }

/* =========================================================================
   RESPONZIVITA
   ========================================================================= */
@media (max-width: 1440px) {
  .actionbox__photo { left: auto; right: 164px; }
}

@media (max-width: 1300px) {
  .header__inner { padding: 0 30px; }
  .mainnav { margin-left: 30px; }
  .hero__inner { padding: 0 30px; }
  .badge { margin-left: 120px; }
  .intro__media { margin-left: 0; }
  .intro .quote { width: auto; flex: 1; }
  .actionbox__photo { right: 20px; }
}

@media (max-width: 1100px) {
  .iconboxes { grid-auto-flow: row; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: none; }
  .blog__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .post__thumb img { width: 100%; }
  .contact__inner { flex-wrap: wrap; }
  .contact__left, .contact__right { width: 100%; }
}

@media (max-width: 1024px) {
  .mainnav, .header__call { display: none; }
  .burger {
    display: flex; flex-direction: column; justify-content: center; gap: 5px;
    width: 44px; height: 44px; margin-left: auto; padding: 0 10px;
    background: none; border: 0; cursor: pointer;
  }
  .burger span { display: block; height: 2px; background: var(--ink); border-radius: 2px; }
  .header__cta { margin-left: 12px; }

  .hero { min-height: 0; padding-bottom: 60px; }
  .hero__inner { flex-direction: column; min-height: 0; }
  .hero__left { padding-top: 120px; }
  .hero__title { font-size: 42px; line-height: 52px; }
  .hero__card { width: 100%; max-width: 420px; padding-top: 40px; }
  .badge { margin-left: auto; }

  .quickbar ul { flex-wrap: wrap; height: auto; gap: 14px 25px; padding: 10px 15px; }
  .quickbar { padding: 0; }

  .heading { font-size: 34px; line-height: 42px; }
  .actionbox { min-height: 0; padding-bottom: 60px; }
  .actionbox__inner { padding-top: 80px; }
  .actionbox__photo { position: static; margin: 30px auto 0; }
  .actionbox .btn { margin-top: 40px; }
  .boxes__inner { grid-template-columns: 1fr; }
}

@media (max-width: 767px) {
  .header__inner { padding: 0 15px; }
  .hero__inner { padding: 0 15px; }
  .hero__title { font-size: 32px; line-height: 40px; }
  .hero__meta { flex-wrap: wrap; gap: 20px; }
  .badge { margin-left: 0; }
  .iconboxes, .blog__grid { grid-template-columns: 1fr; }
  .intro__inner { flex-direction: column; align-items: flex-start; gap: 24px; }
  .intro .quote { margin-left: 0; width: 100%; padding: 30px 24px; }
  .quote { padding: 24px; }
  .spec, .blog, .contact { padding-left: 0; padding-right: 0; }
  .footer__widgets { grid-template-columns: 1fr; gap: 40px; }
  .footer__nav-inner { flex-direction: column; gap: 24px; }
  .box-add { flex-direction: column; }
  .longread h3 { font-size: 24px; line-height: 32px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* =========================================================================
   DROBNÁ VYLEPŠENÍ
   Celý návrh je v tomhle jediném bloku. Smazat = vrátit se k přesné kopii.
   ========================================================================= */

/* 1 — HERO: závoj místo plošného ztmavení.
   Původní overlay ztmavoval celou fotku o 32 %, takže text ležel na světlech
   mostu a fotka byla zbytečně kalná. Přechod ztmaví jen levou část pod textem. */
.hero__overlay {
  background: linear-gradient(90deg,
    rgba(0, 20, 35, .74) 0%,
    rgba(0, 20, 35, .58) 38%,
    rgba(0, 20, 35, .22) 66%,
    rgba(0, 20, 35, .06) 100%);
  opacity: 1;
}
.hero__title { text-shadow: 0 1px 24px rgba(0, 18, 32, .35); }

/* 2 — HERO KARTA: „Mám zájem“ je hlavní akce, ne šedý blok */
.pricecard__btn { border-radius: 10px; }
.pricecard__btn i { font-size: 15px; width: auto; transition: transform .25s ease; }
.pricecard__btn:hover i { transform: translateX(4px); }

/* 3 — PRUH RYCHLÝCH ODKAZŮ: 26 px byl proužek, do kterého se špatně trefuje */
.quickbar ul { height: auto; gap: 8px; }
.quickbar a {
  height: 44px; padding: 0 14px; border-radius: 8px;
  font-size: 14px; line-height: 20px;
  transition: background-color .2s ease;
}
.quickbar a:hover { background: rgba(255, 255, 255, .35); }

/* 4 — KARTY SLUŽEB: konec vět uříznutých uprostřed a klikatelná celá karta */
.iconbox__body p { display: block; -webkit-line-clamp: none; line-clamp: none; overflow: visible; }
.iconbox { position: relative; }
.iconbox .linkarrow::after { content: ""; position: absolute; inset: 0; border-radius: 10px; }
.iconbox:hover { transform: translateY(-4px); box-shadow: 0 18px 40px rgba(0, 30, 55, .10); }
.iconbox:hover .linkarrow i { transform: translateX(4px); }
/* řádky si dorovnají výšku podle nejdelší karty */
.iconboxes { align-items: stretch; }

/* 5 — BLOG: titulky na tři řádky, ať karty drží linku */
.post__title a {
  display: -webkit-box; -webkit-box-orient: vertical;
  -webkit-line-clamp: 3; line-clamp: 3; overflow: hidden;
}
.post { position: relative; transition: transform .3s ease; }
.post:hover { transform: translateY(-4px); }

/* 6 — FORMULÁŘ: popisky nad poli.
   S pouhým placeholderem po vyplnění nepoznáte, co v poli je. */
.cform__label {
  display: block; margin: 18px 0 6px;
  font-family: var(--font-ui); font-size: 13px; line-height: 20px; font-weight: 600;
  color: var(--ink);
}
.cform__label:first-child { margin-top: 0; }
.cform .req { color: #c0392b; }
.cform input, .cform textarea { margin-top: 0; }
.cform ::placeholder { color: #9a9aa0; }
.cform__quiz-label { margin-top: 18px; font-family: var(--font-ui); font-size: 13px; font-weight: 600; color: var(--ink); }
.cform__hint { font-weight: 400; color: var(--muted); }
.cform__quiz-label + input { margin-top: 6px; }
.cform__submit { margin-top: 28px; }
.cform input:focus, .cform textarea:focus {
  border-color: var(--ink); box-shadow: 0 0 0 3px rgba(0, 0, 0, .08); outline: none;
}

/* 7 — DLOUHÝ TEXT: 14 px na několik obrazovek čtení je málo */
.longread > .container > p,
.longread details p { font-size: 16px; line-height: 28px; max-width: 74ch; }
.longread summary {
  display: inline-flex; align-items: center; gap: 8px;
  margin-top: 18px; padding: 10px 18px;
  border: 1px solid var(--field); border-radius: 999px;
  list-style: none; font-size: 14px;
  transition: border-color .2s ease, background-color .2s ease;
}
.longread summary::-webkit-details-marker { display: none; }
.longread summary::after {
  content: ""; width: 7px; height: 7px; margin-top: -3px;
  border-right: 1.6px solid currentColor; border-bottom: 1.6px solid currentColor;
  transform: rotate(45deg); transition: transform .25s ease;
}
.longread summary:hover { background: #f6f6f5; border-color: #d7d7dc; }
.longread details[open] summary::after { transform: rotate(-135deg) translate(-3px, -3px); }
.longread h3 { margin-top: 36px; }

/* 8 — KONTRAST: #8e8e93 na bílé má 3,5:1, což je pod hranicí čitelnosti */
.pricecard__sub { color: #6e6e73; }

/* 9 — PATIČKA: třetí sloupec už není prázdný (viz index.html) */
.footer__widgets .widget:nth-child(3) .widget__links { margin-top: 0; }

/* 10 — MOBIL: ukotvená lišta „Zavolat / Poptávka“.
   Na telefonu je kontakt jinak schovaný až úplně dole. */
.mobilebar { display: none; }
@media (max-width: 767px) {
  .mobilebar {
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 900;
    display: grid; grid-template-columns: 1fr 1fr; gap: 10px;
    padding: 10px 14px calc(10px + env(safe-area-inset-bottom));
    background: rgba(255, 255, 255, .96); backdrop-filter: blur(8px);
    box-shadow: 0 -4px 18px rgba(0, 0, 0, .10);
  }
  .mobilebar .btn { width: 100%; padding: 14px 12px; font-size: 14px; }
  .mobilebar .btn i { font-size: 18px; width: auto; }
  body { padding-bottom: 78px; }
}

/* 11 — KONTAKT: levý sloupec končil velkou prázdnou plochou.
   Adresa už na stránce je (v patičce), tady dává větší smysl. */
.contact__row + .contact__row + .contact__row { margin-top: 31px; }
.contact__row + .contact__row + .contact__row > i { width: 48px; font-size: 42px; }
.contact__addr {
  margin-top: 2px;
  font-family: var(--font-head); font-size: 16px; line-height: 24px; color: var(--black);
}

/* 12 — PODKLAD: žlutavá krémová nahrazena světlou champagne.
   Přepis tokenů, ne jednotlivých pravidel — projde se to i do přechodu
   v kontaktní sekci a do boxů v patičce. */
:root {
  --cream:      #f0e9e1;   /* dřív #faf3e0 — sekce Naše specializace, horní část kontaktu */
  --cream-hero: #f0e9e1;   /* dřív #f3edd9 — podklad pod fotkou v heru */
  --box-cream:  #f0e9e1;   /* dřív #fff5e0 — boxy „Chci prodat / pronajmout“ */
}

/* 13 — TYPOGRAFIE NADPISŮ: jedna rodina, jedna tučnost, jasná velikostní řada.
   Originál míchal ve stejné úrovni Poppins 500/600/700 i Inter 500/700, takže
   nadpisy působily jako z různých webů. Nově: nadpisy = Poppins 600,
   Inter zůstává na UI (navigace, tlačítka, popisky formuláře).
   Hierarchii nese velikost, ne tučnost. */
.hero__title      { font-size: 60px; line-height: 68px; font-weight: 600; letter-spacing: -.02em;
                    max-width: 880px; }  /* zlom za „prodej,“ — jinak text doběhne pod kartu */
.heading          { font-weight: 600; letter-spacing: -.015em; }
.actionbox .heading { font-family: var(--font-head); max-width: 760px; }
.pricecard__price { font-weight: 600; letter-spacing: -.015em; }
.longread h3      { font-size: 30px; line-height: 38px; font-weight: 600; letter-spacing: -.01em; }
.box-add h3       { font-family: var(--font-head); font-size: 28px; line-height: 36px; font-weight: 600; letter-spacing: -.01em; }
.iconbox__title   { font-family: var(--font-head); font-size: 18px; line-height: 27px; font-weight: 600; }
.post__title      { font-weight: 600; }
.widget__title    { font-family: var(--font-head); font-weight: 600; }
.counter__value   { font-size: 30px; line-height: 34px; letter-spacing: -.01em; }

/* 14 — IKONY: velké a funkční černé, drobné akcenty béžové */

/* velké / funkční */
.contact__row > i { color: var(--ink); }
.skip-link        { background: var(--ink); }
.btn--dark:hover  { background: #2a2a2e; }
:focus-visible    { outline-color: var(--ink); }
.box-add img      { filter: grayscale(1) contrast(1.25); }  /* modrá kolečka v PNG */

/* drobné akcenty */
.iconbox__icon { color: var(--sand); }
.post__cat i   { color: var(--sand); }
.tick {
  background: var(--sand) no-repeat center / 9px 9px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M1.5 6.4l3 3 6-6.4' fill='none' stroke='%231c1c1e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
/* ikony v pískovém pruhu zůstávají tmavé — béžová na béžové by zmizela */
.quickbar__icon i { color: var(--ink); }

/* 15 — BOXY V PATIČCE: pevná výška 254 px je z originálu, kde delšímu boxu
   vypadávalo tlačítko ven. Boxy si teď dorovnají výšku podle delšího z nich. */
.boxes__inner { align-items: stretch; }
.box-add { height: auto; min-height: 254px; padding-bottom: 32px; }

/* 16 — HERO NA JEDNU OBRAZOVKU.
   Karta „Naše služby“ byla 735 px vysoká a hnala hero na 912 px — s hlavičkou
   990 px, což se na běžný notebook nevejde. Karta je stažená na ~590 px
   a výška heru se řídí výškou okna (s rozumnými mantinely). */
@media (min-width: 1025px) {
  .hero {
    display: flex; flex-direction: column;
    padding-top: 24px;
    min-height: 620px;                                  /* záloha pro staré prohlížeče */
    min-height: clamp(620px, calc(100svh - 78px), 820px);
  }
  .hero__inner {
    flex: 1; min-height: 0;
    align-items: center;        /* obě strany na střed, ne od horního okraje */
    padding-bottom: 46px;
  }
  .hero__left { padding-top: 0; }
  .hero__card { padding-top: 0; }
}

/* kompaktnější karta se službami */
.pricecard            { padding: 26px; }
.pricecard__kicker    { margin-bottom: 18px; }
.pricecard__price     { font-size: 36px; line-height: 44px; max-width: none; }
.pricecard__sub       { margin-top: 12px; padding-bottom: 18px; }
.pricecard__list      { margin-top: 16px; }
.pricecard__list li   { margin-bottom: 7px; }
.pricecard__list .text{ line-height: 20px; }
.tick                 { margin-top: 1px; }
.pricecard__btn       { margin-top: 16px; padding: 14px 20px; }

/* 17 — responzivní stupně pro nové nadpisové velikosti
   (blok vylepšení je až za média dotazy základního stylu, musí je zopakovat) */
@media (max-width: 1024px) {
  .hero__title { font-size: 42px; line-height: 52px; max-width: none; letter-spacing: -.015em; }
}
@media (max-width: 767px) {
  .hero__title  { font-size: 32px; line-height: 40px; }
  .longread h3  { font-size: 24px; line-height: 32px; }
  .box-add h3   { font-size: 24px; line-height: 32px; }
}

/* =========================================================================
   18 — PÍSMO ZNAČKY: serif na nadpisy, Inter na text a UI
   Poppins byla geometrická „univerzální“ bezpatková — na realitní kancelář,
   která prodává činžovní domy a investiční nemovitosti, málo. Nadpisy nese
   Fraunces (teplý serif, ladí s champagne), text a rozhraní Inter.
   Poppins a Mulish odpadly: 13 stahovaných řezů → 5.
   Výměna za jiný serif = jedna hodnota v --font-display.
   ========================================================================= */
:root {
  --font-display: 'Fraunces', Georgia, 'Times New Roman', serif;
  --font-head: 'Inter', sans-serif;   /* běžný text */
  --font-list: 'Inter', sans-serif;   /* odrážky v heru, dřív Mulish */
}
.hero__title, .heading, .longread h3, .box-add h3, .pricecard__price {
  font-family: var(--font-display);
  font-weight: 600;
  font-variation-settings: 'opsz' 100, 'SOFT' 20, 'WONK' 0;
  letter-spacing: -.005em;
}
/* vyvážený zlom řádků — drží se sám, nezávisle na písmu i šířce okna */
.hero__title, .heading { text-wrap: balance; }
.hero__title { max-width: none; letter-spacing: -.01em; }

/* rozhraní a drobný text zůstávají v Interu */
.iconbox__title, .post__title, .widget__title, .counter__value,
.cform__label, .cform__quiz-label, .contact__label,
.btn, .menu > .menu-item > a, .sub-menu a { font-family: 'Inter', sans-serif; }

/* 19 — FORMULÁŘ: menší a čistší ikony, past na roboty, stav odeslání */
.btn .ico {
  width: 16px; height: 16px; flex: none;
  fill: none; stroke: currentColor; stroke-width: 1.7;
  stroke-linecap: round; stroke-linejoin: round;
}
.cform__submit, .cform__call { gap: 10px; }
.cform__trap { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.cform__status {
  margin-top: 14px; padding: 12px 16px; border-radius: 10px;
  font-family: 'Inter', sans-serif; font-size: 14px; line-height: 20px;
}
.cform__status.is-sending { background: rgba(0, 0, 0, .05); color: var(--body); }
.cform__status.is-ok      { background: #e8f3ec; color: #1c5c33; }
.cform__status.is-error   { background: #fbeaea; color: #8f2222; }
.cform__submit[disabled]  { opacity: .6; cursor: progress; }

/* 20 — hero nadpis natvrdo na dva řádky; na mobilu se láme podle šířky */
.hero__title { text-wrap: initial; }
@media (max-width: 1024px) { .hero__title br { display: none; } }

/* =========================================================================
   21 — SLADĚNÍ TMAVÉ ČÁSTI
   Čistá černá vedle champagne působí studeně a spodní pruh #1c1c1e byl
   navíc světlejší než patička nad ním, takže vypadal jako záplata.
   Jedna teplá tmavá na celou patičku, dělená jen vlasovou linkou v písku.
   ========================================================================= */
.footer-bg        { background: #17130f; }
.footer__bottom   { background: #17130f; border-top: 1px solid rgba(216, 195, 165, .16); }
.footer__nav      { border-top: 1px solid rgba(216, 195, 165, .16); }
.footer__social a { border-color: rgba(216, 195, 165, .28); }
.footer__social a:hover { background: rgba(216, 195, 165, .14); }
.widget__rule     { border-top-color: rgba(216, 195, 165, .22); }
.widget__contact i{ color: var(--sand); }          /* třetí tón místo samé bílé */
.footer__bottom span { color: rgba(240, 233, 225, .55); }
.box-add          { box-shadow: 0 4px 26px rgba(0, 0, 0, .35); }
.box-add img      { filter: none; }                 /* ikony jsou pískové už v souboru */

/* 22 — IKONY U KONTAKTU: menší a tažené stejným perem jako ve formuláři */
.contact__row > .ico-lg {
  width: 26px; height: 26px; flex: none;
  fill: none; stroke: var(--ink); stroke-width: 1.6;
  stroke-linecap: round; stroke-linejoin: round;
}
.contact__slash { margin: 0 22px; height: 40px; }
.contact__row { margin-top: 46px; }
.contact__row + .contact__row { margin-top: 26px; }

/* =========================================================================
   23 — SLADĚNÍ TÓNŮ NA CELÉ STRÁNCE
   Patička byla jen nejviditelnější případ. Zbytek stránky měl pod teplými
   podklady (champagne, písková) studenou šedou škálu a čistou černou —
   dvě rodiny vedle sebe. Celá neutrální škála je proto posunutá do teplé.
   Kontrast textu zůstává nad hranicí WCAG AA.
   ========================================================================= */
:root {
  --black:  #1b1611;   /* dřív #000 — nadpisy, tlačítka, linky */
  --ink:    #1b1611;   /* dřív #1c1c1e */
  --body:   #453d36;   /* dřív #3a3a3c */
  --muted:  #786e63;   /* dřív #6e6e73, kontrast na bílé 4,6:1 */
  --line:   #e8e0d7;   /* dřív #efefef — vlasové linky v kartách */
  --field:  #e2d9cf;   /* dřív #e5e5ea — rámečky polí */
  --grey-bg:#f7f3ee;   /* dřív #f6f6f5 — blog, spodek kontaktní sekce */
  --hover:  #6d6157;   /* dřív #5a5a5f */
}
/* poloprůhledné podklady byly míchané s čistou černou, proto šedly */
.quote            { background: rgba(94, 74, 50, .12); }
.btn--soft        { background: rgba(94, 74, 50, .12); }
.btn--soft:hover  { background: rgba(94, 74, 50, .19); }
.btn--dark:hover  { background: #33291f; }
.iconbox:hover    { box-shadow: 0 18px 40px rgba(60, 45, 25, .12); }
.sub-menu a:hover { background: #f7f3ee; }          /* bylo domodra #f7f9fb */
.cform ::placeholder { color: #8f857a; }
.cform input:focus, .cform textarea:focus { box-shadow: 0 0 0 3px rgba(94, 74, 50, .10); }
.header           { box-shadow: 0 4px 18px rgba(60, 45, 25, .10); }
.post__meta       { box-shadow: 0 2px 10px rgba(60, 45, 25, .12); }

/* oprava: nadpis nad patičkou zůstal z dřívějška v Interu, jako jediný */
.actionbox .heading { font-family: var(--font-display); }

/* 24 — IKONY JEDNÍM PEREM
   Kotouče v boxech byly 100px rastry, ikony v patičce z ikonového fontu
   s různou tloušťkou tahu. Všechno je teď kreslené stejně: tah 1,6. */
.box-add__ico {
  flex: none; width: 60px; height: 60px; border-radius: 50%;
  background: var(--sand); display: grid; place-items: center;
}
.box-add__ico svg { width: 28px; height: 28px; }
.box-add { gap: 24px; }
.box-add__ico svg, .widget__contact .ico-sm {
  fill: none; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round;
}
.box-add__ico svg { stroke: var(--ink); }
.widget__contact .ico-sm { width: 26px; height: 26px; flex: none; stroke: var(--sand); }

/* 25 — PRYČ S TUČNOU LINKOU U CITACÍ
   4px černý pruh vlevo byl z původního webu. Uvnitř teplé palety působí
   jako škrt přes stránku; panel drží tvar i bez něj. */
.quote { border-left: 0; }

/* 26 — CITACE U VIDEA: z odstavců v šedém boxu udělat podepsané slovo majitele */
.quote--bio {
  position: relative;
  background: var(--grey-bg);
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 46px 48px 40px;
}
.quote--bio::before {
  content: "\201C";
  position: absolute; top: 6px; left: 30px;
  font-family: var(--font-display);
  font-size: 86px; line-height: 1; color: var(--sand);
}
.quote--bio p { font-size: 15px; line-height: 26px; margin-bottom: 20px; }
.quote__lead { font-size: 17px; line-height: 29px; }
.quote--bio strong, .quote--bio b { font-weight: 600; color: var(--ink); }
.quote--bio a {
  color: var(--ink); text-decoration: underline;
  text-decoration-color: var(--sand); text-decoration-thickness: 2px;
  text-underline-offset: 3px;
}
.quote--bio a:hover { text-decoration-color: var(--ink); }

.quote__sign {
  display: flex; flex-direction: column; gap: 2px;
  margin-top: 26px; padding-top: 22px;
  border-top: 1px solid var(--line);
}
.quote__name {
  font-family: var(--font-display); font-size: 21px; line-height: 28px;
  font-weight: 600; color: var(--ink);
}
.quote__role {
  font-family: 'Inter', sans-serif; font-size: 12px; line-height: 18px;
  font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--muted);
}

/* 27 — JEDNOTNÁ SADA IKON
   Ikonový font zůstal jen na značkách sociálních sítí (to jsou loga).
   Všechno ostatní je inline SVG se stejným tahem 1,6 a barvou z textu. */
.ico, .ico-sm, .ico-xs, .ico-lg, .ico-arrow, .iconbox__icon, .rowbox__icon, .box-add__ico svg {
  flex: none; fill: none; stroke: currentColor; stroke-width: 1.6;
  stroke-linecap: round; stroke-linejoin: round;
}
.ico       { width: 16px; height: 16px; }
.ico-xs    { width: 14px; height: 14px; }
.ico-arrow { width: 16px; height: 16px; stroke-width: 1.7; }

.header__call > .ico   { width: 26px; height: 26px; color: var(--ink); }
.header__cta .ico      { width: 18px; height: 18px; }
.quickbar__icon svg    { width: 14px; height: 14px; color: var(--ink); }
.linkarrow .ico-arrow  { transition: transform .25s ease; }
.linkarrow:hover .ico-arrow { transform: translateX(4px); }
.post__cat .ico-xs     { color: var(--sand); }
.actionbox .btn .ico, .box-add .btn .ico { width: 18px; height: 18px; }
.mobilebar .btn .ico   { width: 18px; height: 18px; }

.iconbox__icon         { width: 30px; height: 30px; color: var(--sand); }
.box-add__ico          { width: 56px; height: 56px; }
.box-add__ico svg      { width: 30px; height: 30px; }
.widget__contact .ico  { width: 26px; height: 26px; color: var(--sand); }

/* =========================================================================
   28 — PODSTRÁNKY
   Sekce bez podkladu a tmavá varianta karet. V originále jsou karty navy
   #003153; do teplé palety by studená modř nesedla, proto tmavě hnědá
   ze stejné rodiny jako patička.
   ========================================================================= */
.spec--plain { background: var(--white); padding: 45px 0 59px; }
.heading--bold { font-weight: 600; }        /* v teplé sadě drží jednu tučnost */

.iconbox--navy { background: #241d16; }
.iconbox--navy .iconbox__title { color: #fdfaf6; }
.iconbox--navy .iconbox__body { border-bottom-color: rgba(216, 195, 165, .22); }
.iconbox--navy .iconbox__body p { color: rgba(253, 250, 246, .82); }
.iconbox--navy .iconbox__icon { color: var(--sand); }
.iconbox--navy .linkarrow { color: var(--sand); }
.iconbox--navy:hover { box-shadow: 0 18px 40px rgba(30, 22, 12, .30); }

.iconbox--light { background: var(--cream); }
.iconbox--light .iconbox__icon { color: #a08a63; }

/* =========================================================================
   29 — PODSTRÁNKA PRODEJ NEMOVITOSTÍ A PODÍLŮ
   Stejné bloky jako v přesné kopii, jen doladěné do teplé palety.
   ========================================================================= */
.hero--sub { min-height: 709px; padding: 66px 0 0; background-image: url('../img/hero-luxury.jpg'); }
.hero--sub .hero__overlay {
  opacity: 1;
  background: linear-gradient(90deg, rgba(0,20,35,.74) 0%, rgba(0,20,35,.56) 40%, rgba(0,20,35,.18) 72%, rgba(0,20,35,.05) 100%);
}
.hero--sub .hero__inner { min-height: 643px; padding: 0 55px; align-items: flex-start; }
.hero--sub .hero__left { flex: none; width: 750px; padding-top: 75px; }
.hero--sub .hero__title { font-size: 60px; line-height: 70px; margin-bottom: 0; max-width: none; }
.divider-line--light { background: var(--sand); margin-top: 19px; }
.hero__list { margin-top: 22px; }
.hero__list li {
  position: relative; padding-left: 22px; margin-bottom: 10px;
  font-family: 'Inter', sans-serif; font-size: 16px; line-height: 24px; color: var(--white);
}
.hero__list li::before { content: "•"; position: absolute; left: 0; font-size: 18.4px; color: var(--sand); }
.badge--sub { margin: 211px 0 0 55px; width: 119px; height: 119px; }

.quickbar--tall ul { height: auto; }

.spec__claim {
  margin-top: 15px; text-align: center;
  font-family: 'Inter', sans-serif; font-size: 18px; line-height: 26px; font-weight: 500; color: var(--muted);
}
.spec__claim + .iconboxes { margin-top: 57px; }
.iconboxes--auto .iconbox { min-height: 0; }
.iconboxes--single { grid-auto-flow: row; grid-template-rows: none; grid-template-columns: repeat(4, 240px); }

.duo { background: var(--white); padding: 140px 0 79px; }
.duo__inner { display: flex; gap: 20px; max-width: 1140px; padding: 0 29px; }
.duo__col { width: 531px; flex: none; }
.rowbox, .card-row { display: flex; gap: 22px; padding: 30px; }
.card-row {
  background: var(--white); border: 1px solid var(--line); border-radius: 12px;
  gap: 22px; margin-bottom: 20px; transition: box-shadow .3s ease, transform .3s ease;
}
.card-row:hover { transform: translateY(-3px); box-shadow: 0 14px 34px rgba(60, 45, 25, .10); }
.rowbox { margin-bottom: 20px; }
.rowbox__icon { width: 28px; height: 28px; flex: none; color: var(--sand); }
.rowbox__title {
  font-family: 'Inter', sans-serif; font-size: 18px; line-height: 28px; font-weight: 600; color: var(--ink);
}
.rowbox p, .card-row p { margin-top: 6px; font-size: 15px; line-height: 24px; color: var(--body); }
.card-row .linkarrow { margin-top: 12px; }

.pricecard--dark {
  background: #1b1611; border-color: #1b1611; color: var(--white);
  width: 471px; margin: 50px 30px 0;
}
.pricecard__label {
  font-family: var(--font-display); font-size: 30px; line-height: 45px; font-weight: 600; color: var(--white);
}
.pricecard--dark .pricecard__kicker { color: rgba(255, 255, 255, .92); margin: 1px 0 4px; }
.pricecard--dark .pricecard__price {
  color: var(--white); max-width: none; display: flex; align-items: baseline; gap: 15px;
  font-family: var(--font-display);
}
.pricecard__time { font-size: 26px; line-height: 45px; font-weight: 600; color: var(--sand); }
.pricecard--dark .pricecard__sub { color: rgba(255, 255, 255, .78); border-bottom-color: rgba(216, 195, 165, .28); }
.pricecard--dark .tick { background-color: var(--sand); }
.pricecard--dark .pricecard__list .text { color: rgba(255, 255, 255, .9); }
.pricecard__btn--light { background: var(--white); color: var(--ink); }
.pricecard__btn--light:hover { background: var(--sand); }

.media { display: flex; min-height: 664px; background: var(--cream); }
/* text v sekci s fotkou nesmí doléhat na okraje — štítek nahoře
   a tlačítko dole měly nulovou mezeru */
.media__text { width: 541px; flex: none; padding: 56px 0 56px 50px; align-self: center; }
.media__img { position: relative; width: 710px; flex: none; background: center / cover no-repeat; }
.media__shade { position: absolute; inset: 0; background: #1b1611; opacity: .28; }
.media__shade--dark { background: #14100c; opacity: .3; }
.media--flip { flex-direction: row-reverse; min-height: 703px; }
.media--flip .media__img { width: 720px; }
.media--flip .media__text { width: 635px; padding-left: 55px; margin-right: auto; }
.media--flip .rowbox { padding: 0; margin-bottom: 6px; }
.media--flip .rowbox .linkarrow { margin-top: 6px; }
.media--flip .media__text > p { margin-top: 15px; }
/* .media__text p mělo stejnou váhu jako .rowbox p a přebíjelo ho na 27px */
.media--flip .rowbox p { margin-top: 6px; }
.media--flip .pill--sand { margin: 0 0 22px; }
.media--flip .media__text { padding-top: 56px; padding-bottom: 56px; }
.media__text .heading { margin-top: 6px; }
.media__text p { margin-top: 27px; font-size: 15px; line-height: 25px; color: var(--body); }
.media__text .heading + p { margin-top: 15px; }
.pill {
  display: inline-flex; align-items: center; border-radius: 999px; padding: 11px 22px;
  font-family: 'Inter', sans-serif; font-size: 13px; line-height: 16px; font-weight: 600;
  letter-spacing: .04em; text-transform: uppercase;
}
.pill--sand { background: var(--sand); color: var(--ink); }
.pill--navy { background: var(--ink); color: var(--white); margin-top: 32px; text-transform: none; letter-spacing: 0; font-size: 15px; padding: 15px 26px; border-radius: 10px; }
.media__text .pill--sand { margin-bottom: 22px; }
.pill--navy:hover { background: #33291f; }

.duo--podily { padding: 70px 0 100px; }
.duo--podily .heading { margin-bottom: 28px; }
.duo__col--widget iframe { display: block; width: 531px; height: 900px; border: 0; border-radius: 12px; }

.marketing { background: var(--white); padding: 59px 0 85px; }
.marketing .iconboxes { margin-top: 0; }

.reviews { background: var(--grey-bg); padding: 96px 0 96px; }
.reviews__grid { display: grid; grid-template-columns: repeat(3, 341px); gap: 30px; justify-content: center; align-items: stretch; }
.review {
  margin: 0; padding: 36px 32px 30px; text-align: left;
  background: var(--white); border: 1px solid var(--line); border-radius: 14px;
  display: flex; flex-direction: column;
}
.review blockquote { margin: 0; flex: 1; }
.review blockquote::before {
  content: "\201C"; display: block; margin-bottom: -18px;
  font-family: var(--font-display); font-size: 56px; line-height: 1; color: var(--sand);
}
.review blockquote p { font-size: 15px; line-height: 25px; color: var(--body); }
/* avatary byly obecné ilustrace ze šablony — bez nich působí recenze věrohodněji;
   podpis odděluje vlasová linka jako u citace na homepage */
.review figcaption { margin-top: 24px; padding-top: 18px; border-top: 1px solid var(--line); }
.review__name { display: block; font-family: 'Inter', sans-serif; font-size: 16px; line-height: 22px; font-weight: 600; color: var(--ink); }
.review__place {
  display: block; margin-top: 2px;
  font-family: 'Inter', sans-serif; font-size: 12px; line-height: 18px; font-weight: 600;
  letter-spacing: .08em; text-transform: uppercase; color: var(--muted);
}

@media (max-width: 1100px) {
  .duo__inner { flex-wrap: wrap; }
  .duo__col, .pricecard--dark, .duo__col--widget iframe { width: 100%; }
  .pricecard--dark { margin-left: 0; margin-right: 0; }
  .media { flex-wrap: wrap; }
  .media__img { width: 100%; min-height: 320px; }
  .media__text, .media--flip .media__text { width: 100%; padding: 40px 24px; }
  .reviews__grid { grid-template-columns: 1fr; }
  .hero--sub .hero__left { width: auto; }
  .badge--sub { margin: 40px 0 0; }
  .iconboxes--single { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* 30 — PODSTRÁNKA PRODEJ PODÍLŮ NEMOVITOSTÍ */
.hero--podily { min-height: 674px; background-image: url('../img/hero-podily.jpg'); }
.hero--podily .hero__overlay {
  background: linear-gradient(90deg, rgba(20,16,12,.80) 0%, rgba(20,16,12,.60) 42%, rgba(20,16,12,.22) 74%, rgba(20,16,12,.06) 100%);
  opacity: 1;
}
.hero--podily .hero__inner { min-height: 608px; }
.hero--podily .hero__title { max-width: 750px; }
/* Původní štítky byly různě široké (rozsypaný schod), měly přechod do
   průhledna, který se na fotce kalil, a jen první byl tučný. Nově: mřížka
   2×2 se stejnými šířkami, matné tmavé sklo a fajfka v pískové. */
.hero__pills {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px; max-width: 750px; margin-top: 40px;
}
.hero__pills li {
  display: flex; align-items: center; gap: 12px;
  padding: 14px 20px;
  background: rgba(255, 255, 255, .07);
  -webkit-backdrop-filter: blur(7px); backdrop-filter: blur(7px);
  border: 1px solid rgba(216, 195, 165, .34);
  border-radius: 10px;
  font-family: 'Inter', sans-serif; font-size: 15px; line-height: 22px; font-weight: 500;
  color: #f3ece2;
}
/* tečka jako v seznamu na předchozí podstránce, ne fajfka */
.hero__pills li::before {
  content: "\2022"; flex: none; margin-top: -2px;
  font-size: 22px; line-height: 20px; color: var(--sand);
}
/* nejsilnější tvrzení dostane pískový akcent */
.hero__pills li:first-child {
  background: rgba(216, 195, 165, .20);
  border-color: rgba(216, 195, 165, .55);
  color: #fdf8f0;
  font-weight: 600;
}
.hero__pills li:first-child::before { color: #eadcc4; }
.hero__pills li strong { font-weight: 600; }

.intro-block { background: var(--white); padding: 80px 0 45px; }
.intro-block .heading { margin-bottom: 20px; }
.ctarow { display: flex; flex-wrap: wrap; gap: 16px; justify-content: center; margin-top: 34px; }
.counter--block { margin: 46px auto 0; text-align: center; }
.counter--block .counter__value {
  font-family: var(--font-display); font-size: 45px; line-height: 52px; font-weight: 600; color: var(--ink);
}
.counter--block .counter__label {
  margin-top: 2px;
  font-family: 'Inter', sans-serif; font-size: 12px; line-height: 18px; font-weight: 600;
  letter-spacing: .08em; text-transform: uppercase; color: var(--muted);
}

.longread--sub { padding: 10px 0 81px; }
.longread--sub .heading { margin-bottom: 14px; }
/* dvojice CTA má vypadat jako pár, ne jako dva různé prvky */
.ctarow .pill {
  text-transform: none; letter-spacing: 0;
  font-size: 15px; line-height: 22px; padding: 16px 26px; border-radius: 10px;
}
.ctarow .pill--sand:hover { background: #c9b393; }

/* =========================================================================
   PRAVIDLO: žádné tučné akcentní okraje.
   Odsazení a barva stačí; 2–4px pruhy z původní šablony působí jako škrt.
   Rámečky jsou všude 1px. Platí i pro sekce, které teprve přibudou.
   ========================================================================= */
.quote, .quote--center, .quote--bio,
.hero__pills li, .card-row, .iconbox, .box-add, .review {
  border-left-width: 1px;
}
.quote, .quote--center, .quote--bio { border-left: 0; }

/* 31 — PODSTRÁNKA PRODEJ POZEMKŮ */
.hero--pozemky { min-height: 637px; background-image: url('../img/hero-pozemky.jpg'); }
.hero--pozemky .hero__overlay {
  background: linear-gradient(90deg, rgba(20,16,12,.78) 0%, rgba(20,16,12,.56) 44%, rgba(20,16,12,.18) 76%, rgba(20,16,12,.05) 100%);
  opacity: 1;
}
.hero--pozemky .hero__inner { min-height: 571px; padding: 0 85px; }
.hero--pozemky .hero__left { width: 720px; }
.hero--pozemky .hero__lead { margin-top: 22px; max-width: 720px; }
.badge--pozemky { margin: 105px 0 0 0; }

/* Nadpis je nad mřížkou, ne uvnitř levého sloupce — jinak by pravý sloupec
   potřeboval pevné odsazení, které přestane sedět, jakmile se změní písmo
   nebo se nadpis zalomí jinak. Takhle oba sloupce začínají na stejné lince. */
.duo--pozemky { padding: 100px 0 0; }
.duo__heading { margin-bottom: 48px; }
.duo__img { width: 531px; height: 289px; object-fit: cover; border-radius: 12px; margin-top: 20px; }

.widget-wide { background: var(--white); padding: 111px 0 20px; }
.widget-wide iframe {
  display: block; width: 100%; max-width: 680px; height: 900px;
  margin: 0 auto; border: 0; border-radius: 12px;
}

/* seznamy a tabulka v průvodci */
.guide-list { margin: 10px 0 0; padding-left: 22px; }
.guide-list li { margin-bottom: 4px; font-size: 15px; line-height: 26px; color: var(--body); }
.guide-list--dots { list-style: disc; }
.guide-list li::marker { color: var(--sand); }
.guide-table {
  border-collapse: collapse; margin-top: 12px; width: 100%; max-width: 560px;
  font-family: 'Inter', sans-serif; font-size: 14px; line-height: 22px;
}
.guide-table th, .guide-table td { padding: 10px 16px 10px 0; text-align: left; border-bottom: 1px solid var(--line); }
.guide-table th { font-weight: 600; color: var(--ink); }
.guide-table td { color: var(--body); }
.longread--poz { padding: 0 0 114px; }

/* 32 — PODSTRÁNKA PRODEJ LUXUSNÍCH NEMOVITOSTÍ */
.hero--lux { min-height: 514px; background-image: url('../img/hero-lux.jpg'); }
.hero--lux .hero__overlay {
  background: linear-gradient(90deg, rgba(20,16,12,.80) 0%, rgba(20,16,12,.58) 44%, rgba(20,16,12,.22) 76%, rgba(20,16,12,.06) 100%);
  opacity: 1;
}
.hero--lux .hero__inner { min-height: 448px; padding: 0 55px; }
.hero--lux .hero__left { width: 750px; }
.hero--lux .hero__lead { margin-top: 22px; max-width: 750px; }
.badge--lux { margin: 137px 0 0 0; }

.duo--lux { padding: 100px 0 0; }
.duo--lux .duo__heading { margin-bottom: 14px; }
.duo__intro { max-width: 720px; margin-bottom: 46px; font-size: 16px; line-height: 27px; color: var(--body); }
/* odznak „10 let“ odstraněn — bez něj obě kolony začínají na stejné lince */
.duo__img--tall { height: 354px; }
.widget-wide--lux { padding: 68px 0 91px; }
.marketing--lux { padding-bottom: 111px; }
.media--flip .rowbox:last-child { margin-bottom: 0; }

/* 33 — PODSTRÁNKA ČINŽOVNÍ DOMY */
.hero--cin { min-height: 606px; background-image: url('../img/hero-cinzovni.jpg'); }
.hero--cin .hero__overlay {
  background: linear-gradient(90deg, rgba(20,16,12,.84) 0%, rgba(20,16,12,.62) 44%, rgba(20,16,12,.26) 76%, rgba(20,16,12,.08) 100%);
  opacity: 1;
}
.hero--cin .hero__inner { min-height: 540px; padding: 0 55px; }
.hero--cin .hero__left { width: 750px; }
.hero--cin .hero__lead { margin-top: 18px; max-width: 750px; }

.duo--cin { padding: 100px 0 70px; }
.duo--cin .duo__heading { margin-bottom: 14px; }
.duo__col--cin { display: flex; flex-direction: column; gap: 28px; }
.duo__img--chart { width: 100%; max-width: 414px; height: auto; object-fit: contain; margin: 0 auto; }
.duo__img--wide { width: 100%; height: 380px; object-fit: cover; border-radius: 12px; }
.media__shade--cin { background: #14100c; opacity: .34; }
.media--cin { min-height: 859px; }
.longread--cin { padding: 80px 0 144px; }
.faq { margin-top: 12px; }
.faq dt { margin-top: 18px; font-family: 'Inter', sans-serif; font-size: 15px; line-height: 24px; font-weight: 600; color: var(--ink); }
.faq dd { margin: 4px 0 0; font-size: 15px; line-height: 26px; color: var(--body); }

/* =========================================================================
   34 — JEDNO ZADÁNÍ, ZÁJEM VÍCE INVESTORŮ
   Nová sekce (v originále není). Ukázkový panel je jen ilustrace, proto
   nemá interaktivní prvky — „tlačítka“ jsou <span>, aby nikdo neklikal
   na mrtvý ovládací prvek.
   ========================================================================= */
.offmarket { background: var(--cream); padding: 96px 0 104px; }
.offmarket__inner { display: flex; align-items: flex-start; gap: 56px; }
.offmarket__text { flex: 1; min-width: 0; }
.heading__accent { color: #8a7455; }
.offmarket__lead { margin-top: 20px; font-size: 17px; line-height: 30px; color: var(--body); }
.offmarket__lead strong { font-weight: 600; color: var(--ink); }

.steps { counter-reset: krok; margin-top: 34px; padding: 0; list-style: none; }
.steps li { display: flex; gap: 20px; margin-bottom: 26px; }
.steps li::before {
  counter-increment: krok; content: counter(krok);
  flex: none; width: 34px; height: 34px; border-radius: 50%;
  display: grid; place-items: center;
  background: rgba(216, 195, 165, .38); color: #6f5c3f;
  font-family: var(--font-display); font-size: 15px; font-weight: 600;
}
.steps h3 {
  font-family: 'Inter', sans-serif; font-size: 17px; line-height: 26px; font-weight: 600; color: var(--ink);
}
.steps p { margin-top: 4px; font-size: 15px; line-height: 26px; color: var(--body); }

/* ukázkový panel */
.invpanel {
  flex: none; width: 560px; margin: 0;
  background: #fbf7f1; border: 1px solid var(--line); border-radius: 16px;
  box-shadow: 0 18px 44px rgba(60, 45, 25, .10); overflow: hidden;
}
.invpanel__head {
  display: flex; align-items: center; gap: 14px;
  padding: 18px 22px; background: #1b1611;
}
.invpanel__icon {
  flex: none; width: 34px; height: 34px; border-radius: 9px;
  display: grid; place-items: center; background: rgba(216, 195, 165, .18);
}
.invpanel__icon svg {
  width: 18px; height: 18px; fill: none; stroke: var(--sand);
  stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round;
}
.invpanel__title {
  flex: 1; font-family: var(--font-display); font-size: 17px; line-height: 24px;
  font-weight: 600; color: #fdf8f0;
}
.invpanel__tag {
  font-family: 'Inter', sans-serif; font-size: 11px; line-height: 16px; font-weight: 600;
  letter-spacing: .14em; text-transform: uppercase; color: var(--sand);
}
.invpanel__list { padding: 16px; margin: 0; list-style: none; }

.invrow {
  display: flex; align-items: center; gap: 16px;
  padding: 12px 14px; margin-bottom: 8px; border-radius: 12px;
  border: 1px solid transparent;
}
.invrow--lead { background: rgba(216, 195, 165, .22); border-color: rgba(216, 195, 165, .5); }
.invrow--pending { border: 1px dashed rgba(138, 116, 85, .45); }
.invrow__mark {
  flex: none; width: 44px; height: 44px; border-radius: 11px;
  display: grid; place-items: center;
  background: linear-gradient(150deg, #c8a86f 0%, #8a7455 100%);
  font-family: 'Inter', sans-serif; font-size: 13px; font-weight: 700;
  letter-spacing: .04em; color: #fdf8f0;
}
.invrow__mark--muted { background: rgba(216, 195, 165, .42); color: #7a6647; }
.invrow__name {
  flex: 1; display: flex; flex-direction: column;
  font-family: var(--font-display); font-size: 18px; line-height: 26px; font-weight: 600; color: var(--ink);
}
.invrow__name small {
  font-family: 'Inter', sans-serif; font-size: 13px; line-height: 20px; font-weight: 400; color: var(--muted);
}
.invrow__cta {
  flex: none; padding: 10px 18px; border-radius: 9px;
  border: 1px solid rgba(138, 116, 85, .38);
  font-family: 'Inter', sans-serif; font-size: 13px; line-height: 18px; font-weight: 600; color: #6f5c3f;
}
.invrow__cta--fill { background: #8a7455; border-color: #8a7455; color: #fdf8f0; }
.invpanel__foot {
  padding: 4px 22px 20px; font-family: 'Inter', sans-serif;
  font-size: 13px; line-height: 20px; font-style: italic; color: var(--muted);
}

@media (max-width: 1100px) {
  .offmarket__inner { flex-wrap: wrap; gap: 40px; }
  .invpanel { width: 100%; }
}
@media (max-width: 620px) {
  .invrow { flex-wrap: wrap; gap: 12px; }
  .invrow__cta { width: 100%; text-align: center; }
}

/* =========================================================================
   35 — JAK TO FUNGUJE: SROVNÁNÍ NABÍDEK INVESTORŮ (stránka s podíly)
   Nová sekce, v originále není. Panel je ilustrace — „tlačítka“ jsou
   <span>, aby nikdo neklikal na mrtvý ovládací prvek. Částky jsou ukázkové
   a popisek pod panelem to říká nahlas.
   ========================================================================= */
.offers { background: var(--cream); padding: 96px 0 104px; }
.offers__inner { display: flex; align-items: flex-start; gap: 56px; }
.offers__text { flex: 1; min-width: 0; max-width: 520px; }

.eyebrow {
  display: flex; align-items: center; gap: 14px; margin-bottom: 18px;
  font-family: 'Inter', sans-serif; font-size: 12px; line-height: 18px; font-weight: 600;
  letter-spacing: .14em; text-transform: uppercase; color: #8a7455;
}
.eyebrow__line { width: 30px; height: 2px; background: #8a7455; }

.offers__lead { margin-top: 20px; font-size: 17px; line-height: 30px; color: var(--body); }
.offers__cta { margin-top: 30px; padding: 17px 26px; }
.offers__cta .ico { width: 18px; height: 18px; }

/* panel se srovnáním */
.invpanel--offers { width: 700px; }
.invpanel__sort {
  display: inline-flex; align-items: center; gap: 8px;
  font-family: 'Inter', sans-serif; font-size: 12px; line-height: 18px; font-weight: 500;
  color: rgba(240, 233, 225, .72);
}
.invpanel__sort svg {
  width: 14px; height: 14px; fill: none; stroke: var(--sand);
  stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round;
}
.invpanel--offers .invrow { align-items: center; gap: 14px; padding: 14px; }
.invrow__body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 5px; }
.invrow__top {
  display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
  font-family: var(--font-display); font-size: 18px; line-height: 24px; font-weight: 600; color: var(--ink);
}
.invrow__badge {
  padding: 4px 10px; border-radius: 6px; background: var(--sand);
  font-family: 'Inter', sans-serif; font-size: 10px; line-height: 14px; font-weight: 700;
  letter-spacing: .1em; text-transform: uppercase; color: #4a3c28;
}
.invrow__note {
  display: flex; align-items: center; gap: 8px;
  font-family: 'Inter', sans-serif; font-size: 13px; line-height: 20px; color: var(--muted);
}
.invrow__note svg {
  flex: none; width: 15px; height: 15px; fill: none; stroke: #a08a63;
  stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round;
}
.invrow__price {
  flex: none; display: flex; flex-direction: column; align-items: flex-end; text-align: right;
  font-family: 'Inter', sans-serif; font-size: 17px; line-height: 24px; font-weight: 700;
  color: var(--ink); font-variant-numeric: tabular-nums;
}
.invrow__price small {
  font-size: 12px; line-height: 16px; font-weight: 400; color: var(--muted);
}
.invrow__price--soft { font-size: 15px; color: #8a7455; }
.invrow--lead .invrow__price { color: #6f5c3f; }

/* odstíny značek investorů — tonální řada, ne duha */
.invrow__mark--1 { background: linear-gradient(150deg, #c8a86f 0%, #8a7455 100%); }
.invrow__mark--2 { background: linear-gradient(150deg, #b9a37c 0%, #7a6647 100%); }
.invrow__mark--3 { background: linear-gradient(150deg, #cbb894 0%, #917c58 100%); }
.invrow__mark--4 { background: linear-gradient(150deg, #a89272 0%, #6b5a3f 100%); }
.invrow__mark--muted { display: grid; place-items: center; }
.invrow__mark--muted svg {
  width: 20px; height: 20px; fill: none; stroke: #7a6647;
  stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round;
}

@media (max-width: 1200px) {
  .offers__inner { flex-wrap: wrap; gap: 40px; }
  .offers__text, .invpanel--offers { width: 100%; max-width: none; }
}
@media (max-width: 760px) {
  .invpanel--offers .invrow { flex-wrap: wrap; }
  .invrow__price { align-items: flex-start; text-align: left; }
  .invrow__cta { width: 100%; text-align: center; }
}

/* 36 — PODSTRÁNKA 3D SCAN NEMOVITOSTI */
.hero--3d { min-height: 587px; background: var(--cream-hero); }
.hero--3d .hero__video { position: absolute; inset: 0; overflow: hidden; pointer-events: none; }
.hero--3d .hero__video iframe {
  position: absolute; top: 50%; left: 50%; width: 177.77vh; height: 56.25vw;
  min-width: 100%; min-height: 100%; transform: translate(-50%, -50%); border: 0;
}
.hero--3d .hero__overlay {
  background: linear-gradient(90deg, rgba(20,16,12,.78) 0%, rgba(20,16,12,.54) 44%, rgba(20,16,12,.2) 76%, rgba(20,16,12,.06) 100%);
  opacity: 1;
}
.hero--3d .hero__inner { min-height: 521px; padding: 0 85px; }
.hero--3d .hero__left { width: 720px; }
.hero--3d .hero__lead { margin-top: 22px; max-width: 720px; }

.spec--3d { background: var(--cream); padding: 86px 0 44px; }
.spec--3d .iconboxes { margin-top: 90px; }
.spec--3d .iconbox { min-height: 321px; }

/* obrázek vedle textu v kontejneru */
.split { background: var(--white); padding: 96px 0; }
.split__inner { display: flex; align-items: center; gap: 70px; }
.split__media { flex: none; width: 536px; }
.split__media img { width: 536px; height: auto; border-radius: 14px; object-fit: cover; }
.split__text { flex: 1; min-width: 0; max-width: 500px; }
.split__text .heading { margin: 14px 0 0; }
.split__text p { margin-top: 20px; font-size: 16px; line-height: 27px; color: var(--body); }
.split__text a { color: var(--ink); text-decoration: underline; text-decoration-color: var(--sand); text-decoration-thickness: 2px; text-underline-offset: 3px; }

.duo--3d { padding: 70px 0 48px; }
.duo__col--wide { width: 541px; }
.duo__col--narrow { width: 478px; }
.duo--3d .heading { margin: 14px 0 0; }
.duo--3d .duo__intro { margin: 14px 0 26px; max-width: 541px; }
.duo--3d .rowbox { padding: 0; margin-bottom: 22px; }
.duo__tour { display: block; width: 100%; height: 480px; margin-top: 24px; border: 0; border-radius: 14px; }

.pasport { background: var(--white); padding: 60px 0 96px; }
.pasport__inner { display: flex; gap: 40px; }
.pasport__col { flex: 1; min-width: 0; }
.pasport__q {
  margin-top: 30px; font-family: 'Inter', sans-serif;
  font-size: 17px; line-height: 26px; font-weight: 600; color: var(--ink);
}
.pasport p { margin-top: 8px; font-size: 15px; line-height: 26px; color: var(--body); }

.matterport-intro { background: var(--cream); padding: 72px 0 80px; }
.matterport-intro__text { max-width: 720px; }
.matterport-intro p { margin-top: 20px; font-size: 16px; line-height: 28px; color: var(--body); }

@media (max-width: 1100px) {
  .split__inner { flex-wrap: wrap; gap: 32px; }
  .split__media, .split__media img, .split__text { width: 100%; max-width: none; }
  .duo__col--wide, .duo__col--narrow { width: 100%; }
  .pasport__inner { flex-wrap: wrap; }
}

/* 37 — PODSTRÁNKA INVESTIČNÍ NEMOVITOSTI */
.hero--inv { min-height: 452px; background-image: url('../img/hero-inv.jpg'); }
.hero--inv .hero__overlay {
  background: linear-gradient(90deg, rgba(20,16,12,.80) 0%, rgba(20,16,12,.58) 44%, rgba(20,16,12,.22) 76%, rgba(20,16,12,.06) 100%);
  opacity: 1;
}
.hero--inv .hero__inner { min-height: 386px; padding: 0 55px; }
.hero--inv .hero__left { width: 750px; }

.invest { background: var(--white); padding: 88px 0 0; }
.invest .heading { margin-bottom: 16px; }
.invest__lead { text-align: center; font-size: 16px; line-height: 27px; color: var(--body); }
.invest__panels { display: flex; gap: 30px; justify-content: center; margin-top: 46px; align-items: stretch; }
.pricecard--inv { width: 540px; margin: 0; display: flex; flex-direction: column; }
.pricecard--inv .pricecard__kicker { margin-bottom: 22px; }
.pricecard--inv .pricecard__price { max-width: none; }
.pricecard--inv .pricecard__list { margin-top: 22px; flex: 1; }
.pricecard--inv .pricecard__btn { margin-top: 20px; }
.tick--go { background-color: var(--sand); }
.pricecard--dark .tick--go { background-color: var(--sand); }

.duo--inv { padding: 66px 0 60px; }
.duo--inv .heading { margin-bottom: 40px; }
.rowbox--lg .rowbox__title { font-size: 20px; line-height: 29px; }
.duo--inv .rowbox { padding: 0; margin-bottom: 40px; }
.duo--inv .duo__col--narrow { display: flex; align-items: center; }
.duo--inv .duo__img { border-radius: 14px; }

.projekty { background: var(--white); padding: 0 0 56px; }
.projekty__title {
  margin-bottom: 32px; font-family: 'Inter', sans-serif; font-size: 12px; line-height: 18px;
  font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--muted);
}
.refs__track--proj img { width: 160px; height: auto; max-height: 54px; object-fit: contain; opacity: .55; }
.refs__viewport:hover .refs__track--proj img { opacity: .8; }

.forms2 { background: var(--grey-bg); padding: 56px 0 72px; }
.forms2__inner { display: flex; gap: 24px; }
.forms2 iframe { flex: 1; min-width: 0; height: 2800px; border: 0; border-radius: 12px; background: #fff; }
@media (max-width: 1100px) {
  .invest__panels, .forms2__inner { flex-wrap: wrap; }
  .pricecard--inv, .forms2 iframe { width: 100%; }
  .duo--inv .duo__col--narrow { padding-top: 0; }
}

/* =========================================================================
   38 — PODSTRÁNKA VÝKUP NEMOVITOSTÍ
   Hero má na živém webu vpravo celý poptávkový formulář — nechávám ho tam,
   protože na téhle stránce je poptávka to hlavní. Dostal ale rám s hlavičkou,
   aby nevisel v prostoru, a odpadlo počítání „dva + šest“.
   Nadpis sekce „Proč poptat naše služby?“ je nad mřížkou, takže se sloupce
   srovnají samy a nedrží je pevný odsazovací pixel.
   ========================================================================= */
.hero--vyk {
  min-height: clamp(660px, calc(100svh - 78px), 860px);
  padding: 66px 0 0; background-image: url('../img/hero-vykup.png');
}
.hero--vyk .hero__overlay {
  background: linear-gradient(100deg, rgba(240, 233, 225, .96) 0%, rgba(240, 233, 225, .9) 46%, rgba(240, 233, 225, .72) 100%);
  opacity: 1;
}
.hero--vyk .hero__inner { min-height: 0; padding: 56px 55px; align-items: center; gap: 56px; }
.hero--vyk .hero__left { flex: 1; min-width: 0; width: auto; padding-top: 0; }
/* text si drží čitelnou délku řádku, ale sloupec roste — karta pak sedí u pravého kraje */
.hero--vyk .hero__title, .hero--vyk .hero__sub, .hero--vyk .hero__list { max-width: 560px; }
.hero--vyk .hero__title {
  font-family: var(--font-display); font-size: 52px; line-height: 62px; font-weight: 600;
  color: var(--ink); text-wrap: balance;
}
.hero--vyk .hero__sub {
  margin-top: 20px; max-width: 500px;
  font-family: 'Inter', sans-serif; font-size: 17px; line-height: 29px; font-weight: 400; color: var(--body);
}
.hero--vyk .hero__list { margin-top: 28px; }
.hero--vyk .hero__list li {
  padding-left: 26px; margin-bottom: 12px;
  font-family: 'Inter', sans-serif; font-size: 15px; line-height: 24px; color: var(--ink);
}
.hero--vyk .hero__list li::before {
  content: ""; position: absolute; left: 0; top: 9px;
  width: 7px; height: 7px; border-radius: 50%; background: var(--sand);
}
.hero--vyk .eyebrow { color: #8a7455; }
.hero--vyk .eyebrow__line { background: #8a7455; }

/* poptávkový formulář v heru */
.hero--vyk .hero__formcol { flex: none; width: 480px; padding-top: 0; }
.heroform {
  background: rgba(255, 255, 255, .94); border: 1px solid var(--line); border-radius: 16px;
  box-shadow: 0 22px 50px rgba(60, 45, 25, .12); overflow: hidden;
}
.heroform__head { background: var(--ink); }
.heroform__title {
  font-family: var(--font-display); font-size: 21px; line-height: 29px; font-weight: 600; color: #fdf8f0;
}
.heroform__note { margin-top: 8px; font-size: 13px; line-height: 20px; color: rgba(253, 248, 240, .74); }
.heroform__head { padding: 20px 26px 18px; }
.heroform .cform { padding: 22px 26px 22px; }
/* v heru stačí krátký formulář — plnou verzi s popiskami má sekce Kontakt */
.cform--compact input, .cform--compact textarea { margin-top: 10px; }
.cform--compact input:first-of-type { margin-top: 0; }
.cform--compact textarea { min-height: 0; height: 78px; }
.cform--compact .cform__submit { margin-top: 18px; }
.heroform__alt {
  margin-top: 14px; text-align: center;
  font-family: 'Inter', sans-serif; font-size: 14px; line-height: 20px; color: var(--muted);
}
.heroform__alt a { color: var(--ink); font-weight: 600; border-bottom: 1px solid var(--sand); }
.heroform .cform__note { margin-top: 12px; font-size: 11px; line-height: 17px; }

.spec--vyk { background: var(--cream); padding: 88px 0 96px; }
.spec--vyk .heading { margin-top: 0; }
.spec__p {
  max-width: 800px; margin: 18px auto 0; text-align: center;
  font-size: 15px; line-height: 27px; color: var(--body);
}
.spec__p--lead { font-size: 17px; line-height: 30px; color: var(--ink); }
.spec--vyk .iconbox { min-height: 0; }

/* tři sloupce dlaždic + úzký ceník ve čtvrtém sloupci */
.vykgrid { display: flex; align-items: stretch; justify-content: center; gap: 24px; margin-top: 52px; }
.vykgrid .iconboxes {
  margin-top: 0; grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: 24px; row-gap: 24px; flex: 1; min-width: 0;
}
.vykgrid .iconbox { padding: 26px 24px; }
.iconbox__mark {
  display: grid; place-items: center; flex: none;
  width: 46px; height: 46px; border-radius: 12px; background: var(--cream);
}
.iconbox__mark .ico-lg { width: 24px; height: 24px; color: var(--ink); }
.vykgrid .iconbox__body { margin-top: 18px; padding-bottom: 0; border-bottom: 0; }
.vykgrid .iconbox__body p { margin-top: 6px; font-size: 14px; line-height: 23px; }

.pricecard--aukce {
  flex: none; width: 268px; margin: 0; position: relative;
  display: flex; flex-direction: column;
}
.pricecard__tag {
  align-self: flex-start; margin-bottom: 18px; padding: 6px 14px; border-radius: 999px;
  background: rgba(216, 195, 165, .18); color: var(--sand);
  font-family: 'Inter', sans-serif; font-size: 11px; line-height: 16px; font-weight: 600;
  letter-spacing: .14em; text-transform: uppercase;
}
.pricecard--aukce .pricecard__label {
  font-family: var(--font-display); font-size: 24px; line-height: 32px; font-weight: 600;
}
.pricecard--aukce .pricecard__kicker { margin: 4px 0 20px; }
.pricecard--aukce .pricecard__price { font-family: var(--font-display); font-size: 38px; line-height: 46px; }
.pricecard--aukce .pricecard__list { flex: 1; }
.pricecard--aukce .pricecard__btn { margin-top: 8px; }

.duo--vyk { padding: 96px 0 96px; }
.duo--vyk > .container--wide { margin-bottom: 40px; }
.duo--vyk .duo__inner { align-items: flex-start; gap: 56px; }
.duo--vyk .duo__col { width: auto; flex: 1; min-width: 0; }
.duo--vyk .rowbox { padding: 0; gap: 22px; margin-bottom: 34px; }
.duo--vyk .rowbox:last-child { margin-bottom: 0; }
.duo--vyk .rowbox p { margin-top: 8px; font-size: 15px; line-height: 26px; }
.duo--vyk .duo__col--narrow { flex: none; width: 470px; padding-top: 0; }
.duo__img--bleed { display: block; width: 100%; height: 340px; object-fit: cover; border-radius: 14px; margin: 0; }

/* tři čísla pod fotkou */
.statrow { display: flex; gap: 12px; margin-top: 20px; }
.statrow__item {
  flex: 1; padding: 18px 16px; border-radius: 12px;
  background: var(--grey-bg); border: 1px solid var(--line); text-align: center;
}
.statrow__item b {
  display: block; font-family: var(--font-display); font-size: 24px; line-height: 30px;
  font-weight: 600; color: var(--ink);
}
.statrow__item span {
  display: block; margin-top: 4px;
  font-family: 'Inter', sans-serif; font-size: 12px; line-height: 17px; color: var(--muted);
}

.maximum { background: var(--white); padding: 0 0 96px; }
.maximum__inner { display: flex; align-items: center; gap: 64px; }
.maximum__text { flex: 1; min-width: 0; max-width: 620px; }
.maximum__text > p { margin-top: 16px; font-size: 16px; line-height: 28px; color: var(--body); }
.maximum a { color: var(--ink); font-weight: 600; border-bottom: 1px solid var(--sand); }
.minicard { flex: none; width: 268px; margin: 0; }
.minicard__thumb { position: relative; display: block; border-radius: 14px; overflow: hidden; }
.minicard__thumb img { display: block; width: 100%; height: 200px; object-fit: cover; }
.minicard__tag {
  position: absolute; left: 12px; top: 12px; padding: 6px 12px; border-radius: 999px;
  background: rgba(27, 22, 17, .82); color: #fdf8f0;
  font-family: 'Inter', sans-serif; font-size: 11px; line-height: 16px; font-weight: 600;
  letter-spacing: .1em; text-transform: uppercase;
}
.minicard__title { margin-top: 16px; font-family: var(--font-display); font-size: 18px; line-height: 26px; font-weight: 600; }
.minicard__title a { color: var(--ink); }
.minicard__meta {
  margin-top: 6px;
  font-family: 'Inter', sans-serif; font-size: 11px; line-height: 16px; font-weight: 600;
  letter-spacing: .12em; text-transform: uppercase; color: var(--muted);
}

.media--leasing { min-height: 560px; background: var(--cream); }
.media--leasing .media__text { flex: none; width: 660px; padding: 56px 90px 56px 50px; align-self: center; }
.media--leasing .media__img { flex: 1; width: auto; min-width: 0; }
.media--leasing .media__text .heading { margin-top: 0; font-size: 38px; line-height: 48px; }
.media--leasing .media__text > p { margin-top: 18px; font-size: 16px; line-height: 28px; }
.media__cta { margin-top: 28px; padding: 15px 24px; }

.longread--vyk { padding: 88px 0 88px; }
.longread--vyk .heading { margin-bottom: 16px; max-width: 900px; }
.longread--vyk > .container > p { margin-top: 16px; }
.longread--vyk details h2 {
  margin-top: 30px;
  font-family: var(--font-display); font-size: 26px; line-height: 34px; font-weight: 600; color: var(--ink);
}
.longread--vyk details h3 { font-size: 20px; line-height: 28px; }
.longread--vyk details ul, .longread--vyk details ol { margin: 10px 0 0; padding-left: 22px; }
.longread--vyk details li { font-size: 15px; line-height: 26px; color: var(--body); }

.reviews--4 { background: var(--grey-bg); padding: 88px 0 96px; }
.reviews--4 > .container .heading { margin-bottom: 40px; }
.reviews--4 .reviews__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.reviews--4 .review { padding: 28px 24px 24px; }
.reviews--4 .review blockquote p { font-size: 14px; line-height: 24px; }

@media (max-width: 1100px) {
  .hero--vyk .hero__inner { flex-wrap: wrap; }
  .hero--vyk .hero__left, .hero--vyk .hero__formcol { width: 100%; max-width: none; }
  .vykgrid { flex-wrap: wrap; }
  .pricecard--aukce, .minicard { width: 100%; }
  .maximum__inner, .duo--vyk .duo__inner { flex-wrap: wrap; }
  .duo--vyk .duo__col--narrow { width: 100%; }
  .media--leasing .media__text { width: 100%; padding: 40px 24px; }
  .reviews--4 .reviews__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
  .reviews--4 .reviews__grid { grid-template-columns: 1fr; }
  .statrow { flex-wrap: wrap; }
}

/* =========================================================================
   39 — PODSTRÁNKA PRONÁJEM NEMOVITOSTÍ
   Na živém webu je podtitul pískový přes světlou fotku, takže ho nejde
   přečíst — hero dostal spodní gradient a podtitul čitelnou barvu.
   Citace v heru měla 4px černý pruh vlevo; zůstala vlasová linka.
   Ceník: tři karty ve stejné výšce, „Full servis“ je zvýrazněná.
   Odhad pronájmu dostal rám s vysvětlením, aby nevisel v prostoru.
   ========================================================================= */
.hero--pron {
  min-height: clamp(620px, calc(100svh - 78px), 800px);
  padding: 66px 0 0; background-image: url('../img/hero-pronajem.jpg');
}
.hero--pron .hero__overlay {
  background: linear-gradient(90deg, rgba(20, 16, 12, .82) 0%, rgba(20, 16, 12, .62) 46%, rgba(20, 16, 12, .18) 100%);
  opacity: 1;
}
.hero--pron .hero__inner { min-height: 0; padding: 56px 55px; align-items: center; }
.hero--pron .hero__left { width: 700px; padding-top: 0; }
.hero--pron .hero__title {
  font-family: var(--font-display); font-size: 54px; line-height: 64px; font-weight: 600;
  color: #fdf8f0; text-wrap: balance;
}
.hero--pron .hero__sub {
  margin-top: 16px;
  font-family: 'Inter', sans-serif; font-size: 19px; line-height: 30px; font-weight: 500; color: var(--sand);
}
.eyebrow--light { color: var(--sand); }
.eyebrow--light .eyebrow__line { background: var(--sand); }
.hero__quote {
  margin: 26px 0 0; padding: 0 0 0 22px; max-width: 620px;
  border-left: 1px solid rgba(216, 195, 165, .55);
  font-family: var(--font-display); font-size: 18px; line-height: 31px; font-weight: 400; color: #f3ece2;
}
.hero--pron .hero__list { margin-top: 26px; display: flex; flex-wrap: wrap; gap: 10px 26px; }
.hero--pron .hero__list li {
  margin: 0; padding-left: 20px;
  font-family: 'Inter', sans-serif; font-size: 15px; line-height: 24px; color: rgba(253, 248, 240, .88);
}
.hero--pron .hero__list li::before {
  content: ""; position: absolute; left: 0; top: 9px;
  width: 6px; height: 6px; border-radius: 50%; background: var(--sand);
}
.badge--pron { margin: 0 0 0 auto; }
/* odznak patří k textu, ne na kraj fotky */
.badge--pron { margin-right: 420px; }

/* tři úrovně spolupráce */
.spec--pron { background: var(--white); padding: 88px 0 96px; }
.spec--pron .spec__claim { max-width: 720px; margin: 16px auto 0; line-height: 27px; }
.prongrid {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px; align-items: start; margin-top: 48px;
}
.pricecard--pron { width: auto; margin: 0; display: flex; flex-direction: column; padding: 32px 28px; }
.pricecard--pron .pricecard__label {
  font-family: var(--font-display); font-size: 26px; line-height: 34px; font-weight: 600; color: var(--ink);
}
.pricecard--dark.pricecard--pron { width: auto; }
.pricecard--dark.pricecard--pron .pricecard__label { color: #fdf8f0; }
.pricecard--pron .pricecard__kicker {
  margin: 8px 0 0; font-size: 14px; line-height: 22px; font-weight: 400; color: var(--muted);
}
.pricecard--dark.pricecard--pron .pricecard__kicker { color: rgba(253, 248, 240, .72); }
.pricecard--pron .pricecard__list {
  flex: 1; margin: 24px 0 0; padding-top: 24px; border-top: 1px solid var(--line);
}
.pricecard--dark.pricecard--pron .pricecard__list { border-top-color: rgba(216, 195, 165, .28); }
.pricecard--pron .pricecard__list li { margin-bottom: 11px; }
.pricecard--pron .pricecard__list li:last-child { margin-bottom: 0; }
.pricecard--pron .pricecard__btn { margin-top: 26px; }
.pricecard--pron-full { position: relative; }
.pricecard--pron-full .pricecard__tag { margin-bottom: 16px; }

.duo--pron { padding: 96px 0 88px; }
.duo--pron > .container--wide { margin-bottom: 44px; }
.duo--pron .heading { margin-bottom: 14px; }
.duo--pron .duo__intro { max-width: 640px; margin: 0; font-size: 16px; line-height: 28px; }
.duo--pron .duo__inner { align-items: flex-start; gap: 56px; }
.duo--pron .duo__col { width: auto; flex: 1; min-width: 0; }
.duo--pron .rowbox { padding: 0; gap: 22px; margin-bottom: 34px; }
.duo--pron .rowbox:last-child { margin-bottom: 0; }
.duo--pron .rowbox p { margin-top: 8px; font-size: 15px; line-height: 26px; color: var(--body); }
.duo--pron .duo__col--widget { flex: none; width: 470px; padding-top: 0; }

/* rám kolem oceňovacího widgetu */
.widgetcard {
  background: var(--grey-bg); border: 1px solid var(--line); border-radius: 16px;
  padding: 26px 24px 18px; overflow: hidden;
}
.widgetcard__title {
  font-family: var(--font-display); font-size: 21px; line-height: 29px; font-weight: 600; color: var(--ink);
}
.widgetcard__note { margin-top: 8px; font-size: 14px; line-height: 22px; color: var(--muted); }
.widgetcard iframe {
  display: block; width: 100%; height: 900px; margin-top: 18px; border: 0;
  border-radius: 12px; background: #fff;
}
.duo--pron .refs__viewport { margin-top: 80px; }
.duo--pron .projekty__title { margin-top: 80px; }
.duo--pron .projekty__title + .refs__viewport { margin-top: 0; }

.media--pron { min-height: 620px; background: var(--cream); }
.media--pron .media__text { flex: none; width: 700px; padding: 56px 90px 56px 50px; align-self: center; }
.media--pron .media__img { flex: 1; width: auto; min-width: 0; }
.media--pron .media__text .heading { margin-top: 0; }
.media--pron .media__sub { margin-top: 14px; font-size: 17px; line-height: 28px; font-weight: 500; }
.media--pron .media__text > p { margin-top: 22px; font-size: 15px; line-height: 26px; }
.media__shade--pron { background: #14100c; opacity: .18; }
.media__cta { margin-top: 28px; padding: 15px 24px; }

.checklist { margin: 24px 0 0; padding: 0; list-style: none; }
.checklist li {
  position: relative; padding-left: 30px; margin-bottom: 10px;
  font-family: 'Inter', sans-serif; font-size: 15px; line-height: 25px; color: var(--body);
}
.checklist li:last-child { margin-bottom: 0; }
.checklist li::before {
  content: ""; position: absolute; left: 0; top: 5px; width: 16px; height: 16px; border-radius: 50%;
  background: var(--sand) no-repeat center / 9px 9px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M1.5 6.4l3 3 6-6.4' fill='none' stroke='%231c1c1e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

/* avatary byly třikrát tentýž ilustrační obrázek — bez nich to působí věrohodněji */
.reviews--pron { background: var(--grey-bg); padding: 88px 0 96px; }
.reviews--pron > .container .heading { margin-bottom: 40px; }
.reviews--pron .reviews__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }

.longread--pron { padding: 88px 0 88px; }
.longread--pron .heading { margin-bottom: 16px; }
.longread--pron > .container > p { margin-top: 16px; }
.longread--pron details h2 {
  margin-top: 30px;
  font-family: var(--font-display); font-size: 26px; line-height: 34px; font-weight: 600; color: var(--ink);
}
.longread--pron details h3 { font-size: 20px; line-height: 28px; }
.longread--pron details ul, .longread--pron details ol { margin: 10px 0 0; padding-left: 22px; }
.longread--pron details li { font-size: 15px; line-height: 26px; color: var(--body); }

.blog--pron { background: var(--cream); padding: 88px 0 96px; }
.blog__grid--2 { grid-template-columns: repeat(2, minmax(0, 520px)); }
.blog--pron .post__thumb img { width: 100%; height: 260px; }

@media (max-width: 1100px) {
  .hero--pron .hero__inner { flex-wrap: wrap; }
  .hero--pron .hero__left { width: 100%; }
  .badge--pron { margin: 32px 0 0; }
  .prongrid { grid-template-columns: 1fr; }
  .duo--pron .duo__inner { flex-wrap: wrap; }
  .duo--pron .duo__col--widget { width: 100%; }
  .media--pron .media__text { width: 100%; padding: 40px 24px; }
  .reviews--pron .reviews__grid, .blog__grid--2 { grid-template-columns: 1fr; }
}

/* =========================================================================
   40 — PODSTRÁNKA SPRÁVA NEMOVITOSTÍ
   Hero měl bílý text přes světlou fotku, takže nadpis nešlo přečíst —
   dostal tmavý gradient a dvě tlačítka. Číslované kroky „1. 2. 3.“ psané
   ručně v textu nahradila komponenta .steps, takže se čísla nedublují.
   Odstavce s ✅ v sekci „pronájem bez správy“ jsou teď skutečný seznam.
   ========================================================================= */
.hero--spr {
  min-height: clamp(560px, calc(100svh - 78px), 760px);
  padding: 66px 0 0; background-image: url('../img/hero-sprava.jpg');
}
.hero--spr .hero__overlay {
  background: linear-gradient(95deg, rgba(20, 16, 12, .84) 0%, rgba(20, 16, 12, .6) 52%, rgba(20, 16, 12, .18) 100%);
  opacity: 1;
}
.hero--spr .hero__inner { min-height: 0; padding: 56px 85px; align-items: center; }
.hero--spr .hero__left { width: 720px; padding-top: 0; }
.hero--spr .hero__title {
  font-family: var(--font-display); font-size: 54px; line-height: 64px; font-weight: 600;
  color: #fdf8f0; text-wrap: balance;
}
.hero--spr .hero__lead {
  margin-top: 20px; max-width: 620px;
  font-family: 'Inter', sans-serif; font-size: 17px; line-height: 29px; color: rgba(253, 248, 240, .88);
}
.hero__cta { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 32px; }
.hero__cta .btn { padding: 16px 26px; }
.btn--ghost {
  background: transparent; color: #fdf8f0;
  border: 1px solid rgba(253, 248, 240, .45);
}
.btn--ghost:hover { background: rgba(253, 248, 240, .12); }

.spec--spr { background: var(--cream); padding: 88px 0 96px; }
.spec--spr .spec__p { max-width: 800px; margin: 16px auto 0; text-align: center; line-height: 27px; }
.spec--spr .iconboxes { margin-top: 48px; grid-template-columns: repeat(4, minmax(0, 1fr)); column-gap: 24px; }
.spec--spr .iconbox { min-height: 0; padding: 26px 24px; }
.spec--spr .iconbox__body { margin-top: 18px; padding-bottom: 0; border-bottom: 0; }
.spec--spr .iconbox__body p { margin-top: 6px; font-size: 14px; line-height: 23px; }

.duo--spr { background: var(--white); padding: 96px 0; }
.duo--spr .duo__inner { gap: 64px; align-items: center; padding: 0 15px; }
.duo--spr .duo__col--img { flex: none; width: 460px; }
.duo--spr .duo__col--img img { display: block; width: 100%; height: auto; }
.duo--spr .duo__col--steps { flex: 1; min-width: 0; width: auto; }
.duo--spr .heading { margin: 0; }
.duo--spr .duo__intro { margin: 16px 0 0; max-width: 560px; font-size: 16px; line-height: 28px; }
.duo--spr .steps { margin-top: 32px; }

.media--spr { min-height: 540px; background: var(--cream); }
.media--spr .media__img { flex: 1; width: auto; min-width: 0; }
.media--spr .media__text { flex: none; width: 620px; padding: 56px 80px 56px 50px; align-self: center; }
.media--spr .media__text .heading { margin-top: 0; }
.media--spr .media__text > p { margin-top: 18px; font-size: 16px; line-height: 28px; }

.duo--spr2 { background: var(--white); padding: 96px 0; }
.duo--spr2 > .container--wide { margin-bottom: 40px; }
.duo--spr2 .duo__inner { align-items: flex-start; gap: 56px; }
.duo--spr2 .duo__col { width: auto; flex: 1; min-width: 0; }
.duo--spr2 .rowbox { padding: 0; gap: 22px; margin-bottom: 30px; }
.duo--spr2 .rowbox:last-child { margin-bottom: 0; }
.duo--spr2 .rowbox p { margin-top: 8px; font-size: 15px; line-height: 26px; color: var(--body); }
.duo--spr2 .duo__col--widget { flex: none; width: 470px; padding-top: 0; }

.media--spr2 { min-height: 640px; background: var(--cream); }
.media--spr2 .media__img { flex: 1; width: auto; min-width: 0; }
.media--spr2 .media__text { flex: none; width: 660px; padding: 56px 80px 56px 50px; align-self: center; }
.media--spr2 .media__text .heading { margin-top: 0; }
.checklist--lead li { padding-left: 32px; margin-bottom: 14px; }
.checklist--lead b { color: var(--ink); font-weight: 600; }

.spec--spr3 { background: var(--grey-bg); padding: 88px 0 96px; }
.spec--spr3 .prongrid { margin-top: 48px; }

.reviews--spr { background: var(--white); padding: 88px 0 96px; }
.reviews--spr > .container .heading { margin-bottom: 40px; }
.reviews--spr .reviews__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }

@media (max-width: 1100px) {
  .spec--spr .iconboxes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .duo--spr .duo__inner, .duo--spr2 .duo__inner { flex-wrap: wrap; }
  .duo--spr .duo__col--img, .duo--spr2 .duo__col--widget { width: 100%; }
  .media--spr .media__text, .media--spr2 .media__text { width: 100%; padding: 40px 24px; }
  .reviews--spr .reviews__grid { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
  .spec--spr .iconboxes { grid-template-columns: 1fr; }
}

/* =========================================================================
   41 — PODSTRÁNKA ONLINE MARKETING
   Nadpisy na živém webu běží animovaně po znacích, takže se vykreslí
   v Poppins — tady jsou v Fraunces jako všude jinde. Odkaz na doménu
   byl nad nadpisem a čouhal 15 px z okraje; teď je pod textem jako
   normální tlačítko a ukazuje, že vede mimo web.
   ========================================================================= */
.hero--mkt {
  min-height: clamp(560px, calc(100svh - 78px), 760px);
  padding: 66px 0 0; background-image: url('../img/hero-marketing.jpg');
}
.hero--mkt .hero__overlay {
  background: linear-gradient(95deg, rgba(20, 16, 12, .86) 0%, rgba(20, 16, 12, .64) 50%, rgba(20, 16, 12, .2) 100%);
  opacity: 1;
}
.hero--mkt .hero__inner { min-height: 0; padding: 56px 85px; align-items: center; }
.hero--mkt .hero__left { width: 720px; padding-top: 0; }
.hero--mkt .hero__title {
  font-family: var(--font-display); font-size: 54px; line-height: 64px; font-weight: 600;
  color: #fdf8f0; text-wrap: balance;
}
.hero--mkt .hero__lead {
  margin-top: 20px; max-width: 620px;
  font-family: 'Inter', sans-serif; font-size: 17px; line-height: 29px; color: rgba(253, 248, 240, .88);
}

.mktintro { background: var(--white); padding: 88px 0 96px; }
.mktintro .heading { margin: 0; }
.mktintro__p {
  max-width: 800px; margin: 20px auto 0; text-align: center;
  font-size: 16px; line-height: 29px; color: var(--body);
}
.mktintro a { color: var(--ink); font-weight: 600; border-bottom: 1px solid var(--sand); }
.mktintro .iconboxes {
  margin-top: 52px; grid-template-columns: repeat(4, minmax(0, 1fr)); column-gap: 24px; row-gap: 24px;
}
.mktintro .iconbox { min-height: 0; padding: 26px 24px; }
.mktintro .iconbox__body { margin-top: 18px; padding-bottom: 0; border-bottom: 0; }
.mktintro .iconbox__body p { margin-top: 6px; font-size: 14px; line-height: 23px; }

/* ukázky prací */
.media--case { min-height: 600px; }
.media--case .media__img { flex: 1; width: auto; min-width: 0; }
.media--case .media__text {
  flex: none; width: 620px; padding: 56px 80px 56px 50px; align-self: center;
}
.media--case .media__text .heading { margin-top: 0; font-size: 38px; line-height: 48px; }
.media--case .media__text > p { margin-top: 18px; font-size: 16px; line-height: 28px; }
.media--case1 { background: var(--white); }
.media--case2 { background: var(--cream); }
.media--case3 { background: var(--white); }
.media__pill { margin-top: 28px; gap: 8px; border-radius: 8px; text-transform: none; letter-spacing: 0; font-size: 14px; }
.media__pill .ico-xs { width: 14px; height: 14px; }

.mktrefs { background: var(--grey-bg); padding: 88px 0 96px; }
.refs__track--mkt img { width: 160px; height: 80px; object-fit: contain; opacity: .55; }
.refs__viewport:hover .refs__track--mkt img { opacity: .85; }
.mktrefs__title { margin-top: 88px; }
.mktrefs__note { margin-top: 12px; font-size: 15px; line-height: 26px; color: var(--muted); }

/* rám kolem screenshotu, aby bylo poznat, že jde o ukázku z aplikace */
.shotframe {
  margin: 28px 0 0; background: var(--white);
  border: 1px solid var(--line); border-radius: 14px; overflow: hidden;
  box-shadow: 0 18px 44px rgba(60, 45, 25, .10);
}
.shotframe__bar {
  display: flex; align-items: center; gap: 7px;
  padding: 12px 16px; background: #f1ebe3; border-bottom: 1px solid var(--line);
}
.shotframe__bar i { width: 9px; height: 9px; border-radius: 50%; background: rgba(120, 110, 99, .35); }
.shotframe img { display: block; width: 100%; height: auto; }

@media (max-width: 1100px) {
  .mktintro .iconboxes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .media--case { flex-wrap: wrap; }
  .media--case .media__img { width: 100%; min-height: 320px; }
  .media--case .media__text { width: 100%; padding: 40px 24px; }
}
@media (max-width: 700px) {
  .mktintro .iconboxes { grid-template-columns: 1fr; }
}

/* =========================================================================
   42 — PODSTRÁNKA ODHAD CENY NEMOVITOSTI ONLINE
   Widget visel na bílé ploše bez rámu a bez vysvětlení, co se stane po
   odeslání — dostal kartu s popiskem. Modrá pilulka přes celou šířku
   („Kontaktujte nás pro zaslání…“) byla odkaz maskovaný jako nadpis;
   je z ní normální CTA sekce s textem a tlačítkem.
   ========================================================================= */
.hero--odh {
  min-height: clamp(580px, calc(100svh - 78px), 780px);
  padding: 66px 0 0; background-image: url('../img/hero-odhad.jpg');
}
.hero--odh .hero__overlay {
  background: linear-gradient(95deg, rgba(20, 16, 12, .86) 0%, rgba(20, 16, 12, .64) 50%, rgba(20, 16, 12, .2) 100%);
  opacity: 1;
}
.hero--odh .hero__inner { min-height: 0; padding: 56px 85px; align-items: center; }
.hero--odh .hero__left { width: 720px; padding-top: 0; }
.hero--odh .hero__title {
  font-family: var(--font-display); font-size: 54px; line-height: 64px; font-weight: 600;
  color: #fdf8f0; text-wrap: balance;
}
.hero--odh .hero__lead {
  margin-top: 20px; max-width: 620px;
  font-family: 'Inter', sans-serif; font-size: 17px; line-height: 29px; color: rgba(253, 248, 240, .88);
}
.hero__claim {
  margin-top: 20px; padding-left: 20px; max-width: 560px;
  border-left: 1px solid rgba(216, 195, 165, .55);
  font-family: var(--font-display); font-size: 19px; line-height: 30px; color: var(--sand);
}

.odhintro { background: var(--white); padding: 88px 0 0; }
.odhintro .heading { margin: 0; }
.odhintro__p {
  max-width: 760px; margin: 18px auto 0; text-align: center;
  font-size: 17px; line-height: 30px; color: var(--body);
}
.odhnotes { display: flex; flex-wrap: wrap; justify-content: center; gap: 16px; margin-top: 32px; }
.odhnote {
  display: flex; align-items: flex-start; gap: 12px; max-width: 440px;
  padding: 16px 20px; border-radius: 12px; background: var(--cream);
  font-family: 'Inter', sans-serif; font-size: 14px; line-height: 23px; color: var(--body);
}
.odhnote .ico-sm { flex: none; width: 18px; height: 18px; margin-top: 2px; color: #8a7455; }
.odhnote a { color: var(--ink); font-weight: 600; border-bottom: 1px solid var(--sand); }

.widget-wide--odh { background: var(--white); padding: 40px 0 0; }
.widgetcard--wide { max-width: 760px; margin: 0 auto; padding: 30px 30px 22px; }
.widgetcard--wide iframe { height: 900px; }

.odhcta { background: var(--white); padding: 72px 0 88px; }
.odhcta__inner {
  display: flex; align-items: center; justify-content: space-between; gap: 40px;
  padding: 36px 40px; border-radius: 16px; background: var(--cream);
}
.odhcta__text { flex: 1; min-width: 0; }
.odhcta__text .heading { margin: 0; font-size: 30px; line-height: 40px; }
.odhcta__text p { margin-top: 10px; font-size: 16px; line-height: 27px; color: var(--body); }
.odhcta__btn { flex: none; padding: 16px 26px; }

.reviews--odh { background: var(--grey-bg); padding: 88px 0 96px; }
.reviews--odh > .container .heading { margin-bottom: 40px; }
.reviews--odh .reviews__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }

.longread--odh { padding: 88px 0; }
.longread--odh .heading { margin-bottom: 16px; }
.longread--odh > .container > p { margin-top: 16px; }
.longread--odh details h2 {
  margin-top: 30px;
  font-family: var(--font-display); font-size: 26px; line-height: 34px; font-weight: 600; color: var(--ink);
}
.longread--odh details h3 { font-size: 20px; line-height: 28px; }

@media (max-width: 1100px) {
  .odhcta__inner { flex-wrap: wrap; }
  .reviews--odh .reviews__grid { grid-template-columns: 1fr; }
}

/* =========================================================================
   43 — PODSTRÁNKA NEMOVITOSTI NA PRODEJ (výpis + mapa)
   Filtr byl řada šedých tlačítek bez toho, aby šlo poznat, které je
   aktivní, a bez vyhledávacího pole. Karty měly cenu jako bílou bublinu
   přes fotku; teď je cena v těle karty a stav (Neveřejné / Pronájem /
   Připravujeme) nese štítek. Mapa drží na místě při rolování seznamu.
   ========================================================================= */
.searchbar { background: var(--white); border-bottom: 1px solid var(--line); padding: 20px 0; }
.searchbar__inner { display: flex; align-items: center; gap: 14px; }
.searchbar__label {
  flex: none; font-family: 'Inter', sans-serif; font-size: 12px; line-height: 18px; font-weight: 600;
  letter-spacing: .12em; text-transform: uppercase; color: var(--muted);
}
.searchbar__chips { display: flex; flex-wrap: wrap; gap: 8px; }
.searchbar__chip {
  height: 40px; padding: 0 18px; cursor: pointer;
  background: var(--grey-bg); border: 1px solid var(--line); border-radius: 999px;
  font-family: 'Inter', sans-serif; font-size: 14px; font-weight: 500; color: var(--body);
}
.searchbar__chip:hover { background: var(--cream); color: var(--ink); }
.searchbar__chip.is-active { background: var(--ink); border-color: var(--ink); color: #fdf8f0; }
.searchbar__field {
  flex: 1; min-width: 160px; display: flex; align-items: center; gap: 10px; height: 40px;
  padding: 0 16px; background: var(--white); border: 1px solid var(--field); border-radius: 999px;
}
.searchbar__field .ico-sm { flex: none; width: 16px; height: 16px; color: var(--muted); }
.searchbar__field input {
  flex: 1; min-width: 0; border: 0; background: none; outline: none;
  font-family: 'Inter', sans-serif; font-size: 14px; color: var(--ink);
}
.searchbar__submit { flex: none; height: 40px; padding: 0 22px; border-radius: 999px; }

.listing { display: flex; align-items: flex-start; gap: 32px; padding: 40px 32px 72px; background: var(--white); }
.listing__left { flex: 1; min-width: 0; }
.listing__toolbar { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; }
.listing__title { font-family: var(--font-display); font-size: 34px; line-height: 44px; font-weight: 600; color: var(--ink); }
.listing__count { display: block; margin-top: 8px; max-width: 520px; font-size: 14px; line-height: 23px; color: var(--muted); }
.listing__select {
  flex: none; display: inline-flex; align-items: center; gap: 10px; height: 40px; padding: 0 16px;
  border: 1px solid var(--line); border-radius: 999px;
  font-family: 'Inter', sans-serif; font-size: 14px; color: var(--ink);
}
.listing__select .ico-xs { width: 14px; height: 14px; }
.listing__grid {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
  gap: 24px; margin-top: 32px;
}

.pcard {
  display: flex; flex-direction: column;
  background: var(--white); border: 1px solid var(--line); border-radius: 14px; overflow: hidden;
  transition: box-shadow .3s ease, transform .3s ease;
}
.pcard:hover { transform: translateY(-3px); box-shadow: 0 18px 40px rgba(60, 45, 25, .12); }
.pcard__thumb { position: relative; display: block; }
.pcard__thumb img { display: block; width: 100%; height: 170px; object-fit: cover; }
.pcard__badge {
  position: absolute; left: 12px; top: 12px; padding: 6px 12px; border-radius: 999px;
  background: rgba(27, 22, 17, .82); color: #fdf8f0;
  font-family: 'Inter', sans-serif; font-size: 11px; line-height: 16px; font-weight: 600;
  letter-spacing: .1em; text-transform: uppercase;
}
.pcard__badge--rent { background: rgba(138, 116, 85, .92); }
.pcard__badge--sale { background: rgba(70, 90, 70, .9); }
.pcard__badge--soon { background: rgba(120, 110, 99, .9); }
.pcard__badge--wanted { background: rgba(216, 195, 165, .95); color: var(--ink); }
.pcard__body { flex: 1; display: flex; flex-direction: column; padding: 18px 18px 20px; }
.pcard__title { font-family: var(--font-display); font-size: 18px; line-height: 26px; font-weight: 600; }
.pcard__title a { color: var(--ink); }
.pcard__addr {
  display: flex; align-items: flex-start; gap: 7px; margin-top: 8px;
  font-family: 'Inter', sans-serif; font-size: 13px; line-height: 20px; color: var(--muted);
}
.pcard__addr .ico-xs { flex: none; width: 14px; height: 14px; margin-top: 3px; color: var(--sand); }
.pcard__price {
  margin-top: auto; padding-top: 16px;
  font-family: var(--font-display); font-size: 19px; line-height: 26px; font-weight: 600; color: var(--ink);
}
.pcard__price small { font-family: 'Inter', sans-serif; font-size: 13px; font-weight: 400; color: var(--muted); }
.pcard__price--ask { font-size: 15px; color: var(--muted); font-weight: 500; }

.listing__cta {
  margin-top: 32px; padding: 32px 36px; border-radius: 16px; background: var(--cream);
}
.listing__cta .heading { margin: 0; font-size: 28px; line-height: 38px; }
.listing__cta p { margin-top: 12px; max-width: 620px; font-size: 15px; line-height: 26px; color: var(--body); }
.listing__cta .btn { margin-top: 22px; padding: 15px 24px; }

.listing__map { flex: none; width: 520px; position: sticky; top: 98px; }
.listing__map iframe {
  display: block; width: 100%; height: 520px; border: 0;
  border-radius: 16px; border: 1px solid var(--line); background: #e5e3df;
}
.listing__map figcaption, .listing__maphint {
  margin-top: 12px; font-family: 'Inter', sans-serif; font-size: 13px; line-height: 20px; color: var(--muted);
}

@media (max-width: 1200px) {
  .listing { flex-wrap: wrap; padding: 32px 20px 56px; }
  .listing__map { width: 100%; position: static; order: -1; }
  .listing__map iframe { height: 400px; }
}
@media (max-width: 700px) {
  .searchbar__inner { flex-wrap: wrap; }
  .searchbar__field, .searchbar__submit { width: 100%; }
}

/* =========================================================================
   44 — PODSTRÁNKA KONTAKT
   Pravý sloupec u „O nás“ byl na živém webu prázdný — je v něm karta
   s čísly. Formulář šel přes celou šířku (1110 px na jeden řádek jména),
   takže je teď vedle kontaktních údajů a mapy. Kviz proti robotům je pryč,
   odesílá se přes api/lead.php.
   ========================================================================= */
.onas { background: var(--white); padding: 88px 0 96px; }
.onas__inner { display: flex; align-items: flex-start; gap: 64px; }
.onas__col { flex: 1; min-width: 0; width: auto; padding: 0; }
.onas .heading { margin: 0; max-width: 620px; font-size: 40px; line-height: 52px; }
.onas__col > p { margin: 18px 0 0; max-width: 620px; font-size: 16px; line-height: 28px; color: var(--body); }
.onas__sign {
  display: flex; flex-direction: column; gap: 4px;
  margin-top: 32px; padding-top: 22px; border-top: 1px solid var(--line); max-width: 620px;
}
.onas__role {
  font-family: 'Inter', sans-serif; font-size: 12px; line-height: 18px; font-weight: 600;
  letter-spacing: .14em; text-transform: uppercase; color: var(--muted);
}
.onas__name { font-family: var(--font-display); font-size: 22px; line-height: 30px; font-weight: 600; color: var(--ink); }

.onas__col--side { flex: none; width: 380px; }
.factcard { padding: 30px 32px 26px; border-radius: 16px; background: var(--cream); }
.factcard__title {
  font-family: 'Inter', sans-serif; font-size: 12px; line-height: 18px; font-weight: 600;
  letter-spacing: .14em; text-transform: uppercase; color: #8a7455;
}
.factcard__list { margin: 18px 0 0; }
.factcard__list > div { padding: 14px 0; border-top: 1px solid rgba(138, 116, 85, .22); }
.factcard__list > div:first-child { border-top: 0; padding-top: 0; }
.factcard__list dt { font-family: var(--font-display); font-size: 26px; line-height: 34px; font-weight: 600; color: var(--ink); }
.factcard__list dd { margin: 2px 0 0; font-family: 'Inter', sans-serif; font-size: 14px; line-height: 22px; color: var(--body); }

.kont { background: var(--grey-bg); padding: 88px 0 96px; }
.kont .heading { margin: 0 auto; max-width: 860px; }
.kont__grid { display: flex; align-items: flex-start; gap: 56px; margin-top: 48px; }
.kont__side { flex: none; width: 420px; }
.kont__item { display: flex; align-items: flex-start; gap: 18px; margin-bottom: 26px; }
.kont__icon {
  flex: none; display: grid; place-items: center; width: 46px; height: 46px;
  border-radius: 12px; background: var(--cream);
}
.kont__icon .ico-lg { width: 22px; height: 22px; color: var(--ink); }
.kont__label {
  font-family: 'Inter', sans-serif; font-size: 12px; line-height: 18px; font-weight: 600;
  letter-spacing: .12em; text-transform: uppercase; color: var(--muted);
}
.kont__item p { margin-top: 5px; font-size: 16px; line-height: 26px; color: var(--ink); }
.kont__item a { color: var(--ink); }
.kont__phone { font-family: var(--font-display); font-size: 24px; line-height: 32px; font-weight: 600; }
.kont__map {
  display: block; width: 100%; height: 260px; margin-top: 8px;
  border: 1px solid var(--line); border-radius: 14px; background: #e5e3df;
}

.kont__formwrap {
  flex: 1; min-width: 0; padding: 30px 32px 28px;
  background: var(--white); border: 1px solid var(--line); border-radius: 16px;
  box-shadow: 0 18px 44px rgba(60, 45, 25, .08);
}
.kont__formtitle { font-family: var(--font-display); font-size: 24px; line-height: 32px; font-weight: 600; color: var(--ink); }
.kont__formnote { margin-top: 6px; font-size: 14px; line-height: 22px; color: var(--muted); }
.kont__formwrap .cform { margin-top: 20px; }

@media (max-width: 1100px) {
  .onas__inner, .kont__grid { flex-wrap: wrap; }
  .onas__col--side, .kont__side { width: 100%; }
}

/* =========================================================================
   45 — DETAIL NEMOVITOSTI
   Na živém webu je nadpis nad galerií H2 a cena visí vpravo bez kontextu;
   tady je H1 s adresou pod galerií, cena je v poptávkové kartě, která
   drží na místě při rolování. Parametry (plocha, dispozice, patro) byly
   jen dvousloupcový výpis „ID / Cena“ — teď je z nich mřížka.
   ========================================================================= */
.crumbs { background: var(--white); padding: 18px 0 0; }
.crumbs ol { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.crumbs li { display: flex; align-items: center; gap: 8px; font-family: 'Inter', sans-serif; font-size: 13px; line-height: 20px; color: var(--muted); }
.crumbs li + li::before { content: "/"; color: var(--line); }
.crumbs a { color: var(--muted); }
.crumbs a:hover { color: var(--ink); }
.crumbs [aria-current] { color: var(--ink); }

.pgal { background: var(--white); padding: 18px 0 0; }
.pgal__grid {
  position: relative; display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr)); grid-template-rows: 224px 224px;
  gap: 12px;
}
.pgal__cell { display: block; overflow: hidden; border-radius: 14px; }
.pgal__cell img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.pgal__cell:hover img { transform: scale(1.04); }
.pgal__cell--big { grid-column: 1 / span 2; grid-row: 1 / span 2; }
.pgal__cell:nth-of-type(2) { grid-column: 3 / span 2; grid-row: 1; }
.pgal__all {
  position: absolute; right: 16px; bottom: 16px;
  display: inline-flex; align-items: center; gap: 9px; padding: 11px 18px;
  background: rgba(27, 22, 17, .82); border-radius: 999px;
  font-family: 'Inter', sans-serif; font-size: 13px; font-weight: 600; color: #fdf8f0;
}
.pgal__all:hover { background: var(--ink); }
.pgal__all .ico-sm { width: 15px; height: 15px; }

.pbody { background: var(--white); padding: 48px 0 88px; }
.pbody__inner { display: flex; align-items: flex-start; gap: 56px; }
.pbody__main { flex: 1; min-width: 0; }
.pdet__status {
  display: inline-block; padding: 6px 14px; border-radius: 999px;
  background: rgba(216, 195, 165, .3); color: #6f5c3f;
  font-family: 'Inter', sans-serif; font-size: 11px; line-height: 16px; font-weight: 600;
  letter-spacing: .12em; text-transform: uppercase;
}
.pdet__title { margin-top: 16px; font-family: var(--font-display); font-size: 38px; line-height: 48px; font-weight: 600; color: var(--ink); }
.pdet__addr { display: flex; align-items: center; gap: 8px; margin-top: 12px; font-size: 15px; line-height: 24px; color: var(--muted); }
.pdet__addr .ico-sm { width: 16px; height: 16px; color: var(--sand); }

.pspecs {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px; margin-top: 28px;
  background: var(--line); border: 1px solid var(--line); border-radius: 14px; overflow: hidden;
}
.pspec { display: flex; flex-direction: column; gap: 4px; padding: 16px 18px; background: var(--white); }
.pspec__label {
  font-family: 'Inter', sans-serif; font-size: 11px; line-height: 16px; font-weight: 600;
  letter-spacing: .1em; text-transform: uppercase; color: var(--muted);
}
.pspec__value { font-family: var(--font-display); font-size: 19px; line-height: 26px; font-weight: 600; color: var(--ink); }

.pbody__h2 { margin-top: 44px; font-family: var(--font-display); font-size: 26px; line-height: 34px; font-weight: 600; color: var(--ink); }
.pbody__main > p { margin-top: 16px; font-size: 16px; line-height: 28px; color: var(--body); }
.pbody__main .checklist { margin-top: 18px; }
.pmap { display: block; width: 100%; height: 320px; margin-top: 20px; border: 1px solid var(--line); border-radius: 14px; background: #e5e3df; }
.pmap__note { margin-top: 10px; font-family: 'Inter', sans-serif; font-size: 13px; line-height: 20px; color: var(--muted); }

.pbody__side { flex: none; width: 380px; position: sticky; top: 98px; }
.pwidget { margin-bottom: 24px; }
.pwidget--form {
  padding: 26px 26px 22px;
  background: var(--white); border: 1px solid var(--line); border-radius: 16px;
  box-shadow: 0 18px 44px rgba(60, 45, 25, .10);
}
.pprice { padding-bottom: 18px; margin-bottom: 18px; border-bottom: 1px solid var(--line); }
.pprice__label {
  display: block; font-family: 'Inter', sans-serif; font-size: 11px; line-height: 16px; font-weight: 600;
  letter-spacing: .12em; text-transform: uppercase; color: var(--muted);
}
.pprice__value { display: block; margin-top: 4px; font-family: var(--font-display); font-size: 32px; line-height: 40px; font-weight: 600; color: var(--ink); }
.pprice__value small { font-family: 'Inter', sans-serif; font-size: 15px; font-weight: 400; color: var(--muted); }
.pwidget__title { font-family: var(--font-display); font-size: 21px; line-height: 29px; font-weight: 600; color: var(--ink); }
.pwidget__title--sm { font-size: 18px; line-height: 26px; }
.pwidget__note { margin-top: 6px; font-size: 14px; line-height: 22px; color: var(--muted); }
.pwidget--form .cform { margin-top: 18px; }
.pwidget--tax { padding: 24px 26px; background: var(--grey-bg); border-radius: 16px; }
.ptax { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin-top: 16px; }
.ptax__name { display: block; font-family: 'Inter', sans-serif; font-size: 14px; line-height: 21px; font-weight: 600; color: var(--ink); }
.ptax__count { display: block; margin-top: 2px; font-family: 'Inter', sans-serif; font-size: 12px; line-height: 18px; color: var(--muted); }

.prel { background: var(--grey-bg); padding: 80px 0 96px; }
.prel .heading { margin-bottom: 32px; }
.prel__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.prel .pcard__thumb img { height: 220px; }

@media (max-width: 1100px) {
  .pbody__inner { flex-wrap: wrap; }
  .pbody__side { width: 100%; position: static; }
  .pspecs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .prel__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
  .pgal__grid { grid-template-columns: 1fr 1fr; grid-template-rows: 180px 130px 130px; }
  .pgal__cell--big { grid-column: 1 / span 2; grid-row: 1; }
  .pgal__cell:nth-of-type(2) { grid-column: 1 / span 2; grid-row: 2; }
  .pspecs { grid-template-columns: 1fr; }
  .prel__grid, .ptax { grid-template-columns: 1fr; }
}

/* sociální sítě zatím nemají cíl — ikonu ukazujeme, ale ne jako mrtvý odkaz */
.footer__social .soc-off { display: inline-flex; align-items: center; justify-content: center; }

/* =========================================================================
   ZÁVĚREČNÁ RESPONZIVITA
   Varianty hero sekcí mají pevné šířky sloupců (720/750 px) a v CSS stojí
   až za původním @media blokem, takže ho přebíjely — text pak na mobilu
   vyčuhoval mimo obrazovku. Tenhle blok je poslední, takže vyhrává.
   ========================================================================= */
@media (max-width: 1100px) {
  .hero__inner,
  .duo__inner,
  .media,
  .split__inner,
  .pasport__inner,
  .invest__panels,
  .forms2__inner,
  .maximum__inner,
  .kont__grid,
  .onas__inner,
  .pbody__inner,
  .listing,
  .vykgrid,
  .prongrid { flex-wrap: wrap; }

  .hero__inner > *,
  .hero__left,
  .hero__card,
  .hero__formcol,
  .hero__right { width: 100% !important; max-width: 100% !important; flex: 1 1 100% !important; }
  .hero__title, .hero__lead, .hero__sub, .hero__quote, .hero__claim { max-width: 100% !important; }
  .hero__inner { padding-left: 24px !important; padding-right: 24px !important; }
  .hero__cta { flex-wrap: wrap; }
  .badge, .badge--sub, .badge--pron, .badge--pozemky, .badge--lux { margin: 28px 0 0 !important; }

  .media__text, .media__img { width: 100% !important; flex: 1 1 100% !important; }
  .media__text { padding-left: 24px !important; padding-right: 24px !important; }
  .media__img { min-height: 260px; }
  .duo__col, .duo__col--narrow, .duo__col--wide, .duo__col--widget,
  .duo__col--img, .duo__col--steps, .duo__col--cin, .duo__col--lux { width: 100% !important; padding-top: 0 !important; }
  .duo__img, .duo__img--wide, .duo__img--chart, .duo__img--bleed, .duo__img--tall {
    width: 100% !important; max-width: 100% !important; height: auto !important; margin-left: 0 !important;
  }
  .duo__col--widget iframe, .widgetcard iframe, .widget-wide iframe, .forms2 iframe {
    width: 100% !important; max-width: 100% !important;
  }
  .pricecard, .pricecard--dark, .pricecard--inv, .pricecard--pron, .pricecard--aukce,
  .minicard, .onas__col, .onas__col--side, .kont__side, .pbody__side, .listing__map, .listing__left {
    width: 100% !important;
  }
  .container, .container--wide { padding-left: 20px; padding-right: 20px; }
  .iconboxes, .iconboxes--single, .iconboxes--3, .reviews__grid, .blog__grid, .blog__grid--2,
  .prel__grid, .prongrid, .pspecs, .ptax, .listing__grid, .kont__info {
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)) !important;
  }
  .heading, .hero__title, .pdet__title { text-wrap: balance; }
}

@media (max-width: 700px) {
  .hero__inner { padding-left: 18px !important; padding-right: 18px !important; }
  .hero__title { font-size: clamp(30px, 8.4vw, 40px) !important; line-height: 1.18 !important; }
  .heading { font-size: clamp(26px, 7.2vw, 34px); line-height: 1.22; }
  .media__text .heading, .pdet__title { font-size: clamp(24px, 6.6vw, 32px); line-height: 1.22; }
  .container, .container--wide { padding-left: 16px; padding-right: 16px; }
  .media__text { padding: 32px 16px !important; }
  .iconboxes, .iconboxes--single, .iconboxes--3, .reviews__grid, .blog__grid, .blog__grid--2,
  .prel__grid, .prongrid, .pspecs, .ptax, .kont__info, .statrow, .odhnotes {
    grid-template-columns: 1fr !important; display: grid !important;
  }
  .quickbar ul, .searchbar__inner { flex-wrap: wrap; height: auto; gap: 8px; }
  .quickbar { padding: 10px 16px; }
  .quickbar a { height: auto; }
  .hero__list { flex-wrap: wrap; }
  .pgal__all { right: 10px; bottom: 10px; font-size: 12px; padding: 9px 14px; }
  table, .guide-table { display: block; overflow-x: auto; }
}
@media (max-width: 700px) {
  /* pevné zalomení nadpisu z desktopu na mobilu jen překáží */
  .hero__title br, .pdet__title br { display: none; }
  .hero__title, .heading, .pdet__title, .pbody__h2, .iconbox__title, .rowbox__title, .pcard__title {
    overflow-wrap: break-word; hyphens: auto;
  }
}
@media (max-width: 1200px) {
  /* na mobilu chce návštěvník nejdřív nabídku, mapa až pod ní */
  .listing__map { order: 1; margin-top: 24px; }
  .listing__toolbar { flex-wrap: wrap; }
}

/* =========================================================================
   46 — MĚSTSKÁ LANDING PAGE (/realitni-kancelar-<mesto>/)
   Stavba i rytmus jako homepage: hero s fotkou a kartou služeb, pruh
   rychlých odkazů, sekce specializace, video makléře. Rozdíl je v tom,
   co je uvnitř — fakta o městě se zdroji, nabídky v místě, uzavřené
   obchody, katastr, části města. Unikátní obsah nahoře, sdílené dole.
   ========================================================================= */
.hero--mesto {
  min-height: clamp(600px, calc(100svh - 78px), 800px);
  padding: 66px 0 0; background-position: center; background-size: cover;
}
.hero--mesto .hero__overlay {
  background: linear-gradient(96deg, rgba(20, 16, 12, .88) 0%, rgba(20, 16, 12, .66) 48%, rgba(20, 16, 12, .22) 100%);
  opacity: 1;
}
.hero--mesto .hero__inner { min-height: 0; padding: 56px 55px; align-items: center; gap: 56px; }
.hero--mesto .hero__left { flex: 1; min-width: 0; width: auto; padding-top: 0; }
.hero--mesto .hero__title {
  margin-top: 14px;
  font-family: var(--font-display); font-size: 52px; line-height: 62px; font-weight: 600;
  color: #fdf8f0; text-wrap: balance;
}
.hero--mesto .hero__lead {
  margin-top: 18px; max-width: 520px;
  font-family: 'Inter', sans-serif; font-size: 16px; line-height: 28px; color: rgba(253, 248, 240, .88);
}
.hero--mesto .hero__meta { margin-top: 34px; align-items: center; gap: 40px; }
.hero--mesto .counter__value { font-family: var(--font-display); font-size: 30px; line-height: 38px; font-weight: 600; color: #fdf8f0; }
.hero--mesto .counter__label { margin-top: 2px; font-family: 'Inter', sans-serif; font-size: 13px; line-height: 20px; color: rgba(253, 248, 240, .7); }
/* odznak nemá viset na hraně bílé karty — patří doprostřed hera */
.hero--mesto .hero__inner { position: relative; }
.hero--mesto .badge {
  position: absolute; left: 50%; bottom: 84px; transform: translateX(-50%); margin: 0;
}
.hero--mesto .badge .badge__text { animation-name: badge-spin-stred; }
@keyframes badge-spin-stred { to { transform: translate(-50%, -50%) rotate(360deg); } }
.hero--mesto .hero__card { flex: none; width: 380px; padding-top: 0; }
.hero--mesto .pricecard { background: rgba(255, 255, 255, .96); }
.hero--mesto .pricecard__kicker { margin-bottom: 14px; }
.hero--mesto .pricecard__price { font-family: var(--font-display); font-size: 30px; line-height: 40px; }
.hero--mesto .pricecard__sub { padding-bottom: 18px; }
.hero--mesto .pricecard__list li { margin-bottom: 10px; }

.fakta { background: var(--white); padding: 28px 0; border-bottom: 1px solid var(--line); }
.fakta__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; background: var(--line); border: 1px solid var(--line); border-radius: 14px; overflow: hidden; }
.fakt { display: flex; flex-direction: column; gap: 3px; padding: 18px 20px; background: var(--white); }
.fakt__klic { font-family: 'Inter', sans-serif; font-size: 11px; line-height: 16px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
.fakt__hodnota { font-family: var(--font-display); font-size: 24px; line-height: 32px; font-weight: 600; color: var(--ink); }
.fakt__pozn { font-family: 'Inter', sans-serif; font-size: 13px; line-height: 20px; color: var(--body); }
.fakt__zdroj { margin-top: 4px; font-family: 'Inter', sans-serif; font-size: 11px; line-height: 17px; color: var(--muted); border-bottom: 1px solid var(--line); align-self: flex-start; }
.fakt__zdroj:hover { color: var(--ink); }

.mestoNab { background: var(--white); padding: 72px 0 0; }
.mestoNab .heading { margin: 14px 0 28px; }
.mestoNab .prel__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.pcard__pop { margin-top: 8px; font-family: 'Inter', sans-serif; font-size: 13px; line-height: 21px; color: var(--muted); }
.mestoNab__vse { margin-top: 28px; padding: 14px 22px; }

.mestoObchody { background: var(--white); padding: 56px 0 0; }
.mestoObchody .heading { margin: 14px 0 24px; }
.obgrid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.ob { display: flex; flex-direction: column; gap: 4px; padding: 22px 24px; background: var(--cream); border-radius: 14px; }
.ob__typ { font-family: 'Inter', sans-serif; font-size: 11px; line-height: 16px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: #8a7455; }
.ob__cena { font-family: var(--font-display); font-size: 26px; line-height: 34px; font-weight: 600; color: var(--ink); }
.ob__doba, .ob__kdy { font-family: 'Inter', sans-serif; font-size: 13px; line-height: 20px; color: var(--body); }

/* pole, která má klient doplnit — v produkci se stránka bez nich negeneruje */
.doplnit {
  margin-top: 20px; padding: 16px 20px; border-radius: 12px;
  background: rgba(216, 195, 165, .22); border: 1px dashed rgba(138, 116, 85, .5);
  font-family: 'Inter', sans-serif; font-size: 14px; line-height: 23px; color: #6f5c3f;
}

.mestoTrh { background: var(--white); padding: 72px 0; }
.mestoTrh__inner { display: flex; align-items: flex-start; gap: 56px; }
.mestoTrh__text { flex: 1; min-width: 0; }
.mestoTrh .heading { margin: 14px 0 0; }
.mestoTrh__text > p { margin-top: 16px; font-size: 16px; line-height: 28px; color: var(--body); }
.cenyBox { margin-top: 24px; }
.cenyTab { width: 100%; border-collapse: collapse; font-family: 'Inter', sans-serif; font-size: 14px; }
.cenyTab th { padding: 10px 12px; text-align: left; border-bottom: 1px solid var(--line); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
.cenyTab td { padding: 12px; border-bottom: 1px solid var(--line); color: var(--body); }
.cenyPozn { margin-top: 10px; font-size: 13px; line-height: 20px; color: var(--muted); }
.mestoTrh__side { flex: none; width: 360px; }
.katastrCard { padding: 26px 28px; background: var(--grey-bg); border: 1px solid var(--line); border-radius: 16px; }
.katastrCard__title { display: flex; align-items: flex-start; gap: 12px; font-family: var(--font-display); font-size: 19px; line-height: 27px; font-weight: 600; color: var(--ink); }
.katastrCard__title .ico-lg { flex: none; width: 22px; height: 22px; margin-top: 3px; color: var(--sand); }
.katastrCard__nazev { margin-top: 16px; font-family: 'Inter', sans-serif; font-size: 15px; font-weight: 600; color: var(--ink); }
.katastrCard__urad { font-family: 'Inter', sans-serif; font-size: 13px; line-height: 20px; color: var(--muted); }
.katastrCard p { display: flex; align-items: flex-start; gap: 9px; margin-top: 8px; font-family: 'Inter', sans-serif; font-size: 14px; line-height: 22px; color: var(--body); }
.katastrCard .ico-sm { flex: none; width: 15px; height: 15px; margin-top: 4px; color: var(--sand); }
.katastrCard a { color: var(--ink); }
.katastrCard__zdroj { display: inline-block; margin-top: 14px; font-family: 'Inter', sans-serif; font-size: 11px; color: var(--muted); border-bottom: 1px solid var(--line); }

.mestoLok { background: var(--grey-bg); padding: 72px 0; }
.mestoLok .heading { margin-bottom: 28px; }
.lokgrid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.lokbox { padding: 26px 28px; background: var(--white); border: 1px solid var(--line); border-radius: 16px; }
.lokbox h3 { display: flex; align-items: center; gap: 12px; font-family: var(--font-display); font-size: 19px; line-height: 27px; font-weight: 600; color: var(--ink); }
.lokbox h3 .ico-lg { flex: none; width: 22px; height: 22px; color: var(--sand); }
.lokbox__seznam { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.lokbox__seznam span {
  padding: 6px 13px; border-radius: 999px; background: var(--cream);
  font-family: 'Inter', sans-serif; font-size: 13px; line-height: 20px; color: var(--ink);
}
.lokbox__pozn { margin-top: 12px; font-family: 'Inter', sans-serif; font-size: 13px; line-height: 20px; color: var(--muted); }
.lokbox__doprava { margin: 16px 0 0; padding: 0; list-style: none; }
.lokbox__doprava li { display: flex; align-items: flex-start; gap: 11px; margin-bottom: 12px; font-family: 'Inter', sans-serif; font-size: 14px; line-height: 22px; color: var(--body); }
.lokbox__doprava .ico-sm { flex: none; width: 16px; height: 16px; margin-top: 3px; color: var(--sand); }

.spec--mesto { background: var(--white); padding: 72px 0; }
.mestoSluzby { margin-top: 40px; grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 24px; row-gap: 24px; }
.mestoSluzby .iconbox { min-height: 0; padding: 26px 24px; }
.mestoSluzby .iconbox__body { margin-top: 18px; padding-bottom: 0; border-bottom: 0; }
.mestoSluzby .iconbox__title a { color: var(--ink); }
.mestoSluzby .iconbox__body p { margin-top: 6px; font-size: 14px; line-height: 23px; }

.maklerBox { background: var(--cream); padding: 64px 0; }
.maklerBox__inner { display: flex; align-items: center; gap: 48px; }
.maklerBox__foto { flex: none; width: 180px; height: 240px; object-fit: cover; object-position: top center; border-radius: 16px; }
.maklerBox__text { flex: 1; min-width: 0; }
.maklerBox .heading { margin: 12px 0 0; font-size: 32px; line-height: 42px; }
.maklerBox__role { margin-top: 6px; font-family: 'Inter', sans-serif; font-size: 15px; line-height: 24px; color: var(--muted); }
.maklerBox__kontakt { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
.maklerBox__kontakt .btn { padding: 14px 22px; }

.reviews--mesto { background: var(--white); padding: 72px 0; }
.reviews--mesto .heading { margin-bottom: 36px; }
.reviews--mesto .reviews__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }

.mestoFaq { background: var(--grey-bg); padding: 72px 0; }
.mestoFaq .heading { margin-bottom: 28px; }
.faqlist { max-width: 860px; }
.faqitem { padding: 18px 0; border-bottom: 1px solid var(--line); }
.faqitem summary { cursor: pointer; list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.faqitem summary::-webkit-details-marker { display: none; }
.faqitem summary h3 { font-family: var(--font-display); font-size: 19px; line-height: 28px; font-weight: 600; color: var(--ink); }
.faqitem summary::after {
  content: ""; flex: none; width: 14px; height: 14px; border-right: 1.6px solid var(--muted); border-bottom: 1.6px solid var(--muted);
  transform: rotate(45deg) translate(-3px, -3px); transition: transform .25s ease;
}
.faqitem[open] summary::after { transform: rotate(225deg) translate(-3px, -3px); }
.faqitem p { margin-top: 12px; max-width: 700px; font-size: 16px; line-height: 28px; color: var(--body); }

@media (max-width: 1100px) {
  .hero--mesto .hero__inner, .mestoTrh__inner, .maklerBox__inner { flex-wrap: wrap; }
  .hero__mapa, .mestoTrh__side { width: 100%; }
  .fakta__grid, .lokgrid, .obgrid, .mestoNab .prel__grid, .mestoSluzby { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .reviews--mesto .reviews__grid { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
  .hero--mesto .hero__inner { padding: 44px 16px; }
  .hero--mesto .hero__title { font-size: clamp(30px, 8.4vw, 40px); line-height: 1.18; }
  .fakta__grid, .lokgrid, .obgrid, .mestoNab .prel__grid, .mestoSluzby { grid-template-columns: 1fr !important; }
  .maklerBox__foto { width: 120px; height: 160px; }
}
/* pruh faktů: mřížka nesmí dostat padding kontejneru, jinak prosvítá pozadí */
.fakta { padding: 28px 24px; }
.fakta__grid { padding: 0; }
.mestoOkoli { background: var(--white); padding: 48px 0 8px; }
.mestoOkoli__title {
  font-family: 'Inter', sans-serif; font-size: 12px; line-height: 18px; font-weight: 600;
  letter-spacing: .14em; text-transform: uppercase; color: var(--muted);
}
.mestoOkoli__odkazy { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 14px; }
.mestoOkoli__odkazy a {
  padding: 9px 18px; border-radius: 999px; background: var(--grey-bg); border: 1px solid var(--line);
  font-family: 'Inter', sans-serif; font-size: 14px; color: var(--body);
}
.mestoOkoli__odkazy a:hover { background: var(--cream); color: var(--ink); }
@media (max-width: 700px) {
  /* tlačítka v heru se na úzkém displeji musí zalomit pod sebe */
  .hero--mesto .hero__cta, .hero__cta, .maklerBox__kontakt { flex-wrap: wrap; width: 100%; }
  .hero--mesto .hero__cta .btn, .maklerBox__kontakt .btn { flex: 1 1 100%; justify-content: center; }
}
@media (max-width: 700px) {
  /* karta makléře: foto nad text, dlouhý e-mail se musí vejít */
  .maklerBox__inner { flex-direction: column; align-items: flex-start; gap: 24px; }
  .maklerBox__text { width: 100%; }
  .maklerBox__kontakt .btn { max-width: 100%; overflow-wrap: anywhere; }
}

/* citace makléře na městské stránce dostane i kontaktní tlačítka */
.quote__kontakt { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
.quote__kontakt .btn { padding: 14px 22px; }
@media (max-width: 1100px) {
  .hero--mesto .hero__card { width: 100% !important; }
  /* na úzkém displeji zpět do toku, jinak by odznak ležel přes text */
  .hero--mesto .badge { position: static; transform: none; margin: 0 0 0 auto; }
}

/* .intro .quote a a .quote--bio a přebíjejí .btn--dark, takže tmavé
   tlačítko uvnitř citace mělo tmavý text a podtržení */
.intro .quote .quote__kontakt a { text-decoration: none; }
.intro .quote .quote__kontakt .btn--dark,
.intro .quote .quote__kontakt .btn--dark:hover { color: #fdf8f0; }
.intro .quote .quote__kontakt .btn--soft { color: var(--ink); }

/* načítací stav nabídek — placeholder, než bude napojený feed z CRM */
.mestoNab--nacita .nacitani {
  display: grid; place-items: center; min-height: 280px; margin-top: 28px;
  border: 1px dashed var(--line); border-radius: 16px; background: var(--grey-bg);
}
.nacitani__kolecko {
  width: 42px; height: 42px; border-radius: 50%;
  border: 3px solid rgba(138, 116, 85, .22); border-top-color: var(--sand);
  animation: nacitani-tocit .9s linear infinite;
}
@keyframes nacitani-tocit { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
  .nacitani__kolecko { animation-duration: 3s; }
}
/* sekce o trhu bez bočního sloupce — text si drží čitelnou šířku řádku */
.mestoTrh__inner--sam { display: block; }
.mestoTrh__inner--sam .mestoTrh__text { max-width: 820px; }
.lokgrid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 1100px) { .lokgrid--2 { grid-template-columns: 1fr !important; } }
/* tlačítko „Celá nabídka" nesmí končit na hraně další sekce */
.mestoNab { padding-bottom: 72px; }

/* proč prodávat s námi — tři argumenty pod pruhem faktů */
.vyhody { background: var(--cream); padding: 80px 0 88px; }
.vyhody .heading { margin: 14px 0 40px; }
.vyhody__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.vyhoda {
  display: flex; flex-direction: column; padding: 30px 28px;
  background: var(--white); border: 1px solid var(--line); border-radius: 16px;
}
.vyhoda__ikona {
  display: grid; place-items: center; width: 46px; height: 46px;
  border-radius: 12px; background: var(--cream);
}
.vyhoda__ikona .ico-lg { width: 22px; height: 22px; color: var(--ink); }
.vyhoda__nazev {
  margin-top: 20px;
  font-family: var(--font-display); font-size: 20px; line-height: 28px; font-weight: 600; color: var(--ink);
}
.vyhoda p { margin-top: 10px; font-family: 'Inter', sans-serif; font-size: 15px; line-height: 26px; color: var(--body); }
.vyhody__cta { margin-top: 32px; padding: 16px 26px; }

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

/* široká karta partnera: text vlevo, logo partnera vpravo */
.partner {
  display: flex; align-items: center; gap: 48px; margin-top: 24px; padding: 32px 34px;
  background: var(--white); border: 1px solid var(--line); border-radius: 16px;
}
.partner__text { flex: 1; min-width: 0; }
.partner__ikona {
  display: grid; place-items: center; width: 46px; height: 46px;
  border-radius: 12px; background: var(--cream);
}
.partner__ikona .ico-lg { width: 22px; height: 22px; color: var(--ink); }
.partner__nazev {
  margin-top: 20px;
  font-family: var(--font-display); font-size: 22px; line-height: 30px; font-weight: 600; color: var(--ink);
}
.partner__text p { margin-top: 12px; max-width: 640px; font-family: 'Inter', sans-serif; font-size: 15px; line-height: 26px; color: var(--body); }
.partner__logo {
  flex: none; display: flex; flex-direction: column; align-items: center; gap: 14px;
  padding-left: 48px; border-left: 1px solid var(--line);
}
.partner__popisek {
  font-family: 'Inter', sans-serif; font-size: 11px; line-height: 16px; font-weight: 600;
  letter-spacing: .12em; text-transform: uppercase; color: var(--muted); text-align: center;
}
.partner__logo img { display: block; width: 150px; height: auto; }

@media (max-width: 1100px) {
  .partner { flex-wrap: wrap; gap: 28px; }
  .partner__logo {
    flex-direction: row; align-items: center; gap: 18px; width: 100%;
    padding: 20px 0 0; border-left: 0; border-top: 1px solid var(--line);
  }
  .partner__popisek { text-align: left; }
}
@media (max-width: 700px) { .partner { padding: 26px 20px; } }
/* bílé logo P&P by na světlém pruhu zmizelo — dostane tmavou podložku */
.refs__track--proj .proj--tmavy {
  background: var(--ink); border-radius: 10px; padding: 12px 16px; box-sizing: border-box;
}
/* vlastní projekty jsou značky, ne dekorace — nezešeďovat je */
.refs__track--proj img { opacity: 1; width: 150px; max-height: 56px; }
.refs__viewport:hover .refs__track--proj img { opacity: 1; }
/* v sekci „Získáme možné maximum" je místo ukázkové karty srovnání nabídek */
.maximum__inner--panel { align-items: flex-start; gap: 56px; }
.maximum__inner--panel .maximum__text { max-width: 460px; }
.maximum__inner--panel .invpanel--offers { flex: 1; width: auto; min-width: 0; max-width: 700px; }
@media (max-width: 1100px) {
  .maximum__inner--panel .maximum__text, .maximum__inner--panel .invpanel--offers { max-width: 100%; width: 100%; }
}
.lokgrid--1 { grid-template-columns: minmax(0, 1fr); max-width: 760px; }
/* druhá adresa v kontaktní sekci — sídlo firmy v Lounech */
.contact__label--sidlo { margin-top: 14px; }
/* pruh vlastních projektů: šedivě, v barvě až po najetí myší */
.refs__track--proj img {
  filter: grayscale(1);
  opacity: .7;
  transition: filter .3s ease, opacity .3s ease;
}
.refs__viewport:hover .refs__track--proj img { filter: grayscale(1); opacity: .7; }
.refs__track--proj img:hover,
.refs__viewport:hover .refs__track--proj img:hover { filter: grayscale(0); opacity: 1; }
/* bílé logo P&P má tmavou podložku, šedivění by ho jen ztmavilo */
.refs__track--proj .proj--tmavy { filter: none; opacity: .85; }

/* =========================================================================
   47 — ROZCESTNÍK /realitni-kancelar/
   Cílí na obecné „realitní kancelář": služby v boxech nahoře, pod nimi
   odkazy na všech 131 městských stránek rozdělené do skupin.
   ========================================================================= */
.hero--rozc {
  min-height: clamp(540px, calc(100svh - 78px), 720px);
  padding: 66px 0 0; background-position: center; background-size: cover;
}
.hero--rozc .hero__overlay {
  background: linear-gradient(96deg, rgba(20, 16, 12, .88) 0%, rgba(20, 16, 12, .66) 50%, rgba(20, 16, 12, .24) 100%);
  opacity: 1;
}
.hero--rozc .hero__inner { min-height: 0; padding: 56px 55px; align-items: center; }
.hero--rozc .hero__left { flex: 1; min-width: 0; width: auto; padding-top: 0; }
.hero--rozc .hero__title {
  margin-top: 14px; max-width: 760px;
  font-family: var(--font-display); font-size: 50px; line-height: 62px; font-weight: 600;
  color: #fdf8f0; text-wrap: balance;
}
.hero--rozc .hero__lead {
  margin-top: 20px; max-width: 620px;
  font-family: 'Inter', sans-serif; font-size: 17px; line-height: 29px; color: rgba(253, 248, 240, .88);
}

.spec--rozc { background: var(--white); padding: 88px 0 96px; }
.spec--rozc .spec__claim { max-width: 780px; margin: 16px auto 0; text-align: center; line-height: 27px; }
.rozcSluzby {
  margin-top: 48px; grid-template-columns: repeat(4, minmax(0, 1fr));
  column-gap: 24px; row-gap: 24px;
}
.rozcSluzby .iconbox { min-height: 0; padding: 26px 24px; }
.rozcSluzby .iconbox__body { margin-top: 18px; padding-bottom: 0; border-bottom: 0; }
.rozcSluzby .iconbox__title a { color: var(--ink); }
.rozcSluzby .iconbox__body p { margin-top: 6px; font-size: 14px; line-height: 23px; }

.mestaHub { background: var(--cream); padding: 88px 0 96px; }
.mestaHub .heading { margin: 14px 0 0; }
.mestaHub__lead { margin-top: 16px; max-width: 820px; font-size: 16px; line-height: 28px; color: var(--body); }
.mestaSkupina { margin-top: 44px; }
.mestaSkupina__nadpis {
  display: flex; align-items: baseline; gap: 12px;
  font-family: var(--font-display); font-size: 24px; line-height: 32px; font-weight: 600; color: var(--ink);
}
.mestaSkupina__nadpis span {
  font-family: 'Inter', sans-serif; font-size: 12px; font-weight: 600; letter-spacing: .1em;
  color: var(--muted); background: var(--white); border-radius: 999px; padding: 3px 10px;
}
.mestaSkupina__pozn { margin-top: 6px; font-family: 'Inter', sans-serif; font-size: 14px; line-height: 22px; color: var(--muted); }
.mestaSkupina__odkazy { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
.mestaSkupina__odkazy a {
  padding: 9px 16px; border-radius: 999px; background: var(--white); border: 1px solid var(--line);
  font-family: 'Inter', sans-serif; font-size: 14px; line-height: 21px; color: var(--body);
  transition: background .2s ease, color .2s ease, border-color .2s ease;
}
.mestaSkupina__odkazy a:hover { background: var(--ink); border-color: var(--ink); color: #fdf8f0; }

.vyhody--rozc { background: var(--white); }

@media (max-width: 1100px) {
  .rozcSluzby { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hero--rozc .hero__title { font-size: 40px; line-height: 50px; }
}
@media (max-width: 700px) {
  .rozcSluzby { grid-template-columns: 1fr; }
  .mestaSkupina__odkazy a { font-size: 13px; padding: 8px 13px; }
}

/* ============================================================
   48. Doladění — odznak v heru výkupu, vyšší mapa ve výpisu
   ============================================================ */

/* odznak „Odhad ceny nemovitosti" v heru výkupu:
   text vlevo má max-width 560px, sloupec je širší — odznak sedí
   v té mezeře mezi textem a formulářem. */
.hero--vyk .hero__left { display: flex; flex-direction: column; }
.badge--vyk { align-self: flex-end; margin: 34px 0 0 0; }

/* mapa u výpisu nemovitostí je sticky — ať využije celou výšku okna */
.listing__map iframe, .listing__map .mapa { height: calc(100vh - 190px); min-height: 560px; max-height: 820px; }
@media (max-width: 1100px) {
  .listing__map iframe, .listing__map .mapa { height: 420px; min-height: 0; max-height: none; }
}

/* ------------------------------------------------------------
   Mapa nabídek — nemovitosti vyznačené špendlíkem
   ------------------------------------------------------------ */
.mapa {
  display: block; width: 100%; border-radius: 16px;
  border: 1px solid var(--line); background: #e5e3df; overflow: hidden; z-index: 0;
}
.mapa__fallback {
  padding: 24px; font-family: 'Inter', sans-serif; font-size: 14px; line-height: 22px; color: var(--muted);
}
.mapa__pin {
  display: block; width: 30px; height: 30px; border-radius: 50%;
  background: var(--ink); border: 3px solid #fff;
  /* dvojitý stín: bílý límec proti mapě a k němu kruh v barvě špendlíku — na
     pestrých dlaždicích (les, zástavba) by samotný kroužek zanikl */
  box-shadow: 0 3px 10px rgba(27, 22, 17, .38), 0 0 0 4px rgba(27, 22, 17, .22);
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fdf8f0' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 11 12 5l8 6'/%3E%3Cpath d='M6.4 12.4V19h11.2v-6.6'/%3E%3C/svg%3E");
  background-size: 15px 15px; background-position: center; background-repeat: no-repeat;
}
/* přibližná poloha (odvozená z města nebo kraje) — jiná barva, ale stejně výrazná */
.mapa__pin--priblizne {
  background-color: #c8862f;
  box-shadow: 0 3px 10px rgba(27, 22, 17, .38), 0 0 0 4px rgba(200, 134, 47, .3);
}
.mapa__shluk {
  display: flex; align-items: center; justify-content: center;
  width: 34px; height: 34px; border-radius: 50%;
  background: var(--ink); border: 3px solid #fff; cursor: pointer;
  box-shadow: 0 3px 12px rgba(27, 22, 17, .38);
  font-family: 'Inter', sans-serif; font-size: 13px; font-weight: 700; color: #fdf8f0;
}
.mapa__shluk:hover { background: var(--body); }
.mapa .leaflet-popup-content-wrapper { border-radius: 12px; box-shadow: 0 12px 30px rgba(27, 22, 17, .2); }
.mapa .leaflet-popup-content { margin: 14px 16px; width: 216px !important; }
.mapa__stitek {
  display: inline-block; margin-bottom: 7px; padding: 3px 9px; border-radius: 999px;
  background: var(--cream); font-family: 'Inter', sans-serif; font-size: 10px;
  font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--body);
}
.mapa__nazev {
  display: block; font-family: var(--font-display); font-size: 16px; line-height: 22px;
  font-weight: 600; color: var(--ink);
}
.mapa__nazev:hover { text-decoration: underline; }
.mapa__misto, .mapa__cena {
  display: block; font-family: 'Inter', sans-serif; font-size: 12px; line-height: 18px; color: var(--muted);
}
.mapa__misto { margin-top: 4px; }
.mapa__cena { margin-top: 6px; font-size: 13px; font-weight: 600; color: var(--ink); }
.mapa .leaflet-control-zoom a { color: var(--ink); }
.mapa .leaflet-container a.leaflet-popup-close-button { color: var(--muted); }

/* tři karty spolupráce u pronájmu mají být stejně vysoké
   (karta je flex-column a seznam má flex:1, takže tlačítka sednou na dno) */
.prongrid { align-items: stretch; }

/* ============================================================
   49. Ukázka klientského přehledu (nahrazuje ilustrační fotku)
   ============================================================ */
.appmock { margin: 0; }
.appmock__win {
  background: var(--white); border: 1px solid var(--line); border-radius: 16px;
  overflow: hidden; box-shadow: 0 18px 44px rgba(27, 22, 17, .10);
}
.appmock__bar {
  display: flex; align-items: center; gap: 6px;
  padding: 12px 16px; background: var(--grey-bg); border-bottom: 1px solid var(--line);
}
.appmock__dot { width: 8px; height: 8px; border-radius: 50%; background: #d6cec4; }
.appmock__url {
  margin-left: 12px; font-family: 'Inter', sans-serif; font-size: 12px; font-style: normal;
  letter-spacing: .01em; color: var(--muted);
}
.appmock__body { padding: 22px 22px 24px; }
.appmock__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.appmock__eyebrow {
  font-family: 'Inter', sans-serif; font-size: 11px; font-weight: 600;
  letter-spacing: .12em; text-transform: uppercase; color: var(--muted);
}
.appmock__h {
  margin-top: 4px; font-family: var(--font-display); font-size: 20px; line-height: 28px;
  font-weight: 600; color: var(--ink);
}
.appmock__pill {
  flex: none; padding: 5px 12px; border-radius: 999px; background: var(--cream);
  font-family: 'Inter', sans-serif; font-size: 12px; font-weight: 600; color: var(--body);
}
.appmock__kpis { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-top: 18px; }
.appmock__kpi { padding: 14px 12px; border-radius: 12px; background: var(--cream); }
.appmock__kpi b {
  display: block; font-family: var(--font-display); font-size: 18px; line-height: 24px;
  font-weight: 600; color: var(--ink);
}
.appmock__kpi span {
  display: block; margin-top: 3px; font-family: 'Inter', sans-serif;
  font-size: 11px; line-height: 16px; color: var(--muted);
}
.appmock__rows { margin-top: 20px; }
.appmock__rows li {
  display: flex; align-items: center; gap: 12px;
  padding: 12px 0; border-top: 1px solid var(--line);
}
.appmock__rows li:last-child { border-bottom: 1px solid var(--line); }
.appmock__what { flex: 1; min-width: 0; }
.appmock__what b {
  display: block; font-family: 'Inter', sans-serif; font-size: 14px; line-height: 20px;
  font-weight: 600; color: var(--ink);
}
.appmock__what i {
  display: block; font-family: 'Inter', sans-serif; font-size: 12px; line-height: 18px;
  font-style: normal; color: var(--muted);
}
.appmock__amt {
  flex: none; font-family: 'Inter', sans-serif; font-size: 14px; font-weight: 600;
  color: var(--ink); font-variant-numeric: tabular-nums;
}
.appmock__state {
  flex: none; min-width: 92px; text-align: center; padding: 5px 10px; border-radius: 999px;
  font-family: 'Inter', sans-serif; font-size: 11px; font-weight: 600; letter-spacing: .02em;
}
.appmock__state.is-ok { background: var(--cream); color: var(--body); }
.appmock__state.is-wait { background: var(--grey-bg); color: var(--muted); }
.appmock__log { display: grid; gap: 8px; margin-top: 18px; }
.appmock__log span {
  display: flex; align-items: center; gap: 9px;
  font-family: 'Inter', sans-serif; font-size: 12px; line-height: 18px; color: var(--muted);
}
.appmock__tick {
  flex: none; width: 15px; height: 15px; border-radius: 50%; background: var(--sand);
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231b1611' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12.5 4 4 8-9'/%3E%3C/svg%3E");
  background-size: 10px 10px; background-position: center; background-repeat: no-repeat;
}
.appmock__tick--open { background-color: var(--grey-bg); background-image: none; }
.appmock__cap {
  margin-top: 14px; font-family: 'Inter', sans-serif; font-size: 13px; line-height: 21px; color: var(--muted);
}
@media (max-width: 520px) {
  .appmock__kpis { grid-template-columns: 1fr; }
  .appmock__rows li { flex-wrap: wrap; }
  .appmock__state { min-width: 0; }
}

/* širší sloupec s oceňovacím widgetem u pronájmu —
   při 470 px se ve widgetu lámaly záložky a vznikal vnitřní posuvník */
.duo--pron .duo__col--widget { width: 570px; }
.duo--pron .widgetcard { padding: 26px 18px 18px; }
.duo--pron .widgetcard iframe { height: 880px; }
@media (max-width: 1100px) {
  .duo--pron .duo__col--widget { width: 100%; }
}

/* ============================================================
   50. Cookie lišta
   ============================================================ */
.cookies {
  position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 900;
  background: var(--ink); border-radius: 16px;
  box-shadow: 0 20px 50px rgba(27, 22, 17, .32);
  opacity: 0; transform: translateY(14px);
  transition: opacity .26s ease, transform .26s ease;
}
.cookies.is-videt { opacity: 1; transform: none; }
.cookies__inner {
  display: flex; align-items: center; justify-content: space-between; gap: 28px;
  max-width: 1180px; margin: 0 auto; padding: 22px 26px;
}
.cookies__text { min-width: 0; }
.cookies__title {
  font-family: var(--font-display); font-size: 18px; line-height: 26px;
  font-weight: 600; color: #fdf8f0;
}
.cookies__text p {
  margin-top: 5px; max-width: 760px;
  font-family: 'Inter', sans-serif; font-size: 13px; line-height: 21px;
  color: rgba(253, 248, 240, .74);
}
.cookies__text a { color: #fdf8f0; text-decoration: underline; text-underline-offset: 2px; }
.cookies__text a:hover { color: var(--sand); }
.cookies__tlacitka { display: flex; flex: none; gap: 10px; }
.cookies__btn { padding: 12px 20px; border-radius: 10px; font-size: 14px; }
.cookies .cookies__btn {
  background: transparent; border: 1px solid rgba(253, 248, 240, .34); color: #fdf8f0;
}
.cookies .cookies__btn:hover { border-color: #fdf8f0; background: rgba(253, 248, 240, .08); }
.cookies .cookies__btn--ano { background: #fdf8f0; border-color: #fdf8f0; color: var(--ink); }
.cookies .cookies__btn--ano:hover { background: var(--sand); border-color: var(--sand); color: var(--ink); }
@media (max-width: 760px) {
  .cookies { left: 10px; right: 10px; bottom: 10px; }
  .cookies__inner { flex-direction: column; align-items: stretch; gap: 16px; padding: 20px; }
  .cookies__tlacitka { flex-direction: column-reverse; }
  .cookies__btn { width: 100%; justify-content: center; }
}

/* nedoplněná řada faktů byla vidět jako pruh podkladu — vyplní se bílým políčkem */
.fakt--vypln { min-height: 0; padding: 0; }
@media (max-width: 900px) { .fakt--vypln { display: none; } }

/* odznak na městských stránkách visel dole u lišty — patří do mezery
   mezi textem a bílou kartou, zhruba do poloviny výšky hera */
.hero--mesto .badge {
  left: auto; right: 500px; top: 44%; bottom: auto; transform: none;
}
@media (max-width: 1240px) { .hero--mesto .badge { right: 440px; top: 40%; } }

/* ============================================================
   51. Realitní blog — rozcestník, článek, karty
   ============================================================ */
.hero--blog { min-height: 0; background-image: url('../img/hero-prague.jpg'); background-size: cover; background-position: center; }
.hero--blog .hero__overlay { background: linear-gradient(90deg, rgba(15, 12, 9, .84) 0%, rgba(15, 12, 9, .58) 62%, rgba(15, 12, 9, .38) 100%); }
.hero--blog .hero__inner { min-height: 0; padding: 92px 55px 96px; }
.hero--blog .hero__left { width: 100%; max-width: 760px; padding-top: 0; }
.hero--blog .hero__title { font-size: 46px; line-height: 58px; }
.hero--blog .hero__sub { margin-top: 18px; max-width: 620px; color: rgba(253, 248, 240, .82); }

.blogList { background: var(--white); padding: 72px 0 96px; }
.blogList__hlava { display: flex; align-items: baseline; justify-content: space-between; gap: 20px; }
.blogList__hlava .heading { margin: 0; }
.blogList__rss {
  font-family: 'Inter', sans-serif; font-size: 13px; font-weight: 600; color: var(--muted);
  border-bottom: 1px solid var(--line); padding-bottom: 2px;
}
.blogList__rss:hover { color: var(--ink); border-color: var(--ink); }
.blogList__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 26px; margin-top: 30px; }
.blogList__rubrika { margin-top: 68px; }
.blogList__rubrika .heading { display: flex; align-items: center; gap: 12px; margin: 0; font-size: 26px; line-height: 34px; }
.blogList__rubrika .heading span {
  font-family: 'Inter', sans-serif; font-size: 12px; font-weight: 600; color: var(--muted);
  background: var(--cream); border-radius: 999px; padding: 3px 10px;
}

.bcard { display: flex; flex-direction: column; background: var(--white); border: 1px solid var(--line); border-radius: 14px; overflow: hidden; }
.bcard:hover { border-color: var(--sand); }
.bcard__foto { display: block; aspect-ratio: 16 / 10; background: var(--cream); overflow: hidden; }
.bcard__foto img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.bcard:hover .bcard__foto img { transform: scale(1.04); }
.bcard__telo { display: flex; flex-direction: column; flex: 1; padding: 20px 22px 22px; }
.bcard__rubrika {
  font-family: 'Inter', sans-serif; font-size: 11px; font-weight: 600; letter-spacing: .1em;
  text-transform: uppercase; color: var(--muted);
}
.bcard__titul { margin-top: 8px; font-family: var(--font-display); font-size: 19px; line-height: 27px; font-weight: 600; }
.bcard__titul a { color: var(--ink); }
.bcard__titul a:hover { text-decoration: underline; text-underline-offset: 3px; }
.bcard__perex { margin-top: 9px; font-family: 'Inter', sans-serif; font-size: 14px; line-height: 22px; color: var(--body); }
.bcard__datum { margin-top: auto; padding-top: 14px; font-family: 'Inter', sans-serif; font-size: 12px; color: var(--muted); }
.bcard--velka .bcard__titul { font-size: 22px; line-height: 30px; }

/* --- stránka článku --- */
.clanek { background: var(--white); padding: 46px 0 0; }
.clanek__hlava { max-width: 760px; }
.drobky { font-family: 'Inter', sans-serif; font-size: 13px; color: var(--muted); display: flex; gap: 8px; }
.drobky a { color: var(--muted); }
.drobky a:hover { color: var(--ink); }
.clanek__rubrika {
  display: inline-block; margin-top: 26px; padding: 5px 12px; border-radius: 999px; background: var(--cream);
  font-family: 'Inter', sans-serif; font-size: 11px; font-weight: 600; letter-spacing: .1em;
  text-transform: uppercase; color: var(--body);
}
.clanek__titul { margin-top: 16px; font-family: var(--font-display); font-size: 40px; line-height: 50px; font-weight: 600; color: var(--ink); }
.clanek__perex { margin-top: 16px; font-family: 'Inter', sans-serif; font-size: 17px; line-height: 29px; color: var(--body); }
.clanek__meta { display: flex; gap: 9px; margin-top: 18px; font-family: 'Inter', sans-serif; font-size: 13px; color: var(--muted); }
.clanek__foto { margin-top: 34px; }
.clanek__foto img { display: block; width: 100%; max-height: 480px; object-fit: cover; border-radius: 16px; }

.clanek__telo { max-width: 760px; margin-top: 40px; }
.clanek__telo p { margin-top: 18px; font-family: 'Inter', sans-serif; font-size: 16px; line-height: 29px; color: var(--body); }
.clanek__telo p:first-child { margin-top: 0; }
.clanek__telo h2 { margin-top: 42px; font-family: var(--font-display); font-size: 27px; line-height: 36px; font-weight: 600; color: var(--ink); }
.clanek__telo h3 { margin-top: 32px; font-family: var(--font-display); font-size: 21px; line-height: 30px; font-weight: 600; color: var(--ink); }
.clanek__telo h2 strong, .clanek__telo h3 strong { font-weight: 600; }
.clanek__telo ul, .clanek__telo ol { margin-top: 16px; padding-left: 4px; list-style: none; }
.clanek__telo li {
  position: relative; margin-top: 10px; padding-left: 24px;
  font-family: 'Inter', sans-serif; font-size: 16px; line-height: 27px; color: var(--body);
}
.clanek__telo ul > li::before {
  content: ''; position: absolute; left: 4px; top: 11px; width: 6px; height: 6px;
  border-radius: 50%; background: var(--sand);
}
.clanek__telo ol { counter-reset: bod; }
.clanek__telo ol > li { counter-increment: bod; }
.clanek__telo ol > li::before {
  content: counter(bod) '.'; position: absolute; left: 0; top: 0;
  font-weight: 600; color: var(--muted);
}
.clanek__telo a { color: var(--ink); text-decoration: underline; text-underline-offset: 3px; }
.clanek__telo a:hover { color: var(--muted); }
.clanek__telo strong { font-weight: 600; color: var(--ink); }
.clanek__telo img { display: block; max-width: 100%; height: auto; margin: 28px 0; border-radius: 14px; }
.clanek__telo blockquote {
  margin: 28px 0; padding: 18px 24px; background: var(--cream); border-radius: 12px;
  font-family: 'Inter', sans-serif; font-size: 16px; line-height: 28px; color: var(--body);
}
.clanek__telo table { width: 100%; margin-top: 24px; border-collapse: collapse; font-family: 'Inter', sans-serif; font-size: 14px; }
.clanek__telo th, .clanek__telo td { padding: 11px 14px; border: 1px solid var(--line); text-align: left; }
.clanek__telo th { background: var(--cream); font-weight: 600; color: var(--ink); }

.clanek__cta {
  display: flex; align-items: center; justify-content: space-between; gap: 28px;
  margin-top: 56px; padding: 30px 32px; background: var(--cream); border-radius: 16px;
}
.clanek__cta .heading { margin: 0; font-size: 24px; line-height: 32px; }
.clanek__cta p { margin-top: 8px; font-family: 'Inter', sans-serif; font-size: 15px; line-height: 25px; color: var(--body); }
.clanek__ctabtn { display: flex; flex: none; gap: 10px; }

.dalsi { background: var(--grey-bg); padding: 72px 0 88px; }
.dalsi__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin-top: 28px; }
.dalsi__vse { margin-top: 32px; }

@media (max-width: 1100px) {
  .blogList__grid, .dalsi__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hero--blog .hero__title { font-size: 36px; line-height: 46px; }
  .clanek__titul { font-size: 32px; line-height: 42px; }
}
@media (max-width: 720px) {
  .blogList__grid, .dalsi__grid { grid-template-columns: 1fr; }
  .clanek__cta { flex-direction: column; align-items: stretch; }
  .clanek__ctabtn { flex-direction: column; }
  .clanek__ctabtn .btn { justify-content: center; }
  .clanek__titul { font-size: 27px; line-height: 36px; }
}

/* ============================================================
   52. Přepínač zobrazení nabídky — dlaždice / seznam
   ============================================================ */
.listing__ovladace { display: flex; align-items: center; gap: 12px; flex: none; }
.pohled {
  display: flex; gap: 2px; padding: 3px;
  background: var(--cream); border-radius: 999px;
}
.pohled__btn {
  display: flex; align-items: center; justify-content: center;
  width: 36px; height: 34px; border: 0; border-radius: 999px;
  background: transparent; color: var(--muted); cursor: pointer;
  transition: background .2s ease, color .2s ease;
}
.pohled__btn:hover { color: var(--ink); }
.pohled__btn svg { width: 17px; height: 17px; fill: currentColor; stroke: none; }
.pohled__btn.is-aktivni { background: var(--white); color: var(--ink); box-shadow: 0 1px 3px rgba(27, 22, 17, .12); }

/* --- vodorovné řádky --- */
.listing__grid--radky { grid-template-columns: 1fr; gap: 14px; }
.listing__grid--radky .pcard { flex-direction: row; align-items: stretch; }
.listing__grid--radky .pcard:hover { transform: none; }
.listing__grid--radky .pcard__thumb { flex: none; width: 224px; }
.listing__grid--radky .pcard__thumb img { height: 100%; min-height: 130px; }
/* název s adresou vlevo, cena vpravo — proto mřížka, ne řádek */
.listing__grid--radky .pcard__body {
  display: grid; grid-template-columns: 1fr auto; align-items: center;
  align-content: center; column-gap: 28px; row-gap: 7px; padding: 20px 26px;
}
.listing__grid--radky .pcard__title { grid-column: 1; font-size: 20px; line-height: 28px; }
.listing__grid--radky .pcard__addr { grid-column: 1; margin-top: 0; }
.listing__grid--radky .pcard__price {
  grid-column: 2; grid-row: 1 / span 2; align-self: center;
  margin-top: 0; padding-top: 0; border-top: 0; text-align: right; white-space: nowrap;
}
.listing__grid--radky .pcard__pop { display: none; }

@media (max-width: 620px) {
  .listing__grid--radky .pcard { flex-direction: column; }
  .listing__grid--radky .pcard__thumb { width: 100%; }
  .listing__grid--radky .pcard__thumb img { height: 170px; min-height: 0; }
  .listing__grid--radky .pcard__body { flex-direction: column; align-items: flex-start; gap: 0; }
  .listing__grid--radky .pcard__price { text-align: left; margin-top: 14px; }
}

/* ============================================================
   53. Patička — druhá adresa, aktuální logo, autor webu
   ============================================================ */
.widget__sub--dalsi { margin-top: 18px; }
.footer__bottom { display: flex; align-items: center; justify-content: center; gap: 8px; flex-wrap: wrap; }
.footer__autor { color: rgba(253, 248, 240, .45); }
.footer__autor a { color: rgba(253, 248, 240, .68); }
.footer__autor a:hover { color: #fdf8f0; }

/* mezera mezi zápatím článku a další sekcí */
.clanek { padding-bottom: 72px; }

/* ============================================================
   54. Vyklízení nemovitostí a pozůstalostí
   ============================================================ */
.hero--vykl {
  background-image: url('../img/hero-luxury.jpg'); background-size: cover; background-position: center;
}
.hero--vykl .hero__overlay {
  background: linear-gradient(90deg, rgba(247, 243, 238, .96) 0%, rgba(247, 243, 238, .9) 46%, rgba(247, 243, 238, .62) 100%);
}
.hero--vykl .hero__inner { min-height: 0; padding: 56px 55px; align-items: center; gap: 56px; }
.hero--vykl .hero__left { flex: 1; min-width: 0; width: auto; padding-top: 0; }
.hero--vykl .hero__title, .hero--vykl .hero__sub, .hero--vykl .hero__list { max-width: 560px; }
.hero--vykl .hero__title { font-size: 44px; line-height: 56px; color: var(--ink); }
.hero--vykl .hero__sub { margin-top: 18px; color: var(--body); }
.hero--vykl .hero__list { margin-top: 28px; }
.hero--vykl .hero__list li {
  position: relative; margin-top: 11px; padding-left: 24px;
  font-family: 'Inter', sans-serif; font-size: 15px; line-height: 25px; color: var(--body);
}
.hero--vykl .hero__list li::before {
  content: ''; position: absolute; left: 2px; top: 10px; width: 7px; height: 7px;
  border-radius: 50%; background: var(--sand);
}
.hero--vykl .eyebrow { color: #8a7455; }
.hero--vykl .eyebrow__line { background: #8a7455; }
.hero--vykl .hero__formcol { flex: none; width: 480px; padding-top: 0; }

.spec--vykl { background: var(--white); padding: 88px 0 96px; }
.vyklGrid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; margin-top: 46px; }
.vyklBox { padding: 28px 26px; background: var(--cream); border-radius: 16px; }
.vyklBox__ico {
  display: flex; align-items: center; justify-content: center; width: 46px; height: 46px;
  border-radius: 50%; background: var(--white); color: var(--ink);
}
.vyklBox__ico svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.vyklBox h3 { margin-top: 18px; font-family: var(--font-display); font-size: 19px; line-height: 27px; font-weight: 600; color: var(--ink); }
.vyklBox p { margin-top: 9px; font-family: 'Inter', sans-serif; font-size: 14px; line-height: 23px; color: var(--body); }

/* --- pozůstalosti: tmavý blok, ať je vidět, že je to jiné téma --- */
.pozust { background: var(--ink); padding: 92px 0 96px; }
.pozust .heading { margin-top: 14px; color: #fdf8f0; max-width: 760px; }
.pozust__lead {
  margin-top: 18px; max-width: 760px;
  font-family: 'Inter', sans-serif; font-size: 16px; line-height: 29px; color: rgba(253, 248, 240, .74);
}
.pozust__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; margin-top: 48px; }
.pozust__box {
  padding: 28px 26px 26px; background: rgba(253, 248, 240, .05);
  border-radius: 16px; border: 1px solid rgba(216, 195, 165, .18);
}
.pozust__ico {
  display: flex; align-items: center; justify-content: center; width: 44px; height: 44px;
  border-radius: 50%; background: var(--sand); color: var(--ink);
}
.pozust__ico svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.pozust__box h3 { margin-top: 18px; font-family: var(--font-display); font-size: 19px; line-height: 27px; font-weight: 600; color: #fdf8f0; }
.pozust__box p { margin-top: 10px; font-family: 'Inter', sans-serif; font-size: 14px; line-height: 24px; color: rgba(253, 248, 240, .7); }
.pozust__box p strong { color: #fdf8f0; font-weight: 600; }
.pozust__pozn {
  margin-top: 34px; padding-top: 24px; max-width: 860px;
  border-top: 1px solid rgba(216, 195, 165, .18);
  font-family: 'Inter', sans-serif; font-size: 13px; line-height: 23px; color: rgba(253, 248, 240, .5);
}

.duo--vykl { background: var(--grey-bg); padding: 92px 0 96px; }
.duo--vykl > .container--wide { margin-bottom: 40px; }
.duo--vykl .duo__inner { align-items: flex-start; gap: 56px; }
.duo--vykl .duo__col--steps { flex: 1; min-width: 0; }
/* obrázek má krýt výšku sloupce s kroky, ne končit uprostřed */
.duo--vykl .duo__inner { align-items: stretch; }
.duo--vykl .duo__col--img { flex: none; width: 420px; align-self: stretch; }
.duo--vykl .duo__col--img img {
  display: block; width: 100%; height: 100%; min-height: 420px;
  object-fit: cover; border-radius: 16px;
}
@media (max-width: 1100px) {
  .duo--vykl .duo__col--img img { height: auto; min-height: 0; }
}

.spec--cena { background: var(--white); padding: 88px 0 96px; }
.cenaGrid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; margin-top: 46px; background: var(--line); border: 1px solid var(--line); border-radius: 16px; overflow: hidden; }
.cenaBox { padding: 26px 24px; background: var(--white); }
.cenaBox h3 { font-family: var(--font-display); font-size: 18px; line-height: 26px; font-weight: 600; color: var(--ink); }
.cenaBox p { margin-top: 8px; font-family: 'Inter', sans-serif; font-size: 14px; line-height: 23px; color: var(--body); }
.cenaCta {
  display: flex; align-items: center; justify-content: space-between; gap: 28px;
  margin-top: 34px; padding: 30px 32px; background: var(--cream); border-radius: 16px;
}
.cenaCta h3 { font-family: var(--font-display); font-size: 23px; line-height: 31px; font-weight: 600; color: var(--ink); }
.cenaCta p { margin-top: 8px; font-family: 'Inter', sans-serif; font-size: 15px; line-height: 25px; color: var(--body); }
.cenaCta__btn { display: flex; flex: none; gap: 10px; }

@media (max-width: 1100px) {
  .hero--vykl .hero__inner { flex-wrap: wrap; }
  .hero--vykl .hero__left, .hero--vykl .hero__formcol { width: 100%; max-width: none; }
  .hero--vykl .hero__title { font-size: 34px; line-height: 44px; }
  .vyklGrid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pozust__grid, .cenaGrid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .duo--vykl .duo__inner { flex-wrap: wrap; }
  .duo--vykl .duo__col--img { width: 100%; }
}
@media (max-width: 720px) {
  .vyklGrid, .pozust__grid, .cenaGrid { grid-template-columns: 1fr; }
  .cenaCta { flex-direction: column; align-items: stretch; }
  .cenaCta__btn { flex-direction: column; }
  .cenaCta__btn .btn { justify-content: center; }
}

/* ============================================================
   55. Hero s formulářem — vyrovnání mezery mezi textem a kartou
   Text byl omezený na 560 px, ale sloupec se roztahoval přes celou
   zbylou šířku, takže uprostřed zůstávalo ~290 px prázdna. Ostatní
   hera mají mezeru do 90 px, tohle je srovnává.
   ============================================================ */
.hero--vyk .hero__inner, .hero--vykl .hero__inner { gap: 64px; }
.hero--vyk .hero__formcol, .hero--vykl .hero__formcol { width: 540px; }
.hero--vyk .hero__title, .hero--vyk .hero__sub, .hero--vyk .hero__list,
.hero--vykl .hero__title, .hero--vykl .hero__sub, .hero--vykl .hero__list { max-width: 700px; }
@media (max-width: 1100px) {
  .hero--vyk .hero__formcol, .hero--vykl .hero__formcol { width: 100%; }
}

/* v mobilním menu šipku vykresluje tlačítko vpravo — pseudo-šipka z hlavní
   navigace tam vedle textu zůstávala jako svislá čárka */
.offcanvas__body .has-children > a::after { display: none; }

/* ============================================================
   56. Rekonstrukce před prodejem
   ============================================================ */
.hero--reko { background-image: url('../img/hero-luxury.jpg'); background-size: cover; background-position: center; }
.hero--reko .hero__overlay {
  background: linear-gradient(90deg, rgba(23, 19, 15, .92) 0%, rgba(23, 19, 15, .78) 48%, rgba(23, 19, 15, .5) 100%);
}
.hero--reko .hero__inner { min-height: 0; padding: 56px 55px; align-items: center; gap: 64px; }
.hero--reko .hero__left { flex: 1; min-width: 0; width: auto; padding-top: 0; }
.hero--reko .hero__formcol { flex: none; width: 540px; padding-top: 0; }
.hero--reko .hero__title, .hero--reko .hero__sub, .hero--reko .hero__list { max-width: 700px; }
.hero--reko .hero__title { font-size: 42px; line-height: 54px; color: #fdf8f0; }
.hero--reko .hero__sub { margin-top: 18px; color: rgba(253, 248, 240, .78); }
.hero--reko .hero__list { margin-top: 26px; }
.hero--reko .hero__list li {
  position: relative; margin-top: 11px; padding-left: 24px;
  font-family: 'Inter', sans-serif; font-size: 15px; line-height: 25px; color: rgba(253, 248, 240, .74);
}
.hero--reko .hero__list li::before {
  content: ''; position: absolute; left: 2px; top: 10px; width: 7px; height: 7px;
  border-radius: 50%; background: var(--sand);
}
.hero--reko .eyebrow { color: var(--sand); }
.hero--reko .eyebrow__line { background: var(--sand); }

.spec--reko { background: var(--white); padding: 88px 0 96px; }
.rekoKroky { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; margin-top: 48px; }
.rekoKrok { padding: 28px 26px; background: var(--cream); border-radius: 16px; }
.rekoKrok__cislo {
  display: flex; align-items: center; justify-content: center; width: 40px; height: 40px;
  border-radius: 50%; background: var(--ink); color: #fdf8f0;
  font-family: var(--font-display); font-size: 17px; font-weight: 600;
}
.rekoKrok h3 { margin-top: 18px; font-family: var(--font-display); font-size: 19px; line-height: 27px; font-weight: 600; color: var(--ink); }
.rekoKrok p { margin-top: 9px; font-family: 'Inter', sans-serif; font-size: 14px; line-height: 23px; color: var(--body); }

.varianty { background: var(--grey-bg); padding: 88px 0 96px; }
.variantyGrid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; margin-top: 44px; }
.variantaBox { padding: 34px 32px; background: var(--white); border: 1px solid var(--line); border-radius: 18px; }
.variantaBox__stitek {
  display: inline-block; padding: 5px 12px; border-radius: 999px; background: var(--cream);
  font-family: 'Inter', sans-serif; font-size: 11px; font-weight: 600;
  letter-spacing: .1em; text-transform: uppercase; color: var(--body);
}
.variantaBox h3 { margin-top: 16px; font-family: var(--font-display); font-size: 25px; line-height: 34px; font-weight: 600; color: var(--ink); }
.variantaBox__lead { margin-top: 10px; font-family: 'Inter', sans-serif; font-size: 15px; line-height: 25px; color: var(--body); }
.variantaBox__list { margin-top: 22px; padding-top: 22px; border-top: 1px solid var(--line); }
.variantaBox__list li {
  position: relative; margin-top: 12px; padding-left: 26px;
  font-family: 'Inter', sans-serif; font-size: 14px; line-height: 24px; color: var(--body);
}
.variantaBox__list li:first-child { margin-top: 0; }
.variantaBox__list li::before {
  content: ''; position: absolute; left: 0; top: 4px; width: 16px; height: 16px; border-radius: 50%;
  background: var(--sand);
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231b1611' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12.5 4 4 8-9'/%3E%3C/svg%3E");
  background-size: 11px 11px; background-position: center; background-repeat: no-repeat;
}
.variantaBox--dark { background: var(--ink); border-color: var(--ink); }
.variantaBox--dark h3 { color: #fdf8f0; }
.variantaBox--dark .variantaBox__lead, .variantaBox--dark .variantaBox__list li { color: rgba(253, 248, 240, .74); }
.variantaBox--dark .variantaBox__list { border-top-color: rgba(216, 195, 165, .22); }
.variantaBox--dark .variantaBox__stitek { background: rgba(216, 195, 165, .2); color: var(--sand); }

.modelBox { margin-top: 34px; padding: 32px; background: var(--white); border: 1px solid var(--line); border-radius: 18px; }
.modelBox h3 { font-family: var(--font-display); font-size: 21px; line-height: 29px; font-weight: 600; color: var(--ink); }
.modelTab { width: 100%; margin-top: 20px; border-collapse: collapse; font-family: 'Inter', sans-serif; font-size: 15px; }
.modelTab th, .modelTab td { padding: 13px 4px; border-bottom: 1px solid var(--line); text-align: left; }
.modelTab th { font-weight: 400; color: var(--body); }
.modelTab td { width: 240px; font-weight: 600; color: var(--ink); font-variant-numeric: tabular-nums; }
.modelTab--soucet th, .modelTab--soucet td { background: var(--cream); font-weight: 600; color: var(--ink); }
.modelBox__pozn { margin-top: 16px; font-family: 'Inter', sans-serif; font-size: 13px; line-height: 22px; color: var(--muted); }

.duo--reko { background: var(--white); padding: 88px 0 96px; }
.duo--reko > .container--wide { margin-bottom: 36px; }
.duo--reko .duo__col--steps { flex: 1; min-width: 0; }
.rekoSml { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px 40px; }
.rekoSml__bod { display: flex; gap: 16px; }
.rekoSml__ico {
  display: flex; flex: none; align-items: center; justify-content: center; width: 44px; height: 44px;
  border-radius: 50%; background: var(--cream); color: var(--ink);
}
.rekoSml__ico svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.rekoSml__bod h3 { font-family: var(--font-display); font-size: 18px; line-height: 26px; font-weight: 600; color: var(--ink); }
.rekoSml__bod p { margin-top: 7px; font-family: 'Inter', sans-serif; font-size: 14px; line-height: 24px; color: var(--body); }
.rekoSml__pozn {
  margin-top: 30px; padding-top: 22px; border-top: 1px solid var(--line);
  font-family: 'Inter', sans-serif; font-size: 13px; line-height: 23px; color: var(--muted);
}

.spec--kdy { background: var(--grey-bg); padding: 88px 0 96px; }
.kdyGrid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; margin-top: 44px; }
.kdyBox { padding: 30px 30px 32px; background: var(--white); border: 1px solid var(--line); border-radius: 18px; }
.kdyBox h3 { font-family: var(--font-display); font-size: 22px; line-height: 30px; font-weight: 600; color: var(--ink); }
.kdyBox ul { margin-top: 20px; }
.kdyBox li {
  position: relative; margin-top: 12px; padding-left: 28px;
  font-family: 'Inter', sans-serif; font-size: 15px; line-height: 25px; color: var(--body);
}
.kdyBox li::before {
  content: ''; position: absolute; left: 0; top: 5px; width: 18px; height: 18px; border-radius: 50%;
  background-size: 12px 12px; background-position: center; background-repeat: no-repeat;
}
.kdyBox--ano li::before {
  background-color: var(--sand);
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231b1611' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12.5 4 4 8-9'/%3E%3C/svg%3E");
}
.kdyBox--ne li::before {
  background-color: var(--grey-bg);
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23786e63' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 7l10 10M17 7 7 17'/%3E%3C/svg%3E");
}
.spec--kdy .cenaCta { margin-top: 34px; }

@media (max-width: 1100px) {
  .hero--reko .hero__inner { flex-wrap: wrap; }
  .hero--reko .hero__left, .hero--reko .hero__formcol { width: 100%; max-width: none; }
  .hero--reko .hero__title { font-size: 32px; line-height: 42px; }
  .rekoKroky { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .variantyGrid, .kdyGrid, .rekoSml { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
  .rekoKroky { grid-template-columns: 1fr; }
  .modelTab td { width: auto; }
}

/* služba, která ještě neběží — musí to být vidět, ne schované v textu */
.hero__pripr {
  display: flex; align-items: flex-start; gap: 12px; margin-top: 22px; max-width: 700px;
  padding: 14px 18px; border-radius: 12px; background: rgba(216, 195, 165, .14);
  border: 1px solid rgba(216, 195, 165, .3);
  font-family: 'Inter', sans-serif; font-size: 14px; line-height: 23px; color: rgba(253, 248, 240, .82);
}
.hero__priprStitek {
  flex: none; padding: 3px 10px; border-radius: 999px; background: var(--sand); color: var(--ink);
  font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
}
.pripr { background: var(--cream); padding: 30px 0; }
.pripr__inner { display: flex; align-items: center; gap: 22px; }
.pripr__ico {
  display: flex; flex: none; align-items: center; justify-content: center; width: 50px; height: 50px;
  border-radius: 50%; background: var(--white); color: var(--ink);
}
.pripr__ico svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.pripr h2 { font-family: var(--font-display); font-size: 21px; line-height: 29px; font-weight: 600; color: var(--ink); }
.pripr p { margin-top: 6px; max-width: 820px; font-family: 'Inter', sans-serif; font-size: 14px; line-height: 24px; color: var(--body); }
.pripr__btn { flex: none; margin-left: auto; }
@media (max-width: 900px) {
  .pripr__inner { flex-wrap: wrap; }
  .pripr__btn { margin-left: 0; width: 100%; justify-content: center; }
  .hero__pripr { flex-direction: column; gap: 8px; }
}

/* ============================================================
   57. Investiční kalkulačka
   ============================================================ */
.kalkHead { background: var(--cream); padding: 46px 0 40px; }
.kalkHead__titul { margin-top: 20px; font-family: var(--font-display); font-size: 40px; line-height: 50px; font-weight: 600; color: var(--ink); }
.kalkHead__perex { margin-top: 14px; max-width: 820px; font-family: 'Inter', sans-serif; font-size: 16px; line-height: 28px; color: var(--body); }

.kalk { background: var(--white); padding: 44px 0 88px; }
.kalk__inner { display: grid; grid-template-columns: 340px minmax(0, 1fr); gap: 40px; align-items: start; }

.kalk__form { position: sticky; top: 98px; padding: 26px 24px; background: var(--grey-bg); border: 1px solid var(--line); border-radius: 16px; }
.kalk__skupina { border: 0; padding: 0; margin: 0 0 24px; }
.kalk__skupina:last-of-type { margin-bottom: 18px; }
.kalk__skupina legend {
  padding: 0 0 12px; font-family: 'Inter', sans-serif; font-size: 11px; font-weight: 600;
  letter-spacing: .12em; text-transform: uppercase; color: var(--muted);
}
.kalk__pole { margin-bottom: 14px; }
.kalk__pole label {
  display: block; margin-bottom: 5px;
  font-family: 'Inter', sans-serif; font-size: 14px; font-weight: 500; color: var(--ink);
}
.kalk__jednotka { font-weight: 400; color: var(--muted); }
.kalk__pole input {
  width: 100%; padding: 11px 13px; border: 1px solid var(--line); border-radius: 9px;
  background: var(--white); font-family: 'Inter', sans-serif; font-size: 15px; color: var(--ink);
  font-variant-numeric: tabular-nums;
}
.kalk__pole input:focus { outline: 2px solid var(--sand); outline-offset: 1px; border-color: var(--sand); }
.kalk__napoveda { display: block; margin-top: 5px; font-family: 'Inter', sans-serif; font-size: 12px; line-height: 18px; color: var(--muted); }
.kalk__napoveda--blok { margin-top: 14px; }
.kalk__akce { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.kalk__akce .btn { justify-content: center; padding: 12px 10px; font-size: 14px; }

.kalk__vystup { min-width: 0; }
.kalk__shrnuti { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.kalk__karta { padding: 16px 16px 18px; background: var(--cream); border-radius: 13px; }
.kalk__kartaPopis { display: block; font-family: 'Inter', sans-serif; font-size: 11px; font-weight: 600; letter-spacing: .09em; text-transform: uppercase; color: var(--muted); }
.kalk__kartaHodnota { display: block; margin-top: 7px; font-family: var(--font-display); font-size: 21px; line-height: 28px; font-weight: 600; color: var(--ink); }
.kalk__kartaPozn { display: block; margin-top: 4px; font-family: 'Inter', sans-serif; font-size: 12px; line-height: 18px; color: var(--muted); }

.kalk__nadpis { margin-top: 40px; font-family: var(--font-display); font-size: 22px; line-height: 30px; font-weight: 600; color: var(--ink); }
.kalk__popis { margin-top: 7px; font-family: 'Inter', sans-serif; font-size: 14px; line-height: 23px; color: var(--muted); }
.kalk__tabWrap { margin-top: 16px; overflow-x: auto; border: 1px solid var(--line); border-radius: 13px; }
.kalk__tab { width: 100%; border-collapse: collapse; font-family: 'Inter', sans-serif; font-size: 13px; }
.kalk__tab th, .kalk__tab td { padding: 10px 12px; text-align: left; white-space: nowrap; }
.kalk__tab thead th { background: var(--cream); font-weight: 600; color: var(--ink); font-size: 12px; }
.kalk__tab tbody tr { border-top: 1px solid var(--line); }
.kalk__tab tbody tr:nth-child(even) { background: var(--grey-bg); }
.kalk__tab .cislo { text-align: right; font-variant-numeric: tabular-nums; }
.kalk__tab .kladne { color: #2f6b46; font-weight: 600; }
.kalk__tab .zaporne { color: #9a3b2f; font-weight: 600; }
.kalk__ok { color: #2f6b46; }
.kalk__ne { color: #9a3b2f; }

.kalk__pozn { margin-top: 16px; font-family: 'Inter', sans-serif; font-size: 14px; line-height: 24px; color: var(--body); }
.kalk__pozn--male { margin-top: 28px; padding-top: 18px; border-top: 1px solid var(--line); font-size: 12px; line-height: 20px; color: var(--muted); }
.kalk__varovani {
  margin-top: 16px; padding: 13px 16px; border-radius: 11px; background: var(--cream);
  font-family: 'Inter', sans-serif; font-size: 14px; line-height: 23px; color: var(--ink);
}
.kalk__hlaska { padding: 24px; background: var(--grey-bg); border-radius: 13px; font-family: 'Inter', sans-serif; font-size: 15px; color: var(--muted); }
.kalk__grafWrap { margin-top: 16px; overflow-x: auto; }
.kalk__graf { display: block; width: 100%; min-width: 560px; height: auto; }

@media (max-width: 1100px) {
  .kalk__inner { grid-template-columns: 1fr; }
  .kalk__form { position: static; }
  .kalk__shrnuti { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 620px) {
  .kalkHead__titul { font-size: 30px; line-height: 40px; }
  .kalk__shrnuti { grid-template-columns: 1fr; }
  .kalk__akce { grid-template-columns: 1fr; }
}

/* ============================================================
   58. Vstupní obrazovka s heslem (interní stránky)
   ============================================================ */
.zamek {
  display: flex; align-items: center; justify-content: center;
  min-height: 100vh; padding: 40px 20px; background: var(--cream);
}
.zamek__karta {
  width: 100%; max-width: 420px; padding: 40px 38px 34px; text-align: center;
  background: var(--white); border: 1px solid var(--line); border-radius: 18px;
  box-shadow: 0 20px 50px rgba(27, 22, 17, .08);
}
.zamek__logo img { display: block; margin: 0 auto; height: auto; }
.zamek__titul { margin-top: 26px; font-family: var(--font-display); font-size: 26px; line-height: 34px; font-weight: 600; color: var(--ink); }
.zamek__text { margin-top: 8px; font-family: 'Inter', sans-serif; font-size: 14px; line-height: 23px; color: var(--muted); }
.zamek__chyba {
  margin-top: 18px; padding: 10px 14px; border-radius: 10px;
  background: #f6e7e4; font-family: 'Inter', sans-serif; font-size: 14px; color: #9a3b2f;
}
.zamek__form { display: grid; gap: 10px; margin-top: 22px; }
.zamek__form input {
  width: 100%; padding: 13px 15px; border: 1px solid var(--line); border-radius: 10px;
  background: var(--white); font-family: 'Inter', sans-serif; font-size: 15px; color: var(--ink);
}
.zamek__form input:focus { outline: 2px solid var(--sand); outline-offset: 1px; border-color: var(--sand); }
.zamek__form .btn { justify-content: center; }
.zamek__zpet { margin-top: 20px; font-family: 'Inter', sans-serif; font-size: 13px; }
.zamek__zpet a { color: var(--muted); border-bottom: 1px solid var(--line); }
.zamek__zpet a:hover { color: var(--ink); border-color: var(--ink); }

/* ============================================================
   59. Hero — zarovnání na stejnou osu jako hlavička
   Hero mělo vlastní odsazení 55 px, zatímco obsah hlavičky
   začíná na 92 px. Text v heru proto začínal vlevo od loga
   a bílá karta přesahovala vpravo přes tlačítko Nabídka.
   ============================================================ */
/* .hero .hero__inner — stejná váha jako .hero--mesto .hero__inner, ale níž v souboru,
   takže přebije odsazení jednotlivých variant */
.hero .hero__inner { padding-left: 92px; padding-right: 92px; }
@media (max-width: 1300px) { .hero .hero__inner { padding-left: 30px; padding-right: 30px; } }
@media (max-width: 767px)  { .hero .hero__inner { padding-left: 15px; padding-right: 15px; } }

/* tři boxy v lokalitě (obce · nedaleko · dostupnost) a prolinkované názvy */
.lokgrid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.lokbox__seznam a {
  display: inline-flex; align-items: baseline; gap: 5px;
  color: var(--ink); border-bottom: 1px solid var(--line);
}
.lokbox__seznam a:hover { border-color: var(--ink); }
.lokbox__seznam a i { font-style: normal; font-size: 12px; color: var(--muted); }
@media (max-width: 1000px) { .lokgrid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 680px) { .lokgrid--3 { grid-template-columns: 1fr; } }

/* přepínač mezi kalkulačkami */
.kalkTaby { display: flex; gap: 6px; padding: 5px; margin-top: 26px; background: var(--grey-bg); border-radius: 999px; width: fit-content; max-width: 100%; flex-wrap: wrap; }
.kalkTab {
  padding: 10px 20px; border: 0; border-radius: 999px; background: transparent; cursor: pointer;
  font-family: 'Inter', sans-serif; font-size: 14px; font-weight: 500; color: var(--muted);
  transition: background .2s ease, color .2s ease;
}
.kalkTab:hover { color: var(--ink); }
.kalkTab.is-aktivni { background: var(--ink); color: #fdf8f0; font-weight: 600; }
.kalk[data-panel-obsah] { padding-top: 26px; }
.kalk__akce--jedno { grid-template-columns: 1fr; }
.kalk__soucet th, .kalk__soucet td { background: var(--cream); font-weight: 600; color: var(--ink); }
.kalk__tab th { font-weight: 400; }
.kalk__radekPozn { font-size: 12px; color: var(--muted); white-space: normal; }

/* ============================================================
   60. Recenze
   ============================================================ */
.rHead { background: var(--cream); padding: 46px 0 52px; }
.rHead__titul { margin-top: 20px; font-family: var(--font-display); font-size: 40px; line-height: 50px; font-weight: 600; color: var(--ink); }
.rHead__perex { margin-top: 14px; max-width: 720px; font-family: 'Inter', sans-serif; font-size: 16px; line-height: 28px; color: var(--body); }

.rSouhrn { display: flex; align-items: center; gap: 48px; margin-top: 34px; padding: 26px 30px; background: var(--white); border-radius: 18px; flex-wrap: wrap; }
.rSouhrn__cislo { text-align: center; }
.rSouhrn__prumer { display: block; font-family: var(--font-display); font-size: 52px; line-height: 1; font-weight: 600; color: var(--ink); }
.rSouhrn__pocet { display: block; margin-top: 8px; font-family: 'Inter', sans-serif; font-size: 13px; color: var(--muted); }
.rSouhrn__graf { flex: 1; min-width: 260px; display: grid; gap: 6px; }
.rSouhrn__radek { display: grid; grid-template-columns: 34px 1fr 26px; align-items: center; gap: 10px; }
.rSouhrn__stupen, .rSouhrn__kolik { font-family: 'Inter', sans-serif; font-size: 12px; color: var(--muted); }
.rSouhrn__kolik { text-align: right; }
.rSouhrn__pruh { height: 7px; border-radius: 999px; background: var(--cream); overflow: hidden; }
.rSouhrn__pruh i { display: block; height: 100%; background: var(--sand); border-radius: 999px; }

.hvezdy { display: inline-flex; gap: 2px; margin-top: 10px; }
.hvezda { width: 15px; height: 15px; fill: #e0d8cd; }
.hvezda.je-plna { fill: #d8a54a; }
.hvezdy--velka .hvezda { width: 22px; height: 22px; }
.hvezdy--mala { margin-top: 0; }
.hvezdy--mala .hvezda { width: 13px; height: 13px; }

.rUpozorneni { background: #f6ecd9; border-top: 1px solid #e6d5b4; border-bottom: 1px solid #e6d5b4; padding: 18px 0; }
.rUpozorneni__inner { display: flex; gap: 16px; align-items: flex-start; }
.rUpozorneni__stitek { flex: none; padding: 4px 11px; border-radius: 999px; background: #b4832a; color: #fff; font-family: 'Inter', sans-serif; font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.rUpozorneni p { font-family: 'Inter', sans-serif; font-size: 14px; line-height: 23px; color: #5e4a1f; }
.rUpozorneni code { background: rgba(0,0,0,.06); padding: 1px 5px; border-radius: 4px; }

.rSeznam { background: var(--white); padding: 46px 0 80px; }
.rFiltr { display: flex; flex-wrap: wrap; gap: 8px; }
.rFiltr__btn {
  padding: 9px 16px; border: 1px solid var(--line); border-radius: 999px; background: var(--white); cursor: pointer;
  font-family: 'Inter', sans-serif; font-size: 14px; color: var(--body);
  transition: background .2s ease, color .2s ease, border-color .2s ease;
}
.rFiltr__btn span { color: var(--muted); font-size: 12px; }
.rFiltr__btn:hover { border-color: var(--sand); }
.rFiltr__btn.is-aktivni { background: var(--ink); border-color: var(--ink); color: #fdf8f0; }
.rFiltr__btn.is-aktivni span { color: rgba(253,248,240,.6); }

.rGrid { columns: 3; column-gap: 22px; margin-top: 28px; }
.rcard {
  position: relative; break-inside: avoid; margin-bottom: 22px; padding: 24px 24px 22px;
  background: var(--white); border: 1px solid var(--line); border-radius: 16px;
}
.rcard[data-ukazka] { border-style: dashed; background: #fcfaf7; }
/* štítek byl absolutně nad hvězdičkami a překrýval je — patří nad hlavičku */
.rcard__ukazka {
  display: inline-block; margin-bottom: 10px; padding: 2px 8px; border-radius: 999px;
  background: #f0e2c6; color: #8a6a1e; font-family: 'Inter', sans-serif; font-size: 10px;
  font-weight: 600; letter-spacing: .06em; text-transform: uppercase;
}
.rcard__hlava { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.rcard__sluzba { font-family: 'Inter', sans-serif; font-size: 11px; font-weight: 600; letter-spacing: .09em; text-transform: uppercase; color: var(--muted); }
.rcard__text { margin-top: 14px; }
.rcard__text p { font-family: 'Inter', sans-serif; font-size: 14.5px; line-height: 25px; color: var(--body); }
.rcard__pata { margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--line); }
.rcard__jmeno { display: block; font-family: var(--font-display); font-size: 16px; font-weight: 600; color: var(--ink); }
.rcard__misto, .rcard__datum { display: block; margin-top: 2px; font-family: 'Inter', sans-serif; font-size: 12.5px; line-height: 19px; color: var(--muted); }
.rSeznam__prazdno { margin-top: 24px; font-family: 'Inter', sans-serif; color: var(--muted); }

.rForm { background: var(--grey-bg); padding: 72px 0 88px; }
.rForm__inner { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 480px); gap: 56px; align-items: start; }
.rForm__text .heading { margin: 0; }
.rForm__text p { margin-top: 14px; max-width: 520px; font-family: 'Inter', sans-serif; font-size: 15px; line-height: 26px; color: var(--body); }
.rForm__pozn { color: var(--muted) !important; font-size: 14px !important; }
.rForm__form { padding: 30px 30px 26px; background: var(--white); border: 1px solid var(--line); border-radius: 18px; }
.rForm__hvezdy { margin-bottom: 16px; }
.rForm__label { display: block; margin-bottom: 6px; font-family: 'Inter', sans-serif; font-size: 13px; font-weight: 600; color: var(--ink); }
.hvezdyVyber { display: flex; gap: 4px; }
.hvezdyVyber__btn { padding: 2px; border: 0; background: none; cursor: pointer; line-height: 0; }
.hvezdyVyber__btn svg { width: 28px; height: 28px; fill: #e0d8cd; transition: fill .15s ease; }
.hvezdyVyber__btn.je-plna svg { fill: #d8a54a; }
.rForm__form select {
  width: 100%; padding: 13px 15px; margin-bottom: 10px; border: 1px solid var(--line); border-radius: 9px;
  background: var(--white); font-family: 'Inter', sans-serif; font-size: 15px; color: var(--ink);
}

@media (max-width: 1100px) {
  .rGrid { columns: 2; }
  /* pevných 480 px ve druhém sloupci přetékalo na mobilu — mřížka musí umět
     zúžit obě části, proto minmax(0, …) */
  .rForm__inner { grid-template-columns: minmax(0, 1fr); gap: 30px; }
}
@media (max-width: 700px) {
  .rGrid { columns: 1; }
  .rHead__titul { font-size: 30px; line-height: 40px; }
  .rSouhrn { gap: 24px; }
}

/* souhrn bez hvězdičkového hodnocení — dokud se nesesbírá přes formulář */
.rSouhrn--bezHvezd { align-items: center; gap: 40px; }
.rSouhrn--bezHvezd .rSouhrn__prumer { font-size: 46px; }
.rSouhrn__rozpad { display: flex; flex-wrap: wrap; gap: 26px; }
.rSouhrn__polozka b {
  display: block; font-family: var(--font-display); font-size: 24px; line-height: 30px;
  font-weight: 600; color: var(--ink);
}
.rSouhrn__polozka span { display: block; margin-top: 2px; font-family: 'Inter', sans-serif; font-size: 12.5px; color: var(--muted); }
.rSouhrn__pozn {
  flex-basis: 100%; margin-top: 4px; padding-top: 16px; border-top: 1px solid var(--line);
  font-family: 'Inter', sans-serif; font-size: 13px; line-height: 21px; color: var(--muted);
}

/* tlačítko „Napsat recenzi" hned pod perexem — sjede na formulář dole */
.rHead__cta { margin-top: 22px; }
.rHead__cta .ico { width: 17px; height: 17px; }

/* ============================================================
   61. Mobilní použitelnost
   Kontrola na 390 px našla dvě věci: drobné písmo pod formuláři
   a odkazy s dotykovým cílem kolem 20 px. Doporučení je 44 px.
   ============================================================ */
@media (max-width: 767px) {
  .cform__note, .modelBox__pozn, .kalk__pozn--male, .appmock__cap { font-size: 12px; line-height: 19px; }
  .fakt__zdroj, .rcard__misto, .rcard__datum { font-size: 12px; }

  /* odkazové seznamy — větší rozestup, ať se dá trefit prstem */
  .widget__links li { margin-bottom: 2px; }
  .widget__links a { display: inline-block; padding: 9px 0; }
  .lokbox__seznam a, .lokbox__seznam span { display: inline-block; padding: 6px 0; }
  .drobky a { padding: 6px 0; }
  .blogList__rss { display: inline-block; padding: 8px 0; }
  .offcanvas__body a { padding-top: 11px; padding-bottom: 11px; }
  .footer__social a, .footer__social span { padding: 6px; }
  /* telefon a e-mail jsou na mobilu ty nejdůležitější cíle vůbec */
  .kont__phone a, .kont__item a, .widget__contact a, .contact__row a, .heroform__alt a {
    display: inline-block; padding: 10px 0;
  }
}
