/********************************************
 *  RISTORANTE - STILI GENERALI
 *  Layout coordinato con Camere
 ********************************************/

/* Contenitore principale pagina ristorante */
.ve-restaurant-page {
    background-color: #faf6f0;
    color: #3a2c24;
}

/* Sezioni chiare e a contrasto */
.ve-restaurant-hero,
.ve-restaurant-gallery,
.ve-restaurant-events,
.ve-dish-hero {
    background-color: #faf6f0;
}

.ve-restaurant-intro,
.ve-restaurant-menu,
.ve-restaurant-booking,
.ve-dish-main,
.ve-archive-dishes-grid,
.ve-dish-allergens {
    background-color: #f3ebe0;
}

/* Contenitore coerente con le Camere */
.ve-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 1.5rem;
}

/********************************************
 *  TITOLI E TESTATE SEZIONI
 ********************************************/

.ve-section-title {
    font-family: "Cinzel Decorative", "Cinzel", serif;
    font-weight: 400;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    text-align: center;
    font-size: 1.6rem;
    margin: 0 0 0.5rem;
    color: #2d2118;
}

.ve-section-header {
    text-align: center;
    margin-bottom: 2.5rem;
}

.ve-section-divider {
    width: 80px;
    height: 1px;
    background: linear-gradient(to right, transparent, #b88b3c, transparent);
    margin: 0.75rem auto 1.25rem;
}

/********************************************
 *  HERO RISTORANTE
 ********************************************/

.ve-restaurant-hero {
    padding: 4rem 0 3rem;
}

.ve-restaurant-hero-subtitle {
    font-family: "Cinzel", serif;
    font-size: 1rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #7c6755;
    max-width: 640px;
    margin: 0.5rem auto 0;
}

/********************************************
 *  LAYOUT DUE COLONNE INTRO / INFO
 ********************************************/

/* Colonne 55% / 45% */
.ve-two-columns {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
    gap: 2.5rem;
    align-items: flex-start;
}

/* Override layout colonne SOLO per le sezioni del ristorante
   (più specifico di .ve-two-columns in style.css) */
.ve-restaurant-intro .ve-two-columns,
.ve-restaurant-booking .ve-two-columns {
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr); /* ≈ 55% / 45% */
    gap: 2.5rem;
}


.ve-menu-columns {
    padding: 3rem 0;
}

/* Intro box (testo narrativo) */
.ve-intro-box,
.ve-restaurant-intro-box,
.ve-textbox {
    background-color: #fffaf3;
    border-radius: 14px;
    padding: 2rem 2.25rem;
    box-shadow: 0 18px 35px rgba(37, 23, 8, 0.08);
    border: 1px solid rgba(184, 139, 60, 0.15);
}

.ve-intro-box p,
.ve-restaurant-intro-box p,
.ve-textbox p {
    margin-bottom: 0.9rem;
    line-height: 1.7;
}

/* Colonna info & prenotazioni */
.ve-restaurant-info-col {
    position: relative;
}

/* Box info + box modulo allineati in colonna destra
   (stessa larghezza, centrati nella colonna) */
.ve-restaurant-note,
.ve-restaurant-booking-form {
    width: 100%;
    max-width: 460px;
    margin-left: auto;
    margin-right: 0;
}

/* Box INFO & PRENOTAZIONI */
.ve-restaurant-note {
    background-color: #fff8f0;
    color: #3a2c24;
    border-radius: 16px;
    padding: 1.75rem 2rem;
    box-shadow: 0 18px 32px rgba(120, 92, 65, 0.16);
    border: 1px solid rgba(184, 139, 60, 0.22);
}

