/* Alleria · Tradizione napoletana — sistema visual (Blocksy + Elementor). Sociale, 2026. */
:root {
	--al-nero: #0E0B09; --al-nero-2: #15110E; --al-carbone: #1E1814;
	--al-line: rgba(243, 234, 219, .14); --al-line-2: rgba(243, 234, 219, .26);
	--al-crema: #F3EADB; --al-crema-2: #E6D8C2; --al-fumo: #A39585;
	--al-panna: #F7F1E7; --al-panna-2: #EFE5D5; --al-tinta: #1B1512; --al-tinta-2: #5E5047; --al-line-l: rgba(27, 21, 18, .14);
	--al-rosso: #E5523F; --al-rosso-2: #B8392A; --al-oro: #C8A66A; --al-basilico: #3F8B5E;
	--al-serif: 'Cormorant', 'Cormorant Garamond', 'Times New Roman', serif;
	--al-sans: 'Jost', 'Futura', 'Helvetica Neue', Arial, sans-serif;
	--al-wrap: 1240px; --al-pad: clamp(20px, 4vw, 48px); --al-sec: clamp(88px, 11vw, 168px);
	--al-ease: cubic-bezier(.22, .61, .36, 1);
	--theme-palette-color-1: var(--al-rosso); --theme-palette-color-2: var(--al-oro); --theme-palette-color-3: #CDBFAD; --theme-palette-color-4: var(--al-crema);
	--theme-palette-color-5: #3A302A; --theme-palette-color-6: var(--al-nero-2); --theme-palette-color-7: var(--al-nero); --theme-palette-color-8: var(--al-nero);
	--theme-font-family: var(--al-sans); --theme-text-color: #CDBFAD; --theme-headings-color: var(--al-crema);
	--theme-link-initial-color: var(--al-crema); --theme-link-hover-color: var(--al-rosso); --theme-selection-background-color: var(--al-rosso);
	--theme-button-background-initial-color: var(--al-crema); --theme-button-text-initial-color: var(--al-nero);
}
html { scroll-behavior: smooth; }
body.alleria { background: var(--al-nero); color: #CDBFAD; font-family: var(--al-sans); font-weight: 300; font-size: 17px; line-height: 1.7; letter-spacing: .005em; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; }
body.alleria ::selection { background: var(--al-rosso); color: #fff; }
body.alleria #main-container, body.alleria .site-main { background: var(--al-nero); }
body.alleria .elementor a { text-decoration: none; }
body.alleria::after { content: ""; position: fixed; inset: 0; pointer-events: none; z-index: 9999; opacity: .05; mix-blend-mode: overlay;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); }

/* Header (Blocksy) */
body.alleria #header { position: relative; z-index: 50; }
body.alleria.home #header { position: absolute; inset: 0 0 auto 0; }
body.alleria .site-title-container, body.alleria .site-description { display: none !important; }
body.alleria .ct-header [data-row] { background: transparent !important; border: 0 !important; box-shadow: none !important; }
body.alleria .ct-header { background: var(--al-nero); border-bottom: 1px solid var(--al-line); transition: background .4s var(--al-ease); }
body.alleria.home .ct-header { position: absolute; inset: 0 0 auto 0; background: linear-gradient(180deg, rgba(14,11,9,.85), rgba(14,11,9,0)); border-bottom-color: transparent; }
body.alleria .ct-header [data-row="middle"] > .ct-container { min-height: 92px; }
body.alleria .site-logo-container img, body.alleria .ct-header .site-branding img { max-height: 54px !important; width: auto; height: 54px; }
body.alleria .site-title, body.alleria .site-title a { font-family: var(--al-serif); color: var(--al-crema); }
body.alleria .ct-header .menu > li > .ct-menu-link, body.alleria .ct-header .menu > li > a { font-family: var(--al-sans); font-size: 12.5px; font-weight: 500; letter-spacing: .22em; text-transform: uppercase; color: var(--al-crema) !important; opacity: .86; transition: opacity .3s, color .3s; }
body.alleria .ct-header .menu > li > a:hover, body.alleria .ct-header .menu > li.current-menu-item > a { opacity: 1; color: var(--al-oro) !important; }
body.alleria .ct-header .menu > li.al-menu-cta > a { border: 1px solid var(--al-line-2); padding: 0 22px !important; height: 44px; margin-left: 14px; border-radius: 999px; opacity: 1; }
body.alleria .ct-header .menu > li.al-menu-cta > a:hover { background: var(--al-crema); color: var(--al-nero) !important; border-color: var(--al-crema); }
body.alleria .ct-header .menu > li > a::after, body.alleria .ct-header [data-menu] > ul > li > a::before { display: none !important; }
body.alleria .ct-header-trigger { color: var(--al-crema) !important; --theme-icon-color: var(--al-crema); }
body.alleria #offcanvas .ct-panel-inner { background: var(--al-nero) !important; }
body.alleria #offcanvas .menu a { font-family: var(--al-serif); font-size: 30px; color: var(--al-crema) !important; letter-spacing: 0; text-transform: none; }
body.alleria .ct-header-search, body.alleria .ct-header-cart { display: none !important; }
body.alleria #footer.ct-footer { display: none !important; }

/* Base de contenedores Elementor */
.elementor .e-con.al { --padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px; --gap: 0px; --row-gap: 0px; --column-gap: 0px; --margin-top: 0px; --margin-bottom: 0px; --flex-wrap: nowrap; --justify-content: flex-start; --align-items: stretch; --display: flex; --flex-direction: column; --width: 100%; --container-widget-width: 100%; }
.elementor .e-con.al > .elementor-widget { margin-bottom: 0; }
.elementor .e-con.al-wrap { max-width: var(--al-wrap); margin-inline: auto; --padding-left: var(--al-pad); --padding-right: var(--al-pad); }
.elementor .e-con.al-wrap--narrow { --al-wrap: 860px; text-align: center; --align-items: center; }
.elementor .elementor-widget-text-editor p:last-child { margin-bottom: 0; }
section.e-con.al, .e-con.al[class*="al-"] { position: relative; }
.al-light { background: var(--al-panna) !important; color: var(--al-tinta-2); }

/* Tipografía */
.alleria .elementor-heading-title, .alleria h1, .alleria h2, .alleria h3 { font-family: var(--al-serif); font-weight: 500; color: var(--al-crema); letter-spacing: -.01em; }
.alleria .elementor-heading-title em, .alleria h1 em, .alleria h2 em, .al-quote__text em { font-style: italic; color: var(--al-rosso); font-weight: 500; }
.al-light .elementor-heading-title, .al-light h2, .al-light h3 { color: var(--al-tinta); }
.al-light .elementor-heading-title em { color: var(--al-rosso-2); }
.al-h1 .elementor-heading-title { font-size: clamp(56px, 9vw, 132px); line-height: .92; }
.al-h2 .elementor-heading-title { font-size: clamp(40px, 5.2vw, 78px); line-height: 1; margin-bottom: 28px; }
.al-h3 .elementor-heading-title { font-size: clamp(32px, 3.6vw, 52px); line-height: 1.05; margin-bottom: 16px; }
.al-eyebrow .elementor-heading-title { font-family: var(--al-sans) !important; font-size: 12px !important; font-weight: 500 !important; letter-spacing: .34em !important; text-transform: uppercase; color: var(--al-oro) !important; margin-bottom: 26px; display: inline-flex; align-items: center; gap: 14px; }
.al-eyebrow .elementor-heading-title::before { content: ""; width: 34px; height: 1px; background: currentColor; opacity: .7; }
.al-light .al-eyebrow .elementor-heading-title { color: #9A7B44 !important; }
.al-text, .al-text p { font-size: 17px; line-height: 1.75; color: inherit; }
.al-text--center { text-align: center; }
.al-text .al-lead, .al-lead { font-family: var(--al-serif); font-size: clamp(24px, 2.2vw, 30px); line-height: 1.35; color: var(--al-crema); font-weight: 500; margin-bottom: 22px; }
.al-light .al-lead { color: var(--al-tinta); }

/* Botones */
.al-btn .elementor-button, .al-cta { display: inline-flex; align-items: center; justify-content: center; gap: 12px; font-family: var(--al-sans); font-size: 12.5px; font-weight: 500; letter-spacing: .24em; text-transform: uppercase; padding: 0 34px; height: 56px; border-radius: 999px; border: 1px solid transparent; background: transparent; color: var(--al-crema); fill: currentColor; transition: background .4s var(--al-ease), color .4s var(--al-ease), border-color .4s var(--al-ease), transform .4s var(--al-ease); }
.al-btn--solid .elementor-button, .al-cta--solid { background: var(--al-crema); color: var(--al-nero); }
.al-btn--solid .elementor-button:hover, .al-cta--solid:hover { background: var(--al-rosso); color: #fff; }
.al-btn--ghost .elementor-button, .al-cta--ghost { border-color: var(--al-line-2); color: var(--al-crema); }
.al-btn--ghost .elementor-button:hover, .al-cta--ghost:hover { border-color: var(--al-crema); background: rgba(243,234,219,.06); color: var(--al-crema); }
.al-btn--dark .elementor-button { background: var(--al-tinta); color: var(--al-panna); }
.al-btn--dark .elementor-button:hover { background: var(--al-rosso-2); color: #fff; }
.al-light .al-btn--ghost .elementor-button { border-color: var(--al-line-l); color: var(--al-tinta); }
.al-btn .elementor-button::after, .al-cta::after { content: "→"; font-family: var(--al-sans); letter-spacing: 0; font-size: 15px; transition: transform .4s var(--al-ease); }
.al-btn .elementor-button:hover::after, .al-cta:hover::after { transform: translateX(4px); }
.al-btn .elementor-button:focus-visible, .al-cta:focus-visible { outline: 2px solid var(--al-oro); outline-offset: 3px; }
.elementor .e-con.al-btns { --flex-direction: row; --flex-wrap: wrap; --gap: 14px; --row-gap: 14px; --column-gap: 14px; margin-top: 36px; }
.elementor .e-con.al-btns > .elementor-widget { width: auto; --container-widget-width: auto; }
.elementor .e-con.al-btns--center { --justify-content: center; }
.elementor .e-con.al-center { --align-items: center; margin-top: 64px; }
.elementor .e-con.al-center > .elementor-widget { width: auto; }

/* HERO · abanico panorámico 3D */
.al-hero-wrap, .al-hero-html, .al-hero-html .elementor-widget-container { overflow: visible !important; }
.al-pano { position: relative; height: 290vh; background: var(--al-nero); color: var(--al-crema); }
.al-pano__stage { position: sticky; top: 0; height: 100vh; height: 100svh; overflow: hidden; perspective: 1300px; isolation: isolate; }
.al-pano__glow { position: absolute; inset: 0; pointer-events: none; z-index: 0; background: radial-gradient(60% 55% at 50% 78%, rgba(229, 82, 63, .20), transparent 70%), radial-gradient(40% 40% at 18% 20%, rgba(200, 166, 106, .10), transparent 70%), radial-gradient(120% 90% at 50% 120%, #2A1A12 0%, var(--al-nero) 60%); }
.al-pano__copy { position: absolute; z-index: 3; left: 50%; top: clamp(112px, 15vh, 160px); transform: translateX(-50%); width: min(1100px, calc(100% - 40px)); text-align: center; }
.al-pano__eyebrow { display: inline-flex; align-items: center; gap: 14px; margin: 0 0 22px; font-size: 12px; font-weight: 500; letter-spacing: .34em; text-transform: uppercase; color: var(--al-oro); }
.al-dot { width: 4px; height: 4px; border-radius: 50%; background: var(--al-rosso); }
.al-pano__title { font-family: var(--al-serif); font-weight: 500; font-size: clamp(46px, min(6vw, 11vh), 108px); line-height: .9; letter-spacing: -.015em; margin: 0; color: var(--al-crema); }
.al-pano__title em { font-style: italic; color: var(--al-rosso); }
.al-pano__lead { max-width: 56ch; margin: 24px auto 0; font-size: clamp(15px, 1.15vw, 18px); line-height: 1.7; color: #BDAE9C; }
.al-pano__ctas { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px; margin-top: 30px; }
.al-pano__scene { position: absolute; inset: 0; z-index: 2; transform-style: flat; will-change: transform; }
.al-pano .al-pano__card { --h: clamp(190px, 32vh, 360px); --w: min(calc(var(--h) / 1.12), 17vw); position: absolute; left: 50%; top: calc(100% - var(--h) / 2 - 7vh); width: var(--w); height: var(--h); margin: calc(var(--h) / -2) 0 0 calc(var(--w) / -2) !important; transform-origin: 50% 100%; will-change: transform; backface-visibility: hidden; padding: 9px 9px 0; background: #F4ECDF; border-radius: 4px; box-shadow: 0 40px 80px -30px rgba(0,0,0,.75), 0 12px 24px -12px rgba(0,0,0,.6); display: flex; flex-direction: column; }
.al-pano__frame { position: relative; flex: 1; overflow: hidden; border-radius: 2px; background: #2A211C; }
.al-pano__frame img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transform: scale(1.04); transition: transform 1.2s var(--al-ease); }
.al-pano__frame::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 60%, rgba(0,0,0,.12)); }
.al-pano__card:hover .al-pano__frame img { transform: scale(1.1); }
.al-pano__card figcaption { height: 40px; display: flex; align-items: center; justify-content: center; font-family: var(--al-serif); font-style: italic; font-weight: 500; font-size: clamp(14px, 1.15vw, 19px); color: var(--al-tinta); }
.al-pano__hint { position: absolute; z-index: 3; left: 50%; bottom: 22px; transform: translateX(-50%); display: flex; align-items: center; gap: 12px; margin: 0; font-size: 11px; letter-spacing: .3em; text-transform: uppercase; color: rgba(243,234,219,.6); transition: opacity .5s; }
.al-pano__hint span { width: 1px; height: 28px; background: linear-gradient(var(--al-oro), transparent); animation: al-hint 2.2s var(--al-ease) infinite; }
@keyframes al-hint { 0% { transform: scaleY(0); transform-origin: top; } 50% { transform: scaleY(1); transform-origin: top; } 51% { transform-origin: bottom; } 100% { transform: scaleY(0); transform-origin: bottom; } }
.al-pano.is-open .al-pano__hint { opacity: 0; }
@media (max-width: 767px) {
	.al-pano { height: 230vh; }
	.al-pano__copy { top: 104px; }
	.al-pano__lead { font-size: 15px; margin-top: 18px; }
	.al-pano__ctas { margin-top: 22px; gap: 10px; }
	.al-pano__ctas .al-cta { height: 50px; padding: 0 24px; font-size: 11.5px; }
	.al-pano .al-pano__card { --w: 46vw; --h: calc(var(--w) * 1.16); top: calc(100% - var(--h) / 2 - 7vh); padding: 6px 6px 0; }
	.al-pano__eyebrow { font-size: 10.5px; letter-spacing: .22em; gap: 10px; }
	.al-pano__eyebrow span { white-space: nowrap; }
	.al-pano__card figcaption { height: 26px; font-size: 13px; }
	.al-pano__hint { display: none; }
}
@media (max-height: 760px) and (min-width: 768px) { .al-pano__lead { display: none; } }

/* Premios */
.al-awards { background: var(--al-nero); border-top: 1px solid var(--al-line); border-bottom: 1px solid var(--al-line); }
.elementor .e-con.al-awards__row { --flex-direction: row; }
.elementor .e-con.al-award { --width: 25%; --align-items: center; text-align: center; --padding-top: 56px; --padding-bottom: 56px; --padding-left: 16px; --padding-right: 16px; }
.elementor .e-con.al-award + .e-con.al-award { border-left: 1px solid var(--al-line); }
.al-award__num .elementor-heading-title { white-space: nowrap; font-size: clamp(34px, 3.8vw, 58px); line-height: 1; color: var(--al-crema); }
.al-award__label .elementor-heading-title { font-family: var(--al-sans) !important; font-size: 12px !important; letter-spacing: .3em; text-transform: uppercase; color: var(--al-oro) !important; margin-top: 14px; }
.al-award__src, .al-award__src p { font-size: 14px; color: var(--al-fumo); margin-top: 6px; }

/* Historia */
.al-story { padding-block: var(--al-sec); }
.elementor .e-con.al-story__row { --flex-direction: row; --align-items: center; --gap: clamp(48px, 8vw, 128px); --column-gap: clamp(48px, 8vw, 128px); }
.elementor .e-con.al-story__media { --width: 46%; position: relative; }
.elementor .e-con.al-story__copy { --width: 54%; }
.al-story__media::before { content: ""; position: absolute; inset: -22px 22px 22px -22px; border: 1px solid rgba(154,123,68,.45); border-radius: 2px; pointer-events: none; }
.al-story__img img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 2px; box-shadow: 0 50px 90px -40px rgba(40,20,10,.55); }
.al-caption, .al-caption p { margin-top: 18px; font-family: var(--al-serif); font-size: 19px; color: var(--al-tinta-2); }
.al-caption em { color: var(--al-rosso-2); }
.al-story .al-btn { margin-top: 18px; }

/* Cabeceras de sección */
.elementor .e-con.al-head { margin-bottom: clamp(48px, 6vw, 88px); }
.elementor .e-con.al-head--center { --align-items: center; text-align: center; }
.elementor .e-con.al-head--center .al-text { max-width: 60ch; }
.elementor .e-con.al-head--split { --flex-direction: row; --align-items: flex-end; --justify-content: space-between; --gap: 48px; --column-gap: 48px; }
.elementor .e-con.al-head--split .al-h2 .elementor-heading-title { margin-bottom: 0; }
.elementor .e-con.al-head__l { --width: auto; }
.elementor .al-head__r { max-width: 440px; color: var(--al-fumo); }

/* Pizzas destacadas */
.al-signature { padding-block: var(--al-sec); background: var(--al-nero); }
.elementor .e-con.al-grid-3 { --flex-direction: row; --flex-wrap: wrap; --gap: clamp(24px, 3vw, 44px); --row-gap: clamp(48px, 5vw, 72px); --column-gap: clamp(24px, 3vw, 44px); }
.elementor .e-con.al-grid-3 > .e-con { --width: calc((100% - 2 * clamp(24px, 3vw, 44px)) / 3); }
.al-dish__img { overflow: hidden; border-radius: 2px; margin-bottom: 26px !important; position: relative; }
.al-dish__img img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; transition: transform 1.4s var(--al-ease), filter 1s; filter: saturate(.92) contrast(1.02); }
.al-dish:hover .al-dish__img img { transform: scale(1.06); filter: saturate(1.05); }
.al-dish__tag .elementor-heading-title { font-family: var(--al-sans) !important; font-size: 11px !important; letter-spacing: .3em; text-transform: uppercase; color: var(--al-oro) !important; margin-bottom: 10px; }
.al-dish__name .elementor-heading-title { font-size: clamp(30px, 2.6vw, 40px); line-height: 1.05; margin-bottom: 12px; }
.al-dish__desc, .al-dish__desc p { font-size: 15.5px; line-height: 1.65; color: var(--al-fumo); }
.al-dish { padding-bottom: 26px; border-bottom: 1px solid var(--al-line); }

/* Ingredientes */
.al-ingredients { padding-block: var(--al-sec); border-top: 1px solid var(--al-line-l); }
.al-ingredients.al-light { background: var(--al-panna-2) !important; }
.elementor .e-con.al-ing__row { --flex-direction: row; border-top: 1px solid var(--al-line-l); }
.elementor .e-con.al-ing { --width: 25%; --padding-top: 40px; --padding-right: 32px; --padding-bottom: 8px; --padding-left: 32px; }
.elementor .e-con.al-ing + .e-con.al-ing { border-left: 1px solid var(--al-line-l); }
.elementor .e-con.al-ing:first-child { --padding-left: 0px; }
.al-ing__num .elementor-heading-title { font-size: 22px; font-style: italic; color: var(--al-rosso-2) !important; margin-bottom: 26px; }
.al-ing__name .elementor-heading-title { font-size: clamp(26px, 2.1vw, 32px); line-height: 1.1; margin-bottom: 14px; }
.al-ing__desc, .al-ing__desc p { font-size: 15.5px; color: var(--al-tinta-2); }

/* Cita */
.al-quote { padding-block: clamp(110px, 14vw, 200px); background: var(--al-nero); overflow: hidden; }
.elementor .e-con.al-quote::before { content: "“"; position: absolute; left: 0; right: 0; width: 100%; height: auto; text-align: center; top: 6%; transform: none; font-family: var(--al-serif); font-size: clamp(220px, 28vw, 420px); line-height: 1; color: rgba(200,166,106,.10); pointer-events: none; }
.al-quote__text .elementor-heading-title { font-size: clamp(38px, 5vw, 76px); line-height: 1.08; text-align: center; }
.al-quote__by, .al-quote__by p { margin-top: 34px; font-size: 12px; letter-spacing: .32em; text-transform: uppercase; color: var(--al-oro); text-align: center; }

/* Más allá de la pizza */
.al-beyond { padding-block: var(--al-sec); }
.al-tile__img { overflow: hidden; border-radius: 2px; margin-bottom: 28px !important; }
.al-tile__img img { width: 100%; aspect-ratio: 3 / 4; object-fit: cover; transition: transform 1.4s var(--al-ease); }
.al-tile:hover .al-tile__img img { transform: scale(1.05); }
.al-tile__name .elementor-heading-title { font-size: clamp(32px, 2.8vw, 44px); line-height: 1; margin-bottom: 10px; }
.al-tile__desc, .al-tile__desc p { color: var(--al-tinta-2); font-size: 15.5px; }

/* Visítenos */
.al-visit { padding-block: var(--al-sec); background: var(--al-nero-2); border-top: 1px solid var(--al-line); }
.elementor .e-con.al-visit__row { --flex-direction: row; --gap: clamp(40px, 6vw, 96px); --column-gap: clamp(40px, 6vw, 96px); --align-items: stretch; }
.elementor .e-con.al-visit__info { --width: 44%; }
.elementor .e-con.al-visit__map { --width: 56%; min-height: 520px; }
.al-visit__map .elementor-widget-html, .al-visit__map .elementor-widget-container { height: 100%; }
.al-visit__map iframe { display: block; width: 100%; height: 100%; min-height: 520px; border: 0; border-radius: 2px; filter: invert(.9) hue-rotate(180deg) saturate(.55) brightness(.95) contrast(.95); }
.al-text .al-visit__addr, .al-visit__addr { font-family: var(--al-serif); font-size: clamp(26px, 2.4vw, 34px); color: var(--al-crema); line-height: 1.2; margin-bottom: 26px; }
.al-hours { list-style: none; margin: 0 0 26px; padding: 0; border-top: 1px solid var(--al-line); }
.al-hours li { display: flex; justify-content: space-between; gap: 16px; padding: 13px 0; border-bottom: 1px solid var(--al-line); font-size: 15.5px; }
.al-hours li span:last-child { color: var(--al-crema); font-variant-numeric: tabular-nums; }
.al-visit__note { font-size: 15px; color: var(--al-fumo); margin-bottom: 8px; }
.al-visit__note strong { color: var(--al-crema); font-weight: 500; }

/* Cabecera de páginas internas */
.al-pagehead { padding: clamp(150px, 20vw, 240px) 0 clamp(80px, 9vw, 130px); text-align: center; background: radial-gradient(70% 70% at 50% 0%, rgba(229,82,63,.14), transparent 70%), var(--al-nero); border-bottom: 1px solid var(--al-line); }
.al-pagehead .al-h1 .elementor-heading-title { margin-bottom: 28px; }
.al-pagehead__lead { max-width: 60ch; color: #BDAE9C; }
body.alleria:not(.home) .al-pagehead { padding-top: clamp(96px, 12vw, 160px); }

/* Carta */
.al-carta-nav { position: sticky; top: 0; z-index: 20; background: rgba(14,11,9,.92); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border-bottom: 1px solid var(--al-line); }
.al-carta-nav__in { display: flex; gap: 6px; justify-content: center; overflow-x: auto; padding: 14px var(--al-pad); scrollbar-width: none; }
.al-carta-nav__in::-webkit-scrollbar { display: none; }
.al-carta-nav__in a { flex: none; padding: 10px 18px; border-radius: 999px; font-size: 12px; font-weight: 500; letter-spacing: .22em; text-transform: uppercase; color: var(--al-crema); opacity: .75; transition: opacity .3s, background .3s; }
.al-carta-nav__in a:hover, .al-carta-nav__in a.is-active { opacity: 1; background: rgba(243,234,219,.08); }
.al-carta-sec { padding-block: clamp(80px, 9vw, 140px); scroll-margin-top: 70px; background: var(--al-nero); }
.elementor .e-con.al-carta__row { --flex-direction: row; --gap: clamp(40px, 7vw, 110px); --column-gap: clamp(40px, 7vw, 110px); --align-items: flex-start; }
.elementor .e-con.al-carta__head { --width: 36%; position: sticky; top: 110px; }
.al-carta__list { width: 64%; }
.al-carta__num .elementor-heading-title { font-size: 22px; font-style: italic; color: var(--al-oro) !important; margin-bottom: 18px; }
.al-light .al-carta__num .elementor-heading-title { color: #9A7B44 !important; }
.elementor .e-con.al-carta__media { --flex-direction: row; --gap: 14px; --column-gap: 14px; margin-top: 36px; }
.al-carta__img { flex: 1; }
.al-carta__img img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 2px; }
.al-carta-list { list-style: none; margin: 0; padding: 0; columns: 2; column-gap: 56px; }
.al-carta-list li { break-inside: avoid; padding: 0 0 30px; margin-bottom: 30px; border-bottom: 1px solid var(--al-line); }
.al-light .al-carta-list li { border-color: var(--al-line-l); }
.al-carta-list h3 { font-size: clamp(24px, 2vw, 30px); line-height: 1.1; margin: 0 0 8px; }
.al-carta-list p { margin: 0; font-size: 15px; line-height: 1.6; color: var(--al-fumo); }
.al-light .al-carta-list p { color: var(--al-tinta-2); }
.al-carta-cta { padding-block: var(--al-sec); text-align: center; background: var(--al-nero-2); border-top: 1px solid var(--al-line); }

/* Cronología */
.al-timeline { padding-block: var(--al-sec); background: var(--al-nero); }
.elementor .e-con.al-tl__item { --flex-direction: row; --gap: 40px; --column-gap: 40px; text-align: left; width: 100%; padding: 34px 0; border-top: 1px solid var(--al-line); }
.al-tl__year { width: 140px; flex: none; }
.al-tl__year .elementor-heading-title { font-size: 44px; font-style: italic; color: var(--al-rosso) !important; line-height: 1; }
.al-tl__title .elementor-heading-title { font-size: 30px; margin-bottom: 8px; }
.al-tl__text, .al-tl__text p { color: var(--al-fumo); font-size: 16px; }
.al-paso { padding-block: var(--al-sec); }

/* Footer */
.al-footer { background: #090706; color: var(--al-fumo); border-top: 1px solid var(--al-line); font-size: 15px; }
.al-footer__in { max-width: var(--al-wrap); margin: 0 auto; padding: 96px var(--al-pad) 64px; display: grid; grid-template-columns: 1.4fr 1fr 1.2fr .8fr; gap: 56px; }
.al-footer__brand img { width: 200px; height: auto; margin-bottom: 22px; }
.al-footer__brand p { max-width: 34ch; }
.al-footer__h { font-size: 11.5px; letter-spacing: .3em; text-transform: uppercase; color: var(--al-oro); margin: 0 0 14px; font-weight: 500; }
.al-footer__col p { margin: 0 0 24px; line-height: 1.6; }
.al-footer a { color: var(--al-crema); transition: color .3s; }
.al-footer a:hover { color: var(--al-rosso); }
.al-hours--sm { border-top: 0; }
.al-hours--sm li { padding: 7px 0; font-size: 14px; }
.al-ig { display: inline-flex; align-items: center; gap: 10px; }
.al-footer__legal { max-width: var(--al-wrap); margin: 0 auto; padding: 24px var(--al-pad) 36px; display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; border-top: 1px solid var(--al-line); font-size: 13px; }
.al-footer__legal p { margin: 0; }

/* Aparición al hacer scroll */
.al-js .al-reveal > .e-con-inner > *, .al-js .al-reveal > * { opacity: 0; transform: translateY(28px); transition: opacity 1.1s var(--al-ease), transform 1.1s var(--al-ease); }
.al-js .al-reveal.is-in > .e-con-inner > *, .al-js .al-reveal.is-in > * { opacity: 1; transform: none; }

/* Responsive */
@media (max-width: 1024px) {
	.elementor .e-con.al-grid-3 > .e-con { --width: calc((100% - clamp(24px, 3vw, 44px)) / 2); }
	.elementor .e-con.al-ing__row { --flex-wrap: wrap; }
	.elementor .e-con.al-ing { --width: 50%; }
	.elementor .e-con.al-ing:nth-child(3) { border-left: 0; --padding-left: 0px; }
	.al-carta-list { columns: 1; }
	.al-footer__in { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 767px) {
	body.alleria { font-size: 16px; }
	.elementor .e-con.al-awards__row { --flex-wrap: wrap; }
	.elementor .e-con.al-award { --width: 50%; --padding-top: 36px; --padding-bottom: 36px; }
	.elementor .e-con.al-award:nth-child(3) { border-left: 0; }
	.elementor .e-con.al-award:nth-child(n+3) { border-top: 1px solid var(--al-line); }
	.elementor .e-con.al-story__row, .elementor .e-con.al-visit__row, .elementor .e-con.al-carta__row, .elementor .e-con.al-head--split { --flex-direction: column; --align-items: stretch; }
	.elementor .e-con.al-story__media, .elementor .e-con.al-story__copy, .elementor .e-con.al-visit__info, .elementor .e-con.al-visit__map, .elementor .e-con.al-carta__head { --width: 100%; position: relative; top: auto; }
	.al-carta__list { width: 100%; }
	.al-story__media::before { inset: -12px 12px 12px -12px; }
	.elementor .e-con.al-grid-3 > .e-con { --width: 100%; }
	.elementor .e-con.al-ing { --width: 100%; --padding-left: 0px; --padding-right: 0px; border-left: 0 !important; }
	.elementor .e-con.al-ing + .e-con.al-ing { border-top: 1px solid var(--al-line-l); }
	.elementor .e-con.al-visit__map, .al-visit__map iframe { min-height: 360px; }
	.elementor .e-con.al-tl__item { --flex-direction: column; --gap: 10px; }
	.al-footer__in { grid-template-columns: 1fr; gap: 36px; padding-top: 72px; }
	.al-carta-nav__in { justify-content: flex-start; }
	body.alleria .ct-header [data-row="middle"] > .ct-container { min-height: 76px; }
	body.alleria .site-logo-container img, body.alleria .ct-header .site-branding img { height: 44px; max-height: 44px !important; }
}
@media (prefers-reduced-motion: reduce) {
	.al-js .al-reveal > .e-con-inner > *, .al-js .al-reveal > * { opacity: 1; transform: none; transition: none; }
	.al-pano { height: auto; }
	.al-pano__stage { position: relative; height: 100svh; min-height: 680px; }
	.al-pano__hint span { animation: none; }
	* { scroll-behavior: auto !important; }
}
.elementor-editor-active .al-pano { height: 100vh; }

@media (max-width: 767px) { .al-award__num .elementor-heading-title { font-size: 34px; } }

/* Reseñas de Google */
.al-reviews { padding-block: var(--al-sec); background: var(--al-nero); border-top: 1px solid var(--al-line); overflow: hidden; }
.elementor .e-con.al-rating { --width: auto; --align-items: flex-end; text-align: right; }
.al-rating__num { font-family: var(--al-serif); font-size: clamp(64px, 7vw, 104px); line-height: .9; color: var(--al-crema); margin: 0; }
.al-rating__stars { color: var(--al-oro); letter-spacing: .3em; font-size: 15px; margin: 10px 0 6px; }
.al-rating__count { font-size: 13px; letter-spacing: .2em; text-transform: uppercase; color: var(--al-fumo); margin: 0 0 22px; }
.elementor .e-con.al-rating .al-btn { margin-top: 0; }
.elementor .e-con.al-reviews__row { --flex-direction: row; --gap: 24px; --column-gap: 24px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding: 0 max(var(--al-pad), calc((100vw - var(--al-wrap)) / 2 + var(--al-pad))) 8px; scroll-padding-inline: max(var(--al-pad), calc((100vw - var(--al-wrap)) / 2 + var(--al-pad))); }
.elementor .e-con.al-reviews__row::-webkit-scrollbar { display: none; }
.elementor .e-con.al-review { --width: auto; flex: 0 0 clamp(290px, 30vw, 400px); scroll-snap-align: start; border: 1px solid var(--al-line); border-radius: 2px; --padding-top: 40px; --padding-right: 36px; --padding-bottom: 36px; --padding-left: 36px; background: linear-gradient(180deg, rgba(243,234,219,.035), rgba(243,234,219,0)); transition: border-color .4s var(--al-ease), transform .6s var(--al-ease); }
.elementor .e-con.al-review:hover { border-color: var(--al-line-2); transform: translateY(-4px); }
.al-review__body, .al-review__body .elementor-widget-container { height: 100%; }
.al-review__stars { color: var(--al-oro); letter-spacing: .28em; font-size: 13px; margin: 0 0 22px; }
.al-review__text { font-family: var(--al-serif); font-size: clamp(21px, 1.7vw, 25px); line-height: 1.4; color: var(--al-crema); margin: 0 0 28px; padding: 0; border: 0; quotes: none; font-style: normal; }
.al-review__by { margin: 0; font-size: 12px; letter-spacing: .24em; text-transform: uppercase; color: var(--al-crema); }
.al-review__by span { color: var(--al-fumo); letter-spacing: .12em; }
@media (max-width: 767px) { .elementor .e-con.al-rating { --align-items: flex-start; text-align: left; } .elementor .e-con.al-review { flex-basis: 84vw; } }

/* Galería de postres y bebidas */
.al-gallery { padding-block: var(--al-sec); }
.elementor .e-con.al-gallery__grid { display: block !important; columns: 4; column-gap: 18px; }
.elementor .e-con.al-gallery__grid > .elementor-widget { break-inside: avoid; margin: 0 0 18px !important; width: 100%; display: block; }
.al-gallery__item figure { position: relative; margin: 0; overflow: hidden; border-radius: 2px; }
.al-gallery__item img { display: block; width: 100%; height: auto; transition: transform 1.4s var(--al-ease), filter .8s; }
.al-gallery__item figcaption { position: absolute; left: 0; right: 0; bottom: 0; margin: 0; padding: 40px 18px 16px; text-align: left; font-family: var(--al-serif); font-style: italic; font-size: 19px; color: var(--al-crema); background: linear-gradient(180deg, transparent, rgba(14,11,9,.78)); opacity: 0; transform: translateY(8px); transition: opacity .5s var(--al-ease), transform .5s var(--al-ease); }
.al-gallery__item:hover img { transform: scale(1.05); }
.al-gallery__item:hover figcaption { opacity: 1; transform: none; }
@media (hover: none) { .al-gallery__item figcaption { opacity: 1; transform: none; font-size: 16px; padding: 30px 12px 10px; } }
@media (max-width: 1024px) { .elementor .e-con.al-gallery__grid { columns: 3; } }
@media (max-width: 767px) { .elementor .e-con.al-gallery__grid { columns: 2; column-gap: 10px; } .elementor .e-con.al-gallery__grid > .elementor-widget { margin-bottom: 10px !important; } }

.elementor .e-con.al-rating { min-width: 340px; }
.al-btn .elementor-button { white-space: nowrap; }
@media (max-width: 767px) { .elementor .e-con.al-rating { min-width: 0; } }
