/*==================================================
=  VALORI GENERALI + DESKTOP                   =
==================================================*/

/*==================================================
=  01 - GENERALE E VARIABILI                   =
==================================================*/

:root {
    --vv-blu: #123f72;
    --vv-blu-profondo: #0b315c;
    --vv-oro: #d7a91e;
    --vv-oro-chiaro: #efc84a;
    --vv-avorio: #fffdf7;
    --vv-testo: #17365f;
}

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

html {
    font-size: 100%;
    scroll-behavior: smooth;
}

html,
body {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
}

body {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    font-family: Arial, Helvetica, sans-serif;
    background: #fffdf7;
    color: #222222;
    position: relative;
}

.site-main {
    position: relative;
    width: 100%;
    flex: 1;
    background: transparent;
}

.site-header > *,
.intro-menu,
.menu-container,
.categoria-menu,
.prodotti-grid,
.prodotto-card,
.prodotto-contenuto,
.prodotto-base,
.prodotto-riga-titolo,
.prodotto-riga-descrizione,
.prodotto-riga-prezzo,
.prodotto-riga-azioni,
.prodotto-pulsanti,
.riepilogo-ordine,
.riepilogo-ordine-prodotto,
.riepilogo-ordine-quantita {
    min-width: 0;
}

/*==================================================
=  02 - CORNICE DECORATIVA                     =
==================================================*/

.cornice-grid {
    --cornice-margine: 0.5cm;
    --cornice-angolo: 34px;
    --cornice-oro: #D8A91B;
    position: absolute;
    top: var(--cornice-margine);
    left: var(--cornice-margine);
    right: var(--cornice-margine);
    bottom: var(--cornice-margine);
    display: grid;
    grid-template-columns: var(--cornice-angolo)
        minmax(0, 1fr)
        var(--cornice-angolo);
    grid-template-rows: var(--cornice-angolo)
        minmax(0, 1fr)
        var(--cornice-angolo);
    pointer-events: none;
    z-index: 9999;
}

.cornice-pezzo {
    display: block;
    width: 100%;
    height: 100%;
    overflow: visible;
}

.cornice-pezzo path {
    fill: none;
    stroke: var(--cornice-oro);
    vector-effect: non-scaling-stroke;
    stroke-linecap: butt;
    stroke-linejoin: round;
    shape-rendering: geometricPrecision;
}

.cornice-tl {
    grid-column: 1;
    grid-row: 1;
}

.cornice-top {
    grid-column: 2;
    grid-row: 1;
}

.cornice-left {
    grid-column: 1;
    grid-row: 2;
}

.cornice-right {
    grid-column: 3;
    grid-row: 2;
}

.cornice-bottom {
    grid-column: 2;
    grid-row: 3;
}

.cornice-tr {
    grid-column: 3;
    grid-row: 1;
    transform: scaleX(-1);
}

.cornice-bl {
    grid-column: 1;
    grid-row: 3;
    transform: scaleY(-1);
}

.cornice-br {
    grid-column: 3;
    grid-row: 3;
    transform: scale(-1, -1);
}

.cornice-esterna {
    stroke-width: 1.2;
}

.cornice-interna {
    stroke-width: 2.25;
}

/*==================================================
=  03 - HEADER
==================================================*/

.header-stage {
    position: relative;
    width: 100%;
    background: #174b7f;
}

.site-header {
    position: relative;
    width: 100%;
    min-height: 10rem;
    background: transparent;
}

/* Il vero contenitore elastico dell'header */
.header-inner {
    position: relative;
    z-index: 30;

    width: 100%;
    max-width: 100%;
    min-width: 0;

    margin: 0 auto;

    display: grid;
    grid-template-columns: 22% 56% 22%;
    align-items: center;

    padding: 2.8rem 3% 5.5rem;

    container-type: inline-size;
}

/* Le tre zone */
.header-logo,
.header-title,
.header-right {
    width: 100%;
    min-width: 0;
    max-width: 100%;
}

/* SINISTRA */
.header-logo {
    display: flex;
    justify-content: center;
    align-items: center;
}

.header-logo img {
    display: block;

    width: 55%;
    max-width: 100%;
    height: auto;

    object-fit: contain;

    filter:
        drop-shadow(
            0 0.18rem 0.18rem
            rgba(0,0,0,.16)
        );
}

/* CENTRO */
.header-title {
    display: flex;
    justify-content: center;
    align-items: center;
}

.header-title img {
    display: block;

    width: 78%;
    max-width: 100%;
    height: auto;

    object-fit: contain;

    filter:
        drop-shadow(
            0 0.16rem 0.18rem
            rgba(0,0,0,.13)
        );
}

/* DESTRA */
.header-right {
    display: flex;
    flex-direction: column;

    align-items: center;
    justify-content: center;

    gap: 2cqw;
}

/* BANDIERA */
.language-switch {
    display: flex;

    align-items: center;
    justify-content: center;

    width: 26%;
    max-width: 100%;

    padding: 2%;

    border: 0.08rem solid
        rgba(239,200,74,.75);

    border-radius: .34rem;

    background:
        rgba(255,255,255,.07);

    text-decoration: none;
}

.language-flag {
    display: block;

    width: 100%;
    height: auto;

    border-radius: .16rem;
}

/* MOTTO */
.header-motto {
    width: 72%;

    display: flex;
    flex-direction: column;

    align-items: center;
    justify-content: center;

    color:
        rgba(255,255,255,.96);

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 1.25cqw;

    font-weight: 500;

    line-height: 1.45;

    letter-spacing: .08em;

    text-align: center;

    pointer-events: none;
}

.header-motto span {
    display: block;

    width: 100%;

    white-space: nowrap;
}

.header-motto-linea {
    display: block;

    width: 45%;
    height: .08rem;

    margin-top: 7%;

    background: #E8BE33;
}

/* ONDA INFERIORE */
.site-header::after {
    content: "";

    position: absolute;
    z-index: 20;

    left: 0;
    right: 0;
    bottom: 0;

    width: 100%;
    height: 4.6rem;

    pointer-events: none;

    background:
        transparent
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 120' preserveAspectRatio='none'%3E%3Cpath d='M0 76 C175 29 340 24 510 53 C602 69 662 79 720 79 C778 79 838 69 930 53 C1100 24 1265 29 1440 76 L1440 120 L0 120 Z' fill='%23fffdf7'/%3E%3Cpath d='M0 76 C175 29 340 24 510 53 C602 69 662 79 720 79 C778 79 838 69 930 53 C1100 24 1265 29 1440 76' fill='none' stroke='%23E8BE33' stroke-width='3' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E")
        center bottom / 100% 100% no-repeat;
}

/*==================================================
=  04 - INTRODUZIONE MENU                      =
==================================================*/

.intro-menu {
    margin: 0 auto;
    padding: 0;
    background: transparent;
    text-align: center;
    width: min(75rem, 88%);
}

.blocco-intro {
    position: relative;
    isolation: isolate;
    padding: 5.8rem 0 2.35rem;
}

.blocco-intro::before,
.blocco-intro::after {
    content: "";
    position: absolute;
    z-index: 0;
    display: block;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    pointer-events: none;
}