.ve-restaurant-note h3 {
    font-family: "Cinzel Decorative", serif;
    font-size: 1.1rem;
    margin-top: 0;
    margin-bottom: 1rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.ve-restaurant-info-list {
    list-style: none;
    padding: 0;
    margin: 0 0 1rem;
}

.ve-restaurant-info-list li {
    margin-bottom: 0.9rem;
    font-size: 0.95rem;
}

.ve-restaurant-info-list strong {
    display: block;
    font-weight: 600;
    margin-bottom: 0.1rem;
    color: #fef7ec;
}

.ve-restaurant-info-list a {
    color: #fbe5b9;
    text-decoration: none;
    border-bottom: 1px dotted rgba(251, 229, 185, 0.5);
}

.ve-restaurant-info-list a:hover {
    border-bottom-style: solid;
}

.ve-menu-note {
    font-size: 0.9rem;
    opacity: 0.85;
}

/********************************************
 *  SEZIONE SLIDER
 ********************************************/

.ve-restaurant-slider {
    padding: 3rem 0;
}

.ve-restaurant-slider-wrapper {
    max-width: 980px;
    margin: 0 auto;
}

/********************************************
 *  SEZIONE MENÙ - GRIGLIA PIATTI
 ********************************************/

.ve-restaurant-menu {
    padding: 3.5rem 0;
}

.ve-restaurant-menu-intro {
    max-width: 720px;
    margin: 0 auto 2rem;
    font-size: 0.98rem;
    line-height: 1.8;
    color: #4a3a2b;
}

/* Griglia card piatti */
.ve-restaurant-grid-wrapper {
    margin-top: 1.5rem;
}

.ve-restaurant-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.75rem;
}

.ve-dish-card {
    background-color: #fffdf8;
    border-radius: 18px;
    box-shadow: 0 16px 32px rgba(36, 24, 10, 0.11);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    border: 1px solid rgba(191, 154, 82, 0.18);
    transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}

.ve-dish-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 22px 40px rgba(36, 24, 10, 0.18);
    border-color: rgba(191, 154, 82, 0.4);
}

.ve-dish-image-link {
    display: block;
    overflow: hidden;
}

.ve-dish-thumb {
    width: 100%;
    height: 220px;
    object-fit: cover;
    display: block;
    transition: transform 0.6s ease;
}

.ve-dish-card:hover .ve-dish-thumb {
    transform: scale(1.06);
}

.ve-dish-body {
    padding: 1.4rem 1.5rem 1.5rem;
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
}

.ve-dish-title {
    font-family: "Cinzel", serif;
    font-size: 1.05rem;
    margin: 0;
}

.ve-dish-title a {
    color: #2e2217;
    text-decoration: none;
}

.ve-dish-title a:hover {
    text-decoration: underline;
}

.ve-dish-subtitle {
    font-size: 0.92rem;
    color: #6a5645;
    margin: 0;
}

.ve-dish-footer {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-top: 0.4rem;
    gap: 0.75rem;
}

.ve-dish-price {
    font-family: "Cinzel", serif;
    font-size: 1rem;
    color: #b88b3c;
    white-space: nowrap;
}

/* Tag dietetici */
.ve-dish-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
    font-size: 0.78rem;
}

