/* vlastní styly v blac angels*/
.footer .grid-child {
    width: 100%;
    padding-left: 0;
    padding-right: 0;
}
footer.container-footer, .footer {
    width: 100%;
}
div#mod-175, div#mod-210 {
    background-color: #0a0a0a;
}
body {
  overflow-x: hidden;
}
:root{
  --c-banner-bg: #0a0a0a;
}
.bg-banner{ background-color: var(--c-banner-bg) !important; }
/* Pata – dlouhé e-maily v Kontakt sloupci */
.footer .info a,
.footer .info joomla-hidden-mail {
  overflow-wrap: anywhere;
  word-break: break-word;
}
/* Kontakt – ikona v kroužku */
.knt-icon {
  width: 32px;
  height: 32px;
  background-color: var(--c-primary-20);
}
:root{
  --border-color: color-mix(in srgb, var(--color-text-muted) 40%, transparent);
  --link-color: var(--c-secondary) !important;
  --nahoru-posun: -110px;
  --link-hover-color:var(--color-primary)  ;
  --c-muted-10: rgba(102, 102, 102, 0.10); /* #6666661A */
  --c-surface: #1A1A1A; /* odpovídá #6666661A na černém bg */

}
.bg-surface{ background-color: var(--c-surface) !important; }
.alert-message {
    color: var(--c-primary);
}
a#back-top:hover {
    background: var(--color-primary);
}
.blend-difference{
  mix-blend-mode: difference;
}
.mw920 {max-width:920px; }
.mw680 {max-width:680px; }
.mw700 {max-width:700px; }
.mw600 {max-width:600px; }
.mw450 {max-width:450px; }
.mw400 {max-width:400px; }
.mw360 {max-width:360px; }
.mw250 {max-width:250px; }

.container-header {
    z-index: 10;
    background-color: transparent;
    background-image: none;
    position: relative;
    box-shadow: none;
}
header.header:has(.megamenu:hover) {
  background-color: black;
  z-index: 9;
}
button.bhg-cart-toggle.btn.btn-primary {
    height: 46px;
    background-color: var(--c-secondary-20);
    border-color: var(--c-secondary-20);
}
.grid-child.container-nav {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
    padding-top: 1rem;
}
html[lang="cs-cz"]{
  --typo-h1-lh: clamp(64px, calc(52px + 2.8vw), 86px);
  --typo-h2-lh: clamp(48px, calc(38px + 2.6vw), 76px);
}
.nahoru .container-banner {
    margin-top: var(--nahoru-posun);
}
.nahoru .breadcrumb {
    display: none;
}
.mod-openinghours .badge {
    padding: 14px 24px !important;
    height: 45px;
}
  .share-btn{
    width:32px;
    height:32px;
    border-radius:999px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    text-decoration:none;
    background: var(--c-heritage-400) !important;
    color: var(--on-primary) !important;
  }
  .share-btn:focus-visible{
    outline:2px solid currentColor;
    outline-offset:2px;
  }
.shadow-block, .shadow-panel {
    box-shadow: 0px 0px 20px 0px rgba(147, 53, 47, 0.15) !important;
    transition: transform .28s cubic-bezier(.2,.8,.2,1);
    will-change: transform;
    background-color: transparent;
    border: solid 1px var(--border-color) !important;
    color: var(--c-secondary);
}

.shadow-block:hover{
  transform: translateY(-16px) scale(1.02)!important;
}
/*-------------- megamenu ----------------*/

/* DESKTOP varianta megamenu (only ≥ 992px) */
@media (min-width: 992px) {

  /* Header jako kotva */
  header.header {
    position: relative;
  }

  /* Menu položka s megamenu — static, aby kotvila až header */
  .mod-menu.desktop .megamenu {
    position: static !important;
  }

  /* Megamenu panel — přes celé okno (100vw) i když header není full-width */
  .mod-menu.desktop .megamenu > .dropdown-menu {
    display: block !important;
    position: absolute !important;
    top: calc(100% - 32px) !important;
    left: 50% !important;
    right: auto !important;
    width: 100vw !important;
    min-width: 100vw !important;
    max-width: 100vw !important;
    transform: translateX(-50%) translateY(8px) !important;
    margin: 0 !important;
    padding: var(--space-4, 1.5rem) 0;
    background: var(--c-black);
    border: none;
    border-radius: 0;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5);
    z-index: 1000;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.2s ease, visibility 0.2s ease, transform 0.2s ease;
    pointer-events: none;
  }

  /* Megamenu panel — viditelný stav (hover/focus na rodiči .megamenu) */
  .mod-menu.desktop .megamenu:hover > .dropdown-menu,
  .mod-menu.desktop .megamenu:focus-within > .dropdown-menu {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateX(-50%) translateY(0) !important;
    pointer-events: auto !important;
  }
}

/* Společné styly pro karty (desktop i mobil) */
.megamenu__wrap {
  list-style: none;
}

.megamenu__img img {
  transition: transform 0.3s ease;
}

.megamenu__card:hover .megamenu__img img {
  transform: scale(1.05);
}

.megamenu__card .display-6 {
  transition: color 0.2s ease;
}

.megamenu__card:hover .display-6 {
  color: var(--c-primary);
}
/*modul panel*/
.mod-heritagewall.jedensloupec .mod-heritagewall__text {
    column-count: 1 !important;
}
/*formuláře */
form#bhgCheckoutForm input:not(.form-check-input),
form#bhgCheckoutForm textarea,
form#voucher input:not(.form-check-input),
form#voucher textarea,
form#bhgCheckoutForm input#pickup_date,
form#bhgCheckoutForm select,
form#bhgCheckoutForm select option,
#pickup_time.form-select {
  background-color: transparent !important;
}
/* wrapper – ať má stejnou šířku jako select */
form#bhgCheckoutForm .own-select,
form#bhgAddToCart .own-select{
  position: relative !important;
  display: inline-block;        /* zúží se na obsah */
  /*width: 100%; */                 /* ale v gridu vyplní sloupec stejně jako select */
  overflow: visible !important;
}

