/* Rezervace focení (venkovní termíny). Prefix rf- aby to nekolidovalo s motivem.
   Fonty a barvy přebíráme z Kadence, ať to vypadá jako zbytek webu. */

.rf {
  --rf-hneda: #926757;
  --rf-hneda-sv: #ae8373;
  --rf-tmava: #1A202C;
  --rf-bezova-tm: #c4a898;
  --rf-bezova: #dbc7bb;
  --rf-linka: #e8e2dc;
  --rf-krem: #F9F5F2;
  --rf-text: #4a4441;
  --rf-tichy: #8a827d;
  --rf-pismo: "Poppins", -apple-system, "Segoe UI", sans-serif;
  --rf-serif: "Cormorant SC", Georgia, serif;

  font: 300 16px/1.75 var(--rf-pismo);
  color: var(--rf-text);

  /* Stránka nemá od šablony žádný omezující obal — obsah by se roztáhl na
     celou šířku okna a držel u levého okraje. Napojujeme se proto na šířku
     obsahu, jakou má zbytek webu (Kadence content_width = 1290 px), ať
     rezervace lícují s hlavičkou i patičkou. */
  box-sizing: border-box;
  max-width: 1290px;
  margin: 0 auto;
  padding: 0 1.5rem;
}

.rf *, .rf *::before, .rf *::after { box-sizing: border-box; }

/* Stránka venkovních termínů má na rozdíl od vánoční obal šablony Kadence (odsazení 80 px nahoře,
   24 + 32 px po stranách) — pruh fotek pak byl užší a níž než u vánočních (Honza 6. 10. 2026).
   Obal vynulujeme, .rf si šířku a okraje drží samo stejně jako .vf. */
.content-area:has(.rf) { margin: 0; }
.content-container:has(.rf) { max-width: none; padding: 0; }
.entry-content-wrap:has(.rf) { padding: 0; }
body .entry:has(.rf) { margin: 0 !important; }   /* na mobilu má Kadence u článku okraje −16 px */

.rf-sekce { padding: 3rem 1.5rem; margin: 0 -1.5rem; scroll-margin-top: 1rem; }
.rf-sekce.rf-svetla { background: var(--rf-krem); }