.blocco-intro::before {
    top: 1.1rem;
    right: -1.1rem;
    width: 16rem;
    height: 13rem;
    background-image: url("../im-loghi/vite.webp");
    opacity: .70;
}

.blocco-intro::after {
    left: -0.5rem;
    bottom: -4.5rem;
    width: 14rem;
    height: 14rem;
    background-image: url("../im-loghi/grano.webp");
    opacity: .70;
}

.blocco-intro > * {
    position: relative;
    z-index: 1;
}

.intro-menu h1 {
    display: inline-block;
    margin: 0;
    color: #173b6a;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(3.35rem, 5.4vw, 5.3rem);
    font-weight: 500;
    line-height: 1.02;
    letter-spacing: -0.035em;
    text-shadow: 0 .08rem .08rem rgba(20,50,90,.08);
}

.intro-menu h1::after {
    content: "";
    width: 100%;
    height: 0.1875rem;
    margin-top: 0.2rem;
    background: #C5161D;
    display: none;
}

.titolo-menu-divider {
    width: min(24rem, 66vw);
    margin: 1rem auto 1.25rem;
    display: grid;
    grid-template-columns: 1fr .72rem 1fr;
    align-items: center;
    gap: .7rem;
}

.titolo-menu-divider span {
    display: block;
    height: .075rem;
    background: linear-gradient(90deg, transparent 0%, #d7a91e 18%, #d7a91e 100%);
}

.titolo-menu-divider span:last-child {
    background: linear-gradient(90deg, #d7a91e 0%, #d7a91e 82%, transparent 100%);
}

.titolo-menu-divider i {
    display: block;
    width: .62rem;
    height: .62rem;
    margin: 0 auto;
    background: #d7a91e;
    transform: rotate(45deg);
    box-shadow: 0 0 0 .12rem #fffdf7,
        0 0 0 .16rem rgba(215,169,30,.25);
}

.menu-note {
    font-size: 1.22rem;
    line-height: 1.75;
    max-width: 58rem;
    margin: 0 auto;
    color: #173b6a;
    text-align: center;
}

.menu-note p {
    margin-bottom: 1.5rem;
    text-align: center;
    text-justify: auto;
}

.menu-intro-testo {
    margin: 0 auto 1.35rem !important;
    color: #27476f;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.14rem, 1.65vw, 1.42rem);
    font-style: italic;
    font-weight: 400;
    line-height: 1.55;
}

.titolo-menu-ornamento svg {
    display: block;
    width: 100%;
    height: auto;
    overflow: visible;
}

.titolo-menu-ornamento {
    width: min(31rem, 70vw);
    margin: 1.35rem auto 1.15rem;
    line-height: 0;
    margin-top: 0.35rem !important;
}

.nota-allergie {
    max-width: 50rem;
    margin: 0 auto !important;
    padding: 1.05rem 2rem 0 !important;
    font-family: Georgia, "Times New Roman", serif;
    font-size: .96rem;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: .105em;
    text-align: center !important;
    text-transform: uppercase;
    position: relative;
    margin-left: auto;
    margin-right: auto;
    display: inline-block !important;
    padding-top: 0 !important;
    padding-left: 1rem !important;
    border-left: 0.18rem solid #C5161D !important;
    color: #173F73 !important;
}

.nota-allergie::before {
    position: absolute;
    top: 0;
    left: 50%;
    width: 8.5rem;
    height: .075rem;
    transform: translateX(-50%);
    background: linear-gradient(
            90deg,
            transparent,
            #d7a91e 18%,
            #d7a91e 82%,
            transparent
        );
    display: none !important;
    content: none !important;
}

/*==================================================
=  05 - LE NOSTRE PROPOSTE / NAVIGAZIONE       =
==================================================*/

.menu-nav-title::after,
.menu-nav-divider {
    content: "";
    display: block;
    width: 20rem;
    max-width: 70%;
    height: 0.0625rem;
    margin: 0.8rem auto 0;
    background: linear-gradient(
        to right,
        #E0B900 0%,
        #E0B900 46%,
        transparent 46%,
        transparent 54%,
        #E0B900 54%,
        #E0B900 100%
    );
}

.menu-nav-divider {
    position: relative;
    margin-top: 2.2rem;
    margin-bottom: 0;
}

.menu-nav-divider::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 0.55rem;
    height: 0.55rem;
    background: #E0B900;
    transform: translate(-50%, -50%) rotate(45deg);
}

.menu-nav-title::before {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -0.30rem;
    width: 0.55rem;
    height: 0.55rem;
    background: #E0B900;
    transform: translateX(-50%)
        rotate(45deg);
}

.menu-nav {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1rem;
    margin-top: 1.6rem;
    transform-origin: center top;
    will-change: transform, opacity;
}

.menu-nav a {
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: 0.35rem;
    min-height: 6.8rem;
    padding: 0.35rem 1rem 0.5rem;
    color: #FFD700;
    background-color: #24447A;
    background-image: linear-gradient(
            45deg,
            #27487E 25%,
            transparent 25%,
            transparent 75%,
            #27487E 75%
        ),
        linear-gradient(
            45deg,
            #27487E 25%,
            transparent 25%,
            transparent 75%,
            #27487E 75%
        );
    background-position: 0 0,
        2rem 2rem;
    background-size: 4rem 4rem;
    border: 0.1875rem solid #E0B900;
    border-radius: 0.65rem;
    box-shadow: 0 0.35rem 0.75rem rgba(0, 0, 0, 0.16);
    text-align: center;
    text-decoration: none;
    transition: background .34s cubic-bezier(.25,.80,.25,1),
        box-shadow .34s cubic-bezier(.25,.80,.25,1),
        transform .34s cubic-bezier(.25,.80,.25,1);
    flex: 0 1 18rem;
}

.menu-nav a::after {
    content: "";
    position: absolute;
    left: 18%;
    right: 18%;
    bottom: 0;
    height: 0.1875rem;
    background: #C5161D;
    transform: scaleX(0);
    transform-origin: center;
    transition: transform .34s cubic-bezier(.25,.80,.25,1);
}

.menu-nav-icona {
    display: block;
    flex: 0 0 2rem;
    width: auto;
    height: 2.5rem;
    max-width: 5rem;
    margin-top: 0.5rem;
    object-fit: contain;
}

.menu-nav-icona[src$="categoria_17307b16b690d9ed.webp"] {
    transform: scale(1.2);
    margin-top: 0.6rem;
}

.menu-nav-icona[src$="categoria_634ef646e8df0366.webp"] {
    transform: scale(1.2);
    margin-top: 0.6rem;
}

.menu-nav-icona[src$="categoria_a608e80e75f90326.webp"] {
    transform: scale(1.4);
    margin-top: 0.6rem;
}

.menu-nav-icona[src$="categoria_753ea824c8248753.webp"] {
    transform: scale(1.4);
    margin-top: 0.6rem;
}

.menu-nav-icona[src$="categoria_1148cb5d4948bbc8.webp"] {
    transform: scale(1.4);
    margin-top: 0.6rem;
}

.menu-nav-icona[src$="categoria_bd9f7b8b67d94ef7.webp"] {
    transform: scale(1.2);
    margin-top: 0.6rem;
}

.menu-nav-icona[src$="categoria_72076b21d92a6bcf.webp"] {
    transform: scale(1.4);
    margin-top: 0.6rem;
}

.menu-nav-icona[src$="categoria_bd346f3abd67d6da.webp"] {
    transform: scale(1.4);
    margin-top: 0.6rem;
}

.menu-nav-testo {
    color: #FFD700;
    font-family: "Trebuchet MS", "Segoe UI", Arial, sans-serif;
    font-size: 1.5rem;
    font-weight: 600;
    line-height: 1;
    margin-top: auto;
    margin-bottom: 0.35rem;
    min-height: 2rem;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    text-align: center;
}

.menu-nav a:hover {
    background-color: #1d3865;
    background-image: linear-gradient(
            45deg,
            #203D6D 25%,
            transparent 25%,
            transparent 75%,
            #203D6D 75%
        ),
        linear-gradient(
            45deg,
            #203D6D 25%,
            transparent 25%,
            transparent 75%,
            #203D6D 75%
        );
    box-shadow: 0 0.6rem 1rem rgba(0, 0, 0, 0.22);
}

.menu-nav a:focus-visible {
    outline: 0.125rem solid #C5161D;
    outline-offset: 0.1875rem;
}

.menu-nav a:hover::after {
    transform: scaleX(1);
}

.blocco-proposte {
    padding: 0.5rem 0 2.4rem;
    margin-top: 2rem;
}

.menu-nav-title {
    position: relative;
    margin: 2.5rem 0 2rem;
    font-family: "Trebuchet MS", "Segoe UI", Arial, sans-serif;
    font-weight: 600;
    text-align: center;
    color: #173F73;
    font-size: 3rem;
}

/*==================================================
=  06 - CONTENITORE MENU                       =
==================================================*/

.menu-container {
    position: relative;
    isolation: isolate;
    width: min(75rem, 88%);
    margin: 3rem auto;
}

.menu-vuoto {
    padding: 3rem 1rem;
    text-align: center;
    font-size: 1.1rem;
}

/*==================================================
=  07 - PANE E COPERTO                         =
==================================================*/

.pane-coperto-pubblico {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    width: 100%;
    margin: 0 0 1rem;
    padding: 0.45rem 0.75rem;
    color: #24447A;
    background: #fffbed;
    border-left: 0.1875rem solid #E0B900;
    font-size: 1.2rem;
}

.pane-coperto-nome {
    font-weight: 600;
}

.pane-coperto-prezzo {
    margin-left: auto;
    color: #A61F24;
    font-weight: 700;
    white-space: nowrap;
}

/*==================================================
=  08 - CATEGORIE                              =
==================================================*/

.categoria-menu {
    padding: 1.4rem;
    border-radius: 0.65rem;
    margin-bottom: 4rem;
    scroll-margin-top: 2rem;
}

.categoria-menu h2 {
    width: 100%;
    margin: 0 0 2rem;
    padding: 0;
    color: #173F73;
    background: transparent;
    font-family: "Trebuchet MS", "Segoe UI", Arial, sans-serif;
    font-style: normal;
    font-size: 2.7rem;
    font-weight: 800;
    letter-spacing: 0.03em;
    line-height: 1.1;
    text-align: center;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

.titolo-categoria {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.55rem;
    color: #173F73;
}

.titolo-categoria::before,
.titolo-categoria::after {
    content: "★";
    flex: 0 0 auto;
    color: #D8A91B;
    font-size: 0.78em;
    font-weight: 400;
    line-height: 1;
}

.testo-categoria {
    position: relative;
    display: inline-block;
    width: auto;
    max-width: 80%;
    padding: 0.28rem 0.85rem 0.34rem;
    color: #FFD700;
    background-color: #24447A;
    background-image:
        linear-gradient(
            45deg,
            #27487E 25%,
            transparent 25%,
            transparent 75%,
            #27487E 75%
        ),
        linear-gradient(
            45deg,
            #27487E 25%,
            transparent 25%,
            transparent 75%,
            #27487E 75%
        );
    background-position: 0 0, 1rem 1rem;
    background-size: 2rem 2rem;
    border: 0.10rem solid #D8A91B;
    border-radius: 0.38rem;
    box-shadow: 0 0.18rem 0.38rem rgba(23, 63, 115, .10);
    text-align: center;
}

.testo-categoria::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -0.55rem;
    width: 100%;
    height: 0.12rem;
    margin: 0;
    background: #C5161D;
    border-radius: 999px;
}

.categoria-menu .prodotti-grid {
    transform-origin: top center;
    will-change: transform, opacity;
}

/*==================================================
=  09 - SCHEDE PRODOTTO                        =
==================================================*/

.prodotti-grid {
    flex-direction: column;
    gap: 1.2rem;
    display: block;
    width: 100%;
    overflow: hidden;
    background: #fffefb;
    border: 0.08rem solid rgba(216, 169, 27, .78);
    border-radius: 1.05rem;
    box-shadow: 0 0.45rem 1.15rem rgba(23, 63, 115, .08);
}

.prodotto-card.senza-immagine {
    grid-template-columns: 1fr;
}

.prodotti-grid .prodotto-card:nth-child(odd),
.prodotti-grid .prodotto-card:nth-child(even) {
    background: #ffffff;
    border: 0;
}

.prodotto-immagine {
    margin: 0;
    align-self: start;
    overflow: hidden;
    border: 0.14rem solid #D8A91B;
    border-radius: 1rem;
    width: 17rem;
    height: 12.75rem;
}

.prodotto-immagine img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center center;
}

