/* ==========================================================================
   Globální prvky: hlavička, menu, věková brána, patička (Theme Builder).
   Zdroj: v2 Nav.tsx, AgeGate.tsx, Footer.tsx. Obsah je v Divi modulech,
   tady jen rozložení a vzhled. Třídy `es-*` nesou moduly.
   ========================================================================== */

/* --- Dekorace sdílené více prvky --- */
:root {
  --es-mark: url(../img/balboa-mark.svg);
  /* v2 `.grain` v jedné vrstvě s danou průhledností (pro skládání pozadí) */
  --es-grain-05: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.05'/%3E%3C/svg%3E");
  --es-grain-06: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.06'/%3E%3C/svg%3E");
}

/* Znak Vasca jako maska: barvu dává `background-color`, velikost výška. */
.es-mark,
.es-menu-overlay::before,
.es-footer::before {
  -webkit-mask: var(--es-mark) center / contain no-repeat;
  mask: var(--es-mark) center / contain no-repeat;
  aspect-ratio: 76 / 108;
}

.es-sr {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.es-lang-slot:empty {
  display: none !important;
}

/* ==========================================================================
   Hlavička (v2 Nav.tsx, podoba s hamburgerem)
   ========================================================================== */

/* Hlavička leží přes první sekci stránky (`absolute inset-x-0 top-0 z-50`). */
.et-l--header {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 50;
}
:is(html.es-builder, body.et-fb) .et-l--header {
  position: relative;
}

.es-header {
  position: relative;
  z-index: 50;
  padding: 0 !important;
  background: none !important;
}

.es-header-bar {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 1rem 1.25rem !important; /* px-5 py-4 */
}
@media (min-width: 768px) {
  .es-header-bar {
    padding: 1.25rem 2rem !important; /* md:px-8 md:py-5 */
  }
}
@media (min-width: 1024px) {
  .es-header-bar {
    padding-left: 3rem !important; /* lg:px-12 */
    padding-right: 3rem !important;
  }
}

.es-header-bar > .et_pb_column {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 0.75rem !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}
:where(.es-header-bar .et_pb_module) {
  margin: 0 !important;
  width: auto !important;
}

/* Logo: h-15 md:h-18 lg:h-20 */
.es-logo {
  flex-shrink: 0;
  line-height: 0;
}
.es-logo img {
  display: block;
  height: 3.75rem !important;
  width: auto !important;
}
@media (min-width: 768px) {
  .es-logo img {
    height: 4.5rem !important;
  }
}
@media (min-width: 1024px) {
  .es-logo img {
    height: 5rem !important;
  }
}

/* Inkoustové logo na světlých hlavičkách, bílé na tmavých (Recepty) a nad
   otevřeným menu. Rozhoduje třída na <body> (espero-core). */
.es-logo-white {
  display: none !important;
}
body:is(.es-header-dark, .es-menu-open) .es-logo-ink {
  display: none !important;
}
body:is(.es-header-dark, .es-menu-open) .es-logo-white {
  display: block !important;
}

/* Ikona menu: tři linky, jediný vstup do navigace na všech šířkách. */
.es-header-bar .et_pb_button_module_wrapper:has(.es-burger) {
  margin-left: auto !important;
}
.et_pb_button.es-burger {
  position: relative;
  display: flex !important;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
  width: 2.75rem;
  height: 2.75rem;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: none !important;
  color: var(--espero-ink) !important;
  font-size: 0 !important;
  line-height: 0 !important;
}
.et_pb_button.es-burger::before,
.et_pb_button.es-burger::after {
  display: none !important;
}
.es-burger-line {
  display: block;
  width: 1.5rem;
  height: 2px;
  border-radius: 9999px;
  background-color: var(--espero-ink);
  transition: all 300ms var(--espero-ease-tw);
}
body:is(.es-header-dark, .es-menu-open) .es-burger-line {
  background-color: var(--espero-cream);
}
body.es-menu-open .es-burger-line:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}
body.es-menu-open .es-burger-line:nth-child(2) {
  opacity: 0;
  transform: scaleX(0);
}
body.es-menu-open .es-burger-line:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}

