#homepage .wrapper {
    padding-bottom: 0;
}

ul {
    margin-left: 2rem;
}
li::marker {
    color: #fa801d;
    font-size: 1rem;
}

.grid-box {
    display: grid;
}
.grid-2 {
    grid-template-columns: repeat(2, 1fr);
}
.grid-3 {
    grid-template-columns: repeat(3, 1fr);
}
.grid-4 {
    grid-template-columns: repeat(4, 1fr);
}
.gap-40 {
    gap: 40px;
}
.gap-60 {
    gap: 60px;
}
@media (max-width: 768px){
    .grid-2 {
        grid-template-columns: 1fr;
    }
    .grid-4 {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (max-width: 580px){
    .grid-4 {
        grid-template-columns: 1fr;
    }
}

/* Globalne */
.navbar-topinfo {
    background: #585858;
    color: #fff;
    padding: 8px 0;
}
.navbar-topinfo_subheader {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.lista-cech {
    display: inline-flex;
    gap: .5rem;
    flex-wrap: wrap;
    font-size: 10px;
}
.navbar-topinfo_menu ul {
    list-style: none;
    font-size: 14px;
    line-height: 1;
}
.navbar-topinfo_menu ul li a {
    color: #fff;
}
.navbar-topinfo_menu ul li a img {
    width: 18px;
}

@media(min-width: 768px){
    .nav-mobile_icon {
        display: none;
    }
    .lista-cech > div:not(:last-of-type) {
        border-right: 1px solid #939292;
        padding-right: .5rem;
    }
}

@media (max-width: 767px) {
    .upper-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
    }    
    .logo {
        margin: 0 !important;
    }
    #nav > .nav-mobile_icon.nav-open {
        margin: 0 !important;
        text-align: right;
    }
    .nav-mobile {
        display: none;
    }
    .nav-mobile.active {
        display: block;
        position: fixed;
        background-color: #fff;
        right: 0;
        top: 0;
        bottom: 0;
        max-width: 300px;
        overflow-y: scroll;
    }
    /* .nav-mobile.active {
        display: block;
    } */
    body.menu-open {
        overflow: hidden; /* opcjonalnie blokada scrolla */
    }
    #nav .nav-mobile ul#menu-menu-glowne {
        display: flex;
        flex-direction: column;
        row-gap: 10px;
    }
    #nav .nav-mobile ul#menu-menu-glowne a {
        padding: 10px 5px 10px 15px;
        font-family: 'Open Sans Condensed' !important;
    }
    #nav .nav-mobile ul#menu-menu-glowne ul.sub-menu {
        top: inherit;
        position: relative;
        width: auto;
    }
    #nav .nav-mobile ul#menu-menu-glowne ul.sub-menu li {
        background-color: #F2F2F2;
        padding-left: 10px;
        border: none;
    }
    #nav ul.sf-menu li a > :hover::after, #nav ul.sf-menu li.current::after, #nav ul.sf-menu li.current-menu-item::after {
        content: none;
    }
    #nav .nav-mobile ul#menu-menu-glowne ul.sub-menu li a {
        color: #585858 !important;
    }
    .nav-mobile_icon.nav-close {
        display: flex;
        justify-content: flex-end;
        padding: 0 1rem;
    }
    body.menu-open .menu-overlay {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgb(0 0 0 / 60%);
    }

    
    .lista-cech {
        position: relative;
        overflow: hidden;
        font-size: 13px;
    }

    .lista-cech div {
        opacity: 0;
        transition: opacity 0.5s ease;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
    }

    .lista-cech div.visible {
        opacity: 1;
        position: relative;
    }
}


@media screen and (max-width: 980px) {
    .wrapper {
        max-width: 100%;
        width: auto;
        margin-top: 20px;
        margin-left: 15px;
        margin-right: 15px;
    }
}
.top-banner {
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    padding: 20px 15px !important;
    min-height: 75vh;
    display: flex;
    flex-direction: column;
    justify-content: end;
    align-items: center;
    text-align: center;
}
@media screen and (min-width: 981px) {
    .top-banner {
        /* padding: 81px 0 175px; */
    }
}
.top-banner + .homepage-top-sidebar .inner-form {
    bottom: 40px;
}
.top-banner-container p {
    color: #FFFFFF;
    text-shadow: none;
}