.prodotto-contenuto {
    width: 100%;
    min-width: 0;
    display: flex;
    flex-direction: column;
}

.prodotto-base {
    display: flex;
    flex-direction: column;
    width: 100%;
    min-width: 0;
    gap: 0.5rem;
    min-height: 12.75rem;
}

.prodotto-card.senza-immagine .prodotto-base {
    min-height: 0;
}

.prodotto-cuore-icona {
    display: block;
    overflow: visible;
    width: 2.05rem;
    height: 2.05rem;
}

.prodotto-cuore-icona .cuore-esterno {
    fill: #D40000;
}

.prodotto-cuore-icona .cuore-interno {
    fill: #FFFFFF;
    transform-box: fill-box;
    transform-origin: center;
    transform: scale(0.91);
    transition: fill .30s cubic-bezier(.25,.80,.25,1);
}

.prodotto-cuore:hover {
    transform: scale(1.12);
}

.prodotto-cuore.attivo .cuore-interno {
    fill: #D40000;
}

.prodotto-cuore:disabled {
    cursor: default;
    opacity: 0.6;
}

.prodotto-cuore:focus-visible {
    outline: 0.125rem solid #E0B900;
    outline-offset: 0.15rem;
    border-radius: 0.2rem;
}

.prodotto-riga-descrizione {
    width: 100%;
}

.descrizione-it {
    margin-top: 2rem;
    margin: 1.15rem 0 0;
    color: #303030;
    font-size: 1.08rem;
    line-height: 1.55;
    text-align: left;
    text-justify: auto;
}

