@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@300;400;500&family=Roboto+Condensed:ital,wght@0,400;0,700;1,400;1,700&family=Roboto:ital,wght@0,300;0,400;0,500;0,700;1,300;1,400;1,500;1,700&family=Roboto+Flex:opsz,wght@8..144,100..1000&display=swap');

html {
	scroll-behavior: smooth;
}

body {
	padding-bottom: 5rem;
	font-family: var(--font-body);
	background-color: #262626;
	font-weight: 400;
}
@media (max-width: 768px) {
body {
	padding-bottom: 2rem;
}
}

.bodybgc {
	background-color: #fff;
}

@media print {
.footer, .navbar-toggler, .pacc {
	display: none
}
.container-fluid, .container {
	margin: 0;
	padding: 0;
	max-width: 100%;
}
h1, h2, h3, h4, h5, h6 {
	padding-left: 0 !important;
	margin-left: 0 !important;
	border-left: 0 !important;
}
}

p {
	font-family: var(--font-body);
}

h1, h2, h3, h4, h5, h6 {
	font-family: var(--font-heading);
}

h1, .h1 {
	font-size: 2rem;
	font-weight: 700;
	color: var(--color-text-bl-dark);
	margin-top: 0;
	margin-bottom: 1.3rem;
	line-height: 2.4rem;
}

h2, .h2 {
	font-size: 1.5rem;
	color: #0e5ca7;
	font-weight: 600;
	line-height: 33px;
	margin: 40px 0 24px 0;
	text-decoration-line: underline;
	text-decoration-thickness: 3px;
	text-underline-offset: 8px;
	text-decoration-color: rgba(14, 92, 167, 0.70);
}

h3, .h3 {
	font-size: 1.4rem;
	color: #0b447b;
	font-weight: 500;
	line-height: 1.8;
	margin: 40px 0 20px 0;
	text-decoration-line: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 6px;
	text-decoration-color: rgba(11, 68, 123, 0.50); /* #0b447b */
}

h4, .h4 {
	font-size: 1.3rem;
}

h5, .h5 {
	font-size: 1.2rem;
}

ul, ol {
	margin: 15px 0 40px;
}

li {
	line-height: 27px;
	margin-bottom: 7px;
}

a:link, a:active, a:visited {
	color: #023797
}
a:hover {
	text-decoration: none;
	color: #21223e;
}

hr {
	margin-top:15px;
	border:0;
	border-top:1px solid #9ea5b1
}
hr.style1, hr.style2 {
	border-bottom:1px dashed #fff;
	opacity: .9;
}
hr.style1 {
	border-top:1px dashed #b3b3b3
}
hr.style2 {
	border-top:1px dashed #8c8b8b
}
hr.style3 {
	border-top:1px solid #e9ecf2;
	opacity: 1;
}

strong, .bold {
	font-weight: 500;
}

.w400, .strong {
	font-weight: 400;
}

.blue {
	color:#000099;
}
.dblue {
	color:#333366;
}
.brown {
	color:#cc0000;
}
.dbrown {
	color:#990033;
}
.darkred, .dred {
	color:darkred;
}
.sdred {
	color:#bc0000;
}
.red {
	color:red;
}
.silver {
	color:#666666;
}
.dsilver {
	color:#333333;
}
.green {
	color:green;
}
.dgreen {
	color:#264d47;
}
.white {
	color:white;
}
.yellow {
	color:#ffffb2;
}
.yellowbgc {
	background-color:#ffffb2
}
.dbluebgc {
	background-color:#333366
}

.mt-6 {
  margin-top: 4rem !important;
}
.mb-6 {
  margin-bottom: 4rem !important;
}
.mt-7 {
  margin-top: 5rem !important;
}
.mb-7 {
  margin-bottom: 5rem !important;
}

.pt-6 {
  padding-top: 4rem !important;
}
.pb-6 {
  padding-bottom: 4rem !important;
}
.pt-7 {
  padding-top: 5rem !important;
}
.pb-7 {
  padding-bottom: 5rem !important;
}
.pt-8 {
  padding-top: 6rem !important;
}
.pb-8 {
  padding-bottom: 6rem !important;
}

.form-select, .form-control {
	border-radius: 0;
}
.form-select-lg {
	padding-top: .5rem;
	padding-bottom: .5rem;
	padding-left: 1rem;
	font-size: 1.25rem;
	border-radius: var(--radius-md);
}
.form-label {
	margin-bottom: .3rem;
}

.g-2col {
  --bs-gutter-x: 2rem;
  --bs-gutter-y: 2rem;
}
@media (max-width:767px) {
.g-2col {
  --bs-gutter-x: 0;
}
}

small, .small, p.small {
	font-size: .85rem !important;
	color: var(--color-text-muted);
}
small i, .small i {
	color: var(--color-text-secondary);
}


/* ================================================= Przyciski */
.btn-spinner,
.btn-spinner:link,
.btn-spinner:visited,
.btn-spinner:active {
	color: #fff !important;
}

