/*
  Theme Name: Iuta Farm
  Author: Egloo
  Author URI: https://egloo.it
  Version: 1.0.0
*/

/* RESET {{{ */
* {
    padding: 0;
    box-sizing: border-box;
    margin: 0;
}

a,
input,
textarea,
select,
button,
h1,
h2,
h3,
h4,
h5,
h6 {
    font: inherit;
    color: inherit;
}

a {
    text-decoration: none;
}

img,
video,
iframe {
    display: block;
    width: 100%;
    height: auto;
}

button,
label,
input {
    cursor: pointer;
}

input[type="submit"],
button {
    border: none;
    background-color: transparent;
}

svg {
    line-height: 0;
}
/* }}} */

/* FONT FACES {{{*/

@font-face {
    font-family: MaziusDisplay;
    src: url("./assets/fonts/mazius-display/MaziusDisplay-Regular.woff");
    font-weight: 400;
    font-display: swap;
}

@font-face {
    font-family: GeneralSans;
    src: url("./assets/fonts/general-sans/GeneralSans-Semibold.woff");
    font-weight: 600;
    font-display: swap;
}

@font-face {
    font-family: GeneralSans;
    src: url("./assets/fonts/general-sans/GeneralSans-Medium.woff");
    font-weight: 500;
    font-display: swap;
}

@font-face {
    font-family: Cezanne;
    src: url("./assets/fonts/cezanne/Cezanne-Regular.woff");
    font-weight: 400;
    font-display: swap;
}

/* }}} */

/* FONT SIZES {{{ */
.fs-title-1 {
    font-size: 4.6875rem;
    line-height: 1.0666666666667;
    letter-spacing: -0.046875rem;
    font-family: var(--ff-serif);
}

.fs-title-2 {
    font-size: 3rem;
    line-height: 1.0833333333333;
    letter-spacing: -0.03rem;
    font-family: var(--ff-serif);
}

.fs-title-3 {
    font-size: 2.1875rem;
    line-height: 1.2;
    letter-spacing: -0.021875rem;
    font-family: var(--ff-serif);
}

.fs-subtitle {
    font-size: 1.0625rem;
    line-height: 1.5294117647059;
    text-transform: uppercase;
    font-family: var(--ff-sans);
}

.fs-subtitle-cursive {
    font-size: 2.5rem;
    line-height: 1;
    filter: drop-shadow(0 0 0 0.5px currentColor);
    font-family: var(--ff-cursive);
    -webkit-text-stroke-width: 0.5px;
}

.fs-small-title {
    font-size: 0.875rem;
    line-height: 1.4285714285714;
    font-family: var(--ff-sans);
}

.fs-body {
    font-size: 1.0625rem;
    line-height: 1.5294117647059;
    font-family: var(--ff-sans);
}

.fs-cta {
    font-weight: 600;
    font-size: 0.875rem;
    line-height: 1.4285714285714;
    font-family: var(--ff-sans);
}

@media only screen and (max-width: 768px) {
    .fs-title-1 {
        font-size: 2.0625rem;
        line-height: 1.1515151515152;
        letter-spacing: -0.020625rem;
    }

    .fs-title-2 {
        font-size: 1.75rem;
        line-height: 1.1428571428571;
        letter-spacing: -0.02rem;
    }
    .fs-title-3 {
        font-size: 1.5625rem;
        line-height: 1.2;
        letter-spacing: -0.0175rem;
    }
    .fs-subtitle {
        font-size: 0.9375rem;
        line-height: 1.6;
    }
    .fs-subtitle-cursive {
        font-size: 1.875rem;
        line-height: 1;
    }
    .fs-small-title {
        font-size: 0.9375rem;
        line-height: 1.6;
    }
    .fs-body {
        font-size: 0.9375rem;
        line-height: 1.6;
    }
    .fs-cta {
        font-size: 0.9375rem;
        line-height: 1.6;
    }
}

/*}}}*/

/* VARIABLES {{{ */
:root {
    --container-columns: 12;
    --container-gap: 2.5rem;
    --container-column-width: 4.625rem;
    --container-x-padding: 1.5rem;

    --c-anthracite: #262421;
    --c-white: #ffffff;
    --c-wine: #bc4749;
    --c-peach: #ffcba4;
    --c-brown: #af6d4d;

    --alt-accent: var(--c-peach);
    --on-accent: var(--c-white);
    --accent: var(--c-wine);
    --fg: var(--c-anthracite);
    --bg: var(--c-white);
    --header-height: 6.5625rem;
    --header-fg: var(--fg);
    --header-floating-fg: var(--header-fg);
    --header-bg: var(--bg);
    --header-transition-duration: 0.2s;

    --ff-serif: MaziusDisplay, serif, system-ui;
    --ff-sans: GeneralSans, system-ui, sans-serif;
    --ff-cursive: Cezanne, cursive;

    --transition-light-bouncee: linear(0, 0.147 4.5%, 0.283 9.3%, 0.409 14.4%, 0.529 20%, 0.644 26.2%, 0.699 29.5%, 0.75 32.8%, 0.797 36.1%, 0.839 39.3%, 0.877 42.5%, 0.911 45.7%, 0.939 48.7%, 0.963 51.7%, 0.984 54.7%, 1 57.7%, 0.988 60.8%, 0.979 63.8%, 0.974 67%, 0.973 70.3%, 0.976 75.9%, 0.996 90.4%, 0.999 94.9%, 1);
}

@media only screen and (max-width: 768px) {
    :root {
        --header-fg: var(--c-white);
        --header-floating-fg: var(--fg);
        --container-x-padding: 1.25rem;
        --container-gap: 1.25rem;
    }
}

.ff-serif {
    font-family: var(--ff-serif);
}

.ff-sans {
    font-family: var(--ff-sans);
}

.ff-cursive {
    font-family: var(--ff-cursive);
}

/* }}} */

/* UTILITIES {{{ */

.container {
    inline-size: 100%;
    max-inline-size: calc((var(--container-x-padding) * 2) + ((var(--container-columns) - 1) * var(--container-gap)) + (var(--container-columns) * var(--container-column-width)));
    margin-inline: auto;
    padding-inline: var(--container-x-padding);
}
.container.container-10 {
    --container-columns: 10;
}
.container.container-8 {
    --container-columns: 8;
}
.container.container-6 {
    --container-columns: 6;
}
.container.container-5 {
    --container-columns: 5;
}
.container.container-4 {
    --container-columns: 4;
}

.layers {
    display: grid;
}

.layers > .layer {
    grid-column: -1/1;
    grid-row: -1/1;
}

.layers > .layer.layer-bg {
    position: relative;
}

.layers > .layer.layer-bg::before,
.layers > .layer.layer-bg::after {
    content: "";
    pointer-events: none;
    inset-block-start: 0;
    inset-inline-start: 0;
    inline-size: 100%;
    block-size: 100%;
    position: absolute;
}

.layers > .layer.layer-fg {
    position: relative;
    z-index: 1;
}

.img-wrapper.img-wrapper-ratio > picture,
.img-wrapper.img-wrapper-ratio {
    overflow: hidden;
    position: relative;
    block-size: 0;
}

.img-wrapper.img-wrapper-ratio > picture {
    block-size: 100%;
    display: block;
}

.img-wrapper.img-wrapper-ratio > video,
.img-wrapper.img-wrapper-ratio > picture > video,
.img-wrapper.img-wrapper-ratio > picture > img,
.img-wrapper.img-wrapper-ratio > img {
    inline-size: 100%;
    block-size: 100%;
    position: absolute;
    object-fit: cover;
    inset: 0;
}

.rich-text p:not(:last-child) {
    margin-block-end: 1lh;
}

.rich-text strong {
    font-weight: 500;
}

.rich-text ul {
    list-style-type: disc;
}

.rich-text ol {
    list-style-type: decimal;
}

.rich-text ul,
.rich-text ol {
    padding-inline-start: 1rem;
}

.rich-text a {
    text-decoration: underline;
}

.sr-only {
    position: absolute;
    inline-size: 1px;
    block-size: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0;
}

@media only screen and (min-width: 768px) {
    .only-mobile {
        display: none !important;
    }
}

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

/* ============================ */
/* THEME */
/* ============================ */

@view-transition {
    navigation: auto;
}

html,
body {
    scroll-behavior: smooth;
    background-color: var(--bg);
    color: var(--fg);
    font-family: var(--ff-sans);
}

.bg-white {
    --alt-accent: var(--c-peach);
    --on-accent: var(--c-white);
    --accent: var(--c-wine);
    --fg: var(--c-anthracite);
    --bg: var(--c-white);
    color: var(--fg);
    background-color: var(--bg);
}

.bg-peach {
    --alt-accent: var(--c-white);
    --on-accent: var(--c-peach);
    --accent: var(--c-wine);
    --fg: var(--c-anthracite);
    --bg: var(--c-peach);
    color: var(--fg);
    background-color: var(--bg);
}

.bg-wine {
    --alt-accent: var(--c-anthracite);
    --on-accent: var(--c-wine);
    --accent: var(--c-peach);
    --fg: var(--c-white);
    --bg: var(--c-wine);
    color: var(--fg);
    background-color: var(--bg);
}

.bg-brown {
    --alt-accent: var(--c-anthracite);
    --on-accent: var(--c-brown);
    --accent: var(--c-peach);
    --fg: var(--c-white);
    --bg: var(--c-brown);
    color: var(--fg);
    background-color: var(--bg);
}

@media only screen and (min-width: 768px) {
    body.page-template-book,
    body:has(section.hero.hero-default) {
        --header-fg: var(--c-white);
        --header-floating: var(--c-black);
    }
}

@media only screen and (max-width: 768px) {
    body.woocommerce-cart,
    body.woocommerce-checkout {
        --header-fg: var(--c-black);
        --header-floating: var(--c-black);
    }
}

.button.checkout,
.btn.btn-primary {
    text-align: center;
    font-size: 0.875rem;
    line-height: 1.214286;
    font-weight: 600;
    padding: 0.3125rem 2.75rem 0.375rem;
    background-color: var(--accent);
    color: var(--on-accent);
    text-transform: uppercase;
    transition:
        color 0.2s ease,
        background-color 0.2s ease;
}

@media (min-width: 768px) {
    body.page-template-book .footer-content {
        padding-top: 4.52rem;
    }
}

@media (max-width: 768px) {
    .button.checkout,
    .btn.btn-primary {
        padding: 0.3125rem 1.2rem 0.375rem;
    }
}

.button.checkout:where(:hover, :focus-visible),
.btn.btn-primary:where(:hover, :focus-visible) {
    color: var(--alt-accent);
}

.btn.btn-secondary {
    text-align: center;
    font-size: 0.875rem;
    line-height: 1.214286;
    font-weight: 600;
    padding: 0.3125rem 2.75rem 0.375rem;
    background-color: var(--bg);
    color: var(--accent);
    text-transform: uppercase;
}

.btn.btn-secondary:where(:hover, :focus-visible) {
    background-color: var(--alt-accent);
    text-decoration: underline;
    text-underline-offset: 0.5rem;
}

.scroll-down-btn {
    font-weight: 500;
    font-size: 0.875rem;
    line-height: 1.214286;
    text-transform: uppercase;
    display: flex;
    gap: 2.375rem;
    align-items: center;
}

@media (max-width: 768px) {
    .scroll-down-btn {
        gap: 1rem;
    }
}

.texts-formatter .single-text:not(.fs-title-1, .fs-title-2, .fs-title-3) {
    max-width: 54.5rem;
    margin-inline: auto;
}

.texts-formatter .single-text.fs-small-title {
    margin-bottom: 1.5625rem;
}

.texts-formatter .single-text.fs-title-1 {
    margin-bottom: 1.8rem;
}

.texts-formatter .single-text.fs-title-3 {
    margin-bottom: 3rem;
}

.texts-formatter .single-text.fs-subtitle {
    margin-block: 1.2rem;
}

.texts-formatter .single-text.fs-subtitle-cursive {
    margin-block: 1.2rem;
}

.texts-formatter .single-text:is(.fs-title-2) + .single-text.fs-subtitle-cursive {
    margin-block-start: 0.125rem;
}

.texts-formatter .single-text:is(.fs-subtitle) + .single-text.fs-subtitle-cursive {
    margin-top: -1.1rem;
}

body.single-product .custom-quantity .qty::-webkit-inner-spin-button,
body.single-product .custom-quantity .qty::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
    display: none;
}

body.single-product .custom-quantity .qty:focus {
    outline: none;
}

/* ============================ */
/* HERO DEFAULT */
/* ============================ */

section.hero.hero-default .layers {
    min-height: 100vh;
    min-height: 100svh;
}

section.hero.hero-default .layers .layer-bg .img-wrapper {
    height: 100%;
}

section.hero.hero-default .layers .layer-bg::after {
    background-color: rgb(0 0 0 / 0.1);
}

section.hero.hero-default .layers .layer-fg:has(.scroll-down-btn) {
    position: relative;
}

section.hero.hero-default .layers .layer-fg .scroll-down-btn {
    position: absolute;
    width: 0.9375rem;
    bottom: 3.125rem;
    left: calc(50% - 0.59375rem);
    animation: small-bounce 1s ease infinite alternate;
    color: var(--bg);
}

