/* Ké Eat — export statico. Consolida gli stili duplicati nelle 5 pagine .dc.html sorgente. */
body{margin:0;background:#f4f0e6;color:#122c42;font-family:'Cormorant Garamond',serif;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
*{box-sizing:border-box}
img{max-width:100%;height:auto}
:where(a,button,input,[role="button"]):focus-visible{outline:2px solid #c0492e;outline-offset:3px;border-radius:4px}
@media (prefers-reduced-motion: reduce){*{animation:none !important;transition:none !important}}
a{color:#ab3e26;text-decoration:none}
a:hover{color:#122c42}
html{scroll-behavior:smooth}
::selection{background:#c0492e;color:#f4f0e6}
::-webkit-scrollbar{width:11px}
::-webkit-scrollbar-track{background:#e9e3d3}
::-webkit-scrollbar-thumb{background:#122c42;border-radius:8px;border:2px solid #e9e3d3}
#chips::-webkit-scrollbar,#chips-mobile::-webkit-scrollbar{display:none}
@media(max-width:700px){html,body{overflow-x:hidden;max-width:100%}}

@keyframes omRise{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:translateY(0)}}
@keyframes omWave{0%{transform:translateX(0)}100%{transform:translateX(-60px)}}
@keyframes omSpin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}
@keyframes omPulse{0%{box-shadow:0 0 0 0 rgba(37,168,90,.45)}70%{box-shadow:0 0 0 16px rgba(37,168,90,0)}100%{box-shadow:0 0 0 0 rgba(37,168,90,0)}}
@keyframes omTicker{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
@keyframes omDash{0%{stroke-dashoffset:0}100%{stroke-dashoffset:-46}}

/* Reveal-on-scroll (js/site.js toggles .is-visible) */
[data-reveal]{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s ease}
[data-reveal].is-visible{opacity:1;transform:translateY(0)}
.no-js [data-reveal],.no-anim [data-reveal]{opacity:1;transform:none}

/* Header / nav */
.ke-header{position:fixed;top:18px;left:0;right:0;z-index:50;display:flex;justify-content:center;padding:0 16px;pointer-events:none}
.ke-header-inner{pointer-events:auto;display:flex;align-items:stretch;gap:0;background:rgba(247,243,233,.88);backdrop-filter:blur(16px) saturate(1.2);border:1px solid rgba(18,44,66,.14);border-radius:999px;padding:6px;box-shadow:0 1px 0 rgba(255,255,255,.6) inset,0 10px 30px rgba(14,35,52,.14),0 2px 8px rgba(14,35,52,.08);max-width:96vw;flex-wrap:wrap;justify-content:center}
.ke-logo-link{display:flex;align-items:center;padding:0 18px 0 16px}
.ke-logo{height:48px;width:auto;display:block}
.ke-sep{width:1px;background:rgba(18,44,66,.12);margin:8px 4px}
.ke-desktop-nav{display:flex;align-items:stretch}
.ke-nav{display:flex;gap:2px;font-family:'Space Mono',monospace;font-size:11.5px;letter-spacing:2px;align-items:center;flex-wrap:wrap;justify-content:center;padding:0 6px}
.ke-nav-a{color:#41586c;padding:10px 13px;border-radius:999px;transition:background .2s,color .2s}
.ke-nav-a:hover{background:rgba(18,44,66,.07);color:#122c42}
.ke-nav-a--active{color:#f4f0e6;background:#122c42;padding:10px 15px;box-shadow:0 2px 6px rgba(14,35,52,.25)}
.ke-lang-toggle{cursor:pointer;color:#635d4d;font-family:'Space Mono',monospace;font-size:11.5px;letter-spacing:1px;padding:10px 12px;border-radius:999px;transition:background .2s;display:inline-block}
.ke-lang-toggle:hover{background:rgba(18,44,66,.07)}
.ke-book-wrap{display:flex;align-items:center;gap:6px;padding-left:6px}
.ke-book-btn{display:flex;align-items:center;gap:8px;background:#c0492e;color:#f4f0e6;font-family:'Oswald',sans-serif;font-size:12.5px;padding:11px 22px;letter-spacing:3px;border-radius:999px;transition:background .25s,transform .2s}
.ke-book-btn:hover{background:#a13c24;transform:scale(1.03);color:#f4f0e6}
.ke-burger{display:none;flex-direction:column;gap:5px;justify-content:center;align-items:center;width:44px;height:44px;border:1px solid rgba(18,44,66,.14);border-radius:999px;background:transparent;cursor:pointer;margin:0 4px}
.ke-burger span{display:block;width:22px;height:2px;background:#122c42;transition:transform .25s ease,opacity .25s ease}
.ke-burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.ke-burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.ke-burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

.ke-drawer{display:none;position:fixed;inset:0;z-index:60;background:#122c42;color:#f4f0e6;flex-direction:column;padding:28px 32px}
.ke-drawer.is-open{display:flex}
.ke-drawer-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:44px}
.ke-drawer-logo{height:38px;width:auto;display:block}
.ke-drawer-close{width:44px;height:44px;border:1px solid #2c4a66;border-radius:999px;background:transparent;color:#f4f0e6;font-size:20px;cursor:pointer}
.ke-drawer-nav{display:flex;flex-direction:column;gap:8px;font-family:'Oswald',sans-serif;letter-spacing:2px}
.ke-drawer-link{color:#f4f0e6;font-size:22px;padding:14px 0;border-bottom:1px solid #21415d;display:block}
.ke-drawer-bottom{margin-top:auto;display:flex;flex-direction:column;gap:14px}
.ke-lang-toggle--drawer{color:#8fa8bd;font-size:11px}
.ke-drawer-cta{background:#c0492e;color:#f4f0e6;padding:16px 24px;letter-spacing:3px;border-radius:999px;text-align:center;font-family:'Oswald',sans-serif;font-size:14px}
.ke-drawer a:focus-visible,.ke-drawer span:focus-visible{outline:2px solid #e8a13a;outline-offset:3px}
@media (max-width:860px){.ke-desktop-nav{display:none}.ke-burger{display:flex}}
@media (max-width:900px){[data-r="nav-extra"]{display:none !important}}

.ke-whatsapp{position:fixed;right:26px;bottom:26px;z-index:60;width:58px;height:58px;border-radius:999px;background:#25a85a;display:flex;align-items:center;justify-content:center;animation:omPulse 2.6s infinite}

/* Sommelier AI: bottone flottante + pannello chat */
#ke-somm-btn{position:fixed;right:26px;bottom:98px;z-index:60;width:58px;height:58px;border-radius:999px;background:#122c42;border:0;color:#f4f0e6;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 18px rgba(18,44,66,.35);transition:transform .2s}
#ke-somm-btn:hover{transform:scale(1.06)}
#ke-somm-panel{position:fixed;right:16px;bottom:16px;z-index:70;width:min(380px,calc(100vw - 32px));height:min(560px,calc(100vh - 32px));background:#f4f0e6;border-radius:20px;box-shadow:0 12px 48px rgba(18,44,66,.35);display:flex;flex-direction:column;overflow:hidden}
#ke-somm-panel[hidden]{display:none}
#ke-somm-head{background:#122c42;color:#f4f0e6;padding:16px 18px;display:flex;justify-content:space-between;align-items:center;font-family:'Oswald',sans-serif;letter-spacing:2px;font-size:13px}
#ke-somm-close{background:transparent;border:0;color:#f4f0e6;cursor:pointer;width:32px;height:32px;border-radius:999px;display:flex;align-items:center;justify-content:center;font-size:16px}
#ke-somm-close:hover{background:rgba(244,240,230,.12)}
#ke-somm-msgs{flex:1;overflow-y:auto;padding:16px 18px;display:flex;flex-direction:column;gap:12px;font-family:'Cormorant Garamond',serif;font-size:16px;line-height:1.5}
.ke-somm-msg{max-width:88%;padding:10px 14px;border-radius:14px}
.ke-somm-msg-user{align-self:flex-end;background:#122c42;color:#f4f0e6;border-bottom-right-radius:4px}
.ke-somm-msg-ai{align-self:flex-start;background:#fff;border:1px solid #d8d2c2;color:#3a3a34;border-bottom-left-radius:4px}
.ke-somm-msg-ai a{color:#ab3e26;text-decoration:underline}
#ke-somm-intro{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:15.5px;color:#635d4d;padding:4px 2px}
#ke-somm-chips{display:flex;flex-wrap:wrap;gap:8px;padding:2px 2px 4px}
.ke-somm-chip{background:#fff;border:1px solid #d8d2c2;color:#122c42;border-radius:999px;padding:8px 14px;font-family:'Space Mono',monospace;font-size:11.5px;letter-spacing:.3px;cursor:pointer;transition:background .2s,border-color .2s}
.ke-somm-chip:hover{background:#f4f0e6;border-color:#ab3e26}
#ke-somm-form{display:flex;gap:8px;padding:14px 16px;border-top:1px solid #d8d2c2;background:#faf7ee}
#ke-somm-input{flex:1;border:1px solid #d8d2c2;border-radius:999px;padding:10px 16px;font-family:'Cormorant Garamond',serif;font-size:15px;background:#fff}
#ke-somm-input:focus-visible{outline:2px solid #c0492e;outline-offset:2px}
#ke-somm-send{background:#c0492e;color:#f4f0e6;border:0;width:40px;height:40px;border-radius:999px;cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center}
#ke-somm-send:disabled{opacity:.5;cursor:default}
@media (max-width:480px){#ke-somm-panel{right:0;bottom:0;width:100vw;height:100vh;border-radius:0}#ke-somm-btn{right:16px;bottom:88px}}
.ke-footer-strip{background:#122c42;color:#8fa8bd;padding:26px 48px;display:flex;justify-content:space-between;font-family:'Space Mono',monospace;font-size:11px;letter-spacing:2px;flex-wrap:wrap;gap:10px}

/* Interior page hero banner */
[data-r="banner"]{background:#122c42;color:#f4f0e6;padding:130px 48px 80px;text-align:center;position:relative;overflow:hidden}
@media (max-width:900px){[data-r="banner"]{padding-top:210px !important}}
[data-r="pad"]{max-width:1100px;margin:0 auto}
@media (max-width:900px){[data-r="pad"]{padding-left:24px !important;padding-right:24px !important}}

/* Home hero (due colonne: testo + foto piatto) */
[data-r="hero-cols"]{padding-top:170px}
@media (max-width:900px){[data-r="hero-cols"]{padding-top:130px !important}}

/* Image slots -> responsive img */
.ke-slot{overflow:hidden}
.ke-slot picture{display:block;width:100%;height:100%}
.ke-ph{display:block;width:100%;height:100%;object-fit:cover}

/* H1 della Home: promosso dal sottotitolo hero, non deve cambiare la resa */
.ke-hero-h1{margin:0;font-weight:400}
/* testo per screen reader e crawler, fuori dal flusso visivo */
.ke-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}

/* Menu search / filter (js/site.js) */
.ke-menu-item[hidden],.ke-menu-section[hidden]{display:none}
.ke-chip{white-space:nowrap;cursor:pointer;transition:background .2s,color .2s;border:1px solid #d8d2c2;background:transparent;color:#122c42;border-radius:999px;padding:9px 18px;font-family:'Space Mono',monospace;font-size:12px;letter-spacing:2px}
.ke-chip.is-active{background:#122c42;color:#f4f0e6;border-color:#122c42}
