/* Wicont – rezervace karavanů */
.wic-rez, .wic-cenik {
	--wic-accent: #c8102e;
	--wic-ink: #1c1f24;
	--wic-muted: #6b7280;
	--wic-line: #e3e5e8;
	--wic-volno: #e8f5ec;
	--wic-volno-hover: #c9ead3;
	--wic-obs: #e2e4e8;
	--wic-obs-ink: #9aa0a8;
	--wic-ceka: #fff1d6;
	--wic-blok: #d8dbe0;
	--wic-sel: var(--wic-accent);
	color: var(--wic-ink);
	font-size: 15px;
	line-height: 1.5;
	max-width: 100%;
	margin: 0 0 2em;
}
.wic-rez *, .wic-cenik * { box-sizing: border-box; }

/* Navigace měsíců */
.wic-nav { display: flex; align-items: center; justify-content: center; gap: 16px; margin-bottom: 12px; }
.wic-nav strong { min-width: 170px; text-align: center; font-size: 1.25em; text-transform: capitalize; }
.wic-nav button {
	width: 40px; height: 40px; border-radius: 50%; border: 1px solid var(--wic-line); background: #fff;
	font-size: 24px; line-height: 1; cursor: pointer; color: var(--wic-ink); padding: 0;
}
.wic-nav button:hover:not([disabled]) { border-color: var(--wic-accent); color: var(--wic-accent); }
.wic-nav button[disabled] { opacity: .35; cursor: default; }

