/*
Theme Name: Boso Bali Villas
Theme URI: https://bosobalivillas.com/
Description: Child theme for Stockholm, prepared for Boso Bali Villas.
Author: Boso Bali Villas
Template: stockholm
Version: 1.5.3
Text Domain: stockholm-child
*/

/* Organizacja arkusza: reguły wspólne, header, podstrony i lokalne media queries | strony: wszystkie */

@font-face {
    font-family: "Bulgari";
    src: url("/wp-content/themes/stockholm-child/fonts/bulgari.woff2") format("woff2"),
         url("/wp-content/themes/stockholm-child/fonts/bulgari.woff") format("woff");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: "South Castle";
    src: url("/wp-content/themes/stockholm-child/fonts/south-castle.woff2") format("woff2"),
         url("/wp-content/themes/stockholm-child/fonts/south-castle.woff") format("woff");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

/* Globalne i wspólne reguły | strony: wszystkie */

/* Kolory, szerokości i odstępy | strony: home, about, villas, villa-i, villa-ii, villa-iii, villa-iv, gallery, gallery-villas, gallery-outdoors, gallery-people, contact, reserve, terms, privacy-policy, cookie-policy-eu, qr */
:root {
    --boso-ink: #171716;
    --boso-paper: #fcfcfa;
    --boso-sand: #e8dfd3;
    --boso-line: #d8d5d1;
    --boso-grid: 1100px;
    --boso-pad: 24px;
    --boso-header-axis: max(var(--boso-pad), calc((100vw - var(--boso-grid)) / 2));
}

/* Układ i wygląd elementów | strony: home, about, villas, villa-i, villa-ii, villa-iii, villa-iv, gallery, gallery-villas, gallery-outdoors, gallery-people, contact, reserve, terms, privacy-policy, cookie-policy-eu, qr */
body {
    color: var(--boso-ink);
    background: var(--boso-paper);
}

/* Układ i wygląd elementów | strony: about, villas, villa-i, villa-ii, villa-iii, villa-iv, gallery, gallery-villas, gallery-outdoors, gallery-people, contact, reserve, terms, privacy-policy, cookie-policy-eu */
#back_to_top {
    display: none !important;
}

/* Układ i wygląd elementów | strony: home, about, villas, villa-i, villa-ii, villa-iii, villa-iv, gallery, gallery-villas, gallery-outdoors, gallery-people, contact, reserve, terms */
@media only screen and (min-width: 768px) {
    body.page .content .wpb-content-wrapper > .vc_row {
        box-sizing: border-box;
        width: 100%;
        max-width: none;
        margin-right: 0 !important;
        margin-left: 0 !important;
    }
}

/* Układ i wygląd elementów | strony: home, about, villas, villa-i, villa-ii, villa-iii, villa-iv, gallery, gallery-villas, gallery-outdoors, gallery-people, contact, reserve, terms */
body.page .content .wpb-content-wrapper > .vc_row > .full_section_inner > .vc_col-sm-12 > .vc_column-inner {
    padding-right: 0 !important;
    padding-left: 0 !important;
}

/* Hero — obraz i typografia | strony: home, about, villas, villa-i, villa-ii, villa-iii, villa-iv */
.boso-hero__image,
.boso-subhero__image {
    position: relative;
    z-index: 0;
    overflow: hidden;
}

.boso-hero > .full_section_inner,
.boso-subhero > .full_section_inner {
    z-index: auto !important;
}

.boso-hero__image::before,
.boso-subhero__image::before,
.boso-hero__image::after,
.boso-subhero__image::after,
.boso-hero::before,
.boso-subhero::before {
    content: "";
    display: block !important;
    position: absolute;
    inset: 0;
    pointer-events: none;
}

.boso-hero__image::before,
.boso-subhero__image::before {
    z-index: 1;
    background: #e8dfd3;
    mix-blend-mode: multiply;
    opacity: 1;
}

.boso-hero__image::after,
.boso-subhero__image::after {
    z-index: 2;
    background: rgba(232, 223, 211, .31);
}

.boso-hero::before,
.boso-subhero::before {
    z-index: 3;
    background: #e8dfd3;
    mix-blend-mode: multiply;
    opacity: 1;
}

/* Układ i wygląd elementów | strony: home, about, villas, villa-i, villa-ii, villa-iii, villa-iv, gallery, gallery-villas, gallery-outdoors, gallery-people, contact, reserve, terms */
.boso-kicker {
    margin: 0 0 clamp(54px, 4.48vw, 86px);
    font: 400 clamp(14px, 1.198vw, 23px)/1 "Josefin Sans", sans-serif;
    letter-spacing: .3em;
    text-transform: uppercase;
}

/* Układ i wygląd elementów | strony: home, villa-i, villa-ii, villa-iii, villa-iv */
.boso-book-bar {
    position: absolute;
    z-index: 5;
    right: 0;
    bottom: 19.6%;
    left: 0;
    height: clamp(45px, 4.323vw, 83px);
    margin: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
}

/* Układ paska rezerwacji | strony: home, villa-i, villa-ii, villa-iii, villa-iv */
.boso-book-bar .vc_btn3-container {
    height: 100%;
    margin: 0;
    border: 0 !important;
}

/* Układ i wygląd elementów | strony: home, villa-i, villa-ii, villa-iii, villa-iv */
.boso-book-bar .vc_btn3 {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    min-height: 0;
    padding: 0 0 0 24px;
    box-sizing: border-box;
    border: 0 !important;
    border-radius: 0 !important;
    background: rgba(252, 252, 250, .47) !important;
    box-shadow: none !important;
    color: #fff !important;
    font: 600 13px / 1 "Josefin Sans", sans-serif;
    letter-spacing: 5px;
}

/* Galeria i jej nawigacja | strony: home, about, villa-i */
.boso-gallery-strip {
    border-bottom: 1px solid var(--boso-line);
}

/* Karty willi | strony: home, about, villas, villa-i, villa-ii, villa-iii, villa-iv, gallery, gallery-villas, gallery-outdoors, gallery-people, contact */
.boso-gallery-strip .wpb_content_element,
.boso-villa-card .wpb_content_element,
.boso-definition .wpb_content_element,
.boso-social-strip .wpb_content_element {
    margin-bottom: 0;
}

.boso-gallery-strip .vc_column-inner,
.boso-villa-card .vc_column-inner,
.boso-definition .vc_column-inner,
.boso-social-strip .vc_column-inner {
    padding: 0 !important;
}

/* Pas zdjęć Instagram | strony: home, about, villas, villa-i, villa-ii, villa-iii, villa-iv, gallery, gallery-villas, gallery-outdoors, gallery-people, contact */
.boso-gallery-strip .full_section_inner,
.boso-social-strip .full_section_inner {
    display: flex !important;
    flex-wrap: wrap;
    align-items: stretch;
}

/* Galeria i jej nawigacja | strony: home, about, villa-i */
.boso-gallery-strip .vc_single_image-wrapper,
.boso-gallery-strip img {
    display: block;
    width: 100%;
}

.boso-gallery-strip img {
    height: 440px;
    object-fit: cover;
}

.boso-gallery-strip .full_section_inner > div:nth-child(1) img {
    object-position: center 41.7%;
}

.boso-gallery-strip .full_section_inner > div:nth-child(2) img {
    object-position: center center;
}

.boso-gallery-strip .full_section_inner > div:nth-child(3) img {
    object-position: center center;
}

/* Linki i przyciski | strony: home, about, villa-i, villa-ii, villa-iii, villa-iv, gallery, gallery-villas, gallery-outdoors, gallery-people, reserve, terms */
.boso-link-button .vc_btn3 {
    border-width: 0 0 1px !important;
    padding: 10px 4px !important;
    font: 600 12px/1 "Josefin Sans", sans-serif;
    letter-spacing: 4px;
}

.boso-link-button .vc_btn3::after {
    content: "·›";
    position: absolute;
    top: calc(100% + 18px);
    left: 50%;
    color: var(--boso-ink);
    font-size: max(32px, calc(1em + 10px));
    font-weight: 400;
    line-height: 1;
    letter-spacing: 1px;
    transform: translate(-50%, -1.5px);
}

/* Nagłówek opinii | strony: home, about, villas, villa-i, villa-ii, villa-iii, villa-iv, gallery, gallery-villas, gallery-outdoors, gallery-people, contact */
.boso-section-heading .wpb_wrapper,
.boso-section-heading h2,
.boso-moments-heading .wpb_wrapper,
.boso-moments-heading h2,
.boso-moments-heading p,
.boso-social-heading .wpb_wrapper,
.boso-social-heading h2,
.boso-social-heading p {
    text-align: center !important;
}

/* Karty willi | strony: home, about, villas, villa-i, villa-ii, villa-iii, villa-iv, gallery, gallery-villas, gallery-outdoors, gallery-people, contact */
.boso-section-heading h2,
.boso-villa-card h3,
.boso-definition h2,
.boso-moments-heading h2,
.boso-social-heading h2 {
    color: var(--boso-ink);
    font-family: "Bulgari", serif;
    font-weight: 400;
    font-style: normal !important;
    text-transform: none !important;
}

/* Karty willi | strony: home, villas */
.boso-villa-card {
    min-height: 0;
    border: 0;
}

.boso-villa-card__image,
.boso-villa-card__copy {
    display: flex;
}

.boso-villa-card__image > .vc_column-inner,
.boso-villa-card__copy > .vc_column-inner {
    width: 100%;
    min-height: 0;
}

.boso-villa-card__image .wpb_wrapper,
.boso-villa-card__image .wpb_single_image,
.boso-villa-card__image .vc_figure,
.boso-villa-card__image .vc_single_image-wrapper,
.boso-villa-card__image img {
    display: block;
    width: 100%;
    height: 100%;
    margin: 0;
}

.boso-villa-card__image img {
    min-height: 0;
    object-fit: cover;
}

.boso-villa-card__copy > .vc_column-inner {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 72px 13% !important;
}

@media only screen and (min-width: 768px) {
    body .content .boso-villa-card > .full_section_inner {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
        align-items: stretch;
        gap: 0 !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        aspect-ratio: 1920 / 815;
    }
}

@media only screen and (min-width: 768px) {
    body .content .boso-villa-card > .full_section_inner::before,
body .content .boso-villa-card > .full_section_inner::after {
        display: none !important;
        content: none !important;
    }
}

@media only screen and (min-width: 768px) {
    body .content .boso-villa-card > .full_section_inner > .vc_column_container {
        float: none !important;
        position: static !important;
        min-width: 0 !important;
        width: auto !important;
        max-width: none !important;
        height: 100%;
        margin: 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
    }
}

@media only screen and (min-width: 768px) {
    body .content .boso-villa-card__image > .vc_column-inner,
body .content .boso-villa-card__image .wpb_wrapper,
body .content .boso-villa-card__image .wpb_single_image,
body .content .boso-villa-card__image .vc_figure,
body .content .boso-villa-card__image .vc_single_image-wrapper,
body .content .boso-villa-card__image img {
        display: block;
        width: 100% !important;
        max-width: none !important;
        height: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
    }
}

.boso-villa-card h3 {
    margin: 0 0 clamp(42px, 3.385vw, 65px);
    font-size: clamp(72px, 6.25vw, 120px);
    line-height: 1;
}

.boso-villa-card p {
    max-width: 474px;
    font-family: "Bulgari", serif;
    font-size: clamp(18px, 1.51vw, 29px);
    line-height: 1.414;
}

/* Odręczny podpis | strony: home, about, villas, villa-i */
.boso-script {
    margin: clamp(44px, 4.167vw, 80px) 0 clamp(24px, 2.083vw, 40px) !important;
    font-family: "South Castle", cursive;
    font-size: clamp(38px, 3.125vw, 60px) !important;
    line-height: 1.25 !important;
}

/* Karty willi | strony: home, villas */
.boso-villa-card p.boso-script {
    font-family: "South Castle", cursive !important;
    font-size: clamp(38px, 3.125vw, 60px) !important;
    font-weight: 400 !important;
    font-style: normal !important;
    line-height: 1.25 !important;
}

/* Odręczny podpis | strony: home, about, villas, villa-i */
.boso-script,
.boso-script p {
    font-family: "South Castle", cursive !important;
    font-style: normal !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
}

/* Dziedziczenie rozmiaru i interlinii odręcznego podpisu | strony: home, about, villas, villa-i */
.boso-script p {
    font-size: inherit !important;
    line-height: inherit !important;
}

/* Odręczny podpis | strony: home, about, villas, villa-i */
.boso-script-dash {
    position: relative;
    display: inline-block;
    width: clamp(16px, 1.5vw, 30px);
    height: 1px !important;
    margin: 0 .12em;
    background: transparent !important;
    vertical-align: middle;
    font-size: 0 !important;
    color: transparent !important;
}

.boso-script-dash::before {
    content: "";
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 1px;
    background: var(--boso-ink) !important;
}

/* Zdjęcia i szczegóły willi | strony: home, villas */
.boso-details-link {
    margin: 0 !important;
}

.boso-details-link .vc_btn3 {
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: var(--boso-ink) !important;
    box-shadow: none !important;
    font: 400 clamp(13px, .99vw, 19px)/1 "Josefin Sans", sans-serif;
    letter-spacing: .3em;
}

/* Karty willi | strony: home, villas */
.boso-villa-card .boso-details-link .vc_btn3 {
    font-family: "Josefin Sans", sans-serif !important;
    font-size: clamp(13px, .99vw, 19px) !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    letter-spacing: .3em !important;
}

/* Zdjęcia i szczegóły willi | strony: home, villas */
.boso-details-link .vc_btn3::after {
    content: "·›";
    display: inline-block;
    margin-left: 7px;
    font-size: calc(1em + 10px);
    font-weight: 400;
    line-height: 1;
    letter-spacing: 1px;
    transform: translateY(0);
}

/* Podpis autora opinii | strony: home */
.boso-testimonials cite span {
    display: block;
    margin-top: 12px;
    font: 600 10px/1 "Josefin Sans", sans-serif;
    letter-spacing: 5px;
}

/* Nagłówek Instagram | strony: home, about, villas, villa-i, villa-ii, villa-iii, villa-iv, gallery, gallery-villas, gallery-outdoors, gallery-people, contact */
.boso-social-heading {
    padding: 150px 0 94px;
    text-align: center;
}

.boso-social-heading h2 {
    margin: 0 0 44px;
    font-size: 50px;
    line-height: 1.2;
}

.boso-social-heading a {
    color: var(--boso-ink);
    font: 600 11px/1 "Josefin Sans", sans-serif;
    letter-spacing: 4px;
}

/* Pas zdjęć Instagram | strony: home, about, villas, villa-i, villa-ii, villa-iii, villa-iv, gallery, gallery-villas, gallery-outdoors, gallery-people, contact */
.boso-social-strip {
    overflow: hidden;
}

.boso-social-strip .vc_single_image-wrapper,
.boso-social-strip img {
    display: block;
    width: 100%;
}

.boso-social-strip img {
    height: min(33.385vw, 641px);
    object-fit: cover;
}

/* Stopka | strony: home, about, villas, villa-i, villa-ii, villa-iii, villa-iv, gallery, gallery-villas, gallery-outdoors, gallery-people, contact, reserve, terms */
.boso-footer-row {
    box-sizing: border-box;
    width: 100%;
    max-width: none;
    padding: 296px 0 79px;
    overflow: hidden;
}

.boso-footer-row > .full_section_inner,
.boso-footer-row > .full_section_inner > .vc_column_container,
.boso-footer-row > .full_section_inner > .vc_column_container > .vc_column-inner {
    width: 100% !important;
    max-width: none !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
}

.boso-footer-row__logo {
    margin-bottom: 178px !important;
    text-align: center;
}

.boso-footer-row__logo img {
    width: 316px;
    max-width: 82vw;
}