@keyframes small-bounce {
    0% {
        translate: 0 0rem;
    }

    100%,
    50% {
        translate: 0 0.5rem;
    }
}

section.hero.hero-default .layers .layer-fg .container {
    color: var(--c-white);
    height: 100%;
    display: grid;
    place-items: center;
    text-align: center;
}

section.hero.hero-default .layers .layer-fg .container .text {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

section.hero.hero-default .layers .layer-fg .container .text .subtitle {
    max-width: 50.5rem;
    margin-inline: auto;
    display: flex;
}

section.hero.hero-default .layers .layer-fg .container .text:has(.fs-subtitle-cursive) {
    gap: 0;
}

@media only screen and (max-width: 768px) {
    body.single-alloggio section.hero.hero-default .layers .layer-fg .container .text .title {
        font-size: 3.4375rem;
        line-height: 0.909090909;
        letter-spacing: -0.55px;
    }
}

/* ============================ */
/* TEXT BLOCK */
/* ============================ */

section.block.text-block {
    margin-block: 11.0625rem;
    text-align: center;
}

section.block.text-block .container .cta-wrapper {
    margin-top: 2.6875rem;
}

@media (max-width: 768px) {
    section.block.text-block h1 {
        text-wrap: balance;
    }

    section.block.text-block {
        margin-block: 4.75rem;
    }

    body.single-alloggio section.block.text-block {
        margin-top: 2.625rem;
        margin-bottom: 4.1875rem;
    }
}

/* ============================ */
/* SLIDER BLOCK */
/* ============================ */

section.block.banner-block + section.block.slider-block {
    margin-block-start: 2.8125rem;
}

section.block.banner-block .cta a:hover {
    color: var(--alt-accent);
}

section.block.slider-block {
    margin-block: 14.125rem 12.3125rem;
}

body.single-alloggio section.block.slider-block {
    margin-block-end: 11.0625rem;
}

section.block.slider-block .zones {
    display: flex;
    flex-direction: column;
    gap: 2.625rem;
}

section.block.slider-block .zones .zone.zone-title .container {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 1rem;
}

section.block.slider-block .zones .zone.zone-title .container .title {
    margin-bottom: 1.25rem;
    flex-grow: 1;
}

section.block.slider-block .zones .zone.zone-title .container .controls {
    display: flex;
    align-items: center;
    gap: 3.625rem;
    color: var(--accent);
}

section.block.slider-block .zones .zone.zone-title .container .controls:only-child {
    margin-left: auto;
}

section.block.slider-block .zones .zone.zone-title .container .controls button {
    height: 0.9375rem;
    transition: opacity 0.2s ease;
    position: relative;
}

section.block.slider-block .zones .zone.zone-title .container .controls button::after {
    content: "";
    position: absolute;
    aspect-ratio: 1 / 1;
    height: calc(100% + 1.2rem);
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    opacity: 0.5;
    border-radius: 999px;
    transition: background-color 0.2s ease;
}

section.block.slider-block .zones .zone.zone-title .container .controls button:where(:hover, :focus-visible)::after {
    background-color: rgb(from currentColor r g b / 0.2);
}

section.block.slider-block .zones .zone.zone-title .container .controls button:active {
    scale: 0.95;
}

section.block.slider-block .zones .zone.zone-title .container .controls button:disabled {
    opacity: 0.5;
    pointer-events: none;
}

section.block.slider-block .zones .zone.zone-title .container .controls button svg {
    height: 100%;
    vertical-align: top;
    width: fit-content;
}

section.block.slider-block .zones .zone.zone-title .container .controls button.swiper-btn-prev svg {
    transform: scaleX(-1);
}

section.block.slider-block .zones .zone.zone-slider .swiper {
    width: 0;
    min-width: 100%;
}

section.block.slider-block .zones .zone.zone-slider .swiper .swiper-slide {
    width: fit-content !important;
}

section.block.slider-block .zones .zone.zone-slider .img-wrapper {
    height: 30.875rem;
}

section.block.slider-block .zones .zone.zone-text .text {
    max-width: 47.375rem;
    display: flex;
    flex-direction: column;
    align-items: start;
    gap: 2rem;
}

@media only screen and (max-width: 768px) {
    section.block.slider-block {
        margin-block: 8.8125rem 10.25rem;
    }

    body.single-alloggio section.block.slider-block {
        margin-block-end: 2.625rem;
    }

    section.block.banner-block + section.block.slider-block {
        margin-block-start: 4.4375rem;
    }

    section.block.slider-block .zones {
        gap: 1.375rem;
    }

    section.block.slider-block .zones .zone.zone-title:not(:has(.title)) {
        display: none;
    }

    section.block.slider-block .zones .zone.zone-title .container .title {
        margin-bottom: 0;
    }

    section.block.slider-block .zones .zone.zone-title .container .controls {
        display: none;
    }

    section.block.slider-block .zones .zone.zone-slider .swiper .swiper-slide .img-wrapper {
        height: 16.625rem;
    }

    section.block.slider-block .zones .zone.zone-text .text {
        gap: 1.25rem;
    }
}

/* ============================ */
/* IMAGES BLOCK */
/* ============================ */

section.block.images-block {
    margin-block: 12.3125rem 12.5rem;
}

body.page-template-experience section.block.images-block {
    margin-block-end: 0;
}

section.block.images-block .zones {
    display: flex;
    flex-direction: column;
    gap: 5rem;
}

section.block.images-block .zones .zone.zone-start .container {
    display: grid;
    grid-template-columns: 5fr 2fr 5fr;
    grid-template-areas: "img1 icon img2";
    column-gap: var(--container-gap);
}

section.block.images-block .zones .zone.zone-start .img-1 {
    grid-area: img1;
    max-width: 22.8125rem;
    margin-left: auto;
    margin-bottom: 5.5rem;
}

section.block.images-block .zones .zone.zone-start .icon {
    grid-area: icon;
    margin-top: 1.875rem;
    margin-inline: auto;
    max-width: 5.625rem;
}

section.block.images-block .zones .zone.zone-start .img-2 {
    grid-area: img2;
    max-width: 23.625rem;
    margin-top: auto;
    margin-right: auto;
}

section.block.images-block .zones .zone.zone-center {
    margin-top: -1.875rem;
    text-align: center;
}

section.block.images-block .zones .zone.zone-center .cta-wrapper {
    margin-top: 2.6875rem;
}

section.block.images-block .zones .zone.zone-end .container {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-areas: "img3 img4 img5";
    column-gap: var(--container-gap);
}

section.block.images-block .zones .zone.zone-end .img-3 {
    grid-area: img3;
    max-width: 24.375rem;
    margin-right: auto;
}

section.block.images-block .zones .zone.zone-end .img-4 {
    grid-area: img4;
    margin-top: 17.1875rem;
    max-width: 23.0625rem;
    margin-right: auto;
}

section.block.images-block .zones .zone.zone-end .img-5 {
    grid-area: img5;
    max-width: 19.0625rem;
    margin-left: auto;
    margin-right: 3.125rem;
}

section.block.images-block .zones .zone.zone-final {
    text-align: center;
}

@media only screen and (max-width: 768px) {
    section.block.images-block {
        margin-block: 10.25rem 7.8125rem;
    }

    section.block.full-image-text-block + section.block.images-block {
        margin-block-start: 2.6875rem;
    }

    section.block.images-block:has(+ .full-image-text-block) {
        margin-bottom: 8.5625rem;
    }

    section.block.images-block .zones {
        gap: 1.5rem;
    }

    section.block.images-block .zones .zone.zone-start .container {
        padding-right: 0;
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        grid-template-areas: "img1 img2";
        row-gap: 0.5625rem;
    }

    section.block.images-block .zones .zone.zone-start .container:has(.icon) {
        grid-template-areas:
            "icon icon"
            "img1 img2";
    }

    section.block.images-block .zones .zone.zone-start .container .img-1 {
        max-width: 8.8125rem;
        margin-left: 0;
    }

    section.block.images-block .zones .zone.zone-start .container .img-2 {
        max-width: 10rem;
        margin-left: auto;
        margin-right: 0;
    }

    section.block.images-block .zones .zone.zone-center {
        margin-top: 0;
        margin-bottom: 0.75rem;
    }

    section.block.images-block .zones .zone.zone-center .cta-wrapper {
        margin-top: 1.875rem;
    }

    section.block.images-block .zones .zone.zone-end .container {
        display: grid;
        padding-left: 0;
        grid-template-columns: 4fr 3fr;
        grid-template-areas:
            "img3 img4"
            "img5 img4";
    }

    section.block.images-block .zones .zone.zone-end .container .img-3 {
        max-width: 10.3125rem;
        margin-right: 0;
    }

    section.block.images-block .zones .zone.zone-end .container .img-4 {
        margin-top: 4.375rem;
        max-width: 6.875rem;
        margin-left: auto;
        margin-right: 0;
    }

    section.block.images-block .zones .zone.zone-end .container .img-5 {
        max-width: 8.9375rem;
        margin-left: auto;
        margin-right: 1rem;
        margin-top: 3.75rem;
    }

    section.block.images-block .zones .zone.zone-start .icon {
        max-width: 3.75rem;
        margin-top: 0;
    }

    body.page-template-experience section.block.images-block {
        margin-block: 1rem 10.8125rem;
    }

    body.page-template-experience section.block.images-block .zones .zone.zone-end .container {
        padding-right: 0;
    }
    body.page-template-experience section.block.images-block .zones .zone.zone-end .container .img-5 {
        margin-top: -0.25rem;
        margin-right: 0;
        grid-column: -1 / 1;
        margin-inline: auto;
    }
}

/* ============================ */
/* BANNER BLOCK */
/* ============================ */

section.block.banner-block {
    padding-block: 3.4375rem;
    min-height: 48.25rem;
    height: 0;
}

body.post-type-archive-alloggio section.hero {
    margin-bottom: 1.9375rem;
}

body.post-type-archive-alloggio section.block.banner-block + section.block.banner-block {
    margin-top: 1.9375rem;
}

body.page-template-contacts section.hero.hero-split[data-type="info"] .layers .layer.layer-fg .container .text .end .other-infos .info a span,
body.post-type-archive-alloggio section.block.banner-block .container .zones .zone.zone-text .text .ctas .btn.btn-secondary span {
    position: relative;
}

body.page-template-contacts section.hero.hero-split[data-type="info"] .layers .layer.layer-fg .container .text .end .other-infos .info a:hover span:after,
body.post-type-archive-alloggio section.block.banner-block .container .zones .zone.zone-text .text .ctas .btn.btn-secondary:hover span:after {
    width: 100%;
}

body.page-template-contacts section.hero.hero-split[data-type="info"] .layers .layer.layer-fg .container .text .end .other-infos .info a span:after,
body.post-type-archive-alloggio section.block.banner-block .container .zones .zone.zone-text .text .ctas .btn.btn-secondary span:after {
    content: "";
    position: absolute;
    top: 100%;
    left: 0%;
    width: 0%;
    height: 1px;
    background-color: var(--accent);
    transition: width 0.2s ease;
}

body.page-template-contacts section.hero.hero-split[data-type="info"] .layers .layer.layer-fg .container .text .end .other-infos .info a span:after {
    background-color: var(--c-anthracite);
}

body.post-type-archive-alloggio section.block.banner-block .container .zones .zone.zone-text .text .ctas .btn.btn-secondary:where(:hover, :focus-visible) {
    background-color: white;
    color: var(--accent);
    text-decoration: none;
}

body.single-alloggio section.block.text-block + section.block.banner-block {
    margin-top: 13.4375rem;
}

section.block.banner-block .container .zones .zone,
section.block.banner-block .container .zones,
section.block.banner-block .container {
    height: 100%;
}

section.block.banner-block .container .zones {
    display: grid;
    grid-template-columns: 7fr 5fr;
    gap: var(--container-gap);
}

section.block.banner-block[data-flipped="true"] .container .zones {
    grid-template-columns: 5fr 7fr;
}

section.block.banner-block[data-flipped="true"] .container .zones .zone.zone-text {
    width: 100%;
    max-width: 31.75rem;
    margin-inline-start: auto;
}

section.block.banner-block[data-flipped="true"] .container .zones .zone-img {
    order: -1;
}

section.block.banner-block .container .zones .zone.zone-text {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 1rem;
}

section.block.banner-block .container .zones .zone.zone-text .titles .pretitle {
    text-transform: uppercase;
    display: flex;
    gap: 1rem;
    row-gap: 0.2rem;
}

section.block.banner-block .container .zones .zone.zone-text .titles .pretitle + .title {
    margin-top: 0.5rem;
}

section.block.banner-block .container .zones .zone.zone-text .text {
    display: flex;
    flex-direction: column;
    gap: 2.0625rem;
}

section.block.banner-block .container .zones .zone.zone-text .text {
    display: flex;
    flex-direction: column;
    gap: 2.0625rem;
}

section.block.banner-block .container .zones .zone.zone-text .text .description {
    max-width: 33.125rem;
}

section.block.banner-block .container .zones .zone.zone-text .text .ctas {
    display: flex;
    align-items: center;
}

section.block.banner-block .container .zones .zone.zone-img {
    display: grid;
    place-items: center;
}

section.block.banner-block .container .zones .zone.zone-img .img-wrapper {
    height: 100%;
    display: grid;
    place-items: center;
}

section.block.banner-block .container .zones .zone.zone-img .img-wrapper img {
    object-fit: cover;
}

section.block.banner-block[data-img-style="smaller"] .container .zones .zone.zone-img .img-wrapper {
    max-width: 23.6875rem;
}

@media (max-width: 768px) {
    body.post-type-archive-alloggio section.block.banner-block:last-child {
        padding-bottom: 0;
    }

    body.post-type-archive-alloggio section.block.banner-block + section.block.banner-block {
        margin-top: -1rem;
    }

    section.block.banner-block {
        height: auto;
        min-height: auto;
        padding-block: 3.3125rem 3.8125rem;
    }

    body.single-alloggio section.block.text-block + section.block.banner-block {
        margin-top: 1rem;
        padding: 0;
    }

    section.block.banner-block:has(+ .block.slider-block) {
        padding-block-end: 0;
        padding-block-start: 0.6875rem;
    }

    section.block.banner-block .container .zones {
        display: flex;
        flex-direction: column;
        gap: 2.4rem;
    }

    section.block.banner-block .container .zones .zone.zone-img {
        order: -1;
    }

    body.single-alloggio section.block.banner-block .container .zones .zone.zone-img {
        order: 2;
    }

    section.block.banner-block .container .zones .zone.zone-text .titles .pretitle + .title {
        margin-top: 0.375rem;
    }

    section.block.banner-block .container .zones .zone.zone-text {
        gap: 1.75rem;
    }

    section.block.banner-block .container .zones .zone.zone-text .text {
        gap: 1.25rem;
    }

    section.block.banner-block .container .zones .zone.zone-text .titles .pretitle {
        flex-wrap: wrap;
    }

    section.block.banner-block .container .zones .zone.zone-text .titles .pretitle span:first-child {
        width: 100%;
    }
}

/* ============================ */
/* FULL IMAGE TEXT BLOCK */
/* ============================ */

section.full-image-text-block {
    margin-block: 11.0625rem 12.5rem;
}

section.hero + section.full-image-text-block[data-img-size="small"] {
    margin-block: 7.875rem 8.25rem;
}

body.single-alloggio section.full-image-text-block {
}

body.single-alloggio section.full-image-text-block:not(:has(.zone-end)),
section.full-image-text-block:not(:has(.zone-end)) {
    margin-block-end: 7.875rem;
}

section.full-image-text-block .zones .zone-start {
    margin-bottom: 2.0625rem;
}

section.full-image-text-block[data-text-up-alignment="left"] .zones .zone-start .title {
    text-align: left;
}

section.full-image-text-block[data-text-up-alignment="center"] .zones .zone-start .title {
    text-align: center;
}

section.full-image-text-block[data-text-up-alignment="right"] .zones .zone-start .title {
    text-align: right;
}

section.full-image-text-block .zones .zone-img {
    overflow: hidden;
}

section.full-image-text-block[data-contained="container"] .zones .zone-img {
    max-width: calc(68.75rem + (2 * var(--container-x-padding)));
    padding-inline: var(--container-x-padding);
    margin-inline: auto;
}

section.full-image-text-block[data-img-size="small"] .zones .zone-img .img-wrapper {
    height: 28.9375rem;
}

section.full-image-text-block[data-img-size="small"] .zones .zone-img .img-wrapper img {
    height: 100%;
    object-fit: contain;
}

section.full-image-text-block[data-img-size="small"] .zones .zone-end .container .texts-wrapper {
    max-width: 40.25rem;
    margin-inline: auto;
}

section.full-image-text-block .zones .zone-end {
    margin-top: 4.5rem;
    text-align: center;
}

@media (max-width: 768px) {
    body.single-alloggio section.full-image-text-block:not(:has(.zone-end)),
    section.full-image-text-block:not(:has(.zone-end)) {
        margin-block-end: 3.875rem;
    }

    section.hero + section.full-image-text-block[data-img-size="small"],
    section.full-image-text-block {
        margin-block: 4.1875rem;
    }

    section.block.text-block + section.full-image-text-block {
        margin-block-start: 5rem;
    }

    section.full-image-text-block:not(:has(.zone-end)) {
        margin-block-end: 3.8125rem;
    }

    section.full-image-text-block .zones .zone-end {
        margin-top: 1.625rem;
    }

    section.full-image-text-block[data-contained-mobile="full"] .img-wrapper {
        position: relative;
        left: 0rem;
        width: calc(100% + (2 * var(--container-x-padding)));
    }

    section.full-image-text-block[data-contained-mobile="full"] .img-wrapper {
        left: calc(-1 * var(--container-x-padding));
    }
}

/* ============================ */
/* OTHER SUTIES */
/* ============================ */

section.other-suites {
    margin-top: 7.875rem;
    margin-bottom: 14.9375rem;
}

section.other-suites .zones .zone-icon {
    display: flex;
    align-items: center;
    justify-content: center;
}

section.other-suites .zones .zone-title {
    text-align: center;
    margin-top: 7rem;
    margin-bottom: 3.8125rem;
}

section.other-suites .zones .zone-cards {
    display: flex;
    align-items: center;
    gap: var(--container-gap);
    justify-content: space-between;
}

section.other-suites .zones .zone-cards .card {
    flex-grow: 1;
    max-width: 33.125rem;
    margin-inline: auto;
}

section.other-suites .zones .zone-cards .card .layers {
    min-height: 39.1875rem;
}

section.other-suites .zones .zone-cards .card .layers .layer-bg::after {
    background-color: rgb(0 0 0 / 0.1);
}

section.other-suites .zones .zone-cards .card .layers .layer-bg .img-wrapper {
    height: 100%;
}

section.other-suites .zones .zone-cards .card .layers .layer-bg .img-wrapper img {
    scale: 1.05;
    transition: scale 0.2s ease;
}

section.other-suites .zones .zone-cards .card:where(:hover, :focus-within) .layers .layer-bg .img-wrapper img {
    scale: 1;
}

section.other-suites .zones .zone-cards .card .layers .layer-fg {
    display: grid;
    place-items: center;
    position: relative;
}

section.other-suites .zones .zone-cards .card .layers .layer-fg .btn::after {
    content: "";
    position: absolute;
    inset: 0;
}

section.other-suites .zones .zone-cards .card .layers .layer-fg .btn:focus-visible::after {
    outline: 4px solid var(--fg);
    outline-offset: 4px;
}

@media (max-width: 768px) {
    section.other-suites {
        margin-block: 3.8125rem 4.0625rem;
    }

    section.other-suites .zones .zone-title {
        margin-block: 2.9375rem 1.4375rem;
    }

    section.other-suites .zones .zone-icon .logo {
        max-width: 2.625rem;
    }

    section.other-suites .zones .zone-icon .logo svg {
        width: 100%;
        height: fit-content;
    }

    section.other-suites .zones .zone-cards .card .layers {
        min-height: 25.625rem;
    }
}

/* ============================ */
/* HERO CONTACTS */
/* ============================ */

section.hero.hero-split .layers .layer-fg .container,
section.hero.hero-split .layers .layer-bg {
    display: grid;
    grid-template-columns: 7fr 5fr;
    min-height: 100svh;
}

section.hero.hero-split .layers .layer.layer-bg .img-wrapper {
    grid-column: 2;
    height: 100%;
}

section.hero.hero-split .layers .layer.layer-fg .container > .text {
    height: 100%;
    padding-top: 9.5rem;
    padding-bottom: 2.5rem;
    display: flex;
    flex-direction: column;
    align-items: start;
    justify-content: space-between;
    gap: 2rem;
}

section.hero.hero-split .layers .layer.layer-fg .container > .text .end .text {
    height: 100%;
    padding-top: 5rem;
    padding-bottom: 2.5rem;
    display: flex;
    flex-direction: column;
    align-items: start;
    justify-content: space-between;
    gap: 2rem;
}

section.hero.hero-split .layers .layer.layer-fg .container .text .start {
    width: 100%;
}

section.hero.hero-split[data-type="info"] .layers .layer.layer-fg .container .text .end {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: start;
    gap: 1.6875rem;
}

section.hero.hero-split[data-type="info"] .layers .layer.layer-fg .container .text .end .big-text .pretitle {
    margin-bottom: 0.4375rem;
}

section.hero.hero-split[data-type="info"] .layers .layer.layer-fg .container .text .end .other-infos {
    display: grid;
    --grid-item-width: 11.75rem;
    grid-template-columns: repeat(auto-fill, minmax(var(--grid-item-width), 1fr));
    grid-template-columns: repeat(auto-fill, minmax(min(var(--grid-item-width), 100%), 1fr));
    gap: var(--container-gap);
    width: 100%;
}

section.hero.hero-split[data-type="info"] .layers .layer.layer-fg .container .text .end .other-infos .info {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 0.625rem;
}

section.hero.hero-split[data-type="text"] .layers .layer.layer-fg .container .text {
    max-width: 38.125rem;
}

@media (min-width: 768px) {
    section.hero.hero-split .layers .layer-bg {
        min-height: 100vh;
    }
}

@media (max-width: 768px) {
    .page-template-contacts section.hero.hero-split .layers .layer-bg {
        order: 2;
    }

    .page-template-contacts section.hero.hero-split .layers .layer-fg {
        order: 1;
    }

    .page-template-contacts section.hero.hero-split .layers .layer.layer-fg .container {
        padding-bottom: 2.5rem;
        padding-top: 8.2rem;
    }

    section.hero.hero-split .layers {
        display: flex;
        flex-direction: column;
    }

    section.hero.hero-split .layers .layer-fg .container,
    section.hero.hero-split .layers .layer-bg {
        display: block;
    }

    section.hero.hero-split .layers .layer-bg {
        min-height: unset;
        height: 30vh;
    }

    section.hero.hero-split .layers .layer-bg img {
        object-position: 50% 79%;
    }

    section.hero.hero-split .layers .layer.layer-fg .container {
        padding-top: 2rem;
        min-height: unset;
    }
    section.hero.hero-split .layers .layer.layer-fg .container > .text .end .text,
    section.hero.hero-split .layers .layer.layer-fg .container > .text {
        padding-bottom: 0;
        padding-top: 0;
        gap: 1.5rem;
    }
}

/* ============================ */
/* VERTICAL INFOS */
/* ============================ */

section.vertical-infos {
    margin-top: 8.375rem;
    margin-bottom: 8.4375rem;
}

section.vertical-infos .zones {
    display: grid;
    gap: 4rem;
}

section.vertical-infos .zones .zone.zone-title {
    text-align: center;
}

section.vertical-infos .zones .zone.zone-infos .container {
    display: grid;
    --grid-item-width: 5rem;
    grid-template-columns: repeat(auto-fit, minmax(var(--grid-item-width), 1fr));
    grid-template-columns: repeat(auto-fit, minmax(min(var(--grid-item-width), 100%), 1fr));
    column-gap: var(--container-gap);
    inline-size: 0;
    min-inline-size: 100%;
    row-gap: 2.5rem;
}

section.vertical-infos .zones .zone.zone-infos .container .info {
    text-align: center;
}

section.vertical-infos .zones .zone.zone-infos .container .info .title {
    margin-bottom: 1.25rem;
}

section.vertical-infos .zones .zone.zone-infos .container .info .text h4 {
    font-family: var(--ff-serif);
    font-size: 2.1875rem;
    line-height: 1.2;
    letter-spacing: -0.021875rem;
    margin-bottom: 0.25rem;
}

section.vertical-infos .zones .zone.zone-infos .container .info .text h4 + p:not(:last-child) {
    margin-bottom: 1.2rem;
}

@media screen and (max-width: 768px) {
    section.vertical-infos {
        margin-top: 3rem;
        margin-bottom: 3rem;
    }

    section.vertical-infos .zones .zone.zone-infos .container {
        display: flex;
        flex-direction: column;
        gap: 4rem;
        align-items: center;
        text-align: center;
    }
}

/* ============================ */
/* SHORT MAP */
/* ============================ */

section.short-map {
    height: 16.25rem;
    position: relative;
}

/*section.short-map::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 99;
    background-color: var(--bg);
    mix-blend-mode: color;
    pointer-events: none;
}*/

/* ============================ */
/* HERO MINIMAL */
/* ============================ */

section.hero.hero-minimal {
    margin-block: 13.3125rem 4rem;
    text-align: center;
    position: relative;
    margin-bottom: 11.25rem;
}

section.hero.hero-minimal::after {
    content: "";
    position: absolute;
    height: 3.125rem;
    width: 4.3125rem;
    background-image: url("assets/img/cauliflower.svg");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    bottom: -4.0625rem;
    transform: translateY(100%) translateX(-50%);
    left: 50%;
}

@media (max-width: 768px) {
    section.hero.hero-minimal {
        margin-top: 9.4375rem;
        margin-bottom: 8rem;
    }

    section.hero.hero-minimal::after {
        height: 2.25rem;
        bottom: -2.8rem;
    }
}

/* ============================ */
/* FLIPPING CARDS */
/* ============================ */

/*
* INFO: I had to remove the `:first-child` stuff, caused from a design change
*/

section.flipping-cards .container {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    column-gap: var(--container-gap);
    isolation: isolate;
}

section.flipping-cards .container .card {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    position: relative;
}

/* section.flipping-cards .container .card:first-child { */
/*     max-width: 50%; */
/*     margin-inline: auto; */
/*     grid-column: -1/1; */
/*     margin-bottom: 5rem; */
/* } */

section.flipping-cards .container .card .title {
    margin-top: 1.8125rem;
    margin-bottom: 0.875rem;
}

section.flipping-cards .container .card[data-orientation="vertical"] .img-wrapper {
    max-width: 22.3125rem;
}

section.flipping-cards .container .card[data-orientation="horizontal"] .img-wrapper {
    max-width: 31.4375rem;
}

section.flipping-cards .container .card[data-orientation="horizontal"] .description {
    max-width: 33.125rem;
}

/*
* The cards should be flipped,
* The right column is where the cards are on the top,
* The left column is where the cards are on the bottom,
* And due to this layout, we have to flip all the cards to make the data and
* the reading order the same
*
* all the even (pari) numbers should be on the right (and always higher)
* all the odd (dispari) numbers should be on the left (and always lower)
*
* To do so we have to change the order of the cards
* the even numbers, should have an order of --index + 1
* the odd numbers, should have an order of --index - 1
*/

/* INFO: This was :not(:first-child) */
section.flipping-cards .container .card:nth-child(even) {
    /* order: calc(var(--index) + 1); */
    /* grid-column: 2; */
    margin-top: 31.8125rem;
}

/* INFO: This was :not(:first-child) */
section.flipping-cards .container .card:nth-child(odd) {
    /* order: calc(var(--index) - 1); */
    margin-top: -7.875rem;
}

/*
* Also, some of them must have icons
*/

section.flipping-cards .container .card:first-child::after {
    content: "";
    position: absolute;
    --_size: 4.3125rem;
    bottom: calc(100% + 3.1875rem);
    height: var(--_size);
    width: var(--_size);
    background-image: url(assets/img/waves.svg);
    left: calc(50% - (var(--_size) / 2));
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    z-index: -1;
}

/* INFO: This was :not(:first-child) */
section.flipping-cards .container .card:nth-child(4n - 2)::after {
    content: "";
    position: absolute;
    --_size: 5.9375rem;
    top: calc(-11.625rem - var(--_size));
    height: var(--_size);
    width: var(--_size);
    background-image: url(assets/img/spikes.svg);
    right: 6.875rem;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    z-index: -1;
}

/* INFO: This was :not(:first-child) */
section.flipping-cards .container .card:nth-child(4n - 1)::after {
    content: "";
    position: absolute;
    --_size: 5.3125rem;
    top: calc(-6.625rem - var(--_size));
    height: var(--_size);
    width: var(--_size);
    background-image: url(assets/img/hand.svg);
    right: 6.875rem;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    z-index: -1;
}

section#final-experience-block {
    margin-top: 22.1875rem;
    position: relative;
}