.nome-en {
    margin-bottom: 0.25rem;
    font-size: 1rem;
    font-weight: 600;
}

.descrizione-en {
    line-height: 1.5;
    color: #666666;
    text-align: justify;
    text-justify: inter-word;
}

.prodotto-riga-prezzo {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    margin-top: 1.1rem;
    padding-top: 0.9rem;
    border-top: 0.0625rem solid rgba(70, 70, 70, .20);
}

.prodotto-prezzo {
    white-space: nowrap;
    margin-left: auto;
    color: #173F73;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.45rem;
    font-weight: 700;
    text-align: right;
}

.prodotto-card {
    display: grid;
    align-items: stretch;
    border-radius: 0.45rem;
    box-shadow: none;
    width: calc(100vw - 4rem);
    max-width: none;
    margin-left: 50%;
    transform: translateX(-50%);
    padding: 1.15rem 1.35rem;
    grid-template-columns: 12.5rem minmax(0, 1fr);
    gap: 2rem;
    transform-origin: center center;
}

.prodotto-riga-titolo {
    min-width: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 2.6rem;
    align-items: start;
    column-gap: 0.8rem;
    width: 100%;
}

.prodotto-riga-titolo h3 {
    grid-column: 1;
    min-width: 0;
    font-style: normal;
    text-align: left;
    -webkit-text-stroke: 0;
    margin: 0;
    color: #173F73;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.75rem;
    line-height: 1.15;
    font-weight: 600;
}

.prodotto-cuore {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
    transition: transform .30s cubic-bezier(.25,.80,.25,1);
    grid-column: 2;
    align-self: start;
    justify-self: end;
    width: 2.35rem;
    height: 2.35rem;
    min-width: 2.35rem;
    min-height: 2.35rem;
    margin: 0;
}

.prodotto-riga-chef {
    width: 100%;
    margin-top: 0.05rem;
    text-align: left;
}

.suggerito-chef {
    display: inline-block;
    font-weight: 400;
    text-align: left;
    margin: 0;
    color: #5b5b5b;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.08rem;
    font-style: italic;
    line-height: 1.35;
}

.prodotti-grid .prodotto-card {
    position: relative;
    display: grid;
    align-items: stretch;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 1.35rem 1.5rem 1.65rem;
    transform: none;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0;
    box-shadow: none;
    grid-template-columns: 17rem minmax(0, 1fr);
    gap: 1.8rem;
    padding-left: 1.7rem;
    padding-right: 1.7rem;
}

.prodotti-grid .prodotto-card:not(:last-child) {
    padding-bottom: 3.25rem;
}

.prodotti-grid .prodotto-card:not(:last-child)::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0.65rem;
    height: 0.48rem;
    background:
        linear-gradient(
            to right,
            #D8A91B 0%,
            #D8A91B 100%
        ) top / 100% 0.20rem no-repeat,
        linear-gradient(
            to right,
            #173F73 0%,
            #173F73 100%
        ) bottom / 100% 0.07rem no-repeat;
    opacity: 1;
}

.prodotti-grid .prodotto-card:not(:last-child)::before {
    content: none;
    display: none;
}

.prodotti-grid .prodotto-card.senza-immagine {
    grid-template-columns: 1fr;
}

/*==================================================
=  10 - ALLERGENI PRODOTTO                     =
==================================================*/

.prodotto-allergeni {
    grid-column: 1;
    justify-self: start;
    min-width: 0;
    margin-top: 0.8rem;
}

.allergeni-toggle,
.allergeni-assenti {
    display: inline-flex;
    align-items: center;
    min-height: 1.7rem;
    padding: 0.2rem 0.5rem;
    border-radius: 0.2rem;
    font-size: 0.78rem;
    white-space: nowrap;
}

.allergeni-toggle {
    border: 0.0625rem solid #C5161D;
    cursor: pointer;
    transition: color .30s cubic-bezier(.25,.80,.25,1),
        background 0.2s ease;
    color: #C5161D;
    background: #fffefb;
    border-color: #173F73;
}

.allergeni-toggle:hover {
    color: #ffffff;
    background: #C5161D;
}

.allergeni-assenti {
    border: 0.0625rem solid #cccccc;
    color: #666666;
    background: #f6f6f6;
    cursor: default;
}

.allergeni-elenco {
    width: 100%;
    padding-bottom: 0.2rem;
    margin-top: 0.7rem;
}

.allergeni-lista {
    margin: 0;
    padding: 0;
    list-style: none;
}

.allergeni-lista li {
    display: block;
    margin-bottom: 0.25rem;
    line-height: 1.4;
}

.allergeni-lista li:last-child {
    margin-bottom: 0;
}

.allergeni-toggle:hover,
.allergeni-toggle:focus-visible {
    color: #C5161D;
    background: #fffaf0;
    border-color: #173F73;
}

/*==================================================
=  11 - COMANDI PRODOTTO                       =
==================================================*/

.prodotto-riga-azioni {
    min-width: 0;
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 0.8rem;
    width: 100%;
    margin-top: 0.9rem;
}

.prodotto-pulsanti {
    grid-column: 2;
    justify-self: center;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
    gap: clamp(0.55rem, 2vw, 1.45rem);
    width: min(100%, 20rem);
    max-width: 100%;
}

.torna-categorie {
    grid-column: 3;
    justify-self: end;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.2rem;
    height: 2.2rem;
    color: #24447A;
    background: #ffffff;
    border: 0.0625rem solid #24447A;
    border-radius: 0.35rem;
    box-shadow: 0 0.15rem 0.3rem rgba(0, 0, 0, 0.15);
    text-decoration: none;
    font-size: 1.45rem;
    -webkit-text-stroke: 0.04rem currentColor;
    font-weight: 900;
    line-height: 1;
    cursor: pointer;
    transition: background .30s cubic-bezier(.25,.80,.25,1),
        color 0.2s ease,
        transform 0.2s ease;
}

.torna-categorie:hover {
    color: #ffffff;
    background: #24447A;
    transform: translateY(-0.1rem);
}

.torna-categorie:focus-visible {
    outline: 0.125rem solid #C5161D;
    outline-offset: 0.2rem;
}

.torna-categorie.torna-categorie-mobile {
    display: none;
}

.aggiungi-ordine,
.ordine-prodotto {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: clamp(0.28rem, 1vw, 0.55rem);
    width: 100%;
    min-width: 0;
    max-width: 100%;
    font: inherit;
    font-family: "Trebuchet MS", "Segoe UI", Arial, sans-serif;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
    cursor: pointer;
    box-shadow: 0 0.22rem 0.5rem rgba(23, 63, 115, .10);
    transition: transform .30s cubic-bezier(.25,.80,.25,1),
        box-shadow .30s cubic-bezier(.25,.80,.25,1),
        background .30s cubic-bezier(.25,.80,.25,1),
        color .30s cubic-bezier(.25,.80,.25,1),
        border-color .30s cubic-bezier(.25,.80,.25,1);
    min-height: 2.35rem;
    padding: 0.45rem clamp(0.55rem, 1.8vw, 0.9rem);
    font-size: 0.82rem;
    border-radius: 0.42rem;
    flex: 1 1 0;
}

