/* ============================================================
   THE GOOD BURGER - style.css
   Replikace: thegoodburger.com/es
   Datum: 2026
   ============================================================ */

/* === 1. FONTY ===
   Vlastni fonty: AkzidenzGroteskBQ, Druk, HelveticaNow, GoodDay
   Uloz je do /assets/fonts/ a odkomentuj @font-face pravidla.
   Alternativa (Google Fonts): Barlow Condensed, Inter
*/

/* @font-face { font-family: "AkzidenzGroteskBQ-Light"; src: url("assets/fonts/AkzidenzGroteskBQ-Light.woff2") format("woff2"); font-weight: 400; font-style: normal; } */
/* @font-face { font-family: "AkzidenzGroteskBQ-Bold";  src: url("assets/fonts/AkzidenzGroteskBQ-Bold.woff2")  format("woff2"); font-weight: 700; font-style: normal; } */
/* @font-face { font-family: "Druk-Medium";  src: url("assets/fonts/Druk-Medium.woff2")  format("woff2"); font-weight: 400; font-style: normal; } */
/* @font-face { font-family: "Druk-Super";   src: url("assets/fonts/Druk-Super.woff2")   format("woff2"); font-weight: 400; font-style: normal; } */
/* @font-face { font-family: "DrukWide-Heavy"; src: url("assets/fonts/DrukWide-Heavy.woff2") format("woff2"); font-weight: 400; font-style: normal; } */
/* @font-face { font-family: "GoodDay"; src: url("assets/fonts/GoodDay.woff2") format("woff2"); font-weight: 400; font-style: normal; } */

/* Google Fonts: Barlow Condensed (vc. italic) pro display, Inter pro text,
   Saira heavy italic pro logo, Dancing Script pro goodday nadpisy */
@import url("https://fonts.googleapis.com/css2?family=Barlow+Condensed:ital,wght@0,400;0,700;0,800;0,900;1,700;1,800;1,900&family=Inter:wght@300;400;500;700&family=Saira:ital,wght@1,800;1,900&family=Dancing+Script:wght@700&family=Rubik+Spray+Paint&family=Rubik+Bubbles&display=swap");

/* === 2. CSS CUSTOM PROPERTIES === */
:root {
  /* Easy Burger — oranzova / cream / cerna (drive zelena) */
  --green-strong: #d8451a;
  --green-normal: #f15a24;
  --green-light: #f15a24;
  --tgb-green-selected: #f15a24;
  --tgb-green-normal: #f15a24;
  --tgb-dark-green: #1c1c1c;
  --tgb-button-green: #1c1c1c;
  --tgb-button-green-light: #fdecd8;
  --tgb-new-green: #f15a24;
  /* Neutralni */
  --tgb-dark: #0a0a0a;
  --bg: #fbe6cc;
  --black: #000;
  --black-tgb: #1c1c1c;
  --white: #fbe6cc;
  --white-tgb: #fbe6cc;
  --tgb-gray: #c2a275;
  --gray-light: #fff7ec;
  --text: #2a2218;
  --text-light: #fff7ec;
  /* Akcenty */
  --pink: #fd75a2;
  --red: #cb464a;
  /* Fonty */
  /* Monday Pro = logo + claim + nadpisy sekci (fallback Saira, nez dodas soubor fontu).
     Helvetica Neue = bezny text. */
  --font-body: "Helvetica Neue", Helvetica, Arial, sans-serif;
  --font-bold: "Helvetica Neue", Helvetica, Arial, sans-serif;
  --font-druk: "Monday Pro Text", "Saira", Impact, sans-serif;
  --font-druk-wide: "Monday Pro Text", "Saira", Impact, sans-serif;
  --font-druk-super: "Monday Pro Text", "Saira", Impact, sans-serif;
  --font-goodday: "Dancing Script", "GoodDay", cursive;
}

/* === 3. RESET === */
*, *::before, *::after {
  padding: 0; margin: 0; box-sizing: border-box;
}
html, body {
  margin: 0; text-size-adjust: 100%;
  overflow-x: hidden;
}
body {
  font-family: var(--font-body);
  font-size: 1em;
  background-color: var(--bg);
  color: var(--text);
  overflow-x: hidden;
}
a { text-decoration: none; color: inherit; }
img { display: block; max-width: 100%; height: auto; }
button { cursor: pointer; background: none; border: none; font-family: inherit; }
strong { font-family: var(--font-bold); font-weight: 700; }

/* === 4. TYPOGRAFIE === */
.h1xl { font-size: 80px; }
.h1   { font-size: 64px; line-height: 70px; margin-bottom: 10px; font-weight: 300; }
.h2   { font-size: 50px; line-height: 50px; margin-bottom: 10px; font-weight: 300; }
.h3   { font-size: 38px; line-height: 44px; margin-bottom: 10px; font-weight: 300; }
.h4   { font-size: 26px; line-height: 34px; margin-bottom: 10px; font-weight: 300; }
.h1 strong, .h2 strong, .h3 strong, .h4 strong { font-weight: 700; }
p { line-height: 30px; margin-bottom: 10px; }
a, p { font-size: 20px; }
small { font-size: 13px; line-height: 1.6; }

.tgb-title    { font-size: 150px; line-height: 150px; font-family: var(--font-druk); font-style: italic; }
.tgb-subtitle { font-size: 100px; line-height: 80px;  font-family: var(--font-druk); font-style: italic; }
.tgb-title__goodday {
  font-family: var(--font-goodday);
  font-size: 80px !important;
  line-height: 110px !important;
  text-align: center;
}

/* Font tridni utility (Easy Burger = vyrazna kurziva) */
.font-druk-medium { font-family: var(--font-druk) !important; font-weight: 700; font-style: italic; }
.font-druk-super  { font-family: var(--font-druk-super) !important; font-weight: 900; font-style: italic; }
.font-druk-wide   { font-family: var(--font-druk-wide) !important; font-weight: 800; font-style: italic; }
.font-medium-300  { font-weight: 400; }

/* === 5. UTILITY TRIDY === */
.d-none   { display: none !important; }
.d-auto   { display: block; margin: auto; }
.d-flex   { display: flex; }
.d-block  { display: block !important; position: relative; }
.d-inline { display: inline-block; }
.p-abs    { position: absolute; }
.p-rel    { position: relative; }
.flex-column  { flex-direction: column; }
.flex-center  { align-items: center; }
.flex-justify-center { justify-content: center; }
.flex-end     { justify-content: flex-end; }
.flex-wrap    { flex-wrap: wrap; }
.align-items-center { align-items: center; }
.align-items-base   { align-items: baseline; }
.align-items-end    { align-items: flex-end; }
.w-100  { width: 100%; }
.vh-100 { height: 100vh; max-height: 1200px; }
.max-xxl { max-width: 1300px; margin: 0 auto; }
.text-center    { text-align: center; }
.text-uppercase { text-transform: uppercase; }
.text-underline { text-decoration: underline; }
.letter-spacing-04 { letter-spacing: 4px; }
.letter-spacing-15 { letter-spacing: 15px; }
.letter-spacing-20 { letter-spacing: 20px; }
.pad-150    { padding: 150px; }
.pad-top-20 { padding-top: 20px; }
.pad-top-60 { padding-top: 60px; }
.pad-20     { padding: 20px; }
.mt-30 { margin-top: 30px !important; }
.mb-30 { margin-bottom: 30px !important; }
.gap-10  { gap: 10px; }
.gap-20  { gap: 20px; }
.gap-30  { gap: 30px; }
.gap-50  { gap: 50px; }
.gap-60  { gap: 60px; }
.gap-100 { gap: 100px; }
.gap-150 { gap: 150px; }

/* Barvy */
.tgb-green          { color: var(--green-normal); }
.color-tgb-dark-green { color: var(--tgb-dark-green); }
.bg-tgb-dark        { background: var(--tgb-dark); }
.bg-green-light     { background: var(--green-light); }

/* Cols */
.col   { display: flex; }
.col-2 { flex: 0 0 16.66%; }
.col-3 { flex: 0 0 25%; }
.col-4 { flex: 0 0 33.33%; }
.col-6 { flex: 0 0 50%; }
.col-8 { flex: 0 0 66.66%; }

.special-text       { font-family: var(--font-druk) !important; font-weight: 400 !important; font-style: italic; }
.special-text-green { font-family: var(--font-druk) !important; color: var(--tgb-dark-green); }

/* Velke uppercase nadpisy sekci — kurziva (Easy Burger styl) */
.h2.text-uppercase { font-style: italic; }

/* === 6. PAGE LOAD ANIMACE === */
@keyframes fadeIn {
  from { opacity: 0; }
  to   { opacity: 1; }
}
.animated { animation-duration: 0.8s; animation-fill-mode: both; }
.fadeIn    { animation-name: fadeIn; }

/* === 7. TELO STRANKY === */
.tgb-body { background-color: var(--bg); transition: background 0.4s; }
.tgb-main { position: relative; z-index: 1; }

/* === 8. NAVIGACE === */
.tgb-container--nav {
  position: fixed; top: 0; left: 0; right: 0;
  z-index: 100;
  transition: background 0.3s, box-shadow 0.3s;
}
.tgb-container--nav.scrolled {
  background: var(--bg);
  box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}
body.dark-theme .tgb-container--nav.scrolled {
  background: var(--tgb-dark);
}
.tgb-menu__buttons { position: relative; width: 100%; z-index: 102; margin-top: 20px; }
.tgb-menu__top {
  display: flex; justify-content: center; align-items: center;
  padding: 0 20px; z-index: 109; position: relative;
}
.tgb-menu__top > div:first-child { display: flex; align-items: center; justify-content: center; gap: 100px; }

/* Logo */
.tgb-logo {
  max-width: 180px; width: 100%; height: auto;
  display: inline-flex; padding: 5px 20px; align-items: center;
}

/* Logo font "Monday Pro" — komercni font (neni na Google Fonts).
   Monday Pro ma misto cislic burger glyfy, proto se pres unicode-range
   pouziva JEN na pismena a interpunkci; cislice vzdy padaji na Sairu.
   Az budes mit soubor fontu, vloz ho do assets/fonts/ a pridej
   url("assets/fonts/MondayPro.woff2") format("woff2") pred local()
   v obou blocich nize (unicode-range zachovat). */
@font-face {
  font-family: "Monday Pro Text";
  src: local("Monday Pro");
  font-weight: 400 900; font-style: normal; font-display: swap;
  unicode-range: U+0020-002F, U+003A-007E, U+00A0-017F, U+2010-205F;
}
@font-face {
  font-family: "Monday Pro Text";
  src: local("Monday Pro");
  font-weight: 400 900; font-style: italic; font-display: swap;
  unicode-range: U+0020-002F, U+003A-007E, U+00A0-017F, U+2010-205F;
}

/* Easy Burger textove logo */
.eb-logo {
  display: inline-flex; align-items: center;
  font-family: "Monday Pro Text", "Saira", "Arial Black", Arial, sans-serif;
  font-weight: 900; font-style: italic;
  font-size: 30px; line-height: 1; letter-spacing: -0.5px;
  padding: 5px 20px; white-space: nowrap;
}
.eb-logo__easy   { color: var(--green-normal); }
.eb-logo__burger { color: var(--tgb-dark-green); }
body.dark-theme .eb-logo__burger { color: var(--white); }
.tgb-menu-mobile .eb-logo { font-size: 46px; padding: 0; }

/* Nav links */
.tgb-menu__top a { font-size: 16px; font-weight: 700; color: var(--black-tgb); transition: color 0.2s; }
.tgb-menu__top a:hover { color: var(--tgb-dark-green); }
body.dark-theme .tgb-menu__top a { color: var(--white); }

/* Dark mode toggle */
.navbar-switch { position: absolute; right: 80px; top: 5px; }
.navbar-switch-label { display: inline-block; position: relative; }
.navbar-switch input { opacity: 0; width: 0; height: 0; position: absolute; }
.slider {
  cursor: pointer;
  background-color: var(--bg);
  border: 2px solid var(--black-tgb);
  border-radius: 34px;
  transition: 0.4s;
  width: 65px; height: 28px;
  display: flex; align-items: center;
  position: relative;
}
.slider::before {
  content: "";
  position: absolute;
  top: 2px; left: 2px;
  height: 20px; width: 20px;
  background-color: var(--black-tgb);
  border-radius: 50%;
  transition: 0.4s;
}
input:checked + .slider::before { transform: translateX(38px); }
body.dark-theme .slider { background-color: var(--tgb-dark); border-color: var(--white); }
body.dark-theme .slider::before { background-color: var(--white); }

