
:root{--pine:#123c32;--pine-dark:#0b2e27;--wine:#9e333d;--berry:#762832;--gold:#d5a76c;--cream:#f7f4ec;--paper:#fffcf5;--ink:#243f35;--muted:#6e8074;--line:#e8e5d9;--shadow:0 13px 50px rgba(28,53,37,.085)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);font:15px/1.57 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #dfb577;outline-offset:3px}button:disabled{cursor:not-allowed}h1,h2,h3,p{margin:0}a{text-decoration:none;color:inherit}img{max-width:100%}.wrap{width:min(1170px,calc(100% - 44px));margin:auto}section{scroll-margin-top:95px}.topline{height:5px;background:repeating-linear-gradient(90deg,#dfad70 0 19px,#8c2f3c 19px 38px,#f0e0b9 38px 57px,#245c43 57px 76px)}
header{position:sticky;top:0;z-index:30;background:rgba(251,250,244,.96);backdrop-filter:blur(15px);border-bottom:1px solid #e6e6dd}.header-inner{height:75px;display:flex;align-items:center;justify-content:space-between;gap:14px}.brand{display:flex;align-items:center;gap:12px;min-width:0}.brand-logo{width:133px;height:48px;display:block;object-fit:contain;border-radius:11px;background:white;padding:9px 12px;box-shadow:0 1px 6px #173d2220}.brand-sub{font-size:11px;text-transform:uppercase;letter-spacing:2px;font-weight:900;color:#856340;white-space:nowrap}.navigation{display:flex;align-items:center;gap:7px}.navigation a{font-size:13px;font-weight:790;padding:11px 14px;border-radius:99px;white-space:nowrap}.navigation a:hover{background:#f0e8d8}.navigation a.feature{background:var(--pine);color:#fff}.navigation a.feature:hover{background:#215846}.navigation a.mobile-game{display:none}
.hero{position:relative;overflow:hidden;background:var(--pine);color:#fff9ea;isolation:isolate}.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 580px 360px at 82% 36%,#3d74535c,transparent 70%),radial-gradient(ellipse 480px 340px at 7% 15%,#661f2827,transparent 74%)}.hero-inner{position:relative;display:grid;grid-template-columns:1.08fr .92fr;align-items:center;min-height:535px;gap:20px;padding:65px 0 80px}.hero-left{z-index:1}.eyebrow{font-size:11px;letter-spacing:3.1px;font-weight:900;text-transform:uppercase;color:#dfbc82;display:flex;gap:10px;align-items:center}.eyebrow:before{content:"";width:26px;height:1px;background:#dfbc82}.hero h1{font-size:clamp(54px,6.9vw,91px);line-height:.99;letter-spacing:-4px;margin:21px 0 19px;font-weight:900}.hero h1 span{font-family:Georgia,serif;font-weight:500;font-style:italic;color:#e9c58e;letter-spacing:-4px}.hero-lead{font-size:clamp(17px,1.7vw,21px);color:#deebe0;max-width:540px;line-height:1.58}.hero-details{display:flex;gap:12px;flex-wrap:wrap;margin:27px 0 31px}.hero-detail{border:1px solid #ffffff36;background:#ffffff12;padding:11px 14px;border-radius:14px;display:flex;gap:9px;align-items:center;font-size:13px;font-weight:720}.hero-cta{display:flex;gap:12px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;gap:9px;justify-content:center;padding:14px 22px;min-height:48px;border:1px solid transparent;border-radius:11px;font-weight:800;font-size:14px;transition:transform .15s,background .15s}.btn:hover{transform:translateY(-2px)}.btn-gold{background:#e0b47f;color:#243e2f}.btn-ghost{border-color:#ffffff65;color:#fff;background:#ffffff12}.btn-green{background:var(--pine);color:#fff}.hero-art{position:relative;display:grid;place-items:center;min-height:405px}.hero-art:before{content:"";position:absolute;border:1px solid #ffffff25;width:420px;height:420px;border-radius:50%;box-shadow:0 0 0 39px #ffffff04,0 0 0 85px #ffffff04}.hero-art:after{content:"✦";position:absolute;right:6%;top:6%;font-size:37px;color:#edbd70}.hero-cup{position:relative;max-width:430px;width:100%;filter:drop-shadow(0 32px 38px #031b1973)}.sprig{position:absolute;font-size:26px;color:#dfb87c}.sprig.one{top:8%;left:5%}.sprig.two{right:13%;bottom:16%}.hero-wave{position:absolute;bottom:-1px;left:0;right:0;fill:var(--cream);height:33px;width:100%}
.section{padding:85px 0}.section.alt{background:#f0eee6}.section-intro{max-width:630px;margin:0 auto 34px;text-align:center}.kicker{color:#a37a48;letter-spacing:2.8px;font-size:11px;font-weight:900;text-transform:uppercase}.section-title{font-family:Georgia,"Times New Roman",serif;font-size:clamp(37px,4vw,55px);font-weight:500;letter-spacing:-1.4px;line-height:1.12;margin:8px 0 14px;color:var(--pine)}.section-desc{font-size:15px;color:var(--muted);line-height:1.65}.sep-star{font-size:19px;color:#bc914f;margin-top:5px}
.menu-filters{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-bottom:23px}.filter{border:1px solid #e2ddcf;background:#fffcf5;border-radius:40px;padding:10px 16px;font-size:13px;font-weight:800;color:var(--pine)}.filter.active,.filter:hover{color:white;background:var(--pine);border-color:var(--pine)}.menu-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.menu-card{position:relative;border:1px solid var(--line);background:var(--paper);border-radius:18px;padding:23px;display:flex;align-items:center;gap:16px;min-height:138px;box-shadow:var(--shadow);transition:transform .18s,box-shadow .18s}.menu-card:hover{transform:translateY(-3px);box-shadow:0 16px 35px rgba(15,58,36,.09)}.menu-emoji{height:70px;width:70px;flex:0 0 70px;display:grid;place-items:center;font-size:34px;border-radius:19px;background:#f3ecdf}.menu-card:nth-child(4n+2) .menu-emoji{background:#e9f0e6}.menu-card:nth-child(4n+3) .menu-emoji{background:#f4e9e8}.menu-info{min-width:0;flex:1}.menu-name{font-size:17px;font-weight:850;line-height:1.2;word-wrap:break-word}.menu-cat{font-size:12px;color:#7f8c7e;margin:6px 0}.menu-price{color:var(--wine);font-weight:920;font-size:22px;letter-spacing:-.6px;white-space:nowrap}.menu-price.soon{font-size:12px;color:var(--muted);letter-spacing:0}.unavailable{font-size:10px;background:#f1e5e0;border-radius:30px;padding:2px 7px;color:#9f5758;display:inline-block;margin-top:4px}.section-footnote{text-align:center;color:#88918a;font-size:12px;margin-top:20px}.note-panel{max-width:760px;margin:0 auto;padding:24px 30px;border:1px dashed #d3c6aa;border-radius:18px;background:#fffdf6;text-align:center;color:var(--muted)}.note-panel strong{color:var(--pine);display:block;margin:4px 0 5px}
.gallery-head{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:28px}.gallery-head .section-title{margin-bottom:5px}.photo-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.photo-item{border:0;border-radius:15px;overflow:hidden;background:#e5e9e0;padding:0;aspect-ratio:4/3;position:relative;box-shadow:var(--shadow);cursor:zoom-in}.photo-item img{width:100%;height:100%;object-fit:cover;transition:transform .25s}.photo-item:hover img{transform:scale(1.035)}.photo-item:after{content:"↗";position:absolute;right:12px;bottom:12px;border-radius:9px;background:#103b32cc;color:#fff;font-size:18px;padding:2px 10px}.gallery-empty{min-height:250px;border:1px dashed #d2d6c9;border-radius:20px;background:linear-gradient(130deg,#fffdf5,#e9ede3);display:grid;place-items:center;text-align:center;padding:35px;color:#6d8072}.gallery-empty strong{display:block;color:var(--pine);font-size:21px;margin:10px 0 5px}.gallery-empty .emoji{font-size:46px}.gallery-empty p{max-width:400px;font-size:14px}.photo-modal{position:fixed;inset:0;background:#061c18e8;display:none;align-items:center;justify-content:center;z-index:100;padding:35px;cursor:zoom-out}.photo-modal.open{display:flex}.photo-modal img{display:block;max-width:95vw;max-height:89vh;object-fit:contain;border-radius:11px}.modal-close{position:absolute;top:20px;right:22px;border:0;background:#fff;color:#173c31;font-size:25px;border-radius:40px;width:44px;height:44px}
.info-section{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center}.info-banner{background:var(--pine);border-radius:25px;padding:44px 36px;color:#fef9eb;min-height:400px;position:relative;overflow:hidden}.info-banner:before{content:"✷";position:absolute;right:-24px;bottom:-90px;font-size:380px;color:#ffffff0e}.info-banner b{color:#dfbc88}.info-banner .big-year{font:100px Georgia,serif;color:#ebc48e;position:relative}.info-banner .script{font:italic 36px Georgia,serif;line-height:1.25;max-width:260px;position:relative}.info-banner .inner{border-top:1px solid #ffffff3c;margin-top:39px;padding-top:20px;position:relative;font-size:13px;color:#d4dfd1}.facts{display:grid;gap:12px;margin-top:30px}.fact{display:flex;gap:15px;align-items:start;padding:17px 18px;border-radius:15px;background:#fffcf6;border:1px solid var(--line)}.fact-icon{width:42px;height:42px;border-radius:12px;background:#f0ebdf;display:grid;place-items:center;font-size:21px}.fact h3{font-size:14px;font-weight:850}.fact p{font-size:13px;color:#708073;margin-top:3px}
.game-section{background:var(--pine);color:white;position:relative;overflow:hidden}.game-section:before{content:"";position:absolute;right:-110px;top:-180px;width:540px;height:540px;border:1px solid #ffffff16;border-radius:50%;box-shadow:0 0 0 60px #ffffff05,0 0 0 120px #ffffff05}.game-section .section-title{color:#fff9e9}.game-section .section-desc{color:#d5e2d6}.game-section .kicker{color:#dfbb85}.game-shell{position:relative;display:grid;grid-template-columns:.8fr 1.2fr;gap:55px;align-items:center;padding:18px 0}.game-copy h3{font-family:Georgia,serif;font-size:35px;line-height:1.16;font-weight:500}.game-copy p{color:#d6e4d9;margin-top:14px}.game-stat-row{display:flex;gap:20px;flex-wrap:wrap;margin:30px 0}.game-stat{border-left:2px solid #d5aa77;padding-left:13px}.game-stat strong{display:block;font-size:29px;letter-spacing:-.7px}.game-stat span{font-size:11px;text-transform:uppercase;letter-spacing:1.2px;color:#c6d4c7}.game-board{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;background:#ffffff0b;border:1px solid #ffffff27;border-radius:24px;padding:18px;max-width:540px;width:100%;margin:0 auto}.game-card{border:0;min-height:105px;aspect-ratio:1/1;border-radius:13px;background:#f9edd8;color:#246047;font-size:31px;display:grid;place-items:center;transition:transform .13s,background .15s;box-shadow:0 3px 0 #d1c2a6;user-select:none}.game-card:hover{transform:translateY(-1px)}.game-card.covered{background:#c4aa7d;color:#173d32}.game-card.covered span{font-size:30px;font-family:Georgia,serif}.game-card.found{background:#e3f0df;box-shadow:0 3px 0 #8dae89}.game-card:disabled{opacity:1;cursor:default}.game-result{min-height:55px;padding:12px 15px;border:1px solid #ffffff30;border-radius:12px;background:#ffffff10;margin-top:20px;color:#fff3df;font-weight:700}.game-result[hidden]{display:none}.game-small{color:#c6d4c5;font-size:12px;margin-top:12px}
footer{background:#0b2d25;color:#d7e1d6;padding:32px 0}.footer-content{display:flex;justify-content:space-between;gap:20px;align-items:center}.footer-title{font-weight:900;color:#fff8e8}.footer-title span{color:#e5ba81}.footer-small{font-size:12px;color:#a5b8aa;margin-top:5px}.footer-link{font-size:12px;line-height:1.5;color:#dce2d5;display:inline-flex;align-items:center;gap:5px}
@media(max-width:930px){.menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-inner{min-height:475px}.hero h1{font-size:clamp(49px,7vw,70px)}.hero-art{min-height:325px}.game-shell{gap:25px}.info-section{gap:30px}.brand-sub{display:none}}
@media(max-width:660px){.wrap{width:min(100% - 28px,550px)}.header-inner{height:63px;gap:6px}.brand-logo{width:116px;height:42px}.navigation{gap:0;overflow:auto;scrollbar-width:none}.navigation::-webkit-scrollbar{display:none}.navigation a{font-size:11px;padding:9px 10px}.navigation a.feature{display:none}.navigation a.mobile-game{display:inline-flex}.hero-inner{display:flex;flex-direction:column;align-items:stretch;gap:0;min-height:auto;padding:42px 0 49px}.hero h1{font-size:clamp(50px,13vw,75px);letter-spacing:-2px;margin:16px 0}.hero h1 span{letter-spacing:-2px}.hero-lead{font-size:16px}.hero-details{margin:21px 0 22px;gap:7px}.hero-detail{font-size:12px;padding:8px 11px}.hero-cta .btn{min-height:45px;padding:12px 16px;font-size:13px}.hero-art{min-height:230px;max-height:280px;margin-top:15px}.hero-art:before{width:250px;height:250px;box-shadow:0 0 0 35px #ffffff04}.hero-cup{width:min(100%,270px)}.section{padding:56px 0}.section-title{font-size:40px}.section-intro{margin-bottom:25px}.menu-grid{grid-template-columns:1fr;gap:10px}.menu-card{padding:15px;min-height:102px;gap:14px}.menu-emoji{width:62px;height:62px;flex-basis:62px;font-size:30px}.menu-name{font-size:16px}.menu-price{font-size:19px}.gallery-head{align-items:start;gap:12px}.photo-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.info-section,.game-shell{grid-template-columns:1fr;gap:26px}.info-banner{min-height:285px;padding:30px}.info-banner .big-year{font-size:71px}.info-banner .script{font-size:31px}.game-board{gap:7px;padding:10px;border-radius:17px}.game-card{min-height:64px;font-size:28px;border-radius:10px}.game-copy h3{font-size:28px}.game-stat-row{margin:19px 0}.game-section .section-intro{text-align:left;margin:0 0 23px}.game-section .section-title{font-size:39px}.footer-content{align-items:flex-start;flex-direction:column;gap:14px}}
@media(max-width:370px){.header-inner{flex-wrap:wrap;height:auto;padding:7px 0}.brand-logo{width:99px;height:35px;padding:6px}.navigation{width:100%;justify-content:space-between}.navigation a{padding:7px 9px}.game-card{min-height:54px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}


/* FOODEX games v2 – extra layout */
.navigation{min-width:0;flex:0 1 auto;overflow-x:auto;scrollbar-width:none}.navigation::-webkit-scrollbar{display:none}
.navigation a.feature,.navigation a.game-nav{display:inline-flex;background:var(--pine);color:white}
.navigation a.feature:hover,.navigation a.game-nav:hover{background:#215846;color:white}
.game-board{grid-template-columns:repeat(4,minmax(0,1fr))}
.game-card{min-width:0;aspect-ratio:1/1;min-height:0;width:100%;display:flex;align-items:center;justify-content:center;overflow:hidden}
.game-card>span{display:grid;place-items:center;width:100%;height:100%}.game-card .face-logo{width:84%;max-width:125px;max-height:64px;object-fit:contain;display:block;border-radius:4px;background:white;padding:4px}
.game-shell{align-items:start}
.games-after{position:relative;text-align:center;padding-top:24px;margin-top:14px;border-top:1px solid #ffffff30}
.games-after a{display:inline-flex;min-width:172px}
.inner-page{min-height:calc(100vh - 170px)}
.inner-top{padding:40px 0 0}.back-link{display:inline-block;color:var(--pine);background:#fff;border:1px solid var(--line);border-radius:999px;padding:8px 16px;font-size:13px;font-weight:800}
.games-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin:35px 0 0}
.game-tile{display:flex;flex-direction:column;gap:12px;background:var(--paper);border:1px solid var(--line);border-radius:22px;padding:28px;box-shadow:var(--shadow)}
.game-tile h3{font:500 30px/1.15 Georgia,serif;color:var(--pine)}
.game-tile p{color:var(--muted);flex:1}.game-tile .tile-emoji{font-size:50px}.game-tile a{align-self:flex-start}
.wheel-item .wheel-emoji{font-size:23px}.wheel-item.dark{color:#153d30;text-shadow:none}
@media(max-width:1000px){.wheel-layout{grid-template-columns:1fr;gap:38px}.wheel-frame{max-width:420px}.games-list{gap:13px}}
@media(max-width:660px){.navigation a.feature,.navigation a.game-nav{display:inline-flex}.header-inner{gap:4px}.navigation{gap:4px;flex:1}.navigation a{padding:9px 10px;flex-shrink:0}.brand{flex:0 0 auto}.game-board{gap:8px;padding:10px}.game-card{font-size:27px;min-height:0}.games-list{grid-template-columns:1fr}.wheel-frame{max-width:365px}.wheel-disk{--radius:133px}.wheel-item{font-size:10px;width:67px}.wheel-item .wheel-emoji{font-size:21px}.wheel-layout{gap:30px}.inner-top{padding:26px 0 0}}
@media(max-width:660px){.header-inner{flex-wrap:wrap;height:auto;padding:7px 0 9px}.navigation{flex:1 1 100%;width:100%;justify-content:center;flex-wrap:wrap;overflow:visible;gap:3px}.navigation a{font-size:11px;padding:7px 10px}.brand{margin:0 auto}}
@media(max-width:400px){.brand-logo{width:94px;padding:6px 8px}.brand{gap:0}.navigation a{font-size:11px;padding:8px 8px}.wheel-frame{max-width:316px}.wheel-disk{--radius:111px}.wheel-item{font-size:9px;width:60px}.game-card{font-size:24px}}
@media(prefers-reduced-motion: reduce){.wheel-disk{transition-duration:.01ms!important}}

/* Chyť perníček: třetí samostatná vánoční hra */
.ginger-page{background:#f7f4ec;min-height:calc(100vh - 160px)}
.ginger-page .inner-top{padding-top:26px}
.ginger-section{padding:22px 0 84px}
.ginger-hero{text-align:center;max-width:750px;margin:8px auto 35px}
.ginger-label{display:inline-flex;align-items:center;gap:12px;font-size:11px;letter-spacing:2.1px;font-weight:900;color:#a47748;padding:9px 18px;border:1px solid #dfd5bf;border-radius:99px;background:#fffaf0}
.ginger-label span{color:#bc914f;font-size:15px}
.ginger-hero h1{font:500 clamp(48px,6vw,80px)/1.08 Georgia,serif;color:var(--pine);letter-spacing:-2.5px;margin:20px 0 16px}
.ginger-hero h1 em{color:#a64a44;font-weight:500}
.ginger-hero p{font-size:16px;line-height:1.7;color:#6d7a70;max-width:625px;margin:auto}
.ginger-hero p strong{color:#4b5e4b}
.ginger-game-card{max-width:990px;margin:auto;border:8px solid #fdf8ec;border-radius:31px;box-shadow:0 24px 60px rgba(16,57,41,.13),0 0 0 1px #dbd1be;overflow:hidden;background:#e8e0cd}
.ginger-hud{position:relative;background:#fff7e8;padding:16px 30px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;box-shadow:0 4px 16px #0000000d;z-index:2}
.ginger-hud-stat{display:flex;align-items:center;gap:12px;justify-content:center}
.ginger-hud-stat small{font-size:10px;letter-spacing:2px;font-weight:950;color:#899087;display:block}
.ginger-hud-stat strong{font-size:34px;letter-spacing:-1.3px;line-height:1.12;color:#174534;display:block;font-variant-numeric:tabular-nums}
.ginger-hud-stat strong i{font:700 14px system-ui;font-style:normal;color:#8b9587}
.ginger-hud-icon{display:grid;place-items:center;font-size:25px;width:46px;height:46px;border-radius:14px;background:#f0e7d3}
.ginger-hud-timer{border-left:1px solid #e2d8c5;border-right:1px solid #e2d8c5}
.ginger-arena{position:relative;width:100%;height:clamp(395px,48vw,490px);background:var(--pine);overflow:hidden;isolation:isolate}
#ginger-canvas{display:block;width:100%;height:100%;touch-action:none;cursor:crosshair;user-select:none}
.ginger-overlay{position:absolute;inset:0;display:grid;place-items:center;padding:20px;background:linear-gradient(#082e28a0,#082e28ad);backdrop-filter:blur(2px);z-index:3}
.ginger-overlay[hidden]{display:none}
.ginger-overlay-panel{background:#fff9ed;text-align:center;border-radius:27px;padding:29px 33px 32px;box-shadow:0 26px 66px #061e1973,0 0 0 5px #fff9ed36;max-width:438px;width:100%;border:1px solid #f4ddaf}
.ginger-overlay-cookie{font-size:59px;display:block;line-height:1.1;margin:1px auto 12px;filter:drop-shadow(0 5px 5px #966d4a24)}
.ginger-overlay-kicker{font-size:10px;color:#b67d49;letter-spacing:2px;font-weight:900}
.ginger-overlay-panel h2{font:500 clamp(28px,3.5vw,39px)/1.2 Georgia,serif;color:#163e32;margin:10px auto 14px}
.ginger-overlay-panel p{font-size:14px;color:#6e7c6e;line-height:1.7;margin:0 auto 22px;max-width:342px}
.ginger-overlay-panel p strong{color:#285544}
.ginger-play-btn{font-size:15px;background:#b63d46;color:white;border-color:#b63d46;width:100%;max-width:225px;box-shadow:0 8px 20px #9e333d36}
.ginger-play-btn:hover{background:#972f3a}
.ginger-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fbf4e5;padding:18px 24px;border-top:1px solid #fff9e9}
.ginger-how{display:flex;align-items:center;gap:11px;font-size:13px;color:#647466}
.ginger-how>span:first-child{font-size:21px}
.ginger-how strong{color:#2d5645}
.ginger-how kbd{font:700 12px system-ui;border:1px solid #dbcbaa;background:white;border-radius:5px;padding:4px 6px;box-shadow:0 2px 0 #ded0b5}
.ginger-touch-buttons{display:flex;gap:9px;flex-shrink:0}
.ginger-touch-buttons button{width:60px;height:46px;background:#174837;color:white;border:1px solid #174837;border-radius:12px;font-size:26px;touch-action:none;user-select:none;line-height:1}
.ginger-touch-buttons button:active{background:#a94b46}
.ginger-below{max-width:990px;margin:23px auto 0;display:flex;justify-content:space-between;align-items:center;gap:22px}
.ginger-rule{display:flex;gap:14px;align-items:center;color:#728173;font-size:13px;line-height:1.55}
.ginger-rule span:first-child{font-size:24px}
.ginger-rule strong{color:#245746}
.ginger-other-games{background:#1a4c3c;color:white;white-space:nowrap}
.ginger-other-games:hover{background:#29674d}
.ginger-game-tile{background:linear-gradient(160deg,#fffaf0,#f6ebd9)}
.ginger-game-tile .tile-emoji{filter:drop-shadow(0 4px 5px #79452922)}
@media(min-width:1100px){.games-list{grid-template-columns:repeat(3,minmax(0,1fr))}.game-tile{padding:24px}.game-tile h3{font-size:27px}}
@media(max-width:660px){
 .ginger-page .inner-top{padding-top:21px}
 .ginger-section{padding:18px 0 58px}
 .ginger-hero{margin:8px auto 23px}
 .ginger-label{font-size:10px;letter-spacing:1.25px;padding:6px 12px}
 .ginger-hero h1{font-size:clamp(40px,11vw,55px);margin:13px 0 12px;letter-spacing:-1.2px}
 .ginger-hero p{font-size:14px;line-height:1.6}
 .ginger-game-card{border-width:5px;border-radius:21px}
 .ginger-hud{padding:12px 8px;gap:3px}
 .ginger-hud-stat{gap:5px}
 .ginger-hud-stat small{font-size:9px;letter-spacing:1px}
 .ginger-hud-stat strong{font-size:25px}
 .ginger-hud-icon{width:30px;height:30px;border-radius:9px;font-size:17px}
 .ginger-arena{height:375px}
 .ginger-overlay{padding:12px}
 .ginger-overlay-panel{border-radius:19px;padding:18px 20px 22px;max-width:300px}
 .ginger-overlay-cookie{font-size:43px;margin:0 auto 7px}
 .ginger-overlay-kicker{font-size:8px}
 .ginger-overlay-panel h2{font-size:28px;margin:8px 0 10px}
 .ginger-overlay-panel p{font-size:12px;margin-bottom:15px}
 .ginger-play-btn{min-height:42px;font-size:13px}
 .ginger-controls{padding:11px 12px;gap:8px}
 .ginger-how{font-size:11px;line-height:1.45}
 .ginger-how>span:first-child{display:none}
 .ginger-touch-buttons{gap:6px}
 .ginger-touch-buttons button{width:46px;height:44px;font-size:23px}
 .ginger-how kbd{padding:2px 4px}
 .ginger-below{flex-direction:column;align-items:stretch;gap:17px;margin-top:18px}
 .ginger-other-games{justify-content:center}
}
@media(max-width:365px){.ginger-hud-stat strong{font-size:22px}.ginger-hud-icon{width:26px;height:26px;font-size:14px}.ginger-arena{height:345px}.ginger-controls{gap:6px}.ginger-touch-buttons button{width:39px}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.ginger-overlay-cookie{display:block;width:80px;height:80px;margin:0 auto 12px;object-fit:contain;filter:drop-shadow(0 5px 5px #966d4a24)}
.ginger-game-tile .tile-emoji img{display:block;width:72px;height:72px}
@media(max-width:660px){.ginger-overlay-cookie{width:62px;height:62px;margin:0 auto 7px}}


/* Zachraň sněhuláka: čtvrtá samostatná vánoční hra */
.snow-nav{background:#1b4e3d;color:#fff}.snow-nav:hover{background:#29624d}
.snow-page{background:#f7f4ec;min-height:calc(100vh - 160px)}
.snow-page .inner-top{padding-top:26px}
.snow-section{padding:22px 0 84px}
.snow-hero{text-align:center;max-width:780px;margin:8px auto 35px}
.snow-label{display:inline-flex;align-items:center;gap:12px;font-size:11px;letter-spacing:2.1px;font-weight:900;color:#6f83a8;padding:9px 18px;border:1px solid #d4dde9;border-radius:99px;background:#fbfdff}
.snow-label span{color:#7ca6d6;font-size:15px}
.snow-hero h1{font:500 clamp(48px,6vw,80px)/1.08 Georgia,serif;color:var(--pine);letter-spacing:-2.4px;margin:20px 0 16px}
.snow-hero h1 em{color:#5a789f;font-weight:500}
.snow-hero p{font-size:16px;line-height:1.7;color:#6d7a70;max-width:660px;margin:auto}
.snow-hero p strong{color:#33536f}
.snow-game-card{max-width:1030px;margin:auto;border:8px solid #fbfdff;border-radius:31px;box-shadow:0 28px 70px rgba(16,57,41,.16),0 0 0 1px #dbe3ee;overflow:hidden;background:linear-gradient(180deg,#eef5fb,#dfeaf3)}
.snow-hud{position:relative;background:linear-gradient(180deg,#fbfdff,#f2f8fd);padding:16px 20px;display:grid;grid-template-columns:repeat(4,1fr);gap:10px;box-shadow:0 6px 20px #00000010;z-index:2}
.snow-hud-stat{display:flex;align-items:center;gap:12px;justify-content:center}
.snow-hud-stat small{font-size:10px;letter-spacing:2px;font-weight:950;color:#87919d;display:block}
.snow-hud-stat strong{font-size:31px;letter-spacing:-1.2px;line-height:1.12;color:#173949;display:block;font-variant-numeric:tabular-nums}
.snow-hud-icon{display:grid;place-items:center;font-size:23px;width:44px;height:44px;border-radius:14px;background:#ecf2f9}
.snow-hud-lives,.snow-hud-speed{border-left:1px solid #dde3ed}
.snow-arena{position:relative;width:100%;height:clamp(395px,48vw,500px);background:linear-gradient(180deg,#11313f,#194f60);overflow:hidden;isolation:isolate}
#snow-canvas{display:block;width:100%;height:100%;touch-action:none;cursor:crosshair;user-select:none}
.snow-overlay{position:absolute;inset:0;display:grid;place-items:center;padding:20px;background:linear-gradient(#09232ea3,#09232eb8);backdrop-filter:blur(2px);z-index:3}
.snow-overlay[hidden]{display:none}
.snow-overlay-panel{background:#fbfdff;text-align:center;border-radius:27px;padding:29px 33px 32px;box-shadow:0 26px 66px #061e1973,0 0 0 5px #ffffff2b;max-width:455px;width:100%;border:1px solid #ddeaf3}
.snow-overlay-icon{font-size:59px;display:block;line-height:1.1;margin:1px auto 12px;filter:drop-shadow(0 5px 5px #7ea2c924)}
.snow-overlay-kicker{font-size:10px;color:#5a789f;letter-spacing:2px;font-weight:900}
.snow-overlay-panel h2{font:500 clamp(28px,3.5vw,39px)/1.2 Georgia,serif;color:#163e32;margin:10px auto 14px}
.snow-overlay-panel p{font-size:14px;color:#687675;line-height:1.7;margin:0 auto 22px;max-width:342px}
.snow-overlay-panel p strong{color:#33536f}
.snow-play-btn{font-size:15px;background:#4f7296;color:white;border-color:#4f7296;width:100%;max-width:225px;box-shadow:0 8px 20px #5a789f3b}
.snow-play-btn:hover{background:#3f6184}
.snow-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;background:linear-gradient(180deg,#f9fbfe,#eef4fa);padding:18px 24px;border-top:1px solid #eef4fa}
.snow-how{display:flex;align-items:center;gap:11px;font-size:13px;color:#64707f}
.snow-how>span:first-child{font-size:21px}
.snow-how strong{color:#2f5066}
.snow-how kbd{font:700 12px system-ui;border:1px solid #ccd8e5;background:white;border-radius:5px;padding:4px 6px;box-shadow:0 2px 0 #dde6ee}
.snow-touch-buttons{display:flex;gap:9px;flex-shrink:0}
.snow-touch-buttons button{width:60px;height:46px;background:#2b5c70;color:white;border:1px solid #2b5c70;border-radius:12px;font-size:26px;touch-action:none;user-select:none;line-height:1}
.snow-touch-buttons button:active{background:#4f7296}
.snow-below{max-width:1030px;margin:23px auto 0;display:flex;justify-content:space-between;align-items:center;gap:22px}
.snow-rule{display:flex;gap:14px;align-items:center;color:#728173;font-size:13px;line-height:1.55}
.snow-rule span:first-child{font-size:24px}
.snow-rule strong{color:#245746}
.snow-other-games{background:#1a4c3c;color:white;white-space:nowrap}
.snow-other-games:hover{background:#29674d}
.snow-game-tile{background:linear-gradient(160deg,#f7fbff,#edf4fb)}
.snow-game-tile .tile-emoji{filter:drop-shadow(0 4px 5px #6f90b022)}
@media(max-width:660px){
 .snow-page .inner-top{padding-top:21px}
 .snow-section{padding:18px 0 58px}
 .snow-hero{margin:8px auto 23px}
 .snow-label{font-size:10px;letter-spacing:1.25px;padding:6px 12px}
 .snow-hero h1{font-size:clamp(40px,11vw,55px);margin:13px 0 12px;letter-spacing:-1.2px}
 .snow-hero p{font-size:14px;line-height:1.6}
 .snow-game-card{border-width:5px;border-radius:21px}
 .snow-hud{padding:12px 7px;gap:3px}
 .snow-hud-stat{gap:5px}
 .snow-hud-stat small{font-size:9px;letter-spacing:1px}
 .snow-hud-stat strong{font-size:22px}
 .snow-hud-icon{width:30px;height:30px;border-radius:9px;font-size:16px}
 .snow-arena{height:385px}
 .snow-overlay{padding:12px}
 .snow-overlay-panel{border-radius:19px;padding:18px 20px 22px;max-width:300px}
 .snow-overlay-icon{font-size:42px;margin:0 auto 7px}
 .snow-overlay-kicker{font-size:8px}
 .snow-overlay-panel h2{font-size:28px;margin:8px 0 10px}
 .snow-overlay-panel p{font-size:12px;margin-bottom:15px}
 .snow-play-btn{min-height:42px;font-size:13px}
 .snow-controls{padding:11px 12px;gap:8px}
 .snow-how{font-size:11px;line-height:1.45}
 .snow-how>span:first-child{display:none}
 .snow-touch-buttons{gap:6px}
 .snow-touch-buttons button{width:46px;height:44px;font-size:23px}
 .snow-how kbd{padding:2px 4px}
 .snow-below{flex-direction:column;align-items:stretch;gap:17px;margin-top:18px}
 .snow-other-games{justify-content:center}
}
@media(max-width:365px){.snow-hud-stat strong{font-size:18px}.snow-hud-icon{width:26px;height:26px;font-size:13px}.snow-arena{height:350px}.snow-controls{gap:6px}.snow-touch-buttons button{width:39px}}

/* Zvukové ovládání obou her */
.sound-toggle{min-height:46px;background:#fffaf0;color:#2c614c;border:1px solid #d7d9c7;border-radius:12px;padding:11px 15px;font-weight:850;font-size:13px;white-space:nowrap;transition:background .16s,border-color .16s}
.sound-toggle:hover{background:#fff0d7;border-color:#c8b38e}
.sound-toggle[aria-pressed="false"]{background:#e9ecea;color:#68786e}
.snow-actions,.ginger-sound-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}
/* Vyvážená čtyřsloupcová herna na širokých obrazovkách */
@media(min-width:1100px){.games-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.game-tile{padding:21px}.game-tile h3{font-size:25px}}
@media(max-width:760px){.snow-actions,.ginger-sound-actions{width:100%;justify-content:stretch}.snow-actions>* , .ginger-sound-actions>*{flex:1;justify-content:center}}
@media(max-width:390px){.snow-actions,.ginger-sound-actions{flex-direction:column}.snow-actions>* , .ginger-sound-actions>*{width:100%}}


/* Vánoční barista */
.barista-nav{background:#1b4e3d;color:#fff}.barista-nav:hover{background:#2b6750}
.barista-page{background:#f7f4ec;min-height:calc(100vh - 160px)}
.barista-page .inner-top{padding-top:26px}
.barista-section{padding:22px 0 84px}
.barista-hero{text-align:center;max-width:780px;margin:8px auto 35px}
.barista-label{display:inline-flex;align-items:center;gap:12px;font-size:11px;letter-spacing:2.1px;font-weight:900;color:#8a6948;padding:9px 18px;border:1px solid #e0d2b9;border-radius:99px;background:#fffdf9}
.barista-hero h1{font:500 clamp(48px,6vw,80px)/1.08 Georgia,serif;color:var(--pine);letter-spacing:-2.4px;margin:20px 0 16px}
.barista-hero h1 em{color:#9f6842;font-weight:500}
.barista-hero p{font-size:16px;line-height:1.7;color:#6d7a70;max-width:680px;margin:auto}
.barista-game-card{max-width:1080px;margin:auto;border:8px solid #fbfdff;border-radius:31px;box-shadow:0 28px 70px rgba(16,57,41,.16),0 0 0 1px #eadcc6;overflow:hidden;background:linear-gradient(180deg,#fffaf3,#f5ece2)}
.barista-hud{position:relative;background:linear-gradient(180deg,#fffdf9,#fbf5ec);padding:16px 20px;display:grid;grid-template-columns:repeat(4,1fr);gap:10px;box-shadow:0 6px 20px #00000010;z-index:2}
.barista-hud-stat{display:flex;align-items:center;gap:12px;justify-content:center}.barista-hud-stat small{font-size:10px;letter-spacing:2px;font-weight:950;color:#9b8d80;display:block}.barista-hud-stat strong{font-size:31px;letter-spacing:-1.2px;line-height:1.12;color:#173949;display:block;font-variant-numeric:tabular-nums}.barista-hud-icon{display:grid;place-items:center;font-size:23px;width:44px;height:44px;border-radius:14px;background:#f8efe1}
.barista-arena{position:relative;padding:22px;background:linear-gradient(180deg,#f6ede0,#efe2d0)}
.barista-overlay{position:absolute;inset:0;display:grid;place-items:center;padding:20px;background:linear-gradient(#44200ca6,#432109c2);backdrop-filter:blur(2px);z-index:8}.barista-overlay[hidden]{display:none}
.barista-overlay-panel{background:#fbfdff;text-align:center;border-radius:27px;padding:29px 33px 32px;box-shadow:0 26px 66px #44220b73,0 0 0 5px #ffffff2b;max-width:470px;width:100%;border:1px solid #f0e2cf}.barista-overlay-icon{font-size:59px;display:block;line-height:1.1;margin:1px auto 12px}.barista-overlay-kicker{font-size:10px;color:#a16f4a;letter-spacing:2px;font-weight:900}.barista-overlay-panel h2{font:500 clamp(28px,3.5vw,39px)/1.2 Georgia,serif;color:#163e32;margin:10px auto 14px}.barista-overlay-panel p{font-size:14px;color:#687675;line-height:1.7;margin:0 auto 22px;max-width:350px}.barista-overlay-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.barista-play-btn{font-size:15px;background:#9f6842;color:white;border-color:#9f6842;min-width:190px;box-shadow:0 8px 20px #9f68423b}.barista-play-btn:hover{background:#895636}
.barista-scene{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(250px,.7fr);gap:18px;align-items:stretch}
.stall-frame{background:linear-gradient(180deg,#84552e,#6a3f22);padding:14px;border-radius:28px;box-shadow:inset 0 0 0 4px #a57446,0 18px 35px rgba(69,38,18,.18);position:relative}
.stall-lights{display:flex;justify-content:space-between;gap:6px;padding:0 8px 8px}.stall-lights span{display:block;width:12px;height:12px;border-radius:50%;background:#f4d594;box-shadow:0 0 0 3px #ffffff22,0 0 12px currentColor}.stall-lights span:nth-child(3n+1){background:#e46551}.stall-lights span:nth-child(3n+2){background:#5ebf6e}.stall-lights span:nth-child(3n+3){background:#f6cf69}
.stall-awning{background:repeating-linear-gradient(90deg,#bb463d 0 44px,#f5e7cf 44px 88px);border-radius:18px;padding:12px 16px;color:#173726;text-align:center;font-weight:900;letter-spacing:.12em;text-transform:uppercase;box-shadow:0 6px 0 #885439;margin-bottom:12px}
.stall-window{background:linear-gradient(180deg,#f7efe5,#eedfce);border-radius:18px;padding:18px;box-shadow:inset 0 0 0 2px #e7d6c5}
.customer-zone{display:grid;grid-template-columns:92px 1fr;gap:16px;align-items:center;margin-bottom:16px}.customer-avatar{width:92px;height:92px;border-radius:50%;display:grid;place-items:center;font-size:48px;background:radial-gradient(circle at 35% 30%,#fffef9,#f1dabb);box-shadow:0 10px 18px rgba(115,70,27,.15)}
.speech-bubble{background:#fffefa;border-radius:18px;padding:14px 16px;box-shadow:0 12px 20px rgba(69,38,18,.08);position:relative}.speech-bubble:before{content:"";position:absolute;left:-14px;top:28px;border:8px solid transparent;border-right-color:#fffefa}.speech-name{font-size:11px;letter-spacing:2px;font-weight:900;color:#9a866d;margin-bottom:6px}.speech-order{font:700 27px/1.15 Georgia,serif;color:#163e32;margin-bottom:4px}.speech-recipe{font-size:14px;color:#746b61;line-height:1.5}.speech-hint{margin-top:8px;font-size:12px;font-weight:800;color:#9f6842}
.patience-wrap{margin-bottom:16px}.patience-label{font-size:11px;letter-spacing:2px;color:#8d7c6f;font-weight:900;margin-bottom:7px}.patience-bar{height:12px;background:#eadfd0;border-radius:999px;overflow:hidden}.patience-fill{height:100%;width:100%;background:linear-gradient(90deg,#2e9f68,#63d67a);transition:width .15s linear,background .2s ease}
.counter-zone{display:grid;grid-template-columns:130px 1fr;gap:18px;align-items:end;background:linear-gradient(180deg,#f4ebde,#ead8c3);border-radius:20px;padding:18px;border:1px solid #e2cdb5}.barista-character{position:relative;height:180px;display:flex;justify-content:center;align-items:flex-end}.barista-head{position:absolute;top:22px;width:72px;height:72px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fde6c9,#efc89a);box-shadow:inset 0 -4px 0 #e0b37f}.barista-head:before,.barista-head:after{content:"";position:absolute;top:28px;width:7px;height:7px;border-radius:50%;background:#513b31}.barista-head:before{left:18px}.barista-head:after{right:18px}.barista-head i{display:none}.barista-head::selection{background:transparent}.barista-head + .barista-body{margin-top:0}.barista-body{width:110px;height:115px;background:linear-gradient(180deg,#215844,#173f32);border-radius:28px 28px 18px 18px;position:absolute;bottom:8px;box-shadow:inset 0 -12px 0 #102f25}.barista-apron{position:absolute;bottom:28px;width:70px;padding:26px 0 10px;text-align:center;background:#fffaf0;color:#215844;font-size:12px;font-weight:900;border-radius:16px 16px 12px 12px;box-shadow:0 7px 14px rgba(0,0,0,.12)}
.counter-equipment{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.station-card{border:1px solid #dcc4a6;background:linear-gradient(180deg,#fffaf2,#f5ebe0);border-radius:18px;padding:16px;text-align:left;display:flex;flex-direction:column;gap:4px;min-height:128px;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.station-card strong{font-size:17px;color:#194438}.station-card span{font-size:12px;color:#7c6b5e;line-height:1.45}.station-emoji{font-size:32px}.station-card:hover{transform:translateY(-1px);box-shadow:0 10px 20px rgba(107,68,31,.10)}.station-card.is-active{border-color:#c78652;box-shadow:0 0 0 3px #f2d6b9;background:linear-gradient(180deg,#fff6eb,#f6ead8)}
.station-sweets{grid-column:1/-1;display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:16px;background:#fff7ee;border:1px dashed #e1c7a8;color:#7b6553;font-size:13px;font-weight:700}.sweet-jar{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#f5e6d4;font-size:24px}
.barista-side-panel{display:flex;flex-direction:column;gap:14px}.current-build,.order-result{background:linear-gradient(180deg,#fffefa,#fbf1e5);border-radius:22px;padding:18px;border:1px solid #e7d9c5;box-shadow:0 10px 20px rgba(107,68,31,.08)}.mini-kicker{font-size:10px;letter-spacing:2px;font-weight:900;color:#a08e81;margin-bottom:8px;text-transform:uppercase}.current-build h3{font:700 28px/1.18 Georgia,serif;color:#173f32;margin:0 0 8px}.build-station{font-size:13px;color:#8f6d52;font-weight:800;margin-bottom:14px}.selected-tags{display:flex;flex-wrap:wrap;gap:8px}.selected-tag,.placeholder-tag{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:999px;background:#f4ecdf;color:#6f5a4a;font-size:13px;font-weight:800;border:1px solid #e2d4bf}.placeholder-tag{background:#fffdf8;font-weight:700;color:#8f8578}.order-result{font-size:14px;line-height:1.6;color:#6d6358}.order-result.success{border-color:#abd0b0;background:linear-gradient(180deg,#f7fff7,#eef8ee);color:#27533d}
.barista-controls{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px;margin-top:18px}.ingredients-panel,.barista-action-panel{background:#fffefa;border-radius:22px;padding:18px;border:1px solid #ead8c5;box-shadow:0 10px 20px rgba(107,68,31,.06)}.ingredients-title h3{font:700 27px/1.2 Georgia,serif;color:#173f32;margin:0 0 4px}.ingredients-title p{font-size:13px;color:#7f746c;margin:0 0 14px}.ingredients-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.ingredient-btn{min-height:54px;border-radius:15px;border:1px solid #e2d3bf;background:linear-gradient(180deg,#fffdf9,#f7eee2);font-weight:800;color:#4f4034;padding:10px 12px;transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease}.ingredient-btn:hover{transform:translateY(-1px);box-shadow:0 8px 16px rgba(107,68,31,.08)}.ingredient-btn.is-active{border-color:#c78652;background:linear-gradient(180deg,#fff2e3,#f7e0c2);box-shadow:0 0 0 3px #f8dfc1}
.action-buttons{display:flex;gap:10px;flex-wrap:wrap}.action-buttons .btn{flex:1;justify-content:center}.action-note{font-size:13px;line-height:1.6;color:#81766e;margin:14px 0 0}.barista-below{max-width:1080px;margin:23px auto 0;display:flex;justify-content:space-between;align-items:center;gap:22px}.barista-rule{display:flex;gap:14px;align-items:center;color:#728173;font-size:13px;line-height:1.55}.barista-rule span:first-child{font-size:24px}.barista-rule strong{color:#245746}.barista-other-games{background:#1a4c3c;color:white;white-space:nowrap}.barista-other-games:hover{background:#29674d}.barista-game-tile{background:linear-gradient(160deg,#fffaf4,#f9efe2)}.barista-game-tile .tile-emoji{filter:drop-shadow(0 4px 5px #9d795a22)}
@media(max-width:980px){.barista-scene,.barista-controls{grid-template-columns:1fr}.barista-side-panel{order:-1}.barista-action-panel{margin-top:0}}
@media(max-width:760px){.barista-page .inner-top{padding-top:21px}.barista-section{padding:18px 0 58px}.barista-hero{margin:8px auto 23px}.barista-label{font-size:10px;letter-spacing:1.25px;padding:6px 12px}.barista-hero h1{font-size:clamp(40px,11vw,55px);margin:13px 0 12px;letter-spacing:-1.2px}.barista-hero p{font-size:14px;line-height:1.6}.barista-game-card{border-width:5px;border-radius:21px}.barista-hud{padding:12px 7px;gap:3px}.barista-hud-stat{gap:5px}.barista-hud-stat small{font-size:9px;letter-spacing:1px}.barista-hud-stat strong{font-size:22px}.barista-hud-icon{width:30px;height:30px;border-radius:9px;font-size:16px}.barista-arena{padding:12px}.barista-overlay{padding:12px}.barista-overlay-panel{border-radius:19px;padding:18px 20px 22px;max-width:300px}.barista-overlay-icon{font-size:42px;margin:0 auto 7px}.barista-overlay-kicker{font-size:8px}.barista-overlay-panel h2{font-size:28px;margin:8px 0 10px}.barista-overlay-panel p{font-size:12px;margin-bottom:15px}.barista-play-btn{min-height:42px;font-size:13px}.customer-zone{grid-template-columns:68px 1fr;gap:10px}.customer-avatar{width:68px;height:68px;font-size:34px}.speech-order{font-size:22px}.speech-recipe{font-size:13px}.counter-zone{grid-template-columns:1fr;gap:14px}.barista-character{height:128px}.barista-head{width:56px;height:56px;top:10px}.barista-body{width:96px;height:90px}.barista-apron{width:62px;bottom:16px;padding-top:20px;font-size:11px}.counter-equipment{grid-template-columns:1fr}.station-card{min-height:auto}.ingredients-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.action-buttons{flex-direction:column}.barista-below{flex-direction:column;align-items:stretch;gap:17px;margin-top:18px}.barista-other-games{justify-content:center}}
@media(max-width:365px){.barista-hud-stat strong{font-size:18px}.barista-hud-icon{width:26px;height:26px;font-size:13px}.ingredients-grid{grid-template-columns:1fr}.speech-order{font-size:20px}}


/* Legenda her – Vánoční běh & Vánoční barista */
.game-legend{max-width:1080px;margin:28px auto 0;padding:28px;border:1px solid #dcded2;border-radius:25px;background:linear-gradient(145deg,#fffef9,#f7f9f2);box-shadow:0 14px 42px rgba(30,60,46,.065)}
.snow-legend{max-width:1030px;background:linear-gradient(150deg,#ffffff,#f0f7fc);border-color:#d6e5ed}
.barista-legend{background:linear-gradient(150deg,#fffefa,#fbf2e8);border-color:#e9dcca}
.legend-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:21px}
.legend-heading h2{font:500 clamp(25px,3vw,36px)/1.14 Georgia,serif;color:#153f34;letter-spacing:-.6px;margin-top:6px}
.legend-kicker{font-size:11px;letter-spacing:2.4px;font-weight:950;color:#a4784a}
.legend-heading-mark{font-size:39px;border-radius:15px;background:#eff4eb;width:64px;height:64px;flex-shrink:0;display:grid;place-items:center}
.snow-legend .legend-heading-mark{background:#e9f3fb}
.legend-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.legend-item{display:flex;align-items:center;gap:13px;background:#fffdf8;border:1px solid #e6e8df;border-radius:15px;padding:15px;min-width:0}
.snow-legend .legend-item{background:#ffffffdb;border-color:#deecf5}
.legend-emoji{font-size:32px;flex:0 0 54px;width:54px;height:54px;border-radius:14px;display:grid;place-items:center;background:#f1f5ed}
.snow-legend .legend-emoji{background:#eaf5fa}
.legend-item strong{display:block;color:#1e493d;font-size:14px;line-height:1.25;margin-bottom:4px}
.legend-item p{margin:0;color:#6e8076;font-size:12px;line-height:1.55}
.legend-item b{color:#295546}
.legend-tip{background:#f4f5e9;border:1px dashed #dcd9bc;border-radius:13px;color:#617066;padding:13px 17px;margin:17px 0 0;font-size:13px;line-height:1.65}
.snow-legend .legend-tip{background:#e9f4f8;border-color:#cde3f0}
.barista-legend .legend-tip{background:#fff1d9;border-color:#ecd5ae}
.legend-tip strong{color:#294e41}
.legend-recipe-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.legend-recipe{background:#fffdf8;border:1px solid #eadbc6;border-radius:19px;padding:20px 17px;min-width:0}
.legend-recipe-icon{font-size:34px;width:59px;height:59px;display:grid;place-items:center;background:#f4eadb;border-radius:17px;margin-bottom:12px}
.legend-recipe h3{font:500 25px/1.15 Georgia,serif;color:#184739;margin:0 0 7px}
.legend-recipe p{font-size:13px;color:#75695e;line-height:1.65;margin:4px 0}
.legend-recipe p strong{color:#9a6239}
.legend-divider{height:1px;background:#e9dcc9;margin:22px 0 18px}
.legend-subtitle{font-size:14px;font-weight:900;color:#254b3b;margin-bottom:12px}
.legend-chips{display:flex;flex-wrap:wrap;gap:8px}
.legend-chips span{display:flex;align-items:center;gap:8px;border:1px solid #e8dccc;border-radius:30px;padding:8px 12px;color:#6c5f52;font-size:12px;font-weight:800;background:#fffdfa}
.legend-chips b{font-size:18px;line-height:1.2;font-weight:normal}
@media(max-width:820px){.legend-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.legend-recipe-grid{grid-template-columns:1fr}.legend-recipe{display:grid;grid-template-columns:65px 1fr;column-gap:14px;align-content:center}.legend-recipe-icon{grid-row:span 3;margin-bottom:0}.legend-recipe h3{font-size:23px}}
@media(max-width:520px){.game-legend{margin-top:18px;padding:17px;border-radius:19px}.legend-heading-mark{font-size:26px;width:45px;height:45px}.legend-heading h2{font-size:26px}.legend-kicker{font-size:9px;letter-spacing:1.6px}.legend-grid{grid-template-columns:1fr;gap:9px}.legend-item{padding:11px 12px;gap:12px}.legend-emoji{flex-basis:46px;width:46px;height:46px;font-size:27px}.legend-tip{font-size:12px;padding:12px}.legend-recipe{padding:12px;grid-template-columns:52px 1fr;gap:7px 10px}.legend-recipe-icon{font-size:28px;width:48px;height:48px}.legend-recipe h3{font-size:22px}.legend-recipe p{font-size:12px}.legend-chips{gap:6px}.legend-chips span{padding:6px 9px;font-size:11px}}

/* Vánoční barista – výběr délky a rozšířená nabídka */
.barista-duration-picker{border:0;padding:0;margin:0 auto 16px;min-width:0;width:100%;max-width:365px}
.barista-duration-picker legend{margin:0 auto 9px;color:#3d594d;font-weight:900;font-size:13px}
.barista-duration-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.barista-duration-options label{position:relative;cursor:pointer;min-width:0;display:block}
.barista-duration-options input{position:absolute;opacity:0;width:100%;height:100%;margin:0;top:0;left:0;cursor:pointer}
.barista-duration-options span{display:grid;place-items:center;min-height:48px;background:#f5eee5;border:2px solid #e8dccd;color:#5c5f56;border-radius:12px;font-size:12px;font-weight:900;transition:background .2s,border-color .2s,box-shadow .2s}
.barista-duration-options input:checked+span{background:#1e6049;border-color:#1e6049;color:white;box-shadow:0 6px 15px #154d392a}
.barista-duration-options input:focus-visible+span{outline:3px solid #d5a76c;outline-offset:3px}
.barista-duration-info{font-size:11px!important;color:#819084!important;margin:9px auto 0!important}
.barista-ingredient-category{font-size:11px;font-weight:950;letter-spacing:1.8px;text-transform:uppercase;color:#9f7653;margin:9px 0 10px}
.barista-ingredient-category.sweets-category{margin-top:20px}
.ingredients-sweets-grid .ingredient-btn{background:linear-gradient(180deg,#fff7ec,#f9ead7)}
.ingredients-sweets-grid .ingredient-btn.is-active{background:linear-gradient(180deg,#ffe9cb,#f8d9b4)}
.station-card[data-station="chocolate"] .station-emoji,.station-card[data-station="sweets"] .station-emoji{filter:drop-shadow(0 3px 3px #a8795644)}
.station-card:disabled,.ingredient-btn:disabled{cursor:default;opacity:.78}
.station-card:disabled:hover,.ingredient-btn:disabled:hover{transform:none;box-shadow:none}
.station-card.is-active:disabled,.ingredient-btn.is-active:disabled{opacity:1}
.barista-overlay-panel{max-width:490px}
@media(max-width:980px){.counter-equipment{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){
 .barista-overlay-panel{max-width:345px;padding:17px 17px 19px}
 .barista-overlay-icon{font-size:35px;margin:0 auto 5px}
 .barista-overlay-panel h2{font-size:25px;margin:5px auto 8px}
 .barista-overlay-panel p{font-size:11.5px;margin:0 auto 10px;line-height:1.5}
 .barista-duration-picker{margin-bottom:12px}
 .barista-duration-picker legend{font-size:11px;margin:0 auto 6px}
 .barista-duration-options span{min-height:42px;font-size:11px}
 .barista-duration-info{margin-top:6px!important}
 .barista-overlay-actions .barista-play-btn{min-width:unset;width:100%;max-width:220px}
 .barista-overlay-actions .sound-toggle{font-size:11px;min-height:39px}
 .counter-equipment{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .station-card{padding:10px;min-height:132px}
 .station-card strong{font-size:13px}
 .station-card span{font-size:10px}
 .station-emoji{font-size:27px}
 .station-sweets{padding:8px;gap:7px;font-size:11px}
 .sweet-jar{width:32px;height:32px;font-size:19px}
 .ingredients-sweets-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:390px){.barista-overlay-actions{gap:6px}.barista-overlay-panel p{font-size:11px}.barista-duration-options{gap:4px}.barista-duration-options span{font-size:10px}.station-sweets .sweet-jar:nth-child(3){display:none}}


/* FOODEX Barista — kompaktní pracovní plocha pro desktop: veškeré ovládání vedle stánku */
@media (min-width: 990px) {
  .barista-page .inner-top{padding-top:10px}
  .barista-section{padding:6px 0 54px}
  .barista-hero{max-width:1150px;margin:0 auto 12px}
  .barista-hero .barista-label{display:none}
  .barista-hero h1{font-size:clamp(34px,3.6vw,46px);letter-spacing:-1px;margin:0 0 4px;line-height:1.1}
  .barista-hero p{font-size:13px;line-height:1.4;max-width:1000px}
  .barista-game-card{max-width:1250px;border-width:5px;border-radius:24px}
  .barista-hud{padding:5px 16px;gap:7px}
  .barista-hud-stat{gap:8px}
  .barista-hud-stat small{font-size:9px;letter-spacing:1px}
  .barista-hud-stat strong{font-size:23px}
  .barista-hud-icon{height:34px;width:34px;border-radius:10px;font-size:19px}
  .barista-arena{padding:9px}
  .barista-scene{grid-template-columns:minmax(0,1.16fr) minmax(0,.84fr);gap:12px;align-items:stretch}
  .stall-frame{padding:9px;border-radius:19px}
  .stall-lights{padding:0 8px 5px}
  .stall-lights span{height:9px;width:9px}
  .stall-awning{padding:8px;font-size:14px;margin-bottom:7px;border-radius:12px;box-shadow:0 3px 0 #885439}
  .stall-window{padding:10px;border-radius:13px}
  .customer-zone{grid-template-columns:62px minmax(0,1fr);gap:9px;margin-bottom:8px}
  .customer-avatar{width:62px;height:62px;font-size:35px}
  .speech-bubble{padding:9px 12px;border-radius:12px}
  .speech-name{font-size:9px;letter-spacing:1.2px;margin-bottom:2px}
  .speech-order{font-size:21px;margin-bottom:2px}
  .speech-recipe{font-size:11px;line-height:1.32}
  .speech-hint{margin-top:4px;font-size:10px}
  .patience-wrap{margin-bottom:9px}
  .patience-label{font-size:9px;letter-spacing:1px;margin-bottom:5px}
  .patience-bar{height:8px}
  .counter-zone{grid-template-columns:100px minmax(0,1fr);gap:9px;padding:10px;border-radius:13px;align-items:center}
  .barista-character{height:145px}
  .barista-head{width:59px;height:59px;top:17px}
  .barista-head:before,.barista-head:after{top:24px}
  .barista-body{width:100px;height:96px;bottom:7px}
  .barista-apron{width:65px;bottom:20px;padding:20px 0 8px;font-size:11px}
  .counter-equipment{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
  .station-card{padding:6px 9px;border-radius:11px;min-height:75px;gap:2px;justify-content:center}
  .station-emoji{font-size:20px;line-height:1}
  .station-card strong{font-size:12px;line-height:1.18}
  .station-card span{font-size:9px;line-height:1.22}
  .station-sweets{gap:7px;padding:2px 9px;border-radius:10px;font-size:10px}
  .sweet-jar{height:24px;width:24px;font-size:17px;border-radius:6px}
  .barista-side-panel{gap:7px;min-width:0}
  .current-build,.order-result{padding:7px 11px;border-radius:12px;box-shadow:none}
  .mini-kicker{font-size:9px;letter-spacing:1.15px;margin-bottom:2px}
  .current-build h3{font-size:17px;margin:0 0 4px}
  .build-station{font-size:10px;margin-bottom:5px}
  .selected-tags{gap:4px;min-height:22px}
  .selected-tag,.placeholder-tag{padding:3px 6px;font-size:10px}
  .order-result{font-size:11px;line-height:1.35;padding:8px 11px}
  .barista-controls{grid-template-columns:1fr;gap:7px;margin-top:0}
  .ingredients-panel,.barista-action-panel{box-shadow:none;border-radius:12px}
  .ingredients-panel{padding:9px 11px}
  .ingredients-title h3{font-size:18px;margin:0 0 1px}
  .ingredients-title p{font-size:10px;line-height:1.15;margin:0 0 5px}
  .barista-ingredient-category{font-size:9px;letter-spacing:1px;margin:4px 0 5px}
  .barista-ingredient-category.sweets-category{margin-top:7px}
  .ingredients-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}
  .ingredients-sweets-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ingredient-btn{min-height:35px;padding:4px 5px;border-radius:9px;font-size:10.5px;line-height:1.16;white-space:normal;overflow-wrap:break-word}
  .barista-action-panel{padding:0;border:0;background:transparent}
  .action-buttons{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2.3fr);gap:7px;flex-wrap:nowrap;align-items:stretch}
  .action-buttons .btn{min-height:54px;border-radius:12px;padding:8px 10px;font-size:12px;font-weight:850;text-align:center}
  #barista-serve{min-height:54px;font-size:18px;font-weight:950;letter-spacing:.1px;background:linear-gradient(135deg,#e5ac4c,#f6cd74);color:#183d2d;border:1px solid #cc9745;box-shadow:0 5px 0 #c18f3c;transition:transform .15s,box-shadow .15s,filter .15s}
  #barista-serve:not(:disabled):hover{filter:brightness(1.04);transform:translateY(-1px)}
  #barista-serve:not(:disabled):active{transform:translateY(3px);box-shadow:0 2px 0 #c18f3c}
  .action-note{display:none}
  .barista-below{max-width:1250px}
  .barista-overlay-panel{max-width:480px}
}
@media (min-width:990px) and (max-width:1140px){
  .barista-scene{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)}
  .counter-zone{grid-template-columns:75px minmax(0,1fr)}
  .barista-character{transform:scale(.78);transform-origin:center bottom;height:128px}
  .station-card strong{font-size:11px}
  .station-card span{font-size:8.5px}
  .ingredient-btn{font-size:10px;padding:4px 3px}
}
/* Mobil a tablet: stanice před ingrediencemi, přehledné dotykové ovládání. */
@media (max-width:989px){
  .barista-scene{grid-template-columns:1fr}
  .barista-side-panel{order:0}
  .barista-controls{grid-template-columns:1fr;gap:12px;margin-top:0}
  .barista-action-panel{margin-top:0}
  .action-buttons{display:grid;grid-template-columns:1fr 1.5fr;gap:9px}
  .action-buttons .btn{min-width:0;min-height:52px;padding:10px 9px;font-size:13px;white-space:normal}
  #barista-serve{background:linear-gradient(135deg,#e5ac4c,#f6cd74);color:#173e30;border-color:#ce9a49;font-size:16px;font-weight:900;min-height:56px;box-shadow:0 4px 0 #c18f3c}
}
@media (max-width:760px){
  .action-buttons{grid-template-columns:1fr 1.5fr;flex-direction:row}
  .action-buttons .btn{min-height:50px}
}

@media (min-width:990px) and (max-height:750px){
  .barista-page .inner-top{padding-top:3px}
  .barista-section{padding-top:2px}
  .barista-hero{margin-bottom:7px}
  .barista-hero h1{font-size:34px;margin:0}
  .barista-hero p{display:none}
}


/* === FOODEX: responzivní telefonní verze (mobilní menu, nabídka, galerie, všechny hry) === */
.mobile-menu-toggle{display:none}
@media(max-width:760px){
  :root{scroll-padding-top:70px}
  body{overflow-x:clip}
  .wrap{width:calc(100% - 32px)}
  header{position:sticky;top:0;z-index:55;backdrop-filter:blur(18px);box-shadow:0 3px 15px #163c2d0b}
  .header-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:0;min-height:64px;height:auto;padding:9px 0}
  .brand{margin:0;gap:8px;flex:0 1 auto}
  .brand-logo{width:116px;height:42px;border-radius:10px;padding:8px 10px}
  .brand-sub{display:none}
  .mobile-menu-toggle{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;min-width:103px;border:1px solid #d8dccf;border-radius:12px;padding:8px 14px;background:#fffdf8;color:#123c32;font-size:14px;font-weight:850;box-shadow:0 2px 7px #183d2a0b}
  .mobile-menu-symbol{font-size:20px;line-height:1;min-width:20px}
  .navigation{display:none;order:3;flex:none;width:100%;min-width:0;overflow:visible;flex-wrap:initial;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;justify-content:stretch;padding:12px 0 5px}
  .site-nav-open .navigation{display:grid}
  .navigation a,.navigation a.feature,.navigation a.game-nav{display:flex;align-items:center;justify-content:center;min-height:47px;font-size:13px;line-height:1.3;font-weight:820;padding:10px 7px;white-space:normal;text-align:center;border-radius:12px;background:#f5f2e8;color:#194238}
  .navigation a.feature,.navigation a.game-nav{background:#194a39;color:#fff}
  .navigation a:active{transform:scale(.985)}
  .hero-inner{grid-template-columns:1fr;min-height:0;gap:4px;padding:40px 0 49px}
  .hero h1{font-size:clamp(51px,13vw,69px);letter-spacing:-2.8px;margin:13px 0 15px}
  .hero h1 span{letter-spacing:-2.3px}
  .hero-lead{font-size:16px;line-height:1.55}
  .hero-details{margin:19px 0 19px;gap:9px}
  .hero-detail{min-height:43px;padding:9px 12px}
  .hero-cta{display:grid;grid-template-columns:1fr 1fr;gap:9px}
  .hero-cta .btn{padding:12px 9px;min-width:0;min-height:51px;font-size:13px;line-height:1.3;text-align:center}
  .hero-art{min-height:250px;max-height:300px;margin:10px auto 0;width:100%}
  .hero-art:before{width:min(78vw,285px);height:min(78vw,285px);box-shadow:0 0 0 19px #ffffff06,0 0 0 48px #ffffff04}
  .hero-cup{width:min(78vw,300px);max-height:300px}
  .hero-wave{height:21px}
  .section{padding:46px 0}
  .section-intro{margin-bottom:23px}
  .section-title{font-size:clamp(34px,9vw,43px);letter-spacing:-1px;margin:7px 0 10px}
  .section-desc{font-size:14px}
  .kicker{font-size:10px;letter-spacing:2px}
  .menu-filters{gap:7px;margin-bottom:19px}
  .filter{min-height:44px;padding:10px 14px;font-size:12.5px}
  .menu-grid{grid-template-columns:1fr;gap:11px}
  .menu-card{min-height:104px;padding:15px;gap:14px;border-radius:17px}
  .menu-emoji{width:61px;height:61px;flex-basis:61px;border-radius:15px;font-size:32px}
  .menu-name{font-size:16px}
  .menu-price{font-size:21px}
  .note-panel{padding:18px 15px}
  .gallery-head{margin-bottom:18px}
  .photo-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .photo-item{border-radius:13px;aspect-ratio:3/4}
  .photo-modal{padding:12px}
  .photo-modal img{max-width:100%;max-height:86dvh}
  .modal-close{top:max(14px,env(safe-area-inset-top));right:14px;width:48px;height:48px;z-index:2}
  .info-section{grid-template-columns:1fr;gap:20px}
  .info-banner{min-height:260px;padding:29px 25px}
  .info-banner .big-year{font-size:78px}
  .info-banner .script{font-size:28px}
  .info-banner .inner{margin-top:26px}
  .facts{gap:9px;margin-top:18px}
  .fact{padding:13px;border-radius:14px}
  .game-shell{grid-template-columns:1fr;gap:18px;padding:0}
  .game-copy h3{font-size:28px}
  .game-copy p{font-size:13px;line-height:1.5;margin-top:8px}
  .game-stat-row{margin:14px 0;gap:17px}
  .game-stat strong{font-size:25px}
  .game-board{width:100%;max-width:490px;margin:0 auto;padding:9px;gap:7px}
  .game-card{aspect-ratio:1/1;min-height:0}
  .games-after{margin-top:18px;padding-top:19px}
  .games-after a{min-height:48px}
  .games-list{grid-template-columns:1fr;margin-top:22px;gap:13px}
  .game-tile{padding:21px;border-radius:20px;gap:9px}
  .game-tile .tile-emoji{font-size:42px}
  .game-tile h3{font-size:26px}
  .game-tile p{font-size:14px;line-height:1.5}
  .game-tile a{align-self:stretch;min-height:48px}
  .inner-top{padding-top:17px}
  .back-link{min-height:43px;display:inline-flex;align-items:center;padding:9px 15px}
  .footer-content{gap:13px;flex-wrap:wrap}
  .footer-link{min-height:44px;display:inline-flex;align-items:center}
  /* hry: vyšší a dobře hmatatelné dotykové cíle */
  .ginger-hero,.snow-hero,.barista-hero{margin:7px auto 16px}
  .ginger-hero h1,.snow-hero h1,.barista-hero h1{font-size:clamp(36px,9vw,47px);letter-spacing:-1px;margin:10px 0 8px}
  .ginger-hero p,.snow-hero p,.barista-hero p{font-size:13px;line-height:1.5}
  .ginger-section,.snow-section,.barista-section{padding:12px 0 40px}
  .ginger-game-card,.snow-game-card,.barista-game-card{border-width:4px;border-radius:20px}
  .ginger-hud,.snow-hud,.barista-hud{padding:11px 7px;gap:4px}
  .ginger-hud-stat,.snow-hud-stat,.barista-hud-stat{gap:4px;min-width:0}
  .ginger-hud-icon,.snow-hud-icon,.barista-hud-icon{width:28px;height:28px;font-size:16px;flex:none}
  .ginger-hud-stat small,.snow-hud-stat small,.barista-hud-stat small{font-size:8.5px;letter-spacing:.35px}
  .ginger-hud-stat strong,.snow-hud-stat strong,.barista-hud-stat strong{font-size:21px;letter-spacing:-.5px}
  .ginger-arena,.snow-arena{height:clamp(335px,95vw,460px)}
  .ginger-overlay,.snow-overlay{padding:12px}
  .ginger-overlay-panel,.snow-overlay-panel{padding:18px 18px 21px;width:min(100%,360px);max-height:100%;overflow:auto}
  .ginger-overlay-panel h2,.snow-overlay-panel h2{font-size:clamp(23px,7vw,30px)}
  .ginger-overlay-panel p,.snow-overlay-panel p{font-size:12px;line-height:1.55}
  .ginger-play-btn,.snow-play-btn{min-height:48px;font-size:14px}
  .ginger-controls,.snow-controls{padding:11px 10px;gap:9px}
  .ginger-how,.snow-how{font-size:11px;line-height:1.38;flex:1;min-width:0}
  .ginger-touch-buttons,.snow-touch-buttons{gap:7px}
  .ginger-touch-buttons button,.snow-touch-buttons button{width:53px;min-width:53px;height:54px;font-size:27px;border-radius:13px}
  .ginger-below,.snow-below,.barista-below{margin-top:17px;gap:12px}
  .sound-toggle{min-height:48px}
  .ginger-actions,.snow-actions{gap:8px}
  .ginger-actions .btn,.snow-actions .btn{min-height:48px}
  /* barista: velký herní panel, stanice, suroviny a trvale dostupné tlačítko */
  .barista-arena{padding:9px}
  .barista-scene{display:flex;flex-direction:column;gap:10px}
  .barista-side-panel{order:0;gap:8px;min-width:0}
  .barista-controls{display:flex;flex-direction:column;gap:9px;margin-top:0;min-width:0}
  .barista-hud-stat small{font-size:8px;letter-spacing:0}
  .barista-hud-stat strong{font-size:20px}
  .barista-overlay{position:fixed;inset:0;z-index:100;overflow-y:auto;padding:15px;background:#24190ec9}
  .barista-overlay-panel{margin:auto;max-height:calc(100dvh - 30px);overflow-y:auto;padding:18px 18px 20px;max-width:370px}
  .barista-overlay-panel h2{font-size:clamp(26px,7vw,31px)}
  .barista-duration-options{gap:7px}
  .barista-overlay-actions{gap:7px}
  .barista-overlay-actions button{min-height:48px}
  .stall-frame{padding:9px;border-radius:18px}
  .stall-awning{padding:8px;font-size:13px;margin-bottom:8px}
  .stall-window{padding:10px}
  .customer-zone{grid-template-columns:52px minmax(0,1fr);gap:8px;margin-bottom:9px}
  .customer-avatar{width:52px;height:52px;font-size:28px}
  .speech-bubble{padding:9px 11px;border-radius:13px}
  .speech-bubble:before{left:-10px;top:18px;border-width:6px}
  .speech-order{font-size:20px;line-height:1.1}
  .speech-name{font-size:9px;letter-spacing:1px;margin-bottom:3px}
  .speech-recipe{font-size:11.5px;line-height:1.3}
  .speech-hint{font-size:10.5px;margin-top:4px}
  .patience-wrap{margin-bottom:10px}
  .patience-label{font-size:10px;margin-bottom:4px;letter-spacing:1px}
  .patience-bar{height:9px}
  .counter-zone{grid-template-columns:1fr;padding:10px;gap:8px}
  .barista-character{display:none}
  .counter-equipment{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .station-card{min-height:72px;display:flex;justify-content:center;padding:8px;gap:2px;border-radius:12px}
  .station-emoji{font-size:20px;line-height:1}
  .station-card strong{font-size:12px;line-height:1.2}
  .station-card span{font-size:10px;line-height:1.2}
  .station-sweets{display:none}
  .current-build,.order-result{padding:10px 12px;border-radius:12px;box-shadow:none}
  .current-build h3{font-size:17px;margin:0 0 3px}
  .mini-kicker{font-size:9px;letter-spacing:1.2px;margin-bottom:4px}
  .build-station{font-size:11px;margin-bottom:5px}
  .selected-tags{gap:5px}
  .selected-tag,.placeholder-tag{padding:4px 7px;font-size:11px}
  .order-result{font-size:12px;line-height:1.35}
  .ingredients-panel{padding:11px;border-radius:13px;box-shadow:none}
  .ingredients-title h3{font-size:21px}
  .ingredients-title p{font-size:11px;margin:0 0 10px}
  .ingredients-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
  .ingredients-sweets-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ingredient-btn{min-height:49px;padding:6px 5px;border-radius:11px;font-size:11.5px;line-height:1.2;white-space:normal;overflow-wrap:break-word}
  .barista-action-panel{position:sticky;bottom:0;z-index:8;margin-top:0;padding:10px;background:#fffdf7;box-shadow:0 -5px 19px #3a2b1830;border-radius:12px;border:1px solid #e3d1bc}
  .action-buttons{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.7fr);gap:8px}
  .action-buttons .btn{min-height:53px;white-space:normal;border-radius:11px;font-size:12px;padding:8px 7px}
  #barista-serve{min-height:57px;font-weight:950;font-size:17px;box-shadow:0 3px 0 #be873b;background:linear-gradient(135deg,#e6ad51,#f3ce7b);color:#1b3e2e}
  .action-note{display:none}
  .barista-game-card{scroll-margin-top:71px}
  /* Při zahájení směny se zasune dekorace a zákazník zůstane viditelný při posouvání ingrediencí. */
  body.barista-playing .barista-page .inner-top,body.barista-playing .barista-hero{display:none}
  .barista-game-card.is-playing .stall-frame{position:sticky;top:67px;align-self:stretch;z-index:7;padding:5px 7px;border-radius:12px;box-shadow:0 6px 18px #38271132}
  .barista-game-card.is-playing .stall-lights,.barista-game-card.is-playing .stall-awning,.barista-game-card.is-playing .counter-zone{display:none}
  .barista-game-card.is-playing .stall-window{padding:7px 10px;border-radius:9px}
  .barista-game-card.is-playing .customer-zone{grid-template-columns:39px minmax(0,1fr);margin-bottom:5px;gap:7px}
  .barista-game-card.is-playing .customer-avatar{width:39px;height:39px;font-size:23px}
  .barista-game-card.is-playing .speech-bubble{padding:5px 9px}
  .barista-game-card.is-playing .speech-order{font-size:17px}
  .barista-game-card.is-playing .speech-name{display:none}
  .barista-game-card.is-playing .speech-hint{font-size:9px}
  .barista-game-card.is-playing .patience-wrap{margin:0}
  .barista-game-card.is-playing .patience-label{display:none}
  .barista-game-card.is-playing .patience-bar{height:5px}
  /* Stanice zůstávají přímo nad ingrediencemi i během směny. */
  .barista-game-card.is-playing .counter-zone{display:block;order:0;padding:5px;background:transparent;border:0}
  .barista-game-card.is-playing .counter-equipment{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}
  .barista-game-card.is-playing .station-card{min-width:0;min-height:54px;padding:5px 2px;align-items:center;text-align:center}
  .barista-game-card.is-playing .station-card strong{font-size:9.5px;overflow-wrap:anywhere}
  .barista-game-card.is-playing .station-card span{display:none}
  .barista-game-card.is-playing .station-emoji{font-size:19px}
  .barista-game-card.is-playing .stall-window{display:flex;flex-direction:column;gap:3px}
  .barista-game-card.is-playing .customer-zone{order:0}
  .barista-game-card.is-playing .patience-wrap{order:1}
  .barista-game-card.is-playing .counter-zone{order:2}
  .barista-game-card.is-playing .barista-side-panel{gap:6px}
  .barista-game-card.is-playing .current-build{padding:7px 10px}
  .barista-game-card.is-playing .current-build h3{font-size:14px}
  .barista-game-card.is-playing .order-result{padding:6px 10px}
}
@media(max-width:359px){
  .wrap{width:calc(100% - 24px)}
  .brand-logo{width:106px}
  .hero h1{font-size:48px}
  .hero-cta .btn{font-size:12px;min-height:49px}
  .navigation a{font-size:12px!important}
  .ginger-hud,.snow-hud,.barista-hud{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;padding:7px}
  .ginger-hud-stat,.snow-hud-stat,.barista-hud-stat{justify-content:flex-start;padding:3px 8px}
  .ginger-hud-stat strong,.snow-hud-stat strong,.barista-hud-stat strong{font-size:21px}
  .ginger-touch-buttons button,.snow-touch-buttons button{width:52px;min-width:52px;height:54px}
  .ginger-overlay-panel,.snow-overlay-panel{padding:14px}
  .ginger-arena,.snow-arena{height:338px}
  .ingredients-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ingredients-sweets-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .barista-game-card.is-playing .station-card strong{font-size:9px}
}
@media(min-width:761px) and (max-width:1000px){
  .wrap{width:calc(100% - 42px)}
  .menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .photo-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
  .game-shell{gap:22px}
  .game-board{gap:9px}
  .navigation a{padding:10px 9px;font-size:11px}
  .brand-sub{display:none}
}
@media(prefers-reduced-motion:reduce){.mobile-menu-toggle,.navigation a{transition:none}}

/* Ovládání musí být během běžící směny dostupné bez posouvání až na konec. */
@media(max-width:760px){
  body.barista-playing .barista-game-card.is-playing .barista-action-panel{
    position:fixed;left:0;right:0;bottom:0;width:100%;max-width:100%;
    z-index:75;margin:0;border-radius:15px 15px 0 0;
    padding:9px 14px max(11px,env(safe-area-inset-bottom));
    box-shadow:0 -6px 28px #1e332641;
  }
  body.barista-playing .barista-game-card.is-playing .ingredients-panel{padding-bottom:105px}
  body.barista-playing .barista-game-card.is-playing .action-buttons{max-width:650px;margin:auto}
}
@media(max-width:760px){
  .barista-action-panel #barista-clear{
    background:#e8eee6;color:#1c4637;border:1px solid #bfcebd;
    box-shadow:none;font-weight:850;
  }
  .barista-action-panel #barista-clear:hover{background:#dae9db}
}
@media(max-width:760px){
  .barista-game-card.is-playing{overflow:visible}
}
@media(max-width:760px){
  /* Vánoční barista zůstává v dekorovaném stánku viditelný před směnou. */
  .barista-game-card:not(.is-playing) .barista-character{display:flex;height:130px;max-width:125px;margin:0 auto}
  .barista-game-card:not(.is-playing) .barista-head{top:12px}
}


/* === FOODEX Vánoce: zjednodušený úvod se 4 vánočními informačními kartami === */
.hero.hero-refresh{background:#103c31;isolation:isolate}
.hero.hero-refresh::before{background:
  radial-gradient(ellipse 530px 400px at 87% 40%,rgba(161,112,49,.16),transparent 75%),
  radial-gradient(ellipse 470px 280px at 0% 4%,rgba(118,32,44,.27),transparent 74%),
  radial-gradient(circle at 18% 66%,rgba(239,216,164,.06) 1.5px,transparent 2px);
  background-size:auto,auto,54px 54px;pointer-events:none}
.hero-refresh .hero-inner{position:relative;display:grid;grid-template-columns:minmax(0,.77fr) minmax(0,1.23fr);gap:clamp(28px,4vw,64px);min-height:490px;align-items:center;padding:65px 0 88px}
.hero-refresh .hero-left{position:relative;z-index:1}
.hero-refresh .eyebrow{font-size:12px}
.hero-refresh h1{font-size:clamp(64px,7.3vw,100px);line-height:.98;letter-spacing:-3.7px;margin:23px 0 26px;text-wrap:balance}
.hero-refresh h1 span{letter-spacing:-3.7px}
.hero-sparkle-line{display:flex;align-items:center;gap:16px;width:240px;max-width:100%;color:#e3c18c;font-size:16px;opacity:.85}
.hero-sparkle-line::before,.hero-sparkle-line::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,rgba(243,214,166,.65))}
.hero-sparkle-line::after{transform:rotate(180deg)}
.hero-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-content:center;position:relative;z-index:2;scroll-margin-top:100px}
.hero-info-card{--card-accent:#b78443;min-height:166px;position:relative;display:flex;align-items:flex-start;gap:15px;padding:23px 20px 20px;overflow:hidden;border-radius:22px;
  background:linear-gradient(145deg,#fffdf6 0%,#f6ead4 100%);color:#24453a;border:1px solid rgba(255,252,233,.8);
  box-shadow:0 11px 28px rgba(2,22,18,.19),inset 0 1px 0 #fff9ee;transition:transform .18s ease,box-shadow .18s ease}
.hero-info-card:hover{transform:translateY(-4px);box-shadow:0 18px 34px rgba(2,22,18,.23),inset 0 1px 0 #fff9ee}
.hero-info-card::before{content:"";position:absolute;top:0;left:24px;right:24px;height:4px;border-radius:0 0 4px 4px;background:linear-gradient(90deg,transparent,var(--card-accent),transparent)}
.hero-info-card::after{content:"✧";font:normal 42px/1 Georgia,serif;color:rgba(160,118,61,.19);position:absolute;right:10px;bottom:5px;pointer-events:none}
.hero-info-date{--card-accent:#9b3940;background:linear-gradient(140deg,#fffdf7,#f4e7dc)}
.hero-info-hours{--card-accent:#397153;background:linear-gradient(140deg,#fffdf8,#e8f0e7)}
.hero-info-menu{--card-accent:#ad7a3c;background:linear-gradient(140deg,#fffdfa,#f2e7cf)}
.hero-info-icon{position:relative;z-index:1;display:grid;place-items:center;flex:0 0 52px;width:52px;height:52px;border:1px solid #e8d6b6;border-radius:16px;background:linear-gradient(155deg,#fffaf1,#f7e8cd);box-shadow:0 4px 10px #92724219;font-size:27px}
.hero-info-date .hero-info-icon{background:#fcf1ed;border-color:#eecfc9}
.hero-info-hours .hero-info-icon{background:#e8f1e6;border-color:#cfe1c9}
.hero-info-copy{min-width:0;position:relative;z-index:1}
.hero-info-copy h2{font:900 11px/1.35 system-ui,sans-serif;letter-spacing:1.2px;text-transform:uppercase;color:#84705e;margin:2px 0 11px}
.hero-info-copy p{font-size:15px;line-height:1.45;color:#325444;overflow-wrap:anywhere}
.hero-info-copy strong{font-weight:900;color:#164333}
.hero-info-date .hero-info-copy strong{color:#833540}
.hero-info-hours .hero-info-copy strong{color:#20533c}
.hero-refresh .hero-wave{height:34px}
@media(max-width:1000px) and (min-width:761px){
  .hero-refresh .hero-inner{grid-template-columns:1fr;gap:35px;padding:48px 0 72px;text-align:center}
  .hero-refresh .eyebrow{justify-content:center}
  .hero-refresh h1{font-size:clamp(62px,8vw,85px);margin:19px 0 18px}
  .hero-sparkle-line{margin:auto}
  .hero-info-grid{width:min(100%,690px);margin:auto}
}
@media(max-width:760px){
  .hero-refresh .hero-inner{grid-template-columns:1fr;gap:26px;min-height:0;padding:38px 0 51px}
  .hero-refresh h1{font-size:clamp(52px,12.8vw,78px);letter-spacing:-2.6px;margin:17px 0 17px}
  .hero-refresh h1 span{letter-spacing:-2.5px}
  .hero-sparkle-line{max-width:170px;font-size:13px;gap:12px}
  .hero-info-grid{gap:11px;width:100%}
  .hero-info-card{min-height:160px;display:flex;flex-direction:column;gap:11px;padding:17px 15px 16px;border-radius:18px}
  .hero-info-card::before{left:17px;right:17px}
  .hero-info-card::after{font-size:34px;right:7px;bottom:8px}
  .hero-info-icon{width:45px;height:45px;flex:0 0 45px;border-radius:13px;font-size:24px}
  .hero-info-copy h2{font-size:10px;letter-spacing:.75px;margin:0 0 6px}
  .hero-info-copy p{font-size:13px;line-height:1.43}
  .hero-refresh .hero-wave{height:23px}
}
@media(max-width:359px){
  .hero-refresh .hero-inner{gap:24px;padding:30px 0 47px}
  .hero-refresh h1{font-size:47px}
  .hero-info-grid{gap:8px}
  .hero-info-card{padding:14px 11px;min-height:160px}
  .hero-info-icon{width:40px;height:40px;flex-basis:40px;font-size:22px}
  .hero-info-copy h2{font-size:9.5px;letter-spacing:.25px}
  .hero-info-copy p{font-size:12px}
}
@media(prefers-reduced-motion:reduce){.hero-info-card{transition:none}}

/* FOODEX: dvě verze úvodu, jedna adresa. Počítač zachovává původní úvod,
   telefon zobrazuje poslední rozložení se čtyřmi kartičkami. */
.hero-for-mobile { display: none; }
.navigation a.nav-about-mobile { display: none; }
.navigation a.nav-about-desktop { display: inline-flex; }
#uvod { scroll-margin-top: 80px; }
#o-nas, #o-nas-desktop { scroll-margin-top: 100px; }
@media(max-width:760px){
  .hero.hero-for-desktop, .desktop-info { display: none !important; }
  .hero.hero-for-mobile { display: block; }
  .navigation a.nav-about-desktop { display: none !important; }
  .navigation a.nav-about-mobile { display: inline-flex; }
}
