/* ============================================================
   user.css – Restaurant Zlatý Strom (převzato z Terasy U Prince 5. 11. 2026, jen pro tento web)
   Sekce stránek, landing pages, id modulů a položek menu.
   Společné prvky jsou v šabloně (bhgr.css), tokeny v typography.css.
   ============================================================ */

/* --- BANNER S KARTOU (.bhg-hero/.bhg-card): mod_bhgbanner, mod_bhgshop_categories, vlastní HTML banery ---
   Jen Terasa (e-shop). Dřív ve sdíleném bhgr.css; třída .bhg-hero nekoliduje s mod_bhg_hero (.bhg-hero-section). */
.bhg-hero {
  border-radius: 16px;
  min-height: 400px;
  background: #000;
  position: relative;
  overflow: visible;
}
.bhg-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(90deg, rgba(0,0,0,.12) 0%, rgba(0,0,0,0) 60%);
  pointer-events: none;
  z-index: 0;
}
.bhg-card {
  position: relative;
  z-index: 1;
  background: var(--c-surface, #f6f1ea);
  border-radius: 8px;
  box-shadow: 0px 0px 20px 0px rgba(147, 53, 47, 0.15);
}
.bhg-card--lift { transform: translateY(-40px); }

@media (max-width: 991.98px) {
  .bhg-hero { padding: 18px 0; }
  .bhg-card { margin: 14px; max-width: 100%; }
  .bhg-card--lift { transform: none; }}

@media (max-width: 767.98px) {
  .bhg-hero {
    padding: 0;
    min-height: auto;
    background: transparent;
    overflow: visible;
    border-radius: 18px;
  }
  .bhg-hero::after { content: none; }
  .bhg-card {
    max-width: none;
    border-radius: 18px;
    transform: translateY(-12vw);
  }
  .bhg-hero .container {
    padding: 0;
    margin-bottom: -50px;
  }}

@media (max-width: 575.98px) {
  .bhg-hero { border-radius: 18px; }
  .bhg-card { border-radius: 18px; padding: 20px; }}


/*user css TRS – Terasa u Prince (BHG design system)*/
select#bhgfgLangSelect {
    font-size: 18px;
}
.napoje .mb-4.d-flex.flex-wrap.gap-2 {
    margin-bottom: var(--space-5) !important;
}
.napoje .bhglist-container span.ms-1.mb-2.typo-b1.mw400.pb-3.border-bottom {
    border-bottom: 0!important;
    margin-left: 0 !important;
}
select#bhgfgLangSelect, button#bhgfgRestoreBtn {
    border-radius: 8px;
}
div#mod-bhg-share-148 {
    margin-top: var(--space-4);
}

/* ============================================================
   DESKTOP MENU – Konec
   ============================================================ */

/* --- Rezervace – tlačítko v headeru (custom modul) --- */
.menu-rezervace {
  position: absolute;
  right: 0;
  top: 16px;
  z-index: 20;
}
/* Mobil – skrýt menu i tlačítko */
@media (max-width: 991.98px) {
  .menu-rezervace,
  ul.mod-menu.klasic.desktop.magazin {
    display: none !important;
  }
    
}

/* Na hero stránkách – canvas varianta */
body.ishero .menu-rezervace {
  background-color: var(--c-canvas) !important;
  border-color: var(--c-canvas) !important;
  color: var(--c-heritage-400) !important;
}
body.ishero .menu-rezervace:hover {
  background-color: #E8DBBF !important;
  border-color: #E8DBBF !important;
  color: var(--c-heritage-400) !important;
}
.bg-forest-08  { background-color: var(--bg-heritage-08) !important; }

.mw752 { max-width: 752px; }
.mw420 { max-width: 420px; }
.border-pata {
    border-color: color-mix(in srgb, var(--c-canvas) 20%, transparent) !important;
}

/* ============================================================
   TRUST-ICON – rozměr 56×56
   Přesunuto z modulů #132, #140, #150
   ============================================================ */
