/**handles:shared-style**/
/*
    BASES
    El contenidor principal te un padding horitzontal var(--wp--custom--gap--horizontal)
    Si volem contingut 100% hem de fer el contingut + 2 cops el gap horitzontal;
*/

html {
    box-sizing: border-box;
    scroll-behavior: smooth;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

*,
*:before,
*:after {
    box-sizing: inherit;
}

nav ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

strong {
    /* only needed if value is different than bold */
    /* font-weight: var(--wp--custom--font-weight--extrabold); */
}

#container {
    width: 100%;
    padding-left: var(--wp--style--block-gap);
    padding-right: var(--wp--style--block-gap);
    overflow-x: hidden;
}

.wp-block-cover__inner-container > *,
.entry-content > * {
    margin: 0 auto;
}

.wp-block-cover__inner-container>*+*,
.entry-content > * + * {
    margin-top: var(--wp--style--block-gap);
    margin-bottom: 0;
}

.entry-content > *:not(.alignfull):not(.alignwide) {
    max-width: var(--wp--style--global--content-size);
}

.wp-block-cover,
.alignwide,
.alignfull {
    margin-top: var(--wp--style--block-gap);
    margin-bottom: var(--wp--style--block-gap);
}

.wp-block-image {
    margin-bottom: var(--wp--style--block-gap);
}

.alignwide {
    max-width: var(--wp--style--global--wide-size);
}

.entry-content > .alignfull {
    margin-left: calc(-1 * var(--wp--style--block-gap));
    margin-right: calc(-1 * var(--wp--style--block-gap));
    width: calc(100% + 2 * var(--wp--style--block-gap));
}

.alignfull.has-background > .alignfull {
    margin-left: calc(-1 * var(--wp--style--block-gap));
    margin-right: calc(-1 * var(--wp--style--block-gap));
}

.wp-block-cover,
.has-background:not(.wp-block-button__link, .wp-block-separator, .wp-block-media-text) {
    padding: var(--wp--style--block-gap);
}


.has-background.wp-block-separator,
.has-background.wp-block-media-text {
    padding: 0;
}

h1.alignfull:not(.has-background),
h2.alignfull:not(.has-background),
h3.alignfull:not(.has-background),
h4.alignfull:not(.has-background),
h5.alignfull:not(.has-background),
h5.alignfull:not(.has-background) {
    margin-left: 0;
    margin-right: 0;
    width: 100%;
}

h1.has-background,
h2.has-background,
h3.has-background,
h4.has-background,
h5.has-background,
h5.has-background {
    padding-left: var(--wp--style--block-gap);
    padding-right: var(--wp--style--block-gap);
}

.is-style-list-columns-2,
.is-style-list-columns-3 {
    break-inside: avoid;
    page-break-inside: avoid;
}

.is-style-list-columns-2 {
    columns: auto 2;
    column-gap: calc(2 * var(--wp--style--block-gap));
}

.is-style-list-columns-3 {
    columns: auto 3;
    column-gap: calc(2 * var(--wp--style--block-gap));
}

@media screen and (pointer: fine) {
    
    a:where(:not(.wp-element-button):not(.wp-block-custom-banner)):hover {
        color: inherit;
    }

}

.alignnormal {
    max-width: 800px;
}

/* images */

figure[class*="is-style-aspect-ratio"] img {
    object-fit: cover;
}

.is-style-aspect-ratio-1_1 img {
    aspect-ratio: 1/1;
}

.is-style-aspect-ratio-4_3 img {
    aspect-ratio: 4/3;
}

.is-style-aspect-ratio-3_4 img {
    aspect-ratio: 3/4;
}

.is-style-aspect-ratio-3_2 img {
    aspect-ratio: 3/2;
}

.is-style-aspect-ratio-2_3 img {
    aspect-ratio: 2/3;
}

.is-style-aspect-ratio-16_9 img {
    aspect-ratio: 16/9;
}

.is-style-aspect-ratio-9_16 img {
    aspect-ratio: 9/16;
}

.is-style-aspect-ratio-21_9 img {
    aspect-ratio: 21/9;
}

.is-style-aspect-ratio-9_21 img {
    aspect-ratio: 9/21;
}

