/*
 * Stara Warzelnia – Panel Weselny.
 * Kolory i kroje z motywu strony stara-warzelnia.pl (Kadence): jeśli motyw jest aktywny,
 * panel bierze jego zmienne --global-palette*, w przeciwnym razie wartości zapasowe z palety strony.
 * Wszystkie reguły zawężone do .swp-panel, żeby nie kolidować z motywem.
 */
.swp-panel {
	--swp-gold: var(--global-palette1, #b59f6b);        /* złoto – akcenty, przyciski, linie */
	--swp-gold-dark: var(--global-palette2, #97875c);   /* złoto ciemniejsze – hover */
	--swp-gold-soft: #f6f1e6;                            /* złoto rozjaśnione – zaznaczenia */
	--swp-ink: var(--global-palette3, #35302d);         /* ciemny brąz – nagłówki, mocny tekst */
	--swp-text: var(--global-palette4, #464646);        /* tekst podstawowy */
	--swp-muted: var(--global-palette5, #686868);       /* tekst pomocniczy */
	--swp-line: #dedad1;                                 /* obramowania */
	--swp-soft: var(--global-palette7, #f0efea);        /* tło sekcji */
	--swp-bg: var(--global-palette8, #f5f4f1);          /* tło strony */
	--swp-card: var(--global-palette9, #ffffff);
	--swp-ok: var(--global-palette11, #13612e);
	--swp-err: var(--global-palette13, #b82105);
	--swp-warn-bg: #fbf1dc;
	--swp-warn-text: #5e4500;
	--swp-font: var(--global-body-font-family, Karla, sans-serif);
	--swp-heading: var(--global-heading-font-family, Cormorant, serif);

	color: var(--swp-text);
	background: var(--swp-bg);
	font-family: var(--swp-font);
	font-size: 16px;
	line-height: 1.6;
	max-width: 920px;
	margin: 0 auto;
	padding: 24px;
	box-sizing: border-box;
}
.swp-panel *, .swp-panel *::before, .swp-panel *::after { box-sizing: border-box; }

/* Nagłówki jak na stronie: Cormorant, wersaliki, rozstrzelone. */
.swp-panel h2, .swp-panel h3 {
	font-family: var(--swp-heading);
	font-weight: 500;
	text-transform: uppercase;
	color: var(--swp-ink);
	line-height: 1.2;
}
.swp-panel h2 { margin: 0 0 6px; font-size: 1.9em; letter-spacing: 2px; }
.swp-panel h3 { margin: 0 0 10px; font-size: 1.45em; letter-spacing: 1.5px; }
.swp-panel h3::after { content: ""; display: block; width: 48px; height: 2px; background: var(--swp-gold); margin-top: 8px; }
.swp-panel h4 {
	margin: 28px 0 10px; font-family: var(--swp-font); font-size: .82em; font-weight: 700;
	text-transform: uppercase; letter-spacing: 1.5px; color: var(--swp-ink);
}
.swp-head { text-align: center; padding: 8px 0 4px; }
.swp-head::before {
	content: "Panel Weselny"; display: block; margin-bottom: 6px;
	font-size: .78em; letter-spacing: 3px; text-transform: uppercase; color: var(--swp-gold-dark);
}
.swp-meta, .swp-intro, .swp-help { color: var(--swp-muted); margin: 0 0 12px; }
.swp-help { font-size: .9em; margin: 2px 0 8px; }

/* Pasek terminu i zapisu */
.swp-bar {
	position: sticky; top: 0; z-index: 5;
	background: var(--swp-card);
	border: 1px solid var(--swp-line);
	border-top: 3px solid var(--swp-gold);
	padding: 12px 18px;
	margin: 16px 0;
	display: grid; gap: 4px;
}
.swp-bar--locked { background: var(--swp-soft); }
.swp-bar p { margin: 0; }
.swp-deadline { color: var(--swp-text); }
.swp-count-label { color: var(--swp-muted); }
.swp-countdown strong { font-variant-numeric: tabular-nums; color: var(--swp-ink); letter-spacing: .5px; }
.swp-progress { height: 6px; background: var(--swp-soft); overflow: hidden; margin-top: 8px; }
.swp-progress span { display: block; height: 100%; background: var(--swp-gold); transition: width .3s ease; }
.swp-progress-label { font-size: .82em; color: var(--swp-muted); text-transform: uppercase; letter-spacing: 1px; }
.swp-save { font-size: .85em; color: var(--swp-muted); }
.swp-save--saved { color: var(--swp-ok); }
.swp-save--warn { color: var(--swp-warn-text); }
.swp-save--error { color: var(--swp-err); font-weight: 700; }

/* Zakładki – jak menu strony: wersaliki, rozstrzelone, złote podkreślenie aktywnej */
.swp-tabs {
	display: flex; gap: 2px; overflow-x: auto; margin: 0 0 16px;
	border-bottom: 1px solid var(--swp-line); -webkit-overflow-scrolling: touch; scrollbar-width: thin;
}
.swp-panel .swp-tab {
	flex: 0 0 auto; position: relative;
	border: 0; border-bottom: 2px solid transparent; margin-bottom: -1px;
	background: transparent; color: var(--swp-text);
	border-radius: 0; padding: 10px 12px;
	font-family: var(--swp-font); font-size: .78em; font-weight: 400; line-height: 1.3;
	text-transform: uppercase; letter-spacing: 1.5px; cursor: pointer; white-space: nowrap;
	box-shadow: none;
}
.swp-panel .swp-tab:hover { color: var(--swp-ink); border-bottom-color: var(--swp-line); background: transparent; }
.swp-panel .swp-tab.is-active { color: var(--swp-ink); font-weight: 700; border-bottom-color: var(--swp-gold); background: transparent; }
@media (min-width: 768px) {
	.swp-tabs { flex-wrap: wrap; overflow: visible; }
}
.swp-badge {
	display: inline-block; min-width: 18px; margin-left: 6px; padding: 0 5px;
	background: var(--swp-err); color: #fff; font-size: .85em; line-height: 18px; text-align: center; letter-spacing: 0;
}

/* Treść zakładki */
.swp-body { background: var(--swp-card); border: 1px solid var(--swp-line); padding: 24px; }
.swp-field { border: 0; margin: 0 0 22px; padding: 0; min-width: 0; }
.swp-label { display: block; font-weight: 700; color: var(--swp-ink); margin-bottom: 6px; padding: 0; }
.swp-req { color: var(--swp-gold-dark); }
.swp-panel input[type="text"], .swp-panel input[type="number"], .swp-panel input[type="time"],
.swp-panel input[type="password"], .swp-panel input[type="email"], .swp-panel textarea, .swp-panel select {
	width: 100%; max-width: 480px; font: inherit; padding: 10px 12px;
	border: 1px solid var(--swp-line); border-radius: 3px; background: #fff; color: var(--swp-text);
	box-shadow: none;
}
.swp-panel input[type="number"], .swp-panel input[type="time"] { max-width: 180px; }
.swp-panel input:focus, .swp-panel textarea:focus, .swp-panel select:focus { border-color: var(--swp-gold); }
.swp-panel input:focus-visible, .swp-panel textarea:focus-visible, .swp-panel select:focus-visible,
.swp-panel button:focus-visible, .swp-panel a:focus-visible {
	outline: 2px solid var(--swp-gold-dark); outline-offset: 2px;
}
.swp-panel input:disabled, .swp-panel textarea:disabled, .swp-panel select:disabled { background: var(--swp-soft); color: var(--swp-muted); }
.swp-panel input[type="radio"], .swp-panel input[type="checkbox"] { accent-color: var(--swp-gold-dark); width: 16px; height: 16px; }

.swp-options { display: flex; flex-wrap: wrap; gap: 8px; }
.swp-option {
	display: inline-flex; align-items: center; gap: 8px;
	padding: 9px 14px; border: 1px solid var(--swp-line); cursor: pointer; background: #fff; color: var(--swp-text);
	transition: border-color .15s ease, background-color .15s ease;
}
.swp-option:hover { border-color: var(--swp-gold); }
.swp-option:has(input:checked) { border-color: var(--swp-gold); background: var(--swp-gold-soft); color: var(--swp-ink); }
.swp-option:has(input:disabled:not(:checked)) { opacity: .45; cursor: not-allowed; }
.swp-option--menu { display: flex; width: 100%; align-items: flex-start; }
.swp-option--menu input { margin-top: 4px; flex: 0 0 auto; }
.swp-error { color: var(--swp-err); font-size: .9em; margin: 4px 0 0; }
.swp-error:empty { display: none; }
.swp-info { background: var(--swp-soft); border-left: 3px solid var(--swp-gold); padding: 10px 14px; margin: 0 0 16px; }
.swp-value { margin: 0; color: var(--swp-ink); }

/* Listy osób */
.swp-list-row { display: flex; flex-wrap: wrap; gap: 8px; align-items: flex-end; padding: 10px 0; border-bottom: 1px solid var(--swp-soft); }
.swp-list-no { width: 28px; padding-bottom: 10px; color: var(--swp-gold-dark); font-weight: 700; }
.swp-sub { display: grid; gap: 2px; flex: 1 1 200px; font-size: .9em; }
.swp-sub span { color: var(--swp-muted); }
.swp-count { color: var(--swp-muted); font-size: .88em; margin: 8px 0 0; }

/* Przyciski jak na stronie: złote tło, wersaliki, bez zaokrągleń */
.swp-panel .swp-add, .swp-panel .swp-login input[type="submit"] {
	display: inline-block; margin-top: 12px; padding: 10px 20px;
	border: 0; border-radius: 0; background: var(--swp-gold); color: #fff;
	font-family: var(--swp-font); font-size: .82em; font-weight: 400; text-transform: uppercase; letter-spacing: 1.5px;
	cursor: pointer; box-shadow: none; transition: background-color .15s ease;
}
.swp-panel .swp-add:hover, .swp-panel .swp-login input[type="submit"]:hover { background: var(--swp-gold-dark); }
.swp-panel .swp-remove {
	padding: 9px 12px; border: 1px solid var(--swp-line); border-radius: 0; background: #fff; color: var(--swp-err);
	font-family: var(--swp-font); font-size: .78em; text-transform: uppercase; letter-spacing: 1px; cursor: pointer;
}
.swp-panel .swp-link, .swp-panel .swp-missing a {
	border: 0; background: none; padding: 0 0 0 6px; font: inherit; cursor: pointer;
	color: var(--swp-ink); text-decoration: underline; text-decoration-color: var(--swp-gold); text-underline-offset: 3px;
}
.swp-panel .swp-link:hover, .swp-panel .swp-missing a:hover { color: var(--swp-gold-dark); }

/* Menu */
.swp-menu-cat { border: 1px solid var(--swp-line); padding: 14px 16px; margin: 0 0 16px; }
.swp-menu-cat legend {
	font-family: var(--swp-heading); font-size: 1.2em; font-weight: 500; text-transform: uppercase; letter-spacing: 1px;
	color: var(--swp-ink); padding: 0 8px;
}
.swp-menu-group { display: grid; gap: 6px; margin-bottom: 12px; }
.swp-menu-group-label {
	margin: 6px 0 2px; font-weight: 700; font-size: .78em; text-transform: uppercase; letter-spacing: 1px; color: var(--swp-gold-dark);
}

/* Noclegi */
.swp-room { border: 1px solid var(--swp-line); padding: 14px 16px; margin: 0 0 14px; display: grid; gap: 8px; }
.swp-room legend {
	font-family: var(--swp-heading); font-size: 1.15em; font-weight: 500; text-transform: uppercase; letter-spacing: 1px;
	color: var(--swp-ink); padding: 0 8px;
}

/* Noclegi – podział na sypialnie */
.swp-room-unit { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 8px; padding: 8px 0; border-top: 1px solid var(--swp-soft); }
.swp-room-unit-label { grid-column: 1 / -1; margin: 0; font-size: .78em; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; color: var(--swp-gold-dark); }
.swp-room-unit--salon { background: var(--swp-soft); padding: 8px 10px; }

/* Układ stołów */
.swp-plan-wrap { border: 1px solid var(--swp-line); background: #fff; padding: 8px; margin: 8px 0 12px; overflow-x: auto; }
.swp-plan { display: block; width: 100%; height: auto; font-family: var(--swp-font); }
.swp-plan .swp-slot { cursor: pointer; outline: none; }
.swp-plan .swp-slot:hover > :first-child, .swp-plan .swp-slot:focus > :first-child { stroke: var(--swp-gold); stroke-width: 8; }
.swp-plan .swp-slot.is-selected > :first-child { stroke: var(--swp-gold-dark); stroke-width: 10; fill: var(--swp-gold-soft); }
.swp-layout-sum { margin: 8px 0; padding: 8px 12px; background: var(--swp-warn-bg); border-left: 3px solid var(--swp-gold); }
.swp-layout-sum.is-ok { background: #eaf3ec; border-left-color: var(--swp-ok); }
.swp-layout-sum .swp-muted { color: var(--swp-muted); font-size: .88em; }
.swp-layout-edit { border: 1px solid var(--swp-gold); background: var(--swp-gold-soft); padding: 12px 14px; margin: 0 0 12px; }
.swp-layout-edit-row { display: flex; flex-wrap: wrap; gap: 12px; }
.swp-layout-edit-row .swp-sub { flex: 0 1 260px; }
.swp-layout-actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.swp-layout-actions .swp-add { margin-top: 0; }
.swp-layout-list { margin: 0; padding-left: 18px; }
.swp-layout-list li { margin: 3px 0; }
.swp-layout-list li::marker { color: var(--swp-gold); }

/* Zasady lokalu */
.swp-rules { margin: 0 0 12px 18px; }
.swp-rules li::marker { color: var(--swp-gold); }
.swp-check { display: flex; gap: 10px; align-items: flex-start; font-weight: 700; color: var(--swp-ink); }

/* Komunikaty i podsumowanie */
.swp-issue { padding: 10px 14px; margin: 8px 0; border-left: 3px solid; }
.swp-issue--warning { background: var(--swp-warn-bg); color: var(--swp-warn-text); border-color: var(--swp-gold); }
.swp-issue--error { background: #fbe9e5; color: var(--swp-err); border-color: var(--swp-err); }
.swp-totals { display: grid; grid-template-columns: 1fr auto; gap: 6px 16px; margin: 0; }
.swp-totals dt { color: var(--swp-muted); }
.swp-totals dd { margin: 0; font-weight: 700; color: var(--swp-ink); text-align: right; font-variant-numeric: tabular-nums; }
.swp-missing { padding-left: 18px; margin: 0; }
.swp-missing li { margin: 3px 0; }
.swp-missing li::marker { color: var(--swp-gold); }
.swp-panel .swp-missing a { padding: 0; }
.swp-pricing { width: 100%; border-collapse: collapse; font-size: .92em; }
.swp-pricing th, .swp-pricing td { text-align: left; padding: 8px; border-bottom: 1px solid var(--swp-soft); }
.swp-pricing thead th { font-size: .78em; text-transform: uppercase; letter-spacing: 1px; color: var(--swp-muted); border-bottom: 1px solid var(--swp-line); }
.swp-pricing td:nth-child(n+2), .swp-pricing th:nth-child(n+2) { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.swp-pricing tfoot th { border-top: 2px solid var(--swp-gold); border-bottom: 0; color: var(--swp-ink); font-size: 1.05em; }
.swp-pricing tr.swp-pricing-group th { text-align: left; background: var(--swp-soft); font-size: .8em; text-transform: uppercase; letter-spacing: 1px; color: var(--swp-muted); }
.swp-payments tfoot tr:first-child th { border-top: 2px solid var(--swp-gold); }
.swp-payments tfoot tr + tr th { border-top: 0; }
.swp-payments tr.swp-due th { font-size: 1.15em; color: var(--swp-ink); }

/* Stopka z wylogowaniem */
.swp-foot {
	display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px;
	margin-top: 20px; padding-top: 16px; border-top: 1px solid var(--swp-line);
}
.swp-foot-info { margin: 0; color: var(--swp-muted); font-size: .9em; }
.swp-panel .swp-logout {
	display: inline-block; padding: 10px 22px; border: 1px solid var(--swp-gold); background: transparent;
	color: var(--swp-ink); text-decoration: none; font-family: var(--swp-font); font-size: .82em;
	text-transform: uppercase; letter-spacing: 1.5px; transition: background-color .15s ease, color .15s ease;
}
.swp-panel .swp-logout:hover, .swp-panel .swp-logout:focus-visible { background: var(--swp-gold); color: #fff; }

/* Logowanie */
.swp-login { max-width: 440px; margin: 0 auto; text-align: left; }
.swp-login h2 { text-align: center; }
.swp-login > p:first-of-type { text-align: center; color: var(--swp-muted); }
.swp-login form p { margin: 0 0 14px; }
.swp-login label { display: block; font-weight: 700; color: var(--swp-ink); margin-bottom: 4px; }
.swp-login .login-remember label { display: inline-flex; gap: 8px; align-items: center; font-weight: 400; }
.swp-login input[type="text"], .swp-login input[type="password"] { max-width: none; }

@media (max-width: 600px) {
	.swp-panel { padding: 12px; }
	.swp-panel h2 { font-size: 1.5em; }
	.swp-body { padding: 16px 14px; }
	.swp-pricing .swp-col-price { display: none; }
	/* Na telefonie pasek nie zasłania formularza – przyklejony zostaje tylko stan zapisu. */
	.swp-bar { position: static; }
	.swp-save {
		position: fixed; left: 12px; right: 12px; bottom: 12px; z-index: 20; margin: 0; padding: 8px 12px;
		background: var(--swp-card); border: 1px solid var(--swp-line); border-top: 2px solid var(--swp-gold);
		text-align: center; box-shadow: 0 2px 10px rgba(53, 48, 45, .15);
	}
	.swp-save--idle:not(.swp-save--error) { display: none; }
	.swp-foot { margin-bottom: 64px; flex-direction: column; align-items: stretch; text-align: center; }
	.swp-panel .swp-logout { text-align: center; }
}

/* Lista imienna */
.swp-panel .swp-gl-cat { margin: 0 0 24px; }
.swp-panel .swp-gl-title { font-size: 1rem; margin: 0 0 8px; line-height: 1.4; }
.swp-panel .swp-gl-count { font-weight: 400; font-size: .85em; color: var(--swp-muted); white-space: nowrap; }
.swp-panel .swp-gl-wrap { border: 1px solid var(--swp-line); background: #fff; }
.swp-panel .swp-gl-table { width: 100%; border-collapse: collapse; margin: 0; }
.swp-panel .swp-gl-table th { text-align: left; font-size: .8em; text-transform: uppercase; letter-spacing: 1px; color: var(--swp-muted); padding: 8px 6px; border-bottom: 1px solid var(--swp-line); background: var(--swp-bg, #f5f4f1); }
.swp-panel .swp-gl-table td { padding: 4px 6px; border-bottom: 1px solid var(--swp-line); vertical-align: middle; }
.swp-panel .swp-gl-table tr:last-child td { border-bottom: 0; }
.swp-panel .swp-gl-table input { width: 100%; box-sizing: border-box; margin: 0; min-height: 40px; }
.swp-panel .swp-gl-no { width: 44px; color: var(--swp-muted); text-align: right; white-space: nowrap; }
.swp-panel th.swp-gl-no { text-align: right; }
.swp-panel .swp-gl-stolik { width: 140px; }
.swp-panel .swp-gl-uwagi { width: 34%; }
.swp-panel .swp-gl-krzeselko { width: 104px; text-align: center; }
.swp-panel .swp-gl-osoba { width: 32%; }
.swp-panel .swp-gl-table input.swp-gl-check { width: 22px; height: 22px; min-height: 0; accent-color: var(--swp-gold); vertical-align: middle; }
.swp-panel .swp-gl-checklabel { display: inline-flex; align-items: center; gap: 6px; cursor: pointer; }
.swp-panel .swp-gl-checktext { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.swp-panel .swp-gl-table tr.is-chair td { background: #fcefc7; }
.swp-panel .swp-gl-table tr.is-chair td.swp-gl-no { box-shadow: inset 4px 0 0 #d9a520; color: var(--swp-ink); font-weight: 700; }
.swp-panel .swp-gl-chairs:empty { display: none; }
@media (max-width: 640px) {
	.swp-panel .swp-gl-table thead { display: none; }
	.swp-panel .swp-gl-table tr { display: grid; grid-template-columns: 36px 1fr 1fr; gap: 6px 8px; padding: 10px 8px; border-bottom: 1px solid var(--swp-line); }
	.swp-panel .swp-gl-table td { display: block; padding: 0; border: 0; width: auto; }
	.swp-panel .swp-gl-table td.swp-gl-no { grid-row: span 3; text-align: left; padding-top: 10px; }
	.swp-panel .swp-gl-table td.swp-gl-osoba, .swp-panel .swp-gl-table td.swp-gl-uwagi { grid-column: 2 / span 2; }
	.swp-panel .swp-gl-table td.swp-gl-stolik { grid-column: 2 / span 2; }
	.swp-panel .swp-gl-table td.swp-gl-krzeselko { grid-column: 2 / span 2; text-align: left; }
	.swp-panel .swp-gl-table td[data-label]::before { content: attr(data-label); display: block; font-size: .75em; color: var(--swp-muted); margin-bottom: 2px; }
}
.swp-panel .swp-layout-warn { background: #fbe9e6; border-left-color: var(--swp-error, #b3261e); }
.swp-panel .swp-row-sums { display: flex; flex-wrap: wrap; gap: 6px 16px; }
.swp-panel .swp-row-sums .is-over { color: var(--swp-error, #b3261e); font-weight: 700; }

/* Dania dopłacane pod pytaniem */
.swp-panel .swp-menu-extra { margin: -6px 0 22px 18px; padding-left: 16px; border-left: 3px solid var(--swp-gold); }
/* Przycisk „Dalej” */
.swp-panel .swp-next { display: flex; justify-content: flex-end; margin-top: 28px; padding-top: 18px; border-top: 1px solid var(--swp-line); }
.swp-panel .swp-next-btn { background: var(--swp-gold); color: #fff; border: 1px solid var(--swp-gold-dark); border-radius: 0; padding: 12px 26px; min-height: 48px; font-size: .9rem; letter-spacing: 1.5px; text-transform: uppercase; cursor: pointer; font-family: inherit; }
.swp-panel .swp-next-btn:hover, .swp-panel .swp-next-btn:focus { background: var(--swp-gold-dark); color: #fff; }
@media (max-width: 640px) { .swp-panel .swp-next-btn { width: 100%; } }
.swp-panel .swp-gl-export { margin: 0 0 18px; padding: 10px 14px; background: var(--swp-bg); border-left: 3px solid var(--swp-gold); }
.swp-panel .swp-gl-export a { color: var(--swp-gold-dark); font-weight: 600; }
/* Plan swobodny (1.5) */
.swp-panel .swp-layout-tools { display: grid; gap: 8px; margin: 0 0 12px; }
.swp-panel .swp-layout-toolrow { display: flex; flex-wrap: wrap; gap: 8px 12px; align-items: center; }
.swp-panel .swp-layout-toolrow .swp-label { margin: 0; }
.swp-panel .swp-layout-toolrow select { max-width: 100%; min-height: 40px; }
.swp-panel .swp-lay-add { margin: 0; }
.swp-panel .swp-chip { border: 1px solid var(--swp-line); background: #fff; color: var(--swp-ink); padding: 6px 12px; min-height: 36px; cursor: pointer; font: inherit; }
.swp-panel .swp-chip:hover, .swp-panel .swp-chip.is-active { border-color: var(--swp-gold); background: var(--swp-gold-soft); }
.swp-panel .swp-layout-regions { gap: 8px; margin-bottom: 8px; }
.swp-panel .swp-plan--free .swp-piece { cursor: grab; touch-action: none; outline: none; }
.swp-panel .swp-plan--free .swp-piece.is-dragging { cursor: grabbing; }
.swp-panel .swp-piece-chairs { fill: rgba(181, 159, 107, .14); stroke: #c9bfa6; stroke-width: 3; stroke-dasharray: 10 8; }
.swp-panel .swp-piece-top { fill: #fff; stroke: #35302d; stroke-width: 5; }
.swp-panel .swp-piece-no { fill: #35302d; pointer-events: none; }
.swp-panel .swp-piece-ppl { fill: #686868; pointer-events: none; }
.swp-panel .swp-piece.is-selected .swp-piece-top, .swp-panel .swp-piece:focus-visible .swp-piece-top { stroke: var(--swp-gold); stroke-width: 9; }
.swp-panel .swp-piece.is-bad .swp-piece-top { stroke: var(--swp-error, #b3261e); }
.swp-panel .swp-piece.is-bad .swp-piece-chairs { fill: rgba(179, 38, 30, .12); stroke: var(--swp-error, #b3261e); }
.swp-panel .swp-layout-problems { border-left: 3px solid var(--swp-error, #b3261e); background: #fbe9e6; padding: 8px 12px; margin: 12px 0; }
.swp-panel .swp-layout-problems ul { margin: 4px 0 0 16px; padding: 0; }
.swp-panel .swp-layout-problems .swp-link { text-align: left; }
.swp-panel .swp-danger { color: var(--swp-error, #b3261e); }
.swp-panel .swp-piece.is-empty .swp-piece-top { stroke: #b8b0a0; stroke-dasharray: 12 8; }
.swp-panel .swp-piece.is-empty .swp-piece-chairs { fill: rgba(0, 0, 0, .03); }
.swp-panel .swp-layout-problems li { margin: 2px 0; }
.swp-panel .swp-layout-problems li > .swp-link { display: inline; padding: 0; min-height: 0; }
/* W cenie pakietu – informacja (stół wiejski, pieczywo, owoce). */
.swp-included { border: 1px solid var(--swp-line); border-left: 3px solid #b59f6b; background: #fbfaf7; padding: 12px 16px; margin: 0 0 16px; }
.swp-included-title { margin: 0 0 6px; font-weight: 700; }
.swp-included-group { margin: 8px 0 2px; font-weight: 700; font-size: .95em; }
.swp-included-list { margin: 0 0 4px 20px; padding: 0; columns: 2 220px; column-gap: 24px; }
.swp-included-list li { margin: 0 0 2px; break-inside: avoid; }