/* Formularz */
.book-form .inner-form {
    background-color: #FFFFFF66;
    bottom: 0;
    padding: 25px 0;
    height: auto;
    margin: 0 auto;
    position: relative;
}
.book-form.book-form-homepage .inputs input[type="text"] {
    background: transparent;
    font-size: 12px;
    color: #333;
}
.appointment-cars, .appointment-date {
    background: #FFFFFFA6;
    border-radius: 7px;
    padding: 5px 7px;
    min-height: 44px;
    display: flex;
}
@media screen and (min-width: 981px) {
    .inputs > .appointment-cars {
        margin-left: 0px;
    }
    .inputs > div:not(:last-child) {
        margin-right: 7px;
    }
}
span.carscount-text {
    font-size: 12px;
    padding-left: 10px;
}
@media screen and (min-width: 981px) {
    #appointment-contact-form {
        justify-content: space-evenly;
        margin-top: 0;
    }
    .book-form input[type="submit"] {
        margin-left: 0;
        padding: 20px 24px;
        min-width: 220px;
        box-shadow: none;
        font-size: 18px;
        width: auto;
    }
}
.carscount-controls .num-control {
    background: #FFFFFF80;
    padding: 4px;
    color: #585858;
    border-radius: 5px;
}
.carscount-controls .num-control:before, .carscount-controls .num-control.control-increment:after {
    left: calc(50% - 6px);
    background-color: #333;
    width: 12px;
    height: 2px;
}
.inputs input[type="text"]#appcount {
    width: 15px;
    text-align: center;
    margin: 0 10px;
    font-size: 15px;
    padding: 9px;
    border: 1px solid #333;
}
@media(max-width: 768px){
    .book-form .inner-form {
        padding: 1rem;
        margin-top: 1rem;
    }
    .book-form .inputs .appointment-date {
        width: calc(50% - .4rem);
    }
    .book-form .inputs > div:nth-child(1) {
        padding-right: 10px;
        margin-right: .8rem;
    }
    .book-form .inputs .appointment-cars {
        width: 100%;
        left: 0;
        right: 0;
        margin: 20px auto;
        justify-content: center;
    }
}


section#klasyczna-tresc {
    padding-top: 1rem;
    padding-bottom: 3rem;
}

/* Najnowsze posty - moduł */
.recent-posts_wrap .post-thumbnail {
    position: relative;
}
.recent-posts_wrap .post-thumbnail img {
    border-radius: 10px;
}
.recent-posts_wrap p.post-more {
    display: none;
    opacity: 0;
    transition: all .2s linear;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    cursor: pointer;
    margin: 0;
    padding: 0;
}
.recent-posts_wrap .post-thumbnail:hover > .post-more {
    display: flex;
    opacity: 1;
    transition: all .2s linear;
    align-items: center;
    justify-content: center;
}
.recent-posts_wrap a.more-btn {
    background-color: #fa801d;
    color: #fff;
    padding: 12px 32px;
    border-radius: 4px;
}
.recent-posts_wrap h2.post-title {
    margin-top: 12px;
    margin-bottom: 12px;
    font-size: 20px;
}
@media(max-width: 768px){
    .hp-post.slick-slide {
        padding: 0 10px;
    }
}


/* FAQ */
#faq h2 {
    text-align: center;
}
#faq .faq_desc {
    margin-top: 2rem;
    margin-bottom: 2rem;
}
#faq details {
    overflow: hidden;
    margin-top: .125em;
}
#faq details summary {
    display: block;
    cursor: pointer;
    padding: 1.5rem .75rem;
    border-radius: 3px;
    -webkit-transition: all .2s linear;
    -o-transition: all .2s linear;
    transition: all .2s linear;
    position: relative;
}
#faq details summary:before {
    position: absolute;
    content: '\276F';
    right: .75rem;
    top: 0;
    bottom: 0;
    height: 100%;
    display: flex;
    align-items: center;
    -webkit-transition: all .2s linear;
    -o-transition: all .2s linear;
    transition: all .2s linear;
    transform: rotate(-270deg);
}
#faq .faq_item:not(:first-of-type) details summary {
    border-top: 1px solid #E5E5E5;
}
#faq details[open] summary {
    -webkit-transition: all .2s linear;
    -o-transition: all .2s linear;
    transition: all .2s linear;
    border: 1px solid #FA801D;
    background: #FA801D;
    color: #fff;
    font-weight: 700;
}
#faq details[open] summary:before {
    color: #fff;
    -webkit-transition: all .2s linear;
    -o-transition: all .2s linear;
    transition: all .2s linear;
    transform: rotate(-90deg);
}
#faq .faq_item--desc {
    padding: .5rem .75rem;
}

