/*
 * Restaurace U Krbu — stable presentation layer
 * Loaded after the inherited Prague Healthcare stylesheet and header rules.
 * Keep production-facing layout fixes here instead of appending another
 * numbered hotfix to style.css.
 */

:root {
  --rk-green: #0d2928;
  --rk-black: #050605;
  --rk-gold: #d3a453;
  --rk-header-edge: 18px;
  --rk-desktop-axis: clamp(310px, 16.67vw, 320px);
}

html,
body.phc-full {
  overflow-x: clip !important;
}

/* Desktop header: one top bar, one navigation, one shared left axis. */
@media (min-width: 1051px) {
  body.phc-full .rk-topbar {
    min-height: 62px !important;
    background: var(--rk-green) !important;
    overflow: visible !important;
  }

  body.phc-full .rk-topbar__inner,
  body.phc-full .nav .nav__inner,
  body.phc-full #uvod .hero__content {
    padding-left: var(--rk-desktop-axis) !important;
    padding-right: var(--rk-header-edge) !important;
  }

  body.phc-full .rk-topbar__inner {
    min-height: 62px !important;
    flex-wrap: nowrap !important;
  }

  body.phc-full .nav {
    min-height: 72px !important;
    background: var(--rk-black) !important;
    overflow: visible !important;
  }

  body.phc-full .nav .nav__inner {
    position: relative !important;
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    min-height: 92px !important;
    overflow: visible !important;
  }

  body.phc-full .nav .nav__inner .nav__logo {
    position: absolute !important;
    z-index: 1300 !important;
    left: var(--rk-header-edge) !important;
    top: -56px !important;
    width: 220px !important;
    height: 124px !important;
    max-width: none !important;
    overflow: visible !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
  }

  body.phc-full .nav .nav__inner .nav__logo-img {
    width: 224px !important;
    height: 108px !important;
    min-height: 108px !important;
    max-width: 224px !important;
    max-height: 108px !important;
    object-fit: contain !important;
    object-position: left center !important;
  }

  body.phc-full .nav .nav__inner .nav__links {
    min-width: 0 !important;
    width: 100% !important;
    justify-content: flex-start !important;
    gap: clamp(22px, 2vw, 38px) !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  body.phc-full .nav .nav__inner .nav__link {
    font-size: clamp(13px, 1vw, 16px) !important;
    letter-spacing: .09em !important;
  }

  body.phc-full .nav .nav__inner .nav__phone,
  body.phc-full .nav .nav__inner .nav__cta--booking {
    display: none !important;
  }

  body.phc-full #uvod .hero__content {
    box-sizing: border-box !important;
  }
}

/* The top-bar language switch stays centred between e-mail and reservation. */
@media (min-width: 1500px) {
  body.phc-full .rk-topbar__inner {
    display: grid !important;
    grid-template-columns: max-content max-content max-content minmax(28px, 1fr) max-content minmax(28px, 1fr) max-content !important;
    column-gap: 22px !important;
    align-items: center !important;
  }

  body.phc-full .rk-topbar__inner > .rk-topbar__item:nth-child(1) { grid-column: 1 !important; }
  body.phc-full .rk-topbar__inner > .rk-topbar__item:nth-child(2) { grid-column: 2 !important; }
  body.phc-full .rk-topbar__inner > .rk-topbar__item:nth-child(3) { grid-column: 3 !important; }
  body.phc-full .rk-topbar__inner > .nav__lang {
    grid-column: 5 !important;
    margin: 0 !important;
    justify-self: center !important;
  }
  body.phc-full .rk-topbar__inner > .rk-topbar__reserve {
    grid-column: 7 !important;
    margin: 0 !important;
    justify-self: end !important;
  }
}

