/*
Theme Name: Piccolo Rischenau
Description: Bildstarkes Restaurant-Theme mit durchsuchbarer Speisekarte.
Version: 0.4.2
Requires PHP: 8.1
Text Domain: picco
*/
:root{--cream:#f6f1e7;--ink:#171a17;--red:#b93123;--line:#d9d1c3;--muted:#686354;--lime:#dbe786}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--ink);color:var(--cream);font:16px/1.65 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:inherit}button,input,select{font:inherit}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #b77c24;outline-offset:4px}[hidden]{display:none!important}.wrap{width:min(1200px,90%);margin:auto}.site-header{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:20px 0}.brand{text-decoration:none;font-size:36px;font-weight:900;letter-spacing:-2px;line-height:1}.brand small{display:block;font-size:10px;line-height:1.5;letter-spacing:2px;text-transform:uppercase;margin-top:5px}.site-header nav{display:flex;gap:30px;align-items:center;font-size:12px;letter-spacing:1px;font-weight:750;text-transform:uppercase}.site-header nav a{text-decoration:none}.button{display:inline-flex;justify-content:center;align-items:center;gap:22px;min-height:48px;padding:14px 24px;background:var(--red);border:1px solid var(--red);color:#fff;border-radius:3px;text-decoration:none;font-size:13px;font-weight:750;line-height:1.4;transition:background .18s,transform .18s}.button:hover{background:#93271d;transform:translateY(-2px)}.button-outline{background:transparent;border-color:#b9b8aa;color:var(--cream)}.button-outline:hover{background:#ffffff15}.hero{position:relative;isolation:isolate;min-height:650px;display:flex;flex-direction:column;justify-content:center;overflow:hidden}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-2}.hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(10,13,10,.92),rgba(10,13,10,.72) 35%,rgba(10,13,10,.08) 75%),linear-gradient(0deg,rgba(10,13,10,.7),transparent 25%)}.hero-content{padding:85px 0 110px}.eyebrow{font-size:11px;font-weight:750;text-transform:uppercase;letter-spacing:2.5px}.hero .eyebrow{color:var(--lime)}h1,h2{font-family:Impact,"Arial Narrow",system-ui,sans-serif;font-weight:900;line-height:1.02;letter-spacing:-1px}h1{font-size:clamp(48px,6.5vw,90px);margin:26px 0;max-width:790px}h1 em,h2 em{font-style:normal;color:var(--lime)}.hero p{font-size:17px;color:#e4e1d7;margin:0 0 30px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.hero-bottom{position:absolute;bottom:25px;left:5%;right:5%;display:flex;justify-content:space-between;gap:20px;font-size:11px;letter-spacing:1px;text-transform:uppercase;color:#d9d8cc;max-width:1200px}.food-strip{display:flex;justify-content:space-around;gap:24px;flex-wrap:wrap;padding:18px 5%;background:var(--lime);color:var(--ink);font-weight:850;font-size:18px;letter-spacing:1px}.story{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;padding:100px 0}.story h2{font-size:clamp(36px,4vw,56px);margin:22px 0}.story p{color:#c6c7bc;max-width:500px}.story-image{margin:0;position:relative}.story-image img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:3px}.story-image figcaption{font-size:11px;letter-spacing:1px;text-transform:uppercase;margin-top:14px;color:#b7bbae}.text-link{text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:5px;font-size:13px;font-weight:750;display:inline-block;margin-top:14px}.menu-section{background:var(--cream);color:var(--ink);padding:85px 0}.menu-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:35px}.menu-heading h2{font-size:clamp(40px,5vw,68px);margin:18px 0 0}.menu-heading h2 em{color:var(--red)}.menu-heading>p{color:var(--muted);font-size:14px;margin-bottom:0}.menu-tools{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:30px 0 18px}.menu-tools label{font-size:12px;font-weight:750;display:grid;gap:6px}.menu-tools input,.menu-tools select{width:100%;min-width:0;border:1px solid #bcb5a7;background:#fffdf7;color:var(--ink);padding:13px 15px;border-radius:3px;min-height:48px;font-size:16px}.menu-categories{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.menu-categories button{border:1px solid #bcb5a7;border-radius:3px;background:transparent;color:var(--ink);padding:9px 14px;font-size:12px;font-weight:650;cursor:pointer;min-height:42px}.menu-categories button[aria-pressed=true]{background:var(--ink);color:var(--cream);border-color:var(--ink)}.menu-results{color:var(--muted);font-size:12px;margin:18px 0}.picco-category{margin:30px 0 45px}.picco-category h3{font-size:27px;letter-spacing:-.7px;margin:0 0 12px;border-bottom:2px solid var(--ink);padding-bottom:15px}.category-note{font-size:13px;color:var(--muted);margin-bottom:10px}.picco-dishes{display:grid;grid-template-columns:1fr 1fr;column-gap:48px}.picco-dish{padding:22px 0;border-bottom:1px solid var(--line);min-width:0}.dish-title{display:flex;justify-content:space-between;align-items:baseline;gap:14px}.dish-title h4{font-size:16px;line-height:1.4;margin:0;font-weight:750;overflow-wrap:anywhere}.dish-title strong{white-space:nowrap;font-size:15px;color:var(--red);font-variant-numeric:tabular-nums}.picco-dish p{font-size:13px;line-height:1.6;margin:7px 0;color:#5f5b51}.picco-dish .dish-notes{font-size:12px}.menu-empty{padding:30px 0}.menu-bottom{display:flex;justify-content:space-between;gap:20px;align-items:center;border-top:1px solid var(--line);margin-top:35px;padding-top:30px}.menu-bottom p{font-weight:700}.contact-section{padding:90px 0;display:grid;grid-template-columns:1fr 1.6fr;gap:60px}.contact-title h2{font-size:64px;margin:20px 0}.contact{display:grid;grid-template-columns:1fr 1fr;gap:45px;align-items:start}.contact h3{font-size:17px;margin-top:0}.contact p{color:#c6c7bc;font-size:15px}.image-credit{color:#a9ad9e;padding-bottom:25px;font-size:12px}.site-footer{padding:28px 0;display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid #42463c;font-size:12px;color:#c6c7bc}.site-footer ul{display:flex;gap:20px;flex-wrap:wrap;list-style:none;padding:0;margin:0}.site-footer a{text-decoration:none}.page-content{min-height:60vh;padding:60px 0}.page-content h1{font-size:54px}.page-content a{text-decoration:underline}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:20px;top:10px;background:#fff;color:#111;padding:12px;z-index:100}img{max-width:100%;height:auto}.intro{margin:25px 0}.intro a{color:var(--lime)}
@media(min-width:1400px){.hero-bottom{left:calc((100% - 1200px)/2);right:auto}}@media(max-width:900px){.story{gap:35px;padding:65px 0}.hero{min-height:600px}.contact-section{gap:30px;grid-template-columns:1fr}.menu-heading{align-items:start;flex-direction:column;gap:15px}.picco-dishes{column-gap:28px}}
@media(max-width:600px){html{scroll-padding-top:20px}.site-header{gap:15px;padding:16px 0}.brand{font-size:29px}.brand small{font-size:8px;letter-spacing:1px}.site-header nav{gap:12px;font-size:10px;letter-spacing:0;flex-wrap:wrap;justify-content:flex-end}.site-header nav .button{padding:10px 12px;min-height:42px;font-size:11px}.hero{min-height:650px;justify-content:flex-end}.hero-image{object-position:68% center}.hero:after{background:linear-gradient(0deg,rgba(10,13,10,.98),rgba(10,13,10,.74) 55%,rgba(10,13,10,.1))}.hero-content{padding:160px 0 80px}.hero h1{font-size:48px;letter-spacing:-1.5px}.hero p{font-size:15px}.hero-actions{flex-direction:column;align-items:stretch}.hero-bottom{font-size:9px}.hero-bottom span:last-child{display:none}.food-strip{font-size:13px;gap:14px;padding:14px 5%}.story{grid-template-columns:1fr;gap:30px;padding:55px 0}.story h2{font-size:39px}.menu-section{padding:50px 0}.menu-tools,.picco-dishes{grid-template-columns:1fr}.menu-categories{display:none}.menu-heading h2{font-size:44px}.menu-bottom{flex-direction:column;align-items:stretch}.contact-section{padding:55px 0}.contact{grid-template-columns:1fr;gap:30px}.contact-title h2{font-size:52px}.site-footer{flex-direction:column;align-items:flex-start}.dish-title{gap:10px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}.button:hover{transform:none}}

/* Piccolo: Mondphasen und warmes Gold nach der Originalkarte. */
:root{--ink:#171817;--lime:#e8bc68;--red:#a72e25}
body{background:radial-gradient(ellipse at 20% 40%,#30302a 0,transparent 55%),#171817}
.brand{letter-spacing:0;font-weight:400;color:#edbd64}
.brand small{color:#f6f1e7;text-align:center}
.moon-wordmark{display:inline-block;white-space:nowrap;font-family:system-ui,sans-serif;font-weight:300;letter-spacing:.035em;line-height:1.1}
.moon{position:relative;display:inline-block;width:.72em;height:.86em;vertical-align:-.04em;margin:0 .015em}
.crescent{background:linear-gradient(110deg,#fff8de,#9f9b83);border-radius:50%;clip-path:polygon(65% 0,46% 12%,32% 27%,27% 46%,34% 65%,49% 82%,72% 98%,45% 100%,20% 87%,5% 67%,0 42%,10% 20%,32% 5%)}
.crescent.second{transform:scaleX(1.08)}
.full{border-radius:50%;background:radial-gradient(ellipse at 65% 30%,#b6b19a 0 12%,transparent 14%),radial-gradient(ellipse at 30% 63%,#aaa58c 0 14%,transparent 18%),radial-gradient(circle at 40% 35%,#fffbe2,#d4ceb2 60%,#a39d86);box-shadow:0 0 16px #f4e6ad25}
.hero-wordmark{font-size:clamp(45px,7vw,90px);color:#edbd64;margin-bottom:25px}
.hero h1{font-size:clamp(42px,5vw,70px)}
.night-stars{position:absolute;right:8%;top:10%;color:#fff6d8;font-size:38px;pointer-events:none;text-shadow:0 0 18px #f4dba2}
.night-stars span{display:block;margin:100px 80px 40px 0;font-size:22px}
.food-strip{background:#e8bc68}.food-strip span+span:before{content:"✦";font-size:12px;margin-right:24px}
.story-image:after{content:"✧";position:absolute;right:-15px;top:-40px;color:#ebcb86;font-size:75px}
.allergen-legend{margin:35px 0;padding:22px;border:1px solid var(--line);border-radius:4px;font-size:14px}
.allergen-legend summary{cursor:pointer;font-weight:750;font-size:16px}
.allergen-legend dl{display:grid;grid-template-columns:35px 1fr;gap:6px 14px}
.allergen-legend dt{font-weight:800}.allergen-legend dd{margin:0}
.allergen-legend h4{margin:22px 0 8px}
@media(max-width:600px){.brand{font-size:25px}.hero-wordmark{font-size:49px}.night-stars{right:6%;font-size:25px}.night-stars span{margin:70px 15px}.food-strip span+span:before{display:none}.allergen-legend{padding:16px}}

.dish-prices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:16px 0 0;background:#eee7d9;border:1px solid #ded4c1;border-radius:5px;overflow:hidden}
.dish-prices>div{padding:10px 16px;text-align:center}
.dish-prices>div+div{border-left:1px solid #d6cbb7}
.dish-prices dt{font-size:11px;letter-spacing:1px;text-transform:uppercase;color:#625747;font-weight:650}
.dish-prices dd{margin:3px 0 0;font-size:18px;font-weight:750;color:#86251f;font-variant-numeric:tabular-nums;white-space:nowrap}
.picco-dish{display:flex;flex-direction:column}.picco-dish .dish-prices{margin-top:auto}
.picco-dish>p:last-of-type{margin-bottom:16px}

/* Photorealistic generated lunar assets, alpha preserved. */
.moon{width:.83em;height:.87em;margin:0;vertical-align:-.07em}
.moon.crescent,.moon.full{clip-path:none;border-radius:0;box-shadow:none;background-color:transparent;background-repeat:no-repeat;background-position:center;background-size:contain}
.moon.crescent{background-image:url('assets/moon-crescent.webp')}
.moon.full{background-image:url('assets/moon-full.webp')}
.moon.crescent.second{transform:none}
.brand small{font-size:9px;letter-spacing:.25px;text-transform:none;white-space:nowrap;margin-top:8px}
@media(max-width:600px){.site-header{flex-wrap:wrap}.brand small{font-size:8px}.site-header nav{flex:1;min-width:170px}}

.legal-draft{padding:20px;border:1px solid #e8bc68;background:#332e22;margin:24px 0}.page-content{max-width:850px}.page-content h2{font:700 24px/1.3 system-ui;margin:35px 0 15px;letter-spacing:0}.site-footer nav{display:flex;gap:18px;flex-wrap:wrap}

.hero-phone{margin:24px 0 30px}.hero-phone span,.contact-phone span{display:block;font-size:12px;text-transform:uppercase;letter-spacing:1.5px;color:var(--cream)}.hero-phone a{display:inline-block;color:var(--lime);font-size:clamp(30px,5vw,62px);font-weight:800;line-height:1.25;text-decoration:none;white-space:nowrap}.contact-phone{margin-top:22px}.contact-phone a{display:inline-block;color:var(--lime);font-size:clamp(23px,2.4vw,32px);font-weight:800;text-decoration:none;white-space:nowrap}.hero-phone a:hover,.contact-phone a:hover{text-decoration:underline}.contact{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}@media(max-width:600px){.contact{grid-template-columns:1fr}.hero-phone a{font-size:clamp(28px,8vw,42px)}}
