/* --- ustawienia ogólne --- */

body {
    color: #2F3539;
    letter-spacing: 1px;
}

.container {
    position: relative;
    width: 1600px;
    max-width: 1903px;
}

strong {
    font-weight: 600;
}

.kolor_1 {
    color: #FF7300;
}

.kolor_2 {
    color: #85959F
}

.flex_center {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}

.p_tekst_1 {
    font: 400 14px/20px 'Titillium Web', sans-serif;
}

.p_tekst_2 {
    font: 400 16px/24px 'Titillium Web', sans-serif;
}

.p_tekst_3 {
    font: 400 15px/22px 'Titillium Web', sans-serif;
}

.naglowek_1 {
    font: 700 36px/40px 'Titillium Web', sans-serif;
}

.naglowek_1 span {
    font-weight: 400;
}

.naglowek_2 {
    font: 600 18px/20px 'Titillium Web', sans-serif;
}

.naglowek_3 {
    font: 700 24px/30px 'Titillium Web', sans-serif;
}

.naglowek_4 {
    font: 400 26px/32px 'Titillium Web', sans-serif;
}

.naglowek_5 {
    font: 700 20px/26px 'Titillium Web', sans-serif;
}

.btn_szukaj {
    display: inline-flex;
    align-items: center;
    color: #fff;
    padding: 15px 35px 15px 65px;
    border-radius: 35px;
    font: 600 30px/30px 'Titillium Web', sans-serif;
    box-shadow: 11px 15px 17px 0 rgba(36, 56, 69, 0.20);
    background: linear-gradient(30deg, #ef7a05 20%, #00b2f4 45%, #00b2f4 100%);
    background-size: 200% 100%;
    cursor: pointer;
    transition: all 0.3s;
}

.btn_szukaj:hover {
    background-position: 100% 0;
}

.btn_szukaj.btn_szukaj_m {
    padding: 15px;
    box-shadow: none;
}

.btn_szukaj .ico_lupa_2 {
    width: 38px;
    height: auto;
    flex: 0 0 auto;
    margin: 0 0 0 40px;
    transition: all 0.3s;
}

.btn_szukaj:hover .ico_lupa_2 {
    transform: rotateY(180deg);
}

.btn_szukaj.btn_szukaj_m .ico_lupa_2 {
    width: 34px;
    margin: 0;
}

.btn {
    display: inline-flex;
    align-items: flex-start;
    justify-content: center;
    color: #fff;
    font: 600 18px/20px 'Titillium Web', sans-serif;
    padding: 14px 30px;
    border-radius: 30px;
    border: 1px solid rgba(255, 255, 255, 0.60);
    box-shadow: 10px 13px 15px 0 rgba(36, 56, 69, 0.20);
    cursor: pointer;
    transition: all 0.3s;
}

.btn:hover,
.btn_2:hover {
    border-color: #ff7300;
}

.btn_2,
.cms .btn_2 {
    display: inline-block;
    color: #2f2f2f;
    font: 600 16px/20px 'Titillium Web', sans-serif;
    border: 1px solid #EBEBEB;
    padding: 14px 30px;
    border-radius: 26px;
    transition: all 0.3s;
}

.btn_2.btn_wroc {
    padding: 11px 22px;
    display: inline-flex;
    align-items: center;
    margin: 20px 0 0;
}

.btn_wroc svg {
    transform: rotate(180deg);
    margin: 0 10px;
    transition: all 0.3s;
}

.btn_wroc svg path {
    stroke: #ff7300;
}

.btn_wroc:hover svg {
    margin: 0 20px 0 0;
}

.btn_wyslij,
.cms .btn_wyslij {
    display: inline-block;
    border-radius: 30px;
    background-color: #FF7300;
    box-shadow: 9px 12px 14px 0 rgba(36, 56, 69, 0.20);
    color: #fff;
    font: 700 22px/26px 'Titillium Web', sans-serif;
    padding: 15px 35px;
    transition: all 0.3s;
}

.btn_wyslij:hover {
    background-color: #00b2f4;
}

/* --- cms --- */

.cms h1 {
    font: 700 48px/58px 'Titillium Web', sans-serif;
    margin: 0 0 60px;
}

.cms h2, h2,
.cms h1.h1_oferta {
    font: 700 36px/46px 'Titillium Web', sans-serif;
}

.cms h1.h1_oferta {
    height: 92px;
    overflow: hidden;
    margin: 0 0 38px;
}

.cms h2 {
    margin: 0 0 35px;
}

.cms h3, h3 {
    font: 700 24px/32px 'Titillium Web', sans-serif;
}

.cms h3 {
    margin: 0 0 30px;
}

.cms h4, h4 {
    font: 700 19px/26px 'Titillium Web', sans-serif;
}

.cms h4 {
    margin: 0 0 25px;
}

.cms h5, h5,
.cms h6, h6 {
    font: 700 16px/24px 'Titillium Web', sans-serif;
}

.cms h5,
.cms h6 {
    margin: 0 0 20px;
}

.cms h2,
.cms h3,
.cms h4,
.cms h5,
.cms h6 {
    margin-top: 40px;
}

p,
.cms p,
.cms li,
.p_tekst_2 {
    font: 400 16px/24px 'Titillium Web', sans-serif;
}


.cms p:not(.p_tekst_1, .p_tekst_2, .p_tekst_3) {
    margin: 0 0 20px;
}

.cms a {
    color: #ff7300;
}

.cms > img,
.cms p img {
    max-width: 100%;
    height: auto;
    margin: 50px 0;
    display: block;
}

.cms hr, hr {
    background-color: #EEEFF5;
    margin: 50px 0;
    border: none;
    width: 100%;
    height: 1px;
}

.cms ul {
    margin: 0 0 40px 15px;
    /*overflow: auto;*/
}

.cms ol {
    margin: 0 0 40px;
    overflow: auto;
}

.cms ol ul,
.cms ol ol,
.cms ul ul,
.cms ul ol {
    margin: 10px 0 0 0;
}

.cms ul > li:last-of-type,
.cms ol > li:last-of-type {
    margin-bottom: 0;
}

.cms li {
    margin-bottom: 10px;
    padding-left: 25px;
    position: relative;
}

.cms ul > li:before {
    position: absolute;
    content: '';
    height: 5px;
    width: 5px;
    border-radius: 100%;
    background: #ff7300;
    left: 0;
    top: 10px;
}

.cms ul > li:last-of-type,
.cms ol > li:last-of-type {
    margin-bottom: 0;
}

.cms ol > li {
    list-style-type: decimal;
    margin-left: 30px;
    padding-left: 10px;
}

.cms table {
    border-collapse: collapse;
    margin: 0 0 50px;
    width: auto;
    overflow-x: auto;
    display: table;
    border-radius: 25px;
    background: #F5F5F5;
}

.cms > table td,
.cms > table th {
    border: 1px solid #EBEBEB;
    text-align: center;
    vertical-align: middle;
    padding: 20px 25px;
}

.cms > table thead th {
    border-bottom: 2px solid #ff7300;
    font: 700 19px/26px 'Titillium Web', sans-serif;
    border-top: none;
}

.cms > table tr:last-of-type td {
    border-bottom: none;
}

.cms > table tr td:first-of-type,
.cms > table tr th:first-of-type {
    border-left: none;
}

.cms > table tr td:last-of-type,
.cms > table tr th:last-of-type {
    border-right: none;
}

.cms > table tbody {
    font: 400 14px/24px 'Titillium Web', sans-serif;
}

/* --- pliki do pobrania --- */

#pliki {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-start;
}

#pliki h3,
#galeria h3,
#kategorie h3 {
    margin-top: 0;
}

#pliki a {
    color: #2F3539;
    font: 600 16px/26px "Outfit", sans-serif;
    margin: 0 0 25px;
    position: relative;
    display: inline-flex;
    align-items: flex-start;
    justify-content: flex-start;
    transition: all 0.3s;
}

#pliki a:last-of-type {
    margin-bottom: 0;
}

#pliki a:hover {
    color: #ff7300;
}

#pliki a .kolko {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    flex: 0 0 auto;
    border-radius: 100%;
    margin: 0 25px 0 0;
    border: 1px solid #EBEBEB;
    transition: all 0.3s;
}

#pliki a:hover .kolko {
    border-color: #ff7300;
}

#pliki a svg {
    width: 14px;
    height: auto;
}

#pliki a .tekst {
    margin: 6px 0 0;
}

/* --- galeria -- */

.container_galeria {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start;
}

.container_galeria a {
    position: relative;
    overflow: hidden;
    width: calc((100% - 60px) / 3);
    /*height: 330px;*/
    aspect-ratio: 1/1;
    border-radius: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 30px 30px 0;
    transition: all 0.3s;
}

.container_galeria a:hover {
    border-radius: 10px;
}

.container_galeria a:nth-of-type(3n + 3) {
    margin-right: 0;
}

.container_galeria a:nth-last-of-type(-n + 3) {
    margin-bottom: 0;
}

.container_galeria a:hover {
    box-shadow: rgba(36, 56, 69, 0.2) 11px 15px 17px 0;
}

.container_galeria a img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: all 0.3s;
}

.container_galeria a:hover img {
    transform: scale(1.1);
}

/* --- kategorie --- */

.zb_kategorii {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
}

.zb_kategorii .box_kategoria {
    position: relative;
    width: calc((100% - 120px) / 4);
    background-color: #fff;
    border-radius: 25px;
    border: 1px solid #EBEBEB;
    padding: 35px 90px 35px 40px;
    margin: 0 40px 40px 0;
    transition: all 0.3s;
}

.zb_kategorii .box_kategoria:nth-of-type(4n+4) {
    margin-right: 0;
}

.zb_kategorii .box_kategoria:hover {
    box-shadow: rgba(36, 56, 69, 0.2) 11px 15px 17px 0;
    border-color: #2F3539;
}

.box_kategoria .nazwa_kategorii {
    font: 700 22px/26px 'Titillium Web', sans-serif;
    max-height: 130px;
    overflow: hidden;
    color: #2F3539;
}

.box_kategoria .kolko {
    position: absolute;
    right: 20px;
    bottom: 25px;
    width: 50px;
    height: 50px;
    border-radius: 100%;
    border: 1px solid #EBEBEB;
    display: flex;
    align-items: center;
    justify-content: center;
}

.box_kategoria .kolko svg {
    transform: rotate(90deg);
    width: 11px;
    height: auto;
    transition: 0.3s;
}

.box_kategoria:hover .kolko .arrow_slider {
    transform: rotate(0deg);
}

.box_kategoria:hover .kolko path {
    stroke: #FF7300;
}

#kategorie hr {
    margin-top: 10px;
}


/* --- linki kontaktowe --- */

.cms .kontakt_link,
.kontakt_link {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    color: #2F3539;
    transition: all 0.3s;
}

.kontakt_link:hover {
    color: #FF7300;
}

.kontakt_link svg {
    flex: 0 0 auto;
    margin: 0 15px 0 0;
    width: 36px;
    height: auto;
}

.kontakt_link .tekst_1 {
    font: 700 24px/32px 'Titillium Web', sans-serif;
}

.kontakt_link .tekst_1 span {
    color: #85959F;
    font: 400 18px/32px 'Titillium Web', sans-serif;
}

.kontakt_link:hover .tekst_1 span {
    color: #FF7300;
}

.kontakt_link .tekst_2 {
    color: #ff7300;
    font: 600 19px/24px 'Titillium Web', sans-serif;
}

/* --- header --- */

header {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    width: 100%;
}

header .container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 30px 0 15px;
    transition: all 0.3s;
}

header .logo_header {
    width: 200px;
    height: 65px;
    flex: 0 0 auto;
}

header .logo_head {
    width: 100%;
    height: auto;
}

header .header_right {
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

header .szukajka {
    margin: 0 0 0 30px;
    border: 1px solid rgba(235, 235, 235, 0.4);
    border-radius: 25px;
    padding: 8px 12px;
    display: flex;
    align-items: flex-start;
    cursor: pointer;
    transition: all 0.3s;
}

header .szukajka:hover,
header .szukajka.active {
    border: 1px solid rgba(235, 235, 235, 1);
}

header .szukajka input {
    background-color: transparent;
    color: #fff;
    font: 400 14px/14px 'Titillium Web', sans-serif;
    border: none;
    width: 60px;
    transition: all 0.3s;
}

header .szukajka.active input {
    width: 120px;
}

header .szukajka button {
    margin: 0 0 -2px;
}

header .szukajka .ico_lupa {
    width: 20px;
    height: 20px;
    flex: 0 0 auto;
    margin: 0 0 0 20px;
}

header .szukajka .ico_lupa path {
    transition: all 0.3s;
}

#header_szukaj.input-focused button:hover path,
#header_szukaj.has-value button:hover path {
    fill: #ff7300;
}

header .header_ulubione {
    display: flex;
    align-items: center;
    margin: 0 0 0 30px;
    cursor: pointer;
    color: #fff;
    font: 500 18px/22px 'Titillium Web', sans-serif;
}

header .header_ulubione svg {
    width: 22px;
    height: auto;
    margin: 0 5px 0 0;
    transition: all 0.3s;
}

header .header_ulubione.active svg {
    fill: #fff;
}

header .header_ulubione.active:hover svg {
    fill: #ff7300;
}

header .header_ulubione path {
    transition: all 0.3s;
}

header .header_ulubione:hover path {
    stroke: #ff7300;
}

header .header_jezyki {
    position: relative;
    margin: 0 0 0 30px;
    display: flex;
    align-items: flex-start;
    color: #fff;
    cursor: pointer;
    height: 30px;
    transition: all 0.3s;
}

header .header_jezyki:hover {
    color: #ff7300;
}

header .header_jezyki .tekst {
    font: 400 13px/15px 'Titillium Web', sans-serif;
    text-align: right;
    margin: 0 10px 0 0;
}

header .header_jezyki .flagi {
    display: flex;
    flex-direction: column;
    height: 30px;
    overflow: hidden;
    margin: 1px 0 0;
    transition: all .3s;
}

header .header_jezyki.active .flagi {
    height: auto;
}

header .header_jezyki a {
    width: 30px;
    height: 30px;
    border-radius: 100%;
    flex: 0 0 auto;
    margin: 0 0 3px;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #fff;
    transition: all 0.3s;
}

header .header_jezyki.active a:hover {
    background-color: #ff7300;
}

header .header_jezyki svg {
    width: 28px;
    height: 28px;
}


/* --- hamburger --- */

#hamburger {
    display: none;
    width: 34px;
    cursor: pointer;
    margin: 0 0 0 50px;
}

#hamburger .line {
    display: block;
    width: 100%;
    height: 3px;
    background-color: #fff;
    border-radius: 2px;
    margin: 6px auto;
}

/* --- menu główne --- */

#header_menu ul {
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

#header_menu li {
    margin: 0 0 0 40px;
}

#header_menu a {
    display: inline-block;
    font: 600 14px/14px 'Titillium Web', sans-serif;
    color: #fff;
    text-transform: uppercase;
    padding: 10px;
    transition: all 0.3s;
}

#header_menu a:hover,
#header_menu a.active {
    color: #FF7300;
}

/* -- menu mobile --- */

#overlay {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: fixed;
    z-index: 3;
    top: 0;
    right: 0;
    height: 0;
    width: 0;
    background-color: rgba(0, 178, 244, 0.8);
    padding: 65px 0 35px;
    overflow: hidden;
    transition: all 0.3s;
}

#overlay.open {
    width: 100%;
    height: 100vh;
}

#menu-mobile {
    position: relative;
    width: 100%;
}

#overlay .close {
    cursor: pointer;
    position: absolute;
    z-index: 3;
    top: 35px;
    right: 0;
    width: 34px;
    height: 34px;
}

#overlay .top {
    position: absolute;
    top: 0;
}

#overlay .close span {
    position: absolute;
    top: 50%;
    left: 50%;
    display: inline-block;
    width: 100%;
    height: 3px;
    border-radius: 2px;
    background-color: #fff;
    transition: all 0.3s;
}

#overlay:not(.open) .close span {
    width: 0;
    height: 0;
}

#overlay .close span:nth-child(1) {
    transform: translate(-50%, -50%) rotate(45deg);
}

#overlay .close span:nth-child(2) {
    transform: translate(-50%, -50%) rotate(-45deg);
}

#menu-mobile {
    position: relative;
    overflow-x: hidden;
    display: flex;
    justify-content: center;
}

#menu-mobile a {
    display: inline-block;
    color: #fff;
    font: 600 24px/28px 'Titillium Web', sans-serif;
    padding: 4px 0;
}

#menu-mobile a.active {
    color: #ff7300;
}

#menu-mobile .menu2 a {
    font: 600 18px/24px 'Titillium Web', sans-serif;

}

#menu-mobile .menu1 {

}

#menu-mobile .menu1 li {
    position: relative;
    margin: 0 0 5px;
    width: 920px;
}

#menu-mobile .menu2 li {
    margin-left: calc((100vw - 920px) / 2);
    padding: 0 0 0 30px;
}


#menu-mobile .menu2 {
    display: none;
    background-color: #00b2f4;
    margin: 10px 0 0;
    position: relative;
    left: calc((100vw - 920px) / -2);
    width: 100vw;
    padding: 15px 0 10px;
}

#menu-mobile .menu_plus {
    height: 28px;
    width: 28px;
    position: absolute;
    right: 0;
    top: 4px;
    cursor: pointer;
    background: #fff;
    border-radius: 100%;
    display: inline-block;
}

#menu-mobile .menu_plus:before,
#menu-mobile .menu_plus:after {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    content: '';
    background: #00B2F4;
    display: block;
    transition: all 0.3s;
}

#menu-mobile .menu_plus:before {
    width: 3px;
    height: 17px;
}

#menu-mobile .menu_plus:after {
    width: 17px;
    height: 3px;
}

#menu-mobile .menu_plus.active:before {
    height: 0;
}

/* --- footer --- */

footer {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.foto_footer {
    position: relative;
    width: 100%;
    padding: 130px 0;
    background: url("/assets/grafika/foto_footer.png") no-repeat center center/cover;
}

.foto_footer:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, rgba(48, 85, 127, 0.50) 0%, rgba(66, 93, 124, 0.00) 100%);
}

.foto_footer:before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 315px;
    z-index: 1;
    background: linear-gradient(180deg, rgba(245, 245, 245, 0.00) 0%, rgba(245, 245, 245, 0.73) 52%, #F5F5F5 100%);
}

.foto_footer .container {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
}

.foto_footer .container .box {
    width: calc((100% - 40px) / 2);
}

.foto_footer .container .box_1 {
    border-radius: 30px;
    background-color: #fff;
    padding: 50px 70px 70px;
}

.foto_footer.footer_podsumowanie .container .box_1 {
    opacity: 0;
}

.foto_footer .box_1 .ocena_footer {
    display: flex;
    align-items: center;
    margin: 0 0 20px;
}

.foto_footer .ocena_footer .zb_gwiazdek {
    margin: 0 25px 0 0;
}

.foto_footer .ocena_footer .ico_gwiazdka {
    margin: 0 3px 0 0;
}

.foto_footer .ocena_footer .sr_ocena {
    margin: 0 25px 0 0;
    font: 600 20px/30px 'Titillium Web', sans-serif;
}

.foto_footer .ocena_footer .ilosc_ocen {
    padding: 0 0 0 25px;
    border-left: 1px solid #EBEBEB;
}

.foto_footer .ocena_footer .ilosc {
    font: 600 16px/17px 'Titillium Web', sans-serif;
}

.foto_footer .ocena_footer .tekst {
    color: #85959F;
    font: 400 13px/14px 'Titillium Web', sans-serif;
}