.aggiungi-ordine {
    color: #ffffff;
    background-color: #24447A;
    background-image: linear-gradient(
            45deg,
            rgba(255,255,255,.035) 25%,
            transparent 25%,
            transparent 75%,
            rgba(255,255,255,.035) 75%
        ),
        linear-gradient(
            45deg,
            rgba(255,255,255,.035) 25%,
            transparent 25%,
            transparent 75%,
            rgba(255,255,255,.035) 75%
        );
    background-position: 0 0, 1.2rem 1.2rem;
    background-size: 2.4rem 2.4rem;
    border: 0.10rem solid #D8A91B;
}

.aggiungi-ordine:hover {
    transform: translateY(-0.08rem);
    box-shadow: 0 0.38rem 0.75rem rgba(23, 63, 115, .16);
}

.aggiungi-ordine.rimuovi-ordine {
    color: #ffffff;
    background-color: #24447A;
    border-color: #D8A91B;
}

.aggiungi-ordine.rimuovi-ordine:hover {
    color: #ffffff;
    background-color: #1D3865;
    border-color: #E0B900;
}

.azione-prodotto-testo {
    display: inline-block;
}

.azione-prodotto-cestino {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-family: "Segoe UI Emoji",
        "Apple Color Emoji",
        "Noto Color Emoji",
        sans-serif;
    font-size: 1.15em;
    line-height: 1;
    filter: none;
}

.ordine-prodotto {
    min-width: 0;
    color: #A61F24;
    background: #ffffff;
    border: 0.10rem solid #A61F24;
}

.ordine-prodotto:hover {
    color: #ffffff;
    background: #A61F24;
    transform: translateY(-0.08rem);
    box-shadow: 0 0.38rem 0.75rem rgba(166, 31, 36, .12);
}

.ordine-prodotto:disabled {
    opacity: 0;
    pointer-events: none;
    cursor: default;
}

.torna-categorie-desktop {
    grid-column: 3;
    justify-self: end;
    display: inline-flex !important;
}

.torna-categorie-mobile {
    display: none !important;
}

.prodotto-contenuto > .prodotto-riga-azioni {
    margin-top: 0.8rem;
}

/*==================================================
=  12 - RIEPILOGO ORDINE                       =
==================================================*/

.riepilogo-ordine {
    width: min(75rem, 88%);
    margin: 1rem auto 3rem;
    color: #222222;
    background: #ffffff;
    border-top: 0.1875rem solid #E0B900;
    border-bottom: 0.1875rem solid #E0B900;
    scroll-margin-top: 2rem;
}

.riepilogo-ordine[hidden] {
    display: none;
}

.riepilogo-ordine-testata {
    padding: 0.8rem 1rem;
    background: #24447A;
}

.riepilogo-ordine-testata h2 {
    margin: 0;
    color: #FFD700;
    font-family: "Trebuchet MS", "Segoe UI", Arial, sans-serif;
    font-size: 2rem;
    font-weight: 600;
    text-align: center;
}

.riepilogo-ordine-contenuto {
    padding: 1.2rem 1rem;
}

.riepilogo-ordine-categoria {
    margin-bottom: 1.4rem;
}

.riepilogo-ordine-categoria:last-child {
    margin-bottom: 0;
}

.riepilogo-ordine-categoria h3 {
    margin: 0 0 0.6rem;
    padding-bottom: 0.35rem;
    color: #A61F24;
    border-bottom: 0.0625rem solid #E0B900;
    font-family: "Trebuchet MS", "Segoe UI", Arial, sans-serif;
    font-size: 1.3rem;
    font-weight: 600;
}

.riepilogo-ordine-prodotto {
    padding: 0.7rem 0;
    border-bottom: 0.0625rem solid #eeeeee;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 2.2rem;
}

.riepilogo-ordine-prodotto:last-child {
    border-bottom: 0;
}

.riepilogo-ordine-nome {
    display: block;
    min-width: 0;
    font-size: 1.45rem;
    line-height: 1.25;
}

.ordine-quantita-meno,
.ordine-quantita-piu {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.8rem;
    height: 1.8rem;
    padding: 0;
    color: #24447A;
    background: #ffffff;
    border: 0.0625rem solid #24447A;
    border-radius: 0.25rem;
    font-size: 1.05rem;
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
}

.ordine-quantita-meno:hover,
.ordine-quantita-piu:hover {
    color: #ffffff;
    background: #24447A;
}

.ordine-vai-prodotto,
.ordine-elimina-prodotto {
    color: #A61F24;
    border: 0.0625rem solid #A61F24;
    font-size: 1.28rem;
    font-weight: 400;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 2.15rem;
    height: 2.15rem;
    padding: 0;
    line-height: 1;
    text-align: center;
    font-family: "Segoe UI Emoji",
        "Apple Color Emoji",
        "Noto Color Emoji",
        Arial,
        sans-serif;
}

.ordine-vai-prodotto {
    color: #24447A;
    border: 0.0625rem solid #24447A;
    font-family: Arial, Helvetica, sans-serif;
    font-weight: 800;
    line-height: 1;
    font-size: 1.38rem;
    margin-left: 1.05rem;
}

.ordine-vai-prodotto:hover {
    color: #ffffff;
    background: #24447A;
    transform: translateY(-0.06rem);
}

.ordine-elimina-prodotto {
    color: #A61F24;
    border: 0.0625rem solid #A61F24;
    line-height: 1;
    font-size: 1.55rem;
    margin-left: 0.85rem;
}

.ordine-elimina-prodotto:hover {
    color: #ffffff;
    background: #A61F24;
    transform: translateY(-0.06rem);
}

.riepilogo-ordine-vuoto {
    margin: 0;
    padding: 1rem 0;
    color: #666666;
    text-align: center;
}

.riepilogo-ordine-comandi {
    display: flex;
    justify-content: center;
    padding: 0.9rem 1rem 1rem;
}

.riepilogo-ordine-ripulisci {
    min-height: 2rem;
    padding: 0.4rem 0.9rem;
    color: #A61F24;
    background: #ffffff;
    border: 0.0625rem solid #A61F24;
    border-radius: 0.3rem;
    font: inherit;
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
}

.riepilogo-ordine-ripulisci:hover:not(:disabled) {
    color: #ffffff;
    background: #A61F24;
}

.riepilogo-ordine-ripulisci:disabled {
    opacity: 0.45;
    cursor: default;
}

.riepilogo-ordine-quantita {
    overflow-x: visible;
    overflow-y: visible;
    padding: 0;
    border: 0;
    scrollbar-width: none;
    gap: 0.55rem;
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    width: auto;
    max-width: none;
    margin-left: auto;
    overflow: visible;
    white-space: nowrap;
}

.ordine-quantita-meno,
.ordine-quantita-piu,
.ordine-vai-prodotto,
.ordine-elimina-prodotto {
    width: 2rem;
    height: 2rem;
}

.ordine-quantita-numero {
    font-weight: 700;
    text-align: center;
    min-width: 1.7rem;
    font-size: 1.08rem;
}

