/*
----------------------------
# TIPOGRAFIA
# SPAZI
# HEADER
# FS MENU
# HOVERS
# FOOTER
# BUTTONS
# FORMIDABLE
# LAND
# IMAGES ANIMATION
# PRELOADER
# FS MENU OPEN/CLOSE ANIMATION
# WPML
# PRENOTAZIONE
# PAYPAL
----------------------------
*/

/*
---------------------------------------------------------------------------------------
# TIPOGRAFIA 
---------------------------------------------------------------------------------------
*/
body {
    font-family: "canada-type-gibson", sans-serif;
    background: linear-gradient(to bottom,
            var(--wp--preset--color--cavolo) 0%,
            #091D1E 100%);
    color: var(--wp--preset--color--white);
}

.has-s-font-size {
    line-height: 1.4em;
}

.has-m-font-size,
.has-l-font-size,
.has-xl-font-size,
.has-xxl-font-size {
    font-family: var(--wp--preset--font-family--breadley-sans);
    font-weight: 400;
    letter-spacing: 0em;
    line-height: 1em;
}

.wp-site-blocks a {
    text-decoration: none;
    color: unset
}

/*
---------------------------------------------------------------------------------------
# SPAZI 
---------------------------------------------------------------------------------------
*/

.wp-block-cover__inner-container.has-global-padding.is-layout-constrained {
    padding-right: var(--wp--style--root--padding-right);
    padding-left: var(--wp--style--root--padding-left);
}

/*
---------------------------------------------------------------------------------------
# HEADER
---------------------------------------------------------------------------------------
*/

:root {
    --fs_menu-transition-time: 0.5s;
    --header-scrolled-transition-time: 0.4s;
    --hamburger-coord-x: 50%;
    --hamburger-coord-y: 5%;
}

/* spazio per admin bar se utente loggato */
body.logged-in header.site-header:not(.hidden) {
    top: 32px;
}

@media (max-width: 781px) {
    body.logged-in header.site-header:not(.hidden) {
        top: 46px;
    }
}

header.site-header {
    padding-right: var(--wp--style--root--padding-right);
    padding-left: var(--wp--style--root--padding-left);
    padding-block: 12px;
    position: fixed;
    width: 100%;
    z-index: 99;
    top: 0;
    transition: all var(--header-scrolled-transition-time) ease;
}



header.site-header>.wp-block-group {
    margin: 0 auto;
    max-width: var(--wp--style--global--content-size);
    background: var(--wp--preset--color--white);
    padding: .5rem 1rem;
    border-color: var(--wp--preset--color--scuro)
}

header.site-header a {
    text-decoration: none;
}

header.site-header .wp-block-column:last-child,
header.site-header .logo {
    position: relative;
    z-index: 10
}

header.site-header .t99-menu-toggle {
    justify-self: center;
    width: 60px
}

header.site-header .t99-menu-toggle span {
    background: var(--wp--preset--color--white);
    height: 1px;
    transition: all var(--fs_menu-transition-time) ease;
}

header.site-header>.wp-block-columns {
    margin: 0 auto;
    max-width: var(--wp--style--global--content-size);
}

header.site-header .logo svg,
header.site-header .logo path {
    fill: var(--wp--preset--color--white);
    transition: fill var(--fs_menu-transition-time) ease;
}


header.site-header .t99-menu-block.is-open .t99-menu-toggle span {
    background: var(--wp--preset--color--black);
}

header.site-header:has(.t99-menu-block.is-open) .logo svg,
header.site-header:has(.t99-menu-block.is-open) .logo svg path {
    fill: var(--wp--preset--color--black);
}


header.site-header.scrolled {
    padding-block: 5px;
    background: rgba(255, 255, 255, 0.24);
    backdrop-filter: blur(28px) saturate(150%);
}

/*
---------------------------------------------------------------------------------------
# FS MENU
---------------------------------------------------------------------------------------
*/

header.site-header .t99-menu-block.is-always-mobile ul.t99-menu {
    background: var(--wp--preset--color--chiaro);
    color: var(--wp--preset--color--black);
    padding-top: var(--wp--preset--spacing--60);
    gap: 10px;
    justify-content: center;
}

header.site-header .t99-menu-block.is-always-mobile ul.t99-menu li {
    overflow: visible;
}

header.site-header .t99-menu-block.is-always-mobile ul.t99-menu li a {
    font-size: var(--wp--preset--font-size--xl);
    font-weight: 400;
    font-family: var(--wp--preset--font-family--breadley-sans);
    margin: 0 auto;
    line-height: 1em;
    text-transform: uppercase;
}

header.site-header ul.t99-menu {
    width: 100%;
}

header.site-header ul.t99-menu .land_hr {
    color: var(--wp--preset--color--black);
    margin: 0 auto !important;
}

header.site-header ul.t99-menu .wp-block-social-links .wp-social-link svg {
    height: 25px;
    width: 25px;
    border: 1px solid black;
    border-radius: 100%;
    padding: 10px;
    box-sizing: content-box;
}

#mobile_shop_button {
    display: none;
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 90;
    background: var(--wp--preset--color--carota);
    border-radius: 100%;
    padding: 5px;
    line-height: 0;
}

