@charset "UTF-8";

/*
Theme Name: La Maison
Theme URI: https://www.lamaison.restaurant
Description: La Maison tema
Author: Alessandro Bello
Author URI: https://www.alessandrobello.it
Template: twentytwentyone
Version: 0.2
*/

:root {
    font-size: 10px;
    line-height: 10px;

    --max-container-width: 110rem;
    --responsive--alignwide-width: 100%;

    --global--color-background: #E6E3E1;

    --global--font-primary: 'Ivy Mode', sans-serif;
    --global--font-secondary: 'Inter', serif;
    --global--font-tertiary: 'WhiteAngelica', sans-serif;

    --global--font-size-base: 1.8rem;
    --global--font-line-height-base: 2.8rem;
    --global--font-weight-base: 300;

    --global--letter-spacing: normal;

    --global--font-size-xs: 2rem;
    --global--font-size-sm: 2.4rem;
    --global--font-size-md: 2.8rem;
    --global--font-size-lg: 3.6rem;
    --global--font-size-xl: 4.8rem;
    --global--font-size-xxl: 5.6rem;
    --global--font-size-xxxl: 9.0rem;
    --global--font-size-page-title: var(--global--font-size-xxl);

    --heading--font-family: var(--global--font-primary);
    --heading--font-size-h6: var(--global--font-size-xs);
    --heading--font-size-h5: var(--global--font-size-sm);
    --heading--font-size-h4: var(--global--font-size-lg);
    --heading--font-size-h3: calc(1.25 * var(--global--font-size-lg));
    --heading--font-size-h2: var(--global--font-size-xl);
    --heading--font-size-h1: var(--global--font-size-page-title);

    --heading--letter-spacing-h6: var(--global--letter-spacing);
    --heading--letter-spacing-h5: var(--global--letter-spacing);
    --heading--letter-spacing-h4: var(--global--letter-spacing);
    --heading--letter-spacing-h3: var(--global--letter-spacing);
    --heading--letter-spacing-h2: var(--global--letter-spacing);
    --heading--letter-spacing-h1: 0.1rem;
    --heading--line-height-h6: var(--global--line-height-heading);
    --heading--line-height-h5: var(--global--line-height-heading);
    --heading--line-height-h4: var(--global--line-height-heading);
    --heading--line-height-h3: var(--global--line-height-heading);
    --heading--line-height-h2: var(--global--line-height-heading);
    --heading--line-height-h1: var(--global--line-height-page-title);
    --heading--font-weight: 300;
    --heading--font-weight-page-title: 300;
    --heading--font-weight-strong: 600;

    --global--color-primary: #272727;
    --global--color-secondary: #816A4F;

    --wpforms-button-background-color: var(--global--color-primary);

    /* Buttons */
    --button--color-text: var(--global--color-secondary);
    --button--color-text-hover: #fff;
    --button--color-text-active: var(--global--color-secondary);
    --button--color-background: var(--global--color-secondary);
    --button--color-background-active: var(--global--color-secondary);
    --button--font-family: var(--global--font-secondary);
    --button--font-size: var(--global--font-size-base);
    --button--font-weight: 500;
    --button--line-height: normal;
    --button--border-width: 0.1rem;
    --button--border-radius: 0;
    --button--padding-vertical: 2rem;
    --button--padding-horizontal: calc(2 * var(--button--padding-vertical));
}

:root body {
    overflow-x: hidden;
}

html,
body {
    scroll-behavior: smooth;
    scroll-padding-top: 10rem;
}

body,
body p,
body .entry-content p {
    font-size: var(--global--font-size-base);
    line-height: var(--global--font-line-height-base);
    font-weight: var(--global--font-weight-base);
}

body p,
body .entry-content p {
    margin-bottom: 3rem;
}

body div#page {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    grid-template-rows: auto;
    grid-template-areas:
        "header header header header header header header header header header header header"
        "content content content content content content content content content content content content"
        "footer footer footer footer footer footer footer footer footer footer footer footer";
}

body div.grids-section:not(.alignfull):not(.alignwide),
body .container,
body .entry-content>.container,
body .entry-content>.container:not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.wp-block-separator):not(.woocommerce) {
    width: 100%;
    max-width: var(--max-container-width);
    margin-left: auto;
    margin-right: auto;
}

div.grids-section.alignwide>div.grids-s-w_i,
div.grids-section.alignfull>div.grids-s-w_i {
    padding-left: calc((100vw - var(--max-container-width)) / 2);
    padding-right: calc((100vw - var(--max-container-width)) / 2);
}

.full-row {
    margin-left: calc(((100vw - var(--max-container-width)) / 2) * -1);
    margin-right: calc(((100vw - var(--max-container-width)) / 2) * -1);
}

body figure.full-width {
    margin: 0;
    height: 100%;
    width: 100%;
}

body figure.full-width img {
    object-fit: cover;
    object-position: center;
    height: 100%;
    width: 100%;
    max-height: -webkit-fill-available;
}

h1,
.h1 {
    margin-bottom: 5rem;
}