/* Baner korzyści */
.hp-features {
    padding-top: 1.625rem;
    padding-bottom: 1.625rem;
}
.hp-feature {
    display: flex;
    gap: .75rem;
    flex-wrap: nowrap;
    align-items: center;
}
.hp-feature:not(:last-of-type) {
    position: relative;
}
.hp-feature:not(:last-of-type)::before {
    position: absolute;
    content: '';
    top: 0;
    bottom: 0;
    left: calc(100% + 20px);
    background-color: #939292;
    width: 1px;
    height: 100%;
}
.hp-feature__top {
    font-size: 13px;
    text-transform: uppercase;
    line-height: 150%;
    font-weight: 600;
}
.hp-feature__bottom {
    font-size: 12px;
}
@media(max-width: 580px){
    .hp-features.gap-40 {
        gap: 0;
    }
    .hp-feature {
        padding: 1rem;
    }
    .hp-feature:not(:last-of-type) {
        border-bottom: 1px solid #939292;
    }
    .hp-feature:not(:last-of-type)::before {
        content: none;
    }
    
}

/* Opinie */
section#opinie {
    margin-top: 4rem;
    margin-bottom: 4rem;
}
.opinie-slide {
    text-align: center;
}
.opinie-slide_wrap {
    max-width: 80%;
    padding-top: 4.5rem;
    padding-bottom: 4rem;
    margin: auto;
    border-top: 1px solid #CACACA;
    border-bottom: 1px solid #CACACA;
    position: relative;
}
.opinie-slide_wrap::before {
    position: absolute;
    content: '"';
    font-size: 10rem;
    width: 80px;
    height: auto;
    line-height: 1;
    color: #f37022;
    opacity: .2;
    top: 0;
    left: calc(50% - 40px);
}
.opinie-slide__text {
    line-height: 150%;
}
.opinie-slide__author {
    color: #FA801D;
    line-height: 150%;
}

/* Boksy  */
.hp-boxes {
	display: grid;
	grid-template-columns: repeat(2,1fr);
	gap: 2rem;
}
.hp-box {
	position: relative;
	background: #f37022;
	color: white;
	border-radius: 12px;
	overflow: hidden;
	text-align: center;
	min-height: 360px;
	cursor: pointer;
	transition: background 0.3s ease;
    border: 1px solid transparent;
}

.hp-box__inner {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 2rem;
	transition: all 0.4s ease;
}

.hp-box__top {
	transition: transform 0.4s ease, opacity 0.4s ease;
}

.hp-box__content {
	opacity: 0;
	/* transform: translateY(2rem); */
	max-height: 0;
	transition: opacity 0.4s ease, transform 0.4s ease, max-height 0.4s ease, color 0.4 ease;
	overflow: hidden;
	color: #333;
	/* background: white; */
	border-radius: 8px;
	padding: 1.5rem;
	margin-top: 1rem;
	width: 100%;
	box-sizing: border-box;
}
.hp-box__subtitle {
    font-size: 1.125rem;
    font-weight: 500;
}
.hp-box__title {
    font-size: 1.5rem;
    text-transform: uppercase;
    font-weight: 700;
    margin-top: 12px;
}
@media (min-width: 992px) {
	.hp-box:hover {
		background-color: #fff;
		border: 1px solid #f37022;
	}
	.hp-box:hover .hp-box__top {
		color: #f37022;
	}
	.hp-box:hover .hp-box__content {
		opacity: 1;
		transform: translateY(0);
		max-height: 500px;
	}
    .hp-box__arrow {
        display: none;
    }
    .hp-box__title {
        position: relative;
    }
    .hp-box:hover .hp-box__title::before {
        position: absolute;
        content: '';
        width: 30px;
        height: 2px;
        background-color: #f37022;
        top: calc(100% + 15px);
        left: calc(50% - 15px);
    }
}
@media (max-width: 992px) {
	.hp-boxes {
		display: flex;
		flex-direction: column;
		gap: 1rem;
	}
	.hp-box {
		min-height: auto;
		background: #f37022;
		color: #fff;
		border-radius: 10px;
		border: 1px solid #f37022;
		text-align: left;
		cursor: pointer;
		transition: background 0.3s ease, border 0.3s ease;
		position: relative;
	}
	.hp-box__inner {
		position: relative;
		display: block;
		padding: 1.25rem;
	}
	.hp-box__content {
		max-height: 0;
		opacity: 0;
		overflow: hidden;
		transition: all 0.4s ease;
		padding: 0;
		color: #333;
		background: #fff;
		border-radius: 0 0 10px 10px;
		margin-top: 0;
	}
    .hp-box__content p {
        margin: 0;
    }
	.hp-box__top {
		display: flex;
		justify-content: space-between;
		align-items: center;
		pointer-events: none;
	}
	.hp-box__arrow {
		font-size: 1.25rem;
		transition: transform 0.3s ease;
	}
	/* Otwarte */
	.hp-box.is-active {
		background: #fff;
		border: 1px solid #f37022;
	}
	.hp-box.is-active .hp-box__top {
		color: #f37022;
	}
	.hp-box.is-active .hp-box__content {
		max-height: 500px;
		opacity: 1;
		padding-top: 1rem;
	}
	.hp-box.is-active .hp-box__arrow {
		transform: rotate(180deg);
	}
    .hp-box__title {
        font-size: 1.125rem;
        margin-top: 4px;
    }
    .hp-box__subtitle {
        font-size: .875rem;
    }
}