#mobile_shop_button svg {
    width: 42px;
    height: 42px;
}

@media (max-width: 980px) {
    header.site-header .logo .t99-svg-block__svg {
        width: 60px !important;
    }

    header.site-header .wp-block-button:nth-child(1) .wp-block-button__link {
        font-size: 12px;
        padding: 4px 16px;
    }

    header.site-header .wp-block-button:nth-child(2) {
        display: none !important;
    }

    header.site-header>.wp-block-columns {
        justify-content: space-between;
    }

    header.site-header>.wp-block-columns>.wp-block-column:nth-child(1) {
        flex-basis: 20% !important;
    }

    header.site-header>.wp-block-columns>.wp-block-column:nth-child(2) {
        flex-basis: 50px !important;
        order: 3;
    }

    header.site-header>.wp-block-columns>.wp-block-column:nth-child(3) {
        flex-basis: 60% !important;
        flex-grow: 1;
        padding-right: 10px
    }

    header.site-header .t99-menu-toggle {
        width: 100% !important
    }

    #mobile_shop_button {
        display: block
    }

    header.site-header .t99-menu-block.is-always-mobile ul.t99-menu {
        gap: 6px
    }

    header.site-header .t99-menu-block.is-always-mobile ul.t99-menu {
        padding-top: 160px;
    }

    header.site-header .t99-menu-block.is-always-mobile ul.t99-menu li a {
        font-size: clamp(26px, 5vh, var(--wp--preset--font-size--xl));
    }

}



#fs_menu_widget {
    width: 100%;
}

#fs_menu_widget .wp-social-link svg {
    width: 20px;
    height: 20px;
}

#fs_menu_widget a.wp-block-social-link-anchor::after {
    content: none;
}

@media (max-width: 781px) {
    #fs_menu_widget {
        padding: 0;
    }

    #fs_menu_widget .wp-block-columns>.wp-block-column {
        flex-basis: 45% !important;
    }

    #fs_menu_widget>.wp-block-columns {
        flex-flow: column;
        gap: 5px
    }

    #fs_menu_widget .wp-block-paragraph,
    #fs_menu_widget .wp-block-social-links {
        margin-block-start: 5px;
    }

}

/*
---------------------------------------------------------------------------------------
# HOVERS
---------------------------------------------------------------------------------------
*/
:root {
    --hover-tranition-time: 0.7s;
}

.t99-menu li a,
.link_underline a {
    position: relative;
    width: fit-content;
}

.t99-menu li a::after,
.link_underline a::after {
    content: "";
    position: absolute;
    width: 100%;
    transform: scaleX(0);
    height: 0.05em;
    bottom: 0;
    left: 0;
    background: currentcolor;
    transform-origin: bottom right;
    transition: transform 0.25s ease-out;
}

@media (min-width: 782px) {

    .t99-menu li a:hover::after,
    .link_underline a:hover::after {
        transform: scaleX(1);
        transform-origin: bottom left;
    }
}

.current-menu-item a::after {
    transform: scaleX(1) !important;
    transform-origin: bottom left !important;
}


/*
---------------------------------------------------------------------------------------
# FOOTER
---------------------------------------------------------------------------------------
*/
footer {
    background: var(--wp--preset--color--scuro);
}

footer a {
    text-decoration: none;
    color: unset;
}


footer .t99-menu-block.is-always-desk ul.t99-menu {
    flex-direction: column;
    align-items: flex-start;
    font-size: var(--wp--preset--font-size--s);
    gap: .2em;
}