.blocco-proposte,
.menu-nav-title,
.menu-nav,
.riepilogo-ordine {
    transform-origin: center top;
    will-change: transform, opacity;
}

.riepilogo-ordine-quantita::-webkit-scrollbar {
    display: none;
}

.ordine-vai-prodotto,
.ordine-elimina-prodotto,
.ordine-quantita-meno,
.ordine-quantita-piu {
    -webkit-tap-highlight-color: transparent;
}

/*==================================================
=  13 - PAESAGGIO FINE PAGINA                  =
==================================================*/

.paesaggio-fine-pagina {
    width: 100%;
    margin: 1.2rem auto 0;
    padding: 0;
    background: transparent;
    line-height: 0;
    overflow: hidden;
}

.paesaggio-fine-pagina img {
    display: block;
    width: min(92rem, 96%);
    height: auto;
    max-height: 18rem;
    margin: 0 auto;
    object-fit: contain;
    object-position: center bottom;
}


/*==================================================
=  14 - FOOTER                                 =
==================================================*/

.site-footer {
    width: 100%;
    margin-top: auto;
    padding: 3rem 0;
    background: #24447A;
    color: #ffffff;
}

.footer-inner {
    width: min(75rem, 88%);
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1.1fr 1fr 1.2fr;
    gap: 2.5rem;
    align-items: center;
}

.footer-col h2,
.footer-col h3 {
    margin: 0 0 1rem;
    color: #FFD700;
    font-family: "Trebuchet MS", "Segoe UI", Arial, sans-serif;
    font-weight: 500;
}

.footer-col h2 {
    font-size: 1.65rem;
}

.footer-col h3 {
    font-size: 1.35rem;
}

.footer-dati address {
    margin: 0;
    font-style: normal;
    font-size: 1rem;
    line-height: 1.7;
}

.footer-social-links {
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
}

.footer-social-link {
    display: inline-flex;
    align-items: center;
    gap: 0.7rem;
    width: fit-content;
    color: #ffffff;
    text-decoration: none;
    transition: transform .30s cubic-bezier(.25,.80,.25,1),
        color 0.2s ease;
}

.footer-social-link:hover {
    color: #FFD700;
    transform: translateX(0.2rem);
}

.footer-social-link img {
    display: block;
    width: 1.9rem;
    height: 1.9rem;
    object-fit: contain;
}

.footer-whatsapp-box {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1rem 1.15rem;
    background: #ffffff;
    color: #24447A;
    border: 0.125rem solid #E0B900;
    border-radius: 0.8rem;
    text-decoration: none;
    box-shadow: 0 0.35rem 0.8rem rgba(0, 0, 0, 0.18);
    transition: transform .30s cubic-bezier(.25,.80,.25,1),
        box-shadow 0.2s ease;
}

.footer-whatsapp-box:hover {
    transform: translateY(-0.15rem);
    box-shadow: 0 0.55rem 1rem rgba(0, 0, 0, 0.22);
}

.footer-whatsapp-icona img {
    display: block;
    width: 3rem;
    height: 3rem;
    object-fit: contain;
}

.footer-whatsapp-testo {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    min-width: 0;
}

.footer-whatsapp-testo strong {
    color: #24447A;
    font-size: 1.05rem;
}

.footer-whatsapp-testo span {
    color: #C5161D;
    font-size: 1.15rem;
    font-weight: 700;
}

.footer-whatsapp-testo small {
    color: #555555;
    font-size: 0.85rem;
    line-height: 1.35;
}

/*==================================================
=  15 - SUPPORTO E STATI VISIVI                =
==================================================*/

.prodotto-titolo-spazio {
    grid-column: 1;
    display: none;
}