.ve-dish-tag {
    border-radius: 999px;
    padding: 0.2rem 0.55rem;
    background-color: #f4e3c8;
    color: #5a4430;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

/********************************************
 *  LISTA TESTUALE STILE MENÙ
 ********************************************/

.ve-restaurant-menu-lists {
    margin-top: 2.5rem;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2.25rem;
}

.ve-restaurant-menu-block {
    background-color: #fffaf3;
    border-radius: 16px;
    padding: 1.9rem 2rem;
    box-shadow: 0 16px 32px rgba(36, 24, 10, 0.09);
    border: 1px solid rgba(191, 154, 82, 0.15);
}

.ve-restaurant-menu-heading {
    font-family: "Cinzel Decorative", serif;
    font-size: 1.05rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin: 0 0 1.1rem;
    color: #3a2c24;
}

.ve-menu-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.ve-menu-list li {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 1rem;
    padding: 0.35rem 0;
    border-bottom: 1px dashed rgba(0, 0, 0, 0.06);
}

.ve-menu-list li:last-child {
    border-bottom: none;
}

.ve-menu-dish-name {
    font-size: 0.96rem;
    color: #3d2f23;
}

.ve-menu-dish-name small {
    font-size: 0.82rem;
    color: #7b6656;
}

.ve-menu-price {
    font-family: "Cinzel", serif;
    font-size: 0.95rem;
    color: #b88b3c;
    white-space: nowrap;
}

/********************************************
 *  GALLERIA MODULA
 ********************************************/

.ve-restaurant-gallery {
    padding: 3.5rem 0;
}

.ve-restaurant-gallery-wrapper {
    max-width: 1100px;
    margin: 0 auto;
}

/********************************************
 *  SEZIONE PRENOTAZIONE TAVOLO
 ********************************************/

.ve-restaurant-booking {
    padding: 3.5rem 0;
}

/* la colonna sinistra usa tutta la larghezza disponibile,
   come il box "Tra i muretti..." */
.ve-restaurant-booking-text {
    /* nessun max-width qui, così il box "Prenota un tavolo"
       ha la stessa larghezza del box intro sopra */
}

/* box modulo CF7 (colonna destra, stesso allineamento del box info) */
.ve-restaurant-booking-form {
    background-color: #fffdf8;
    border-radius: 18px;
    padding: 2rem 2.25rem;
    box-shadow: 0 18px 40px rgba(36, 24, 10, 0.13);
    border: 1px solid rgba(191, 154, 82, 0.2);
}

/********************************************
 *  SINGOLO PIATTO
 ********************************************/

.ve-single-dish-page {
    background-color: #faf6f0;
}

.ve-dish-hero {
    padding: 3.5rem 0 2.5rem;
}

.ve-dish-header {
    max-width: 760px;
    margin: 0 auto 0;
}

.ve-dish-title {
    font-size: 1.7rem;
}

.ve-dish-subtitle {
    font-size: 0.98rem;
    color: #6c5947;
    margin-top: 0.4rem;
}

.ve-dish-categories {
    margin-bottom: 0.7rem;
}

.ve-dish-category {
    display: inline-block;
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    padding: 0.2rem 0.6rem;
    border-radius: 999px;
    border: 1px solid rgba(184, 139, 60, 0.7);
    color: #7b5f3c;
    margin: 0 0.25rem;
}

.ve-dish-badge {
    font-size: 0.85rem;
    color: #b88b3c;
    margin-top: 0.6rem;
}

/* Sezione principale singolo piatto */
.ve-dish-main {
    padding: 3.2rem 0 3.5rem;
}

.ve-dish-image-col {
    position: relative;
}

.ve-dish-image-wrapper {
    position: relative;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 18px 40px rgba(36, 24, 10, 0.15);
}

.ve-dish-main-thumb {
    display: block;
    width: 100%;
    height: auto;
}

.ve-dish-price-badge {
    position: absolute;
    right: 1rem;
    bottom: 1rem;
    background: rgba(37, 26, 14, 0.9);
    color: #fce7c0;
    padding: 0.45rem 0.9rem;
    border-radius: 999px;
    font-family: "Cinzel", serif;
    font-size: 0.95rem;
}

.ve-dish-tags-wrapper {
    margin-top: 1rem;
    font-size: 0.85rem;
}

.ve-dish-tags-label {
    font-weight: 600;
    margin-right: 0.3rem;
}

.ve-dish-content-col .ve-textbox {
    margin-bottom: 1.5rem;
}

.ve-dish-backlink {
    margin-top: 0.5rem;
}

/* Pulsante "torna al menù" (assume classi ve-btn già settate altrove) */
.ve-btn.ve-btn-ghost {
    display: inline-block;
    padding: 0.55rem 1.4rem;
    border-radius: 999px;
    border: 1px solid #b88b3c;
    background-color: transparent;
    color: #5c432b;
    font-size: 0.9rem;
    text-decoration: none;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.ve-btn.ve-btn-ghost:hover {
    background-color: #b88b3c;
    color: #fffaf3;
}

/********************************************
 *  ARCHIVIO PIATTI
 ********************************************/

.ve-archive-dishes-hero {
    padding: 3.2rem 0 2.4rem;
}

.ve-archive-dishes-intro {
    max-width: 720px;
    margin: 0 auto;
    font-size: 0.95rem;
    line-height: 1.8;
    color: #5b4837;
}

.ve-archive-dishes-grid {
    padding: 3rem 0 3.5rem;
}

/* Riutilizziamo la stessa griglia delle card piatto */
.ve-archive-dishes-grid-inner {
    margin-top: 1.5rem;
}

/********************************************
 *  SEZIONE ALLERGENI SINGOLO PIATTO
 ********************************************/

.ve-dish-allergens {
    padding: 3rem 0 3.5rem;
}

/********************************************
 *  ANIMAZIONI SCROLL
 ********************************************/

.ve-animate {
    opacity: 0;
    transform: translateY(18px);
    transition: opacity 0.6s ease, transform 0.6s ease;
}

.ve-animate.ve-in-view {
    opacity: 1;
    transform: translateY(0);
}

/********************************************
 *  RESPONSIVE
 ********************************************/

@media (max-width: 991px) {

    .ve-two-columns {
        grid-template-columns: 1fr;
    }

    .ve-restaurant-booking-form {
        margin-top: 2rem;
    }

    .ve-restaurant-menu-lists {
        grid-template-columns: 1fr;
    }

    .ve-restaurant-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ve-restaurant-note,
    .ve-restaurant-booking-form {
        max-width: 100%;
        margin-left: 0;
        margin-right: 0;
    }
}

@media (max-width: 640px) {

    .ve-restaurant-hero {
        padding: 3rem 0 2rem;
    }

    .ve-section-title {
        font-size: 1.35rem;
    }

    .ve-restaurant-intro,
    .ve-restaurant-menu,
    .ve-restaurant-booking,
    .ve-dish-main,
    .ve-archive-dishes-grid,
    .ve-restaurant-gallery,
    .ve-dish-allergens {
        padding: 2.5rem 0;
    }

    .ve-intro-box,
    .ve-restaurant-intro-box,
    .ve-textbox,
    .ve-restaurant-note,
    .ve-restaurant-menu-block,
    .ve-restaurant-booking-form {
        padding: 1.5rem 1.6rem;
    }

    .ve-restaurant-grid {
        grid-template-columns: 1fr;
    }

    .ve-dish-price-badge {
        right: 0.75rem;
        bottom: 0.75rem;
        font-size: 0.85rem;
    }
}

/********************************************
 *  CF7 – FORM PRENOTAZIONE
 ********************************************/

.ve-cf7-row {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    margin-bottom: 0.9rem;
}

.ve-cf7-row-two .ve-cf7-field {
    flex: 1 1 calc(50% - 0.5rem);
}

.ve-cf7-field label {
    display: block;
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-bottom: 0.25rem;
    color: #6a5645;
}

.ve-cf7-field input,
.ve-cf7-field select,
.ve-cf7-field textarea {
    width: 100%;
    font-size: 0.95rem;
    padding: 0.5rem 0.7rem;
    border-radius: 8px;
    border: 1px solid rgba(130, 104, 79, 0.35);
    background-color: #fffdf8;
}

.ve-cf7-field textarea {
    min-height: 110px;
    resize: vertical;
}

.ve-cf7-privacy {
    font-size: 0.85rem;
}

.ve-cf7-submit-row {
    text-align: right;
}

/* Pulsante invio */
.ve-restaurant-booking-form input[type="submit"] {
    border-radius: 999px;
    background-color: #b88b3c;
    border: none;
    color: #fffaf3;
    font-family: "Cinzel", serif;
    font-size: 0.9rem;
    padding: 0.6rem 1.6rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    cursor: pointer;
}

.ve-restaurant-booking-form input[type="submit"]:hover {
    background-color: #a5782f;
}

/* Responsive CF7 */
@media (max-width: 640px) {
    .ve-cf7-row-two .ve-cf7-field {
        flex: 1 1 100%;
    }
}

/* Titolo sopra il modulo CF7 */
.ve-form-title {
    font-family: "Cinzel Decorative", serif;
    font-size: 1.1rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin: 0 0 1rem;
    color: #3a2c24;
    text-align: center;
}

.ve-form-title::after {
    content: "";
    display: block;
    margin: 0.45rem auto 1rem;
    width: 60px;
    height: 1px;
    background: linear-gradient(to right, transparent, #b88b3c, transparent);
    opacity: 0.8;
}


/* Frase aggiuntiva sotto il testo introduttivo */
.ve-booking-extra {
    margin-top: 0.8rem;
    font-size: 0.95rem;
    color: #6b5646;
    line-height: 1.6;
}

/* Stessa larghezza per i box della colonna destra:
   "Info & Prenotazioni" + "Modulo di prenotazione" */
.ve-restaurant-intro .ve-restaurant-info-col .ve-restaurant-note,
.ve-restaurant-booking .ve-restaurant-booking-form {
    max-width: 460px;
    margin-left: auto;
    margin-right: 0;
}
/* CORREZIONE DEFINITIVA: larghezza uniforme dei box nelle due colonne */

.ve-restaurant-intro .ve-intro-box,
.ve-restaurant-intro .ve-restaurant-intro-box,
.ve-restaurant-booking .ve-textbox {
    width: 100% !important;
    max-width: 100% !important;
}
/* Allineamento orizzontale colonna destra:
   "Info & Prenotazioni" e "Modulo di prenotazione" sulla stessa linea */
.ve-restaurant-intro .ve-restaurant-info-col .ve-restaurant-note,
.ve-restaurant-booking .ve-restaurant-booking-form {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/********************************************
 *  VERSIONE ELEGANTE – BOX RISTORANTE
 *  Palette oro/crema + bordo fine + ombra soft
 ********************************************/

/* Palette elegante */
:root {
    --ve-rist-bg: #f9f3ea; /* Crema leggero */
    --ve-rist-border: rgba(180, 140, 80, 0.55); /* Oro-marrone delicato */
    --ve-rist-shadow: 0 14px 32px rgba(110, 85, 60, 0.16); /* Ombra calda e morbida */
}

/* Applica lo stile ai box principali */
.ve-restaurant-intro .ve-intro-box,
.ve-restaurant-intro .ve-restaurant-intro-box,
.ve-restaurant-intro .ve-restaurant-note,
.ve-restaurant-booking .ve-textbox,
.ve-restaurant-booking .ve-restaurant-booking-form {
    background: var(--ve-rist-bg) !important;
    border: 1px solid var(--ve-rist-border) !important;
    box-shadow: var(--ve-rist-shadow) !important;
    border-radius: 18px !important;
    backdrop-filter: blur(1.3px);
}

/********************************************
 *  FINITURE TIPOGRAFICHE E DECORATIVE
 ********************************************/

/* Titoli box: più eleganti, tipografia uniforme */
.ve-restaurant-intro h3,
.ve-restaurant-booking h2,
.ve-form-title,
.ve-restaurant-note h3 {
    letter-spacing: 0.12em;
    font-weight: 400;
    font-size: 1.15rem;
    color: #3a2c24;
}

/********************************************
 *  DETTAGLI DI FINITURA (optional eleganza)
 ********************************************/

/* Linea decorativa oro molto fine sotto i titoli (solo dove serve)
   -> niente doppio decoro in Info & Prenotazioni e Prenota un Tavolo */
.ve-restaurant-intro .ve-intro-box h2::after {
    content: "";
    display: block;
    margin: 0.45rem auto 0.9rem;
    width: 60px;
    height: 1px;
    background: linear-gradient(to right, transparent, #b88b3c, transparent);
    opacity: 0.8;
}

/* Maggiore ariosità nei paragrafi */
.ve-intro-box p,
.ve-restaurant-intro-box p,
.ve-textbox p {
    line-height: 1.72;
}

/********************************************
 *  HOVER EFFETTO DELICATO (premium)
 ********************************************/
.ve-restaurant-intro .ve-intro-box:hover,
.ve-restaurant-intro .ve-restaurant-intro-box:hover,
.ve-restaurant-intro .ve-restaurant-note:hover,
.ve-restaurant-booking .ve-textbox:hover,
.ve-restaurant-booking .ve-restaurant-booking-form:hover {
    transform: translateY(-4px);
    transition: 0.35s ease;
    box-shadow: 0 22px 45px rgba(110, 85, 60, 0.22) !important;
}
/* Centrare titolo + decorazione della sezione Eventi */
.ve-restaurant-events .ve-textbox {
    text-align: center;
}

.ve-restaurant-events .ve-section-divider {
    margin-left: auto;
    margin-right: auto;
}
/********************************************
 *  BOX ELEGANTE PER SLIDER – VERSIONE PREMIUM
 ********************************************/

/********************************************
 *  BOX ELEGANTE PER SLIDER – VERSIONE PREMIUM
 ********************************************/

.ve-restaurant-slider-wrapper {
    background: #f9f3ea;
    border: 1px solid rgba(180,140,80,0.55);
    box-shadow: 0 14px 32px rgba(110,85,60,0.16);
    border-radius: 18px;
    padding: 1.75rem;
    max-width: 1180px;
    margin: 0 auto 2.5rem;
    box-sizing: border-box;
    overflow: hidden; /* se qualcosa prova a uscire, viene tagliato */
}

/* facciamo aderire bene lo slider ai bordi arrotondati */
.ve-restaurant-slider-wrapper .n2-section-smartslider {
    border-radius: 14px;
    overflow: hidden;
    margin: 0;
}


/* per evitare che lo slider tocchi i bordi */
.ve-restaurant-slider-wrapper .n2-section-smartslider {
    border-radius: 14px;
    overflow: hidden;
}

/* migliora animazione “box elegante” */
.ve-restaurant-slider-wrapper.ve-animate {
    transition: all 0.5s ease;
}

.ve-restaurant-slider-wrapper.ve-in-view {
    transform: translateY(0);
    opacity: 1;
}

/* slider thumbnail container stilizzato */
.ve-restaurant-slider-wrapper .n2-ss-slider-3 {
    border-radius: 12px;
    overflow: hidden;
}
/********************************************
 *  BOX ELEGANTE PER GALLERIA MODULA
 ********************************************/

.ve-restaurant-gallery-wrapper {
    background: #f9f3ea; /* stesso crema elegante dei box */
    border: 1px solid rgba(180,140,80,0.55); /* bordo oro-marrone delicato */
    box-shadow: 0 14px 32px rgba(110,85,60,0.16); /* ombra morbida */
    border-radius: 18px;
    padding: 1.75rem;
    max-width: 1180px;
    margin: 0 auto 3rem;
    box-sizing: border-box;
}

/* arrotonda e contiene la galleria Modula */
.ve-restaurant-gallery-wrapper .modula {
    border-radius: 14px;
    overflow: hidden;
}
/* Colore email leggibile nel box Info & Prenotazioni */
.ve-restaurant-note a {
    color: #593f2a !important;  /* marrone elegante, molto leggibile */
    font-weight: 600;
}
.ve-restaurant-note a:hover {
    color: #b88b3c !important; /* oro elegante al passaggio */
}
/********************************************
 *  BOX HERO SOTTO "RISTORANTE"
 ********************************************/

.ve-restaurant-hero-box {
    max-width: 1100px;              /* larghezza simile all'area dei due box sottostanti */
    margin: 2rem auto 0;            /* centrato sotto il titolo */
    padding: 1.75rem 2.25rem;
    background: #f9f3ea;            /* crema elegante */
    border: 1px solid rgba(180,140,80,0.55); /* bordo oro-marrone delicato */
    box-shadow: 0 14px 32px rgba(110,85,60,0.16); /* ombra morbida */
    border-radius: 18px;
    box-sizing: border-box;
}

.ve-restaurant-hero-box p {
    margin: 0;
    font-size: 0.98rem;
    line-height: 1.8;
    color: #4a3929;
    text-align: center;
}
/* Centrare decorazione in "PRENOTA UN TAVOLO" */
.ve-restaurant-booking-text .ve-section-header,
.ve-restaurant-booking-text {
    text-align: center !important;
}

.ve-restaurant-booking-text .ve-section-divider {
    margin-left: auto !important;
    margin-right: auto !important;
}
/* Centrare il decoro dentro al box "Info & Prenotazioni" */
.ve-restaurant-note h3 {
    text-align: center;
}

.ve-restaurant-note .ve-section-divider {
    margin-left: auto;
    margin-right: auto;
}
/* REMOVE AUTO DECORS */
.ve-restaurant-booking h2::after,
.ve-restaurant-note h3::after,
.ve-form-title::before,
.ve-form-title::after {
    content: none !important;
    display: none !important;
}

/* CENTER INFO & PRENOTAZIONI */
.ve-restaurant-note h3,
.ve-restaurant-note .ve-section-divider {
    text-align: center;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* CENTER PRENOTA UN TAVOLO */
.ve-restaurant-booking-text h2,
.ve-restaurant-booking-text .ve-section-divider {
    text-align: center;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* CF7 FORM DECORATION */
.ve-restaurant-booking-form .ve-section-divider {
    margin-left: auto !important;
    margin-right: auto !important;
}
/* === FORZATURA FINALE: decoro centrato in INFO & PRENOTAZIONI === */
.ve-restaurant-note {
    text-align: center !important;   /* centra tutto il contenuto */
}

.ve-restaurant-note .ve-section-divider {
    display: block !important;
    margin-left: auto !important;
    margin-right: auto !important;
    float: none !important;          /* evita trascinamenti dalle colonne */
}

/****************************************************
 * BOX ELEGANTE - Sotto "LA NOSTRA CUCINA"
 ****************************************************/
.ve-restaurant-menu-intro-box {
    max-width: 1100px;
    margin: 2rem auto 2.5rem;
    padding: 1.75rem 2.2rem;
    background: #f9f3ea;
    border: 1px solid rgba(180,140,80,0.55);
    box-shadow: 0 14px 32px rgba(110,85,60,0.16);
    border-radius: 18px;
    box-sizing: border-box;
    text-align: center;
}

.ve-restaurant-menu-intro-box p {
    margin: 0;
    color: #4a3929;
    font-size: 1rem;
    line-height: 1.65;
}
/****************************************************
 * BOX ELEGANTE – "Eventi & Occasioni speciali"
 ****************************************************/
.ve-restaurant-events-box {
    max-width: 1100px;
    margin: 2rem auto 3rem;
    padding: 1.75rem 2.2rem;
    background: #f9f3ea; /* stessa crema degli altri box */
    border: 1px solid rgba(180,140,80,0.55);
    box-shadow: 0 14px 32px rgba(110,85,60,0.16);
    border-radius: 18px;
    box-sizing: border-box;
    text-align: center;
}

.ve-restaurant-events-box p {
    margin: 0;
    color: #4a3929;
    font-size: 1rem;
    line-height: 1.7;
}
/********************************************
 *  TITOLI CENTRATI, TESTI NEI BOX A SINISTRA
 ********************************************/

/* 1. Testo hero sotto "RISTORANTE": resta centrato */
.ve-restaurant-hero-box p {
    text-align: center !important;
}

/* 2. BOX INTRO RISTORANTE (colonna sinistra, "Tra i muretti..." ecc.) */
.ve-restaurant-intro .ve-intro-box p,
.ve-restaurant-intro .ve-restaurant-intro-box p {
    text-align: left !important;
}

/* 3. BOX INFO & PRENOTAZIONI: titolo + decoro centrati, contenuto a sinistra */
.ve-restaurant-note h3,
.ve-restaurant-note .ve-section-divider {
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.ve-restaurant-note,
.ve-restaurant-note p,
.ve-restaurant-note ul,
.ve-restaurant-note li,
.ve-restaurant-note a {
    text-align: left !important;
}

/* 4. BOX INTRO "LA NOSTRA CUCINA" */
.ve-restaurant-menu-intro-box p {
    text-align: left !important;
}

/* 5. BOX EVENTI & OCCASIONI SPECIALI */
.ve-restaurant-events-box p {
    text-align: left !important;
}

/* 6. BOX "PRENOTA UN TAVOLO" (testo descrittivo) */
.ve-restaurant-booking-text .ve-section-title,
.ve-restaurant-booking-text .ve-section-divider {
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.ve-restaurant-booking .ve-textbox p,
.ve-restaurant-booking .ve-textbox ul,
.ve-restaurant-booking .ve-textbox li {
    text-align: left !important;
}

/* 7. BOX MODULO DI PRENOTAZIONE (CF7) */
.ve-restaurant-booking-form p,
.ve-restaurant-booking-form li,
.ve-restaurant-booking-form label {
    text-align: left !important;
}

/* Il decoro del titolo del form (se usi ve-section-divider) resta centrato */
.ve-restaurant-booking-form .ve-section-divider {
    margin-left: auto !important;
    margin-right: auto !important;
}