section#final-experience-block::after {
    content: "";
    position: absolute;
    width: 4.8125rem;
    height: 5.5rem;
    bottom: calc(100% + 8.3125rem);
    left: calc(50% - 2.40625rem);
    background-image: url("assets/img/leaf.svg");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

@media (max-width: 768px) {
    section.flipping-cards .container {
        display: flex;
        flex-direction: column;
    }

    section.flipping-cards .container .card:nth-child(n) {
        max-width: none;
        margin-bottom: 0;
        margin-top: 0;
    }

    /* INFO: These were :not(:first-child) */
    section.flipping-cards .container .card:nth-child(odd),
    section.flipping-cards .container .card:nth-child(even) {
        order: 0;
    }

    section.flipping-cards .container .card[data-orientation] .img-wrapper {
        max-width: none;
    }

    section.flipping-cards .container .card .img-wrapper {
        position: relative;
        left: 0rem;
        width: calc(100% + (2 * var(--container-x-padding)));
    }

    section.full-image-text-block#final-experience-block {
        margin-block-start: 11rem;
    }
    /* INFO: These were :not(:first-child) */
    section.flipping-cards .container .card:nth-child(4n - 1),
    section.flipping-cards .container .card:nth-child(4n - 2) {
        margin-block-start: 9.1875rem;
    }
    /* INFO: These were :not(:first-child) */
    section.full-image-text-block#final-experience-block::after,
    section.flipping-cards .container .card:nth-child(4n - 1)::after,
    section.flipping-cards .container .card:nth-child(4n - 2)::after {
        --_size: 3.8125rem;
        left: calc(50% - (var(--_size) / 2));
        top: auto;
        bottom: calc(100% + 2.625rem);
    }

    /* INFO: This was :not(:first-child) */
    section.flipping-cards .container .card:nth-child(4n - 1)::after {
        --_size: 4.5rem;
        max-width: 4.5rem;
        height: 3.4375rem;
    }

    section.full-image-text-block#final-experience-block::after {
        --_size: 3.9375rem;
        width: 3.9375rem;
        height: 4.4375rem;
        bottom: calc(100% + 3.5rem);
    }
}

