/*============================================================================
   20-free-dates.css — stránka „Volné termíny" ([tr_free_dates])
   Matice datum × apartmány; buňky .tr-fd-free/occupied/checkin/checkout/na.
   Styl v duchu ceníku/kalendáře. Scope: .nj-freedates-section.
============================================================================*/

.nj-freedates-section { background: var(--sand-1); padding: 44px 0 84px; }
.nj-freedates-section > .et_pb_row {
	max-width: var(--container) !important;
	width: 92% !important;
	margin: 0 auto !important;
	padding: 0 !important;
}

/* ---- legenda ---- */
.nj-freedates-section .tr-fd-legend {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	margin-bottom: 18px;
}
.nj-freedates-section .tr-fd-legend-item {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: .9rem;
	color: var(--muted);
}
.nj-freedates-section .tr-fd-legend-dot {
	width: 14px;
	height: 14px;
	border-radius: 4px;
	display: inline-block;
}
.nj-freedates-section .tr-fd-legend-dot.tr-fd-free { background: #dcefdf; border: 1px solid #aee0c0; }
.nj-freedates-section .tr-fd-legend-dot.tr-fd-occupied { background: var(--sand-3); border: 1px solid var(--line-2); }
.nj-freedates-section .tr-fd-legend-dot.tr-fd-checkin { background: var(--accent); }

/* ---- tabulka ---- */
.nj-freedates-section .tr-fd-container {
	overflow-x: auto;
	border: 1px solid var(--line);
	border-radius: var(--r-card);
	box-shadow: var(--shadow);
	background: #fff;
}
.nj-freedates-section .tr-fd-table {
	width: 100%;
	border-collapse: collapse;
	font-size: .9rem;
}
.nj-freedates-section .tr-fd-th {
	background: var(--navy);
	color: #fff;
	font-weight: 600;
	padding: 12px 14px;
	text-align: center;
	white-space: nowrap;
	position: sticky;
	top: 0;
	z-index: 2;
}
.nj-freedates-section .tr-fd-th--date { text-align: left; left: 0; z-index: 3; }
.nj-freedates-section .tr-fd-td {
	padding: 10px 14px;
	text-align: center;
	border-bottom: 1px solid var(--line);
	border-left: 1px solid var(--line);
}
.nj-freedates-section .tr-fd-td--date {
	text-align: left;
	white-space: nowrap;
	color: var(--navy);
	font-weight: 600;
	background: var(--sand-1);
	border-left: none;
	position: sticky;
	left: 0;
	z-index: 1;
}
.nj-freedates-section .tr-fd-td--weekend { background: var(--sand-2); }

/* stavy dnů */
.nj-freedates-section .tr-fd-free { background: #e9fbf0; }
.nj-freedates-section .tr-fd-occupied { background: var(--sand-3); color: var(--muted); }
.nj-freedates-section .tr-fd-checkin { background: linear-gradient(135deg, #fff 0 50%, #ffe3b0 50% 100%); }
.nj-freedates-section .tr-fd-checkout { background: linear-gradient(135deg, #ffe3b0 0 50%, #fff 50% 100%); }
.nj-freedates-section .tr-fd-na { background: repeating-linear-gradient(45deg, #f3f1ea, #f3f1ea 6px, #fff 6px, #fff 12px); color: var(--line-2); }

@media (max-width: 600px) {
	.nj-freedates-section .tr-fd-th,
	.nj-freedates-section .tr-fd-td { padding: 8px 10px; font-size: .82rem; }
}