/* --- Celoobrazovkové menu --- */
.es-menu-overlay {
  position: fixed !important;
  inset: 0;
  z-index: 40;
  display: flex !important;
  flex-direction: column;
  overflow: hidden;
  padding: 4rem 0 0 !important; /* pt-16 */
  background: rgb(43 22 8 / 0.95) !important; /* espero-bg/95 */
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition:
    opacity 0.3s ease-out,
    visibility 0s linear 0.3s;
}
.es-menu-overlay.is-open,
.es-menu-overlay:target {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transition: opacity 0.3s ease-out;
}

/* Vodoznak Vasca vpravo nahoře, krémový, přetéká z obrazovky. */
.es-menu-overlay::before {
  content: '';
  position: absolute;
  top: -7rem;
  right: 3%;
  height: 520px;
  background-color: var(--espero-cream);
  opacity: 0.05;
  pointer-events: none;
}
@media (min-width: 768px) {
  .es-menu-overlay::before {
    height: 640px;
  }
}

.es-menu-nav {
  position: relative;
  flex: 1;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.es-menu-nav > .et_pb_column {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  margin: 0 !important;
}
:where(.es-menu-nav .et_pb_module) {
  margin: 0 !important;
}

/* Modul Menu: jen seznam odkazů, bez mobilní varianty Divi. */
.es-menu-list .et_pb_menu__menu,
.es-footer-links .et_pb_menu__menu {
  display: flex !important;
}
.es-menu-list .et_mobile_nav_menu,
.es-footer-links .et_mobile_nav_menu {
  display: none !important;
}
.es-menu-list,
.es-menu-list .et_pb_menu_inner_container,
.es-menu-list .et_pb_menu__wrap,
.es-footer-links,
.es-footer-links .et_pb_menu_inner_container,
.es-footer-links .et_pb_menu__wrap {
  background: none !important;
  padding: 0 !important;
  margin: 0 !important;
  width: auto !important;
}

.es-menu-list ul.et-menu {
  display: flex !important;
  flex-direction: column;
  align-items: center !important; /* Divi z nastavení modulu dává stretch */
  gap: clamp(0.75rem, 2.2vh, 2rem);
  margin: 0 !important;
  padding: 0 !important;
}
/* Blok, ne flex Divi: ve flexu by odkaz zblokoval a `p-2` by mu přidalo výšku. */
.es-menu-list ul.et-menu > li {
  display: block !important;
  text-align: center;
  margin: 0 !important;
  padding: 0 !important;
}
/* Inline jako v2: `p-2` je jen plocha pro klik, výšku řádku nezvětšuje. */
.es-menu-list ul.et-menu > li > a {
  display: inline;
  padding: 0.5rem !important;
  font-family: var(--font-display) !important;
  font-weight: 700;
  font-size: clamp(2.25rem, 6.5vh, 5.5rem) !important;
  line-height: 1.5 !important;
  letter-spacing: normal;
  color: var(--espero-cream) !important;
  opacity: 1 !important;
  transition: color 300ms var(--espero-ease-tw);
}
.es-menu-list ul.et-menu > li > a:hover {
  color: var(--espero-gold) !important;
}

/* Nástup položek: opacity + y 12 px, 0,4 s, zpoždění 0,08 + i·0,06 s. */
@keyframes es-menu-in {
  from {
    opacity: 0;
    transform: translateY(12px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
.es-menu-overlay.is-open .es-menu-list li,
.es-menu-overlay.is-open .es-menu-nav .es-lang-slot {
  animation: es-menu-in 0.4s ease-out both;
  animation-delay: calc(0.08s + var(--i, 0) * 0.06s);
}

/* Ve builderu je menu běžná sekce, ať jde upravovat. */
body.es-tb-edit .es-menu-overlay {
  position: relative !important;
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  min-height: 24rem;
}

/* ==========================================================================
   Věková brána (v2 AgeGate.tsx)
   ========================================================================== */

.es-agegate {
  display: none !important;
}
html.es-gate-locked {
  overflow: hidden;
}
html.es-gate-locked .es-agegate {
  position: fixed !important;
  inset: 0;
  z-index: 60;
  display: flex !important;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 2.5rem 1.25rem !important; /* px-5 py-10 */
  background: rgb(42 26 16 / 0.3) !important; /* ink/30 */
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
}
html.es-gate-locked .es-agegate.is-leaving {
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.5s var(--espero-ease);
}
body.es-tb-edit .es-agegate {
  display: block !important;
  position: relative !important;
  padding: 2.5rem 1.25rem !important;
  background: var(--espero-ink) !important;
}

.es-agegate-row {
  margin: auto !important;
  width: 100% !important;
  max-width: 32rem !important; /* max-w-lg */
  padding: 0 !important;
}
.es-agegate-row > .et_pb_column {
  width: 100% !important;
  margin: 0 !important;
}

/* Karta: ostré hrany, teplý hluboký stín; pozadí = skvrny, znak a zrno. */
.es-agegate-card {
  position: relative;
  overflow: hidden;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 1.25rem !important;
  margin: 0 !important;
  padding: 2.5rem 1.5rem !important; /* px-6 py-10 */
  text-align: center;
  border: 1px solid rgb(42 26 16 / 0.1);
  background-color: var(--espero-sand);
  /* zrno .06 + znak Vasca vpravo nahoře (h 230 / md 260, ink .045) */
  background-image: var(--es-grain-06), url(../img/balboa-mark-ink-045.svg);
  background-repeat: repeat, no-repeat;
  background-size: auto, auto 230px;
  background-position:
    0 0,
    right -4.5rem top -2.5rem;
  box-shadow: 0 30px 70px rgba(42, 26, 16, 0.45);
}
@media (min-width: 640px) {
  .es-agegate-card {
    padding: 3rem 2.5rem !important; /* sm:px-10 sm:py-12 */
  }
}
.es-agegate-card::before,
.es-agegate-card::after {
  content: '';
  position: absolute;
  width: 26rem;
  height: 26rem;
  border-radius: 9999px;
  pointer-events: none;
}
.es-agegate-card::before {
  top: -7rem;
  left: -25%;
  opacity: 0.7;
  background: radial-gradient(circle at center, rgba(248, 234, 197, 0.9), transparent 68%);
}
.es-agegate-card::after {
  bottom: -8rem;
  right: -28%;
  opacity: 0.55;
  background: radial-gradient(circle at center, rgba(234, 176, 131, 0.7), transparent 70%);
}
.es-agegate-card > * {
  position: relative;
  z-index: 1;
}
@media (min-width: 768px) {
  .es-agegate-card {
    background-size: auto, auto 260px;
  }
}

:where(.es-agegate-card .et_pb_module) {
  margin: 0 !important;
  width: auto !important;
}
.es-agegate-ask,
.es-agegate-denied {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 1.25rem !important;
  width: 100% !important;
}
.es-agegate-denied {
  display: none !important;
}
.es-agegate-card.is-denied .es-agegate-ask {
  display: none !important;
}
.es-agegate-card.is-denied .es-agegate-denied {
  display: flex !important;
}
body.es-tb-edit .es-agegate-denied {
  display: flex !important;
  margin-top: 2rem !important;
  padding-top: 2rem !important;
  border-top: 1px dashed rgb(42 26 16 / 0.3);
}

.es-agegate-logo img {
  display: block;
  height: 5rem !important; /* h-20 */
  width: auto !important;
}
@media (min-width: 768px) {
  .es-agegate-logo img {
    height: 6rem !important; /* md:h-24 */
  }
}

.es-agegate-eyebrow p {
  font-size: 12px;
  line-height: 1.5;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--espero-inkmuted);
}

.es-agegate-title :is(h1, h2) {
  margin: 0 !important;
  padding: 0 !important;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: clamp(1.75rem, 5vw, 2.75rem);
  line-height: 1.1;
  text-transform: uppercase;
  color: var(--espero-ink);
}
.es-agegate-title .es-accent {
  color: var(--espero-orange);
}
/* Linka pod otázkou (h-px w-14 orange/60) */
.es-agegate-ask .es-agegate-title::after {
  content: '';
  display: block;
  width: 3.5rem;
  height: 1px;
  margin: 1.25rem auto 0;
  background-color: rgb(204 104 1 / 0.6);
}

.es-agegate-text p {
  max-width: 28rem;
  margin: 0 auto;
  font-size: 15px;
  line-height: 1.625;
  color: var(--espero-inkmuted);
}
@media (min-width: 768px) {
  .es-agegate-text p {
    font-size: 1rem;
  }
}

.es-agegate-actions {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 0.75rem !important;
  width: 100% !important;
  max-width: 24rem;
  margin-top: 0.5rem !important;
}
.es-agegate-actions .et_pb_button_module_wrapper,
.es-agegate-actions .et_pb_button {
  width: 100%;
}
@media (min-width: 640px) {
  .es-agegate-actions {
    flex-direction: row !important;
    width: auto !important;
    max-width: none;
  }
  .es-agegate-actions .et_pb_button_module_wrapper,
  .es-agegate-actions .et_pb_button {
    width: auto;
  }
}

.es-agegate-legal p {
  margin-top: 0.5rem;
  font-size: 12px;
  line-height: 1.5;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--espero-inkmuted);
}
.es-agegate-legal .es-dot {
  color: var(--espero-orange);
}
.es-agegate-legal a {
  position: relative;
  color: inherit;
  text-decoration: underline;
  text-decoration-color: rgb(204 104 1 / 0.5);
  text-underline-offset: 4px;
  transition: color 200ms var(--espero-ease-tw);
}
.es-agegate-legal a::before {
  /* tap-44: poslední řádek brány, sousední cíl není */
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  width: 100%;
  height: 2.75rem;
  transform: translateY(-50%);
}
.es-agegate-legal a:hover {
  color: var(--espero-orange);
}

/* „Zpět na ověření": drobný textový odkaz */
.et_pb_button.es-agegate-back {
  position: relative;
  padding: 0.5rem !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: none !important;
  font-family: var(--font-sans) !important;
  font-size: 12px !important;
  line-height: 1.5 !important;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--espero-inkmuted) !important;
  transition: color 300ms var(--espero-ease-tw);
}
.et_pb_button.es-agegate-back::after {
  display: none !important;
}
.et_pb_button.es-agegate-back::before {
  content: '' !important;
  display: block !important;
  position: absolute;
  left: 0;
  top: 50%;
  width: 100%;
  height: 2.75rem;
  transform: translateY(-50%);
  opacity: 1 !important;
}
.et_pb_button.es-agegate-back:hover {
  color: var(--espero-orange) !important;
}

/* ==========================================================================
   Patička (v2 Footer.tsx)
   ========================================================================== */

.es-footer {
  position: relative;
  overflow: hidden;
  padding: 5rem 0 2.5rem !important; /* pt-20 pb-10 */
}
@media (min-width: 768px) {
  .es-footer {
    padding-top: 6rem !important; /* md:pt-24 */
  }
}
/* Znak Vasca jako otištěná pečeť ve tmě */
.es-footer::before {
  content: '';
  position: absolute;
  right: 4%;
  top: 50%;
  height: 560px;
  transform: translateY(-50%);
  background-color: var(--espero-cream);
  opacity: 0.03;
  pointer-events: none;
}
.es-footer::after {
  content: '';
  position: absolute;
  inset: 0;
  background-image: var(--es-grain-05);
  pointer-events: none;
}

.es-footer > .et_pb_row {
  position: relative;
  z-index: 1;
  width: 100% !important;
  max-width: 72rem !important; /* max-w-6xl */
  margin: 0 auto !important;
  padding: 0 1.5rem !important; /* px-6 */
}
.es-footer > .et_pb_row > .et_pb_column {
  width: 100% !important;
  margin: 0 !important;
}
:where(.es-footer .et_pb_module) {
  margin: 0 !important;
}

/* Fotopruh: 3 sloupce, od md 6; liché položky posunuté dolů jako připíchnuté fotky. */
.es-footer-strip > .et_pb_column {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem !important;
}
@media (min-width: 768px) {
  .es-footer-strip > .et_pb_column {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 1.25rem !important;
  }
  .es-strip-item:nth-child(even) {
    translate: 0 1.25rem;
  }
}
.es-strip-item {
  width: 100% !important;
  overflow: hidden;
  border: 1px solid rgb(196 149 42 / 0.15);
  transition: border-color 500ms var(--espero-ease-tw);
}
.es-strip-item:hover {
  border-color: rgb(196 149 42 / 0.4);
}
.es-strip-item a,
.es-strip-item .et_pb_image_wrap {
  display: block;
}
.es-strip-item img {
  display: block;
  width: 100% !important;
  height: auto;
  transition: transform 700ms var(--espero-ease-tw);
}
@media (prefers-reduced-motion: no-preference) {
  .es-strip-item:hover img {
    transform: scale(1.05);
  }
}

/* Slogan + sítě | odkazy */
.es-footer > .es-footer-main {
  margin-top: 5rem !important; /* mt-20 */
}
@media (min-width: 768px) {
  .es-footer > .es-footer-main {
    margin-top: 6rem !important;
  }
}
.es-footer-main > .et_pb_column {
  display: flex !important;
  flex-direction: column !important;
  gap: 3rem !important;
}
@media (min-width: 768px) {
  .es-footer-main > .et_pb_column {
    flex-direction: row !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
  }
}

.es-footer-brand {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 2rem !important;
  text-align: center;
  width: auto !important;
}
@media (min-width: 768px) {
  .es-footer-brand {
    align-items: flex-start !important;
    text-align: left;
  }
}
.es-footer-slogan,
.es-footer-slogan p {
  text-align: center !important;
}
@media (min-width: 768px) {
  .es-footer-slogan,
  .es-footer-slogan p {
    text-align: left !important;
  }
}
.es-footer-slogan p {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 1.875rem; /* text-3xl */
  line-height: 1.15;
  text-transform: uppercase;
  color: var(--espero-cream);
}
@media (min-width: 768px) {
  .es-footer-slogan p {
    font-size: 2.25rem; /* md:text-4xl */
  }
}

/* Sítě: kroužky 44 px se zlatým rámem, ikony z v2 (linkové). */
.es-social ul,
ul.es-social {
  display: flex !important;
  gap: 1rem;
  margin: 0 !important;
  padding: 0 !important;
}
.es-social li {
  margin: 0 !important;
  padding: 0 !important;
}
.es-social a.icon {
  position: relative;
  display: flex !important;
  align-items: center;
  justify-content: center;
  box-sizing: border-box; /* 44 px včetně rámečku jako v2 (preflight) */
  width: 2.75rem !important;
  height: 2.75rem !important;
  border: 1px solid rgb(196 149 42 / 0.4) !important;
  border-radius: 9999px !important;
  background: none !important;
  color: var(--espero-gold);
  transition:
    color 300ms var(--espero-ease-tw),
    border-color 300ms var(--espero-ease-tw);
}
.es-social a.icon:hover {
  border-color: var(--espero-gold) !important;
  color: var(--espero-cream);
}
.es-social a.icon::before {
  content: '' !important;
  position: static !important;
  display: block;
  width: 1.25rem;
  height: 1.25rem;
  background-color: currentColor;
  -webkit-mask: var(--es-icon) center / contain no-repeat;
  mask: var(--es-icon) center / contain no-repeat;
  font-size: 0 !important;
}
.es-social .et-social-instagram a.icon {
  --es-icon: url(../img/icon-instagram.svg);
}
.es-social .et-social-facebook a.icon {
  --es-icon: url(../img/icon-facebook.svg);
}
.es-social .et_pb_social_media_follow_network_name {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
}

/* Odkazy: na telefonu na střed, od md k pravému okraji. */
.es-footer-navwrap {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 0.5rem !important;
  width: auto !important;
}
@media (min-width: 768px) {
  .es-footer-navwrap {
    align-items: flex-end !important;
  }
}
.es-footer-nav {
  display: flex !important;
  flex-direction: row !important;
  justify-content: center !important;
  gap: 4rem !important; /* gap-16 */
  width: auto !important;
}
@media (min-width: 768px) {
  .es-footer-nav {
    justify-content: flex-end !important;
    gap: 5rem !important; /* md:gap-20 */
  }
}
.es-footer-links ul.et-menu {
  display: flex !important;
  flex-direction: column;
  margin: 0 !important;
  padding: 0 !important;
}
.es-footer-links ul.et-menu > li {
  margin: 0 !important;
  padding: 0 !important;
}
/* `py-3.5` dělá z odkazu dotykový cíl 44 px bez hluchých mezer. */
.es-footer-links ul.et-menu > li > a {
  display: inline-block;
  padding: 0.875rem 0 !important;
  font-family: var(--font-sans) !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: rgb(255 248 239 / 0.8) !important;
  opacity: 1 !important;
  transition: color 300ms var(--espero-ease-tw);
}
.es-footer-links ul.et-menu > li > a:hover {
  color: var(--espero-gold) !important;
}

/* Přepínač jazyka CZ / EN (v2 LanguageSwitch.tsx): poslední položka menu
   a řádek pod odkazy patičky. Obojí na tmavém podkladu, proto zlatá. */
.es-lang,
.es-lang .et_pb_text_inner {
  margin: 0 !important;
  padding: 0 !important;
  width: auto !important;
}
.es-lang .et_pb_text_inner {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  color: rgb(255 248 239 / 0.8);
}
.es-lang .es-lang__item {
  display: inline-block;
  padding: 0.5rem;
  color: rgb(255 248 239 / 0.8);
  text-decoration: none;
  transition: color 300ms var(--espero-ease-tw);
}
.es-lang a.es-lang__item:hover {
  color: var(--espero-gold);
}
.es-lang .es-lang__item[aria-current] {
  color: var(--espero-gold);
}
.es-lang .es-lang__sep {
  color: rgb(196 149 42 / 0.5);
}
/* Mezera položek menu (`gap` v2 navu) + vlastní `mt` přepínače. */
.es-lang--menu {
  margin-top: calc(clamp(0.75rem, 2.2vh, 2rem) + clamp(0.5rem, 2vh, 1.5rem)) !important;
}
.es-lang--menu .et_pb_text_inner {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: clamp(1.5rem, 4vh, 3rem);
  line-height: 1.5;
}
.es-lang--footer .et_pb_text_inner {
  font-family: var(--font-sans);
  font-size: 13px;
  line-height: 1.5;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.es-lang--footer .es-lang__item {
  padding: 0.875rem 0.5rem; /* p-2 py-3.5: dotykový cíl 44 px */
}

/* Právní řádek */
.es-footer > .es-footer-legal {
  margin-top: 4rem !important; /* mt-16 */
}
.es-footer-legal > .et_pb_column {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 0.75rem !important;
  padding-top: 1.5rem !important;
  border-top: 1px solid rgb(196 149 42 / 0.15);
}
@media (min-width: 768px) {
  .es-footer-legal > .et_pb_column {
    flex-direction: row !important;
    justify-content: space-between !important;
  }
}
.es-footer-legal p {
  font-size: 12px;
  line-height: 1.5;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--espero-muted);
}
.es-footer-legal .es-dot {
  color: var(--espero-gold);
}
.es-footer-legal a {
  color: inherit;
  transition: color 300ms var(--espero-ease-tw);
}
.es-footer-legal a:hover {
  color: var(--espero-gold);
}