.rf-krok {
  font: 500 .72rem/1 var(--rf-pismo);
  letter-spacing: .28em; text-transform: uppercase;
  color: var(--rf-bezova-tm); margin: 0 0 .7rem;
}
.rf-nadpis {
  font: 300 clamp(1.6rem, 3.6vw, 2.1rem)/1.3 var(--rf-serif);
  color: var(--rf-tmava); margin: 0 0 1.6rem; letter-spacing: .02em;
}
.rf-karta { background: #fff; border: 1px solid var(--rf-linka); padding: 2rem; }

/* pás fotek pod nadpisem */
.rf-pas {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 2px;
  background: var(--rf-linka); margin: 0 -1.5rem 0;
}
.rf-pas figure { margin: 0; overflow: hidden; aspect-ratio: 3 / 4; }
.rf-pas img { width: 100%; height: 100%; object-fit: cover; display: block;
  transition: transform .6s ease; }
.rf-pas figure:hover img { transform: scale(1.04); }

/* balíčky */
.rf-balicky { display: grid; gap: 1.5rem; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }
.rf-balicek {
  position: relative; text-align: left; background: #fff;
  border: 1px solid var(--rf-linka); padding: 2.2rem 2rem;
  cursor: pointer; font: inherit; color: inherit;
  transition: border-color .18s, box-shadow .18s;
}
.rf-balicek:hover { border-color: var(--rf-bezova); }
.rf-balicek[aria-pressed="true"] { border-color: var(--rf-hneda); box-shadow: inset 0 0 0 1px var(--rf-hneda); }
.rf-balicek[aria-pressed="true"]::before {
  content: "vybráno"; position: absolute; top: 0; right: 0;
  background: var(--rf-hneda); color: #fff;
  font: 500 .62rem/1 var(--rf-pismo); letter-spacing: .18em;
  text-transform: uppercase; padding: .45rem .7rem;
}
.rf-balicek h3 {
  font: 500 1rem/1 var(--rf-pismo); letter-spacing: .22em; text-transform: uppercase;
  color: var(--rf-tmava); margin: 0 0 1.2rem;
}
.rf-cena { font: 300 2.6rem/1 var(--rf-serif); color: var(--rf-hneda); margin-bottom: 1.4rem; }
.rf-cena small { font-size: 1.1rem; margin-left: .2rem; }
.rf .rf-balicek ul { list-style: none; margin: 0; padding: 0; }   /* .rf kvůli .entry-content ul z Kadence */
.rf-balicek li { position: relative; padding-left: 1.3rem; margin-bottom: .45rem; font-size: .93rem; }
.rf-balicek li::before {
  content: ""; position: absolute; left: 0; top: .62em;
  width: .42rem; height: .42rem; border-radius: 50%; background: var(--rf-bezova);
}
.rf-vybrat {
  display: inline-block; margin-top: 1.5rem;
  font: 600 .72rem/1 var(--rf-pismo); letter-spacing: .16em; text-transform: uppercase;
  color: var(--rf-hneda); border-bottom: 1px solid var(--rf-bezova); padding-bottom: .35rem;
}

/* termíny */
.rf-legenda { display: flex; align-items: center; gap: .4rem; font-size: .88rem;
  color: var(--rf-tichy); margin: -1.2rem 0 1.8rem; }
.rf-legenda .rf-obsazeno { margin-left: 1rem; }
.rf-tecka { width: .6rem; height: .6rem; border-radius: 50%; display: inline-block; }
.rf-tecka.rf-volno { background: var(--rf-hneda); }
.rf-tecka.rf-obsazeno { background: var(--rf-linka); border: 1px solid var(--rf-bezova); }

.rf-mesic {
  font: 300 1.5rem/1 var(--rf-serif); letter-spacing: .06em; color: var(--rf-hneda);
  margin: 2.2rem 0 .9rem; padding-bottom: .5rem; border-bottom: 1px solid var(--rf-bezova);
}
.rf-mesic:first-child { margin-top: 0; }

.rf-den {
  background: #fff; border: 1px solid var(--rf-linka); border-top: none;
  padding: .9rem 1.2rem; display: grid; gap: .5rem 1rem;
  grid-template-columns: 11rem 1fr; align-items: center;
}
.rf-mesic + .rf-den { border-top: 1px solid var(--rf-linka); }
.rf-den.rf-vikend { background: var(--rf-krem); }
.rf-den.rf-vikend h4 { color: var(--rf-hneda); font-weight: 600; }
.rf-den h4 { font: 500 .95rem/1.4 var(--rf-pismo); color: var(--rf-tmava); margin: 0; }
.rf-den h4::first-letter { text-transform: uppercase; }

.rf-sloty { display: grid; grid-template-columns: repeat(auto-fill, minmax(4.6rem, 1fr)); gap: .4rem; }
.rf-slot {
  font: 400 .9rem/1 var(--rf-pismo); padding: .6rem .4rem; text-align: center;
  border: 1px solid var(--rf-linka); background: #fff; color: var(--rf-tmava);
  cursor: pointer; transition: background .15s, color .15s, border-color .15s;
}
.rf-slot:hover:not(:disabled), .rf-slot[aria-pressed="true"] {
  background: var(--rf-hneda); color: #fff; border-color: var(--rf-hneda);
}
.rf-slot:disabled {
  color: var(--rf-bezova); background: var(--rf-krem);
  text-decoration: line-through; cursor: not-allowed;
}
.rf-nacitam { color: var(--rf-tichy); padding: 1.2rem 1.4rem; background: #fff; margin: 0; }

/* formulář */
.rf-souhrn { border-left: 2px solid var(--rf-hneda); background: var(--rf-krem);
  padding: .9rem 1.1rem; margin-bottom: 1.8rem; font-size: .95rem; }
.rf-souhrn strong { font-weight: 600; color: var(--rf-tmava); }

.rf label {
  display: block; margin-bottom: 1.2rem;
  font: 500 .7rem/1.4 var(--rf-pismo); letter-spacing: .18em;
  text-transform: uppercase; color: var(--rf-tichy);
}
.rf-volitelne { text-transform: none; letter-spacing: 0; font-weight: 300; }

.rf input, .rf textarea, .rf select {
  display: block; width: 100%; margin-top: .5rem; padding: .8rem .9rem;
  font: 300 16px/1.5 var(--rf-pismo); color: var(--rf-tmava);
  background: #fff; border: 1px solid var(--rf-linka); border-radius: 0;
  text-transform: none; letter-spacing: normal;
}
.rf input:focus, .rf textarea:focus, .rf select:focus { outline: none; border-color: var(--rf-hneda); }
.rf textarea { resize: vertical; }

.rf-radek { display: grid; gap: 0 1.2rem; grid-template-columns: 1fr 1fr; }
.rf-radek.rf-tri { grid-template-columns: 1fr 1fr 2fr; }

/* tlačítka */
.rf-tlacitko {
  display: inline-block; font: 600 .78rem/1 var(--rf-pismo);
  letter-spacing: .16em; text-transform: uppercase;
  padding: 1.05rem 2.1rem; border: 1px solid var(--rf-hneda); border-radius: 0;
  background: var(--rf-hneda); color: #fff; cursor: pointer;
  text-decoration: none; transition: background .18s, color .18s;
}
.rf-tlacitko:hover { background: var(--rf-hneda-sv); border-color: var(--rf-hneda-sv); color: #fff; }
.rf-tlacitko:disabled { opacity: .55; cursor: progress; }
.rf-tlacitko.rf-obrys { background: transparent; color: var(--rf-hneda); }
.rf-tlacitko.rf-obrys:hover { background: var(--rf-hneda); color: #fff; }

/* hlášky a potvrzení */
.rf-chyba { background: #fbf1ef; border-left: 2px solid #b4695b; color: #8a4436;
  padding: .8rem 1rem; margin: 0 0 1.2rem; font-size: .93rem; }
.rf-drobne { font-size: .84rem; color: var(--rf-tichy); }

/* Podmínky pod odesílacím tlačítkem — potřebují od něj odsadit a mezi sebou
   dýchat, jinak splynou v jeden odstavec drobného textu. */
.rf-podminky { margin-top: 1.9rem; padding-top: 1.4rem; border-top: 1px solid var(--rf-linka); }
.rf-podminky .rf-drobne { margin: 0 0 .7rem; line-height: 1.65; }
.rf-podminky .rf-drobne:last-child { margin-bottom: 0; }

/* Potvrzení podmínek. Musí přebít obecné .rf label a .rf input, které jsou
   nastavené pro textová pole — jinak by se zaškrtávátko roztáhlo na celou
   šířku a popisek by byl verzálkami jako názvy polí. */
.rf label.rf-souhlas {
  display: flex; align-items: flex-start; gap: .7rem; cursor: pointer;
  margin: 1.1rem 0 1.5rem; padding: .85rem 1rem;
  background: var(--rf-krem); border: 1px solid var(--rf-linka);
  font: 400 .92rem/1.5 var(--rf-pismo); color: var(--rf-text);
  text-transform: none; letter-spacing: normal;
}
.rf label.rf-souhlas input[type="checkbox"] {
  display: block; flex: 0 0 auto; width: 1.1rem; height: 1.1rem;
  margin: .18rem 0 0; padding: 0; accent-color: var(--rf-hneda); cursor: pointer;
}
.rf label.rf-souhlas:hover { border-color: var(--rf-bezova); }
.rf label.rf-souhlas.rf-chybi { border-color: #b4695b; background: #fbf1ef; color: #8a4436; }

.rf-potvrzeni { text-align: center; border-color: var(--rf-bezova); }
.rf-psane { font: 400 1.6rem/1.3 "WindSong", cursive; color: var(--rf-tmava); margin: 0 0 .3rem; }

.rf-kde, .rf-storno {
  text-align: left; padding: 1.1rem 1.3rem; margin: 1.4rem 0;
}
.rf-kde { background: var(--rf-krem); border-left: 2px solid var(--rf-hneda); }
.rf-kde p { margin: 0 0 .5rem; }
.rf-kde p:last-child { margin: 0; }
.rf-kde-nadpis {
  font: 500 .7rem/1 var(--rf-pismo); letter-spacing: .2em;
  text-transform: uppercase; color: var(--rf-hneda);
}
.rf-storno { background: var(--rf-linka); font-size: .9rem; }
.rf-storno strong { display: block; color: var(--rf-tmava); margin-bottom: .3rem; }
.rf-storno .rf-h { color: var(--rf-hneda); font-weight: 600; }

@media (max-width: 680px) {
  .rf-radek, .rf-radek.rf-tri, .rf-den { grid-template-columns: 1fr; }
  .rf { padding: 0 1rem; }
  .rf-sekce { padding: 2.2rem 1rem; margin: 0 -1rem; }
  .rf-pas { grid-template-columns: repeat(2, 1fr); margin: 0 -1rem; }
}

/* Termín na dnešní den — vidět zůstane, rezervovat se nedá. */
.rf-slot.rf-dnes {
  border-style: dashed;
  color: #9a8f88;
}
.rf-slot.rf-dnes:hover:not(:disabled) {
  background: #f3ede8;
  color: #6f4c40;
}

/* Dialog */
.rf-plachta {
  position: fixed; inset: 0; z-index: 9999;
  background: rgba(26, 32, 44, .55);
  display: flex; align-items: center; justify-content: center;
  padding: 20px;
}
.rf-dialog {
  background: #fff; max-width: 400px; width: 100%;
  padding: 28px 26px 22px; text-align: center;
  border: 1px solid #e8e2dc;
  box-shadow: 0 18px 50px rgba(0, 0, 0, .22);
}
.rf-dialog h3 {
  margin: 0 0 10px; font: 400 21px/1.3 Georgia, serif; color: #1A202C;
}
.rf-dialog p { margin: 0 0 18px; font-size: 15px; line-height: 1.6; color: #4a4441; }
.rf-dialog .rf-tlacitko {
  display: inline-block; text-decoration: none; letter-spacing: 1px;
}
.rf-zavrit {
  display: block; margin: 14px auto 0; padding: 4px 8px;
  background: none; border: 0; cursor: pointer;
  font: 400 13px/1.4 inherit; color: #8a827d; text-decoration: underline;
}
.rf-zavrit:hover { color: #926757; }

/* ---------------------------------------------------------------------------
   Nadpisy: přebití typografie šablony

   Náš list se v hlavičce načítá DŘÍV než Kadence a Elementor, takže při
   stejné specifičnosti vyhrávají oni a z „Říjen" vyroste 56px nadpis.
   Následující pravidla jsou úmyslně adresnější (.rf před selektorem).
   Hodnoty jsou stejné jako výš — kdyby se tam něco měnilo, změň to na
   obou místech.
   --------------------------------------------------------------------------- */
.rf .rf-nadpis { font: 300 clamp(1.6rem, 3.6vw, 2.1rem)/1.3 var(--rf-serif); color: var(--rf-tmava); margin: 0 0 1.6rem; letter-spacing: .02em; }
.rf .rf-balicek h3 { font: 500 1rem/1 var(--rf-pismo); letter-spacing: .22em; text-transform: uppercase; color: var(--rf-tmava); margin: 0 0 1.2rem; }
.rf .rf-mesic { font: 300 1.5rem/1 var(--rf-serif); letter-spacing: .06em; color: var(--rf-hneda); margin: 2.2rem 0 .9rem; padding-bottom: .5rem; border-bottom: 1px solid var(--rf-bezova); }
.rf .rf-den.rf-vikend h4 { color: var(--rf-hneda); font-weight: 600; }
.rf .rf-den h4 { font: 500 .95rem/1.4 var(--rf-pismo); color: var(--rf-tmava); margin: 0; }
.rf .rf-dialog h3 { margin: 0 0 10px; font: 400 21px/1.3 Georgia, serif; color: #1A202C; }
.rf .rf-pas figure { margin: 0; }