/* ============================ */
/* ARCHIVE PRODUCTS */
/* ============================ */

section.products-archive {
    padding-top: 5.5rem;
    padding-bottom: 11.9375rem;
}

section.related-products {
    padding-top: 6.25rem;
}

body.single-product main {
    padding-bottom: 10.1875rem;
}

/* remove some stuff */

:is(section.products-archive, section.related-products) .woocommerce-ordering,
:is(section.products-archive, section.related-products) .woocommerce-result-count,
:is(section.products-archive, section.related-products) .woocommerce-products-header {
    display: none;
}

section.products-archive ul.products {
    margin-bottom: 0;
    display: grid;
    --grid-item-width: 25.9375rem;
    grid-template-columns: repeat(auto-fill, minmax(var(--grid-item-width), 1fr));
    grid-template-columns: repeat(auto-fill, minmax(min(var(--grid-item-width), 100%), 1fr));
    gap: var(--container-gap);
    row-gap: 3rem;
}

section.related-products ul.products {
    display: flex;
    gap: var(--container-gap);
    justify-content: center;
    flex-wrap: wrap;
}

section.related-products .container > h2 {
    font-size: 3rem;
    font-family: var(--ff-serif);
    line-height: 1.083333333;
    text-align: center;
    margin-bottom: 3.3125rem;
}

:is(section.products-archive, section.related-products) ul.products::before,
:is(section.products-archive, section.related-products) ul.products::after {
    content: initial;
}

:is(section.products-archive, section.related-products) ul.products li.product {
    float: none;
    margin: 0;
    width: auto;
    text-align: center;
}

section.related-products ul.products li.product {
    max-width: 25.9375rem;
}

:is(section.products-archive, section.related-products) ul.products li.product .loop-product-image-wrapper {
    overflow: hidden;
    margin-bottom: 1.5rem;
}

:is(section.products-archive, section.related-products) ul.products li.product img {
    transition: scale 0.2s ease;
    margin-bottom: 0;
}

:is(section.products-archive, section.related-products) ul.products li.product:where(:hover, :focus-within) img {
    scale: 1.05;
}

:is(section.products-archive, section.related-products) ul.products li.product a.button {
    display: none;
}

:is(section.products-archive, section.related-products) ul.products li.product .price {
    margin-bottom: 0;
    color: inherit;
    font-size: 0.875rem;
    line-height: 1.214285714;
}

:is(section.products-archive, section.related-products) ul.products li.product .woocommerce-loop-product__title {
    padding-block: 0;
    margin-bottom: 0.4375rem;
    font-weight: 500;
    font-size: 1.0625rem;
    line-height: 1.235294118;
    text-transform: uppercase;
    text-wrap: balance;
}

@media (max-width: 768px) {
    body.single-product main {
        padding-bottom: 0;
    }

    section.related-products {
        padding-bottom: 0;
        padding-top: 6rem;
    }
    section.products-archive {
        padding-top: 4rem;
        padding-bottom: 0rem;
    }

    :is(section.products-archive, section.related-products) ul.products li.product.product {
        max-width: none;
        width: auto;
        margin-bottom: 0;
    }

    section.related-products .container > h2 {
        font-size: 1.75rem;
        line-height: 1.1428571428571;
        letter-spacing: -0.02rem;
    }
}

/* ============================ */
/* HEADER */
/* ============================ */

body:has(section.hero.hero-default) header.egloo:not(.floating) .header-content .btns-wrap .btns .btn.btn-primary {
    background-color: var(--c-wine);
    color: var(--c-white);
}

body:has(section.hero.hero-default) header.egloo .header-content .btns-wrap .btns .btn.btn-primary:hover,
body:has(section.hero.hero-default) header.egloo:not(.floating) .header-content .btns-wrap .btns .btn.btn-primary:hover {
    color: var(--c-peach);
}

body:has(section.hero.hero-default) header.egloo.floating .header-content .btns-wrap .btns .btn.btn-primary:hover {
    color: white;
}

.page-template-experience header .header-content .btns-wrap .btns .btn.btn-primary:hover {
    color: white;
}

.page-template-contacts header .header-content .btns-wrap .btns .btn.btn-primary {
    color: white;
}

body:has(section.hero.hero-default).home header.egloo.floating .header-content .btns-wrap .btns .btn.btn-primary:hover,
body:has(section.hero.hero-default).single-alloggio header.egloo.floating .header-content .btns-wrap .btns .btn.btn-primary:hover,
body:has(section.hero.hero-default).post-type-archive-alloggio header.egloo.floating .header-content .btns-wrap .btns .btn.btn-primary:hover,
.page-template-contacts header .header-content .btns-wrap .btns .btn.btn-primary:hover {
    color: var(--c-peach);
}

header.egloo {
    height: var(--header-height);
    color: var(--header-fg);
    padding-block: 1.4375rem;
    position: sticky;
    margin-bottom: calc(-1 * var(--header-height));
    top: calc(-1 * var(--header-height));
    left: 0;
    width: 100%;
    z-index: 99;
    transition:
        top var(--header-transition-duration) ease,
        color var(--header-transition-duration) ease,
        background-color var(--header-transition-duration) ease;
}

header.egloo.floating {
    transition:
        top var(--header-transition-duration) ease,
        color var(--header-transition-duration) ease var(--header-transition-duration),
        background-color var(--header-transition-duration) ease var(--header-transition-duration);
    color: var(--header-floating-fg);
    background-color: var(--header-bg);
}

header.egloo.floating.floating-active {
    top: 0;
}

header.egloo.floating:not(.floating-active) {
    top: calc(-1 * var(--header-height));
}

header.egloo .header-content {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: 1rem;
    align-items: end;
}

header.egloo .header-content .menu-wrap .main-menu ul {
    padding-bottom: 0.25rem;
    font-size: 0.875rem;
    line-height: 1.214286;
    font-weight: 600;
    text-transform: uppercase;
    display: flex;
    align-items: center;
    list-style-type: none;
    gap: 5rem;
}

header.egloo .header-content .menu-wrap .main-menu ul li {
    position: relative;
}

header.egloo .header-content .menu-wrap .main-menu ul li::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 0%;
    width: 0%;
    height: 1px;
    background-color: currentColor;
    transition: width 0.2s ease;
}

header.egloo .header-content .menu-wrap .main-menu ul li:where(:focus-within, :hover)::after {
    width: 100%;
}

header.egloo .header-content .menu-wrap .main-menu ul li.current_page_item::after {
    width: 100%;
}

header.egloo .header-content .btns-wrap {
    justify-self: end;
}

header.egloo .header-content .btns-wrap .btns {
    display: flex;
    align-items: center;
    gap: 1.6875rem;
}

header.egloo .header-content .btns-wrap .btns .btn-menu-toggler {
    height: fit-content;
}

header.egloo .header-content .btns-wrap .btns .btn-menu-toggler svg {
    vertical-align: middle;
}

header.egloo .header-content .btns-wrap:has(.btn-cart) {
    display: grid;
}

header.egloo .header-content .btns-wrap:has(.lang-switcher li:only-child) {
    padding-bottom: 0.5rem;
}

header.egloo .header-content .btns-wrap .btn-lang {
    text-transform: uppercase;
}

header.egloo .header-content .btns-wrap .btn-lang .lang-switcher {
    list-style-type: none;
    font-size: 0.6875rem;
    line-height: 1.272727;
    display: flex;
    align-items: center;
    justify-content: end;
    gap: 1rem;
    margin-bottom: 1rem;
}

header.egloo:has(.menu-item) .header-content .btns-wrap .btn-lang .lang-switcher {
    margin-bottom: 1rem;
}

header.egloo .header-content .btns-wrap .btn-lang .lang-switcher:has(> li:only-child) {
    display: none;
}

header.egloo .header-content .btns-wrap .btn-lang .lang-switcher li {
    position: relative;
}

header.egloo .header-content .btns-wrap .btn-lang .lang-switcher li:not(:last-child)::after {
    content: "/";
    position: absolute;
    top: 0;
    right: -0.7rem;
}