@media (max-width: 781px) {
    footer p, footer .wp-block-heading {
        text-align: center !important;
    }

    footer hr {
        margin-top: var(--wp--preset--spacing--50) !important;
        margin-bottom: var(--wp--preset--spacing--50) !important;
    }

    footer ul.t99-menu,
    footer .wp-block-buttons,
    footer .wp-block-social-links {
        align-items: center !important;
        justify-content: center !important;
    }

    footer .come_raggiungerci {
        margin-top: var(--wp--preset--spacing--50) !important;
        gap: 0;
    }

    footer .come_raggiungerci p {
        width: 100%
    }

    footer .come_raggiungerci .wp-block-group {
        display: flex;
        justify-content: center;
        flex-direction: row;
    }
}


/*
---------------------------------------------------------------------------------------
# BUTTONS
---------------------------------------------------------------------------------------
*/
.wp-block-button {
    /* fix line-height empty space problem */
    display: flex !important;
}

.wp-block-buttons .wp-block-button__link {
    background: var(--wp--preset--color--white);
    color: var(--wp--preset--color--black);
    font-size: 14px;
    line-height: 2em;
    padding: 0.5rem 2rem;
    text-transform: uppercase;
    position: relative;
    overflow: hidden;
    z-index: 0;
    transition: all .4s ease;
}

.wp-block-buttons .wp-block-button__link:hover {
    text-shadow: 0px 0px 1px currentColor;
    letter-spacing: 0.1em;
}

.wp-block-buttons .wp-block-button.is-style-outline .wp-block-button__link {
    background: transparent;
    border: 1px solid var(--wp--preset--color--white);
    color: var(--wp--preset--color--white);
}






/*
---------------------------------------------------------------------------------------
# FORMIDABLE
---------------------------------------------------------------------------------------
*/

.frm_forms.with_frm_style {
    max-width: 900px !important;
    --border-color-active: var(--wp--preset--color--cavolo) !important
}

.form_lista_attesa .frm_forms.with_frm_style {
    max-width: 480px !important;
}

.form_lavora_con_noi .frm_forms.with_frm_style {
    max-width: 680px !important;
}

.frm_form_fields * {
    letter-spacing: 0.05em;
}

.frm_forms .frm_fields_container {
    grid-gap: 5px;
}

.frm_forms .frm_fields_container input,
.frm_forms .frm_fields_container select,
.frm_forms .frm_fields_container textarea {
    width: 100%;
    font-size: 1rem;
    font-weight: 300;
    color: var(--wp--preset--color--white);
    border: 0px;
    border-radius: 0px;
    border-bottom: 1px solid var(--wp--preset--color--white);
    padding-block: 1em;
    resize: none;
    padding: 0.25rem;
    background: transparent;

}

.frm_forms .frm_fields_container input:focus-visible,
.frm_forms .frm_fields_container select:focus-visible,
.frm_forms .frm_fields_container textarea:focus-visible {
    outline: 1px solid var(--wp--preset--color--white);
}

.frm_submit button.frm_button_submit.frm_final_submit {
    background: var(--wp--preset--color--white);
    color: var(--wp--preset--color--black);
    font-size: 14px;
    padding: 0.5rem 2rem;
    text-transform: uppercase;
    position: relative;
    overflow: hidden;
    z-index: 0;
    transition: all .4s ease;
    border-radius: 9999px;
    outline: none;
    border: none;
    box-shadow: none;
}

.frm_submit button.frm_button_submit.frm_final_submit:hover {
    background: var(--wp--preset--color--carota);
    color: var(--wp--preset--color--white);
}

.frm_submit.frm_flex {
    justify-content: flex-end;
}

.frm_forms .frm_primary_label {
    color: var(--wp--preset--color--white);
}

.frm_forms .frm_radio label,
.frm_forms .frm_checkbox label {
    color: var(--wp--preset--color--white);
    font-weight: 300;
}

.frm_forms label a {
    text-decoration: underline;
}

.frm_forms *::placeholder {
    color: var(--wp--preset--color--white) !important;
    opacity: .8;
}


.frm_forms .frm_required {
    color: inherit;
}


.frm_forms br,
.frm_forms p:empty,
.frm_forms p:has(> input) {
    display: none;
}


.frm_forms .vertical_radio .frm_opt_container {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 1.25em;
}



/*
---------------------------------------------------------------------------------------
# LAND
---------------------------------------------------------------------------------------
*/

hr.land_hr {
    margin-inline: 0 !important;
    height: 1px;
    color: var(--wp--preset--color--white);
    width: 278px !important;
}

.font_weight_medium {
    font-weight: 500;
}

strong,
b {
    font-weight: 500;
}

/* Menu ristorante */
.menu-ristorante__titolo {
    text-transform: uppercase;
}

.menu-ristorante__piatti {
    margin-top: var(--wp--preset--spacing--40);
}

