/*
Theme Name: WP1 Feřt Content Theme
Theme URI: https://www.pivniceufertu.cz/chudy/
Author: Standa
Description: Presentation-only classic theme. All copy, media, section order, menus and widgets live in WordPress, so the site can switch to any other theme without losing content.
Version: 2.2.0
Requires at least: 6.5
Tested up to: 7.1
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: wp1-theme
Domain Path: /languages
Tags: one-column, custom-logo, custom-menu, widgets, translation-ready
*/

body.admin-bar .header { top: 32px; }
@media (max-width: 782px) { body.admin-bar .header { top: 46px; } }

.header__brand .custom-logo-link { display: block; }
.header__brand .custom-logo { width: clamp(8.25rem, 14vw, 10.5rem); height: auto; filter: brightness(0) invert(1); }
.header__wordmark { color: var(--cream); font-family: var(--serif); font-size: 1.25rem; }
.nav > ul { display: flex; align-items: center; gap: clamp(1.1rem, 2.4vw, 2.1rem); margin: 0; padding: 0; list-style: none; }
.nav .menu-item { position: relative; }
.nav .menu-item a { display: block; }
.nav .menu-item-reservation a { padding: .85rem 1.4rem; background: var(--gold); color: var(--ink-900); font-weight: 700; }
.nav .menu-item-reservation a:hover { color: var(--ink-900); background: var(--gold-lift); }
.nav .menu-item-reservation a::after { display: none; }
@media (max-width: 52rem) { .nav > ul { gap: 1.4rem; } }
.topbar__widget { width: 100%; }
.topbar__widget > * { margin: 0; }
.topbar__widget { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.topbar__widget .topbar__status { display: inline-flex; }
.topbar__widget .topbar__status { flex: 1 1 auto; }
.topbar__widget .topbar__links { flex: 0 0 auto; }
.topbar__widget .iboh-status { margin: 0; color: var(--cream-dim); line-height: 1.2; }
:is(.entry-content, .is-root-container) > * { max-width: none; }
:is(.entry-content, .is-root-container) .wp-block-group__inner-container { display: contents; }
:is(.entry-content, .is-root-container) .wp-block-image { margin: 0; }
:is(.entry-content, .is-root-container) .wp-block-image.tap__coin { margin-bottom: 1.4rem; }
:is(.entry-content, .is-root-container) .wp-block-heading { font-family: var(--serif); font-weight: 400; }
:is(.entry-content, .is-root-container) .wp-block-buttons { gap: .9rem; }
/* Buttons blocks only group their buttons in the editor; the section layout places each button. */
:is(.entry-content, .is-root-container) .wp-block-buttons { display: contents; }
/* Core gives Buttons-block children inline-block; keep the display the section styles expect. */
:is(.entry-content, .is-root-container) .wp-block-buttons > .wp-block-button { display: block; }
:is(.entry-content, .is-root-container) .wp-block-buttons > .wp-block-button.link { display: inline-flex; }
:is(.entry-content, .is-root-container) .wp-block-buttons > .wp-block-button.reserve__qr { display: flex; }
:is(.entry-content, .is-root-container) .wp-block-button__link { border-radius: 0; }
:is(.entry-content, .is-root-container) .wp-block-button { margin: 0; }
:is(.entry-content, .is-root-container) .wp-block-button.btn--ghost,
:is(.entry-content, .is-root-container) .wp-block-button__link.btn--ghost { background: transparent !important; background-color: transparent !important; }
:is(.entry-content, .is-root-container) .wp-block-button__link.btn--gold { background: var(--gold) !important; background-color: var(--gold) !important; color: var(--ink-900) !important; }
:is(.entry-content, .is-root-container) .wp-block-button.btn { display: inline-block; min-height: 0; padding: 0; border: 0; background: transparent; color: inherit; }
:is(.entry-content, .is-root-container) .wp-block-button.btn > .wp-block-button__link.btn { display: inline-flex; align-items: center; justify-content: center; gap: .7rem; height: auto; min-height: 3rem; padding: .85rem 1.4rem !important; border: 1px solid transparent; }
:is(.entry-content, .is-root-container) .signature__copy .lede { margin-top: 1.5rem; }
:is(.entry-content, .is-root-container) .signature__copy .actions { margin-top: 2rem; }
:is(.entry-content, .is-root-container) .takeaway__panel .sizes { margin-bottom: .5rem; }
:is(.entry-content, .is-root-container) .takeaway__phone + .muted { margin-top: .9rem; }
:is(.entry-content, .is-root-container) .takeaway__panel .card__label + .muted { margin-top: .7rem; }
:is(.entry-content, .is-root-container) .takeaway__phone .wp-block-button:first-child > .wp-block-button__link {
    display: inline-flex;
    min-height: 0;
    padding: 0 !important;
    border: 0;
    border-radius: 0;
    background: transparent !important;
    background-color: transparent !important;
    color: var(--cream) !important;
    font-size: inherit;
    line-height: inherit;
}
:is(.entry-content, .is-root-container) .takeaway__phone .wp-block-button:first-child > .wp-block-button__link b {
    font-size: clamp(1.35rem, 1.05rem + 1vw, 1.75rem);
    font-weight: 600;
    letter-spacing: -0.01em;
    font-variant-numeric: tabular-nums;
}
:is(.entry-content, .is-root-container) .wp-block-separator { border-color: var(--line); }
.footer__widget { width: 100%; }
/* Widget areas hold synced patterns; Group wrappers must not add boxes to the theme's grids. */
.topbar .wp-block-group__inner-container,
.footer .wp-block-group__inner-container { display: contents; }
.footer__widget--brand, .footer__widget--info { display: contents; }
.footer__widget-title { margin-bottom: 1.1rem; }
.footer-menu { display: flex; flex-wrap: wrap; gap: .8rem 1.25rem; margin: 0; padding: 0; list-style: none; }
.footer-menu a { color: var(--cream-mute); }
.iboh-status, .iboh-status * { color: inherit; }
.enter-delay-100 { --enter-delay: 100ms; }
.enter-delay-180 { --enter-delay: 180ms; }
.enter-delay-260 { --enter-delay: 260ms; }
.enter-delay-340 { --enter-delay: 340ms; }
.enter-delay-420 { --enter-delay: 420ms; }
.enter-delay-500 { --enter-delay: 500ms; }
.tap__coin.ground-pilsner { --ground: #01543a; }
.tap__coin.ground-gambrinus { --ground: #3e0c09; }
.tap__coin.ground-birell { --ground: #1b2c5e; }
.finale .lede { margin-top: 1.5rem; margin-inline: auto; }
:is(.entry-content, .is-root-container) .wp1-inline { display: contents; margin: 0; }
:is(.entry-content, .is-root-container) .wp1-address { margin: 0; font-style: normal; font-size: 1.3rem; font-weight: 600; line-height: 1.35; letter-spacing: -0.01em; font-variant-numeric: tabular-nums; }
.quote .wp-block-quote { margin: 0; padding: 0; border: 0; background: transparent; }
.quote .wp-block-quote p { margin: 0; }
.quote .wp-block-quote cite { display: block; margin-top: auto; padding-top: 1.25rem; color: var(--cream-mute); font-size: 0.8rem; font-style: normal; letter-spacing: 0.06em; text-transform: uppercase; }
.quote .wp-block-quote cite b { color: var(--cream-dim); font-weight: 600; }

/* Bolt CTA plugin: match fert's mobile call pill and phone panel. */
@media (max-width: 52rem) {
  body { padding-bottom: 4.75rem; }
  #cncb-fab {
    right: 1rem;
    bottom: max(1rem, env(safe-area-inset-bottom));
    align-items: flex-end;
    gap: .7rem;
  }
  #cncb-fab .cncb-fab-main {
    width: auto !important;
    min-width: 9.55rem !important;
    height: 3.25rem !important;
    padding: 0 1.35rem !important;
    gap: .6rem;
    border-radius: 999px !important;
    font-size: .85rem !important;
    font-weight: 700;
    letter-spacing: .06em !important;
    text-transform: uppercase !important;
    box-shadow: 0 8px 24px rgba(0,0,0,.28) !important;
  }
  #cncb-fab .cncb-fab-main-icon { display: inline-flex; align-items: center; justify-content: center; }
  #cncb-fab .cncb-fab-main-icon svg { width: 1.15rem; height: 1.15rem; }
  #cncb-fab .cncb-fab-main-close { width: 1.25rem; height: 1.25rem; font-size: 0; line-height: 1; }
  #cncb-fab .cncb-fab-main-close svg { width: 1.25rem; height: 1.25rem; }
  #cncb-fab .cncb-fab-main-label { white-space: nowrap; }
  #cncb-fab .cncb-fab-badge { display: none; }
  #cncb-fab.cncb-fab-open .cncb-fab-main {
    background: var(--cream) !important;
    color: var(--ink-900) !important;
    min-width: 8rem !important;
  }
  #cncb-fab .cncb-fab-subs {
    flex-direction: column !important;
    width: min(21rem, calc(100vw - 2rem));
    padding: 1.1rem 1.15rem .95rem;
    background: var(--ink-800);
    border: 1px solid var(--line-strong);
    border-radius: 1.15rem;
    box-shadow: var(--shadow-lift);
    transform-origin: bottom right;
    opacity: 0;
    visibility: hidden;
    transform: translateY(.75rem) scale(.96);
    transition: opacity var(--base) var(--ease), transform var(--base) var(--ease), visibility 0s linear var(--base);
  }
  #cncb-fab.cncb-fab-open .cncb-fab-subs {
    opacity: 1;
    visibility: visible;
    transform: none;
    transition-delay: 0s;
  }
  #cncb-fab .cncb-fab-panel-title {
    margin: 0 0 .9rem;
    color: var(--gold);
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .22em;
    line-height: 1.3;
    text-transform: uppercase;
  }
  #cncb-fab .cncb-fab-sub {
    width: 100%;
    display: block;
    margin: 0;
    padding: 0;
    background: transparent;
    border: 0;
    border-radius: 0;
  }
  #cncb-fab .cncb-fab-sub + .cncb-fab-sub { margin-top: .5rem; }
  #cncb-fab .cncb-fab-sub-btn {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 7.15rem !important;
    padding: .9rem .9rem .78rem !important;
    border: 1px solid var(--line) !important;
    border-radius: .85rem !important;
    background: var(--ink-900) !important;
    color: var(--cream) !important;
    text-align: left !important;
    transform: none !important;
    opacity: 1 !important;
  }
  #cncb-fab .cncb-fab-sub-btn:hover { filter: none; }
  #cncb-fab .cncb-fab-sub-copy { display: flex; flex-direction: column; min-width: 0; }
  #cncb-fab .cncb-fab-sub-title { color: var(--cream); font-size: .92rem; line-height: 1.25; }
  #cncb-fab .cncb-fab-sub-description { margin-top: .35rem; color: var(--cream-mute); font-size: .78rem; line-height: 1.4; }
  #cncb-fab .cncb-fab-sub-number { display: flex; align-items: center; justify-content: space-between; margin-top: .65rem; color: var(--gold); font-size: 1rem; font-weight: 700; letter-spacing: .02em; font-variant-numeric: tabular-nums; }
  #cncb-fab .cncb-fab-sub-number span { font-size: 1.1rem; }
  #cncb-fab .cncb-fab-panel-note { margin: .9rem 0 0; color: var(--cream-mute); font-size: .7rem; line-height: 1.35; }
  #cncb-fab .cncb-fab-tooltip,
  #cncb-fab .cncb-fab-sub-btn svg { display: none !important; }
  #cncb-fab .cncb-fab-main-icon[hidden] { display: none !important; }
  #cncb-fab.cncb-fab-open .cncb-fab-sub-btn { transform: none !important; opacity: 1 !important; }
  }
  #cncb-fab.cncb-fab-open + .cncb-fab-overlay {
    background: rgba(6, 5, 4, .62);
  }
  @supports (backdrop-filter: blur(1px)) {
    #cncb-fab.cncb-fab-open + .cncb-fab-overlay { -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px); }
  }