/*==================================================
=  TABLET - FINO A 52rem                       =
==================================================*/
@media (max-width: 52rem) {

    /*==================================================
    =  CORNICE DECORATIVA                          =
    ==================================================*/

    .cornice-esterna {
        stroke-width: 1;
    }

    .cornice-interna {
        stroke-width: 2;
    }

    /*==================================================
    =  HEADER                                      =
    ==================================================*/
.site-header {
        min-height: 9rem;
    }

    .header-inner {
       padding: 3rem 2.5% 3.5rem;
        grid-template-columns: 1fr 2fr 1fr;
        // column-gap: 2.5%;
    }

    .header-logo img {
        max-width: 5.5rem;
    }

    .header-title img {
        max-width: 18rem;
    }

    .language-switch {
        padding: .18rem;
    }

    .language-flag {
        width: 2rem;
    }

    .header-right {
        gap: .35rem;
    }

    .header-motto {
        max-width: 7rem;
        font-size: .52rem;
        line-height: 1.45;
        letter-spacing: .08em;
    }

    .header-motto-linea {
        width: 2.8rem;
        margin-top: .35rem;
    }

    .site-header::after {
        height: 3.85rem;
    }

    /*==================================================
    =  INTRODUZIONE MENU                           =
    ==================================================*/

    .blocco-intro {
        padding: 4.55rem 0 2rem;
    }

    .blocco-intro::before {
        top: 0.9rem;
        right: -0.4rem;
        width: 7rem;
        height: 5.5rem;
        opacity: .70;
    }

    .blocco-intro::after {
        left: -0.2rem;
        bottom: 0.35rem;
        width: 5.3rem;
        height: 5.3rem;
        opacity: .70;
    }

    .intro-menu h1 {
        font-size: clamp(2.75rem, 8vw, 4rem);
    }

    .menu-note {
        font-size: 1.08rem;
        line-height: 1.7;
    }

    .menu-intro-testo {
        font-size: 1.1rem;
    }

    .nota-allergie {
        max-width: 42rem;
        padding-inline: 1rem !important;
        font-size: .82rem;
        letter-spacing: .08em;
    }

    /*==================================================
    =  LE NOSTRE PROPOSTE / NAVIGAZIONE            =
    ==================================================*/

    .menu-nav a {
        flex: 0 1 calc(50% - 0.5rem);
    }

    .blocco-proposte {
        padding: 1.5rem 0 2rem;
    }

    /*==================================================
    =  CONTENITORE MENU                            =
    ==================================================*/

    .menu-container {
        width: 88%;
        margin: 2rem auto;
    }

    /*==================================================
    =  CATEGORIE                                   =
    ==================================================*/

    .categoria-menu {
        margin-bottom: 3rem;
    }

    .categoria-menu h2 {
        margin-bottom: 1.7rem;
        font-size: 2.2rem;
    }

    .titolo-categoria {
        gap: 0.65rem;
    }

    .testo-categoria {
        max-width: 82%;
    }

    /*==================================================
    =  SCHEDE PRODOTTO                             =
    ==================================================*/

    .prodotti-grid {
        border-radius: 1rem;
        box-shadow: 0 0.45rem 1.1rem rgba(23, 63, 115, .08);
    }

    .prodotto-immagine {
        width: min(17rem, 100%);
        height: auto;
        aspect-ratio: 4 / 3;
        margin: 0 auto .2rem;
    }

    .prodotto-base {
        min-height: 0;
        gap: .5rem;
    }

    .prodotto-cuore-icona {
        width: 2rem;
        height: 2rem;
    }

    .descrizione-it {
        margin: 1rem 0 0;
        font-size: 1.05rem;
    }

    .prodotto-riga-prezzo {
        margin-top: 1rem;
        padding-top: .85rem;
    }

    .prodotto-riga-titolo {
        grid-template-columns: minmax(0, 1fr) 2.55rem;
        column-gap: .7rem;
    }

    .prodotto-riga-titolo h3 {
        font-size: 1.62rem;
    }

    .prodotto-cuore {
        width: 2.25rem;
        height: 2.25rem;
        min-width: 2.25rem;
        min-height: 2.25rem;
    }

    .prodotti-grid .prodotto-card {
        grid-template-columns: 1fr;
        gap: 0.9rem;
        padding: 1.15rem 1rem 1.55rem;
    }

    .prodotti-grid .prodotto-card:not(:last-child) {
        padding-bottom: 3.2rem;
    }

    .prodotti-grid .prodotto-card:not(:last-child)::after {
        bottom: 0.55rem;
        height: 0.44rem;
        background:
            linear-gradient(
                to right,
                #D8A91B 0%,
                #D8A91B 100%
            ) top / 100% 0.18rem no-repeat,
            linear-gradient(
                to right,
                #173F73 0%,
                #173F73 100%
            ) bottom / 100% 0.065rem no-repeat;
    }

    /*==================================================
    =  ALLERGENI PRODOTTO                          =
    ==================================================*/

    .prodotto-allergeni {
        margin-top: 0.7rem;
    }

    .allergeni-toggle,
.allergeni-assenti {
        min-height: 2rem;
        padding: .3rem .55rem;
        font-size: .76rem;
        border-radius: .4rem;
    }

    /*==================================================
    =  COMANDI PRODOTTO                            =
    ==================================================*/

    .prodotto-riga-azioni {
        gap: .65rem;
        margin-top: 0.85rem;
    }

    .prodotto-pulsanti {
        width: min(100%, 19rem);
        gap: clamp(0.55rem, 2.4vw, 1.05rem);
    }

    .aggiungi-ordine,
.ordine-prodotto {
        border-radius: .42rem;
        min-height: 3rem;
        padding: 0.68rem 1rem;
        font-size: 0.94rem;
    }

    .aggiungi-ordine,
    .ordine-prodotto {
        min-width: 0;
        width: 100%;
    }

    .torna-categorie-desktop {
        display: none !important;
    }

    .torna-categorie-mobile {
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        flex: 0 0 auto;
        width: 2.35rem;
        height: 2.35rem;
        margin-right: .7rem;
        font-size: 1.55rem;
        line-height: 1;
    }

    .prodotto-contenuto > .prodotto-riga-azioni {
        margin-top: 0.75rem;
    }

    /*==================================================
    =  RIEPILOGO ORDINE                            =
    ==================================================*/

    .riepilogo-ordine {
        width: 88%;
        margin: 0.5rem auto 2.5rem;
    }

    .riepilogo-ordine-testata h2 {
        font-size: 1.7rem;
    }

    .riepilogo-ordine-prodotto {
        grid-template-columns: 1fr;
        align-items: start;
        gap: 0.6rem;
    }

    .riepilogo-ordine-nome {
        font-size: 1.08rem;
        line-height: 1.35;
    }

    .ordine-vai-prodotto {
        margin-left: 0.82rem;
    }

    .ordine-elimina-prodotto {
        margin-left: 0.72rem;
    }

    .riepilogo-ordine-quantita {
        border-bottom: 0;
        justify-content: flex-start;
        width: max-content;
        max-width: 100%;
        margin-left: 0;
    }

    /*==================================================
    =  PAESAGGIO FINE PAGINA                       =
    ==================================================*/

    .paesaggio-fine-pagina {
        margin-top: 0.9rem;
    }

    .paesaggio-fine-pagina img {
        width: 96%;
        max-height: 13rem;
    }

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

    .footer-inner {
        grid-template-columns: 1fr 1fr;
    }

    .footer-whatsapp {
        grid-column: 1 / -1;
    }
}


