/*
    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;
}

a {
    text-decoration: none;
}

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


.is-style-font-weight-book {
    font-weight: var(--wp--custom--content-width--medium);
}

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

.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));
}

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

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 (max-width: 781px) {
    .is-style-text-align-center-mobile {
        text-align: center;
    }

    .is-style-text-align-center-mobile .wp-block-social-links,
    .is-style-text-align-center-mobile .wp-block-navigation__container {
        width: 100%;
        align-items: center;
        justify-content: center !important;
    }

}


.hero-section h1 {
    text-shadow: 0 1px 10px rgb(0 0 0 / 40%);
}

/*****************
 ICONS
******************/

.custom-trip-advisor a:before,
.widget-fixed-link:after,
.auto-tabs-wrapper a:after,
.is-style-button-icon-filled a:before,
.is-style-outline-icon a:before,
.is-style-outline-icon a:after,
.link-ico-span span:before,
.link-ico:before,
.link-ico-em em:before,
.link-ico-a a:before,
.font-ico:before,
.splide__arrow:before {
    /* use !important to prevent issues with browser extensions that change fonts */
    font-family: var(--wp--preset--font-family--boella-icons) !important;
    speak: never;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    vertical-align: middle;

    /* Better Font Rendering =========== */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.is-style-button-icon-filled a:before {
    content: "\e90b";
    margin-left: -0.5em;
    transform: translateX(-0.3em);
    display: inline-block;
}

.is-style-outline-icon a[href*=".pdf"]:before {
    content: "\e90f";
    margin-right: 0.5em;
    font-size: 1.2em;
}

.is-style-outline-icon a[href*="#"]:before {
    content: "\e903";
    margin-left: 0.5em;
    font-size: 1.2em;
}


/*****************
 IMAGES
******************/

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

.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-side-caption {
    display: flex;
    gap: calc(var(--wp--style--block-gap) / 2);
    align-items: center;
}

.is-style-side-caption figcaption {
    font-size: var(--wp--preset--font-size--text-15);
    margin: 0;
}

/* Tag Gallery */

.gallery-tags .wp-block-gallery figure.wp-block-image {
    flex-grow: 0;
}

.hide-tag {
    display: none !important;

}

/*****************
 DEFAULT & OVERLAP SECTION
******************/

.default-section .default-section-image,
.overlap-section .overlap-section-image {
    order: 1;

}

.default-section .default-section-text {
    order: 2;
}


.overlap-section .overlap-section-text,
.overlap-vertical-section .overlap-section-text {
    order: 2;
    z-index: 1;
    position: relative;
}

.overlap-vertical-section div.overlap-section-text:nth-child(1) {
    margin-bottom: calc(-2 * var(--wp--style--block-gap)) !important;
    margin-top: 0;
}



.overlap-section .overlap-section-text>*+* {
    /* reduce margin between elements */
    margin-block-start: var(--wp--preset--font-size--text);
}

.alignfull.has-background>.alignfull,
.overlap-vertical-section .wp-block-slider,
.default-section .default-section-image,
.overlap-section .overlap-section-image {
    margin-left: calc(-1 * var(--wp--style--block-gap));
    margin-right: calc(-1 * var(--wp--style--block-gap));
}


.overlap-vertical-section.alignfull .alignfull {
    width: 100% !important;
}

.overlap-vertical-section .overlap-section-text {
    margin-left: var(--wp--style--block-gap);
    margin-right: var(--wp--style--block-gap);
}

.overlap-vertical-section .overlap-section-text {
    margin-top: calc(-2 * var(--wp--style--block-gap)) !important;
}

@media (max-width: 750px) {


    .overlap-section .overlap-section-text {
        margin-top: calc(-2 * var(--wp--style--block-gap)) !important;
        margin-left: var(--wp--style--block-gap);
        margin-right: var(--wp--style--block-gap);
    }


    .slide-text .slide-inner-text,
    .default-section .default-section-text *:not(li):not(ul),
    .overlap-section .overlap-section-text *:not(li):not(ul) {
        text-align: center;
    }

    .slide-text .wp-block-buttons,
    .default-section .wp-block-buttons,
    .overlap-section .wp-block-buttons {
        justify-content: center;
    }



    .default-section:not(.is-not-stacked-on-mobile)>.wp-block-column,
    .overlap-section:not(.is-not-stacked-on-mobile)>.wp-block-column {
        flex-basis: 100% !important;
    }

    .default-section .default-section-image img {
        aspect-ratio: 4/3;
    }

    /* .default-section .default-section-text {
        padding: var(--wp--style--block-gap);
        background-color: var(--wp--preset--color--theme-pink-pale);
    }

    .has-background .default-section .default-section-text {
        background-color: #FFF;
    } */

    /* .default-section .wp-image-slider .splide__arrow,
    .overlap-section .wp-image-slider .splide__arrow {
        bottom: 5vh;
    } */
}

@media only screen and (min-width: 751px) {

    .overlap-section {
        flex-wrap: nowrap !important;
    }

    .overlap-section:not(.is-not-stacked-on-mobile)>.wp-block-column {
        flex-basis: 0;
        flex-grow: 1;
    }

    .overlap-section:not(.is-not-stacked-on-mobile)>.wp-block-column[style*=flex-basis] {
        flex-grow: 0;
    }

    .default-section .default-section-image,
    .default-section .default-section-text,
    .overlap-section .overlap-section-image,
    .overlap-section .overlap-section-text {
        order: unset;
        margin: 0;
    }

    .overlap-section .overlap-section-text {
        padding: calc(var(--wp--style--block-gap) * 1.5)
    }

    .overlap-section .overlap-section-text.is-vertically-aligned-bottom {
        margin-bottom: -4%;
    }

    .overlap-section .overlap-section-image {
        margin: 0 auto
    }

    .overlap-section div.overlap-section-text:nth-child(2) {
        margin-left: -100px;
        margin-left: -8%;

    }

    .overlap-section div.overlap-section-text:nth-child(1) {
        margin-right: -100px;
        margin-right: -8%;
    }

    .overlap-section .overlap-section-text.has-background {
        padding: calc(var(--wp--style--block-gap) *2);
    }

}

.wp-block-column.two-image-section {
    display: flex;
    position: relative;
}

.wp-block-column.two-image-section>figure:nth-child(1) {
    margin-right: 100px;
}

.wp-block-column.two-image-section>figure:nth-child(2) {
    position: absolute;
    height: 100%;
    top: 0;
    right: 0;
    margin: 50px 0 0 0;
}

.wp-block-column.two-image-section>figure:nth-child(2) img {
    height: 100%;
    width: auto;
}


/* default duotone */

img.ico-duotone,
.ico-duotone img {
    filter: url('#boella-duotone') !important;
}

img.ico-white-duotone,
.ico-white-duotone img {
    filter: url('#white-duotone') !important;
}



/*****************
 BUTTONS
******************/

.is-style-button-icon a {
    background-image: url(/wp-content/uploads/ico-boton.svg);
    background-size: contain;
    background-position: top left;
    background-repeat: no-repeat;
    padding: 0.2em 1.6em 0.1em 2em;
    letter-spacing: 0.04em;
}

/* .wp-block-button.is-style-outline,
.is-style-button-bottom-line {
    font-size: var(--wp--preset--font-size--h-6-buttons-19);
} */

/* LINE BUTTONS */
/*
.is-style-button-bottom-line a {
    position: relative;
    padding: 0.5em 0;
    color: var(--wp--preset--color--theme-text);
}

.is-style-button-bottom-line a:after {
    content: '';
    position: absolute;
    width: 100%;
    transform: scaleX(1);
    height: 1px;
    bottom: 0;
    left: 0;
    background-color: currentColor;
    transform-origin: bottom left;
    transition: transform 0.25s ease-out;
}

.is-style-button-bottom-line a:hover:after {
    transform: scaleX(0);
}
*/


.wp-block-button.is-style-discount-code .wp-block-button__link,
.wp-block-button[class*="is-style-outline"]>.wp-block-button__link,
.wp-block-button .wp-block-button__link[class*="is-style-outline"] {
    position: relative;
    padding: 0.1em 1.4em;
    color: var(--wp--preset--color--theme-text);
    border-width: 1px;
    border-radius: 0;
}

.wp-block-button[class*="is-style-outline"] a:after {
    content: '';
    position: absolute;
    width: 100%;
    transform: scaleX(0);
    height: 100%;
    bottom: 0;
    left: 0;
    background-color: currentColor;
    transform-origin: bottom left;
    transition: transform 0.25s ease-out;
    opacity: 0.1;
}

.wp-block-button[class*="is-style-outline"] a:hover:after {
    transform: scaleX(1);
}

.wp-block-button[class*="is-style-outline"] {
    transform: scaleX(1);
}


.is-style-button-tab:after {
    content: '';
    display: block;
    width: 100%;
    border-bottom: 1px solid var(--wp--preset--color--theme-text);
    transform: translateY(-3px);
    /* z-index: -2; */
}

.is-style-button-tab {
    font-family: var(--wp--preset--font-family--freight-big-pro);
    font-size: var(--wp--preset--font-size--h-5);

}

.is-style-button-tab a {
    border-bottom: 6px solid transparent !important;
    border-radius: 0 !important;
    position: relative;
    z-index: 1;

}

.two-tabs a {
    min-width: clamp(150px, 25vw, 300px);
}

.is-style-button-tab .current-tab-button {
    color: var(--wp--preset--color--theme-granate) !important;
    border-color: currentColor !important;
}

.wp-block-file__button.wp-element-button {
    background: var(--wp--preset--color--theme-granate);
    border-radius: 2px;
}

/* separator */

.wp-block-separator.is-style-width-narrow {
    width: clamp(38px, 15.666vw, 64px);
    height: calc(var(--wp--style--block-gap) /3);
}

/* @media only screen and (min-width: 1200px) {
    #content-container {
        margin-bottom: var(--site-footer-height);
    }

    .site-footer {
        position: fixed;
        bottom: 0;
        width: 100%;
        z-index: -1;
    }
} */


.background-cross {
    background-image: url(../images/back-cross.png);
}

.background-arc {
    background-image: url(../images/back-arc.png);
}



.gallery-masonry.wp-block-gallery {
    display: grid;
    --unit: 160px;
    --unit: clamp(100px, 21.667vw, 160px);
    gap: 10px !important;
    grid-template-columns: repeat(4, var(--unit));
    grid-template-rows: repeat(auto);
    grid-auto-rows: var(--unit);
    grid-auto-flow: row dense;
}

.gallery-masonry.wp-block-gallery>figure {
    width: auto !important;
    overflow: hidden;
}


.gallery-masonry>figure:nth-child(17n+1 of :not(.hide-tag)),
.gallery-masonry>figure:nth-child(17n+8 of :not(.hide-tag)),
.gallery-masonry>figure:nth-child(17n+9 of :not(.hide-tag)) {
    grid-column: span 3;
    grid-row: span 2;
}

.gallery-masonry>figure:nth-child(17n+3 of :not(.hide-tag)),
.gallery-masonry>figure:nth-child(17n+5 of :not(.hide-tag)),
.gallery-masonry>figure:nth-child(17n+6 of :not(.hide-tag)),
.gallery-masonry>figure:nth-child(17n+7 of :not(.hide-tag)),
.gallery-masonry>figure:nth-child(17n+11 of :not(.hide-tag)) {
    grid-column: span 2;
    grid-row: span 2;
}

.gallery-masonry>figure:nth-child(17n+14 of :not(.hide-tag)) {
    grid-column: span 2;
}

@media only screen and (min-width: 1100px) {
    .gallery-masonry.wp-block-gallery {
        grid-template-columns: repeat(5, var(--unit));
    }
}


@media only screen and (min-width: 1100px) {
    .gallery-masonry.wp-block-gallery {
        grid-template-columns: repeat(6, var(--unit));
    }
}

:is(h1, h2, h3, h4, h5, h6).has-lato-font-family {
    font-weight: var(--wp--custom--font-weight--regular);
    letter-spacing: 0.04em;
    padding-bottom: 0.35em;
}

:is(h1, h2, h3, h4, h5, h6, p).is-style-bottom-line {
    position: relative;
}

:is(h1, h2, h3, h4, h5, h6, p).is-style-bottom-line:after {
    content: '';
    position: absolute;
    width: calc(5 * var(--wp--style--block-gap));
    /* transform: scaleX(0); */
    height: 2px;
    bottom: -10px;
    left: calc(50% - (2.5 * var(--wp--style--block-gap)));
    background-color: var(--wp--preset--color--theme-granate);
}


:is(h1, h2, h3, h4, h5, h6, p).has-text-align-center.is-style-bottom-line:after {
    left: calc(50% - (2.5 * var(--wp--style--block-gap)));
}

@media only screen and (min-width: 750px) {
    :is(h1, h2, h3, h4, h5, h6, p).is-style-bottom-line:after {
        left: 0;
    }
}


h6.has-lato-font-family.is-style-bottom-line {
    font-size: 13px;
    margin-bottom: 4em;
}

.banner-alojamiento {
    min-height: 360px;
}

.banner-alojamiento .wp-block-cover__inner-container {
    width: 100% !important;
}

.flex-item-grow {
    flex-grow: 1;
}

@media only screen and (min-width: 800px) {
    .linea-interior-grid>.acf-innerblocks-container>.wp-block-group {
        position: relative;
    }

    .linea-interior-grid>.acf-innerblocks-container>.wp-block-group:not(:last-child):after {
        content: '';
        height: 100%;
        position: absolute;
        width: 3px;
        background: var(--wp--preset--color--theme-granate);
        right: 0;
        top: 0;
        right: -30px;
    }

}