header.egloo .header-content .menu-wrap .content .btns-wrap .btn-lang .lang-switcher {
    justify-content: center;
    font-size: 1rem;
    color: var(--c-anthracite);
}

header.egloo .header-content .btns-wrap .btn-lang .lang-switcher li a.active {
    font-weight: 600;
    text-decoration: underline;
}

header.egloo .header-content .btns-wrap .btn-cart {
    width: fit-content;
    margin-left: auto;
}

header.egloo .header-content .btns-wrap .btn-cart svg path {
    stroke: var(--accent);
}

header.egloo .header-content .btns-wrap .btn-cart svg path[fill="#fff"] {
    fill: var(--bg);
}

header.egloo .header-content .btns-wrap .btn-cart .cart-contents-count {
    font-size: 0.8125rem;
    font-weight: 600;
    line-height: 1.230769;
    color: currentcolor;
}

@media only screen and (min-width: 1180px) {
    header.egloo .header-content .btns-wrap .btns .btn-menu-toggler,
    header.egloo .header-content .menu-wrap .content .menu-img,
    header.egloo .header-content .menu-wrap .content .main-menu .btn,
    header.egloo .header-content .btns-wrap .btns .btn-menu-toggler,
    header.egloo .header-content .menu-wrap .content .top,
    header.egloo .header-content .menu-wrap .content .btns-wrap {
        display: none;
    }
}

@media (max-width: 1180px) {
    header.egloo {
        padding-block: 1.43rem;
    }

    header.egloo .header-content div {
        touch-action: none;
    }

    header.egloo .header-content .menu-wrap + .btns-wrap {
        position: relative;
        top: -5px;
    }

    header.egloo .header-content .menu-wrap .content .btns-wrap {
        justify-self: end;
        margin-top: auto;
        padding-bottom: 4rem;
    }

    header.egloo .header-content {
        display: flex;
        align-items: end;
        justify-content: space-between;
    }

    header.egloo .header-content .btns-wrap .btn-lang {
        position: a;
    }

    header.egloo .header-content .menu-wrap {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        z-index: 9999;
        overflow: hidden;
        height: 0;
        transition: height 0.5s cubic-bezier(0.47, 0, 0.75, 0.72);
    }

    header.egloo .header-content .menu-wrap + .btns-wrap .btn-lang {
        display: none;
    }

    body.mobile-menu-open header.egloo .header-content .menu-wrap {
        height: 100%;
    }

    header.egloo .header-content .menu-wrap .content {
        padding-top: 1.4375rem;
        height: 100%;
        display: flex;
        flex-direction: column;
    }

    header.egloo .header-content .menu-wrap .content .menu-img {
        outline: 2px solid red;
        outline-offset: -2px;
        flex-grow: 1;
    }

    header.egloo .header-content .menu-wrap .content .top {
        padding-inline: var(--container-x-padding);
        display: flex;
        align-items: end;
        justify-content: space-between;
    }

    header.egloo .header-content .menu-wrap .content .top svg {
        vertical-align: middle;
    }
    header.egloo .header-content .menu-wrap .content .main-menu {
        padding-inline: var(--container-x-padding);
        padding-block: 3.75rem;
    }

    header.egloo .header-content .menu-wrap .content .main-menu ul {
        padding: 0;
    }

    header.egloo .header-content .menu-wrap .content .main-menu,
    header.egloo .header-content .menu-wrap .content .main-menu ul {
        display: flex;
        flex-direction: column;
        gap: 1.5rem;
        align-items: center;
    }
    header.egloo .header-content .menu-wrap .content .main-menu .btn {
        color: var(--alt-accent);
        width: fit-content;
    }
    header.egloo .header-content .menu-wrap .content .main-menu .btn,
    header.egloo .header-content .menu-wrap .content .main-menu,
    header.egloo .header-content .menu-wrap .content .main-menu ul {
        font-size: 1.4375rem;
        font-weight: 600;
    }
	
    header.egloo .header-content .menu-wrap {
        --alt-accent: var(--c-white);
        --on-accent: var(--c-peach);
        --accent: var(--c-wine);
        --fg: var(--c-anthracite);
        --bg: var(--c-peach);
        color: var(--accent);
        background-color: var(--bg);
    }
	
	header.egloo .header-content .menu-wrap .content .main-menu {
		flex: 6;
		align-items: center;
		justify-content: center;
	}
}

/* ============================ */
/* FOOTER */
/* ============================ */

body.woocommerce-checkout footer,
body.post-type-archive-alloggio footer {
    margin-top: 14.3125rem;
}

body.page-template-contacts footer {
    margin-top: 7.1875rem;
}

body:has(main section.block.full-image-text-block) footer {
    margin-top: 17.0625rem;
}

footer .footer-logo svg {
    width: 100%;
    height: auto;
}

footer .footer-content {
    position: relative;
    z-index: 1;
}

footer .footer-content a {
    text-decoration: underline;
}

footer .footer-content .columns {
    display: grid;
    grid-template-columns: 4fr 8fr;
    column-gap: var(--container-gap);
}

footer .footer-content .columns .column.newsletter {
    display: flex;
    flex-direction: column;
}

footer .footer-content .columns .column.newsletter > p {
    line-height: 1.4;
    max-width: 24rem;
    margin-bottom: 1.3rem;
}

footer .footer-content .columns .column.newsletter .socials {
    margin-top: 2rem;
}

footer .footer-content .columns .column.newsletter .socials p {
    font-size: 0.875rem;
    display: flex;
    gap: 0.7rem;
    text-transform: uppercase;
}

footer .footer-content .columns .column.newsletter #mc_embed_signup_scroll {
    position: relative;
}

footer .footer-content .columns .column.newsletter #mc_embed_signup form {
    margin: 0;
}

footer .footer-content .columns .column.newsletter #mc_embed_signup #mc-embedded-subscribe-form div.mce_inline_error {
    display: inline-block;
    margin: 0;
    border-radius: 0;
    font-size: 0.875rem;
    z-index: 1;
    color: var(--on-accent);
    background-color: var(--accent);
    padding: 0.2rem 1rem;
}

footer .footer-content .columns .column.newsletter #mc_embed_signup .mc-field-group {
    clear: none;
    position: relative;
    width: 100%;
    padding-bottom: 0;
    min-height: auto;
    display: grid;
}
footer .footer-content .columns .column.newsletter #mc_embed_signup #mc-embedded-subscribe-form .clear.foot {
    position: relative;
}
footer .footer-content .columns .column.newsletter #mc_embed_signup #mc-embedded-subscribe-form .clear.foot svg {
    position: absolute;
    width: 1rem;
    height: 1rem;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
footer .footer-content .columns .column.newsletter #mc_embed_signup #mc-embedded-subscribe-form input#mc-embedded-subscribe {
    margin: 0;
    background: transparent;
    font-size: 0;
    padding: 0;
    /* background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="8.886" height="15.695" viewBox="0 0 8.886 15.695"><g id="Raggruppa_480" data-name="Raggruppa 480" transform="translate(8.163 15.95) rotate(180)"><path id="Tracciato_107" data-name="Tracciato 107" d="M0,14.973,7.812,7.235,0,0" transform="translate(7.812 15.584) rotate(180)" fill="none" stroke="%23262421" stroke-width="1"/></g></svg>'); */
    background-size: contain;
    background-repeat: no-repeat;
    width: 2.5rem;
    height: 2.5rem;
    border: 0;
    transition: none;
    background-size: 8px;
    background-position: 50% 50%;
}

footer .footer-content .columns .column.newsletter #mc_embed_signup #mc-embedded-subscribe-form input.mce_inline_error {
    outline: 0;
    border: 1px solid var(--fg);
}

footer .footer-content .columns .column.newsletter #mc_embed_signup #mc-embedded-subscribe-form input {
    border-radius: 0;
    border: 1px solid var(--fg);
    outline: 0;
    height: 2.5rem;
    text-indent: 0;
    padding: 0.5rem 1.125rem;
    font-size: 1rem;
    background-color: transparent;
    color: var(--fg);
}

footer .footer-content .columns .column.newsletter #mc_embed_signup #mc-embedded-subscribe-form input::-webkit-placeholder {
    color: rgb(from var(--fg) r g b / 0.5);
    font-size: 0.9375rem;
}

footer .footer-content .columns .column.newsletter #mc_embed_signup #mc-embedded-subscribe-form input::placeholder {
    color: rgb(from var(--fg) r g b / 0.5);
    font-size: 0.9375rem;
}

footer .footer-content .columns .column.newsletter #mc_embed_signup .optionalParent {
    position: absolute;
    top: 0;
    right: 0;
}

footer .footer-content .columns .column.newsletter #mc_embed_signup .optionalParent .foot {
    width: 100%;
    display: block;
}

footer .footer-content .columns .column.newsletter #mc_embed_signup div#mce-responses {
    margin: 0;
    padding: 0;
    display: block;
    width: 100%;
}

footer .footer-content .columns .column.newsletter #mc_embed_signup div#mce-responses .response {
    margin: 0;
    padding: 0;
    font-weight: 500;
    float: none;
    top: 0;
    z-index: 1;
    width: 100%;
    font-size: 0.875rem;
    margin-top: 0.2rem;
}

footer .footer-content .columns .column.infos {
    font-size: 0.875rem;
    line-height: 1.71;
    padding-left: 3rem;
    display: flex;
    gap: 4.8rem;
}

footer .footer-content .columns .column.infos > div {
    max-width: 11rem;
    width: 100%;
}

footer .footer-content .columns .column.infos > div > p:not(:last-child) {
    margin-bottom: 1.5em;
}

footer .footer-content .columns .column.infos .bookings .lang-switcher-footer:has(> :only-child) {
    display: none;
}

footer .footer-content .columns .column.infos .bookings .lang-switcher-footer a {
    text-decoration: none;
    text-transform: uppercase;
}

footer .footer-content .columns .column.infos .bookings .lang-switcher-footer a.active {
    text-decoration: underline;
}

footer .footer-logo {
    display: grid;
    margin-top: -11rem;
}

@media (max-width: 768px) {
    body.page-template-contacts footer,
    body.woocommerce-checkout footer,
    body.post-type-archive-alloggio footer,
    body.woocommerce-checkout footer,
    body:has(main section.block.full-image-text-block) footer,
    footer {
        margin-top: 6.25rem;
    }

    footer .footer-logo {
        display: grid;
        margin-top: 0;
    }

    footer .footer-content .columns {
        display: flex;
        flex-direction: column;
        padding-bottom: 0;
        margin-bottom: -3.5rem;
    }

    footer .footer-content .columns .column.infos {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: var(--container-gap);
        padding-left: 0;
    }

    footer .footer-content .columns .column.infos > div {
        max-width: none;
    }

    footer .footer-content .columns .column.infos .datas {
        display: none;
    }

    footer .footer-content .columns .column.newsletter {
        margin-top: 3.5625rem;
        margin-bottom: 3.4375rem;
    }
}

/* ============================ */
/* SINGLE PRODUCT */
/* ============================ */

body.single-product.woocommerce div.product div.images {
    float: none;
    width: auto;
}

body.single-product.woocommerce .product-main-content {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
}

body.single-product.woocommerce .product-main-content .gallery-images {
    position: sticky;
    max-height: 100vh;
    top: 0;
}

body.single-product.woocommerce .product-main-content .gallery-images .product-icon-wrapper {
    position: absolute;
    z-index: 1;
    right: 0;
    top: 10.125rem;
    transform: translateX(50%);
}

body.single-product.woocommerce .product-main-content .gallery-images .woocommerce-product-gallery {
    margin-bottom: 0;
    height: 100%;
}

body.single-product.woocommerce .product-main-content .gallery-images .woocommerce-product-gallery * {
    height: 100%;
    object-fit: cover;
}

body.single-product.woocommerce .product-main-content .gallery-images .woocommerce-product-gallery a {
    pointer-events: none;
}

body.single-product.woocommerce .product-main-content .summary {
    float: none;
    width: auto;
    max-width: calc(40.25rem + (2 * var(--container-x-padding)));
    margin-inline: auto;
    padding-inline: var(--container-x-padding);
    padding-top: 9.5625rem;
    margin-bottom: 0;
}

body.single-product.woocommerce .product-main-content .summary h1 {
    font-size: 3rem;
    font-family: var(--ff-serif);
    line-height: 1.083333333;
    letter-spacing: -0.48px;
    margin-bottom: 0.375rem;
    max-width: 33.125rem;
    text-wrap: balance;
}

body.single-product.woocommerce .product-main-content .summary.entry-summary {
    transition: opacity 0.25s ease-in-out;
    opacity: 0;
}

body.single-product.woocommerce .product-main-content .summary.entry-summary.active {
    opacity: 1;
}

body.single-product.woocommerce .product-main-content .summary .woocommerce-product-details__short-description {
    max-width: 27.6875rem;
}

body.single-product.woocommerce .product-main-content .summary .custom-product-logos {
    max-width: 11.75rem;
    margin-block: 2.625rem 8.0625rem;
}

body.single-product.woocommerce .product-main-content .summary .price-minimum-wrapper {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--container-gap);
}

