/* v29: only the requested contact, social, legal and footer additions. */
:root{--footer-sage:#576f60}
.video-facade video{display:block;width:100%;height:100%;object-fit:contain;background:#18231e}
.instagram-section,.contact-section{padding-block:clamp(2.5rem,5vw,5rem)}
.instagram-section{border-top:1px solid var(--line)}
.social-heading{display:flex;justify-content:space-between;align-items:end;gap:1.5rem;margin-bottom:2rem}
.social-heading h2,.contact-intro h2{font-family:Georgia,serif;font-weight:400;font-size:clamp(2rem,3.5vw,3rem);line-height:1.15;margin:.5rem 0 1rem}
.social-heading>a,.contact-intro>a,.contact-privacy a,.legal-page a{text-decoration:underline;text-underline-offset:.22em}
.instagram-feed{min-height:12rem}behold-widget{display:block;width:100%}.feed-status{padding:2rem;background:#eef1eb;line-height:1.7}
.contact-section{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(2rem,5vw,5rem);border-top:1px solid var(--line)}
.contact-intro p{max-width:34em;line-height:1.75;margin:1rem 0 1.5rem}.contact-intro>a{color:var(--green)}
#contact-form{min-width:0;font-size:1rem}#contact-form label{display:block;font-size:1rem;line-height:1.5}#contact-form input:not([type=checkbox]),#contact-form select,#contact-form textarea{display:block;width:100%;box-sizing:border-box;border:1px solid #89958c;border-radius:0;background:#fffdf9;color:#243c30;padding:.8rem;font:inherit;margin:.4rem 0 1rem;min-height:48px}
#contact-form textarea{resize:vertical;min-height:150px}.contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem}
.field-hint,.contact-privacy,.preview-form-note{font-size:.875rem;line-height:1.6}.field-hint{margin:0 0 1rem;color:#526155}.contact-privacy{margin:1.25rem 0}
.preview-form-note{padding:1rem;border-left:2px solid #617966;background:#edf0e9}
#contact-form .check-row,.check-row{display:flex;align-items:flex-start;gap:.75rem;font-size:.9375rem;line-height:1.6;margin:1rem 0 1.5rem}.check-row input{flex:none;width:20px;height:20px;margin-top:.25rem;accent-color:#526c59}
.contact-submit{padding:.9rem 1.5rem;background:#425c4c;border:1px solid #425c4c;color:white;font:inherit;cursor:pointer;min-height:48px}.contact-submit:disabled{opacity:.65;cursor:wait}
#contact-status{margin-top:1rem;line-height:1.6}#contact-status[data-state=error]{color:#8a173a}
.contact-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.footer-v29{background:var(--footer-sage);color:#fff;padding:3.5rem 0 1.5rem}.footer-v29 a,.footer-v29 button{color:#fff}.footer-v29 p{color:#fff;line-height:1.7;margin:.75rem 0;font-size:1rem}.footer-v29 .footer-name{display:inline-block;font-family:Georgia,serif;font-size:2.5rem;margin:0 0 .5rem}
.footer-top{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:2.5rem}.footer-top h2{font:400 1.65rem/1.25 Georgia,serif;margin:0 0 1rem}.footer-top>div>a:not(.footer-name){display:block;margin:.65rem 0;text-decoration:underline;text-underline-offset:.2em;overflow-wrap:anywhere}
.footer-social{display:flex;gap:1rem 2rem;flex-wrap:wrap;justify-content:space-between;margin:2.5rem 0 1.25rem}.footer-social a{text-decoration:underline;text-underline-offset:.2em;font-size:.9375rem}
.footer-legal{border-top:1px solid #ffffff60;padding:1rem 0}.footer-legal p{font-size:.875rem}.footer-bottom{border-top:1px solid #ffffff60;padding-top:1rem;display:flex;gap:1.5rem;justify-content:space-between;align-items:start}.footer-bottom nav{display:flex;flex-wrap:wrap;gap:.7rem 1.2rem}.footer-bottom a,.footer-bottom button{font-size:.875rem;text-decoration:underline;text-underline-offset:.2em}.footer-bottom button{background:none;border:0;padding:0;font-family:inherit;cursor:pointer}.footer-bottom p{font-size:.875rem;text-align:right;margin:0}
.footer-v29 a:focus-visible,.footer-v29 button:focus-visible{outline:2px solid white;outline-offset:5px}
#come-raggiungerci{scroll-margin-top:2rem}
#privacy-preferences{box-sizing:border-box;border:1px solid #7a8c7f;background:#fffdf7;color:#243b2e;max-width:580px;width:calc(100% - 2rem);padding:clamp(1.5rem,4vw,2.5rem);margin:auto;max-height:90vh;overflow:auto}#privacy-preferences::backdrop{background:#13251bcc}#privacy-preferences h2{font:400 1.8rem/1.2 Georgia,serif;margin-bottom:1rem}#privacy-preferences p{line-height:1.65;margin-bottom:1rem}.preferences-actions{display:flex;flex-wrap:wrap;gap:1rem}.preferences-actions>button:not(.contact-submit){font:inherit;background:transparent;border:1px solid #526c59;padding:.9rem 1.5rem;cursor:pointer}
.legal-page{max-width:920px;padding-block:3rem 5rem}.legal-page h1{font-size:clamp(2.3rem,5vw,3.5rem);line-height:1.2}.legal-page h2{font:400 1.6rem/1.3 Georgia,serif;margin:2rem 0 .75rem}.legal-page p{line-height:1.8;margin:.8rem 0}.legal-date{font-size:.875rem;color:#586456}.legal-page code{overflow-wrap:anywhere}
@media(max-width:900px){.contact-section{grid-template-columns:1fr;gap:1.5rem}.footer-top{grid-template-columns:1fr 1fr}.footer-top>div:first-child{grid-column:1/-1}.social-heading{align-items:start;flex-direction:column}.footer-bottom{flex-direction:column}.footer-bottom p{text-align:left}}
@media(max-width:540px){.contact-fields,.footer-top{grid-template-columns:1fr}.footer-top{gap:1.5rem}.footer-social{flex-direction:column;gap:.9rem}.footer-v29{padding-top:2.5rem}.contact-submit{width:100%}.main-nav{flex-wrap:wrap}.instagram-feed{min-height:10rem}}
/* v33 approved footer: shared heading metrics and the restaurant in the footer. */
.footer-v29 .footer-top{grid-template-columns:1fr 1fr 1fr;gap:clamp(1.5rem,3vw,3rem);align-items:start}
.footer-v29 .footer-top h2,.footer-v29 .footer-top .footer-name{font-family:Georgia,'Times New Roman',serif;font-size:1.65rem;font-weight:400;line-height:1.25;letter-spacing:normal}
.footer-v29 .footer-top h2{margin:0 0 1.35rem;min-height:2.063rem}
.footer-v29 .footer-top .footer-name{display:block;margin:0;padding:0;font-style:italic}
.footer-v29 .footer-top>div>p:first-of-type,.footer-v29 .footer-top>div>h2+a{margin-top:0}
.footer-v29 .footer-top .footer-slogan{font-family:Georgia,'Times New Roman',serif;font-size:1.45rem;font-weight:400;line-height:1.08;letter-spacing:-.035em;margin:0}
.footer-v29 .footer-slogan em{font-weight:400;font-style:italic}
.footer-brand-social{display:flex;flex-wrap:wrap;gap:1.5rem;margin-top:1.6rem}
.footer-brand-social a{text-decoration:underline;text-underline-offset:.22em;font-size:1rem}
.footer-restaurant{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2rem;align-items:center;border-top:1px solid #ffffff60;border-bottom:1px solid #ffffff60;padding:1.8rem 0;margin-top:2.5rem}
.footer-v29 .footer-restaurant .eyebrow{font-size:.75rem;line-height:1.5;letter-spacing:.15em;margin:0 0 .6rem}
.footer-restaurant h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.7rem,2.7vw,2.4rem);line-height:1.15;margin:0 0 .8rem}
.footer-v29 .footer-restaurant p:not(.eyebrow){max-width:43em;margin:0;line-height:1.65}
.footer-v29 .restaurant-button{display:inline-block;border:1px solid #fff;padding:.9rem 1.25rem;text-align:center;font-size:1rem;line-height:1.4;text-decoration:none}
.footer-v29 .restaurant-button:hover{background:#ffffff14}
.footer-v29 .footer-legal{border-top:0}
@media(max-width:1000px){.footer-v29 .footer-top{grid-template-columns:1fr 1fr}.footer-v29 .footer-top>div:first-child{grid-column:1/-1}.footer-restaurant{grid-template-columns:1fr;gap:1.25rem}.restaurant-button{justify-self:start}}
@media(max-width:540px){.footer-v29 .footer-top{grid-template-columns:1fr}.footer-v29 .footer-top h2{margin-bottom:1rem}.footer-restaurant{margin-top:2rem}.restaurant-button{width:100%}}