/*==================================================
=  CELLULARE - FINO A 32.5rem                  =
==================================================*/
@media (max-width: 32.5rem) {

    /*==================================================
    =  CORNICE DECORATIVA                          =
    ==================================================*/

    .cornice-grid {
        --cornice-margine: 0.3cm;
        --cornice-angolo: 30px;
    }

    /*==================================================
    =  HEADER                                      =
    ==================================================*/
.site-header {
        min-height: 6rem;
    } 

    .header-inner {
        padding: 2rem 2% 3.25rem;
        grid-template-columns: 1fr 2fr 1fr;
       // column-gap: 2%;
    }

    .header-logo img {
        width: 70%;
    }

    .header-title img {
        width: 92%;
    }

    .language-switch {
        width: 50%;
    }

    .language-flag {
        width: 80%;
    }

    .header-right {
        gap: .22rem;
    }

    .header-motto {
         width: 92%;
       font-size: 1.45cqw;
        line-height: 1.4;
        letter-spacing: .04em;
    }



    .header-motto-linea {
        width: 2.2rem;
        margin-top: .25rem;
    }

    .site-header::after {
        height: 3.05rem;
    }

    /*==================================================
    =  INTRODUZIONE MENU                           =
    ==================================================*/

    .blocco-intro {
        padding: 3.65rem 0 1.55rem;
    }

    .blocco-intro::before {
        top: -1.8rem;
        right: -0.2rem;
        width: 8.5rem;
        height: 7rem;
        opacity: .70;
    }

    .blocco-intro::after {
        left: -0.1rem;
        bottom: -4.5rem;
        width: 8.5rem;
        height: 8.5rem;
        opacity: .70;
    }

    .intro-menu h1 {
        font-size: clamp(2.35rem, 11vw, 3rem);
        line-height: 1.04;
    }

    .intro-menu h1::after {
        height: 0.125rem;
    }

    .titolo-menu-divider {
        width: min(16rem, 76vw);
        margin: .72rem auto 1rem;
        gap: .5rem;
    }

    .titolo-menu-divider i {
        width: .5rem;
        height: .5rem;
    }

    .menu-note {
        font-size: 1rem;
        line-height: 1.65;
        width: 100%;
    }

    .menu-note p {
        margin-bottom: 1.2rem;
    }

    .menu-intro-testo {
        margin-bottom: 1rem !important;
        font-size: 1rem;
        line-height: 1.5;
    }

    .titolo-menu-ornamento {
        width: min(18rem, 76vw);
        margin: 1rem auto 0.95rem;
        margin-top: 0.30rem !important;
    }

    .nota-allergie {
        padding: .9rem .25rem 0 !important;
        font-size: .72rem;
        letter-spacing: .055em;
        padding-left: 0.8rem !important;
        border-left-width: 0.15rem !important;
    }

    .nota-allergie::before {
        width: 6.5rem;
    }

    /*==================================================
    =  LE NOSTRE PROPOSTE / NAVIGAZIONE            =
    ==================================================*/

    .menu-nav-title::after,
.menu-nav-divider {
        width: 13rem;
    }

    .menu-nav {
        flex-direction: column;
        gap: 0.7rem;
    }

    .menu-nav a {
        flex: none;
        width: 100%;
        min-height: 6.2rem;
        padding: 0.35rem 0.8rem 0.45rem;
        gap: 0.25rem;
    }

    .menu-nav-icona {
        height: 3.5rem;
    }

    .blocco-proposte {
        padding: 1.2rem 0 1.6rem;
    }

    .menu-nav-title {
        margin: 2rem 0 1rem;
        font-size: 1.7rem;
    }

    /*==================================================
    =  PANE E COPERTO                              =
    ==================================================*/

    .pane-coperto-pubblico {
        gap: 0.7rem;
        font-size: 0.95rem;
    }

    /*==================================================
    =  CATEGORIE                                   =
    ==================================================*/

    .categoria-menu {
        padding-block: 0.8rem;
        padding-inline: clamp(0.35rem, 2.5vw, 0.55rem);
    }

    .categoria-menu h2 {
        margin-bottom: 1.5rem;
        font-size: 1.85rem;
    }

    
    .titolo-categoria {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0.38rem;
    }

    .testo-categoria {
        display: inline-block;
        width: auto;
        max-width: min(14rem, calc(100vw - 6rem));
        padding: 0.24rem 0.65rem 0.30rem;
    }

    .testo-categoria::after {
        bottom: -0.45rem;
        width: 100%;
        height: 0.11rem;
    }


    /*==================================================
    =  SCHEDE PRODOTTO                             =
    ==================================================*/

    .prodotto-immagine {
        width: min(17rem, 100%);
        max-width: 17rem;
        margin-inline: auto;
    }

    .descrizione-it {
        font-size: 1rem;
    }

    .prodotto-prezzo {
        font-size: clamp(1.10rem, 4vw, 1.28rem);
    }

    .prodotto-riga-titolo h3 {
        font-size: clamp(1.20rem, 4.5vw, 1.42rem);
    }

    .suggerito-chef {
        font-size: 1.02rem;
    }

    .prodotti-grid .prodotto-card {
        padding:
            1rem
            clamp(0.55rem, 3vw, 0.85rem)
            1.45rem;
    }

    .prodotti-grid .prodotto-card:not(:last-child) {
        padding-bottom: 2.35rem;
    }

    .prodotti-grid .prodotto-card:not(:last-child)::after {
        bottom: 0.45rem;
        height: 0.40rem;
        background:
            linear-gradient(
                to right,
                #D8A91B 0%,
                #D8A91B 100%
            ) top / 100% 0.16rem no-repeat,
            linear-gradient(
                to right,
                #173F73 0%,
                #173F73 100%
            ) bottom / 100% 0.06rem no-repeat;
    }

    /*==================================================
    =  ALLERGENI PRODOTTO                          =
    ==================================================*/

    .prodotto-allergeni {
        margin-top: 0.75rem;
    }

    .allergeni-elenco {
        margin-top: 0.65rem;
    }

    .allergeni-lista li {
        font-size: 0.8rem;
    }

    /*==================================================
    =  COMANDI PRODOTTO                            =
    ==================================================*/

    .prodotto-riga-azioni {
        row-gap: .65rem;
        margin-top: 0.8rem;
    }

    .prodotto-pulsanti {
        grid-row: 2;
        width: 100%;
        max-width: 100%;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: clamp(0.4rem, 3vw, 0.95rem);
    }

    .aggiungi-ordine,
.ordine-prodotto {
        width: 100%;
        min-width: 0;
        max-width: 100%;
        min-height: 3.15rem;
        padding:
            0.70rem
            clamp(0.45rem, 3vw, 0.88rem);
        font-size: clamp(0.78rem, 3.2vw, 0.91rem);
    }

    .torna-categorie-mobile {
        width: 2.25rem;
        height: 2.25rem;
        margin-right: .55rem;
        font-size: 1.45rem;
    }

    /*==================================================
    =  RIEPILOGO ORDINE                            =
    ==================================================*/

    .riepilogo-ordine {
        margin-bottom: 2rem;
    }

    .riepilogo-ordine-testata {
        padding: 0.7rem 0.8rem;
    }

    .riepilogo-ordine-testata h2 {
        font-size: 1.45rem;
    }

    .riepilogo-ordine-contenuto {
        padding: 1rem 0.8rem;
    }

    .riepilogo-ordine-categoria h3 {
        font-size: 1.1rem;
    }

    .riepilogo-ordine-prodotto {
        padding: 0.45rem 0;
    }

    .ordine-vai-prodotto {
        margin-left: 0.72rem;
    }

    .ordine-elimina-prodotto {
        margin-left: 0.62rem;
    }

    .riepilogo-ordine-quantita {
        width: 100%;
        max-width: 100%;
        gap: clamp(0.3rem, 2vw, 0.5rem);
    }

    .ordine-quantita-meno,
.ordine-quantita-piu,
.ordine-vai-prodotto,
.ordine-elimina-prodotto {
        font-size: clamp(1rem, 4vw, 1.15rem);
        width: clamp(1.9rem, 8vw, 2.15rem);
        height: clamp(1.9rem, 8vw, 2.15rem);
        flex: 0 0 auto;
    }

    .ordine-quantita-numero {
        flex: 0 0 auto;
        min-width: 1.8rem;
        font-size: 1.1rem;
    }

    /*==================================================
    =  PAESAGGIO FINE PAGINA                       =
    ==================================================*/

    .paesaggio-fine-pagina {
        margin-top: 0.65rem;
    }

    .paesaggio-fine-pagina img {
        width: 100%;
        max-height: 8rem;
    }

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

    .site-footer {
        padding: 1.15rem 0;
    }

    .footer-inner {
        grid-template-columns: 1fr;
        gap: 1rem;
    }

    .footer-col h2,
.footer-col h3 {
        margin: 0;
    }

    .footer-dati address {
        font-size: 0.86rem;
        line-height: 1.35;
    }

    .footer-social-links {
        align-items: flex-start;
        gap: 0.32rem;
    }

    .footer-social-link {
        gap: 0.45rem;
        font-size: 0.86rem;
    }

    .footer-social-link img {
        width: 1.45rem;
        height: 1.45rem;
    }

    .footer-whatsapp-box {
        gap: 0.7rem;
        padding: 0.65rem 0.8rem;
        text-align: left;
    }

    .footer-whatsapp-icona img {
        width: 2.2rem;
        height: 2.2rem;
    }

    .footer-whatsapp-testo {
        gap: 0.08rem;
    }

    .footer-whatsapp-testo strong {
        font-size: 0.92rem;
    }

    .footer-whatsapp-testo span {
        font-size: 0.98rem;
    }

    .footer-whatsapp-testo small {
        font-size: 0.74rem;
        line-height: 1.2;
    }

    .footer-whatsapp {
        grid-column: auto;
    }

    .footer-dati,
.footer-social {
        display: grid;
        grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
        align-items: start;
        column-gap: 1rem;
        text-align: left;
    }

    .footer-dati h2 {
        display: flex;
        flex-direction: column;
        align-items: center;
        font-size: 1.2rem;
        line-height: 1.15;
    }

    .footer-social h3 {
        font-size: 1.05rem;
        line-height: 1.2;
    }
}