
/* Restaurant links must have real height, even before reveal animations run. */
.mini a{min-height:220px}
@media(max-width:900px){
.mini{display:grid!important;grid-template-columns:minmax(0,1fr);grid-auto-rows:220px;height:auto!important;gap:16px}
.mini a{display:block;flex:none!important;height:220px!important;min-height:220px;opacity:1!important;transform:none!important;animation:none!important}
#app>div{font-weight:400!important}
.bd{font-family:'Newsreader',Georgia,serif!important;font-weight:400!important;font-variation-settings:normal!important;font-optical-sizing:auto}
.nr,.cg{font-weight:400!important}
#meny .bd{font-weight:500!important}
#meny [data-swap] span{line-height:1.35!important}
#om .collage{height:clamp(350px,105vw,480px)!important}
#om .collage>figure:nth-child(3){bottom:auto!important;top:clamp(205px,61vw,280px)!important;left:30%!important}
}
/* Keep functional content readable quickly, retain the hero panel and photo motion. */
.rv.in{animation-duration:.45s!important;animation-delay:calc(var(--d,0)*35ms)!important}
.hi{animation-duration:.55s!important;animation-delay:calc(.08s + var(--d,0)*55ms)!important}
@keyframes hiUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes rvUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes rvMask{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes rvPol{from{opacity:0;transform:translateY(24px) scale(.98)}to{opacity:1;transform:none}}
#basic-content{max-width:1000px;margin:auto;padding:48px 24px;color:#F7F1E8;font:18px/1.6 'Jost',sans-serif}
#basic-content a{display:inline-block;margin:6px 16px 6px 0;text-decoration:underline}
@media(prefers-reduced-motion:reduce){.rv.in,.hi{animation:none!important}}
/* Keep the complete category selector on one line. */
[role="tablist"][aria-label="Menykategori"]{flex-wrap:nowrap!important;max-width:100%;min-width:0;overflow-x:auto;overflow-y:hidden;box-sizing:border-box;scroll-padding-inline:8px;overscroll-behavior-x:contain}
[role="tablist"][aria-label="Menykategori"]>button{flex:0 0 auto;white-space:nowrap}
@media(max-width:900px){
[role="tablist"][aria-label="Menykategori"]{gap:0!important;width:100%}
[role="tablist"][aria-label="Menykategori"]>button{font-size:13px!important;padding-left:8px!important;padding-right:8px!important}
}
@media(max-width:900px){
#lunch .stub{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto;align-items:center!important;justify-content:space-between!important;column-gap:clamp(12px,3vw,24px)!important;padding:24px clamp(16px,4vw,24px)!important;text-align:left!important}
#lunch .stub>span:first-child{font-size:clamp(28px,8.2vw,42px)!important;white-space:nowrap;line-height:1.1!important}
#lunch .stub>span:nth-child(2){text-align:left;justify-self:center;white-space:nowrap;font-size:clamp(8px,2.2vw,9.5px)!important;letter-spacing:.14em;line-height:1.8!important}
#lunch .stub>span:last-child{margin-top:0!important;align-self:center;white-space:nowrap;text-align:center;font-size:9px!important;letter-spacing:.12em}
}
@media(max-width:900px){
#lunch .lunch-price{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;padding:28px 20px!important;gap:10px!important;margin:0!important;border-top:1px solid rgba(90,65,45,.18);text-align:center!important}
#lunch .lunch-price>span{margin:0!important}
#lunch .lunch-price>span:first-child{line-height:1!important}
#lunch .tkl{padding-bottom:24px!important}
}
#lunch .weekday-pdf{margin-left:14px}
@media(max-width:900px){
#lunch .tkl{padding-left:20px!important;padding-right:20px!important}
#lunch .lunch-item{grid-template-columns:24px minmax(0,1fr)!important;align-items:baseline;column-gap:10px!important;row-gap:6px!important;padding:14px 0!important}
#lunch .lunch-item>span:first-child{grid-column:1;grid-row:1;line-height:1!important}
#lunch .lunch-item>span:nth-child(2){grid-column:2;grid-row:1;padding-top:0!important;line-height:1!important}
#lunch .lunch-item>span:nth-child(3){grid-column:1/-1;grid-row:2;min-width:0}
}
@media(max-width:900px){
#om .collage{height:clamp(410px,122vw,550px)!important}
#om .collage>figure:nth-child(3){top:clamp(250px,76vw,335px)!important}
}

@media(max-width:900px){
#meny .menu-item{padding:24px 0!important;min-width:0}
#meny .menu-item-heading{display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:baseline!important;column-gap:20px!important}
#meny .menu-leader{display:none}
#meny .menu-name,#meny .menu-price{font-family:'Cormorant Garamond',Georgia,serif!important;font-weight:500!important;font-variation-settings:normal!important;font-optical-sizing:auto}
#meny .menu-name{font-size:clamp(26px,7vw,30px)!important;line-height:1.18!important;min-width:0;overflow-wrap:break-word}
#meny .menu-price{font-size:24px!important;line-height:1.18!important;white-space:nowrap}
#meny .menu-description{margin-top:10px!important;font:400 15.5px/1.7 'Jost',sans-serif!important;opacity:.88}
}

@media(max-width:900px){#om .collage>figure:nth-child(-n+2){z-index:2}#om .collage>figure:nth-child(3){z-index:1}}

@media(max-width:900px){
[data-connected-collage]>figure:nth-child(-n+2){z-index:2}
[data-connected-collage]>figure:nth-child(3){z-index:1}
#lunch .lunch-dish{grid-template-columns:minmax(0,1fr)!important;gap:10px!important;padding:22px 0!important}
#lunch .lunch-dish>span:first-child{padding-top:0!important;line-height:1.4}
#lunch .lunch-dish>span:nth-child(2),#lunch .lunch-item>span:nth-child(3){gap:9px!important}
#lunch .lunch-dish>span:nth-child(2)>span:first-child,#lunch .lunch-item>span:nth-child(3)>span:first-child{font-size:28px!important;line-height:1.2!important}
#lunch .lunch-dish>span:nth-child(2)>span:last-child,#lunch .lunch-item>span:nth-child(3)>span:last-child{font-size:15px!important;line-height:1.7!important}
#lunch .lunch-item{padding:22px 0!important;row-gap:10px!important}
body[data-page="ojersjo"] #meny [aria-label="Menykategori"]{gap:8px!important;padding-bottom:6px;justify-content:flex-start!important}
body[data-page="ojersjo"] #meny [aria-label="Menykategori"]>button{border-radius:5px;padding-left:12px!important;padding-right:12px!important}
}

@media(max-width:900px){
body{--menu-accent:#8A5A2E}
body[data-page="gamlestaden"]{--menu-accent:#16302B}
body[data-page="platinan"]{--menu-accent:#8C5A1C}
body[data-page="ojersjo"]{--menu-accent:#8A5E32}
#meny [role="tablist"][aria-label="Menykategori"],body[data-page="ojersjo"] #meny [aria-label="Menykategori"]{gap:8px!important;justify-content:flex-start!important;border:0!important;padding:4px 0 8px!important;scrollbar-width:thin}
#meny [role="tablist"][aria-label="Menykategori"]>button,body[data-page="ojersjo"] #meny [aria-label="Menykategori"]>button{border:1px solid var(--menu-accent)!important;border-radius:6px!important;background:transparent!important;color:var(--menu-accent)!important;font:400 13px 'Jost',sans-serif!important;padding:0 8px!important;min-width:44px;min-height:44px;box-sizing:border-box}
#meny [aria-label="Menykategori"]>button[aria-selected="true"]{background:var(--menu-accent)!important;color:#FFF9F1!important}
}

.weekly-days{display:flex!important;flex-direction:row!important;gap:6px!important;flex-wrap:nowrap!important;border:0!important;min-width:0;overflow-x:auto}
.weekly-days>button{font:500 13px 'Jost',sans-serif!important;flex:1 0 auto;min-width:44px;min-height:44px!important;padding:0 10px!important;display:flex;align-items:center;justify-content:center!important;gap:0;border:1px solid currentColor!important}
.weekly-days>button>span+span{display:none}
.weekly-content>a{align-self:flex-start!important;margin-left:0!important}
@media(max-width:900px){.weekly-price{border-top:2px dashed rgba(90,65,45,.3)}.weekly-ticket{grid-template-columns:minmax(0,1fr)!important}}
@media(max-width:900px){
#meny [role="tablist"][aria-label="Menykategori"]>button[aria-selected="true"]{background:var(--menu-accent)!important;color:#FFF9F1!important}
}

/* Lining figures prevent the price's old-style descenders from looking off-centre. */
#lunch .stub>span:first-child{font-variant-numeric:lining-nums tabular-nums;font-feature-settings:'lnum' 1,'tnum' 1}
@media(max-width:900px){
#lunch .stub{align-items:center!important}
#lunch .stub>span:first-child{display:block;line-height:1!important;align-self:center;position:relative;top:-.04em}
#lunch .stub>span:nth-child(2),#lunch .stub>span:last-child{align-self:center}
body.lunch-price-visible .totop{opacity:0!important;visibility:hidden!important;pointer-events:none!important}
}
/* The same five equal, square-cornered tabs in lunch and à la carte. */
body{--tab-accent:#D9B98C;--tab-ink:#2B211C;--menu-accent:#8A5A2E}
body[data-page="gamlestaden"]{--tab-accent:#E9A56E;--tab-ink:#0E1F1B;--menu-accent:#A85A24}
body[data-page="platinan"]{--tab-accent:#E2C27E;--tab-ink:#24110A;--menu-accent:#8C5A1C}
body[data-page="ojersjo"]{--tab-accent:#E2B48C;--tab-ink:#1A1612;--menu-accent:#8A5E32}
body[data-page="index"]{--tab-accent:#E8B062;--tab-ink:#14100D;--menu-accent:#8A5A2E}
#lunch [role="tablist"][aria-label="Veckodag"],#meny [role="tablist"][aria-label="Menykategori"],body[data-page="ojersjo"] #meny [role="tablist"][aria-label="Menykategori"]{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px!important;width:100%!important;max-width:100%;padding:0!important;border:0!important;overflow:visible!important;box-sizing:border-box;align-items:stretch}
#lunch [role="tablist"][aria-label="Veckodag"]>button,#meny [role="tablist"][aria-label="Menykategori"]>button,body[data-page="ojersjo"] #meny [aria-label="Menykategori"]>button{display:flex!important;align-items:center!important;justify-content:center!important;width:100%;min-width:0!important;min-height:44px!important;margin:0!important;padding:0 2px!important;border:1px solid currentColor!important;border-radius:0!important;background:transparent!important;color:inherit!important;font:500 13px 'Jost',sans-serif!important;letter-spacing:0!important;white-space:nowrap;box-sizing:border-box;text-align:center}
#lunch [role="tablist"][aria-label="Veckodag"]>button[aria-selected="true"],#meny [role="tablist"][aria-label="Menykategori"]>button[aria-selected="true"],body[data-page="ojersjo"] #meny [aria-label="Menykategori"]>button[aria-selected="true"]{background:var(--tab-accent)!important;color:var(--tab-ink)!important;border-color:var(--tab-accent)!important}
#meny [role="tablist"][aria-label="Menykategori"]>button:not([aria-selected="true"]){color:var(--tab-ink)!important;border-color:var(--menu-accent)!important}
@media(max-width:900px){
#lunch [role="tablist"][aria-label="Veckodag"]>button,#meny [role="tablist"][aria-label="Menykategori"]>button,body[data-page="ojersjo"] #meny [aria-label="Menykategori"]>button{font-size:clamp(11.5px,3.2vw,14px)!important}
}

/* Centre the three price details as a compact group. */
@media(max-width:900px){
#lunch .stub{grid-template-columns:auto auto auto!important;justify-content:center!important;column-gap:clamp(14px,4vw,22px)!important;padding:22px 16px!important}
#lunch .stub>span:nth-child(2){justify-self:start!important}
/* The Partille ticket has an inset frame 10px above the outer edge. */
body[data-page="partille"] #lunch .stub{padding-top:18px!important;padding-bottom:28px!important}
}

/* Clean lunch cards: no perforation-style rules between content and price. */
#lunch .tkl{border-right:0!important}
#lunch .stub{border-top:0!important}
@media(max-width:900px){
.sh-logo{align-items:center;gap:12px}
.sh-logo img{display:block;flex:none}
.sh-logo span{display:block;line-height:1.2;position:relative;top:2px}
body[data-page="ojersjo"] .sh-logo span{top:3px}
}

/* A single spacing source between dish content and its price group. */
@media(max-width:900px){#lunch .ticket .tkl{padding-bottom:0!important}}

/* Optical alignment of restaurant names beside the wordmark at every size. */
.sh-logo,#app nav[aria-label="Huvudmeny"]>a{align-items:center}
.sh-logo span,#app nav[aria-label="Huvudmeny"]>a>span{display:block;line-height:1.2;position:relative;top:2px}
body[data-page="ojersjo"] .sh-logo span,body[data-page="ojersjo"] #app nav[aria-label="Huvudmeny"]>a>span{top:3px}