.menu-ristorante__piatto {
    margin-block: var(--wp--preset--spacing--20);
}

.menu-ristorante hr {
    background: var(--wp--preset--color--white);
    max-width: 1024px;
    margin: 0 auto;
}


@media (min-width:782px) {
    body.single-box .wp-block-column:has(.wp-block-post-featured-image) {
        position: sticky;
        top: 120px
    }
}

@media (max-width:784px) {
    #gruppo_ricette .wp-block-group.is-content-justification-space-between {
        justify-content: center !important;
    }
}

@media (max-width:781px) {
    .menu-ristorante__page_title {
        margin-block-start: 100px !important;
    }

    .menu-ristorante__piatti {
        margin-top: var(--wp--preset--spacing--60);
    }
}


/*
---------------------------------------------------------------------------------------
# IMAGES ANIMATION
---------------------------------------------------------------------------------------
*/


body:not(.block-editor-iframe__body) .is-style-animated_in_image {
    position: relative;
    overflow: hidden;
}

body:not(.block-editor-iframe__body) .is-style-animated_in_image::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: var(--wp--preset--color--topinambur);
    overflow: hidden;
    clip-path: inset(0 0 100% 0);
    opacity: 0;
    transition: clip-path 0.4s ease-out;
    transition: all 0.5s ease-out;

}

body:not(.block-editor-iframe__body) .is-style-animated_in_image img {
    transform: scale(1);
    clip-path: inset(100% 0 0 0);
    transition: clip-path 0.7s ease-out, transform 1s ease-out;
    transition-delay: 0.5s;
}

body:not(.block-editor-iframe__body) .is-style-animated_in_image.fade_in::before {
    clip-path: inset(0 0 0 0);
    opacity: 1;

}

body:not(.block-editor-iframe__body) .is-style-animated_in_image.fade_in img {
    transform: scale(1.05);
    clip-path: inset(0 0 0 0);
}




/*
---------------------------------------------------------------------------------------
# PRELOADER
---------------------------------------------------------------------------------------
*/

#preloader {
    opacity: 1 !important;
    transition: clip-path, .5s cubic-bezier(.68, .01, .55, .87);
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);

}

#preloader .wp-block-group {
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

#preloader.page_entrance {
    clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
}

#preloader.page_show {
    transition: none;
    clip-path: polygon(0 100%, 100% 100%, 100% 100%, 0 100%);
}

#preloader.page_next {
    clip-path: polygon(0 100%, 100% 100%, 100% 0, 0 0);
}





/*
---------------------------------------------------------------------------------------
# FS MENU OPEN/CLOSE ANIMATION
---------------------------------------------------------------------------------------
*/

/* setup */


header.site-header ul.t99-menu {
    opacity: 1 !important;
    clip-path: circle(0% at var(--hamburger-coord-x) var(--hamburger-coord-y));
    pointer-events: none;
    --fs-menu-anim-time: 0.4s;
    transition: clip-path var(--fs-menu-anim-time) ease !important;
}

header.site-header nav.t99-menu-block.is-open ul.t99-menu {
    pointer-events: all;
    --fs-menu-anim-time: .8s;
    clip-path: circle(100% at var(--hamburger-coord-x) var(--hamburger-coord-y));
}

@media (max-width: 1024px) {
    header.site-header nav.t99-menu-block.is-open ul.t99-menu {
        clip-path: circle(150% at var(--hamburger-coord-x) var(--hamburger-coord-y));
    }
}

@media (max-width: 781px) {
    header.site-header nav.t99-menu-block.is-open ul.t99-menu {
        clip-path: circle(200% at var(--hamburger-coord-x) var(--hamburger-coord-y));
    }
}



/* ---------------------------------------------------------------------------------------
# WPML
--------------------------------------------------------------------------------------- */
.wpml-ls.wpml-ls-legacy-list-horizontal {
    padding: 0;
}

.wpml-ls br {
    display: none;
}

.wpml-ls.wpml-ls-legacy-list-horizontal li a {
    padding: 5px 0px 5px 10px;
    font-weight: 100;
}

@media (max-width:781px) {
    .wpml-ls.wpml-ls-legacy-list-horizontal li a {
        padding: 0px 0px 0px 7px;
    }
}

.wpml-ls.wpml-ls-legacy-list-horizontal li.wpml-ls-current-language a {
    font-weight: 400;
}

footer .wpml-ls.wpml-ls-legacy-list-horizontal li a {
    padding: 0px 0px 0px 16px;
}