body .boso-footer-row__nav nav {
    position: relative;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    width: min(81.875%, 1572px) !important;
    height: 36px !important;
    min-height: 36px !important;
    margin: 0 auto !important;
    border: 0;
}

body .boso-footer-row__nav nav::before,
body .boso-footer-row__nav nav::after {
    content: "";
    position: absolute;
    left: 50%;
    width: 100vw;
    border-top: 1px solid var(--boso-line);
    transform: translateX(-50%);
}

body .boso-footer-row__nav nav::before {
    top: 0;
}

body .boso-footer-row__nav nav::after {
    bottom: 0;
}

body .boso-footer-row__nav nav a {
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    height: 36px !important;
    min-height: 36px !important;
    padding: 4px 20px 0 !important;
    border-left: 1px solid var(--boso-line);
    color: var(--boso-ink);
    text-align: center;
    font: 600 12px/1.2 "Josefin Sans", sans-serif !important;
    letter-spacing: 3.1px !important;
}

body .boso-footer-row__nav nav a:last-child {
    border-right: 1px solid var(--boso-line);
}

body .boso-footer-row__nav > .wpb_wrapper {
    border: 0 !important;
}

.boso-footer-row__nav > .wpb_wrapper > div {
    display: flex;
    justify-content: space-between;
    padding: 63px 13.125% 0;
    font: 500 10px/1 "Josefin Sans", sans-serif;
    letter-spacing: 3px;
}

.boso-footer-row__nav > .wpb_wrapper > div a {
    color: var(--boso-ink);
}

.boso-footer-socials {
    display: inline-flex;
    align-items: center;
    gap: 14px;
}

/* Stopka | strony: villa-i, villa-ii, villa-iii, villa-iv, gallery-villas, gallery-outdoors, gallery-people, reserve, terms */
.boso-footer-socials > span {
    letter-spacing: 0;
}

/* Hero — obraz i typografia | strony: about, villas, villa-i, villa-ii, villa-iii, villa-iv */
.boso-subhero {
    position: relative;
    overflow: hidden;
    isolation: isolate;
}

.boso-subhero .wpb_content_element {
    margin-bottom: 0;
}

.boso-subhero__image .vc_single_image-wrapper {
    display: block;
    width: 100%;
}

.boso-subhero__image img {
    display: block;
    width: 100%;
    height: 760px;
    object-fit: cover;
}

.boso-subhero__copy {
    position: absolute !important;
    z-index: 4;
    top: 20%;
    right: 8%;
    left: var(--boso-header-axis);
    max-width: 1100px;
    color: #fff;
}

.boso-subhero__copy,
.boso-subhero__copy > .vc_column_container,
.boso-subhero__copy > .vc_column_container > .vc_column-inner {
    box-sizing: border-box;
    margin-right: 0 !important;
    margin-left: 0 !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
}

/* Hero — obraz i typografia | strony: about, villas, villa-i, villa-ii, villa-iii, villa-iv, gallery, contact, reserve */
.boso-subhero__copy .wpb_content_element,
.boso-page-intro__title,
.boso-page-intro__kicker {
    margin-bottom: 0 !important;
}

/* Hero — obraz i typografia | strony: about, villas, villa-i, villa-ii, villa-iii, villa-iv */
.boso-subhero__copy h1 {
    margin: 0;
    color: #fff !important;
    font-family: "IvyPresto Display", "ivypresto-display", serif;
    font-size: 78px;
    font-style: italic !important;
    font-weight: 300;
    line-height: 1.06;
    letter-spacing: -.025em;
    text-transform: none !important;
}

.boso-subhero__copy .boso-kicker {
    margin: 0;
    color: #fff;
    font: 600 14px/1.55 "Josefin Sans", sans-serif;
    letter-spacing: .3em;
    text-transform: uppercase;
}

/* Wprowadzenie do podstrony | strony: villas, villa-i, villa-ii, villa-iii, villa-iv, gallery, gallery-villas, gallery-outdoors, gallery-people, contact, reserve, terms */
.boso-page-intro {
    padding: 130px 0 100px;
    text-align: center !important;
}

.boso-page-intro .wpb_wrapper,
.boso-page-intro h1,
.boso-page-intro h2,
.boso-page-intro p {
    text-align: center !important;
}

.boso-page-intro h1,
.boso-page-intro h2 {
    margin: 0 0 35px;
    color: var(--boso-ink);
    font-size: 78px;
    line-height: 1;
    text-transform: none !important;
}

/* Wprowadzenie do podstrony | strony: gallery, gallery-villas, gallery-outdoors, gallery-people, contact, reserve, terms */
.boso-page-intro h1 {
    font-family: "IvyPresto Display", "ivypresto-display", serif;
    font-style: italic !important;
    font-weight: 300;
    letter-spacing: -.025em;
}

/* Wprowadzenie do podstrony | strony: villas, villa-i, villa-ii, villa-iii, villa-iv */
.boso-page-intro h2 {
    font-family: "Bulgari", serif;
    font-style: normal !important;
    font-weight: 400;
}

/* Wprowadzenie do podstrony | strony: villa-ii, villa-iii, villa-iv, gallery, gallery-villas, gallery-outdoors, gallery-people, contact, reserve, terms */
.boso-page-intro p {
    max-width: 720px;
    margin-right: auto;
    margin-left: auto;
    font-size: 16px;
    line-height: 1.8;
}

/* Znak graficzny | strony: about, villas, villa-i, villa-ii, villa-iii, villa-iv, gallery, gallery-villas, gallery-outdoors, gallery-people, contact, reserve, terms */
.boso-mark img {
    width: 150px;
    max-height: 62px;
}

/* Hero — obraz i typografia | strony: about, villas, villa-i, villa-ii, villa-iii, villa-iv, gallery, gallery-villas, gallery-outdoors, gallery-people, contact, reserve, terms */
@media only screen and (min-width: 768px) {
    .boso-subhero__copy h1,
.boso-page-intro h1 {
        font-size: clamp(120px, 10.417vw, 200px);
        font-weight: 300;
        line-height: 1.04;
        letter-spacing: -.025em;
    }
}

/* Wprowadzenie do podstrony | strony: gallery, contact, reserve */
@media only screen and (min-width: 768px) {
    body:is(.page-id-23, .page-id-25, .page-id-176) .boso-page-intro,
body:is(.page-id-23, .page-id-25, .page-id-176) .boso-page-intro .wpb_wrapper,
body:is(.page-id-23, .page-id-25, .page-id-176) .boso-page-intro h1,
body:is(.page-id-23, .page-id-25, .page-id-176) .boso-page-intro p {
        text-align: left !important;
    }
}

@media only screen and (min-width: 768px) {
    body:is(.page-id-23, .page-id-25, .page-id-176) .boso-page-intro h1 {
        margin: 0;
    }
}

@media only screen and (min-width: 768px) {
    body:is(.page-id-23, .page-id-25, .page-id-176) .boso-page-intro .boso-kicker {
        max-width: none;
        margin: 0 0 64px;
        font: 600 14px/1.55 "Josefin Sans", sans-serif;
        letter-spacing: .3em;
        text-transform: uppercase;
    }
}

@media only screen and (min-width: 768px) {
    body:is(.page-id-23, .page-id-25, .page-id-176) .boso-page-intro .boso-mark {
        text-align: left !important;
    }
}

/* Zaproszenie do rezerwacji | strony: about, villa-ii, villa-iii, villa-iv, gallery, gallery-villas, gallery-outdoors, gallery-people, reserve, terms */
.boso-ready {
    padding: 145px 0;
    text-align: center !important;
}

.boso-ready .wpb_wrapper,
.boso-ready h2,
.boso-ready p {
    text-align: center !important;
}

.boso-ready h2 {
    margin: 0 0 48px;
    color: var(--boso-ink);
    font-family: "Bulgari", serif;
    font-size: 68px;
    font-style: normal !important;
    font-weight: 400;
    line-height: 1.05;
    text-transform: none !important;
}

/* Układ i wygląd elementów | strony: gallery, gallery-villas, gallery-outdoors, gallery-people */
.boso-category-nav {
    margin: 0 !important;
    padding: 0;
}

.boso-category-nav > .full_section_inner > .vc_column_container > .vc_column-inner {
    padding: 0 !important;
}

.boso-category-nav .wpb_wrapper {
    display: grid;
    grid-template-columns: minmax(0, 1fr) repeat(3, 150px) minmax(0, 1fr);
    align-items: stretch;
    gap: 0;
    width: 100%;
}

.boso-category-nav .wpb_wrapper::before,
.boso-category-nav .wpb_wrapper::after {
    content: "";
    display: block;
    height: 36px;
    box-sizing: border-box;
    border-top: 1px solid var(--boso-line);
    border-bottom: 1px solid var(--boso-line);
}

.boso-category-nav .vc_btn3-container {
    height: 36px;
    margin: 0 !important;
}

.boso-category-nav .vc_btn3 {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-width: 0;
    height: 36px;
    padding: 4px 12px 0 !important;
    box-sizing: border-box;
    border: 0 !important;
    border-top: 1px solid var(--boso-line) !important;
    border-bottom: 1px solid var(--boso-line) !important;
    border-left: 1px solid var(--boso-line) !important;
    border-radius: 0 !important;
    background: #fff !important;
    box-shadow: none !important;
    color: #373431 !important;
    font: 600 12px/1.2 "Josefin Sans", sans-serif;
    letter-spacing: 3.1px;
    text-transform: uppercase;
    text-shadow: none !important;
}

.boso-category-nav .vc_btn3-container:last-of-type .vc_btn3 {
    border-right: 1px solid var(--boso-line) !important;
}

/* Układ i wygląd elementów | strony: gallery-villas, gallery-outdoors, gallery-people */
body.page-id-240 .boso-category-nav .vc_btn3-container:nth-child(1) .vc_btn3,
body.page-id-241 .boso-category-nav .vc_btn3-container:nth-child(2) .vc_btn3,
body.page-id-242 .boso-category-nav .vc_btn3-container:nth-child(3) .vc_btn3 {
    background: var(--boso-sand) !important;
    color: var(--boso-ink) !important;
}

/* Układ i wygląd elementów | strony: gallery, gallery-villas, gallery-outdoors, gallery-people */
.boso-category-nav .vc_btn3:hover,
.boso-category-nav .vc_btn3:focus {
    background: var(--boso-sand) !important;
    color: var(--boso-ink) !important;
}

/* Galeria i jej nawigacja | strony: villa-ii, villa-iii, villa-iv, gallery, gallery-villas, gallery-outdoors, gallery-people */
.boso-gallery-grid .vc_column-inner {
    padding: 6px !important;
}

.boso-gallery-grid .wpb_content_element {
    margin-bottom: 0;
}

.boso-gallery-grid img {
    display: block;
    width: 100%;
    height: 430px;
    object-fit: cover;
}

/* Galeria i jej nawigacja | strony: villa-ii, villa-iii, villa-iv, gallery-villas, gallery-outdoors, gallery-people */
.boso-gallery-grid--tall img {
    height: 560px;
}

/* Galeria i jej nawigacja | strony: gallery */
body.page-id-23 .content .wpb-content-wrapper > .boso-gallery-grid {
    width: min(var(--boso-grid), 100vw) !important;
    max-width: none !important;
    margin-right: auto !important;
    margin-left: auto !important;
}

/* Nagłówek panelu kontaktowego | strony: contact */
.boso-contact-panel h2 {
    margin: 0 0 50px;
    color: var(--boso-ink);
    font-family: "Bulgari", serif;
    font-size: 56px;
    font-weight: 400;
    text-transform: none !important;
}

.boso-contact-panel img {
    width: 100%;
    height: 600px;
    object-fit: cover;
}

/* Galeria i jej nawigacja | strony: home */
@media only screen and (min-width: 1001px) {
    body.home .boso-gallery-strip > .full_section_inner {
        display: grid !important;
        grid-template-columns: 28.073% 39.948% 29.948%;
        gap: 1.016%;
        width: 100% !important;
        margin: 0 !important;
    }
}

/* Hero — obraz i typografia | strony: home, about, villas, villa-i, villa-ii, villa-iii, villa-iv, gallery, contact, reserve */
@media only screen and (min-width: 1001px) {
    body.home .boso-hero .boso-kicker,
.boso-subhero__copy .boso-kicker,
body:is(.page-id-23, .page-id-25, .page-id-176) .boso-page-intro .boso-kicker {
        letter-spacing: .3em !important;
    }
}

/* Hero — obraz i typografia | strony: about, villas */
@media only screen and (min-width: 1001px) {
    body:is(.page-id-21, .page-id-27) .boso-subhero {
        height: min(35.375vw, 679px);
    }
}

/* Hero — obraz i typografia | strony: villa-i, villa-ii, villa-iii, villa-iv */
@media only screen and (min-width: 1001px) {
    body:is(.page-id-171, .page-id-235, .page-id-237, .page-id-239) .boso-subhero {
        height: min(45.833vw, 880px);
    }
}

/* Hero — obraz i typografia | strony: about, villas, villa-i, villa-ii, villa-iii, villa-iv */
@media only screen and (min-width: 1001px) {
    .boso-subhero__copy {
        top: 17.75%;
        right: auto;
        left: var(--boso-header-axis);
        width: min(47.31%, 908px);
    }
}

@media only screen and (min-width: 1001px) {
    .boso-subhero__copy h1 {
        margin: 0;
        font-family: "IvyPresto Display", "ivypresto-display", serif;
        font-size: clamp(120px, 10.417vw, 200px);
        font-weight: 200;
        line-height: 1.04;
    }
}

@media only screen and (min-width: 1001px) {
    .boso-subhero-space {
        height: min(5.625vw, 108px) !important;
    }
}

@media only screen and (min-width: 1001px) {
    .boso-subhero__copy .boso-kicker {
        margin: 0;
        font-size: clamp(14px, 1.198vw, 23px);
        font-weight: 400;
        line-height: 1.45;
        letter-spacing: .3em;
    }
}

/* Hero — obraz i typografia | strony: villa-ii, villa-iii, villa-iv */
@media only screen and (min-width: 1001px) {
    body:is(.page-id-235, .page-id-237, .page-id-239) .boso-subhero__image img {
        object-position: center;
    }
}

/* Hero — obraz i typografia | strony: about, villas, villa-i, villa-ii, villa-iii, villa-iv */
@media only screen and (min-width: 1001px) {
    body:is(.page-id-21, .page-id-27, .page-id-171, .page-id-235, .page-id-237, .page-id-239) .boso-subhero__image img {
        width: 100% !important;
        max-width: none !important;
        margin-right: 0 !important;
        margin-left: 0 !important;
    }
}

/* Wysokość definicji słowa na desktopie | strony: about */
@media only screen and (min-width: 1001px) {
    body.page-id-21 .boso-about-story + .boso-centered-definition {
        height: min(45.443vw, 873px);
    }
}

@media only screen and (min-width: 1001px) {
    body.page-id-21 .boso-about-person + .boso-centered-definition {
        height: min(36.792vw, 706px);
    }
}

@media only screen and (min-width: 1001px) {
    body.page-id-21 .boso-centered-definition .wpb_text_column:first-child .wpb_wrapper > p:first-of-type {
        font-family: "IvyPresto Display", "ivypresto-display", serif;
        font-size: clamp(16px, 1.25vw, 24px);
        line-height: 1.3;
    }
}

/* Galeria i jej nawigacja | strony: about, villa-i */
@media only screen and (min-width: 1001px) {
    body.page-id-21 .boso-gallery-strip,
body:is(.page-id-171, .page-id-235, .page-id-237, .page-id-239) .boso-gallery-strip {
        height: min(31.042vw, 596px);
        overflow: hidden;
    }
}

