/* =====================================================================
   Farské oznamy – vzhľad na webe
   Ladené na teplú papierovú paletu farskej témy; dedí písmo témy.
   ===================================================================== */

.foz-web {
	--foz-web-akcent: #8a6d3b;
	--foz-web-ink:    #3a342b;
	--foz-web-ink-2:  #6a6052;
	--foz-web-linka:  #e6dcc8;
	--foz-web-papier: #fffdf8;
	--foz-web-plocha: #f7f1e2;
	/* tvar a typografia vzhľadu */
	--foz-web-pismo:      inherit;
	--foz-web-pismo-h:    Georgia, "Times New Roman", serif;
	--foz-web-radius:     12px;
	--foz-web-radius-s:   8px;
	--foz-web-ram:        1px;
	--foz-web-tien:       none;
	--foz-web-hustota:    1;
	--foz-web-hlavicka-t: uppercase;
	--foz-web-hlavicka-s: .09em;
	--foz-web-nadpis-w:   600;
	color: var(--foz-web-ink);
	font-family: var(--foz-web-pismo);
	font-size: calc(1rem * var(--foz-web-hustota, 1) * .96 + .04rem);
	line-height: 1.6;
	margin: 0 0 2rem;
}
.foz-web * { box-sizing: border-box; }

.foz-web-nadpis {
	font-family: var(--foz-web-pismo-h); font-weight: var(--foz-web-nadpis-w);
	font-size: clamp(1.5rem, 1.2rem + 1vw, 2rem);
	line-height: 1.2; margin: 0 0 1rem; color: var(--foz-web-ink);
}
.foz-web-podnadpis { font-family: var(--foz-web-pismo-h); font-weight: var(--foz-web-nadpis-w);
	font-size: 1.1rem; margin: 0 0 .6rem; color: var(--foz-web-ink); }
.foz-prazdne {
	padding: 1.4rem 1.2rem; text-align: center; color: var(--foz-web-ink-2);
	background: var(--foz-web-plocha); border: var(--foz-web-ram) dashed var(--foz-web-linka); border-radius: var(--foz-web-radius-s);
}

/* --- tabuľka oznamov ------------------------------------------------ */
.foz-oznamy-box {
	background: var(--foz-web-papier);
	border: var(--foz-web-ram) solid var(--foz-web-linka);
	border-radius: var(--foz-web-radius); box-shadow: var(--foz-web-tien);
	padding: calc(clamp(1rem, .6rem + 1.4vw, 1.9rem) * var(--foz-web-hustota, 1));
}
.foz-oznamy-uvod, .foz-oznamy-zaver { margin-bottom: 1.2rem; }
.foz-web-hlavicka { margin: 0 0 .3rem; font-size: .86rem; letter-spacing: .04em; color: var(--foz-web-ink-2); }
.foz-oznamy-zaver { margin: 1.4rem 0 0; padding-top: 1.2rem; border-top: 1px solid var(--foz-web-linka); }

.foz-oznamy-tabulka {
	width: 100%; border-collapse: collapse; margin: .2rem 0 0;
	font-variant-numeric: tabular-nums;
}
.foz-oznamy-tabulka th, .foz-oznamy-tabulka td { text-align: left; vertical-align: top; }
.foz-oznamy-tabulka thead th {
	padding: .45rem .7rem; font-size: .74rem; font-weight: 600;
	letter-spacing: var(--foz-web-hlavicka-s); text-transform: var(--foz-web-hlavicka-t); color: var(--foz-web-ink-2);
	border-bottom: calc(var(--foz-web-ram) * 2) solid var(--foz-web-linka); white-space: nowrap;
}
.foz-oznamy-tabulka thead th:first-child { padding-left: 0; }
.foz-oznamy-tabulka tbody td { padding: calc(.55rem * var(--foz-web-hustota, 1)) .7rem; border-bottom: var(--foz-web-ram) solid var(--foz-web-linka); }
.foz-oznamy-tabulka tbody td:first-child { padding-left: 0; }

.foz-datum {
	width: 6.4rem; white-space: nowrap;
	border-right: 1px solid rgba(210,196,170,.45);
}
.foz-den-nazov { display: block; font-weight: 700; color: var(--foz-web-ink); }
.foz-den-cislo { display: block; font-size: .84rem; color: var(--foz-web-ink-2); }