body.single-product.woocommerce .product-main-content .summary .price-minimum-wrapper .minimum-title,
body.single-product.woocommerce .product-main-content .summary .price-minimum-wrapper .price-title {
    font-size: 0.875rem;
    line-height: 1.214285714rem;
    text-transform: uppercase;
}

body.single-product.woocommerce .product-main-content .summary .price-minimum-wrapper > * {
    display: flex;
    flex-direction: column;
    gap: 0.3125rem;
}

body.single-product.woocommerce .product-main-content .summary .price-minimum-wrapper .minimum-value,
body.single-product.woocommerce .product-main-content .summary .price-minimum-wrapper .variable-price {
    font-family: var(--ff-serif);
    font-size: 2.1875rem;
    line-height: 1.285714286;
}

body.single-product.woocommerce .product-main-content .summary .price-minimum-wrapper .variable-price * {
    color: var(--fg);
}

body.single-product.woocommerce .product-main-content .summary .form-actions-wrapper form {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--container-gap);
}

body.single-product.woocommerce .product-main-content .summary .form-actions-wrapper form::after,
body.single-product.woocommerce .product-main-content .summary .form-actions-wrapper form::before {
    content: initial;
}

body.single-product.woocommerce .product-main-content .summary .form-actions-wrapper form > * {
    margin-bottom: 0;
}

body.single-product.woocommerce .product-main-content .summary .form-actions-wrapper form .single_variation_wrap {
    grid-column: span 2;
}

body.single-product.woocommerce .product-main-content .summary .form-actions-wrapper form .single_variation_wrap .quantity-label,
body.single-product.woocommerce .product-main-content .summary .form-actions-wrapper form .variations .label label {
    font-size: 0.875rem;
    line-height: 1.214285714rem;
    text-transform: uppercase;
    font-weight: 400;
    margin-bottom: 0.6875rem;
}

body.single-product.woocommerce .product-main-content .summary .form-actions-wrapper form table.variations th {
    line-height: 1;
}

body.single-product.woocommerce .product-main-content .summary .form-actions-wrapper form table.variations tr {
    display: flex;
    flex-direction: column;
    align-items: start;
    text-align: start;
    gap: 0.6875rem;
    margin-top: 2.1875rem;
}

body.single-product.woocommerce .product-main-content .summary .form-actions-wrapper form table.variations .value {
    width: 100%;
}

body.single-product.woocommerce .product-main-content .summary .form-actions-wrapper form table.variations .value .reset_variations {
    display: none !important;
}

body.single-product.woocommerce .product-main-content .summary .form-actions-wrapper form table.variations .swatches-wrapper {
    display: flex;
    height: 1.75rem;
}

body.single-product.woocommerce .product-main-content .summary .form-actions-wrapper form table.variations .swatches-wrapper .swatch {
    flex-basis: 0;
    flex-grow: 1;
    text-align: center;
    border: 1px solid var(--accent);
    height: 100%;
    vertical-align: middle;
    display: grid;
    place-items: center;
    cursor: pointer;
    color: var(--accent);
}

body.single-product.woocommerce .product-main-content .summary .form-actions-wrapper form table.variations .swatches-wrapper .swatch,
body.single-product.woocommerce .product-main-content .summary .form-actions-wrapper form .quantity label ~ * {
    font-size: 0.875rem;
    line-height: 1.214285714;
    font-weight: 600;
}

body.single-product.woocommerce .product-main-content .summary .form-actions-wrapper form table.variations .swatches-wrapper .swatch.selected {
    background-color: var(--accent);
    color: var(--on-accent);
}

body.single-product.woocommerce .product-main-content .summary .form-actions-wrapper form .woocommerce-variation-price {
    display: none;
    vertical-align: auto;
}

body.single-product.woocommerce .product-main-content .summary .form-actions-wrapper form .woocommerce-variation-add-to-cart {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--container-gap);
    align-items: end;
}

body.single-product.woocommerce .product-main-content .summary .form-actions-wrapper form button[type="submit"] {
    float: none;
    text-align: center;
    font-size: 0.875rem;
    line-height: 1.214286;
    font-weight: 600;
    padding: 0.3125rem 0.5rem 0.375rem;
    background-color: var(--accent);
    color: var(--on-accent);
    text-transform: uppercase;
    border-radius: 0;
}

body.single-product.woocommerce .product-main-content .summary .form-actions-wrapper form button[type="submit"]:hover {
    color: var(--c-peach);
}

body.single-product.woocommerce .product-main-content .summary .form-actions-wrapper form .quantity {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    margin: 0;
    position: relative;
    margin-top: 2.1875rem;
    float: none;
}

body.single-product.woocommerce .product-main-content .summary .form-actions-wrapper form .quantity label ~ * {
    color: var(--accent);
}

body.single-product.woocommerce .product-main-content .summary .form-actions-wrapper form .quantity::after {
    content: "";
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 1.75rem;
    left: 0;
    outline: 1px solid var(--accent);
    outline-offset: -1px;
    pointer-events: none;
}

body.single-product.woocommerce .product-main-content .summary .form-actions-wrapper form .quantity .quantity-label {
    grid-column: -1/1;
}

body.single-product.woocommerce .product-main-content .summary .form-actions-wrapper form .quantity input {
    width: 100%;
    height: 1.75rem;
    border: none;
}

body.single-product.woocommerce .product-main-content .summary .form-actions-wrapper form .quantity .qty-minus {
    padding: 0 0.9375rem;
}

body.single-product.woocommerce .product-main-content .summary .form-actions-wrapper form .quantity .qty-plus {
    padding: 0 0.9375rem;
}

@media (max-width: 768px) {
    body.single-product.woocommerce .product-main-content {
        display: flex;
        flex-direction: column;
    }

    body.single-product.woocommerce .product-main-content .gallery-images {
        position: relative;
    }

    body.single-product.woocommerce .product-main-content .gallery-images .product-icon-wrapper {
        right: auto;
        left: 50%;
        top: auto;
        bottom: 0;
        transform: translateX(-50%) translateY(50%);
        height: 4rem;
    }

    body.single-product.woocommerce .product-main-content .gallery-images .product-icon-wrapper img {
        height: 100%;
    }

    body.single-product.woocommerce .product-main-content .summary {
        padding-top: 4.5rem;
    }

    body.single-product.woocommerce .product-main-content .summary h1 {
        margin-bottom: 1rem;
        font-size: 2.0625rem;
        line-height: 1.1515151515152;
        letter-spacing: -0.020625rem;
    }

    body.single-product.woocommerce .product-main-content .summary .custom-product-logos {
        margin-top: 2rem;
        max-width: 15rem;
        margin-bottom: 3rem;
    }

    body.single-product.woocommerce .product-main-content .summary .price-minimum-wrapper {
        grid-template-columns: repeat(2, 1fr);
        margin-bottom: 2rem;
    }

    body.single-product.woocommerce .product-main-content .summary .form-actions-wrapper form {
        display: flex;
        flex-direction: column;
        margin-bottom: 0;
    }

    body.single-product.woocommerce .product-main-content .summary .form-actions-wrapper form .quantity,
    body.single-product.woocommerce .product-main-content .summary .form-actions-wrapper form table.variations tr {
        margin-top: 0;
    }

    body.single-product.woocommerce .product-main-content .summary .price-minimum-wrapper .minimum-value,
    body.single-product.woocommerce .product-main-content .summary .price-minimum-wrapper .variable-price {
        font-size: 2.0625rem;
        line-height: 1.1515151515152;
        letter-spacing: -0.020625rem;
    }

    body.single-product.woocommerce .product-main-content .summary .price-minimum-wrapper .variable-price .price {
        font-size: inherit;
    }
}

/* ============================ */
/* BOOKING WIDGET */
/* ============================ */

.booking-widget {
    background: #fff;
    overflow: hidden;
    margin: 0 auto;
}

body.single-alloggio .booking-widget {
    margin-bottom: 2.4375rem;
}

.booking-widget .booking-sections {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    align-items: flex-start;
    background: var(--c-peach);
    padding: 0;
}

.booking-widget .booking-section {
    flex: 1;
    position: relative;
}

.booking-widget .booking-section:not(:last-child, .guests-section)::after {
    --_offset: 1.5rem;
    content: "";
    position: absolute;
    top: var(--_offset);
    right: 0;
    width: 1px;
    background-color: var(--accent);
    height: calc(100% - (2 * var(--_offset)));
}

.booking-widget .booking-section:last-of-type {
    border-right: none;
}

.booking-widget .section-header {
    position: relative;
    padding: 0.875rem 1.1875rem 0.9375rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-weight: 600;
    font-size: 0.875rem;
    letter-spacing: 0.03125rem;
    line-height: 1.214286;
    color: var(--accent);
}

.booking-widget .section-content {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.2s ease;
    overflow: hidden;
}

.booking-widget .section-content > div {
    min-height: 0;
}

.booking-widget .booking-section.active .section-content {
    grid-template-rows: 1fr;
}

.booking-widget .dropdown-toggle {
    background: none;
    border: none;
    font-size: 1rem;
    cursor: pointer;
    display: grid;
}

.booking-widget .dropdown-toggle svg {
    transition: rotate 0.2s ease;
}

.booking-widget .checkout-section.active .dropdown-toggle svg {
    rotate: 90deg;
}

.booking-widget .dropdown-toggle::after {
    content: "";
    position: absolute;
    inset: 0;
}

.booking-widget .calendar-container,
.booking-widget .guests-container {
    padding: 1rem 1.875rem 1.375rem;
}

.booking-widget .calendar-header {
    display: flex;
    justify-content: space-evenly;
    align-items: center;
    margin-bottom: 0.9375rem;
}

.booking-widget .calendar-header button {
    position: relative;
}

.booking-widget .calendar-header button::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    height: calc(100% + 0.5rem);
    aspect-ratio: 1/1;
    transform: translate(-50%, -50%);
    border-radius: 50%;
}

.booking-widget .calendar-header button:hover::after {
    background-color: rgba(from var(--accent) r g b / 0.1);
}

.booking-widget .prev-month,
.booking-widget .next-month {
    background: none;
    border: none;
    cursor: pointer;
    transition: color 0.2s;
    line-height: 1;
}

.booking-widget .current-month {
    line-height: 1.214285714;
    font-size: 0.875rem;
    font-weight: 500;
}

.booking-widget .calendar-days {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 0.3125rem;
    row-gap: 0.625rem;
}

.booking-widget .day-header {
    display: none;
    text-align: center;
    font-size: 0.75rem;
    color: #666;
    font-weight: 500;
    padding: 0.3125rem;
}

.booking-widget .calendar-day {
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: 0.875rem;
    transition: all 0.2s;
    position: relative;
    isolation: isolate;
}

.booking-widget .calendar-day::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    height: calc(100% + 0.3rem);
    aspect-ratio: 1;
    border-radius: 50%;
    transform: translate(-50%, -50%);
    z-index: -1;
}

.booking-widget .calendar-day.current-month {
    font-weight: 500;
}

.booking-widget .calendar-day.other-month {
    color: rgba(38, 36, 33, 0.3);
    cursor: default;
}

.booking-widget .calendar-day.past-day {
    color: rgba(38, 36, 33, 0.3);
    cursor: not-allowed;
}

.booking-widget .calendar-day.today {
    font-weight: 700;
    color: var(--c-wine);
}

.booking-widget .calendar-day.selected {
    color: var(--c-peach);
}

.booking-widget .calendar-day.selected::after {
    background: var(--c-wine);
}

.booking-widget .calendar-day.in-range::after {
    background: rgba(189, 87, 87, 0.1);
}

.booking-widget .calendar-day.in-range:first-child {
    border-radius: 50% 0 0 50%;
}

.booking-widget .calendar-day.in-range:last-child {
    border-radius: 0 50% 50% 0;
}

/* Ospiti section */
.booking-widget .guests-label {
    font-size: 0.875rem;
    margin-bottom: 0.75rem;
}

.booking-widget .guest-types {
    display: grid;
    gap: 1.8125rem;
}

.booking-widget .guest-type {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.booking-widget .guest-label {
    display: block;
    font-weight: 500;
    font-size: 0.875rem;
    line-height: 1.428571429;
}

.booking-widget .counter {
    display: flex;
    align-items: center;
    border: 1px solid var(--accent);
    color: var(--accent);
    overflow: hidden;
    width: fit-content;
}

.booking-widget .counter-btn {
    background: none;
    border: none;
    height: 1.75rem;
    width: 1.75rem;
    font-size: 1.25rem;
    cursor: pointer;
    transition: all 0.2s;
    display: grid;
    place-content: center;
}

/*.booking-widget .counter-btn:hover:not(:disabled) {
    background: #f0f0f0;
}*/

.booking-widget .counter-btn:disabled {
    color: #ccc;
    cursor: not-allowed;
}

.booking-widget .counter-value {
    width: 3.75rem;
    text-align: center;
    border: none;
    font-size: 1rem;
    font-weight: 500;
    background: none;
}

.booking-widget .booking-sections .book-now-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 2.875rem;
}

