/* Slow Studio – rezervačná mriežka
   Vlastné CSS premenné s prefixom --ss-, aby sa nebilo s témou. */

/* ---------------------------------------------------------------------
   DÔLEŽITÉ: tokeny musia byť na :root, NIE na .ss-app.
   Modálne okno a toast sa vkladajú priamo do <body>, teda mimo .ss-app.
   Keby boli premenné definované na .ss-app, vo vnútri modálu by sa
   var(--ss-bg) nevyhodnotilo na nič → priehľadné okno bez pozadia
   a tlačidlá bez výplne. Prefix --ss- zaručuje, že sa nebijú s témou.
   --------------------------------------------------------------------- */
:root {
	/* Porcelán + celadonová glazúra. Teplá (železitá) farba je vyhradená
	   výhradne pre obsadené sloty – inak je celá mriežka chladná. */
	--ss-bg: #ffffff;
	--ss-surface: #eaeeec;
	--ss-line: #d8dedb;
	--ss-line-strong: #bfc8c4;
	--ss-ink: #1b211f;
	--ss-ink-soft: #5d6a65;
	--ss-ink-faint: #8b9691;
	--ss-clay: #40796b;
	--ss-clay-soft: #e3ede9;
	--ss-clay-deep: #2f5a50;
	--ss-sage: #40796b;
	--ss-sage-soft: #e3ede9;
	--ss-full: #f2e3dd;
	--ss-full-ink: #a2543a;
	--ss-scrim: rgba(24, 30, 28, .55);
	--ss-radius: 10px;
	--ss-radius-lg: 16px;
}

/* Tmavý režim je DOBROVOĽNÝ. Predvolene sa riadi webom, nie operačným
   systémom – inak by na svetlej WordPress téme vznikol tmavý pás.
   Zapína sa shortcode atribútom theme="dark" alebo theme="auto". */
:root[data-ss-theme="dark"],
:root[data-ss-theme="auto"] {
	--ss-bg: #ffffff;
}

:root[data-ss-theme="dark"] {
	--ss-bg: #171e1c;
	--ss-surface: #1a211f;
	--ss-line: #2a3431;
	--ss-line-strong: #3b4643;
	--ss-ink: #ecf1ef;
	--ss-ink-soft: #a3b0ab;
	--ss-ink-faint: #6f7c78;
	--ss-clay: #78b3a2;
	--ss-clay-soft: #1e2e2a;
	--ss-clay-deep: #9ccdbd;
	--ss-sage: #40796b;
	--ss-sage-soft: #1e2e2a;
	--ss-full: #33221c;
	--ss-full-ink: #d4886a;
	--ss-scrim: rgba(0, 0, 0, .66);
}

@media (prefers-color-scheme: dark) {
	:root[data-ss-theme="auto"] {
		--ss-bg: #171e1c;
		--ss-surface: #1a211f;
		--ss-line: #2a3431;
		--ss-line-strong: #3b4643;
		--ss-ink: #ecf1ef;
		--ss-ink-soft: #a3b0ab;
		--ss-ink-faint: #6f7c78;
		--ss-clay: #78b3a2;
		--ss-clay-soft: #1e2e2a;
		--ss-clay-deep: #9ccdbd;
		--ss-sage: #40796b;
		--ss-sage-soft: #1e2e2a;
		--ss-full: #33221c;
		--ss-full-ink: #d4886a;
		--ss-scrim: rgba(0, 0, 0, .66);
	}
}