/* select – ať vyplní wrapper (a šipka se drží u jeho pravého okraje) */
form#bhgCheckoutForm .own-select > select.form-select,
form#bhgAddToCart .own-select > select.form-select{
  width: 100%;
  background-color: transparent !important;
  background: transparent !important;
  background-image: none !important;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding-right: 2.5rem;
}

/* šipka */
form#bhgCheckoutForm .own-select::after,
form#bhgAddToCart .own-select::after{
  content: "";
  position: absolute;
  right: .9rem;                 /* trochu blíž k selectu */
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  pointer-events: none;

  width: 0;
  height: 0;
  border-left: .35rem solid transparent;
  border-right: .35rem solid transparent;
  border-top: .45rem solid currentColor;
}
.article-translate .own-select {
  position: relative;
  display: inline-block;
}
.article-translate .own-select > select.form-select {
    background-color: transparent !important;
    background-image: none !important;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    padding-right: 2.5rem;
    color: var(--c-secondary);
}
.article-translate .own-select::after {
  content: "";
  position: absolute;
  right: .9rem;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  pointer-events: none;
  width: 0;
  height: 0;
  border-left: .35rem solid transparent;
  border-right: .35rem solid transparent;
  border-top: .45rem solid currentColor;
}
  /*------------ pokladna ------------*/
.modal-header h3.typo-s2 {
    color: var(--text-secondary) !important;
}
.modal-footer .btn-outline-secondary {
    color: var(--color-primary) !important;
    --btn-bg: #6d757e;
    --btn-border-color: #6d757e;
    --btn-hover-color: #fff;
    --btn-hover-bg: #5d646b;
    --btn-hover-border-color: #575e64;
    --btn-focus-shadow-rgb: 131,138,145;
    --btn-active-color: #fff;
    --btn-active-bg: #575e64;
    --btn-active-border-color: #52585e;
    --btn-active-shadow: inset 0 3px 5px #00000020;
    --btn-disabled-color: #fff;
    --btn-disabled-bg: #6d757e;
    --btn-disabled-border-color: #6d757e
}
.modal-header .btn-close {
  background: none;
  font-size: 0;
  width: 32px;
  height: 32px;
  position: relative;
  opacity: 1;
}
.modal-header .btn-close::after {
  content: "\00D7";
  font-size: 24px;
  color: var(--secondary-color);
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
/*--------------video homepage----------*/
/* VIDEO BANNER - see https://codepen.io/woluweb/pen/rNGROZj */
.home .grid-child.container-nav,.nahoru .grid-child.container-nav {
    position: relative;
    top: 10px;
    z-index: 99999;
    align-items: flex-start;
}
.grid-child.container-nav{
    position: relative;
    top: 10px;
}
div.video-banner {
  margin-top:var(--nahoru-posun) ;
  display: grid;
  grid-template-areas: "hero";
  place-items: center;
  height: max(100vh); /* viewport height minus the fixed height of menu header on current website, with a minimum of X pixels */
  /*box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.5);*/
}
div.video-banner > * {
  grid-area: hero; /* stacking all the child elements of the grid - could simply have set 1 / 1 / 2 / 2 instead of naming the area hero */
}
/*div.video-banner div.text {
  z-index: 1;
  text-align: center;
  color: white;
  text-shadow: 2px 2px 5px black;
} */
div.video-banner div.overlay {
  width: 100%;
  height: 100%;
  /*background-image: linear-gradient(120deg, var(--dark), var(--black50));*/
  background-color: #000000;
  opacity: 0.4;
}
div.video-banner video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  overflow: hidden;
}
/*------------sidebar right ------------*/
.menulist .sidebar-right.h-100 .mod-custom.custom {
    height: 100%;
    padding-left:var(--space-3);
}
.menu-sidebar__inner {
  position: sticky;
  top: 2rem;
}
/*----------------- hero sekce -------------------------*/
.hero-section{
  position: relative;
  min-height: 100vh;
  overflow: hidden;
}

/* Pozadí: bere si URL z modulu (z --hero-bg) */
.hero-section .hero-bg{
  position: absolute;
  inset: 0;
  z-index: 0;
  background-image: var(--hero-bg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

/* Overlay votky v modul (centrálně, stejné pro všechny) */
.hero-section .hero-overlay-panel{
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    radial-gradient(
      70% 55% at 18% 78%,
      rgba(0,0,0,.70) 0%,
      rgba(0,0,0,.45) 35%,
      rgba(0,0,0,0)   70%
    ),
    linear-gradient(
      180deg,
      rgba(0,0,0,.75) 0%,
      rgba(0,0,0,.55) 10%,
      rgba(0,0,0,.25) 22%,
      rgba(0,0,0,0)   38%,
      rgba(0,0,0,0)   72%,
      rgba(0,0,0,.35) 85%,
      rgba(0,0,0,.80) 100%
    );
}

.hero-section .hero-content{
  position: relative;
  z-index: 2;
}
/* Overlay fotky v banner (centrálně, stejné pro všechny) */
/* Background image */
.hero-section .hero-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  background: var(--hero-bg) center / cover no-repeat;
}

/* Centrální stín (vignette) */
.hero-section .hero-overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: radial-gradient(
    ellipse 72% 70% at 50% 50%,
    rgba(0, 0, 0, 0) 0%,
    rgba(0, 0, 0, 0.5) 100%
  );
  backdrop-filter: blur(0px);
  -webkit-backdrop-filter: blur(0px);
}