.foto_footer .box_1 .tytul {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.foto_footer .box_1 .ico_doswiadczenie {
    width: 120px;
    height: auto;
    flex: 0 0 auto;
    margin: 0 0 0 40px;
}

.foto_footer .box_1 .p_tekst_2 {
    margin: 0 170px 0 0;
}

.foto_footer .box_1 .wiersz {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.foto_footer .box_1 .btn_2 {
    margin: 35px 0 0;
}

.foto_footer .box_1 .logo {
    width: 90px;
    height: auto;
    flex: 0 0 auto;
}

.foto_footer .container .box_2 {
    display: flex;
    align-items: center;
    justify-content: center;
}

.foto_footer.footer_podsumowanie .container .box_2 {
    width: 29%;
    max-width: 450px;
}

.foto_footer .box_2 .logo_biale {
    display: inline-block;
    width: 280px;
    height: auto;
}

.footer_opinie,
.opinie_o_ofercie {
    width: 100%;
}

.opinie_o_ofercie {
    padding: 70px 0 0;
}

.opinie_o_ofercie.mobile {
    display: none;
}

.footer_opinie {
    padding: 60px 0;
    background: linear-gradient(0deg, rgba(245, 245, 245, 0.00) 0%, #F5F5F5 100%);
}

.footer_opinie .btn_2.mobile {
    display: none;
}

.footer_opinie .container,
.opinie_o_ofercie .container {
    display: flex;
    justify-content: space-between;
}

.footer_opinie .naglowek_1,
.opinie_o_ofercie .naglowek_1 {
    margin: 50px 0 35px;
}

.footer_opinie .p_tekst_2,
.opinie_o_ofercie .p_tekst_2 {
    margin: 0 0 50px;
}

.footer_opinie .kolumna_2,
.opinie_o_ofercie .kolumna_2 {
    overflow: hidden;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding: 0 0 40px;
}

.footer_opinie .kolumna_2,
.opinie_o_ofercie .kolumna_2 {
    width: calc(74% + 40px);
    margin: 0 -20px 0 0;
    max-width: 1230px;
}

#zb_opinii .slick-list,
#zb_opinii_oferta .slick-list {
    padding: 0 0 30px;
}

#zb_opinii .slick-slide,
#zb_opinii_oferta .slick-slide {
    padding: 0 20px;
    box-sizing: border-box;
}

.footer_opinie .box_opinie,
.opinie_o_ofercie .box_opinie {
    width: calc((100% - 80px) / 3);
    border-radius: 25px;
    border: 1px solid #D9D9D9;
    padding: 60px 45px 45px;
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    transition: all 0.3s;
}

.footer_opinie .box_opinie:hover,
.opinie_o_ofercie .box_opinie:hover {
    border-color: #85959f;
    box-shadow: 5px 13px 17px 0 rgba(36, 56, 69, .2);
}

.footer_opinie .box_opinie .tresc_opinii,
.opinie_o_ofercie .box_opinie .tresc_opinii {
    position: relative;
    margin: 0 0 25px;
    font: 400 20px/30px 'Titillium Web', sans-serif;
    color: #85959F;
    max-height: 240px;
    overflow: hidden;
}

.footer_opinie .box_opinie .ico_cudzyslow_pom,
.opinie_o_ofercie .box_opinie .ico_cudzyslow_pom {
    width: 40px;
    height: auto;
    margin: 0 0 20px;
}

.footer_opinie .box_opinie .opinia_podpis,
.opinie_o_ofercie .box_opinie .opinia_podpis {
    font: 700 18px/26px 'Titillium Web', sans-serif;
    text-align: right;
    color: #2F3539;
    margin: 0 0 0 auto;
}

.footer_opinie .box_opinie .btn_opinie,
.opinie_o_ofercie .box_opinie .btn_opinie {
    margin: -10px 0 10px auto;
    font: 600 14px/14px 'Titillium Web', sans-serif;
    padding: 6px 15px 8px;
}

.footer_opinie .box_opinie:hover .btn_opinie,
.opinie_o_ofercie .box_opinie:hover .btn_opinie {
    border-color: #ff7300;
}

#zb_opinii .slick-dots,
#zb_opinii_oferta .slick-dots {
    bottom: 0;
    left: 50%;
    transform: translate(-50%, 0);
    width: 100%;
    z-index: 90;
}

.footer_dane {
    padding: 100px 0 25px;
}

.footer_dane .container {
    display: flex;
    flex-wrap: wrap;
}

.footer_dane .dane_kontaktowe {
    width: 100%;
    display: flex;
    justify-content: space-between;
    margin: 0 0 120px;
}

.footer_dane .dane_kontaktowe .kontakt_footer {
    width: 74.5%;
    margin: 0 40px 0 0;
    flex: 0 0 auto;
    border-radius: 30px;
    background: #F5F5F5;
    box-shadow: 26px 30px 37px 0 rgba(0, 0, 0, 0.15);
    padding: 70px 80px;
    display: flex;
    justify-content: space-between;
}

.footer_dane .dane_kontaktowe .logo {
    width: 115px;
    height: auto;
    flex: 0 0 auto;
}

.footer_dane .dane_kontaktowe .logo_poziom {
    display: none;
    margin: 0 30px 0 0;
    width: 150px;
}

.footer_dane .dane_kontaktowe .footer_social {
    display: flex;
    align-items: center;
}

.footer_dane .footer_social .separator {
    width: 1px;
    height: 35px;
    background-color: #D9D9D9;
}

.footer_dane .footer_social .zb_ikon {
    display: flex;
    flex-direction: column;
    margin: 0 70px;
}

.footer_dane .footer_social a {
    width: 26px;
    height: 26px;
    flex: 0 0 auto;
    display: inline-block;
    margin: 0 0 20px;
}

.footer_dane .footer_social a:last-of-type {
    margin-bottom: 0;
}

.footer_dane .footer_social svg {
    width: 100%;
    height: auto;
}

.footer_dane .footer_social path {
    transition: all 0.3s;
}

.footer_dane .footer_social a:hover path {
    fill: #FF7300;
}

.footer_dane .kontakt_biuro {
    display: flex;
    align-items: center;
    flex-direction: column;
}

.footer_dane .kontakt_biuro .tekst_duzy {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 50px 0 25px;
}

.footer_dane .kontakt_telefon {
    margin: 0 0 0 30px;
}

.footer_dane .kontakt_biuro .tekst {
    font: 700 24px/32px 'Titillium Web', sans-serif;
}

.footer_dane .kontakt_biuro .tekst span {
    font-weight: 400;
    color: #85959F;
}

.footer_dane .kontakt_biuro .p_tekst_2 {
    color: #85959F;
}

.footer_dane .dane_kontaktowe .box_szukaj {
    width: 100%;
    border-radius: 30px;
    padding: 50px 55px;
    border: 1px solid #EBEBEB;
    background: #FFF;
    box-shadow: 26px 30px 37px 0 rgba(0, 0, 0, 0.15);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.footer_dane .dane_kontaktowe .box_szukaj .naglowek_4 {
    margin: 0 0 30px;
}

.footer_dane .dane_kontaktowe .box_szukaj strong {
    font-weight: 700;
}

.footer_dane .dane_kontaktowe .box_szukaj .wiersz,
.page_content .box_search .wiersz {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.footer_dane .dane_kontaktowe .box_szukaj .btn_szukaj,
#popup_filtr .bottom .btn_szukaj {
    padding: 12px 20px 12px 35px;
    font: 600 22px/22px 'Titillium Web', sans-serif;
}

.footer_dane .dane_kontaktowe .box_szukaj .ico_lupa_2,
#popup_filtr .bottom .btn_szukaj .ico_lupa_2 {
    width: 26px;
}

.footer_dane .dane_kontaktowe .box_szukaj .arrow_poziom,
.page_content .box_search .wiersz .arrow_poziom {
    width: 14px;
    height: auto;
    flex: 0 0 auto;
    transform: rotate(180deg);
    animation: none;
}

.page_content .box_search .wiersz .arrow_poziom {
    margin: 0 50px 0 0;
}

@keyframes moveArrow2 {
    0% {
        transform: rotate(180deg) translateX(-20px);
    }
    50% {
        transform: rotate(180deg) translateX(20px); /* Przesunięcie w prawo */
    }
    100% {
        transform: rotate(180deg) translateX(-20px); /* Powrót do pozycji początkowej */
    }
}

.footer_dane .footer_linki {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin: 0 0 80px;
}

.footer_dane .footer_linki .naglowek_1 {
    color: #85959F;
}

.footer_dane .footer_linki .kolumna_2 {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.footer_dane .footer_linki .box {
    width: calc((100% - 80px) / 3);
}

.footer_linki .box a {
    display: inline-block;
    color: #85959F;
    font: 400 14px/22px 'Titillium Web', sans-serif;
    margin: 0 0 2px;
}

.footer_dane .footer_copyright {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
}

.footer_dane .tekst_stopka {
    color: #85959F;
    font: 400 12px/24px 'Titillium Web', sans-serif;
}

.footer_dane .cookie_ustawienia {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    text-decoration: none;
    cursor: pointer;
    transition: color .2s ease;
}

.footer_dane .cookie_ustawienia:hover {
    color: #ff7300;
}

.footer_dane .cookie_ustawienia .ico_cookies {
    flex: 0 0 auto;
}

/* --- strona główna - start --- */

#home_top {
    position: relative;
    width: 100%;
    height: 100vh;
    background: url("/assets/grafika/top_slide.png") no-repeat center center / cover;
    align-items: flex-end;
}

#home_top:after,
#page_top:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    background: linear-gradient(180deg, rgba(47, 53, 57, 0.45) 0%, rgba(47, 53, 57, 0.00) 100%);
}

#home_top:after {
    height: 190px;
}

#page_top:after {
    height: 100%;
}

#home_top:before,
#page_top:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 50%;
    height: 100%;
    background: linear-gradient(90deg, rgba(48, 85, 127, 0.50) 0%, rgba(66, 93, 124, 0.00) 100%);
}

#home_top .tlo_mobile {
    display: none;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: calc(100% - 700px);
    background: linear-gradient(180deg, rgba(245, 245, 245, 0.00) 0%, #F5F5F5 100%);
}

#home_top .container {
    z-index: 1;
}

.kolumna_1 {
    width: 21%;
}

.kolumna_2 {
    position: relative;
    width: 74.4%;
    max-width: 1190px;
}

.kolumna_5 {
    width: 20%;
}

#home_top .top_szukajka,
#page_top .top_szukajka {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
}

#home_top .top_szukajka .kolumna_1 {
    display: flex;
    align-items: flex-start;
    color: #fff;
}

#home_top .top_szukajka .kolumna_1 .ico_lupa_2 {
    width: 50px;
    height: auto;
    flex: 0 0 auto;
    margin: 5px 25px 0 0;
}

#home_top .top_szukajka .tekst_1 {
    font: 600 22px/26px 'Titillium Web', sans-serif;
}

#home_top .top_szukajka .tekst_1 .kolor_1 {
    font-weight: 700;
}

#home_top .top_szukajka .tekst_2 {
    font: 600 16px/24px 'Titillium Web', sans-serif;
}

#home_top .top_szukajka .tekst_2 span {
    font: 400 14px/24px 'Titillium Web', sans-serif;
}

#home_top .top_szukajka .kolumna_2,
#page_top .top_szukajka {
    height: 150px;
    background-color: #fff;
    padding: 0 40px 0 20px;
    border-radius: 30px;
    box-shadow: 21px 24px 31px 0 rgba(0, 0, 0, 0.30);
    display: flex;
    justify-content: space-between;
    align-items: center;
}

#home_top .top_szukajka .box_top {
    position: relative;
    height: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 74%;
}

#page_top .top_szukajka > .ico_lupa_2 {
    width: 50px;
    height: auto;
    flex: 0 0 auto;
    margin: 0 5px 0 0;
}

.top_szukajka .box,
#page_top .box_top .box,
#popup_filtr .box_top .box {
    border-radius: 30px;
    border: 1px solid #EBEBEB;
    height: 100%;
    transition: all .3s;
}

.top_szukajka .box:hover {
    border-color: #00b2f4;
}

.top_szukajka.szukajka_mala .box {
    border: none;
    padding: 0;
}

.top_szukajka .box_2,
#popup_filtr .box_top .box_2 {
    padding: 0 25px;
    cursor: pointer;
}

.top_szukajka .box_2,
.top_szukajka .data_pobytu,
#popup_filtr .box_top .box_2,
#popup_filtr .box_top .data_pobytu {
    display: flex;
    align-items: center;
}

.top_szukajka.szukajka_mala .box_2 {
    padding: 0 22px;
    border-radius: 40px;
    height: 100%;
}

.top_szukajka .box_2 svg,
#popup_filtr .box_top .box_2 svg {
    flex: 0 0 auto;
    width: 25px;
    height: auto;
    margin: 0 15px 0 0;
}

.top_szukajka .box_2 svg path {
    transition: all .3s;
}

.top_szukajka .box_2:hover svg path {
    fill: #00b2f4;
}

.top_szukajka.szukajka_mala .box_2 svg {
    width: 22px;
    margin: 0 15px 0 0;
    transition: all 0.3s;
}

#page_top.active .top_szukajka.szukajka_mala .box_2 svg {
    width: 0;
}

.top_szukajka .box_2 .tekst,
#popup_filtr .box_top .box_2 .tekst {
    display: flex;
    flex-direction: column;
}

.top_szukajka .box_2 .tekst_3,
#popup_filtr .box_top .box_2 .tekst_3 {
    font: 600 17px/26px 'Titillium Web', sans-serif;
    transition: all .3s;
}

.top_szukajka .box_2:hover .tekst_3 {
    color: #00b2f4;
}

.top_szukajka.szukajka_mala .box_2 .tekst_3 {
    font: 600 15px/18px 'Titillium Web', sans-serif;
}

.top_szukajka .box_2 .tekst_4,
#popup_filtr .box_top .box_2 .tekst_4 {
    font: 400 16px/26px 'Titillium Web', sans-serif;
}

.top_szukajka .box input,
#popup_filtr .box_top .box input {
    border: none;
    width: 110px;
}

.top_szukajka .box_2 input {
    width: 85px;
    height: 34px;
}

.top_szukajka .box_2.miasto input {
    width: 105px;
}

.top_szukajka .box_2 ::placeholder {
    font: 400 22px/26px 'Titillium Web', sans-serif;
}

.top_szukajka .box_2 ::placeholder,
.formularz_kontakt ::placeholder,
#header_szukaj_mobile ::placeholder {
    color: #85959F;
    opacity: 1; /* Firefox */
}

.top_szukajka .box_2 :-ms-input-placeholder,
.formularz_kontakt :-ms-input-placeholder,
.box_form_rezerwacja input:-ms-input-placeholder,
#header_szukaj_mobile :-ms-input-placeholder{ /* Internet Explorer 10-11 */
    color: #85959F;
}

.top_szukajka .box_2 ::-ms-input-placeholder,
.formularz_kontakt ::-ms-input-placeholder,
.box_form_rezerwacja input::-ms-input-placeholder { /* Microsoft Edge */
    color: #85959F;
}

.top_szukajka .separator_pion,
#popup_filtr .box_top .separator_pion {
    flex: 0 0 auto;
    width: 1px;
    height: 100px;
    background-color: #EBEBEB;
}

.top_szukajka.szukajka_mala .separator_pion {
    height: 100%;
}

.top_szukajka .box_arrow {
    flex: 0 0 auto;
}

.top_szukajka .box_arrow svg {
    margin: 0 10px 23px;
    width: 14px;
    height: auto;
    animation: none;
}


@keyframes moveArrow {
    0% {
        transform: translateX(-20px);
    }
    50% {
        transform: translateX(20px); /* Przesunięcie w prawo */
    }
    100% {
        transform: translateX(-20px); /* Powrót do pozycji początkowej */
    }
}

.top_szukajka.szukajka_mala .box_szukaj {
    padding: 0 0 0 10px;
}

.top_szukajka .btn_szukaj {
    margin: 0 0 15px;
}

.top_szukajka .btn_szukaj.btn_szukaj_m {
    margin: 0;
}

.top_szukajka .box_szukaj .tekst {
    font: 600 14px/15px 'Titillium Web', sans-serif;
    display: flex;
    align-items: center;
}

.top_szukajka .box_szukaj .tekst span {
    font-weight: 400;
}

.top_szukajka .box_szukaj .ico_gwiazdka {
    margin: 0 5px;
}

.top_szukajka .separator {
    width: calc(100% + 50px);
    height: 1px;
    background-color: #EBEBEB;
    margin: 20px -25px 30px;
}

#home_top .top_oferty {
    margin: 20vh 0 -110px;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

#home_top .top_oferty .kolumna_2 {
    border-radius: 30px;
}

#home_top .top_oferty .tekst_1 {
    display: block;
    color: #fff;
    margin: 30px 0 60px;
    font: 400 41px/48px 'Titillium Web', sans-serif;
}

#home_top .top_oferty .tekst_1 span {
    font-weight: 700;
}

#top_zb_ofert {
    box-shadow: 26px 30px 37px 0 rgba(0, 0, 0, .15);
    border-radius: 30px;
    height: 485px;
    overflow: hidden;
}

#top_zb_ofert .slick-track {
    display: flex;
    align-items: center;
}

#home_top .top_oferty .top_oferta {
    background-color: #fff;
    display: flex;
    justify-content: space-between;
    border-radius: 30px;
    width: 100%;
    aspect-ratio: 1190/485;
    /*height: 485px;*/
    overflow: hidden;
}

#home_top .top_oferty .kolumna_prawa {
    width: 31%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

#home_top .top_oferty .oferta_foto {
    width: 69%;
    position: relative;
}

#home_top .kolumna_prawa .dane_oferta {
    padding: 45px 45px 0;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
}

#home_top .dane_oferta .nazwa_oferty {
    font: 700 26px/30px 'Titillium Web', sans-serif;
    max-height: 90px;
    overflow: hidden;
    margin: 0 0 15px;
    display: block;
    color: #2f2f2f;
}

#home_top .dane_oferta .ocena_oferta {
    display: flex;
    align-items: center;
    margin: 0 0 25px;
}

.zb_gwiazdek {
    display: flex;
    justify-content: flex-start;
    align-items: center;
}

#home_top .dane_oferta .zb_gwiazdek {
    margin: 2px 20px 0 0;
}

#home_top .dane_oferta .sr_ocena {
    font: 600 22px/22px 'Titillium Web', sans-serif;
    margin: 0 auto 0 0;
}

#home_top .dane_oferta .kolumna_3 {
    width: 70px;
    border-left: 1px solid #EBEBEB;
}

#home_top .dane_oferta .ilosc_ocen {
    padding: 0 0 0 15px;
}

#home_top .dane_oferta .ilosc_ocen .ilosc {
    font: 600 18px/22px 'Titillium Web', sans-serif;
}

#home_top .dane_oferta .ilosc_ocen .tekst {
    font: 400 13px/16px 'Titillium Web', sans-serif;
    color: #85959F;
}

#home_top .dane_oferta .zb_ikon {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0 0 20px;
}

#home_top .dane_oferta .box_ikona {
    display: flex;
    flex-direction: column;
    align-items: center;
    font: 600 18px/20px 'Titillium Web', sans-serif;
}

#home_top .dane_oferta .box_ikona svg {
    height: 21px;
    width: auto;
    flex: 0 0 auto;
    margin: 0 0 3px;
}

#home_top .dane_oferta .oferta_cena {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}

#home_top .oferta_cena .tekst {
    color: #85959F;
    font: 400 16px/16px 'Titillium Web', sans-serif;
    margin: 0 0 10px;
}

#home_top .oferta_cena .cena {
    font: 700 28px/44px 'Titillium Web', sans-serif;
    padding: 0 0 10px;
}

#home_top .oferta_cena .cena span {
    font-size: 44px;
    display: inline-block;
}

#home_top .oferta_cena .kolumna_3 {
    padding: 20px 0 20px 15px;
    color: #85959F;
    font: 600 16px/20px 'Titillium Web', sans-serif;
}

#home_top .kolumna_prawa .box_szczegoly {
    padding: 30px 45px;
    border-top: 1px solid #EBEBEB;
    display: flex;
    justify-content: flex-end;
}

#home_top .kolumna_prawa .box_szczegoly .btn_2.mobile {
    display: none;
}

#home_top .oferta_foto img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

#home_top .oferta_foto .kolko_ulubione {
    position: absolute;
    top: 30px;
    right: 30px;
    width: 50px;
    height: 50px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 100%;
    background-color: rgba(47, 53, 57, 0.35);
    cursor: pointer;
}

#home_top .oferta_foto .kolko_ulubione .ico_serce {
    width: 20px;
    height: auto;
    margin: 4px 0 0;
}

#home_top .oferta_foto .kolko_ulubione:hover .ico_serce path {
    stroke: #FF7300;
}

#home_top .oferta_foto .kolko_ulubione.active .ico_serce {
    fill: #ff7300;
}

#home_top .oferta_foto .kolko_ulubione.active .ico_serce path {
    stroke: #ff7300;
}

.udogodnienia {
    position: absolute;
    display: inline-flex;
    align-items: center;
    border-radius: 25px;
    background-color: rgba(47, 53, 57, 0.35);
}

#home_top .oferta_foto .udogodnienia {
    top: 30px;
    left: 30px;
    height: 50px;
    padding: 0 25px;
}

.udogodnienia .box {
    display: flex;
    align-items: center;
}

#home_top .udogodnienia .box {
    margin: 0 30px 0 0;
}

#home_top .udogodnienia .box:last-of-type,
.udogodnienia .box:last-of-type {
    margin-right: 0;
}

#home_top .udogodnienia .box .svg:first-of-type {
    width: 25px;
    height: auto;
}

#home_top .udogodnienia .ico_ptaszek {
    width: 10px;
    height: auto;
    margin: 0 0 0 8px;
}

#home_top .top_oferty .btn_slider,
#galeria_oferta .kolko_arrow {
    cursor: pointer;
    position: absolute;
    z-index: 2;
    width: 50px;
    height: 50px;
    border-radius: 100%;
    border: 1px solid #EBEBEB;
    background-color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: all .3s;
}

#home_top .top_oferty .btn_slider {
    bottom: 30px;
}

#home_top .top_oferty .btn_prev {
    left: 30px
}

#home_top .top_oferty .btn_next {
    right: 30px
}

#galeria_oferta .kolko_arrow {
    top: 50%;
    transform: translate(0, -50%);
}

#home_top .top_oferty .btn_prev,
#galeria_oferta .kolko_arrow.arrow_prev {
    left: 30px
}

#home_top .top_oferty .btn_next,
#galeria_oferta .kolko_arrow.arrow_next {
    right: 30px
}

#home_top .top_oferty .btn_slider:hover,
#galeria_oferta .kolko_arrow:hover {
    border-color: #ff7300;
}

#home_top .top_oferty .arrow_slider,
#galeria_oferta .kolko_arrow svg {
    width: 9px;
    height: auto;
    margin: 0 3px 0 0;
}

#home_top .top_oferty .btn_next .arrow_slider,
#galeria_oferta .kolko_arrow.arrow_next svg {
    transform: rotate(180deg);
    margin: 0 -3px 0 0;
}