/* Mobile hamburger button (skryty na desktopu) */
.btn-menu-mobile,
.btn-menu-mobile-close { display: none; }

/* Mobile menu (full screen, skryty) */
.tgb-menu-mobile {
  display: none;
  position: fixed; top: 0; right: 0; z-index: 200;
  width: 100%; height: 100dvh;
  background-color: var(--tgb-button-green-light);
  flex-direction: column;
  align-items: center; justify-content: center;
  gap: 50px;
  transform: translateX(100%);
  transition: transform 0.3s ease-in-out;
}
.tgb-menu-mobile a {
  font-size: 24px; font-weight: 600;
  color: var(--tgb-dark-green);
}
.tgb-menu-mobile .tgb-logo { max-width: 350px !important; display: block !important; }
.tgb-menu-mobile .btn-menu-mobile-close {
  display: flex; position: absolute; top: 20px; right: 20px;
  color: var(--tgb-dark-green);
}
.tgb-menu__buttons.is-active .tgb-menu-mobile { transform: translateX(0); }

/* === 9. VERTICAL TEXT SIDEBAR === */
.vertical-text {
  background-color: var(--green-light);
  writing-mode: vertical-rl;
  text-orientation: upright;
  padding: 20px 10px;
  z-index: 1;
  height: 950px;
  top: 0; left: 10%;
  position: absolute;
}
.vertical-text p { margin: 0; font-size: 48px; font-weight: 300; color: var(--tgb-dark-green); }

/* === 10. HERO BURGER SEKCE === */
.burguer-home-section { position: relative; }

.burguer-container {
  overflow: hidden;
  transition: transform 0.5s;
  position: relative;
  width: 100%;
  cursor: pointer;
  justify-content: center;
}
.burguer-container img.burguer-img {
  transition: transform 0.5s;
  width: 40%;
  position: relative;
  z-index: 1;
}
.burguer-container__text {
  position: absolute;
  right: 10%; top: 50%;
  transform: translateY(-50%);
  opacity: 0;
  transition: opacity 0.3s, right 0.3s;
  z-index: 2;
}
/* HOVER EFEKT */
.burguer-container:hover { transform: translateX(-18%); z-index: 2; }
.burguer-container:hover img.burguer-img { transform: translateX(-100px); }
.burguer-container:hover .burguer-container__text { opacity: 1; right: 5%; }

/* Mobile verze hera (skryta na desktopu) */
.burguer-container-mobile { display: none; }

/* === 11. EATING SECTION === */
.eating-section { overflow: hidden; }
.eating-section img.w-100 { display: block; width: 100%; }
.tgb-img-home { position: absolute; right: 30px; top: -108px; width: 180px; z-index: 2; }

/* === 12. DONT MISS SEKCE === */
.dont-miss-section { position: relative; }
.dont-miss-container { width: 100%; }
.dont-miss-container__menu {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  gap: 40px;
  margin-top: 60px;
}
.dont-miss-container__menu > div { position: relative; flex: 1; max-width: 33%; }
.dont-miss-container__menu img { max-width: 300px; margin: 0 auto; }
.dont-miss-container__menu p { text-align: center; font-size: 18px; letter-spacing: 2px; }

/* Svisle oddelovace */
.dont-miss-container__new-menu.not-alone-after::after {
  content: "";
  position: absolute; width: 1px; height: 65%; right: -20px; top: 10%;
  border-right: 1px solid var(--tgb-gray);
}
.dont-miss-container__new-menu.not-alone-before::before {
  content: "";
  position: absolute; width: 1px; height: 65%; left: -20px; top: 10%;
  border-left: 1px solid var(--tgb-gray);
}

/* Onclick expand (skryty, anmovany reveal) */
.dont-miss-container__onclick {
  visibility: hidden; opacity: 0; height: 0; overflow: hidden;
  transition: opacity 0.5s;
}
.dont-miss-container__onclick.is-visible {
  visibility: visible; opacity: 1; height: auto; overflow: visible;
  padding-top: 40px;
}

/* CTA btn (VER MAS) */
.dont-miss-section .btn {
  margin-top: 40px;
  letter-spacing: 2px;
}

/* === 12b. 3 VERTIKALNI VIDEA === */
.video-triple-section { padding: 80px 40px; }
.video-triple-grid {
  display: flex;
  width: 100%;
  gap: 30px;
  justify-content: center;
}
.video-triple-grid video {
  width: 33.33%;
  aspect-ratio: 9 / 16;
  object-fit: cover;
  display: block;
}

/* === 13. CALIDAD SEKCE === */
.calidad-section { position: relative; }
.calidad-container { opacity: 0.4; transition: opacity 0.5s; }
.calidad-container:hover { opacity: 1; }

/* === 14. DARK THEME SEKCE === */
div.dark-theme { display: none; }

body.dark-theme {
  background: linear-gradient(90deg, #050201, #0a0603);
}
body.dark-theme div.light-theme { display: none; }
body.dark-theme div.dark-theme  { display: block; }
body.dark-theme a,
body.dark-theme p,
body.dark-theme small,
body.dark-theme label { color: var(--white); }

.promo-premium {
  background: linear-gradient(90deg, #050201, #0a0603);
}
.promo-premium p { color: var(--white); }

.promo-premium__title {
  background-image: url("assets/img/img01-incorrecto.png");
  background-size: cover;
  background-position: center;
  width: 100%; height: 80vh;
  display: flex;
  align-items: center;
  justify-content: center;
}

.promo-video-container { width: 100%; }
.promo-video-container video { width: 100%; display: block; }

.promo-premium-img-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 120px;
}
.promo-premium__limited img { width: 420px; max-width: 90vw; height: auto; }
.promo-premium__limited p { margin: 0; }

/* === 15. FOOTER === */
.tgb-footer {
  position: relative;
  padding: 80px 150px 0;
}
.tgb-footer__top {
  display: flex;
  gap: 100px;
  align-items: flex-start;
  padding-bottom: 60px;
}
.tgb-footer__form .content-field {
  display: flex;
  flex-direction: column;
  margin-bottom: 20px;
}
.tgb-footer__form label {
  font-size: 14px;
  margin-bottom: 6px;
  color: var(--tgb-gray);
}
.tgb-footer__form input[type="text"],
.tgb-footer__form input[type="email"] {
  background: transparent;
  border: none;
  border-bottom: 1px solid var(--tgb-gray);
  padding: 8px 0;
  font-size: 18px;
  font-family: inherit;
  color: inherit;
  outline: none;
  width: 100%;
}
.tgb-footer__form input[type="text"]:focus,
.tgb-footer__form input[type="email"]:focus {
  border-bottom-color: var(--tgb-dark-green);
}
.checkbox-label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 14px;
  margin-bottom: 12px;
  cursor: pointer;
  color: var(--text);
}
.checkbox-label input[type="checkbox"] { margin-top: 3px; flex-shrink: 0; }

.tgb-footer__bottom {
  border-top: 1px solid var(--tgb-gray);
  padding: 20px 0;
}
.tgb-footer__bottom p {
  font-size: 12px;
  color: var(--tgb-gray);
  text-align: center;
}

/* === 16. TLACITKA (BTN) === */
.btn {
  display: inline-flex;
  justify-content: center; align-items: center; align-self: center;
  position: relative;
  font-family: inherit; font-weight: 900;
  transition: 0.3s;
  border: 1px solid var(--black);
  background: transparent;
  height: 48px;
  padding: 0 24px;
  font-size: 15px;
  letter-spacing: 1px;
  cursor: pointer;
}
.btn-green-normal {
  background: var(--green-normal); color: var(--tgb-dark-green);
  border-color: var(--green-normal);
}
.btn-green-normal:hover { opacity: 0.85; }
.btn-green-strong {
  background: var(--green-strong); color: var(--white);
  border-color: var(--green-strong);
}

/* === 17. NEWSLETTER POPUP === */
.newsletter-popup {
  position: fixed; bottom: 30px; right: 30px;
  z-index: 500;
  background: var(--bg);
  border: 1px solid var(--tgb-gray);
  padding: 30px;
  max-width: 360px;
  box-shadow: 0 4px 30px rgba(0,0,0,0.15);
}
.newsletter-popup__inner { position: relative; }
.newsletter-popup__close {
  position: absolute; top: -10px; right: -10px;
  font-size: 24px; line-height: 1;
  color: var(--tgb-gray);
  cursor: pointer;
}
.newsletter-popup h2 { font-size: 22px; margin-bottom: 10px; }
.newsletter-popup p { font-size: 14px; margin-bottom: 20px; }
.newsletter-popup input[type="email"] {
  width: 100%; padding: 10px 0;
  border: none; border-bottom: 1px solid var(--tgb-gray);
  background: transparent; font-size: 16px; margin-bottom: 15px;
  font-family: inherit; color: inherit; outline: none;
}
.newsletter-popup .btn { width: 100%; margin-top: 10px; }

.tgb-veil {
  position: fixed; inset: 0;
  background: rgba(0,0,0,0.5);
  z-index: 400;
}

/* === 18. RESPONSIVE — BREAKPOINTY === */

/* --- 1480px --- */
@media (max-width: 1480px) {
  .burguer-container:hover .burguer-container__text { left: 58%; right: auto; }
}

/* --- 1199px --- */
@media (max-width: 1199px) {
  .h1   { font-size: 51px; line-height: 56px; }
  .h2   { font-size: 40px; line-height: 40px; }
  .h3   { font-size: 30px; line-height: 35px; }
  .h4   { font-size: 21px; line-height: 27px; }
  a, p  { font-size: 18px; }
  .h1xl { font-size: 55px; }
  .tgb-menu__top > div:first-child { gap: 10px; }
  .burguer-container:hover { transform: translateX(-11%); }
  .tgb-footer { padding: 60px 60px 0; }
}

/* --- 992px (HLAVNI) --- */
@media (max-width: 992px) {
  /* Nav: mobilni rezim — prepinac vlevo, hamburger vpravo, logo skryto */
  .tgb-menu__top > div:first-child > a { display: none; }
  .tgb-menu__top > div:first-child { width: 100%; justify-content: flex-end; padding-right: 4px; gap: 0; }
  .btn-menu-mobile { display: flex !important; align-items: center; color: var(--black-tgb); }
  body.dark-theme .btn-menu-mobile { color: var(--white); }
  .tgb-menu-mobile { display: flex; }
  .navbar-switch { right: auto; left: 56px; top: 50%; transform: translateY(-50%); }
  .tgb-container--nav { padding-top: 14px; }
  .tgb-menu__buttons { overflow: visible; }

  /* Hero */
  .burguer-container { display: none !important; }
  .burguer-home-section { margin-top: 130px; }
  .burguer-container-mobile {
    display: flex !important; flex-direction: column;
    height: auto; align-items: flex-start; justify-content: center;
    text-align: left; padding: 0 20px 40px 60px;
  }
  .burguer-container-mobile p.tgb-subtitle {
    font-size: clamp(40px, 13vw, 92px);
    line-height: 0.88;
  }
  .burguer-container-mobile p.h4 { font-size: 15px; line-height: 1.35; margin-top: 8px; }
  .burguer-container-mobile img {
    z-index: 2; width: 100%; max-width: 460px;
    margin: 24px auto 0; padding-left: 0;
  }

  /* Dont-miss — obrazky musi sednout do uzkych sloupcu */
  .dont-miss-container__menu { align-items: flex-start; }
  .dont-miss-container__menu img { max-width: 100%; }
  /* Calidad */
  .calidad-section { padding: 60px 40px; }
  /* Vertical text */
  .vertical-text { left: 0; }
  /* Footer */
  .tgb-footer__top { flex-direction: column; gap: 40px; }
  .col-6 { flex: 0 0 100%; }
  .tgb-footer { padding: 60px 30px 0; }
}

