/* ===== CUSTOM — estensioni SEO 2026 (map facade, FAQ, landing, menu, lang, 404) ===== */

/* ===== MAP FACADE ===== */
.map-facade{position:relative;width:100%;height:200px;cursor:pointer;background:#2b2c2d url("../img/footer_bg_2.jpg") center/cover no-repeat;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;border:1px solid #3a3b3c;-webkit-transition:.3s;transition:.3s}
.map-facade:hover,.map-facade:focus{outline:2px solid #ca3d26;outline-offset:2px}
.map-facade::after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.55)}
.map-facade-label{position:relative;z-index:1;color:#fff;text-align:center;font-family:"PT Sans Narrow",sans-serif;letter-spacing:1px;font-size:18px}
.map-facade-label i{font-size:34px;color:#ca3d26;display:block;margin-bottom:8px}
.map-facade iframe{position:absolute;top:0;left:0;width:100%;height:100%}

/* ===== FAQ ===== */
.faq-area{background:#f7f5f1;position:relative}
.faq-list{max-width:820px;margin:0 auto;text-align:left}
.faq-item{background:#fff;border:1px solid #e6e1d8;border-radius:8px;margin-bottom:14px;padding:0 22px}
.faq-item summary{cursor:pointer;list-style:none;padding:18px 0;font-family:"PT Sans Narrow",sans-serif;font-size:20px;font-weight:700;color:#1a1a1a;position:relative;outline:none}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";position:absolute;right:0;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);color:#ca3d26;font-size:26px;line-height:1}
.faq-item[open] summary::after{content:"\2212"}
.faq-item summary:hover{color:#ca3d26}
.faq-item p{padding:0 0 18px;margin:0;color:#555;line-height:1.7}

/* ===== LANDING PAGES ===== */
.landing-hero{position:relative;min-height:60vh;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;text-align:center;color:#fff;background-position:center;background-size:cover;background-repeat:no-repeat}
.landing-hero::after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.55)}
.landing-hero .landing-hero-inner{position:relative;z-index:1;max-width:820px;padding:120px 20px 60px}
.landing-hero h1{font-size:52px;letter-spacing:2px;margin-bottom:14px;text-transform:uppercase;font-weight:300}
.landing-hero h1 span{font-weight:700}
.landing-hero p{font-size:20px;letter-spacing:1px}
.landing-cta{display:inline-block;margin-top:24px;border:1px solid #fff;color:#fff;padding:12px 34px;letter-spacing:3px;text-transform:uppercase;font-weight:700;font-size:14px;-webkit-transition:.3s;transition:.3s}
.landing-cta:hover{background:#ca3d26;border-color:#ca3d26;color:#fff}
.landing-content{max-width:820px;margin:0 auto}
.landing-content h2{color:#ca3d26;font-size:34px;margin-top:36px}
.landing-content p,.landing-content li{color:#555;line-height:1.8}
.landing-content ul{padding-left:20px}

/* ===== MENU PAGE ===== */
.menu-page-section{max-width:900px;margin:0 auto}
.menu-category{margin-bottom:50px}
.menu-category h2{color:#ca3d26;font-family:"Dancing Script",cursive;font-size:46px;text-align:center;margin-bottom:30px}
.menu-dish{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline;border-bottom:1px dashed #ddd;padding:12px 0;gap:16px}
.menu-dish-name{font-family:"PT Sans Narrow",sans-serif;font-size:19px;font-weight:700;color:#1a1a1a}
.menu-dish-desc{display:block;font-family:"Lato",sans-serif;font-size:14px;font-weight:400;color:#888;margin-top:2px}
.menu-dish-price{font-family:"PT Sans Narrow",sans-serif;font-size:19px;font-weight:700;color:#ca3d26;white-space:nowrap}
.menu-note{text-align:center;color:#888;font-style:italic;margin-top:30px}

/* ===== LANGUAGE SWITCHER ===== */
.lang-switch{display:inline-block;margin-left:8px}
.lang-switch a{color:#fff;font-size:12px;font-weight:700;letter-spacing:1px;padding:2px 4px;text-transform:uppercase;opacity:.65}
.lang-switch a:hover,.lang-switch a.active{opacity:1;color:#ca3d26}

/* ===== 404 ===== */
.error-area{min-height:70vh;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;text-align:center;padding:120px 20px 60px}
.error-inner h1{font-size:120px;color:#ca3d26;font-weight:700;line-height:1;margin-bottom:10px}
.error-inner h2{font-size:30px;margin-bottom:20px}

@media(max-width:767px){.landing-hero h1{font-size:34px}.error-inner h1{font-size:80px}.menu-category h2{font-size:36px}}

/* ===== FIX MENU MOBILE: mostra TUTTE le voci =====
   Il template limitava il menu a tendina sia con ul#nav{max-height:200px} sia
   con il .navbar-collapse{max-height:340px} di Bootstrap: le ultime voci
   restavano nascoste sotto uno scroll interno. Qui forziamo l'altezza piena. */
@media (max-width:991px){
  .navbar-collapse,.navbar-collapse.in{max-height:calc(100vh - 90px) !important;overflow-y:auto !important}
  ul#nav{max-height:none !important;overflow:visible !important}
  ul#nav li a{padding:13px 15px !important}
}

/* ===== SELETTORE LINGUA — pulsanti in alto ===== */
.lang-top{list-style:none;margin:0;padding:0}
.lang-top li{display:inline-block;margin:0}
.lang-top a{display:inline-block;color:#fff;font-size:11px;font-weight:700;line-height:1;letter-spacing:1px;padding:5px 8px;margin-left:4px;border:1px solid rgba(255,255,255,0.45);border-radius:3px;text-transform:uppercase;opacity:.85;-webkit-transition:.2s;transition:.2s}
.lang-top a:hover{opacity:1;color:#fff;background:#ca3d26;border-color:#ca3d26}
.lang-top a.active{background:#ca3d26;border-color:#ca3d26;color:#fff;opacity:1}
/* Home: nella barra alta, lato opposto alle icone social */
.top-bar .lang-top-home{float:left;margin-top:2px;margin-right:18px}
@media (max-width:767px){.top-bar .lang-top-home{float:right;margin-right:0;margin-left:18px}}
/* Email sempre in minuscolo: annulla il text-transform:capitalize/uppercase della top-bar
   (altrimenti "...@gmail.com" viene mostrato come "...@Gmail.Com") */
a[href^="mailto:"]{text-transform:lowercase}
/* Pagine interne (blog/menu/landing): accanto al logo, sfondo bianco -> pulsanti scuri */
.blog-nav .navbar-header{position:relative}
.blog-nav .navbar-header .lang-top{display:inline-block;vertical-align:middle;margin-left:14px}
.blog-nav .lang-top a{color:#1e1e1f;border-color:rgba(0,0,0,0.3);opacity:1}
.blog-nav .lang-top a:hover,.blog-nav .lang-top a.active{color:#fff;background:#ca3d26;border-color:#ca3d26}
@media (max-width:991px){.blog-nav .navbar-header .lang-top{display:block;margin:8px 0 0}}

/* ===== MENU: riga piatto con prezzo ===== */
.menu-dish-text{flex:1;padding-right:14px}
.menu-dish-price{flex:0 0 auto}