#top_zb_ofert .slick-dots {
    bottom: -60px;
    left: 50%;
    z-index: 2;
    transform: translate(-50%, 0);
}

#top_zb_ofert .slick-dots li,
#zb_opinii .slick-dots li {
    width: 26px;
    height: 26px;
}

#top_zb_ofert .slick-dots li button,
#zb_opinii .slick-dots li button,
#zb_opinii_oferta .slick-dots li button {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    margin: 0;
    background-color: #85959F;
}

#top_zb_ofert .slick-dots li.slick-active button,
#zb_opinii .slick-dots li.slick-active button,
#zb_opinii_oferta .slick-dots li.slick-active button {
    background-color: #FF7300;
}

/* ---- strona głowna - sekcja 1 --- */

.home_sekcja_1 {
    background: linear-gradient(0deg, #fff 0%, rgba(245, 245, 245, 0) 10%, #F5F5F5 100%);
    padding: 150px 0 130px;
}

.home_o_firmie {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    flex-wrap: wrap;
    margin: 0 0 120px;
}

.home_o_firmie .kolumna_5 .p_tekst_1 {
    color: #85959F;
}

.home_o_firmie .tytul {
    display: flex;
    align-items: center;
    margin: 0 0 15px;
}

.home_o_firmie .tytul svg {
    width: 78px;
    height: auto;
    flex: 0 0 auto;
    margin: 0 25px 0 0;
}

.home_o_firmie .tytul .naglowek_1 span {
    color: #85959F;
    font-size: 32px;
}

.home_o_firmie .kolumna_5 .separator {
    width: 100%;
    height: 1px;
    background-color: #EBEBEB;
    margin: 15px 0;
}

.home_o_firmie .tekst_zaufalo,
.box_rezerwuj .tekst_zaufalo {
    display: flex;
    align-items: center;
    color: #85959F;
    font: 600 14px/20px 'Titillium Web', sans-serif;
    letter-spacing: 0.5px;
    text-align: center;
}

.home_o_firmie .tekst_zaufalo span,
.box_rezerwuj .tekst_zaufalo span {
    color: #2F3539;
    font-size: 17px;
    display: inline-block;
}

.home_o_firmie .tekst_zaufalo .ico_gwiazdka,
.box_rezerwuj .tekst_zaufalo .ico_gwiazdka {
    width: 13px;
    height: auto;
    flex: 0 0 auto;
}

.home_o_firmie .kolumna_2 {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
}

.home_o_firmie .box {
    display: flex;
    align-items: flex-start;
    width: calc((100% - 80px) / 3);
    color: #85959F;
}

.home_o_firmie .box .separator_pion {
    height: 33px;
    width: 1px;
    background-color: #EBEBEB;
    margin: 0 30px 0 0;
    flex: 0 0 auto;
}

.home_o_firmie .box svg {
    width: 30px;
    height: auto;
    flex: 0 0 auto;
    margin: 0 25px 0 0;
}

.home_o_firmie .box .naglowek_2 {
    margin: -3px 0 15px;
}

.home_oferty_kategorie {
    display: flex;
    justify-content: space-between;
}

.home_oferty_kategorie .naglowek_1 {
    margin: 0 0 35px;
}

.home_oferty_kategorie .kolumna_2 {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.home_oferty_kategorie .box {
    width: calc((100% - 80px) / 3);
    border-radius: 25px;
    overflow: hidden;
    background-color: #fff;
}

.home_oferty_kategorie .box:nth-child(-n +3) {
    margin: 0 0 40px;
}

.home_oferty_kategorie .box_kategoria {
    color: #2f2f2f;
    border: 1px solid #EBEBEB;
    padding: 30px;
    display: flex;
    align-items: flex-start;
    transition: all 0.3s;
}

.home_oferty_kategorie .box_kategoria:hover {
    box-shadow: 11px 15px 17px 0 rgba(36, 56, 69, 0.20);
    border-color: #00b2f4;
}

.home_oferty_kategorie .box_kategoria svg {
    width: 22px;
    height: auto;
    flex: 0 0 auto;
    margin: 4px 30px 0 0;
}

.home_oferty_kategorie .box_kategoria .naglowek_3 {
    margin: 0 0 15px;
}

.home_oferty_kategorie .box_btn {
    padding: 30px 40px 30px 50px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: #fff;
    font: 700 24px/28px 'Titillium Web', sans-serif;
    background: linear-gradient(30deg, #ef7a05 20%, #00b2f4 45%, #00b2f4 100%);
    background-size: 200% 100%;
    box-shadow: 11px 15px 17px 0 rgba(36, 56, 69, 0.20);
    transition: all 0.3s;
}

.home_oferty_kategorie .box_btn:hover {
    background-position: 100% 0;
}

.home_oferty_kategorie .box_btn .ico_lupa_2 {
    flex: 0 0 auto;
    width: 45px;
    height: auto;
    margin: 0 0 0 30px;
    transition: all .3s;
}


/* ---- strona głowna - sekcja 2 --- */

.home_sekcja_2 {
    margin: 0 0 150px;
}

.home_oferty_najnowsze {
    display: flex;
    justify-content: space-between;
}

.home_oferty_najnowsze .kolumna_5 {
    position: relative;
}

.home_oferty_najnowsze .kolumna_2 .zb_ofert {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.home_oferty_najnowsze .naglowek_1 {
    margin: 0 0 80px;
}

.home_oferty_najnowsze .naglowek_4,
.page_content .page_prawa .box_search .naglowek_4 {
    margin: 0 0 25px;
}

.home_oferty_najnowsze .naglowek_4 strong {
    font-weight: 700;
}

.box_search {
    border-radius: 30px;
    border: 1px solid #EBEBEB;
    background: #FFF;
    box-shadow: 11px 15px 17px 0 rgba(36, 56, 69, 0.15);
    padding: 50px 50px 40px;
}

.home_oferty_najnowsze .box_search {
    position: sticky;
    top: 50px;
}

.box_search .p_tekst_2 {
    color: #85959F;
    margin: 0 0 30px;
}

.box_search .btn_szukaj {
    padding: 13px 25px 13px 45px;
    font: 600 25px/25px 'Titillium Web', sans-serif;
}

.box_search .ico_lupa_2 {
    width: 30px;
}

.box_search .arrow_pion {
    display: block;
    width: 12px;
    height: auto;
    margin: 50px auto 0;
    animation: none;
    transition: all .3s;
}


@keyframes moveArrow_2 {
    0% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-30px);
    }
    100% {
        transform: translateY(0);
    }
}

.home_oferty_najnowsze .box_oferta {
    width: calc((100% - 80px) / 3);
}

.box_oferta {
    display: block;
    margin: 0 0 50px;
    color: #2F3539;
    border-radius: 25px;
    overflow: hidden;
    transition: all .3s;
}

.box_oferta:hover {
    box-shadow: 11px 15px 17px 0 rgba(36, 56, 69, 0.20);
}

.box_oferta .foto_oferta {
    position: relative;
    width: 100%;
    /*height: 275px;*/
    aspect-ratio: 74/55;
}

.box_oferta .foto_oferta img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.box_oferta .foto_oferta .udogodnienia {
    right: 20px;
    top: 20px;
    height: 40px;
    padding: 0 20px;
}

.box_oferta .foto_oferta .box {
    margin: 0 20px 0 0;
}

.box_oferta .foto_oferta .box:last-of-type {
    margin-right: 0;
}

.box_oferta .foto_oferta svg:first-child {
    width: 20px;
    height: auto;
}

.box_oferta .foto_oferta .ico_ptaszek {
    width: 9px;
    height: auto;
    margin: 0 0 0 6px;
}

.box_oferta .info_oferta {
    border-radius: 0 0 25px 25px;
    border: 1px solid #EBEBEB;
    border-top: none;
    transition: all 0.3s;
}

.box_oferta:hover .info_oferta {
    border-color: #85959F;
}

.box_oferta .info_oferta .wiersz_gorny {
    padding: 20px 35px 30px;
}

.box_oferta .info_oferta .wiersz_srodkowy {
    padding: 0 35px 25px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.box_oferta .info_oferta .wiersz_dolny {
    padding: 20px 20px 20px 35px;
    border-top: 1px solid #EBEBEB;
}

.box_oferta .info_oferta .ocena_oferta,
.oferta_ocena_klient .ocena_oferta {
    display: flex;
    align-items: center;
    margin: 0 0 15px;
}

.oferta_ocena_klient .ocena_oferta {
    margin: 0;
}

.box_oferta .ocena_oferta .zb_gwiazdek,
.oferta_ocena_klient .ocena_oferta .zb_gwiazdek {
    margin: 0 20px 0 0;
}

.box_oferta .ocena_oferta .sr_ocena,
.oferta_ocena_klient .ocena_oferta .sr_ocena {
    font: 600 20px/30px 'Titillium Web', sans-serif;
    margin: 0 20px 0 0;
}

.box_oferta .ocena_oferta .ilosc_ocen,
.oferta_ocena_klient .ocena_oferta .ilosc_ocen {
    padding: 0 0 0 20px;
    border-left: 1px solid #EBEBEB;
}

.box_oferta .ocena_oferta .ilosc,
.oferta_ocena_klient .ocena_oferta .ilosc {
    font: 600 16px/16px 'Titillium Web', sans-serif;
    margin: 0;
}

.box_oferta .ocena_oferta .tekst,
.oferta_ocena_klient .ocena_oferta .tekst {
    font: 400 13px/13px 'Titillium Web', sans-serif;
    color: #85959F;
    margin: 0;

}

.box_oferta .info_oferta .nazwa_oferty {
    font: 700 22px/26px 'Titillium Web', sans-serif;
    height: 52px;
    overflow: hidden;
}

.box_oferta .info_oferta .zb_ikon {
    display: flex;
}

.box_oferta .info_oferta .box_ikona {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 0 25px 0 0;
}

.box_oferta .info_oferta .box_ikona svg {
    width: 18px;
    height: auto;
    margin: 0 0 5px;
}

.box_oferta .info_oferta .box_ikona span {
    font: 600 16px/16px 'Titillium Web', sans-serif;
}

.box_oferta .info_oferta .dodaj_ulubione svg,
.box_oferta .info_oferta .dodaj_ulubione path {
    transition: all 0.3s;
}


.box_oferta .info_oferta .dodaj_ulubione path {
    stroke: #999;
}

.box_oferta .info_oferta .dodaj_ulubione.active path {
    stroke: #ff7300;
}

.box_oferta .info_oferta .dodaj_ulubione.active svg {
    fill: #ff7300;
}

.box_oferta .info_oferta .dodaj_ulubione:hover path {
    stroke: #ff7300;
}

.box_oferta .info_oferta .dodaj_ulubione.active:hover svg {
    fill: #ff7300;
}

.box_oferta .wiersz_dolny {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.box_oferta .wiersz_dolny .kolko {
    width: 50px;
    height: 50px;
    border: 1px solid #EBEBEB;
    border-radius: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
}

.box_oferta .wiersz_dolny .arrow_slider {
    transform: rotate(90deg);
    width: 11px;
    height: auto;
    transition: all 0.3s;
}

.box_oferta:hover .wiersz_dolny .arrow_slider {
    transform: rotate(0);
}

.box_oferta:hover .wiersz_dolny path {
    stroke: #FF7300;
}

.box_oferta .wiersz_dolny .p_tekst_2 {
    color: #85959F;
}

.box_oferta .wiersz_dolny .cena {
    color: #2F3539;
    font: 700 18px/30px 'Titillium Web', sans-serif;
}

.box_oferta .wiersz_dolny .kolor_1 {
    font: 700 30px/30px 'Titillium Web', sans-serif;
    margin: 0 3px;
}

.box_oferta .wiersz_dolny .kolor_2 {
    font: 600 16px/30px 'Titillium Web', sans-serif;
}

/* ---- strona głowna - sekcja 3 --- */

.home_sekcja_3 {
    background: linear-gradient(180deg, rgba(245, 245, 245, 0.00) 0%, #F5F5F5 100%);
    padding: 0 0 100px;
}

.home_opinie_onas,
.home_artykuly {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin: 0 0 100px;
    padding: 0 0 100px;
    border-bottom: 1px solid #EBEBEB;
}

.home_opinie_onas .kolumna_2 {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.home_opinie_onas .box {
    width: calc((100% - 80px) / 3);
}

.home_opinie_onas .box_1 {
    padding: 0 50px 0 0;
}

.home_opinie_onas .box_1 .p_tekst_2 {
    margin: 0 0 30px;
}

.home_opinie_onas .box .wiersz {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.home_opinie_onas .box .tekst_1 {
    font: 400 20px/20px 'Titillium Web', sans-serif;
    color: #85959F;
}

.home_opinie_onas .box .tekst_2 {
    font: 600 25px/30px 'Titillium Web', sans-serif;
}

.home_opinie_onas .box .tekst_3 {
    font: 400 22px/28px 'Titillium Web', sans-serif;
    margin: -10px 0 50px;
}

.home_opinie_onas .box .tekst_3 span {
    font-weight: 700;
}

.home_opinie_onas .box .separator_poziom {
    width: 100%;
    height: 1px;
    margin: 15px 0;
    background-color: #EBEBED;
}

.home_opinie_onas .box .ico_gwiazdka {
    width: 23px;
    height: auto;
    flex: 0 0 auto;
    margin: 0 5px 0 0;
    display: inline-block;
}

.home_opinie_onas .box_1 .tekst_2 {
    width: 100px;
    margin: 0 0 0 5px;
}

.home_opinie_onas .box_2 {
    cursor: pointer;
    border-radius: 30px;
    border: 1px solid #EBEBEB;
    background: #FFF;
    padding: 40px 20px 25px 40px;
    transition: all 0.3s;
}

.home_opinie_onas .box_2:hover {
    box-shadow: 11px 15px 17px 0 rgba(36, 56, 69, .2);
    border-color: #85959F;
}

.home_opinie_onas .box_2:hover .btn_2 {
    border-color: #FF7300;
}

.home_opinie_onas .box_2 .wiersz:first-child {
    align-items: flex-start;
}

.home_opinie_onas .box_2 .tekst_3,
.home_opinie_onas .box_2 .tekst_2 {
    color: #2F3539;
}

.home_opinie_onas .ico_cudzyslow {
    width: 22px;
    height: auto;
    flex: 0 0 auto;
    margin: 0 20px;
}

.home_opinie_onas .box .logo {
    width: 180px;
    height: auto;
    flex: 0 0 auto;
    margin: 0 auto;
    display: block;
}

.home_opinie_onas .box .logo_poziom {
    width: 200px;
    height: auto;
    flex: 0 0 auto;
    margin: 0 auto;
    display: none;
}

.home_artykuly .kolumna_5 .naglowek_1 {
    margin: 0 0 35px;
}

.home_artykuly .kolumna_5 .p_tekst_2 {
    margin: 0 0 50px;
}

.home_artykuly .btn_2.desktop {
    display: inline-flex;
    background-color: #fff;
}

.home_artykuly .btn_2.mobile {
    display: none;
}

.zb_artykulow {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    width: 100%;
}

.page_content .zb_artykulow {
    margin: 0 0 30px;
}

.box_artykul {
    cursor: pointer;
    position: relative;
    width: calc((100% - 80px) / 3);
    /*height: 370px;*/
    aspect-ratio: 1/1;
    margin: 0 40px 40px 0;
    border-radius: 25px;
    overflow: hidden;
    transition: all 0.3s;
}

.page_content .box_artykul {
    width: calc((100% - 120px) / 4);
}

.page_content .box_artykul:nth-of-type(4n+4),
.home_artykuly .box_artykul:nth-of-type(3n+3) {
    margin-right: 0;
}

.box_artykul:hover {
    box-shadow: 11px 15px 17px 0 rgba(36, 56, 69, 0.20);
}

.home_artykuly .box_artykul:nth-last-of-type(-n+3) {
    margin-bottom: 0;
}

.box_artykul img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.box_artykul .nazwa_artykylu {
    position: absolute;
    left: 0;
    bottom: 30px;
    color: #fff;
    font: 700 22px/26px 'Titillium Web', sans-serif;
    width: 100%;
    height: 78px;
    overflow: hidden;
    padding: 0 40px;
}

.home_aktualnosci .naglowek_1 {
    margin: 0 0 60px;
}

.zb_aktualnosci {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin: 0 0 30px;
    width: 100%;
}

.home_aktualnosci .btn_2 {
    background-color: #fff;
}

.box_aktualnosc {
    cursor: pointer;
    display: flex;
    border-radius: 25px;
    overflow: hidden;
    width: calc((100% - 40px) / 2);
    margin: 0 0 40px;
    /*height: 368px;*/
    transition: all 0.3s;
}

.box_aktualnosc:hover {
    box-shadow: 11px 15px 17px 0 rgba(36, 56, 69, .2);
}

.box_aktualnosc .foto_aktualnosc {
    width: 47.4%;
    aspect-ratio: 1/1;
    /*height: 100%;*/
    flex: 0 0 auto;
}

.box_aktualnosc .foto_aktualnosc img {
    flex: 0 0 auto;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.box_aktualnosc .dane_aktualnosc {
    display: flex;
    flex-direction: column;
    background-color: #fff;
    padding: 45px 50px 20px;
    border: 1px solid #EBEBEB;
    border-radius: 0 25px 25px 0;
    width: 100%;
    transition: all 0.3s;
}

.box_aktualnosc:hover .dane_aktualnosc {
    border-color: #85959F;
}

.box_aktualnosc .naglowek_5 {
    margin: 0 0 20px;
    max-height: 78px;
    overflow: hidden;
    color: #2F3539;
}

.box_aktualnosc .zajawka p {
    max-height: 110px;
    overflow: hidden;
    margin: 0 0 auto;
    font: 400 15px/22px 'Titillium Web', sans-serif;
    color: #2F3539;
}

.box_aktualnosc .data_artykul {
    margin: auto 0 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.box_aktualnosc .data_artykul .p_tekst_1,
.tresc_podstrony .data {
    color: #85959F;
    font: 400 14px/20px 'Titillium Web', sans-serif;
}

.box_aktualnosc .data_artykul .kolko {
    width: 50px;
    height: 50px;
    margin: 0 -30px 0 0;
    border-radius: 100%;
    border: 1px solid #ebebeb;
    display: flex;
    align-items: center;
    justify-content: center;
}

.box_aktualnosc .data_artykul .arrow_slider {
    transform: rotate(180deg);
    width: 11px;
    height: auto;
    transition: all .3s;
}

.box_aktualnosc:hover .data_artykul .arrow_slider {
    transform: rotate(90deg);
}

.box_aktualnosc:hover .data_artykul .arrow_slider path {
    stroke: #ef7a05;
}

/* --- podstrony - top --- */

#page_top {
    width: 100%;
    height: 160px;
    position: relative;
    background: url("/assets/grafika/foto_top_podstrona.png") no-repeat center center / cover;
    transition: all 0.3s;
}

#page_top.active {
    height: 190px;
}

#page_top.top_lo {
    height: 190px;
}

#page_top .container {
    position: relative;
    z-index: 1;
}

#page_top .top_szukajka {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translate(-50%, 100px);
    width: 78%;
    padding: 0 40px 0 30px;
}

#page_top .top_szukajka.szukajka_mala {
    height: 72px;
    width: auto;
    border-radius: 40px;
    box-shadow: 10px 10px 23px 0 rgba(0, 0, 0, 0.08);
    justify-content: center;
    padding: 0 5px 0 10px;
    transform: translate(-50%, 50%);
    overflow: hidden;
    opacity: 1;
    transition: all 0.4s ease-in-out;
    flex-wrap: nowrap;
}

#page_top.active .top_szukajka.szukajka_mala,
#page_top.top_lo .top_szukajka.szukajka_mala {
    width: 0;
    height: 0;
    opacity: 0;
    transform: translate(-50%, 50%) scale(0.8);
}

#page_top .top_szukajka.szukajka_duza {
    width: 78%;
    height: 150px;
    overflow: hidden;
    opacity: 0;
    transform: translate(-50%, 100px) scale(0.95);
    visibility: hidden;
    transition: opacity 0.4s ease-in-out 0.2s, transform 0.4s ease-in-out 0.2s, visibility 0s 0.6s;
}

#page_top.active .top_szukajka.szukajka_duza,
#page_top.top_lo .top_szukajka.szukajka_duza {
    overflow: visible;
    opacity: 1;
    transform: translate(-50%, 100px) scale(1);
    visibility: visible;
    transition: opacity 0.4s ease-in-out 0.2s, transform 0.4s ease-in-out 0.2s, visibility 0s 0s;
}

.page_content {
    padding: 80px 0;
    position: relative;
    transition: all 0.3s;
}

.page_content.active {
    padding-top: 160px;
}

.page_content.page_lo {
    padding: 130px 0 80px;
}

.page_content:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 500px;
    background: linear-gradient(0deg, #fff 0%, rgba(245, 245, 245, 0) 10%, #F5F5F5 100%);
}