/* Progresivní blur vrstva */
.hero-section .hero-blur {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  -webkit-mask-image: radial-gradient(
    ellipse 72% 70% at 50% 50%,
    rgba(0, 0, 0, 0) 0%,
    rgba(0, 0, 0, 1) 100%
  );
  mask-image: radial-gradient(
    ellipse 72% 70% at 50% 50%,
    rgba(0, 0, 0, 0) 0%,
    rgba(0, 0, 0, 1) 100%
  );
}

/* Noise texture */
.hero-section .hero-overlay::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.5' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size: 128px 128px;
  opacity: 0.2;
  mix-blend-mode: multiply;
}

.hero-section .hero-content {
  position: relative;
  z-index: 2;
}


/*-------------- náš příběh ---------------*/
.hero-card {
  min-height: 560px;
}

@media (min-width: 992px) {
  .hero-card {
    min-height: 850px;
  }
}

.hero-card__gradient {
  bottom: 0;
  height: 50%;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 1) 100%);
}

.hero-card__blur {
  bottom: 0;
  height: 50%;
  backdrop-filter: blur(34px);
  -webkit-backdrop-filter: blur(34px);
  -webkit-mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 1) 100%);
  mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 1) 100%);
}

/*--------------- pravidla -------*/
.rule-card {
  border: var(--border-width) var(--border-style) var(--border-color) !important;
}

.rule-card__icon {
  height: 32px;
  display: flex;
  align-items: start;
  margin-bottom: var(--space-4);
}

.rule-card__title {
  min-height: 3.8em;
  display: flex;
  align-items: flex-start;
}

.rule-card__desc {
  min-height: 3em;
}
/* Map */

.openstreetmap.map-widget .leaflet-tile {
  /*filter:  brightness(82%) contrast(208%) invert(100%) saturate(300%) sepia(95%);*/
  filter:  brightness(82%) contrast(210%) invert(100%) saturate(210%) sepia(78%);
}


.openstreetmap.map-widget .leaflet-marker-icon,  .openstreetmap.map-widget .leaflet-marker-icon img {
  filter: none !important;
}

/* Map menu */

#mapbtn {
margin-top: -50px;
position: relative;
z-index: 1000;
text-align: center;
margin-bottom: 17px;
}

.button-group {
  display: inline-flex;
  border: 1px solid #ccc; /* Optional: border for the group */
  border-radius: 0.25rem;
}

.button-group .btn {
  border-right: 1px solid #ccc;
  border-radius: 0; /* No border-radius for all buttons */
  margin-right: -1px; /* Remove the double border between buttons */
}

.button-group .btn:first-child {
  border-top-left-radius: 0.25rem; /* Bootstrap default */
  border-bottom-left-radius: 0.25rem; /* Bootstrap default */
}

.button-group .btn:last-child {
  border-top-right-radius: 0.25rem; /* Bootstrap default */
  border-bottom-right-radius: 0.25rem; /* Bootstrap default */
  border-right: 1px solid #dedede; /* Ensure border on the last button */
}

/* Optional: Add some hover effects for buttons */
.button-group .btn:hover {
  background-color: #ddd;
}

/* ----------------pata -----------*/
footer.container-footer,.footer {
    background-color: transparent;
    background-image: none;
}
footer.container-footer li.nav-item a, footer.container-footer ul li {
    text-transform: uppercase;
    color: var(--color-text-muted);
}
footer.container-footer .info ul {
    padding-left:1rem;
}
.footer .info li {
    padding-bottom: 8px;
}
/*-----------rezervace--------------*/
.tab-pane .knt svg {
    color: var(--color-primary);
}
div#tab-7vice,div#tab-firemni {
    padding-top: var(--space-6);
    margin-top: var(--space-5);
    border-top: var(--border-width) var(--border-style) var(--border-color) !important;
}
.nav [data-bs-toggle="tab"] {
  border-radius: 4px;
  padding: 8px 16px;
  font-size: var(--typo-btn-fs);
  font-weight: var(--typo-w-ui);
  letter-spacing: var(--typo-letter-spacing);
  text-transform: uppercase;
  transition: background-color .15s ease, border-color .15s ease, color .15s ease;
}

.nav [data-bs-toggle="tab"]:not(.active) {
  background: transparent;
  border: 1px solid var(--c-secondary);
  color: var(--c-secondary);
}

.nav [data-bs-toggle="tab"]:not(.active):hover {
  background: var(--c-secondary);
  color: var(--on-secondary);
}

.nav [data-bs-toggle="tab"].active {
  background: var(--c-secondary);
  border: 1px solid var(--c-secondary);
  color: var(--on-secondary);
}
/*-------------- menu ----------------*/

.logovmenu span {
    display: none;
}
/* aby měl celý řádek menu místo na ikonku pod položkami */
ul.mod-menu.magazin{
  position: relative;
  /*padding-bottom: 16px;  */
}

/* aktivní odkaz jako kotva pro absolutní pozici */
ul.mod-menu.magazin > li.active > a{
  position: relative;
}

/* SVG pod aktivní položkou – neovlivní výšku řádku */
ul.mod-menu.magazin > li.active > a::after{
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: -14px;          /* jak moc pod textem */
  width: 12px;
  height: 12px;

  background: no-repeat center / 12px 12px;
  background-image: url("data:image/svg+xml,%3Csvg%20width='12'%20height='12'%20viewBox='0%200%2012%2012'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M5.65625%200C5.65625%200%206.50528%202.50587%207.65625%203.65685C8.80722%204.80782%2011.3131%205.65685%2011.3131%205.65685C11.3131%205.65685%208.80722%206.50587%207.65625%207.65684C6.50527%208.80782%205.65625%2011.3137%205.65625%2011.3137C5.65625%2011.3137%204.80723%208.80782%203.65625%207.65684C2.50528%206.50587%20-0.000604153%205.65685%20-0.000604153%205.65685C-0.000604153%205.65685%202.50528%204.80782%203.65625%203.65685C4.80722%202.50587%205.65625%200%205.65625%200Z'%20fill='%23F1E5CB'/%3E%3C/svg%3E");
  pointer-events: none;
}