.is-style-aspect-ratio-1_1 img {
    aspect-ratio: 1/1;
}

/* page-cover */

.page-cover {
    z-index: -1;
}

.page-cover h1 {
    text-shadow: 2px 2px 4px rgba(0,0,0,.75);
}

@media only screen and (max-width: 450px) {
   
    .home .page-cover {
        min-height: 75vh !important;
    }

    .page .page-cover {
        min-height: 40vh !important;
    }

}

/* booking icon */

.booking-icon {
    min-height: unset;
    flex-basis: 12%;
}

.booking-icon .wp-block-cover__image-background {
    object-fit: contain;
    transform: translate(5%, -5%) rotate(10deg);
    max-width: 110px;
}

/* seo-titles */

.seo-title-1 span {
    font-size: var(--wp--preset--font-size--h-3);
    font-family: var(--wp--preset--font-family--caveat);
    background-color: var(--wp--preset--color--theme-blue);
    display: block;
    width: max-content;
    padding: calc(var(--wp--style--block-gap)/3) calc(var(--wp--style--block-gap)*2);
    border-radius: 2rem;
    box-shadow: 2px 2px 4px rgba(0,0,0,.5);
    text-shadow: none;
    text-transform: var(--wp--custom--text-transform--capitalize);
    margin: var(--wp--style--block-gap) auto 0;
}

.seo-title-2 span {
    font-size: var(--wp--preset--font-size--h-4);
    color: var(--wp--preset--color--theme-blue);
    font-family: var(--wp--preset--font-family--caveat);
    text-transform: var(--wp--custom--text-transform--capitalize);
}

.seo-title-2.title-green span {
    color: var(--wp--preset--color--theme-dark-green);
}

.mountains .seo-title-2 span {
    color: var(--wp--preset--color--theme-dark-blue) !important;
}

/* shadows */

[class*="-shadow"] {
    position: relative;
}

[class*="-shadow"]::after {
    content: '';
    width: 100%;
    height: 100%;
    position: absolute;
    z-index: -1;
    border-radius: 1.25rem;
    top: 1rem;
} 

.orange-shadow::after {
    background-color: var(--wp--preset--color--theme-orange);
    left: 1rem;
}

.green-shadow::after {
    background-color: var(--wp--preset--color--theme-dark-green);
    right: 1rem;
}

@media only screen and (max-width: 781px) {

    .restrict-size {
        max-width: 586px;
        margin: 0 auto;
    }

}

.blue-shadow::after {
    background-color: var(--wp--preset--color--theme-blue);
    right: 1rem;
}

/* icon-card */

.icon-card-container {
    justify-content: flex-start !important;
}

.icon-card-container .icon-card {
    min-width: 180px;
    min-height: 240px;
}

.icon-card-container .wp-block-cover__image-background {
    height: 580px;
    top: unset;
}

.wp-block-custom-banner.icon-card {
    position: relative;
    transition: transform .2s ease-out; 
}

.wp-block-custom-banner.icon-card .acf-innerblocks-container {
    min-height: 240px;
}

.wp-block-custom-banner.icon-card .acf-innerblocks-container,
.wp-block-group.icon-card {
    border-radius: 1.5rem;
    padding: 2rem !important;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #F4FAE1;
    color: var(--wp--preset--color--theme-dark-blue);
}

.wp-block-group.icon-card {
    width: 100%;
    aspect-ratio: 1/1;
    min-height: 180px;
    max-width: 180px;
    padding: 1rem !important;
}

.wp-block-group.icon-card figcaption {
    margin-top: 1rem;
}

.wp-block-group.icon-card figcaption mark {
    font-weight: var(--wp--custom--font-weight--regular);
    font-size: var(--wp--preset--font-size--text-small);
}

a.icon-card::after {
    content: '';
    width: 100%;
    height: 100%;
    border-radius: 1.5rem;
    position: absolute;
    top: 0;
    left: 0;
    background-color: var(--wp--preset--color--theme-dark-green);
    transition: top .2s ease-out, left .2s ease-out;
    z-index: -1;
}

.has-theme-orange-background-color .icon-card .acf-innerblocks-container,
.has-theme-orange-background-color .wp-block-group.icon-card {
    background-color: #ffeabe;
    min-width: 216px;
    min-height: 216px;
    aspect-ratio: 1 / 1;
}