.trust-icon {
  width: 56px;
  height: 56px;
}
.trust-icon svg { display: block; }

/* ============================================================
   HERITAGE SPLIT
   Přesunuto z modulů #142, #180, #229, #230, #328, #330
   ============================================================ */
.forest-split__media,
.forest-split__card {
  border-radius: 18px;
  overflow: hidden;
}
.forest-split__img {
  object-fit: cover;
  min-height: clamp(360px, 36vw, 680px);
}
.forest-split__card {
  background: var(--c-heritage-400);
  padding: clamp(28px, calc(24px + 0.6vw), 32px);
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

@media (max-width: 991.98px) {
  .forest-split { position: relative; }
  .forest-split__row { margin-bottom: -60px; }
  .forest-split__card {
    margin-top: -40px;
    margin-bottom: 40px;
    position: relative;
    z-index: 2;
  }
    .forest-split__row > .col-12 {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}

/* --- PODNIKY BHG – logo pás --- */
.bhg-logos__img {
  width: auto;
  height: 125px;
  max-height: 125px;
  transition: opacity .2s ease;
}
.bhg-logos__link:hover .bhg-logos__img {
  opacity: .65;
}

@media (max-width: 991.98px) {
  .bhg-logos__img {
    height: 90px;
    max-height: 90px;
  }
}

@media (max-width: 575.98px) {
  .bhg-logos__img {
    height: 88px;
    max-height: 80px;
  }
}

.napoje .bhglist-container section .col > .d-flex {
    max-width: 780px;
    border-bottom: var(--border-width) var(--border-style) var(--border-color) !important;
    padding-bottom: var(--space-4);
}
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);
}
@media (max-width: 991.98px) {
  .faq.container-fluid.pt-5.border-top.border-2 {
    border: none !important;
    padding-top: 0 !important;
  }
}

.bhg-hero__bg {
  position: absolute;
  inset: 0;
  background: url("/images/zastupne/rezervace.webp") center/cover no-repeat;
  border-radius: inherit;
  overflow: hidden;
  z-index: 0;
}
@media (max-width: 767.98px) {
  .bhg-hero__bg {
    position: relative;
    inset: auto;
    height: 60vw;
    min-height: 240px;
    max-height: 380px;
    border-radius: inherit;
    overflow: hidden;
    z-index: 0;
    background: url("/images/zastupne/rezervace.webp") center/cover no-repeat;
  }
  .bhg-hero__bg::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(180deg, rgba(0,0,0,.10) 0%, rgba(0,0,0,0) 55%);
    pointer-events: none;
  }
}

/* Tlačítko nahoru – hover + všechny interakční stavy stejně */
a#back-top:hover,
a#back-top:focus,
a#back-top:focus-visible,
a#back-top:active,
a#back-top:visited {
  color: var(--c-canvas);
  background-color: var(--c-heritage-400);
  border-color: var(--c-heritage-400);
  outline: none;
  box-shadow: none;
}
/* Error stránka – tlačítko REZERVACE má canvas pozadí, takže text musí být forest */
html body.site.error_site header .menu-rezervace,
html body.site.error_site header .menu-rezervace * {
    color: var(--c-heritage-400) !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;
}

div#mod-custom156, div#mod-custom186 { display: flex; }

@media (max-width: 991.98px) {
  
  div#mod-custom195 section { padding-top: 0 !important; padding-bottom: 0 !important; }
  div#mod-custom195 section .faq { padding-top: 10px !important; }
}

div#mod-custom123, div#mod-custom208 { width: fit-content; }
 .grid-child.container-nav #mod-custom124 p, .grid-child.container-nav #mod-custom185 p { margin: 0; }

/* menu mobilní */
@media (max-width: 991.98px) {
  a#back-top { display: none; }
  
  input#bhg-mobile-menu-toggle { display: none; }
}

@media (max-width: 991px) {
  #mod-custom124 img, #mod-custom185 img { max-width: 120px; height: auto; }
}