/* když NENÍ .magpod – schovej */
body:not(.magpod) .logovmenu.svetle,
body:not(.magpod) li.nav-item.item-911 {
  display: none !important;
}

/* Když JE .magpod, schovej tyto prvky (zůstává) */
.magpod .logovmenu.tmave,
.magpod li.nav-item.item-914 {
  display: none !important;
}

/* MENU – odtlačí vše za ním doprava, sedí vpravo */
.grid-child.container-nav > ul.mod-menu.desktop{
  margin-left: auto;
  margin-bottom: 0;
  display: flex;
  flex-direction: row;          /* ← přebije Cassiopeia column */
  align-items: center;
  gap: 1.5rem;
  list-style: none;
  padding-left: 0;
}

@media (max-width: 1200px) {
  .grid-child.container-nav .mod-menu {
    gap: 1rem;
  }
}

@media (max-width: 1000px) {
  .grid-child.container-nav .mod-menu {
    gap: 0.9rem;
  }
}

.topbar.topmenu .nav-item.active{
  position: relative;
}

.topbar.topmenu .nav-item.active::after{
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: -20px;
  width: 12px;
  height: 12px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 12px 12px;
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2012%2012%22%20fill%3D%22none%22%3E%3Cpath%20d%3D%22M5.65686%200C5.65686%200%206.50589%202.50587%207.65686%203.65685C8.80783%204.80782%2011.3137%205.65685%2011.3137%205.65685C11.3137%205.65685%208.80783%206.50587%207.65686%207.65684C6.50588%208.80782%205.65686%2011.3137%205.65686%2011.3137C5.65686%2011.3137%204.80784%208.80782%203.65686%207.65684C2.50589%206.50587%206.19888e-06%205.65685%206.19888e-06%205.65685C6.19888e-06%205.65685%202.50589%204.80782%203.65686%203.65685C4.80783%202.50587%205.65686%200%205.65686%200Z%22%20fill%3D%22%23F1E5CB%22/%3E%3C/svg%3E");
}
/*-------------eshop začátek------------*/
.bhg-product-tile a {
    color: var(--c-secondary);
}
/*-------------eshop konec------------*/
/* ── DROPDOWN – čistě CSS, bez JS, HORIZONTÁLNÍ ── */

/* Rodičovský li musí být relativní kotva */
.mod-menu.desktop .dropdown {
  position: relative;
}

/* Šipka dolů u rodičovských položek */
.mod-menu.desktop .dropdown-toggle::after {
  display: inline-block;
  margin-left: 0.3em;
  vertical-align: middle;
  content: "";
  border-top: 0.35em solid currentColor;
  border-right: 0.35em solid transparent;
  border-left: 0.35em solid transparent;
  border-bottom: 0;
  transition: transform 0.25s ease;
}

/* Dropdown menu – absolutně pozicované POD rodičem */
.mod-menu.desktop .dropdown-menu {
  display: block;
  position: absolute;
  top: 100%;
  left: 0;
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  transition: opacity 0.2s ease, visibility 0.2s ease, transform 0.2s ease;
  pointer-events: none;
  margin-top: 0;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 0.5rem;
  box-shadow: 0 4px 16px rgba(0,0,0,.1);
  min-width: 12rem;
  padding: 0.35rem 0;
  list-style: none;
  z-index: 1000;
}

/* Zobrazení při hover a focus-within */
.mod-menu.desktop .dropdown:hover > .dropdown-menu,
.mod-menu.desktop .dropdown:focus-within > .dropdown-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  pointer-events: auto;
}

/* Otočení šipky při otevření */
.mod-menu.desktop .dropdown:hover > .dropdown-toggle::after {
  transform: rotate(180deg);
}

/* Položky uvnitř dropdownu – vertikální seznam */
.mod-menu.desktop .dropdown-menu .dropdown-item {
  display: block;
  padding: 0.45rem 1rem;
  white-space: nowrap;
  transition: background-color 0.15s ease;
  color: inherit;
  text-decoration: none;
}

.mod-menu.desktop .dropdown-menu .dropdown-item:hover {
  background-color: rgba(0,0,0,.05);
}

/* ── MOBILNÍ MENU a responziv ── */