h2,
.h2 {
    margin-bottom: 3.5rem;
}

body p.subtitle,
body .entry-content p.subtitle {
    font-family: var(--global--font-tertiary);
    font-size: 2.5rem;
    font-weight: 400;
    line-height: 6rem;
    margin-bottom: 0;
}

.site-main>article>*,
.site-main>.not-found>*,
.entry-content>*,
[class*=inner-container]>*,
.wp-block-template-part>*,
.wp-block-post-template :where(li > *) {
    margin-top: 10rem;
    margin-bottom: 10rem;
}

div.grids-section.alignfull>div.grids-s-w_i {
    padding-top: 10rem;
    padding-bottom: 10rem;
}

.wp-block-button .wp-block-button__link {
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -ms-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;
}

.wp-block-button.is-style-outline .wp-block-button__link:not(:hover):not(:active):not(.has-text-color) {
    color: var(--global--color-secondary);
}

.wp-block-button:not(.is-style-outline) .wp-block-button__link:not(:hover):not(:active):not(.has-background) {
    background-color: var(--global--color-secondary);
    border-color: var(--global--color-secondary);
    color: #fff;
}

.wp-block-button.is-style-outline .wp-block-button__link:hover,
.wp-block-button.is-style-outline .wp-block-button__link:active {
    background-color: var(--global--color-secondary) !important;
    color: #FFFFFF !important;
}

.wp-block-button:not(.is-style-outline) .wp-block-button__link:hover,
.wp-block-button:not(.is-style-outline) .wp-block-button__link:active {
    color: var(--global--color-secondary) !important;
    border-color: var(--global--color-secondary) !important;
}

figure.wp-block-gallery figure {
    max-height: 37rem;
}

.site-header,
.site-main,
.widget-area,
.site-footer {
    padding-top: 0;
    padding-bottom: 0;
}

ul.stars {
    list-style: none;
    margin: 0;
    display: flex;
    align-items: center;
    padding: 0;
    gap: 0.8rem;
}

ul.stars li {
    padding: 0;
    margin: 0;
    position: relative;
}

ul.stars li svg {
    width: 2rem;
    fill: #E7C141;
}

ul.stars li.trasp svg {
    opacity: 0.4;
}

span.title-icon {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    color: #2F2F2F;
    font-family: var(--global--font-primary);
    font-size: 3.2rem;
    font-style: normal;
    font-weight: 300;
    line-height: normal;
    letter-spacing: 0.64px;
    margin-bottom: 1.5rem;
}

span.title-icon svg {
    width: 2rem;
}

a:focus {
    outline: none !important;
    background: transparent !important;
}

.site a:focus:not(.wp-block-button__link):not(.wp-block-file__button) img {
    outline: none !important;
}

/*
*   1.0 Header
*/
header#masthead.site-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 101;
    grid-area: header;
    align-items: stretch;
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -ms-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;
    background: transparent;
    padding: 2rem 0;
    width: 100%;
}

header#masthead.site-header.sticky,
body:not(.home) header#masthead.site-header {
    background: rgba(0, 0, 0, 0.6);
}

header#masthead.site-header.sticky {
    backdrop-filter: blur(3px);
    padding: 1rem 0;
}

header#masthead.site-header .container {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
}

header#masthead.site-header .site-branding,
header#masthead.site-header .site-branding .site-logo {
    margin: 0;
}

header#masthead.site-header .site-branding .site-logo .custom-logo {
    max-height: 14rem;
    max-width: unset;
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -ms-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;
}

header#masthead.site-header.sticky .site-branding .site-logo .custom-logo {
    max-height: 6.5rem;
}

header#masthead.site-header .site-socials {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0;
    margin: 0 3rem 0 auto;
}

header#masthead.site-header .site-socials a {
    display: block;
    padding: 1.5rem;
}

header#masthead.site-header .site-socials a svg {
    fill: #fff;
    height: 2.5rem;
    width: auto;
}

header#masthead.site-header .site-book {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 2rem;
}

header#masthead.site-header .site-book .wp-block-button.is-style-outline a.wp-block-button__link.wp-element-button {
    color: #fff;
    border-color: #fff;
}

header#masthead.site-header .site-book .wp-block-buttons .wp-block-button {
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -ms-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;
}

header#masthead.site-header.sticky .site-book .wp-block-buttons .wp-block-button>a {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
}


/*
*   2.0 Content
*/
#slider-home {
    max-height: 80vh;
    overflow: hidden;
    min-height: 80rem;
    position: relative;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    margin-bottom: 5rem;
}

#slider-home::before {
    content: "";
    background-color: rgba(0, 0, 0, 0.5);
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 100%;
}

#slider-home>* {
    z-index: 1;
}

#slider-home .container {
    position: absolute;
    left: 0;
    right: 0;
    top: auto;
    bottom: 18rem;
}

#slider-home .container h1 {
    color: #FFFFFF;
    max-width: 80rem;
    width: 100%;
    margin: 0;
}

body.home .entry-content {
    margin-top: 0;
}