.page_content .container {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.page_content .container .page_lewa {
    width: 66%;
    max-width: 1050px;
}

.page_content .tresc_podstrony {
    overflow: hidden;
}

.page_content .tresc_podstrony:has(.formularz_wyszukiwarka),
.page_content .tresc_podstrony:has(.box_form_opinia) {
    overflow: visible;
}

.page_content .container .page_prawa {
    width: 29%;
    max-width: 450px;
    position: relative;
}

.page_content .container.mobile {
    display: none;
}

.page_content .page_prawa .box_search {
    margin: 0 0 50px;
}

.page_content .box_text_doswiadczenie {
    margin: 0 0 70px;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.page_content .box_text_doswiadczenie .tytul {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 0 15px;
}

.page_content .box_text_doswiadczenie .ico_doswiadczenie {
    width: 42px;
    height: auto;
    flex: 0 0 auto;
    margin: 0 25px 0 0;
}

.page_content .box_text_doswiadczenie .naglowek_4 span,
.page_content .box_oferty_nowe .naglowek_4 span {
    color: #2F3539;
    font-weight: 700;
}

.page_content .box_text_doswiadczenie .p_tekst_1 {
    text-align: center;
    font: 400 14px/20px 'Titillium Web', sans-serif
}

.page_content .page_prawa .box_oferty_nowe {
    margin: 0 0 80px;
}

.page_content .box_oferty_nowe .naglowek_4 {
    margin: 0 0 30px;
}

.page_content .box_oferty_nowe .box_oferta:last-of-type {
    margin-bottom: 0;
}

.page_content .page_prawa .box_sticky {
    position: sticky;
    top: 50px;
    margin: 0 0 100px;
}

.page_content .naglowek_podstrona_top {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    margin: 0 0 50px;
}

.page_content .naglowek_podstrona_top h1,
.page_content .naglowek_podstrona_top h2,
.page_content .naglowek_podstrona_top h3 {
    margin: 0;
}

.page_content .naglowek_podstrona_top .box_text_doswiadczenie {
    width: calc((100% - 120px) / 4);
    max-width: 450px;
    margin: 0 0 0 100px;
}

/* --- lista ofert --- */

.lista_filtrow {
    width: 100%;
    margin: 30px 0 50px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.lista_filtrow .lista_filtrow_lewa {
    display: flex;
    align-items: center;
    justify-content: flex-start;
}

.lista_filtrow .box_filtr {
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    color: #2f2f2f;
    margin: 0 50px 0 0;
    transition: all 0.3s;
}

.lista_filtrow .box_filtr:hover {
    color: #FF7300;
}

.lista_filtrow .box_filtr svg {
    width: 22px;
    height: 22px;
    flex: 0 0 auto;
    margin: 0 15px 0 0;
}

.lista_filtrow .box_filtr path {
    transition: all 0.3s;
}

.lista_filtrow .box_filtr:hover svg:not(.ico_basen_szary) path {
    stroke: #FF7300;
}

.lista_filtrow .box_filtr:hover svg.ico_basen_szary path {
    fill: #FF7300;
}

.lista_filtrow .box_filtr.active {
    color: #FF7300;
}

.lista_filtrow .box_filtr.active svg:not(.ico_basen_szary) path {
    stroke: #FF7300;
}

.lista_filtrow .box_filtr.active svg.ico_basen_szary path {
    fill: #FF7300;
}

.lista_filtrow .box_filtr.active:hover {
    color: #FF7300;
}

.lista_filtrow .box_filtr.active:hover svg:not(.ico_basen_szary) path {
    stroke: #FF7300;
}

.lista_filtrow .box_filtr.active:hover svg.ico_basen_szary path {
    fill: #FF7300;
}

.lista_filtrow .box_filtr span {
    font: 600 16px/20px 'Titillium Web', sans-serif;
}

.lista_filtrow .lista_filtrow_prawa {
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

.lista_filtrow .liczba_ofert {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    margin: 0 50px 0 0;
}

.lista_filtrow .liczba_ofert .tekst {
    color: #85959F;
    font: 400 15px/20px 'Titillium Web', sans-serif;
    margin: 0 20px 0 0;
}

.lista_filtrow .liczba_ofert .liczba {
    color: #2F3539;
    font: 600 18px/22px 'Titillium Web', sans-serif;
}

.lista_filtrow .filtr_zaawansowany,
.top_szukajka .filtr_zaawansowany,
#popup_filtr .box_top .filtr_zaawansowany {
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 15px 20px;
    border: 1px solid #D9D9D9;
    border-radius: 30px;
    color: #2F3539;
    font: 600 18px/22px 'Titillium Web', sans-serif;
    transition: all 0.3s;
}

.lista_filtrow .filtr_zaawansowany:hover {
    border-color: #FF7300;
}

.lista_filtrow .filtr_zaawansowany svg,
.top_szukajka .filtr_zaawansowany svg,
#popup_filtr .box_top .filtr_zaawansowany svg {
    width: 20px;
    height: auto;
    flex: 0 0 auto;
    margin: 0 15px 0 0;
}

.lista_ofert {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    width: 100%;
}

.lista_ofert .box_oferta {
    width: calc((100% - 120px) / 4);
    margin-right: 40px;
}

.lista_ofert .box_oferta:nth-of-type(4n + 4) {
    margin-right: 0;
}

/* --- popup filtr zaawansowany --- */


#popup_filtr {
    z-index: -1;
    opacity: 0;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.6);
    display: flex;
    justify-content: center;
    align-items: center;
    transition: all 0.4s;
}

#popup_filtr.open {
    z-index: 100;
    opacity: 1;
}

#popup_filtr .pole_biale {
    width: 600px;
    border-radius: 30px;
    background: #FFF;
    box-shadow: 21px 24px 31px 0 rgba(0, 0, 0, 0.30);
    max-height: 92vh;
    overflow: visible;
}

#popup_filtr .box_przesuwany {
    padding: 10px 0 0;
    overflow-y: auto;
    max-height: calc(92vh - 232px);
}

#popup_filtr .top,
#popup_filtr .filtr_typ_nieruchomosci,
#popup_filtr .filtr_przedzial_cenowy,
#popup_filtr .filtr_dodatkowe,
#popup_filtr .filtry_checbox,
#popup_filtr .filtr_dostepnosc,
#popup_filtr .bottom {
    padding: 25px 30px;
    border-bottom: 1px solid #ebebeb;
}

.top_szukajka .filtr_typ_nieruchomosci,
.top_szukajka .filtr_przedzial_cenowy,
.top_szukajka .filtr_dodatkowe,
.top_szukajka .filtry_checbox,
.top_szukajka .filtr_dostepnosc {
    padding: 20px 0;
    border-bottom: 1px solid #ebebeb;
}

#popup_filtr .top {
    box-shadow: 0 3px 15px 0 rgba(0, 0, 0, 0.2);
}

#popup_filtr .bottom {
    box-shadow: 0 -3px 15px 0 rgba(0, 0, 0, 0.2);
    border: none;
}

#popup_filtr .filtry_checbox {
    padding-bottom: 35px;
}

#popup_filtr .tekst_1,
#home_top .top_szukajka .box_przesuwany .tekst_1 {
    color: #2f2f2f;
    font: 700 16px/22px 'Titillium Web', sans-serif;
    margin: 0 0 10px;
}

#popup_filtr .tekst_2 {
    color: #2f2f2f;
    font: 400 18px/22px 'Titillium Web', sans-serif;
}

#popup_filtr .top {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

#popup_filtr .box_top.mobile {
    display: none;
}

#popup_filtr .top .strona_lewa {
    display: flex;
    align-items: center;
    font: 600 18px/22px 'Titillium Web', sans-serif;
}

#popup_filtr .top .ico_filtry {
    width: 20px;
    height: auto;
    flex: 0 0 auto;
    margin: 0 20px 0 0;
}

#popup_filtr .top .strona_prawa {
    display: flex;
    align-items: center;
}

#popup_filtr .szukajka,
.top_szukajka .szukajka {
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #EBEBEB;
    border-radius: 25px;
    padding: 5px 12px;
    transition: all 0.3s;
}

#popup_filtr .top .szukajka:hover,
#popup_filtr .top .szukajka:focus-within {
    border-color: #FF7300;
}

#popup_filtr .szukajka input,
.top_szukajka .szukajka input {
    color: #2F3539;
    width: 100px;
    font: 400 14px/16px 'Titillium Web', sans-serif;
    border: none;
}

#popup_filtr .szukajka ::placeholder,
.top_szukajka .szukajka ::placeholder {
    color: #2F3539;
    opacity: 1; /* Firefox */
}

#popup_filtr .szukajka :-ms-input-placeholder,
.top_szukajka .szukajka :-ms-input-placeholder { /* Internet Explorer 10-11 */
    color: #2F3539;
}

#popup_filtr .szukajka ::-ms-input-placeholder,
.top_szukajka .szukajka ::-ms-input-placeholder { /* Microsoft Edge */
    color: #2f2f2f;
}

#popup_filtr .szukajka button,
.top_szukajka .szukajka button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
    margin: 0 0 0 10px;
    padding: 0;
    border: none;
    background: none;
    cursor: pointer;
    flex-shrink: 0;
}

#popup_filtr .szukajka button svg,
.top_szukajka .szukajka button svg {
    width: 16px;
    height: 16px;
    display: block;
    flex-shrink: 0;
}

#popup_filtr .szukajka button svg path,
.top_szukajka .szukajka button svg path {
    fill: #2F3539;
    transition: all 0.3s;
}

#popup_filtr .szukajka button:hover svg path,
.top_szukajka .szukajka button:hover svg path {
    fill: #FF7300;
}

#popup_filtr .szukajka.active,
#popup_filtr .top .szukajka.active,
.top_szukajka .szukajka.active {
    border-color: #FF7300;
}

#popup_filtr .szukajka button.loading,
.top_szukajka .szukajka button.loading {
    position: relative;
    pointer-events: none;
}

#popup_filtr .szukajka button.loading svg,
.top_szukajka .szukajka button.loading svg {
    opacity: 0;
}

#popup_filtr .szukajka button.loading::after,
.top_szukajka .szukajka button.loading::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 14px;
    height: 14px;
    margin: -7px 0 0 -7px;
    border: 2px solid #EBEBEB;
    border-top-color: #FF7300;
    border-radius: 50%;
    animation: szukajka-spin 0.8s linear infinite;
}

@keyframes szukajka-spin {
    to { transform: rotate(360deg); }
}

.szukajka-error {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    margin-top: 5px;
    padding: 8px 12px;
    background: #FFF3F3;
    border: 1px solid #E74C3C;
    border-radius: 4px;
    color: #C0392B;
    font-size: 12px;
    line-height: 1.4;
    z-index: 100;
}

#popup_filtr .szukajka,
.top_szukajka .szukajka {
    position: relative;
}

#popup_filtr .close {
    width: 22px;
    height: 22px;
    cursor: pointer;
    margin: 0 0 0 25px;
}

#popup_filtr .close svg {
    width: 100%;
    height: auto;
    transition: all 0.3s;
}

#popup_filtr .close:hover svg {
    transform: rotate(180deg);
}

.label_select {
    position: relative;
    display: block;
    width: 100%;
    border: 1px solid #EBEBEB;
    border-radius: 30px;
    transition: all 0.3s;
}

.label_select:hover {
    border-color: #FF7300;
}

.label_select .ptaszek {
    position: absolute;
    top: 50%;
    right: 25px;
    transform: translate(0, -50%);
    pointer-events: none;
}

.label_select .ico_osoba,
.label_select .ico_dziecko,
.label_select .ico_kalendarz {
    position: absolute;
    top: 50%;
    left: 20px;
    transform: translate(0, -50%);
    pointer-events: none;
    width: 18px;
    height: auto;

}

.label_select select,
.label_select div,
.label_select input {
    -webkit-appearance: none;
    appearance: none;
    outline: 0;
    box-shadow: none;
    border: 0;
    background: none;
    width: 100%;
    height: 100%;
    font: 400 18px/22px 'Titillium Web', sans-serif;
    color: #2F3539;
    padding: 15px 25px 15px 30px;
    cursor: pointer;
}

.label_select select option {
    background-color: #fff;
}

#popup_filtr .suwak_cena {
    margin: 0 0 20px;
}

#popup_filtr .suwak_cena .irs--round,
#home_top .box_przesuwany .suwak_cena .irs--round {
    height: 36px;
}

#popup_filtr .suwak_cena .irs--round .irs-handle,
#home_top .box_przesuwany .suwak_cena .irs--round .irs-handle {
    top: 10px;
    width: 26px;
    height: 26px;
    border: none;
    border-radius: 100%;
}

#popup_filtr .suwak_cena .irs--round .irs-handle.from,
#home_top .box_przesuwany .suwak_cena .irs--round .irs-handle.from {
    background-color: #FF7300;
}

#popup_filtr .suwak_cena .irs--round .irs-handle.to,
#home_top .box_przesuwany .suwak_cena .irs--round .irs-handle.to {
    background-color: #00B2F4;
}

#popup_filtr .suwak_cena .irs--round .irs-bar,
#home_top .box_przesuwany .suwak_cena .irs--round .irs-bar {
    top: 21px;
    height: 5px;
    background: linear-gradient(90deg, #FF7300 0, #00B2F4 100%);
}

#popup_filtr .suwak_cena .irs--round .irs-line,
#home_top .box_przesuwany .suwak_cena .irs--round .irs-line {
    top: 23px;
    height: 1px;
    background-color: #ebebeb;
}

#popup_filtr .suwak_cena .irs--round .irs-from,
#popup_filtr .suwak_cena .irs--round .irs-to,
#popup_filtr .suwak_cena .irs--round .irs-single,
#home_top .box_przesuwany .suwak_cena .irs--round .irs-from,
#home_top .box_przesuwany .suwak_cena .irs--round .irs-to,
#home_top .box_przesuwany .suwak_cena .irs--round .irs-single {
    display: none;
}

#popup_filtr .extra-controls,
#home_top .box_przesuwany .extra-controls {
    display: flex;
    justify-content: space-between;
}

#popup_filtr .extra-controls label,
#home_top .box_przesuwany .extra-controls label {
    position: relative;
    border: 1px solid #ebebeb;
    border-radius: 25px;
    width: 140px;
    padding: 10px 25px 10px 20px;
    display: flex;
    align-items: center;
    transition: all 0.3s;
}

#popup_filtr .extra-controls label:hover,
#popup_filtr .extra-controls label:focus-within,
#home_top .box_przesuwany .extra-controls label:hover,
#home_top .box_przesuwany .extra-controls label:focus-within {
    border-color: #FF7300;
}

#popup_filtr .extra-controls label input,
#home_top .box_przesuwany .extra-controls label input {
    font: 600 18px/18px 'Titillium Web', sans-serif;
    border: none;
    text-align: right;
    width: 60px;
    margin: 0 0 0 auto;
    background-color: transparent;
}

#popup_filtr .extra-controls label .tekst,
#home_top .box_przesuwany .extra-controls label .tekst {
    color: #85959F;
    font: 400 13px/16px 'Titillium Web', sans-serif;
    margin: 0 5px 0 0;
}

#popup_filtr .extra-controls label .waluta,
#home_top .box_przesuwany .extra-controls label .waluta {
    font: 600 18px/18px 'Titillium Web', sans-serif;
    margin: 0 0 0 2px;
}

#popup_filtr .dodatkowe_ilosc,
#home_top .box_przesuwany .dodatkowe_ilosc {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0 0 15px;
}

#popup_filtr .dodatkowe_ilosc .tekst,
#popup_filtr .filtry_checbox .p_checkbox,
#popup_filtr .filtr_dostepnosc .tekst,
#home_top .box_przesuwany .dodatkowe_ilosc .tekst,
#home_top .box_przesuwany .filtry_checbox .p_checkbox {
    font: 400 17px/22px 'Titillium Web', sans-serif;
}

#popup_filtr .checkmark {
    top: -2px;
}

#popup_filtr .dodatkowe_ilosc:last-of-type,
#home_top .box_przesuwany .dodatkowe_ilosc:last-of-type {
    margin-bottom: 0;
}

#popup_filtr .dodatkowe_ilosc .wybor_ilosci,
#home_top .box_przesuwany .dodatkowe_ilosc .wybor_ilosci {
    display: flex;
    align-items: center;
}

#popup_filtr .dodatkowe_ilosc .btn_ilosc,
#home_top .box_przesuwany .dodatkowe_ilosc .btn_ilosc {
    position: relative;
    width: 36px;
    height: 36px;
    border-radius: 100%;
    border: 1px solid #85959F;
    box-shadow: 0 7px 8px rgba(36, 56, 69, 0.20);
    transition: all 0.3s;
}

#popup_filtr .dodatkowe_ilosc .btn_ilosc:hover {
    border-color: #FF7300;
}

#popup_filtr .dodatkowe_ilosc .minus,
#popup_filtr .dodatkowe_ilosc .dodaj,
#home_top .box_przesuwany .dodatkowe_ilosc .minus,
#home_top .box_przesuwany .dodatkowe_ilosc .dodaj {
    background-color: #2F3539;
    border-radius: 2px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

#popup_filtr .dodatkowe_ilosc .minus,
#home_top .box_przesuwany .dodatkowe_ilosc .minus {
    width: 12px;
    height: 2px;
}

#popup_filtr .dodatkowe_ilosc .dodaj,
#home_top .box_przesuwany .dodatkowe_ilosc .dodaj {
    height: 12px;
    width: 2px;
}

#popup_filtr .dodatkowe_ilosc .ilosc,
#home_top .box_przesuwany .dodatkowe_ilosc .ilosc {
    width: 75px;
    padding: 0 10px;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #2f2f2f;
    font: 600 18px/18px 'Titillium Web', sans-serif;
}

#popup_filtr .bottom,
#popup_filtr .filtry_checbox,
#home_top .box_przesuwany .filtry_checbox {
    display: flex;
    justify-content: space-between;
}

#popup_filtr .filtry_checbox > div,
#home_top .box_przesuwany .filtry_checbox > div {
    width: 45%;
    display: flex;
    flex-direction: column;
}

#popup_filtr .filtry_checbox .tekst_1,
#popup_filtr .filtr_dodatkowe .tekst_1,
#home_top .box_przesuwany .filtry_checbox .tekst_1,
#home_top .box_przesuwany .filtr_dodatkowe .tekst_1 {
    margin: 0 0 25px;
}

.p_checkbox {
    position: relative;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    margin: 0 0 15px;
    transition: all 0.3s;
}

.box_podsumowanie .p_checkbox {
    margin-bottom: 0;
}

.p_checkbox:hover {
    color: #FF7300;
}

.p_checkbox input,
.box_form_rezerwacja .box_zgody .p_checkbox input,
.box_form_rezerwacja .zbior_pol .p_checkbox input {
    width: 22px;
    margin: 0 15px 0 0;
    opacity: 0;
    flex: 0 0 auto;
}

.box_form_rezerwacja .zbior_pol .p_checkbox input {
    margin: 0 25px 0 0;
}

#popup_filtr .filtry_checbox .p_checkbox:last-of-type,
#home_top .box_przesuwany .filtry_checbox .p_checkbox:last-of-type,
.top_szukajka .filtr_dostepnosc .p_checkbox:last-of-type,
#popup_filtr .filtr_dostepnosc .p_checkbox:last-of-type {
    margin-bottom: 0;
}

.checkmark {
    position: absolute;
    left: 0;
    top: 0;
    transform: translate(0, 2px);
    width: 22px;
    height: 22px;
    border-radius: 4px;
    background-color: transparent;
    border: 1px solid #ededed;
    transition: all .3s;
}

.checkmark.checkmark_radio {
    border-radius: 100%;
    top: 50%;
    transform: translate(0, -50%);
    left: 25px
}

.p_checkbox:hover .checkmark {
    border-color: #FF7300;
}

.p_checkbox input:focus + .checkmark {
    border-color: #00b2f4;
    box-shadow: 0 0 0 2px rgba(0, 178, 244, 0.3);
}

.p_checkbox a {
    font-weight: 600;
}

.checkmark::after {
    content: "";
    position: absolute;
    display: none;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 8px;
    height: 8px;
    border-radius: 3px;
    background-color: #FF7300;
}

input:checked ~ .checkmark:after {
    display: block;
}

#popup_filtr .bottom .strona_prawa,
#popup_filtr .bottom .strona_lewa,
.top_szukajka .strona_lewa {
    display: flex;
    flex-direction: column;
    align-items: center;
}

#popup_filtr .bottom .wyczysc_filtr,
#popup_filtr .bottom .liczba_ofert,
.top_szukajka .wyczysc_filtr,
.top_szukajka .liczba_ofert {
    display: flex;
    align-items: center;
}

#popup_filtr .bottom .wyczysc_filtr,
#home_top .top_szukajka .wyczysc_filtr {
    margin: 2px 0 28px;
    cursor: pointer;
}

#popup_filtr .wyczysc_filtr .kolko,
#home_top .top_szukajka .wyczysc_filtr .kolko {
    width: 46px;
    height: 46px;
    border: 1px solid #ebebeb;
    border-radius: 100%;
    margin: 0 15px 0 0;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    transition: all 0.3s;
}

#popup_filtr .wyczysc_filtr:hover .kolko {
    border-color: #FF7300;
}

#popup_filtr .wyczysc_filtr span,
#popup_filtr .liczba_ofert .wynik,
#home_top .top_szukajka .wyczysc_filtr span,
#home_top .top_szukajka .liczba_ofert .wynik {
    font: 600 18px/22px 'Titillium Web', sans-serif;
    transition: all 0.3s;
}

#popup_filtr .wyczysc_filtr:hover span {
    color: #FF7300;
}

#popup_filtr .liczba_ofert span,
#home_top .top_szukajka .liczba_ofert span {
    font: 400 15px/18px 'Titillium Web', sans-serif;
    margin: 0 5px 0 0;
}

#popup_filtr .bottom .btn_szukaj {
    margin: 0 0 25px;
}