/* --- 768px --- */
@media (max-width: 768px) {
  .h1   { font-size: 41px; line-height: 50px; }
  .h2   { font-size: 33px; line-height: 38px; }
  .h3   { font-size: 25px; line-height: 33px; }
  .h4   { font-size: 21px; line-height: 27px; }
  a, p  { font-size: 16px; }
  .tgb-title__goodday { font-size: 40px !important; line-height: 60px !important; }
  .tgb-title { font-size: 60px; line-height: 50px; }
  .tgb-subtitle { font-size: 60px; line-height: 60px; }
  .vertical-text { height: 808px; }
  .vertical-text p { font-size: 35px; }
  /* Dont-miss: ponechat 3 sloupce vedle sebe (jako originál) */
  .dont-miss-section { padding: 50px 16px; }
  .dont-miss-container__menu { gap: 24px; margin-top: 30px; align-items: flex-start; }
  .dont-miss-container__menu p { font-size: 13px; letter-spacing: 1px; }
  .dont-miss-container__new-menu.not-alone-after::after { right: -12px; }
  .dont-miss-container__new-menu.not-alone-before::before { left: -12px; }
  /* 3 videa: zmensit mezery a okraje */
  .video-triple-section { padding: 40px 12px; }
  .video-triple-grid { gap: 8px; }
  .calidad-section { padding: 50px 30px; }
  .promo-premium__title { height: 100vh; }
  .pad-150 { padding: 60px 30px; }
  .tgb-footer { padding: 40px 20px 0; }
  .tgb-footer__top { gap: 30px; }
}

/* --- 600px --- */
@media (max-width: 600px) {
  .vertical-text { height: 623px; top: 0; left: 0; }
  .vertical-text p { font-size: 25px; }
  .burguer-home-section { margin-top: 80px; }
}

/* --- 480px --- */
@media (max-width: 480px) {
  .vertical-text { height: 543px; }
  .vertical-text p { font-size: 20px; }
  .tgb-subtitle { font-size: 50px; line-height: 50px; }
  .promo-premium__limited img { width: 300px; height: auto; }
}

/* --- 375px --- */
@media (max-width: 375px) {
  .vertical-text { height: 535px; }
  .tgb-title__goodday { font-size: 32px !important; line-height: 50px !important; }
}