/* rezerwacja promu */
.btn-primary-orange {
	background: linear-gradient(135deg, #f2953f 0%, #d33904 100%);
	border: none;
	border-radius: var(--radius-md);
	font-size: 1.1rem;
	font-weight: 600;
	padding: 12px 24px;
	transition: transform 0.15s ease, box-shadow 0.15s ease, filter 0.15s ease;
	box-shadow: 0 2px 4px rgba(213, 57, 4, 0.3);
	color: #fff;
}
.btn-primary-orange:hover {
	color: #fff;
	text-decoration: none;
	transform: translateY(-1px);
	box-shadow: 0 4px 8px rgba(213, 57, 4, 0.4);
	filter: brightness(1.05);
}
.btn-primary-orange:link, .btn-primary-orange:visited, .btn-primary-orange:active {
	color: #fff !important;
	text-decoration: none !important;
}
.btn-primary-orange:disabled {
	opacity: 0.85;
	cursor: wait;
	transform: none;
}
@media (max-width: 575px) {
.btn-primary-orange {
	font-size: 1.2rem;
}
}

.btn-primary-gray {
	background: linear-gradient(135deg, #6b7280 0%, #4b5563 100%);
	border: none;
	border-radius: var(--radius-md);
	font-size: 1.1rem;
	font-weight: 600;
	padding: 12px 24px;
	transition: transform 0.15s ease, box-shadow 0.15s ease, filter 0.15s ease;
	box-shadow: 0 2px 4px rgba(75, 85, 99, 0.3);
	color: #fff;
}
.btn-primary-gray:disabled {
	opacity: 0.85;
	cursor: default;
	transform: none;
	color: #e6e6e6;
}
.btn-primary-gray:hover {
	color: #fff;
	text-decoration: none;
	transform: translateY(-1px);
	box-shadow: 0 4px 8px rgba(75, 85, 99, 0.4);
	filter: brightness(1.05);
}
.btn-primary-gray:link, .btn-primary-gray:visited, .btn-primary-gray:active {
	color: #fff !important;
	text-decoration: none !important;
}
@media (max-width: 575px) {
.btn-primary-gray {
	font-size: 1.2rem;
}
}

.btn-outline-gray {
	background: transparent;
	border: 2px solid #6b7280;
	border-radius: var(--radius-md);
	font-size: 1.1rem;
	font-weight: 500;
	padding: 10px 22px;
	transition: transform 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
	color: #4b5563;
}
.btn-outline-gray:hover {
	background-color: rgba(107, 114, 128, 0.08);
	color: #374151;
	transform: translateY(-1px);
	box-shadow: 0 2px 6px rgba(75, 85, 99, 0.25);
	text-decoration: none;
}
.btn-outline-gray:link,
.btn-outline-gray:visited,
.btn-outline-gray:active {
	color: #4b5563 !important;
	text-decoration: none !important;
}
.btn-outline-gray:disabled {
	opacity: 0.6;
	cursor: default;
	transform: none;
	box-shadow: none;
}
@media (max-width: 575px) {
	.btn-outline-gray {
		font-size: 1.2rem;
	}
}


/* wycieczki */
.btn-lblue {
	background: var(--color-bg-lblueg);
	border: none;
	color: #fff;
	text-shadow: 0 1px 2px rgba(60, 60, 60, 0.6);
	padding: 0.50rem 1.4rem;
	font-weight: 500;
	font-size: 1rem;
	border-radius: var(--radius-sm);
	transition: var(--transition-fast);
}
.btn-lblue:disabled {
	opacity: 0.85;
	cursor: default;
	transform: none;
	color: #fff;
}
.btn-lblue:hover {
	color: #fff;
	text-decoration: none;
	filter: brightness(0.92);
}
.btn-lblue:link, .btn-lblue:visited, .btn-lblue:active {
	color: #fff !important;
	text-decoration: none !important;
}
@media (max-width: 575px) {
.btn-lblue {
	font-size: 1.1rem;
}
}

.btn-lblue-modal {
	background: var(--color-bg-lblueg);
	border: none;
	border-radius: var(--radius-sm);
	font-size: 1.1rem;
	font-weight: 600;
	padding: 9px 22px;
	transition: var(--transition-fast);
	color: #fff;
	text-shadow: 0 1px 2px rgba(60, 60, 60, 0.6);
}
.btn-lblue-modal:disabled {
	opacity: 0.85;
	cursor: default;
	transform: none;
	color: #e6e6e6;
}
.btn-lblue-modal:hover {
	color: #fff;
	text-decoration: none;
	filter: brightness(0.92);
}
.btn-lblue-modal:link, .btn-lblue-modal:visited, .btn-lblue-modal:active {
	color: #fff !important;
	text-decoration: none !important;
}
@media (max-width: 575px) {
.btn-lblue-modal {
	font-size: 1.2rem;
}
}


/* PK */
.btn-dblue {
	background: linear-gradient(135deg, #1e3a5f 0%, #2d5a87 100%);
	border: none;
	color: #fff;
	padding: 0.70rem 1.5rem;
	font-weight: 600;
	font-size: 1.05rem;
	border-radius: var(--radius-md);
	transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.btn-dblue:disabled {
	opacity: 0.85;
	cursor: default;
	transform: none;
	color: #fff;
}
.btn-dblue:hover {
	color: #fff;
	text-decoration: none;
	transform: translateY(-1px);
	box-shadow: 0 4px 12px rgba(30, 58, 95, 0.3);
}
.btn-dblue:link, .btn-dblue:visited, .btn-dblue:active {
	color: #fff !important;
	text-decoration: none !important;
}
@media (max-width: 575px) {
.btn-dblue {
	font-size: 1.1rem;
}
}


/* XL BASE */
a.btn-dblue-xl,
.btn-dblue-xl {
	background: var(--color-bg-blue);
	color: #fff;
	text-decoration: none;
	border: none;
	border-radius: var(--radius-md);
	font-size: 1.8rem;
	font-weight: 600;
	padding: 9px 22px;
	transition: filter 0.2s ease, box-shadow 0.2s ease, transform 0.15s ease;
}
a.btn-dblue-xl:link,
a.btn-dblue-xl:visited {
	color: #fff;
	text-decoration: none;
}
a.btn-dblue-xl:hover,
.btn-dblue-xl:hover {
	background: var(--color-bg-blue);
	color: #fff;
	filter: brightness(0.92);
	box-shadow: 0 4px 12px rgba(30, 58, 95, 0.3);
	transform: translateY(-1px);
	text-decoration: none;
}
a.btn-dblue-xl:active,
.btn-dblue-xl:active {
	background: var(--color-bg-blue) !important;
	color: #fff !important;
	box-shadow: 0 2px 6px rgba(30, 58, 95, 0.35);
}
.btn-dblue-xl:disabled,
a.btn-dblue-xl.disabled {
	opacity: 0.85;
	cursor: default;
	filter: none;
	transform: none;
	box-shadow: none;
	pointer-events: none;
}
@media (max-width: 575px) {
	.btn-dblue-xl {
		font-size: 1.7rem;
	}
}

a.btn-gray-xl,
.btn-gray-xl {
	background: var(--color-bg-gray, #6b7280);
	color: #fff;
	text-decoration: none;
	border: none;
	border-radius: var(--radius-md);
	font-size: 1.8rem;
	font-weight: 600;
	padding: 9px 22px;
	transition: filter 0.2s ease, box-shadow 0.2s ease, transform 0.15s ease;
}
a.btn-gray-xl:link,
a.btn-gray-xl:visited {
	color: #fff;
	text-decoration: none;
}
a.btn-gray-xl:hover,
.btn-gray-xl:hover {
	filter: brightness(0.92);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
	transform: translateY(-1px);
}
a.btn-gray-xl:active,
.btn-gray-xl:active {
	background: var(--color-bg-gray, #6b7280) !important;
	color: #fff !important;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
}
.btn-gray-xl:disabled,
a.btn-gray-xl.disabled {
	opacity: 0.6;
	cursor: default;
	filter: none;
	transform: none;
	box-shadow: none;
	pointer-events: none;
}
@media (max-width: 575px) {
	.btn-gray-xl {
		font-size: 1.7rem;
	}
}

a.btn-gray-outline-xl,
.btn-gray-outline-xl {
	background: transparent;
	color: #6b7280;
	text-decoration: none;
	border: 2px solid var(--color-bg-gray, #6b7280);
	border-radius: var(--radius-md);
	font-size: 1.5rem;
	font-weight: 600;
	padding: 7px 20px; /* -2px żeby wyrównać z filled */
	transition: background-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease, transform 0.15s ease;
	opacity: 0.3;
}
a.btn-gray-outline-xl:link,
a.btn-gray-outline-xl:visited {
	color: var(--color-bg-gray, #6b7280);
	text-decoration: none;
}
a.btn-gray-outline-xl:hover,
.btn-gray-outline-xl:hover {
	background: var(--color-bg-gray, #6b7280);
	color: #fff;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
	transform: translateY(-1px);
}
a.btn-gray-outline-xl:active,
.btn-gray-outline-xl:active {
	background: var(--color-bg-gray, #5b616d) !important;
	color: var(--color-text-dwhite) !important;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
}
.btn-gray-outline-xl:disabled,
a.btn-gray-outline-xl.disabled {
	opacity: 0.5;
	cursor: default;
	pointer-events: none;
	box-shadow: none;
	transform: none;
}
@media (max-width: 575px) {
	.btn-gray-outline-xl {
		font-size: 1.4rem;
	}
}


/* form wyslij */
.btn-primary-silver {
	background: linear-gradient(135deg, #747e91 0%, #454f5d 100%);
	border: none;
	border-radius: 0;
	font-size: 1.1rem;
	font-weight: 600;
	padding: 9px 22px;
	transition: transform 0.15s ease, box-shadow 0.15s ease, filter 0.15s ease;
	box-shadow: 0 2px 4px rgba(75, 85, 99, 0.3);
	color: #fff;
}
.btn-primary-silver:disabled {
	opacity: 0.85;
	cursor: default;
	transform: none;
	color: #e6e6e6;
}
.btn-primary-silver:hover {
	color: #fff;
	text-decoration: none;
	transform: translateY(-1px);
	box-shadow: 0 4px 8px rgba(75, 85, 99, 0.4);
	filter: brightness(1.05);
}
.btn-primary-silver:link, .btn-primary-silver:visited, .btn-primary-silver:active {
	color: #fff !important;
	text-decoration: none !important;
}
.btn-primary-silver-op {
	font-size: 1rem;
	opacity: 0.6;
}
@media (max-width: 575px) {
.btn-primary-silver {
	font-size: 1.2rem;
}
}


/* modal zamknij */
.btn-primary-silver-sm {
	background: linear-gradient(135deg, #747e91 0%, #454f5d 100%);
	border: none;
	border-radius: 0;
	font-size: .9rem;
	font-weight: 600;
	padding: 8px 22px;
	transition: transform 0.12s ease, box-shadow 0.12s ease, filter 0.12s ease;
	box-shadow: 0 1px 2px rgba(75, 85, 99, 0.25);
	color: #fff;
	opacity: 0.7;
}
.btn-primary-silver-sm:disabled {
	opacity: 0.85;
	cursor: default;
	transform: none;
	color: #e6e6e6;
}
.btn-primary-silver-sm:hover {
	color: #fff;
	text-decoration: none;
	box-shadow: 0 2px 4px rgba(75, 85, 99, 0.3);
	filter: brightness(1.02);
}
.btn-primary-silver-sm:link,
.btn-primary-silver-sm:visited,
.btn-primary-silver-sm:active {
	color: #fff !important;
	text-decoration: none !important;
}
.btn-primary-silver-op-sm {
	font-size: 1rem;
	opacity: 0.6;
}
@media (max-width: 575px) {
	.btn-primary-silver-sm {
		font-size: 1rem;
	}
}


/* rewerwuj tabelka */
.btn-primary-orange-soft{
  background: linear-gradient(135deg, rgba(242,149,63,.22) 0%, rgba(211,57,4,.14) 100%);
  border: 1px solid rgba(211,57,4,.22);
  border-radius: var(--radius-md);
  font-size: 1rem;
  font-weight: 600;
  padding: 8px 24px;
  color: #d84a1c;
  transition: transform .15s ease, box-shadow .15s ease, filter .15s ease, background .15s ease;
  box-shadow: 0 1px 2px rgba(213,57,4,.12);
}
.btn-primary-orange-soft:hover{
  color: #d84a1c;
  text-decoration: none;
  box-shadow: 0 2px 4px rgba(213,57,4,0.3);
  filter: brightness(1.02);
  background: linear-gradient(135deg, rgba(242,149,63,.28) 0%, rgba(211,57,4,.18) 100%);
}
.btn-primary-orange-soft:link,
.btn-primary-orange-soft:visited,
.btn-primary-orange-soft:active{
  color: #d84a1c !important;
  text-decoration: none !important;
}
.btn-primary-orange-soft:disabled{
  opacity: .7;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}

.btn-primary-orange-outline{
  background: transparent;
  border: 1px solid rgba(211,57,4,.35);
  border-radius: var(--radius-md);
  font-size: 1.2rem;
  font-weight: 600;
  padding: 8px 24px;
  color: #d84a1c;
  transition: transform .15s ease, box-shadow .15s ease, background .15s ease, border-color .15s ease;
}
.btn-primary-orange-outline:hover{
  color: #d84a1c;
  text-decoration: none;
  background: rgba(242,149,63,.12);
  border-color: rgba(211,57,4,.55);
  transform: translateY(-1px);
  box-shadow: 0 2px 4px rgba(213,57,4,0.3);
}
.btn-primary-orange-outline:link,
.btn-primary-orange-outline:visited,
.btn-primary-orange-outline:active{
  color: #d84a1c !important;
  text-decoration: none !important;
}
.btn-primary-orange-outline:disabled{
  opacity: .6;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}


.btn-dark{
  --bs-btn-color: #f8f9fa;
  --bs-btn-bg: #6c757d;
  --bs-btn-border-color: #6c757d;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #5f666d;
  --bs-btn-hover-border-color: #5a6067;
  --bs-btn-focus-shadow-rgb: 130,138,145;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #5a6067;
  --bs-btn-active-border-color: #545b62;
  --bs-btn-active-shadow: inset 0 2px 4px rgba(0,0,0,.12);
  --bs-btn-disabled-color: #e9ecef;
  --bs-btn-disabled-bg: #adb5bd;
  --bs-btn-disabled-border-color: #adb5bd;
  font-size: .9rem !important;
  border-radius: var(--radius-md) !important;
  padding-left: 6px !important;
  padding-right: 6px !important;
}

/* ================================================= /Przyciski */


/* ================================================= Inne */
.list-group-item {
	background:url(../gfx/bl1.gif) 5% 19px no-repeat #f3f3f3;
	border-top:1px solid #b0c0dd;
	border-right:0;
	border-left:0;
	border-bottom:1px solid #b0c0dd;
	padding-top:10px;
	padding-bottom:10px;
	padding-left:45px;
	font-weight: 400;
}
.list-group-item:first-child {
	border-top-left-radius:0;
	border-top-right-radius:0
}
.list-group-item:last-child {
	border-bottom-right-radius:0;
	border-bottom-left-radius:0
}
a.list-group-item,button.list-group-item {
	color:#262634;
	text-decoration:none
}
a.list-group-item:focus,a.list-group-item:hover,button.list-group-item:focus,button.list-group-item:hover {
	background:url(../gfx/bl2.gif) 5% 19px no-repeat #ededed
}
.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover {
	color:#656566;
	background:url(../gfx/bl2.gif) 5% 19px no-repeat #ededed;
	border-top:1px solid #b0c0dd;
	border-right:0;
	border-left:0;
	border-bottom:1px solid #b0c0dd;
	text-decoration:none
}
@media (max-width:1199px) {
.list-group-itemwid {
	padding-left:80px;
}
}

/* modal */
.modal-body p, .modal-body ol, .modal-body ul {
	font-size: .9rem;
}
.modal-body p {
	margin-top: 10px;
}
.modal-body h3 {
	background: none;
	border: none;
	text-decoration: none;
	color: #006;
	margin: 20px 0 10px 0;
}
/* ================================================= /Inne */


/* ================================================= Menu */
.bg-lightb {
	background-color: var(--color-bg-menu);
}

/* Wrapper z jednym tłem dla menu i wyszukiwarki na stronie głównej */
.homepage-header-wrapper {
	background: linear-gradient(135deg, #e3e8f0 0%, #d4e5f6 100%);
}

/* menu na stronie głównej - transparentne (tło z wrappera) */
.bg-homepage-nav {
	background: transparent;
}

.tomenu {
	padding-top: 0;
	padding-bottom: .30rem;
}
@media (max-width:991px) {
.tomenu {
	padding-top: .7rem;
	padding-bottom: .7rem
}
}
@media (max-width:486px) {
.tomenu {
	padding-top: 1.1rem;
	padding-bottom: .8rem
}
}

.navbar-brand {
	margin-left: 1.5rem;
	margin-right: 19px;
}
.navbar-brand img {
	border-right: 2px solid #003567;
	padding-right: 19px;
	box-shadow: 1px 0 0 #fafafa;
}
.tmenu {
	font-weight: 400;
}
p.tmenu {
	font-size: 1.15rem;
	font-weight: 600;
	color: #003567;
	text-align: left;
	padding-top: 1rem;
	text-shadow: #fafafa 0 1px 0;
}
.tmenu img {
	margin: 0 4px 4px;
}
@media (max-width:486px) {
.tmenu {
	display: none;
}
.navbar-brand img {
	border-right: none;
	padding-right: 0;
	box-shadow: none;
}
}
@media (max-width:991px) {
p.tmenu {
	text-transform: uppercase;
}
.navbar-brand {
	margin-left: 0;
}
}

.nav-item {
	margin-top: .1rem;
}
.bmenu {
	font-weight: 400;
	font-size: 1rem;
	padding-top: .1rem;
}
.bmenu a:link, .bmenu a:active, .bmenu a:visited {
	color: #313157;
}
.bmenu a:hover {
	text-decoration: #dc0303 2px underline;
	text-underline-offset: .4rem;
	color: #333333;
}
.navbar-nav .nav-link.active, .navbar-nav .show > .nav-link {
	text-decoration: silver 2px underline;
	text-underline-offset: .4rem;
	color: #313157;
}
@media (max-width:991px) {
/* fr-rezew – styl CTA (li.fr-rezew > a) */
.bmenu li.fr-rezew > a {
	padding: 10px;
	border: 1px solid var(--color-border-dark);
	text-align: center;
	text-decoration: none;
	color: #313157;
	margin-bottom: .5rem;
}
.bmenu a:hover {
	text-decoration: none;
	text-underline-offset: 0;
	color: #313157;
}
.bmenu li:not(.fr-rezew) > a:link,
.bmenu li:not(.fr-rezew) > a:active {
	color: #313157;
	padding-bottom: 1rem;
	border-bottom: 1px dashed var(--color-border-dark) !important;
	text-decoration: none;
}
.navbar-nav .nav-link.active,
.navbar-nav .show > .nav-link {
	text-decoration: none;
	color: #313157;
}
.bmenu li:not(.fr-rezew) > a:visited {
	color: #313157;
	border-bottom: 1px dashed var(--color-border-dark) !important;
	text-decoration: none;
}
}

.fpas {
	height: .08rem;
	background-image: -webkit-linear-gradient(167deg,#0e5ca7,#dc0303);
    background-image: -o-linear-gradient(167deg,#0e5ca7,#dc0303);
    background-image: linear-gradient(283deg,#0e5ca7,#dc0303);
	opacity: 1;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.18);
}

/* separator na stronie głównej - biała linia 1px */
.fpas-homepage {
	height: 1px;
	background-color: #fff;
}
/* ================================================= /Menu */


/* ================================================= Panel klienta */
.bg-lighta {
	background-color: var(--color-bg-menu);
}

/* Panel Klienta - Logowanie */
.login-box {
	background: #fff;
	border-radius: var(--radius-lg);
	padding: 2.5rem 2rem;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
}
.login-header {
	text-align: center;
	margin-bottom: 2rem;
}
.login-icon {
	width: 70px;
	height: 70px;
	margin: 0 auto 1rem;
	background: linear-gradient(135deg, #1e3a5f 0%, #2d5a87 100%);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
}
.login-icon i {
	font-size: 2rem;
	color: #fff;
}
.login-header h1 {
	font-size: 1.5rem;
	font-weight: 600;
	color: #1e293b;
	margin: 0 0 0.5rem;
	border: none;
	padding: 0;
	line-height: 1.3;
}
.login-header p {
	color: #64748b;
	margin: 0;
	font-size: 0.95rem;
}
.login-box .form-label {
	font-weight: 500;
	color: #475569;
	font-size: 0.9rem;
}
.login-box .input-group-text {
	background: #f8fafc;
	border-color: var(--color-border);
	color: #64748b;
}
.login-box .form-control {
	border-color: var(--color-border);
	padding: 0.65rem 1rem;
}
.login-box .form-control:focus {
	border-color: #1e3a5f;
	box-shadow: 0 0 0 3px rgba(30, 58, 95, 0.1);
}
.login-box .form-control::placeholder {
	color: #94a3b8;
}
.login-footer {
	text-align: center;
	margin-top: 1.5rem;
	padding-top: 1.5rem;
	border-top: 1px solid var(--color-border);
}
.login-footer a {
	color: #64748b;
	text-decoration: none;
	font-size: 0.9rem;
}
.login-footer a:hover {
	color: #1e3a5f;
}
.login-register {
	text-align: center;
	margin-top: 1.5rem;
}
.login-register p {
	color: #64748b;
	margin-bottom: 0.75rem;
	font-size: 0.9rem;
}
.login-register .btn-outline-secondary {
	border-color: #cbd5e1;
	color: #475569;
	padding: 0.5rem 1.5rem;
	border-radius: var(--radius-lg);
}
.login-register .btn-outline-secondary:hover {
	background: #f1f5f9;
	border-color: #94a3b8;
	color: #1e293b;
}
@media (max-width: 575px) {
	.login-box {
		padding: 2rem 1.5rem;
	}
	.login-icon {
		width: 60px;
		height: 60px;
	}
	.login-icon i {
		font-size: 1.75rem;
	}
}

p.pprom {
	text-align: center;
	position: relative;
	padding-bottom: 0;
	margin-top: 80px;
}

/* tonalna linia zamiast border-bottom */
p.pprom::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 3px;
	background: linear-gradient(
		to right,
		rgba(16,82,148,0),
		rgba(16,82,148,0.6) 20%,
		rgba(16,82,148,1) 50%,
		rgba(16,82,148,0.6) 80%,
		rgba(16,82,148,0)
	);
	filter: blur(0.4px);
}

p.pprom img {
	mix-blend-mode: multiply;
}

/* Panel Klienta - Rejestracja */
.login-icon-success {
	background: linear-gradient(135deg, #059669 0%, #10b981 100%);
}
.register-section {
	padding-bottom: 1.5rem;
	margin-bottom: 1.5rem;
	border-bottom: 1px solid var(--color-border);
}
.register-section-title {
	font-weight: 600;
	color: #1e3a5f;
	font-size: 0.95rem;
	margin-bottom: 1rem;
}
.register-section .form-label {
	font-weight: 500;
	color: #475569;
	font-size: 0.9rem;
}
.register-section .form-control {
	border-color: var(--color-border);
	padding: 0.6rem 0.9rem;
}
.register-section .form-control:focus {
	border-color: #1e3a5f;
	box-shadow: 0 0 0 3px rgba(30, 58, 95, 0.1);
}
.register-section .form-check-input:checked {
	background-color: #1e3a5f;
	border-color: #1e3a5f;
}

/* Panel Klienta - Nawigacja */
.panel-nav {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	background: #fff;
	padding: 0.75rem;
	border-radius: var(--radius-lg);
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}
.panel-nav-item {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.6rem 1rem;
	border-radius: var(--radius-lg);
	text-decoration: none;
	color: #475569;
	font-size: 0.9rem;
	font-weight: 500;
	transition: all 0.15s ease;
	background: var(--color-bg-subtle);
}
.panel-nav-item:hover {
	background: var(--color-bg-muted);
	color: #1e3a5f;
}
.panel-nav-item.active {
	background: linear-gradient(135deg, #1e3a5f 0%, #2d5a87 100%);
	color: #fff;
}
.panel-nav-item i {
	font-size: 1.1rem;
}
@media (max-width: 575px) {
	.panel-nav {
		padding: 0.5rem;
	}
	.panel-nav-item {
		flex: 1 1 calc(50% - 0.25rem);
		justify-content: center;
		padding: 0.5rem 0.75rem;
		font-size: 0.85rem;
	}
	.panel-nav-item span {
		display: none;
	}
	.panel-nav-item i {
		font-size: 1.25rem;
	}
}

/* Panel Klienta - Sekcje */
.panel-section {
	background: #fff;
	border-radius: var(--radius-lg);
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
	margin-bottom: 1rem;
	overflow: hidden;
}
.panel-section-header {
	padding: 1rem 1.25rem;
	background: #f8fafc;
	border-bottom: 1px solid var(--color-border);
	font-weight: 600;
	color: #1e3a5f;
	font-size: 0.95rem;
}
.panel-section-body {
	padding: 1.25rem;
}
.panel-section .form-label {
	font-weight: 500;
	color: #475569;
	font-size: 0.875rem;
}
.panel-section .form-control {
	border-color: var(--color-border);
}
.panel-section .form-control:focus {
	border-color: #1e3a5f;
	box-shadow: 0 0 0 3px rgba(30, 58, 95, 0.1);
}
.panel-section .form-check-input:checked {
	background-color: #1e3a5f;
	border-color: #1e3a5f;
}
.panel-section-danger {
	border: 1px solid #fecaca;
}
.panel-section-danger .panel-section-header {
	background: #fef2f2;
	color: #991b1b;
	border-bottom-color: #fecaca;
}

/* Panel Klienta - Podsekcja */
.panel-subsection {
	margin-top: 1.5rem;
	padding-top: 1.25rem;
	border-top: 1px dashed var(--color-border);
}
.panel-subsection-title {
	font-weight: 600;
	color: #64748b;
	font-size: 0.875rem;
	margin-bottom: 1rem;
}

/* Panel Klienta - Alert */
.panel-alert-success {
	background: #f0fdf4;
	color: #166534;
	padding: 0.875rem 1.25rem;
	border-radius: var(--radius-lg);
	font-size: 0.9rem;
	animation: alertFadeIn 0.3s ease;
}
@keyframes alertFadeIn {
	from { opacity: 0; transform: translateY(-10px); }
	to { opacity: 1; transform: translateY(0); }
}
.btn-panel-save {
	background: #f8fafc;
	border: 1px solid var(--color-border);
	color: #64748b;
	padding: 0.4rem 1rem;
	font-weight: 400;
	font-size: 0.85rem;
	border-radius: var(--radius-md);
	transition: all 0.15s ease;
}
.btn-panel-save:hover {
	background: #f1f5f9;
	border-color: #cbd5e1;
	color: #475569;
}
.btn-panel-delete {
	background: #f8fafc;
	border: 1px solid var(--color-border);
	color: #64748b;
	padding: 0.4rem 1rem;
	font-weight: 400;
	font-size: 0.85rem;
	border-radius: var(--radius-md);
	transition: all 0.15s ease;
}
.btn-panel-delete:hover {
	background: #f1f5f9;
	border-color: #cbd5e1;
	color: #475569;
}
.btn-panel-delete:disabled {
	opacity: 0.6;
}
.btn-panel-delete.active {
	background: #dc3545;
	border-color: #dc3545;
	color: #fff;
}
.btn-panel-delete.active:hover {
	background: #bb2d3b;
	border-color: #b02a37;
	color: #fff;
}

/* Panel Klienta - Tabela */
.table-panel {
	font-size: 0.9rem;
}
.table-panel thead {
	background: #f8fafc;
}
.table-panel thead th {
	font-weight: 600;
	color: #475569;
	font-size: 0.8rem;
	text-transform: uppercase;
	letter-spacing: 0.025em;
	padding: 0.75rem 1rem;
	border-bottom: 1px solid var(--color-border);
}
.table-panel tbody td {
	padding: 0.875rem 1rem;
	vertical-align: middle;
	border-bottom: 1px solid #f1f5f9;
	color: #334155;
}
.table-panel tbody tr:hover {
	background: #f8fafc;
}
.table-panel tbody tr:last-child td {
	border-bottom: none;
}

/* panel klienta na stronie głównej - transparentne (tło z wrappera) */
.bg-homepage-top {
	background: transparent;
}

/* panel klienta na stronie formularza (zmiana) */
.bg-form-page-smenu {
	background: transparent;
}
.bg-form-page-smenu p.pacc,
.bg-form-page-smenu p.pacc a:link,
.bg-form-page-smenu p.pacc a:visited {
	color: var(--color-text-secondary-dark);
}
.bg-form-page-smenu p.pacc a:hover {
	color: var(--color-text-secondary-dark);
}

p.pacc a:link {
	text-decoration: none
}

p.pacc, p.pacc a:link, p.pacc a:visited {
	color: var(--color-text-secondary-dark)
}

p.pacc a:active {
	color: var(--color-text-secondary-dark)
}

p.pacc {
	text-align: right;
	margin-bottom: 0;
	font-size: .8rem;
	padding: .5rem 1.5rem .1rem 0;
	font-weight: 300;
}

p.pacc a:hover {
	color: var(--color-text-secondary-dark);
	text-decoration: underline
}

@media (max-width:991px) {
p.pacc {
	text-align: left;
	font-size: .8rem;
	padding-bottom: 2px;
	border-bottom: 1px dashed gray;
}
}
/* ================================================= /Panel klienta */


/* ================================================= Form front */
.frfront {
	background: linear-gradient(135deg, #e3e8f0 0%, #d4e5f6 100%);
	border-bottom: 1px solid var(--color-border);
	padding-top: 2.5rem;
	padding-bottom: 2rem;
	margin-top: 0;
	margin-bottom: 2.5rem;
	font-weight: 400;
}
.frfront h1 {
	text-transform: uppercase;
	text-shadow: 0 1px .2px #260227;
	font-size: 1.5rem;
	font-weight: 700;
	color: #fff;
	padding: 9px 4px 10px 47px;
	margin: 0;
	background-color: #3d3f4d;
	background-image: url(../gfx/bgcfb1.png), linear-gradient(135deg, #4a4d60 0%, #2d2f3a 100%);
	background-position: 0 center, 0 0;
	background-repeat: no-repeat, no-repeat;
	background-size: auto, 100% 100%;
	border-radius: var(--radius-md) var(--radius-md) 0 0;
	letter-spacing: 1.5px;
	line-height: 1.4;
	border-bottom: 1px dashed #b0c0dd;
}

/* Transparentne tło gdy wewnątrz wrappera */
.frfront-transparent {
	background: transparent;
	border-bottom: none;
}
@media (max-width:1199px) {
.frfront h1 {
	font-size: 1.3rem;
	padding: 12px 14px 12px 46px;
}
}
@media (max-width:991px) {
.frfront h1 {
	font-size: 1.25rem;
	padding: 12px 12px;
	text-align: center;
	background: linear-gradient(135deg, #4a4d60 0%, #2d2f3a 100%);
}
}
.fbox {
	background-color: #fff;
	border: 1px solid var(--color-border);
	border-top: none;
	border-radius: 0 0 var(--radius-lg) var(--radius-lg);
	padding: 16px 16px 0;
	margin-bottom: 4px;
	box-shadow: var(--shadow-sm);
}

.fradio {
	text-align: center;
	margin-top: 6px;
	margin-bottom: 10px;
	display: flex;
	gap: 0;
}
.fradio input[type=radio], .fradio input[type=checkbox] {
	display: none;
}
.fradio input[type=radio] + label, .fradio input[type=checkbox] + label {
	flex: 1;
	display: inline-block;
	margin: 0;
	padding: 6px 10px;
	font-size: 0.8rem;
	font-weight: 500;
	line-height: 1.4;
	color: var(--color-text-secondary);
	text-align: center;
	cursor: pointer;
	background-color: var(--color-bg-subtle);
	border: 1px solid var(--color-border);
	transition: all var(--transition-fast);
}
.fradio input[type=radio] + label:first-of-type {
	border-radius: var(--radius-md) 0 0 var(--radius-md);
	border-right: none;
}
.fradio input[type=radio] + label:last-of-type {
	border-radius: 0 var(--radius-md) var(--radius-md) 0;
}
.fradio input[type=radio]:checked + label, .fradio input[type=checkbox]:checked + label {
	background-color: var(--color-primary);
	border-color: var(--color-primary);
	color: #fff;
}

.frformlab {
	font-size: 0.875rem;
	font-weight: 500;
	margin-top: 0.75rem;
	margin-bottom: 0.25rem;
	color: var(--color-text-bl-dark);
}

.pffinda {
	color:#005700;
	font-size:.95rem;
	padding-bottom:0;
	margin-bottom:2px;
}
.pffindb {
	color:#005700;
	font-size:1.3rem;
	margin-bottom:0;
	padding-bottom:0;
}
.pffindar {
	color:#005700;
	font-size:.95rem;
	padding-bottom:0;
	margin-bottom:2px;
	display:none;
}
.pffindbr {
	color:#005700;
	font-size:1.1rem;
	margin-bottom:0;
	padding-bottom:0;
	display:none;
}
.pffindb strong, .pffindar strong {
	color: #e94915;
	font-size: .9rem
}
.pffindb a:link,.pffindb a:visited, .pffindbr a:link,.pffindbr a:visited {
	text-decoration:none;
	color:#005700;
	padding:2px
}
.pffindb a:hover, .pffindbr a:hover {
	text-decoration:none;
	background-color:#f0f5f1;
	color:#05340d
}
.pffindb a:active, .pffindbr a:active {
	text-decoration:none;
	color:#005700
}

.mtrezbtn {
	margin-top: .1rem;
}

@media (max-width:1299px) {
.pffinda {
	display:none;
}
.pffindb {
	display:none;
}
.pffindar {
	display: block;
	
}
.pffindbr {
	display: block;
	font-size:1.4rem;
}
}
@media (max-width:1199px) {
.pffinda {
	display: block;
	color: #e94915;
}
.pffindb {
	display: block;
	font-size:1.5rem;
}
.pffindb strong {
	display: none;
}
.pffindar {
	display: none;
	
}
.pffindbr {
	display: none;
}
}
@media (max-width:991px) {
.pffinda {
	display: block;
	color: #005700;
}
.pffindb {
	display: block;
	font-size:1.6rem;
}
.pffindb strong {
	display: inline;
}
.pffindar {
	display: none;
	
}
.pffindbr {
	display: none;
}
}
@media (max-width:575px) {
.pffinda {
	display: none;
}
.pffindb {
	display: none;
}
.pffindar {
	display: none;
	
}
.pffindbr {
	display: none;
}
.mtrezbtn {
	margin-top: .9rem;
}
.frformlab {
	font-size: 1.05rem;
	font-weight: 500;
}
}

/* tel */
.tboxa, .tboxb {
	padding-top: 1.7rem;
	padding-bottom: 1.7rem;
	text-align: center;
}
.tboxa {
	font-size: 1.4rem;
	font-weight: 400;
	color: #282b2d;
	background-color: #bcd2df;
}
.tboxa span {
	font-weight: 500;
}
.tboxb {
	font-size: 1.4rem;
	font-weight: 400;
	color: #bcd2df;
	background-color: #282b2d;
}
.tboxb a:link, .tboxb a:visited, .tboxb a:hover, .tboxb a:active {
	text-decoration: none;
	color: #fff
}
@media (max-width:440px) {
.tboxa {
	font-size: 1.3rem;
}
.tboxb {
	font-size: 1.3rem;
}
}
/* /tel */

.fslider {
	border: none;
	border-radius: var(--radius-lg);
	overflow: hidden;
	box-shadow: var(--shadow-md);
}
.fslider img {
	border-radius: var(--radius-lg);
}
/* ================================================= /Form front */


/* ================================================= Index */
/* select2 */
.full .ts-control, .ts-control, .ts-wrapper.single.input-active .ts-control {
	background-image: url(../bootstrap-icons/ico/chevron-down.svg);
	background-repeat: no-repeat;
	background-position: right .60rem center;
	background-size: 22px 17px;
}

.ts-wrapper.single.input-active .ts-control {
	border-color: #86b7fe;
	box-shadow: 0 0 0 .25rem rgba(13,110,253,.25);
	outline: 0;
}
.ts-dropdown, .ts-control, .ts-control input {
	color: #303030;
	font-size: 1rem;
	line-height: 1.5;
}
.ts-control {
	padding: .6rem .55rem .6rem .55rem;
	border-radius: 0;
}
.plugin-dropdown_input.focus .ts-dropdown .dropdown-input {
	border: 3px solid #86b7fe;
	box-shadow: none;
	outline: 0;
	background-image: url(../bootstrap-icons/ico/search.svg);
	background-repeat: no-repeat;
	background-position: right .60rem center;
	background-size: 22px 22px;
}

.fctnbox {
	margin-top:35px
}
.fboxoldt {
	text-align:center;
	font-size:1rem;
	font-weight:400;
	border:none;
	border-radius: var(--radius-lg);
	padding-bottom:0;
	margin-bottom:5px;
	background:#fff;
	box-shadow: 0 2px 8px rgba(0,0,0,0.08);
	overflow: hidden;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.fboxoldt:hover {
	transform: translateY(-3px);
	box-shadow: 0 6px 16px rgba(0,0,0,0.12);
}
.fboxoldt a {
	text-decoration:none;
	display: block;
}
.fboxoldt h2 {
	font-size:1rem;
	font-weight:600;
	letter-spacing: 0.5px;
	color:#fff;
	background-color:#51463c;
	background-image:none;
	margin-top:0;
	margin-bottom:0;
	border:none;
	padding: 12px 10px;
	text-transform: uppercase;
	line-height: inherit;
	text-decoration: none;
}
.fboxoldt p {
	color: #555;
	padding: 12px 10px;
	margin: 0;
	font-size: 0.9rem;
}
.fboxoldt p i {
	opacity: 0.5;
	transition: transform 0.2s ease, opacity 0.2s ease;
	margin-left: 4px;
}
.fboxoldt:hover p i {
	opacity: 1;
	transform: translateX(3px);
}
.fboxoldt a:hover h2 {
	filter: brightness(1.1);
}
@media (max-width:1199px) {
.fboxoldt {
	font-size: 14px;
	margin-bottom: 1.5rem;
}
}
@media (max-width:991px) {
.fboxoldt {
	margin-top: .5rem;
	margin-bottom: 1rem;
}
.fslider {
	margin-top: 15px;
}
}

@media (max-width:1199px) {
.fboxoldt2 {
	margin-bottom: 1rem;
}
}
@media (max-width:991px) {
.fboxoldt2 {
	margin-bottom: .5rem;
}
}

a.fboxoff {
	display: block;
	border: none;
	border-radius: var(--radius-lg);
	box-shadow: 0 2px 8px rgba(0,0,0,0.08);
	padding-bottom:12px;
	margin-bottom:12px;
	text-align: center;
	position: relative;
	background: #fff;
	overflow: hidden;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
	text-decoration: none;
	color: inherit;
}
a.fboxoff:hover {
	transform: translateY(-3px);
	box-shadow: 0 6px 16px rgba(0,0,0,0.12);
	text-decoration: none;
}
a.fboxoff:hover img {
	transform: scale(1.03);
}
a.fboxoff:hover .cbutton {
	background-color:#0e3054;
}
.fboxoff h4 {
	font-size:1.1rem;
	color:#1c436d;
	margin-top: 14px;
	margin-bottom:8px;
	font-weight: 600;
}
.fboxoff img {
	border-bottom: none;
	transition: transform 0.3s ease;
}
.offer-info {
	width:100%;
	top:0;
	left:0;
	position:absolute;
	z-index:1;
	text-align:center;
	padding-top: 8px;
}
.offer-info span {
	font-size:11px;
	background:#576370;
	font-family: var(--font-body);
	font-weight:600;
	letter-spacing:0.5px;
	color:#fff;
	text-transform:uppercase;
	display:inline-block;
	line-height:1;
	padding: 6px 12px;
	border-radius: var(--radius-sm);
}
.fbtxt {
	font-size:.875rem;
	padding: 0 12px;
	margin-top:2px;
	margin-bottom: 12px;
	line-height: 1.5;
	color: #555;
}
.cbutton {
	display: inline-block;
	text-align:center;
	border: none;
	font-size:13px;
	color:#fff;
	background-color:#1c436d;
	border-radius: var(--radius-sm);
	padding: 8px 16px;
	transition: background-color 0.2s ease;
}
@media (max-width:991px) {
a.fboxoff {
	margin-bottom:20px;
}
}

/* News Banner */
.news-banner {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 14px 20px;
	background: linear-gradient(135deg, #1c436d 0%, #0e3054 100%);
	border-radius: var(--radius-lg);
	text-decoration: none;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.news-banner:hover {
	transform: translateY(-2px);
	box-shadow: 0 4px 12px rgba(28, 67, 109, 0.3);
	text-decoration: none;
}
.news-badge {
	background: #e94915;
	color: #fff;
	font-size: 0.75rem;
	font-weight: 600;
	text-transform: uppercase;
	padding: 4px 10px;
	border-radius: var(--radius-sm);
	white-space: nowrap;
}
.news-title {
	color: #fff;
	font-weight: 600;
	font-size: 1rem;
	flex-shrink: 0;
}
.news-excerpt {
	color: rgba(255,255,255,0.75);
	font-size: 0.9rem;
	flex: 1;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.news-arrow {
	color: #fff;
	font-size: 1.1rem;
	transition: transform 0.2s ease;
}
.news-banner:hover .news-arrow {
	transform: translateX(4px);
}

/* Quick Links Section */
.quicklinks-section {
	margin-top: 2.5rem;
}
.quicklink-card {
	background: #fefefe;
	padding: 24px;
	height: 100%;
	border-radius: 12px;
	box-shadow: 0 2px 12px rgba(0,0,0,0.06);
	transition: box-shadow 0.25s ease;
}
.quicklink-card:hover {
	box-shadow: 0 4px 20px rgba(0,0,0,0.1);
}
.quicklink-header {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-bottom: 18px;
}
.quicklink-icon {
	width: 42px;
	height: 42px;
	background: #46495b;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}
.quicklink-icon i {
	font-size: 1.1rem;
	color: #fff;
}
.quicklink-card h4 {
	font-size: 1.05rem;
	font-weight: 600;
	color: #343744;
	margin: 0;
	padding: 0;
	border: none;
	background: none;
}
.quicklink-card ul {
	list-style: none;
	padding: 0;
	margin: 0;
}
.quicklink-card li {
	padding: 0;
	margin: 0;
}
.quicklink-card a {
	color: #555;
	text-decoration: none;
	font-size: 0.92rem;
	display: flex;
	align-items: center;
	padding: 10px 12px;
	margin: 0 -12px;
	border-radius: var(--radius-md);
	transition: background 0.15s ease, color 0.15s ease;
}
.quicklink-card a::before {
	content: '•';
	color: #ccc;
	margin-right: 10px;
	transition: color 0.15s ease;
}
.quicklink-card a::after {
	content: '→';
	margin-left: auto;
	opacity: 0;
	transform: translateX(-5px);
	transition: opacity 0.15s ease, transform 0.15s ease;
}
.quicklink-card a:hover {
	background: #f5f7fa;
	color: #46495b;
}
.quicklink-card a:hover::before {
	color: #46495b;
}
.quicklink-card a:hover::after {
	opacity: 1;
	transform: translateX(0);
}

/* Logos bar - slider */
.logos-bar {
	background: #e8ecf2;
	border-radius: var(--radius-lg);
	padding: 16px 0;
	overflow: hidden;
	position: relative;
}
.logos-bar::before,
.logos-bar::after {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	width: 50px;
	z-index: 2;
	pointer-events: none;
}
.logos-bar::before {
	left: 0;
	background: linear-gradient(to right, #e8ecf2 0%, transparent 100%);
}
.logos-bar::after {
	right: 0;
	background: linear-gradient(to left, #e8ecf2 0%, transparent 100%);
}
.logos-track {
	overflow: hidden;
}
.logos-slide {
	display: flex;
	align-items: center;
	gap: 80px;
	padding-left: 20px;
	width: max-content;
	animation: logosStep 90s linear infinite;
}
.logos-slide img {
	height: 20px;
	width: auto;
	flex-shrink: 0;
	transition: transform 0.3s ease, opacity 0.3s ease;
	opacity: 0.85;
}
.logos-slide img:hover {
	opacity: 1;
	transform: scale(1.08);
}
@keyframes logosStep {
	0% {
		transform: translateX(0);
	}
	100% {
		transform: translateX(-50%);
	}
}
.logos-bar:hover .logos-slide {
	animation-play-state: paused;
}

@media (max-width: 767px) {
	.quicklink-card {
		margin-bottom: 1rem;
	}
	.news-banner {
		flex-wrap: wrap;
		gap: 8px;
	}
	.news-title {
		flex: 1 1 100%;
		order: 2;
	}
	.news-badge {
		order: 1;
	}
	.news-arrow {
		order: 3;
		margin-left: auto;
	}
}

.bpr {
	margin-bottom: 40px;
}
.bpr h4 {
	margin:0;
	padding:8px 0 25px 15px;
	background:url(../gfx/bgch.png) left top no-repeat;
	color:#fff;
	font-size:1.125rem;
	font-weight:400
}
.bpr p {
	font-size:12px;
	color:#131313;
	margin-bottom:20px
}
.bpra h4,.bprb h4,.bprc h4 {
	font-size:1.1rem;
	margin:0 0 15px;
	padding:6px 0 7px 10px;
	border-left:3px solid #b9b9b9;
	border-bottom:1px solid #b9b9b9;
	font-weight:500;
	background-color: #e9f6f6;
}
.bpra h4 {
	color:#452020
}
.bprb h4 {
	color:#203e45
}
.bprc h4 {
	background: #fff url(../gfx/bgcfh1.gif) center top repeat-y;
	background-size: cover;
	text-align: center;
	color: #fff;
	border: none;
	padding: 7px 0 7px;
	text-transform: uppercase;
}
.bpra ul,.bprb ul,.bprc ul {
	margin:0 0 20px;
	padding:0 0 0 30px
}
.bpra li,.bprb li,.bprc li {
	padding-bottom:9px;
	font-weight:400
}
@media (max-width:1199px) {
.bpra li,.bprb li,.bprc li {
	padding-bottom:3px;
}
}
@media (max-width:767px) {
.bpra li,.bprb li,.bprc li {
	padding-bottom:2px;
}
.bprb h4, .bprc h4 {
	margin-top: 8px;
}
}
.bpra a:link,.bprb a:link,.bprc a:link {
	text-decoration:underline;
	color:#2b3c6c
}
.bpra a:active,.bprb a:active,.bprc a:active,
.bpra a:visited,.bprb a:visited,.bprc a:visited {
	color:#2b3c6c
}
.bpra a:hover,.bprb a:hover,.bprc a:hover {
	text-decoration:none;
	color:#415282
}
.bprd {
	padding-top:30px
}

.fpmargin {
	margin-top: 2px;
}

.form-select {
	padding: .50rem 2.25rem .50rem .60rem;
}
.form-control {
	padding: .50rem .75rem .50rem .60rem;
}
/* ================================================= /Index */


/* ================================================= Ctn */
.ctn {
	padding-top: 2.2rem;
	padding-bottom: 4rem;
	font-family: var(--font-body);
	color: var(--color-text) !important;
	font-weight: 400;
}
.ctn p {
	font-size: 1.05rem;
	line-height: 1.7rem;
	font-family: var(--font-body);
	font-weight: 400;
}

.p-subtitle {
	font-size: 1.05rem;
	color: var(--color-text-muted);
	margin: 0 auto;
	line-height: 1.6;
}

.ctn-photo-box {
	margin-bottom: 1.5rem;
	text-align: center;
	background: var(--color-bg-subtle);
	padding: 1rem;
}
.ctn-photo-box img {
	max-width: 100%;
	height: auto;
	border: 1px solid var(--color-border);
}
.ctn-photo-box-caption {
	display: block;
	margin-top: 0.5rem;
	font-size: 0.9rem;
	color: var(--color-text-muted);
}

.ctnfr {
	padding-top: 1rem;
}

.ctnfr .form-select {
	padding: .65rem 2.25rem .65rem .60rem;
	box-shadow: 0 2px 10px rgba(0,0,0,.05);
}
.ctnfr .form-control {
	padding: .65rem .75rem .65rem .75rem;
	box-shadow: 0 2px 10px rgba(0,0,0,.05);
}
.ctnfr .form-control:focus, .ctnfr .form-select:focus {
	box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}

.ctnform .form-select {
	padding: .50rem 2.25rem .50rem .60rem;
	box-shadow: 0 2px 10px rgba(0,0,0,.05);
}
.ctnform .form-control {
	padding: .50rem .75rem .50rem .75rem;
	box-shadow: 0 2px 10px rgba(0,0,0,.05);
}
.ctnform .form-control:focus, .ctnform .form-select:focus {
	box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}

.ctnfz {
	padding-bottom: 6rem;
}
.ctnfz .form-control {
	box-shadow: 0 2px 10px rgba(0,0,0,.05);
	transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
.ctnfz .form-control:focus {
	box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}
/* ================================================= /Ctn */


/* ================================================= Ctn 2 */
.mportow a:link,h4.hwp {
	color:#dc0303
}
h4.hwp {
	border:0;
	font-size:19px;
	margin:5px 0 15px;
	border-bottom:1px dashed #666;
	padding-bottom:2px
}
.tblemportowa .tblemportowatd, .tblemportowb .tblemportowbtd {
	padding-right:30px;
	padding-bottom: 13px;
	padding-top: 10px;
	vertical-align:top;
}
.tblemportowa a.on,.tblemportowb a.on {
	text-decoration:none;
	background-color:#ff9
}
.tblemportowa a.on,.tblemportowb a.on {
	text-decoration:none;
	background-color:#ff9
}
@media (max-width:768px) {
.tblemportowa {
	display:none
}
}
@media (min-width:769px) {
.tblemportowb {
	display:none
}
}
ul.mportow {
	list-style:none;
	margin:14px 0 20px;
	padding:0 0 0 8px
}
ul.mportow li {
	background:url(../gfx/bull.gif) 0 8px no-repeat;
	padding-left:10px;
}

.pguidkb {
	border:2px solid silver;
	padding:5px 2px 5px 5px;
	font-weight:700;
	margin-top: 20px;
}
.pguidkb img {
	margin-right:10px
}
.pguidkb a:link {
	color:#033;
	text-decoration:none
}
.pguidkb a:hover {
	color:#300;
	border-bottom:1px dashed #300;
	text-decoration:none
}

.ptxtimg, p.ptxtimg {
	text-align: center;
	background: var(--color-bg-subtle);
	margin-top: 1.2rem;
	margin-bottom: 1.2rem;
	padding: 1rem;
}
.ptxtimg img {
	border: 1px solid var(--color-border);
}

td.pricegui {
	min-width:28%
}

p.imgtxt {
	text-align:center;
	border:1px solid silver;
	border-radius: var(--radius-sm);
	padding:5px 0;
	margin:15px 0
}

.tt {
	background-color:#dfcdd2;
	padding:4px 2px 4px 10px;
	border-bottom:1px solid #99858b;
	font-weight:700
}
.ta,.tb {
	padding:2px 2px 2px 10px;
	border-bottom:1px solid #c3bfc0
}
.ilebilet,.ilebileta,.infobilet,.infopass,.infopasst,.nrrej,.rpolea,.rpoleb {
	vertical-align:top
}
.ta {
	background-color:#efe7ea
}
.tb {
	background-color:#e7efe9
}
.ta img,.tb img {
	mix-blend-mode:multiply;
	width:150px
}

.table-logo-img img {
	mix-blend-mode:multiply;
	width:150px
}

/* stron tabelka z promami promocja z 1 str. */
.prominfo img {
	width:40px;
	border:1px solid silver;
	margin-top:4px
}
.tblprominfo {
	margin-bottom:5px
}
.tblprominfo h3 {
	float:left;
	display:inline;
	background:0 0;
	padding:6px 0 0;
	font-size:19px;
	margin:0;
	color:#fff;
	border:0;
	text-decoration:none;
}
p.ptita {
	float:left;
	display:inline;
	margin: 5px 10px 0 0;
	padding:0
}
.tblpa, th.tblpa {
	background-color:#3b3a74;
	padding-bottom: 15px;
}
td.tblpb {
	background-color:#e7e7eb
}
td.tblpb h2 {
	font-size:1.125rem;
	background:0 0;
	padding:6px 0;
	margin:0;
	color:#2e2e2e;
}
td.tblpc {
	font-weight:700;
	color:#060;
	width:120px;
	text-align:center
}
.tblpd {
	width:166px;
	text-align:center
}
.tblpd>.btn {
	line-height:15px
}
p.tblinbt {
	text-align:right;
	font-size:14px;
	color:#666
}
.pppadb,p.pppadb {
	margin-bottom:5px;
	padding-bottom:5px
}
h1.prh {
	border:none;
	margin-top:50px;
	margin-bottom:10px
}
.tblpda {
	padding-bottom:0
}
.tblpda h3 {
	background:0 0;
	padding:0;
	margin:0;
	color:#971b38;
	border:none;
	font-weight:600;
	border:none;
	text-decoration:none
}
td.tblpdb {
	padding-top:1.125rem;
	border-bottom:2px solid #a4a0a2
}
td.tblpdb i {
	color:#036;
}
td.tblpdb1 {
	width:20%
}
td.tblpdb2 {
	width:35%
}
td.tblpdb3 {
	width:20%
}
td.tblpdb4 {
	width:15%;
	text-align:center
}
td.tblpdb5 {
	width:10%
}
td.tblpdb5 img {
	max-width: 100px;
}
.rozdc {
	font-size:12px
}
@media (max-width:560px) {
p.ptita {
	display: none;
}
}
@media (max-width:460px) {
td.tblpdb1 {
	text-align:center;
}
td.tblpdb2, td.tblpdb3 {
	font-size:.9rem;
}
td.tblpdb5 img {
	max-width: 90px;
}
}
.rboxcpr {
	border:1px solid #cde2de;
	-webkit-border-radius: var(--radius-sm);
	-moz-border-radius: var(--radius-sm);
	border-radius: var(--radius-sm);
	margin-top:20px
}
.rboxcpr img {
	max-width:30px;
	margin-right:12px;
	margin-left:4px
}
.rboxcpr p {
	font-size:16px;

	padding:5px;
	margin:0
}
.rboxcpr a:active,.rboxcpr a:link {
	color:#309888;
	text-decoration:none
}
.rboxcpr a:visited {
	color:#309888
}
.rboxcpr a:hover {
	text-decoration:none;
	color:#62d9c7
}
/* /stron tabelka z promami promocja z 1 str. */

/* ================================================= /Ctn 2 */


/* ================================================= Prawa kolumna */
.rboxc {
	background-color:#ebeff4;
	-webkit-border-bottom-right-radius: var(--radius-sm);
	-webkit-border-bottom-left-radius: var(--radius-sm);
	-moz-border-radius-bottomright: var(--radius-sm);
	-moz-border-radius-bottomleft: var(--radius-sm);
	border-bottom-right-radius: var(--radius-sm);
	border-bottom-left-radius: var(--radius-sm);
	padding-bottom:2px;
	position: relative;
}
.rboxc p {
	font-size:0.8rem;
	line-height: 20px;
	padding:5px
}
.rboxb {
	border-left:1px solid #ebeff4;
	border-right:1px solid #ebeff4;
	margin-bottom:8px
}
.zdc {
	position:absolute;
	z-index:1;
	top:11%;
	left:73%;
}
.rboxd {
	background:url(../gfx/telbgc.gif) bottom left repeat-x #fff;
	border:1px solid #cedbec;
	-webkit-border-radius: var(--radius-sm);
	-moz-border-radius: var(--radius-sm);
	border-radius: var(--radius-sm);
	margin-bottom:5px;
	padding-left: 10px;
}
.rboxda,.rboxdb {
	float:left;
	display:inline;
	text-align:center
}
.rboxda {
	width:55px;
	padding:10px 0 0
}
.rboxdb {
	width:auto;
	padding-left:5px
}
.rboxdb p.a {
	font-weight:700;
	margin:5px 0 2px;
	padding:0;
	color:#ee2122;
	font-size:.9em
}
.rboxdb p.b,.rboxdb p.c {
	margin:0;
	padding:0;
	font-weight:700
}
.rboxdb p.b {
	font-size:.7em
}
.rboxdb p.c {
	color:#f50001;
	font-size:1.3em;
	text-shadow:0 1px .3px #b4becb;
	padding-top:6px;
	padding-bottom:6px
}
.rboxdb p.c a:link {
	color:#f50001;
	text-decoration: none;
}
.rboxroa,.rboxrob {
	float:left;
	display:inline
}
.rboxroa {
	width:55px;
	text-align:center;
	padding:10px 0 0 10px;
}
.rboxrob {
	width:auto;
	text-align:left;
	padding-left:20px
}
.rboxrob p.a {
	font-weight:700;
	margin:16px 0 2px;
	padding:0;
	font-size:1em;
	line-height: 23px;
}
.rboxrob p.a a:hover {
	opacity:.8;
	filter:alpha(opacity=80)
}
.rboxrob p.a a:hover,.rboxrob p.a a:link {
	text-decoration:none
}

h3.spage {
	border:0;
	color:#dc0303;
	font-size:1.125rem;
	margin:0 0 5px 4px;
	padding-top:5px;
	text-decoration: none;
}
h4.spage {
	border:0;
	background-color:#7189ab;
	color:#ebf2fc;
	font-size:16px;
	margin:20px 0 5px 4px;
	padding:3px 0
}
p.ppage {
	font-size:14px;
	margin:0;
	padding-top:5px
}

@media (max-width:1399px) {
.zdc {
	top:8%;
	left:69%;
}
}
@media (max-width:1199px) {
.rboxda,.rboxroa,.zdc {
	display:none
}
}
@media (max-width:767px) {
.rboxda,.rboxroa {
	display:inline
}
}
/* ================================================= /Prawa kolumna */


/* ================================================= Promocje */
.prtable {
	margin-top:1.5rem;
	margin-bottom:2.5rem;
}
p.txtgr1 {
	font-size:1.3rem;
	color:#060;
	font-weight: 400;
}
.promoback,.promobacka {
	height:190px;
	min-height:190px;
	overflow:hidden
}
.promoback {
	width:100%;
	background:url(../gfx/bgc_promoa.gif) left top repeat-x #fff;
	margin:40px 0 0
}
.promobacka {
	width:auto
}
.promobackb {
	width:auto;
	margin:-110px 0 0 330px;
	font-size:1.125rem;
	font-weight: 400;
	background:url(../gfx/bgc_back.gif) left top no-repeat;
	padding:8px 0 10px 45px;
	position:absolute;
	z-index:1;
}
.mpromoback {
	width:100%;
	margin:25px 0 0
}
.mpromobacka {
	width:auto;
	background-color:#036;
	text-align:center
}
.mpromobackb {
	width:auto;
	font-size:1.125rem;
	font-weight: 400;
	padding:8px 0 10px;
	text-align:center;
	border-left:1px solid #036;
	border-right:1px solid #036;
	border-bottom:1px solid #036
}
.mpromobackb a:link,.promobackb a:link,.mpromobackb a:visited,.promobackb a:visited,.mpromobackb a:active,.promobackb a:active {
	color:#2f258e;
	text-decoration:none
}
.mpromobackb a:hover,.promobackb a:hover {
	color:#04315d;
	text-decoration:underline
}
@media (max-width:991px) {
.promoback {
	display:none
}
}
@media (min-width:992px) {
.mpromoback {
	display:none
}
}

.promocofnij {
	text-align: center;
	border: 1 px solid #e8ecef;
	background-color: #f3f6fa;
	padding: 2rem 5rem 2rem 5rem;
	margin-top: 40px;
	margin-bottom: 5px;
}
@media (max-width:991px) {
.promocofnij {
	padding: 1rem;
}
}

/* Strona pojedynczej promocji */
.promo-content {
	margin-bottom: 2rem;
}
.promo-content p {
	margin-bottom: 1rem;
}

.promo-image {
	text-align: center;
	background-color: #f8fafc;
	border: 1px solid var(--color-border);
	padding: 1.5rem;
	margin: 2rem 0;
}
.promo-image img {
	max-width: 100%;
	height: auto;
}

/* Przycisk CTA rezerwacji */
.promo-cta {
	margin: 3rem 0 2.5rem 0;
}
.promo-cta-btn {
	display: flex;
	align-items: center;
	gap: 1rem;
	padding: 1.25rem 1.5rem;
	background: linear-gradient(135deg, var(--color-primary) 0%, #083d6e 100%);
	color: #fff;
	text-decoration: none;
	transition: all 0.2s ease;
}
.promo-cta .promo-cta-btn {
color: #fff;
}
.promo-cta .promo-cta-btn a,
.promo-cta .promo-cta-btn a:link,
.promo-cta .promo-cta-btn a:visited,
.promo-cta .promo-cta-btn a:hover,
.promo-cta .promo-cta-btn a:active,
.promo-cta .promo-cta-btn a:focus,
.promo-cta .promo-cta-btn a:focus-visible {
color: inherit !important;
}
.promo-cta-btn:hover {
	background: linear-gradient(135deg, #1268b5 0%, #0a4a87 100%);
	color: #fff;
	transform: translateY(-2px);
	box-shadow: 0 4px 12px rgba(14, 92, 167, 0.3);
}
.promo-cta-btn > i:first-child {
	font-size: 1.8rem;
	opacity: 0.9;
}
.promo-cta-btn > span {
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 2px;
}
.promo-cta-btn > span strong {
	font-size: 1.15rem;
	font-weight: 600;
}
.promo-cta-btn > span small {
	font-size: 0.85rem;
	opacity: 0.85;
	color: var(--color-text-dwhite) !important;
}
.promo-cta-btn > i:last-child {
	font-size: 1.2rem;
	transition: transform 0.2s ease;
}
.promo-cta-btn:hover > i:last-child {
	transform: translateX(4px);
}

/* Nawigacja poprzednia/następna promocja */
.promo-nav {
	display: flex;
	gap: 1rem;
	margin-top: 3rem;
	padding-top: 2rem;
	border-top: 1px solid var(--color-border);
}
.promo-nav-item {
	flex: 1;
}
.promo-nav-item a {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	padding: 1rem;
	background-color: #f8fafc;
	border: 1px solid var(--color-border);
	color: #1a202c;
	text-decoration: none;
	transition: all 0.2s ease;
	height: 100%;
	border-radius: var(--radius-md);
}
.promo-nav-item a:hover {
	background-color: #f1f5f9;
	border-color: #cbd5e1;
	color: var(--color-text-bl);
}
.promo-nav-item i {
	font-size: 1.3rem;
	color: #64748b;
	transition: transform 0.2s ease;
}
.promo-nav-item a:hover i {
	color: var(--color-text-bl);
}
.promo-nav-prev a:hover i {
	transform: translateX(-3px);
}
.promo-nav-next a:hover i {
	transform: translateX(3px);
}
.promo-nav-item span {
	display: flex;
	flex-direction: column;
	gap: 2px;
	flex: 1;
	min-width: 0;
}
.promo-nav-item span small {
	font-size: 0.8rem;
	color: #64748b;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}
.promo-nav-item span strong {
	font-size: 0.95rem;
	font-weight: 500;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.promo-nav-prev {
	text-align: left;
}
.promo-nav-next {
	text-align: right;
}
.promo-nav-next a {
	justify-content: flex-end;
}
.promo-nav-next span {
	align-items: flex-end;
}

@media (max-width: 767px) {
	.promo-nav {
		flex-direction: column;
	}
	.promo-nav-next a {
		justify-content: flex-start;
	}
	.promo-nav-next span {
		align-items: flex-start;
	}
	.promo-cta-btn {
		padding: 1rem;
	}
	.promo-cta-btn > i:first-child {
		font-size: 1.5rem;
	}
	.promo-cta-btn > span strong {
		font-size: 1.05rem;
	}
}
/* /Strona pojedynczej promocji */

/* ================================================= /Promocje */


/* ================================================= Rezwerwacja promu */
.rbpt {
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow-md);
	text-align: right;
}
.rbpt h2 {
	border-bottom:0;
	font-size:1.5rem;
	font-weight: 500;
	padding-top:0;
	color: #fff;
	opacity:.7;
	filter:alpha(opacity=70)
}
.rbpt p {
	width:360px;
	margin-bottom: 0;
	color: #fff;
	float: right;
	opacity:.7;
	filter:alpha(opacity=70)
}

.rbp {
	text-align:center !important;
	padding-top: .6rem;
}
.rbp img {
	padding:1px;
	display:inline
}
/* rbpt visibility handled by Bootstrap classes d-none d-lg-flex */
@media (min-width:992px) {
.frezlog {
	display:none
}

}
@media (max-width:480px) {
.frezlog {
	display:none
}
}
/* ================================================= /Rezwerwacja promu */


/* ================================================= Polaczenia promowe */
.routes-list-section {
	margin-top: 2rem;
}
.routes-list-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 1rem 1.25rem;
	background: var(--color-bg-antrac);
	margin-bottom: 0;
}
.routes-list-header h2 {
	font-size: 1.1rem;
	font-weight: 600;
	color: #fff;
	margin: 0;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	background: none;
	border: none;
	padding: 0;
	text-decoration: none;
}
.routes-list-header h2 i {
	margin-right: 0.5rem;
	opacity: 0.8;
}
.routes-sort {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	font-size: 0.85rem;
}
.routes-sort span {
	color: rgba(255,255,255,0.6);
}
.routes-sort a {
	color: rgba(255,255,255,0.8);
	text-decoration: none;
	padding: 4px 10px;
	border-radius: var(--radius-sm);
	transition: all 0.2s ease;
}
.routes-sort a:hover {
	background: rgba(255,255,255,0.1);
	color: #fff;
}
.routes-sort a.active {
	background: rgba(255,255,255,0.15);
	color: #fff;
}
.routes-sort a i {
	margin-right: 4px;
}

/* Lista połączeń */
.routes-list {
	background: #fff;
	border: 1px solid var(--color-border);
	border-top: none;
}

/* Pojedynczy element trasy */
.route-item {
	display: flex;
	align-items: center;
	gap: 0;
	padding: 1.1rem 1.25rem;
	border-bottom: 1px solid var(--color-border);
	transition: background-color 0.15s ease;
}
.route-item:last-child {
	border-bottom: none;
}
.route-item:hover {
	background-color: #f8fafc;
}

/* Flagi */
.route-flags {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-shrink: 0;
	padding-right: 2.5rem;
	border-right: 1px solid var(--color-border);
	margin-right: 2.5rem;
}
.route-flags .fi {
	font-size: 1rem;
	border-radius: 2px;
	box-shadow: 0 1px 2px rgba(0,0,0,0.1);
	opacity: .9;
}
.route-flags i {
	font-size: 0.75rem;
	color: #94a3b8;
}

/* Info o trasie */
.route-info {
	flex: 1;
	min-width: 0;
	margin-right: 1.5rem;
}
.route-name {
	font-size: 1.05rem;
	font-weight: 600;
	color: #1a202c;
	margin: 0 0 4px 0;
	background: none;
	border: none;
	padding: 0;
	text-decoration: none;
}
.route-name span {
	color: #94a3b8;
	font-weight: 400;
}
.route-operator {
	display: flex;
	align-items: center;
	gap: 8px;
}
.route-operator img {
	height: 18px;
	width: auto;
	mix-blend-mode: multiply;
}
.route-operator span {
	font-size: 0.85rem;
	color: #64748b;
}

/* Przyciski akcji */
.route-actions {
	display: flex;
	gap: 0.5rem;
	flex-shrink: 0;
}
.route-btn {
	display: flex;
	align-items: center;
	gap: 6px;
	padding: 8px 14px;
	font-size: 0.85rem;
	font-weight: 500;
	text-decoration: none;
	border-radius: var(--radius-sm);
	transition: all 0.2s ease;
}
.route-btn i {
	font-size: 1rem;
}
.route-btn-schedule {
	background: var(--color-bg-subtle);
	color: var(--color-text-secondary);
	border: 1px solid var(--color-border);
}
.route-btn-schedule:hover {
	background: var(--color-bg-muted);
	color: var(--color-text-bl-dark);
}



.route-btn-book{
  background: linear-gradient(135deg, rgba(242,149,63,.22) 0%, rgba(211,57,4,.14) 100%);
  border: 1px solid rgba(211,57,4,.22);
  color: #d84a1c;
}

.route-btn-book:hover{
  color: #d84a1c;
  background: linear-gradient(135deg, rgba(242,149,63,.28) 0%, rgba(211,57,4,.18) 100%);
}
.route-btn-book:link,
.route-btn-book:visited,
.route-btn-book:active{
  color: #d84a1c !important;
  text-decoration: none !important;
}

/* CTA telefon */
.routes-cta {
	margin-top: 2.5rem;
	padding: 1.25rem 1.5rem;
	background: #f8fafc;
	border: 1px solid var(--color-border);
}
.routes-cta-content {
	display: flex;
	align-items: center;
	gap: 1rem;
}
.routes-cta-content > i {
	font-size: 1.5rem;
	color: var(--color-text-bl);
}
.routes-cta-content > div {
	display: flex;
	flex-direction: column;
}
.routes-cta-content strong {
	font-size: 1rem;
	color: #1a202c;
}
.routes-cta-content span {
	font-size: 0.9rem;
	color: #64748b;
}
.routes-cta-content a {
	color: var(--color-text-bl);
	font-weight: 600;
	text-decoration: none;
}
.routes-cta-content a:hover {
	text-decoration: underline;
}

/* Responsywność */
@media (max-width: 991px) {
	.routes-list-header {
		flex-direction: column;
		gap: 1rem;
		align-items: flex-start;
	}
	.route-item {
		flex-wrap: wrap;
		padding: 1rem 1.25rem;
	}
	.route-flags {
		border-right: none;
		padding-right: 0;
		margin-right: 0;
	}
	.route-info {
		flex: 1 1 calc(100% - 90px);
		padding: 0.5rem 0;
	}
	.route-name {
		margin-bottom: 0.25rem;
	}
	.route-actions {
		flex: 1 1 100%;
		margin-top: 0.5rem;
		padding-top: 0.75rem;
		border-top: 1px solid var(--color-border);
	}
	.route-btn {
		flex: 1;
		justify-content: center;
	}
}
@media (max-width: 767px) {
	.routes-title {
		font-size: 1.6rem;
	}
	.route-flags {
		display: none;
	}
	.route-info {
		flex: 1 1 100%;
	}
	.routes-cta-content {
		flex-direction: column;
		text-align: center;
	}
}

/* Stare style (kompatybilność) */
.polprom {
	background: var(--color-bg-subtle);;
	border-left: 4px solid var(--color-primary);
	padding: 1.25rem 1.5rem;
	margin-bottom: 0;
}
@media (max-width: 991px) {
	.polprom {
		margin-bottom: 1.5rem;
	}
	.polprom:last-child {
		margin-bottom: 0;
	}
}
.polprom h2 {
	font-size: 1rem;
	line-height: 1.5rem;
	font-weight: 600;
	color: #1e3a5f;
	padding: 0;
	margin: 0 0 0.75rem 0;
	background: none;
	text-transform: none;
	display: flex;
	align-items: center;
	gap: 0.6rem;
	text-decoration: none;
}
.polprom-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	font-size: 1rem;
	background: linear-gradient(135deg, var(--color-primary) 0%, #3b82f6 100%);
	color: #fff;
	border-radius: var(--radius-lg);
	flex-shrink: 0;
}
.apptable {
	font-size: 1.1rem;
	background-color:#e3e7e9;
	border-bottom:1px solid silver;
	margin-bottom:15px;
	font-weight:500;
	padding:10px 0 20px 0;
}
.apptableinfo {
	border-bottom: 1px solid silver;
	padding-top: 15px;
	padding-bottom: 10px;
}
.apptableinfo:hover {
	background-color:#f6f9df
}
.apptableinfo span {
	display: inline;
}
.apptableinfo span img {
	padding-right: 5px
}
.apptrasa a, .apparmator a {
	text-decoration: none;
}
.apprez {
	padding-left: 14px;
}
.applogo img {
	mix-blend-mode: multiply;
}
@media (max-width:767px) {
.apparm {
	font-size: .9rem;
}
.apprez {
	padding-left: 10px;
}
.apppad {
	padding-top: 15px
}
}
/* ================================================= /Polaczenia promowe */


/* ================================================= Polaczenia-promowe-rozklad (NOWE) */

/* Info o połączeniu */
.schedule-info {
	display: flex;
	gap: 1.5rem;
	align-items: flex-start;
	background: var(--color-bg-subtle);
	border: 1px solid var(--color-border-dark);
	padding: 1.5rem;
	margin-top: .5rem;
	margin-bottom: 2rem;
}
.schedule-info-logo {
	flex-shrink: 0;
}
.schedule-info-logo img {
	max-width: 150px;
	height: auto;
	mix-blend-mode: multiply;
}
.schedule-info-text {
	flex: 1;
	font-size: 0.95rem;
	line-height: 1.6;
	color: #475569;
}
@media (max-width: 767px) {
	.schedule-info {
		flex-direction: column;
		text-align: center;
	}
	.schedule-info-logo {
		width: 100%;
	}
}

/* Wybór roku */
.schedule-year-select {
	display: flex;
	align-items: center;
}
.schedule-year-dropdown {
	background: rgba(255,255,255,0.15);
	border: 1px solid rgba(255,255,255,0.3);
	color: #fff;
	padding: 6px 12px;
	border-radius: var(--radius-sm);
	font-size: 0.9rem;
	cursor: pointer;
}
.schedule-year-dropdown option {
	color: #1a202c;
}
.schedule-year-info {
	background: rgba(255,255,255,0.15);
	border: 1px solid rgba(255,255,255,0.3);
	color: #fff;
	padding: 6px 16px;
	border-radius: var(--radius-sm);
	font-size: 0.9rem;
	font-weight: 600;
}

/* Podpowiedź */
.schedule-hint {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	padding: 1rem 1.25rem;
	background: #fffbeb;
	border: 1px solid #fde68a;
	border-top: none;
	color: #92400e;
	font-size: 0.9rem;
}
.schedule-hint i {
	font-size: 1.1rem;
}

/* Kalendarz */
.schedule-calendar {
	border: 1px solid var(--color-border);
	border-top: none;
	background: #fff;
}

/* Wybór miesiąca mobile */
.schedule-month-select {
	padding: 1rem;
	background: #f1f5f9;
	border-bottom: 1px solid var(--color-border);
}
.schedule-month-select .form-select {
	font-weight: 600;
}

/* Nagłówek kalendarza */
.schedule-header {
	display: flex;
	background: #f1f5f9;
	border-bottom: 1px solid var(--color-border);
	font-weight: 600;
	font-size: 0.85rem;
	color: #475569;
}

/* Wiersz kalendarza */
.schedule-row {
	display: flex;
	align-items: stretch;
	border-bottom: 1px solid var(--color-border);
}
.schedule-row:last-child {
	border-bottom: none;
}
/* Kolumny */
.schedule-day-col {
	width: 60px;
	min-width: 60px;
	padding: 8px 12px;
	text-align: center;
	font-weight: 600;
	background: #f8fafc;
	border-right: 1px solid var(--color-border);
	color: #1e3a5f;
	display: flex;
	align-items: center;
	justify-content: center;
}
.schedule-month-col {
	flex: 1;
	padding: 8px 4px;
	text-align: center;
	font-size: 0.85rem;
	min-width: 0;
	border-right: 1px solid #f1f5f9;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 2px;
}
.schedule-month-col:last-child {
	border-right: none;
}

/* Puste i aktywne komórki */
.schedule-empty {
	color: #cbd5e1;
}
.schedule-active {
	background: #fbfdfe;
	transition: background-color 0.15s ease;
}
.schedule-active:hover {
	background: #e2e9f0;
}
.schedule-active a {
	display: block;
	color: var(--color-text-bl);
	text-decoration: none;
	font-weight: 600;
	padding: 2px 6px;
	border-radius: 3px;
	transition: all 0.15s ease;
	position: relative;
	white-space: nowrap;
}
.schedule-active a:hover {
	background: var(--color-primary);
	color: #fff;
}
.schedule-active a::after {
	content: attr(data-date);
	position: absolute;
	bottom: 100%;
	left: 50%;
	transform: translateX(-50%);
	background: #1e3a5f;
	color: #fff;
	font-size: 0.75rem;
	font-weight: 400;
	padding: 4px 8px;
	border-radius: var(--radius-sm);
	white-space: nowrap;
	opacity: 0;
	visibility: hidden;
	transition: all 0.2s ease;
	margin-bottom: 4px;
	z-index: 10;
}
.schedule-active a:hover::after {
	opacity: 1;
	visibility: visible;
}

/* Mapa trasy */
.schedule-map {
	margin-top: 2rem;
	padding: 1.5rem;
	background: var(--color-bg-subtle);
	border: 1px solid var(--color-border-dark);
}
.schedule-map h3 {
	font-size: 1.1rem;
	font-weight: 600;
	color: var(--color-text-bl-dark);
	margin: 0 0 1rem 0;
	display: flex;
	align-items: center;
	gap: 0.5rem;
}
.schedule-map img {
	max-width: 100%;
	height: auto;
}

/* CTA pod rozkładem */
.schedule-cta {
	display: flex;
	gap: 1rem;
	margin-top: 2.5rem;
}
.schedule-cta > .promo-cta-btn {
	flex: 1;
	color: #fff !important;
}
.schedule-cta > .promo-cta-btn:hover {
	color: #fff !important;
}
.schedule-cta-box {
	flex: 1;
	display: flex;
	align-items: center;
	gap: 1rem;
	padding: 1.25rem 1.5rem;
	text-decoration: none;
	transition: all 0.2s ease;
}
.schedule-cta-box > i {
	font-size: 1.8rem;
	flex-shrink: 0;
}
.schedule-cta-box > div {
	display: flex;
	flex-direction: column;
	gap: 2px;
}
.schedule-cta-box strong {
	font-size: 1.05rem;
	font-weight: 600;
}
.schedule-cta-box span {
	font-size: 0.85rem;
	opacity: 0.85;
}
.schedule-cta-secondary {
	background: var(--color-bg-subtle);
	border: 1px solid var(--color-border);
	color: var(--color-text-bl-dark);
}
.schedule-cta-secondary:hover {
	background: var(--color-bg-muted);
	color: var(--color-text-bl-dark);
}
@media (max-width: 767px) {
	.schedule-cta {
		flex-direction: column;
	}
	.schedule-cta-box {
		padding: 1rem 1.25rem;
	}
	.schedule-cta-box > i {
		font-size: 1.5rem;
	}
}

/* Responsywność kalendarza */
@media (max-width: 767px) {
	.schedule-day-col {
		width: 50px;
		min-width: 50px;
		font-size: 0.9rem;
	}
	.schedule-month-col {
		font-size: 0.8rem;
	}
}
/* ================================================= /Polaczenia-promowe-rozklad (NOWE) */


/* ================================================= Polaczenia-promowe-rozklad (STARE) */
.routeinfocal {
	width:100%;
	margin:0;
	padding:0
}
.routeinfocalparam {
	margin-bottom:4px;
	font-weight:bold;
	padding:1px 0 1px 0;
}
.routeinfocal ul {
	margin:0;
	padding:0;
	list-style-type:none
}
.routeinfocal,.routeinfocal li {
	float:left;
	display:inline
}


.routeinfocal li {
	width:6%;

	text-align:center;
	border-left:1px solid #fff;
	border-right:1px solid #fff;
	margin-bottom:0;
	padding-top: 4px;
	padding-bottom: 4px;
}
.routeinfocal li.mtop,.routeinfocal li.mtopa {
	border-left:0;
	background-color:#f1f3f4
}
.routeinfocal li.day,.routeinfocal li.mtopa {
	width:90px
}
.routeinfocal li.day,.routeinfocal li.mon,.routeinfocal li.monon {
	border:1px solid silver;
	text-align:center
}
.routeinfocal li.mon {
	width:6%
}
.routeinfocal li.monon {
	width:6%;
	background-color:#ffc
}
.routeinfocal a {
	text-decoration:none
}
.routeinfocal a:hover {
	color:#680000;
	background-color:#e2fdfd;
	text-decoration:underline
}
@media (max-width:480px) {
.routeinfocal {
	font-size:12px
}
.routeinfocal li.day,.routeinfocal li.mtopa {
	width:65px
}
}
@media (max-width:767px) {
.routeinfocal li {
	width:70%
}
.routeinfocal li.mon {
	width:70%
}
.routeinfocal li.monon {
	width:70%
}
.iimrr {
	display:none
}
}


.list-group-horizontal > .list-group-item + .list-group-item, .list-group-horizontal > .list-group-item {
	width: 90px;
	background: none;
	border: 1px solid silver;
	padding: 10px 0 10px 0;
	text-align: center;
	margin-bottom: 0;
}
.list-group-horizontal > .list-group-item:first-child:not(:last-child) {
	border-bottom-left-radius: 0;
	border-top-right-radius: 0;
}
.list-group-horizontal > .list-group-item:last-child:not(:first-child) {
	border-top-right-radius: 0;
	border-bottom-left-radius: 0;
}
.calsel {
	background-color: #f1f3f4 !important;
}
.calmie {
	font-weight: bold;
	background-color: #f1f3f4 !important;
	text-transform: uppercase;
	color: #232323;
	border-left: 1px solid white !important;
}
.caldzn {
}
.caldzi {
	font-weight: 300;
	line-height: 30px;
}
.caldzi a {
	text-decoration: none;
}
.caldzi a:hover {
	color: #680000;
	background-color: #e2fdfd;
	text-decoration: underline;
}
.caldziact {
	background-color: #ffffcc !important;
}
@media (max-width:1199px) {
.calsel, .caldzn {
	width: 120px !important;
}
}
@media (max-width:991px) {
.calsel, .caldzn {
	width: 150px !important;
}
.caldzi {
	font-size: .9rem;
}
.calmie {
	font-size: .9rem;
}
}
@media (max-width:767px) {
.calwid {
	width: 1080px !important;
}
.calsel, .caldzn {
	width: 354px !important;
}
}
/* ================================================= /Polaczenia-promowe-rozklad (STARE) */


/* ================================================= Bilety-promowe */

/* Karta promocji - link na całą kartę */
.card-promo a {
	display: flex;
	flex-direction: column;
	height: 100%;
	text-decoration: none;
	color: inherit;
}
.card-promo a:hover {
	text-decoration: none;
}
.card-promo a:hover .card {
	box-shadow: 0 6px 16px rgba(0, 0, 0, 0.12);
}
.card-promo a:hover .card-promo-btn {
	background-color: var(--color-bg-dblue);
}
.card-promo a:hover .card-promo-btn i {
	transform: translateX(3px);
}

.card-promo h2 {
	font-size: 1.1rem;
	font-weight: 600;
	text-align: center;
	line-height: 1.5;
	letter-spacing: 0.3px;
	margin: 0;
	padding: 2px 0 2px 0;
	background: var(--color-bg-dblueg);
	color: #fff;
	text-transform: uppercase;
	min-height: 4.2em;
	display: flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
}
@media (max-width:767px){
.card-promo h2 {
	font-size: 1rem;
}
}
@media (max-width:440px){
.card-promo h2 {
	font-size: 0.95rem;
}
}

/* Przycisk dolny karty */
.card-promo .card-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 14px 3px;
	background-color: var(--color-bg-blue);
	color: #fff;
	font-size: 0.95rem;
	font-weight: 500;
	text-align: center;
	transition: background-color 0.2s ease;
	margin-top: auto;
}
.card-promo .card-btn i {
	font-size: 0.85rem;
	transition: transform 0.2s ease;
}

.card-promo .card {
  --bs-card-border-width: 1px;
  --bs-card-border-color: var(--color-border);
  --bs-card-border-radius: 0;
  background-color: #fff;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
  transition: box-shadow 0.2s ease;
  display: flex;
  flex-direction: column;
}

.card-promo .card-body {
  padding: 12px 14px;
  background-color: var(--color-bg-subtle);
  line-height: 1.6;
  flex: 1;
  font-size: 0.95rem;
}
.card-promo .card-body p {
  font-size: 0.95rem;
  line-height: 1.55rem;
  font-weight: 400;
  color: #4a5568;
  margin-bottom: 0;
}
/* ================================================= /Bilety-promowe */


/* ================================================= Przewodniki */
.card-przewo a {
	display: flex;
	flex-direction: column;
	height: 100%;
	text-decoration: none;
	color: inherit;
}
.card-przewo a:hover {
	text-decoration: none;
}
.card-przewo a:hover .card {
	box-shadow: 0 6px 16px rgba(0, 0, 0, 0.12);
}
.card-przewo a:hover .card-przewo-btn {
	background-color: var(--color-bg-dblue);
}
.card-przewo a:hover .card-przewo-btn i {
	transform: translateX(3px);
}

.card-przewo h2 {
	font-size: 1.1rem;
	font-weight: 600;
	text-align: center;
	line-height: 1.5;
	letter-spacing: 0.3px;
	margin: 0;
	padding: 2px 0 2px 0;
	background: var(--color-bg-dblueg);
	color: #fff;
	text-transform: uppercase;
	min-height: 4.2em;
	display: flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
}
@media (max-width:767px){
.card-przewo h2 {
	font-size: 1rem;
}
}
@media (max-width:440px){
.card-przewo h2 {
	font-size: 0.95rem;
}
}

/* Przycisk dolny karty */
.card-przewo .card-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 14px 3px;
	background-color: var(--color-bg-blue);
	color: #fff;
	font-size: 0.95rem;
	font-weight: 500;
	text-align: center;
	transition: background-color 0.2s ease;
	margin-top: auto;
}
.card-przewo .card-btn i {
	font-size: 0.85rem;
	transition: transform 0.2s ease;
}

.card-przewo .card {
  --bs-card-border-width: 1px;
  --bs-card-border-color: var(--color-border);
  --bs-card-border-radius: 0;
  background-color: #fff;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
  transition: box-shadow 0.2s ease;
  display: flex;
  flex-direction: column;
}

.card-przewo .card-body {
  padding: 12px 14px;
  background-color: var(--color-bg-subtle);
  line-height: 1.6;
  flex: 1;
  font-size: 0.95rem;
}
.card-przewo .card-body p {
  font-size: 0.95rem;
  line-height: 1.55rem;
  font-weight: 400;
  color: #4a5568;
  margin-bottom: 0;
}
/* ================================================= /Przewodniki */


/* ================================================= Wycieczki */
.tours {
	border: 1px solid var(--color-border);
	padding: 0;
	border-radius: 0;
	box-shadow: 0 2px 8px rgba(0,0,0,0.06);
	transition: box-shadow 0.2s ease, transform 0.2s ease;
}
.tours:hover {
	box-shadow: 0 4px 16px rgba(0,0,0,0.12);
	transform: translateY(-2px);
}
a.tours {
	color: inherit;
	cursor: pointer;
	display: flex;
	flex-direction: column;
}
a.tours:hover {
	color: inherit;
}
a.tours .wps {
	color: var(--color-primary);
}
.tourstxt {
	background: none;
	padding: 1rem 1.25rem;
}
.tours .card-body.tourstxt {
	padding-bottom: 0.5rem;
}
.tours .card-footer.tourstxt {
	padding-top: 0;
	border-top: none;
	background: transparent;
}
.tours img {
	border-bottom: none;
	aspect-ratio: 16/10;
	object-fit: cover;
}
.tours img:hover {
	opacity: 0.95;
}
.tours p {
	padding: 0;
	font-size: 0.95rem;
	font-weight: 400;
	color: #475569;
	line-height: 1.5;
	margin-bottom: 0.5rem;
}
.tours table {
	width: 100%;
}
td.price {
	padding: 0.75rem 0.5rem;
	text-align: center;
	width: 50%;
	background-color: #04354b;
	color: #fff;
	font-size: 1rem;
	font-weight: 600;
	border-bottom: none;
}
td.price span {
	font-size: 2rem;
	font-weight: 700;
}
td.days {
	padding: 0.75rem 0.5rem;
	text-align: center;
	width: 50%;
	background-color: #e8f4fd;
	color: #04354b;
	vertical-align: middle;
	font-size: 1rem;
	border-bottom: none;
	font-weight: 600;
}
td.days span {
	font-size: 2rem;
	font-weight: 700;
}
h2.tour {
	font-size: 1.15rem;
	color: #03C;
	text-align: center;
	background: none;
	padding: 0;
	margin-bottom: 0.75rem;
	margin-top: 0;
	line-height: 1.6;
	font-weight: 600;
	text-decoration: none;
}
h3.tourn {
	background: linear-gradient(135deg, #f8fafc 0%, #e8f4fd 100%);
	padding: 1rem 1.25rem;
	font-size: 1.35rem;
	margin-bottom: 0;
	text-decoration: none;
	color: var(--color-text-bl-dark);
	text-align: left;
	text-transform: none;
	font-weight: 600;
	margin-top: 1rem;
	border-left: 4px solid var(--color-primary);
}
.row-cols-1 + .row h3.tourn {
	margin-top: 5rem;
}
p.wps {
	display: block;
	text-align: center;
	color: var(--color-text-bl);
	font-size: 0.95rem;
	padding: 0.75rem 0;
	font-weight: 600;
	margin-bottom: 0;
	cursor: pointer;
	text-decoration: none;
	background: var(--color-bg-subtle);
	transition: all 0.2s ease;
	text-transform: none;
	border-top: 1px solid var(--color-border);
}
p.wps a {
	text-decoration: none;
	color: inherit;
}
p.wps:hover {
	color: #04354b;
	background: var(--color-bg-muted);
	transition: color 0.2s ease-in-out;
}

@media (max-width:1199px) {
h2.tour {
	font-size:17px
}
}

p.kierunki-info, p.kierunek-info {
	padding: 0.5rem 0.75rem;
	margin: 0 0 0.75rem 0;
	font-size: 0.85rem;
	color: #64748b;
	background: #f8fafc;
	border-left: 3px solid var(--color-text-bl);
}
p.kierunki-info strong, p.kierunek-info strong {
	color: #04354b;
}

/* Kierunek na zdjęciu */
.tours .card-img-wrapper {
	position: relative;
	display: block;
}
.tours .tour-location {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	background: linear-gradient(to top, rgba(0,0,0,0.7) 0%, rgba(0,0,0,0) 100%);
	padding: 2rem 0.75rem 0.5rem 0.75rem;
	color: #fff;
	font-size: 0.85rem;
	display: flex;
	align-items: center;
	gap: 0.4rem;
}
.tours .tour-location i {
	color: #ea4335;
	font-size: 1rem;
}

/* Wycieczki grid responsywność */
.row-cols-xl-3.g-4 {
	--bs-gutter-y: 2rem;
}
@media (min-width: 992px) {
	.row-cols-xl-3.g-4 {
		--bs-gutter-x: 2rem;
		--bs-gutter-y: 2.5rem;
	}
}

/* Wyszukiwarka wycieczek */
.trips-filter {
	background: var(--color-bg-dblueg);
	border: 1px solid var(--color-border);
	margin: 1.5rem 0 2rem 0;
}
.trips-filter-body {
	padding: 1.25rem;
}
.trips-filter .form-label {
	font-weight: 600;
	color: #fff;
	margin-bottom: 0.6rem;
	padding: 0;
	font-size: 1.05rem;
	display: flex;
	align-items: center;
	gap: 0.4rem;
}
.trips-filter .form-label::before {
	content: "\F1F6";
	font-family: "bootstrap-icons";
	color: #fff;
	opacity: 0.8;
	font-size: 1.1rem;
	padding-right: 2px;
}
.trips-filter .col-md-6:last-child .form-label::before {
	content: "\F293";
}
.trips-filter .form-label span.strong {
	color: #fff;
}

/* Nowy styl wycieczki */
.trip-header {
	margin-bottom: 1.5rem;
}
.trip-title {
	font-size: 2rem;
	color: #04354b !important;
	font-weight: 600;
	margin: 0 0 0.75rem 0;
	padding: 0;
	border: none;
	line-height: 1.3;
}
.trip-badge {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	background: #e8f4fd;
	color: var(--color-text-bl);
	padding: 0.35rem 0.75rem;
	font-size: 0.9rem;
	font-weight: 500;
}
.trip-description {
	font-size: 1rem;
	line-height: 1.7;
	color: #475569;
}
.trip-content-inner {
	padding-bottom: 2rem;
}
.trip-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0;
	margin-bottom: 2rem;
	background: #f1f5f9;
	border: 1px solid var(--color-border);
}
.trip-action-link {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.85rem 1.25rem;
	color: #04354b;
	font-weight: 500;
	text-decoration: none;
	transition: background 0.2s ease, color 0.2s ease;
	border-right: 1px solid var(--color-border);
}
.trip-action-link:hover {
	background: var(--color-bg-muted);
	color: #04354b;
	text-decoration: none;
}
.trip-action-link i {
	font-size: 1.1rem;
	color: var(--color-text-bl);
}
.trip-action-sold {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.85rem 1.25rem;
	color: #dc2626;
	font-weight: 600;
	border-right: 1px solid var(--color-border);
}
.trip-section {
	margin-top: 2.5rem;
}
.trip-section-title {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 1.3rem;
	font-weight: 600;
	color: #04354b;
	margin: 0 0 1rem 0;
	padding-bottom: 0.5rem;
	border-bottom: 2px solid var(--color-border);
	text-transform: none;
	text-decoration: none;
}
.trip-section-title i {
	color: var(--color-text-bl);
}
.trip-section-title-highlight {
	color: var(--color-text-bl);
	border-bottom-color: var(--color-primary);
}
.trip-day {
	font-size: 1rem;
	font-weight: 600;
	color: #475569;
	margin: 1.5rem 0 0.5rem 0;
	text-decoration: none;
}
.trip-section ul, .trip-section ol {
	margin: 0.75rem 0 2rem 1.5rem;
}
.trip-section li {
	margin-bottom: 0.5rem;
	line-height: 1.7;
}
.trip-section-prices {
	margin-top: 3rem;
	margin-bottom: 3rem;
	background: #f8fafc;
	padding: 1.5rem;
	border: 1px solid var(--color-border);
}
.trip-table {
	margin: 0;
}
.trip-table th {
	background: #eef2f7;
	font-weight: 600;
	color: #04354b;
}
.trip-table td, .trip-table th {
	vertical-align: middle;
}
.trip-promo-price {
	color: #dc2626;
	font-weight: 600;
}
.trip-promo-note {
	font-size: 0.9rem;
	color: #64748b;
	margin-top: 0.75rem;
}
.trip-gallery {
	margin-top: 3.5rem;
}

.trip-photo {
	margin-bottom: 1.5rem;
	text-align: center;
	background: var(--color-bg-subtle);
	padding: 1rem;
}
.trip-photo img {
	max-width: 100%;
	height: auto;
	border: 1px solid var(--color-border);
}
.trip-photo-caption {
	display: block;
	margin-top: 0.5rem;
	font-size: 0.9rem;
	color: var(--color-text-muted);
}

/* Stare style wycieczki (kompatybilność) */
h1.htravel {
	margin-top:0;
	color:#797979;
	border:none;
	font-size:1.875rem;
	margin-bottom:17px;
	margin-top:14px;
	padding-left:6px;
	line-height:40px;
	border-left: 4px solid #cdd3d9;
}
h3.htravfl {
	margin-top:0;
	color:#676767;
	border:none;
	font-size:1.25rem;
	margin-bottom:28px;
	margin-top:8px;
	padding-left:12px;
}
h5.htravgl
{
	color:#064f15;
	border:none;
	font-size:1.25rem;
	margin-bottom:0;
	margin-top:56px;
	padding-bottom:0;
	text-transform:uppercase;
}
h5.htravgltic
{
	color:#0a0790;
	background-color:#fbfbf7;
	border:none;
	font-size:1.4rem;
	margin-bottom:0;
	margin-top:56px;
	padding:2px;
	text-transform:uppercase;
}
.htravhl {
	color:#676767;
	border:none;
	font-size:1.0625rem;
	margin-bottom:10px;
	margin-top:25px;
}
.rboxbw {
	border-left:1px solid #ebeff4;
	border-right:1px solid #ebeff4;
	margin-bottom:0
}
td.wcena {
	padding-top:4px;
	padding-bottom:0;
	text-align:center;
	width:50%;
	background-color:#1b1a1a;
	color:#fff;
	font-size:1.5rem;
	font-weight:bold;
	border-bottom:2px dotted #1b1a1a
}
td.wcena span {
	font-size:3.4375rem;
}
td.wosob {
	padding-top:4px; 
	padding-bottom:0; 
	text-align:center; 
	width:50%; 
	background-color:#ffcc33; 
	vertical-align:middle; 
	font-size:1.125rem;
	border-bottom:2px dotted #ffcc33;
	font-weight:400
}
.clefttravel {
	padding-bottom:15px
}
.clefttravel ul, .clefttravel ol, .clefttravel table {
	margin-top: 10px;
}
.clefttravel li {
	padding-top: 5px;
}
.clefttravel p {
	margin-bottom:15px
}
.clefttravel p.phottravel {
	text-align: center;
	font-size: .9rem;
	background-color: #f8f8f8;
	border-left: 1px solid #f0f0f0;
	border-right: 1px solid #f0f0f0;
	padding: 10px;
}
.clefttravel p.phottravel img {
	margin-bottom: 10px;
	display: block;
	margin: 0 auto;
	border: 1px solid silver;
	width: 100%;
}

p.ptravelr {
	padding-top: 15px;
	padding-bottom: 15px;
	margin: 0;
	border-top: 1px solid silver;
	font-size: 16px;
	color: #302f49;
	font-weight: 400;
}
p.ptravelrbb {
	padding-top: 15px;
	padding-bottom: 15px;
	margin: 0;
	border-top: 1px solid silver;
	font-size: 16px;
	color: #302f49;
	font-weight: 400;
	border-bottom: 1px solid silver;
}
p.ptravelr img, p.ptravelrbb img {
	margin-right: 10px;
}
.trip-price-table {
	width: 100%;
}
@media (min-width: 992px) and (max-width: 1199px) {
	.trip-content-inner {
		padding-left: 80px;
		padding-right: 80px;
	}
}
@media (min-width: 1200px) {
	.trip-sidebar p.ptravelr,
	.trip-sidebar p.ptravelrbb,
	.trip-sidebar > p,
	.trip-sidebar .float-end {
		margin-left: 110px;
	}
}
p.wyprzedana {
	background-color: orange;
	text-align: center;
	font-size: 22px;
	font-weight: bold;
	color: #fff;
	padding-top: 14px;
	padding-bottom: 14px;
	margin-top: 40px;
	border-radius: var(--radius-sm);
}

a.btnttravel {
	width: 100%;
	display: block;
	text-align: center;
	font-size: 1.5rem;
	font-weight: 600;
	background: var(--color-bg-lblueg);
	color: white;
	padding: 1.4rem .1rem;
	text-decoration: none;
	text-transform: uppercase;
	margin-top: 2.1rem;
	text-shadow: 0 1px 2px rgba(60, 60, 60, 0.6);
	transition: var(--transition-fast);
	border-radius: var(--radius-sm);
}
a:active.btnttravel {
	background: var(--color-bg-lblueg);
}
a:visited.btnttravel {
	background: var(--color-bg-lblueg);
}
a:hover.btnttravel {
	filter: brightness(0.92);
}
@media (max-width: 1199px) {
a.btnttravel {
	font-size: 2rem;
	font-weight: 700;
	padding: 1.4rem .1rem;
	border-radius: var(--radius-md);
}
}

.traveltela {
	margin: 0;
	padding: 0;
	font-size: 1rem;
	font-weight: bold;
	color: #333;
}
.traveltelb {
	margin: 0;
	padding: 0;
	color: #f50001;
	font-size: 1.5rem;
	font-weight: 400;
	text-shadow:0 1px .3px #b4becb;
}
a.traveltelba {
	margin: 0;
	padding: 0;
	font-size: 1.5rem;
	font-weight: bold;
	text-shadow:0 1px .3px #b4becb;
	text-decoration: none;
	color: #f50001;
}
a:hover.traveltelba, a:active.traveltelba, a:visited.traveltelba {
	text-decoration: none;
}
/* ================================================= /Wycieczki */


/* ================================================= Aktualnosci */

/* Nowe karty aktualności */
.news-card {
	display: flex;
	gap: 1.5rem;
	padding: 1.5rem;
	background: #fff;
	border: 1px solid var(--color-border);
	margin-bottom: 2rem;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
	transition: all 0.2s ease;
	text-decoration: none;
	color: inherit;
}
.news-card:hover {
	border-color: #cbd5e1;
	box-shadow: 0 3px 8px rgba(0, 0, 0, 0.08);
	text-decoration: none;
	color: inherit;
}
.news-card-image {
	flex-shrink: 0;
}
.news-card-image img {
	width: 60px;
	height: 33px;
	border: 1px solid #d1d5db;
	margin: 0;
}
.news-card-content {
	flex: 1;
	display: flex;
	flex-direction: column;
}
.news-card-date {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	font-size: 0.8rem;
	color: #64748b;
	margin-bottom: 0.5rem;
}
.news-card-date i {
	font-size: 0.75rem;
}
.news-card-title {
	font-size: 1.15rem;
	font-weight: 600;
	margin: 0 0 0.75rem 0;
	line-height: 1.3;
	color: #1e3a5f;
	transition: color 0.2s ease;
	text-decoration: none;
}
.news-card:hover .news-card-title {
	color: var(--color-text-bl);
}
.news-card-excerpt {
	font-size: 0.9rem;
	color: #475569;
	line-height: 1.5;
	margin: 0 0 1rem 0;
	flex: 1;
}
.news-card-link {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.9rem;
	font-weight: 500;
	color: var(--color-text-bl);
	transition: all 0.2s ease;
}
.news-card:hover .news-card-link {
	color: #1268b5;
}
.news-card-link i {
	transition: transform 0.2s ease;
}
.news-card:hover .news-card-link i {
	transform: translateX(4px);
}
.news-list {
	margin-top: 1.5rem;
}
.news-archive {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	flex-wrap: wrap;
	margin-top: 2rem;
	padding: 1rem 1.25rem;
	background: #f8fafc;
	border: 1px solid var(--color-border);
}
.news-archive-label {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	font-weight: 600;
	color: #1e3a5f;
}
.news-archive a {
	display: inline-block;
	padding: 0.25rem 0.75rem;
	background: var(--color-bg-muted);
	color: #1e3a5f;
	text-decoration: none;
	font-size: 0.9rem;
	transition: all 0.2s ease;
}
.news-archive a:hover,
.news-archive a.active {
	background: #d6dbe3;
	color: #1e3a5f;
}

/* Treść pojedynczej aktualności */
.news-article {
	line-height: 1.7;
}
.news-article h1 {
	font-size: 1.6rem;
	color: #1e3a5f;
	font-weight: 600;
	margin: 0 0 1.5rem 0;
	padding-bottom: 0.75rem;
	border-bottom: 1px dashed #b0c0dd;
	line-height: 1.3;
}
.news-article h2 {
	font-size: 1.3rem;
	color: #1e3a5f;
	font-weight: 600;
	margin: 3rem 0 1.1rem 0;
	padding-bottom: 0.4rem;
	border-bottom: 1px solid var(--color-border);
	text-transform: none;
	line-height: 1.4;
	text-decoration: none;
}
.news-article h3 {
	font-size: 1.05rem;
	color: var(--color-text-bl);
	font-weight: 600;
	margin: 2rem 0 0.5rem 0;
	text-decoration: none;
}
.news-article p {
	margin-bottom: 0.85rem;
}
.news-article ul, .news-article ol {
	margin: 0.75rem 0 1.25rem 1.5rem;
}
.news-article li {
	margin-bottom: 0.4rem;
}

/* Wyróżniony blok - np. ceny, ważne info */
.news-highlight {
	background: linear-gradient(135deg, #f0f7ff 0%, #e8f4fd 100%);
	border-left: 4px solid var(--color-primary);
	padding: 1rem 1.25rem;
	margin: 1.25rem 0;
	font-size: 1.05rem;
	line-height: 1.6;
}
.news-highlight-center {
	text-align: center;
	border-left: none;
}

/* Tabela w aktualności */
.news-article .table {
	margin: 1.5rem 0;
	border: 1px solid var(--color-border);
}
.news-article .table th {
	background: #f8fafc;
	font-weight: 600;
	color: #1e3a5f;
	border-bottom: 2px solid var(--color-border);
}
.news-article .table td, .news-article .table th {
	padding: 0.75rem 1rem;
	vertical-align: middle;
}

/* Przycisk CTA w aktualności */
.news-cta {
	display: block;
	background: linear-gradient(135deg, var(--color-primary) 0%, #083d6e 100%);
	color: #fff;
	text-align: center;
	padding: 1rem 1.5rem;
	margin: 2rem 0;
	font-size: 1.1rem;
	font-weight: 600;
	text-decoration: none;
	transition: all 0.2s ease;
}
.news-cta:hover {
	background: linear-gradient(135deg, #1268b5 0%, #0a4a87 100%);
	color: #fff;
	transform: translateY(-2px);
	box-shadow: 0 4px 12px rgba(14, 92, 167, 0.3);
}

/* Główne zdjęcie */
.news-main-image {
	margin: 2rem 0;
	padding: 1.5rem;
	background: #f5f7fa;
	text-align: center;
}
.news-main-image img {
	max-width: 100%;
	height: auto;
}

/* Data publikacji */
.news-date {
	text-align: center;
	color: #64748b;
	font-size: 0.9rem !important;
	padding: 1.5rem 0;
	margin-top: 2rem;
	border-top: 1px solid var(--color-border);
}
.news-date i {
	margin-right: 0.4rem;
}

@media (max-width: 575px) {
	.news-card {
		flex-direction: column;
		gap: 1rem;
		padding: 1rem;
	}
	.news-card-image {
		width: 100%;
		height: auto;
		aspect-ratio: 16/9;
	}
	.news-card-title {
		font-size: 1.05rem;
	}
}

/* Stare style (zachowane dla kompatybilności) */
.news h2 {
	margin-top:2px
}
.news img {
	border:1px solid silver;
	margin-top:4px
}
.news p {
	font-weight: 300;
}
.news a:link {
	text-decoration:none;
}
.news a:hover {
	text-decoration:underline;
}

.ndate {
	font-size:11px;
	color:#999
}
.newsm img {
	border:0;
	margin-bottom:3px
}
.newsm p, p.newsm {
	font-weight: 300;
}
.newsm a:link {
	text-decoration:none;
	color:#023797
}
.newsm a:hover {
	text-decoration:underline;
	color:#445471
}

p.ipnews {
	text-align:center;
	border:1px solid silver;
	padding:5px 0
}
p.ipnewsn {
	text-align:center;
	border:1px solid #dee2e6;
	padding:.25rem;
	margin-top:40px;
	margin-bottom:25px
}
p.dateart, .dateart {
	font-size:.85rem;
	text-align:right;
	color:#999;
	border-top:1px dotted #666;
	padding-top:2px
}
.aktbtnr {
	text-align: center;
	padding: 12px 0 12px 0;
	background-color: #ffc;
	border: 1px solid #006;
	font-size: 1.4rem;
	font-weight: 400;
	margin-top: 40px;
	margin-bottom: 50px;
}

/* pod edytor */
p.hcenwiek1 {
	text-align:center;
	font-size:1.2rem;
	color:#009;
	padding-top:20px; 
	padding-bottom:20px;
}
p.hcenwiek2 {
	text-align:center;
	font-size:1.1rem;
	font-weight:400
}
p.hlewwiek1 {
	font-size:1.2rem;
	color:#060;
	padding-top:20px;
}
p.ipnewsmargin {
	margin-top:25px;

	margin-bottom:20px;
}
/* /pod edytor */
/* ================================================= /Aktualnosci */


/* ================================================= Przewoznicy-promowi */
.carrier-card {
	display: flex;
	flex-direction: column;
	border: 1px solid var(--color-border);
	padding: 1.25rem;
	background: #fff;
	height: 100%;
	width: 100%;
	box-shadow: 0 2px 6px rgba(0,0,0,0.04);
	transition: box-shadow 0.2s ease, transform 0.2s ease;
	text-decoration: none;
	color: inherit;
}
.carrier-card:hover {
	box-shadow: 0 4px 12px rgba(0,0,0,0.1);
	transform: translateY(-2px);
	text-decoration: none;
	color: inherit;
}
.carrier-card.carrier-inactive {
	background: #f8fafc;
}
.carrier-card.carrier-inactive .carrier-logo {
	filter: grayscale(100%);
	opacity: 0.5;
}
.carrier-card.carrier-inactive .carrier-name::after {
	content: " (nieaktywny)";
	font-size: 0.75rem;
	font-weight: 400;
	color: #94a3b8;
}
.carrier-name {
	display: block;
	margin-bottom: 1rem;
	font-size: 1.2rem;
	color: var(--color-text-bl-dark);
	font-weight: 600;
	text-align: center;
}
.carrier-logo {
	display: block;
	margin: 1rem 0 1.25rem 0;
	padding: 0.75rem;
	background: #f8fafc;
	text-align: center;
}
.carrier-logo img {
	max-height: 50px;
	width: auto;
	mix-blend-mode: multiply;
}
.carrier-desc {
	display: block;
	font-size: 0.95rem;
	line-height: 1.6;
	color: #475569;
}
.imgppl {
	border: 1px solid var(--color-border);
	margin-bottom: 0;
	text-align: center;
	padding: 1rem;
}
.imgpp {
	width: 100%;
	border: 1px solid var(--color-border);
}
.telpp {
	text-align: center;
	background-color: #e8f4fd;
	margin-top: 0;
	padding: 0.5rem;
}
.ppptxtimg, p.ppptxtimg {
	text-align: center;
	background: var(--color-bg-subtle);
	margin-top: 1.25rem;
	margin-bottom: 1.25rem;
	padding: 1rem;
}
.ppptxtimg img {
	border: 1px solid var(--color-border);
}
/* ================================================= /Przewoznicy-promowi */


/* ================================================= Formularz-rezerwacji */

/* Tło strony formularza */
.form-page-wrapper {
	background-color: #f4f9fd;
	min-height: 100vh;
}

/* Menu na stronie formularza - bez tła, biały border */
.navbar-form-page {
	background: transparent !important;
	box-shadow: none;
	border-bottom: 1px solid #fff;
	padding-top: 29px;
}
@media (max-width:991px) {
.navbar-form-page {
	padding-top: .8rem;
	padding-bottom: .8rem
}
}
@media (max-width:486px) {
.navbar-form-page {
	padding-top: 1rem;
	padding-bottom: .7rem
}
}

.navbar-form-page.navbar-form-page-with-smenu {
	padding-top: 0;
}
@media (max-width:991px) {
.navbar-form-page.navbar-form-page-with-smenu {
	padding-top: .7rem;
	padding-bottom: .7rem
}
}
@media (max-width:486px) {
.navbar-form-page.navbar-form-page-with-smenu {
	padding-top: 1.1rem;
	padding-bottom: .7rem
}
}

/* Kontener formularza */
.ctn-form-modern {
	padding-top: 2rem;
	padding-bottom: 6rem;
	background-color: transparent;
}

/* Nagłówek formularza */
.form-header {
	text-align: center;
	margin-bottom: 2.5rem;
}
.form-header h1 {
	font-size: 2rem;
	font-weight: 700;
	color: #1e3a5f;
	margin-bottom: 0.75rem;
	border: none;
	padding: 0;
}
.form-header h1::after {
	display: none;
}
.form-header p {
	font-size: 1.05rem;
	color: #64748b;
	margin: 0;
}

/* Stepper - kroki rezerwacji */
.stepper {
	display: flex;
	align-items: flex-start;
	justify-content: center;
	margin: 0 0 1.9rem 0;
	padding: 0;
	padding-bottom: 1.5rem;
}
.stepper-txt {
	margin: 0 0 1.1rem;
	padding: 0.2rem 1rem;
	font-size: 1rem;
	border-radius: 9999px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background-color: var(--color-bg-muted);
	color: #64748b;
	font-weight: 500;
}
.stepper-item {
	display: flex;
	flex-direction: column;
	align-items: center;
	position: relative;
	flex: 0 0 auto;
	width: 48px;
}
.stepper-circle {
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: var(--color-bg-muted);
	color: #64748b;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.1rem;
	font-weight: 700;
	border: 3px solid var(--color-border);
	transition: all 0.3s ease;
	z-index: 1;
}
.stepper-label {
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translateX(-50%);
	margin-top: 0.5rem;
	font-size: 0.85rem;
	font-weight: 600;
	color: #94a3b8;
	text-align: center;
	white-space: nowrap;
	transition: all 0.3s ease;
}
.stepper-line {
	height: 3px;
	background: var(--color-bg-muted);
	margin-top: 22.5px;
	width: 100px;
	transition: all 0.3s ease;
}

/* Krok ukończony */
.stepper-item.completed .stepper-circle {
	background: linear-gradient(135deg, #059669 0%, #10b981 100%);
	border-color: #059669;
	color: #fff;
}
.stepper-item.completed .stepper-label {
	color: #059669;
}
.stepper-line.completed {
	background: linear-gradient(90deg, #059669 0%, #10b981 100%);
	margin-right: 14px;
}
.stepper-line:not(.completed) {
	margin-left: 14px;
}

/* Krok aktywny */
.stepper-item.active .stepper-circle {
	background: linear-gradient(135deg, var(--color-primary) 0%, #1d4ed8 100%);
	border-color: var(--color-primary);
	color: #fff;
	box-shadow: 0 0 0 4px rgba(14, 92, 167, 0.2);
	transform: scale(1.1);
}
.stepper-item.active .stepper-label {
	color: var(--color-text-bl);
	font-weight: 700;
}

/* Responsywność */
@media (max-width: 575px) {
	.stepper {
		margin-bottom: 2rem;
		padding-bottom: 1.25rem;
	}
	.stepper-item {
		width: 40px;
	}
	.stepper-circle {
		width: 40px;
		height: 40px;
		font-size: 1rem;
	}
	.stepper-label {
		font-size: 0.75rem;
	}
	.stepper-line {
		width: 50px;
		margin-top: 18.5px;
	}
	.stepper-line.completed {
		margin-right: 8px;
	}
	.stepper-line:not(.completed) {
		margin-left: 8px;
	}
}
@media (max-width: 380px) {
	.stepper-label {
		display: none;
	}
	.stepper {
		padding-bottom: 0;
	}
	.stepper-item {
		width: 36px;
	}
	.stepper-circle {
		width: 36px;
		height: 36px;
	}
	.stepper-line {
		width: 30px;
		margin-top: 16.5px;
	}
}

/* Stepper mniejszy - dla strony głównej */
.stepper.stepper-sm {
	padding-bottom: 1rem;
}
.stepper.stepper-sm .stepper-circle {
	width: 36px;
	height: 36px;
	font-size: 0.95rem;
}
.stepper.stepper-sm .stepper-item {
	width: 36px;
}
.stepper.stepper-sm .stepper-label {
	font-size: 0.75rem;
}
.stepper.stepper-sm .stepper-line {
	width: 60px;
	margin-top: 16.5px;
}
@media (max-width: 575px) {
	.stepper.stepper-sm .stepper-circle {
		width: 32px;
		height: 32px;
		font-size: 0.85rem;
	}
	.stepper.stepper-sm .stepper-item {
		width: 32px;
	}
	.stepper.stepper-sm .stepper-line {
		width: 40px;
		margin-top: 14.5px;
	}
}

/* Sekcja formularza - karta */
.form-section {
	background: #fff;
	border-radius: var(--radius-lg);
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
	padding: 2rem;
	margin-bottom: 1.5rem;
	border: 1px solid var(--color-border);
}
.form-section-header {
	margin: -2rem -2rem 1.5rem -2rem;
	padding: 1.25rem 2rem;
	background: linear-gradient(135deg, #1e3a5f 0%, var(--color-primary) 100%);
	border-radius: var(--radius-lg) var(--radius-lg) 0 0;
}
.form-section-header.header-orange {
	background: linear-gradient(135deg, #9a3412 0%, #c2410c 100%);
}
.form-section-header-top {
	display: flex;
	align-items: center;
	gap: 0.85rem;
}
.form-section-icon {
	width: 44px;
	height: 44px;
	background: rgba(255,255,255,0.15);
	border-radius: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}
.form-section-icon i {
	font-size: 1.3rem;
	color: #fff;
}
.form-section-title {
	font-size: 1.25rem;
	font-weight: 600;
	color: #fff;
	margin: 0;
	line-height: 1.3;
	text-decoration: none;
}
.form-section-subtitle {
	font-size: 0.9rem;
	font-weight: 400;
	color: rgba(255,255,255,0.8);
	margin: 0.5rem 0 0 0;
	padding-left: 3.6rem;
}

/* Formularz - pola */
.form-modern .form-label {
	font-size: 0.95rem;
	font-weight: 600;
	color: #334155;
	margin-bottom: 0.6rem;
}
.form-modern .form-control,
.form-modern .form-select {
	padding: 0.7rem .8rem;
	font-size: 1rem;
	border: 2px solid var(--color-border);
	border-radius: var(--radius-md);
	background-color: #fcfdff;
	transition: all 0.2s ease;
}
.form-modern .form-control:focus,
.form-modern .form-select:focus {
	border-color: var(--color-primary);
	background-color: #fff;
	box-shadow: 0 0 0 4px rgba(14, 92, 167, 0.12);
}
.form-modern .form-control::placeholder {
	color: #94a3b8;
}

/* Większe odstępy między polami */
.form-modern .mb-field {
	margin-bottom: 1.5rem;
}

/* Wybór opcji - karty radiowe */
.do-zaplaty-p24 {
	background: linear-gradient(135deg, #f0fdf4 0%, #dcfce7 100%);
	border-radius: var(--radius-md);
	border: 1px solid #bbf7d0;
}
.option-cards {
	display: grid;
	gap: 1rem;
}
.option-card {
	position: relative;
	background: #f8fafc;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
	padding: 1.25rem;
	cursor: pointer;
	transition: all 0.2s ease;
}
.option-card:hover {
	border-color: #cbd5e1;
	background: #f1f5f9;
}
.option-card.selected {
	border-color: var(--color-primary);
	background: #eff6ff;
}
.option-card input[type="radio"],
.option-card input[type="checkbox"] {
	position: absolute;
	opacity: 0;
}
.option-card-content {
	display: flex;
	align-items: center;
	gap: 1rem;
}
.option-card-radio {
	width: 22px;
	height: 22px;
	border: 2px solid #cbd5e1;
	border-radius: 50%;
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all 0.2s ease;
}
.option-card.selected .option-card-radio {
	border-color: var(--color-primary);
	background: var(--color-primary);
}
.option-card.selected .option-card-radio::after {
	content: '';
	width: 8px;
	height: 8px;
	background: #fff;
	border-radius: 50%;
}
.option-card-text {
	flex: 1;
}
.option-card-text strong {
	display: block;
	font-size: 1.05rem;
	color: #1e3a5f;
	margin-bottom: 4px;
}
.option-card-text span {
	font-size: 0.9rem;
	color: #64748b;
}
.option-card-price {
	font-size: 1.25rem;
	font-weight: 700;
	color: #059669;
}

/* Tabela biletów - nowoczesna */
.tickets-table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
}
.tickets-table th {
	background: #f1f5f9;
	padding: 1rem;
	font-weight: 600;
	color: #334155;
	font-size: 0.9rem;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	border-bottom: 2px solid var(--color-border);
}
.tickets-table td {
	padding: 1.25rem 1rem;
	border-bottom: 1px solid var(--color-border);
	vertical-align: middle;
}
.tickets-table tr:last-child td {
	border-bottom: none;
}
.tickets-table .ticket-name {
	font-weight: 600;
	color: #1e3a5f;
}
.tickets-table .ticket-desc {
	font-size: 0.9rem;
	color: #64748b;
	margin-top: 4px;
}
.tickets-table .ticket-price {
	font-weight: 700;
	color: #059669;
	font-size: 1.1rem;
}

/* Przycisk wysyłania */
.form-submit-section {
	margin-top: 2rem;
	padding-top: 2rem;
	border-top: 2px solid #f1f5f9;
}
.btn-submit-modern {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.75rem;
	width: 100%;
	padding: 1.25rem 2rem;
	font-size: 1.15rem;
	font-weight: 700;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	background: linear-gradient(135deg, #f2953f 0%, #d33904 100%);
	border: none;
	border-radius: var(--radius-lg);
	color: #fff;
	cursor: pointer;
	transition: all 0.2s ease;
	box-shadow: 0 4px 15px rgba(213, 57, 4, 0.3);
}
.btn-submit-modern:hover {
	transform: translateY(-2px);
	box-shadow: 0 6px 20px rgba(213, 57, 4, 0.4);
}
.btn-submit-modern i {
	font-size: 1.3rem;
}

/* Boarding Pass - styl biletu */
.boarding-pass {
	background: linear-gradient(135deg, var(--color-primary) 0%, #1d4ed8 100%);
	border-radius: 16px;
	box-shadow: 0 4px 20px rgba(14, 92, 167, 0.3);
	overflow: hidden;
	margin-bottom: 2rem;
	border: none;
}

/* Pojedynczy rejs */
.boarding-pass-trip {
	padding: 1.5rem 2rem;
	border-bottom: 1px dashed rgba(255, 255, 255, 0.2);
	background: transparent;
}
.boarding-pass-trip.return {
	background: rgba(0, 0, 0, 0.1);
	border-bottom: none;
}

/* Nagłówek rejsu */
.bp-header {
	display: flex;
	align-items: center;
	gap: 1rem;
	margin-bottom: 1.25rem;
}
.bp-header-label {
	font-size: 0.7rem;
	font-weight: 700;
	color: rgba(255, 255, 255, 0.7);
	text-transform: uppercase;
	letter-spacing: 1px;
}
.bp-header-line {
	flex: 1;
	height: 1px;
	background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent);
}
.bp-header i {
	font-size: 1.25rem;
	color: rgba(255, 255, 255, 0.8);
}

/* Zawartość - stacje */
.bp-content {
	display: flex;
	align-items: flex-start;
	gap: 1rem;
}

/* Stacja (wyjazd/przyjazd) */
.bp-station {
	flex: 1;
}
.bp-station.bp-from {
	text-align: left;
}
.bp-station.bp-to {
	text-align: right;
}
.bp-city {
	font-size: 1.5rem;
	font-weight: 800;
	color: #fff;
	line-height: 1.2;
	margin-bottom: 0.5rem;
}
.bp-date {
	font-size: 0.95rem;
	font-weight: 600;
	color: rgba(255, 255, 255, 0.7);
	margin-bottom: 0.25rem;
}
.bp-time {
	font-size: 2rem;
	font-weight: 800;
	color: #fff;
	line-height: 1;
	text-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.bp-station.bp-to .bp-time {
	color: #86efac;
}

/* Środek - czas i strzałka */
.bp-middle {
	flex: 0 0 160px;
	display: flex;
	flex-direction: column;
	align-items: center;
	padding-top: 1.5rem;
}
.bp-duration {
	text-align: center;
	margin-bottom: 0.5rem;
}
.bp-duration-label {
	display: block;
	font-size: 0.65rem;
	font-weight: 700;
	color: rgba(255, 255, 255, 0.6);
	text-transform: uppercase;
	letter-spacing: 0.5px;
	margin-bottom: 0.35rem;
}
.bp-duration-value {
	display: inline-flex;
	align-items: center;
	gap: 0.3rem;
	font-size: 0.95rem;
	font-weight: 700;
	color: #92400e;
	background: linear-gradient(135deg, #fef3c7 0%, #fde68a 100%);
	padding: 0.3rem 0.65rem;
	border-radius: 16px;
	border: none;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}
.bp-duration-value::before {
	content: '⏱';
	font-size: 0.75rem;
}
.bp-arrow {
	display: flex;
	align-items: center;
	width: 100%;
	position: relative;
	height: 20px;
}
.bp-arrow span {
	flex: 1;
	height: 2px;
	background: linear-gradient(90deg, rgba(255,255,255,0.4), rgba(255,255,255,0.8), #86efac);
	border-radius: 2px;
	position: relative;
}
.bp-arrow span::before {
	content: '';
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 8px;
	height: 8px;
	background: #fff;
	border-radius: 50%;
	box-shadow: 0 0 6px rgba(255, 255, 255, 0.5);
}
.bp-arrow i {
	font-size: 1.1rem;
	color: #86efac;
	margin-left: -2px;
}

/* Stopka */
.bp-footer {
	display: flex;
	align-items: center;
	gap: 1.25rem;
	padding: 0.85rem 2rem;
	background: #fff;
	border-top: none;
}
.bp-logo {
	flex-shrink: 0;
}
.bp-logo img {
	height: 32px;
	width: auto;
	max-width: 90px;
	object-fit: contain;
}
.bp-route-name {
	flex: 1;
	font-size: 0.9rem;
	font-weight: 600;
	color: #1e293b;
}
.bp-change {
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	gap: 0.3rem;
	padding: 0.35rem 0.7rem;
	font-size: 0.75rem;
	font-weight: 600;
	color: var(--color-text-bl);
	background: #eff6ff;
	border: 1px solid #bfdbfe;
	border-radius: var(--radius-md);
	text-decoration: none;
	transition: all 0.2s ease;
}
.bp-change:hover {
	background: #dbeafe;
	border-color: var(--color-primary);
	color: #1d4ed8;
}

/* Responsywność */
@media (max-width: 767px) {
	.boarding-pass-trip {
		padding: 1.25rem 1rem;
	}
	.bp-header {
		margin-bottom: 1rem;
	}
	.bp-header-label {
		font-size: 0.6rem;
	}
	.bp-content {
		flex-wrap: wrap;
	}
	.bp-station {
		flex: 1 1 45%;
	}
	.bp-city {
		font-size: 1.15rem;
	}
	.bp-date {
		font-size: 0.85rem;
	}
	.bp-time {
		font-size: 1.5rem;
	}
	.bp-middle {
		flex: 1 1 100%;
		order: 3;
		flex-direction: row;
		justify-content: center;
		align-items: center;
		gap: 1rem;
		padding-top: 1rem;
		margin-top: 0.5rem;
		border-top: 1px dashed var(--color-border);
	}
	.bp-duration {
		margin-bottom: 0;
	}
	.bp-arrow {
		display: none;
	}
	.bp-arrow span::before {
		width: 6px;
		height: 6px;
	}
	.bp-footer {
		flex-wrap: wrap;
		gap: 1rem;
		padding: 1rem;
	}
	.bp-route-name {
		flex: 1 1 100%;
		order: 2;
		font-size: 0.9rem;
	}
	.bp-change {
		flex: 1;
		justify-content: center;
		order: 3;
	}
}
@media (max-width: 400px) {
	.bp-city {
		font-size: 1rem;
	}
	.bp-time {
		font-size: 1.25rem;
	}
}

/* Alert w formularzu */
.form-alert {
	display: flex;
	align-items: flex-start;
	gap: 1rem;
	padding: .8rem;
	border-radius: var(--radius-lg);
	margin-bottom: 1.5rem;
}
.form-alert-warning {
	background: #fffbeb;
	border: 1px solid #fde68a;
	color: #92400e;
}
.form-alert-info {
	background: #eff6ff;
	border: 1px solid #bfdbfe;
	color: #1e40af;
}
.form-alert i {
	flex-shrink: 0;
}
.form-alert-sm {
	padding: 0.85rem 1rem;
	font-size: 0.85rem;
	margin-top: 0.75rem;
	border-radius: 10px;
}
.form-alert-sm i {
	font-size: 1.1rem;
}

/* Zgoda regulaminu */
.form-consent {
	background: #f8fafc;
	border-radius: var(--radius-lg);
	padding: 1.5rem;
	margin-top: 1.5rem;
}
.form-consent .form-check {
	margin: 0;
}
.form-consent .form-check-input {
	width: 1.5rem;
	height: 1.5rem;
	margin-top: 0.1rem;
}
.form-consent .form-check-label {
	padding-left: 0.5rem;
	font-size: 1rem;
	color: #334155;
}

/* Responsywność */
@media (max-width: 767px) {
	.form-section {
		padding: 1.5rem;
		border-radius: 12px;
	}
	.form-section-header {
		margin: -1.5rem -1.5rem 1.25rem -1.5rem;
		padding: 1rem 1.5rem;
		border-radius: 12px 12px 0 0;
	}
	.form-section-icon {
		width: 38px;
		height: 38px;
	}
	.form-section-icon i {
		font-size: 1.15rem;
	}
	.form-section-title {
		font-size: 1.1rem;
	}
	.form-section-subtitle {
		padding-left: 3.1rem;
		font-size: 0.82rem;
	}
	.form-modern .form-control,
	.form-modern .form-select {
		padding: 0.85rem 1rem;
	}
	.btn-submit-modern {
		padding: 1rem 1.5rem;
		font-size: 1.05rem;
	}
}

.ftrasa {
	background-color:#eef4f1;
	margin:15px 0 25px 0;
	-webkit-border-radius: var(--radius-sm);
	-moz-border-radius: var(--radius-sm);
	border-radius: var(--radius-sm);
	padding:10px 5px 10px 1px;
	box-shadow: 0 1px 5px rgba(0,0,0,.05);
}
@media (max-width:472px) {
.ftrasa {
	display:none;
	margin-top:0
}
}
table.trezform {
	border-collapse:collapse;
	border-spacing:0;
	width:100%;
	border:0;
	margin:0
}
.trezform td,.trezform th {
	border:0;
	padding:0;
	vertical-align:top
}
.trezform .btd,.trezform .btd2,.trezform .btd4 {
	border-bottom:1px dashed var(--color-primary);
}
.trezform .btd {
	font-size:1.4rem;
	padding:5px 22px 8px 1px;
	line-height: 35px;
	font-weight:500;
	color: #e20000;
}
.trezform .btd1 {
	padding:10px 10px 0 0;
	font-weight:500
}
.trezform .btd2 {
	padding:5px 0 6px 0;
	font-weight:500
}
.trezform .btd3 {
	padding:10px 10px 0 0;
	font-weight:500
}
.trezform .btd4 {
	padding:5px 0 6px 0;
	font-weight:500
}

.ftrasamobi {
	background-color:#eef4f1;
	-webkit-border-radius: var(--radius-sm);
	-moz-border-radius: var(--radius-sm);
	border-radius: var(--radius-sm);
	padding:0 0 10px;
	margin:25px 0 15px 0;
}
.ftrasamobi ul {
	margin:0;
	padding:0 5px 0 3px
}
.ftrasamobi li {
	padding:0 5px 0 2px;
	margin:0 0 5px 15px
}
.ftrasamobi h2 {
	background-color:#04572d;
	background-image:none;
	margin:0;
	padding:6px;
	color:#eef4f1;
	font-weight:700
}
p.mtr {
	margin-top:2px;
	margin-bottom:10px;
	background-color:#e4eae7;
	padding:6px;
	color:#7d0808
}
@media (min-width:473px) {
.ftrasamobi {
	display:none
}
}

p.irtxt {
	background:url(../gfx/bl_i.gif) left top no-repeat;
	background-position:8px 5px;
	padding:5px 0 0 30px;
	font-size:13px;
	line-height: 20px
}

.frbox {
	padding-bottom: 35px;
}
.frboxel {
	padding-top: 10px;
	padding-bottom: 0;
}
@media (max-width:575px) {
.frboxel {
	padding-top: 10px;
}
}
.frbox h3 {
	margin-top: 12px;
	margin-bottom: 15px;
	padding-top: 10px;
	padding-bottom: 10px;
	background-color: #e9ecf2;
	color: #03008c;
	font-weight: 500;
	font-size: 1.3rem;
	text-decoration: none;
	border: none;
	text-align: center;
	line-height: 25px;
}
.frbox h3 span {
	font-size: 12px;
	font-weight: 400;
	display: block;
}

.bilo {
	padding-top: 6px;
}
.bnaz p {
	padding-top: 0;
	margin-top: 0;
}
.bnazs p {
	padding-top: 0;
	margin-top: 0;
	font-size: .9rem;
}
.bnazs p strong {
	font-size: 1.1rem;
}
.bcen p {
	background-color: #ffffea;
	font-weight: 500;
	color: #77303f;
	padding-top: 0;
	margin-top: 0;
}
.bcen > p > span {
	background-color: #ffffea;
	display: block;
	font-size: .9rem;
	font-weight: 400;
}

@media (max-width:472px) {
img.apa {
	display:none
}
}
@media (min-width:473px) {
img.apb {
	display:none
}
}

.trezform .btd1fp p {
	font-weight: 300;
	font-size: 1rem;
}
.trezform p.btd1fpsf {
	font-size: .9rem;
}
.trezform p.btd1fpst {
	font-weight: 400;
	margin-bottom: 5px;
}
.trezform .btd1fp h2 {
	font-size: 2rem;
	color: #093481;
	font-weight: 700;
	padding-top: 0;
	padding-bottom: 5px;
	margin-top: 8px;
	text-shadow: 0 2px .3px #ffffff;
}
.infofp {
	font-weight: 400;
}
.infofp span {
	display: block;
	font-weight: 300;
	font-size: .9rem;
}
.fppasazer {
	padding-top: 0;
	padding-bottom: 0;
}
.fppasazer p {
	padding-top: 0;
	padding-bottom: 0;
	margin-bottom: 0;
}

.fspowrot {
	color:#fff;
	background-color:#060;
	font-size: 13px;
}

.listas {
	background-color:#f9f9f9
}

.empt td {
	padding-top: 5px;
	padding-bottom: 5px;
	vertical-align: bottom
}
.empt {
	font-size: .9rem;
}
.empt strong {
	font-size: 1rem;
}
@media (max-width:379px) {
.empt {
	font-size: .8rem;
}
.empt strong {
	font-size: .9rem;
}
}

p.formrezakc {
	padding-top: 0;
	padding-bottom: 0;
	line-height: 28px;
}
p.formrezuwa {
	font-size: .9rem;
}
/* ================================================= /Formularz-rezerwacji */


/* ================================================= Zgody form */
.txtsform p {
	line-height: 26px;
	font-size: 13px;
	color: #333;
	padding-top: 0;
	margin-top: 0;
	margin-bottom: 0;
}
.txtsform a:link {
	text-decoration: underline;
	color: #333;
}
.txtsform a:visited {
	text-decoration: none;
	color: #333;
}
.txtsform a:hover {
	text-decoration: none;
	color: #333;
}
.txtsform a:active {
	text-decoration: none;
	color: #333;
}
.txtsform span {
	color:green;
	font-size:1rem
}
/* ================================================= /Zgody form */


/* ================================================= Kontakt */
.kontakctn h1, .kontakctnf h1 {
	margin-bottom: 35px;
	padding-bottom: 20px;
	position: relative;
	text-decoration: none;
	border-bottom: none;
	text-align: center;

}
.kontakctn h1::after, .kontakctnf h1::after {
	content: "";
	position: absolute;
	display: block;
	width: 60px;
	height: 3px;
	bottom: 0;
	left: calc(50% - 25px);
	background: #dc0303;
}
.kontakctn i {
	font-size: 21px;
	color: #dce1e4;
	background: #98a2a8;
	width: 46px;
	height: 46px;
	display: flex;
	margin: 0 auto;
	justify-content: center;
	align-items: center;
	border-radius: var(--radius-sm);
	transition: all 0.3s ease-in-out;
}
.bxkontakt {
	text-align: center;
	background-color: #dce1e4;
	color: #004e7c;
	margin-bottom: 0;
	border-left: 1px solid #cad2d6;
	border-bottom: 1px solid #cad2d6;
	padding-top: 1rem;
	padding-bottom: 1rem;
}
.bxkontakt h5 {
	font-size: 1.5rem;
	margin-top: .7rem;
}
.bxkontakt p {
	font-size: 1.1rem
}
.bxkontakt a:link {
	color: #004e7c;
	text-decoration: none;
}
.bxkontakt a:visited {
	color: #004e7c;
	text-decoration: none;
}
.bxkontakt a:hover {
	color: #004e7c;
	text-decoration: underline;
}
.bxkontakt a:active {
	color: #004e7c;
	text-decoration: none;
}

.kontakctnf .form-control {
	padding: .60rem .75rem .60rem .75rem;
	box-shadow: 0 2px 10px rgba(0,0,0,.05);
}
.kontakctnf .form-control:focus {
	box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}
/* ================================================= /Kontakt */


/* ================================================= Inne */
.fs-7, p.fs-7 {
	font-size: .8rem;
	color:#333;
}
.fs-8, p.fs-8 {
	font-size: .9rem;
}
.fs-9, p.fs-9 {
	font-size: 1.02rem;
}
.img-responsive {
  display: block;
  max-width: 100%;
  height: auto;
}
.center-block {
  display: block;
  margin-right: auto;
  margin-left: auto;
}
/* ================================================= /Inne */


/* ================================================= Mobile-rez-banner */
.mobile-rez-banner {
	padding-top: 2rem;
	padding-bottom: 2rem;
	padding-left: .4rem;
	padding-right: .4rem;
	border-top: 1px solid var(--color-footer);
}
@media (max-width: 991px) {
.mobile-rez-banner {
	margin-top: 5rem;
}
}
/* ================================================= /Mobile-rez-banner */


/* ================================================= Footer max */
.fbgcf {
	padding: 1.8rem 4.5rem 3rem 4.5rem;
	background-color: var(--color-footer);
	border-bottom: 1px solid var(--color-footer-border);
	margin-top: 5rem;
}
@media (max-width: 1399px) {
.fbgcf {
	padding-left: 3rem;
	padding-right: 3rem;
}
}
@media (max-width: 1199px) {
.fbgcf {
	padding-left: 1.5rem;
	padding-right: 1.5rem;
}
}
@media (max-width: 991px) {
.fbgcf {
	margin-top: 0;
	padding-bottom: 2rem;
}
}
@media (max-width: 575px) {
.fbgcf {
	padding-left: 1rem;
	padding-right: 1rem;
}
}

/* Uproszczona stopka dla formularza */
.footer-form-simple {
	background-color: #262626;
	background-image: url("../gfx/bgc-arrow.png");
    background-repeat: no-repeat;
    background-position: top center;
    background-size: 44px;
	padding: 0;
	margin-top: 0;
	color: var(--color-footer-text);
	text-align: center;
}
.footer-form-simple .container {
	max-width: 800px;
}
.footer-form-content {
}
.footer-form-content h6 {
	color: var(--color-footer-text);
	font-size: 1.7rem;
	margin: 0;
	padding: 3.5rem 0 .5rem 0;
}
.footer-form-content p.hour {
	font-size: .8rem;
	color: #f4f9fd;
	margin: .1rem 0 1.4rem 0;
}
.footer-form-content p {
	font-size: 1rem;
	color: #f4f9fd;
}
.footer-form-content a,
.footer-form-content a:link,
.footer-form-content a:visited,
.footer-form-content a:hover,
.footer-form-content a:focus,
.footer-form-content a:active {
	color: #fff;
	text-decoration: none;
}
.btn-call {
	background-color: #4a4a4a;
	color: #fff;
	border: none;
	padding: 0.7rem 1.4rem;
	font-weight: 600;
	display: inline-flex;
	align-items: center;
	border-radius: var(--radius-sm);
	transition: background-color .2s ease, transform .15s ease, box-shadow .15s ease;
}
a.btn-call,
a.btn-call:focus,
a.btn-call:active,
a.btn-call:visited {
	color: #fff !important;
}
.btn-call:hover,
.btn-call:focus {
	background-color: #5f5f5f;
	color: #fff !important;
	box-shadow: 0 4px 8px rgba(38,87,232,.25);
	transform: translateY(-1px);
}
.btn-call:active {
	transform: translateY(0);
	box-shadow: 0 4px 10px rgba(38,87,232,.2);
}
.footer-form-tel p {
	font-family: "Oswald", Sans-serif;
	font-weight: 400;
	letter-spacing: 2.8px;
}
.footer-form-tel p.ico-tel {
	font-size: 1.5rem;
	color: #2657e8;
	line-height: 0;
}
.footer-form-tel p.txt-tel {
	font-size: 1.9rem;
	font-weight: 400;
	letter-spacing: 2.8px;
}
.footer-form-tel a:link,.footer-form-tel a:visited, .footer-form-tel a:active, .footer-form-tel a:hover {
	color: #fff;
	text-decoration: none;
}
.footer-form-tel a:hover {
	background-color: #2657e8;
	color: var(--color-secondary-dark);
}


.reztel {
	font-size:1.125rem;
	line-height:30px;
}

@media (max-width:380px) {
.telfooter {
	font-size:17px;
}
}

.finfolin {
	color: var(--color-footer-text);
	font-size: 1.4rem
}
.finfolin h6 {
	font-size: 1.2rem;
	margin: 5px 0 30px 0;
	padding: 5px;
	color: var(--color-footer-text);
	font-weight: 400;
}
.finfolin p {
	font-family: "Oswald", Sans-serif;
	font-size: 1.8rem;
	font-weight: 400;
	letter-spacing: 2.8px;
	color: var(--color-footer-text);
}
.finfolin p.ico1 {
	font-size: 1.5rem;
	color: #2657e8;
	padding-top: 3px;
}
.finfolin p.txt1 {
	font-size: 2rem;
	font-weight: 400;
	letter-spacing: 2.8px;
	padding-left: 2px;
}
.finfolin p.ico2 {
	font-size: 1.5rem;
	color: #2657e8;
	padding-top: 5px;
}
.finfolin p.txt2 {
	padding-left: 5px;
	font-size: 1.1rem;
	color: var(--color-footer-text);
	font-weight: 400;
	line-height: 30px;
	padding-top: 0;
}
.finfolin p.txt2 span {
	font-size: .9rem;
	display: block;
}
.finfolin p.ico3 {
	font-size: 1.5rem;
	color: #2657e8;
}
.finfolin p.txt3 {
	padding-left: 5px;
	font-size: 1.1rem;
	color: var(--color-footer-text);
	font-weight: 400;
	padding-top: 5px;
}
.finfolin a:link,.finfolin a:visited, .finfolin a:active {
	color: #fff;
	text-decoration: none;
}
.finfolin a:hover {
	background-color: #2657e8;
	color: var(--color-text-bl-dark);
	text-decoration: none;
}
.finfolin p.txt3 a:link,.finfolin p.txt3 a:visited, .finfolin p.txt3 a:active {
	color: var(--color-footer-text);
	text-decoration: none;
}
.finfolin p.txt3 a:hover {
	background-color: #2657e8;
	color: var(--color-text-bl-dark);
	text-decoration: none;
}

.foboxc h5,.foboxd h5 {
	font-size: 1rem;
	margin: 5px 0 15px 0;
	padding: 5px 5px 5px 0;
	color: var(--color-footer-text);
	font-weight: 400;
}
.foboxc h5>a:link, .foboxd h5>a:link,
.foboxc h5>a:visited, .foboxd h5>a:visited,
.foboxc h5>a:active, .foboxd h5>a:active {
	text-decoration:none;
	color: var(--color-footer-text);
	display: block

}
.foboxc h5>a:hover,.foboxd h5>a:hover {
	text-decoration: none;
	color: var(--color-footer-text);
}
.foboxc h5>a:link:after, .foboxd h5>a:link:after {
	content: '\002B';
	color: var(--color-footer-text);
	font-weight: 300;
	float: right;
	margin-left: 2px;
}
.foboxc h5>a:link[aria-expanded="true"]::after, .foboxd h5>a:link[aria-expanded="true"]::after {
	content: "\2212";
}
.foboxc ul,.foboxd ul {
	list-style:none;
	padding:0;
	margin:0
}
.foboxc li,.foboxd li {
	padding-left: 5px;
	padding-bottom: 7px;
	margin-bottom: 5px;
	font-size: 1rem;
	font-weight: 500;
}
.foboxc li>a:link, .foboxd li>a:link,
.foboxc li>a:visited, .foboxd li>a:visited,
.foboxc li>a:active, .foboxd li>a:active {
	text-decoration: none;
	color: var(--color-footer-text);
	display: block
}
.foboxc li>a:hover,.foboxd li>a:hover {
	text-decoration: underline;
	color: var(--color-footer-text);
}
@media (max-width: 991px) {
.foboxc h5,.foboxd h5 {
	margin: 5px 0 25px 0;
	padding: 5px;
}
}
@media (max-width: 767px) {
.foboxc h5,.foboxd h5 {
	margin: 5px 0 15px 0;
	padding: 6px;
}
.finfolin h6 {
	margin: 5px 0 30px 0;
	padding: 6px;
}
.finfolin p.txt2 span {
	font-size: 1rem;
}
}
@media (max-width: 575px) {
.finfolin p.ico1 {
	font-size: 1.6rem;
	padding-top: 1px;
}
.finfolin p.txt1 {
	font-size: 1.8rem;
}
.finfolin p.ico2 {
	font-size: 1.6rem;
}
.finfolin p.txt2 {
	font-size: 1.2rem;
}
.finfolin p.txt2 span {
	font-size: 1.1rem;
}
}
/* ================================================= /Footer max */


/* ================================================= Footer */
.footer {
	padding: 40px 75px 0 75px;
}
@media (max-width: 1399px) {
.footer {
	padding-left: 3rem;
	padding-right: 3rem;
}
}
@media (max-width: 1199px) {
.footer {
	padding-left: 1.5rem;
	padding-right: 1.5rem;
}
}
@media (max-width: 575px) {
.footer {
	padding-left: 1rem;
	padding-right: 1rem;
}
}
.footer p {
	padding: 10px 0 0 0;
	color: #ececec;
	font-size: 1rem;
}
.footer a:link {
	text-decoration: none;
	color: #ececec;
}
.footer a:visited {
	text-decoration: none;
	color: #ececec;
}
.footer a:hover {
	text-decoration: none;
	color: #fff;
}
.footer a:active {
	text-decoration: none;
	color: #ececec;
}
a:link.imedia {
	text-decoration: none;
}
a:hover.imedia {
	text-decoration: none;
	opacity: 0.5;
    filter: alpha(opacity=50);
}
p.fbmpl {
	color: #bfbebe;
	font-size: .8rem;
}
p.fbmpl a:link {
	color: #bfbebe;
}
p.fbmpl a:visited {
	color: #bfbebe;
}
p.fbmpl a:hover {
	color: #d5d5d5;
	text-decoration: underline;
}
p.fbmpl a:active {
	color: #bfbebe;
}
p.fmedia, ul.fmedia {
	text-align: right;
	font-size: 1.8rem;
}
@media (max-width: 767px) {
p.fmedia, ul.fmedia {
	text-align: center;
	padding-top: 2rem;
}
}
/* ================================================= Footer */


/* ================================================= Datepicker */
.table-condensed {
	font-size: .95rem;
	font-weight: 400;
}
.table-condensed td {
	padding-left: .85rem;
	padding-right: .85rem;
}

.dropdown-menu {
	color: #06554f; /* aktyw. dn. tyg. */
}
.datepicker table tr td.day {
	font-weight: 500;
	background-color: #f3f6f9;
}
.datepicker table tr td.day:hover {
	background-color: #758ea3;
	color: #fff;
}

.datepicker table tr td.disabled, .datepicker table tr td.disabled:hover {
    color: #aab2ba; /* nieakt. dn. tyg. */
	font-weight: 400;
	background-color: #fff;
}

.datepicker table tr td.today.disabled, .datepicker table tr td.today.disabled:active {
	color: #aab2ba; /* aktualn. dzien */
}

.datepicker table tr td, .datepicker table tr th {
    text-align: center;
    width: 32px;
    height: 32px;
    border-radius: 0;
    border: none;
	padding-top: 4px;
}
.datepicker-switch {
	background-color: #205480;
	color: #fff;
}
.datepicker .datepicker-switch:hover, .datepicker .next:hover, .datepicker .prev:hover, .datepicker tfoot tr th:hover {
    background: #286090;
	color: #fff;
}
.datepicker .datepicker-switch:hover {
    background: #205480;
}
.datepicker .prev, .datepicker .next {
	background-color: #205480;
	color: #fff;
	font-size: 1.3rem;
	padding-top: 0;
	padding-bottom: 4px;
}
.datepicker .prev {
	-webkit-border-top-left-radius: var(--radius-sm);
	-moz-border-radius-topleft: var(--radius-sm);
	border-top-left-radius: var(--radius-sm);
}
.datepicker .prev.disabled, .datepicker .next.disabled {
	visibility: visible;
	pointer-events: none;
	cursor: default;
	/*-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
	filter: alpha(opacity=50);
	opacity: 0.5;*/
	color: #205480;
}
.datepicker .next {
	-webkit-border-top-right-radius: var(--radius-sm);
	-moz-border-radius-topright: var(--radius-sm);
	border-top-right-radius: var(--radius-sm);
}

th.dow { /* col. dn. tyg. */
	color: #1d1d1d;
}

.datepicker table tr td.old, .datepicker table tr td.new {
	color: #e6e6e6;
	pointer-events: none;
	cursor: default;
	background-color: #fff;
}

.datepicker table tr td.today,
.datepicker table tr td.today:hover,
.datepicker table tr td.today.disabled,
.datepicker table tr td.today.disabled:hover {
	background-color: #fde19a;
}
.datepicker table tr td.today {
	background-color: #fdf59a;
}

.actual_range {
	background-image: url(../gfx/calendar.png);
	background-repeat: no-repeat;
	background-position: right .70rem center;
	background-size: 24px 24px;
}
.actual_ranget {
}
/* ================================================= /Datepicker */


/* ================================================= Up */
.back-to-top {
	position: fixed;
	bottom: 25px;
	right: 20px;
	display: none;
	width: 46px;
	height: 46px;
	cursor: pointer;
	z-index: 2000;
}
.back-to-top .progress-ring {
	position: absolute;
	top: 0;
	left: 0;
	width: 46px;
	height: 46px;
	transform: rotate(-90deg);
}
.back-to-top .progress-ring__bg {
	fill: rgba(4, 53, 75, 0.15);
	stroke: rgba(4, 53, 75, 0.25);
	stroke-width: 2;
}
.back-to-top .progress-ring__circle {
	fill: none;
	stroke: #04354b;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-dasharray: 125.66;
	stroke-dashoffset: 125.66;
	transition: stroke-dashoffset 0.1s ease-out;
}
.back-to-top i {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	font-size: 1rem;
	color: #0a145f;
	transition: color 0.2s ease;
}
.back-to-top:hover i {
	color: #3d499b;
}
.back-to-top:hover .progress-ring__circle {
	stroke: #3d499b;
}

/* efekt nad footer */
.back-to-top.on-footer {
	filter: invert(1) hue-rotate(180deg);
	transition: filter 0.25s ease;
}
/* ================================================= /Up */


/* ================================================= Validator bs */
.fralert {
	border: 1ps solid #f1aeb5;
	background-color: #f7dfe1;
	padding: 12px;
	font-size: 1rem;
	font-weight: 400;
	margin-bottom: 8px;
}
.was-validated #chkkabina.form-check-input:valid {
	border-color: rgba(0,0,0,.25);
}
.was-validated .select-bilet.form-select-input:valid,
.was-validated .select-bilet.form-control:invalid {
	border-color: #ced4da;
}
.was-validated .select-bilet.form-select:invalid:not([multiple]):not([size]) {
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
}

.was-validated .select-bilet.form-select:valid,
.was-validated .select-bilet.form-control:valid {
	border-color: #ced4da;
}
.was-validated .select-bilet.form-select:valid:not([multiple]):not([size]) {
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
}

.was-validated .pasazer-input.form-control:valid,
.was-validated .igico.form-control:valid {
	background-image: none;
}

.has-error .form-control {
  border-color: #a94442;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
          box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
}
.has-error .form-control:focus {
  border-color: #843534;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #ce8483;
          box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #ce8483;
}

/* Walidacja formularza wyszukiwarki - czerwona ramka */
.form-error,
.form-error.form-control,
.form-error.form-select,
.ts-control.form-error {
  border: 2px solid #dc3545 !important;
  box-shadow: 0 0 0 3px rgba(220, 53, 69, 0.15) !important;
}

p.text-danger {
	padding-bottom: 0;
	margin-bottom: 4px;
}
/* ================================================= /Validator bs */


/* ================================================= Wygaszanie i fonty na mobilnych */
@media (max-width: 575px) {
.mobi-ds-none {
	display: none;
}

.btn-primary-orange {
	font-size: 1.2rem;
}

.fbtxt {
	font-size:1rem;
	padding:0 2px 0 2px;
}
.fboxoff h4 {
	font-size:1.2rem;
	font-weight: 400;
}

.frbox h3 {
	font-size: 1.4rem;
}
}
/* ================================================= /Wygaszanie i fonty na mobilnych */