@media only screen and (max-width: 768px) {
    .booking-widget {
        background-color: var(--bg);
        color: var(--fg);
        margin-bottom: 0;
    }

    .booking-widget form {
        padding-top: 1.9375rem;
        padding-bottom: 1.25rem;
    }

    .booking-widget form .fieldset .fields,
    .booking-widget form {
        display: grid;
        grid-template-columns: 1fr 1fr;
        column-gap: 1.25rem;
        row-gap: 2rem;
    }

    .booking-widget form button.btn,
    .booking-widget form .fieldset {
        grid-column: -1/1;
    }

    .booking-widget form button.btn {
        height: 2.4375rem;
    }

    .booking-widget .counter {
        width: 100%;
        justify-content: space-between;
        height: 2.4375rem;
        margin-bottom: 0.3125rem;
    }

    .booking-widget form .field {
        display: flex;
        flex-direction: column;
    }

    .booking-widget form label {
        display: block;
        color: var(--accent);
        margin-bottom: 0.5625rem;
        font-weight: 600;
    }

    .booking-widget form .field .input-wrapper {
        overflow: hidden;
        display: flex;
        align-items: center;
        border: 1px solid var(--accent);
        padding-left: 0.625rem;
        gap: 0.625rem;
    }

    .booking-widget form .field .input-wrapper .icon {
        color: var(--accent);
        width: 1.25rem;
        height: 1.25rem;
        flex-shrink: 0;
    }

    .booking-widget form .field .input-wrapper .icon svg {
        height: 100%;
        width: 100%;
    }

    .booking-widget form .field .input-wrapper input[type="date"] {
        height: 2.4375rem;
        appearance: none;
        background: transparent;
        border: none;
        width: 0;
        min-width: 100%;
    }

    .booking-widget form .field .input-wrapper input[type="date"]:focus-visible {
        outline: none;
    }

    .booking-widget form .field .input-wrapper input[type="date"]::-webkit-calendar-picker-indicator {
        display: none;
    }
}

/* ============================ */
/* BOOKING BANNER */
/* ============================ */

section.booking-banner {
    height: 100vh;
    height: 100svh;
    position: relative;
}

section.booking-banner .img-wrapper {
    height: 100%;
}

section.booking-banner .booking-widget {
    position: absolute;
    top: 50vh;
    left: 0;
    width: 100%;
}

.woocommerce-notices-wrapper {
    position: fixed;
    inset-inline-end: 2rem;
    inset-block-end: 2rem;
    z-index: 999;
    animation: slide-from-bottom 0.3s ease-out forwards 1s;
    transform-origin: bottom right;
    opacity: 0;
    scale: 0.5;
}

@keyframes slide-from-bottom {
    0% {
        scale: 0.5;
        opacity: 0;
    }
    100% {
        scale: 1;
        opacity: 1;
    }
}

.woocommerce-notices-wrapper .woocommerce-message {
    margin-bottom: 0;
    background-color: var(--bg);
    border: 1px solid var(--accent);
    color: var(--accent);
    outline: none;
}

.woocommerce-notices-wrapper .woocommerce-message:focus-visible {
    outline: none;
}

.woocommerce-notices-wrapper .woocommerce-message::before {
    color: currentColor;
}

.woocommerce-notices-wrapper .woocommerce-message .restore-item {
    text-decoration: underline;
    float: right;
    width: 100%;
    text-align: right;
    font-size: 0.875rem;
    margin-top: 0.5rem;
}

body.single-product.woocommerce .product-main-content .summary .form-actions-wrapper form button.loading:after {
    top: 0.35rem;
}

/* ============================ */
/* CHECKOUT */
/* ============================ */

.wp-block-woocommerce-checkout[data-block-name="woocommerce/checkout"] {
    padding-top: 11rem;
}

body .wc-block-components-title.wc-block-components-title {
    font-size: 2.1875rem;
    line-height: 1.2;
    letter-spacing: -0.021875rem;
    font-family: var(--ff-serif);
}

body.woocommerce-cart .wc-block-components-textarea:focus,
body.woocommerce-checkout .wc-block-components-textarea:focus,
body.woocommerce-cart .wc-block-components-textarea,
body.woocommerce-checkout .wc-block-components-textarea,
body.woocommerce-cart .wc-blocks-components-select .wc-blocks-components-select__select,
body.woocommerce-checkout .wc-blocks-components-select .wc-blocks-components-select__select,
body.woocommerce-cart .wc-block-components-form .wc-block-components-text-input input[type="email"],
body.woocommerce-checkout .wc-block-components-form .wc-block-components-text-input input[type="email"],
body.woocommerce-cart .wc-block-components-form .wc-block-components-text-input input[type="number"],
body.woocommerce-checkout .wc-block-components-form .wc-block-components-text-input input[type="number"],
body.woocommerce-cart .wc-block-components-form .wc-block-components-text-input input[type="password"],
body.woocommerce-checkout .wc-block-components-form .wc-block-components-text-input input[type="password"],
body.woocommerce-cart .wc-block-components-form .wc-block-components-text-input input[type="tel"],
body.woocommerce-checkout .wc-block-components-form .wc-block-components-text-input input[type="tel"],
body.woocommerce-cart .wc-block-components-form .wc-block-components-text-input input[type="text"],
body.woocommerce-checkout .wc-block-components-form .wc-block-components-text-input input[type="text"],
body.woocommerce-cart .wc-block-components-form .wc-block-components-text-input input[type="url"],
body.woocommerce-checkout .wc-block-components-form .wc-block-components-text-input input[type="url"],
body.woocommerce-cart .wc-block-components-text-input input[type="email"],
body.woocommerce-checkout .wc-block-components-text-input input[type="email"],
body.woocommerce-cart .wc-block-components-text-input input[type="number"],
body.woocommerce-checkout .wc-block-components-text-input input[type="number"],
body.woocommerce-cart .wc-block-components-text-input input[type="password"],
body.woocommerce-checkout .wc-block-components-text-input input[type="password"],
body.woocommerce-cart .wc-block-components-text-input input[type="tel"],
body.woocommerce-checkout .wc-block-components-text-input input[type="tel"],
body.woocommerce-cart .wc-block-components-text-input input[type="text"],
body.woocommerce-checkout .wc-block-components-text-input input[type="text"],
body.woocommerce-cart .wc-block-components-text-input input[type="url"],
body.woocommerce-checkout .wc-block-components-text-input input[type="url"] {
    border-radius: 0;
    border: 1px solid var(--fg);
    outline: 0;
    text-indent: 0;
    background-color: transparent;
    color: var(--fg);
    padding-inline: 1rem;
}

body.woocommerce-cart .wc-block-components-textarea,
body.woocommerce-checkout .wc-block-components-textarea {
    field-sizing: content;
    min-height: 5lh;
}

body.woocommerce-cart .wc-blocks-components-select .wc-blocks-components-select__select,
body.woocommerce-checkout .wc-blocks-components-select .wc-blocks-components-select__select {
    background-color: var(--bg);
}

body.woocommerce-cart .wc-block-components-validation-error,
body.woocommerce-checkout .wc-block-components-validation-error,
body.woocommerce-cart .wc-block-components-form .wc-block-components-text-input.has-error label,
body.woocommerce-checkout .wc-block-components-form .wc-block-components-text-input.has-error label,
.wc-block-components-text-input.has-error label {
    color: var(--accent);
}

body.woocommerce-cart .wc-block-components-textarea::placeholder,
body.woocommerce-checkout .wc-block-components-textarea::placeholder,
body.woocommerce-cart .wc-blocks-components-select .wc-blocks-components-select__label,
body.woocommerce-checkout .wc-blocks-components-select .wc-blocks-components-select__label,
body.woocommerce-cart .wc-block-components-form .wc-block-components-text-input label,
body.woocommerce-checkout .wc-block-components-form .wc-block-components-text-input label,
.wc-block-components-text-input label {
    color: rgba(from var(--fg) r g b / 0.7);
    left: 1rem;
}

body.woocommerce-cart .is-large.wc-block-cart .wc-block-cart-items td,
body.woocommerce-cart .wp-block-woocommerce-cart-order-summary-totals-block,
body.woocommerce-cart .wc-block-checkout__terms.wc-block-checkout__terms--with-separator,
body.woocommerce-checkout .wc-block-checkout__terms.wc-block-checkout__terms--with-separator {
    border-top-color: rgba(from var(--fg) r g b / 0.7);
}

body.woocommerce-cart .is-large.wc-block-cart .wc-block-cart-items {
    border-bottom-color: rgba(from var(--fg) r g b / 0.7);
}

body.woocommerce-cart .wc-blocks-components-select .wc-blocks-components-select__expand,
body.woocommerce-checkout .wc-blocks-components-select .wc-blocks-components-select__expand {
    fill: currentColor;
}

body.woocommerce-cart .wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"],
body.woocommerce-checkout .wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"] {
    background-color: var(--bg);
    border: 1px solid var(--fg);
    border-radius: 0;
}

body.woocommerce-cart .wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"]:checked,
body.woocommerce-checkout .wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"]:checked {
    background-color: var(--accent);
}

body.woocommerce-cart .wc-block-components-checkbox .wc-block-components-checkbox__mark,
body.woocommerce-checkout .wc-block-components-checkbox .wc-block-components-checkbox__mark {
    fill: var(--on-accent);
}

body.woocommerce-cart .wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option--checked-option-highlighted,
body.woocommerce-checkout .wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option--checked-option-highlighted,
body.woocommerce-cart .wc-block-components-radio-control--highlight-checked label.wc-block-components-radio-control__option--checked-option-highlighted,
body.woocommerce-checkout .wc-block-components-radio-control--highlight-checked label.wc-block-components-radio-control__option--checked-option-highlighted {
    border-radius: 0;
    box-shadow: none;
    border: 1px solid var(--accent);
}

body.woocommerce-cart .wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option--checked-option-highlighted label,
body.woocommerce-checkout .wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option--checked-option-highlighted label,
body.woocommerce-cart .wc-block-components-radio-control--highlight-checked label.wc-block-components-radio-control__option--checked-option-highlighted label,
body.woocommerce-checkout .wc-block-components-radio-control--highlight-checked label.wc-block-components-radio-control__option--checked-option-highlighted label {
    background-color: var(--accent);
    color: var(--on-accent);
    margin-bottom: 1em;
    font-weight: 600;
}

body.woocommerce-cart .is-large .wc-block-checkout__sidebar,
body.woocommerce-checkout .is-large .wc-block-checkout__sidebar {
    top: calc(var(--header-height) + 3.125rem);
    transition: top var(--header-transition-duration) ease;
}

body.woocommerce-cart .is-large .wc-block-checkout__sidebar,
body.woocommerce-checkout:has(header.egloo.floating:not(.floating-active)) .is-large .wc-block-checkout__sidebar {
    top: 3.125rem;
}

body.woocommerce-cart .wp-block-woocommerce-checkout-order-summary-block,
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block {
    border-radius: 0;
    border-color: currentColor;
}

body.woocommerce-cart .wp-block-woocommerce-checkout-order-summary-totals-block,
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-totals-block,
body.woocommerce-cart .wc-block-components-totals-wrapper,
body.woocommerce-checkout .wc-block-components-totals-wrapper {
    border-color: currentColor;
}

body.woocommerce-cart .wc-block-components-order-summary .wc-block-components-order-summary-item__quantity,
body.woocommerce-checkout .wc-block-components-order-summary .wc-block-components-order-summary-item__quantity {
    border-radius: 0;
    box-shadow: 0 0 0 2px var(--bg);
    border: none;
    background-color: var(--accent);
    color: var(--on-accent);
}

body.woocommerce-cart .wc-block-components-totals-item__label,
body.woocommerce-checkout .wc-block-components-totals-item__label,
body.woocommerce-cart .wc-block-components-panel__button[aria-expanded="true"],
body.woocommerce-checkout .wc-block-components-panel__button[aria-expanded="true"],
body.woocommerce-cart .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__title .wc-block-components-checkout-order-summary__title-text,
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__title .wc-block-components-checkout-order-summary__title-text {
    font-family: var(--ff-serif);
    font-weight: 500;
}

body.woocommerce-cart .wc-block-components-button:not(.is-link),
body.woocommerce-cart .wp-block-woocommerce-checkout-actions-block .wc-block-checkout__actions_row .wc-block-components-checkout-place-order-button,
body.woocommerce-checkout .wp-block-woocommerce-checkout-actions-block .wc-block-checkout__actions_row .wc-block-components-checkout-place-order-button {
    text-align: center;
    font-size: 0.875rem;
    line-height: 1.214286;
    font-weight: 600;
    padding: 0.3125rem 2.75rem 0.375rem;
    background-color: var(--accent);
    color: var(--on-accent);
    text-transform: uppercase;
}

@media (max-width: 768px) {
    body.woocommerce-cart .wp-block-woocommerce-checkout[data-block-name="woocommerce/checkout"],
    body.woocommerce-checkout .wp-block-woocommerce-checkout[data-block-name="woocommerce/checkout"] {
        padding-top: 6rem;
    }

    body.woocommerce-cart .wp-block-woocommerce-checkout-order-summary-block .checkout-order-summary-block-fill,
    body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .checkout-order-summary-block-fill,
    body.woocommerce-cart .is-medium .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__title,
    body.woocommerce-checkout .is-medium .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__title,
    .is-mobile .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__title,
    .is-small .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__title {
        border-color: rgba(from var(--fg) r g b / 0.7);
        border-radius: 0;
    }
}