#popup_filtr .bottom .tekst_zaufalo {
    font: 600 15px/18px 'Titillium Web', sans-serif;
}

#popup_filtr .bottom .tekst_zaufalo span {
    font-weight: 400;
}

/* --- podstrona kontakt --- */

.zb_ikon_social {
    display: flex;
    align-items: center;
}

.cms .zb_ikon_social p {
    margin: 0 10px 0 0;
}

.zb_ikon_social .zb_ikon {
    display: flex;
    align-items: center;
}

.zb_ikon_social a {
    width: 26px;
    height: 26px;
    flex: 0 0 auto;
    margin: 0 0 0 20px;
}

.zb_ikon_social a svg {
    width: 100%;
    height: auto;
}

.zb_ikon_social a path {
    transition: all 0.3s;
}

.zb_ikon_social a:hover path {
    fill: #FF7300;
}

.box_oddzial {
    position: relative;
    width: 100%;
    background-color: #fff;
    border: 1px solid #EBEBEB;
    border-radius: 25px;
    overflow: hidden;
    margin: 0 0 40px;
}

.box_oddzial .wiersz {
    display: flex;
    transition: all 0.3s;
}

.box_oddzial .kol_1 {
    width: 40%;
}

.box_oddzial .kol_2 {
    width: 60%;
}

.box_oddzial .oddzial_dane_1 {
    padding: 40px 40px 40px 50px;
    align-items: center;
}

.box_oddzial .oddzial_miejsce {
    font: 700 28px/32px 'Titillium Web', sans-serif;
}

.box_oddzial .oddzial_miejsce span {
    font: 400 20px/32px 'Titillium Web', sans-serif;
}

.box_oddzial .oddzial_kontakt {
    display: flex;
    align-items: center;
}

.box_oddzial .oddzial_dane_1 .separator {
    margin: 0 30px;
    flex: 0 0 auto;
    width: 1px;
    height: 36px;
    background: #D9D9D9;;
}

.box_oddzial .oddzial_dane_1 .kolko {
    border-radius: 100%;
    width: 50px;
    height: 50px;
    border: 1px solid #EBEBEB;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    margin: 0 0 0 auto;
    cursor: pointer;
    transition: all 0.3s;
}

.box_oddzial .oddzial_dane_1 .kolko:hover {
    border-color: #ff7300;
}

.box_oddzial .oddzial_dane_1 .kolko svg {
    transform: rotate(-90deg);
    width: 12px;
    height: auto;
    margin: 3px 0 0;
    transition: all 0.3s;
}

.box_oddzial.active .oddzial_dane_1 .kolko svg {
    transform: rotate(-90deg) scaleX(-1);
    margin: 2px 0 0;
}

.box_oddzial .oddzial_dane_1 .kolko path {
    transition: all 0.3s;
}

.box_oddzial.active .oddzial_dane_1 .kolko path {
    stroke: #FF7300;
}

.box_oddzial .oddzial_dane_2 {
    border-top: 1px solid transparent;
    padding: 0 40px 0 50px;
    align-items: flex-start;
    height: 0;
}

.box_oddzial.active .oddzial_dane_2 {
    border-top: 1px solid #EBEBEB;
    padding: 40px 40px 40px 50px;
    height: auto;
}

.box_oddzial .oddzial_adres {
    display: flex;
    align-items: flex-start;
    padding: 0 40px 0 0;
}

.box_oddzial .oddzial_adres p:last-of-type,
.box_oddzial .oddzial_inne p:last-of-type {
    margin-bottom: 0;
}

.box_oddzial .oddzial_adres .ico_adres_pom {
    width: 20px;
    height: auto;
    flex: 0 0 auto;
    margin: 0 30px 0 0;
}

.box_oddzial .oddzial_adres .nazwa {
    font: 700 19px/26px 'Titillium Web', sans-serif;
    margin: 0 0 10px;
}

.box_oddzial .oddzial_inne {
    display: flex;
    align-items: center;
}

.box_oddzial .oddzial_inne .ico_zegar {
    width: 20px;
    height: auto;
    flex: 0 0 auto;
    margin: 0 25px 0 0;
}

.box_oddzial .oddzial_dane_3 {
    height: 0;

}

.box_oddzial.active .oddzial_dane_3 {
    height: 300px;
}

.box_oddzial.active .oddzial_dane_3 .kol_1 {
    width: calc(((100% - 90px) * 0.4) + 50px);
}

.box_oddzial.active .oddzial_dane_3 .kol_2 {
    width: calc(((100% - 90px) * 0.6) + 40px);
}

.box_oddzial .oddzial_dane_3 img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.box_oddzial .oddzial_mapa {
    height: 100%;
}

.box_oddzial .oddzial_dane_3 iframe {
    width: 100%;
    height: 100%;
}

/* --- formularz kontaktowy -- */

.page_prawa .formularz_kontakt {
    border-radius: 25px;
    border: 1px solid #EBEBEB;
    background: #FFF;
    box-shadow: 26px 30px 37px 0 rgba(0, 0, 0, 0.15);
    padding: 40px 50px 50px;
    margin: 0 0 60px;
}

.page_prawa .formularz_kontakt .naglowek {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin: 0 0 30px;
}

.formularz_kontakt .naglowek div {
    font: 400 26px/32px 'Titillium Web', sans-serif;
}

.formularz_kontakt .naglowek div strong {
    font-weight: 700;
}

.formularz_kontakt .naglowek .ico_pytajnik {
    width: 48px;
    height: auto;
    flex: 0 0 auto;
    margin: 5px 0 0 60px;
}

.formularz_kontakt input,
.formularz_kontakt textarea {
    width: 100%;
    border: 1px solid #EBEBEB;
    border-radius: 25px;
    padding: 10px 30px;
    font: 400 16px/22px 'Titillium Web', sans-serif;
    color: #85959F;
    margin: 0 0 20px;
    transition: all 0.3s;
}

.formularz_kontakt input:hover,
.formularz_kontakt textarea:hover,
.formularz_kontakt input:focus,
.formularz_kontakt textarea:focus,
.formularz_kontakt .phone-country-select:hover {
    border-color: #ff7300;
}

.formularz_kontakt textarea {
    height: 120px;
    margin: 0 0 35px;
}

.formularz_kontakt .f_button {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.formularz_kontakt .f_button .wymagane {
    color: #85959F;
    font: 400 16px/20px 'Titillium Web', sans-serif;
    margin: 0 20px 0 0;
}

.formularz_kontakt .f_button .btn_wyslij {
    flex: 0 0 auto;
}

.formularz_kontakt .p_checkbox input[type="radio"],
.formularz_kontakt .p_checkbox input[type="checkbox"] {
    width: auto;
    margin: 0 15px 0 0;
    border: none;
    padding: 0;
    border-radius: 0;
}

.formularz_kontakt .p_checkbox_zgoda input[type="checkbox"] {
    margin: 0 25px 0 0;
}


.formularz_kontakt .f_godziny {
    margin: 0 0 20px;
}

.formularz_kontakt .f_godziny .f_info {
    display: block;
    font: 400 14px/20px 'Titillium Web', sans-serif;
    color: #85959F;
    margin: 0 0 10px;
}

.formularz_kontakt .f_godziny .f_godziny_opcje {
    display: flex;
    gap: 20px;
}

.formularz_kontakt .f_godziny .p_checkbox {
    margin: 0;
    font: 400 14px/20px 'Titillium Web', sans-serif;
    color: #85959F;
}

.formularz_kontakt .p_checkbox_zgoda {
    margin: 0 0 20px;
    align-items: flex-start;
}

.formularz_kontakt .p_checkbox_zgoda .zgoda_tekst {
    font: 400 11px/15px 'Titillium Web', sans-serif;
    color: #85959F;
}

.formularz_kontakt .p_checkbox_zgoda .zgoda_tekst span {
    color: #FF7300;
}

.formularz_kontakt .p_checkbox_zgoda .zgoda_tekst a {
    color: #85959F;
    font-weight: 400;
    text-decoration: underline;
}

.formularz_kontakt .f_button {
    display: block;
    text-align: center;
    margin: 0 0 15px;
}

.formularz_kontakt .f_godziny .checkmark_radio {
    left: 0;
}

.formularz_kontakt .f_rodo {
    margin: 0 0 10px;
}

.formularz_kontakt .f_rodo .zgoda_tekst2 {
    font: 400 11px/15px 'Titillium Web', sans-serif;
    color: #a0a0a0;
}

.formularz_kontakt .f_rodo .zgoda_tekst2 a {
    color: #a0a0a0;
    text-decoration: underline;
}

.formularz_kontakt form > .wymagane {
    color: #a0a0a0;
    font: 400 12px/16px 'Titillium Web', sans-serif;
    margin: 0;
}

/* reCAPTCHA — ukryty badge Google (wymagane jest wyświetlenie notki tekstowej poniżej) */
.grecaptcha-badge {
    visibility: hidden;
}

.formularz_kontakt .recaptcha_info {
    font: 400 11px/15px 'Titillium Web', sans-serif;
    color: #a0a0a0;
    margin: 8px 0 12px;
}

.formularz_kontakt .recaptcha_info a {
    color: #a0a0a0;
    text-decoration: underline;
}

.formularz_kontakt .recaptcha_info a:hover {
    color: #FF7300;
}

.formularz_kontakt form > .wymagane span {
    color: #FF7300;
}

/* --- formularz wyszukiwarki --- */

.formularz_wyszukiwarka {
    border-radius: 25px;
    border: 1px solid #EBEBEB;
    background: #FFF;
    box-shadow: 26px 30px 37px 0 rgba(0, 0, 0, 0.15);
    padding: 40px 50px 50px;
    margin: 0 60px 0 10px;
}

.formularz_wyszukiwarka .search_row {
    display: flex;
    align-items: stretch;
    gap: 15px;
    width: 100%;
}

.formularz_wyszukiwarka input[type="text"] {
    flex: 1 1 auto;
    min-width: 0;
    width: 100%;
    border: 1px solid #EBEBEB;
    border-radius: 30px;
    padding: 14px 30px;
    font: 400 17px/24px 'Titillium Web', sans-serif;
    color: #2a2a2a;
    background: #FFF;
    margin: 0;
    transition: border-color 0.3s, box-shadow 0.3s;
    outline: none;
}

.formularz_wyszukiwarka input[type="text"]::placeholder {
    color: #85959F;
}

.formularz_wyszukiwarka input[type="text"]:hover,
.formularz_wyszukiwarka input[type="text"]:focus {
    border-color: #FF7300;
    box-shadow: 0 0 0 3px rgba(255, 115, 0, 0.12);
}

.formularz_wyszukiwarka .btn_wyslij {
    flex: 0 0 auto;
    align-self: stretch;
    padding: 10px 36px;
    margin: 0;
}

.formularz_wyszukiwarka #znalezione-rekordy {
    margin: 22px 0 0;
    font: 400 16px/22px 'Titillium Web', sans-serif;
    color: #85959F;
}

.formularz_wyszukiwarka #znalezione-rekordy .fraza {
    color: #FF7300;
    font-weight: 700;
}

/* --- lista wynikow wyszukiwania --- */

.cms .search_results {
    margin: 0 0 30px;
    padding: 0;
    list-style: none;
}

.cms .search_results > li {
    list-style: none;
    margin: 0 0 8px;
    padding: 0;
}

.cms .search_results > li:before {
    content: none;
    display: none;
}

.search_obiekt_item {
    list-style: none;
    margin: 0 0 12px;
    padding: 0;
}

.search_obiekt_link {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 8px 12px;
    border-radius: 12px;
    text-decoration: none;
    transition: background-color 0.2s;
}

.search_obiekt_link:hover {
    background-color: #F7F7F7;
}

.search_obiekt_foto {
    flex: 0 0 auto;
    width: 80px;
    height: 60px;
    object-fit: cover;
    border-radius: 8px;
    margin: 0;
    display: block;
}

.search_obiekt_nazwa {
    flex: 1 1 auto;
    font: 600 16px/22px 'Titillium Web', sans-serif;
    color: #2a2a2a;
}

.search_obiekt_miejsce {
    font-weight: 400;
    color: #85959F;
    margin-left: 4px;
}

/* --- podstrona oferta --- */

#galeria_oferta {
    position: relative;
    margin: 0 0 50px;
    padding: 0 0 20px;
}

#galeria_oferta .zb_zdjec {
    width: 100%;
    /*height: auto;*/
    aspect-ratio: 1050/625;
    overflow: hidden;
    border-radius: 30px;
}

#galeria_oferta .zb_zdjec a {
    display: block;
    width: 100%;
    aspect-ratio: 1050/625;
    /*height: 625px;*/
    flex: 0 0 auto;
    min-width: 0;
    max-width: 100%;
    scroll-snap-align: start;
    overflow: hidden;
}

#galeria_oferta .zb_zdjec img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

@supports (-webkit-touch-callout: none) {
    #galeria_oferta .zb_zdjec a img {
        height: auto !important;
        max-width: 100%;
    }
}

.galeria-scrollbar {
    overflow: hidden;
    position: absolute;
    height: 2px;
    background: #d9d9d9;
    left: 50%;
    bottom: 0;
    transform: translate(-50%, 0);
    border-radius: 2px;
    width: 50%;
    z-index: 2;
}

.galeria-scrollbar-inner {
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    background: #ff7300;
    transition: left .3s ease;
    border-radius: 2px;
}