@media (max-width: 991.98px){
/* Megamenu v hamburger panelu */
.bhg-mobile-hamburger{
  --bhg-mobile-menu-w: 380px;
}

/* GLOBÁLNÍ pojistka – žádný potomek panelu nesmí přetéct horizontálně */
.bhg-mobile-hamburger .bhg-mobile-menu-content,
.bhg-mobile-hamburger .bhg-mobile-menu-content * {
    max-width: 100% !important;
    box-sizing: border-box;
}

/* Pojistka proti horizontálnímu scrollu uvnitř panelu */
.bhg-mobile-hamburger .bhg-mobile-menu-content,
.bhg-mobile-hamburger .bhg-mobile-menu-inner,
.bhg-mobile-hamburger .hlavni,
.bhg-mobile-hamburger .megamenu__wrap {
    overflow-x: hidden;
}

/* Dropdown menu – static, bez BS5 chování (přebíjíme i inline styles od Popperu) */
.bhg-mobile-hamburger .dropdown-menu {
    position: static !important;
    inset: auto !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    transform: none !important;
    margin: 0 !important;
    float: none !important;
    display: none !important;
    visibility: visible !important;
    opacity: 1 !important;
    box-shadow: none !important;
    border: none !important;
    background: transparent !important;
    padding: 0 !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    pointer-events: none;
}
.bhg-mobile-hamburger .dropdown.show > .dropdown-menu,
.bhg-mobile-hamburger li.show > .dropdown-menu,
.bhg-mobile-hamburger li.show > ul {
    display: block !important;
    pointer-events: auto;
    margin-top: 0.5rem !important;
    padding-top: 0.5rem !important;
}

/* Container – zrušit max-width aby nepřetékalo */
.bhg-mobile-hamburger .megamenu__wrap .container,
.bhg-mobile-hamburger .megamenu__wrap .container-fluid {
    max-width: 100% !important;
    padding: 0 !important;
    width: 100% !important;
    margin: 0 !important;
}

/* Row – přepnout na sloupce */
.bhg-mobile-hamburger .megamenu__wrap .row {
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    gap: 0 !important;
    margin: 0 !important;
    width: 100% !important;
}
.bhg-mobile-hamburger .megamenu__wrap .row > [class*="col-"] {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    display: flex;
    align-items: flex-start;
    margin-top: 0 !important;
}

/* li.megamenu__wrap */
.bhg-mobile-hamburger li.megamenu__wrap {
    width: 100%;
    padding: 0.5rem 0;
}

/* Karty */
.bhg-mobile-hamburger .megamenu__card {
    padding: 0.5rem 0;
    align-items: self-start;
    width: 100%;
}
.bhg-mobile-hamburger .megamenu__img {
    width: 70px !important;
    height: 70px !important;
    max-width: 70px !important;
    flex-shrink: 0;
}
.bhg-mobile-hamburger .megamenu__img img {
    object-fit: cover;
    width: 100%;
    height: 100%;
}
.bhg-mobile-hamburger .megamenu__text {
    min-width: 0 !important;
    flex: 1 1 0% !important;
    word-wrap: break-word;
    overflow-wrap: break-word;
}
.hlavni .megamenu__text span.typo-body {
    font-size: 14px !important;
}
.hlavni .megamenu__text p.small {
    font-size: 12px !important;
}

  a#back-top {
    display:none;
  }
    div#mod-custom137 {
        position: unset;
    }
  .bhg-mobile-menu-close {
    position: absolute;
    right: 15px;
    top: 15px;
  }

  .bhg-mobile-menu-close:hover{
    background: rgba(0,0,0,0.25);
  }

  .bhg-mobile-hamburger .mod-menu li a,
  .bhg-mobile-hamburger .mod-menu li span {
    color: var(--c-secondary) !important;
  }

  .logo-mobil {
    position: fixed;
    left: 10px;
    z-index: 99998;
  }

  .magpod .logo-mobil {
    color:var(--c-canvas);
  }

  input#bhg-mobile-menu-toggle {
    display: none;
  }

  .container-topbar1.d-flex.container {
    background-color: transparent !important;
  }

  .topbar .mod-languages {
    position: fixed;
    top: 15px;
    right: 60px;
  }

 header div:not(.hlavni) > ul.mod-menu.desktop {
  display: none !important;
}

  .menu.rezervace {
    display: none;
  }

  .bhg-mobile-hamburger {
    display: block !important;
    position: fixed;
    right: 10px;
    top: 10px;
    z-index: 99999;
  }

  label.bhg-mobile-menu-btn,
  label.bhg-mobile-menu-close{
    width: 44px;
    height: 44px;
    padding: 0;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 25px;
    color: var(--c-heritage-400) !important;
    background-color: var(--c-canvas);
    line-height: 1;
  }

  .bhg-mobile-hamburger li.nav-item.item-911,
  .bhg-mobile-hamburger li.nav-item.item-914 {
    display: none !important;
  }

  .horni ul.mod-menu.mod-list.nav {
    padding-top: 25px;
    margin-top: 5px;
    border-top: solid 1px color-mix(in srgb, var(--c-canvas) 20%, transparent);
  }

  .bhg-mobile-hamburger .horni li.nav-item a,
  .bhg-mobile-hamburger .horni li.nav-item span {
    text-transform: none;
    font-size: 14px;
  }

  .bhg-mobile-menu-divider {
    margin: 0.75rem 0;
    border: 0;
    border-top: 1px solid #999;
  }

  .mod-bhgshop-cart--offcanvas.is-open .bhg-cart-panel {
    top: 50px !important;
  }

}
@media (max-width: 767.98px){
  div#mod-134:not(.bhg-mobile-hamburger div#mod-134) {
    display: none;
  }
}
@media (max-width: 575.98px){
  div#mod-134:not(.bhg-mobile-hamburger div#mod-134) {
    display: none;
  }
}
/* mod-134 v hamburgeru – vždy viditelný */
.bhg-mobile-hamburger div#mod-134 {
  display: block !important;
}

  /* --- slideout panel zprava, šířka 380 px --- */
.bhg-mobile-hamburger .bhg-mobile-menu-content {
  position: fixed;
  top: 0;
  right: calc(-1 * var(--bhg-mobile-menu-w));
  width: var(--bhg-mobile-menu-w);
  max-width: 100%;
  height: 100vh;                       /* celá výška, kvůli flex layoutu */
  padding: 1.5rem 1.25rem 2rem;
  background: #fff;
  box-shadow: -0.25rem 0 .75rem rgba(0,0,0,.25);
  z-index: 99990;
  transition: right .25s ease-in-out;
  overflow-x: hidden;                  /* horizontální scroll pryč */
  overflow-y: hidden;                  /* scrolluje vnitřní inner, ne celý panel */
}

  /* po kliknutí na hamburger (checkbox checked) panel vyjede */
  .bhg-mobile-hamburger .bhg-mobile-menu-checkbox:checked
  ~ .bhg-mobile-menu-content {
    display: flex;
    right: 0;
  }
    .quote-item {
    position: relative;
  }

  .quote-item::before{
    content:"";
    position:absolute;
    left: 1.5rem;
    top: 1.5rem;
    width: 1px;
    height: 2.25rem;
    background: rgba(255,255,255,.12);
  }

  @media (min-width: 992px){
    .quote-item::before{
      left: 3rem;
      top: 2rem;
    }
  }
  /* Skrytí scrollbaru v mobilním hamburger panelu – scroll funguje, posuvník je neviditelný */