@media only screen and (min-width: 1001px) {
    body.page-id-21 .boso-gallery-strip > .full_section_inner,
body:is(.page-id-171, .page-id-235, .page-id-237, .page-id-239) .boso-gallery-strip > .full_section_inner {
        display: grid !important;
        grid-template-columns: 28.073% 39.948% 29.948%;
        gap: 1.016%;
        width: 100% !important;
        height: 100%;
        margin: 0 !important;
    }
}

@media only screen and (min-width: 1001px) {
    body.page-id-21 .boso-gallery-strip :is(.vc_column_container, .vc_column-inner, .wpb_wrapper, .wpb_single_image, .vc_figure, .vc_single_image-wrapper, img),
body:is(.page-id-171, .page-id-235, .page-id-237, .page-id-239) .boso-gallery-strip :is(.vc_column_container, .vc_column-inner, .wpb_wrapper, .wpb_single_image, .vc_figure, .vc_single_image-wrapper, img) {
        width: 100% !important;
        max-width: none !important;
        height: 100% !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }
}

/* Wprowadzenie do podstrony | strony: villa-i, villa-ii, villa-iii, villa-iv */
@media only screen and (min-width: 1001px) {
    body:is(.page-id-171, .page-id-235, .page-id-237, .page-id-239) .boso-page-intro {
        display: flex;
        align-items: center;
        justify-content: center;
        box-sizing: border-box;
        height: min(35.625vw, 684px);
        padding: 0;
    }
}

@media only screen and (min-width: 1001px) {
    body:is(.page-id-171, .page-id-235, .page-id-237, .page-id-239) .boso-page-intro h2 {
        margin: 0 0 clamp(30px, 2.604vw, 50px);
        font-size: clamp(64px, 4.688vw, 90px);
        line-height: 1.11;
    }
}

/* Galeria i jej nawigacja | strony: gallery */
@media only screen and (min-width: 1001px) {
    body.page-id-23 .content .wpb-content-wrapper > .boso-gallery-grid {
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        margin-right: 0 !important;
        margin-left: 0 !important;
    }
}

/* Wprowadzenie do podstrony | strony: gallery, contact, reserve */
@media only screen and (min-width: 1001px) {
    body:is(.page-id-23, .page-id-25, .page-id-176) .boso-page-intro {
        box-sizing: border-box;
        min-height: min(36.25vw, 696px);
        padding: min(6.25vw, 120px) var(--boso-header-axis) 0;
    }
}

/* Wprowadzenie do podstrony | strony: gallery, contact */
@media only screen and (min-width: 1001px) {
    body:is(.page-id-23, .page-id-25) .boso-page-intro,
body:is(.page-id-23, .page-id-25) .boso-page-intro .wpb_wrapper,
body:is(.page-id-23, .page-id-25) .boso-page-intro h1,
body:is(.page-id-23, .page-id-25) .boso-page-intro h2,
body:is(.page-id-23, .page-id-25) .boso-page-intro p {
        text-align: left !important;
    }
}

/* Wprowadzenie do podstrony | strony: gallery, contact, reserve */
@media only screen and (min-width: 1001px) {
    body:is(.page-id-23, .page-id-25, .page-id-176) .boso-page-intro h1 {
        margin: 0;
        font-family: "IvyPresto Display", "ivypresto-display", serif;
        font-size: clamp(120px, 10.417vw, 200px);
        line-height: 1.04;
    }
}

@media only screen and (min-width: 1001px) {
    body:is(.page-id-23, .page-id-25, .page-id-176) .boso-page-intro-space--title {
        height: min(5.625vw, 108px) !important;
    }
}

@media only screen and (min-width: 1001px) {
    body:is(.page-id-23, .page-id-25, .page-id-176) .boso-page-intro p {
        max-width: 692px;
        margin: 0;
        font: 400 clamp(14px, 1.198vw, 23px)/1.45 "Josefin Sans", sans-serif;
        letter-spacing: .3em;
    }
}

/* Rozmiar nagłówka kontaktowego na desktopie | strony: contact */
@media only screen and (min-width: 1001px) {
    body.page-id-25 .boso-contact-panel h2 {
        font-size: clamp(72px, 6.25vw, 120px);
    }
}

/* Układ i wygląd elementów | strony: about, villas, villa-i, villa-ii, villa-iii, villa-iv, gallery, gallery-villas, gallery-outdoors, gallery-people, contact, reserve, terms, privacy-policy, cookie-policy-eu */
@media only screen and (max-width: 1000px) {
    .logo_wrapper {
        position: absolute !important;
        left: 50% !important;
        right: auto !important;
        float: none !important;
        width: min(70.833vw, 255px) !important;
        transform: translateX(-50%) !important;
    }
}

/* Galeria i jej nawigacja | strony: home, about, villa-i */
@media only screen and (max-width: 1000px) {
    .boso-gallery-strip img {
        height: 36vw;
    }
}

/* Hero — obraz i typografia | strony: about, villas, villa-i, villa-ii, villa-iii, villa-iv */
@media only screen and (min-width: 1001px) {
    .boso-subhero > .full_section_inner,
.boso-subhero > .full_section_inner > .vc_column_container,
.boso-subhero > .full_section_inner > .vc_column_container > .vc_column-inner,
.boso-subhero .vc_column-inner > .wpb_wrapper,
.boso-subhero__image,
.boso-subhero__image > .wpb_wrapper,
.boso-subhero__image .vc_single_image-wrapper,
.boso-subhero__image img {
        width: 100%;
        height: 100%;
    }
}

@media only screen and (min-width: 1001px) {
    .boso-subhero > .full_section_inner > .vc_column_container > .vc_column-inner {
        padding-right: 0 !important;
        padding-left: 0 !important;
    }
}

@media only screen and (min-width: 1001px) {
    .boso-subhero__image img {
        object-fit: cover;
    }
}

/* Układ i wygląd elementów | strony: about, villas, villa-i, villa-ii, villa-iii, villa-iv, gallery, gallery-villas, gallery-outdoors, gallery-people, contact, reserve, terms, privacy-policy, cookie-policy-eu */
@media only screen and (max-width: 767px) {
    body.page .content .container_inner.default_template_holder,
body.page .content .full_width_inner {
        width: 100%;
        max-width: none;
        margin-right: 0 !important;
        margin-left: 0 !important;
    }
}

/* Układ i wygląd elementów | strony: home, about, villas, villa-i, villa-ii, villa-iii, villa-iv, gallery, gallery-villas, gallery-outdoors, gallery-people, contact, reserve, terms */
@media only screen and (max-width: 767px) {
    body.page .content .wpb-content-wrapper > .vc_row {
        box-sizing: border-box;
        width: 100%;
        max-width: none;
        margin-right: 0 !important;
        margin-left: 0 !important;
    }
}

/* Układ i wygląd elementów | strony: home, about, villas, villa-i, villa-ii, villa-iii, villa-iv, gallery, gallery-villas, gallery-outdoors, gallery-people, contact, reserve, terms */
@media only screen and (max-width: 767px) {
    .boso-kicker {
        margin-bottom: min(14.167vw, 51px);
        font-size: 11px;
        letter-spacing: 4px;
    }
}

/* Układ i wygląd elementów | strony: home, villa-i, villa-ii, villa-iii, villa-iv */
@media only screen and (max-width: 767px) {
    .boso-book-bar {
        bottom: 15.5%;
    }
}

@media only screen and (max-width: 767px) {
    .boso-book-bar .vc_btn3 {
        min-height: 45px;
    }
}

/* Galeria i jej nawigacja | strony: home, about, villa-i */
@media only screen and (max-width: 767px) {
    body .content .boso-gallery-strip > .full_section_inner {
        display: flex !important;
        flex-wrap: nowrap !important;
    }
}

@media only screen and (max-width: 767px) {
    body .content .boso-gallery-strip > .full_section_inner > div:nth-child(1) {
        flex: 0 0 29% !important;
        width: 29% !important;
        max-width: 29% !important;
    }
}

@media only screen and (max-width: 767px) {
    body .content .boso-gallery-strip > .full_section_inner > div:nth-child(2) {
        flex: 0 0 41% !important;
        width: 41% !important;
        max-width: 41% !important;
    }
}

@media only screen and (max-width: 767px) {
    body .content .boso-gallery-strip > .full_section_inner > div:nth-child(3) {
        flex: 0 0 30% !important;
        width: 30% !important;
        max-width: 30% !important;
    }
}

@media only screen and (max-width: 767px) {
    .boso-gallery-strip img {
        height: 54.5vw;
    }
}

/* Karty willi | strony: home, villas */
@media only screen and (max-width: 767px) {
    .boso-villa-card {
        width: 100% !important;
        min-height: 0;
        margin: 0 !important;
    }
}

@media only screen and (max-width: 767px) {
    body .content .boso-villa-card > .full_section_inner {
        width: 100% !important;
        margin: 0 !important;
    }
}

@media only screen and (max-width: 767px) {
    .boso-villa-card__image,
.boso-villa-card__copy {
        width: 100% !important;
    }
}

@media only screen and (max-width: 767px) {
    .boso-villa-card__image > .vc_column-inner,
.boso-villa-card__image .wpb_wrapper,
.boso-villa-card__image .wpb_single_image,
.boso-villa-card__image .vc_figure,
.boso-villa-card__image .vc_single_image-wrapper,
.boso-villa-card__image img {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
    }
}

@media only screen and (max-width: 767px) {
    .boso-villa-card__image img {
        min-height: 0;
        height: 48.5vw;
    }
}

@media only screen and (max-width: 767px) {
    .boso-villa-card__copy > .vc_column-inner {
        min-height: 137vw;
        padding: 56px var(--boso-pad) 72px !important;
    }
}

@media only screen and (max-width: 767px) {
    .boso-villa-card h3 {
        margin-bottom: 34px;
        font-size: 46px;
    }
}

@media only screen and (max-width: 767px) {
    .boso-villa-card p {
        max-width: none;
    }
}

/* Karty willi | strony: home, villas */
@media only screen and (max-width: 767px) {
    body .content .boso-villa-card--reverse > .full_section_inner {
        display: flex !important;
        flex-direction: column-reverse !important;
    }
}

/* Nagłówek Instagram | strony: home, about, villas, villa-i, villa-ii, villa-iii, villa-iv, gallery, gallery-villas, gallery-outdoors, gallery-people, contact */
@media only screen and (max-width: 767px) {
    .boso-social-heading {
        padding: 100px var(--boso-pad) 64px;
    }
}

@media only screen and (max-width: 767px) {
    .boso-social-heading h2 {
        font-size: 40px;
    }
}

/* Pas zdjęć Instagram | strony: home, about, villas, villa-i, villa-ii, villa-iii, villa-iv, gallery, gallery-villas, gallery-outdoors, gallery-people, contact */
@media only screen and (max-width: 767px) {
    body .content .boso-social-strip > .full_section_inner {
        display: flex !important;
        flex-wrap: nowrap !important;
    }
}

@media only screen and (max-width: 767px) {
    body .content .boso-social-strip > .full_section_inner > div {
        flex: 0 0 25% !important;
        width: 25% !important;
        max-width: 25% !important;
    }
}

@media only screen and (max-width: 767px) {
    .boso-social-strip img {
        height: 33.333vw;
    }
}

/* Stopka | strony: home, about, villas, villa-i, villa-ii, villa-iii, villa-iv, gallery, gallery-villas, gallery-outdoors, gallery-people, contact, reserve, terms */
@media only screen and (max-width: 767px) {
    .boso-footer-row {
        padding: 62vw 0 48px;
    }
}

@media only screen and (max-width: 767px) {
    .boso-footer-row__logo {
        margin-bottom: 66px !important;
    }
}

@media only screen and (max-width: 767px) {
    .boso-footer-row__logo img {
        width: 47vw;
        max-width: 169px;
    }
}

@media only screen and (max-width: 767px) {
    body .boso-footer-row__nav nav {
        grid-template-columns: 1fr;
        height: auto !important;
        min-height: 0 !important;
    }
}

@media only screen and (max-width: 767px) {
    body .boso-footer-row__nav nav a {
        display: flex;
        align-items: center;
        justify-content: center;
        box-sizing: border-box;
        height: 90px !important;
        min-height: 90px !important;
        padding: 16px 4px !important;
        border-right: 0 !important;
        border-bottom: 0;
        border-left: 0;
        font-size: 14px !important;
        letter-spacing: 3px !important;
    }
}

@media only screen and (max-width: 767px) {
    body .boso-footer-row__nav nav a:last-child {
        border-bottom: 0;
    }
}

@media only screen and (max-width: 767px) {
    body .boso-footer-row__nav nav::before,
body .boso-footer-row__nav nav::after {
        display: none;
    }
}

@media only screen and (max-width: 767px) {
    .boso-footer-row__nav > .wpb_wrapper > div {
        display: block;
        padding: 52px var(--boso-pad) 0;
        text-align: center;
        font-size: 14px;
        line-height: 2;
        letter-spacing: 3px;
    }
}

@media only screen and (max-width: 767px) {
    .boso-footer-socials {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 8px;
        margin-bottom: 14px;
    }
}

/* Stopka | strony: villa-i, villa-ii, villa-iii, villa-iv, gallery-villas, gallery-outdoors, gallery-people, reserve, terms */
@media only screen and (max-width: 767px) {
    .boso-footer-socials > span {
        display: block;
        line-height: 1.2;
    }
}

/* Hero — obraz i typografia | strony: about, villas, villa-i, villa-ii, villa-iii, villa-iv */
@media only screen and (max-width: 767px) {
    .boso-subhero__image img {
        height: 175vw;
        max-height: 720px;
    }
}

@media only screen and (max-width: 767px) {
    .boso-subhero__copy {
        top: 18%;
        right: 10vw;
        left: 10vw;
    }
}

/* Hero — obraz i typografia | strony: about, villas, villa-i, villa-ii, villa-iii, villa-iv, gallery, gallery-villas, gallery-outdoors, gallery-people, contact, reserve, terms */
@media only screen and (max-width: 767px) {
    .boso-subhero__copy h1,
.boso-page-intro h1 {
        font-size: min(27.778vw, 100px);
        font-weight: 300;
        line-height: 1.04;
        letter-spacing: -.025em;
    }
}

/* Hero — obraz i typografia | strony: about, villas, villa-i, villa-ii, villa-iii, villa-iv */
@media only screen and (max-width: 767px) {
    .boso-subhero__copy h1 {
        margin: 0;
        font-size: min(28.75vw, 103.5px);
        font-weight: 100 !important;
        transform: translateY(-10px);
    }
}

/* Hero — obraz i typografia | strony: about, villas */
@media only screen and (max-width: 767px) {
    body:is(.page-id-21, .page-id-27) .boso-subhero-space {
        height: 150px !important;
    }
}

/* Hero — obraz i typografia | strony: villa-i, villa-ii, villa-iii, villa-iv */
@media only screen and (max-width: 767px) {
    body:is(.page-id-171, .page-id-235, .page-id-237, .page-id-239) .boso-subhero-space {
        height: 80px !important;
    }
}

/* Hero — obraz i typografia | strony: about, villas, villa-i, villa-ii, villa-iii, villa-iv */
@media only screen and (max-width: 767px) {
    .boso-subhero__copy .boso-kicker {
        font-size: 15px;
        line-height: 1.55;
        letter-spacing: .3em;
        transform: translateY(-26px);
    }
}

/* Wprowadzenie do podstrony | strony: villas, villa-i, villa-ii, villa-iii, villa-iv, gallery, gallery-villas, gallery-outdoors, gallery-people, contact, reserve, terms */
@media only screen and (max-width: 767px) {
    .boso-page-intro {
        padding: 90px var(--boso-pad) 70px;
    }
}

@media only screen and (max-width: 767px) {
    .boso-page-intro h1,
.boso-page-intro h2 {
        font-size: 54px;
    }
}