footer .wpml-ls.wpml-ls-legacy-list-horizontal li {
    position: relative;
}

footer .wpml-ls.wpml-ls-legacy-list-horizontal li:nth-child(2)::before {
    content: "";
    position: absolute;
    background: var(--wp--preset--color--white);
    width: 1px;
    height: 1.4em;
    left: 5px;
    top: 0;
}

header.site-header .wpml-ls.wpml-ls-legacy-list-horizontal li a {
    transition: color var(--fs_menu-transition-time) ease;
}

header.site-header:has(.t99-menu-block.is-open) .wpml-ls.wpml-ls-legacy-list-horizontal li a {
    color: var(--wp--preset--color--black);
}


/* ---------------------------------------------------------------------------------------
# PRENOTAZIONE
--------------------------------------------------------------------------------------- */

.tbk-frontend {
    padding: 20px 0px;
}

.tbk-frontend a {
    text-decoration: underline !important;
}

.tbk-form.tbk-form-vertical {
    display: flex;
    flex-direction: column;
}

.tbk-space.tbk-space-vertical span.tbk-tag {
    display: none;
}

.tbk-input-number.tbk-input-number-in-form-item {
    font-size: 20px;
}

.tbk-form-item {
    order: 1
}

.tbk-form-item.tbk-form-tickets-section {
    order: 2;
    align-self: flex-start;
}

.tbk-form-item:has(ul) {
    order: 3;
    margin-bottom: 0px !important;
}

.tbk-form-item:has(.tbk-checkbox) {
    order: 4;
    margin-bottom: 40px !important;
}

.tbk-form-item:has(button.tbk-btn-default) {
    order: 5;
}

.tbk-frontend[id^=tbk-frontend-] .tbk-form-tickets-section .tbk-form-item-label {
    text-align: left !important;
}

.tbk-col.tbk-form-item-label.tbk-form-item-label-wrap label {
    font-size: 20px !important;
}

.tbk-form-item.tbk-form-tickets-section:has(.tbk-input-number.tbk-input-number-in-form-item) {
    margin-bottom: 40px;
}

.tbk-row:has(.anticon.anticon-tag) {
    display: none !important;
}

.tbk-row:has(.tbk-collapse-item) {
    display: none !important;
}

.tbk-form-item textarea::placeholder {
    color: transparent;
    opacity: 0;
}

.res_quote_desc,
.res_notes {
    font-size: 14px;
    font-weight: normal;
    margin-bottom: 0 !important;
}

.tbk-form-item:has(.res_quote_desc) .tbk-col.tbk-form-item-control {
    display: none;
}


/* ---------------------------------------------------------------------------------------
# PAYPAL
--------------------------------------------------------------------------------------- */

.t99-paypal-product {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
    max-width: 360px
}

.t99-paypal-quantity {
    display: flex;
    align-items: center;
    gap: .5em;
}

.t99-paypal-quantity button {
    width: 20px;
    height: 20px;
    all: unset;
    cursor: pointer;
}

.t99-paypal-quantity button:disabled {
    cursor: not-allowed;
    opacity: .45
}

.t99-paypal-quantity-value {
    all: unset;
    text-align: center;
    font-size: var(--wp--preset--font-size--m);
}

.t99-paypal-quantity-value::-webkit-inner-spin-button,
.t99-paypal-quantity-value::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0
}

.t99-paypal-total {
    font-size: 18px;
    margin-top: var(--wp--preset--spacing--10)
}

.t99-paypal-buy {
    all: unset;
    border-radius: 9999px;
    cursor: pointer;
    background: var(--wp--preset--color--white);
    color: var(--wp--preset--color--black);
    font-size: 14px;
    line-height: 2em;
    padding: 0.5rem 2rem;
    text-transform: uppercase;
    position: relative;
    overflow: hidden;
    z-index: 0;
    transition: all .4s ease;
}

.t99-paypal-buy:hover:not(:disabled) {
    filter: brightness(.95)
}

.t99-paypal-buy:disabled {
    cursor: not-allowed;
    opacity: .55
}

.t99-paypal-message {
    min-height: 1.4em;
    font-size: 14px
}

.t99-paypal-message.is-error,
.t99-paypal-error {
    color: #b42318
}

.t99-paypal-message.is-info {
    color: #d5d5d5
}




/*
---------------------------------------------------------------------------------------
# NASCONDO TUTTI RIFERIMENTI E PULSANTI PRENOTAZIONE 
---------------------------------------------------------------------------------------
*/

/*
.elemento_prenotazione {
    display: none !important;
}
*/