.foz-slavenie {
	width: 34%; color: var(--foz-web-ink);
	border-right: 1px solid rgba(210,196,170,.45);
}
.foz-slavenie-nazov { font-weight: 500; }
.foz-farba-dot {
	display: inline-block; width: .62rem; height: .62rem; margin-right: .45rem;
	border-radius: 50%; border: 1px solid rgba(0,0,0,.28); vertical-align: baseline;
}
.foz-prikazany, .foz-volitelne {
	display: block; font-size: .8rem; color: var(--foz-web-ink-2); margin-top: .12rem;
}
.foz-prikazany { font-weight: 600; letter-spacing: .02em; }

.foz-miesto { width: 9.5rem; color: var(--foz-web-ink-2); }
.foz-cas { width: 4.4rem; font-weight: 700; white-space: nowrap; }
.foz-umysel { color: var(--foz-web-ink); }
.foz-volne { color: var(--foz-web-ink-2); }
.foz-pozn { color: var(--foz-web-ink-2); font-size: .87rem; }
.foz-bez { color: var(--foz-web-ink-2); font-style: italic; }

.foz-r.foz-nedela td { background: rgba(196,168,110,.09); }
.foz-r.foz-zrusena .foz-cas, .foz-r.foz-zrusena .foz-umysel { opacity: .6; text-decoration: line-through; }

/* --- text oznamov pod tabuľkou --- */
.foz-oznamy-text { margin-top: 1.7rem; padding-top: 1.2rem; border-top: 2px solid var(--foz-web-linka); }
.foz-oznamy-podnadpis { margin: 0 0 .7rem; font-size: 1.15rem; }
.foz-oznamy-uvod p:last-child, .foz-oznamy-zaver p:last-child { margin-bottom: 0; }
.foz-oznamy-zaver { margin-top: 1rem; }

/* --- archív --------------------------------------------------------- */
.foz-archiv { display: grid; gap: .5rem; }
.foz-archiv-item {
	background: var(--foz-web-papier); border: var(--foz-web-ram) solid var(--foz-web-linka);
	border-radius: var(--foz-web-radius-s); box-shadow: var(--foz-web-tien); overflow: hidden;
}
.foz-archiv-item > summary {
	cursor: pointer; padding: .85rem 1.1rem; display: flex; gap: .9rem; align-items: baseline;
	flex-wrap: wrap; list-style: none;
}
.foz-archiv-item > summary::-webkit-details-marker { display: none; }
.foz-archiv-item > summary:hover { background: var(--foz-web-plocha); }
.foz-archiv-datum {
	font-variant-numeric: tabular-nums; font-size: .85rem; color: var(--foz-web-akcent);
	font-weight: 600; letter-spacing: .02em; white-space: nowrap;
}
.foz-archiv-titul { color: var(--foz-web-ink); }
.foz-archiv-obsah { padding: 0 1.1rem 1.1rem; border-top: 1px solid var(--foz-web-linka); padding-top: 1rem; }

/* --- najbližšia omša ------------------------------------------------ */
.foz-najblizsia-list { list-style: none; margin: 0; padding: 0; display: grid; gap: .4rem; }
.foz-najblizsia-list li {
	display: flex; gap: .8rem; align-items: baseline; padding: .55rem .9rem;
	background: var(--foz-web-plocha); border-radius: var(--foz-web-radius-s);
}
.foz-nb-den { min-width: 6.5rem; color: var(--foz-web-ink-2); font-size: .9rem; }
.foz-nb-cas { font-weight: 700; font-variant-numeric: tabular-nums; color: var(--foz-web-ink); }
.foz-nb-miesto { color: var(--foz-web-ink-2); font-size: .92rem; }

/* --- liturgický deň ------------------------------------------------- */
.foz-lit-den { display: flex; flex-direction: column; gap: .2rem; margin: 0; }
.foz-lit-hlavne {
	display: inline-block; padding-left: .7rem; border-left: 4px solid var(--foz-web-akcent);
	font-weight: 600; color: var(--foz-web-ink);
}
.foz-lit-volitelne { padding-left: 1rem; font-size: .88rem; color: var(--foz-web-ink-2); }