.oferta_dane .line {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.oferta_dane .kolumna {
    width: calc((100% - 60px) / 2);
    margin: 0 0 20px;
}

.oferta_dane_podstawowe > h3 {
    margin: 0 0 60px;
}

.oferta_dane_podstawowe .box_info {
    position: relative;
    border-radius: 25px;
    border: 1px solid #EBEBEB;
    width: 100%;
}

.oferta_dane_podstawowe .box_info .ico_adres_pom {
    position: absolute;
    top: 0;
    left: 40px;
    transform: translate(0, -10px);
    width: 17px;
    height: auto;
}

.oferta_dane_podstawowe .box_top,
.oferta_dane_podstawowe .box_bottom {
    padding: 45px 40px;
}

.oferta_dane_podstawowe .box_top {
    border-bottom: 1px solid #EBEBEB;
}

.oferta_dane_podstawowe .box_info .wiersz {
    display: flex;
    margin: 0 0 15px;
}

.oferta_dane_podstawowe .box_info .wiersz_id_oferty {
    color: #85959F;
}

.oferta_dane_podstawowe .box_top .wiersz:last-of-type,
.oferta_dane_podstawowe .box_bottom .wiersz:last-of-type {
    margin-bottom: 0;
}

.oferta_dane_podstawowe .box_info .dane_1 {
    width: 35%;
    padding: 0 10px 0 0;
    flex: 0 0 auto;
    font: 400 17px/30px 'Titillium Web', sans-serif;
}

.oferta_dane_podstawowe .box_info .dane_2 {
    font: 600 17px/30px 'Titillium Web', sans-serif;
}

.oferta_dane_podstawowe .wiersz_region .dane_2,
.oferta_dane_podstawowe .wiersz_miejscowosc .dane_2 {
    font: 600 24px/30px 'Titillium Web', sans-serif;
}

.oferta_dane_podstawowe .wiersz_dzielnica .dane_2 {
    font-weight: 400;
}

.oferta_dane .oferta_ocena_klient,
.page_prawa .oferta_ocena_klient {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 0 0 60px;
}

.oferta_ocena_klient .tekst_ocena {
    margin: 0 20px 0 0;
}

.oferta_ocena_klient .tekst_ocena,
.oferta_dane .oferta_dane_info,
.oferta_dane .oferta_dane_udogodnienia {
    font: 400 17px/20px 'Titillium Web', sans-serif;
}

.oferta_ocena_klient .zb_gwiazdek .ico_gwiazdka {
    margin: 0 4px 0 0;
}

.oferta_dane .kolumna .line {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
}

.oferta_dane .oferta_dane_info,
.oferta_dane .oferta_dane_udogodnienia {
    width: 47%;
}

.oferta_dane .line .separator {
    flex: 0 0 auto;
    width: 1px;
    height: auto;
    background-color: #EBEBEB;
}

.oferta_dane .line_2 {
    display: flex;
    align-items: center;
    margin: 0 0 30px;
}

.oferta_dane .oferta_dane_udogodnienia .line_2 {
    justify-content: flex-end;
}


.oferta_dane .line_2 svg {
    width: 20px;
    height: auto;
    margin: 0 20px 0 0;
    flex: 0 0 auto;
}

.oferta_dane .line_2 path {
    fill: #85959F;
}

.oferta_dane .line_2 .ico_ptaszek_niebieski {
    width: 12px;
    margin: 0 0 0 20px;
}

.oferta_dane .line_2 .ico_ptaszek_niebieski path,
.oferta_dane .line_2 .ico_plaza_szary path,
.oferta_dane .line_2 .ico_luksusowe_szary path,
.oferta_dane .line_2 .ico_widok_morze_szary path {
    fill: none;
}

.oferta_dane .oferta_dane_info .wlasnosc {
    width: 100px;
    padding: 0 10px 0 0;
}

.oferta_dane .oferta_dane_info .wartosc {
    font: 600 18px/20px 'Titillium Web', sans-serif;
    color: #2F3539;
}

.oferta_dane .oferta_dane_udogodnienia .wlasnosc {
    width: 135px;
}

.oferta_dane_dodatkowe ul.info_dodatkowe {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.oferta_dane_dodatkowe ul.info_dodatkowe li {
    width: calc((100% - 50px) / 2);
}

.oferta_dane_mapa {
    margin: 0 0 70px;
}

.oferta_dane_mapa iframe {
    width: 100%;
    aspect-ratio: 1050/450;
    border-radius: 25px
}

.oferta_box_pytanie {
    margin: 0 0 60px;
    border-radius: 25px;
    background-color: #F5F5F5;
    display: flex;
    align-items: center;
}

.oferta_box_pytanie .kolumna {
    width: 50%;
    padding: 25px 40px;
    margin: 0;
    font: 400 23px/32px 'Titillium Web', sans-serif;
}

.oferta_box_pytanie .kolumna:first-of-type {
    padding-right: 30px;
}

.oferta_box_pytanie .kolumna span {
    font-weight: 700;
}

.oferta_box_pytanie .kolumna:last-of-type {
    border-left: 1px solid #EBEBEB;
    padding-left: 30px;
}

.oferta_box_pytanie .kolumna a {
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    color: #2F3539;
}

.oferta_box_pytanie .kolumna .ico_mail {
    width: 34px;
    height: auto;
    flex: 0 0 auto;
    margin: 0 35px 0 0;
}

.oferta_cennik_sezonowy {
    margin: 0 0 50px;
}

.oferta_cennik_sezonowy .box_cennik {
    border-radius: 25px;
    border: 1px solid #EBEBEB;
    padding: 30px 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    background-color: #fff;
}

.oferta_cennik_sezonowy .box_miesiac {
    width: 50%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 0 0 15px;
    padding: 0 80px 0 40px;
}

.oferta_cennik_sezonowy .box_miesiac:nth-last-of-type(-n+2) {
    margin-bottom: 0;
}

.oferta_cennik_sezonowy .box_miesiac .miesiac {
    font: 600 17px/24px 'Titillium Web', sans-serif;
}

.oferta_cennik_sezonowy .box_miesiac .miesiac span {
    font-weight: 400;
}

.oferta_cennik_sezonowy .box_miesiac .cena {
    color: #85959F;
    font: 400 17px/24px 'Titillium Web', sans-serif;
}

.oferta_cennik_sezonowy .box_miesiac .cena span {
    font: 600 24px/24px 'Titillium Web', sans-serif;
}

.oferta_dane_rezerwacja h3 span {
    color: #00b2f4;
}

.oferta_dane_rezerwacja .box_rezerwuj,
.page_prawa .box_rezerwuj {
    margin: 0 0 80px;
    width: 100%;
    border-radius: 25px;
    border: 1px solid #EBEBEB;
    background-color: #fff;
    box-shadow: 26px 30px 37px 0 rgba(0, 0, 0, 0.15);
    display: flex;
    position: relative;
}

.oferta_dane_rezerwacja .box_rezerwuj .dodaj_ulubione,
.page_prawa .box_rezerwuj .dodaj_ulubione {
    position: absolute;
    top: 20px;
    right: 20px;
    cursor: pointer;
}

.oferta_dane_rezerwacja .box_rezerwuj .dodaj_ulubione .ico_serce,
.page_prawa .box_rezerwuj .dodaj_ulubione .ico_serce {
    width: 20px;
    height: auto;
}

.oferta_dane_rezerwacja .box_rezerwuj .dodaj_ulubione path,
.page_prawa .box_rezerwuj .dodaj_ulubione path {
    stroke: #999;
    transition: all 0.3s;
}

.oferta_dane_rezerwacja .box_rezerwuj .dodaj_ulubione:hover path,
.page_prawa .box_rezerwuj .dodaj_ulubione:hover path {
    stroke: #ff7300;
}

.oferta_dane_rezerwacja .box_rezerwuj .dodaj_ulubione.active path,
.page_prawa .box_rezerwuj .dodaj_ulubione.active path {
    stroke: #ff7300;
}

.oferta_dane_rezerwacja .box_rezerwuj .dodaj_ulubione.active svg,
.page_prawa .box_rezerwuj .dodaj_ulubione.active svg {
    fill: #ff7300;
}

.oferta_dane_rezerwacja .box_rezerwuj .kolumna {
    width: 50%;
    padding: 25px 35px 40px;
    margin: 0;
}

.oferta_dane_rezerwacja .box_rezerwuj .kolumna:last-of-type {
    border-left: 1px solid #EBEBEB;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}

.oferta_dane_rezerwacja .cena_doba {
    display: flex;
    align-items: flex-end;
    justify-content: flex-start;
    gap: 8px;
    margin: 0 0 25px;
    color: #85959F;
    font: 400 16px/16px 'Titillium Web', sans-serif;
}

.page_prawa .box_rezerwuj .cena_doba {
    display: flex;
    align-items: flex-end;
    justify-content: flex-start;
    gap: 8px;
    margin: 0 0 25px;
    color: #85959F;
    font: 400 16px/16px 'Titillium Web', sans-serif;
}

.page_prawa .box_rezerwuj .cena_doba .wartosc {
    font-weight: 600;
}

.oferta_dane_rezerwacja .cena_doba .kolor_1 {
    font: 600 24px/20px 'Titillium Web', sans-serif;
}

/* Style dla formularzy rezerwacji - daty i goście */

.oferta_dane_rezerwacja .cena_lacznie,
.page_prawa .box_rezerwuj .cena_lacznie {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    margin: 0 0 40px;
    color: #2F3539;
    font: 600 22px/26px 'Titillium Web', sans-serif;
}

.page_prawa .box_rezerwuj .cena_lacznie {
    margin: 0;
}

.oferta_dane_rezerwacja .cena_lacznie .kolor_1,
.page_prawa .box_rezerwuj .cena_lacznie .kolor_1 {
    font: 700 46px/46px 'Titillium Web', sans-serif;
    margin: 0 0 0 10px;
    letter-spacing: 3px;
}

.page_prawa .box_rezerwuj .cena_lacznie .kolor_1 {
    margin: 0 15px;
}

.oferta_dane_rezerwacja .rezerwacja_ile_osob,
.oferta_dane_rezerwacja .rezerwacja_data,
.page_prawa .box_rezerwuj .rezerwacja_ile_osob,
.page_prawa .box_rezerwuj .rezerwacja_data {
    display: block;
    position: relative;
}

.oferta_dane_rezerwacja .rezerwacja_data,
.page_prawa .box_rezerwuj .rezerwacja_data {
    margin: 0 0 15px;
}

.oferta_dane_rezerwacja .rezerwacja_ile_osob {
    margin: 0 0 10px;
}

.oferta_dane_rezerwacja .label_select,
.page_prawa .box_rezerwuj .label_select {
    width: 100%;
    height: 48px;
}


.oferta_dane_rezerwacja .label_select select,
.oferta_dane_rezerwacja .label_select div:not(.tekst),
.oferta_dane_rezerwacja .label_select input,
.page_prawa .box_rezerwuj .label_select select,
.page_prawa .box_rezerwuj .label_select div:not(.tekst),
.page_prawa .box_rezerwuj .label_select input {
    font: 400 16px/18px 'Titillium Web', sans-serif;
    padding: 14px 35px 14px 50px;
    width: 100%;
    box-sizing: border-box;
}


.oferta_dane_rezerwacja .label_select ::placeholder,
.page_prawa .box_rezerwuj .label_select ::placeholder {
    color: #2F3539;
    opacity: 1; /* Firefox */
}

.oferta_dane_rezerwacja .label_select :-ms-input-placeholder,
.page_prawa .box_rezerwuj .label_select :-ms-input-placeholder { /* Internet Explorer 10-11 */
    color: #2F3539;
}

.oferta_dane_rezerwacja .label_select ::-ms-input-placeholder,
.page_prawa .box_rezerwuj .label_select ::-ms-input-placeholder { /* Microsoft Edge */
    color: #2F3539;
}

.oferta_dane_rezerwacja .label_select .ptaszek,
.page_prawa .box_rezerwuj .label_select .ptaszek {
    width: 12px;
    height: auto;
    right: 20px;
}

.oferta_dane_rezerwacja .rezerwacja_data .arrow_poziom,
.page_prawa .box_rezerwuj .rezerwacja_data .arrow_poziom {
    width: 10px;
    height: auto;
    flex: 0 0 auto;
}

.box_rezerwuj .btn_wyslij {
    width: 100%;
    margin: 30px 0;
}

.page_prawa .box_rezerwuj .btn_wyslij {
    margin: 30px 0 40px;
    text-align: center;
}

.page_prawa .box_ocena {
    border-radius: 25px;
    background-color: #fff;
    border: 1px solid #EBEBEB;
    width: 100%;
    padding: 20px 30px;
    margin: 0 0 48px;
}

.page_prawa .box_ocena .tekst_ocena {
    font-weight: 600;
}

.page_prawa .box_rezerwuj {
    flex-direction: column;
    margin: 0 0 50px;
}

.page_prawa .box_rezerwuj .kolumna {
    padding: 40px 30px;
    width: 100%;
}

.page_prawa .box_rezerwuj .kolumna:first-of-type {
    border-bottom: 1px solid #EBEBEB;
    padding: 30px;
}

.page_prawa .box_uwaga,
.oferta_dane_rezerwacja .box_uwaga {
    position: relative;
    background-color: #F5F5F5;
    border-radius: 15px;
    padding: 20px 50px;
    font: 600 16px/22px 'Titillium Web', sans-serif;
    text-align: center;
    margin: 0 0 35px;
}

.page_prawa .box_uwaga strong,
.oferta_dane_rezerwacja .box_uwaga strong {
    font-weight: 700;
}

.page_prawa .box_uwaga .ico_wykrzyknik,
.oferta_dane_rezerwacja .box_uwaga .ico_wykrzyknik {
    position: absolute;
    left: 50%;
    top: 0;
    transform: translate(-50%, -50%);
}

/* Walidacja inline - podświetlenie pól na czerwono */
.box_rezerwuj .label_select.error {
    border-color: #E74C3C;
    box-shadow: 0 0 0 1px #E74C3C;
}

.box_rezerwuj .label_select.error input::placeholder {
    color: #E74C3C;
    opacity: 1;
}

.box_rezerwuj .label_select.error input:-ms-input-placeholder {
    color: #E74C3C;
}

.box_rezerwuj .label_select.error svg,
.box_rezerwuj .label_select.error svg path,
.box_rezerwuj .label_select.error svg circle,
.box_rezerwuj .label_select.error svg line,
.box_rezerwuj .label_select.error svg polyline,
.box_rezerwuj .label_select.error svg polygon {
    fill: #E74C3C !important;
    stroke: #E74C3C !important;
    color: #E74C3C;
}

.box_rezerwuj .box_anulowanie {
    font: 400 14px/20px 'Titillium Web', sans-serif;
    color: #85959F;
    text-align: center;
    padding: 10px 15px;
    margin: 30px 0 0;
    background-color: #f8f9fa;
    border-radius: 8px;
}

.box_rezerwuj .box_anulowanie strong {
    font-weight: 600;
    color: #2F3539;
}

.page_prawa .box_rezerwuj .tekst_zaufalo {
    justify-content: center;
}

.box_podsumowanie {
    border-radius: 25px;
    border: 1px solid #EBEBEB;
    background-color: #fff;
    padding: 50px 40px;
    margin: 73px 0 60px;
}

.box_podsumowanie .box {
    padding: 0 0 40px;
    margin: 0 0 40px;
    border-bottom: 1px solid #EBEBEB;
}

.box_podsumowanie .box:last-of-type {
    border-bottom: none;
    padding: 0;
    margin: 0;
}

.box_podsumowanie .box .naglowek_5 {
    margin: 0 0 35px;
}

.box_podsumowanie .box .wiersz {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin: 0 0 20px;
}

.box_podsumowanie .box .wiersz:last-of-type {
    margin-bottom: 0;
}

.box_podsumowanie .wiersz p {
    margin: 0;
    display: flex;
    align-items: center;
}

.box_podsumowanie .wiersz p .ico_ptaszek {
    width: 10px;
    height: auto;
    margin: 0 30px 0 0;
    flex: 0 0 auto;
}

.box_podsumowanie .wiersz .kolko {
    margin: 0 0 0 10px;
    width: 20px;
    height: 20px;
    display: inline-block;
    cursor: pointer;
}

.box_podsumowanie .wiersz .ico_toltip {
    width: 100%;
    height: 100%;
}

.box_podsumowanie .wiersz .tooltip-content {
    z-index: 9;
    width: 240px;
    background: #F5F5F5;
    padding: 10px;
    border-radius: 15px;
    margin: 0 0 8px -120px;
}

.box_podsumowanie .wiersz .kolko .tooltip-item {
    width: 100%;
    height: 100%;
    position: relative;
    top: auto;
    left: auto;
}

.box_podsumowanie .wiersz .kolko .tooltip-text {
    text-align: center;
    font: 400 13px/15px 'Titillium Web', sans-serif;
    color: #2F3539;
}

.box_podsumowanie .wiersz .tekst {
    color: #85959F;
    margin: 0 0 0 10px;
}

.box_podsumowanie .wiersz .kwota {
    font: 400 19px/22px 'Titillium Web', sans-serif;
    transition: all 0.3s;
    flex: 0 0 auto;
    margin: 0 0 0 25px;
    /*color: #ebebeb;*/
}

.box_podsumowanie .wiersz.wiersz_odznaczony .kwota {
    color: #EBEBEB;
}

.box_podsumowanie .wygaszony,
.wygaszony {
    color: #EBEBEB !important;
    transition: color 0.3s ease;
}

.box_koszt_calkowity {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.box_podsumowanie .box_koszt_calkowity .naglowek_5 {
    margin: 0;
}

.box_koszt_calkowity .kolumna_prawa {
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

.box_koszt_calkowity .separator {
    width: 1px;
    height: 50px;
    background-color: #EBEBEB;
    margin: 0 50px;
    flex: 0 0 auto;
}

.box_koszt_calkowity .kwota_laczna {
    font: 700 32px/32px 'Titillium Web', sans-serif;
}

.box_dodatkowe_uwagi {
    margin: 0 0 60px;
}

.box_dodatkowe_uwagi .naglowek_5 {
    margin: 0 0 35px;
}

.box_form_rezerwacja {
    border-radius: 25px;
    border: 1px solid #EBEBEB;
    background: #FFF;
    box-shadow: 26px 30px 37px 0 rgba(0, 0, 0, 0.15);
    position: relative;
    z-index: 3;
    margin: 0 0 -672px;
}

.box_form_rezerwacja .top {
    padding: 40px 40px 60px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.box_form_rezerwacja .top h2 {
    margin: 0;
}

.box_form_rezerwacja .top .logo_2 {
    width: 125px;
    height: auto;
    flex: 0 0 auto;
    margin: 0 0 0 50px;
}

.box_form_rezerwacja .box {
    position: relative;
    margin: 0 0 40px;
    padding: 0 40px 50px;
}

.box_form_rezerwacja .box.box_dane_kontaktowe {
    margin: 0 0 20px;
}

.box_form_rezerwacja .box:last-of-type {
    padding: 40px 40px 60px;
    margin: 0;
}

.box_form_rezerwacja .box .separator {
    height: 1px;
    width: calc(100% - 80px);
    background-color: #EBEBEB;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
}

.box_form_rezerwacja .box h5,
.box_form_rezerwacja .box h3 {
    margin: 0 0 30px;
}

.box_form_rezerwacja .zbior_pol {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
}

.box_form_rezerwacja .box_metoda_platnosci .zbior_pol {
    margin: 0 0 30px;
}

.box_form_rezerwacja .box_metoda_platnosci .zbior_pol label {
    margin: 0;
}

.box_form_rezerwacja .caly {
    width: 100%;
}

.box_form_rezerwacja .polowa {
    width: 47.5%;
    margin: 0 0 20px;
}

.box_form_rezerwacja .zbior_pol .polowa:nth-last-of-type(-n+2) {
    margin-bottom: 0;
}

.box_form_rezerwacja .zbior_pol > div {
    display: flex;
    flex-direction: column;
}

label.form_text {
    font: 400 15px/18px 'Titillium Web', sans-serif;
    margin: 0 0 12px;
}

.box_form_rezerwacja input,
.box_form_rezerwacja textarea {
    border: 1px solid #85959F;
    border-radius: 10px;
    padding: 12px 20px;
    font: 400 16px/20px 'Titillium Web', sans-serif;
    color: #85959F;
    width: 100%;
}

.box_form_rezerwacja input:hover,
.box_form_rezerwacja input:focus,
.box_form_rezerwacja .label_select select:hover,
.box_form_rezerwacja .label_select select:focus,
.box_form_rezerwacja .label_select:hover,
.box_form_rezerwacja .label_select:focus-within,
.box_form_rezerwacja textarea:hover,
.box_form_rezerwacja textarea:focus,
.box_form_rezerwacja .phone-country-select:hover,
.box_form_rezerwacja .phone-country-select:focus-within {
    border-color: #00b2f4;
}

/*.box_form_rezerwacja input:focus,*/
/*.box_form_rezerwacja .label_select select:focus,*/
/*.box_form_rezerwacja textarea:focus {*/
/*    outline: 2px solid #00b2f4;*/
/*    outline-offset: -2px;*/
/*}*/

.box_form_rezerwacja .label_select {
    border-color: #85959F;
    border-radius: 10px;
}

.box_dane_osobowe .label_select select,
.box_dane_adresowe .label_select select {
    font: 400 16px/20px 'Titillium Web', sans-serif;
    color: #85959F;
    padding: 14px 35px 14px 20px;
}


.box_dane_osobowe .label_select .ptaszek,
.box_dane_adresowe .label_select .ptaszek {
    right: 20px;
}

.box_form_rezerwacja .box textarea {
    height: 100px;
    width: 100%;
}

.box_form_rezerwacja .box_metoda_platnosci {
    background-color: #F5F5F5;
    border-radius: 0 0 25px 25px;
    padding: 40px 40px 60px;
}

.box_form_rezerwacja .box_metoda_platnosci p.tekst_maly {
    font: 400 13px/20px 'Titillium Web', sans-serif;
    margin: 0 0 40px;
}

.box_form_rezerwacja .box_metoda_platnosci .wiersz {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin: 0 0 50px;
}

.box_form_rezerwacja .box_metoda_platnosci .wiersz:last-of-type {
    margin-bottom: 0;
}

.box_form_rezerwacja .box_metoda_platnosci .polowa {
    margin: 0;
    position: relative;
}

.box_form_rezerwacja .box_metoda_platnosci .polowa.box_zgody {
    margin-top: 40px;
}

.box_form_rezerwacja .box_metoda_platnosci .polowa.box_zgody .checkmark {
    background-color: #fff;
}

.box_form_rezerwacja .box_metoda_platnosci h3 {
    margin: 0 0 40px;
}

.box_metoda_platnosci .box_zgody {
    border-bottom: 1px solid #EBEBEB;
}

.box_metoda_platnosci .box_platnosc_warunki {
    border-radius: 15px;
    background-color: #fff;
    padding: 25px 40px;
}

.box_platnosc_warunki .line {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.box_platnosc_warunki .line:first-of-type {
    margin: 0 0 15px;
}

.box_platnosc_warunki .separator {
    width: 100%;
    height: 1px;
    background-color: #EBEBEB;
    margin: 20px 0;
}

.box_platnosc_warunki .line p {
    margin: 0;
}

.box_platnosc_warunki .kwota {
    width: 50%;
    flex: 0 0 auto;
    margin: 0 0 0 5px;
    font: 700 20px/22px 'Titillium Web', sans-serif;
    text-align: right;
}

.box_metoda_platnosci .line_bottom .kwota {
    font: 700 32px/32px 'Titillium Web', sans-serif;
}

.box_metoda_platnosci .line:nth-of-type(2) .kolor_2 {
    font-weight: 600;
}

.box_metoda_platnosci .line_bottom p {
    font-weight: 700;
}

.box_metoda_platnosci .polowa_zaufalo {
    display: flex;
    align-items: center;
    justify-content: flex-start;
}

.box_metoda_platnosci .tekst_zaufalo {
    width: 220px;
    display: flex;
    flex-wrap: wrap;
    font: 400 15px/25px 'Titillium Web', sans-serif;
    color: #85959F;
}

.box_metoda_platnosci .tekst_zaufalo span {
    font-weight: 600;
    color: #2F3539;
}

.box_metoda_platnosci .ico_gwiazdka {
    margin: 0 2px 0 0;
    width: 19px;
    height: auto;
}

.box_metoda_platnosci .sygnet {
    width: 50px;
    height: auto;
    margin: 0 30px 0 0;
    flex: 0 0 auto;
}

.box_metoda_platnosci .btn_wyslij {
    width: 100%;
}

.box_metoda_platnosci .polowa .arrow_poziom {
    position: absolute;
    top: 40%;
    left: -50px;
    transform: translate(0, -50%);
    width: 14px;
    height: auto;
    animation: none;
}

.input_radio .p_checkbox {
    font: 600 17px/24px 'Titillium Web', sans-serif;
    border: 1px solid #85959F;
    background-color: #fff;
    border-radius: 40px;
    padding: 15px 40px 15px 25px;
    transition: all 0.3s;
}

.input_radio .p_checkbox:hover {
    border-color: #ff7300;
}

.input_radio .p_checkbox svg {
    width: auto;
    height: 38px;
    margin: 0 0 0 auto;
}

.rezerwuj_oferte .foto {
    position: relative;
    width: 100%;
    /*height: 280px;*/
    aspect-ratio: 450/280;
    border-radius: 25px 25px 0 0;
    overflow: hidden;
}

.rezerwuj_oferte .foto img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.rezerwuj_oferte .foto .nazwa_ofert {
    position: absolute;
    top: 35px;
    left: 0;
    padding: 0 30px;
    color: #fff;
    font: 700 18px/22px 'Titillium Web', sans-serif;
}

.rezerwuj_oferte .box_gora {
    padding: 0 30px 25px;
    margin: 0 0 25px;
    border-bottom: 1px solid #EBEBEB;
}

.rezerwuj_oferte .box_dol {
    padding: 0 30px 30px;
}

.rezerwuj_oferte .data_rezerwacji {
    position: relative;
    margin: -67px 0 30px;
    background-color: #F5F5F5;
    border-radius: 15px;
    display: flex;
}

.rezerwuj_oferte .data_rezerwacji:after {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, 0);
    width: 1px;
    height: 30px;
    background-color: #D9D9D9;
}

.rezerwuj_oferte .data_rezerwacji:before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translate(-50%, 0);
    width: 1px;
    height: 30px;
    background-color: #D9D9D9;
}

.rezerwuj_oferte .data_rezerwacji .arrow_poziom {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 9px;
    height: auto;
}

.rezerwuj_oferte .data_rezerwacji .box_data {
    width: 50%;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 20px;
}

.rezerwuj_oferte .box_data .tekst {
    font: 400 16px/20px 'Titillium Web', sans-serif;
}

.rezerwuj_oferte .box_data .data_dzien {
    font: 700 32px/34px 'Titillium Web', sans-serif;
    margin: 10px 0 2px;
}

.rezerwuj_oferte .box_data .data_dzien_nazwa {
    font: 400 11px/14px 'Titillium Web', sans-serif;
    color: #888;
    text-transform: lowercase;
    margin-bottom: 6px;
}

.rezerwuj_oferte .box_data .data_miesiac_rok {
    font: 600 16px/20px 'Titillium Web', sans-serif;
    text-align: center;
}

.rezerwuj_oferte .rezerwacja_lokalizacja {
    position: relative;
}

.rezerwuj_oferte .rezerwacja_lokalizacja .ico_adres_pom {
    width: 17px;
    height: auto;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translate(0, -50%);
}

.rezerwacja_lokalizacja .line {
    display: flex;
    align-items: center;
}

.rezerwacja_lokalizacja .line .tekst {
    width: 50%;
    text-align: right;
    padding: 0 25px 0 0;
    font: 400 16px/24px 'Titillium Web', sans-serif;
}

.rezerwacja_lokalizacja .line .nazwa {
    width: 50%;
    font: 600 16px/24px 'Titillium Web', sans-serif;
}

.rezerwuj_oferte .rezerwacja_ile_osob {
    width: 100%;
    display: flex;
    align-items: center;
    margin: 0 0 30px;
}

.rezerwuj_oferte .rezerwacja_ile_osob .box {
    width: 100%;
    margin: 0 0 10px 0;
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    font: 400 16px/24px 'Titillium Web', sans-serif;
}

.rezerwuj_oferte .rezerwacja_ile_osob svg {
    width: 18px;
    height: auto;
    flex: 0 0 auto;
}

.rezerwuj_oferte .rezerwacja_ile_osob .box strong {
    margin: 0 12px;
    font: 400 20px/20px 'Titillium Web', sans-serif;
}

.rezerwuj_oferte .box_platnosc {
    padding: 15px 30px 20px;
    background-color: #F5F5F5;
    border-radius: 15px;
    margin: 0 0 25px;
}

.rezerwuj_oferte .box_platnosc .box_platnosc_naglowek {
    font: 600 16px/20px 'Titillium Web', sans-serif;
    margin: 0 0 15px;
    color: #333;
}

.rezerwuj_oferte .box_platnosc .platnosc_po_rezerwacji,
.rezerwuj_oferte .box_platnosc .platnosc_do,
.rezerwuj_oferte .box_platnosc .platnosc_calosc {
    display: flex;
    align-items: center;
}

.rezerwuj_oferte .box_platnosc .platnosc_po_rezerwacji {
    border-bottom: 1px solid #d9d9d9;
    margin: 0 0 15px;
    padding: 0 0 15px;
}

.rezerwuj_oferte .box_platnosc .tekst {
    width: 50%;
    padding: 0 10px 0 0;
    font: 400 16px/18px 'Titillium Web', sans-serif;
}

.rezerwuj_oferte .box_platnosc .platnosc_po_rezerwacji .tekst .kolor_2,
.rezerwuj_oferte .box_platnosc .platnosc_do .tekst .kolor_2 {
    font-size: 14px;
}

.rezerwuj_oferte .box_platnosc .platnosc_calosc .tekst .kolor_2 {
    font-weight: 600;
}

.rezerwuj_oferte .box_platnosc .kwota {
    width: 50%;
    font: 700 20px/22px 'Titillium Web', sans-serif;
}

.rezerwuj_oferte .rezerwacja_koszt_calkowoty {
    display: flex;
    align-items: center;
}

.rezerwacja_koszt_calkowoty .tekst {
    font: 700 16px/20px 'Titillium Web', sans-serif;
    width: 50%;
    padding: 0 10px 0 30px;
}

.rezerwacja_koszt_calkowoty .kwota {
    width: 50%;
    font: 700 30px/34px 'Titillium Web', sans-serif;
}

.top_szukajka .mobile {
    display: none;
}


/* --- tooltip --- */

.clearfix:before, .clearfix:after {
    content: '';
    display: table;
}

.clearfix:after {
    clear: both;
}

.tooltip {
    display: inline;
    position: relative;
    top: 0;
    right: 0;
}

.tooltip-item {
    width: 21px;
    height: 21px;
    display: block;
    position: absolute;
    top: 0;
    left: 10px;
    cursor: pointer;
    transition: all 0.3s;
}

.tooltip-item::after {
    content: '';
    position: absolute;
    bottom: 100%;
    left: 50%;
    pointer-events: none;
    transform: translateX(-50%);
}

.tooltip:hover .tooltip-item::after {
    pointer-events: auto;
}

.tooltip-effect-2 .tooltip-content,
.tooltip-effect-2 .tooltip-content-3,
.tooltip-effect-2 .tooltip-content-2 {
    transform-origin: 50% calc(100% + 10px);
    transform: perspective(1000px) rotate3d(1, 0, 0, 45deg);
    transition: opacity 0.2s, transform 0.2s;
}

.tooltip:hover .tooltip-content,
.tooltip:hover .tooltip-content-3,
.tooltip:hover .tooltip-content-2 {
    pointer-events: auto;
    opacity: 1;
    transform: translate3d(0, 0, 0) rotate3d(0, 0, 0, 0);
}

.tooltip-content,
.tooltip-content-3,
.tooltip-content-2 {
    position: absolute;
    z-index: 9999;
    width: 190px;
    left: 50%;
    bottom: 100%;
    text-align: center;
    background: #8d6843;
    padding: 12px;
    border-radius: 20px;
    opacity: 0;
    cursor: default;
    pointer-events: none;
}

.tooltip-content {
    margin: 0 0 5px -135px;
}

.tooltip-content-2 {
    margin: 0 0 5px -70px;
}

.tooltip-content-3 {
    margin: 0 0 5px -20px;
}

.tooltip.tooltip-effect-2:hover .tooltip-content,
.tooltip.tooltip-effect-2:hover .tooltip-content-3,
.tooltip.tooltip-effect-2:hover .tooltip-content-2 {
    transform: perspective(1000px) rotate3d(1, 0, 0, 0deg);
}

.tooltip-text {
    text-align: center;
    font: 300 13px/18px 'Poppins', sans-serif;
    color: #fff;
    display: block;
}

/* Dropdown miejscowości */
.miejscowosc-select {
    position: relative;
}

.lokalizacja-dropdown {
    position: fixed;
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 4px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    z-index: 10000;
    max-height: 400px;
    overflow-y: auto;
    display: none;
    min-width: 300px;
}

.lokalizacja-dropdown.open {
    display: block;
}

.lokalizacja-dropdown-list {
    padding: 8px 0;
}

.miejscowosc-region {
    padding: 10px 16px;
    font: 600 13px/18px 'Titillium Web', sans-serif;
    color: #2F3539;
    background-color: #f5f5f5;
    border-bottom: 1px solid #e0e0e0;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.miejscowosc-region.miejscowosc-region-clickable {
    cursor: pointer;
    transition: background-color 0.2s;
}

.miejscowosc-region.miejscowosc-region-clickable:hover {
    background-color: #e8f4f8;
}

.miejscowosc-region.miejscowosc-region-clickable {
    cursor: pointer;
    transition: background-color 0.2s;
}

.miejscowosc-region.miejscowosc-region-clickable:hover {
    background-color: #e8f4f8;
}

.miejscowosc-region.miejscowosc-region-clickable:not(:first-child) {
    padding: 10px 16px;
    font: 600 13px/18px 'Titillium Web', sans-serif;
    color: #2F3539;
    background-color: #f5f5f5;
    border-bottom: 1px solid #e0e0e0;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.miejscowosc-item {
    padding: 12px 16px;
    cursor: pointer;
    transition: background-color 0.2s;
    border-bottom: 1px solid #f0f0f0;
}

.miejscowosc-item:hover {
    background-color: #f8f8f8;
}

.miejscowosc-item.highlighted,
.miejscowosc-region.miejscowosc-region-clickable.highlighted {
    background-color: #e8f4f8 !important;
    outline: 2px solid #FF7300;
    outline-offset: -2px;
}

.miejscowosc-item:last-child {
    border-bottom: none;
}

.miejscowosc-item.miejscowosc-dzielnica {
    padding-left: 32px;
    font: 400 15px/22px 'Titillium Web', sans-serif;
    color: #85959F;
}

.miejscowosc-name {
    display: block;
    font: 400 16px/26px 'Titillium Web', sans-serif;
    color: #2F3539;
    letter-spacing: 1px;
}

.miejscowosc-item.selected,
.miejscowosc-region.miejscowosc-region-clickable.selected {
    background-color: #e8f4f8;
}

.miejscowosc-item {
    position: relative;
}

.miejscowosc-region.miejscowosc-region-clickable {
    position: relative;
}

.miejscowosc-item-clear,
.miejscowosc-region-clear {
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    cursor: pointer;
    font-size: 20px;
    line-height: 1;
    color: #85959F;
    padding: 0;
    transition: color 0.2s;
    z-index: 10;
}

.miejscowosc-item-clear:hover,
.miejscowosc-region-clear:hover {
    color: #FF7300;
}


.miejscowosc-item.miejscowosc-dzielnica .miejscowosc-name {
    color: #85959F;
}

.lokalizacja-dropdown-empty {
    padding: 16px;
    text-align: center;
    font: 400 16px/26px 'Titillium Web', sans-serif;
    color: #85959F;
    letter-spacing: 1px;
}

/* Scrollbar dla dropdown */
.lokalizacja-dropdown::-webkit-scrollbar {
    width: 8px;
}

.lokalizacja-dropdown::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 4px;
}

.lokalizacja-dropdown::-webkit-scrollbar-thumb {
    background: #c1c1c1;
    border-radius: 4px;
}

.lokalizacja-dropdown::-webkit-scrollbar-thumb:hover {
    background: #a8a8a8;
}

/* Dropdown liczby gości - podobny do miejscowości */
.liczba-gosci-dropdown {
    position: fixed;
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 4px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    z-index: 10000;
    max-height: 300px;
    overflow-y: auto;
    display: none;
    min-width: 260px;
}

.liczba-gosci-dropdown.open {
    display: block;
    width: 290px;
}

/* Pojedynczy wiersz w dropdownie liczby gości – layout jak w dodatkowych licznikach */
.liczba-gosci-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 16px;
    font: 400 16px/22px 'Titillium Web', sans-serif;
    color: #2F3539;
    border-bottom: 1px solid #f0f0f0;
}

.liczba-gosci-item:last-child {
    border-bottom: none;
}

.liczba-gosci-item .tekst {
    font: 400 16px/22px 'Titillium Web', sans-serif;
    margin-right: 16px;
}

.liczba-gosci-item .wybor_ilosci {
    display: flex;
    align-items: center;
}

.liczba-gosci-item .btn_ilosc {
    position: relative;
    width: 32px;
    height: 32px;
    border-radius: 100%;
    border: 1px solid #85959F;
    box-shadow: 0 7px 8px rgba(36, 56, 69, 0.20);
    transition: all 0.3s;
    background: #fff;
}

.liczba-gosci-item .btn_ilosc:hover {
    border-color: #FF7300;
}

.liczba-gosci-item .minus,
.liczba-gosci-item .dodaj {
    background-color: #2F3539;
    border-radius: 2px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.liczba-gosci-item .minus {
    width: 12px;
    height: 2px;
}

.liczba-gosci-item .dodaj {
    height: 12px;
    width: 2px;
}

.liczba-gosci-item .ilosc {
    width: 60px;
    padding: 0 10px;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #2f2f2f;
    font: 600 18px/22px 'Titillium Web', sans-serif;
}

.liczba-gosci-dropdown::-webkit-scrollbar {
    width: 8px;
}

.liczba-gosci-dropdown::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 4px;
}

.liczba-gosci-dropdown::-webkit-scrollbar-thumb {
    background: #c1c1c1;
    border-radius: 4px;
}

.liczba-gosci-dropdown::-webkit-scrollbar-thumb:hover {
    background: #a8a8a8;
}

/* Style dla kalendarza zakresu dat */
.data_pobytu {
    position: relative;
}

/* Style dla dropdownów liczby gości i lokalizacji */
.ilosc_gosci,
.liczba-gosci-select,
.miejscowosc-select {
    position: relative;
}

.box_rezerwuj .liczba-gosci-select input {
    padding-left: 50px;
}
.nights-count {
    display: none !important;
    position: absolute;
    top: 5px;
    left: 0;
    right: 0;
    text-align: center;
    font: 400 14px/20px 'Titillium Web', sans-serif;
    color: #85959F;
    letter-spacing: 1px;
    z-index: 1;
}

.nights-count[style*="block"] {
    display: block !important;
}

/* Dostosowanie stylów Flatpickr do designu strony */
.flatpickr-calendar {
    font-family: 'Titillium Web', sans-serif;
    font-size: 14px;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    border: 1px solid #e0e0e0;
}

.flatpickr-months {
    background-color: #f5f5f5;
    border-radius: 8px 8px 0 0;
    padding: 10px 0;
}

.flatpickr-month {
    color: #2F3539;
    font-weight: 600;
}

.flatpickr-weekdays {
    background-color: #f5f5f5;
}

.flatpickr-weekday {
    color: #2F3539;
    font-weight: 600;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.flatpickr-day {
    color: #2F3539;
    border-radius: 4px;
    font-weight: 400;
}

.flatpickr-day:hover {
    background-color: #f0f0f0;
    border-color: #f0f0f0;
}

.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange {
    background-color: #FF7300;
    border-color: #FF7300;
    color: #fff;
    font-weight: 600;
}

.flatpickr-day.selected:hover,
.flatpickr-day.startRange:hover,
.flatpickr-day.endRange:hover {
    background-color: #e66500;
    border-color: #e66500;
}

.flatpickr-day.inRange {
    background-color: #fff4e6;
    border-color: #fff4e6;
    color: #2F3539;
}

.flatpickr-day.flatpickr-disabled,
.flatpickr-day.flatpickr-disabled:hover {
    color: #c0c0c0;
    cursor: not-allowed;
}

/* Zarezerwowane daty - czerwone */
.flatpickr-calendar .flatpickr-days .flatpickr-day.date-reserved,
.flatpickr-calendar .flatpickr-days .flatpickr-day.date-reserved:hover {
    background-color: #ffebee !important;
    color: #c62828 !important;
    cursor: not-allowed !important;
    text-decoration: line-through !important;
    border-color: #ffcdd2 !important;
    opacity: 1 !important;
}

.flatpickr-day.prevMonthDay,
.flatpickr-day.nextMonthDay {
    color: #c0c0c0;
    cursor: not-allowed;
}

.flatpickr-day.today {
    border-color: #FF7300;
    font-weight: 600;
}

.flatpickr-day.today:hover {
    background-color: #fff4e6;
}

.flatpickr-prev-month,
.flatpickr-next-month {
    color: #2F3539;
}

.flatpickr-prev-month:hover,
.flatpickr-next-month:hover {
    color: #FF7300;
}

/* Upewnij się, że kalendarz nie jest przycinany przez overflow: hidden */
.flatpickr-calendar {
    position: fixed !important;
    z-index: 10000;
}

/* Dla kontenerów .data_pobytu (mini_search) kalendarz jest pozycjonowany względem kontenera */
/* Uwaga: JavaScript ustawia position: absolute dla kalendarzy w .data_pobytu */
.data_pobytu {
    overflow: visible !important;
}

.data_pobytu .flatpickr-calendar {
    position: absolute !important;
    z-index: 10000 !important;
}

/* ========================================
   Dropdown wyboru kierunkowego telefonu
   ======================================== */

.phone-country-select {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
}

.phone-country-trigger {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 15px;
    background: #fff;
    border: none;
    border-radius: 25px 0 0 25px;
    cursor: pointer;
    transition: border-color 0.2s, background-color 0.2s;
    flex-shrink: 0;
}

/*.phone-country-trigger:hover {*/
/*    border-color: #00b2f4;*/
/*}*/

.phone-country-flag {
    display: flex;
    align-items: center;
}

.flag-ico {
    width: 24px;
    height: 18px;
    display: block;
    border-radius: 2px;
    overflow: hidden;
    box-shadow: 0 0 0 1px rgba(0,0,0,.1);
}

.phone-country-code {
    font: 400 16px/20px 'Titillium Web', sans-serif;
    color: #85959F;
    letter-spacing: 0.5px;
}

.phone-country-arrow {
    font-size: 10px;
    color: #85959F;
    margin-left: 2px;
    transition: transform 0.2s;
}

.phone-country-trigger:hover .phone-country-arrow {
    color: #FF7300;
}

.phone-country-select .phone-number-input {
    flex: 1;
    border-radius: 0 25px 25px 0;
    border: none;
    min-width: 0;
}

.phone-country-select .phone-number-input:focus,
.phone-country-select .phone-number-input:hover {
    border-color: #00b2f4;
}

/* Synchronizacja border-color triggera gdy input ma focus */
.phone-country-select:focus-within .phone-country-trigger {
    border-color: #00b2f4;
}

.phone-country-dropdown {
    position: absolute;
    top: 100%;
    left: 0;
    margin-top: 5px;
    background: #fff;
    border: 1px solid #EBEBEB;
    border-radius: 10px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    z-index: 10001;
    display: none;
    min-width: 280px;
    max-width: 100%;
    width: 100%;
    overflow: hidden;
}

.phone-country-dropdown.open {
    display: block;
}

.formularz_kontakt .phone-country-search {
    width: 100%;
    padding: 12px 20px;
    border: none;
    font: 400 16px/20px 'Titillium Web', sans-serif;
    color: #2F3539;
    outline: none;
    box-sizing: border-box;
    border-radius: 10px 10px 0 0;
    margin: 0;
}

.phone-country-search::placeholder {
    color: #85959F;
}

.phone-country-search:focus {
    border-bottom-color: #00b2f4;
}

.phone-country-list {
    max-height: 250px;
    overflow-y: auto;
}

.phone-country-item {
    display: flex;
    align-items: center;
    padding: 12px 20px;
    cursor: pointer;
    transition: background-color 0.15s;
    gap: 12px;
}

.phone-country-item:hover,
.phone-country-item.highlighted {
    background-color: #f5f5f5;
}

.phone-country-item.selected {
    background-color: #e6f7ff;
}

.phone-country-item.selected:hover,
.phone-country-item.selected.highlighted {
    background-color: #d4f0ff;
}

.phone-country-item-flag {
    display: flex;
    align-items: center;
    flex-shrink: 0;
}

.phone-country-item-flag .flag-ico {
    width: 28px;
    height: 21px;
}

.phone-country-item-name {
    font: 400 16px/20px 'Titillium Web', sans-serif;
    color: #2F3539;
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.phone-country-item-dial {
    font: 400 14px/20px 'Titillium Web', sans-serif;
    color: #85959F;
    flex-shrink: 0;
}

.phone-country-empty {
    padding: 20px;
    text-align: center;
    font: 400 16px/20px 'Titillium Web', sans-serif;
    color: #85959F;
}

/* Scrollbar dla dropdown telefonu */
.phone-country-list::-webkit-scrollbar {
    width: 8px;
}

.phone-country-list::-webkit-scrollbar-track {
    background: #f1f1f1;
}

.phone-country-list::-webkit-scrollbar-thumb {
    background: #c1c1c1;
    border-radius: 4px;
}

.phone-country-list::-webkit-scrollbar-thumb:hover {
    background: #a8a8a8;
}

/* Dostosowanie dla formularza kontaktowego */
.formularz_kontakt .phone-country-select {
    margin: 0 0 20px;
    border: 1px solid #EBEBEB;
    border-radius: 25px;
    transition: all 0.3s;
}

.formularz_kontakt .phone-country-trigger {
    padding: 12px 0 12px 30px;
}

.formularz_kontakt .phone-country-select .phone-number-input {
    padding: 10px 20px;
    margin: 0;
}

/* Dostosowanie dla formularza rezerwacji - dopasowanie do .box_form_rezerwacja input */
.box_form_rezerwacja .phone-country-select {
    width: 100%;
    border: 1px solid #85959F;
    border-radius: 10px;
    transition: all 0.3s;
}

.box_form_rezerwacja .phone-country-trigger {
    padding: 12px 0 12px 20px;
    border-color: #85959F;
}

.box_form_rezerwacja .phone-country-select .phone-number-input {
    padding: 12px 20px;
    font: 400 16px/20px 'Titillium Web', sans-serif;
    color: #85959F;
}

.box_form_rezerwacja .phone-country-select .phone-number-input::placeholder {
    color: #85959F;
}

/* Strona płatności (Payment Page) */

/* Box sukcesu na górze */
.box_sukces_payment {
    background: linear-gradient(135deg, #d4edda 0%, #c3e6cb 100%);
    border-radius: 15px;
    padding: 25px 30px;
    margin-bottom: 30px;
    text-align: center;
}

.box_sukces_payment h2 {
    color: #155724;
    margin: 0 0 10px;
    font-size: 22px;
    font-weight: 600;
}

.box_sukces_payment .numer_rezerwacji {
    color: #155724;
    font-size: 16px;
    margin: 0;
}

.box_sukces_payment .numer_rezerwacji strong {
    font-weight: 700;
}

/* Box podsumowania rezerwacji w lewej kolumnie */
.box_rezerwuj.box_rezerwuj_podsumowanie {
    margin-bottom: 30px;
}

.box_rezerwuj_podsumowanie .rezerwacja_ile_osob {
    flex-direction: column;
    align-items: flex-start;
    position: relative;
    padding-left: 30px;
}

.box_rezerwuj_podsumowanie .rezerwacja_ile_osob > svg {
    width: 17px;
    height: auto;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
}

.box_rezerwuj_podsumowanie .rezerwacja_ile_osob .line {
    width: 100%;
}

.box_rezerwuj_podsumowanie .rezerwacja_lokalizacja {
    padding-left: 30px;
}

.box_rezerwuj_podsumowanie .rezerwacja_lokalizacja .line .tekst {
    width: calc(50% - 25px);
}

.box_rezerwuj_podsumowanie .rezerwacja_lokalizacja .line .nazwa {
    width: calc(50% + 25px);
}

.box_rezerwuj_podsumowanie .box_koszty_szczegoly {
    padding: 15px 0;
    border-top: 1px solid #EBEBEB;
    margin-top: 15px;
}

.box_rezerwuj_podsumowanie .wiersz_kosztu {
    display: flex;
    justify-content: space-between;
    padding: 8px 0;
    font: 400 14px/20px 'Titillium Web', sans-serif;
}

.box_rezerwuj_podsumowanie .wiersz_kosztu .label {
    color: #85959F;
}

.box_rezerwuj_podsumowanie .wiersz_kosztu .kwota {
    color: #2F3539;
    font-weight: 500;
}

.box_rezerwuj_podsumowanie .uslugi_szczegoly {
    padding: 5px 0 5px 15px;
}

.box_rezerwuj_podsumowanie .usluga_wiersz {
    display: flex;
    justify-content: space-between;
    font: 400 13px/18px 'Titillium Web', sans-serif;
    color: #85959F;
    padding: 3px 0;
}

/* Dane rezerwującego */
.box_dane_rezerwujacego {
    background: #fff;
    border-radius: 15px;
    padding: 25px 30px;
    border: 1px solid #EBEBEB;
    margin-bottom: 20px;
}

.box_dane_rezerwujacego h3 {
    font: 600 18px/24px 'Titillium Web', sans-serif;
    color: #2F3539;
    margin: 0 0 15px;
}

.box_dane_rezerwujacego p {
    font: 400 14px/22px 'Titillium Web', sans-serif;
    color: #2F3539;
    margin: 8px 0;
}

/* Info o emailu */
.box_info_email {
    background: #f8f9fa;
    border-radius: 15px;
    padding: 20px 25px;
    border: 1px solid #EBEBEB;
}

.box_info_email p {
    font: 400 14px/22px 'Titillium Web', sans-serif;
    color: #2F3539;
    margin: 8px 0;
}

.box_info_email p:first-child {
    margin-top: 0;
}

.box_info_email p:last-child {
    margin-bottom: 0;
}

/* Komunikat kontaktowy (tryb rezerwacyjny) */
.box_info_kontakt {
    background: #d4edda;
    border: 1px solid #28a745;
    border-radius: 15px;
    padding: 20px 25px;
    margin-top: 25px;
    text-align: center;
}

.box_info_kontakt p {
    font: 600 16px/24px 'Titillium Web', sans-serif;
    color: #155724;
    margin: 0;
}

/* Gotówka na miejscu */
.box_info_gotowka {
    background: #fff3cd;
    border: 1px solid #ffc107;
    border-radius: 15px;
    padding: 20px 25px;
    margin-top: 25px;
    text-align: center;
}

.box_info_gotowka p {
    font: 400 14px/22px 'Titillium Web', sans-serif;
    color: #856404;
    margin: 5px 0;
}

.box_info_gotowka p strong {
    font-size: 16px;
}

/* Info o przelewie (strona klienta) */
.box_info_przelew {
    background: #f8f9fa;
    border: 1px solid #dee2e6;
    border-radius: 10px;
    padding: 15px 20px;
    margin: 15px 0;
    text-align: center;
}

.box_info_przelew p {
    font: 400 14px/22px 'Titillium Web', sans-serif;
    color: #2F3539;
    margin: 5px 0;
}

.box_info_przelew .dane_przelewu {
    text-align: left;
    background: #fff;
    border-radius: 8px;
    padding: 12px 15px;
    margin-top: 10px;
}

/* Animacja ładowania na buttonie rezerwacji */
.btn_wyslij.is-loading {
    pointer-events: none;
    cursor: wait;
    background-color: #00b2f4;
    position: relative;
}

.btn_wyslij.is-loading span {
    display: inline-flex;
    align-items: center;
    gap: 12px;
}

.btn_wyslij.is-loading span::before {
    content: '';
    width: 20px;
    height: 20px;
    border: 3px solid rgba(255, 255, 255, 0.35);
    border-top-color: #fff;
    border-radius: 50%;
    animation: btn-spin 0.7s linear infinite;
    flex-shrink: 0;
}

@keyframes btn-spin {
    to { transform: rotate(360deg); }
}

@keyframes btn-pulse {
    0%, 100% { opacity: 0.85; }
    50% { opacity: 1; }
}

/* Box płatności w prawej kolumnie (sticky) */
.box_rezerwuj.box_form_platnosc {
    padding: 25px;
}

.box_form_platnosc .naglowek_platnosc {
    text-align: center;
    margin-bottom: 20px;
}

.box_form_platnosc .naglowek_platnosc h3 {
    font: 600 20px/26px 'Titillium Web', sans-serif;
    color: #2F3539;
    margin: 0;
}

.box_form_platnosc .box_platnosc {
    margin-bottom: 15px;
}

.box_form_platnosc .platnosc_po_rezerwacji,
.box_form_platnosc .platnosc_do,
.box_form_platnosc .platnosc_calosc {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 0;
}

.box_form_platnosc .platnosc_po_rezerwacji {
    border-bottom: 1px solid #EBEBEB;
}

.box_form_platnosc .platnosc_po_rezerwacji .tekst,
.box_form_platnosc .platnosc_do .tekst,
.box_form_platnosc .platnosc_calosc .tekst {
    font: 400 14px/20px 'Titillium Web', sans-serif;
    color: #2F3539;
}

.box_form_platnosc .platnosc_po_rezerwacji .kwota {
    font: 700 22px/28px 'Titillium Web', sans-serif;
}

.box_form_platnosc .platnosc_do .kwota,
.box_form_platnosc .platnosc_calosc .kwota {
    font: 500 16px/22px 'Titillium Web', sans-serif;
    color: #2F3539;
}

.box_form_platnosc .box_uwagi_platnosc {
    background: #fff3cd;
    border-radius: 10px;
    padding: 15px;
    margin: 20px 0 0 0;
}

.box_form_platnosc .box_uwagi_platnosc .uwaga {
    font: 400 13px/19px 'Titillium Web', sans-serif;
    color: #856404;
    margin: 5px 0;
}

.box_form_platnosc .box_uwagi_platnosc .uwaga:first-child {
    margin-top: 0;
}

.box_form_platnosc .box_uwagi_platnosc .uwaga:last-child {
    margin-bottom: 0;
}

.box_form_platnosc .box_uwagi_platnosc .termin_platnosci {
    background: #e3f2fd;
    border: 1px solid #90caf9;
    border-radius: 8px;
    padding: 12px;
    margin-bottom: 10px;
}

.box_form_platnosc .box_uwagi_platnosc .termin_platnosci .data_terminu {
    font: 600 16px/22px 'Titillium Web', sans-serif;
    color: #1565c0;
}

.box_form_platnosc .box_uwagi_platnosc .termin_platnosci .pozostalo {
    font: 500 14px/20px 'Titillium Web', sans-serif;
    color: #1976d2;
}

.box_form_platnosc .box_uwagi_platnosc .termin_platnosci.przeterminowane {
    background: #ffebee;
    border-color: #ef9a9a;
}

.box_form_platnosc .box_uwagi_platnosc .termin_platnosci.przeterminowane .data_terminu {
    color: #c62828;
}

.box_form_platnosc .box_uwagi_platnosc .termin_platnosci .status_przeterminowane {
    font: 700 14px/20px 'Titillium Web', sans-serif;
    color: #c62828;
    text-transform: uppercase;
}

.box_form_platnosc .btn_zaplac_teraz {
    margin-bottom: 15px;
}

/* Reset stylów dla button - identyczny wygląd jak link */
button.btn_wyslij.btn_zaplac_teraz {
    border: none;
    cursor: pointer;
    width: 100%;
    text-align: center;
    font-family: 'Titillium Web', sans-serif;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

.box_form_platnosc .info_system_platnosci {
    text-align: center;
    font: 400 12px/18px 'Titillium Web', sans-serif;
    color: #85959F;
    font-style: italic;
    margin: 0 0 15px;
}

/* Nowa struktura płatności z terminami */
.box_form_platnosc .platnosc_wiersz {
    padding: 12px 0;
    border-bottom: 1px solid #EBEBEB;
}

.box_form_platnosc .platnosc_wiersz:last-child {
    border-bottom: none;
}

.box_form_platnosc .platnosc_wiersz .platnosc_info {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 5px;
}

.box_form_platnosc .platnosc_wiersz .platnosc_info .tekst {
    font: 400 14px/20px 'Titillium Web', sans-serif;
    color: #2F3539;
}

.box_form_platnosc .platnosc_wiersz .platnosc_info .kwota {
    font: 600 18px/24px 'Titillium Web', sans-serif;
    color: #2F3539;
}

.box_form_platnosc .platnosc_wiersz .termin_info {
    font: 400 12px/18px 'Titillium Web', sans-serif;
    color: #1565c0;
    background: #e3f2fd;
    padding: 6px 10px;
    border-radius: 5px;
    margin-top: 5px;
}

.box_form_platnosc .platnosc_wiersz .termin_info strong {
    font-weight: 600;
}

.box_form_platnosc .platnosc_wiersz .termin_info.przeterminowana {
    background: #ffebee;
    color: #c62828;
}

.box_form_platnosc .platnosc_wiersz .termin_info .status_alert {
    display: inline-block;
    background: #c62828;
    color: #fff;
    padding: 2px 8px;
    border-radius: 3px;
    font-weight: 600;
    margin-left: 10px;
    font-size: 11px;
    text-transform: uppercase;
}

.box_form_platnosc .platnosc_wiersz .termin_info.status_oplacona {
    background: #d4edda;
    color: #155724;
}

.box_form_platnosc .platnosc_wiersz.oplacona .platnosc_info .kwota {
    color: #155724;
}

/* Przycisk wyłączony - rezerwacja opłacona */
.box_form_platnosc .btn_zaplac_teraz.btn_disabled {
    background: #6c757d;
    cursor: default;
    pointer-events: none;
}

.box_form_platnosc .btn_zaplac_teraz.btn_disabled:hover {
    background: #6c757d;
    transform: none;
}

/* Box sukcesu - rezerwacja opłacona w całości */
.box_form_platnosc .box_rezerwacja_oplacona {
    background: linear-gradient(135deg, #d4edda 0%, #c3e6cb 100%);
    border: 2px solid #28a745;
    border-radius: 15px;
    padding: 20px;
    text-align: center;
    margin: 15px 0;
}

.box_form_platnosc .box_rezerwacja_oplacona p {
    font: 500 15px/22px 'Titillium Web', sans-serif;
    color: #155724;
    margin: 5px 0;
}

.box_form_platnosc .box_rezerwacja_oplacona p:first-child {
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 10px;
}

/* Box błędu */
.box_blad {
    background: #f8d7da;
    border-radius: 15px;
    padding: 25px;
    color: #721c24;
    text-align: center;
}

.box_blad p {
    margin: 0;
    font: 400 16px/24px 'Titillium Web', sans-serif;
}


/* szukajka mobile  */

#header_szukaj_mobile {
    position: fixed;
    z-index: 10;
    left: 50%;
    top: 14px;
    transform: translate(-50%,-150%);
    display: flex;
    align-items: center;
    background-color: #fff;
    border-radius: 20px;
    padding: 8px 15px;
    box-shadow: 10px 10px 23px 0 rgba(0, 0, 0, 0.08);
    transition: all 0.3s ease;
}

#header_szukaj_mobile.active {
    transform: translate(-50%, 0);
}

#header_szukaj_mobile input {
    border: none;
    font: 400 14px/18px 'Titillium Web', sans-serif;
}

#header_szukaj_mobile button {
    margin: 0 0 0 4px;
}

#header_szukaj_mobile .ico_lupa {
    margin:  3px 0 0;
    flex: 0 0 auto;
    width: 19px;
    height: auto;
}

#header_szukaj_mobile .ico_lupa path  {
    fill: #2F3539;
}

/* --- komunikaty --- */

.komunikat_wrapper {
    position: fixed;
    top: 20px;
    right: 20px;
    z-index: 10001;
    display: flex;
    flex-direction: column;
    gap: 10px;
    max-width: 500px;
    width: calc(100% - 40px);
}

.komunikat {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    padding: 18px 25px;
    border-radius: 15px;
    font: 400 15px/22px 'Titillium Web', sans-serif;
    color: #2F3539;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.12);
    transform: translateX(120%);
    opacity: 0;
    transition: transform 0.4s ease, opacity 0.4s ease;
}

.komunikat.open {
    transform: translateX(0);
    opacity: 1;
}

.komunikat > div {
    flex: 1;
}

.komunikat_ok {
    background-color: #d4edda;
    border-left: 4px solid #28a745;
    color: #155724;
}

.komunikat_uwaga {
    background-color: #fff3cd;
    border-left: 4px solid #FF7300;
    color: #856404;
}

.komunikat_info {
    background-color: #e3f2fd;
    border-left: 4px solid #00b2f4;
    color: #1565c0;
}

.komunikat .ico_krzyzyk {
    width: 16px;
    height: 16px;
    cursor: pointer;
    opacity: 0.6;
    flex: 0 0 auto;
    transition: opacity 0.3s;
}

.komunikat .ico_krzyzyk:hover {
    opacity: 1;
}

.komunikat_wrapper_inline {
    position: static;
    max-width: 100%;
    width: 100%;
    margin: 0 0 30px;
    z-index: 1;
}

.komunikat_wrapper_inline .komunikat {
    transform: none;
    opacity: 1;
}

/* Separatory wierszy cennika sezonowego */
.oferta_cennik_sezonowy .box_cennik .box_miesiac {
    border-bottom: 1px solid #EBEBEB;
    padding-bottom: 15px;
    margin-bottom: 15px;
}

.oferta_cennik_sezonowy .box_cennik .box_miesiac:nth-last-of-type(-n+2) {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}

/* Przycisk "Gotowe" w dropdown gości */
.liczba-gosci-dropdown .btn_gotowe {
    display: block;
    width: calc(100% - 30px);
    margin: 10px 15px;
    padding: 10px;
    background: #00B2F4;
    color: #fff;
    border: none;
    border-radius: 8px;
    font: 600 15px/20px 'Titillium Web', sans-serif;
    cursor: pointer;
    text-align: center;
}

.liczba-gosci-dropdown .btn_gotowe:hover {
    background: #009AD8;
}

/* Countdown bar na stronie /preview */
body.has-countdown-bar {
    padding-bottom: 47px;
}

.countdown-bar {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 9999;
    background: #00B2F4;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    padding: 12px 20px;
    font: 600 16px/22px 'Titillium Web', sans-serif;
    opacity: 0.9;
}

.countdown-bar .countdown-timer {
    font: 700 20px/22px 'Titillium Web', sans-serif;
    margin: 0 5px;
}

.countdown-bar .countdown-extend-btn {
    display: none;
    background: #fff;
    color: #00B2F4;
    border: none;
    border-radius: 20px;
    padding: 5px 15px;
    font: 600 14px/20px 'Titillium Web', sans-serif;
    cursor: pointer;
    margin-left: 10px;
    transition: background 0.2s;
    white-space: nowrap;
}

.countdown-bar .countdown-extend-btn:hover {
    background: #f0f0f0;
}

.countdown-bar .countdown-extend-btn.visible {
    display: inline-flex;
    align-items: center;
}

.countdown-bar.countdown-warning {
    background: #F5A623;
}

.countdown-bar.countdown-warning .countdown-extend-btn {
    color: #F5A623;
}

.countdown-bar.countdown-critical {
    background: #E74C3C;
    animation: countdown-pulse 1s ease-in-out infinite;
}

.countdown-bar.countdown-critical .countdown-extend-btn {
    color: #E74C3C;
}

@keyframes countdown-pulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.8; }
}

