/*
Theme Name: Veselá veselka
Theme URI: https://www.veselaveselka.cz
Author: Veselá veselka
Description: Lehká šablona pro web půjčovny svatebních her a vybavení Veselá veselka. Hlavička s menu, patička s kontaktem a stránka na plnou šířku. Obsah stránek se tvoří v editoru (bloky "Vlastní HTML").
Version: 1.0.3
Requires at least: 6.0
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: veselaveselka
*/

:root {
  --vv-bg: #F7F2EC;
  --vv-ink: #2F3E2C;
  --vv-green: #4F7348;
  --vv-green-dark: #3F6039;
  --vv-sage: #5E8557;
  --vv-gold: #C4A86B;
  --vv-cream: #EBE3D3;
  /* Barvy, na které se odkazují stávající bloky (Spectra) z původní šablony */
  --ast-global-color-0: #4F7348;
  --ast-global-color-1: #2F3E2C;
  --ast-global-color-2: #2F3E2C;
  --ast-global-color-3: #4A5A46;
  --ast-global-color-4: #FBF8F3;
  --ast-global-color-5: #FFFFFF;
  --ast-global-color-6: #E3DACA;
  --ast-global-color-7: #2F3E2C;
  --ast-global-color-8: #000000;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  background: var(--vv-bg);
  color: var(--vv-ink);
  font-family: 'Nunito Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
  font-size: 17px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; }
a { color: var(--vv-green-dark); text-decoration: none; }
a:hover { text-decoration: underline; }

.screen-reader-text {
  border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%);
  height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; word-wrap: normal;
}
.skip-link:focus {
  clip: auto; clip-path: none; height: auto; width: auto; margin: 0; padding: 12px 18px;
  left: 8px; top: 8px; z-index: 100000; background: #fff; color: var(--vv-ink); border-radius: 8px;
}

/* ---------- Hlavička ---------- */
.vv-header { background: var(--vv-bg); }
.vv-header__in {
  max-width: 1240px; margin: 0 auto; padding: 18px 32px;
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px 32px;
}
.vv-logo {
  font-family: 'Caveat', cursive; font-weight: 700; font-size: 38px; line-height: 1; color: var(--vv-sage);
}
.vv-logo:hover { text-decoration: none; }
.vv-logo img { display: block; max-height: 64px; width: auto; }

.vv-nav ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 8px 28px; }
.vv-nav a {
  display: inline-block; color: var(--vv-ink); font-weight: 600; font-size: 16px;
  padding-bottom: 2px; border-bottom: 2px solid transparent;
}
.vv-nav a:hover { text-decoration: none; color: var(--vv-green); }
.vv-nav .current-menu-item > a,
.vv-nav .current_page_item > a,
.vv-nav .is-current > a { color: var(--vv-green); border-bottom-color: var(--vv-green); }

.vv-burger {
  display: none; align-items: center; gap: 10px; min-height: 44px; padding: 8px 16px;
  font: inherit; font-weight: 700; color: var(--vv-ink); background: #fff;
  border: 1.5px solid #CFC6B2; border-radius: 999px; cursor: pointer;
}
.vv-burger__bars, .vv-burger__bars::before, .vv-burger__bars::after {
  display: block; width: 20px; height: 2px; background: currentColor; border-radius: 2px; content: '';
}
.vv-burger__bars { position: relative; }
.vv-burger__bars::before { position: absolute; top: -6px; }
.vv-burger__bars::after { position: absolute; top: 6px; }

@media (max-width: 820px) {
  .vv-header__in { padding: 14px 20px; }
  .vv-burger { display: inline-flex; }
  .vv-nav { display: none; width: 100%; }
  .vv-nav.is-open { display: block; }
  .vv-nav ul { flex-direction: column; align-items: stretch; gap: 0; }
  .vv-nav a { display: block; padding: 12px 0; min-height: 44px; border-bottom: 1px solid #E3DACA; }
}

/* ---------- Obsah ---------- */
.vv-main { display: block; }
.vv-article { max-width: 820px; margin: 0 auto; padding: 30px 32px 80px; }
.vv-article h1 {
  font-family: 'Cormorant Garamond', Georgia, serif; font-weight: 600; font-size: 48px; line-height: 1.08;
  text-transform: uppercase; margin: 0 0 24px;
}
.vv-article h2 {
  font-family: 'Cormorant Garamond', Georgia, serif; font-weight: 600; font-size: 32px; line-height: 1.15; margin: 36px 0 10px;
}
.vv-article p, .vv-article li { font-size: 17px; }
.vv-article ul { padding-left: 22px; }
.vv-article li { margin-bottom: 6px; }

/* Stránky sestavené z bloku "Vlastní HTML" */
.vv-wrap, .vv-wrap * { box-sizing: border-box; }
.vv-wrap a { box-shadow: none; }
.vv-wrap h1, .vv-wrap h2, .vv-wrap h3, .vv-wrap p { letter-spacing: normal; }
.vv-reviews { max-width: 1240px; margin: 0 auto; padding: 0 32px 70px; }

/* ---------- Patička ---------- */
.vv-footer { background: #2F3E2C; color: #EDE8DC; }
.vv-footer a { color: #EDE8DC; }
.vv-footer__in {
  max-width: 1240px; margin: 0 auto; padding: 44px 32px 26px;
  display: flex; flex-wrap: wrap; justify-content: space-between; gap: 32px; font-size: 15px;
}
.vv-footer__col { flex: 1 1 260px; min-width: 0; }
.vv-footer__logo { font-family: 'Caveat', cursive; font-weight: 700; font-size: 36px; line-height: 1; color: #C9D8C2; margin-bottom: 10px; }
.vv-footer__title { font-weight: 700; margin-bottom: 8px; }
.vv-footer__copy { max-width: 1240px; margin: 0 auto; padding: 0 32px 28px; font-size: 13px; color: #BFC8B8; }

/* ---------- Formulář WPForms (Rezervace) ---------- */
.wpforms-container .wpforms-submit,
.wpforms-container button.wpforms-submit {
  background: var(--vv-green) !important; color: #fff !important; border: 0 !important;
  border-radius: 999px !important; padding: 14px 36px !important; font-weight: 700 !important; font-size: 17px !important; cursor: pointer;
}
.wpforms-container .wpforms-submit:hover { background: var(--vv-green-dark) !important; }
.wpforms-container input[type=text], .wpforms-container input[type=email], .wpforms-container input[type=tel],
.wpforms-container input[type=date], .wpforms-container select, .wpforms-container textarea {
  border-radius: 12px !important; border-color: #CFC6B2 !important;
}

.alignwide { max-width: 1240px; margin-left: auto; margin-right: auto; }
.alignfull { width: 100%; }

/* Fotky na šířku: rámeček nesmí být pro ně příliš vysoký (jinak se ořezávají) */
.vv-main div:has(> img[src*="bedynka-na-dary"]),
.vv-main div:has(> img[src*="uvitaci-tabule"]),
.vv-main div:has(> img[src*="mega-piskvorky"]),
.vv-main div:has(> img[src*="sluzby-svatebni-hry"]),
.vv-main div:has(> img[src*="sluzby-svatebni-vybaveni"]) {
	aspect-ratio: 3 / 2 !important;
	flex-basis: 580px !important;
}
.vv-main div:has(> img[src*="obri-mikado"]) {
	aspect-ratio: 1 / 1 !important;
}

/* Rámeček bez fotky (fotka se nenačetla) se skryje, text karty zůstane */
.vv-main .vv-nophoto { display: none !important; }