.bhg-mobile-hamburger .bhg-mobile-menu-inner{
  scrollbar-width: none;        /* Firefox */
  -ms-overflow-style: none;     /* IE/staré Edge */
}
.bhg-mobile-hamburger .bhg-mobile-menu-inner::-webkit-scrollbar{
  width: 0;
  height: 0;
  display: none;                /* Safari/Chrome/iOS */
}
/*----------------- hero barman (Black Angel's Bar) ------------*/
.hero-section.hero-barman{
  background-color: #000;
  min-height: auto; /* přepíše .hero-section min-height: 100vh */
}

/* Vypneme pozadí/overlay/blur, pokud by tam zůstaly z .hero-section */
.hero-section.hero-barman .hero-bg,
.hero-section.hero-barman .hero-overlay,
.hero-section.hero-barman .hero-blur{
  display: none;
}

/* Řádek – výška se odvíjí od viewportu mínus mt-3 a header,
   aby se celý hero (vč. tlačítka) vešel do okna */
.hero-barman__row{
  /*min-height: calc(100vh - 6rem);*/
}

/* Levý sloupec: obsah zarovnaný k hornímu okraji,
   tlačítko následuje hned za perexem (ne dole) */
.hero-section.hero-barman .hero-barman__head{
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

/* Pravý sloupec – ilustrace barmana, vyšší a větší */
.hero-barman__art{
  height: 100%;
  display: flex;
  align-items: flex-start;       /* přitáhne barmana NAHORU */
  justify-content: flex-end;
  position: relative;
}

.hero-barman__img{
  width: 115%;                   /* zvětšení ilustrace */
  max-width: none;
  height: auto;
  margin-right: -8%;             /* trochu přesahuje přes okraj sloupce vpravo */
  margin-top: -2rem;             /* posune barmana ještě výš */
  filter: drop-shadow(0 0 24px rgba(0,0,0,.6));
}

/* Podpis – pravý dolní roh ilustrace */
.hero-barman__sign{
  right: 0;
  bottom: 0%;
  width: clamp(120px, 18%, 220px);
  height: auto;
  pointer-events: none;
}

/* Tablet a menší: srovnáme proporce */
@media (max-width: 991.98px){
  .hero-barman__row{
    min-height: auto;
    flex-direction: column-reverse;

  }
  .hero-barman__img{
    width: 90%;
    margin-right: 0;
    margin-top: 0;
    margin-bottom: var(--space-6) !important;
  }
  .hero-barman__sign{
    width: clamp(90px, 28%, 140px);
    bottom: 4%;
  }
}
.nav [data-bs-toggle="tab"],
.nav .nav-link-styled {
  display: inline-block;
  box-sizing: border-box;
  border-radius: 4px;
  padding: 8px 16px;
  font-size: var(--typo-btn-fs);
  line-height: var(--typo-btn-lh);
  font-weight: var(--typo-w-ui);
  letter-spacing: var(--typo-letter-spacing);
  text-transform: uppercase;
  transition: background-color .15s ease, border-color .15s ease, color .15s ease;
}

.nav [data-bs-toggle="tab"]:not(.active),
.nav .nav-link-styled {
  background: transparent;
  border: 1px solid var(--c-secondary);
  color: var(--c-secondary);
  text-decoration: none;
}

.nav [data-bs-toggle="tab"]:not(.active):hover,
.nav .nav-link-styled:hover,
.nav .nav-link-styled:focus {
  background: var(--c-secondary);
  color: var(--on-secondary);
}

.nav [data-bs-toggle="tab"].active {
  background: var(--c-secondary);
  border: 1px solid var(--c-secondary);
  color: var(--on-secondary);
}
/* ==========================================================
   com_bhglist – jídelní lístek (layout default.php)
   + translate bar – replikace Deer stylu v BA paletě
   Přidat na konec user.css
   ========================================================== */

/* ==========================================================
   Translate bar – stejné rozměry a tvar jako Deer:
     border-radius: 8px (mírně zaoblený obdélník, ne pill)
     font-size: 18px
     border v plné barvě --c-secondary (jako Deer --c-merlot-400)
     spodní border pod celým barem
   ========================================================== */

/* Spodní oddělovací border pod celým barem (1:1 z Deer) */
div#bhgfg-root .bhgfg-translate,
.bhglist-container .bhgfg-translate {
    border-bottom: var(--border-width) var(--border-style) var(--border-color) !important;
    padding-bottom: var(--space-5);
}

/* Language select – 18px font, 8px border-radius */
select#bhgfgLangSelect {
    font-size: 18px;
}

select#bhgfgLangSelect,
button#bhgfgRestoreBtn {
    border-radius: 8px;
}