/* Wprowadzenie do podstrony | strony: gallery, contact, reserve */
@media only screen and (max-width: 767px) {
    body:is(.page-id-23, .page-id-25, .page-id-176) .boso-page-intro {
        padding: 35px 30px 70px;
    }
}

@media only screen and (max-width: 767px) {
    body:is(.page-id-23, .page-id-25, .page-id-176) .boso-page-intro,
body:is(.page-id-23, .page-id-25, .page-id-176) .boso-page-intro .wpb_wrapper,
body:is(.page-id-23, .page-id-25, .page-id-176) .boso-page-intro h1,
body:is(.page-id-23, .page-id-25, .page-id-176) .boso-page-intro p {
        text-align: left !important;
    }
}

@media only screen and (max-width: 767px) {
    body:is(.page-id-23, .page-id-25, .page-id-176) .boso-page-intro h1 {
        margin: 0;
        font-size: min(27.778vw, 100px);
    }
}

@media only screen and (max-width: 767px) {
    body:is(.page-id-23, .page-id-25, .page-id-176) .boso-page-intro .boso-kicker {
        max-width: none;
        margin: 0 0 45px;
        font: 600 14px/1.55 "Josefin Sans", sans-serif;
        letter-spacing: .3em;
        text-transform: uppercase;
    }
}

/* Wprowadzenie do podstrony | strony: gallery, contact */
@media only screen and (max-width: 767px) {
    body:is(.page-id-23, .page-id-25) .boso-page-intro h1 {
        font-size: min(31.945vw, 115px);
        font-weight: 100 !important;
    }
}

@media only screen and (max-width: 767px) {
    body:is(.page-id-23, .page-id-25) .boso-page-intro .boso-kicker {
        font-size: 16px;
    }
}

/* Wprowadzenie do podstrony | strony: gallery, contact, reserve */
@media only screen and (max-width: 767px) {
    body:is(.page-id-23, .page-id-25, .page-id-176) .boso-page-intro .boso-mark {
        text-align: left !important;
    }
}

/* Wprowadzenie do podstrony | strony: contact, reserve */
@media only screen and (max-width: 767px) {
    body:is(.page-id-25, .page-id-176) .boso-page-intro-space--title {
        height: 189px !important;
    }
}

/* Odstęp przy znaku we wprowadzeniu na mobile | strony: gallery */
@media only screen and (max-width: 767px) {
    body.page-id-23 .boso-page-intro-space--mark {
        height: 45px !important;
    }
}

/* Zaproszenie do rezerwacji | strony: about, villa-ii, villa-iii, villa-iv, gallery, gallery-villas, gallery-outdoors, gallery-people, reserve, terms */
@media only screen and (max-width: 767px) {
    .boso-ready {
        padding: 95px var(--boso-pad);
    }
}

@media only screen and (max-width: 767px) {
    .boso-ready h2 {
        font-size: 50px;
    }
}

/* Układ i wygląd elementów | strony: gallery, gallery-villas, gallery-outdoors, gallery-people */
@media only screen and (max-width: 767px) {
    .boso-category-nav {
        padding: 0;
    }
}

@media only screen and (max-width: 767px) {
    .boso-category-nav .wpb_wrapper {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media only screen and (max-width: 767px) {
    .boso-category-nav .wpb_wrapper::before,
.boso-category-nav .wpb_wrapper::after {
        display: none;
    }
}

/* Galeria i jej nawigacja | strony: villa-ii, villa-iii, villa-iv, gallery, gallery-villas, gallery-outdoors, gallery-people */
@media only screen and (max-width: 767px) {
    .boso-gallery-grid > .full_section_inner {
        display: grid !important;
        grid-template-columns: 1fr 1fr;
    }
}

@media only screen and (max-width: 767px) {
    .boso-gallery-grid .vc_column_container {
        width: 100% !important;
    }
}

@media only screen and (max-width: 767px) {
    .boso-gallery-grid img,
.boso-gallery-grid--tall img {
        height: 66vw;
    }
}

/* Przycisk w panelu kontaktowym na mobile | strony: contact */
@media only screen and (max-width: 767px) {
    .boso-contact-panel .boso-link-button {
        display: block !important;
        width: 100%;
        text-align: center !important;
    }
}

@media only screen and (max-width: 767px) {
    .boso-contact-panel img {
        height: 110vw;
        margin-top: 55px;
    }
}

/* Informacja o rezerwacjach | strony: about, villas, villa-i, villa-ii, villa-iii, villa-iv, gallery, gallery-villas, gallery-outdoors, gallery-people, contact, reserve, terms, privacy-policy, cookie-policy-eu, qr */
.boso-booking-legal {
    box-sizing: border-box;
    width: 100%;
    padding: 18px 24px;
    border-top: 1px solid #d8d5d1;
    background: #fcfcfa;
    color: #171716;
    font-family: "Josefin Sans", sans-serif;
    font-size: 10px;
    font-weight: 400;
    line-height: 1.7;
    letter-spacing: 0.12em;
    text-align: center;
    text-transform: uppercase;
}

.boso-booking-legal p {
    margin: 0;
}

.boso-booking-legal a {
    margin: 0 0.25em;
    border-bottom: 1px solid rgba(23, 23, 22, 0.35);
    color: inherit;
    text-decoration: none;
}

.boso-booking-legal a:hover,
.boso-booking-legal a:focus {
    border-bottom-color: currentColor;
    color: inherit;
}

.boso-booking-legal span {
    margin: 0 0.25em;
}

@media only screen and (max-width: 600px) {
    .boso-booking-legal {
        padding: 16px 18px;
        font-size: 9px;
        line-height: 1.85;
    }
}

/* Układ i wygląd elementów | strony: privacy-policy, cookie-policy-eu */
body.page-id-3 .content .container_inner,
body.page-id-411 .content .container_inner {
    padding-top: 48px !important;
    padding-bottom: 80px !important;
}

body.page-id-3 .content .container_inner > h1,
body.page-id-411 .content .container_inner > h1 {
    margin-bottom: 26px;
}

/* Wspólna szerokość i typografia dokumentów | strony: privacy-policy, cookie-policy-eu */
body:is(.page-id-3, .page-id-411) .content .default_template_holder > :is(h1, h2, h3, p, ul, ol),
body.page-id-411 .content .default_template_holder > #cmplz-document {
    max-width: 800px;
    box-sizing: border-box;
    overflow-wrap: anywhere;
}

body.page-id-3 .content .default_template_holder > :is(p, ul, ol),
body.page-id-411 .content .default_template_holder #cmplz-document :is(p, ul, ol) {
    font-size: 14px;
    line-height: 23px;
}

body.page-id-3 .content .default_template_holder > p {
    margin: 0;
}

body.page-id-3 .content .default_template_holder > h2,
body.page-id-411 .content .default_template_holder #cmplz-document h2 {
    font-size: 22px;
    line-height: 1.2;
    font-weight: 800;
    letter-spacing: 2px;
    text-transform: none;
    margin: 15px 0 10px;
    padding: 0 0 10px;
}

/* Układ i wygląd elementów | strony: privacy-policy, cookie-policy-eu */
@media only screen and (max-width: 768px) {
    body.page-id-3 .content .container_inner,
body.page-id-411 .content .container_inner {
        box-sizing: border-box;
        width: 100% !important;
        padding: 32px 22px 60px !important;
    }
}

@media only screen and (max-width: 768px) {
    body.page-id-3 .content .container_inner > h1,
body.page-id-411 .content .container_inner > h1 {
        margin-bottom: 22px;
    }
}

/* Nagłówek Instagram | strony: home, about, villas, villa-i, villa-ii, villa-iii, villa-iv, gallery, gallery-villas, gallery-outdoors, gallery-people, contact */
@media only screen and (max-width: 767px) {
    body .content .boso-social-heading h2 {
        font-size: clamp(34px, 11.111vw, 40px) !important;
        line-height: 1.2 !important;
    }
}

@media only screen and (max-width: 767px) {
    body .content .boso-social-heading a {
        font-size: 17px;
        font-weight: 400;
    }
}

/* Zaproszenie do rezerwacji | strony: about, villa-ii, villa-iii, villa-iv, gallery, gallery-villas, gallery-outdoors, gallery-people, reserve, terms */
@media only screen and (max-width: 767px) {
    body .content .boso-ready h2 {
        font-size: clamp(64px, 25vw, 90px) !important;
        line-height: 1.05 !important;
    }
}

/* Hero — obraz i typografia | strony: about, villas, villa-i, villa-ii, villa-iii, villa-iv */
@media only screen and (max-width: 767px) {
    body .content .boso-subhero__copy .boso-kicker {
        font-size: 19px;
    }
}

/* Wprowadzenie do podstrony | strony: gallery, contact */
@media only screen and (max-width: 767px) {
    body:is(.page-id-23, .page-id-25) .content .boso-page-intro .boso-kicker {
        font-size: 23px;
    }
}

/* Kreski między sekcjami bez dodatkowego odstępu | strony: home, about, villas, contact */
body.page .content .wpb-content-wrapper > .boso-line-row:has(.separator.full_width) {
    height: 1px !important;
    min-height: 1px;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    line-height: 0 !important;
    overflow: visible !important;
    position: relative;
    z-index: 2;
}