/* Compact desktop / tablet landscape. The logo remains large and left-aligned. */
@media (min-width: 901px) and (max-width: 1050px) {
  body.phc-full .nav {
    height: auto !important;
    min-height: 90px !important;
  }

  body.phc-full .nav .nav__inner {
    width: calc(100% - 40px) !important;
    min-height: 90px !important;
    margin: 0 20px !important;
    padding: 10px 0 !important;
    grid-template-columns: 200px minmax(0, 1fr) !important;
    column-gap: 22px !important;
  }

  body.phc-full .nav .nav__logo {
    width: 200px !important;
    height: 70px !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    overflow: visible !important;
  }

  body.phc-full .nav .nav__logo-img {
    width: 170px !important;
    height: auto !important;
    min-height: 0 !important;
    max-width: 170px !important;
    max-height: 70px !important;
    object-fit: contain !important;
    object-position: left center !important;
  }

  body.phc-full .nav .nav__phone,
  body.phc-full .nav .nav__lang,
  body.phc-full .nav .nav__cta {
    display: none !important;
  }

  body.phc-full .nav .nav__links {
    justify-content: flex-start !important;
    gap: clamp(15px, 1.7vw, 22px) !important;
    padding: 0 !important;
  }

  body.phc-full .nav .nav__link {
    font-size: clamp(11px, 1.25vw, 13px) !important;
    letter-spacing: .075em !important;
  }
}

/* Mobile/tablet header: visible brand on the left and an isolated menu button. */
@media (max-width: 900px) {
  body.phc-full .nav {
    min-height: 86px !important;
    overflow: visible !important;
  }

  body.phc-full .nav .nav__inner {
    width: calc(100% - 40px) !important;
    min-height: 86px !important;
    margin: 0 20px !important;
    padding: 7px 0 !important;
    grid-template-columns: minmax(0, 1fr) 48px !important;
    column-gap: 16px !important;
  }

  body.phc-full .nav .nav__logo {
    width: auto !important;
    height: 72px !important;
    min-width: 0 !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    overflow: visible !important;
  }

  body.phc-full .nav .nav__logo-img {
    width: 160px !important;
    height: auto !important;
    min-height: 0 !important;
    max-width: 160px !important;
    max-height: 72px !important;
    object-fit: contain !important;
    object-position: left center !important;
    margin: 0 !important;
  }

  body.phc-full .nav .nav__menu-toggle {
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    justify-self: end !important;
  }

  body.phc-full .nav__mobile {
    visibility: hidden !important;
    pointer-events: none !important;
  }

  body.phc-full .nav__mobile.open {
    visibility: visible !important;
    pointer-events: auto !important;
  }

  body.phc-full #uvod {
    min-height: calc(100svh - 147px) !important;
  }
}

@media (max-width: 760px) {
  body.phc-full .rk-topbar__inner {
    width: calc(100% - 24px) !important;
    min-height: 60px !important;
    padding: 8px 0 !important;
    justify-content: space-between !important;
    flex-wrap: nowrap !important;
    gap: 10px !important;
  }

  body.phc-full .rk-topbar__item:not(.rk-topbar__item--address):not(.rk-topbar__item--mail) {
    margin: 0 !important;
    font-size: 14px !important;
  }

  body.phc-full .rk-topbar__reserve {
    min-width: 126px !important;
    min-height: 42px !important;
    margin: 0 !important;
    padding: 8px 14px !important;
    font-size: 13px !important;
  }

  body.phc-full .nav .nav__inner {
    width: calc(100% - 32px) !important;
    margin: 0 16px !important;
  }

  body.phc-full .nav .nav__logo-img {
    width: clamp(138px, 42vw, 160px) !important;
    max-width: clamp(138px, 42vw, 160px) !important;
  }

  body.phc-full #uvod .hero__content {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }

  body.phc-full #uvod .hero__title,
  body.phc-full #uvod .hero__address,
  body.phc-full #uvod .hero__subtitle,
  body.phc-full #uvod .hero__actions {
    width: 100% !important;
    max-width: none !important;
  }

  body.phc-full #uvod .hero__title {
    font-size: clamp(43px, 12vw, 54px) !important;
    line-height: 1.02 !important;
  }

  body.phc-full #uvod .hero__actions > * {
    min-height: 52px !important;
    font-size: 17px !important;
    font-weight: 800 !important;
  }
}