.ss-app {
	color: var(--ss-ink, #1b211f);
	background: var(--ss-bg, #ffffff);
	font-family: inherit;
	font-size: 15px;
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
}

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

.ss-skeleton {
	padding: 48px 16px;
	text-align: center;
	color: var(--ss-ink-faint);
}

/* ---------- Hlavička ---------- */

.ss-head {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	align-items: flex-end;
	justify-content: space-between;
	margin-bottom: 20px;
}

.ss-tabs {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
}

.ss-tab {
	appearance: none;
	border: 1px solid var(--ss-line-strong);
	background: transparent;
	color: var(--ss-ink-soft);
	font: inherit;
	font-weight: 500;
	padding: 9px 18px;
	border-radius: 999px;
	cursor: pointer;
	transition: background .15s, color .15s, border-color .15s;
}
.ss-tab:hover { border-color: var(--ss-clay); color: var(--ss-ink); }
.ss-tab[aria-selected="true"] {
	background: var(--ss-clay);
	border-color: var(--ss-clay);
	color: #fff;
}

.ss-credit {
	display: inline-flex;
	align-items: baseline;
	gap: 8px;
	padding: 8px 16px;
	border-radius: 999px;
	background: var(--ss-sage-soft);
	color: var(--ss-ink);
	font-size: 14px;
	white-space: nowrap;
}
.ss-credit strong { font-size: 17px; font-variant-numeric: tabular-nums; }
.ss-credit.is-empty { background: var(--ss-full); color: var(--ss-full-ink); }

.ss-credit-chip {
	display: inline-block;
	padding: 4px 12px;
	border-radius: 999px;
	background: var(--ss-sage-soft, #e3ede9);
	color: var(--ss-ink, #1b211f);
	font-size: 14px;
}

/* ---------- Popis zdroja ---------- */

.ss-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 20px;
	padding: 14px 18px;
	margin-bottom: 18px;
	border-radius: var(--ss-radius);
	background: var(--ss-surface);
	border: 1px solid var(--ss-line);
	font-size: 14px;
	color: var(--ss-ink-soft);
}
.ss-meta b { color: var(--ss-ink); font-weight: 600; }

/* ---------- Navigácia týždňa ---------- */

.ss-nav {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 12px;
}
.ss-nav-range {
	font-weight: 600;
	font-size: 16px;
	font-variant-numeric: tabular-nums;
}
.ss-nav-btns { display: flex; gap: 6px; }
.ss-nav button {
	appearance: none;
	border: 1px solid var(--ss-line-strong);
	background: var(--ss-bg);
	color: var(--ss-ink);
	font: inherit;
	padding: 7px 14px;
	border-radius: var(--ss-radius);
	cursor: pointer;
	transition: border-color .15s, background .15s;
}
.ss-nav button:hover:not(:disabled) { border-color: var(--ss-clay); }
.ss-nav button:disabled { opacity: .38; cursor: not-allowed; }

/* ---------- Mriežka ---------- */

.ss-grid-wrap {
	overflow-x: auto;
	border: 1px solid var(--ss-line);
	border-radius: var(--ss-radius-lg);
	background: var(--ss-bg);
	-webkit-overflow-scrolling: touch;
}

.ss-grid {
	width: 100%;
	min-width: 720px;
	border-collapse: separate;
	border-spacing: 0;
}

.ss-grid th,
.ss-grid td {
	border-bottom: 1px solid var(--ss-line);
	border-right: 1px solid var(--ss-line);
	padding: 0;
	text-align: center;
	vertical-align: middle;
}
.ss-grid tr > *:last-child { border-right: 0; }
.ss-grid tbody tr:last-child > * { border-bottom: 0; }

.ss-grid thead th {
	position: sticky;
	top: 0;
	z-index: 2;
	background: var(--ss-surface);
	padding: 12px 6px;
	font-weight: 600;
	font-size: 13px;
	line-height: 1.3;
}
.ss-grid thead th .ss-dow {
	display: block;
	color: var(--ss-ink-soft);
	font-weight: 500;
	text-transform: lowercase;
	letter-spacing: .02em;
}
.ss-grid thead th .ss-date {
	display: block;
	font-variant-numeric: tabular-nums;
	font-size: 15px;
	margin-top: 2px;
}
.ss-grid thead th.is-today .ss-date { color: var(--ss-clay); }
.ss-grid thead th.is-closed { color: var(--ss-ink-faint); }

.ss-hourcell {
	width: 74px;
	min-width: 74px;
	background: var(--ss-surface);
	font-size: 13px;
	font-variant-numeric: tabular-nums;
	color: var(--ss-ink-soft);
	padding: 0 10px;
	text-align: right;
	position: sticky;
	left: 0;
	z-index: 1;
}

/* ---------- Bunky slotov ---------- */

.ss-slot {
	width: 100%;
	height: 46px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 5px;
	border: 0;
	background: transparent;
	font: inherit;
	font-size: 13px;
	color: var(--ss-ink-faint);
	cursor: default;
	transition: background .12s;
}

.ss-slot.is-free {
	background: var(--ss-bg);
	color: var(--ss-ink-soft);
	cursor: pointer;
}
.ss-slot.is-free:hover {
	background: var(--ss-clay-soft);
	color: var(--ss-clay-deep);
}
.ss-slot.is-free .ss-dots { display: inline-flex; gap: 3px; }
.ss-slot.is-free .ss-dot {
	width: 5px; height: 5px; border-radius: 50%;
	background: var(--ss-clay);
	opacity: .85;
}
.ss-slot.is-free .ss-dot.is-taken { background: var(--ss-line-strong); opacity: 1; }

.ss-slot.is-full {
	background: var(--ss-full);
	color: var(--ss-full-ink);
	font-size: 12px;
}
.ss-slot.is-closed,
.ss-slot.is-past,
.ss-slot.is-beyond {
	background: repeating-linear-gradient(
		135deg,
		transparent, transparent 5px,
		var(--ss-line) 5px, var(--ss-line) 6px
	);
	opacity: .5;
}
.ss-slot.is-mine {
	background: var(--ss-sage);
	color: #fff;
	font-weight: 600;
	font-size: 12px;
	cursor: pointer;
}
.ss-slot.is-mine:hover { filter: brightness(1.08); }

.ss-slot:focus-visible {
	outline: 2px solid var(--ss-clay);
	outline-offset: -2px;
}

/* ---------- Legenda ---------- */

.ss-legend {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 20px;
	margin-top: 14px;
	font-size: 13px;
	color: var(--ss-ink-soft);
}
.ss-legend span { display: inline-flex; align-items: center; gap: 7px; }
.ss-legend i {
	width: 14px; height: 14px; border-radius: 4px; display: inline-block;
	border: 1px solid var(--ss-line-strong);
}
.ss-legend .lg-free { background: var(--ss-bg); }
.ss-legend .lg-full { background: var(--ss-full); border-color: var(--ss-full); }
.ss-legend .lg-mine { background: var(--ss-sage); border-color: var(--ss-sage); }
.ss-legend .lg-closed {
	background: repeating-linear-gradient(135deg, transparent, transparent 3px, var(--ss-line-strong) 3px, var(--ss-line-strong) 4px);
}

/* ---------- Moje rezervácie ---------- */

.ss-mine-list { margin-top: 28px; }
.ss-mine-list h3 { font-size: 16px; margin: 0 0 10px; }
.ss-mine-item {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding: 12px 16px;
	border: 1px solid var(--ss-line);
	border-radius: var(--ss-radius);
	margin-bottom: 8px;
	background: var(--ss-surface);
	font-size: 14px;
}
.ss-mine-item .ss-when { font-weight: 600; font-variant-numeric: tabular-nums; }
.ss-mine-item .ss-what { color: var(--ss-ink-soft); }

/* ---------- Modal ---------- */

.ss-modal-back {
	position: fixed;
	inset: 0;
	background: var(--ss-scrim, rgba(24, 30, 28, .55));
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 16px;
	/* vyššie než lepkavé hlavičky bežných WP tém */
	z-index: 2147483000;
	font-family: inherit;
	font-size: 15px;
	line-height: 1.5;
}
.ss-modal-back *,
.ss-modal-back *::before,
.ss-modal-back *::after { box-sizing: border-box; }

.ss-modal {
	/* Neprehliadnuteľne nepriehľadné: pevná náhrada aj tokenová hodnota.
	   Ak by téma prepísala premenné, okno je stále čitateľné. */
	background: #ffffff;
	background: var(--ss-bg, #ffffff);
	color: #1b211f;
	color: var(--ss-ink, #1b211f);
	border: 1px solid var(--ss-line, #d8dedb);
	border-radius: var(--ss-radius-lg, 16px);
	max-width: 420px;
	width: 100%;
	max-height: calc(100vh - 32px);
	overflow-y: auto;
	padding: 26px;
	box-shadow: 0 24px 60px rgba(0,0,0,.28);
}
.ss-modal h3 { margin: 0 0 4px; font-size: 20px; }
.ss-modal .ss-modal-when {
	color: var(--ss-ink-soft);
	font-size: 15px;
	margin-bottom: 20px;
	font-variant-numeric: tabular-nums;
}
.ss-field { margin-bottom: 18px; }
.ss-field label { display: block; font-size: 13px; color: var(--ss-ink-soft); margin-bottom: 7px; }
.ss-seats { display: flex; gap: 6px; flex-wrap: wrap; }
.ss-seats button {
	width: 42px; height: 42px;
	border: 1px solid var(--ss-line-strong, #bfc8c4);
	background: #ffffff;
	background: var(--ss-bg, #ffffff);
	color: #1b211f;
	color: var(--ss-ink, #1b211f);
	border-radius: var(--ss-radius);
	font: inherit;
	cursor: pointer;
	font-variant-numeric: tabular-nums;
}
.ss-seats button[aria-pressed="true"] {
	background: #40796b;
	background: var(--ss-clay, #40796b);
	border-color: var(--ss-clay, #40796b);
	color: #fff;
}

.ss-summary {
	display: flex;
	justify-content: space-between;
	padding: 14px 16px;
	background: #eaeeec;
	background: var(--ss-surface, #eaeeec);
	border-radius: var(--ss-radius);
	margin-bottom: 18px;
	font-size: 14px;
}
.ss-summary strong { font-variant-numeric: tabular-nums; }
.ss-summary .ss-after { color: var(--ss-ink-soft); }

.ss-actions { display: flex; gap: 10px; }
.ss-btn {
	flex: 1;
	appearance: none;
	border: 0;
	border-radius: var(--ss-radius);
	padding: 12px 18px;
	font: inherit;
	font-weight: 600;
	cursor: pointer;
	transition: filter .15s, opacity .15s;
}
.ss-btn:disabled { opacity: .5; cursor: not-allowed; }
.ss-btn-primary { background: #40796b; background: var(--ss-clay, #40796b); color: #fff; }
.ss-btn-primary:hover:not(:disabled) { filter: brightness(1.07); }
.ss-btn-danger { background: #a2543a; background: var(--ss-full-ink, #a2543a); color: #fff; }
.ss-btn-ghost {
	background: transparent;
	color: #5d6a65;
	color: var(--ss-ink-soft, #5d6a65);
	border: 1px solid var(--ss-line-strong, #bfc8c4);
}

.ss-error {
	background: #f2e3dd;
	background: var(--ss-full, #f2e3dd);
	color: #a2543a;
	color: var(--ss-full-ink, #a2543a);
	padding: 11px 14px;
	border-radius: var(--ss-radius);
	font-size: 14px;
	margin-bottom: 16px;
}
.ss-notice {
	background: #e3ede9;
	background: var(--ss-sage-soft, #e3ede9);
	color: #1b211f;
	color: var(--ss-ink, #1b211f);
	padding: 11px 14px;
	border-radius: var(--ss-radius);
	font-size: 14px;
	margin-bottom: 16px;
}

.ss-toast {
	position: fixed;
	left: 50%;
	bottom: 28px;
	transform: translateX(-50%);
	background: #1b211f;
	background: var(--ss-ink, #1b211f);
	color: #ffffff;
	color: var(--ss-bg, #ffffff);
	font-family: inherit;
	padding: 12px 22px;
	border-radius: 999px;
	font-size: 14px;
	z-index: 2147483001;
	box-shadow: 0 10px 30px rgba(0,0,0,.25);
}

/* ---------- Mobil ---------- */

@media (max-width: 640px) {
	.ss-head { align-items: stretch; }
	.ss-credit { align-self: flex-start; }
	.ss-grid { min-width: 640px; }
	.ss-hourcell { width: 58px; min-width: 58px; font-size: 12px; padding: 0 7px; }
	.ss-slot { height: 42px; font-size: 12px; }
	.ss-modal { padding: 20px; }
}

/* Modál žije mimo .ss-app, takže mu téma môže vnútiť vlastné štýly.
   Explicitne prepíšeme to, čo témy bežne nastavujú globálne. */
.ss-modal h3 { color: inherit; font-family: inherit; }
.ss-modal p, .ss-modal span, .ss-modal label, .ss-modal div { color: inherit; }
.ss-modal button { font-family: inherit; letter-spacing: normal; text-transform: none; }
.ss-modal a { color: var(--ss-clay, #40796b); }

@media (prefers-reduced-motion: reduce) {
	.ss-app *, .ss-modal-back * { transition: none !important; animation: none !important; }
}

/* Témy často štýlujú button globálne (uppercase, letter-spacing, tieň).
   Mriežka aj modál si držia vlastný vzhľad nezávisle od témy. */
.ss-app button,
.ss-modal-back button {
	font-family: inherit;
	letter-spacing: normal;
	text-transform: none;
	text-shadow: none;
	box-shadow: none;
	line-height: 1.5;
	min-height: 0;
	width: auto;
}
.ss-app .ss-slot { width: 100%; }
.ss-app .ss-btn, .ss-modal-back .ss-btn { width: auto; }
.ss-seats button { width: 42px; }

/* ==================================================================
   Karta "Moje konto" – prihlásenie, registrácia, prehľad kreditu
   ================================================================== */

.ss-tab-account { margin-left: auto; }
.ss-tab-icon {
	display: inline-block;
	margin-right: 7px;
	font-size: 9px;
	vertical-align: middle;
	opacity: .6;
}
.ss-tab[aria-selected="true"] .ss-tab-icon { opacity: 1; }

@media (max-width: 560px) {
	.ss-tab-account { margin-left: 0; }
}

.ss-account { margin-top: 4px; }

/* ---------- prihlasovací / registračný formulár ---------- */

.ss-auth-card {
	max-width: 420px;
	margin: 8px auto 0;
	padding: 28px;
	border: 1px solid var(--ss-line, #d8dedb);
	border-radius: var(--ss-radius-lg, 16px);
	background: var(--ss-bg, #ffffff);
}
.ss-auth-title {
	margin: 0 0 4px;
	font-size: 21px;
	font-weight: 600;
	color: var(--ss-ink, #1b211f);
}
.ss-auth-sub {
	margin: 0 0 22px;
	color: var(--ss-ink-soft, #5d6a65);
	font-size: 14px;
}
.ss-auth-error:empty { display: none; }

.ss-form-row { margin-bottom: 16px; }
.ss-form-row label {
	display: block;
	font-size: 12px;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--ss-ink-soft, #5d6a65);
	margin-bottom: 6px;
}
.ss-form-row input {
	width: 100%;
	padding: 11px 13px;
	font: inherit;
	font-size: 15px;
	color: var(--ss-ink, #1b211f);
	background: var(--ss-bg, #ffffff);
	border: 1px solid var(--ss-line-strong, #bfc8c4);
	border-radius: var(--ss-radius, 10px);
	transition: border-color .15s, box-shadow .15s;
}
.ss-form-row input:focus {
	outline: none;
	border-color: var(--ss-clay, #40796b);
	box-shadow: 0 0 0 3px var(--ss-clay-soft, #e3ede9);
}

.ss-check {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 20px;
	font-size: 14px;
	color: var(--ss-ink-soft, #5d6a65);
	cursor: pointer;
}
.ss-check input { width: 16px; height: 16px; margin: 0; accent-color: var(--ss-clay, #40796b); }

/* pasca na roboty – mimo obrazovky, nie display:none */
.ss-hp {
	position: absolute !important;
	left: -9999px !important;
	width: 1px; height: 1px;
	overflow: hidden;
}

.ss-btn-block { width: 100%; display: block; }
.ss-btn-sm { padding: 7px 14px; font-size: 13px; font-weight: 500; flex: 0 0 auto; }

.ss-link {
	appearance: none;
	border: 0;
	background: none;
	padding: 0;
	font: inherit;
	color: var(--ss-clay, #40796b);
	text-decoration: underline;
	text-underline-offset: 2px;
	cursor: pointer;
}
.ss-link:hover { color: var(--ss-clay-deep, #2f5a50); }

.ss-auth-switch {
	margin: 18px 0 0;
	font-size: 14px;
	color: var(--ss-ink-soft, #5d6a65);
	text-align: center;
}
.ss-auth-note {
	margin: 14px 0 0;
	padding-top: 14px;
	border-top: 1px solid var(--ss-line, #d8dedb);
	font-size: 13px;
	color: var(--ss-ink-faint, #8b9691);
	text-align: center;
}

/* ---------- prihlásený klient ---------- */

.ss-account-top {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	align-items: center;
	justify-content: space-between;
	padding-bottom: 18px;
	border-bottom: 1px solid var(--ss-line, #d8dedb);
	margin-bottom: 22px;
}
.ss-account-hello { font-size: 19px; font-weight: 600; }
.ss-account-mail { font-size: 13px; color: var(--ss-ink-faint, #8b9691); }

.ss-balance-card {
	display: flex;
	flex-direction: column;
	gap: 3px;
	padding: 22px 24px;
	border-radius: var(--ss-radius-lg, 16px);
	background: var(--ss-sage-soft, #e3ede9);
	border: 1px solid var(--ss-clay-soft, #e3ede9);
	margin-bottom: 30px;
}
.ss-balance-card.is-empty {
	background: var(--ss-full, #f2e3dd);
	border-color: var(--ss-full, #f2e3dd);
}
.ss-balance-label {
	font-size: 11px;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--ss-ink-soft, #5d6a65);
}
.ss-balance-value {
	font-size: 34px;
	font-weight: 600;
	line-height: 1.1;
	font-variant-numeric: tabular-nums;
	color: var(--ss-clay-deep, #2f5a50);
}
.ss-balance-card.is-empty .ss-balance-value { color: var(--ss-full-ink, #a2543a); }
.ss-balance-hint { font-size: 13px; color: var(--ss-ink-soft, #5d6a65); margin-top: 4px; }

.ss-sec-title {
	margin: 0 0 12px;
	font-size: 15px;
	font-weight: 600;
	color: var(--ss-ink, #1b211f);
}

.ss-empty {
	padding: 18px;
	border: 1px dashed var(--ss-line-strong, #bfc8c4);
	border-radius: var(--ss-radius, 10px);
	color: var(--ss-ink-faint, #8b9691);
	font-size: 14px;
	text-align: center;
	margin-bottom: 30px;
}

/* ---------- výpis pohybov ---------- */

.ss-ledger-wrap {
	overflow-x: auto;
	border: 1px solid var(--ss-line, #d8dedb);
	border-radius: var(--ss-radius, 10px);
	margin-bottom: 10px;
}
.ss-ledger {
	width: 100%;
	min-width: 460px;
	border-collapse: collapse;
	font-size: 14px;
}
.ss-ledger th {
	text-align: left;
	padding: 10px 14px;
	background: var(--ss-surface, #eaeeec);
	font-weight: 500;
	font-size: 12px;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--ss-ink-soft, #5d6a65);
	border-bottom: 1px solid var(--ss-line, #d8dedb);
}
.ss-ledger td {
	padding: 11px 14px;
	border-bottom: 1px solid var(--ss-line, #d8dedb);
	color: var(--ss-ink, #1b211f);
}
.ss-ledger tbody tr:last-child td { border-bottom: 0; }
.ss-ledger .ss-num { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.ss-ledger .ss-plus { color: var(--ss-clay-deep, #2f5a50); }
.ss-ledger .ss-minus { color: var(--ss-full-ink, #a2543a); }
.ss-ledger .ss-note {
	display: block;
	font-size: 12px;
	color: var(--ss-ink-faint, #8b9691);
}

.ss-account .ss-mine-item { margin-bottom: 8px; }
.ss-account .ss-mine-item:last-of-type { margin-bottom: 30px; }

/* Poradie v kaskáde: pravidlo .ss-app .ss-btn { width:auto } vyššie má vyššiu
   špecificitu než .ss-btn-block, takže blokové tlačidlo musí prísť až tu. */
.ss-app .ss-btn-block,
.ss-modal-back .ss-btn-block { width: 100%; display: block; }

/* Odkazy vnútri rezervácie preberajú akcent, nie modrú z témy. */
.ss-app a { color: var(--ss-clay, #40796b); }
.ss-app a:hover { color: var(--ss-clay-deep, #2f5a50); }