.has-theme-orange-background-color .icon-card::after {
    background-color: #ec8e00;
}

.icon-card figcaption {
    font-weight: var(--wp--custom--font-weight--bold);
    margin-top: 2rem;
    margin-bottom: 0;
    color: var(--wp--preset--color--theme-dark-blue);
}

@media only screen and (max-width: 1236px) {

    .icon-card-container .wp-block-cover__image-background {
        height: 100%;
    }

}

@media only screen and (max-width: 1086px) {

    .icon-card-container .wp-block-cover__inner-container > .wp-block-group {
        align-items: flex-start;
    } 

}

@media only screen and (max-width: 1000px) {

    .icon-card-container .wp-block-cover__image-background {
        height: 1150px;
    }

    .icon-card-container .wp-block-cover__inner-container > .wp-block-group {
        flex-wrap: wrap;
    }

}

@media only screen and (max-width: 781px) {

    .icon-card-container {
        justify-content: center !important;
    }

}

@media only screen and (max-width: 625px) {

    .icon-card-container .wp-block-cover__inner-container > .wp-block-group > .wp-block-group > .wp-block-group {
        flex-wrap: wrap;
        justify-content: center;
    }

}

/* buttons */

.wp-block-button__link {
    padding: var(--wp--style--block-gap) calc(var(--wp--style--block-gap)*2) !important;
    border-radius: 1rem;
    transition: background-color .2s ease-out, color .2s ease-out;
}

@media only screen and (max-width: 450px) {

    .wp-block-buttons,
    .wp-block-button,
    .wp-block-button__link {
        width: 100%;
    }

}

/* accommodation block */

.accommodation-block {
    aspect-ratio: 1/1;
    border-radius: 2rem;
    overflow: hidden;
}

@media only screen and (max-width: 1000px) {

    .accommodation-block {
        max-width: 586px;
        width: 100%;
        margin-right: auto !important;
        margin-left: auto !important;
    }

    .accommodation-block .wp-block-cover__background {
        height: 180px;
    }

    .accommodation-block .wp-block-group {
        display: block;
        height: auto;
        opacity: 1;
    }

    .accommodation-block .wp-block-cover__inner-container {
        height: calc(180px - (var(--wp--style--block-gap)*2));
        display: flex;
        flex-direction: column;
        justify-content: center;
        width: 100%;
    }

    .accommodation-block p {
        display: none;
    }

    .accommodation-block .wp-block-group .wp-block-buttons {
        width: 100%;
    }

}

@media only screen and (max-width: 469px) {

    .accommodation-block .wp-block-cover__image-background {
        height: 280px;
    }

}

/* mountains */

.mountains {
    position: relative;
}