@media (max-width: 420px) {
  body.phc-full .rk-topbar__item .rk-topbar__icon {
    display: none !important;
  }

  body.phc-full .rk-topbar__item:not(.rk-topbar__item--address):not(.rk-topbar__item--mail) {
    font-size: 13px !important;
  }

  body.phc-full .rk-topbar__reserve {
    min-width: 118px !important;
    padding-inline: 11px !important;
  }
}

/* Daily menu must never create horizontal overflow. */
@media (max-width: 1450px) {
  html body.phc-full.phc-full #uvod .rk-daily-menu {
    width: min(390px, calc(100vw - 16px)) !important;
    max-width: calc(100vw - 16px) !important;
  }

  html body.phc-full.phc-full #uvod .rk-daily-menu.is-open {
    right: 0 !important;
    transform: translateX(0) !important;
  }
}

/* Respect users who disable motion while preserving all menu interactions. */
@media (prefers-reduced-motion: reduce) {
  html body.phc-full.phc-full #uvod .rk-daily-menu {
    animation: none !important;
    transition-duration: .01ms !important;
  }
}
/* Restaurant-only content replacement for the retired medical blocks. */
.rk-restaurant-content{padding:96px 0;background:#fff;color:#202722}.rk-restaurant-content--accent{background:#edf4e9}.rk-restaurant-content h2{font-size:clamp(2rem,4vw,4.25rem);line-height:1.05;max-width:18ch;margin:.2em 0}.rk-restaurant-content__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:36px}.rk-restaurant-content__grid article{padding:28px;border-radius:20px;background:#f4f2eb}.rk-restaurant-content__grid h3{font-size:1.45rem;margin-top:0}.rk-button{display:inline-block;padding:14px 22px;border-radius:999px;background:#315a38;color:#fff;text-decoration:none;font-weight:800}@media(max-width:760px){.rk-restaurant-content{padding:64px 0}.rk-restaurant-content__grid{grid-template-columns:1fr}.rk-restaurant-content h2{font-size:2.2rem}}

/* Final footer and food-menu presentation. */
.footer--ukrbu{border-top:0!important}.footer--ukrbu .footer__inner{width:min(100% - 64px,1760px)!important;max-width:none!important}.footer--ukrbu .footer__bottom{background:#050505!important;border-top:1px solid rgba(255,255,255,.14)!important}.footer--ukrbu .footer__bottom-inner{width:min(100% - 64px,1760px)!important;max-width:none!important}.footer--ukrbu .footer__bottom:before{display:none!important}
#cenik .phc-page__inner{max-width:1160px!important;margin-left:auto!important;margin-right:auto!important}#cenik .phc-price-table{background:#101113!important;border:1px solid rgba(191,146,72,.32)!important;border-radius:18px!important;overflow:hidden!important;box-shadow:0 22px 55px rgba(0,0,0,.26)!important}#cenik .phc-price-table__row{min-height:76px!important;padding:20px 28px!important;border-bottom:1px solid rgba(255,255,255,.09)!important;transition:background .2s ease!important}#cenik .phc-price-table__row:hover{background:#17191c!important}#cenik .phc-price-table__item{font-size:clamp(20px,1.35vw,25px)!important;font-weight:700!important;letter-spacing:-.025em!important;color:#fff!important}#cenik .phc-price-table__price{font-size:clamp(19px,1.25vw,23px)!important;font-weight:800!important;color:#c99a4a!important;white-space:nowrap!important}@media(max-width:760px){.footer--ukrbu .footer__inner,.footer--ukrbu .footer__bottom-inner{width:calc(100% - 36px)!important}#cenik .phc-price-table__row{min-height:66px!important;padding:16px 18px!important}#cenik .phc-price-table__item{font-size:18px!important}#cenik .phc-price-table__price{font-size:17px!important}}