/* Tabulka */
.wic-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; border: 1px solid var(--wic-line); border-radius: 8px; background: #fff; }
.wic-grid { border-collapse: separate; border-spacing: 0; width: 100%; margin: 0; table-layout: fixed; min-width: 760px; }
.wic-grid th, .wic-grid td { border: 0; padding: 0; margin: 0; }
.wic-grid thead th {
	font-size: 12px; font-weight: 600; text-align: center; padding: 6px 0; color: var(--wic-ink);
	border-bottom: 1px solid var(--wic-line); background: #fff;
}
.wic-grid thead th span { display: block; font-weight: 400; color: var(--wic-muted); font-size: 11px; }
.wic-grid thead th.wic-we { background: #f6f7f8; }
.wic-grid thead th.wic-dnes { color: var(--wic-accent); }
.wic-grid .wic-vuz-h, .wic-grid .wic-vuz {
	position: sticky; left: 0; z-index: 2; width: 170px; text-align: left; background: #fff;
	border-right: 1px solid var(--wic-line); padding: 8px 10px;
}
.wic-grid .wic-vuz-h { font-size: 11px; font-weight: 400; color: var(--wic-muted); }
.wic-grid .wic-vuz { font-weight: 600; font-size: 14px; border-bottom: 1px solid var(--wic-line); line-height: 1.3; }
.wic-grid .wic-vuz a { color: inherit; text-decoration: none; }
.wic-grid .wic-vuz a:hover { color: var(--wic-accent); }
.wic-grid .wic-vuz small { display: block; font-weight: 400; color: var(--wic-muted); font-size: 12px; }
.wic-grid tbody tr:last-child th, .wic-grid tbody tr:last-child td { border-bottom: 0; }

.wic-c { height: 52px; border-bottom: 1px solid var(--wic-line) !important; border-right: 1px solid #fff !important; cursor: pointer; position: relative; }
.wic-c.wic-volno { background: var(--wic-volno); }
.wic-c.wic-volno:hover { background: var(--wic-volno-hover); }
.wic-c.wic-obs { background: var(--wic-obs); cursor: not-allowed; }
.wic-c.wic-ceka { background: var(--wic-ceka) repeating-linear-gradient(135deg, transparent 0 6px, rgba(220,150,20,.18) 6px 9px); cursor: not-allowed; }
.wic-c.wic-blok { background: var(--wic-blok) repeating-linear-gradient(45deg, transparent 0 6px, rgba(0,0,0,.08) 6px 9px); cursor: not-allowed; }
.wic-c.wic-zac { box-shadow: inset 3px 0 0 rgba(0,0,0,.18); }
.wic-c.wic-past { opacity: .4; cursor: default; }
.wic-c.wic-sel { background: var(--wic-sel) !important; }
.wic-c.wic-sel-od { border-radius: 8px 0 0 8px; }
.wic-c.wic-sel-do { box-shadow: inset 4px 0 0 var(--wic-sel); }
.wic-c.wic-sel-do::after { content: "↩"; position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-size: 13px; color: var(--wic-sel); }

/* Administrace – kurzor */
.wic-admin .wic-c { cursor: pointer !important; }
.wic-admin .wic-c.wic-zac::before {
	content: attr(data-t); position: absolute; left: 4px; top: 50%; transform: translateY(-50%);
	white-space: nowrap; font-size: 11px; font-weight: 600; color: #333; pointer-events: none; z-index: 1;
}

/* Legenda */
.wic-legenda { list-style: none; display: flex; flex-wrap: wrap; gap: 6px 18px; margin: 10px 0 0; padding: 0; font-size: 13px; color: var(--wic-muted); }
.wic-legenda li { display: flex; align-items: center; gap: 6px; margin: 0; }
.wic-legenda i { display: inline-block; width: 16px; height: 16px; border-radius: 3px; }
.wic-legenda i.wic-volno { background: var(--wic-volno); border: 1px solid #b9dcc3; }
.wic-legenda i.wic-obs { background: var(--wic-obs); }
.wic-legenda i.wic-ceka { background: var(--wic-ceka); border: 1px solid #f0c97a; }
.wic-legenda i.wic-blok { background: var(--wic-blok); }
.wic-napoveda { font-size: 13px; color: var(--wic-muted); margin: 6px 0 0; }

/* Výběr a souhrn */
.wic-vyber {
	display: flex; justify-content: space-between; align-items: flex-start; gap: 16px;
	margin: 18px 0 0; padding: 16px 18px; border: 1px solid var(--wic-line); border-left: 4px solid var(--wic-accent);
	border-radius: 8px; background: #fff;
}
.wic-vyber[hidden], .wic-form[hidden] { display: none; }
.wic-rozpis { margin-top: 8px; font-size: 14px; color: var(--wic-muted); }
.wic-celkem { margin-top: 6px; font-size: 1.15em; }
.wic-zrusit-vyber { background: none; border: 0; color: var(--wic-muted); text-decoration: underline; cursor: pointer; padding: 0; font-size: 13px; white-space: nowrap; }
.wic-varovani { color: #9a3412; background: #fff4ed; border-radius: 6px; padding: 8px 10px; margin-top: 8px; font-size: 14px; }
.wic-ok { color: #14532d; background: #ecfdf3; border-radius: 6px; padding: 10px 12px; font-size: 15px; }

/* Formulář */
.wic-form { margin-top: 16px; padding: 18px; border: 1px solid var(--wic-line); border-radius: 8px; background: #fafafa; }
.wic-form h3 { margin: 0 0 12px; font-size: 1.2em; }
.wic-form label { display: block; font-size: 14px; font-weight: 600; margin-bottom: 12px; }
.wic-form input[type=text], .wic-form input[type=email], .wic-form input[type=tel], .wic-form textarea {
	display: block; width: 100%; margin-top: 4px; padding: 10px 12px; font: inherit; font-weight: 400;
	border: 1px solid #cfd3d8; border-radius: 6px; background: #fff;
}
.wic-form input:focus, .wic-form textarea:focus { outline: 2px solid var(--wic-accent); outline-offset: 0; border-color: transparent; }
.wic-pole-radek { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0 12px; }
.wic-form .wic-souhlas { font-weight: 400; display: flex; gap: 8px; align-items: flex-start; }
.wic-form .wic-souhlas input { margin-top: 4px; }
.wic-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.wic-odeslat {
	background: var(--wic-accent); color: #fff; border: 0; border-radius: 6px; padding: 12px 26px;
	font: inherit; font-weight: 700; cursor: pointer;
}
.wic-odeslat:hover { filter: brightness(1.08); }
.wic-odeslat[disabled] { opacity: .6; cursor: wait; }
.wic-zprava-form { margin: 10px 0 0; font-size: 14px; }
.wic-zprava-form.wic-chyba { color: #b91c1c; }

/* Ceník */
.wic-cenik h3 { margin: 0 0 10px; }
.wic-cenik-scroll { overflow-x: auto; }
.wic-cenik table { width: 100%; border-collapse: collapse; min-width: 520px; margin: 0; }
.wic-cenik th, .wic-cenik td { padding: 10px 12px; border-bottom: 1px solid var(--wic-line); text-align: left; vertical-align: top; }
.wic-cenik thead th { font-size: 14px; border-bottom: 2px solid var(--wic-ink); }
.wic-cenik thead th small { display: block; font-weight: 400; color: var(--wic-muted); font-size: 12px; }
.wic-cenik td { font-weight: 600; white-space: nowrap; }
.wic-cenik td small { font-weight: 400; color: var(--wic-muted); }
.wic-cenik tbody th a { color: inherit; }
.wic-cenik-pozn { font-size: 13px; color: var(--wic-muted); margin-top: 8px; }

@media (max-width: 700px) {
	.wic-pole-radek { grid-template-columns: 1fr; }
	.wic-grid .wic-vuz-h, .wic-grid .wic-vuz { width: 116px; padding: 6px 8px; font-size: 13px; }
	.wic-grid { min-width: 0; width: max-content; }
	.wic-grid thead th:not(.wic-vuz-h), .wic-c { width: 38px; }
	.wic-vyber { flex-direction: column; }
}
.wic-cenik tbody th small.wic-min { display:block; font-weight:400; color:var(--wic-muted); font-size:12px; }

/* --- v1.1: soboty v hlavní sezóně, podmínky, poznámka --- */
.wic-c.wic-volno.wic-so { background: #cdebd6; box-shadow: inset 0 3px 0 #2f9e5a; }
.wic-c.wic-volno.wic-tyden { background: #f1f8f3; }
.wic-c.wic-volno.wic-tyden:hover { background: #e3f1e7; }
.wic-napoveda-so { color: var(--wic-ink); font-weight: 600; }
.wic-extra { margin-top: 6px; font-size: 13px; color: var(--wic-muted); }
.wic-pozn-napoveda { display: block; font-weight: 400; font-size: 13px; color: var(--wic-accent); margin-top: 4px; }

.wic-podminky-box {
	--wic-accent: #c8102e; --wic-ink: #1c1f24; --wic-muted: #6b7280; --wic-line: #e3e5e8;
	color: var(--wic-ink); font-size: 15px; line-height: 1.5;
	margin: 0 0 24px; padding: 20px 22px; background: #fff; border: 1px solid var(--wic-line);
	border-top: 4px solid var(--wic-accent); border-radius: 8px;
}
.wic-podminky-box * { box-sizing: border-box; }
.wic-podminky-box h3 { margin: 0 0 14px; font-size: 1.25em; }
.wic-pasma-karty { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 12px; margin-bottom: 14px; }
.wic-pasmo-karta { display: flex; flex-direction: column; gap: 2px; padding: 12px 14px; border-radius: 8px; background: #f6f7f8; }
.wic-pasmo-karta.wic-pravidlo-sobota { background: #eef7f1; }
.wic-pasmo-karta strong { font-size: 15px; }
.wic-pasmo-mesice { font-size: 13px; color: var(--wic-muted); }
.wic-pasmo-pravidlo { font-size: 14px; font-weight: 600; margin-top: 4px; }
.wic-pasmo-cena { font-size: 14px; }
.wic-podminky-seznam { margin: 0 0 12px; padding: 0 0 0 20px; }
.wic-podminky-seznam li { margin: 0 0 4px; }
.wic-dohoda {
	margin: 0; padding: 12px 14px; border-radius: 8px; background: #fff4e5; border-left: 4px solid #e8900c;
	font-weight: 600;
}
.wic-dohoda a { margin-left: 6px; font-weight: 700; color: var(--wic-accent); white-space: nowrap; }
.wic-podminky-box .wic-podminky { margin-top: 12px; font-size: 14px; }
.wic-legenda i.wic-so { background: #cdebd6; box-shadow: inset 0 3px 0 #2f9e5a; }

/* --- v1.1.1: výraznější obsazené dny --- */
.wic-c.wic-obs {
	background: #3b4049 !important;
	background-image: linear-gradient(45deg, transparent 46%, rgba(255,255,255,.28) 46%, rgba(255,255,255,.28) 54%, transparent 54%),
		linear-gradient(-45deg, transparent 46%, rgba(255,255,255,.28) 46%, rgba(255,255,255,.28) 54%, transparent 54%) !important;
	background-size: 14px 14px !important;
	background-position: center !important;
	background-repeat: no-repeat !important;
}
.wic-c.wic-ceka { background-color: #f7c35b !important; }
.wic-legenda i.wic-obs { background: #3b4049 !important; }
.wic-legenda i.wic-ceka { background: #f7c35b !important; border-color: #e0a63a !important; }
.wic-admin .wic-c.wic-obs.wic-zac::before { color: #fff; }
.wic-km-pozn { display:block; color: var(--wic-muted); font-size: 13px; }
.wic-pasmo-km { font-size: 13px; color: var(--wic-muted); }