.deer-hero__bg{
  position: absolute;
  inset: 0;
  /* LCP prvek. Landscape zdroj se na telefonu orizne na ~33 % sirky,
     proto ma mobil vlastni portretovy vyrez (mensi soubor, ostrejsi obraz). */
  background: url("/images/zastupne/hero-mobil.webp") center/cover no-repeat;
  z-index: 0;
}
@media (min-width: 768px){
  .deer-hero__bg{
    background-image: url("/images/zastupne/hero.webp");
  }
}

.deer-hero__bg.onas{
background: url("/images/zastupne/hero-onas.webp") center/cover no-repeat !important;
}
.deer-hero__bg.lpdj{
background: url("/images/zastupne/hero.webp") center/cover no-repeat !important;
}

/* Poloprůhledný tmavý overlay přes celou fotku */
.deer-hero__bg::after{
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(26, 11, 13, 0.5);
  pointer-events: none;
}
/* Horní overlay: gradient shora dolů + blur shora (20px) → dole (0px) */
.deer-hero__overlay-top{
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 220px;
  background: linear-gradient(180deg, rgba(26,11,13,0.7) 0%, rgba(26,11,13,0) 100%);
  -webkit-mask-image: linear-gradient(180deg, #000 0%, transparent 100%);
          mask-image: linear-gradient(180deg, #000 0%, transparent 100%);
  -webkit-backdrop-filter: blur(20px);
          backdrop-filter: blur(20px);
  z-index: 1;
  pointer-events: none;
}
/* Spodní overlay: gradient zdola nahoru + blur zdola (20px) → nahoře (0px) */
.deer-hero__overlay-bottom{
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 65%;
  background: linear-gradient(0deg, rgba(26,11,13,1) 0%, rgba(26,11,13,0) 100%);
  -webkit-mask-image: linear-gradient(0deg, #000 0%, transparent 100%);
          mask-image: linear-gradient(0deg, #000 0%, transparent 100%);
  -webkit-backdrop-filter: blur(20px);
          backdrop-filter: blur(20px);
  z-index: 1;
  pointer-events: none;
}
.deer-hero__arc{
  --arc-top: transparent;
  --arc-bottom: var(--c-surface);
  position: absolute;
  bottom: 0; left: 0; right: 0;
  z-index: 4;
  line-height: 0;
    --stroke: 0px;
  /* sagitta: 60px na 360px → 150px na 1200px */
  --sagitta: clamp(60px, calc(21.428571429px + 10.714285714vw), 150px);
}
.deer-hero__arc .arc{
  width: 100%;
  display: block;
  /* CLS fix: vyska rezervovana v CSS; drawArc() pak nastavi shodnou
     hodnotu (sagitta), takze layout uz neposkoci. */
  height: var(--sagitta);
}
/* Pozadí jen mimo .btn-outline (dřív ho u tlačítek přebíjel .btn-outline z typography.css). */
.deer-hero__contact-item:not(.btn-outline){
  background: var(--c-surface);
}
.deer-hero__contact-item{
  white-space: nowrap;
  -webkit-backdrop-filter: blur(8px);
          backdrop-filter: blur(8px);
  box-shadow: 0 2px 12px rgba(0,0,0,.12) !important;
  transition: background-color .15s ease !important;
}
a.deer-hero__contact-item:hover{
  background: var(--c-grain-100);
  color: var(--c-heritage-400) !important;
}
.deer-hero__contact-item svg{
  flex-shrink: 0;
}

.bg-forest-08         { background-color: var(--bg-heritage-08) !important; }

@keyframes trs-ticker-scroll {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}
html body.site.error_site.error-custom header .menu-rezervace,
html body.site.error_site.error-custom header .menu-rezervace * {
  color: var(--c-canvas, #efe4cc) !important;
}
/* ==================== KONEC: CENY SE NEZALAMUJÍ ==================== */