/* === 19. DARK MODE — NAVIGACE BARVY === */
body.dark-theme .tgb-container--nav { background: transparent; }
body.dark-theme .tgb-menu__top a { color: var(--white); }
body.dark-theme .vertical-text { background-color: rgba(241,90,36,0.14); }
body.dark-theme .vertical-text p { color: var(--white); }
body.dark-theme .dont-miss-container__menu p { color: var(--white); }
body.dark-theme .calidad-section .h2,
body.dark-theme .calidad-section .h3 { color: var(--white); }
body.dark-theme .tgb-footer { background: linear-gradient(90deg, #050201, #0a0603); }
body.dark-theme .tgb-footer__bottom p { color: var(--tgb-gray); }
body.dark-theme .tgb-footer__form input[type="text"],
body.dark-theme .tgb-footer__form input[type="email"] { color: var(--white); border-bottom-color: var(--tgb-gray); }
body.dark-theme .tgb-menu-mobile { background-color: var(--tgb-button-green); }
body.dark-theme .tgb-menu-mobile a { color: var(--tgb-button-green-light); }

/* === 20. PODSTRANKY (promos, delivery, franquicia) === */
.subpage {
  min-height: 100vh;
  padding: 200px 40px 100px;
  display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  text-align: center; position: relative;
}
.subpage__inner { max-width: 1000px; width: 100%; }
.subpage__eyebrow {
  font-size: 34px; line-height: 1.1; font-weight: 700;
  text-transform: uppercase; color: var(--tgb-dark-green);
  margin-bottom: 8px;
}
.subpage__title {
  font-family: var(--font-druk-wide); font-style: italic; font-weight: 800;
  font-size: 70px; line-height: 1; text-transform: uppercase;
  color: var(--tgb-dark-green); margin-bottom: 30px;
}
.subpage__title .hl { color: var(--green-normal); }
.subpage__lead { font-size: 22px; line-height: 1.5; max-width: 640px; margin: 0 auto 30px; }
.subpage__img { max-width: 520px; width: 100%; margin: 40px auto 0; }

/* Highlight boxy (promos) */
.hl-box {
  display: inline-block; background: var(--green-normal); color: #fff;
  padding: 2px 14px; transform: skewX(-4deg);
}
.hl-box.dark { background: var(--tgb-dark-green); }

/* Delivery platformy */
.delivery-platforms {
  display: flex; flex-wrap: wrap; gap: 16px; justify-content: center; margin-top: 36px;
}
.delivery-platforms a {
  border: 2px solid var(--tgb-dark-green); border-radius: 40px;
  padding: 12px 28px; font-weight: 800; font-style: italic; text-transform: uppercase;
  font-size: 16px; transition: 0.2s;
}
.delivery-platforms a:hover { background: var(--green-normal); border-color: var(--green-normal); color: #fff; }

/* Dark mode podstranky */
body.dark-theme .subpage,
body.dark-theme .subpage__eyebrow,
body.dark-theme .subpage__title,
body.dark-theme .subpage__lead { color: var(--white); }
body.dark-theme .delivery-platforms a { border-color: var(--white); }

/* --- PROMO HERO s grafiti (jako predloha) --- */
.promo-hero {
  display: flex; align-items: center; gap: 30px;
  max-width: 1240px; margin: 0 auto; min-height: 100vh;
  padding: 160px 40px 80px;
}
.promo-hero__graffiti {
  flex: 0 0 44%; display: flex; align-items: center; justify-content: center;
  position: relative;
}
/* Fallback grafiti — bubble graffiti styl jako predloha (cerny obrys, cream vypln, sprej) */
.promo-graffiti-text {
  font-family: "Rubik Bubbles", "Barlow Condensed", sans-serif;
  font-size: clamp(150px, 25vw, 360px); line-height: 0.82;
  color: #f7efe0;
  -webkit-text-stroke: 7px #1c1c1c;
  paint-order: stroke fill;
  text-shadow: 7px 9px 0 rgba(28,28,28,0.22);
  transform: rotate(-6deg);
}
.promo-graffiti-img { width: 100%; max-width: 520px; height: auto; transform: rotate(-4deg); }
.promo-hero__content { flex: 1; }
.promo-hero__eyebrow {
  font-family: var(--font-druk-wide); font-style: italic; font-weight: 800;
  text-transform: uppercase; font-size: clamp(34px, 4.5vw, 60px); line-height: 1.1;
  color: var(--tgb-dark-green); margin-bottom: 10px;
}
.promo-hero__eyebrow .box,
.promo-hero__big .box {
  display: inline-block; padding: 0 14px; transform: skewX(-5deg);
  background: var(--green-normal); color: #fff;
}
.promo-hero__big .box.dark { background: var(--tgb-dark-green); }
.promo-hero__big {
  font-family: var(--font-druk-wide); font-style: italic; font-weight: 800;
  text-transform: uppercase; font-size: clamp(40px, 5.5vw, 76px); line-height: 1.05;
  color: var(--tgb-dark-green); margin-bottom: 24px;
}
.promo-hero__lead { font-size: 20px; line-height: 1.5; max-width: 520px; margin-bottom: 26px; }
.promo-hero__img { max-width: 100%; margin-top: 10px; }

body.dark-theme .promo-hero__eyebrow,
body.dark-theme .promo-hero__big,
body.dark-theme .promo-hero__lead { color: var(--white); }

@media (max-width: 900px) {
  .promo-hero { flex-direction: column; text-align: center; padding: 130px 22px 70px; gap: 10px; min-height: auto; }
  .promo-hero__graffiti { flex: none; }
  .promo-graffiti-text { font-size: clamp(120px, 40vw, 240px); -webkit-text-stroke-width: 5px; }
  .promo-hero__lead { margin-left: auto; margin-right: auto; }
  .promo-hero__content .delivery-platforms,
  .promo-hero__content { display: block; }
}

/* === 21. CARTA / MENU === */
.menu-page { padding: 160px 5% 80px; max-width: 1180px; margin: 0 auto; }
.menu-page__head { text-align: center; margin-bottom: 40px; }
.menu-page__head h1 {
  font-family: var(--font-druk-wide); font-style: italic; font-weight: 800;
  font-size: 76px; line-height: 0.9; text-transform: uppercase; color: var(--tgb-dark-green);
}
.menu-page__head h1 .hl { color: var(--green-normal); }
.menu-cols { columns: 2; column-gap: 50px; }
.menu-section { break-inside: avoid; margin-bottom: 38px; }
.menu-section__bar {
  background: var(--green-normal); color: #fff;
  font-family: var(--font-druk-wide); font-style: italic; font-weight: 800;
  text-transform: uppercase; font-size: 24px; letter-spacing: 1px;
  padding: 6px 16px; margin-bottom: 14px;
}
.menu-item { display: flex; justify-content: space-between; gap: 14px; margin-bottom: 14px; align-items: baseline; }
.menu-item__main { flex: 1; }
.menu-item__name {
  font-family: var(--font-druk); font-style: italic; font-weight: 700;
  font-size: 19px; text-transform: uppercase; color: var(--tgb-dark-green); letter-spacing: 0.3px;
}
.menu-item__desc { font-size: 14px; line-height: 1.35; color: var(--text); margin-top: 2px; }
.menu-item__price {
  font-family: var(--font-druk); font-style: italic; font-weight: 800;
  font-size: 22px; color: var(--green-normal); white-space: nowrap;
}
.menu-item__price small { font-size: 13px; color: var(--text); display: block; text-align: right; font-style: normal; }
.menu-note {
  border: 2px dashed var(--green-normal); padding: 18px 22px; margin-top: 10px;
  font-size: 14px; line-height: 1.5;
}
.menu-cta {
  font-family: var(--font-druk-wide); font-style: italic; font-weight: 800;
  text-transform: uppercase; font-size: 30px; color: var(--green-normal);
  text-align: center; margin-top: 30px; line-height: 1.1;
}
body.dark-theme .menu-page__head h1,
body.dark-theme .menu-item__name { color: var(--white); }
body.dark-theme .menu-item__desc, body.dark-theme .menu-item__price small { color: var(--tgb-gray); }

@media (max-width: 768px) {
  .subpage { padding: 150px 22px 70px; }
  .subpage__title { font-size: 46px; }
  .subpage__eyebrow { font-size: 24px; }
  .subpage__lead { font-size: 18px; }
  .menu-cols { columns: 1; }
  .menu-page { padding: 130px 22px 60px; }
  .menu-page__head h1 { font-size: 50px; }
}

/* === 22. BKK WEB — STORY / LOCATIONS / ORDER === */
.story-section {
  padding: 120px 5% 60px; max-width: 1100px; margin: 0 auto;
}
.story-section .h4 { max-width: 760px; }

.locations-section { padding: 60px 5% 40px; max-width: 1240px; margin: 0 auto; }
.locations-grid { display: flex; gap: 40px; flex-wrap: wrap; margin-top: 40px; }
.location-card {
  flex: 1 1 380px; display: flex; flex-direction: column; gap: 12px;
  border: 2px solid var(--tgb-dark-green); padding: 18px;
}
.location-card iframe { width: 100%; height: 300px; border: 0; display: block; }
.location-card h3 {
  font-family: var(--font-druk-wide); font-style: italic; font-weight: 800;
  font-size: 30px; text-transform: uppercase; color: var(--tgb-dark-green);
}
.location-card p { font-size: 16px; line-height: 1.4; margin: 0; }
.location-card .btn { align-self: flex-start; margin-top: 6px; }

.order-section { padding: 60px 5% 120px; max-width: 1100px; margin: 0 auto; text-align: center; }
.order-section .delivery-platforms { margin-top: 26px; }

/* Story page */
.story-page { padding: 190px 5% 80px; max-width: 860px; margin: 0 auto; }
.story-page h1 {
  font-family: var(--font-druk-wide); font-style: italic; font-weight: 800;
  font-size: 64px; line-height: 1; text-transform: uppercase;
  color: var(--tgb-dark-green); margin-bottom: 34px;
}
.story-page h1 .hl { color: var(--green-normal); }
.story-page p { font-size: 19px; line-height: 1.65; margin-bottom: 22px; }
.story-page .story-claim {
  font-family: var(--font-druk-wide); font-style: italic; font-weight: 800;
  text-transform: uppercase; font-size: 30px; color: var(--green-normal);
  margin-top: 34px; line-height: 1.15;
}

/* Dark mode pro nove sekce */
body.dark-theme .story-section .h2, body.dark-theme .story-section .h4,
body.dark-theme .locations-section .h2, body.dark-theme .order-section .h2,
body.dark-theme .location-card h3, body.dark-theme .location-card p,
body.dark-theme .story-page h1, body.dark-theme .story-page p { color: var(--white); }
body.dark-theme .location-card { border-color: var(--white); }

@media (max-width: 768px) {
  .story-section { padding: 70px 22px 40px; }
  .locations-section { padding: 40px 22px 20px; }
  .locations-grid { gap: 24px; }
  .order-section { padding: 40px 22px 80px; }
  .story-page { padding: 150px 22px 60px; }
  .story-page h1 { font-size: 42px; }
}

/* === 23. TYPOGRAFICKY REZIM ===
   Monday Pro (italic, heavy) = claim + nadpisy sekci; fallback Saira.
   Helvetica Neue = bezny text, tlacitka a pilulky. */
.tgb-title, .tgb-subtitle,
.font-druk-medium, .font-druk-super, .font-druk-wide,
.h2.text-uppercase, .subpage__title, .subpage__eyebrow,
.menu-page__head h1, .menu-section__bar, .menu-item__name, .menu-item__price, .menu-cta,
.promo-hero__eyebrow, .promo-hero__big,
.story-page h1, .story-page .story-claim,
.location-card h3 { font-style: italic; font-weight: 900; }

.tgb-subtitle { letter-spacing: -1px; }

/* Tlacitka a delivery pilulky: Helvetica, bez kurzivy */
.btn, .special-text, .special-text-green, .delivery-platforms a {
  font-family: var(--font-body) !important;
  font-style: normal !important;
  font-weight: 700 !important;
}

/* Rozostreny burger (Burger Specials tease) */
.img-blur { filter: blur(9px); transform: scale(1.05); }

/* Otviraci hodiny + order tlacitka v kartach pobocek */
.location-card .hours { font-weight: 700; font-size: 15px; }
.location-card__actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 6px; }
.location-card__actions .btn { align-self: auto; }
.btn-outline {
  background: transparent; color: var(--tgb-dark-green);
  border: 2px solid var(--tgb-dark-green);
}
.btn-outline:hover { background: var(--tgb-dark-green); color: var(--white-tgb); }

/* Reviews */
.reviews-section { padding: 60px 5% 80px; max-width: 1240px; margin: 0 auto; text-align: center; }
.reviews-section .rating {
  font-weight: 700; font-size: 22px; margin-bottom: 30px;
}
.reviews-section .rating .stars { color: var(--green-normal); letter-spacing: 3px; }
.reviews-grid { display: flex; gap: 26px; flex-wrap: wrap; justify-content: center; }
.review-card {
  flex: 1 1 280px; max-width: 360px; text-align: left;
  border: 2px solid var(--tgb-dark-green); padding: 22px;
  display: flex; flex-direction: column; gap: 10px;
}
.review-card .stars { color: var(--green-normal); font-size: 15px; letter-spacing: 2px; }
.review-card p { font-size: 16px; line-height: 1.5; margin: 0; }
.review-card .who { font-weight: 700; font-size: 14px; text-transform: uppercase; }
.reviews-section .g-link { display: inline-block; margin-top: 28px; }

/* Footer linky */
.footer-links { display: flex; flex-wrap: wrap; gap: 10px 26px; justify-content: center; margin-bottom: 10px; }
.footer-links a { font-size: 14px; font-weight: 700; text-transform: uppercase; }
.footer-links a:hover { color: var(--green-normal); }
.footer-legal { display: flex; gap: 18px; justify-content: center; }
.footer-legal a { font-size: 12px; color: var(--tgb-gray); text-decoration: underline; }

body.dark-theme .review-card { border-color: var(--white); }
body.dark-theme .review-card p, body.dark-theme .review-card .who,
body.dark-theme .reviews-section .rating { color: var(--white); }
body.dark-theme .btn-outline { color: var(--white); border-color: var(--white); }

/* === 24. HERO SUBCLAIM — citelnost pres burger ===
   Tmavy text se na hoveru prekryval s tmavou plackou. Kremovy "chip" pod
   textem zaruci citelnost pri kazde sirce okna. */
.burguer-container__text .h4 {
  align-self: flex-start;
  background: var(--bg);
  padding: 6px 14px 6px 0;
  box-shadow: 12px 0 0 var(--bg), -14px 0 0 var(--bg);
  position: relative; z-index: 3;
  margin-top: 12px;
  font-weight: 500;
}
/* burger na hoveru uhne o kousek vic */
.burguer-container:hover img.burguer-img { transform: translateX(-150px); }

/* === 25. HERO CTA TLACITKA === */
.hero-cta {
  position: absolute;
  bottom: 7%;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 16px;
  z-index: 5;
}
/* stejny pilulkovy tvar jako tlacitka v sekci Hungry now? (.delivery-platforms a) */
.hero-cta .btn {
  border-radius: 40px;
  height: auto;
  padding: 12px 28px;
  border-width: 2px;
  font-size: 16px;
  text-transform: uppercase;
}
@media (max-width: 992px) {
  .hero-cta {
    position: static;
    transform: none;
    justify-content: center;
    margin: 24px auto 10px;
  }
}

/* === 26. SVISLY EASYBURGER — Monday Pro, styl jako na menu ===
   Heavy italic + cerny odsazeny stin (3D sticker efekt z menu),
   kremova vypln pro citelnost na oranzovem pruhu. */
.vertical-text p,
.vertical-text p strong {
  font-family: var(--font-druk) !important;
  font-style: italic;
  font-weight: 900;
  color: var(--bg);
  text-shadow: 3px 3px 0 var(--tgb-dark-green);
  letter-spacing: 1px !important;   /* pismena tesne u sebe (prebiji .letter-spacing-15) */
  line-height: 0.9;
}
/* vetsi mezera mezi slovy EASY a BURGER nez mezi pismeny */
.vertical-text p strong { margin-inline-start: 30px; }
body.dark-theme .vertical-text p,
body.dark-theme .vertical-text p strong {
  color: var(--green-normal);
  text-shadow: 3px 3px 0 #000;
}

/* === 27. EASY TAG V POZADI HERO === */
.hero-tag {
  position: absolute;
  left: 63%; top: 58%;
  transform: translate(-50%, -50%);
  width: min(640px, 52vw);
  opacity: 0.6;
  z-index: 0;              /* pod burgerem (z-index 1) i textem */
  pointer-events: none;
  user-select: none;
}
@media (max-width: 992px) {
  .hero-tag { width: 78vw; left: 58%; top: 48%; }
}

/* === 28. HERO TLACITKA — "Step" styl z menu ===
   Kremova vypln, oranzovy obrys, oranzova Monday Pro kurziva. */
.hero-cta .btn {
  font-family: var(--font-druk) !important;
  font-style: italic !important;
  font-weight: 900 !important;
  font-size: 18px;
  letter-spacing: 0.5px;
  color: var(--green-normal) !important;
  background: #FFEEB5 !important;
  border: 3px solid var(--green-normal) !important;
  border-radius: 40px;
  padding: 12px 30px;
  text-transform: uppercase;
  transition: 0.2s;
}
.hero-cta .btn:hover {
  background: var(--green-normal) !important;
  color: #FFEEB5 !important;
}

/* === 29. TOP BAR — logo +15 % a tooltip prepinace === */
/* nav logo renderovalo 16px (pravidlo .tgb-menu__top a) → +15 % = 18.5px */
.tgb-menu__top a.eb-logo { font-size: 18.5px; }
.tgb-menu-mobile .eb-logo { font-size: 53px; }  /* mobilni menu: 46px +15 % */

/* Nazev dark-mode prepinace jen na hover */
.navbar-switch::after {
  content: "Specials Hall of Fame";
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  background: var(--tgb-dark-green);
  color: var(--white-tgb);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.5px;
  padding: 5px 12px;
  border-radius: 6px;
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s;
}
.navbar-switch:hover::after { opacity: 1; }
body.dark-theme .navbar-switch::after { background: var(--green-normal); color: #fff; }

/* === 30. HUNGRY NOW? — dvousloupcovy layout (taska vlevo, tlacitka vpravo) === */
.order-grid {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 80px;
  max-width: 1000px;
  margin: 0 auto;
  text-align: left;
}
.order-bag { width: 330px; max-width: 38vw; flex-shrink: 0; }
.order-content .h2 { margin-bottom: 26px; }
.delivery-platforms--stack {
  flex-direction: column;
  align-items: flex-start;
  gap: 14px;
  margin-top: 0;
}
.delivery-platforms--stack a { min-width: 230px; text-align: center; }
@media (max-width: 900px) {
  .order-grid { flex-direction: column; gap: 30px; text-align: center; }
  .order-bag { width: 60vw; max-width: 300px; }
  .delivery-platforms--stack { align-items: center; }
}

/* === 31. LADENI SEKCI === */

/* How it all started — stejne rozmery jako "We're all about smash burgers" (pad-150) */
@media (min-width: 769px) {
  .story-section { padding: 150px; max-width: none; }
}
/* nenapadne tlacitko READ OUR STORY — pozadi stranky, tenky obrys */
.story-section .btn {
  background: var(--bg);
  color: var(--text);
  border: 1px solid var(--tgb-dark-green);
}
.story-section .btn:hover { background: var(--tgb-dark-green); color: var(--white-tgb); }
body.dark-theme .story-section .btn { background: transparent; color: var(--white); border-color: var(--white); }

/* Mezera mezi "SEE OUR MENU" (dont-miss) a "We're all about..." mensi o 15 % (2x150px -> 2x128px) */
@media (min-width: 769px) {
  .dont-miss-section { padding-bottom: 128px; }
  .calidad-section  { padding-top: 128px; }
}

/* Reviews — 6 proklikatelnych karet ve 3 sloupcich */
.reviews-grid { max-width: 1160px; margin: 0 auto; }
.review-card { flex: 1 1 300px; cursor: pointer; transition: border-color 0.2s, transform 0.2s; }
.review-card:hover { border-color: var(--green-normal); transform: translateY(-3px); }
body.dark-theme .review-card:hover { border-color: var(--green-normal); }

/* Email signup (Join the Burger Club) — ucelena typografie + checkbox vedle textu */
.tgb-footer__top .h1 { font-size: 46px; line-height: 1.05; font-weight: 700; margin-bottom: 6px; }
.tgb-footer__top .h2 { font-size: 22px; line-height: 1.3; }
.tgb-footer__top .h4 { font-size: 17px; line-height: 1.5; font-weight: 400; padding-top: 8px; }
.tgb-footer__form label { font-size: 14px; }
.tgb-footer__form .checkbox-label {
  flex-direction: row;          /* checkbox vedle textu (prebiji .content-field column) */
  align-items: center;
  gap: 10px;
  font-size: 14px;
  line-height: 1.4;
}
.tgb-footer__form .checkbox-label input[type="checkbox"] { margin: 0; }
.tgb-footer__form .checkbox-label a { font-size: 14px; }

/* === 32. MOBILNI HERO — sloupcove razeni ===
   Sekce je flex-row (desktop); na mobilu musi jit obsah pod sebe,
   jinak hero-cta tlacitka plavou vedle textu a pretekaji. */
@media (max-width: 992px) {
  .burguer-home-section {
    flex-direction: column;
    align-items: center;
  }
  .hero-cta { margin: 6px auto 34px; }
  /* tag: niz a vic pod burger, at neprekryva claim */
  .hero-tag { top: 60%; left: 55%; opacity: 0.5; }
}

/* === 33. SPECIALS HALL OF FAME (dark mode) === */
.hof-wrap {
  background: linear-gradient(180deg, #050201, #0f0a05);
  color: var(--white);
}
.hof-heading { color: var(--white); }
.hof-eyebrow {
  font-family: var(--font-druk); font-style: italic; font-weight: 900;
  text-transform: uppercase; letter-spacing: 1px;
  color: var(--green-normal); font-size: 22px; margin-bottom: 8px;
}
.hof-sub { color: #cbb896; font-size: 18px; max-width: 560px; margin: 0 auto 26px; }

/* A: aktualni special */
.hof-current { text-align: center; padding: 170px 5% 70px; }
.hof-current__img { max-width: 440px; width: 80%; margin: 10px auto 6px; }

/* B: vitrina TOP 10 */
.hof-section { max-width: 1240px; margin: 0 auto; padding: 40px 5% 110px; text-align: center; }
.hof-grid { display: flex; flex-wrap: wrap; gap: 26px; justify-content: center; margin-top: 40px; }
.hof-card {
  width: 208px; position: relative; text-align: center;
  background: #17110a;
  border: 2px solid var(--green-normal);
  box-shadow: 6px 6px 0 rgba(241,90,36,0.25);
  padding: 14px 14px 16px;
}
.hof-card img { width: 100%; height: 150px; object-fit: cover; }
.hof-rank {
  position: absolute; top: -14px; left: -14px;
  width: 34px; height: 34px; border-radius: 50%;
  background: var(--green-normal); color: #fff;
  font-family: var(--font-druk); font-style: italic; font-weight: 900; font-size: 17px;
  display: flex; align-items: center; justify-content: center;
}
.hof-name {
  font-family: var(--font-druk); font-style: italic; font-weight: 900;
  text-transform: uppercase; color: var(--white);
  font-size: 19px; line-height: 1.15; margin: 12px 0 4px;
}
.hof-votes { font-size: 13px; color: #cbb896; margin-bottom: 10px; }
.hof-vote-btn {
  font-family: var(--font-body); font-weight: 700; font-size: 13px;
  text-transform: uppercase; letter-spacing: 0.5px;
  color: var(--green-normal); background: transparent;
  border: 2px solid var(--green-normal); border-radius: 30px;
  padding: 7px 22px; transition: 0.2s;
}
.hof-vote-btn:hover { background: var(--green-normal); color: #fff; }
.hof-vote-btn.voted { background: var(--green-normal); color: #fff; cursor: default; }
.hof-vote-btn:disabled { opacity: 0.45; cursor: default; }
.hof-vote-btn:disabled:hover { background: transparent; color: var(--green-normal); }
.hof-vote-btn.voted:disabled { opacity: 1; }

/* C: seznam ostatnich */
.hof-list-title { color: var(--white); margin-top: 70px; }
.hof-list {
  list-style: none; columns: 2; column-gap: 60px;
  max-width: 760px; margin: 20px auto 0; text-align: left;
}
.hof-list li {
  font-family: var(--font-druk); font-style: italic; font-weight: 900;
  text-transform: uppercase; font-size: 19px; color: #cbb896;
  padding: 8px 0 8px 22px; position: relative;
  break-inside: avoid;
}
.hof-list li::before { content: "\2605"; color: var(--green-normal); position: absolute; left: 0; font-size: 13px; top: 13px; }

/* Email gate (mockup hlasovani) */
.vote-gate {
  position: fixed; inset: 0; z-index: 600;
  background: rgba(0,0,0,0.65);
  display: flex; align-items: center; justify-content: center;
}
.vote-gate.d-none { display: none; }
.vote-gate__inner {
  position: relative; background: #17110a; color: var(--white);
  border: 2px solid var(--green-normal); box-shadow: 8px 8px 0 rgba(241,90,36,0.25);
  padding: 34px 36px; max-width: 380px; width: calc(100% - 40px); text-align: center;
}
.vote-gate__inner p { color: #cbb896; font-size: 15px; }
.vote-gate__inner input[type="email"] {
  width: 100%; margin: 16px 0 14px; padding: 10px 0;
  background: transparent; border: none; border-bottom: 1px solid #cbb896;
  color: var(--white); font-family: inherit; font-size: 16px; outline: none;
}
.vote-gate__close {
  position: absolute; top: 8px; right: 14px;
  color: #cbb896; font-size: 26px; line-height: 1;
}
.vote-gate .btn { width: 100%; }

@media (max-width: 768px) {
  .hof-current { padding: 130px 5% 50px; }
  .hof-grid { gap: 18px; }
  .hof-card { width: 46%; min-width: 150px; }
  .hof-card img { height: 120px; }
  .hof-list { columns: 2; }
}

/* === 34. MOBILNI HERO CTA — jednotna tlacitka === */
.hero-cta .btn { white-space: nowrap; }
@media (max-width: 992px) {
  /* tooltip prepinace na dotykovych zarizenich nedava smysl a orezaval se */
  .navbar-switch::after { display: none; }

  .hero-cta {
    flex-direction: column;
    align-items: center;
    gap: 12px;
    margin: 10px auto 38px;
    padding-left: 0;             /* presne na stred obrazovky */
    width: 100%;
  }
  .hero-cta .btn {
    width: min(240px, 62vw);
    justify-content: center;
    font-size: 16px;
    padding: 11px 20px;
  }
}

/* === 35. FOOTER ORANZOVY + CERNY HERO TAG + SJEDNOCENA TLACITKA === */

/* 1) Footer: oranzove pozadi, text a elementy kremove */
.tgb-footer,
body.dark-theme .tgb-footer { background: var(--green-normal); }
.tgb-footer p, .tgb-footer small, .tgb-footer label, .tgb-footer a,
.tgb-footer .h1, .tgb-footer .h2, .tgb-footer .h4,
.tgb-footer .footer-links a, .tgb-footer .footer-legal a,
.tgb-footer__bottom p, .tgb-footer__form label { color: var(--bg) !important; }
.tgb-footer .footer-links a:hover { color: var(--tgb-dark-green) !important; }
.tgb-footer__form input[type="text"],
.tgb-footer__form input[type="email"],
body.dark-theme .tgb-footer__form input[type="text"],
body.dark-theme .tgb-footer__form input[type="email"] {
  color: var(--bg); border-bottom-color: var(--bg);
}
.tgb-footer__form input[type="text"]:focus,
.tgb-footer__form input[type="email"]:focus { border-bottom-color: #fff; }
.tgb-footer input[type="checkbox"] { accent-color: var(--bg); }
.tgb-footer .btn-green-normal {
  background: var(--bg); color: var(--green-normal); border-color: var(--bg);
}
.tgb-footer .btn-green-normal:hover { opacity: 1; background: #fff; }
.tgb-footer__bottom { border-top-color: rgba(251,230,204,0.55); }

/* 2) Hungry now? — tlacitka stejna jako v hero (nazloutly podklad) */
.delivery-platforms--stack a {
  font-family: var(--font-druk) !important;
  font-style: italic !important;
  font-weight: 900 !important;
  font-size: 18px;
  letter-spacing: 0.5px;
  color: var(--green-normal);
  background: #FFEEB5;
  border: 3px solid var(--green-normal);
}
.delivery-platforms--stack a:hover { background: var(--green-normal); color: #FFEEB5; }
body.dark-theme .delivery-platforms--stack a { border-color: var(--green-normal); color: var(--green-normal); }
body.dark-theme .delivery-platforms--stack a:hover { color: #FFEEB5; }

/* 3) SEE OUR MENU + READ OUR STORY — oranzovy hover misto cerneho */
.dont-miss-section .btn:hover,
.story-section .btn:hover {
  background: var(--green-normal);
  border-color: var(--green-normal);
  color: #fff;
}

/* 4) Hero tag: cerny, mensi, vycentrovany za burgerem; mizi kdyz se ukaze claim */
.hero-tag {
  left: 50%; top: 46%;
  width: min(400px, 30vw);
  opacity: 0.85;
  transition: opacity 0.35s;
}
.burguer-container:hover ~ .hero-tag { opacity: 0; }
@media (max-width: 992px) {
  .hero-tag { display: none; }   /* na mobilu se tag nezobrazuje */
}

/* === 36. "WE'RE ALL ABOUT SMASH BURGERS" — mobilni verze ===
   Desktop nechavame (velky text + hover rozsviceni). Na mobilu:
   plna opacita (hover neexistuje) a normalni velikost textu. */
@media (max-width: 992px) {
  .calidad-container { opacity: 1; }
  .calidad-section .h2 { font-size: 30px; line-height: 1.15; }
  .calidad-section .h3 {
    font-size: 18px;
    line-height: 1.7;
    font-weight: 400;
  }
}

/* === 37. VETSI HERO TAG + NIZSI TOP BAR === */

/* Tag vetsi nez burger (cca modry kruh z navrhu), porad za nim */
.hero-tag {
  width: min(1260px, 64vw);   /* +40 % */
  top: 52%;
}

/* Top bar: mensi mezera mezi vrchem stranky a polozkami menu */
.tgb-container--nav.pad-top-60 { padding-top: 16px; }
.tgb-menu__buttons { margin-top: 8px; }

/* Hero burger na desktopu o 15 % mensi (40 % -> 34 %) */
.burguer-container img.burguer-img { width: 34%; }

/* === 38. TAG 80 % + HALL OF FAME TLACITKO + FOOTER DOLADENI === */

/* 1) Tag: transparentnost 80 % */
.hero-tag { opacity: 0.8; }
.burguer-container:hover ~ .hero-tag { opacity: 0; }

/* 2) Prepinac tmaveho rezimu -> tlacitko "Sin slavy burgeru" */
.navbar-switch::after { display: none; }               /* tooltip uz neni potreba */
.navbar-switch-label .slider {
  width: auto; height: auto;
  background: var(--tgb-dark-green);
  border: 2px solid var(--green-normal);
  border-radius: 30px;
  padding: 7px 14px;
  gap: 7px;
  align-items: center;
}
.navbar-switch-label .slider::before {
  content: "\1F354";                                    /* burger ve vitrine */
  position: static; width: auto; height: auto;
  background: transparent; border-radius: 0;
  font-size: 15px; line-height: 1;
  transform: none !important; transition: none;
}
.navbar-switch-label .slider::after {
  content: "HALL OF FAME";
  font-family: var(--font-druk);
  font-style: italic; font-weight: 900;
  font-size: 13px; letter-spacing: 0.5px;
  color: #FFEEB5; line-height: 1;
  white-space: nowrap;
}
.navbar-switch-label input:checked + .slider,
body.dark-theme .navbar-switch-label .slider {
  background: var(--green-normal);
  border-color: #FFEEB5;
}
body.dark-theme .navbar-switch-label .slider::before { background: transparent; }
.navbar-switch-label input:checked + .slider::after { color: #fff; }
.navbar-switch-label .slider:hover { filter: brightness(1.1); }

/* 3) Za footerem uz nic — zrusit spodni margin, ktery delal kremovy prouzek */
.tgb-footer { padding-bottom: 26px; }
.tgb-footer .tgb-footer__bottom { margin-bottom: 0 !important; }

/* === 45. FEEDBACK BRAND TYMU === */

/* 1A) Nav bar: na mensich PC obrazovkach se HALL OF FAME pill srazel s Contact.
   Zmensi mezery mezi linky, pill a jeho odsazeni od kraje. */
@media (min-width: 993px) and (max-width: 1500px) {
  .tgb-menu__top .gap-100 { gap: clamp(24px, 3vw, 100px); }
  .navbar-switch { right: 18px; }
  .navbar-switch-label .slider { padding: 6px 10px; gap: 5px; }
  .navbar-switch-label .slider::before { font-size: 13px; }
  .navbar-switch-label .slider::after { font-size: 11px; letter-spacing: 0.3px; }
}

/* 2A) Hall of Fame: TOP 3 vyraznejsi — vetsi cislo poradi a pocet hlasu */
.hof-grid .hof-card:nth-child(-n+3) .hof-rank {
  width: 52px; height: 52px; font-size: 28px;
  top: -20px; left: -20px;
  box-shadow: 4px 4px 0 rgba(0,0,0,0.45);
}
.hof-grid .hof-card:nth-child(-n+3) .hof-name { font-size: 23px; }
.hof-grid .hof-card:nth-child(-n+3) .hof-votes {
  font-family: var(--font-druk); font-style: italic; font-weight: 900;
  font-size: 18px; color: #FFEEB5;
}
@media (max-width: 600px) {
  .hof-grid .hof-card:nth-child(-n+3) .hof-rank { width: 44px; height: 44px; font-size: 23px; top: -15px; left: -15px; }
}

/* 2B) Brandova chilli ikona misto emoji (v carta.html) */
.chilli {
  display: inline-block;
  width: 0.78em; height: 1.08em;
  background: url("assets/img/chilli-dark.png") center/contain no-repeat;
  vertical-align: -0.14em;
  margin-left: 4px;
}
body.dark-theme .chilli { background-image: url("assets/img/chilli-cream.png"); }

/* 4) Subscribe: pozadi jako footer (oranzove), hover cream */
.tgb-footer .btn-green-normal {
  background: var(--green-normal);
  color: var(--bg);
  border: 2px solid var(--bg);
}
.tgb-footer .btn-green-normal:hover {
  background: var(--bg);
  color: var(--green-normal);
  opacity: 1;
}

/* Pripnuty top bar: vetsi mezera mezi obsahem (Hall of Fame tlacitkem) a spodni hranici listy */
.tgb-container--nav { padding-bottom: 16px; }

/* Story teaser (How it all started) — desktop doladeni */
@media (min-width: 769px) {
  /* sirsi sloupec textu, at posledni slovo nepada samo na novy radek */
  .story-section .h4 { max-width: 900px; text-wrap: pretty; }
  /* lehce mensi svisla mezera vuci okolnim sekcim (150 -> 100) */
  .story-section { padding-top: 100px; padding-bottom: 100px; }
}

/* === 39. VYBER POBOCKY (menu -> objednavka/navigace) === */
.branch-modal {
  position: fixed; inset: 0; z-index: 600;
  background: rgba(0,0,0,0.55);
  display: flex; align-items: center; justify-content: center;
}
.branch-modal.d-none { display: none; }
.branch-modal__inner {
  position: relative;
  background: var(--bg);
  border: 3px solid var(--green-normal);
  box-shadow: 8px 8px 0 rgba(241,90,36,0.3);
  padding: 34px 32px 30px;
  width: min(430px, calc(100% - 40px));
  text-align: center;
}
.branch-modal__close {
  position: absolute; top: 8px; right: 14px;
  font-size: 26px; line-height: 1; color: var(--text);
}
.branch-modal__title {
  font-family: var(--font-druk); font-style: italic; font-weight: 900;
  text-transform: uppercase; font-size: 26px; line-height: 1.1;
  color: var(--tgb-dark-green); margin-bottom: 20px;
}
.branch-pick {
  display: block; width: 100%;
  margin: 12px 0; padding: 14px 16px;
  background: #FFEEB5;
  border: 2px solid var(--tgb-dark-green);
  font-family: var(--font-druk); font-style: italic; font-weight: 900;
  font-size: 20px; text-transform: uppercase; color: var(--tgb-dark-green);
  transition: 0.2s;
}
.branch-pick small {
  display: block; margin-top: 4px;
  font-family: var(--font-body); font-style: normal; font-weight: 400;
  font-size: 13px; text-transform: none; color: var(--text);
}
.branch-pick:hover { border-color: var(--green-normal); background: #fff; }
#branch-step-2 .btn { display: flex; width: 100%; margin: 10px 0; }
.branch-back {
  margin-top: 12px; font-size: 13px; text-decoration: underline; color: var(--text);
}

/* Mesto na karte pobocky — pri pridani Pattaye staci nova karta se stejnym vzorem */
.loc-city {
  font-family: var(--font-body);
  font-weight: 700;
  font-size: 12px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--green-normal);
  margin: 0 0 2px;
}
body.dark-theme .loc-city { color: var(--green-normal); }

/* === 40. HALL OF FAME — cisty rezim + hlasovani v seznamu === */

/* V Sini slavy (dark mode) schovat bezne sekce homepage */
body.dark-theme .reviews-section,
body.dark-theme .locations-section,
body.dark-theme .story-section { display: none; }

/* Seznam "the rest of the legends": jmeno + hlasy + tlacitko na radku */
.hof-list li {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 0 8px 22px;
}
.hof-list .hof-list-name { flex: 1; min-width: 0; }
.hof-list .hof-votes {
  font-family: var(--font-body);
  font-style: normal;
  font-weight: 400;
  font-size: 12px;
  margin: 0;
  white-space: nowrap;
}
.hof-list .hof-votes span::after { content: " votes"; }
.hof-list .hof-vote-btn {
  padding: 4px 14px;
  font-size: 11px;
  flex-shrink: 0;
}

/* === 41. MOBILNI TYPOGRAFIE — radkovani nadpisu === */

/* Popisky polozek (BURGER SPECIALS / HOUSE-MADE DIPS / LOADED FRIES):
   zalamovat jen na <br> — HOUSE-MADE se uz nerozpadne na 3 radky */
.dont-miss-container__menu p { white-space: nowrap; }

@media (max-width: 992px) {
  /* "Find us in Thailand." a "How it all started." na jeden radek */
  .locations-section .h2.text-uppercase,
  .story-section .h2.text-uppercase {
    white-space: nowrap;
    font-size: min(30px, 6.8vw);
    line-height: 1.15;
  }
  /* "Things you shouldn't miss." max 2 radky */
  .dont-miss-section .h2.text-uppercase {
    font-size: min(30px, 7.2vw);
    line-height: 1.2;
  }
}

/* Popisky polozek zarovnane ve stejne vysce (vsechny sloupce sedi na spodni hrane) */
.dont-miss-container__menu { align-items: stretch !important; }
.dont-miss-container__menu > div {
  justify-content: flex-end;
  align-items: center;
}

@media (max-width: 992px) {
  /* Posledni veta About sekce jako samostatny radek */
  .calidad-section .claim-line {
    display: block;
    margin-top: 14px;
  }
}

/* === 42. HALL OF FAME — mobilni citelnost + doladeni === */

/* Foto aktualniho specialu jako vitrina */
.hof-current__img {
  border: 2px solid var(--green-normal);
  box-shadow: 6px 6px 0 rgba(241,90,36,0.25);
}

/* Newsletter popup: checkbox vedle textu, jednotna velikost.
   Text musi zustat tmavy i v dark modu (popup ma kremove pozadi). */
.newsletter-popup .checkbox-label {
  flex-direction: row;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  line-height: 1.4;
}
.newsletter-popup .checkbox-label a { font-size: 13px; }
.newsletter-popup h2, .newsletter-popup p,
.newsletter-popup label, .newsletter-popup a,
body.dark-theme .newsletter-popup h2, body.dark-theme .newsletter-popup p,
body.dark-theme .newsletter-popup label, body.dark-theme .newsletter-popup a {
  color: var(--text) !important;
}
body.dark-theme .newsletter-popup input[type="email"] { color: var(--text); }

@media (max-width: 600px) {
  .hof-current { padding: 120px 18px 40px; }
  .hof-current__img { width: 100%; }
  .hof-grid { gap: 20px; }
  .hof-card { width: 100%; max-width: 340px; padding: 16px 16px 18px; }
  .hof-card img { height: 210px; }
  .hof-name { font-size: 22px; }
  .hof-votes { font-size: 14px; }
  .hof-card .hof-vote-btn { padding: 9px 28px; font-size: 14px; }
  .hof-sub { font-size: 16px; }
  .hof-list { columns: 1; max-width: 420px; }
  .hof-list li { font-size: 17px; }
  .hof-list .hof-vote-btn { padding: 6px 18px; font-size: 12px; }
}

/* === 43. HUNGRY NOW? — taska od leveho okraje (dle navrhu) ===
   Obrazek lepi na levou hranici stranky bez mezery, ruka "vchazi do zaberu".
   Vpravo nadpis + tlacitka pod sebou. */
.order-section {
  padding-left: 0;
  max-width: none;
}
.order-grid {
  max-width: none;
  justify-content: flex-start;
  gap: clamp(40px, 7vw, 130px);
}
.order-bag {
  width: min(440px, 34vw);
  max-width: none;
  margin-left: 0;
  align-self: center;
}
.order-content { padding-right: 5vw; }

@media (max-width: 900px) {
  .order-section { padding-left: 0; }
  .order-grid { flex-direction: column; align-items: flex-start; gap: 20px; }
  .order-bag { width: min(340px, 70vw); align-self: flex-start; }
  .order-content {
    align-self: center;
    text-align: center;
    padding-right: 0;
    width: 100%;
  }
}

/* === 44. DOLADENI (tag mimo menu, hungry-now na stred, contact form) === */

/* Hero tag lehce mensi, at nezasahuje do horniho menu */
.hero-tag {
  width: min(1080px, 55vw);
  top: 54%;
}

/* Hungry now: taska a obsah bliz k sobe (plati i pro Hall of Fame rezim).
   Taska kousek od leveho okraje, useknuta ruka zmekcena CSS maskou;
   nadpis + tlacitka hned vedle tasky misto centrovani do zbytku. */
.order-content {
  margin: 0;
  padding-right: 0;
}
.order-grid {
  justify-content: flex-start;
  gap: clamp(50px, 8vw, 150px);
}
.order-bag {
  margin-left: clamp(24px, 6vw, 110px);
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 10%);
  mask-image: linear-gradient(90deg, transparent 0, #000 10%);
}
@media (max-width: 900px) {
  .order-content { margin: 0; }
  .order-bag { margin-left: 12px; }
}

/* Contact form: byl neviditelny — dedil kremove barvy z oranzoveho footeru
   (sdili tridu .tgb-footer__form). Na svetle strance musi byt text tmavy. */
.story-page .tgb-footer__form label { color: var(--text) !important; }
.story-page .tgb-footer__form input[type="text"],
.story-page .tgb-footer__form input[type="email"] {
  color: var(--text);
  border-bottom-color: var(--tgb-gray);
}
.story-page .tgb-footer__form input[type="text"]:focus,
.story-page .tgb-footer__form input[type="email"]:focus {
  border-bottom-color: var(--green-normal);
}

/* Contact / Story stranky: vetsi horni odsazeni pod pripnutou listou */
.story-page { padding-top: 215px; }
@media (max-width: 768px) {
  .story-page { padding-top: 160px; }
}

/* === 46. BURGER CLUB — hlasky formulare (sending / ok / error) === */
.burger-club-msg { margin: 14px 0 0; font-size: 14px; line-height: 1.45; font-weight: 600; }
.burger-club-msg:empty { display: none; }
.tgb-footer .burger-club-msg { color: var(--bg) !important; }
.tgb-footer .burger-club-msg[data-state="error"] { background: rgba(0,0,0,0.18); padding: 8px 12px; border-radius: 8px; }
.tgb-footer .burger-club-msg[data-state="ok"] { background: rgba(255,238,181,0.18); padding: 10px 14px; border-radius: 8px; }
.newsletter-popup .burger-club-msg { color: var(--text) !important; }
.newsletter-popup .burger-club-msg[data-state="error"] { color: #b3261e !important; }

/* === 47. HALL OF FAME — ramecek aktualniho specialu, odmena za hlas === */
.hof-poster {
  max-width: 420px; margin: 26px auto 8px;
  padding: 12px; background: #17110a;
  border: 3px solid var(--green-normal);
  border-radius: 6px;
  box-shadow: 10px 10px 0 rgba(241,90,36,0.25), inset 0 0 0 1px rgba(255,238,181,0.25);
}
.hof-poster__img { display: block; width: 100%; height: auto; border-radius: 2px; }
@media (max-width: 600px) { .hof-poster { max-width: 100%; padding: 8px; margin-top: 18px; } }

.hof-perk {
  max-width: 560px; margin: 14px auto 0; padding: 12px 18px;
  border: 2px dashed var(--green-normal); border-radius: 12px;
  color: #cbb896; font-size: 15px; line-height: 1.45;
}
.hof-perk b { color: #FFEEB5; }

.vote-gate__check {
  display: flex; gap: 8px; align-items: flex-start; text-align: left;
  font-size: 13px; line-height: 1.35; color: #cbb896; margin-top: 4px;
}
.vote-gate__check input { margin-top: 2px; accent-color: var(--green-normal); }
.vote-gate__check a { color: #FFEEB5; text-decoration: underline; }
.vote-gate__msg { font-size: 13.5px; font-weight: 700; margin-top: 10px; min-height: 18px; color: #FFEEB5; }
.vote-gate__msg[data-state="error"] { color: #ff9b7a; }

/* === 48. HERO — vetsi burger + hover bez blikani === */

/* Nova fotka je sirsi a nizsi nez stara; 40 % sirky = vyssi nez stary burger pri 34 %. */
.burguer-container img.burguer-img { width: 40%; }

/* Hover se spousti na cele hero sekci (ta se nehybe), ne na kontejneru, ktery se
   pri najeti posouva zpod kurzoru a u okraje vyvolaval blikani. */
@media (hover: hover) and (min-width: 993px) {
  .burguer-home-section:hover .burguer-container { transform: translateX(-18%); z-index: 2; }
  .burguer-home-section:hover img.burguer-img { transform: translateX(-110px); }
  .burguer-home-section:hover .burguer-container__text { opacity: 1; right: 5%; }
  .burguer-home-section:hover .hero-tag { opacity: 0; }
}
@media (hover: hover) and (min-width: 993px) and (max-width: 1480px) {
  .burguer-home-section:hover .burguer-container__text { left: 58%; right: auto; }
}
@media (hover: hover) and (min-width: 993px) and (max-width: 1199px) {
  .burguer-home-section:hover .burguer-container { transform: translateX(-11%); }
}

/* === 49. LINE MAN vyber pobocky jako odkazy + modal v tmavem rezimu === */
a.branch-pick { display: block; text-decoration: none; }
body.dark-theme .branch-modal__inner { background: #17110a; color: var(--white); border: 2px solid var(--green-normal); }
body.dark-theme .branch-modal__title { color: var(--white); }
body.dark-theme .branch-pick { background: #221a10; color: var(--white); border-color: #3a2c1c; }
body.dark-theme .branch-pick:hover { background: #2c2114; }
body.dark-theme .branch-pick small { color: #cbb896; }
body.dark-theme .branch-modal__close { color: var(--white); }

/* === 50. HALL OF FAME JAKO STRANKA + CENTROVANI + MENSI BURGER + MOBILNI FOOTER === */

/* 1) Odkaz HALL OF FAME v navigaci (drive prepinac tmaveho rezimu) */
.tgb-menu__top a.game-pill {
  display: inline-flex; align-items: center; gap: 7px;
  background: var(--tgb-dark-green);
  border: 2px solid var(--green-normal); border-radius: 30px;
  padding: 7px 14px; line-height: 1; white-space: nowrap; text-decoration: none;
  font-family: var(--font-druk); font-style: italic; font-weight: 900;
  font-size: 13px; letter-spacing: 0.5px;
  color: #FFEEB5 !important;
}
.game-pill__icon { font-size: 15px; font-style: normal; line-height: 1; }
.tgb-menu__top a.game-pill:hover { filter: brightness(1.12); }
.tgb-menu__top a.game-pill.is-active { background: var(--green-normal); border-color: #FFEEB5; color: #fff !important; }
@media (min-width: 993px) and (max-width: 1500px) {
  .tgb-menu__top a.game-pill { padding: 6px 10px; gap: 5px; font-size: 11px; letter-spacing: 0.3px; }
  .game-pill__icon { font-size: 13px; }
}

/* 2) "How it all started" a "Hungry now?" na stred stranky (i na velkych displejich) */
@media (min-width: 769px) {
  .story-section {
    max-width: 1100px; margin-left: auto; margin-right: auto;
    padding: 100px 40px; text-align: center;
  }
  .story-section .h4 { max-width: 820px; margin-left: auto; margin-right: auto; }
}
@media (min-width: 901px) {
  .order-section { padding-left: 5%; padding-right: 5%; }
  .order-grid {
    justify-content: center; max-width: 1100px; margin: 0 auto;
    gap: clamp(50px, 6vw, 110px);
  }
  .order-bag { margin-left: 0; }
}

/* 3) Hero burger o ~12 % mensi (40 % -> 35 %) */
.burguer-container img.burguer-img { width: 35%; }

/* 4) Mobilni footer: kompaktni, nadpis na jeden radek */
@media (max-width: 768px) {
  .tgb-footer { padding: 30px 20px 18px; }
  .tgb-footer__top { gap: 16px; padding-bottom: 22px; }
  .tgb-footer__top .h1 {
    font-size: clamp(24px, 7.8vw, 36px); line-height: 1.1;
    white-space: nowrap; margin-bottom: 4px;
  }
  .tgb-footer__top .h2 { font-size: 15px; line-height: 1.25; }
  .tgb-footer__top .h4 { display: none; }                 /* dlouhy uvodni odstavec */
  .tgb-footer__top .pad-top-20 { padding-top: 8px; }
  .tgb-footer__top small { display: block; font-size: 11.5px; line-height: 1.4; }
  .tgb-footer__top small a { font-size: 11.5px !important; }
  .tgb-footer .tgb-footer__form { width: 100%; }
  /* pole "Your name" bylo z formulare odebrano uplne (HTML), zadne skryvani uz neni potreba */
  .tgb-footer form[data-burger-club] .content-field { margin-bottom: 10px; }
  .tgb-footer .tgb-footer__form label { font-size: 12.5px; margin-bottom: 2px; }
  .tgb-footer .tgb-footer__form input[type="text"],
  .tgb-footer .tgb-footer__form input[type="email"] { font-size: 16px; padding: 5px 0; }
  .tgb-footer .tgb-footer__form .checkbox-label { font-size: 12.5px; gap: 8px; margin-bottom: 8px; }
  .tgb-footer .tgb-footer__form .checkbox-label a { font-size: 12.5px; }
  .tgb-footer form[data-burger-club] .btn { margin-top: 12px; padding: 10px 22px; font-size: 14px; }
  .tgb-footer .tgb-footer__bottom { padding: 14px 0 0; gap: 8px !important; }
  .tgb-footer .footer-links { gap: 4px 14px; margin-bottom: 4px; }
  .tgb-footer .footer-links a { font-size: 12px; }
  .tgb-footer .tgb-footer__bottom p { font-size: 11px; line-height: 1.45; }
  .tgb-footer .footer-legal a { font-size: 11px; }
}

/* 5) Tmava stranka (sin slavy): ikona mobilniho menu musi byt svetla */
body.dark-theme .btn-menu-mobile svg rect { fill: var(--white, #fff); }

/* === 51. TRI VIDEA — stejna sirka sloupcu bez ohledu na nativni rozmer videa === */
.video-triple-grid video { flex: 0 0 33.33%; min-width: 0; }

/* === 52. MOBILNI FOOTER — souhlasy vlevo, tlacitko vpravo (vedle sebe) === */
@media (max-width: 768px) {
  .tgb-footer form[data-burger-club] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas:
      "email email"
      "news  btn"
      "terms btn"
      "msg   msg";
    column-gap: 14px;
    row-gap: 0;
    align-items: center;
  }
  .tgb-footer form[data-burger-club] > .content-field:not(.checkbox-label) { grid-area: email; }
  .tgb-footer form[data-burger-club] > label.checkbox-label:nth-of-type(1) { grid-area: news; }
  .tgb-footer form[data-burger-club] > label.checkbox-label:nth-of-type(2) { grid-area: terms; }
  .tgb-footer form[data-burger-club] > .btn {
    grid-area: btn; align-self: center; justify-self: end;
    margin-top: 0; padding: 11px 14px; font-size: 13px; white-space: nowrap;
  }
  .tgb-footer form[data-burger-club] > .burger-club-msg { grid-area: msg; }

  .tgb-footer .tgb-footer__form form[data-burger-club] > label.checkbox-label {
    align-items: flex-start; gap: 7px;
    font-size: 11px; line-height: 1.3; margin: 4px 0;
  }
  .tgb-footer .tgb-footer__form form[data-burger-club] > label.checkbox-label a { font-size: 11px; }
  .tgb-footer .tgb-footer__form form[data-burger-club] > label.checkbox-label input[type="checkbox"] { margin-top: 1px; }
}

/* 52b) doladeni: text souhlasu tece jako jeden odstavec (odkaz uvnitr vety),
   tlacitko presne na stred obou radku */
@media (max-width: 768px) {
  .tgb-footer .tgb-footer__form form[data-burger-club] > label.checkbox-label {
    display: block; position: relative; padding-left: 21px;
  }
  .tgb-footer .tgb-footer__form form[data-burger-club] > label.checkbox-label input[type="checkbox"] {
    position: absolute; left: 0; top: 1px; margin: 0;
  }
  .tgb-footer form[data-burger-club] > .btn { margin-top: 0 !important; }
}

/* === 53. FOOTER FORMULAR — jasne viditelna pole (kremova vypln misto linky) === */
.tgb-footer .tgb-footer__form form[data-burger-club] input[type="text"],
.tgb-footer .tgb-footer__form form[data-burger-club] input[type="email"] {
  background: var(--bg);
  color: #1c1c1c;
  border: 2px solid var(--bg);
  border-radius: 10px;
  padding: 12px 14px;
  font-size: 17px;
  box-shadow: 3px 3px 0 rgba(28, 28, 28, 0.3);
  transition: border-color 0.15s, box-shadow 0.15s;
}
.tgb-footer .tgb-footer__form form[data-burger-club] input[type="text"]::placeholder,
.tgb-footer .tgb-footer__form form[data-burger-club] input[type="email"]::placeholder {
  color: #9a7b5c; opacity: 1;
}
.tgb-footer .tgb-footer__form form[data-burger-club] input[type="text"]:focus,
.tgb-footer .tgb-footer__form form[data-burger-club] input[type="email"]:focus {
  border-color: #1c1c1c;
  box-shadow: 3px 3px 0 #1c1c1c;
}
.tgb-footer form[data-burger-club] .content-field label { margin-bottom: 7px; font-weight: 700; }
@media (max-width: 768px) {
  .tgb-footer .tgb-footer__form form[data-burger-club] input[type="text"],
  .tgb-footer .tgb-footer__form form[data-burger-club] input[type="email"] {
    font-size: 16px; padding: 11px 12px;
  }
  .tgb-footer form[data-burger-club] .content-field { margin-bottom: 14px; }
  .tgb-footer form[data-burger-club] .content-field label { margin-bottom: 5px; }
}

/* === 54. MOBILNI FOOTER — texty souhlasu na jeden radek ===
   Sirka textu = sirka displeje - okraje (40) - tlacitko (122) - mezera (10) - odsazeni checkboxu (20).
   Nejdelsi text zabere ~17,4 px sirky na 1 px pisma, proto plynula velikost pisma nize. */
@media (max-width: 768px) {
  .tgb-footer form[data-burger-club] { column-gap: 10px; }
  .tgb-footer form[data-burger-club] > .btn {
    width: 122px; padding: 11px 0; letter-spacing: 0.5px;
    text-align: center; justify-content: center;
  }
  .tgb-footer .tgb-footer__form form[data-burger-club] > label.checkbox-label {
    padding-left: 20px; margin: 5px 0;
    font-size: clamp(9px, calc((100vw - 194px) / 17.9), 11.5px);
    line-height: 14px;
  }
  .tgb-footer .tgb-footer__form form[data-burger-club] > label.checkbox-label a { font-size: inherit; }
  .tgb-footer .tgb-footer__form form[data-burger-club] > label.checkbox-label input[type="checkbox"] {
    width: 14px; height: 14px; top: 0;
  }
}
@media (min-width: 350px) and (max-width: 768px) {
  .tgb-footer .tgb-footer__form form[data-burger-club] > label.checkbox-label { white-space: nowrap; }
}

/* === 55. MENU — logo EB vedle nadpisu SMASH BURGERS === */
.menu-page__head {
  display: flex; align-items: center; justify-content: center;
  gap: clamp(12px, 2vw, 26px);
}
.menu-page__logo {
  width: clamp(92px, 10vw, 136px); height: auto; flex-shrink: 0; display: block;
}
.menu-page__head h1 { text-align: left; margin: 0; }
@media (max-width: 768px) {
  .menu-page__head { justify-content: flex-start; gap: 10px; margin-bottom: 30px; }
  .menu-page__logo { width: clamp(72px, 23vw, 92px); }
  .menu-page__head h1 { font-size: clamp(38px, 12.5vw, 50px); line-height: 0.95; }
  .menu-page__head h1 .hl { display: block; }     /* SMASH / BURGERS na dva radky */
}

/* === 56. MENU — ramecek "Step 1 / Step 2" === */
.menu-note--steps .menu-note__line { display: block; }
.menu-note--steps .dot { display: inline-block; margin: 0 0.6em; }
@media (max-width: 768px) {
  /* mobil: suroviny na jednom radku, "(made with ...)" na druhem, bez "(recommended)" */
  .menu-note--steps { padding: 12px; }
  /* sirka radku = displej - okraje stranky (44) - ramecek (28); 1. radek zabere ~26,6 px na 1 px pisma */
  .menu-note--steps .menu-note__line {
    white-space: nowrap; line-height: 1.55;
    font-size: clamp(9.5px, calc((100vw - 72px) / 27.4), 14px);
  }
  .menu-note--steps .menu-note__sub { display: block; white-space: normal; }
  .menu-note--steps .menu-note__rec { display: none; }
  .menu-note--steps .dot { margin: 0 0.3em; }
}
@media (max-width: 339px) {
  .menu-note--steps .menu-note__line { white-space: normal; }   /* velmi uzke displeje: povolit zalomeni */
}

/* === 57. HALL OF FAME — uvod s motivaci + kompaktni karta aktualniho specialu === */
.hof-kicker {
  font-family: var(--font-body); font-style: normal; font-weight: 500;
  font-size: 13px; letter-spacing: 0.13em; text-transform: uppercase;
  color: #cbb896 !important; margin: 0 0 10px;
}
.hof-kicker--accent { color: #f4a27e !important; margin-bottom: 6px; }

.hof-hero {
  max-width: 760px; margin: 0 auto;
  padding: 150px 22px 28px; text-align: center;
}
.hof-hero__title {
  font-family: var(--font-druk); font-style: italic; font-weight: 900;
  text-transform: uppercase; color: #FFEEB5;
  font-size: clamp(40px, 11.5vw, 78px); line-height: 0.98; letter-spacing: -0.5px;
  margin: 0;
}
.hof-hero__lead {
  color: #fbe6cc !important; font-size: clamp(16px, 4.4vw, 20px); line-height: 1.45;
  margin: 16px 0 0;
}
/* zamerne nenapadne: obrys misto plne oranzove plochy */
.hof-hero__cta {
  display: inline-flex; align-items: center; gap: 10px;
  margin-top: 20px; padding: 10px 22px;
  border: 2px solid var(--green-normal); border-radius: 40px; background: transparent;
  font-family: var(--font-druk); font-style: italic; font-weight: 900;
  text-transform: uppercase; font-size: 15px; letter-spacing: 0.5px;
  color: #FFEEB5 !important; text-decoration: none;
  transition: background 0.2s, color 0.2s;
}
.hof-hero__cta:hover { background: var(--green-normal); color: #1c1c1c !important; }
.hof-hero__steps { color: #9c8b6e !important; font-size: 13px; line-height: 1.4; margin: 12px 0 0; }

.hof-now {
  width: calc(100% - 44px); max-width: 716px; margin: 6px auto 0;
  display: flex; align-items: center; gap: 18px;
  padding: 16px;
  background: #15100a; border: 1px solid rgba(255, 238, 181, 0.16); border-radius: 12px;
  text-align: left; scroll-margin-top: 84px;
}
.hof-now__thumb {
  position: relative; flex: 0 0 auto; width: clamp(104px, 29vw, 150px);
  padding: 0; line-height: 0; cursor: zoom-in;
  background: #17110a; border: 2px solid var(--green-normal); border-radius: 4px;
}
.hof-now__thumb img { display: block; width: 100%; height: auto; }
.hof-now__zoom {
  position: absolute; right: 6px; bottom: 6px;
  width: 30px; height: 30px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  background: rgba(0, 0, 0, 0.74); border: 1px solid rgba(255, 238, 181, 0.7); color: #FFEEB5;
}
.hof-now__zoom .ico-close { display: none; }
.hof-now__body { flex: 1 1 auto; min-width: 0; }
.hof-now__name {
  color: #FFEEB5; margin: 0 0 8px; line-height: 1;
  font-size: clamp(20px, 6.2vw, 36px); white-space: nowrap;
}
.hof-now__desc { color: #cbb896 !important; font-size: 14px; line-height: 1.45; margin: 0 0 14px; }

/* rozkliknuty plakat: plna velikost v ramu, text a hlasovani pod nim */
.hof-now.is-open { flex-direction: column; text-align: center; padding: 22px 16px 24px; }
.hof-now.is-open .hof-now__thumb {
  width: min(100%, 420px); padding: 12px; cursor: zoom-out;
  border-width: 3px; border-radius: 6px;
  box-shadow: 10px 10px 0 rgba(241, 90, 36, 0.25);
}
.hof-now.is-open .hof-now__zoom { right: 18px; bottom: 18px; }
.hof-now.is-open .ico-open { display: none; }
.hof-now.is-open .ico-close { display: block; }
.hof-now.is-open .hof-now__desc { max-width: 520px; margin-left: auto; margin-right: auto; }

/* vyber: tenka linka misto velke mezery, kotva pod pevnou navigaci */
.hof-section { margin-top: 34px; padding-top: 38px; border-top: 1px solid rgba(255, 238, 181, 0.14); }
#vote { scroll-margin-top: 70px; }
.hof-section .hof-sub { margin-bottom: 0; }

@media (max-width: 768px) {
  .hof-hero { padding: 118px 22px 24px; text-align: left; }
  .hof-hero__cta { font-size: 14px; }
  .hof-now { gap: 14px; padding: 14px; }
  .hof-now__desc { font-size: 13px; margin-bottom: 12px; }
  .hof-section > .hof-kicker, .hof-section > .hof-heading, .hof-section > .hof-sub { text-align: left; margin-left: 0; }
}
/* nadpis vyberu stejnym pismem jako hlavni titulek stranky */
.hof-section .hof-heading {
  font-family: var(--font-druk); letter-spacing: -0.5px; color: #FFEEB5;
  font-size: clamp(32px, 9vw, 56px); line-height: 1;
}

/* === 58. HALL OF FAME — "Choose my favourite" jako textovy odkaz (ne tlacitko) === */
.hof-hero__link {
  display: inline-block; margin-top: 18px;
  font-family: var(--font-body); font-style: normal; font-weight: 700;
  font-size: 16px; line-height: 1.3;
  color: #FFEEB5 !important;
  text-decoration: underline; text-decoration-color: var(--green-normal);
  text-decoration-thickness: 2px; text-underline-offset: 5px;
}
.hof-hero__link:hover { color: var(--green-normal) !important; }

/* === 59. HALL OF FAME — mensi titulky na telefonu, at vynikne aktualni special === */
@media (max-width: 768px) {
  .hof-hero__title { font-size: clamp(30px, 9.2vw, 42px); }
  .hof-section .hof-heading { font-size: clamp(25px, 7.4vw, 34px); }
  .hof-hero__lead { font-size: clamp(15px, 4.1vw, 18px); margin-top: 12px; }
}

/* === 60. NAVIGACE — 5 odkazu (Menu, Specials, Locations | logo | Our Story, Contact) + "Play a game" ===
   Odkazy jsou ve dvou skupinach kolem loga; mrizka 1fr / auto / 1fr drzi logo presne uprostred. */
.tgb-menu__top { --nav-gap: 100px; }
@media (max-width: 1500px) { .tgb-menu__top { --nav-gap: clamp(22px, 3vw, 100px); } }
@media (max-width: 1199px) { .tgb-menu__top { --nav-gap: clamp(16px, 2.2vw, 30px); } }
@media (min-width: 993px) {
  .tgb-menu__top > div.nav-row {
    display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center; justify-content: stretch; gap: 0 var(--nav-gap);
  }
  .tgb-menu__top .nav-side { display: flex; align-items: center; gap: var(--nav-gap); white-space: nowrap; }
  .tgb-menu__top .nav-side--left { justify-content: flex-end; }
  .tgb-menu__top .nav-side--right { justify-content: flex-start; }
}
@media (max-width: 992px) {
  .tgb-menu__top .nav-side { display: none; }
}

/* === 61. HALL OF FAME (stranka /specials) — 6 legend s fotkou burgeru (vyrez 4:3), mrizka 3 x 2 ===
   Karty maji poradi a pocet hlasu; TOP 3 zvyraznuje vetsi cislo poradi a pocet hlasu (viz sekce 45).
   Jmena jsou u vsech karet stejne velka, aby se vesla na jeden radek. */
.hof-grid {
  display: grid; grid-template-columns: repeat(3, minmax(0, 300px));
  justify-content: center; gap: 30px 26px;
}
.hof-grid .hof-card { width: auto; min-width: 0; max-width: none; padding: 14px 14px 18px; }
.hof-grid .hof-card img {
  display: block; width: 100%; height: auto;
  aspect-ratio: 4 / 3; object-fit: cover;
}
.hof-grid .hof-card:nth-child(n) .hof-name { font-size: 22px; margin: 14px 0 4px; }
.hof-grid .hof-card .hof-votes { margin-bottom: 12px; }
@media (max-width: 900px) {
  .hof-grid { grid-template-columns: repeat(2, minmax(0, 300px)); gap: 22px 18px; }
  .hof-grid .hof-card:nth-child(n) .hof-name { font-size: 19px; }
}
@media (max-width: 600px) {
  .hof-grid { grid-template-columns: minmax(0, 340px); gap: 20px; }
  .hof-grid .hof-card { padding: 16px 16px 18px; }
  .hof-grid .hof-card:nth-child(n) .hof-name { font-size: 22px; }
}

/* === 62. NEWSLETTER POPUP — jen na pocitaci ===
   Na mobilu a tabletu (uzky displej nebo dotykove zarizeni) se popup nikdy nezobrazi;
   prihlaseni do Burger Clubu tam zustava v paticce. Stejnou podminku ma script.js. */
@media (max-width: 992px), (hover: none) and (pointer: coarse) {
  .newsletter-popup { display: none !important; }
}

/* === 63. FEEDBACK 2026-10 — navigace, oranzovy pruh, karty, Our Story, paticka, pravni stranky === */

/* 1) "Menu" vs. oranzovy svisly pruh: mezi 1500 a 1700 px skakala mezera v navigaci na 100 px
      a leva skupina odkazu zajela do pruhu. Mezera roste plynule az do 1700 px. */
@media (min-width: 1501px) and (max-width: 1700px) { .tgb-menu__top { --nav-gap: clamp(22px, 3vw, 100px); } }

/* 2) Svisly pruh konci presne s hero sekci (driv mel pevnych 950 px a na nizsich monitorech
      prekryval fotku z kuchyne pod ni) */
@media (min-width: 993px) { .light-theme .vertical-text { height: 100vh; } }

/* 3) Homepage: karty "Things you shouldn't miss" jsou odkazy (Specials, dipy, loaded fries) */
.dont-miss-container__menu > a {
  position: relative; flex: 1; max-width: 33%;
  justify-content: flex-end; align-items: center;
  text-decoration: none; color: inherit; cursor: pointer;
}
.dont-miss-container__menu > a img { transition: transform 0.25s ease; }
.dont-miss-container__menu > a:hover img { transform: translateY(-5px); }
.dont-miss-container__menu > a:hover img.img-blur { transform: scale(1.05) translateY(-5px); }
.dont-miss-container__menu > a p {
  text-decoration: underline; text-decoration-color: var(--green-normal);
  text-decoration-thickness: 2px; text-underline-offset: 6px;
  transition: color 0.2s;
}
.dont-miss-container__menu > a:hover p { color: var(--green-normal); }
.dont-miss-container__menu > a:focus-visible { outline: 3px solid var(--green-normal); outline-offset: 6px; }

/* 4) Menu: kotvy ze homepage nesmi zajet pod pevnou navigaci */
.menu-section[id] { scroll-margin-top: 110px; }

/* 5) Our Story: dve fotky vedle sebe (tym + Tom u dry-ageru) */
.story-photos { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin: 6px 0 36px; }
.story-photos figure { margin: 0; }
.story-photos img {
  display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover;
  border: 3px solid var(--green-normal); box-shadow: 8px 8px 0 rgba(241, 90, 36, 0.25);
}
.story-photos figcaption { font-size: 14px; line-height: 1.4; margin-top: 12px; color: #7a6650; }
@media (max-width: 600px) {
  .story-photos { grid-template-columns: 1fr; gap: 26px; max-width: 360px; }
}

/* 6) Paticka: adresy / odkazy / socialni site / pravni odkazy / provozovatel */
.footer-bottom { gap: 14px; text-align: center; }
.footer-addresses { display: flex; flex-wrap: wrap; justify-content: center; gap: 4px 12px; margin: 0; }
.footer-addresses .footer-dot { opacity: 0.7; }
.footer-bottom .footer-links { margin-bottom: 0; }
.footer-bottom .footer-links a { letter-spacing: 0.06em; }
.footer-social { margin: 0; font-weight: 700; letter-spacing: 0.04em; }
.footer-social a { text-decoration: underline; text-underline-offset: 3px; }
.footer-bottom .footer-legal { gap: 8px 18px; flex-wrap: wrap; }
.footer-copy {
  margin: 4px 0 0; padding-top: 14px; width: 100%;
  border-top: 1px solid rgba(251, 230, 204, 0.4);
  font-size: 12px; line-height: 1.5; opacity: 0.85;
}
@media (max-width: 992px) {
  .footer-addresses { flex-direction: column; gap: 2px; }
  .footer-addresses .footer-dot { display: none; }
}
@media (max-width: 600px) {
  .tgb-footer .footer-bottom { gap: 10px !important; }
  .tgb-footer .footer-copy { font-size: 11px; }
}

/* 7) Pravni stranky (Privacy Policy, Terms) */
.legal-page .legal-date { font-size: 15px; color: #7a6650; margin: -6px 0 26px; }
.legal-page h2 {
  font-family: var(--font-druk); font-style: italic; font-weight: 900; text-transform: uppercase;
  font-size: 24px; line-height: 1.1; margin: 34px 0 10px; color: var(--black-tgb);
}
.legal-page p, .legal-page li { font-size: 17px; line-height: 1.6; }
.legal-page p { margin-bottom: 14px; }
.legal-page ul { margin: 0 0 16px; padding-left: 22px; }
.legal-page li { margin-bottom: 6px; }
.legal-page li::marker { color: var(--green-normal); }
.legal-page a { text-decoration: underline; text-underline-offset: 3px; }
.legal-page .legal-toc { font-size: 15px; margin-bottom: 8px; }
@media (max-width: 600px) {
  .legal-page h2 { font-size: 21px; }
  .legal-page p, .legal-page li { font-size: 16px; }
}

/* 8) Specials: delsi druhy radek titulku ("and get 20% off.") na uzkem telefonu */
@media (max-width: 420px) { .hof-hero__title { font-size: clamp(28px, 8.4vw, 42px); } }