/* Tabela opłat */
.hp-price-table-wrapper {
	width: 100%;
}

.hp-price-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 12px;
	text-align: center;
}
.hp-price-table tbody tr:nth-of-type(odd) {
    background-color: #f5f5f5;
}

/* MOBILE: klasyczna tabela */
@media (max-width: 768px) {
	.hp-price-table thead th {
		text-transform: uppercase;
		color: #f37022;
		padding: 1rem 0;
		text-align: left;
		border-bottom: 2px solid #f37022;
	}
    .hp-price-table tbody tr:nth-of-type(odd) {
        border-radius: 4px;
    }
	.hp-price-table td {
		padding: 1rem;
		/* background: #f5f5f5; */
		text-align: left;
	}
	.hp-price-table tfoot th,
	.hp-price-table tfoot td {
		color: #f37022;
		text-align: left;
		padding-top: 1rem;
		border-top: 2px solid #f37022;
	}
}

/* DESKTOP: tabela transponowana */
@media (min-width: 769px) {
	.hp-price-table {
		display: grid;
        grid-template-columns: repeat(14, 1fr) 100px;
        gap: 0;
        font-size: 12px;
	}
	.hp-price-table thead,
	.hp-price-table tbody,
	.hp-price-table tfoot {
		display: contents;
	}
	.hp-price-table tr {
		display: flex;
	}
	.hp-price-table thead tr {
		flex-direction: column;
		align-items: flex-start;
		text-align: left;
	}
	.hp-price-table tbody tr {
		flex-direction: column;
	}
	.hp-price-table thead th {
		text-transform: uppercase;
		color: #f37022;
		border: none;
		padding: 1rem 0;
		margin-bottom: 0;
        font-weight: normal;
	}
	.hp-price-table tbody td {
		display: inline-block;
		margin: 0;
		padding: 1rem 0;
        white-space: pre-line;
	}
    .hp-price-table tbody .td-nowrap {
        white-space: nowrap;
    }
	.hp-price-table tfoot tr {
		flex-direction: column;
		text-align: right;
	}
	.hp-price-table tfoot th {
		color: #f37022;
		text-transform: uppercase;
		padding: 1rem 0;
        font-weight: normal;
	}
	.hp-price-table tfoot td {
		color: #f37022;
		padding: 1rem 0 0;
	}
    .hp-price-table thead tr {
        border-right: 1px solid #f37022;
    }
    .hp-price-table tfoot tr {
        border-left: 1px solid #f37022;
        text-align: center;
    }
}


/* Mapa */
#tresc-mapa {
    position: relative;
    padding: 4rem 0;
    margin-top: 4rem;
    margin-bottom: 4rem;
}
#tresc-mapa .wrapper {
    gap: 2rem;
	align-items: center;
}
.tresc-mapa_content {
	position: relative;
	z-index: 2;
}
.tresc-mapa_map {
	position: absolute;
	right: 0;
	top: 0;
	bottom: 0;
	width: 50vw;
	z-index: 1;
}
.tresc-mapa_map iframe {
	width: 100%;
	height: 100%;
	border: 0;
	border-radius: 0;
	min-height: 260px;
}
@media (max-width: 768px) {
    #tresc-mapa {
        padding: 0;
    }
    #tresc-mapa .wrapper {
        margin-left: 0;
        margin-right: 0;
    }
    #tresc-mapa .tresc-mapa_content {
        margin-left: 15px;
        margin-right: 15px;
    }
	.tresc-mapa_map {
		position: relative;
		width: 100%;
		margin-top: 1.5rem;
	}
	.tresc-mapa_map iframe {
		min-height: 240px;
	}
}