/* --- trvalý rozvrh -------------------------------------------------- */
.foz-rozvrh table { width: 100%; border-collapse: collapse; }
.foz-rozvrh th {
	text-align: left; padding: .6rem .9rem .6rem 0; vertical-align: top;
	font-weight: 600; color: var(--foz-web-ink); border-bottom: 1px solid var(--foz-web-linka);
	white-space: nowrap;
}
.foz-rozvrh td { padding: .6rem .9rem .6rem 0; border-bottom: 1px solid rgba(230,220,200,.6); }
.foz-rozvrh .foz-r-cas { font-weight: 600; font-variant-numeric: tabular-nums; width: 4.6rem; white-space: nowrap; }
.foz-rozvrh .foz-r-miesto { color: var(--foz-web-ink-2); }

/* --- formulár ------------------------------------------------------- */
.foz-form-box {
	background: var(--foz-web-papier); border: var(--foz-web-ram) solid var(--foz-web-linka);
	border-radius: var(--foz-web-radius); box-shadow: var(--foz-web-tien);
	padding: calc(clamp(1rem, .6rem + 1.4vw, 1.9rem) * var(--foz-web-hustota, 1));
}
.foz-form { display: grid; gap: 1rem; position: relative; }
.foz-form-row { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); }
.foz-form-field { display: flex; flex-direction: column; gap: .35rem; }
.foz-form-field label { font-size: .85rem; font-weight: 600; color: var(--foz-web-ink); }
.foz-form input[type=text], .foz-form input[type=email], .foz-form input[type=tel],
.foz-form select, .foz-form textarea {
	width: 100%; padding: calc(.6rem * var(--foz-web-hustota, 1)) .75rem; font: inherit; font-size: .95rem;
	color: var(--foz-web-ink); background: var(--foz-web-papier);
	border: var(--foz-web-ram) solid var(--foz-web-linka); border-radius: var(--foz-web-radius-s);
}
.foz-form textarea { resize: vertical; min-height: 5rem; }
.foz-form input:focus, .foz-form select:focus, .foz-form textarea:focus {
	outline: none; border-color: var(--foz-web-akcent);
	box-shadow: 0 0 0 3px rgba(138,109,59,.15);
}
.foz-form-btn {
	justify-self: start; padding: .7rem 1.4rem; font: inherit; font-weight: 600;
	color: #fff; background: var(--foz-web-akcent); border: 0; border-radius: var(--foz-web-radius-s); cursor: pointer;
	transition: .15s;
}
.foz-form-btn:hover { filter: brightness(.92); }
.foz-form-pozn { margin: 0; font-size: .8rem; color: var(--foz-web-ink-2); }