body.page .content .wpb-content-wrapper > .boso-line-row:has(.separator.full_width) > .full_section_inner,
body.page .content .wpb-content-wrapper > .boso-line-row:has(.separator.full_width) .vc_column_container,
body.page .content .wpb-content-wrapper > .boso-line-row:has(.separator.full_width) .vc_column-inner,
body.page .content .wpb-content-wrapper > .boso-line-row:has(.separator.full_width) .wpb_wrapper {
    min-height: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* Bez wlasnego odstepu w elemencie separatora — linia ma stykac sie z sekcja obok | strony: home, about, villas, contact */
body.page .content .wpb-content-wrapper > .boso-line-row:has(.separator.full_width) .wpb_content_element,
body.page .content .wpb-content-wrapper > .boso-line-row:has(.separator.full_width) .vc_separator,
body.page .content .wpb-content-wrapper > .boso-line-row:has(.separator.full_width) .separator.full_width {
    margin: 0 !important;
    padding: 0 !important;
    line-height: 0 !important;
}

/* Usuniecie natywnego przesuniecia kreski o 1px; nie kompensujemy go polozeniem calego wiersza */
body.page .content .wpb-content-wrapper > .boso-line-row:has(.separator.full_width) .separator.full_width,
body.page .content .wpb-content-wrapper > .boso-line-row:has(.separator.full_width) .vc_sep_line {
    position: relative !important;
    top: 0 !important;
    bottom: auto !important;
    transform: none !important;
}

body.page .content .wpb-content-wrapper > .boso-line-row:has(.separator.full_width) .vc_sep_holder,
body.page .content .wpb-content-wrapper > .boso-line-row:has(.separator.full_width) .vc_sep_holder_l,
body.page .content .wpb-content-wrapper > .boso-line-row:has(.separator.full_width) .vc_sep_holder_r {
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.page .content .wpb-content-wrapper > .boso-line-row:has(.separator.full_width) .separator.full_width {
    display: block !important;
    height: 0;
    border-color: var(--boso-line) !important;
    border-style: solid !important;
    border-width: 1px 0 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* Fallback dla separatorow WPBakery zapisanych bez klasy full_width | strony: home, about, villas, contact */
body.page .content .wpb-content-wrapper .boso-line-row:has(.separator, .vc_separator) {
    height: 1px !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 0 !important;
    overflow: visible !important;
    position: relative;
    z-index: 2;
}

body.page .content .wpb-content-wrapper .boso-line-row:has(.separator, .vc_separator) > .full_section_inner,
body.page .content .wpb-content-wrapper .boso-line-row:has(.separator, .vc_separator) .vc_column_container,
body.page .content .wpb-content-wrapper .boso-line-row:has(.separator, .vc_separator) .vc_column-inner,
body.page .content .wpb-content-wrapper .boso-line-row:has(.separator, .vc_separator) .wpb_wrapper,
body.page .content .wpb-content-wrapper .boso-line-row:has(.separator, .vc_separator) .wpb_content_element,
body.page .content .wpb-content-wrapper .boso-line-row:has(.separator, .vc_separator) .vc_separator,
body.page .content .wpb-content-wrapper .boso-line-row:has(.separator, .vc_separator) .separator,
body.page .content .wpb-content-wrapper .boso-line-row:has(.separator, .vc_separator) .vc_sep_holder {
    min-height: 0 !important;
    height: auto;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 0 !important;
}

body.page .content .wpb-content-wrapper .boso-line-row:has(.separator, .vc_separator) .separator,
body.page .content .wpb-content-wrapper .boso-line-row:has(.separator, .vc_separator) .vc_sep_line {
    height: 0 !important;
    position: relative !important;
    top: 0 !important;
    bottom: auto !important;
    transform: none !important;
}

body.page .content .wpb-content-wrapper .boso-line-row:has(.separator, .vc_separator) .vc_sep_holder {
    height: 0 !important;
    min-height: 0 !important;
}

/* Zwykle wiersze i kolumny nie maja technicznej ramki; wyjatek stanowi osobny boso-line-row | strony: wszystkie */
body.page .content .wpb-content-wrapper > .vc_row:not(.boso-line-row),
body.page .content .wpb-content-wrapper > .vc_row:not(.boso-line-row) > .full_section_inner > .vc_column_container,
body.page .content .wpb-content-wrapper > .vc_row:not(.boso-line-row) > .full_section_inner > .vc_column_container > .vc_column-inner {
    border: 0 !important;
}

/* Obraz nie zostawia szczeliny wynikajacej z linii bazowej elementu inline | strony: wszystkie */
body .boso-split img,
body .boso-villa-card img,
body .boso-gallery-strip img,
body .boso-gallery-grid img,
body .boso-contact-photo img,
body .boso-subhero__image img,
body .wpb_single_image img {
    display: block !important;
}

/* Separator jako sama kreska: zero wysokosci wiersza eliminuje ostatni pusty piksel | strony: home, about, villas, contact */
body.page .content .wpb-content-wrapper .boso-line-row {
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    line-height: 0 !important;
    position: relative !important;
    z-index: 3;
}

body.page .content .wpb-content-wrapper .boso-line-row::before {
    content: "";
    display: block;
    position: absolute;
    z-index: 4;
    top: 0;
    right: 0;
    left: 0;
    height: 1px;
    background: var(--boso-line);
    pointer-events: none;
}

body.page .content .wpb-content-wrapper .boso-line-row > .full_section_inner,
body.page .content .wpb-content-wrapper .boso-line-row > .full_section_inner > .vc_column_container,
body.page .content .wpb-content-wrapper .boso-line-row > .full_section_inner > .vc_column_container > .vc_column-inner,
body.page .content .wpb-content-wrapper .boso-line-row .wpb_wrapper,
body.page .content .wpb-content-wrapper .boso-line-row .wpb_content_element,
body.page .content .wpb-content-wrapper .boso-line-row .separator,
body.page .content .wpb-content-wrapper .boso-line-row .vc_separator {
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    line-height: 0 !important;
    overflow: hidden !important;
}

/* Bez technicznej ramki na zdjęciach | strony: home, about, villas, villa-i, villa-ii, villa-iii, villa-iv, gallery, gallery-villas, gallery-outdoors, gallery-people, contact */
body .boso-split img,
body .boso-villa-card img,
body .boso-gallery-strip img,
body .boso-gallery-grid img,
body .boso-contact-photo img,
body .boso-subhero__image img {
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
}

body .boso-split__image .wpb_single_image,
body .boso-split__image .vc_figure,
body .boso-split__image .vc_single_image-wrapper,
body .boso-split__image .vc_single_image-wrapper a,
body .boso-villa-card__image .wpb_single_image,
body .boso-villa-card__image .vc_figure,
body .boso-villa-card__image .vc_single_image-wrapper,
body .boso-villa-card__image .vc_single_image-wrapper a,
body .boso-gallery-strip .wpb_single_image,
body .boso-gallery-strip .vc_figure,
body .boso-gallery-strip .vc_single_image-wrapper,
body .boso-gallery-strip .vc_single_image-wrapper a,
body .boso-gallery-grid .wpb_single_image,
body .boso-gallery-grid .vc_figure,
body .boso-gallery-grid .vc_single_image-wrapper,
body .boso-gallery-grid .vc_single_image-wrapper a,
body .boso-contact-photo .wpb_single_image,
body .boso-contact-photo .vc_figure,
body .boso-contact-photo .vc_single_image-wrapper,
body .boso-contact-photo .vc_single_image-wrapper a,
body .boso-subhero__image .wpb_single_image,
body .boso-subhero__image .vc_figure,
body .boso-subhero__image .vc_single_image-wrapper,
body .boso-subhero__image .vc_single_image-wrapper a {
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
}

/* Zdjęcia bez mikroodstępu od separatora | strony: home, about, villas, villa-i, villa-ii, villa-iii, villa-iv, gallery, gallery-villas, gallery-outdoors, gallery-people, contact */
body .boso-split__image,
body .boso-split__image > .vc_column-inner,
body .boso-split__image .wpb_wrapper,
body .boso-split__image .wpb_single_image,
body .boso-split__image .vc_figure,
body .boso-split__image .vc_single_image-wrapper,
body .boso-split__image img,
body .boso-villa-card__image,
body .boso-villa-card__image > .vc_column-inner,
body .boso-villa-card__image .wpb_wrapper,
body .boso-villa-card__image .wpb_single_image,
body .boso-villa-card__image .vc_figure,
body .boso-villa-card__image .vc_single_image-wrapper,
body .boso-villa-card__image img {
    margin-bottom: 0 !important;
    line-height: 0 !important;
}

/* Dociągnięcie dolnej krawędzi zdjęcia do separatora | strony: home, about, villas, villa-i, villa-ii, villa-iii, villa-iv, gallery, gallery-villas, gallery-outdoors, gallery-people, contact */
body .boso-split__image img,
body .boso-villa-card__image img,
body .boso-gallery-strip img,
body .boso-gallery-grid img,
body .boso-contact-photo img,
body .boso-subhero__image img {
    margin-bottom: -1px !important;
}

/* Globalne ukrycie mikro-ramki przez przykadrowanie zdjecia o ok. 1px z kazdej strony | strony: wszystkie strony ze zdjeciami */
body .boso-hero__image,
body .boso-subhero__image,
body .boso-split__image,
body .boso-villa-card__image,
body .boso-definition__image,
body .boso-gallery-strip .vc_column-inner,
body .boso-gallery-grid .vc_column-inner,
body .boso-contact-photo,
body .boso-social-strip,
body .boso-detail-full,
body .boso-detail-mosaic,
body .boso-feature-image,
body .boso-contact-panel {
    overflow: hidden !important;
}

body .boso-hero__image img,
body .boso-subhero__image img,
body .boso-split__image img,
body .boso-villa-card__image img,
body .boso-definition__image img,
body .boso-gallery-strip img,
body .boso-gallery-grid img,
body .boso-contact-photo img,
body .boso-social-strip img,
body .boso-detail-full img,
body .boso-detail-mosaic img,
body .boso-feature-image img,
body .boso-contact-panel img {
    transform: scale(1.006) !important;
    transform-origin: center center !important;
}


/* Header i nawigacja | strony: wszystkie */

/* Header | strony: about, villas, villa-i, villa-ii, villa-iii, villa-iv, gallery, gallery-villas, gallery-outdoors, gallery-people, contact, reserve, terms, privacy-policy, cookie-policy-eu */
.header_bottom {
    box-sizing: content-box;
    padding-top: 10px;
    padding-bottom: 10px;
    background: #fff;
}

/* Logo w headerze | strony: about, villas, villa-i, villa-ii, villa-iii, villa-iv, gallery, gallery-villas, gallery-outdoors, gallery-people, contact, reserve, terms, privacy-policy, cookie-policy-eu */
.q_logo {
    transform: none;
}

/* Link rezerwacji w headerze | strony: wszystkie */
.header_bottom_right_widget_holder a {
    color: #373431;
    font: 600 12px/1 "Josefin Sans", sans-serif;
    letter-spacing: 3px;
    text-transform: uppercase;
    text-decoration: none;
    white-space: nowrap;
    transition: color 180ms ease;
}

.header_bottom_right_widget_holder a:hover {
    color: #8f7867;
}

/* Układ i wygląd elementów | strony: about, villas, villa-i, villa-ii, villa-iii, villa-iv, gallery, gallery-villas, gallery-outdoors, gallery-people, contact, reserve, terms, privacy-policy, cookie-policy-eu */
.boso-book-now > a::after {
    content: "·›";
    display: inline-block;
    margin-left: 10px;
    font-size: 18px;
    font-weight: 400;
    letter-spacing: 1px;
    transform: translateY(1.5px);
    transition: transform 180ms ease;
}

.boso-book-now > a:hover::after {
    transform: translate(2.5px, 1.5px);
}

.boso-secondary-navigation {
    position: relative;
    z-index: 100;
    width: 100%;
    background: #fff;
    border-top: 1px solid var(--boso-line);
    border-bottom: 1px solid var(--boso-line);
}

.boso-secondary-navigation .container_inner {
    background: #fff;
}

/* Menu | strony: about, villas, villa-i, villa-ii, villa-iii, villa-iv, gallery, gallery-villas, gallery-outdoors, gallery-people, contact, reserve, terms, privacy-policy, cookie-policy-eu */
.boso-secondary-navigation__menu {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    width: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
}

.boso-secondary-navigation__menu > li {
    margin: 0;
    padding: 0;
    border-left: 1px solid var(--boso-line);
    text-align: center;
    list-style: none;
}

.boso-secondary-navigation__menu > li:last-child {
    border-right: 1px solid var(--boso-line);
}

.boso-secondary-navigation__menu > li::before {
    display: none;
    content: none;
}

.boso-secondary-navigation__menu > li > a {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 36px;
    min-height: 36px;
    padding: 4px 20px 0;
    box-sizing: border-box;
    color: #373431;
    font: 600 12px/1.2 "Josefin Sans", sans-serif;
    letter-spacing: 3.1px;
    text-transform: uppercase;
    text-decoration: none;
}

/* Menu | strony: about, villas, gallery, contact */
.boso-secondary-navigation__menu > li.current-menu-item > a,
.boso-secondary-navigation__menu > li.current-menu-ancestor > a {
    color: var(--boso-ink);
    background: var(--boso-sand);
}

/* Menu | strony: about, villas, villa-i, villa-ii, villa-iii, villa-iv, gallery, gallery-villas, gallery-outdoors, gallery-people, contact, reserve, terms, privacy-policy, cookie-policy-eu */
.main_menu .boso-mobile-only {
    display: none !important;
}

/* Układ i wygląd elementów | strony: about, villas, villa-i, villa-ii, villa-iii, villa-iv, gallery, gallery-villas, gallery-outdoors, gallery-people, contact, reserve, terms, privacy-policy, cookie-policy-eu */
@media only screen and (max-width: 1000px) {
    .boso-secondary-navigation {
        display: none;
    }
}

/* Header | strony: about, villas, villa-i, villa-ii, villa-iii, villa-iv, gallery, gallery-villas, gallery-outdoors, gallery-people, contact, reserve, terms, privacy-policy, cookie-policy-eu */
@media only screen and (max-width: 1000px) {
    .header_top {
        height: 0 !important;
    }
}

@media only screen and (max-width: 1000px) {
    .header_inner_right {
        display: none !important;
    }
}

@media only screen and (max-width: 1000px) {
    .header_bottom {
        height: 126px !important;
        padding: 0 !important;
    }
}

@media only screen and (max-width: 1000px) {
    .header_bottom > .container,
.header_bottom > .container > .container_inner {
        width: 100% !important;
        height: 126px !important;
    }
}

@media only screen and (max-width: 1000px) {
    .header_inner_left,
.logo_wrapper {
        height: 126px !important;
    }
}

@media only screen and (max-width: 1000px) {
    .header_inner_left {
        position: relative !important;
        width: 100% !important;
    }
}

/* Logo w headerze | strony: about, villas, villa-i, villa-ii, villa-iii, villa-iv, gallery, gallery-villas, gallery-outdoors, gallery-people, contact, reserve, terms, privacy-policy, cookie-policy-eu */
@media only screen and (max-width: 1000px) {
    .q_logo a,
.q_logo img.mobile-logo {
        width: min(70.833vw, 255px) !important;
        max-width: none !important;
        height: auto !important;
    }
}

@media only screen and (max-width: 1000px) {
    .q_logo a {
        top: -6px !important;
    }
}

/* Menu | strony: about, villas, villa-i, villa-ii, villa-iii, villa-iv, gallery, gallery-villas, gallery-outdoors, gallery-people, contact, reserve, terms, privacy-policy, cookie-policy-eu */
@media only screen and (max-width: 1000px) {
    .mobile_menu_button {
        position: absolute !important;
        top: 0 !important;
        right: 0 !important;
        left: auto !important;
        float: none !important;
        display: table !important;
        height: 126px !important;
        margin: 0 !important;
        transform: none !important;
        z-index: 5;
    }
}

@media only screen and (max-width: 1000px) {
    .mobile_menu_button span {
        display: table-cell !important;
        height: 126px !important;
        min-width: 32px;
        vertical-align: middle !important;
    }
}

@media only screen and (max-width: 1000px) {
    .mobile_menu_button .fa {
        font-size: 22px !important;
    }
}

@media only screen and (max-width: 1000px) {
    nav.mobile_menu {
        width: 100% !important;
        background: var(--boso-sand);
    }
}

@media only screen and (max-width: 1000px) {
    nav.mobile_menu > ul {
        padding: 56px 0 112px;
    }
}

@media only screen and (max-width: 1000px) {
    nav.mobile_menu .boso-mobile-only {
        display: block !important;
    }
}

@media only screen and (max-width: 1000px) {
    body nav.mobile_menu ul li {
        height: 97px;
        border: 0 !important;
        border-top: 0 !important;
        border-right: 0 !important;
        border-bottom: 0 !important;
        border-left: 0 !important;
        box-shadow: none !important;
    }
}

@media only screen and (max-width: 1000px) {
    body nav.mobile_menu ul li a {
        display: flex;
        align-items: center;
        justify-content: center;
        box-sizing: border-box;
        height: 97px;
        padding: 0 24px;
        color: var(--boso-ink);
        text-align: center;
        font-family: "Josefin Sans", sans-serif !important;
        font-size: 19px !important;
        font-style: normal !important;
        font-weight: 600 !important;
        line-height: 1.2 !important;
        letter-spacing: 3px !important;
        border: 0 !important;
        text-transform: uppercase !important;
    }
}

/* Aktywny element menu mobilnego | strony: wszystkie */
@media only screen and (max-width: 1000px) {
    body nav.mobile_menu ul li.current-menu-item,
body nav.mobile_menu ul li.current-menu-ancestor {
        border: 0 !important;
    }
}

/* Menu | strony: about, villas, villa-i, villa-ii, villa-iii, villa-iv, gallery, gallery-villas, gallery-outdoors, gallery-people, contact, reserve, terms, privacy-policy, cookie-policy-eu */
@media only screen and (max-width: 1000px) {
    body nav.mobile_menu ul li::before,
body nav.mobile_menu ul li::after,
body nav.mobile_menu ul li a::before,
body nav.mobile_menu ul li a::after {
        content: none !important;
        display: none !important;
        border: 0 !important;
    }
}

@media only screen and (max-width: 1000px) {
    nav.mobile_menu .mobile_arrow {
        display: none !important;
    }
}

@media only screen and (max-width: 1000px) {
    nav.mobile_menu .boso-book-now {
        display: none !important;
    }
}

@media only screen and (max-width: 1000px) {
    body nav.mobile_menu > ul::after {
        content: "";
        display: block;
        width: 54px;
        height: 30px;
        margin: 40px auto 0;
        pointer-events: none;
        background: url("/wp-content/uploads/2026/08/Group-83.svg") center / contain no-repeat;
    }
}


/* Strona główna | strony: home */

/* Duży napis BOSO | strony: home */
.boso-hero,
.boso-wordmark {
    width: 100%;
}

/* Duży napis BOSO | strony: home */
@media only screen and (min-width: 768px) {
    .boso-wordmark img {
        width: 100%;
        max-width: 100%;
        transform: none;
    }
}

/* Hero — obraz i typografia | strony: home */
.boso-hero {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    background: var(--boso-sand);
}

.boso-hero .wpb_content_element {
    margin-bottom: 0;
}

.boso-hero__image .vc_single_image-wrapper,
.boso-hero__image img {
    display: block;
    width: 100%;
}

.boso-hero__image img {
    height: min(62.441vw, 1199px);
    object-fit: cover;
    object-position: center 56.1%;
}

@media only screen and (min-width: 1001px) {
    body.home .boso-hero {
        height: min(62.441vw, 1199px);
        background: transparent;
    }
}

@media only screen and (min-width: 1001px) {
    .boso-hero > .full_section_inner,
.boso-hero > .full_section_inner > .vc_column_container,
.boso-hero > .full_section_inner > .vc_column_container > .vc_column-inner,
.boso-hero .vc_column-inner > .wpb_wrapper,
.boso-hero__image,
.boso-hero__image > .wpb_wrapper,
.boso-hero__image .vc_single_image-wrapper,
.boso-hero__image img {
        width: 100%;
        height: 100%;
    }
}

@media only screen and (min-width: 1001px) {
    .boso-hero > .full_section_inner > .vc_column_container > .vc_column-inner {
        padding-right: 0 !important;
        padding-left: 0 !important;
    }
}

.boso-hero__copy {
    position: absolute !important;
    z-index: 4;
    top: 15%;
    left: var(--boso-header-axis);
    width: min(47.31%, 908px);
    color: #fff;
}

.boso-hero__copy,
.boso-hero__copy > .vc_column_container,
.boso-hero__copy > .vc_column_container > .vc_column-inner {
    box-sizing: border-box;
    margin-right: 0 !important;
    margin-left: 0 !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
}

.boso-hero__copy .vc_column-inner > .wpb_wrapper {
    height: auto !important;
}

.boso-hero__copy .wpb_content_element {
    margin-bottom: 0 !important;
}

.boso-hero__kicker .boso-kicker {
    margin: 0;
}

.boso-hero h1 {
    margin: 0;
    color: #fcfcfa;
    font-family: "IvyPresto Display", "ivypresto-display", serif;
    font-size: clamp(64px, 5.208vw, 100px);
    font-style: italic;
    font-weight: 200;
    line-height: 1.26;
    letter-spacing: -.025em;
}

/* Separator | strony: home */
.boso-separator {
    padding: 56px 0 46px;
}

.boso-separator .wpb_content_element {
    margin-bottom: 0;
}

.boso-separator img {
    width: 150px;
    max-height: 62px;
}

/* Galeria i jej nawigacja | strony: home */
.boso-gallery-link {
    padding: 46px 0 72px;
    border-bottom: 1px solid var(--boso-line);
}

/* Układ i wygląd elementów | strony: home */
.boso-section-heading {
    padding: 82px 0 70px;
    text-align: center !important;
}

.boso-section-heading h2 {
    margin: 0 0 20px;
    font-size: 72px;
    line-height: 1;
}

.boso-section-heading img {
    width: 150px;
    max-height: 62px;
}

/* Duży napis BOSO | strony: home */
.boso-wordmark {
    overflow: hidden;
    padding: 150px 0 110px;
}

.boso-wordmark .wpb_content_element {
    margin-bottom: 0;
}

.boso-wordmark .vc_single_image-wrapper,
.boso-wordmark img {
    display: block;
    width: 100%;
}

.boso-wordmark img {
    width: 100%;
    max-width: 100%;
    transform: none;
}

@media only screen and (min-width: 768px) {
    body.home .boso-wordmark img {
        width: 112.311%;
        max-width: none;
        transform: translateX(-2.523%);
    }
}

/* Definicja słowa | strony: home */
.boso-definition {
    min-height: 670px;
    border-bottom: 1px solid var(--boso-line);
}

.boso-definition__image .vc_single_image-wrapper,
.boso-definition__image img {
    display: block;
    width: 100%;
    height: 100%;
}

.boso-definition__image img {
    min-height: 670px;
    object-fit: cover;
}

.boso-definition__copy > .vc_column-inner {
    display: flex;
    align-items: center;
    min-height: 670px;
    padding: 72px 15% !important;
}

.boso-definition h2 {
    margin: 0 0 18px;
    font-size: clamp(72px, 6.25vw, 120px);
    line-height: 1;
    text-transform: lowercase !important;
}

.boso-definition p {
    font-family: "Bulgari", serif;
    font-size: clamp(18px, 1.51vw, 29px);
    line-height: 1.55;
}

/* Definicja słowa | strony: home */
body.home .boso-gallery-strip > .full_section_inner::before,
body.home .boso-gallery-strip > .full_section_inner::after,
body.home .boso-definition > .full_section_inner::before,
body.home .boso-definition > .full_section_inner::after {
    display: none !important;
    content: none !important;
}

/* Nagłówek opinii | strony: home */
.boso-moments-heading {
    padding: 150px 0 100px;
    text-align: center;
}

.boso-moments-heading h2 {
    margin: 0 0 24px;
    font-size: clamp(140px, 10.417vw, 200px);
    line-height: .85;
}

.boso-moments-heading h2 small {
    display: block;
    margin-bottom: -.225em;
    font-size: .45em;
    line-height: 1;
}

.boso-moments-heading p {
    margin: 14px 0;
    font-size: clamp(16px, 1.51vw, 29px);
}

/* Opinie gości | strony: home */
.boso-testimonials {
    padding-bottom: 170px;
}

.boso-testimonials .vc_column-inner {
    height: 100%;
    padding: 0 48px !important;
    border-left: 1px solid var(--boso-line);
}

.boso-testimonials > div:last-child .vc_column-inner {
    border-right: 1px solid var(--boso-line);
}

.boso-testimonials blockquote {
    margin: 0;
    padding: 0;
    border: 0;
    color: var(--boso-ink);
}

.boso-testimonials blockquote > p {
    min-height: 170px;
    color: var(--boso-ink);
    font-family: "Bulgari", serif;
    font-size: 25px;
    line-height: 1.25;
}

.boso-testimonials cite {
    display: block;
    margin-top: 36px;
    text-align: center;
    font-style: normal;
}

.boso-testimonials cite strong {
    display: block;
    font-family: "South Castle", cursive;
    font-size: 30px;
    font-weight: 400;
}

/* Nagłówek Instagram | strony: home */
@media only screen and (min-width: 768px) {
    body.home .boso-social-heading {
        padding-top: 100px;
    }
}

/* Galeria i jej nawigacja | strony: home */
@media only screen and (min-width: 1001px) {
    body.home .boso-gallery-strip {
        box-sizing: border-box;
        padding: min(.99vw, 19px) 0;
        overflow: hidden;
    }
}

@media only screen and (min-width: 1001px) {
    body.home .boso-gallery-strip > .full_section_inner > .vc_column_container,
body.home .boso-gallery-strip .vc_column-inner,
body.home .boso-gallery-strip .wpb_wrapper,
body.home .boso-gallery-strip .wpb_single_image,
body.home .boso-gallery-strip .vc_figure,
body.home .boso-gallery-strip .vc_single_image-wrapper,
body.home .boso-gallery-strip img {
        width: 100% !important;
        max-width: none !important;
        height: min(31.042vw, 596px) !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden;
    }
}

@media only screen and (min-width: 1001px) {
    body.home .boso-gallery-strip > .full_section_inner > .vc_column_container {
        float: none !important;
        min-width: 0 !important;
        width: auto !important;
        max-width: none !important;
        grid-row: 1 !important;
    }
}

@media only screen and (min-width: 1001px) {
    body.home .boso-gallery-strip > .full_section_inner > .vc_column_container:nth-child(1) {
        grid-column: 1 !important;
    }
}

@media only screen and (min-width: 1001px) {
    body.home .boso-gallery-strip > .full_section_inner > .vc_column_container:nth-child(2) {
        grid-column: 2 !important;
    }
}

@media only screen and (min-width: 1001px) {
    body.home .boso-gallery-strip > .full_section_inner > .vc_column_container:nth-child(3) {
        grid-column: 3 !important;
    }
}

/* Hero — obraz i typografia | strony: home */
@media only screen and (min-width: 1001px) {
    body.home .boso-hero-space {
        height: min(4.48vw, 86px) !important;
    }
}

/* Układ i wygląd elementów | strony: home */
@media only screen and (min-width: 1001px) {
    body.home .boso-book-bar .vc_btn3 {
        font-size: clamp(13px, .99vw, 19px) !important;
        letter-spacing: .3em !important;
    }
}

/* Galeria i jej nawigacja | strony: home */
@media only screen and (min-width: 1001px) {
    body.home .boso-gallery-link {
        display: flex;
        align-items: center;
        justify-content: center;
        box-sizing: border-box;
        min-height: min(15.182vw, 292px);
        padding: 0;
    }
}

/* Linki i przyciski | strony: home */
@media only screen and (min-width: 1001px) {
    body.home .boso-link-button .vc_btn3 {
        font-size: clamp(14px, 1.198vw, 23px);
        letter-spacing: .3em;
    }
}

/* Układ i wygląd elementów | strony: home */
@media only screen and (min-width: 1001px) {
    body.home .boso-section-heading {
        display: flex;
        align-items: center;
        justify-content: center;
        box-sizing: border-box;
        min-height: min(25.078vw, 482px);
        padding: 0;
    }
}

@media only screen and (min-width: 1001px) {
    body.home .boso-section-heading h2 {
        margin: 0;
        font-size: clamp(140px, 10.417vw, 200px);
        line-height: 1;
    }
}

/* Karty willi | strony: home */
@media only screen and (min-width: 1001px) {
    body.home .boso-villa-card__copy > .vc_column-inner {
        padding: clamp(70px, 4.948vw, 95px) clamp(86px, 10.6vw, 204px) !important;
    }
}

/* Definicja słowa | strony: home */
@media only screen and (min-width: 1001px) {
    body.home .boso-definition {
        width: 100%;
        height: min(68.177vw, 1309px);
        min-height: 0;
        overflow: hidden;
    }
}

@media only screen and (min-width: 1001px) {
    body.home .boso-definition > .full_section_inner {
        display: grid !important;
        grid-template-columns: 28.073% 41.979% 29.948%;
        width: 100% !important;
        height: 100%;
        margin: 0 !important;
    }
}

@media only screen and (min-width: 1001px) {
    body.home .boso-definition > .full_section_inner > .vc_column_container,
body.home .boso-definition .vc_column-inner,
body.home .boso-definition .wpb_wrapper,
body.home .boso-definition .wpb_single_image,
body.home .boso-definition .vc_figure,
body.home .boso-definition .vc_single_image-wrapper,
body.home .boso-definition img {
        width: 100% !important;
        max-width: none !important;
        height: 100% !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }
}

@media only screen and (min-width: 1001px) {
    body.home .boso-definition > .full_section_inner > .vc_column_container {
        float: none !important;
        min-width: 0 !important;
        width: auto !important;
        max-width: none !important;
        grid-row: 1 !important;
    }
}

@media only screen and (min-width: 1001px) {
    body.home .boso-definition > .full_section_inner > .vc_column_container:nth-child(1) {
        grid-column: 1 !important;
    }
}

@media only screen and (min-width: 1001px) {
    body.home .boso-definition > .full_section_inner > .vc_column_container:nth-child(2) {
        grid-column: 2 !important;
    }
}

@media only screen and (min-width: 1001px) {
    body.home .boso-definition > .full_section_inner > .vc_column_container:nth-child(3) {
        grid-column: 3 !important;
    }
}

@media only screen and (min-width: 1001px) {
    body.home .boso-definition__image {
        overflow: hidden;
    }
}

@media only screen and (min-width: 1001px) {
    body.home .boso-definition__image img {
        object-fit: cover;
    }
}

@media only screen and (min-width: 1001px) {
    body.home .boso-definition__image:first-child img {
        object-position: 62% center;
    }
}

@media only screen and (min-width: 1001px) {
    body.home .boso-definition__image:last-child img {
        object-position: 38% center;
    }
}

@media only screen and (min-width: 1001px) {
    body.home .boso-definition__copy > .vc_column-inner {
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 0 12% !important;
        text-align: center;
    }
}

@media only screen and (min-width: 1001px) {
    body.home .boso-definition__copy > .vc_column-inner > .wpb_wrapper {
        width: 100% !important;
        height: auto !important;
        text-align: center !important;
    }
}

@media only screen and (min-width: 1001px) {
    body.home .boso-definition__copy .wpb_text_column,
body.home .boso-definition__copy h2,
body.home .boso-definition__copy p {
        text-align: center !important;
    }
}

@media only screen and (min-width: 1001px) {
    body.home .boso-definition__copy h2,
body.home .boso-definition__copy p:not(.boso-script) {
        font-family: "Bulgari", serif !important;
        font-style: normal !important;
        font-weight: 400 !important;
    }
}

@media only screen and (min-width: 1001px) {
    body.home .boso-definition__copy p em {
        font-family: "IvyPresto Display", "ivypresto-display", serif !important;
        font-style: italic !important;
        font-weight: 200 !important;
    }
}

@media only screen and (min-width: 1001px) {
    body.home .boso-definition__copy p.boso-script {
        font-family: "South Castle", cursive !important;
        font-style: normal !important;
        font-weight: 400 !important;
    }
}

/* Nagłówek opinii | strony: home */
@media only screen and (min-width: 1001px) {
    body.home .boso-moments-heading {
        padding: min(13.333vw, 256px) 0 min(6vw, 115px);
    }
}

/* Hero — obraz i typografia | strony: home */
@media only screen and (max-width: 1000px) {
    .boso-hero__image img {
        height: 82vw;
    }
}

@media only screen and (max-width: 1000px) {
    .boso-hero__copy {
        left: 8vw;
    }
}

@media only screen and (max-width: 767px) {
    .boso-hero__image img {
        height: 197.5vw;
        max-height: 790px;
        object-position: 100% 50%;
    }
}

@media only screen and (max-width: 767px) {
    .boso-hero__copy {
        top: 28.8%;
        right: auto;
        left: 7.5vw;
        width: min(85.278vw, 307px);
    }
}

@media only screen and (max-width: 767px) {
    .boso-hero h1 {
        font-size: min(10vw, 36px);
        font-weight: 100 !important;
        line-height: 1.22;
    }
}

/* Separator | strony: home */
@media only screen and (max-width: 767px) {
    .boso-separator {
        padding: 36px 0;
    }
}

/* Galeria i jej nawigacja | strony: home */
@media only screen and (max-width: 767px) {
    .boso-gallery-link {
        padding: 34px 0 56px;
    }
}

/* Układ i wygląd elementów | strony: home */
@media only screen and (max-width: 767px) {
    .boso-section-heading {
        padding: 58px var(--boso-pad) 48px;
    }
}

@media only screen and (max-width: 767px) {
    .boso-section-heading h2 {
        font-size: 52px;
    }
}

@media only screen and (max-width: 767px) {
    body.home .boso-section-heading--villas {
        display: flex;
        align-items: center;
        justify-content: center;
        box-sizing: border-box;
        height: 192px;
        min-height: 192px;
        padding: 0 var(--boso-pad) !important;
    }
}

@media only screen and (max-width: 767px) {
    body.home .boso-section-heading--villas h2 {
        margin: 0 0 18px;
        font-family: "Bulgari", serif !important;
        font-size: 90px;
        font-style: normal !important;
        font-weight: 400;
        line-height: .88;
    }
}

/* Karty willi | strony: home */
@media only screen and (max-width: 767px) {
    body.home .boso-villa-card__copy > .vc_column-inner {
        justify-content: center;
        min-height: 200px;
        padding: 0 10vw !important;
    }
}

@media only screen and (max-width: 767px) {
    body.home .boso-villa-card h3 {
        margin: 0;
        font-size: clamp(90px, 33.333vw, 120px);
        line-height: .86;
    }
}

@media only screen and (max-width: 767px) {
    body.home .boso-villa-card__copy p,
body.home .boso-villa-card .boso-script,
body.home .boso-villa-card .boso-details-link {
        display: none !important;
    }
}

/* Duży napis BOSO | strony: home */
@media only screen and (max-width: 767px) {
    .boso-wordmark {
        padding: 90px 0 70px;
    }
}

@media only screen and (max-width: 767px) {
    .boso-wordmark img {
        width: 145vw;
        transform: translateX(-22.5vw);
    }
}

/* Definicja słowa | strony: home */
@media only screen and (max-width: 767px) {
    .boso-definition {
        min-height: 0;
    }
}

@media only screen and (max-width: 767px) {
    body .content .boso-definition > .full_section_inner {
        display: flex !important;
        flex-direction: column !important;
    }
}

@media only screen and (max-width: 767px) {
    .boso-definition__image,
.boso-definition__copy {
        width: 100% !important;
    }
}

@media only screen and (max-width: 767px) {
    .boso-definition__copy > .vc_column-inner {
        min-height: 0;
        padding: 72px var(--boso-pad) !important;
        text-align: center;
    }
}

@media only screen and (max-width: 767px) {
    .boso-definition__copy > .vc_column-inner > .wpb_wrapper {
        width: 100%;
    }
}

@media only screen and (max-width: 767px) {
    .boso-definition__image img {
        min-height: 0;
        height: 87.5vw;
    }
}

/* Nagłówek opinii | strony: home */
@media only screen and (max-width: 767px) {
    .boso-moments-heading {
        padding: 110px var(--boso-pad) 70px;
    }
}

@media only screen and (max-width: 767px) {
    .boso-moments-heading h2 {
        font-size: 72px;
    }
}

/* Opinie gości | strony: home */
@media only screen and (max-width: 767px) {
    .boso-testimonials {
        padding: 0 var(--boso-pad) 100px;
    }
}

@media only screen and (max-width: 767px) {
    .boso-testimonials > div {
        width: 100% !important;
    }
}

@media only screen and (max-width: 767px) {
    body.home .boso-testimonials > .full_section_inner > .vc_column_container:nth-child(n/**/+2) {
        display: none !important;
    }
}

@media only screen and (max-width: 767px) {
    .boso-testimonials .vc_column-inner {
        padding: 44px 0 !important;
        border: 0 !important;
        border-bottom: 1px solid var(--boso-line) !important;
    }
}

@media only screen and (max-width: 767px) {
    .boso-testimonials blockquote > p {
        min-height: 0;
        font-size: 24px;
    }
}

/* Hero — obraz i typografia | strony: home */
@media only screen and (max-width: 767px) {
    body.home .boso-hero h1 {
        font-size: min(11.111vw, 40px);
    }
}

@media only screen and (max-width: 767px) {
    body.home .boso-hero .boso-kicker {
        font-size: 19px;
        letter-spacing: .3em;
    }
}

/* Duży napis BOSO | strony: home */
@media only screen and (max-width: 767px) {
    body.home .boso-wordmark {
        display: block !important;
        padding: 32px 0;
        margin: 0;
    }
}

@media only screen and (max-width: 767px) {
    body.home .boso-wordmark img {
        display: block;
        width: 100%;
        max-width: 100%;
        height: auto;
        transform: none;
    }
}

/* Definicja słowa | strony: home */
@media only screen and (max-width: 767px) {
    body.home .boso-definition {
        margin-top: 0;
    }
}

@media only screen and (max-width: 767px) {
    body.home .boso-definition__copy > .vc_column-inner {
        padding: 72px 16.667vw !important;
    }
}

@media only screen and (max-width: 767px) {
    body.home .boso-definition h2 {
        font-size: clamp(90px, 33.333vw, 120px) !important;
        line-height: 1 !important;
    }
}

@media only screen and (max-width: 767px) {
    body.home .boso-definition p:not(.boso-script) {
        font-size: 19px;
    }
}

/* Nagłówek opinii | strony: home */
@media only screen and (max-width: 767px) {
    body.home .boso-moments-heading h2 {
        font-size: clamp(64px, 25vw, 90px) !important;
        line-height: .95 !important;
    }
}

@media only screen and (max-width: 767px) {
    body.home .boso-moments-heading h2 small {
        font-size: .444em;
    }
}

@media only screen and (max-width: 767px) {
    body.home .boso-moments-heading p {
        font-size: 19px;
    }
}

/* Opinie gości | strony: home */
@media only screen and (max-width: 767px) {
    body.home .boso-testimonials blockquote > p {
        font-size: 19px;
    }
}

/* Definicja słowa | strony: home */
body.home .boso-definition__copy > .vc_column-inner,
body.home .boso-definition__copy > .vc_column-inner > .wpb_wrapper,
body.home .boso-definition__copy .wpb_text_column,
body.home .boso-definition__copy h2,
body.home .boso-definition__copy p {
    text-align: left !important;
}


/* Strona o BOSO i zespole | strony: about */

/* Pas zdjęć Instagram | strony: about */
body.page-id-21 .boso-split > .full_section_inner::before,
body.page-id-21 .boso-split > .full_section_inner::after,
body.page-id-21 .boso-gallery-strip > .full_section_inner::before,
body.page-id-21 .boso-gallery-strip > .full_section_inner::after,
body.page-id-21 .boso-social-strip > .full_section_inner::before,
body.page-id-21 .boso-social-strip > .full_section_inner::after {
    display: none !important;
    content: none !important;
}

/* Definicja słowa | strony: about */
.boso-centered-definition {
    padding: 7vw 8%;
    text-align: center !important;
}

.boso-centered-definition h2 {
    margin: 0 0 22px;
    color: var(--boso-ink);
    font: 400 clamp(58px, 6.25vw, 120px)/1 "Bulgari", serif;
    text-transform: none !important;
}

.boso-centered-definition p {
    max-width: 560px;
    margin: 12px auto;
    font: 400 clamp(18px, 1.51vw, 29px)/1.55 "Bulgari", serif;
}

/* Definicja słowa | strony: about */
.boso-centered-definition .boso-script {
    font-family: "South Castle", cursive;
}

body.page-id-21 .boso-centered-definition p.boso-script {
    font-family: "South Castle", cursive !important;
    font-size: clamp(40px, 3.125vw, 60px) !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 1.25 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    white-space: nowrap;
}

/* Sekcja zdjęcie + tekst | strony: about */
body.page-id-21 .boso-about-story--title .boso-split__copy,
body.page-id-21 .boso-about-story--title .boso-split__copy .wpb_wrapper,
body.page-id-21 .boso-about-story--title .boso-split__copy h2 {
    text-align: center !important;
}

.boso-split .vc_column-inner {
    padding: 0 !important;
}

.boso-split__image img {
    display: block;
    width: 100%;
    height: 640px;
    object-fit: cover;
}

.boso-split__copy > .vc_column-inner {
    display: flex;
    justify-content: center;
    min-height: 640px;
    padding: 80px 11% !important;
    flex-direction: column;
}

/* Sekcja zdjęcie + tekst | strony: about */
.boso-split__copy h2 {
    margin: 0 0 45px;
    color: var(--boso-ink);
    font-family: "Bulgari", serif;
    font-size: 60px;
    font-weight: 400;
    line-height: 1.05;
    text-transform: none !important;
}

/* Sekcja zdjęcie + tekst | strony: about */
.boso-split__copy p {
    font-size: 15px;
    line-height: 1.85;
}

/* Sylwetki zespołu | strony: about */
.boso-about-person h3 {
    margin: 0 0 45px;
    color: var(--boso-ink);
    font: 400 clamp(52px, 6.25vw, 120px)/1.05 "Bulgari", serif;
    text-transform: none !important;
}

/* Hero — obraz i typografia | strony: about */
@media only screen and (min-width: 1001px) {
    body.page-id-21 .boso-subhero__image img {
        object-position: center 58.4%;
    }
}

/* Układ i wygląd elementów | strony: about */
@media only screen and (min-width: 1001px) {
    body.page-id-21 .boso-about-story {
        height: min(47.24vw, 907px);
    }
}

@media only screen and (min-width: 1001px) {
    body.page-id-21 .boso-about-story > .full_section_inner {
        display: grid !important;
        grid-template-columns: 47.656% 52.344%;
        height: 100%;
    }
}

/* Sekcja zdjęcie + tekst | strony: about */
@media only screen and (min-width: 1001px) {
    body.page-id-21 .boso-split > .full_section_inner > .vc_column_container {
        float: none !important;
        width: auto !important;
        max-width: none !important;
        height: 100%;
    }
}

@media only screen and (min-width: 1001px) {
    body.page-id-21 .boso-split__image,
body.page-id-21 .boso-split__image > .vc_column-inner,
body.page-id-21 .boso-split__image .wpb_wrapper,
body.page-id-21 .boso-split__image .wpb_single_image,
body.page-id-21 .boso-split__image .vc_single_image-wrapper,
body.page-id-21 .boso-split__image img {
        height: 100% !important;
    }
}

@media only screen and (min-width: 1001px) {
    body.page-id-21 .boso-split__copy > .vc_column-inner {
        min-height: 100%;
        padding: 10% 20% !important;
    }
}

/* Sekcja zdjęcie + tekst | strony: about */
@media only screen and (min-width: 1001px) {
    body.page-id-21 .boso-split__copy h2 {
        font-size: clamp(72px, 6.25vw, 120px);
        line-height: 1;
    }
}

/* Sekcja zdjęcie + tekst | strony: about */
@media only screen and (min-width: 1001px) {
    body.page-id-21 .boso-split__copy p {
        font-family: "Bulgari", serif;
        font-size: clamp(18px, 1.51vw, 29px);
        line-height: 1.55;
    }
}

/* Definicja słowa | strony: about */
@media only screen and (min-width: 1001px) {
    body.page-id-21 .boso-centered-definition {
        display: flex;
        align-items: center;
        justify-content: center;
        box-sizing: border-box;
        min-height: 0;
        padding: 0;
        text-align: center !important;
    }
}

@media only screen and (min-width: 1001px) {
    body.page-id-21 .boso-centered-definition > .full_section_inner,
body.page-id-21 .boso-centered-definition > .full_section_inner > .vc_column_container,
body.page-id-21 .boso-centered-definition > .full_section_inner > .vc_column_container > .vc_column-inner {
        width: 100% !important;
        height: 100%;
        min-height: 0;
    }
}

@media only screen and (min-width: 1001px) {
    body.page-id-21 .boso-centered-definition > .full_section_inner > .vc_column_container > .vc_column-inner {
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 0 !important;
        text-align: center;
    }
}

@media only screen and (min-width: 1001px) {
    body.page-id-21 .boso-centered-definition > .full_section_inner > .vc_column_container > .vc_column-inner > .wpb_wrapper {
        width: min(52%, 998px);
        height: auto;
    }
}

@media only screen and (min-width: 1001px) {
    body.page-id-21 .boso-centered-definition .wpb_content_element {
        margin-bottom: 0;
    }
}

@media only screen and (min-width: 1001px) {
    body.page-id-21 .boso-centered-definition h2 {
        margin: 0 0 clamp(16px, 1.25vw, 24px);
        color: var(--boso-ink);
        font: 400 clamp(72px, 6.25vw, 120px)/1 "Bulgari", serif;
        text-transform: none !important;
    }
}

@media only screen and (min-width: 1001px) {
    body.page-id-21 .boso-centered-definition p {
        margin: clamp(10px, .833vw, 16px) auto;
        font: 400 clamp(18px, 1.51vw, 29px)/1.55 "Bulgari", serif;
    }
}

/* Definicja słowa | strony: about */
@media only screen and (min-width: 1001px) {
    body.page-id-21 .boso-centered-definition .boso-script {
        margin: clamp(28px, 2.917vw, 56px) auto 0 !important;
    }
}

@media only screen and (min-width: 1001px) {
    body.page-id-21 .boso-centered-definition .boso-mark {
        margin-top: clamp(24px, 2.083vw, 40px);
    }
}

/* Sylwetki zespołu | strony: about */
@media only screen and (min-width: 1001px) {
    body.page-id-21 .boso-about-person {
        height: min(42.448vw, 815px);
    }
}

@media only screen and (min-width: 1001px) {
    body.page-id-21 .boso-about-person > .full_section_inner {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        height: 100%;
    }
}

@media only screen and (min-width: 1001px) {
    body.page-id-21 .boso-about-person .boso-split__copy h2,
body.page-id-21 .boso-about-person .boso-split__copy h3 {
        margin: 0 0 clamp(42px, 4.167vw, 80px);
        font-size: clamp(72px, 6.25vw, 120px);
        line-height: 1;
    }
}

@media only screen and (min-width: 1001px) {
    body.page-id-21 .boso-about-person .boso-split__copy p {
        font-family: "Bulgari", serif;
        font-size: clamp(18px, 1.51vw, 29px);
        line-height: 1.55;
    }
}

/* Zaproszenie do rezerwacji | strony: about */
@media only screen and (min-width: 1001px) {
    body.page-id-21 .boso-ready h2 {
        font-size: clamp(72px, 6.25vw, 120px);
    }
}

/* Sekcja zdjęcie + tekst | strony: about */
@media only screen and (max-width: 767px) {
    body .content .boso-split > .full_section_inner {
        display: flex !important;
        flex-direction: column !important;
    }
}

/* Sekcja zdjęcie + tekst | strony: about */
@media only screen and (max-width: 767px) {
    body .content .boso-split--reverse > .full_section_inner {
        flex-direction: column-reverse !important;
    }
}

/* Sekcja zdjęcie + tekst | strony: about */
@media only screen and (max-width: 767px) {
    .boso-split__image,
.boso-split__copy {
        width: 100% !important;
    }
}

@media only screen and (max-width: 767px) {
    .boso-split__image img {
        height: 88vw;
    }
}

@media only screen and (max-width: 767px) {
    .boso-split__copy > .vc_column-inner {
        min-height: 0;
        padding: 70px var(--boso-pad) !important;
    }
}

/* Sekcja zdjęcie + tekst | strony: about */
@media only screen and (max-width: 767px) {
    .boso-split__copy h2 {
        font-size: 46px;
    }
}

/* Sekcja zdjęcie + tekst | strony: about */
@media only screen and (max-width: 767px) {
    .boso-split__image .vc_single_image-wrapper,
.boso-contact-panel .vc_single_image-wrapper {
        display: block !important;
        width: 100% !important;
    }
}

@media only screen and (max-width: 767px) {
    .boso-split__image img,
.boso-contact-panel img {
        width: 100% !important;
        max-width: none !important;
    }
}

/* Definicja słowa | strony: about */
@media only screen and (max-width: 767px) {
    .boso-centered-definition {
        height: auto !important;
        padding: 80px var(--boso-pad) !important;
    }
}

/* Układ i wygląd elementów | strony: about */
@media only screen and (max-width: 767px) {
    body.page-id-21 .boso-about-story--title h2 {
        font-size: clamp(64px, 25vw, 90px) !important;
        line-height: 1 !important;
    }
}

/* Sylwetki zespołu | strony: about */
@media only screen and (max-width: 767px) {
    body.page-id-21 .boso-about-person h3 {
        font-size: clamp(64px, 25vw, 90px) !important;
        line-height: 1 !important;
        text-align: center;
    }
}

/* Sekcja zdjęcie + tekst | strony: about */
@media only screen and (max-width: 767px) {
    body.page-id-21 .boso-split__copy p {
        font-family: "Bulgari", serif;
        font-size: 19px;
        line-height: 1.55;
    }
}

/* Definicja słowa | strony: about */
@media only screen and (max-width: 767px) {
    body.page-id-21 .boso-centered-definition h2 {
        font-size: clamp(90px, 33.333vw, 120px) !important;
        line-height: 1 !important;
    }
}

@media only screen and (max-width: 767px) {
    body.page-id-21 .boso-centered-definition p {
        font-size: 19px;
    }
}


/* Lista willi | strony: villas */

/* Hero — obraz i typografia | strony: villas */
@media only screen and (min-width: 1001px) {
    body.page-id-27 .boso-subhero__image img {
        object-position: 55.4% 31.8%;
    }
}

/* Wprowadzenie do podstrony | strony: villas */
@media only screen and (min-width: 1001px) {
    body.page-id-27 .boso-page-intro {
        display: flex;
        align-items: center;
        justify-content: center;
        box-sizing: border-box;
        height: min(35.886vw, 689px);
        padding: 0;
    }
}

@media only screen and (min-width: 1001px) {
    body.page-id-27 .boso-page-intro h2 {
        margin: 0 0 clamp(30px, 2.604vw, 50px);
        font-size: clamp(64px, 4.688vw, 90px);
        line-height: 1.11;
    }
}

@media only screen and (max-width: 767px) {
    body.page-id-27 .boso-page-intro {
        display: block;
        box-sizing: border-box;
        height: auto;
        min-height: 0;
        padding: 50px var(--boso-pad) 46px !important;
        overflow: hidden;
    }
}

@media only screen and (max-width: 767px) {
    body.page-id-27 .boso-page-intro .wpb_content_element {
        margin-bottom: 0 !important;
    }
}

@media only screen and (max-width: 767px) {
    body.page-id-27 .boso-page-intro h2 {
        margin: 0;
        font-family: "Bulgari", serif !important;
        font-size: clamp(46px, 11vw, 54px);
        font-style: normal !important;
        font-weight: 400;
        line-height: 1.05;
    }
}

@media only screen and (max-width: 767px) {
    body.page-id-27 .boso-page-intro .boso-mark {
        margin-top: 28px !important;
    }
}

@media only screen and (max-width: 767px) {
    body.page-id-27 .boso-page-intro .boso-mark img {
        width: clamp(58px, 16vw, 80px);
        height: auto;
    }
}

/* Karty willi | strony: villas */
@media only screen and (max-width: 767px) {
    body.page-id-27 .boso-villa-card__copy > .vc_column-inner {
        justify-content: center;
        min-height: 180px;
        padding: 0 8vw !important;
    }
}

@media only screen and (max-width: 767px) {
    body.page-id-27 .boso-villa-card h3 {
        margin: 0;
        font-family: "Bulgari", serif !important;
        font-size: 54px;
        font-style: normal !important;
        font-weight: 400;
        line-height: 1;
    }
}

/* Wprowadzenie do podstrony | strony: villas */
@media only screen and (max-width: 767px) {
    body.page-id-27 .content .boso-page-intro h2 {
        font-size: clamp(56px, 19.444vw, 70px) !important;
        line-height: 1.1 !important;
    }
}

/* Karty willi | strony: villas */
@media only screen and (max-width: 767px) {
    body.page-id-27 .content .boso-villa-card h3 {
        font-size: clamp(90px, 33.333vw, 120px) !important;
        line-height: 1.05 !important;
        text-align: left;
    }
}


/* Szczegóły willi | strony: villa-i */

/* Odręczny podpis | strony: villa-i */
.boso-script-dash > span {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
}

/* Zdjęcia i szczegóły willi | strony: villa-i */
.boso-detail-full .vc_column-inner {
    padding: 0 !important;
}

.boso-detail-full .wpb_content_element {
    margin: 0;
}

.boso-detail-full .vc_single_image-wrapper,
.boso-detail-full img {
    display: block;
    width: 100%;
}

.boso-detail-full img {
    height: auto;
    aspect-ratio: 1920 / 989;
    object-fit: cover;
}

/* Zdjęcia i szczegóły willi | strony: villa-i */
.boso-detail-full--deep img {
    aspect-ratio: 1920 / 1555;
}

/* Zdjęcia i szczegóły willi | strony: villa-i */
.boso-detail-mosaic .vc_column-inner,
.boso-detail-mosaic .wpb_wrapper,
.boso-detail-mosaic .wpb_single_image,
.boso-detail-mosaic .vc_single_image-wrapper {
    height: 100%;
    margin: 0;
    padding: 0 !important;
}

.boso-detail-mosaic img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Hero — obraz i typografia | strony: villa-i */
@media only screen and (min-width: 1001px) {
    body.page-id-171 .boso-subhero__image img {
        object-position: 49.2% 36.7%;
    }
}

/* Szczegóły willi | strony: villa-i */
@media only screen and (min-width: 1001px) {
    body:is(.page-id-171, .page-id-235, .page-id-237, .page-id-239) .boso-villa-feature {
        height: min(54.661vw, 1049.5px);
        overflow: hidden;
    }
}

@media only screen and (min-width: 1001px) {
    body:is(.page-id-171, .page-id-235, .page-id-237, .page-id-239) .boso-villa-feature > .full_section_inner {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        width: 100% !important;
        height: 100%;
        margin: 0 !important;
    }
}

@media only screen and (min-width: 1001px) {
    body:is(.page-id-171, .page-id-235, .page-id-237, .page-id-239) .boso-villa-feature > .full_section_inner > .vc_column_container {
        float: none !important;
        width: auto !important;
        max-width: none !important;
        height: 100%;
    }
}

@media only screen and (min-width: 1001px) {
    body:is(.page-id-171, .page-id-235, .page-id-237, .page-id-239) .boso-feature-image,
body:is(.page-id-171, .page-id-235, .page-id-237, .page-id-239) .boso-feature-image :is(.vc_column-inner, .wpb_wrapper, .wpb_single_image, .vc_figure, .vc_single_image-wrapper, img) {
        width: 100% !important;
        max-width: none !important;
        height: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }
}

@media only screen and (min-width: 1001px) {
    body:is(.page-id-171, .page-id-235, .page-id-237, .page-id-239) .boso-feature-image img {
        object-fit: cover;
    }
}

@media only screen and (min-width: 1001px) {
    body:is(.page-id-171, .page-id-235, .page-id-237, .page-id-239) .boso-feature-copy > .vc_column-inner {
        display: flex;
        flex-direction: column;
        justify-content: center;
        height: 100%;
        padding: 10% 16% !important;
    }
}

/* Szczegóły willi | strony: villa-i */
@media only screen and (min-width: 1001px) {
    body:is(.page-id-171, .page-id-235, .page-id-237, .page-id-239) .boso-feature-copy h2 {
        margin: 0 0 clamp(42px, 4.167vw, 80px);
        color: var(--boso-ink);
        font: 400 clamp(72px, 6.25vw, 120px)/1 "Bulgari", serif;
        text-transform: none !important;
    }
}

/* Szczegóły willi | strony: villa-i */
@media only screen and (min-width: 1001px) {
    body:is(.page-id-171, .page-id-235, .page-id-237, .page-id-239) .boso-feature-copy p:not(.boso-script, .boso-villa-details) {
        max-width: 474px;
        font: 400 clamp(18px, 1.51vw, 29px)/1.55 "Bulgari", serif;
    }
}

/* Szczegóły willi | strony: villa-i */
@media only screen and (min-width: 1001px) {
    body:is(.page-id-171, .page-id-235, .page-id-237, .page-id-239) .boso-villa-feature--specs .boso-feature-copy p:not(.boso-script) {
        font: 400 clamp(12px, .885vw, 17px)/1.65 "Josefin Sans", sans-serif;
        letter-spacing: .02em;
    }
}

/* Zdjęcia i szczegóły willi | strony: villa-i */
@media only screen and (min-width: 1001px) {
    body:is(.page-id-171, .page-id-235, .page-id-237, .page-id-239) .boso-detail-mosaic > .full_section_inner {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-template-rows: min(58.96vw, 1132px) min(25.73vw, 494px);
        gap: min(1vw, 19px);
        width: 100% !important;
        margin: 0 !important;
    }
}

@media only screen and (min-width: 1001px) {
    body:is(.page-id-171, .page-id-235, .page-id-237, .page-id-239) .boso-detail-mosaic > .full_section_inner::before,
body:is(.page-id-171, .page-id-235, .page-id-237, .page-id-239) .boso-detail-mosaic > .full_section_inner::after {
        display: none !important;
        content: none !important;
    }
}

@media only screen and (min-width: 1001px) {
    body:is(.page-id-171, .page-id-235, .page-id-237, .page-id-239) .boso-detail-mosaic .vc_column_container {
        width: 100% !important;
        height: 100%;
    }
}

@media only screen and (min-width: 1001px) {
    body:is(.page-id-171, .page-id-235, .page-id-237, .page-id-239) .boso-detail-mosaic .vc_column_container:nth-child(1) {
        grid-area: 1 / 1 / 3 / 2;
    }
}

@media only screen and (min-width: 1001px) {
    body:is(.page-id-171, .page-id-235, .page-id-237, .page-id-239) .boso-detail-mosaic .vc_column_container:nth-child(2) {
        grid-area: 1 / 2 / 2 / 3;
    }
}

@media only screen and (min-width: 1001px) {
    body:is(.page-id-171, .page-id-235, .page-id-237, .page-id-239) .boso-detail-mosaic .vc_column_container:nth-child(3) {
        grid-area: 2 / 2 / 3 / 3;
    }
}

/* Szczegóły willi | strony: villa-i */
@media only screen and (max-width: 767px) {
    .boso-villa-feature {
        height: auto !important;
    }
}

@media only screen and (max-width: 767px) {
    body .content .boso-villa-feature > .full_section_inner {
        display: flex !important;
        flex-direction: column !important;
    }
}

@media only screen and (max-width: 767px) {
    .boso-villa-feature .vc_column_container {
        width: 100% !important;
    }
}

@media only screen and (max-width: 767px) {
    .boso-villa-feature .boso-feature-image img {
        height: 95vw !important;
    }
}

@media only screen and (max-width: 767px) {
    .boso-villa-feature .boso-feature-copy > .vc_column-inner {
        height: auto;
        padding: 70px var(--boso-pad) !important;
    }
}

/* Zdjęcia i szczegóły willi | strony: villa-i */
@media only screen and (max-width: 767px) {
    .boso-detail-mosaic > .full_section_inner {
        display: grid !important;
        grid-template-columns: 1fr 1fr;
        grid-template-rows: 70vw 40vw;
        gap: 4px;
    }
}

@media only screen and (max-width: 767px) {
    .boso-detail-mosaic > .full_section_inner::before,
.boso-detail-mosaic > .full_section_inner::after {
        display: none !important;
        content: none !important;
    }
}

@media only screen and (max-width: 767px) {
    .boso-detail-mosaic .vc_column_container {
        width: 100% !important;
    }
}

@media only screen and (max-width: 767px) {
    .boso-detail-mosaic .vc_column_container:nth-child(1) {
        grid-area: 1 / 1 / 3 / 2;
    }
}

@media only screen and (max-width: 767px) {
    .boso-detail-mosaic .vc_column_container:nth-child(2) {
        grid-area: 1 / 2 / 2 / 3;
    }
}

@media only screen and (max-width: 767px) {
    .boso-detail-mosaic .vc_column_container:nth-child(3) {
        grid-area: 2 / 2 / 3 / 3;
    }
}


/* Galeria główna | strony: gallery */

/* Galeria i jej nawigacja | strony: gallery */
body.page-id-23 .boso-gallery-grid > .full_section_inner {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

body.page-id-23 .boso-gallery-grid .vc_column_container,
body.page-id-23 .boso-gallery-grid .vc_column-inner,
body.page-id-23 .boso-gallery-grid .wpb_wrapper,
body.page-id-23 .boso-gallery-grid .wpb_single_image,
body.page-id-23 .boso-gallery-grid .vc_single_image-wrapper {
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.page-id-23 .boso-gallery-grid img {
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    object-fit: cover;
}

/* Galeria i jej nawigacja | strony: gallery */
body.page-id-23 .boso-gallery-mosaic > .full_section_inner {
    grid-template-rows: repeat(2, min(25.73vw, 283px));
}

/* Galeria i jej nawigacja | strony: gallery */
body.page-id-23 .boso-gallery-mosaic--top .vc_column_container:nth-child(1) {
    grid-area: 1 / 1 / 3 / 2;
}

body.page-id-23 .boso-gallery-mosaic--top .vc_column_container:nth-child(2) {
    grid-area: 1 / 2 / 2 / 3;
}

body.page-id-23 .boso-gallery-mosaic--top .vc_column_container:nth-child(3) {
    grid-area: 2 / 2 / 3 / 3;
}

/* Galeria i jej nawigacja | strony: gallery */
body.page-id-23 .boso-gallery-grid--full > .full_section_inner {
    grid-template-columns: 1fr;
}

body.page-id-23 .boso-gallery-grid--full img {
    height: min(51.51vw, 567px) !important;
}

/* Galeria i jej nawigacja | strony: gallery */
body.page-id-23 .boso-gallery-mosaic--bottom .vc_column_container:nth-child(1) {
    grid-area: 1 / 1 / 2 / 2;
}

body.page-id-23 .boso-gallery-mosaic--bottom .vc_column_container:nth-child(2) {
    grid-area: 1 / 2 / 3 / 3;
}

body.page-id-23 .boso-gallery-mosaic--bottom .vc_column_container:nth-child(3) {
    grid-area: 2 / 1 / 3 / 2;
}

/* Galeria i jej nawigacja | strony: gallery */
@media only screen and (min-width: 1001px) {
    body.page-id-23 .boso-gallery-grid > .full_section_inner {
        height: auto !important;
        min-height: 0 !important;
    }
}

@media only screen and (min-width: 1001px) {
    body.page-id-23 .boso-gallery-grid > .full_section_inner > .vc_column_container {
        display: block !important;
    }
}

/* Galeria i jej nawigacja | strony: gallery */
@media only screen and (min-width: 1001px) {
    body.page-id-23 .boso-gallery-mosaic--top img[src*="DSC_9448"] {
        display: block !important;
    }
}

/* Galeria i jej nawigacja | strony: gallery */
@media only screen and (min-width: 1001px) {
    body.page-id-23 .boso-gallery-mosaic > .full_section_inner {
        grid-template-rows: repeat(2, min(25.73vw, 494px));
    }
}

/* Galeria i jej nawigacja | strony: gallery */
@media only screen and (min-width: 1001px) {
    body.page-id-23 .boso-gallery-grid--full img {
        height: min(51.51vw, 989px) !important;
    }
}

/* Wprowadzenie do podstrony | strony: gallery */
@media only screen and (max-width: 767px) {
    body.page-id-23 .boso-page-intro-space--title {
        height: 85px !important;
    }
}

/* Galeria i jej nawigacja | strony: gallery */
@media only screen and (max-width: 767px) {
    body.page-id-23 .boso-gallery-grid > .full_section_inner {
        column-gap: 4px;
    }
}

/* Galeria i jej nawigacja | strony: gallery */
@media only screen and (max-width: 767px) {
    body.page-id-23 .boso-gallery-mosaic--top > .full_section_inner {
        grid-template-rows: 26.389vw 33.333vw;
        row-gap: 7.778vw;
    }
}

/* Galeria i jej nawigacja | strony: gallery */
@media only screen and (max-width: 767px) {
    body.page-id-23 .boso-gallery-grid--full img {
        height: 66.667vw !important;
    }
}

/* Galeria i jej nawigacja | strony: gallery */
@media only screen and (max-width: 767px) {
    body.page-id-23 .boso-gallery-mosaic--bottom > .full_section_inner {
        grid-template-rows: repeat(2, 33.333vw);
        row-gap: 4px;
    }
}


/* Strona kontaktowa | strony: contact */

/* Kontakt | strony: contact */
.boso-contact-panel {
    padding: 120px 0;
}

.boso-contact-panel .vc_column-inner {
    padding: 0 7% !important;
}

.boso-contact-panel h3 {
    margin: 0 0 12px;
    font: 600 10px/1 "Josefin Sans", sans-serif;
    letter-spacing: 3px;
    text-transform: uppercase;
}

.boso-contact-panel p {
    margin-bottom: 34px;
    font-size: 15px;
    line-height: 1.7;
}

/* Kontakt | strony: contact */
.boso-contact-photo .vc_column-inner {
    padding: 0 !important;
}

.boso-contact-photo .wpb_content_element {
    margin: 0;
}

.boso-contact-photo .vc_single_image-wrapper,
.boso-contact-photo img {
    display: block;
    width: 100%;
}

.boso-contact-photo img {
    height: auto;
    aspect-ratio: 1920 / 848;
    object-fit: cover;
}

/* Kontakt | strony: contact */
@media only screen and (min-width: 1001px) {
    body.page-id-25 .boso-contact-panel p {
        font-family: "Bulgari", serif;
        font-size: clamp(18px, 1.51vw, 29px);
        line-height: 1.55;
    }
}

@media only screen and (max-width: 767px) {
    .boso-contact-panel {
        padding: 80px 0;
    }
}

@media only screen and (max-width: 767px) {
    .boso-contact-panel .vc_column_container {
        width: 100% !important;
    }
}

@media only screen and (max-width: 767px) {
    .boso-contact-panel .vc_column-inner {
        padding: 0 !important;
    }
}

@media only screen and (max-width: 767px) {
    .boso-contact-panel .wpb_text_column {
        box-sizing: border-box;
        padding-right: var(--boso-pad);
        padding-left: var(--boso-pad);
    }
}

/* Kontakt | strony: contact */
@media only screen and (max-width: 767px) {
    .boso-contact-photo img {
        aspect-ratio: 1.25 / 1;
    }
}


/* Strona rezerwacji | strony: reserve */

/* Układ i wygląd elementów | strony: reserve */
.boso-reserve-box {
    max-width: 900px;
    margin: 0 auto 140px;
    padding: 70px;
    border: 1px solid var(--boso-line);
    text-align: center;
}

.boso-reserve-box h2 {
    margin: 0 0 25px;
    color: var(--boso-ink);
    font-family: "Bulgari", serif;
    font-size: 52px;
    font-weight: 400;
    text-transform: none !important;
}

.boso-reserve-box p {
    max-width: 580px;
    margin: 0 auto 42px;
    font-size: 15px;
    line-height: 1.8;
}

/* Wprowadzenie do podstrony | strony: reserve */
@media only screen and (min-width: 1001px) {
    body.page-id-176 .boso-page-intro {
        min-height: min(40vw, 768px);
    }
}

@media only screen and (max-width: 767px) {
    body:is(.page-id-25, .page-id-176) .boso-page-intro-space--mark {
        height: 68px !important;
    }
}

/* Układ i wygląd elementów | strony: reserve */
@media only screen and (max-width: 767px) {
    .boso-reserve-box {
        margin: 0 var(--boso-pad) 100px;
        padding: 55px 26px;
    }
}