/* Plný rámeček (border shorthand – přepíše width, style i color najednou) */
.bhgfg-translate .bhgfg-lang-pill > select.form-select {
    border: 1px solid var(--c-secondary) !important;
    color: var(--c-secondary);
}
.bhgfg-translate .bhgfg-lang-pill > select.form-select:hover {
    border: 1px solid var(--c-secondary) !important;
    background-color: color-mix(in srgb, var(--c-secondary) 8%, transparent) !important;
}
.bhgfg-translate .bhgfg-lang-pill > select.form-select:focus,
.bhgfg-translate .bhgfg-lang-pill > select.form-select:focus-visible {
    border: 1px solid var(--c-primary) !important;
    box-shadow: var(--focus-ring) !important;
}

/* Dropdown options – tmavé pozadí, světlý text */
.bhgfg-translate .bhgfg-lang-pill > select.form-select option {
    background-color: var(--c-black);
    color: var(--c-secondary);
}

/* Šipka – BA secondary v plné barvě */
.bhgfg-translate .bhgfg-lang-pill::after {
    border-top-color: var(--c-secondary) !important;
}

/* Original button – stejný rámeček shorthand */
.bhgfg-translate #bhgfgRestoreBtn {
    background: transparent;
    border: 1px solid var(--c-secondary) !important;
    color: var(--c-secondary);
    font-size: 18px;
}
.bhgfg-translate #bhgfgRestoreBtn:hover,
.bhgfg-translate #bhgfgRestoreBtn:focus,
.bhgfg-translate #bhgfgRestoreBtn:focus-visible {
    background: color-mix(in srgb, var(--c-secondary) 12%, transparent);
    border: 1px solid var(--c-secondary) !important;
    color: var(--c-secondary);
    outline: none;
    box-shadow: none;
}

/* Spinner – BA primary */
.bhgfg-translate #bhgfgSpinner {
    color: var(--c-primary) !important;
}

/* ==========================================================
   Jídelní lístek (default.php)
   ========================================================== */

#bhgfg-root section {
    scroll-margin-top: 100px;
}

/* Popis položky pod nadpis (HTML ho má jako inline <span class="ms-1">) */
#bhgfg-root [data-bhgfg-translate="desc"] {
    display: block;
    margin-left: 0 !important;
    margin-top: .5rem;
}

/* Alergeny pod popis */
#bhgfg-root .me-2 > span.small.text-muted {
    display: block;
    margin-left: 0 !important;
    margin-top: .25rem;
    letter-spacing: var(--typo-letter-spacing);
}

/* Oddělovač mezi položkami */
#bhgfg-root .row > .col {
    padding-bottom: 1rem;
    margin-bottom: 1rem;
    border-bottom: 1px solid color-mix(in srgb, var(--c-secondary) 12%, transparent);
}
#bhgfg-root .row > .col:has([data-bhgfg-translate="desc"].border-bottom) {
    border-bottom: 0;
    padding-bottom: 0;
}

/* Cena */
#bhgfg-root .text-nowrap.ps-3 {
    color: var(--c-secondary);
    font-family: var(--ff-head);
}

/* Nadpis kategorie + popis kategorie */
#bhgfg-root [data-bhgfg-translate="cat"] {
    color: var(--c-secondary);
    text-transform: uppercase;
    letter-spacing: var(--typo-letter-spacing);
}
#bhgfg-root [data-bhgfg-translate="cat-desc"] {
    color: var(--color-text-muted);
}

/* Nadpis položky */
#bhgfg-root [data-bhgfg-translate="item"] {
    color: var(--c-secondary);
    font-family: var(--ff-head);
}

/* Inline odkazy v popisu položky a popisu kategorie:
   - červený default, bílý hover
   - :not(.btn) — Bootstrap buttony (a.btn, a.btn-secondary, …) zůstávají nedotčené */
#bhgfg-root [data-bhgfg-translate="desc"] a:not(.btn),
#bhgfg-root [data-bhgfg-translate="cat-desc"] a:not(.btn) {
    color: var(--c-primary) !important;
    text-decoration: underline;
    text-underline-offset: .2em;
    transition: color .15s ease;
}
#bhgfg-root [data-bhgfg-translate="desc"] a:not(.btn):hover,
#bhgfg-root [data-bhgfg-translate="desc"] a:not(.btn):focus,
#bhgfg-root [data-bhgfg-translate="desc"] a:not(.btn):focus-visible,
#bhgfg-root [data-bhgfg-translate="cat-desc"] a:not(.btn):hover,
#bhgfg-root [data-bhgfg-translate="cat-desc"] a:not(.btn):focus,
#bhgfg-root [data-bhgfg-translate="cat-desc"] a:not(.btn):focus-visible {
    color: var(--c-secondary) !important;
    text-decoration: underline;
    outline: none;
}

/* Plynulý scroll při kliknutí na kotvu */
html { scroll-behavior: smooth; }

@media (max-width: 575.98px) {
    #bhgfg-root .d-flex.justify-content-between { gap: .75rem; }
    #bhgfg-root .text-nowrap.ps-3 { padding-left: .5rem !important; }
}
/* Kontaktní karta – fotka + info blok */
.knt-photo {
  width: 160px;
  height: 160px;
}

/* Kontakt – ikona v kolečku */
.knt-icon {
  width: 32px;
  height: 32px;
  background-color: var(--c-primary-20);
}

/* Pod 460px: celý info blok pod fotku */
@media (max-width: 460px) {
  .knt-wrap {
    flex-direction: column;
    align-items: flex-start !important;
  }
}
/* ============================================================
   MOBIL — fixní header (Black Angel's)
   - hlavička fixní nahoře, černé pozadí
   - skryto: otvírací doba (#mod-134) + REZERVACE (#mod-custom137)
   - pořadí: logo | EN | hamburger
   - hamburger s šedým kruhovým pozadím
   ============================================================ */
