/* ----- Reviews CTA button: как у "Více" ----- */
.section-reviews .reviews-cta__btn{
  /* чуть больше вертикальные отступы */
  padding: 14px 24px;
  border-radius: 10px;

  /* базовый «золотой», как на сайте */
  background: var(--lp-gold, #C8A061);
  color: #fff;
  border: 1px solid transparent;

  /* приятная тень и анимация - в духе остальных кнопок */
  box-shadow: 0 6px 22px rgba(200,160,97,.28);
  transition:
    background-color .2s ease,
    box-shadow .2s ease,
    transform .2s ease,
    color .2s ease;
}

/* hover/active - затемняем тон точно как у "Více" */
.section-reviews .reviews-cta__btn:hover{
  /* если поддерживается color-mix - делаем тёмнее на ~12% */
  background: color-mix(in srgb, var(--lp-gold, #C8A061) 88%, #000 12%);
  transform: translateY(-1px);
  box-shadow: 0 10px 28px rgba(200,160,97,.35);
}

.section-reviews .reviews-cta__btn:active{
  background: color-mix(in srgb, var(--lp-gold, #C8A061) 78%, #000 22%);
  transform: translateY(0);
  box-shadow: 0 4px 16px rgba(200,160,97,.25);
}

/* fallback на старые браузеры без color-mix */
@supports not (background: color-mix(in srgb, #000 0%, #fff 100%)) {
  .section-reviews .reviews-cta__btn:hover  { filter: brightness(.93); }
  .section-reviews .reviews-cta__btn:active { filter: brightness(.86); }
}

/* Skip link */
.skip-link{
  position: absolute; left: -9999px; top: auto;
  color:#fff; background:#2d2d2d; padding:10px 14px;
  border-radius:8px; z-index:9999;
}
.skip-link:focus{ left: 16px; top: 16px; outline: none; }

/* Header container */
.site-header{
  position: sticky; top:0; z-index: 1000;
  backdrop-filter: saturate(180%) blur(6px);
  background: color-mix(in srgb, #fff 78%, transparent);
  border-bottom: 1px solid rgba(0,0,0,.04);
}
.site-header.scrolled{
  box-shadow: 0 8px 22px rgba(0,0,0,.05);
  background: color-mix(in srgb, #fff 86%, transparent);
}
.site-header__inner{
  max-width: 1200px; margin: 0 auto;
  padding: clamp(12px, 2.4vw, 18px) 20px;
  display:flex; align-items:center; gap: 16px;
}
.site-header__logo img{ display:block; height: var(--logo-h-desktop); width: auto; }

/* Desktop nav */
.site-nav{ margin-left: 24px; }
.site-nav__list{ display:flex; gap: 26px; list-style:none; margin:0; padding:0; }
.site-nav__link{
  position: relative;
  display:inline-block; padding: 6px 2px;
  color: var(--lp-text, #3a3027); text-decoration: none;
}
.site-nav__link:focus-visible{ outline: 2px solid var(--lp-gold,#C8A061); outline-offset: 4px; border-radius: 6px; }

/* underline animation */
.site-nav__link::after{
  content:""; position:absolute; left:0; bottom:-2px;
  height:2px; width:0%;
  background: var(--lp-gold, #C8A061);
  transition: width .24s ease;
}
.site-nav__link:hover::after,
.site-nav__link[aria-current="page"]::after{ width:100%; }

/* Actions (lang + CTA + burger) */
.site-actions{ margin-left:auto; display:flex; align-items:center; gap:12px; }

/* Language */
.lang{ position:relative; }
.lang__btn{
  display:flex; align-items:center; gap:6px;
  border:1px solid rgba(0,0,0,.08); border-radius:10px;
  padding:10px 12px; background:#fff; color:#3a3027;
}
.lang__btn:focus-visible{ outline:2px solid var(--lp-gold,#C8A061); outline-offset:2px; }
.lang__list{
  position:absolute; right:0; margin-top:8px;
  min-width: 140px; list-style:none; padding:8px;
  background:#fff; border:1px solid rgba(0,0,0,.08);
  border-radius:12px; box-shadow: 0 10px 28px rgba(0,0,0,.12);
  display:none;
}
.lang[aria-expanded="true"] .lang__list { display:block; }
.lang__list li{
  padding:8px 10px; border-radius:8px; cursor:pointer;
}
.lang__list li:hover, .lang__list li[aria-selected="true"]{
  background: #f4efe9;
}

/* CTA в шапке - используем общий стиль кнопок сайта */
.header-cta{ 
  white-space:nowrap; 
  border-radius: 10px !important; /* как у кнопки языка для визуальной гармонии */
}

/* Burger (мобильная) */
.mobile-menu-btn{
  display:none; /* будет на мобилках */
  width:42px; height:42px; border-radius:10px;
  border:1px solid rgba(0,0,0,.08); background:#fff;
  align-items:center; justify-content:center;
}
.mobile-menu-btn:focus-visible{ outline:2px solid var(--lp-gold,#C8A061); outline-offset:2px; }
.mobile-menu-btn .burger-line{
  width:20px; height:2px; background:#3a3027; display:block;
  transition: transform .25s ease, opacity .25s ease; margin:4px 0;
}
/* Состояние open - у вас уже есть логика, дублируем на класс .is-open */
.mobile-menu-btn.is-open .burger-line:nth-child(1){ transform: translateY(6px) rotate(45deg); }
.mobile-menu-btn.is-open .burger-line:nth-child(2){ opacity:0; }
.mobile-menu-btn.is-open .burger-line:nth-child(3){ transform: translateY(-6px) rotate(-45deg); }

/* Mobile panel */
.mobile-panel{
  position: fixed; inset: 64px 0 0 0; /* под хедером */
  background: rgba(255,255,255,.98);
  backdrop-filter: blur(10px);
  display:block; overflow:auto;
}
.mobile-panel[hidden]{ display:none !important; }

.mobile-nav__list{ list-style:none; padding:20px; margin:0; display:flex; flex-direction:column; gap:14px; }
.mobile-nav__link{
  font-size: 18px; text-decoration:none; color:#3a3027;
  padding:10px 6px; border-radius:8px;
}
.mobile-nav__link:focus-visible{ outline:2px solid var(--lp-gold,#C8A061); outline-offset:2px; }
.mobile-actions{ padding: 8px 20px 24px; }

/* Responsive */
@media (max-width: 980px){
  .site-nav{ display:none; }
  .mobile-menu-btn{ display:flex; }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
  *{ transition: none !important; animation: none !important; }
}

/* --- HEADER TWEAKS -------------------------------------------------- */

/* компактнее паддинг у шапки */
.site-header__inner{
  padding: clamp(10px, 1.4vw, 14px) 20px;
}

/* ЛОГО: ограничиваем высоту, ширина подстраивается по пропорциям */
.site-header__logo img{
  max-height: 44px;   /* было слишком крупно */
  width: auto;
}
@media (max-width: 980px){
  .site-header__logo img{ max-height: 36px; }
}

/* НАВИГАЦИЯ: увеличим читаемость и чуть раздвинем пункты */
.site-nav__list{ gap: 28px; }
.site-nav__link{
  font-size: clamp(15.5px, 1.05vw, 17px); /* ~16-17px desktop, ~15.5px на узких */
}

/* ЯЗЫКОВОЕ МЕНЮ: аккуратная ширина и центрирование */
.lang__list{
  min-width: 148px;
  max-height: 70vh;
  overflow:auto;
  text-align: center;           /* если без флажков - будет ровно по центру */
}
.lang__list li{
  display: flex;
  align-items: center;
  justify-content: center;      /* центрируем текст/флаг вместе */
  gap: 8px;
  padding: 9px 12px;
  font-size: 15px;
  border-radius: 10px;
}
.lang__list li:hover,
.lang__list li[aria-selected="true"]{
  background: #f4efe9;
}

/* Если вернём флаги - они будут аккуратными */
.lang__list .flag{
  width: 16px; height: 12px;
  border-radius: 2px;
  object-fit: cover;
  box-shadow: 0 0 0 1px rgba(0,0,0,.06) inset;
}

/* Если флагов нет - просто скрываем потенциальный <img> и всё остаётся по центру */
.lang--no-flags .flag{ display:none; }

/* ===== HEADER: 140px / MENU 24px / LANG DROPDOWN ===== */
:root {
  --header-h: 140px;              /* высота шапки */
}

/* каркас шапки */
.site-header__inner{
  height: var(--header-h);
  display: flex;
  align-items: center;
  gap: 28px;
  padding: 0 20px;
}

/* логотип под 140px (оставим поля сверху/снизу) */
.site-header__logo img{
  max-height: calc(var(--header-h) - 44px); /* ~96px */
  width: auto;
}

/* пункты меню - 24px */
.site-nav__list{ gap: 36px; }
.site-nav__link{
  font-size: 24px;
  line-height: 1.15;
  padding: 8px 0;
}

/* язык - выравниваем и фиксируем позиционирование выпадашки */
.lang{ position: relative; display: inline-flex; align-items: center; }
.lang__btn{
  display: inline-flex; align-items: center; gap: 8px;
  height: 44px; padding: 0 14px; border-radius: 10px;
}
.lang__list{
  position: absolute;
  top: calc(100% + 10px);          /* строго ниже кнопки */
  right: 0;
  min-width: 180px;
  max-height: 70vh;
  overflow: auto;
  padding: 8px;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 10px 30px rgba(0,0,0,.12);
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  z-index: 1000;
  text-align: left;
}
.lang__list li{
  display: flex; align-items: center; gap: 10px;
  padding: 10px 14px; border-radius: 10px; font-size: 16px;
}
.lang__list li:hover,
.lang__list li[aria-selected="true"]{
  background: #f4efe9;
}

/* флажок */
.lang__list .flag,
.lang__btn  .flag{
  width: 20px; height: 14px; border-radius: 2px;
  object-fit: cover;
  box-shadow: 0 0 0 1px rgba(0,0,0,.06) inset;
}

/* адаптив, чтобы ничего не сломать */
@media (max-width: 1280px){
  .site-nav__link{ font-size: 22px; }
}
@media (max-width: 980px){
  .site-header__inner{ height: 80px; }
  .site-header__logo img{ max-height: 48px; }
  .site-nav__link{ font-size: 18px; }
}

/* === Language switcher: hide globe, match dropdown width === */

/* прячем любой svg/иконку-глобус внутри кнопки,
   но оставляем наш <img class="flag"> */
.lang__btn svg,
.lang__btn .icon,
.lang__btn .globe,
.lang__btn .lang__icon,
.lang__btn .lang__caret {
  display: none !important;
}

/* === Language dropdown width fix === */

/* контейнер и кнопка */
.lang {
  position: relative;
  display: inline-block;
}

/* кнопка выбора языка */
.lang__btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

/* выпадающий список */
.lang__list {
  position: absolute;
  top: 100%;
  left: 0;
  /* ширина = максимум(ширина кнопки, минимальная) */
  width: max(var(--lang-btn-w, 0px), var(--lang-dd-min, 100px));
  min-width: max(var(--lang-btn-w, 0px), var(--lang-dd-min, 100px));
  box-sizing: border-box;
}

/* можно поменять минималку тут, если захочешь шире/уже */
:root {
  --lang-dd-min: 100px; /* минимальная ширина дропа */
}

/* ========== HEADER: размеры для мобильного и десктопа ========== */
:root{
  --header-pad-y: 10px;               /* вертикальные отступы в хедере */
  --logo-h-mobile: 56px;              /* высота логотипа на мобилке */
  --logo-h-desktop: 96px;             /* высота логотипа на десктопе (как было) */
  --drawer-bg: rgba(250, 246, 240, 0.98); /* почти как фон сайта */
  --menu-item-gap: 8px;
}

.site-header{
  position: sticky;
  top: 0;
  z-index: 1000;
  backdrop-filter: saturate(1.2) blur(4px);
}

.site-header__logo img{
  height: var(--logo-h-desktop);
  display: block;
}

@media (max-width: 1024px){
  .site-header__logo img{
    height: var(--logo-h-mobile);
  }
}

/* ========== BURGER: аккуратное позиционирование и анимация ========== */
.mobile-menu-btn{
  --line-w: 26px;
  --line-h: 2px;
  --gap: 6px;

  display: none; /* включаем медиа-запросом ниже */
  flex-direction: column;
  justify-content: center;
  gap: var(--gap);
  width: calc(var(--line-w) + 4px);
  height: calc(var(--line-w) + 4px);
  border: 0;
  background: none;
  padding: 0;
  margin: 0;
  cursor: pointer;
  position: relative;
  z-index: 1100; /* выше дровера */
}

@media (max-width: 1024px) {
  .mobile-menu-btn {
    display: inline-flex;
  }
  .site-nav {
    display: none; /* десктопное меню прячем */
  }
}

.mobile-menu-btn .burger-line{
  width: var(--line-w);
  height: var(--line-h);
  background: #5f4436; /* цвет текста (тёмно-коричневый) */
  border-radius: 2px;
  transform-origin: center center;
  transition: transform .3s ease, opacity .2s ease, width .2s ease;
}

.mobile-menu-btn.open .burger-line:nth-child(1){
  transform: translateY(calc(var(--line-h) + var(--gap))) rotate(45deg);
}
.mobile-menu-btn.open .burger-line:nth-child(2){
  opacity: 0;
}
.mobile-menu-btn.open .burger-line:nth-child(3){
  transform: translateY(calc(-1 * (var(--line-h) + var(--gap)))) rotate(-45deg);
}

/* ========== MOBILE DRAWER: выезжает снизу хедера, хедер остаётся ========== */
#mobile-panel{
  position: fixed;
  left: 0;
  right: 0;
  top: var(--header-height, 72px); /* вычисляется скриптом */
  height: calc(100vh - var(--header-height, 72px));
  background: var(--drawer-bg);
  transform: translateY(-8px) translateX(100%); /* скрыт справа */
  transition: transform .35s ease;
  z-index: 1050;
  display: flex;
  flex-direction: column;
  padding: 16px clamp(16px, 5vw, 28px) 20px;
  overflow-y: auto;
}

#mobile-panel.open{
  transform: translateX(0);
}

/* внутри - только прозрачные элементы без белых подложек */
#mobile-panel .mobile-nav{
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--menu-item-gap);
}

#mobile-panel .mobile-nav a{
  display: block;
  padding: 16px 8px;
  font-size: 18px;
  line-height: 1.3;
  color: #5f4436;
  text-decoration: none;
  border-radius: 12px;
  transition: background .2s ease, padding-left .2s ease;
  background: transparent;             /* без белых подложек */
}

#mobile-panel .mobile-nav a:hover{
  background: rgba(95, 68, 54, 0.06);
  padding-left: 14px;
}

/* кнопка внизу */
#mobile-panel .mobile-cta{
  margin-top: auto;
  padding-top: 8px;
}

#mobile-panel .btn.btn--primary{
  width: 100%;
  display: inline-flex;
  justify-content: center;
}

/* когда меню открыто - фиксируем фон */
html.nav-open, body.nav-open{
  overflow: hidden;
}

/* убираем рамки/фон у бургера на мобилке */
@media (max-width: 1024px){
  .mobile-menu-btn{ box-shadow: none; background: none; }
}

/* ===== НОВЫЙ ДИЗАЙН МОБИЛЬНОГО МЕНЮ (ТОЛЬКО МОБАЙЛ!) ===== */

/* переопределяем высоту шапки ТОЛЬКО на мобайле */
@media (max-width: 1024px) {
  :root{
    --hdr-h: 76px; /* высота шапки на мобиле */
  }

  /* обновленная шапка только на мобайле */
  .site-header{
    background: rgba(255, 255, 255, 0.85) !important;
    backdrop-filter: saturate(1.2) blur(4px) !important;
  }

  .site-header__inner{
    height: var(--hdr-h) !important;
    display: grid !important;
    grid-template-columns: 1fr auto auto !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 8px 16px !important;
  }

  .site-header__logo img{
    height: calc(var(--hdr-h) - 18px) !important;
  }
}

/* НОВЫЙ БУРГЕР С АБСОЛЮТНЫМ ПОЗИЦИОНИРОВАНИЕМ */
@media (max-width: 1024px) {
  .mobile-menu-btn {
    --bar-w: 32px;              /* увеличено с 24px */
    --bar-h: 2.5px;             /* увеличено с 2px */
    --bar-gap: 9px;             /* увеличено с 6px */
    width: 52px !important;     /* увеличено с 44px */
    height: 52px !important;    /* увеличено с 44px */
    padding: 0 !important;
    display: grid !important;
    place-items: center !important;
    background: transparent !important;
    border: 0 !important;
    cursor: pointer !important;
    margin-left: 14px !important;  /* отступ от кнопки "Najít pobočku" */
    order: 3 !important;
    z-index: 1002 !important;
    -webkit-tap-highlight-color: transparent !important;
  }
}

/* Контейнер для трёх линий */
.mobile-menu-btn .burger-container {
  position: relative !important;
  width: var(--bar-w) !important;
  height: calc(var(--bar-h) * 3 + var(--bar-gap) * 2) !important;
}

/* Сама полоска */
.mobile-menu-btn .burger-line {
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  height: var(--bar-h) !important;
  background: #3b291f !important;
  border-radius: 2px !important;
  transform-origin: center !important;
  transition: top .25s ease, transform .25s ease, opacity .2s ease !important;
  will-change: top, transform, opacity !important;
}

/* Раскладка 3-х полосок */
.mobile-menu-btn .burger-line:nth-child(1) { top: 0 !important; }
.mobile-menu-btn .burger-line:nth-child(2) { top: calc(var(--bar-h) + var(--bar-gap)) !important; }
.mobile-menu-btn .burger-line:nth-child(3) { top: calc((var(--bar-h) + var(--bar-gap)) * 2) !important; }

/* Состояние открытого меню -> крестик */
.menu-open .mobile-menu-btn .burger-line:nth-child(1) {
  top: calc(var(--bar-h) + var(--bar-gap)) !important;
  transform: rotate(45deg) !important;
}
.menu-open .mobile-menu-btn .burger-line:nth-child(2) {
  opacity: 0 !important;
}
.menu-open .mobile-menu-btn .burger-line:nth-child(3) {
  top: calc(var(--bar-h) + var(--bar-gap)) !important;
  transform: rotate(-45deg) !important;
}

/* полупрозрачная подложка */
.mobile-overlay{
  position: fixed !important;
  inset: 0 !important;
  background: rgba(0,0,0,.25) !important;
  backdrop-filter: blur(1px) !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transition: opacity .2s ease !important;
  z-index: 999 !important;
}

/* обновленная панель только на мобайле */
@media (max-width: 1024px) {
  #mobile-panel{
    top: var(--hdr-h) !important;
    height: calc(100dvh - var(--hdr-h)) !important;
    background: transparent !important;
    transform: translateY(-8px) !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transition: transform .25s ease, opacity .2s ease !important;
    padding: 0 !important;
  }
}

@media (max-width: 1024px) {
  .mobile-nav{
    padding: 12px 16px 24px !important;
    background: rgba(255, 255, 255, 0.85) !important;
    backdrop-filter: saturate(1.2) blur(4px) !important;
    border-radius: 12px !important;
    margin: 16px !important;
  }

  .mobile-nav li{
    border-bottom: 1px solid rgba(60,41,31,.08) !important;
  }
  .mobile-nav a{
    padding: 18px 8px !important;
    color: #3b291f !important;
    border-radius: 0 !important;
    background: transparent !important;
  }

  #mobile-panel .mobile-cta{
    margin: 16px !important;
    margin-top: auto !important;
  }
}

/* открытое состояние */
.menu-open .mobile-overlay{
  opacity: 1 !important;
  pointer-events: auto !important;
}
.menu-open #mobile-panel{
  transform: translateY(0) !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

html.scrolled .site-header{
  box-shadow: 0 6px 30px rgba(0,0,0,.06) !important;
}

/* Логотип: увеличиваем на мобильных и планшетах */
@media (max-width: 1024px) and (min-width: 768px) {
  /* Планшеты: логотип чуть больше */
  .site-header__logo img {
    height: 64px !important; /* планшеты: 64px */
    max-height: none !important;
    width: auto !important;
  }
}

@media (max-width: 767px) {
  /* Телефоны: логотип 58px */
  .site-header__logo img {
    height: 58px !important; /* телефоны: 58px */
    max-height: none !important;
    width: auto !important;
  }
}

/* ===== HOTFIX: вернуть бургер на мобайле и положить его поверх ===== */
.site-header__inner { position: relative; }

@media (max-width: 1024px) {
  .site-header__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  .mobile-menu-btn {
    display: inline-grid !important;  /* показать бургер */
    position: relative;
    z-index: 1003;                    /* выше всего */
    margin-left: auto;                /* прижать к правому краю */
  }
  /* десктопное меню прячем на мобайле */
  .site-nav {
    display: none !important;
  }
}

/* на всякий случай убираем рамки/фон, если где-то остались */
.mobile-menu-btn {
  background: none !important;
  border: none !important;
  box-shadow: none !important;
}

/* убедимся, что overlay/drawer по слоям не закрывают кнопку */
.mobile-overlay { z-index: 1000; }
.mobile-drawer  { z-index: 1001; }
