/*
Theme Name: Il Vicolo
Theme URI: https://osteriailvicolo.it/
Description: Tema child di Twenty Twenty-Five per Osteria Pizzeria Il Vicolo, Siena. Osteria contemporanea: notte, mattoni e luce di lanterna.
Author: Uccio
Template: twentytwentyfive
Version: 1.0.1
Requires at least: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: ilvicolo-child
*/

:root {
	--vc-notte: var(--wp--preset--color--notte, #17120E);
	--vc-brace: var(--wp--preset--color--brace, #241C16);
	--vc-crema: var(--wp--preset--color--crema, #F4EDE1);
	--vc-carta: var(--wp--preset--color--carta, #FBF7F0);
	--vc-oro: var(--wp--preset--color--oro, #C69C6E);
	--vc-oro-scuro: var(--wp--preset--color--oro-scuro, #8A5F35);
	--vc-ink: var(--wp--preset--color--inchiostro, #1F1813);
	--vc-pietra: var(--wp--preset--color--pietra, #B9AC9C);
	--vc-serif: var(--wp--preset--font-family--fraunces, Fraunces, Georgia, serif);
	--vc-sans: var(--wp--preset--font-family--manrope, Manrope, system-ui, sans-serif);
	--vc-gutter: clamp(1rem, 4vw, 2.5rem);
	--vc-wide: 1240px;
	--vc-radius: 4px;
	--vc-ease: cubic-bezier(.2, .7, .2, 1);
}

html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; overflow-x: clip; }
img { max-width: 100%; height: auto; display: block; }
::selection { background: var(--vc-oro); color: var(--vc-notte); }
:where(a, button, summary):focus-visible { outline: 2px solid var(--vc-oro); outline-offset: 3px; border-radius: 2px; }

/* Twenty Twenty-Five aggiunge spazio tra header/main/footer: lo azzeriamo */
.wp-site-blocks > * { margin-block-start: 0; }
main.vc-main { margin: 0; padding: 0; }
.vc-main > * { margin-block: 0; }

/* ---------- Sezioni ---------- */
.vc-section {
	padding: clamp(4rem, 9vw, 8rem) var(--vc-gutter);
	position: relative;
}
.vc-section > * { max-width: var(--vc-wide); margin-inline: auto; }
.vc-section > * + * { margin-block-start: 1.25rem; }
.vc-dark { background: var(--vc-notte); color: var(--vc-carta); }
.vc-dark-2 { background: var(--vc-brace); color: var(--vc-carta); }
.vc-cream { background: var(--vc-crema); color: var(--vc-ink); }
.vc-paper { background: var(--vc-carta); color: var(--vc-ink); }
.vc-dark a:not(.wp-element-button), .vc-dark-2 a:not(.wp-element-button) { color: var(--vc-oro); }
.vc-dark a:not(.wp-element-button):hover, .vc-dark-2 a:not(.wp-element-button):hover { color: var(--vc-carta); }

.vc-eyebrow {
	font-family: var(--vc-sans);
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: var(--vc-oro-scuro);
	display: flex; align-items: center; gap: .9rem;
	margin: 0;
}
.vc-eyebrow::before { content: ""; width: 2.25rem; height: 1px; background: currentColor; }
.vc-dark .vc-eyebrow, .vc-dark-2 .vc-eyebrow, .vc-hero .vc-eyebrow { color: var(--vc-oro); }
.vc-center .vc-eyebrow { justify-content: center; }
.vc-center .vc-eyebrow::after { content: ""; width: 2.25rem; height: 1px; background: currentColor; }

.vc-title { max-width: 18ch; }
.vc-title em, .vc-hero :where(h1,h2) em { font-style: italic; color: var(--vc-oro); font-weight: 300; }
.vc-cream .vc-title em, .vc-paper .vc-title em { color: var(--vc-oro-scuro); }
.vc-lead { font-size: clamp(1.1rem, 1.6vw, 1.3rem); line-height: 1.6; max-width: 58ch; }
.vc-dark .vc-lead, .vc-dark-2 .vc-lead, .vc-dark p, .vc-dark-2 p { color: var(--vc-pietra); }
.vc-dark :where(h1,h2,h3,h4), .vc-dark-2 :where(h1,h2,h3,h4) { color: var(--vc-carta); }
.vc-center { text-align: center; }
.vc-center .vc-title, .vc-center .vc-lead { margin-inline: auto; }
.vc-center .wp-block-buttons { justify-content: center; }
.vc-head { max-width: var(--vc-wide); }
.vc-head > * + * { margin-block-start: 1.1rem; }

/* ---------- Bottoni ---------- */
.wp-block-buttons { display: flex; flex-wrap: wrap; gap: .75rem; }
.wp-element-button, .wp-block-button__link {
	transition: background-color .25s var(--vc-ease), color .25s var(--vc-ease), transform .25s var(--vc-ease), border-color .25s;
	text-decoration: none;
	display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
	min-height: 48px;
}
.wp-block-button__link:hover { transform: translateY(-1px); }
.vc-btn-ghost .wp-block-button__link {
	background: transparent !important;
	color: var(--vc-carta) !important;
	border: 1px solid rgba(251, 247, 240, .45);
}
.vc-btn-ghost .wp-block-button__link:hover { border-color: var(--vc-oro); color: var(--vc-oro) !important; }
.vc-cream .vc-btn-ghost .wp-block-button__link, .vc-paper .vc-btn-ghost .wp-block-button__link { color: var(--vc-ink) !important; border-color: rgba(31, 24, 19, .35); }
.vc-cream .vc-btn-ghost .wp-block-button__link:hover, .vc-paper .vc-btn-ghost .wp-block-button__link:hover { border-color: var(--vc-ink); color: var(--vc-ink) !important; }
.vc-cream .vc-btn-dark .wp-block-button__link, .vc-paper .vc-btn-dark .wp-block-button__link { background: var(--vc-notte); color: var(--vc-carta); }
.vc-cream .vc-btn-dark .wp-block-button__link:hover, .vc-paper .vc-btn-dark .wp-block-button__link:hover { background: var(--vc-oro-scuro); color: var(--vc-carta); }
.vc-btn-off .wp-block-button__link { opacity: .45; pointer-events: none; cursor: not-allowed; }

/* ---------- Header ---------- */
.vc-header {
	position: sticky; top: 0; z-index: 50;
	background: rgba(23, 18, 14, .92);
	-webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
	border-bottom: 1px solid rgba(198, 156, 110, .18);
	color: var(--vc-carta);
}
.admin-bar .vc-header { top: 32px; }
.vc-header__inner {
	max-width: var(--vc-wide); margin: 0 auto;
	padding: .7rem var(--vc-gutter);
	display: flex; align-items: center; justify-content: space-between; gap: 1.5rem;
}
.vc-header__inner > * { margin: 0 !important; }
.vc-logo img { width: clamp(118px, 12vw, 150px); height: auto; }
.vc-header .wp-block-navigation { font-size: .92rem; font-weight: 600; letter-spacing: .02em; gap: 1.75rem; }
.vc-header .wp-block-navigation a { color: var(--vc-carta); text-decoration: none; padding-block: .4rem; background-image: linear-gradient(var(--vc-oro), var(--vc-oro)); background-size: 0 1px; background-position: 0 100%; background-repeat: no-repeat; transition: background-size .3s var(--vc-ease), color .2s; }
.vc-header .wp-block-navigation a:hover, .vc-header .wp-block-navigation .current-menu-item > a { color: var(--vc-oro); background-size: 100% 1px; }
.vc-header .wp-block-navigation__responsive-container.is-menu-open { background: var(--vc-notte) !important; color: var(--vc-carta) !important; padding: 2rem var(--vc-gutter); }
.vc-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { font-family: var(--vc-serif); font-size: 2rem; font-weight: 400; gap: 1.1rem; }
.vc-header .wp-block-navigation__responsive-container-open, .vc-header .wp-block-navigation__responsive-container-close { color: var(--vc-carta); }
.vc-header__cta { display: flex; gap: .6rem; align-items: center; }
.vc-header__cta .wp-block-button__link { padding: .7rem 1.25rem; font-size: .88rem; min-height: 44px; }
.vc-header__tel a { color: var(--vc-pietra); font-size: .9rem; font-weight: 600; text-decoration: none; white-space: nowrap; }
.vc-header__tel a:hover { color: var(--vc-oro); }
@media (max-width: 960px) { .vc-header__tel { display: none; } }
@media (max-width: 600px) { .vc-header__cta .wp-block-buttons { display: none; } }

/* ---------- Hero ---------- */
.vc-hero {
	position: relative; isolation: isolate;
	min-height: min(92svh, 860px);
	display: flex; flex-direction: column; justify-content: flex-end;
	padding: clamp(7rem, 14vw, 10rem) var(--vc-gutter) clamp(3rem, 7vw, 5.5rem);
	background: var(--vc-notte); color: var(--vc-carta);
	overflow: hidden;
}
.vc-hero > * { max-width: var(--vc-wide); width: 100%; margin-inline: auto; position: relative; z-index: 2; }
.vc-hero > * + * { margin-block-start: 1.3rem; }
.vc-hero .vc-hero__bg { position: absolute; inset: 0; z-index: 0; margin: 0; max-width: none; }
.vc-hero .vc-hero__bg img { width: 100%; height: 100%; object-fit: cover; animation: vc-kenburns 22s var(--vc-ease) both; }
.vc-hero::after {
	content: ""; position: absolute; inset: 0; z-index: 1;
	background:
		linear-gradient(180deg, rgba(23,18,14,.55) 0%, rgba(23,18,14,.15) 35%, rgba(23,18,14,.85) 78%, rgba(23,18,14,.97) 100%),
		radial-gradient(ellipse at 20% 90%, rgba(23,18,14,.7), transparent 60%);
}
.vc-hero h1 { font-size: clamp(2.6rem, 6.4vw, 5.6rem); line-height: 1; max-width: 14ch; color: var(--vc-carta); font-weight: 350; }
.vc-hero .vc-lead { color: #E3D8C9; }
.vc-hero--page { min-height: min(62svh, 560px); }
.vc-hero--page::after { background: linear-gradient(180deg, rgba(23,18,14,.6) 0%, rgba(23,18,14,.45) 40%, rgba(23,18,14,.92) 100%); }
.vc-hero--page :where(h1,h2) { font-size: clamp(2.3rem, 5.2vw, 4.4rem); line-height: 1.02; max-width: 16ch; color: var(--vc-carta); font-weight: 350; }
@media (max-width: 781px) {
	.vc-hero { padding-bottom: 7rem; min-height: 88svh; }
	.vc-hero--page { min-height: 70svh; }
	.vc-hero::after { background: linear-gradient(180deg, rgba(23,18,14,.55) 0%, rgba(23,18,14,.35) 25%, rgba(23,18,14,.88) 55%, rgba(23,18,14,.97) 100%); }
	.vc-hero .vc-eyebrow { font-size: .7rem; letter-spacing: .16em; }
	.vc-hero .vc-eyebrow::before { width: 1.5rem; }
}
@keyframes vc-kenburns { from { transform: scale(1.08); } to { transform: scale(1); } }

/* ---------- Striscia info ---------- */
.vc-strip {
	background: var(--vc-brace); color: var(--vc-carta);
	padding: 1.6rem var(--vc-gutter);
	border-top: 1px solid rgba(198,156,110,.18);
}
.vc-strip > .vc-strip__grid { max-width: var(--vc-wide); margin: 0 auto; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.5rem; }
.vc-strip__grid > * { margin: 0 !important; font-size: .92rem; color: var(--vc-pietra); line-height: 1.45; }
.vc-strip__grid strong { display: block; font-family: var(--vc-serif); font-weight: 400; font-size: 1.15rem; color: var(--vc-carta); margin-bottom: .15rem; }
.vc-strip a { color: var(--vc-oro); text-decoration: none; }
@media (max-width: 860px) { .vc-strip > .vc-strip__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* ---------- Split testo/immagine ---------- */
.vc-split.wp-block-columns { display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(2rem, 6vw, 6rem); align-items: center; margin-block-end: 0; }
.vc-split.vc-split--rev { grid-template-columns: .95fr 1.05fr; }
.vc-split.vc-split--rev > .wp-block-column:first-child { order: 2; }
.vc-split > .wp-block-column { margin: 0 !important; min-width: 0; }
.vc-split > .wp-block-column > * + * { margin-block-start: 1.2rem; }
@media (max-width: 860px) {
	.vc-split.wp-block-columns, .vc-split.vc-split--rev { grid-template-columns: 1fr; }
	.vc-split.vc-split--rev > .wp-block-column:first-child { order: 0; }
}

/* Composizione foto sovrapposte */
.vc-stack { position: relative; padding-bottom: 14%; margin: 0; }
.vc-stack > figure { margin: 0 !important; }
.vc-stack > figure img { width: 100%; object-fit: cover; border-radius: var(--vc-radius); }
.vc-stack > figure:first-child img { aspect-ratio: 4 / 5; }
.vc-stack > figure:nth-child(2) { position: absolute; width: 48%; right: -4%; bottom: 0; box-shadow: 0 30px 60px -20px rgba(0,0,0,.45); border: 6px solid var(--vc-crema); border-radius: 6px; }
.vc-dark .vc-stack > figure:nth-child(2), .vc-dark-2 .vc-stack > figure:nth-child(2) { border-color: var(--vc-notte); }
.vc-stack > figure:nth-child(2) img { aspect-ratio: 1; border-radius: 0; }
@media (max-width: 600px) { .vc-stack > figure:nth-child(2) { right: 0; } }

.vc-photo img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--vc-radius); }
.vc-photo--tall img { aspect-ratio: 4 / 5; }

/* ---------- Lista piatti ---------- */
.vc-dishes { list-style: none; padding: 0; margin: 1.5rem 0 0; border-top: 1px solid rgba(31,24,19,.14); }
.vc-dishes li { padding: 1rem 0; border-bottom: 1px solid rgba(31,24,19,.14); line-height: 1.5; color: #5A4D41; font-size: .97rem; }
.vc-dishes li strong { display: block; font-family: var(--vc-serif); font-weight: 450; font-size: 1.22rem; color: var(--vc-ink); margin-bottom: .1rem; }
.vc-dark .vc-dishes, .vc-dark-2 .vc-dishes, .vc-dark .vc-dishes li, .vc-dark-2 .vc-dishes li { border-color: rgba(198,156,110,.2); color: var(--vc-pietra); }
.vc-dark .vc-dishes li strong, .vc-dark-2 .vc-dishes li strong { color: var(--vc-carta); }

/* ---------- Numeri pizza ---------- */
.vc-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; margin-top: 2rem !important; }
.vc-facts > * { margin: 0 !important; padding-top: 1rem; border-top: 1px solid rgba(198,156,110,.35); font-size: .9rem; color: var(--vc-pietra); line-height: 1.4; }
.vc-facts strong { display: block; font-family: var(--vc-serif); font-size: clamp(2rem, 3.5vw, 2.8rem); font-weight: 300; color: var(--vc-oro); line-height: 1.1; margin-bottom: .3rem; }

/* ---------- Card ---------- */
.vc-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1rem, 2.5vw, 2rem); margin-top: clamp(2rem, 5vw, 3.5rem) !important; }
.vc-cards > * { margin: 0 !important; }
.vc-card { background: var(--vc-carta); border-radius: var(--vc-radius); overflow: hidden; display: flex; flex-direction: column; transition: transform .4s var(--vc-ease), box-shadow .4s var(--vc-ease); }
.vc-card:hover { transform: translateY(-4px); box-shadow: 0 24px 50px -28px rgba(31,24,19,.45); }
.vc-card > * { margin: 0 !important; }
.vc-card > .wp-block-image img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.vc-card > :not(.wp-block-image) { padding-inline: 1.5rem; }
.vc-card > h3 { padding-top: 1.4rem; font-size: 1.45rem; }
.vc-card > p { padding-top: .5rem; color: #5A4D41; font-size: .96rem; }
.vc-card > p:last-child { padding-bottom: 1.6rem; }
.vc-card .vc-tag { font-size: .74rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: var(--vc-oro-scuro); padding-top: 1.4rem; }
.vc-card .vc-tag + h3 { padding-top: .35rem; }
@media (max-width: 900px) { .vc-cards { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .vc-cards { grid-template-columns: 1fr; } }

/* ---------- Mosaico ---------- */
.vc-mosaic { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-rows: clamp(140px, 17vw, 240px); gap: clamp(.5rem, 1.2vw, 1rem); margin-top: clamp(2rem, 5vw, 3.5rem) !important; }
.vc-mosaic > figure { margin: 0 !important; overflow: hidden; border-radius: var(--vc-radius); }
.vc-mosaic > figure img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--vc-ease); }
.vc-mosaic > figure:hover img { transform: scale(1.04); }
.vc-mosaic > figure:nth-child(1) { grid-column: span 2; grid-row: span 2; }
@media (max-width: 700px) {
	.vc-mosaic { grid-template-columns: 1fr 1fr; grid-auto-rows: 150px; }
	.vc-mosaic > figure:nth-child(1) { grid-column: span 2; }
}

/* ---------- Recensione ---------- */
.vc-quote.wp-block-quote { border: 0; padding: 0; margin-inline: auto; max-width: 860px; text-align: center; }
.vc-quote p { font-family: var(--vc-serif); font-size: clamp(1.45rem, 2.8vw, 2.2rem); line-height: 1.3; font-weight: 300; font-style: italic; color: var(--vc-carta) !important; }
.vc-quote p::before { content: "“"; display: block; font-size: 4.5rem; line-height: .6; color: var(--vc-oro); font-style: normal; margin-bottom: 1rem; }
.vc-quote cite { display: block; margin-top: 1.5rem; font-style: normal; font-size: .8rem; letter-spacing: .2em; text-transform: uppercase; color: var(--vc-oro); }

/* ---------- FAQ ---------- */
.vc-faq { max-width: 860px !important; }
.vc-faq .wp-block-details { border-bottom: 1px solid rgba(31,24,19,.16); padding: 0; margin: 0 !important; }
.vc-faq .wp-block-details:first-of-type { border-top: 1px solid rgba(31,24,19,.16); }
.vc-faq summary { list-style: none; cursor: pointer; padding: 1.35rem 2.5rem 1.35rem 0; position: relative; font-family: var(--vc-serif); font-size: clamp(1.1rem, 1.8vw, 1.3rem); font-weight: 450; }
.vc-faq summary::-webkit-details-marker { display: none; }
.vc-faq summary::after { content: "+"; position: absolute; right: .25rem; top: 50%; transform: translateY(-50%); font-family: var(--vc-sans); font-size: 1.5rem; font-weight: 300; color: var(--vc-oro-scuro); transition: transform .3s var(--vc-ease); }
.vc-faq details[open] summary::after { transform: translateY(-50%) rotate(45deg); }
.vc-faq details > p { margin: 0 0 1.4rem; color: #5A4D41; max-width: 68ch; }

/* ---------- Menu ---------- */
.vc-menu-nav { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 2rem !important; }
.vc-menu-nav > p { margin: 0 !important; }
.vc-menu-nav a { display: inline-block; padding: .55rem 1.1rem; border: 1px solid rgba(31,24,19,.25); border-radius: 999px; font-size: .88rem; font-weight: 600; color: var(--vc-ink); text-decoration: none; transition: all .2s; }
.vc-menu-nav a:hover { background: var(--vc-notte); color: var(--vc-carta); border-color: var(--vc-notte); }
.vc-menu-grid.wp-block-columns { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 5vw, 5rem); margin-top: clamp(2rem, 4vw, 3rem) !important; }
.vc-menu-grid > .wp-block-column { margin: 0 !important; min-width: 0; }
.vc-menu-grid h3 { font-size: clamp(1.6rem, 2.6vw, 2rem); margin-top: 2.5rem; }
.vc-menu-grid > .wp-block-column > h3:first-child { margin-top: 0; }
.vc-menu-grid .vc-note { font-size: .88rem; color: #6B5D50; font-style: italic; margin-top: .4rem; }
.vc-dark .vc-menu-grid .vc-note { color: var(--vc-pietra); }
@media (max-width: 760px) { .vc-menu-grid.wp-block-columns { grid-template-columns: 1fr; } }
[id] { scroll-margin-top: 90px; }

/* ---------- Contatti ---------- */
.vc-contact-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1rem, 2.5vw, 2rem); margin-top: clamp(2rem, 5vw, 3rem) !important; }
.vc-contact-grid > * { margin: 0 !important; }
.vc-box { background: var(--vc-carta); padding: clamp(1.5rem, 3vw, 2.25rem); border-radius: var(--vc-radius); display: flex; flex-direction: column; gap: .75rem; }
.vc-box > * { margin: 0 !important; }
.vc-box h3 { font-size: 1.5rem; }
.vc-box p { color: #5A4D41; font-size: .97rem; }
.vc-box .wp-block-buttons { margin-top: auto !important; padding-top: .5rem; }
@media (max-width: 860px) { .vc-contact-grid { grid-template-columns: 1fr; } }
.vc-map { margin-top: clamp(2rem, 5vw, 3rem) !important; border-radius: var(--vc-radius); overflow: hidden; line-height: 0; }
.vc-map iframe { width: 100%; height: clamp(320px, 45vw, 460px); border: 0; filter: grayscale(.35) contrast(1.05); }

/* ---------- Footer ---------- */
.vc-footer { background: var(--vc-notte); color: var(--vc-pietra); padding: clamp(3.5rem, 7vw, 5.5rem) var(--vc-gutter) 2rem; font-size: .93rem; }
.vc-footer > * { max-width: var(--vc-wide); margin-inline: auto; }
.vc-footer__grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 2.5rem; }
.vc-footer__grid > * { margin: 0 !important; }
.vc-footer__grid > div > * { margin: 0 0 .55rem !important; }
.vc-footer h2 { font-family: var(--vc-sans); font-size: .76rem !important; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: var(--vc-oro); margin-bottom: 1rem !important; }
.vc-footer a { color: var(--vc-carta); text-decoration: none; }
.vc-footer a:hover { color: var(--vc-oro); }
.vc-footer .vc-logo img { width: 170px; margin-bottom: 1rem; }
.vc-footer__claim { font-family: var(--vc-serif); font-style: italic; font-size: 1.15rem; color: var(--vc-carta); max-width: 26ch; }
.vc-footer__bottom { margin-top: 3.5rem !important; padding-top: 1.5rem; border-top: 1px solid rgba(198,156,110,.18); display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1rem; font-size: .8rem; }
.vc-footer__bottom > * { margin: 0 !important; }
.vc-footer__bottom a { color: var(--vc-pietra); text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 900px) { .vc-footer__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .vc-footer__grid { grid-template-columns: 1fr; } }

/* ---------- Barra CTA mobile ---------- */
.vc-mobilebar { display: none; }
@media (max-width: 781px) {
	.vc-mobilebar {
		display: grid; grid-template-columns: 1fr 1fr; gap: .5rem;
		position: fixed; left: .75rem; right: .75rem; bottom: .75rem; z-index: 60;
		margin: 0 !important; padding: .5rem;
		background: rgba(23,18,14,.94); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
		border: 1px solid rgba(198,156,110,.25); border-radius: 999px;
		box-shadow: 0 18px 40px -12px rgba(0,0,0,.5);
	}
	.vc-mobilebar > * { margin: 0 !important; }
	.vc-mobilebar .wp-block-button__link { width: 100%; padding: .75rem 1rem; font-size: .9rem; min-height: 46px; }
	.vc-mobilebar .vc-btn-ghost .wp-block-button__link { border-color: rgba(251,247,240,.25); }
	.vc-footer { padding-bottom: 6.5rem; }
}

/* ---------- Articoli / pagine standard ---------- */
.vc-article { padding: clamp(3rem, 7vw, 6rem) var(--vc-gutter); }
.vc-article > * { max-width: 760px; margin-inline: auto; }
.vc-article .wp-block-post-title { font-size: clamp(2.2rem, 5vw, 3.6rem); }
.vc-article .wp-block-post-content > * { max-width: 760px; margin-inline: auto; }
.vc-article .wp-block-post-content h2 { font-size: clamp(1.6rem, 3vw, 2.1rem); margin-top: 2.5rem; }

/* ---------- Reveal ---------- */
@media (prefers-reduced-motion: no-preference) {
	.vc-hero > :not(.vc-hero__bg) { animation: vc-rise .9s var(--vc-ease) both; }
	.vc-hero > :nth-child(3) { animation-delay: .08s; }
	.vc-hero > :nth-child(4) { animation-delay: .16s; }
	.vc-hero > :nth-child(5) { animation-delay: .24s; }
}
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
@keyframes vc-rise { from { transform: translateY(14px); } to { transform: none; } }


/* ---------- Prezzi menu ---------- */
.vc-dishes li strong { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; }
.vc-dishes .vc-price { flex-shrink: 0; font-family: var(--vc-sans); font-size: .95rem; font-weight: 600; color: var(--vc-oro-scuro); white-space: nowrap; }
.vc-dark .vc-dishes .vc-price, .vc-dark-2 .vc-dishes .vc-price { color: var(--vc-oro); }
.vc-menu-grid + .vc-menu-grid { margin-top: clamp(2rem, 5vw, 3.5rem); }