.mountains::before {
    content: '';
    background: url(https://www.beausejour-camping.com/wp-content/themes/blankv5/assets/images/mountains.svg);
    background-size: cover;
    width: 100%;
    height: 80px;
    top: -70px;
    left: 0;
    position: absolute;
    z-index: 1;
}

.mountains.has-theme-orange-background-color::before {
    background: url(https://www.beausejour-camping.com/wp-content/themes/blankv5/assets/images/mountains-orange.svg);
}

.mountains.has-theme-orange-background-color::after {
    content: '';
    color: var(--wp--preset--color--theme-orange);
    background: url(https://www.beausejour-camping.com/wp-content/themes/blankv5/assets/images/triangle.svg) center no-repeat;
    width: 89px;
    height: 44px;
    position: absolute;
    bottom: -44px;
    left: 50%;
    margin-left: -44.5px;
}

@media only screen and (max-width: 781px) {

    .mountains .wp-block-cover__inner-container > .wp-block-columns:last-child > .wp-block-column:first-child {
        order: 2;
    }

}

/* footer */

.site-footer {
    background: rgb(244, 244, 244);
    margin-left: calc(-1 * var(--wp--style--block-gap));
    margin-right: calc(-1 * var(--wp--style--block-gap));
    width: calc(100% + 2 * var(--wp--style--block-gap));
    position: relative;
}

.site-footer::after {
    content: '';
    background: url(https://www.beausejour-camping.com/wp-content/themes/blankv5/assets/images/waves-footer.svg) top repeat;
    background-size: cover;
    width: 100%;
    height: 80px;
    top: -20px;
    left: 0;
    position: absolute;
    z-index: 0;
}

.site-footer .footer-logo a {
    padding: calc(var(--wp--style--block-gap) / 2) calc(var(--wp--style--block-gap) * 2);
    border-radius: 2rem;
    background-color: var(--wp--preset--color--theme-white);
    display: block;
    z-index: 1;
    position: relative;
}

.site-footer .wp-block-column {
    display: flex;
    justify-content: center;
    flex-direction: column;
    padding-right: var(--wp--style--block-gap);
}

.contact-column p {
    display: flex;
    align-items: center;
}

.contact-column p::before {
    color: var(--wp--preset--color--theme-dark-green);
    background-color: #192300;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.contact-column a {
    color: #192300;
}

.contact-column a {
    line-height: 1.5;
}

.site-footer .icons-range {
    margin-block-start: 0;
}

.site-footer .icons-range .wp-block-image {
    width: 150px;
    height: 90px;
    background-color: var(--wp--preset--color--theme-white);
    border-radius: 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

.post-footer {
    font-size: 12px;
}

.fb-button a::before {
    content: "\f09a";
    font-family: "Font Awesome 6 Brands";
    font-weight: 400;
    margin-right: .5rem;
    font-style: normal;
    font-variant: normal;
    line-height: 1;
    text-rendering: auto;
    font-size: var(--wp--preset--font-size--h-6);
    vertical-align: middle;
}

.fb-button a strong {
    vertical-align: middle;
}

.post-footer .wp-block-navigation-item__content {
    margin-left: calc(var(--wp--style--block-gap)/2);
    margin-right: calc(var(--wp--style--block-gap)/2);
}

.post-footer .wp-block-navigation__container > .wp-block-navigation-item:not(:last-child)::after {
    content: '\002F';
    color: var(--wp--preset--color--theme-white);
    display: block;
}

@media only screen and (max-width: 1000px) {

    .site-footer .wp-block-columns {
        flex-wrap: wrap !important;
    }
    
    .site-footer .wp-block-columns > .wp-block-column {
        flex: 1 1 45%;
        border-right-width: 0 !important;
        padding-right: 0;
    }

    .site-footer .wp-block-columns > .wp-block-column:first-child {
        gap: calc(var(--wp--style--block-gap)/2);
        justify-content: flex-start;
    }

    .site-footer .wp-block-columns > .wp-block-column:first-child p {
        max-width: 284px;
        width: 100%;
        margin: 0 auto;
    }

    .site-footer .wp-block-columns > .wp-block-column:nth-child(2) > * {
        max-width: 260px;
        width: 100%;
        margin: calc(var(--wp--style--block-gap)/2.8) auto;
    }

}

@media only screen and (max-width: 781px) {

    .site-footer .wp-block-columns {
        gap: 3rem;
        margin-top: 3rem;
    }

    .site-footer .post-footer .wp-block-group {
        justify-content: center;
        text-align: center;
    }

}

/* styled list */

.styled-list {
    list-style-type: none;
    padding-inline-start: 0;
}

.styled-list li {
    background: url(https://www.beausejour-camping.com/wp-content/themes/blankv5/assets/images/styled-list-item.svg)  0 7px no-repeat;
    padding-left: calc(var(--wp--style--block-gap) / 1.4);
    margin-bottom: 0.5rem;
}

.styled-list.list-2 li {
    background: url(https://www.beausejour-camping.com/wp-content/themes/blankv5/assets/images/styled-list-item-2.svg)  0 3px no-repeat;
}

/* avis lateral */

.avis-lateral {
    min-height: 300px;
    position: fixed;
    bottom: 14vh;
    right: 0;
    z-index: 2;
    text-align: center;
    display: flex;
    justify-content: flex-end;
}

.show-avis {
    width: 40px;
    height: 40px;
    background-color: var(--wp--preset--color--theme-dark-green);
    position: absolute;
    top: 0;
    right: 0;
    z-index: 6;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    border-top-left-radius: 2rem;
    border-bottom-left-radius: 2rem;
    transition: background-color .2s ease-out;
}

.show-avis::before {
    cursor: pointer;
    content: '\f05a';
    font-weight: 900;
    font-family: "Font Awesome 6 Pro";
    color: var(--wp--preset--color--theme-white);
}

.avis-open .show-avis::before {
    content: '\00BB';
}

.avis-open .avis-overlay {
    left: 0;
    top: 0;
    width: 100%;
    height: 100vh;
}

.avis-lateral .avis-overlay {
    content: '';
    background-color: transparent;
    position: fixed;
    z-index: -1;
}

.avis-lateral .wp-block-query {
    width: 0;
    opacity: 0;
    transition: opacity .3s ease-out, width .3s ease-in;
}

.avis-open .wp-block-query {
    opacity: 1;
    width: 634px;
}

.avis-lateral .wp-block-post {
    display: flex;
    width: 634px;
    height: 300px;
    background-color: var(--wp--preset--color--theme-white);
    border-top-left-radius: 2rem;
    border-bottom-left-radius: 2rem;
    overflow: hidden;
    box-shadow: 0.5rem 0 2rem rgba(0,0,0,.15);
}

.avis-lateral figure {
    margin: 0;
}

.avis-lateral img {
    height: 100%;
    width: 214px;
    max-width: unset;
}

.wp-block-post-excerpt__more-link {
    font-weight: 700;
    text-transform: uppercase;
    text-decoration: underline;
}

.avis-lateral .wp-block-post-template > .wp-block-post:first-child ~ .wp-block-post {
    display: none;
}

.avis-lateral .wp-block-group {
    border-right: 40px solid var(--wp--preset--color--theme-dark-green);
    transition: border-right .2s ease-out;
}

.avis-lateral .wp-block-group {
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 100%;
}

@media screen and (pointer: fine) {

    .wp-block-post-excerpt__more-link:hover {
        color: #192300 !important;
    }

    .avis-lateral .show-avis:hover {
        background-color: #192300;
    }

    .avis-lateral .show-avis:hover + .wp-block-query .wp-block-group {
        border-right: 40px solid #192300;
    }

}

@media (max-width: 679px) {

    .avis-lateral .wp-block-post {
        width: 100%;
    }

    .avis-open .wp-block-query {
        width: 75%;
    }

    .avis-lateral img {
        width: 130px;
    }

}

@media (max-width: 558px) {

    .avis-lateral {
        min-height: unset;
    }

    .avis-lateral .wp-block-group {
        display: flex;
        justify-content: center;
        align-items: flex-start;
        flex-direction: column;
    }

    .avis-lateral .wp-block-group .has-link-color {
        margin-block-start: 0;
        margin-left: unset !important;
        margin-right: unset !important;
    }

    .wp-block-post-excerpt__excerpt {
        display: none;
    }

    .avis-lateral .wp-block-post {
        height: 200px;
    }

    .avis-open .wp-block-query {
        width: calc(100% - (var(--wp--style--block-gap)*2));
    }

}

/* images links */

.images-links img {
    width: 100%;
}

.images-links .wp-block-image {
    position: relative;
    border-radius: 1.5rem;
    overflow: hidden;
}

.images-links .wp-element-caption {
    position: absolute;
    bottom: 0;
    left: 0;
    margin-top: 0;
    margin-bottom: 0;
    padding: 1rem;
    font-size: var(--wp--preset--font-size--h-6);
    color: var(--wp--preset--color--theme-white);
    font-weight: var(--wp--custom--font-weight--bold);
    width: 100%;
    pointer-events: none;
}

.images-links > .wp-block-column:first-child .wp-element-caption {
    background-color: var(--wp--preset--color--theme-red);
}

.images-links > .wp-block-column:last-child .wp-element-caption {
    background-color: var(--wp--preset--color--theme-dark-green);
    text-align: right;
}

.images-links + p {
    border-radius: 1.5rem;
    margin-top: -10vh;
    z-index: 1;
    position: relative;
    box-shadow: 8px 8px 16px rgba(0,0,0,.15);
}

@media only screen and (max-width: 1480px) {

    .images-links + p {
        margin-top: 4rem;
        box-shadow: none;
    }

}