/* virtualGame – doplňkové styly k theme.json */
:root { --vg-radius: 24px; --vg-line: #252B5C; }
html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; }
img { height: auto; }
:where(.wp-site-blocks) > * { margin-block-start: 0; }

/* Hlavička */
.vg-header { border-bottom: 1px solid var(--vg-line); position: sticky; top: 0; z-index: 50; background: rgba(13,17,48,.92); backdrop-filter: blur(10px); }
.vg-header .wp-block-site-title a { text-decoration: none; color: var(--wp--preset--color--text); }
.vg-header .wp-block-navigation a { text-decoration: none; padding: 8px 0; }
.vg-header .wp-block-navigation a:hover { color: var(--wp--preset--color--accent); text-decoration: none; }
.vg-header .wp-block-navigation__responsive-container.is-menu-open { background: var(--wp--preset--color--base); padding: 24px; }
.vg-logo-word { font-family: var(--wp--preset--font-family--display); font-weight: 600; font-size: 1.25rem; letter-spacing: -0.01em; }
.vg-logo-word span { color: var(--wp--preset--color--accent); }
.vg-logo-word a { text-decoration: none; color: inherit; display: inline-flex; align-items: center; gap: 10px; }
.vg-logo-word img { width: 40px; height: 40px; }
@media (max-width: 781px) { .vg-header .vg-header-cta .vg-hide-mobile { display: none; } }

/* Tlačítka */
.wp-block-button.is-style-obrys .wp-block-button__link { background: transparent; color: var(--wp--preset--color--text); border: 1.5px solid #3A4280; }
.wp-block-button.is-style-obrys .wp-block-button__link:hover { border-color: var(--wp--preset--color--accent); }
.wp-block-button.is-style-akce .wp-block-button__link { background: var(--wp--preset--color--promo); color: var(--wp--preset--color--base); }
.wp-block-button.is-style-akce .wp-block-button__link:hover { background: #FFD46E; }
.wp-block-button.is-style-tmave .wp-block-button__link { background: var(--wp--preset--color--ink); color: #fff; }
.wp-block-button.is-style-tmave .wp-block-button__link:hover { background: #262B52; }
.wp-block-button__link { transition: background-color .15s ease, border-color .15s ease; }

/* Karty */
.is-style-karta { background: var(--wp--preset--color--surface); border: 1px solid var(--vg-line); border-radius: var(--vg-radius); overflow: hidden; }
.is-style-karta-svetla { background: #fff; color: var(--wp--preset--color--ink); border-radius: var(--vg-radius); overflow: hidden; }
.is-style-pruh { border-top: 1px solid var(--vg-line); border-bottom: 1px solid var(--vg-line); }
.wp-block-image.is-style-zaoblene img, .vg-rounded img { border-radius: var(--vg-radius); }

/* Texty */
p.is-style-stitek { display: inline-block; font-size: .8125rem; font-weight: 600; padding: 6px 12px; border-radius: 999px; background: var(--vg-line); color: #DDE1F5; line-height: 1.3; }
p.is-style-nadtitulek { font-size: .875rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--wp--preset--color--accent); }
.has-light-background-color p.is-style-nadtitulek, .is-style-karta-svetla p.is-style-nadtitulek { color: var(--wp--preset--color--accent-dark); }
p.is-style-tlumeny { color: var(--wp--preset--color--muted); }
.has-light-background-color p.is-style-tlumeny { color: var(--wp--preset--color--ink-muted); }
ul.is-style-fajfky { list-style: none; padding-left: 0; }
ul.is-style-fajfky li { position: relative; padding-left: 34px; margin-bottom: .6em; }
ul.is-style-fajfky li::before { content: ""; position: absolute; left: 0; top: .15em; width: 22px; height: 22px; background: no-repeat center / 22px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232E7D34' stroke-width='2.6'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E"); }
.has-base-background-color ul.is-style-fajfky li::before, .has-surface-background-color ul.is-style-fajfky li::before { filter: brightness(1.6); }

/* Kroky */
.vg-krok { border-top: 2px solid #2A3166; padding-top: 24px; }
.vg-krok-cislo { font-family: var(--wp--preset--font-family--display); font-weight: 700; font-size: 2.5rem; color: var(--wp--preset--color--accent); line-height: 1; }

/* Recenze */
.vg-recenze { margin: 0; }
.vg-recenze blockquote, .vg-recenze p { margin: 0; }
.vg-hvezdy { color: var(--wp--preset--color--promo); letter-spacing: 2px; font-size: 1.25rem; }

/* Otevírací doba */
.vg-hodiny { display: grid; grid-template-columns: auto 1fr; gap: 8px 24px; margin: 0; }
.vg-hodiny dt { color: var(--wp--preset--color--muted); }
.vg-hodiny dd { margin: 0; }

/* Mapa */
.vg-mapa iframe { width: 100%; min-height: 300px; border: 0; border-radius: var(--vg-radius); display: block; }

/* Patička */
.vg-footer a { color: var(--wp--preset--color--muted); text-decoration: none; }
.vg-footer a:hover { color: var(--wp--preset--color--text); }

/* Mobilní lišta Zavolat / Rezervovat */
.vg-mobilbar { display: none; }
@media (max-width: 781px) {
	.vg-mobilbar { display: flex; gap: 10px; position: fixed; left: 0; right: 0; bottom: 0; z-index: 60; padding: 10px 16px calc(10px + env(safe-area-inset-bottom)); background: var(--wp--preset--color--base); border-top: 1px solid var(--vg-line); }
	.vg-mobilbar a { flex: 1; display: flex; align-items: center; justify-content: center; min-height: 48px; border-radius: 999px; font-weight: 700; text-decoration: none; }
	.vg-mobilbar a.vg-tel { border: 1.5px solid #3A4280; color: var(--wp--preset--color--text); flex: .8; }
	.vg-mobilbar a.vg-rez { background: var(--wp--preset--color--accent); color: var(--wp--preset--color--base); }
	body { padding-bottom: 76px; }
}

/* Video / foto placeholder v hero */
.vg-hero-media video, .vg-hero-media img { width: 100%; aspect-ratio: 4/3; object-fit: cover; border-radius: 28px; display: block; }

/* Obecné */
.wp-block-group.is-layout-grid > * { min-width: 0; }
.vg-cena { font-family: var(--wp--preset--font-family--display); font-weight: 700; font-size: 1.75rem; line-height: 1.1; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* sticky hlavička: obal template-partu nesmí omezovat sticky */
.wp-site-blocks>header.wp-block-template-part{display:contents}
.vg-header{position:sticky;top:var(--wp-admin--admin-bar--height,0px);z-index:50}
.vg-header .wp-block-site-logo img{width:auto;height:44px;max-width:none}
@media (max-width:600px){.vg-header .wp-block-site-logo img{height:34px}}
.vg-footer-logo img{height:48px;width:auto}