/* Countdown overlay po wygaśnięciu */
.countdown-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.7);
    z-index: 99999;
    display: flex;
    align-items: center;
    justify-content: center;
}

.countdown-overlay-content {
    background: #fff;
    border-radius: 20px;
    padding: 40px;
    max-width: 450px;
    text-align: center;
}

.countdown-overlay-content h3 {
    font: 700 24px/30px 'Titillium Web', sans-serif;
    margin: 0 0 15px;
    color: #2F3539;
}

.countdown-overlay-content p {
    font: 400 16px/24px 'Titillium Web', sans-serif;
    color: #85959F;
    margin: 0 0 25px;
}

/* Mobile fixed reservation button */
.mobile-rezerwuj-fixed {
    display: none;
}

/* Sticky box fade in/out */
.box_sticky {
    transition: opacity 0.4s ease, visibility 0.4s ease;
    opacity: 1;
    visibility: visible;
}

.box_sticky.fade-out {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

/* Loading state for submit button */
.box_rezerwuj .btn_wyslij.loading {
    pointer-events: none;
    cursor: wait;
    background-color: #00b2f4;
}

.box_rezerwuj .btn_wyslij.loading span {
    display: inline-flex;
    align-items: center;
    gap: 12px;
}

.box_rezerwuj .btn_wyslij.loading span::before {
    content: '';
    width: 20px;
    height: 20px;
    border: 3px solid rgba(255, 255, 255, 0.35);
    border-top-color: #fff;
    border-radius: 50%;
    animation: btn-spin 0.7s linear infinite;
    flex-shrink: 0;
}

/* Formularz opinii — strona_txt_opinia */
.box_form_opinia {
    border-radius: 25px;
    border: 1px solid #EBEBEB;
    background: #FFF;
    box-shadow: 26px 30px 37px 0 rgba(0, 0, 0, 0.15);
    position: relative;
    z-index: 3;
    margin: 0 0 40px;
}
.box_form_opinia .top {
    padding: 40px 40px 30px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.box_form_opinia .top h2 {
    margin: 0;
}
.box_form_opinia .box {
    position: relative;
    margin: 0 0 30px;
    padding: 0 40px 30px;
}
.box_form_opinia .box:last-of-type {
    padding: 20px 40px 40px;
    margin: 0;
}
.box_form_opinia .box .separator {
    height: 1px;
    width: calc(100% - 80px);
    background-color: #EBEBEB;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
}
.box_form_opinia .box h5 {
    margin: 0 0 10px;
}
.box_form_opinia .zbior_pol {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
    gap: 20px 0;
}
.box_form_opinia .zbior_pol > div {
    display: flex;
    flex-direction: column;
}
.box_form_opinia .polowa {
    width: 47.5%;
}
.box_form_opinia .caly {
    width: 100%;
}
.box_form_opinia label.form_text {
    display: block;
    font-family: 'Lato', sans-serif;
    font-size: 14px;
    color: #666;
    margin: 0 0 6px;
}
.box_form_opinia input[type="text"],
.box_form_opinia input[type="date"],
.box_form_opinia textarea {
    width: 100%;
    border: 1px solid #EBEBEB;
    border-radius: 10px;
    padding: 12px 16px;
    font-family: 'Lato', sans-serif;
    font-size: 14px;
    color: #222;
    background: #fff;
    box-sizing: border-box;
}
.box_form_opinia textarea {
    min-height: 120px;
    resize: vertical;
}
.box_form_opinia input:focus,
.box_form_opinia textarea:focus {
    outline: none;
    border-color: #f5a623;
}
.box_form_opinia .wiersz {
    display: flex;
    justify-content: center;
}
.box_form_opinia .btn_wyslij {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #f5a623;
    color: #fff;
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 15px;
    padding: 14px 34px;
    border: 0;
    border-radius: 999px;
    cursor: pointer;
    transition: background .15s ease;
}
.box_form_opinia .btn_wyslij:hover {
    background: #e09420;
}
.box_form_opinia .kolor_1 {
    color: #f5a623;
}

.ocena_gwiazdki {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin: 8px 0 12px 0;
    line-height: 1;
}
.ocena_label {
    margin-left: 12px;
    font-family: 'Lato', sans-serif;
    font-size: 14px;
    color: #f5a623;
    font-weight: 600;
    min-width: 110px;
}
.ocena_gwiazdki .gwiazdka {
    background: transparent;
    border: 0;
    padding: 4px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: transform .15s ease;
}
.ocena_gwiazdki .gwiazdka svg {
    width: 28px;
    height: 28px;
    display: block;
}
.ocena_gwiazdki .gwiazdka svg path,
.ocena_gwiazdki .gwiazdka svg polygon {
    fill: #d0d0d0;
    transition: fill .15s ease;
}
.ocena_gwiazdki .gwiazdka.active svg path,
.ocena_gwiazdki .gwiazdka.active svg polygon,
.ocena_gwiazdki .gwiazdka.hover svg path,
.ocena_gwiazdki .gwiazdka.hover svg polygon {
    fill: #f5a623;
}
.ocena_gwiazdki .gwiazdka:hover {
    transform: scale(1.08);
}

.komunikat {
    border-radius: 8px;
    padding: 24px 28px;
    margin: 20px 0;
}
.komunikat h2 {
    margin: 0 0 10px 0;
    font-size: 22px;
}
.komunikat p {
    margin: 0;
}
.komunikat_sukces {
    background: #d4edda;
    border: 1px solid #c3e6cb;
    color: #155724;
}
.komunikat_blad {
    background: #f8d7da;
    border: 1px solid #f5c6cb;
    color: #721c24;
}
.komunikat_info {
    background: #e7f3fe;
    border: 1px solid #b6dafa;
    color: #084c8d;
}

.box_opinia_podsumowanie h5 {
    margin: 0 0 6px 0;
}
.box_opinia_podsumowanie p {
    margin: 0 0 12px 0;
    color: #666666;
}
/* Komunikat o nieaktualnym terminie — daty z linku lub starego cookie
   zostały wyczyszczone, bo pobyt już minął */
.info_termin_nieaktualny {
    margin: 0 0 16px 0;
    padding: 12px 16px;
    border-left: 3px solid #ef7909;
    background: #fdf3e9;
    color: #3c3c3b;
    font-size: 14px;
    line-height: 20px;
}

/* Okresy specjalne w cenniku (święta, sylwester) — ta sama stylistyka co siatka
   miesięcy powyżej: biała karta w zaokrąglonej ramce, cena dużym pomarańczowym drukiem */
.oferta_cennik_sezonowy .box_cennik_okresy {
    margin: 25px 0 0;
    border-radius: 25px;
    border: 1px solid #EBEBEB;
    padding: 30px 40px;
    background-color: #fff;
}

.oferta_cennik_sezonowy .box_cennik_okresy h4 {
    /* wyrazniejszy od nazwy okresu (600/17px) — inaczej naglowek gubil sie w liscie */
    margin: 0 0 20px;
    font: 700 19px/26px 'Titillium Web', sans-serif;
    color: #3c3c3b;
}

.oferta_cennik_sezonowy .box_okres {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin: 0 0 15px;
}

.oferta_cennik_sezonowy .box_okres:last-child {
    margin-bottom: 0;
}

.oferta_cennik_sezonowy .box_okres .okres_nazwa {
    font: 600 17px/24px 'Titillium Web', sans-serif;
}

.oferta_cennik_sezonowy .box_okres .okres_daty {
    display: block;
    font: 400 15px/22px 'Titillium Web', sans-serif;
    color: #85959F;
}

.oferta_cennik_sezonowy .box_okres .cena {
    color: #85959F;
    font: 400 17px/24px 'Titillium Web', sans-serif;
}

.oferta_cennik_sezonowy .box_okres .cena span {
    font: 600 24px/24px 'Titillium Web', sans-serif;
}
