
:root{
  --gmk-red:#c63729;
  --gmk-black:#0e0e0e;
  --gmk-ink:#1c1b19;
  --gmk-muted:#6b625c;
  --gmk-paper:#f4efe6;
  --gmk-cream:#fffaf1;
  --gmk-line:rgba(14,14,14,.12);
  --gmk-shadow:0 18px 50px rgba(14,14,14,.12);
  --gmk-soft:0 10px 28px rgba(14,14,14,.08);
  --gmk-max:1240px;
  --gmk-pad:clamp(16px,4vw,56px);
  --gmk-font:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
}
body{
  background:
    radial-gradient(900px 480px at 6% -8%, rgba(198,55,41,.10), transparent 60%),
    linear-gradient(180deg,#f8f4ec,var(--gmk-paper));
  color:var(--gmk-ink);
  font-family:var(--gmk-font);
}
body:not(.lang-en) .gm-en, body.lang-fi .gm-en{display:none!important}
body.lang-en .gm-fi{display:none!important}
body.lang-en .gm-en, body:not(.lang-en) .gm-fi, body.lang-fi .gm-fi{display:inline!important}
body.lang-en div.gm-en, body:not(.lang-en) div.gm-fi, body.lang-fi div.gm-fi,
body.lang-en section.gm-en, body:not(.lang-en) section.gm-fi, body.lang-fi section.gm-fi{display:block!important}

.gmk-header{
  position:sticky;top:0;z-index:9999;background:rgba(244,239,230,.92);backdrop-filter:blur(14px);
  border-bottom:1px solid var(--gmk-line);
}
.gmk-header-inner{max-width:var(--gmk-max);margin:auto;padding:12px var(--gmk-pad);display:flex;align-items:center;justify-content:space-between;gap:18px}
.gmk-brand{display:flex;align-items:center;text-decoration:none;min-width:138px}
.gmk-brand img{width:118px;height:auto;display:block}
.gmk-nav ul{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:4px}
.gmk-nav a{display:block;padding:10px 12px;border-radius:999px;text-decoration:none;color:var(--gmk-black);font-weight:800;font-size:13px}
.gmk-nav a:hover{background:rgba(255,255,255,.72)}
.gmk-actions{display:flex;align-items:center;gap:10px}
.gmk-call{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:var(--gmk-black);color:#fff!important;text-decoration:none;font-size:13px;font-weight:900;padding:10px 14px;white-space:nowrap}
.gmk-lang{display:flex;gap:4px;background:#fff;border:1px solid var(--gmk-line);border-radius:999px;padding:4px;height:39px;align-items:center}
.gmk-lang button{border:0;background:transparent;border-radius:999px;padding:6px 8px;font-size:11px;font-weight:950;line-height:1;cursor:pointer;display:flex;align-items:center;gap:4px;height:29px;color:var(--gmk-black)}
.gmk-lang button.is-active{background:var(--gmk-red);color:#fff}
.gmk-lang button span{font-size:13px;line-height:1}
.gmk-burger{display:none;width:40px;height:40px;border-radius:999px;border:1px solid var(--gmk-line);background:#fff;align-items:center;justify-content:center;cursor:pointer}
.gmk-burger span{width:17px;height:2px;background:var(--gmk-black);position:relative;display:block}
.gmk-burger span:before,.gmk-burger span:after{content:"";position:absolute;left:0;width:17px;height:2px;background:var(--gmk-black)}
.gmk-burger span:before{top:-6px}.gmk-burger span:after{top:6px}
.gmk-mobile-panel{display:none;padding:12px var(--gmk-pad);border-top:1px solid var(--gmk-line);background:var(--gmk-cream)}
.gmk-mobile-panel.is-open{display:grid;gap:8px}
.gmk-mobile-panel a{padding:12px 13px;background:#fff;border:1px solid var(--gmk-line);border-radius:14px;color:var(--gmk-black);text-decoration:none;font-weight:900}
@media(max-width:1040px){.gmk-nav,.gmk-actions>.gmk-call{display:none}.gmk-burger{display:flex}.gmk-brand img{width:112px}}

.gmk-section{padding:54px var(--gmk-pad)}
.gmk-container{max-width:var(--gmk-max);margin:auto}
.gmk-title{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:20px}
.gmk-title h1,.gmk-title h2{margin:0;font-size:clamp(32px,4vw,54px);line-height:.95;letter-spacing:-.05em;font-weight:1000;color:var(--gmk-black)}
.gmk-title p{margin:0;max-width:58ch;color:var(--gmk-muted);font-size:15px;line-height:1.7}
.gmk-btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 16px;border-radius:999px;border:1px solid var(--gmk-line);background:#fff;color:var(--gmk-black);text-decoration:none;font-size:13px;font-weight:950;box-shadow:0 8px 20px rgba(0,0,0,.06)}
.gmk-btn.primary{background:var(--gmk-red);border-color:var(--gmk-red);color:#fff}

.gmk-hero{padding:42px var(--gmk-pad) 36px}
.gmk-hero-inner{max-width:var(--gmk-max);margin:auto;display:grid;grid-template-columns:1.1fr .9fr;gap:20px;align-items:stretch}
.gmk-hero-copy{background:rgba(255,250,241,.94);border:1px solid var(--gmk-line);border-radius:28px;padding:30px;box-shadow:var(--gmk-soft);position:relative;overflow:hidden}
.gmk-hero-copy:after{content:"";position:absolute;right:-120px;top:-140px;width:360px;height:360px;border-radius:50%;background:rgba(198,55,41,.08)}
.gmk-hero-logo img{width:min(260px,70vw);height:auto;margin-bottom:28px;display:block}
.gmk-hero-copy h1{font-size:clamp(38px,5vw,68px);line-height:.94;letter-spacing:-.055em;margin:0;color:var(--gmk-black);max-width:750px}
.gmk-hero-copy p{font-size:17px;line-height:1.75;color:var(--gmk-muted);max-width:680px;margin:18px 0 0}
.gmk-hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
.gmk-hours-card{background:#111;border-radius:28px;color:#fff;padding:28px;box-shadow:var(--gmk-shadow);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:420px;position:relative;overflow:hidden}
.gmk-hours-card img{max-width:min(330px,75%);height:auto;opacity:.96;margin-bottom:24px}
.gmk-hours-card b{display:block;font-size:30px;line-height:1;text-transform:uppercase;letter-spacing:.03em}
.gmk-hours-card span{display:block;font-size:24px;font-weight:900;margin-top:8px}
@media(max-width:900px){.gmk-hero-inner{grid-template-columns:1fr}.gmk-hours-card{min-height:auto}.gmk-title{display:block}.gmk-title p{margin-top:10px}}

.gmk-category-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.gmk-category-cards>div,.gmk-panel,.gmk-map-card,.gmk-legal,.gmk-form{background:rgba(255,250,241,.96);border:1px solid var(--gmk-line);border-radius:22px;box-shadow:var(--gmk-soft);padding:18px}
.gmk-category-cards b{display:block;font-size:17px;font-weight:1000;color:var(--gmk-black);margin-bottom:7px}
.gmk-category-cards span{font-size:14px;line-height:1.6;color:var(--gmk-muted)}
@media(max-width:900px){.gmk-category-cards{grid-template-columns:1fr}}

.gmk-menu-shell{display:grid;grid-template-columns:260px minmax(0,1fr);gap:18px;align-items:start}
.gmk-menu-index{position:sticky;top:86px;background:#fff;border:1px solid var(--gmk-line);border-radius:20px;box-shadow:var(--gmk-soft);padding:12px;display:grid;gap:7px}
.gmk-menu-index a{padding:10px 12px;border:1px solid var(--gmk-line);border-radius:14px;text-decoration:none;color:var(--gmk-black);font-weight:900;font-size:13px;background:#fff}
.gmk-menu-index a.is-active{background:var(--gmk-black);color:#fff}
.gmk-menu-section{margin-bottom:16px;scroll-margin-top:96px}
.gmk-menu-section-head{width:100%;border:1px solid var(--gmk-line);background:var(--gmk-black);color:#fff;border-radius:18px;padding:15px 16px;font-size:22px;font-weight:1000;text-align:left;display:flex;justify-content:space-between;align-items:center;cursor:pointer;letter-spacing:-.02em}
.gmk-menu-section-head i{width:28px;height:28px;border-radius:999px;background:rgba(255,255,255,.14);position:relative}
.gmk-menu-section-head i:before,.gmk-menu-section-head i:after{content:"";position:absolute;background:#fff;left:8px;right:8px;top:13px;height:2px}
.gmk-menu-section-head i:after{transform:rotate(90deg)}
.gmk-menu-section.is-open .gmk-menu-section-head i:after{display:none}
.gmk-menu-section:not(.is-open) .gmk-menu-grid,.gmk-menu-section:not(.is-open) .gmk-grill-note{display:none}
.gmk-menu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:12px}
.gmk-dish-card{background:#fff;border:1px solid var(--gmk-line);border-radius:18px;box-shadow:0 8px 22px rgba(0,0,0,.055);overflow:hidden;display:flex}
.gmk-dish-image{width:142px;min-width:142px;background:#eee}
.gmk-dish-image img{width:100%;height:100%;object-fit:cover;display:block}
.gmk-dish-body{padding:14px;display:flex;flex-direction:column;justify-content:space-between;gap:12px;flex:1}
.gmk-dish-body h3{font-size:17px;line-height:1.2;margin:0;color:var(--gmk-black);font-weight:1000}
.gmk-dish-body p{font-size:13px;line-height:1.55;color:var(--gmk-muted);margin:7px 0 0}
.gmk-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}.gmk-tags span{font-size:11px;font-weight:850;border:1px solid var(--gmk-line);border-radius:999px;padding:4px 7px}
.gmk-prices{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.gmk-prices .main{background:rgba(198,55,41,.10);color:var(--gmk-red);border:1px solid rgba(198,55,41,.22);border-radius:999px;padding:8px 10px;font-size:14px;font-weight:1000}
.gmk-prices .child{background:#f6f2eb;border:1px dashed rgba(0,0,0,.2);border-radius:999px;padding:6px 8px;font-size:11px;font-weight:900}.gmk-prices .child b{color:var(--gmk-muted);font-size:10px;margin-right:4px}
.gmk-grill-note{margin-top:12px;background:var(--gmk-cream);border:1px solid var(--gmk-line);border-radius:18px;padding:16px;color:var(--gmk-muted);font-size:13px;line-height:1.6}
.gmk-grill-note b{color:var(--gmk-black);display:block;margin-top:8px}
.gmk-center{display:flex;justify-content:center;margin-top:22px}
@media(max-width:1040px){.gmk-menu-shell{grid-template-columns:1fr}.gmk-menu-index{position:relative;top:auto;display:flex;overflow:auto}.gmk-menu-index a{white-space:nowrap;flex:0 0 auto}}
@media(max-width:760px){.gmk-menu-grid{grid-template-columns:1fr}.gmk-dish-card{display:block}.gmk-dish-image{width:100%;height:180px}.gmk-prices{justify-content:flex-start}}

.gmk-two{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}.gmk-panel h1,.gmk-map-card h2{margin:0 0 14px;font-size:clamp(30px,3vw,44px);line-height:1;letter-spacing:-.04em;color:var(--gmk-black)}
.gmk-panel p{color:var(--gmk-muted);line-height:1.7}
.gmk-info-list{display:grid;gap:10px;margin-top:16px}.gmk-info-list>div{background:#fff;border:1px solid var(--gmk-line);border-radius:16px;padding:12px;display:flex;gap:12px}.gmk-info-list b{min-width:98px;color:var(--gmk-red);font-size:12px;font-weight:1000}.gmk-info-list span{font-size:13px;color:var(--gmk-ink)}
.gmk-map-card p{color:var(--gmk-muted);margin-bottom:18px}
@media(max-width:900px){.gmk-two{grid-template-columns:1fr}}

.gmk-form h3{font-size:24px;margin:0 0 6px;color:var(--gmk-black);font-weight:1000}.gmk-form p{margin:0 0 16px;color:var(--gmk-muted);line-height:1.6;font-size:14px}
.gmk-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.gmk-field{display:flex;flex-direction:column;gap:6px;font-weight:900;font-size:13px;color:var(--gmk-black)}.gmk-field input,.gmk-field textarea{border:1px solid var(--gmk-line);border-radius:14px;background:#fff;padding:12px;font:inherit;width:100%}.gmk-field.full{margin-top:12px}.gmk-submit{margin-top:14px;border:0;border-radius:999px;padding:12px 16px;background:var(--gmk-red);color:#fff;font-weight:1000;cursor:pointer}
@media(max-width:700px){.gmk-form-grid{grid-template-columns:1fr}}

.gmk-legal h1{font-size:clamp(32px,4vw,54px);margin:0 0 20px;letter-spacing:-.04em}.gmk-legal article{border-top:1px solid var(--gmk-line);padding:18px 0}.gmk-legal h2{font-size:19px;margin:0 0 8px;color:var(--gmk-black)}.gmk-legal p{margin:0;color:var(--gmk-muted);line-height:1.75}

.gmk-footer{background:#0e0e0e;color:#fff;padding:34px var(--gmk-pad)}.gmk-footer-inner{max-width:var(--gmk-max);margin:auto;display:grid;grid-template-columns:180px 1.2fr 1fr 1fr auto;gap:22px;align-items:start;font-size:13px;line-height:1.6}.gmk-footer img{max-width:150px;height:auto}.gmk-footer a{color:#fff;text-decoration:none}.gmk-footer-links{display:grid;gap:7px}.gmk-copy{font-weight:900}
@media(max-width:900px){.gmk-footer-inner{grid-template-columns:1fr}.gmk-footer img{max-width:120px}}

.gmk-cookie{position:fixed;left:18px;right:18px;bottom:18px;z-index:10000;max-width:920px;margin:auto;background:#fff;border:1px solid var(--gmk-line);border-radius:18px;box-shadow:var(--gmk-shadow);padding:14px;display:none;align-items:center;gap:12px}.gmk-cookie.show{display:flex}.gmk-cookie p{margin:0;flex:1;color:var(--gmk-muted);font-size:13px;line-height:1.5}.gmk-cookie button{background:var(--gmk-black);color:#fff;border:0;border-radius:999px;padding:9px 12px;font-weight:900}.gmk-cookie a{font-size:12px;color:var(--gmk-black);font-weight:900}
@media(max-width:700px){.gmk-cookie{display:none;flex-direction:column;align-items:flex-start}.gmk-cookie.show{display:flex}}



/* v1.1 update: separate hero/logo settings and bilingual card titles */
.gmk-hours-card{
  gap:22px;
}
.gmk-hours-card .gmk-hours-image{
  width:100%;
  max-width:360px;
  border-radius:22px;
  overflow:hidden;
  background:rgba(255,255,255,.04);
}
.gmk-hours-card .gmk-hours-image img{
  width:100%;
  height:auto;
  display:block;
  margin:0;
  opacity:1;
}
.gmk-hours-card .gmk-hours-content{
  text-align:center;
}
.gmk-category-cards b .gm-fi,
.gmk-category-cards b .gm-en,
.gmk-menu-section-head .gm-fi,
.gmk-menu-section-head .gm-en{
  font:inherit;
  color:inherit;
}
.gmk-category-cards b span{
  display:inline!important;
}
.gmk-hero-logo img{
  max-height:120px;
  object-fit:contain;
}
.gmk-brand img{
  max-height:48px;
  width:auto;
}
.gmk-footer img{
  max-height:92px;
  width:auto;
}



/* v1.2 menu, mobile and category polish */
.gmk-menu-section-head{
  background:linear-gradient(135deg,var(--gmk-black),#24201d)!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.08)!important;
  box-shadow:0 14px 30px rgba(14,14,14,.16)!important;
  font-size:clamp(20px,2.2vw,28px)!important;
  letter-spacing:-.035em!important;
}
.gmk-menu-section-head:hover{
  background:linear-gradient(135deg,var(--gmk-red),#9f261f)!important;
  transform:translateY(-1px);
}
.gmk-menu-section-head span{
  color:inherit!important;
  font:inherit!important;
}
.gmk-menu-section-head i{
  background:rgba(255,255,255,.16)!important;
  border:1px solid rgba(255,255,255,.18)!important;
}
.gmk-menu-index a.is-active{
  background:var(--gmk-red)!important;
  border-color:var(--gmk-red)!important;
  color:#fff!important;
}
.gmk-mobile-panel .gmk-call,
.gmk-mobile-panel a.gmk-call{
  background:var(--gmk-red)!important;
  color:#fff!important;
  border-color:var(--gmk-red)!important;
  text-align:center;
}
.gmk-dish-card.no-image .gmk-dish-image{
  display:none!important;
}
.gmk-dish-card.no-image{
  display:flex;
}
.gmk-dish-card.no-image .gmk-dish-body{
  width:100%;
}
@media(max-width:760px){
  .gmk-dish-card.no-image{
    display:block;
  }
}


/* v1.3 hero carousel */
.gmk-hero-carousel{
  position:relative;
  width:100%;
  max-width:420px;
  aspect-ratio:16/10;
  border-radius:24px;
  overflow:hidden;
  background:rgba(255,255,255,.06);
  box-shadow:0 18px 42px rgba(0,0,0,.22);
}
.gmk-hero-carousel img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:0;
  transition:opacity .65s ease, transform 4.8s ease;
}
.gmk-hero-carousel img.is-active{
  opacity:1;
  transform:scale(1.035);
}


/* v1.4 site-wide polish baked in */
body {
  background:
    radial-gradient(900px 520px at 8% -8%, rgba(198,55,41,.10), transparent 62%),
    radial-gradient(800px 460px at 92% 0%, rgba(14,14,14,.06), transparent 58%),
    linear-gradient(180deg, #f8f4ec, var(--gmk-paper)) !important;
  color: var(--gmk-ink) !important;
}
.gmk-section{padding-top:clamp(42px,5vw,76px)!important;padding-bottom:clamp(42px,5vw,76px)!important}
.gmk-title{margin-bottom:26px!important}
.gmk-title h1,.gmk-title h2,.gmk-panel h1,.gmk-map-card h2,.gmk-legal h1{color:var(--gmk-black)!important;font-weight:1000!important;letter-spacing:-.055em!important}
.gmk-title p,.gmk-panel p,.gmk-map-card p,.gmk-legal p{color:var(--gmk-muted)!important}
.gmk-header{background:rgba(244,239,230,.94)!important;border-bottom:1px solid var(--gmk-line)!important;box-shadow:0 8px 26px rgba(14,14,14,.045)!important}
.gmk-header-inner{min-height:74px!important}
.gmk-brand img{max-height:54px!important;width:auto!important;object-fit:contain!important}
.gmk-nav a{font-size:13px!important;font-weight:900!important;padding:10px 13px!important;border:1px solid transparent!important;transition:background .16s ease,border-color .16s ease,transform .16s ease!important}
.gmk-nav a:hover{background:rgba(255,255,255,.86)!important;border-color:var(--gmk-line)!important;transform:translateY(-1px)!important}
.gmk-call{background:var(--gmk-black)!important;color:#fff!important;border:1px solid var(--gmk-black)!important;box-shadow:0 10px 22px rgba(14,14,14,.14)!important}
.gmk-call:hover{background:var(--gmk-red)!important;border-color:var(--gmk-red)!important}
.gmk-lang{height:38px!important;padding:4px!important;border-radius:999px!important;border:1px solid var(--gmk-line)!important;background:#fff!important;overflow:hidden!important}
.gmk-lang button{height:28px!important;min-width:42px!important;padding:5px 8px!important;border-radius:999px!important;line-height:1!important;font-size:11px!important;font-weight:950!important;color:var(--gmk-black)!important}
.gmk-lang button.is-active{background:var(--gmk-red)!important;color:#fff!important}
.gmk-hero{padding-top:clamp(28px,4vw,58px)!important}
.gmk-hero-copy{border-radius:30px!important;border:1px solid var(--gmk-line)!important;background:rgba(255,250,241,.96)!important;box-shadow:0 18px 42px rgba(14,14,14,.09)!important}
.gmk-hero-logo img{max-height:120px!important;width:auto!important;object-fit:contain!important}
.gmk-hero-copy h1{color:var(--gmk-black)!important;font-weight:1000!important;letter-spacing:-.06em!important}
.gmk-hero-copy p{color:var(--gmk-muted)!important}
.gmk-hours-card{background:radial-gradient(520px 300px at 50% 0%, rgba(198,55,41,.20), transparent 66%),var(--gmk-black)!important;border-radius:30px!important;box-shadow:0 22px 56px rgba(14,14,14,.20)!important;border:1px solid rgba(255,255,255,.08)!important}
.gmk-hours-content b{color:#fff!important}
.gmk-hours-content span{color:rgba(255,255,255,.88)!important}
.gmk-btn,.gmk-submit,button.gmk-submit,input[type="submit"].gmk-submit{min-height:44px!important;border-radius:999px!important;padding:12px 18px!important;font-size:13px!important;font-weight:950!important;border:1px solid var(--gmk-line)!important;background:#fff!important;color:var(--gmk-black)!important;box-shadow:0 10px 22px rgba(14,14,14,.07)!important;transition:transform .16s ease,box-shadow .16s ease,background .16s ease,border-color .16s ease!important}
.gmk-btn:hover,.gmk-submit:hover,button.gmk-submit:hover,input[type="submit"].gmk-submit:hover{transform:translateY(-1px)!important;box-shadow:0 16px 34px rgba(14,14,14,.12)!important;border-color:rgba(198,55,41,.24)!important}
.gmk-btn.primary,.gmk-submit,button.gmk-submit,input[type="submit"].gmk-submit{background:var(--gmk-red)!important;border-color:var(--gmk-red)!important;color:#fff!important}
.gmk-btn.primary:hover,.gmk-submit:hover,button.gmk-submit:hover,input[type="submit"].gmk-submit:hover{background:#9f261f!important;border-color:#9f261f!important;color:#fff!important}
.gmk-category-cards{gap:16px!important}
.gmk-category-cards>div{background:rgba(255,250,241,.98)!important;border:1px solid var(--gmk-line)!important;border-radius:24px!important;padding:20px!important;box-shadow:0 12px 28px rgba(14,14,14,.07)!important;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease!important}
.gmk-category-cards>div:hover{transform:translateY(-2px)!important;border-color:rgba(198,55,41,.25)!important;box-shadow:0 18px 40px rgba(14,14,14,.11)!important}
.gmk-category-cards b{color:var(--gmk-black)!important;font-size:18px!important;line-height:1.15!important;margin-bottom:8px!important}
.gmk-category-cards span{color:var(--gmk-muted)!important}
.gmk-menu-section{margin-bottom:18px!important}
.gmk-menu-section-head{font-family:inherit!important;background:linear-gradient(135deg,var(--gmk-black),#24201d)!important;color:#fff!important;border:1px solid rgba(255,255,255,.08)!important;border-radius:18px!important;padding:16px 18px!important;font-size:clamp(20px,2.2vw,28px)!important;font-weight:1000!important;letter-spacing:-.035em!important;line-height:1!important;box-shadow:0 14px 30px rgba(14,14,14,.16)!important;text-transform:none!important}
.gmk-menu-section-head:hover{background:linear-gradient(135deg,var(--gmk-red),#9f261f)!important;transform:translateY(-1px)!important}
.gmk-menu-section-head span{color:inherit!important;font:inherit!important}
.gmk-menu-section-head i{background:rgba(255,255,255,.16)!important;border:1px solid rgba(255,255,255,.18)!important}
.gmk-menu-index{border-radius:22px!important;border:1px solid var(--gmk-line)!important;background:rgba(255,250,241,.97)!important;box-shadow:0 14px 34px rgba(14,14,14,.09)!important}
.gmk-menu-index a{font-weight:950!important;border-radius:14px!important;background:#fff!important;color:var(--gmk-black)!important;border:1px solid var(--gmk-line)!important}
.gmk-menu-index a:hover{background:rgba(198,55,41,.06)!important;border-color:rgba(198,55,41,.22)!important}
.gmk-menu-index a.is-active{background:var(--gmk-red)!important;border-color:var(--gmk-red)!important;color:#fff!important}
.gmk-dish-card{background:#fff!important;border:1px solid var(--gmk-line)!important;border-radius:20px!important;box-shadow:0 10px 24px rgba(14,14,14,.065)!important;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease!important}
.gmk-dish-card:hover{transform:translateY(-2px)!important;border-color:rgba(198,55,41,.25)!important;box-shadow:0 18px 42px rgba(14,14,14,.11)!important}
.gmk-dish-body h3{color:var(--gmk-black)!important;font-weight:1000!important}
.gmk-dish-body p{color:var(--gmk-muted)!important}
.gmk-prices .main{background:rgba(198,55,41,.10)!important;border:1px solid rgba(198,55,41,.22)!important;color:var(--gmk-red)!important}
.gmk-prices .child{background:#f6f2eb!important;border:1px dashed rgba(14,14,14,.25)!important;color:var(--gmk-black)!important}
.gmk-tags span{background:rgba(14,14,14,.04)!important;border:1px solid rgba(14,14,14,.10)!important;color:rgba(14,14,14,.72)!important}
.gmk-form{background:rgba(255,250,241,.98)!important;border:1px solid var(--gmk-line)!important;border-radius:26px!important;padding:clamp(18px,3vw,28px)!important;box-shadow:0 16px 40px rgba(14,14,14,.09)!important}
.gmk-form h3{color:var(--gmk-black)!important;font-size:clamp(24px,2.4vw,34px)!important;line-height:1!important;letter-spacing:-.04em!important;font-weight:1000!important}
.gmk-form p{color:var(--gmk-muted)!important}
.gmk-field span{color:var(--gmk-black)!important;font-weight:950!important}
.gmk-field input,.gmk-field textarea,.gmk-field select{background:#fff!important;border:1px solid var(--gmk-line)!important;border-radius:16px!important;min-height:46px!important;color:var(--gmk-black)!important;box-shadow:inset 0 1px 0 rgba(14,14,14,.02)!important;outline:none!important}
.gmk-field textarea{min-height:130px!important}
.gmk-field input:focus,.gmk-field textarea:focus,.gmk-field select:focus{border-color:rgba(198,55,41,.45)!important;box-shadow:0 0 0 4px rgba(198,55,41,.10)!important}
.gmk-panel,.gmk-map-card,.gmk-legal,.gmk-info-list>div{background:rgba(255,250,241,.98)!important;border:1px solid var(--gmk-line)!important;box-shadow:0 14px 34px rgba(14,14,14,.08)!important}
.gmk-panel,.gmk-map-card,.gmk-legal{border-radius:26px!important}
.gmk-info-list>div{border-radius:18px!important;background:#fff!important}
.gmk-info-list b{color:var(--gmk-red)!important;font-weight:1000!important}
.gmk-info-list span,.gmk-info-list a{color:var(--gmk-ink)!important}
.gmk-legal article{border-top:1px solid var(--gmk-line)!important}
.gmk-legal h2{color:var(--gmk-black)!important;font-weight:1000!important}
.gmk-footer{background:radial-gradient(700px 300px at 10% 0%, rgba(198,55,41,.22), transparent 60%),var(--gmk-black)!important;color:#fff!important;border-top:1px solid rgba(255,255,255,.08)!important}
.gmk-footer img{max-height:92px!important;width:auto!important;object-fit:contain!important}
.gmk-footer a,.gmk-footer span,.gmk-footer div{color:rgba(255,255,255,.88)!important}
.gmk-footer strong,.gmk-copy{color:#fff!important}
.gmk-cookie{background:rgba(255,250,241,.98)!important;border:1px solid var(--gmk-line)!important;border-radius:22px!important;box-shadow:0 18px 48px rgba(14,14,14,.20)!important}
.gmk-cookie p{color:var(--gmk-muted)!important}
.gmk-cookie button,.gmk-cookie .gmk-cookie-ok{background:var(--gmk-red)!important;color:#fff!important;border-radius:999px!important;border:1px solid var(--gmk-red)!important;font-weight:950!important}
@media(max-width:1040px){.gmk-mobile-panel{background:var(--gmk-cream)!important;border-top:1px solid var(--gmk-line)!important}.gmk-mobile-panel a{background:#fff!important;color:var(--gmk-black)!important;border:1px solid var(--gmk-line)!important}.gmk-mobile-panel .gmk-call,.gmk-mobile-panel a.gmk-call{background:var(--gmk-red)!important;border-color:var(--gmk-red)!important;color:#fff!important}.gmk-burger{background:#fff!important;border-color:var(--gmk-line)!important}}
@media(max-width:760px){.gmk-hero-copy,.gmk-hours-card,.gmk-form,.gmk-panel,.gmk-map-card,.gmk-legal{border-radius:22px!important}.gmk-menu-section-head{font-size:20px!important}.gmk-dish-card{border-radius:18px!important}}


/* v1.5 visual editor frontend mode */
body.gmk-visual-mode [data-gmk-editable]{
  outline:2px dashed rgba(198,55,41,.65)!important;
  outline-offset:4px!important;
  cursor:pointer!important;
  border-radius:6px;
  transition:outline-color .16s ease, background .16s ease;
}
body.gmk-visual-mode [data-gmk-editable]:hover,
body.gmk-visual-mode [data-gmk-editable].is-selected{
  outline:3px solid var(--gmk-red)!important;
  background:rgba(198,55,41,.10)!important;
}


body.gmk-visual-mode {
  margin-top: 0 !important;
}
html:has(body.gmk-visual-mode) {
  margin-top: 0 !important;
}


/* v2.2 hero carousel reliability fix */
.gmk-hours-card .gmk-hero-carousel,
.gmk-hero-carousel {
  position: relative !important;
  width: 100% !important;
  max-width: 520px !important;
  height: clamp(280px, 32vw, 430px) !important;
  aspect-ratio: auto !important;
  background: #111 !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  border-radius: 24px !important;
  overflow: hidden !important;
  box-shadow: 0 18px 42px rgba(0,0,0,.22) !important;
  display: block !important;
}

.gmk-hours-card .gmk-hero-carousel img,
.gmk-hero-carousel img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  padding: 18px !important;
  transform: none !important;
  scale: 1 !important;
  opacity: 0 !important;
  transition: opacity .45s ease !important;
}

.gmk-hours-card .gmk-hero-carousel img:first-child,
.gmk-hours-card .gmk-hero-carousel img.is-active,
.gmk-hero-carousel img:first-child,
.gmk-hero-carousel img.is-active {
  opacity: 1 !important;
  transform: none !important;
  scale: 1 !important;
}

@media (max-width: 760px) {
  .gmk-hours-card .gmk-hero-carousel,
  .gmk-hero-carousel {
    height: 260px !important;
    max-width: 100% !important;
  }

  .gmk-hours-card .gmk-hero-carousel img,
  .gmk-hero-carousel img {
    padding: 12px !important;
  }
}


/* v2.3 form submission notices */
.gmk-form-notice{
  max-width: 980px;
  margin: 0 auto 16px;
  border-radius: 16px;
  padding: 14px 16px;
  font-weight: 900;
  border: 1px solid var(--gmk-line);
}
.gmk-form-notice.success{
  background: #eefaf1;
  color: #14532d;
  border-color: rgba(20,83,45,.22);
}
.gmk-form-notice.warning{
  background: #fff7ed;
  color: #7c2d12;
  border-color: rgba(124,45,18,.22);
}


/* v2.4 final review safeguards */
.gmk-form-notice {
  display: block;
}
body.gmk-visual-mode #wpadminbar {
  display: none !important;
}
body.gmk-visual-mode {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
.gmk-hero-carousel img {
  max-width: none !important;
}


/* v2.6 Content & Brand Polish */
.gmk-animated-brand{
  display:inline-flex;
  align-items:center;
  gap:7px;
  color:var(--gmk-black);
  line-height:.82;
  text-decoration:none;
}
.gmk-animated-brand .gmk-flame{
  width:35px;
  height:43px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  transform-origin:50% 88%;
  filter:drop-shadow(0 5px 8px rgba(198,55,41,.18));
}
.gmk-animated-brand .gmk-flame img{
  width:100%!important;
  height:100%!important;
  max-height:none!important;
  object-fit:contain!important;
  display:block!important;
}
.gmk-animated-brand .gmk-wordmark{
  font-family:Impact,"Arial Black",var(--gmk-font);
  font-weight:1000;
  letter-spacing:-.075em;
  font-size:25px;
  color:var(--gmk-black);
}
.gmk-animated-brand .gmk-flame{
  animation:gmkFlameFlicker 1.45s infinite ease-in-out;
}
@keyframes gmkFlameFlicker{
  0%,100%{transform:translateY(0) scale(1) rotate(0deg);filter:drop-shadow(0 5px 8px rgba(198,55,41,.16))}
  22%{transform:translateY(-1px) scale(1.025,.985) rotate(-1.2deg);filter:drop-shadow(0 7px 10px rgba(198,55,41,.24))}
  48%{transform:translateY(0) scale(.992,1.018) rotate(1deg);filter:drop-shadow(0 5px 8px rgba(198,55,41,.18))}
  72%{transform:translateY(-.5px) scale(1.018,.995) rotate(-.6deg);filter:drop-shadow(0 8px 12px rgba(198,55,41,.26))}
}
@media (prefers-reduced-motion: reduce){
  .gmk-animated-brand .gmk-flame{animation:none}
}
.gmk-social{
  display:inline-flex;
  align-items:center;
  gap:6px;
}
.gmk-social-link{
  width:34px;
  height:34px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#fff;
  border:1px solid var(--gmk-line);
  color:var(--gmk-black)!important;
  text-decoration:none!important;
  font-weight:1000;
  font-size:15px;
  box-shadow:0 6px 14px rgba(14,14,14,.06);
}
.gmk-social-link:hover{
  background:var(--gmk-red);
  border-color:var(--gmk-red);
  color:#fff!important;
  transform:translateY(-1px);
}
.gmk-social-footer{
  margin-top:10px;
}
.gmk-social-footer .gmk-social-link{
  background:rgba(255,255,255,.08);
  border-color:rgba(255,255,255,.16);
  color:#fff!important;
}
.gmk-social-mobile{
  margin-top:4px;
}
.gmk-social-mobile .gmk-social-link{
  width:40px;
  height:40px;
}

/* Seamless hero media card: one clear frame, no box-inside-box feeling */
.gmk-hours-card{
  padding:30px!important;
  gap:22px!important;
  justify-content:space-between!important;
}
.gmk-hero-carousel{
  width:100%!important;
  max-width:none!important;
  aspect-ratio:16/10!important;
  border-radius:24px!important;
  background:transparent!important;
  box-shadow:none!important;
  border:0!important;
  margin:0!important;
}
.gmk-hero-carousel img{
  object-fit:cover!important;
}
.gmk-hours-card .gmk-hours-content{
  width:100%;
  padding-top:4px;
}
.gmk-hours-card b{
  font-size:clamp(24px,2.5vw,32px)!important;
}
.gmk-hours-card span{
  font-size:clamp(19px,2.2vw,25px)!important;
}
.gmk-hero-copy{
  min-height:520px;
}
.gmk-hero-copy p{
  max-width:60ch;
}
.gmk-event-cards{
  display:grid;
  gap:12px;
  margin-top:18px;
}
.gmk-event-cards>div{
  padding:15px 16px;
  border-radius:18px;
  border:1px solid var(--gmk-line);
  background:#fff;
  box-shadow:0 8px 20px rgba(14,14,14,.05);
}
.gmk-event-cards b{
  display:block;
  margin-bottom:6px;
  color:var(--gmk-black);
  font-size:16px;
  font-weight:1000;
}
.gmk-event-cards span{
  color:var(--gmk-muted);
  line-height:1.62;
}
.gmk-panel .gmk-info-list,
.gmk-event-cards{
  max-width:760px;
}
.gmk-category-cards>div{
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
.gmk-category-cards>div:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 34px rgba(14,14,14,.10);
  border-color:rgba(198,55,41,.24);
}
@media(max-width:1040px){
  .gmk-social-header{display:none}
}
@media(max-width:900px){
  .gmk-hero-copy{min-height:auto}
  .gmk-hours-card{padding:20px!important}
  .gmk-hero-carousel{aspect-ratio:16/11!important}
}
@media(max-width:520px){
  .gmk-animated-brand .gmk-flame{width:30px;height:38px}
  .gmk-animated-brand .gmk-wordmark{font-size:22px}
}


/* v2.6.1 transparent flame-only animation fix */
.gmk-flame-filter-svg{
  position:absolute;
  width:0;
  height:0;
  overflow:hidden;
}
.gmk-animated-brand{
  display:inline-flex!important;
  align-items:center!important;
  gap:7px!important;
  color:var(--gmk-black)!important;
  text-decoration:none!important;
  line-height:.82!important;
}
.gmk-animated-brand .gmk-flame{
  position:relative!important;
  width:35px!important;
  height:43px!important;
  flex:0 0 35px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  transform-origin:50% 92%!important;
  background:transparent!important;
  overflow:visible!important;
  isolation:isolate!important;
}
.gmk-animated-brand .gmk-flame img{
  position:relative!important;
  z-index:3!important;
  width:100%!important;
  height:100%!important;
  max-height:none!important;
  object-fit:contain!important;
  display:block!important;
  background:transparent!important;
  filter:url(#gmk-flame-heat) drop-shadow(0 4px 7px rgba(198,55,41,.22))!important;
  animation:gmkFlameLiveCore 1.22s infinite cubic-bezier(.45,0,.55,1)!important;
  transform-origin:50% 92%!important;
}
.gmk-animated-brand .gmk-flame:before,
.gmk-animated-brand .gmk-flame:after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  background-image:var(--gmk-flame-image)!important;
  background-size:contain!important;
  background-repeat:no-repeat!important;
  background-position:center!important;
  pointer-events:none!important;
  opacity:.42!important;
  z-index:1!important;
  transform-origin:50% 92%!important;
  mix-blend-mode:multiply!important;
}
.gmk-animated-brand .gmk-flame:before{
  filter:blur(.45px) drop-shadow(0 0 9px rgba(198,55,41,.22))!important;
  animation:gmkFlameLiveLeft 1.06s infinite ease-in-out!important;
  clip-path:polygon(0 8%,52% 0,62% 100%,0 100%)!important;
}
.gmk-animated-brand .gmk-flame:after{
  filter:blur(.35px) drop-shadow(0 0 11px rgba(198,55,41,.24))!important;
  animation:gmkFlameLiveRight 1.34s infinite ease-in-out!important;
  clip-path:polygon(42% 0,100% 7%,100% 100%,50% 100%)!important;
}
@keyframes gmkFlameLiveCore{
  0%,100%{transform:translate3d(0,0,0) scale(1,1) rotate(0deg)}
  14%{transform:translate3d(.25px,-.7px,0) scale(1.010,.995) rotate(.45deg)}
  31%{transform:translate3d(-.35px,-1.1px,0) scale(.994,1.014) rotate(-.65deg)}
  49%{transform:translate3d(.28px,-.45px,0) scale(1.013,.992) rotate(.35deg)}
  67%{transform:translate3d(-.18px,-.95px,0) scale(.998,1.010) rotate(-.35deg)}
  83%{transform:translate3d(.12px,-.35px,0) scale(1.006,.997) rotate(.25deg)}
}
@keyframes gmkFlameLiveLeft{
  0%,100%{transform:translateX(0) translateY(0) scale(1);opacity:.30}
  25%{transform:translateX(-.8px) translateY(-1.2px) scale(1.018,.995);opacity:.44}
  55%{transform:translateX(.25px) translateY(-.4px) scale(.992,1.014);opacity:.24}
  78%{transform:translateX(-.45px) translateY(-.9px) scale(1.010,.998);opacity:.40}
}
@keyframes gmkFlameLiveRight{
  0%,100%{transform:translateX(0) translateY(0) scale(1);opacity:.26}
  18%{transform:translateX(.75px) translateY(-.9px) scale(.996,1.016);opacity:.39}
  46%{transform:translateX(-.15px) translateY(-.35px) scale(1.014,.995);opacity:.24}
  73%{transform:translateX(.55px) translateY(-1.25px) scale(.998,1.018);opacity:.43}
}
.gmk-animated-brand .gmk-wordmark{
  font-family:Impact,"Arial Black",var(--gmk-font)!important;
  font-weight:1000!important;
  letter-spacing:-.075em!important;
  font-size:25px!important;
  color:var(--gmk-black)!important;
  line-height:.82!important;
}
@media (prefers-reduced-motion: reduce){
  .gmk-animated-brand .gmk-flame img,
  .gmk-animated-brand .gmk-flame:before,
  .gmk-animated-brand .gmk-flame:after{
    animation:none!important;
    filter:drop-shadow(0 4px 7px rgba(198,55,41,.16))!important;
  }
}
@media(max-width:520px){
  .gmk-animated-brand .gmk-flame{width:30px!important;height:38px!important;flex-basis:30px!important}
  .gmk-animated-brand .gmk-wordmark{font-size:22px!important}
}


/* v2.7 serious brand/header fix */
.gmk-animated-brand{
  display:inline-flex!important;
  align-items:center!important;
  gap:10px!important;
  color:var(--gmk-black)!important;
  text-decoration:none!important;
  line-height:1!important;
  min-width:0!important;
}
.gmk-animated-brand .gmk-flame{
  position:relative!important;
  width:35px!important;
  height:43px!important;
  flex:0 0 35px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  transform-origin:50% 92%!important;
  background:transparent!important;
  overflow:visible!important;
  isolation:isolate!important;
}
.gmk-animated-brand .gmk-flame img{
  position:relative!important;
  z-index:3!important;
  width:100%!important;
  height:100%!important;
  max-height:none!important;
  object-fit:contain!important;
  display:block!important;
  background:transparent!important;
  filter:drop-shadow(0 4px 7px rgba(198,55,41,.20))!important;
  animation:gmkFlameBreath 1.16s infinite cubic-bezier(.46,0,.54,1)!important;
  transform-origin:50% 94%!important;
  will-change:transform,filter!important;
}
.gmk-animated-brand .gmk-flame:before,
.gmk-animated-brand .gmk-flame:after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  background-image:var(--gmk-flame-image)!important;
  background-size:contain!important;
  background-repeat:no-repeat!important;
  background-position:center!important;
  background-color:transparent!important;
  pointer-events:none!important;
  z-index:1!important;
  transform-origin:50% 94%!important;
  opacity:.22!important;
}
.gmk-animated-brand .gmk-flame:before{
  clip-path:polygon(0 0,58% 0,54% 100%,0 100%)!important;
  animation:gmkFlameLickLeft .92s infinite ease-in-out!important;
}
.gmk-animated-brand .gmk-flame:after{
  clip-path:polygon(43% 0,100% 0,100% 100%,49% 100%)!important;
  animation:gmkFlameLickRight 1.28s infinite ease-in-out!important;
}
.gmk-wordmark,
.gmk-animated-brand .gmk-wordmark{
  display:none!important;
}
.gmk-animated-brand .gmk-wordmark-svg{
  display:inline-flex!important;
  align-items:center!important;
  height:38px!important;
  flex:0 0 auto!important;
}
.gmk-animated-brand .gmk-wordmark-svg img{
  display:block!important;
  width:auto!important;
  height:38px!important;
  max-height:38px!important;
  object-fit:contain!important;
  background:transparent!important;
  filter:none!important;
  animation:none!important;
}
@keyframes gmkFlameBreath{
  0%,100%{transform:translate3d(0,0,0) scale(1) skewX(0deg)}
  16%{transform:translate3d(.25px,-.45px,0) scale(1.012,.992) skewX(-.8deg)}
  34%{transform:translate3d(-.25px,-.9px,0) scale(.994,1.016) skewX(.75deg)}
  52%{transform:translate3d(.18px,-.35px,0) scale(1.010,.996) skewX(-.35deg)}
  74%{transform:translate3d(-.14px,-.72px,0) scale(.998,1.010) skewX(.45deg)}
}
@keyframes gmkFlameLickLeft{
  0%,100%{transform:translateX(0) translateY(0) scale(1);opacity:.16}
  30%{transform:translateX(-.7px) translateY(-1px) scale(1.024,.990);opacity:.28}
  58%{transform:translateX(.2px) translateY(-.25px) scale(.996,1.010);opacity:.12}
  82%{transform:translateX(-.35px) translateY(-.85px) scale(1.016,.995);opacity:.24}
}
@keyframes gmkFlameLickRight{
  0%,100%{transform:translateX(0) translateY(0) scale(1);opacity:.14}
  22%{transform:translateX(.65px) translateY(-.8px) scale(.996,1.018);opacity:.26}
  49%{transform:translateX(-.15px) translateY(-.25px) scale(1.012,.995);opacity:.11}
  76%{transform:translateX(.5px) translateY(-1.05px) scale(.998,1.016);opacity:.25}
}
.gmk-social-header,
.gmk-social-mobile,
.gmk-social-footer{
  display:inline-flex;
}
.gmk-social-link svg{
  width:18px;
  height:18px;
  display:block;
}
.gmk-social-link{
  overflow:hidden;
}
.gmk-import-export-page .gmk-admin-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  margin-top:18px;
}
.gmk-admin-card{
  background:#fff;
  border:1px solid #d8d2c7;
  border-radius:18px;
  padding:18px;
  box-shadow:0 10px 24px rgba(14,14,14,.06);
}
.gmk-admin-card h2{
  margin-top:0;
}
.gmk-csv-help{
  margin-top:16px;
}
.gmk-csv-help code{
  display:block;
  white-space:normal;
  line-height:1.7;
}
@media(max-width:900px){
  .gmk-import-export-page .gmk-admin-grid{grid-template-columns:1fr}
}
@media(max-width:520px){
  .gmk-animated-brand{gap:8px!important}
  .gmk-animated-brand .gmk-flame{width:30px!important;height:38px!important;flex-basis:30px!important}
  .gmk-animated-brand .gmk-wordmark-svg,
  .gmk-animated-brand .gmk-wordmark-svg img{height:34px!important;max-height:34px!important}
}


/* ==========================================================
   Grilli Maku v4.0.0 - NOVA RESTAURANT SYSTEM
   One completely new public design. No old layout selector.
   ========================================================== */

body.gmk-nova-body{
  --nova-green:#0b241f;
  --nova-green-2:#123a33;
  --nova-cream:#fff1d8;
  --nova-paper:#fbf6ec;
  --nova-red:#d54332;
  --nova-gold:#f6bd53;
  --nova-ink:#17201d;
  --nova-muted:#786856;
  --nova-line:rgba(23,32,29,.14);
  background:var(--nova-paper)!important;
  color:var(--nova-ink)!important;
}

body.gmk-nova-body .gmk-header,
body.gmk-nova-body .gmk-footer,
body.gmk-nova-body .gmk-r-header,
body.gmk-nova-body .gmk-r-footer,
body.gmk-nova-body .gmk-x-header,
body.gmk-nova-body .gmk-x-footer{
  display:none!important;
}

body.gmk-nova-body .gmk-nova-rail{
  position:fixed;
  z-index:999;
  left:18px;
  top:18px;
  bottom:18px;
  width:236px;
  border-radius:34px;
  background:linear-gradient(180deg,var(--nova-green),#071714);
  color:var(--nova-cream);
  padding:22px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  box-shadow:0 30px 80px rgba(11,36,31,.26);
}

body.admin-bar.gmk-nova-body .gmk-nova-rail{
  top:50px;
}

body.gmk-nova-body .gmk-nova-logo img{
  max-width:118px;
  height:auto;
  filter:drop-shadow(0 8px 18px rgba(0,0,0,.28));
}

body.gmk-nova-body .gmk-nova-rail-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}

body.gmk-nova-body .gmk-nova-burger{
  display:none;
  width:46px;
  height:46px;
  border-radius:999px;
  border:0;
  background:var(--nova-gold);
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:5px;
}

body.gmk-nova-body .gmk-nova-burger span{
  width:18px;
  height:2px;
  background:var(--nova-green);
}

body.gmk-nova-body .gmk-nova-nav{
  display:grid;
  gap:7px;
}

body.gmk-nova-body .gmk-nova-nav a{
  color:rgba(255,241,216,.78)!important;
  text-decoration:none!important;
  font-weight:900;
  padding:12px 13px;
  border-radius:18px;
}

body.gmk-nova-body .gmk-nova-nav a:hover{
  background:rgba(255,255,255,.08);
  color:var(--nova-gold)!important;
}

body.gmk-nova-body .gmk-nova-rail-bottom{
  display:grid;
  gap:14px;
}

body.gmk-nova-body .gmk-nova-phone{
  display:flex;
  justify-content:center;
  text-decoration:none!important;
  background:var(--nova-red);
  color:#fff!important;
  border-radius:18px;
  padding:13px 14px;
  font-weight:1000;
}

body.gmk-nova-body .gmk-lang{
  background:rgba(255,255,255,.08)!important;
  border:1px solid rgba(255,255,255,.12)!important;
  border-radius:18px!important;
  width:100%;
}

body.gmk-nova-body .gmk-lang button{
  color:#fff!important;
  border-radius:14px!important;
}

body.gmk-nova-body .gmk-lang button.is-active{
  background:var(--nova-cream)!important;
  color:var(--nova-green)!important;
}

body.gmk-nova-body .gmk-nova-mobile-panel{
  display:none;
}

body.gmk-nova-body .gmk-nova-page,
body.gmk-nova-body .gmk-nova-footer{
  margin-left:272px;
}

body.gmk-nova-body .gmk-nova-home{
  background:
    radial-gradient(circle at 82% 8%, rgba(213,67,50,.13), transparent 28%),
    radial-gradient(circle at 18% 50%, rgba(246,189,83,.16), transparent 32%),
    var(--nova-paper);
}

body.gmk-nova-body .gmk-nova-hero{
  min-height:100vh;
  width:min(1380px,calc(100% - 48px));
  margin:0 auto;
  display:grid;
  grid-template-columns:1.08fr .92fr;
  grid-template-areas:
    "media content"
    "media board";
  gap:24px;
  padding:32px 0 44px;
  align-items:stretch;
}

body.gmk-nova-body .gmk-nova-hero-media{
  grid-area:media;
  min-height:calc(100vh - 76px);
  position:relative;
  border-radius:48px;
  overflow:hidden;
  background:var(--nova-green);
  box-shadow:0 30px 90px rgba(11,36,31,.18);
}

body.gmk-nova-body .gmk-nova-stage,
body.gmk-nova-body .gmk-nova-stage img{
  width:100%;
  height:100%;
  min-height:calc(100vh - 76px);
}

body.gmk-nova-body .gmk-nova-stage img{
  display:none;
  object-fit:cover;
}

body.gmk-nova-body .gmk-nova-stage img.is-active,
body.gmk-nova-body .gmk-nova-stage img:first-child{
  display:block;
}

body.gmk-nova-body .gmk-nova-map-chip{
  position:absolute;
  left:24px;
  right:24px;
  bottom:24px;
  border-radius:28px;
  background:rgba(11,36,31,.86);
  color:var(--nova-cream);
  backdrop-filter:blur(16px);
  display:flex;
  justify-content:space-between;
  gap:16px;
  padding:18px 20px;
  font-weight:900;
}

body.gmk-nova-body .gmk-nova-map-chip a{
  color:var(--nova-gold)!important;
  text-decoration:none!important;
}

body.gmk-nova-body .gmk-nova-hero-content{
  grid-area:content;
  align-self:end;
  border-radius:44px;
  background:var(--nova-cream);
  padding:clamp(34px,5vw,68px);
  box-shadow:0 22px 70px rgba(11,36,31,.10);
}

body.gmk-nova-body .gmk-nova-eyebrow{
  display:inline-flex;
  color:var(--nova-red);
  text-transform:uppercase;
  font-weight:1000;
  letter-spacing:.08em;
  font-size:12px;
  margin-bottom:18px;
}

body.gmk-nova-body .gmk-nova-hero h1{
  color:var(--nova-ink);
  font-size:clamp(60px,8.4vw,138px);
  line-height:.78;
  letter-spacing:-.10em;
  margin:0 0 24px;
}

body.gmk-nova-body .gmk-nova-hero p{
  color:var(--nova-muted);
  font-size:clamp(18px,1.7vw,24px);
  line-height:1.52;
  margin:0;
}

body.gmk-nova-body .gmk-nova-hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:30px;
}

body.gmk-nova-body .gmk-nova-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:54px;
  padding:15px 22px;
  border-radius:18px;
  font-weight:1000;
  text-decoration:none!important;
}

body.gmk-nova-body .gmk-nova-btn.primary,
body.gmk-nova-body .gmk-nova-btn.dark{
  background:var(--nova-green);
  color:#fff!important;
}

body.gmk-nova-body .gmk-nova-btn.secondary{
  background:#fff;
  color:var(--nova-ink)!important;
  border:1px solid var(--nova-line);
}

body.gmk-nova-body .gmk-nova-hero-board{
  grid-area:board;
  align-self:start;
  border-radius:44px;
  background:var(--nova-green);
  color:var(--nova-cream);
  padding:34px;
  display:grid;
  gap:18px;
}

body.gmk-nova-body .gmk-nova-hero-board b{
  font-size:38px;
  line-height:.92;
  letter-spacing:-.06em;
}

body.gmk-nova-body .gmk-nova-hero-board a{
  color:var(--nova-gold)!important;
  font-weight:1000;
  text-decoration:none!important;
}

body.gmk-nova-body .gmk-nova-hours-list,
body.gmk-nova-body .gmk-nova-hours{
  display:grid;
  gap:7px;
}

body.gmk-nova-body .gmk-nova-routes,
body.gmk-nova-body .gmk-nova-split,
body.gmk-nova-body .gmk-nova-menu-wall,
body.gmk-nova-body .gmk-nova-events-band,
body.gmk-nova-body .gmk-nova-subhero,
body.gmk-nova-body .gmk-nova-menu-full,
body.gmk-nova-body .gmk-nova-formpage,
body.gmk-nova-body .gmk-nova-contact-grid,
body.gmk-nova-body .gmk-nova-map,
body.gmk-nova-body .gmk-nova-legal article{
  width:min(1240px,calc(100% - 48px));
  margin-left:auto;
  margin-right:auto;
}

body.gmk-nova-body .gmk-nova-routes{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
  margin-top:34px;
  margin-bottom:92px;
}

body.gmk-nova-body .gmk-nova-routes a{
  min-height:190px;
  border-radius:36px;
  background:#fff;
  color:var(--nova-ink)!important;
  text-decoration:none!important;
  padding:26px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  box-shadow:0 20px 55px rgba(11,36,31,.08);
}

body.gmk-nova-body .gmk-nova-routes strong{
  color:var(--nova-red);
  font-size:13px;
  letter-spacing:.08em;
}

body.gmk-nova-body .gmk-nova-routes b{
  font-size:42px;
  line-height:.86;
  letter-spacing:-.07em;
}

body.gmk-nova-body .gmk-nova-split{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:54px;
  align-items:start;
  margin-bottom:96px;
}

body.gmk-nova-body .gmk-nova-split h2,
body.gmk-nova-body .gmk-nova-section-title h2,
body.gmk-nova-body .gmk-nova-events-band h2,
body.gmk-nova-body .gmk-nova-subhero h1,
body.gmk-nova-body .gmk-nova-formcopy h1{
  font-size:clamp(44px,5.5vw,92px);
  line-height:.86;
  letter-spacing:-.085em;
  margin:0;
  color:var(--nova-ink);
}

body.gmk-nova-body .gmk-nova-split p,
body.gmk-nova-body .gmk-nova-events-band p,
body.gmk-nova-body .gmk-nova-subhero p,
body.gmk-nova-body .gmk-nova-formcopy p{
  font-size:clamp(18px,1.55vw,23px);
  line-height:1.62;
  color:var(--nova-muted);
  margin:0;
}

body.gmk-nova-body .gmk-nova-menu-wall{
  margin-bottom:100px;
}

body.gmk-nova-body .gmk-nova-section-title{
  margin-bottom:28px;
}

body.gmk-nova-body .gmk-nova-preview .gmk-section,
body.gmk-nova-body .gmk-nova-preview .gmk-wrap,
body.gmk-nova-body .gmk-nova-preview .gmk-home-menu{
  padding:0!important;
  margin:0!important;
  background:transparent!important;
}

body.gmk-nova-body .gmk-category-cards{
  display:grid!important;
  grid-template-columns:repeat(4,1fr)!important;
  gap:18px!important;
}

body.gmk-nova-body .gmk-category-cards>div{
  min-height:240px;
  border:0!important;
  border-radius:38px!important;
  background:var(--nova-green)!important;
  box-shadow:none!important;
  padding:28px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:space-between!important;
}

body.gmk-nova-body .gmk-category-cards>div:nth-child(even){
  background:var(--nova-red)!important;
}

body.gmk-nova-body .gmk-category-cards b{
  color:#fff!important;
  font-size:32px!important;
  line-height:.9!important;
  letter-spacing:-.06em!important;
}

body.gmk-nova-body .gmk-category-cards span{
  color:rgba(255,255,255,.76)!important;
}

body.gmk-nova-body .gmk-nova-events-band{
  margin-bottom:110px;
  border-radius:46px;
  background:var(--nova-gold);
  padding:54px;
  display:grid;
  grid-template-columns:1fr auto;
  gap:28px;
  align-items:center;
}

body.gmk-nova-body .gmk-nova-subpage,
body.gmk-nova-body .gmk-nova-formpage,
body.gmk-nova-body .gmk-nova-contact,
body.gmk-nova-body .gmk-nova-legal{
  padding-top:72px;
  padding-bottom:90px;
  background:var(--nova-paper);
}

body.gmk-nova-body .gmk-nova-subhero{
  padding-bottom:40px;
}

body.gmk-nova-body .gmk-nova-menu-full{
  border-radius:44px;
  background:#fff;
  padding:32px;
  box-shadow:0 24px 70px rgba(11,36,31,.08);
}

body.gmk-nova-body .gmk-menu-section{
  border:0!important;
  border-radius:34px!important;
  background:#f7ebd8!important;
  overflow:hidden!important;
  box-shadow:none!important;
  margin-bottom:18px!important;
}

body.gmk-nova-body .gmk-menu-section-head{
  border:0!important;
  border-radius:0!important;
  background:var(--nova-green)!important;
  color:#fff!important;
  box-shadow:none!important;
  padding:26px 30px!important;
  font-size:clamp(28px,3.2vw,52px)!important;
}

body.gmk-nova-body .gmk-menu-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:16px!important;
  padding:24px!important;
}

body.gmk-nova-body .gmk-dish-card{
  border:0!important;
  border-radius:28px!important;
  background:#fff!important;
  box-shadow:none!important;
}

body.gmk-nova-body .gmk-nova-formpage{
  display:grid;
  grid-template-columns:.88fr 1.12fr;
  gap:40px;
}

body.gmk-nova-body .gmk-nova-formbox,
body.gmk-nova-body .gmk-nova-smallcards>div,
body.gmk-nova-body .gmk-nova-contact-grid>div,
body.gmk-nova-body .gmk-nova-legal article{
  border-radius:38px;
  background:#fff;
  padding:30px;
  box-shadow:0 20px 60px rgba(11,36,31,.08);
}

body.gmk-nova-body .gmk-public-form,
body.gmk-nova-body .gmk-form-card,
body.gmk-nova-body .gmk-panel,
body.gmk-nova-body .gmk-contact-card{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  padding:0!important;
}

body.gmk-nova-body input,
body.gmk-nova-body textarea,
body.gmk-nova-body select{
  border-radius:18px!important;
  border:1px solid var(--nova-line)!important;
  background:#fff!important;
  padding:14px!important;
}

body.gmk-nova-body .gmk-nova-smallcards{
  display:grid;
  gap:16px;
  margin-top:28px;
}

body.gmk-nova-body .gmk-nova-smallcards b{
  display:block;
  margin-bottom:8px;
  color:var(--nova-red);
}

body.gmk-nova-body .gmk-nova-contact-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
  margin-bottom:28px;
}

body.gmk-nova-body .gmk-nova-contact-grid>div{
  min-height:185px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}

body.gmk-nova-body .gmk-nova-contact-grid b{
  color:var(--nova-red);
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:12px;
}

body.gmk-nova-body .gmk-nova-contact-grid a{
  color:var(--nova-ink)!important;
  text-decoration:none!important;
  font-size:22px;
  font-weight:1000;
  line-height:1.1;
}

body.gmk-nova-body .gmk-nova-map{
  overflow:hidden;
  border-radius:44px;
  box-shadow:0 24px 70px rgba(11,36,31,.08);
}

body.gmk-nova-body .gmk-nova-map iframe{
  width:100%;
  min-height:480px;
  border:0;
  display:block;
}

body.gmk-nova-body .gmk-nova-footer{
  background:var(--nova-green);
  color:var(--nova-cream);
  padding:0 54px 28px;
}

body.gmk-nova-body .gmk-nova-footer-marquee{
  margin-left:-54px;
  margin-right:-54px;
  padding:24px 54px;
  display:flex;
  gap:38px;
  overflow:hidden;
  border-bottom:1px solid rgba(255,255,255,.12);
  color:var(--nova-gold);
  font-weight:1000;
  text-transform:uppercase;
  letter-spacing:.08em;
}

body.gmk-nova-body .gmk-nova-footer-grid{
  max-width:1240px;
  margin:54px auto 0;
  display:grid;
  grid-template-columns:1.25fr repeat(3,1fr);
  gap:34px;
}

body.gmk-nova-body .gmk-nova-footer img{
  max-width:100px;
  height:auto;
  margin-bottom:18px;
}

body.gmk-nova-body .gmk-nova-footer h2,
body.gmk-nova-body .gmk-nova-footer b{
  color:#fff;
}

body.gmk-nova-body .gmk-nova-footer a,
body.gmk-nova-body .gmk-nova-footer p,
body.gmk-nova-body .gmk-nova-footer span{
  color:rgba(255,241,216,.76)!important;
  text-decoration:none!important;
}

body.gmk-nova-body .gmk-nova-footer-grid section{
  display:grid;
  align-content:start;
  gap:10px;
}

body.gmk-nova-body .gmk-nova-footer-bottom{
  max-width:1240px;
  margin:42px auto 0;
  padding-top:22px;
  border-top:1px solid rgba(255,255,255,.12);
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  gap:18px;
}

@media(max-width:1180px){
  body.gmk-nova-body .gmk-nova-rail{
    position:sticky;
    top:0;
    bottom:auto;
    left:0;
    width:auto;
    border-radius:0;
    padding:14px 18px;
    flex-direction:row;
    align-items:center;
  }

  body.admin-bar.gmk-nova-body .gmk-nova-rail{
    top:32px;
  }

  body.gmk-nova-body .gmk-nova-nav,
  body.gmk-nova-body .gmk-nova-rail-bottom{
    display:none;
  }

  body.gmk-nova-body .gmk-nova-burger{
    display:flex;
  }

  body.gmk-nova-body .gmk-nova-mobile-panel.is-open{
    display:grid;
    position:fixed;
    z-index:998;
    left:18px;
    right:18px;
    top:92px;
    padding:18px;
    border-radius:26px;
    background:var(--nova-cream);
    box-shadow:0 24px 70px rgba(0,0,0,.20);
  }

  body.gmk-nova-body .gmk-nova-mobile-panel a{
    color:var(--nova-ink)!important;
    text-decoration:none!important;
    font-weight:1000;
    padding:13px;
    border-radius:16px;
  }

  body.gmk-nova-body .gmk-nova-page,
  body.gmk-nova-body .gmk-nova-footer{
    margin-left:0;
  }

  body.gmk-nova-body .gmk-nova-hero,
  body.gmk-nova-body .gmk-nova-split,
  body.gmk-nova-body .gmk-nova-formpage,
  body.gmk-nova-body .gmk-nova-events-band{
    grid-template-columns:1fr;
  }

  body.gmk-nova-body .gmk-nova-hero{
    min-height:auto;
  }

  body.gmk-nova-body .gmk-nova-hero-media,
  body.gmk-nova-body .gmk-nova-stage,
  body.gmk-nova-body .gmk-nova-stage img{
    min-height:520px;
  }

  body.gmk-nova-body .gmk-nova-routes,
  body.gmk-nova-body .gmk-category-cards,
  body.gmk-nova-body .gmk-nova-contact-grid,
  body.gmk-nova-body .gmk-nova-footer-grid{
    grid-template-columns:repeat(2,1fr)!important;
  }
}

@media(max-width:720px){
  body.admin-bar.gmk-nova-body .gmk-nova-rail{
    top:46px;
  }

  body.gmk-nova-body .gmk-nova-hero,
  body.gmk-nova-body .gmk-nova-routes,
  body.gmk-nova-body .gmk-nova-split,
  body.gmk-nova-body .gmk-nova-menu-wall,
  body.gmk-nova-body .gmk-nova-events-band,
  body.gmk-nova-body .gmk-nova-subhero,
  body.gmk-nova-body .gmk-nova-menu-full,
  body.gmk-nova-body .gmk-nova-formpage,
  body.gmk-nova-body .gmk-nova-contact-grid,
  body.gmk-nova-body .gmk-nova-map,
  body.gmk-nova-body .gmk-nova-legal article{
    width:calc(100% - 24px);
  }

  body.gmk-nova-body .gmk-nova-hero h1{
    font-size:56px;
  }

  body.gmk-nova-body .gmk-nova-hero-media,
  body.gmk-nova-body .gmk-nova-stage,
  body.gmk-nova-body .gmk-nova-stage img{
    min-height:420px;
    border-radius:34px;
  }

  body.gmk-nova-body .gmk-nova-hero-content,
  body.gmk-nova-body .gmk-nova-hero-board,
  body.gmk-nova-body .gmk-nova-events-band,
  body.gmk-nova-body .gmk-nova-formbox,
  body.gmk-nova-body .gmk-nova-menu-full{
    border-radius:30px;
    padding:24px;
  }

  body.gmk-nova-body .gmk-nova-routes,
  body.gmk-nova-body .gmk-category-cards,
  body.gmk-nova-body .gmk-menu-grid,
  body.gmk-nova-body .gmk-nova-contact-grid,
  body.gmk-nova-body .gmk-nova-footer-grid{
    grid-template-columns:1fr!important;
  }

  body.gmk-nova-body .gmk-nova-footer{
    padding-left:24px;
    padding-right:24px;
  }

  body.gmk-nova-body .gmk-nova-footer-marquee{
    margin-left:-24px;
    margin-right:-24px;
    padding-left:24px;
    padding-right:24px;
  }
}


/* ==========================================================
   Grilli Maku v5.0.0 - SOLSTICE RESTAURANT SYSTEM
   Clean, warm, light, top-navigation restaurant experience.
   Completely separate from the old dark/sidebar look.
   ========================================================== */

:root{
  --sol-ink:#14213D;
  --sol-soft:#58616D;
  --sol-red:#E8552E;
  --sol-yellow:#FFC857;
  --sol-mint:#B8E6CF;
  --sol-cream:#FFF8E8;
  --sol-paper:#F7F3EA;
  --sol-white:#FFFFFF;
  --sol-line:rgba(20,33,61,.13);
  --sol-shadow:0 24px 70px rgba(20,33,61,.12);
  --sol-radius:30px;
  --sol-max:1240px;
}

html{scroll-behavior:smooth}
body{
  margin:0;
  background:
    radial-gradient(circle at 14% 4%, rgba(255,200,87,.32), transparent 28%),
    radial-gradient(circle at 88% 10%, rgba(184,230,207,.45), transparent 32%),
    linear-gradient(180deg,#fffaf0 0%,#f7f3ea 72%,#fff8e8 100%)!important;
  color:var(--sol-ink)!important;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif!important;
}

body:not(.lang-en) .gm-en,
body.lang-fi .gm-en{display:none!important}
body.lang-en .gm-fi{display:none!important}
body.lang-en .gm-en,
body:not(.lang-en) .gm-fi,
body.lang-fi .gm-fi{display:inline!important}

.gmk-sol-header{
  position:sticky;
  top:0;
  z-index:999;
  background:rgba(255,248,232,.88);
  backdrop-filter:blur(18px) saturate(140%);
  border-bottom:1px solid rgba(20,33,61,.1);
}

.admin-bar .gmk-sol-header{top:32px}

.gmk-sol-header-inner{
  width:min(var(--sol-max),calc(100% - 32px));
  margin:0 auto;
  min-height:84px;
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:22px;
}

.gmk-sol-brand img{
  display:block;
  height:58px;
  width:auto;
  max-width:180px;
  object-fit:contain;
}

.gmk-sol-nav{
  justify-self:center;
  display:flex;
  align-items:center;
  gap:6px;
}

.gmk-sol-nav a{
  text-decoration:none!important;
  color:var(--sol-ink)!important;
  font-weight:900;
  padding:11px 13px;
  border-radius:999px;
  line-height:1;
  font-size:14px;
}

.gmk-sol-nav a:hover{
  background:var(--sol-white);
  color:var(--sol-red)!important;
  box-shadow:0 10px 26px rgba(20,33,61,.08);
}

.gmk-sol-actions{
  display:flex;
  align-items:center;
  gap:10px;
}

.gmk-sol-phone{
  background:var(--sol-red);
  color:#fff!important;
  text-decoration:none!important;
  font-weight:1000;
  padding:13px 16px;
  border-radius:999px;
  box-shadow:0 12px 26px rgba(232,85,46,.22);
  white-space:nowrap;
}

.gmk-sol-lang{
  background:#fff!important;
  border:1px solid var(--sol-line)!important;
  border-radius:999px!important;
  padding:4px!important;
  display:flex!important;
  gap:4px!important;
}

.gmk-sol-lang button{
  border:0!important;
  background:transparent!important;
  color:var(--sol-ink)!important;
  border-radius:999px!important;
  padding:8px 10px!important;
  font-weight:1000!important;
  cursor:pointer;
}

.gmk-sol-lang button.is-active{
  background:var(--sol-ink)!important;
  color:#fff!important;
}

.gmk-sol-social{
  display:flex;
  gap:8px;
  align-items:center;
}

.gmk-sol-social-link{
  width:38px;
  height:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:#fff;
  color:var(--sol-ink)!important;
  border:1px solid var(--sol-line);
  text-decoration:none!important;
}

.gmk-sol-social-link svg{
  width:19px;
  height:19px;
  display:block;
}

.gmk-sol-burger{
  display:none;
  width:46px;
  height:46px;
  border:0;
  border-radius:999px;
  background:var(--sol-ink);
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:6px;
  cursor:pointer;
}

.gmk-sol-burger span{
  width:19px;
  height:2px;
  background:#fff;
  display:block;
}

.gmk-sol-mobile{
  display:none;
  width:min(var(--sol-max),calc(100% - 32px));
  margin:0 auto 14px;
  padding:14px;
  border-radius:24px;
  background:#fff;
  box-shadow:var(--sol-shadow);
}

.gmk-sol-mobile.is-open{display:grid;gap:8px}

.gmk-sol-mobile a{
  color:var(--sol-ink)!important;
  text-decoration:none!important;
  font-weight:1000;
  padding:12px;
  border-radius:14px;
  background:var(--sol-paper);
}

.gmk-sol-page{
  overflow:hidden;
}

.gmk-sol-home{
  padding-bottom:70px;
}

.gmk-sol-hero{
  width:min(var(--sol-max),calc(100% - 32px));
  margin:0 auto;
  min-height:calc(100vh - 86px);
  display:grid;
  grid-template-columns:1fr 1.02fr;
  gap:48px;
  align-items:center;
  padding:54px 0 76px;
}

.gmk-sol-kicker,
.gmk-sol-section-title>span,
.gmk-sol-subhero>span,
.gmk-sol-formcopy>span{
  display:inline-flex;
  width:max-content;
  max-width:100%;
  background:var(--sol-mint);
  color:var(--sol-ink);
  border-radius:999px;
  padding:8px 12px;
  font-size:12px;
  font-weight:1000;
  text-transform:uppercase;
  letter-spacing:.065em;
  margin-bottom:20px;
}

.gmk-sol-hero h1{
  margin:0 0 24px;
  color:var(--sol-ink);
  font-size:clamp(56px,8.5vw,124px);
  line-height:.82;
  letter-spacing:-.09em;
  max-width:720px;
}

.gmk-sol-hero p{
  margin:0;
  color:var(--sol-soft);
  font-size:clamp(19px,1.8vw,25px);
  line-height:1.55;
  max-width:660px;
}

.gmk-sol-hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-top:34px;
}

.gmk-sol-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:54px;
  padding:15px 22px;
  border-radius:18px;
  text-decoration:none!important;
  font-weight:1000;
  transition:transform .16s ease, box-shadow .16s ease;
}

.gmk-sol-btn:hover{
  transform:translateY(-2px);
}

.gmk-sol-btn.primary{
  background:var(--sol-red);
  color:#fff!important;
  box-shadow:0 18px 40px rgba(232,85,46,.22);
}

.gmk-sol-btn.light{
  background:#fff;
  color:var(--sol-ink)!important;
  border:1px solid var(--sol-line);
}

.gmk-sol-btn.dark{
  background:var(--sol-ink);
  color:#fff!important;
}

.gmk-sol-hero-art{
  position:relative;
  min-height:650px;
}

.gmk-sol-image-stack{
  position:relative;
  min-height:650px;
}

.gmk-sol-image-stack figure{
  position:absolute;
  margin:0;
  overflow:hidden;
  background:#fff;
  border:10px solid #fff;
  box-shadow:var(--sol-shadow);
}

.gmk-sol-image-stack img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.gmk-sol-image-stack .slot-1{
  inset:4% 10% 12% 8%;
  border-radius:44px;
  transform:rotate(-2deg);
  background:var(--sol-mint);
}

.gmk-sol-image-stack .slot-2{
  width:38%;
  height:34%;
  right:0;
  top:0;
  border-radius:32px;
  transform:rotate(7deg);
  background:var(--sol-yellow);
}

.gmk-sol-image-stack .slot-3{
  width:40%;
  height:32%;
  left:0;
  bottom:0;
  border-radius:32px;
  transform:rotate(4deg);
  background:var(--sol-red);
}

.gmk-sol-open-ticket{
  position:absolute;
  right:16px;
  bottom:36px;
  max-width:330px;
  border-radius:28px;
  padding:22px;
  background:var(--sol-ink);
  color:#fff;
  box-shadow:0 22px 50px rgba(20,33,61,.28);
}

.gmk-sol-open-ticket b{
  display:block;
  font-size:24px;
  letter-spacing:-.04em;
  margin-bottom:10px;
}

.gmk-sol-open-ticket span{
  color:#fff!important;
}

.gmk-sol-hours-list{
  display:grid;
  gap:6px;
  font-weight:900;
}

.gmk-sol-choice{
  width:min(var(--sol-max),calc(100% - 32px));
  margin:-34px auto 86px;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
  position:relative;
  z-index:3;
}

.gmk-sol-choice a{
  min-height:170px;
  background:#fff;
  color:var(--sol-ink)!important;
  text-decoration:none!important;
  border-radius:28px;
  padding:24px;
  box-shadow:0 18px 50px rgba(20,33,61,.10);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}

.gmk-sol-choice a:nth-child(2){
  background:var(--sol-yellow);
}

.gmk-sol-choice a:nth-child(3){
  background:var(--sol-mint);
}

.gmk-sol-choice a:nth-child(4){
  background:var(--sol-ink);
  color:#fff!important;
}

.gmk-sol-choice small{
  color:var(--sol-red);
  font-weight:1000;
}

.gmk-sol-choice a:nth-child(4) small,
.gmk-sol-choice a:nth-child(4) span{
  color:#fff!important;
}

.gmk-sol-choice b{
  display:block;
  font-size:30px;
  line-height:.95;
  letter-spacing:-.055em;
}

.gmk-sol-story,
.gmk-sol-menu-preview,
.gmk-sol-events,
.gmk-sol-subhero,
.gmk-sol-menu-full,
.gmk-sol-formpage,
.gmk-sol-contact-grid,
.gmk-sol-map,
.gmk-sol-legal article{
  width:min(var(--sol-max),calc(100% - 32px));
  margin-left:auto;
  margin-right:auto;
}

.gmk-sol-story{
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:44px;
  margin-bottom:92px;
}

.gmk-sol-section-title h2,
.gmk-sol-events h2,
.gmk-sol-subhero h1,
.gmk-sol-formcopy h1{
  margin:0;
  color:var(--sol-ink);
  font-size:clamp(42px,6vw,86px);
  line-height:.88;
  letter-spacing:-.08em;
}

.gmk-sol-story p,
.gmk-sol-events p,
.gmk-sol-subhero p,
.gmk-sol-formcopy p{
  margin:0;
  color:var(--sol-soft);
  font-size:clamp(18px,1.55vw,24px);
  line-height:1.6;
}

.gmk-sol-menu-preview{
  margin-bottom:92px;
}

.gmk-sol-section-title.centered{
  max-width:820px;
  margin:0 auto 34px;
  text-align:center;
}

.gmk-sol-section-title.centered span{
  margin-left:auto;
  margin-right:auto;
}

.gmk-sol-preview .gmk-section,
.gmk-sol-preview .gmk-wrap,
.gmk-sol-preview .gmk-home-menu{
  margin:0!important;
  padding:0!important;
  background:transparent!important;
}

.gmk-sol-preview .gmk-category-cards,
.gmk-category-cards{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:14px!important;
}

.gmk-sol-preview .gmk-category-cards>div,
.gmk-category-cards>div{
  min-height:220px;
  border-radius:30px!important;
  border:0!important;
  padding:24px!important;
  box-shadow:none!important;
  background:var(--sol-ink)!important;
  color:#fff!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:space-between!important;
}

.gmk-sol-preview .gmk-category-cards>div:nth-child(3n+2),
.gmk-category-cards>div:nth-child(3n+2){
  background:var(--sol-red)!important;
}

.gmk-sol-preview .gmk-category-cards>div:nth-child(3n+3),
.gmk-category-cards>div:nth-child(3n+3){
  background:var(--sol-yellow)!important;
  color:var(--sol-ink)!important;
}

.gmk-sol-preview .gmk-category-cards>div:nth-child(3n+3) b,
.gmk-sol-preview .gmk-category-cards>div:nth-child(3n+3) span,
.gmk-category-cards>div:nth-child(3n+3) b,
.gmk-category-cards>div:nth-child(3n+3) span{
  color:var(--sol-ink)!important;
}

.gmk-category-cards b{
  color:#fff!important;
  font-size:26px!important;
  line-height:1!important;
  letter-spacing:-.045em!important;
}

.gmk-category-cards span{
  color:rgba(255,255,255,.78)!important;
}

.gmk-sol-events{
  border-radius:42px;
  padding:48px;
  background:linear-gradient(135deg,var(--sol-mint),#fff);
  display:grid;
  grid-template-columns:1fr .8fr;
  gap:34px;
  align-items:center;
  margin-bottom:80px;
}

.gmk-sol-cake-card{
  background:#fff;
  border-radius:30px;
  padding:28px;
  box-shadow:0 16px 44px rgba(20,33,61,.10);
}

.gmk-sol-cake-card b{
  display:block;
  font-size:34px;
  line-height:.95;
  letter-spacing:-.055em;
  color:var(--sol-ink);
  margin-bottom:14px;
}

.gmk-sol-subpage,
.gmk-sol-contact,
.gmk-sol-legal{
  padding:64px 0 80px;
}

.gmk-sol-subhero{
  padding:22px 0 38px;
  max-width:920px;
}

.gmk-sol-menu-full{
  background:#fff;
  border-radius:36px;
  padding:28px;
  box-shadow:var(--sol-shadow);
}

.gmk-sol-menu-full .gmk-menu-section{
  border-radius:28px!important;
  overflow:hidden!important;
  border:0!important;
  background:#f9f1e2!important;
  box-shadow:none!important;
}

.gmk-sol-menu-full .gmk-menu-section-head{
  border-radius:0!important;
  background:var(--sol-ink)!important;
  color:#fff!important;
  box-shadow:none!important;
  border:0!important;
  padding:22px 26px!important;
}

.gmk-sol-menu-full .gmk-menu-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:16px!important;
  padding:20px!important;
}

.gmk-sol-menu-full .gmk-dish-card{
  border-radius:24px!important;
  border:0!important;
  background:#fff!important;
  box-shadow:none!important;
}

.gmk-sol-formpage{
  padding:72px 0;
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:36px;
}

.gmk-sol-formbox,
.gmk-sol-contact-grid>div,
.gmk-sol-legal article{
  background:#fff;
  border-radius:34px;
  padding:30px;
  box-shadow:var(--sol-shadow);
}

.gmk-sol-formnotes{
  display:grid;
  gap:14px;
  margin-top:26px;
}

.gmk-sol-formnotes>div{
  padding:20px;
  border-radius:24px;
  background:var(--sol-mint);
}

.gmk-sol-formnotes b{
  display:block;
  color:var(--sol-ink);
  margin-bottom:8px;
}

.gmk-sol-formbox .gmk-form-card,
.gmk-sol-formbox .gmk-panel,
.gmk-sol-formbox .gmk-public-form{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  padding:0!important;
}

.gmk-sol-formbox input,
.gmk-sol-formbox textarea,
.gmk-sol-formbox select,
body .gmk-sol-page input,
body .gmk-sol-page textarea,
body .gmk-sol-page select{
  background:#fff!important;
  color:var(--sol-ink)!important;
  border:1px solid var(--sol-line)!important;
  border-radius:16px!important;
  padding:13px!important;
}

.gmk-sol-formbox button,
.gmk-sol-formbox input[type="submit"],
body .gmk-sol-page button,
body .gmk-sol-page input[type="submit"]{
  background:var(--sol-red)!important;
  color:#fff!important;
  border:0!important;
  border-radius:16px!important;
  font-weight:1000!important;
}

.gmk-sol-contact-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
  margin-bottom:28px;
}

.gmk-sol-contact-grid>div{
  min-height:170px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}

.gmk-sol-contact-grid b{
  color:var(--sol-red);
  text-transform:uppercase;
  font-size:12px;
  letter-spacing:.07em;
}

.gmk-sol-contact-grid a{
  color:var(--sol-ink)!important;
  text-decoration:none!important;
  font-size:21px;
  font-weight:1000;
  line-height:1.1;
}

.gmk-sol-map{
  border-radius:34px;
  overflow:hidden;
  box-shadow:var(--sol-shadow);
}

.gmk-sol-map iframe{
  width:100%;
  min-height:420px;
  border:0;
  display:block;
}

.gmk-sol-legal article{
  color:var(--sol-soft);
  line-height:1.7;
}

.gmk-sol-footer{
  background:var(--sol-ink);
  color:#fff;
  overflow:hidden;
}

.gmk-sol-footer-wave{
  white-space:nowrap;
  font-size:clamp(38px,8vw,110px);
  font-weight:1000;
  letter-spacing:-.08em;
  color:rgba(255,255,255,.08);
  padding:24px 0;
  transform:translateX(-3vw);
}

.gmk-sol-footer-grid{
  width:min(var(--sol-max),calc(100% - 32px));
  margin:0 auto;
  padding:34px 0 54px;
  display:grid;
  grid-template-columns:1.2fr repeat(3,1fr);
  gap:34px;
}

.gmk-sol-footer img{
  max-width:95px;
  height:auto;
  margin-bottom:16px;
}

.gmk-sol-footer h2,
.gmk-sol-footer b{
  color:#fff;
}

.gmk-sol-footer a,
.gmk-sol-footer p,
.gmk-sol-footer span{
  color:rgba(255,255,255,.78)!important;
  text-decoration:none!important;
}

.gmk-sol-footer section{
  display:grid;
  gap:10px;
  align-content:start;
}

.gmk-cookie{
  background:#fff!important;
  color:var(--sol-ink)!important;
  border:1px solid var(--sol-line)!important;
  box-shadow:var(--sol-shadow)!important;
}

@media(max-width:1120px){
  .gmk-sol-nav{display:none}
  .gmk-sol-burger{display:flex}
  .gmk-sol-header-inner{grid-template-columns:auto 1fr}
  .gmk-sol-actions{justify-content:end}
  .gmk-sol-hero,
  .gmk-sol-story,
  .gmk-sol-events,
  .gmk-sol-formpage{
    grid-template-columns:1fr;
  }
  .gmk-sol-choice,
  .gmk-sol-preview .gmk-category-cards,
  .gmk-category-cards,
  .gmk-sol-contact-grid,
  .gmk-sol-footer-grid{
    grid-template-columns:repeat(2,1fr)!important;
  }
}

@media(max-width:700px){
  .admin-bar .gmk-sol-header{top:46px}
  .gmk-sol-header-inner{width:calc(100% - 22px)}
  .gmk-sol-phone,
  .gmk-sol-actions .gmk-sol-lang{display:none!important}
  .gmk-sol-brand img{height:48px}
  .gmk-sol-hero{
    width:calc(100% - 24px);
    padding-top:38px;
  }
  .gmk-sol-hero h1{font-size:52px}
  .gmk-sol-hero-art,
  .gmk-sol-image-stack{min-height:430px}
  .gmk-sol-open-ticket{
    left:14px;
    right:14px;
    bottom:14px;
    max-width:none;
  }
  .gmk-sol-choice,
  .gmk-sol-preview .gmk-category-cards,
  .gmk-category-cards,
  .gmk-sol-menu-full .gmk-menu-grid,
  .gmk-sol-contact-grid,
  .gmk-sol-footer-grid{
    grid-template-columns:1fr!important;
  }
  .gmk-sol-story,
  .gmk-sol-menu-preview,
  .gmk-sol-events,
  .gmk-sol-subhero,
  .gmk-sol-menu-full,
  .gmk-sol-formpage,
  .gmk-sol-contact-grid,
  .gmk-sol-map,
  .gmk-sol-legal article{
    width:calc(100% - 24px);
  }
  .gmk-sol-events,
  .gmk-sol-formbox,
  .gmk-sol-menu-full{
    padding:22px;
    border-radius:28px;
  }
}


/* ==========================================================
   Grilli Maku v5.1.0 - Solstice hardening
   Mobile header tools, flame-only animation, contrast fixes.
   ========================================================== */

.gmk-sol-logo-split{
  display:inline-flex;
  align-items:center;
  gap:10px;
  line-height:1;
}

.gmk-sol-logo-split img{
  display:block;
  height:auto;
}

.gmk-sol-flame-wrap{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:48px;
  height:48px;
  flex:0 0 48px;
}

.gmk-sol-flame-wrap:before,
.gmk-sol-flame-wrap:after{
  content:"";
  position:absolute;
  inset:7px;
  border-radius:999px;
  background:radial-gradient(circle, rgba(232,85,46,.42), rgba(255,200,87,.16) 45%, transparent 70%);
  filter:blur(8px);
  opacity:.75;
  transform-origin:center bottom;
  animation:gmkSolFlameGlow 1.35s ease-in-out infinite alternate;
}

.gmk-sol-flame-wrap:after{
  inset:12px;
  opacity:.35;
  animation-duration:.92s;
  animation-delay:.12s;
}

.gmk-sol-flame{
  position:relative;
  z-index:2;
  max-width:42px!important;
  max-height:42px!important;
  transform-origin:center bottom;
  animation:gmkSolFlameDance 1.08s ease-in-out infinite alternate;
}

.gmk-sol-wordmark{
  max-height:42px!important;
  max-width:128px!important;
  object-fit:contain;
}

.gmk-sol-footer .gmk-sol-logo-split{
  margin-bottom:16px;
}

.gmk-sol-footer .gmk-sol-wordmark{
  filter:brightness(0) invert(1);
}

@keyframes gmkSolFlameDance{
  0%{transform:translateY(0) rotate(-1.4deg) scaleX(.985) scaleY(1)}
  45%{transform:translateY(-1px) rotate(1.2deg) scaleX(1.025) scaleY(1.045)}
  100%{transform:translateY(0) rotate(-.5deg) scaleX(.995) scaleY(1.02)}
}

@keyframes gmkSolFlameGlow{
  0%{transform:scale(.94);opacity:.48}
  100%{transform:scale(1.13);opacity:.86}
}

@media (prefers-reduced-motion: reduce){
  .gmk-sol-flame,
  .gmk-sol-flame-wrap:before,
  .gmk-sol-flame-wrap:after{
    animation:none!important;
  }
}

.gmk-sol-mobile-tools{
  display:grid;
  grid-template-columns:1fr auto;
  gap:10px;
  align-items:center;
  margin-top:8px;
}

.gmk-sol-mobile .gmk-sol-phone.mobile{
  display:flex!important;
  min-height:46px;
  align-items:center;
  justify-content:center;
  background:var(--sol-red)!important;
  color:#fff!important;
  border-radius:16px!important;
  padding:12px 14px!important;
  font-weight:1000!important;
}

.gmk-sol-mobile .gmk-sol-lang{
  display:flex!important;
  justify-content:center;
}

.gmk-sol-mobile .gmk-sol-social-mobile{
  display:flex;
  margin-top:8px;
}

.gmk-sol-mobile .gmk-sol-social-link{
  background:var(--sol-paper);
}

.gmk-sol-formbox label,
.gmk-sol-page label{
  color:var(--sol-ink)!important;
  font-weight:850;
}

.gmk-sol-formbox input::placeholder,
.gmk-sol-formbox textarea::placeholder,
.gmk-sol-page input::placeholder,
.gmk-sol-page textarea::placeholder{
  color:rgba(20,33,61,.48)!important;
}

.gmk-sol-menu-full .gmk-dish-body h3,
.gmk-sol-page .gmk-dish-body h3{
  color:var(--sol-ink)!important;
}

.gmk-sol-menu-full .gmk-dish-body p,
.gmk-sol-page .gmk-dish-body p,
.gmk-sol-page .gmk-tags span{
  color:var(--sol-soft)!important;
}

.gmk-sol-footer .gmk-sol-social-link{
  background:rgba(255,255,255,.10);
  border-color:rgba(255,255,255,.16);
  color:#fff!important;
}

@media(max-width:700px){
  .gmk-sol-mobile-tools{
    grid-template-columns:1fr;
  }
  .gmk-sol-mobile .gmk-sol-lang{
    width:100%;
  }
  .gmk-sol-mobile .gmk-sol-lang button{
    flex:1;
  }
  .gmk-sol-flame-wrap{
    width:42px;
    height:42px;
    flex-basis:42px;
  }
  .gmk-sol-flame{
    max-width:36px!important;
    max-height:36px!important;
  }
  .gmk-sol-wordmark{
    max-width:112px!important;
    max-height:36px!important;
  }
}


/* ==========================================================
   Grilli Maku v5.2.0 - Solstice QA fixes
   Mobile menu, logo sizing, footer contrast, admin grouping.
   ========================================================== */

/* Header logo: no clipping, no forced tiny wordmark */
.gmk-sol-brand{
  min-width:0;
  overflow:visible;
}

.gmk-sol-brand .gmk-sol-logo-split{
  width:auto;
  max-width:none;
  overflow:visible;
  gap:12px;
}

.gmk-sol-brand .gmk-sol-flame-wrap{
  width:54px;
  height:54px;
  flex:0 0 54px;
  overflow:visible;
}

.gmk-sol-brand .gmk-sol-flame{
  max-width:48px!important;
  max-height:48px!important;
}

.gmk-sol-brand .gmk-sol-wordmark{
  width:150px!important;
  max-width:150px!important;
  height:auto!important;
  max-height:48px!important;
  object-fit:contain!important;
  object-position:left center!important;
  overflow:visible!important;
}

/* Proper burger icon state */
.gmk-sol-burger{
  position:relative;
  background:var(--sol-ink)!important;
  border:0!important;
  box-shadow:none!important;
}

.gmk-sol-burger span{
  transition:transform .18s ease, opacity .18s ease;
}

.gmk-sol-burger.is-open span:first-child{
  transform:translateY(4px) rotate(45deg);
}

.gmk-sol-burger.is-open span:last-child{
  transform:translateY(-4px) rotate(-45deg);
}

/* Mobile panel: force visible when open and make content usable */
.gmk-sol-mobile{
  position:absolute;
  left:16px;
  right:16px;
  top:calc(100% + 10px);
  width:auto!important;
  max-width:none!important;
  z-index:1001;
  overflow:visible;
  background:#fff!important;
  border:1px solid var(--sol-line)!important;
  box-shadow:0 24px 70px rgba(20,33,61,.18)!important;
}

.gmk-sol-mobile.is-open{
  display:grid!important;
  gap:10px!important;
}

.gmk-sol-mobile a{
  display:flex!important;
  align-items:center;
  justify-content:space-between;
  min-height:46px;
  color:var(--sol-ink)!important;
  background:var(--sol-paper)!important;
  border-radius:16px!important;
}

.gmk-sol-mobile-tools{
  display:grid!important;
  grid-template-columns:1fr auto;
  gap:10px;
  align-items:center;
}

.gmk-sol-mobile .gmk-sol-phone.mobile{
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
  background:var(--sol-red)!important;
  color:#fff!important;
}

.gmk-sol-mobile .gmk-sol-lang{
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
  min-width:136px;
}

.gmk-sol-mobile .gmk-sol-social{
  display:flex!important;
  gap:8px;
  margin-top:2px;
}

.gmk-sol-header{
  position:sticky;
}

.gmk-sol-header-inner{
  position:relative;
}

/* Footer contrast and mobile cleanup */
.gmk-sol-footer{
  background:#101827!important;
  color:#fff!important;
}

.gmk-sol-footer-wave{
  color:rgba(255,248,232,.16)!important;
}

.gmk-sol-footer h2,
.gmk-sol-footer b{
  color:#fff8e8!important;
}

.gmk-sol-footer p,
.gmk-sol-footer a,
.gmk-sol-footer span,
.gmk-sol-footer .gmk-sol-hours span{
  color:rgba(255,248,232,.92)!important;
}

.gmk-sol-footer .gmk-sol-social-link{
  background:rgba(255,248,232,.14)!important;
  color:#fff8e8!important;
  border-color:rgba(255,248,232,.24)!important;
}

/* Admin menu page grouping */
.gmk-studio-import-export-panel{
  margin-top:22px;
}

.gmk-studio-tool-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  align-items:stretch;
}

.gmk-studio-tool-grid form{
  background:#fff;
  border:1px solid #dcdcde;
  border-radius:14px;
  padding:14px;
}

/* Safer mobile hero/collage */
@media(max-width:700px){
  .gmk-sol-header-inner{
    min-height:72px!important;
    padding-top:8px!important;
    padding-bottom:8px!important;
  }

  .gmk-sol-brand .gmk-sol-logo-split{
    gap:8px;
  }

  .gmk-sol-brand .gmk-sol-flame-wrap{
    width:44px!important;
    height:44px!important;
    flex-basis:44px!important;
  }

  .gmk-sol-brand .gmk-sol-flame{
    max-width:38px!important;
    max-height:38px!important;
  }

  .gmk-sol-brand .gmk-sol-wordmark{
    width:138px!important;
    max-width:138px!important;
    max-height:42px!important;
  }

  .gmk-sol-burger{
    width:48px!important;
    height:48px!important;
  }

  .gmk-sol-mobile{
    left:12px;
    right:12px;
    top:calc(100% + 8px);
    padding:12px!important;
  }

  .gmk-sol-mobile-tools{
    grid-template-columns:1fr;
  }

  .gmk-sol-mobile .gmk-sol-lang{
    width:100%;
  }

  .gmk-sol-mobile .gmk-sol-lang button{
    flex:1;
  }

  .gmk-sol-hero-art,
  .gmk-sol-image-stack{
    min-height:330px!important;
  }

  .gmk-sol-image-stack figure{
    border-width:6px!important;
  }

  .gmk-sol-image-stack .slot-1{
    inset:0 5% 7% 5%!important;
    border-radius:28px!important;
    transform:rotate(-1deg)!important;
  }

  .gmk-sol-image-stack .slot-2,
  .gmk-sol-image-stack .slot-3{
    display:none!important;
  }

  .gmk-sol-open-ticket{
    position:relative!important;
    left:auto!important;
    right:auto!important;
    bottom:auto!important;
    margin:12px 0 0!important;
    max-width:none!important;
    border-radius:22px!important;
  }

  .gmk-sol-footer-wave{
    display:none!important;
  }

  .gmk-sol-footer-grid{
    padding-top:34px!important;
  }

  .gmk-studio-tool-grid{
    grid-template-columns:1fr!important;
  }
}


/* ==========================================================
   Grilli Maku v5.3.0 - Settings binding and toggle UI fixes
   ========================================================== */

.gmk-toggle{
  display:inline-flex;
  align-items:center;
  gap:10px;
  cursor:pointer;
  user-select:none;
}

.gmk-toggle input[type="checkbox"]{
  position:absolute;
  opacity:0;
  pointer-events:none;
}

.gmk-toggle-ui{
  width:56px;
  height:30px;
  border-radius:999px;
  background:#dcdcde;
  border:1px solid #c3c4c7;
  position:relative;
  transition:background .18s ease, border-color .18s ease;
}

.gmk-toggle-ui:before{
  content:"";
  position:absolute;
  width:24px;
  height:24px;
  top:2px;
  left:2px;
  border-radius:999px;
  background:#fff;
  box-shadow:0 2px 8px rgba(0,0,0,.18);
  transition:transform .18s ease;
}

.gmk-toggle input[type="checkbox"]:checked + .gmk-toggle-ui{
  background:#2271b1;
  border-color:#2271b1;
}

.gmk-toggle input[type="checkbox"]:checked + .gmk-toggle-ui:before{
  transform:translateX(26px);
}

.gmk-toggle-text{
  font-weight:700;
  color:#1d2327;
}

.gmk-toggle .on{display:none}
.gmk-toggle input[type="checkbox"]:checked ~ .gmk-toggle-text .on{display:inline}
.gmk-toggle input[type="checkbox"]:checked ~ .gmk-toggle-text .off{display:none}

.gmk-sol-footer-logo-img{
  max-width:120px!important;
  height:auto!important;
  object-fit:contain!important;
}

.gmk-sol-hours .gm-fi,
.gmk-sol-hours .gm-en,
.gmk-sol-hours-list .gm-fi,
.gmk-sol-hours-list .gm-en{
  display:grid!important;
  gap:6px;
}

body.lang-en .gmk-sol-hours .gm-fi,
body.lang-en .gmk-sol-hours-list .gm-fi,
body:not(.lang-en) .gmk-sol-hours .gm-en,
body:not(.lang-en) .gmk-sol-hours-list .gm-en,
body.lang-fi .gmk-sol-hours .gm-en,
body.lang-fi .gmk-sol-hours-list .gm-en{
  display:none!important;
}


/* ==========================================================
   Grilli Maku v5.4.0 - Full QA corrections from screenshots
   ========================================================== */

/* Header logo: flame + real text, no SVG wordmark cropping */
.gmk-sol-logo-split{
  display:inline-flex!important;
  align-items:center!important;
  gap:10px!important;
  overflow:visible!important;
  text-decoration:none!important;
}

.gmk-sol-textmark{
  display:grid!important;
  gap:0!important;
  line-height:.82!important;
  color:var(--sol-ink)!important;
  font-family:Impact, Haettenschweiler, "Arial Black", system-ui, sans-serif!important;
  font-size:24px!important;
  letter-spacing:-.06em!important;
  text-transform:uppercase!important;
}

.gmk-sol-textmark strong{
  display:block!important;
  color:inherit!important;
  font:inherit!important;
  line-height:inherit!important;
}

.gmk-sol-footer .gmk-sol-textmark{
  color:#fff8e8!important;
}

/* Opening hours must preserve actual rows */
body .gmk-sol-hours,
body .gmk-sol-hours-list{
  display:block!important;
}

body .gmk-sol-hours > .gm-fi,
body .gmk-sol-hours > .gm-en,
body .gmk-sol-hours-list > .gm-fi,
body .gmk-sol-hours-list > .gm-en{
  display:block!important;
  white-space:normal!important;
}

body .gmk-sol-hours > .gm-fi > span,
body .gmk-sol-hours > .gm-en > span,
body .gmk-sol-hours-list > .gm-fi > span,
body .gmk-sol-hours-list > .gm-en > span{
  display:block!important;
  white-space:nowrap!important;
  line-height:1.35!important;
  margin:0 0 4px!important;
}

/* Keep language switching correct while allowing the hour containers to be block */
body.lang-en .gmk-sol-hours > .gm-fi,
body.lang-en .gmk-sol-hours-list > .gm-fi,
body:not(.lang-en) .gmk-sol-hours > .gm-en,
body:not(.lang-en) .gmk-sol-hours-list > .gm-en,
body.lang-fi .gmk-sol-hours > .gm-en,
body.lang-fi .gmk-sol-hours-list > .gm-en{
  display:none!important;
}

/* Desktop header: no mobile menu button, show desktop social when enabled */
@media(min-width:1121px){
  .gmk-sol-burger{
    display:none!important;
  }
  .gmk-sol-mobile{
    display:none!important;
  }
  .gmk-sol-actions .gmk-sol-social-header{
    display:flex!important;
  }
}

/* Header social visibility */
.gmk-sol-actions .gmk-sol-social-header{
  align-items:center!important;
  gap:8px!important;
}

.gmk-sol-actions .gmk-sol-social-link{
  display:inline-flex!important;
}

/* Mobile header layout: social + language + burger in header, not inside dropdown */
@media(max-width:700px){
  .gmk-sol-header-inner{
    grid-template-columns:auto 1fr!important;
    gap:10px!important;
  }

  .gmk-sol-actions{
    display:flex!important;
    justify-content:flex-end!important;
    align-items:center!important;
    gap:8px!important;
    min-width:0!important;
  }

  .gmk-sol-actions .gmk-sol-social-header,
  .gmk-sol-actions .gmk-sol-social-mobile{
    display:flex!important;
    gap:7px!important;
  }

  .gmk-sol-actions .gmk-sol-social-link{
    width:42px!important;
    height:42px!important;
    background:#fff!important;
    border:1px solid var(--sol-line)!important;
  }

  .gmk-sol-actions .gmk-sol-lang{
    display:flex!important;
    width:auto!important;
    min-width:96px!important;
    padding:3px!important;
  }

  .gmk-sol-actions .gmk-sol-lang button{
    padding:7px 9px!important;
    font-size:12px!important;
  }

  .gmk-sol-phone{
    display:none!important;
  }

  .gmk-sol-mobile .gmk-sol-lang,
  .gmk-sol-mobile .gmk-sol-social{
    display:none!important;
  }

  .gmk-sol-textmark{
    font-size:22px!important;
  }
}

/* Better mobile collage: show more than one image and add motion */
.gmk-sol-image-stack figure{
  animation:gmkSolFloatCard 5.5s ease-in-out infinite alternate;
}

.gmk-sol-image-stack .slot-2{
  animation-delay:.55s;
}

.gmk-sol-image-stack .slot-3{
  animation-delay:1s;
}

@keyframes gmkSolFloatCard{
  from{transform:translateY(0) rotate(var(--gmk-rot, 0deg))}
  to{transform:translateY(-8px) rotate(var(--gmk-rot, 0deg))}
}

@media(max-width:700px){
  .gmk-sol-hero-art,
  .gmk-sol-image-stack{
    min-height:510px!important;
  }

  .gmk-sol-image-stack .slot-1{
    inset:0 0 104px 0!important;
    border-radius:30px!important;
    transform:rotate(-1deg)!important;
    --gmk-rot:-1deg;
  }

  .gmk-sol-image-stack .slot-2{
    display:block!important;
    width:42%!important;
    height:31%!important;
    right:4%!important;
    top:42%!important;
    border-radius:24px!important;
    transform:rotate(5deg)!important;
    --gmk-rot:5deg;
    z-index:3!important;
  }

  .gmk-sol-image-stack .slot-3{
    display:block!important;
    width:40%!important;
    height:28%!important;
    left:4%!important;
    bottom:76px!important;
    border-radius:24px!important;
    transform:rotate(-5deg)!important;
    --gmk-rot:-5deg;
    z-index:3!important;
  }

  .gmk-sol-open-ticket{
    position:absolute!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    margin:0!important;
    max-width:none!important;
    z-index:4!important;
  }
}

/* Admin toggles: real switch, no checkbox + OnOff mess */
.gmk-toggle{
  display:inline-flex!important;
  align-items:center!important;
  cursor:pointer!important;
  vertical-align:middle!important;
}

.gmk-toggle input[type="checkbox"]{
  position:absolute!important;
  opacity:0!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
  pointer-events:none!important;
}

.gmk-toggle-ui{
  width:78px!important;
  height:36px!important;
  border-radius:999px!important;
  background:#8c8f94!important;
  border:1px solid #7a7d82!important;
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
  box-sizing:border-box!important;
  transition:background .18s ease, border-color .18s ease!important;
}

.gmk-toggle-knob,
.gmk-toggle-ui:before{
  content:""!important;
  position:absolute!important;
  width:28px!important;
  height:28px!important;
  top:3px!important;
  left:3px!important;
  border-radius:999px!important;
  background:#fff!important;
  box-shadow:0 2px 7px rgba(0,0,0,.25)!important;
  transform:none!important;
  transition:transform .18s ease!important;
  z-index:2!important;
}

.gmk-toggle-ui:before{
  display:none!important;
}

.gmk-toggle input[type="checkbox"]:checked + .gmk-toggle-ui{
  background:#2271b1!important;
  border-color:#2271b1!important;
}

.gmk-toggle input[type="checkbox"]:checked + .gmk-toggle-ui .gmk-toggle-knob{
  transform:translateX(42px)!important;
}

.gmk-toggle-state{
  position:absolute!important;
  z-index:1!important;
  color:#fff!important;
  font-size:12px!important;
  font-weight:800!important;
  line-height:1!important;
  pointer-events:none!important;
}

.gmk-toggle-on{
  left:12px!important;
  display:none!important;
}

.gmk-toggle-off{
  right:10px!important;
  display:block!important;
}

.gmk-toggle input[type="checkbox"]:checked + .gmk-toggle-ui .gmk-toggle-on{
  display:block!important;
}

.gmk-toggle input[type="checkbox"]:checked + .gmk-toggle-ui .gmk-toggle-off{
  display:none!important;
}

.gmk-toggle-text{
  display:none!important;
}


/* ==========================================================
   Grilli Maku v5.5.0 - Form success, language-aware emails,
   and header responsiveness hardening
   ========================================================== */

/* Form success / saved message */
.gmk-form-result{
  display:grid!important;
  grid-template-columns:auto 1fr;
  gap:18px;
  align-items:start;
  padding:24px!important;
  border-radius:28px!important;
  margin:0 0 24px!important;
  box-shadow:0 18px 50px rgba(20,33,61,.12)!important;
}

.gmk-form-result.success{
  background:#e9f8ef!important;
  border:1px solid rgba(34,128,74,.22)!important;
  color:#14213D!important;
}

.gmk-form-result.warning{
  background:#fff3cd!important;
  border:1px solid rgba(180,125,0,.26)!important;
  color:#14213D!important;
}

.gmk-form-result-icon{
  width:48px;
  height:48px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:1000;
  background:#14213D;
  color:#fff;
  font-size:26px;
}

.gmk-form-result-copy h3{
  margin:0 0 10px!important;
  color:#14213D!important;
  font-size:clamp(24px,2.6vw,36px)!important;
  line-height:1!important;
  letter-spacing:-.04em!important;
}

.gmk-form-result-copy p{
  margin:0 0 10px!important;
  color:#58616D!important;
  font-size:17px!important;
  line-height:1.55!important;
}

.gmk-form-result-btn{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin-top:10px!important;
  min-height:46px!important;
  padding:12px 18px!important;
  border-radius:16px!important;
  background:#E8552E!important;
  color:#fff!important;
  font-weight:1000!important;
  text-decoration:none!important;
}

/* Header responsiveness: prevent overlap on all widths */
.gmk-sol-header{
  overflow:visible!important;
}

.gmk-sol-header-inner{
  max-width:100%!important;
  min-width:0!important;
}

.gmk-sol-brand{
  min-width:0!important;
  max-width:100%!important;
  overflow:hidden!important;
}

.gmk-sol-logo-split{
  max-width:100%!important;
}

.gmk-sol-actions{
  min-width:0!important;
}

.gmk-sol-actions > *{
  flex:0 0 auto;
}

.gmk-sol-nav{
  min-width:0!important;
}

.gmk-sol-nav a{
  white-space:nowrap!important;
}

/* Medium desktop/tablet: hide phone first, keep nav readable */
@media(max-width:1280px){
  .gmk-sol-phone{
    display:none!important;
  }
}

/* Tablet: hide social if space gets tight, keep language and burger */
@media(max-width:980px){
  .gmk-sol-nav{
    display:none!important;
  }
  .gmk-sol-burger{
    display:flex!important;
  }
  .gmk-sol-actions .gmk-sol-social-header{
    display:flex!important;
  }
}

/* Mobile: fit logo + optional social + language + burger without overlap */
@media(max-width:700px){
  .gmk-sol-header-inner{
    width:calc(100% - 18px)!important;
    grid-template-columns:minmax(108px,auto) minmax(0,1fr)!important;
    gap:6px!important;
    min-height:68px!important;
  }

  .gmk-sol-brand{
    max-width:132px!important;
  }

  .gmk-sol-logo-split{
    gap:6px!important;
  }

  .gmk-sol-brand .gmk-sol-flame-wrap{
    width:36px!important;
    height:36px!important;
    flex-basis:36px!important;
  }

  .gmk-sol-brand .gmk-sol-flame{
    max-width:33px!important;
    max-height:33px!important;
  }

  .gmk-sol-textmark{
    font-size:18px!important;
    letter-spacing:-.055em!important;
  }

  .gmk-sol-actions{
    gap:5px!important;
    justify-content:flex-end!important;
    overflow:visible!important;
  }

  .gmk-sol-actions .gmk-sol-social-header{
    gap:5px!important;
  }

  .gmk-sol-actions .gmk-sol-social-link{
    width:36px!important;
    height:36px!important;
    min-width:36px!important;
  }

  .gmk-sol-actions .gmk-sol-social-link svg{
    width:18px!important;
    height:18px!important;
  }

  .gmk-sol-actions .gmk-sol-lang{
    min-width:82px!important;
    max-width:86px!important;
    padding:2px!important;
  }

  .gmk-sol-actions .gmk-sol-lang button{
    padding:6px 7px!important;
    font-size:11px!important;
    min-width:36px!important;
  }

  .gmk-sol-burger{
    width:42px!important;
    height:42px!important;
    min-width:42px!important;
  }

  .gmk-sol-burger span{
    width:18px!important;
  }

  .gmk-form-result{
    grid-template-columns:1fr!important;
    padding:20px!important;
  }
}

/* Very narrow phones: social icons are moved into burger menu to prevent overlap */
@media(max-width:390px){
  .gmk-sol-actions .gmk-sol-social-header{
    display:none!important;
  }

  .gmk-sol-mobile .gmk-sol-social{
    display:flex!important;
    gap:8px!important;
  }

  .gmk-sol-mobile .gmk-sol-social-link{
    width:42px!important;
    height:42px!important;
  }

  .gmk-sol-brand{
    max-width:128px!important;
  }
}


/* v5.5.1 header overlap guard */
@media(max-width:520px){
  .gmk-sol-header-inner{
    grid-template-columns:auto 1fr!important;
    width:calc(100% - 18px)!important;
  }

  .gmk-sol-brand{
    max-width:96px!important;
    flex:0 1 96px!important;
  }

  .gmk-sol-logo-split{
    gap:5px!important;
  }

  .gmk-sol-textmark{
    font-size:16px!important;
  }

  .gmk-sol-actions{
    gap:5px!important;
  }

  .gmk-sol-actions .gmk-sol-social-link{
    width:34px!important;
    height:34px!important;
    min-width:34px!important;
  }

  .gmk-sol-actions .gmk-sol-lang{
    min-width:74px!important;
    max-width:78px!important;
  }

  .gmk-sol-actions .gmk-sol-lang button{
    min-width:31px!important;
    padding:5px 6px!important;
    font-size:10px!important;
  }

  .gmk-sol-burger{
    width:40px!important;
    height:40px!important;
    min-width:40px!important;
  }
}

@media(max-width:430px){
  .gmk-sol-brand{
    max-width:46px!important;
  }

  .gmk-sol-textmark{
    display:none!important;
  }

  .gmk-sol-actions .gmk-sol-social-header{
    display:flex!important;
  }
}

@media(max-width:360px){
  .gmk-sol-actions .gmk-sol-social-header{
    display:none!important;
  }

  .gmk-sol-mobile .gmk-sol-social{
    display:flex!important;
  }
}


/* ==========================================================
   Grilli Maku v5.6.0 - Deterministic header system
   Root fix: no mixed mobile priority rules.
   ========================================================== */

/* Desktop and large screens */
@media(min-width:1121px){
  .gmk-sol-header-inner{
    display:grid!important;
    grid-template-columns:auto minmax(0,1fr) auto!important;
    gap:22px!important;
    width:min(var(--sol-max),calc(100% - 32px))!important;
  }

  .gmk-sol-brand{
    max-width:none!important;
    overflow:visible!important;
  }

  .gmk-sol-brand .gmk-sol-logo-split{
    max-width:none!important;
  }

  .gmk-sol-textmark{
    display:grid!important;
    font-size:24px!important;
  }

  .gmk-sol-nav{
    display:flex!important;
  }

  .gmk-sol-actions .gmk-sol-social-header{
    display:flex!important;
  }

  .gmk-sol-phone{
    display:inline-flex!important;
  }

  .gmk-sol-actions .gmk-sol-lang{
    display:flex!important;
  }

  .gmk-sol-burger{
    display:none!important;
  }

  .gmk-sol-mobile{
    display:none!important;
  }
}

/* Tablet collapse: no overlap. Nav disappears, social can remain if there is room. */
@media(min-width:701px) and (max-width:1120px){
  .gmk-sol-header-inner{
    display:grid!important;
    grid-template-columns:auto minmax(0,1fr)!important;
    gap:14px!important;
    width:calc(100% - 28px)!important;
  }

  .gmk-sol-nav{
    display:none!important;
  }

  .gmk-sol-brand{
    max-width:220px!important;
    overflow:visible!important;
  }

  .gmk-sol-textmark{
    display:grid!important;
    font-size:23px!important;
  }

  .gmk-sol-actions{
    justify-content:flex-end!important;
    min-width:0!important;
    gap:8px!important;
  }

  .gmk-sol-actions .gmk-sol-social-header{
    display:flex!important;
  }

  .gmk-sol-phone{
    display:none!important;
  }

  .gmk-sol-actions .gmk-sol-lang{
    display:flex!important;
  }

  .gmk-sol-burger{
    display:flex!important;
  }
}

/* Mobile root rule: brand text ALWAYS wins. Social icons are in the opened menu, never in header. */
@media(max-width:700px){
  .gmk-sol-header-inner{
    display:grid!important;
    grid-template-columns:minmax(156px,auto) minmax(0,1fr)!important;
    gap:8px!important;
    width:calc(100% - 18px)!important;
    min-height:70px!important;
    align-items:center!important;
  }

  .gmk-sol-brand{
    max-width:170px!important;
    min-width:156px!important;
    overflow:visible!important;
  }

  .gmk-sol-logo-split{
    display:inline-flex!important;
    align-items:center!important;
    gap:7px!important;
    max-width:none!important;
    overflow:visible!important;
  }

  .gmk-sol-brand .gmk-sol-flame-wrap{
    width:38px!important;
    height:38px!important;
    flex:0 0 38px!important;
  }

  .gmk-sol-brand .gmk-sol-flame{
    max-width:35px!important;
    max-height:35px!important;
  }

  .gmk-sol-textmark{
    display:grid!important;
    font-size:18px!important;
    line-height:.84!important;
    letter-spacing:-.055em!important;
    color:var(--sol-ink)!important;
  }

  .gmk-sol-actions{
    display:flex!important;
    justify-content:flex-end!important;
    align-items:center!important;
    gap:7px!important;
    min-width:0!important;
    overflow:visible!important;
  }

  .gmk-sol-actions .gmk-sol-social-header{
    display:none!important;
  }

  .gmk-sol-phone{
    display:none!important;
  }

  .gmk-sol-actions .gmk-sol-lang{
    display:flex!important;
    min-width:92px!important;
    max-width:96px!important;
    padding:2px!important;
    flex:0 0 auto!important;
  }

  .gmk-sol-actions .gmk-sol-lang button{
    min-width:40px!important;
    padding:6px 7px!important;
    font-size:11px!important;
  }

  .gmk-sol-burger{
    display:flex!important;
    width:42px!important;
    height:42px!important;
    min-width:42px!important;
    flex:0 0 42px!important;
  }

  .gmk-sol-mobile{
    left:12px!important;
    right:12px!important;
    top:calc(100% + 8px)!important;
    width:auto!important;
    max-width:none!important;
    z-index:1001!important;
  }

  .gmk-sol-mobile-tools{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
  }

  .gmk-sol-mobile .gmk-sol-social-mobile{
    display:flex!important;
    gap:8px!important;
    justify-content:flex-start!important;
  }

  .gmk-sol-mobile .gmk-sol-social-link{
    display:inline-flex!important;
    width:42px!important;
    height:42px!important;
    background:var(--sol-paper)!important;
    border:1px solid var(--sol-line)!important;
    color:var(--sol-ink)!important;
  }
}

/* Very narrow phones still keep GRILLI MAKU visible. Do not hide textmark. */
@media(max-width:390px){
  .gmk-sol-header-inner{
    grid-template-columns:minmax(142px,auto) minmax(0,1fr)!important;
    gap:6px!important;
    width:calc(100% - 14px)!important;
  }

  .gmk-sol-brand{
    max-width:150px!important;
    min-width:142px!important;
  }

  .gmk-sol-textmark{
    display:grid!important;
    font-size:16px!important;
  }

  .gmk-sol-brand .gmk-sol-flame-wrap{
    width:34px!important;
    height:34px!important;
    flex-basis:34px!important;
  }

  .gmk-sol-brand .gmk-sol-flame{
    max-width:31px!important;
    max-height:31px!important;
  }

  .gmk-sol-actions{
    gap:5px!important;
  }

  .gmk-sol-actions .gmk-sol-lang{
    min-width:78px!important;
    max-width:80px!important;
  }

  .gmk-sol-actions .gmk-sol-lang button{
    min-width:33px!important;
    padding:5px 5px!important;
    font-size:10px!important;
  }

  .gmk-sol-burger{
    width:38px!important;
    height:38px!important;
    min-width:38px!important;
  }
}


/* ==========================================================
   Grilli Maku v5.7.0 - Legal pages, footer links and cookie notice
   ========================================================== */

.gmk-sol-footer-legal-sep{
  width:42px;
  height:1px;
  background:rgba(255,248,232,.35);
  display:block!important;
  margin:8px 0 2px;
}

.gmk-sol-legal article{
  max-width:920px;
  font-size:17px;
  line-height:1.75;
}

.gmk-sol-legal article p{
  margin:0 0 16px;
  color:var(--sol-soft);
}

.gmk-cookie{
  position:fixed!important;
  left:18px!important;
  right:18px!important;
  bottom:18px!important;
  z-index:100000!important;
  max-width:980px!important;
  margin:auto!important;
  background:#fff!important;
  border:1px solid rgba(20,33,61,.14)!important;
  border-radius:22px!important;
  box-shadow:0 24px 70px rgba(20,33,61,.18)!important;
  padding:16px!important;
  display:none!important;
  align-items:center!important;
  gap:14px!important;
}

.gmk-cookie.show{
  display:flex!important;
}

.gmk-cookie p{
  margin:0!important;
  flex:1!important;
  color:#14213D!important;
  font-size:14px!important;
  line-height:1.55!important;
}

.gmk-cookie-link{
  color:#14213D!important;
  font-weight:900!important;
  text-decoration:underline!important;
  white-space:nowrap!important;
}

.gmk-cookie button,
.gmk-cookie-ok{
  background:#E8552E!important;
  color:#fff!important;
  border:0!important;
  border-radius:14px!important;
  padding:11px 18px!important;
  font-weight:1000!important;
  cursor:pointer!important;
}

@media(max-width:700px){
  .gmk-cookie{
    display:none!important;
    flex-direction:column!important;
    align-items:stretch!important;
    text-align:left!important;
  }
  .gmk-cookie.show{
    display:flex!important;
  }
  .gmk-cookie-link,
  .gmk-cookie button{
    width:100%!important;
    text-align:center!important;
    justify-content:center!important;
  }
}


/* ==========================================================
   Grilli Maku v5.8.0 - Special Occasion Cakes page
   ========================================================== */

.gmk-sol-cakes-page{
  padding:64px 0 90px;
}

.gmk-sol-cakes-hero,
.gmk-sol-cakes-info{
  width:min(var(--sol-max),calc(100% - 32px));
  margin-left:auto;
  margin-right:auto;
}

.gmk-sol-cakes-hero{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:44px;
  align-items:center;
  margin-bottom:80px;
}

.gmk-sol-cakes-copy h1{
  margin:0 0 22px;
  color:var(--sol-ink);
  font-size:clamp(48px,7vw,104px);
  line-height:.84;
  letter-spacing:-.09em;
}

.gmk-sol-cakes-copy p{
  margin:0 0 28px;
  color:var(--sol-soft);
  font-size:clamp(18px,1.6vw,24px);
  line-height:1.6;
}

.gmk-sol-cakes-gallery{
  min-height:620px;
  position:relative;
}

.gmk-sol-cakes-gallery figure{
  position:absolute;
  margin:0;
  overflow:hidden;
  border:9px solid #fff;
  border-radius:34px;
  box-shadow:0 24px 70px rgba(20,33,61,.14);
  background:#fff8e8;
}

.gmk-sol-cakes-gallery img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.gmk-sol-cakes-gallery .cake-1{left:8%;top:0;width:72%;height:46%;transform:rotate(-2deg)}
.gmk-sol-cakes-gallery .cake-2{right:0;top:26%;width:46%;height:34%;transform:rotate(5deg)}
.gmk-sol-cakes-gallery .cake-3{left:0;bottom:4%;width:54%;height:38%;transform:rotate(-5deg)}
.gmk-sol-cakes-gallery .cake-4{right:8%;bottom:0;width:38%;height:26%;transform:rotate(3deg)}
.gmk-sol-cakes-gallery .cake-5{left:42%;top:50%;width:32%;height:24%;transform:rotate(2deg)}
.gmk-sol-cakes-gallery .cake-6{display:none}

.gmk-sol-cakes-info{
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:34px;
  background:linear-gradient(135deg,var(--sol-mint),#fff);
  border-radius:42px;
  padding:44px;
}

.gmk-sol-cakes-info h2{
  margin:0 0 16px;
  color:var(--sol-ink);
  font-size:clamp(36px,4.4vw,68px);
  line-height:.9;
  letter-spacing:-.07em;
}

.gmk-sol-cakes-info p{
  margin:0;
  color:var(--sol-soft);
  font-size:19px;
  line-height:1.65;
}

.gmk-sol-cakes-steps{
  display:grid;
  gap:14px;
}

.gmk-sol-cakes-steps div{
  background:#fff;
  border-radius:24px;
  padding:20px;
  display:grid;
  gap:8px;
  box-shadow:0 16px 40px rgba(20,33,61,.08);
}

.gmk-sol-cakes-steps b{
  color:var(--sol-red);
  font-size:13px;
  letter-spacing:.08em;
}

.gmk-sol-cakes-steps span{
  color:var(--sol-ink);
  font-weight:850;
}

@media(max-width:900px){
  .gmk-sol-cakes-hero,
  .gmk-sol-cakes-info{
    grid-template-columns:1fr;
  }

  .gmk-sol-cakes-gallery{
    min-height:460px;
  }
}

@media(max-width:700px){
  .gmk-sol-cakes-page{
    padding-top:42px;
  }

  .gmk-sol-cakes-hero,
  .gmk-sol-cakes-info{
    width:calc(100% - 24px);
  }

  .gmk-sol-cakes-gallery{
    min-height:390px;
  }

  .gmk-sol-cakes-gallery figure{
    border-width:6px;
    border-radius:26px;
  }

  .gmk-sol-cakes-gallery .cake-1{left:0;right:0;top:0;width:100%;height:62%;transform:rotate(-1deg)}
  .gmk-sol-cakes-gallery .cake-2{right:0;top:50%;width:52%;height:36%;transform:rotate(4deg)}
  .gmk-sol-cakes-gallery .cake-3{left:0;bottom:0;width:52%;height:34%;transform:rotate(-4deg)}
  .gmk-sol-cakes-gallery .cake-4,
  .gmk-sol-cakes-gallery .cake-5{display:none}

  .gmk-sol-cakes-info{
    padding:24px;
    border-radius:30px;
  }
}


/* ==========================================================
   Grilli Maku v5.9.0 - Cake gallery admin uploader/editor
   ========================================================== */

.gmk-sol-cakes-gallery.is-empty{
  min-height:460px;
  display:flex;
  align-items:center;
  justify-content:center;
}

.gmk-sol-cakes-placeholder{
  background:#fff;
  border:2px dashed rgba(20,33,61,.24);
  border-radius:34px;
  padding:34px;
  max-width:520px;
  box-shadow:0 18px 50px rgba(20,33,61,.10);
}

.gmk-sol-cakes-placeholder b{
  display:block;
  color:var(--sol-ink);
  font-size:clamp(30px,3.5vw,48px);
  line-height:.95;
  letter-spacing:-.06em;
  margin-bottom:14px;
}

.gmk-sol-cakes-placeholder p{
  color:var(--sol-soft);
  font-size:18px;
  line-height:1.55;
  margin:0;
}


/* ==========================================================
   Grilli Maku v6.9.0 - Legal pages and live editor restore
   ========================================================== */

.gmk-sol-legal article{
  background:#fff;
  border:1px solid rgba(20,33,61,.08);
  border-radius:30px;
  padding:clamp(24px,4vw,48px);
  box-shadow:0 18px 50px rgba(20,33,61,.08);
}

.gmk-sol-legal article p{
  color:#3f4854;
  font-size:17px;
  line-height:1.75;
  margin:0 0 18px;
}

.gmk-sol-legal .gmk-sol-subhero h1{
  max-width:960px;
}


/* ==========================================================
   Grilli Maku v7.0.0 - Structured legal pages and mobile sticky header
   ========================================================== */

.gmk-legal-hero{
  width:min(var(--sol-max),calc(100% - 32px));
  margin-left:auto;
  margin-right:auto;
}

.gmk-legal-hero p{
  max-width:760px;
  color:var(--sol-soft);
  font-size:clamp(18px,2vw,24px);
  line-height:1.55;
}

.gmk-legal-card{
  width:min(980px,calc(100% - 32px));
  margin:0 auto 90px;
  background:#fff;
  border:1px solid rgba(20,33,61,.08);
  border-radius:34px;
  padding:clamp(24px,4vw,52px);
  box-shadow:0 18px 55px rgba(20,33,61,.08);
}

.gmk-legal-card h2{
  color:var(--sol-ink);
  font-size:clamp(24px,2.4vw,36px);
  line-height:1.05;
  letter-spacing:-.04em;
  margin:0 0 16px;
}

.gmk-legal-section{
  padding:28px 0;
  border-top:1px solid rgba(20,33,61,.1);
}

.gmk-legal-section:first-of-type{
  border-top:0;
}

.gmk-legal-section p{
  color:#3f4854;
  font-size:17px;
  line-height:1.75;
  margin:0 0 16px;
}

.gmk-legal-summary{
  background:linear-gradient(135deg,#fff8e8,#f7f3ea);
  border:1px solid rgba(20,33,61,.08);
  border-radius:26px;
  padding:24px;
  margin-bottom:26px;
}

.gmk-legal-summary-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}

.gmk-legal-summary-grid div{
  background:#fff;
  border-radius:18px;
  padding:16px;
  box-shadow:0 10px 24px rgba(20,33,61,.06);
}

.gmk-legal-summary-grid b{
  display:block;
  color:var(--sol-red);
  font-size:13px;
  text-transform:uppercase;
  letter-spacing:.06em;
  margin-bottom:8px;
}

.gmk-legal-summary-grid span{
  color:var(--sol-ink);
  font-weight:750;
  line-height:1.35;
}

.gmk-legal-list{
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  gap:10px;
}

.gmk-legal-list li{
  background:#f7f3ea;
  border-radius:18px;
  padding:14px 16px;
  color:#3f4854;
  font-size:16px;
  line-height:1.55;
}

.gmk-legal-table-wrap{
  overflow-x:auto;
  border:1px solid rgba(20,33,61,.1);
  border-radius:20px;
}

.gmk-legal-table{
  width:100%;
  border-collapse:collapse;
  min-width:620px;
  background:#fff;
}

.gmk-legal-table th,
.gmk-legal-table td{
  padding:15px 16px;
  text-align:left;
  vertical-align:top;
  border-bottom:1px solid rgba(20,33,61,.08);
  color:#3f4854;
  line-height:1.5;
}

.gmk-legal-table th{
  color:var(--sol-ink);
  font-weight:950;
  background:#f7f3ea;
}

.gmk-legal-table tr:last-child td{
  border-bottom:0;
}

.gmk-legal-contact-box{
  background:var(--sol-ink);
  color:#fff;
  border-radius:26px;
  padding:26px;
  margin-top:26px;
}

.gmk-legal-contact-box h2{
  color:#fff;
}

.gmk-legal-contact-box dl{
  margin:0;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}

.gmk-legal-contact-box div{
  background:rgba(255,255,255,.08);
  border-radius:18px;
  padding:14px;
}

.gmk-legal-contact-box dt{
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.06em;
  color:rgba(255,255,255,.68);
  margin-bottom:5px;
}

.gmk-legal-contact-box dd{
  margin:0;
  color:#fff;
  font-weight:800;
}

/* Real mobile sticky behavior: fixed header with reserved body space */
@media(max-width:700px){
  body{
    padding-top:72px!important;
  }

  body.admin-bar{
    padding-top:118px!important;
  }

  .gmk-sol-header{
    position:fixed!important;
    top:0!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    z-index:100000!important;
    transform:none!important;
    will-change:auto!important;
  }

  body.admin-bar .gmk-sol-header{
    top:46px!important;
  }

  .gmk-sol-mobile{
    position:fixed!important;
    top:78px!important;
    left:12px!important;
    right:12px!important;
    max-height:calc(100vh - 94px)!important;
    overflow:auto!important;
    z-index:100001!important;
  }

  body.admin-bar .gmk-sol-mobile{
    top:124px!important;
    max-height:calc(100vh - 140px)!important;
  }

  .gmk-legal-card{
    width:calc(100% - 24px);
    padding:22px;
    border-radius:26px;
  }

  .gmk-legal-summary-grid,
  .gmk-legal-contact-box dl{
    grid-template-columns:1fr;
  }
}


/* ==========================================================
   Grilli Maku v7.1.0 - Third homepage hero button for cakes
   ========================================================== */

.gmk-sol-hero-actions{
  flex-wrap:wrap;
}

.gmk-sol-btn.cakes{
  background:#fff8e8!important;
  color:var(--sol-ink)!important;
  border:1px solid rgba(20,33,61,.12)!important;
  box-shadow:0 12px 26px rgba(20,33,61,.08);
}

.gmk-sol-btn.cakes:hover{
  background:#b8e6cf!important;
  color:var(--sol-ink)!important;
}

@media(max-width:700px){
  .gmk-sol-hero-actions{
    display:grid!important;
    grid-template-columns:1fr 1fr;
    gap:12px;
  }

  .gmk-sol-hero-actions .gmk-sol-btn{
    width:100%;
    justify-content:center;
    text-align:center;
  }

  .gmk-sol-hero-actions .gmk-sol-btn.cakes{
    grid-column:1 / -1;
  }
}