@media (max-width: 991.98px){
   .nahoru .container-banner {
        margin-top: 0;
    }
  /* Fixní header pruh — přebíjíme různé varianty selektorů z Cassiopeia */
  header.header,
  header.header.container-header1,
  .container-header1,
  .container-header.full-width,
  header.container-header1.full-width{
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100vw !important;
    max-width: 100vw !important;
    box-sizing: border-box !important;
    z-index: 9999 !important;
    background-color: #000 !important;
    padding: 0 !important;
    margin: 0 !important;
    min-height: 85px !important;
    overflow-y: hidden;          /* pojistka proti přesahu vnitřního obsahu */
  }

  /* Kompenzace výšky headeru — spacer na první child .site-grid hned za headerem.
     Použijeme univerzální selektor "vše, co následuje za headerem". */
  header.header ~ *:not(script):not(style){
    /* nic — kompenzaci uděláme jinak, viz níže */
  }

  /* Kompenzace přes site-grid: header je grid item, takže místo ve flow musí zaplnit
     spacer. Použijeme padding-top na main grid kontejner, který je rodičem všeho. */
  .site-grid{
    padding-top: 64px;
  }

  /* Výjimka: home a "nahoru" stránky (video banner přes celý viewport) — bez spaceru */
  body.home .site-grid,
  body.nahoru .site-grid{
    /*padding-top: 0;*/
  }

  /* Reset specifických pravidel z home/nahoru, která posouvala container-nav */
  .home .grid-child.container-nav,
  .nahoru .grid-child.container-nav{
    position: static !important;
    top: 0 !important;
  }

  /* .container-nav — flex řádek */
  .grid-child.container-nav,
  .home .grid-child.container-nav,
  .nahoru .grid-child.container-nav{
    display: flex !important;
    flex-direction: row;
    align-items: center !important;
    justify-content: flex-start;
    gap: 0.5rem;
    padding: 0 1rem !important;
    min-height: 85px;
    width: 100%;
    box-sizing: border-box;
  }

  /* Logo BLACK ANGEL'S — vlevo */
  #mod-custom131{
    order: 0;
    margin: 0 auto 0 0;          /* tlačí ostatní vpravo */
    display: flex;
    align-items: center;
    line-height: 0;
    flex-shrink: 0;
  }
  #mod-custom131 a{
    display: inline-flex;
    align-items: center;
  }
  #mod-custom131 img{
    width: auto;
    height: 64px;
    max-width: 100px;
    object-fit: contain;
    display: block;
  }

  /* Skrýt otvírací dobu v headeru na mobilu */
  .container-nav #mod-134{
    display: none !important;
  }
  .bhg-mobile-hamburger div#mod-134 {
    display: block !important;
  }

  /* Skrýt REZERVACE tlačítko v hlavičce na mobilu */
  .grid-child.container-nav #mod-custom137{
    display: none !important;
  }

  /* Přepínač jazyka — vlevo od hamburgeru */
  .grid-child.container-nav .mod-languages{
    order: 1;
    position: static !important;
    top: auto !important;
    right: auto !important;
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center;
    flex-shrink: 0;
  }
  .grid-child.container-nav .mod-languages .mod-languages__list{
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center;
  }
  .grid-child.container-nav .mod-languages a{
    color: var(--c-secondary);
    text-decoration: none;
    font-size: 14px;
    padding: 0 0.5rem;
    line-height: 44px;
    display: inline-flex;
    align-items: center;
  }

  /* Hamburger — vpravo (přebije starší position:fixed) */
  .bhg-mobile-hamburger{
    order: 2;
    position: static !important;
    right: auto !important;
    top: auto !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center;
    flex-shrink: 0;
  }

  /* Hamburger tlačítko — šedý kruh, světlá ikona */
  label.bhg-mobile-menu-btn{
    background-color: var(--c-secondary-20) !important;
    color: var(--c-secondary) !important;
  }

  /* Schovat duplicitní fixed logo-mobil */
  .logo-mobil{
    display: none !important;
  }
}
@media (max-width: 991.98px){
  html, body {
    overflow-x: hidden !important;
  }
}
@supports (-webkit-touch-callout: none){
  @media (max-width: 991.98px){
    /* iOS clip-fix: header má overflow-y:hidden, který ořezává fixed panel uvnitř.
       Když je menu otevřené, povolíme overflow na headeru, aby panel mohl přesáhnout. */
    header.header:has(.bhg-mobile-menu-checkbox:checked),
    header.container-header1:has(.bhg-mobile-menu-checkbox:checked){
      overflow: visible !important;
    }
    /* Panel sám – vyšší z-index nad header (9999) a dynamický viewport pro iOS lištu */
    .bhg-mobile-hamburger .bhg-mobile-menu-content{
      z-index: 100001 !important;
    }
    .bhg-mobile-hamburger .bhg-mobile-menu-checkbox:checked
    ~ .bhg-mobile-menu-content{
      height: 100dvh;
    }
  }
}
/*-------------- pagenavigation (prev/next články) ----------*/
.pagenavigation {
  margin-top: var(--space-5, 2rem);
}

.pagenavigation .pagination {
  display: flex;
  flex-wrap: wrap;          /* když se nevejde, zalomí buttony na další řádek */
  justify-content: space-between;
  align-items: stretch;
  gap: 0.75rem;
  padding: 0;
  margin: 0;
  list-style: none;
}

/* prev vlevo, next vpravo i po zalomení */
.pagenavigation .pagination .previous {
  margin-right: auto;
}
.pagenavigation .pagination .next {
  margin-left: auto;
}

/* samotné buttony – text nezalamovat */
.pagenavigation .pagination .btn {
  white-space: nowrap;
  max-width: 100%;
}

/* pokud by byl text opravdu dlouhý, ořízne ho elipsou místo zalomení */
.pagenavigation .pagination .btn > :not(.icon-chevron-left):not(.icon-chevron-right) {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
}