/* Opening hours from the plugin, set like the footer link list. */
.footer__col .iboh-widget { max-width: none; margin: 0; }
.footer__col .iboh-hours,
.footer__col .iboh-hours tbody,
.footer__col .iboh-hours tr { display: block; width: auto; background: none; line-height: inherit; }
.footer__col .iboh-hours tr + tr { margin-top: 0.6rem; }
.footer__col .iboh-hours th,
.footer__col .iboh-hours td { display: inline; padding: 0; border: 0; font-weight: 400; text-align: left; vertical-align: baseline; }
.footer__col .iboh-hours th { padding-right: 0.28em; }

/* Hover states win over colours chosen in the editor (preset classes are !important). */
.wp-block-button__link.btn--gold:hover { background-color: var(--gold-lift) !important; }
.wp-block-button__link.btn--ghost:hover,
.wp-block-button__link.link:hover,
.panel .wp-block-button__link.reserve__phone:hover,
.reserve__qr:hover strong mark { color: var(--gold-lift) !important; }

/* Text-style buttons (phone number, map link, QR card) drop WordPress's default button box. */
.wp-block-button__link:is(.link, .reserve__phone, .reserve__qr) { background: none; border-radius: 0; padding: 0; text-align: left; }
.wp-block-button__link.link { padding-bottom: 0.25rem; }
.wp-block-button__link.reserve__qr { padding-top: 1.5rem; }

/* A text-style button's wrapper carries no look of its own; its link does the layout. */
:is(.entry-content, .is-root-container) .wp-block-buttons > .wp-block-button:is(.link, .reserve__phone, .reserve__qr) { display: block; margin: 0; padding: 0; border: 0; background: none; }
:is(.entry-content, .is-root-container) .reserve .wp-block-buttons > .wp-block-button.reserve__qr { margin-top: auto; }
.wp-block-button__link.reserve__qr { margin-top: 0; }
@media (max-width: 68rem) {
  :is(.entry-content, .is-root-container) .reserve .wp-block-buttons > .wp-block-button.reserve__qr { margin-top: 1.5rem; }
}