body div#page div.site-content {
    grid-area: content;
    min-height: 80vh;
}

.grids-section.text-with-three-images>.grids-s-w_i {
    gap: 3rem;
}

.grids-section.text-with-three-images>.grids-s-w_i>.grids-area:not(.text-area) {
    height: 40rem;
}

.grids-section.row-text-image>.grids-s-w_i>.grids-area.image-area {
    max-height: 57rem;
}

div.modulo-di-contatto.wpforms-container-full {
    margin: 0 !important;
}

div.modulo-di-contatto.wpforms-container-full input,
div.modulo-di-contatto.wpforms-container-full textarea {
    border-radius: 8px;
    border: 0.25px solid #554B3F;
    background: #FFF;
}

div.modulo-di-contatto.wpforms-container-full button[type="submit"] {
    width: 100%;
    border-radius: 7rem !important;
    background-color: #554B3F !important;
    text-transform: uppercase !important;
}

div.modulo-di-contatto.wpforms-container-full .wpforms-field {
    padding: 5px 0;
}

div.modulo-di-contatto.wpforms-container-full .wpforms-field.privacy-policy {
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
}

div.modulo-di-contatto.wpforms-container-full .wpforms-field.privacy-policy label {
    font-size: 12px;
    font-style: normal;
    font-weight: 500;
    line-height: 16px;
}

/*
*   3.0 Footer
*/
footer.site-footer {
    grid-area: footer;
    background-color: #907D67;
    color: #FFFFFF;
    width: 100%;
}

footer.site-footer>.container {
    margin-top: 3rem;
    margin-bottom: 1.5rem;
}

footer.site-footer .site-info {
    display: grid;
    grid-template-columns: 1fr 2fr 2fr 1fr;
    grid-template-rows: auto;
    gap: 5rem;
}

footer.site-footer .site-info .site-logo img {
    max-height: 14rem;
    max-width: unset;
}

footer.site-footer .site-info .site-socials .site-socials-list {
    display: flex;
    gap: 1rem;
}

footer.site-footer .site-info .site-socials .site-socials-list a {
    padding-left: 1rem;
    padding-right: 1rem;
}

footer.site-footer .site-info .site-socials .site-socials-list svg {
    fill: #FFFFFF;
    height: 2.5rem;
}

footer.site-footer .site-info .site-socials .europe-logo {
    margin-top: 0.6rem;
}

footer.site-footer .site-info .site-socials .europe-logo img {
    max-width: 150px;
    width: 100%;
    height: auto;
}

footer.site-footer p.title {
    font-weight: bold;
    margin-bottom: 1.5rem;
}

footer.site-footer a {
    color: #FFFFFF;
    text-decoration: underline;
}

footer.site-footer .powered-by {
    text-align: center;
    font-size: 1.4rem;
    font-style: normal;
    font-weight: 300;
    line-height: 2.4rem;
    margin-top: 3rem;
}

/*
* 4.0 Slider reviews
*/
.slider-reviews .slider-reviews-content {
    max-width: 90%;
    overflow: hidden;
    margin-left: auto;
    margin-right: auto;
}

.slider-reviews .slider-reviews-content .swiper {
    padding-bottom: 7rem;
}

.slider-reviews .slider-reviews-content .swiper-slide {
    height: auto;
    max-width: 35rem;
}

.review-single {
    border-radius: 3rem;
    background: rgba(255, 255, 255, 0.70);
    padding: 3rem;
    text-align: center;
    display: flex;
    flex-direction: column;
    -ms-flex-direction: column;
    gap: 2rem;
}

.review-single .review-single-stars ul.stars {
    justify-content: center;
}

.review-single p.review-single-text {
    margin: 0;
}

.review-single .review-single-author {
    display: block;
    font-weight: bold;
}

.review-single p.review-single-text,
.review-single .review-single-author {
    font-size: 1.6rem;
    line-height: 2rem;
}

/*
*   5.0 Page
*/
body.singular article header.entry-header,
body.error404 div#page header.page-header {
    border: 0;
    padding: 0;
    margin: 28rem 0 0;
}

/*
*   7.0 Sliders
*/
body .slider-list-navigation .swiper-button-next,
body .slider-list-navigation .swiper-button-prev {
    color: #272727;
}

body .slider-list-navigation .swiper-button-next::after,
body .slider-list-navigation .swiper-button-prev::after {
    font-size: 30px;
    font-weight: normal;
}

body .slider-list-navigation .swiper-pagination .swiper-pagination-bullet {
    background: #8c8c8c;
    width: 1.5rem;
    height: 1.5rem;
    margin: 0 0.5rem;
}

body .slider-list-navigation .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
    background: #525252;
}

/*
:root body #iubenda-cs-banner.iubenda-cs-default-floating.iubenda-cs-bottom .iubenda-cs-brand-badge-outer,
:root body #iubenda-cs-banner.iubenda-cs-default.iubenda-cs-bottom .iubenda-cs-brand-badge-outer {
    display: none !important;
}
*/