/* ============================ */
/* THANK YOU PAGE */
/* ============================ */

body.woocommerce-cart .woocommerce-order,
body.woocommerce-checkout .woocommerce-order {
}

body.woocommerce-cart .woocommerce-order .woocommerce-notice,
body.woocommerce-checkout .woocommerce-order .woocommerce-notice {
    padding-block: 13rem;
    font-size: 3rem;
    line-height: 1.0833333333333;
    letter-spacing: -0.03rem;
    font-family: var(--ff-serif);
    text-align: center;
}

body.woocommerce-cart .woocommerce-order ul.order_details::before,
body.woocommerce-checkout .woocommerce-order ul.order_details::before,
body.woocommerce-cart .woocommerce-order ul.order_details::after,
body.woocommerce-checkout .woocommerce-order ul.order_details::after {
    display: none;
}

body.woocommerce-cart .woocommerce-order ul.order_details,
body.woocommerce-checkout .woocommerce-order ul.order_details {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    row-gap: 2rem;
}

body.woocommerce-cart .woocommerce-order ul.order_details li,
body.woocommerce-checkout .woocommerce-order ul.order_details li {
    float: none;
    margin: 0;
    padding: 0;
    border: none;
    flex-grow: 1;
    text-align: center;
}

body.woocommerce-cart .woocommerce .woocommerce-customer-details h2,
body.woocommerce-checkout .woocommerce .woocommerce-customer-details h2,
body.woocommerce-cart .woocommerce-order .woocommerce-order-details h2,
body.woocommerce-checkout .woocommerce-order .woocommerce-order-details h2 {
    font-family: var(--ff-serif);
    margin-bottom: 0.2lh;
}

body.woocommerce-cart .woocommerce .woocommerce-customer-details address,
body.woocommerce-checkout .woocommerce .woocommerce-customer-details address,
body.woocommerce-cart table.shop_table td,
body.woocommerce-checkout table.shop_table td,
body.woocommerce-cart table.shop_table tbody th,
body.woocommerce-checkout table.shop_table tbody th,
.woocommerce table.shop_table tfoot td,
.woocommerce table.shop_table tfoot th,
body.woocommerce-cart .woocommerce-order table.shop_table,
body.woocommerce-checkout .woocommerce-order table.shop_table {
    border-radius: 0;
    border-color: rgba(from var(--fg) r g b / 0.7);
    border-collapse: collapse;
    border-width: 1px;
}

body.woocommerce-cart .woocommerce .woocommerce-customer-details address,
body.woocommerce-checkout .woocommerce .woocommerce-customer-details address {
    padding: 1rem 1rem;
}

@media (max-width: 768px) {
    body.woocommerce-cart .woocommerce-order ul.order_details,
    body.woocommerce-checkout .woocommerce-order ul.order_details {
        display: flex;
        flex-direction: column;
        text-align: left;
    }

    body.woocommerce-cart .woocommerce-order ul.order_details li,
    body.woocommerce-checkout .woocommerce-order ul.order_details li {
        text-align: left;
    }

    body.woocommerce-checkout .woocommerce-order .woocommerce-notice {
        font-size: 1.75rem;
        line-height: 1.1428571428571;
        letter-spacing: -0.02rem;
        padding-block: 5rem;
        padding-block-start: 9rem;
    }
}

/* ============================ */
/* TESTIMONIALS */
/* ============================ */

section.testimonials {
    margin-block: 11.625rem;
    overflow: hidden;
}

section.testimonials:last-child {
    margin-block-end: 14.6875rem;
}

section.testimonials .container {
    display: flex;
    flex-direction: column;
    text-align: center;
    gap: 2.625rem;
}

section.testimonials .container .logos {
    display: grid;
    --grid-item-width: 8.5rem;
    grid-template-columns: repeat(auto-fill, minmax(var(--grid-item-width), 1fr));
    grid-template-columns: repeat(auto-fill, minmax(min(var(--grid-item-width), 100%), 1fr));
    gap: 4.1875rem;
    align-items: center;
}

@media (min-width: 768px) {
	section.testimonials .container .logos .logo img {
		max-height: 4rem;
	}
}

@media only screen and (max-width: 768px) {
    section.testimonials {
        margin-block: 5.125rem;
    }

    section.testimonials:last-child {
        margin-block-end: 5.6875rem;
    }

    section.testimonials .container .logos {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 2.1875rem;
    }

    section.testimonials .container .logos .logo img {
        max-height: 3.5rem;
    }
}

/* ======================================== */
/* WOOCOMMERCE CART PAGE */
/* ======================================== */

body.woocommerce-cart [data-block-name="woocommerce/cart"] {
    padding-block-start: 11rem;
    padding-block-end: 6rem;
}

body.woocommerce-cart [data-block-name="woocommerce/cart"] .wc-block-components-quantity-selector {
    border: 1px solid var(--accent);
    color: var(--accent);
    border-radius: 0;
    font-size: 0.875rem;
    height: 1.75rem;
}

body.woocommerce-cart [data-block-name="woocommerce/cart"] .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button {
    opacity: 1;
    font-weight: 900;
}

body.woocommerce-cart [data-block-name="woocommerce/cart"] .wc-block-components-quantity-selector::after {
    display: none;
}

@media only screen and (max-width: 768px) {
    body.woocommerce-cart [data-block-name="woocommerce/cart"] {
        padding-block-start: 7rem;
        padding-block-end: 0;
    }
}

/* -----------------------------------
==============================================================================
#IUBENDA
==============================================================================
----------------------------------- */

body #iubenda-cs-banner *,
body #iubenda-cs-banner .iubenda-banner-content:not(.iubenda-custom-content) *,
body #iubenda-cs-banner [class*=" iub"],
body #iubenda-cs-banner [class^="iub"] {
    font-family: var(--ff-sans) !important;
    color: #262421 !important;
    font-weight: 400 !important;
    font-size: 14px !important;
}

body #iubenda-cs-banner label {
    margin-bottom: 0;
}

body #purposes-content-container .purposes-header .purposes-header-text,
body #purposes-content-container .purposes-section-header-text {
    font-size: 14px !important;
}

body #purposes-content-container .purposes-item .purposes-item-body,
body #purposes-content-container .purposes-item .purposes-item-title .purposes-item-title-btn {
    font-weight: 500 !important;
}

body #purposes-content-container .purposes-section-header-title {
    line-height: 1.4 !important;
    padding-bottom: 7px !important;
}

body #purposes-content-container .purposes-header {
    padding-top: 0 !important;
}

body #iubenda-iframe .purposes-header-right button {
    background-color: #bc4749 !important;
    color: white !important;
    border: 0.5px solid #bc4749 !important;
    box-shadow: none !important;
    opacity: 1;
    border-radius: 64px !important;
    padding: 4px 32px !important;
    text-transform: uppercase !important;
    border-radius: 0 !important;
}

body #iubenda-iframe .iub-btn-consent {
    padding: 4px 32px !important;
    text-transform: uppercase !important;
    border-radius: 0 !important;
    box-shadow: 0 !important;
}

body #iubenda-iframe .purposes-header-right button span {
    text-transform: uppercase !important;
}

body #iubenda-iframe .purposes-header-right button:hover {
    opacity: 0.8;
    background-color: #bc4749 !important;
    color: white !important;
    border: 0.5px solid #bc4749 !important;
}

body #iubenda-iframe .iub-toggle-checkbox input.style1:checked {
    background-color: #bc4749 !important;
}

body #iubenda-iframe .iub-btn-stroked {
    border: 1px solid black !important;
}

body #purposes-content-container .purposes-header .purposes-header-title {
    font-weight: 600 !important;
    font-size: 2rem !important;
    margin-bottom: 8px !important;
    line-height: 1.2 !important;
    padding-bottom: 0.5rem !important;
    padding-top: 1.6rem !important;
}

body #iubenda-cs-banner .iubenda-granular-controls-container .granular-control-checkbox input.style1:checked {
    background-color: #bc4749 !important;
}

body #iubenda-cs-banner .iubenda-cs-opt-group button,
body .iubenda-alert button.iubenda-button-cancel,
body #iiubenda-cs-banner .iub-btn-consent,
body #iubenda-iframe #iubFooterBtnContainer button,
body #iubenda-cs-banner .iubenda-cs-opt-group button.iubenda-cs-accept-btn {
    border: 0.5px solid #bc4749 !important;
    font-weight: 600 !important;
    outline: none !important;
    box-shadow: none !important;
    color: white !important;
    background-color: #bc4749 !important;
    transition: opacity 200ms ease-in-out;
    padding: 4px 32px !important;
    text-transform: uppercase !important;
    border-radius: 0 !important;
    font-size: 14px !important;
}

body .iub__us-widget {
    display: none !important;
}

body #iubenda-cs-banner.iub-btn-consent.iub-btn-reject,
body #iubenda-cs-banner .iub-btn-consent.iub-btn-accept {
    color: white !important;
    background-image: none !important;
    padding-left: 25px !important;
    padding-right: 25px !important;

    font-size: 12px !important;
}

body #iubenda-iframe .iub-btn-consent.iub-btn-reject {
    background-size: 9px !important;
}

body #iubenda-iframe .iub-btn-consent.iub-btn-accept {
    background-size: 11px !important;
}

body #iubenda-cs-banner .iubenda-cs-opt-group button:hover,
body .iubenda-alert button.iubenda-button-cancel:hover,
body #iubenda-iframe #iubFooterBtnContainer button:hover,
body #iubenda-iframe #iubFooterBtnContainer button:focus {
    background-color: #bc4749 !important;
    color: white !important;
    border: 0.5px solid #bc4749 !important;
    box-shadow: none !important;
    opacity: 0.8;
}

body #iubenda-cs-banner .iubenda-cs-opt-group button.iubenda-cs-reject-btn {
    background: #bc4749 !important;
    color: white !important;
}

body #iubenda-cs-banner [tabindex]:not([tabindex="-1"]):focus,
body #iubenda-cs-banner a[href]:focus,
body #iubenda-cs-banner button:focus,
body #iubenda-cs-banner details:focus,
body #iubenda-cs-banner input:focus,
body #iubenda-cs-banner select:focus,
body #iubenda-cs-banner textarea:focus,
body #iubenda-iframe [tabindex]:not([tabindex="-1"]):focus,
body #iubenda-iframe a[href]:focus,
body #iubenda-iframe button:focus,
body #iubenda-iframe details:focus,
body #iubenda-iframe input:focus,
body #iubenda-iframe select:focus,
body #iubenda-iframe textarea:focus {
    outline: none !important;
}

body .iubenda-tp-btn[data-tp-float][data-tp-float="bottom-right"] {
    border-radius: 50% !important;
    bottom: 2.5rem !important;
    right: 2.5rem !important;
    margin: 0 !important;
    width: 3rem !important;
    height: 3rem !important;
    background-position: center !important;
    border: 0 !important;
    outline: 0 !important;
    box-shadow: 0 0 0 1px #bc4749 !important;
    background-size: 22px !important;
    opacity: 0.5;
    transition: all 200ms ease-in-out;
}

body .iubenda-tp-btn[data-tp-float][data-tp-float="bottom-right"]:hover {
    opacity: 1;
}

body #iubenda-iframe .purposes-header-right .iub-iframe-brand-button {
    display: none !important;
}

body #iubenda-cs-banner.iubenda-cs-branded .iubenda-cs-close-btn {
    height: 32px !important;
    min-width: 32px !important;
    font-size: 25px !important;
    margin-top: 6px !important;
}

body #cookie-warning {
    display: none !important;
}

@media only screen and (max-width: 768px) {
    body #purposes-content-container .purposes-header .purposes-header-title {
        font-size: 1.2rem !important;
    }

    body .iubenda-tp-btn[data-tp-float][data-tp-float="bottom-right"] {
        right: 1.25rem !important;
        bottom: 1.25rem !important;
        width: 2.5rem !important;
        height: 2.5rem !important;
    }

    body #purposes-content-container .purposes-section-header-title {
        font-size: 17px !important;
    }

    body #purposes-content-container .purposes-header {
        padding-top: 0 !important;
        padding-bottom: 1.5rem !important;
    }

    body #purposes-content-container .purposes-item {
        margin: 0 !important;
    }

    body #iubenda-cs-banner.iubenda-cs-default .iubenda-cs-brand {
        margin-bottom: -1rem !important;
        margin: -8px -8px 0 !important;
        margin: 0 !important;
        margin-bottom: -0.8rem !important;
    }

    body #iubenda-iframe .iubenda-modal-navigation.iubenda-modal-navigation-brand .iubenda-modal-navigation-logo img {
        max-width: 100% !important;
    }
	
	.page-template-book section.booking-banner {
		background-color: var(--c-peach);
		height: auto;
		padding-top: 8.3rem;
        padding-bottom: 5rem;
	}
	
	.page-template-book section.booking-banner .booking-widget {
		position: unset;
	}
	
	.page-template-book section.booking-banner .img-wrapper {
		display: none;
	}
}