.foz-web-ok, .foz-web-err {
	padding: .8rem 1rem; border-radius: var(--foz-web-radius-s); margin-bottom: 1rem; font-size: .95rem;
}
.foz-web-ok  { background: #eef6f0; border: 1px solid #cde4d6; color: #2c6640; }
.foz-web-err { background: #fbeeee; border: 1px solid #edd0d0; color: #8f2126; }

/* --- tlač ----------------------------------------------------------- */
@media print {
	.foz-web { margin: 0; }
	.foz-oznamy-box, .foz-form-box { border: 0; padding: 0; background: none; }
	.foz-archiv-item, .foz-oznamy-tabulka tr { break-inside: avoid; }
	.foz-oznamy-tabulka thead { display: table-header-group; }
}

@media (max-width: 560px) {
	.foz-miesto, .foz-slavenie { width: auto; }
	.foz-datum { width: 4.6rem; }
	.foz-nb-den { min-width: 5rem; }
}


/* --- hlavička tlačených oznamov (logo + údaje farnosti) --- */
.foz-hlavicka { display: flex; align-items: center; gap: 14px; margin-bottom: .5rem; }
.foz-hlavicka .foz-web-hlavicka { margin: 0; }
.foz-hlavicka-logo { display: block; width: auto; }

/* --- rozpisy v oznamoch --- */
.foz-k-den { white-space: nowrap; font-weight: 600; }
.foz-k-cas { white-space: nowrap; }

.foz-obrady { font-style: italic; }

/* --- označenie druhu slávenia --- */
.foz-druh {
	display: inline-block; padding: 0 .45em; border-radius: 999px;
	font-size: .78em; font-weight: 600; letter-spacing: .02em; white-space: nowrap; vertical-align: 1px;
}

/* --- hlavička prevzatá z Wordu --- */
.foz-hlavicka-word { display: block; }
.foz-hlavicka-word .foz-hlavicka-logo { float: left; margin: 0 10px 2px 0; }
.foz-hlavicka-word .foz-hlavicka-text { display: block; min-width: 0; }
.foz-hlavicka-word p { margin: 0 0 .12em; line-height: 1.25; }
.foz-hlavicka-word p[style*="center"] { margin-left: auto; margin-right: auto; }

/* --- hotové vzory: dvojstĺpcový a zoznam dní --- */
.foz-t-kompakt .foz-den { width: 30%; }
.foz-t-kompakt .foz-den .foz-slavenie { display: block; font-weight: 400; font-size: .92em; opacity: .85; }
.foz-t-kompakt .foz-umysel .foz-miesto { display: block; font-size: .88em; opacity: .75; }

.foz-z-zoznam .foz-z-den { margin: 0 0 1.1em; }
.foz-z-zoznam .foz-web-den { margin: 0; }
.foz-z-zoznam .foz-z-den .foz-slavenie { margin: .1em 0 .45em; font-size: .94em; opacity: .85; }
.foz-z-zoznam .foz-z-omsa { margin: 0 0 .3em; padding-left: .9em; border-left: 2px solid currentColor; }
.foz-z-zoznam .foz-z-omsa .foz-miesto { opacity: .75; }

/* --- bunka dňa a úmysel za farníkov --- */
.foz-datum .foz-den-cislo { display: block; font-weight: 700; }
.foz-datum .foz-den-nazov { display: block; font-weight: 400; font-style: italic; }
.foz-populo-text { font-weight: 700; }

/* --- formulár na zapísanie úmyslu ---------------------------------- */
.foz-int-form { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 20px; }
.foz-int-form > * { grid-column: 1 / -1; }
.foz-int-form > .foz-pol { grid-column: auto; }
.foz-int-form .foz-form-field > label, .foz-int-form .foz-pseudolabel {
  font-size: .74rem; letter-spacing: var(--foz-web-hlavicka-s, .09em);
  text-transform: var(--foz-web-hlavicka-t, uppercase); font-weight: 600;
  color: var(--foz-web-ink-2, #7a7161); }
.foz-datum-blok { display: grid; gap: 10px; }
.foz-int-form .foz-form-akcie { display: flex; flex-wrap: wrap; align-items: center; gap: 16px;
  border-top: 1px solid var(--foz-web-linka, #e2dccd); padding-top: 18px; }
.foz-form-akcie .foz-form-pozn { max-width: 34rem; }

.foz-kal-obal { border: var(--foz-web-ram, 1px) solid var(--foz-web-linka, #e2dccd);
  border-radius: var(--foz-web-radius-s, 6px); box-shadow: var(--foz-web-tien, none);
  padding: calc(14px * var(--foz-web-hustota, 1)) 16px 12px;
  background: var(--foz-web-papier, #fffdf8); }
.foz-kal-hlava { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 10px; }
.foz-kal-hlava .foz-kal-nazov { font-family: var(--foz-web-pismo-h, inherit); font-size: 1.15rem;
  font-weight: var(--foz-web-nadpis-w, 600); color: var(--foz-web-ink, #3a342b); }
.foz-kal-vzad, .foz-kal-vpred { width: 32px; height: 32px; border: var(--foz-web-ram, 1px) solid var(--foz-web-linka, #e2dccd);
  background: var(--foz-web-papier, #fff); border-radius: var(--foz-web-radius-s, 4px); cursor: pointer; font-size: 17px; line-height: 1;
  color: var(--foz-web-akcent, #8a6d3b); }
.foz-kal-vzad:disabled, .foz-kal-vpred:disabled { opacity: .35; cursor: default; }
.foz-kal-mriezka { display: grid; grid-template-columns: repeat(7, 1fr); gap: 4px; }
.foz-kal-hlavicka { text-align: center; font-size: .7rem; letter-spacing: .07em; text-transform: uppercase;
  color: var(--foz-web-ink-2, #7a7161); padding-bottom: 6px; }
.foz-kal-den { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px;
  min-height: calc(42px * var(--foz-web-hustota, 1)); border: var(--foz-web-ram, 1px) solid transparent;
  border-radius: var(--foz-web-radius-s, 4px); background: none;
  color: var(--foz-web-ink-2, #9a9384); opacity: .75; font: inherit; font-size: .95rem; padding: 4px 0; }
.foz-kal-den.je-nedela .foz-kal-cislo { color: #a4262c; }
.foz-kal-den.je-obsadeny { opacity: 1; }
.foz-kal-den.je-obsadeny .foz-kal-cislo { text-decoration: line-through; }
button.foz-kal-den.je-volny { cursor: pointer; opacity: 1; background: var(--foz-web-plocha, #f5f0e6);
  border-color: var(--foz-web-linka, #e2dccd); color: var(--foz-web-ink, #3a342b); font-weight: 600; }
button.foz-kal-den.je-volny:hover { border-color: var(--foz-web-akcent, #8a6d3b); }
button.foz-kal-den.je-vybrany { background: var(--foz-web-akcent, #8a6d3b); border-color: var(--foz-web-akcent, #8a6d3b); color: #fff; }
button.foz-kal-den.je-vybrany .foz-kal-cislo { color: #fff; }
button.foz-kal-den.je-vybrany .foz-kal-bodka { background: #fff; opacity: 1; }
.foz-kal-bodka { display: inline-block; width: 5px; height: 5px; border-radius: 50%;
  background: var(--foz-web-akcent, #8a6d3b); opacity: .55; }
.foz-kal-prazdny { min-height: 42px; }
.foz-kal-legenda { display: flex; flex-wrap: wrap; align-items: center; gap: 5px; margin: 12px 0 0;
  font-size: .78rem; color: var(--foz-web-ink-2, #7a7161); }
.foz-kal-legenda .foz-kal-bodka { margin-right: 3px; }
.foz-kal-ciarka { display: inline-block; width: 14px; border-top: 1px solid var(--foz-web-ink-2, #a89c8c); }
.foz-kal-odd { padding: 0 4px; opacity: .6; }

.foz-terminy { border: var(--foz-web-ram, 1px) solid var(--foz-web-linka, #e2dccd);
  border-radius: var(--foz-web-radius-s, 5px); background: var(--foz-web-plocha, #f5f0e6);
  padding: calc(14px * var(--foz-web-hustota, 1)) 16px; }
.foz-terminy-hlava { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between;
  gap: 10px; margin-bottom: 10px; }
.foz-terminy-nazov { font-family: var(--foz-web-pismo-h, inherit); font-size: 1.08rem;
  font-weight: var(--foz-web-nadpis-w, 600); color: var(--foz-web-ink, #3a342b); }
.foz-terminy-zmenit { border: 0; background: none; padding: 0; font: inherit; font-size: .84rem;
  color: var(--foz-web-akcent, #8a6d3b); text-decoration: underline; cursor: pointer; }
.foz-terminy-pozn { color: var(--foz-web-ink-2, #7a7161); font-size: .92rem; margin: 0; }
.foz-terminy-zoznam { display: grid; gap: 8px; }
.foz-termin { display: flex; align-items: center; gap: 10px; border: var(--foz-web-ram, 1px) solid var(--foz-web-linka, #e2dccd);
  border-radius: var(--foz-web-radius-s, 4px); padding: calc(11px * var(--foz-web-hustota, 1)) 13px;
  background: var(--foz-web-papier, #fff); cursor: pointer; }
.foz-termin input { margin: 0; flex: none; }
.foz-termin-cas { font-weight: 700; min-width: 52px; }
.foz-termin-miesto { color: var(--foz-web-ink, #3a342b); }
.foz-termin:has(input:checked) { border-color: var(--foz-web-akcent, #8a6d3b);
  box-shadow: 0 0 0 2px rgba(138,109,59,.16); }
.foz-termin.je-lubovolny { border-style: dashed; }
.foz-termin.je-lubovolny .foz-termin-cas { font-weight: 600; }
.foz-termin.je-lubovolny .foz-termin-miesto { color: var(--foz-web-ink-2, #7a7161); }

.foz-bez-datumu { display: flex; align-items: center; gap: 8px; margin: 2px 0 0; font-size: .95rem; cursor: pointer; }
.foz-suhlas { display: flex; align-items: flex-start; gap: 10px; margin: 4px 0 2px; font-size: .92rem; line-height: 1.55; cursor: pointer; }
.foz-suhlas input { margin-top: 3px; flex: none; }
.foz-povinne { color: var(--foz-web-akcent, #8a6d3b); }
.foz-miesto-box { display: grid; gap: 4px; max-width: 340px; }
.foz-vyber { display: block; font-size: .84rem; line-height: 1.6; color: var(--foz-web-ink-2, #7a7161); }
.foz-vyber-suhrn { font-weight: 500; }
.foz-otazka input { width: 100%; }
.foz-form .cf-turnstile { margin: 2px 0 0; }

.foz-navod { margin: 0; padding: 10px 14px; background: var(--foz-web-plocha, #f4efe4);
  border-radius: var(--foz-web-radius-s, 6px); font-size: .9rem; }
.foz-navod summary { cursor: pointer; font-weight: 600; }
.foz-navod ol { margin: 8px 0 0; padding-left: 20px; }
.foz-navod li { margin: 3px 0; }
.foz-nepovinne { color: var(--foz-web-ink-2, #7a7161); font-weight: 400; text-transform: none; letter-spacing: 0; }
.foz-miesto-pozn { margin: 4px 0 0; font-size: .84rem; color: var(--foz-web-ink-2, #7a7161); }
@media (max-width: 560px) {
  .foz-int-form > .foz-pol { grid-column: 1 / -1; }
  .foz-kal-den, .foz-kal-prazdny { min-height: 38px; }
}


/* --- vzhľady výstupov na webe --- */
.foz-web.foz-styl-pergamen{--foz-web-akcent:#8a6d3b;--foz-web-ink:#3a342b;--foz-web-ink-2:#6a6052;--foz-web-linka:#e6dcc8;--foz-web-papier:#fffdf8;--foz-web-plocha:#f7f1e2;}
.foz-web.foz-styl-klasicky{--foz-web-akcent:#1f4e79;--foz-web-ink:#1f2328;--foz-web-ink-2:#57606a;--foz-web-linka:#d8dee4;--foz-web-papier:#ffffff;--foz-web-plocha:#f4f6f8;}
.foz-web.foz-styl-liturgicky{--foz-web-akcent:#7b2130;--foz-web-ink:#2b2224;--foz-web-ink-2:#6b5b5e;--foz-web-linka:#e7d9d5;--foz-web-papier:#fffcfb;--foz-web-plocha:#f7eeeb;}
.foz-web.foz-styl-zelen{--foz-web-akcent:#3f6b4a;--foz-web-ink:#242b26;--foz-web-ink-2:#5c6a60;--foz-web-linka:#dbe4dc;--foz-web-papier:#fdfefc;--foz-web-plocha:#eef3ed;}
.foz-web.foz-styl-minimal{--foz-web-akcent:#3d3d3d;--foz-web-ink:#1c1c1c;--foz-web-ink-2:#666666;--foz-web-linka:#dddddd;--foz-web-papier:#ffffff;--foz-web-plocha:#f2f2f2;}
.foz-web.foz-styl-tmavy{--foz-web-akcent:#c9a227;--foz-web-ink:#ece7dd;--foz-web-ink-2:#b3aca0;--foz-web-linka:#3a3630;--foz-web-papier:#221f1b;--foz-web-plocha:#2b2823;}
.foz-web.foz-styl-tmavy .foz-kal-obal,
.foz-web.foz-styl-tmavy .foz-termin,
.foz-web.foz-styl-tmavy .foz-kal-den.je-volny,
.foz-web.foz-styl-tmavy .foz-kal-vzad,
.foz-web.foz-styl-tmavy .foz-kal-vpred { background: var(--foz-web-plocha); color: var(--foz-web-ink); }
.foz-web.foz-styl-tmavy .foz-navod,
.foz-web.foz-styl-tmavy .foz-vyber { background: var(--foz-web-plocha); }

/* --- voľné termíny sv. omší --- */
.foz-volne-box { border: var(--foz-web-ram, 1px) solid var(--foz-web-linka, #e2dccd); border-radius: var(--foz-web-radius-s, 8px);
  background: var(--foz-web-papier, #fffdf8); padding: clamp(1rem, .6rem + 1vw, 1.6rem); }
.foz-volne { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.foz-volne-den { display: grid; gap: 6px; }
.foz-volne-datum { font-weight: 600; color: var(--foz-web-ink, #3a342b); }
.foz-volne-casy { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.foz-volne-casy li { display: inline-flex; align-items: baseline; gap: 8px;
  border: 1px solid var(--foz-web-linka, #e2dccd); border-radius: 4px; padding: 7px 11px;
  background: var(--foz-web-plocha, #f5f0e6); }
.foz-volne-cas { font-weight: 700; }
.foz-volne-miesto { color: var(--foz-web-ink-2, #7a7161); font-size: .92rem; }
.foz-volne-akcia { margin: 16px 0 0; }
.foz-volne-akcia .foz-form-btn { display: inline-block; text-decoration: none; }

.foz-nb-ical { margin-left: 10px; font-size: .82rem; color: var(--foz-web-akcent, #8a6d3b); text-decoration: none;
  border-bottom: 1px dotted currentColor; }
.foz-nb-ical:hover { border-bottom-style: solid; }
@media print { .foz-nb-ical { display: none; } }

/* --- zlúčené stĺpce (dvojstĺpcové oznamy) --- */
.foz-zlucene .foz-c-datum { display: block; font-weight: 700; }
.foz-zlucene .foz-c-slavenie { display: block; color: var(--foz-web-ink-2); }
.foz-zlucene .foz-c-cas { font-weight: 700; margin-right: .45em; white-space: nowrap; }
.foz-zlucene .foz-c-miesto { margin-left: .45em; color: var(--foz-web-ink-2); }

/* --- nové vzhľady (záložné triedy; presné hodnoty dopĺňa plugin inline) --- */
.foz-web.foz-styl-moderny{--foz-web-akcent:#2f6f6b;--foz-web-ink:#1d2b2a;--foz-web-ink-2:#5f7270;--foz-web-linka:#dfe8e7;--foz-web-papier:#ffffff;--foz-web-plocha:#f2f7f6;--foz-web-radius:18px;--foz-web-radius-s:12px;--foz-web-tien:0 6px 22px rgba(20,50,48,.08);--foz-web-hustota:1.15;--foz-web-hlavicka-t:none;--foz-web-hlavicka-s:0;--foz-web-nadpis-w:700;--foz-web-pismo-h:inherit;}
.foz-web.foz-styl-kniha{--foz-web-akcent:#5c4632;--foz-web-ink:#2a2723;--foz-web-ink-2:#6d675e;--foz-web-linka:#cfc9bd;--foz-web-papier:#ffffff;--foz-web-plocha:#ffffff;--foz-web-radius:0;--foz-web-radius-s:0;--foz-web-tien:none;--foz-web-pismo:Georgia,"Times New Roman",serif;--foz-web-pismo-h:Georgia,"Times New Roman",serif;--foz-web-hlavicka-t:none;--foz-web-hlavicka-s:.04em;}
.foz-web.foz-styl-kontrast{--foz-web-akcent:#00457c;--foz-web-ink:#111111;--foz-web-ink-2:#3d3d3d;--foz-web-linka:#8a8a8a;--foz-web-papier:#ffffff;--foz-web-plocha:#eef1f5;--foz-web-radius:4px;--foz-web-radius-s:3px;--foz-web-ram:2px;--foz-web-tien:none;--foz-web-hustota:1.2;--foz-web-nadpis-w:700;--foz-web-pismo-h:inherit;}
.foz-web.foz-styl-klasicky{--foz-web-radius:6px;--foz-web-radius-s:4px;--foz-web-pismo-h:inherit;--foz-web-nadpis-w:700;}
.foz-web.foz-styl-minimal{--foz-web-radius:0;--foz-web-radius-s:0;--foz-web-hustota:.9;--foz-web-pismo-h:inherit;}
.foz-web.foz-styl-liturgicky{--foz-web-tien:0 2px 10px rgba(90,40,45,.07);--foz-web-hustota:1.1;--foz-web-hlavicka-s:.12em;}
.foz-web.foz-styl-zelen{--foz-web-hlavicka-t:none;--foz-web-hlavicka-s:.02em;--foz-web-pismo-h:inherit;}


/* =====================================================================
   Rozloženia formulára na zapísanie úmyslu (Nastavenia → Vzhľad)
   ===================================================================== */

/* karta – predvolené dvojstĺpcové rozloženie (definované vyššie) */

/* jeden stĺpec – úzke priestory, mobil-first */
.foz-int-form.foz-forma-jeden { grid-template-columns: 1fr; gap: 14px; }
.foz-int-form.foz-forma-jeden > .foz-pol { grid-column: 1 / -1; }
.foz-int-form.foz-forma-jeden .foz-miesto-box { max-width: none; }

/* kroky – číslované úseky s farebnou linkou vľavo */
.foz-int-form.foz-forma-kroky { grid-template-columns: 1fr; gap: 0; counter-reset: fozkrok; }
.foz-int-form.foz-forma-kroky > .foz-form-field,
.foz-int-form.foz-forma-kroky > .foz-datum-blok,
.foz-int-form.foz-forma-kroky > .foz-suhlas {
	position: relative; padding: 16px 0 18px 46px;
	border-left: 2px solid var(--foz-web-linka); margin-left: 12px;
}
.foz-int-form.foz-forma-kroky > .foz-form-field::before,
.foz-int-form.foz-forma-kroky > .foz-datum-blok::before {
	counter-increment: fozkrok; content: counter(fozkrok);
	position: absolute; left: -15px; top: 14px; width: 28px; height: 28px;
	display: flex; align-items: center; justify-content: center;
	border-radius: 50%; background: var(--foz-web-akcent); color: #fff;
	font-size: 13px; font-weight: 700;
}
.foz-int-form.foz-forma-kroky > .foz-form-akcie { padding-left: 46px; margin-left: 12px; border-top: 0; }

/* rám – každý úsek ako samostatná ohraničená karta */
.foz-int-form.foz-forma-ram { gap: 14px 16px; }
.foz-int-form.foz-forma-ram > .foz-form-field,
.foz-int-form.foz-forma-ram > .foz-datum-blok {
	background: var(--foz-web-plocha); border: var(--foz-web-ram) solid var(--foz-web-linka);
	border-radius: var(--foz-web-radius-s); padding: 14px 16px;
}
.foz-int-form.foz-forma-ram .foz-kal-obal { background: var(--foz-web-papier); }

/* široký – tri stĺpce na veľkých obrazovkách, kalendár vedľa polí */
.foz-int-form.foz-forma-siroky { grid-template-columns: repeat(3, 1fr); }
.foz-int-form.foz-forma-siroky > .foz-datum-blok { grid-column: span 2; grid-row: span 3; }
.foz-int-form.foz-forma-siroky > .foz-pol { grid-column: auto; }
@media (max-width: 860px) {
	.foz-int-form.foz-forma-siroky { grid-template-columns: 1fr 1fr; }
	.foz-int-form.foz-forma-siroky > .foz-datum-blok { grid-column: 1 / -1; grid-row: auto; }
}

/* =====================================================================
   Podoby kalendára voľných termínov
   ===================================================================== */

/* mriezka – predvolená mesačná mriežka */

/* kompakt – menšie bunky, hustejšie */
.foz-kalvar-kompakt .foz-kal-den, .foz-kalvar-kompakt .foz-kal-prazdny { min-height: 32px; font-size: .88rem; }
.foz-kalvar-kompakt .foz-kal-mriezka { gap: 2px; }
.foz-kalvar-kompakt .foz-kal-obal { padding: 10px 12px 8px; }
.foz-kalvar-kompakt .foz-kal-bodka { width: 4px; height: 4px; }

/* velky – veľké dotykové bunky */
.foz-kalvar-velky .foz-kal-den, .foz-kalvar-velky .foz-kal-prazdny { min-height: 58px; font-size: 1.05rem; }
.foz-kalvar-velky .foz-kal-mriezka { gap: 6px; }

/* zoznam – bez mriežky, len dni s voľnou omšou za sebou */
.foz-kalvar-zoznam .foz-kal-hlavicka, .foz-kalvar-zoznam .foz-kal-prazdny { display: none; }
.foz-kalvar-zoznam .foz-kal-den:not(.je-volny):not(.je-obsadeny) { display: none; }
.foz-kalvar-zoznam .foz-kal-mriezka { display: flex; flex-wrap: wrap; gap: 6px; }
.foz-kalvar-zoznam .foz-kal-den { min-width: 44px; min-height: 40px; padding: 6px 10px; }
.foz-kalvar-zoznam button.foz-kal-den.je-volny { border-radius: 999px; }

/* pasik – jeden vodorovný pás dní s posúvaním */
.foz-kalvar-pasik .foz-kal-hlavicka, .foz-kalvar-pasik .foz-kal-prazdny { display: none; }
.foz-kalvar-pasik .foz-kal-mriezka {
	display: flex; gap: 6px; overflow-x: auto; padding-bottom: 6px;
	scroll-snap-type: x proximity;
}
.foz-kalvar-pasik .foz-kal-den { flex: 0 0 auto; min-width: 46px; min-height: 52px; scroll-snap-align: start; }