/* CTA */
#cta_image {
	position: relative;
    margin-top: 6rem;
    margin-bottom: 6rem;
}
.cta_image .wrapper {
	display: grid;
	grid-template-columns: 1fr 1fr;
	align-items: center;
	gap: 3rem;
	position: relative;
}
.cta_image-image {
	position: relative;
    margin-top: -2rem;
    margin-bottom: -2rem;
}
.cta_image-tresc {
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
}
.cta_image-tresc__head {
    font-size: 2rem;
    text-transform: uppercase;
    font-weight: 500;
}
.btn-cta {
    padding: 12px 32px;
    border-radius: 8px;
    color: #fff;
    background: #FA801D;
    font-weight: 700;
}
@media(max-width: 768px){
    #cta_image {
        margin-bottom: 4rem;
    }
    #cta_image .wrapper {
        margin-left: 0;
        margin-right: 0;
    }
    #cta_image .cta_image-tresc {
        margin-left: 15px;
        margin-right: 15px;
        gap: 1rem;
        padding: 2rem 0;
        align-items: center;        
        text-align: center;
    }
}


/* Footer */
footer {
    background: #585858 !important;
    margin-top: 6rem;
}
footer .wrapper {
    padding-bottom: 0;
}
.footer-wrap {
    grid-template-columns: 280fr 1080fr;
}
footer table.hp-price-table {
    color: #fff;
    font-size: 10px;
}
footer .hp-price-table tbody tr:nth-of-type(odd) {
    background-color: #6C6C6C;
}
ul#menu-stopka {
    list-style: none;
    display: flex;
    gap: 2rem;
    justify-content: flex-start;
    margin: 0;
    padding: 2rem 0 1rem;
    margin-bottom: 1rem;
    border-bottom: 1px solid #939292;
    flex-wrap: wrap;
    text-transform: uppercase;
}
.footer-right_prices {
    padding-bottom: 1rem;
}
@media (min-width: 769px) {
    .footer-right_prices .hp-price-table {
        grid-template-columns: repeat(14, 1fr) 80px;
    }
    footer .hp-price-table tbody tr:nth-of-type(odd) {
        border-radius: 4px;
    }
    .hp-price-table tbody td, .hp-price-table thead th, .hp-price-table tfoot th {
        padding: .5rem 0;
    }
}
.footer-left {
    background: #FA801D;
    background: linear-gradient(180deg, rgba(250, 128, 29, 1) 0%, rgba(202, 91, 0, 1) 100%);
    border-radius: 10px 10px 0 0;
    margin-top: -2rem;
    padding: 1.5rem;
}
.footer-left_kontakt {
    display: flex;
    flex-direction: column;
    height: 100%;
    justify-content: space-between;
}
.footer-left_kontakt--heading {
    color: #fff;
    text-transform: uppercase;
    font-size: 14px;
    margin-bottom: .75rem;
    margin-top: 1rem;
}
.footer-left_kontakt--methods {
    color: #fff;
    display: grid;
    grid-template-columns: 16px 1fr;
    gap: 10px;
    padding: 5px 0;
}
@media(max-width: 768px){
    .footer-wrap {
        grid-template-columns: 1fr;
    }
    .footer-right_prices {
        display: none;
    }
    .footer-left {
        max-width: calc(100% - 2rem);
        border-radius: 10px;
    }
    ul#menu-stopka {
        border-bottom: none;
        border-top: 1px solid #939292;
    }
}
@media(max-width: 580px){
    ul#menu-stopka {
        flex-direction: column;
    }
}

.dojazd-btn_wrap {
    margin: 4rem auto;
    text-align: center;
}
a.dojazd-btn:hover {
    background: #ca6818;
    background: linear-gradient(180deg, rgb(202 104 24) 0%, rgb(161 74 2) 100%);
    transition: all .2s ease-in-out;
}
a.dojazd-btn {
    background: #FA801D;
    background: linear-gradient(180deg, rgba(250, 128, 29, 1) 0%, rgba(202, 91, 0, 1) 100%);
    border-radius: 10px;
    padding: 1rem 2.5rem;
    color: #fff;
    font-weight: bold;
    text-transform: uppercase;
    font-size: 1rem;
    transition: all .2s ease-in-out;
}


section#tresc_zdjecie {
    margin-top: 4rem;
    margin-bottom: 4rem;
}
.tresc_zdjecie-image {
    align-items: center;
    display: flex;
}