/* _content/MinMeny.Web/Components/Menu/HuskelistePanel.razor.rz.scp.css */
/* Ligger fast nederst på skjermen, over menyen. Bredden følger menysiden (maks 720px). */
.huskeliste[b-rp7xmwlokh] {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1000;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0 12px calc(12px + env(safe-area-inset-bottom));
    pointer-events: none; /* bare knappene og panelet tar imot trykk */
}

.hl-bar[b-rp7xmwlokh],
.hl-panel[b-rp7xmwlokh] {
    width: 100%;
    max-width: 720px;
    pointer-events: auto;
    box-sizing: border-box;
}

.hl-bar[b-rp7xmwlokh] {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 56px;
    padding: 0 18px;
    border: 0;
    border-radius: var(--radius-input);
    background: var(--color-primary);
    color: var(--color-on-primary);
    font-family: var(--font-sans);
    font-size: 16px;
    text-align: left;
    box-shadow: 0 6px 24px rgba(43, 31, 23, 0.25);
}

    .hl-bar:hover[b-rp7xmwlokh] {
        background: var(--color-primary-hover);
    }

.hl-bar-title[b-rp7xmwlokh] {
    font-weight: 800;
}

.hl-bar-summary[b-rp7xmwlokh] {
    flex: 1 1 auto;
    opacity: 0.9;
}

.hl-bar-action[b-rp7xmwlokh] {
    font-weight: 700;
    text-decoration: underline;
}

.hl-panel[b-rp7xmwlokh] {
    max-height: 70vh;
    overflow-y: auto;
    overscroll-behavior: contain;
    margin-bottom: 8px;
    padding: 18px;
    background: var(--color-surface);
    border: 1px solid var(--color-border-card);
    border-radius: var(--radius-card);
    box-shadow: 0 6px 24px rgba(43, 31, 23, 0.2);
}

.hl-head[b-rp7xmwlokh] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

    .hl-head h2[b-rp7xmwlokh] {
        font-size: 22px;
        margin: 0;
    }

.hl-hint[b-rp7xmwlokh] {
    color: var(--color-text-muted);
    font-size: 14px;
    margin: 6px 0 12px;
}

.hl-lines[b-rp7xmwlokh] {
    list-style: none;
    margin: 0;
    padding: 0;
}

/* Store, tydelige navn og antall, så listen er lett å lese opp på telefonen */
.hl-line[b-rp7xmwlokh] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas:
        "name name"
        "qty price";
    gap: 8px 12px;
    align-items: center;
    padding: 12px 0;
    border-top: 1px solid var(--color-border-card);
}

.hl-name[b-rp7xmwlokh] {
    grid-area: name;
    font-size: 17px;
    overflow-wrap: anywhere;
}

.hl-size[b-rp7xmwlokh] {
    display: inline-block;
    margin-left: 6px;
    padding: 1px 8px;
    border-radius: 999px;
    background: var(--color-bg);
    color: var(--color-primary);
    font-size: 13px;
    font-weight: 700;
}

.hl-spice[b-rp7xmwlokh] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 8px;
    margin-top: 8px;
}

    .hl-spice .btn[b-rp7xmwlokh] {
        min-height: 36px;
        min-width: 72px;
    }

.hl-qty[b-rp7xmwlokh] {
    grid-area: qty;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.hl-step[b-rp7xmwlokh] {
    width: 44px;
    height: 44px;
    border: 1px solid var(--color-border-input);
    border-radius: var(--radius-button);
    background: var(--color-surface);
    color: var(--color-primary);
    font-size: 20px;
    font-weight: 700;
}

    .hl-step:hover[b-rp7xmwlokh] {
        background: var(--color-bg);
    }

.hl-count[b-rp7xmwlokh] {
    min-width: 32px;
    text-align: center;
    font-size: 18px;
    font-weight: 800;
}

.hl-price[b-rp7xmwlokh] {
    grid-area: price;
    text-align: right;
    font-weight: 700;
    white-space: nowrap;
}

.hl-total[b-rp7xmwlokh] {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 0;
    border-top: 2px solid var(--color-border-card);
    font-size: 17px;
}

.hl-call[b-rp7xmwlokh] {
    min-height: 52px;
    font-size: 17px;
}

@media (min-width: 576px) {
    .hl-line[b-rp7xmwlokh] {
        grid-template-columns: minmax(0, 1fr) auto auto;
        grid-template-areas: "name qty price";
    }

    .hl-price[b-rp7xmwlokh] {
        min-width: 80px;
    }
}
/* _content/MinMeny.Web/Components/Menu/MenuView.razor.rz.scp.css */
/* Standardtema (Klassisk). Restaurantens eget tema overstyrer variablene via style-attributtet. */
.mm-menu[b-ri3gil896m] {
    --mm-bg: #FFFFFF;
    --mm-text: #2A2A2A;
    --mm-heading: #1A1A1A;
    --mm-price: #1A1A1A;
    --mm-accent: #8C2F2F;
    --mm-font-heading: 'Playfair Display', Georgia, serif;
    --mm-font-body: 'Lato', system-ui, sans-serif;

    background: var(--mm-bg);
    color: var(--mm-text);
    font-family: var(--mm-font-body);
    font-size: 15px;
    line-height: 1.45;
    padding: 28px 22px 32px;
}

.mm-header[b-ri3gil896m] {
    text-align: center;
    margin-bottom: 18px;
}

.mm-logo[b-ri3gil896m] {
    display: block;
    max-width: 160px;
    max-height: 80px;
    margin: 0 auto 10px;
    object-fit: contain;
}

/* letter-spacing nullstilles: appens felles overskriftsstil (app.css) skal ikke påvirke restaurantens design */
.mm-name[b-ri3gil896m] {
    letter-spacing: normal;
    font-family: var(--mm-font-heading);
    color: var(--mm-heading);
    font-size: 32px;
    font-weight: 700;
    line-height: 1.1;
    margin: 0;
}

.mm-address[b-ri3gil896m] {
    font-size: 13px;
    margin: 4px 0 0;
}

/* Overskriftsfargen har alltid lesbar kontrast mot bakgrunnen (sjekkes i design-fanen), aksenten ikke nødvendigvis */
.mm-call[b-ri3gil896m] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    margin-top: 12px;
    padding: 0 20px;
    border: 2px solid var(--mm-accent);
    border-radius: 999px;
    color: var(--mm-heading);
    font-weight: 700;
    text-decoration: none;
}

    .mm-call:hover[b-ri3gil896m] {
        background: var(--mm-accent);
        color: var(--mm-bg);
    }

    .mm-call:focus-visible[b-ri3gil896m] {
        outline: 2px solid var(--mm-accent);
        outline-offset: 2px;
    }

.mm-footer[b-ri3gil896m] {
    text-align: center;
    margin-top: 8px;
    padding-top: 16px;
    border-top: 1px solid var(--mm-accent);
}

/* Fanene ligger fast øverst mens gjesten scroller, så menyen kan byttes hvor som helst på siden.
   De går ut til kanten av menyen (negativ marg), så retter som scroller under ikke synes på sidene.
   Er det for mange til å få plass, scrolles de sidelengs i stedet for å bli flere linjer. */
.mm-tabs[b-ri3gil896m] {
    position: sticky;
    top: 0;
    z-index: 5;
    display: flex;
    gap: 0 18px;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none; /* Ingen synlig scrollefelt; fanene kan fortsatt sveipes sidelengs */
    margin: 0 -22px 24px;
    padding: 0 22px;
    background: var(--mm-bg);
    border-bottom: 1px solid var(--mm-accent);
}

    .mm-tabs[b-ri3gil896m]::-webkit-scrollbar {
        display: none;
    }

/* Auto-marger sentrerer fanene når det er plass, uten å kutte den første når de scrolles sidelengs */
.mm-tab:first-child[b-ri3gil896m] {
    margin-left: auto;
}

.mm-tab:last-child[b-ri3gil896m] {
    margin-right: auto;
}

.mm-tab[b-ri3gil896m] {
    flex: 0 0 auto;
    white-space: nowrap;
    background: transparent;
    border: 0;
    border-bottom: 2px solid transparent;
    padding: 10px 2px;
    min-height: 44px;
    color: var(--mm-text);
    font: inherit;
    font-size: 14px;
}

    .mm-tab.active[b-ri3gil896m] {
        border-bottom-color: var(--mm-accent);
        font-weight: 700;
    }

    .mm-tab:focus-visible[b-ri3gil896m] {
        outline: 2px solid var(--mm-accent);
        outline-offset: -2px; /* Innenfor fanen, siden fanelinjen kutter det som stikker utenfor */
    }

.mm-info[b-ri3gil896m] {
    border: 1px solid var(--mm-accent);
    border-radius: 10px;
    padding: 10px 14px;
    margin-bottom: 22px;
    text-align: center;
    font-size: 14px;
    white-space: pre-line;
}

.mm-text[b-ri3gil896m] {
    margin: 0 0 22px;
    font-style: italic;
    text-align: center;
    font-size: 14px;
    white-space: pre-line;
}

    .mm-text.mm-align-left[b-ri3gil896m] {
        text-align: left;
    }

    .mm-text.mm-align-right[b-ri3gil896m] {
        text-align: right;
    }

.mm-divider[b-ri3gil896m] {
    border: 0;
    border-top: 1px solid var(--mm-accent);
    opacity: 1;
    margin: 4px 30% 26px;
}

.mm-section[b-ri3gil896m] {
    margin-bottom: 24px;
}

.mm-section-head[b-ri3gil896m] {
    display: flex;
    align-items: flex-end;
    gap: 8px;
    margin-bottom: 6px;
}

.mm-section-titles[b-ri3gil896m] {
    flex: 1 1 auto;
    min-width: 0;
}

.mm-section-title[b-ri3gil896m] {
    letter-spacing: normal;
    font-family: var(--mm-font-heading);
    color: var(--mm-heading);
    font-size: 23px;
    font-weight: 700;
    line-height: 1.2;
    margin: 0;
}

.mm-section-subtitle[b-ri3gil896m] {
    font-size: 13px;
}

.mm-size[b-ri3gil896m] {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    text-align: right;
}

.mm-dish[b-ri3gil896m] {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    padding: 9px 0;
    border-top: 1px dotted var(--mm-accent);
}

    .mm-section-head + .mm-dish[b-ri3gil896m] {
        border-top: 0;
    }

    .mm-dish.sold-out[b-ri3gil896m] {
        opacity: 0.55;
    }

.mm-dish-text[b-ri3gil896m] {
    flex: 1 1 auto;
    min-width: 0;
}

.mm-dish-name[b-ri3gil896m] {
    font-weight: 700;
}

.mm-spice[b-ri3gil896m] {
    margin-left: 6px;
    font-weight: 400;
    font-size: 0.9em;
    letter-spacing: -0.1em;
    white-space: nowrap;
}

.mm-spice-choice[b-ri3gil896m] {
    margin-left: 6px;
    font-weight: 400;
    font-size: 12px;
    font-style: italic;
    white-space: nowrap;
}

/* Prisene som "brikker" under retten når kategorien har mange priser (se MenuFormat.ChipMinSizes).
   Knapper på kundesiden (huskeliste). */
.mm-variants[b-ri3gil896m] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 8px;
}

.mm-variant[b-ri3gil896m] {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    padding: 2px 10px;
    border: 1px solid var(--mm-accent);
    border-radius: 6px;
    color: var(--mm-text);
    font: inherit;
    font-size: 13px;
    background: transparent;
}

.mm-variant-price[b-ri3gil896m] {
    margin-left: 6px;
    color: var(--mm-price);
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.mm-variant-button[b-ri3gil896m] {
    min-height: 36px;
    cursor: pointer;
}

    .mm-variant-button:hover[b-ri3gil896m] {
        box-shadow: inset 0 0 0 1px var(--mm-accent);
    }

    .mm-variant-button:focus-visible[b-ri3gil896m] {
        outline: 2px solid var(--mm-accent);
        outline-offset: 2px;
    }

/* Huskeliste: prisene blir knapper. Teksten holder restaurantens prisfarge; rammen bruker aksentfargen. */
.mm-price-button[b-ri3gil896m],
.mm-add[b-ri3gil896m] {
    appearance: none;
    background: transparent;
    border: 1px solid var(--mm-accent);
    border-radius: 6px;
    color: var(--mm-price);
    font: inherit;
    font-weight: 700;
    min-height: 36px;
    padding: 2px 6px;
    cursor: pointer;
}

    .mm-price-button:hover[b-ri3gil896m],
    .mm-add:hover[b-ri3gil896m] {
        box-shadow: inset 0 0 0 1px var(--mm-accent);
    }

    .mm-price-button:focus-visible[b-ri3gil896m],
    .mm-add:focus-visible[b-ri3gil896m] {
        outline: 2px solid var(--mm-accent);
        outline-offset: 2px;
    }

.mm-add[b-ri3gil896m] {
    width: 36px;
    flex: 0 0 36px;
    font-size: 20px;
    line-height: 1;
}

.mm-saved[b-ri3gil896m] {
    display: inline-block;
    margin-left: 6px;
    padding: 0 7px;
    border: 1px solid var(--mm-accent);
    border-radius: 999px;
    color: var(--mm-heading);
    font-size: 12px;
    font-weight: 700;
}

.mm-sold-out[b-ri3gil896m] {
    font-weight: 400;
    font-size: 12px;
    margin-left: 4px;
}

.mm-dish-desc[b-ri3gil896m] {
    font-size: 13px;
}

.mm-allergens[b-ri3gil896m] {
    font-size: 12px;
    font-style: italic;
    margin-top: 2px;
}

.mm-price[b-ri3gil896m] {
    min-width: 56px;
    text-align: right;
    color: var(--mm-price);
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

/* Faste kolonner når kategorien har flere størrelser, så prisene står under overskriftene */
.mm-col[b-ri3gil896m] {
    width: 56px;
    flex: 0 0 56px;
}

.mm-empty[b-ri3gil896m] {
    text-align: center;
    font-style: italic;
    font-size: 13px;
    margin: 12px 0 0;
}
/* _content/MinMeny.Web/Components/Pages/Home.razor.rz.scp.css */
/* Forsiden: "Restauranter i nærheten". Farger og typografi fra variablene i app.css. Mobil først. */

.home[b-xefqvpq6mg] {
    padding: 32px 0 8px;
}

.page-intro h1[b-xefqvpq6mg] {
    margin: 0 0 8px;
}

.lead-text[b-xefqvpq6mg] {
    color: var(--color-text-muted);
    font-size: 17px;
    margin: 0 0 24px;
}

/* ---------- Søk og omkrets (to rader på mobil, én rad fra 768px) ---------- */

.controls[b-xefqvpq6mg] {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-bottom: 20px;
}

.search-field[b-xefqvpq6mg] {
    position: relative;
    flex: 1 1 auto;
    min-width: 0;
}

.search-icon[b-xefqvpq6mg] {
    position: absolute;
    left: 18px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--color-text-muted);
    pointer-events: none;
}

.search-input[b-xefqvpq6mg] {
    width: 100%;
    height: 56px;
    padding: 0 52px 0 50px;
    background: var(--color-surface);
    border: 1px solid var(--color-border-input);
    border-radius: var(--radius-input);
    color: var(--color-text);
    font-family: var(--font-sans);
    font-size: 16px; /* 16px hindrer at iOS zoomer inn ved fokus */
    box-sizing: border-box;
    appearance: none;
}

    .search-input[b-xefqvpq6mg]::placeholder {
        color: var(--color-text-subtle);
    }

    .search-input:focus[b-xefqvpq6mg] {
        outline: none;
        border-color: var(--color-primary);
        box-shadow: var(--focus-ring);
    }

    /* Nettleserens egen tøm-knapp i søkefelt; vi har vår egen */
    .search-input[b-xefqvpq6mg]::-webkit-search-cancel-button {
        display: none;
    }

.search-clear[b-xefqvpq6mg] {
    position: absolute;
    right: 6px;
    top: 50%;
    transform: translateY(-50%);
    width: 44px;
    height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: var(--radius-small);
    background: transparent;
    color: var(--color-text-muted);
}

    .search-clear:hover[b-xefqvpq6mg] {
        background: var(--color-bg);
        color: var(--color-text);
    }

.segmented[b-xefqvpq6mg] {
    display: flex;
    gap: 4px;
    padding: 5px;
    background: var(--color-surface);
    border: 1px solid var(--color-border-input);
    border-radius: var(--radius-input);
}

/* Liten polstring på mobil: fem knapper må få plass på 360px uten sidelengs scrolling */
.segment[b-xefqvpq6mg] {
    flex: 1 1 0;
    min-width: 0;
    min-height: 44px;
    padding: 0 4px;
    border: 0;
    border-radius: var(--radius-small);
    background: transparent;
    color: var(--color-primary);
    font-family: var(--font-sans);
    font-size: 15px;
    font-weight: 700;
    white-space: nowrap;
}

    .segment:hover[b-xefqvpq6mg] {
        background: var(--color-bg);
    }

    .segment[aria-pressed="true"][b-xefqvpq6mg] {
        background: var(--color-primary);
        color: var(--color-on-primary);
    }

.locate-button[b-xefqvpq6mg] {
    min-height: 56px;
    border-radius: var(--radius-input);
    padding: 0 24px;
}

@media (min-width: 768px) {
    .controls[b-xefqvpq6mg] {
        flex-direction: row;
        align-items: center;
    }

    .segmented[b-xefqvpq6mg] {
        flex: 0 0 auto;
    }

    .segment[b-xefqvpq6mg] {
        flex: 0 0 auto;
        padding: 0 16px;
    }
}

/* ---------- Kartet ---------- */

.restaurant-map[b-xefqvpq6mg] {
    height: 300px;
    border: 1px solid var(--color-border-card);
    border-radius: var(--radius-large);
    overflow: hidden;
    background: var(--color-surface);
    z-index: 0; /* holder Leaflets lag under toppen og eventuelle popups i siden */
}

@media (min-width: 768px) {
    .restaurant-map[b-xefqvpq6mg] {
        height: 380px;
    }
}

/* Leaflet lager disse elementene selv, så de nås med ::deep */
.restaurant-map[b-xefqvpq6mg]  .leaflet-bar {
    border: 0;
    box-shadow: none;
}

    .restaurant-map[b-xefqvpq6mg]  .leaflet-bar a,
    .restaurant-map[b-xefqvpq6mg]  .leaflet-bar a:first-child,
    .restaurant-map[b-xefqvpq6mg]  .leaflet-bar a:last-child {
        width: 44px;
        height: 44px;
        line-height: 42px;
        margin-bottom: 8px;
        background: var(--color-surface);
        border: 1px solid var(--color-border-input);
        border-radius: var(--radius-button);
        color: var(--color-primary);
        font-size: 20px;
        font-weight: 700;
    }

        .restaurant-map[b-xefqvpq6mg]  .leaflet-bar a:hover {
            background: var(--color-bg);
            color: var(--color-primary-hover);
        }

.restaurant-map[b-xefqvpq6mg]  .leaflet-popup-content-wrapper {
    background: var(--color-surface);
    border-radius: var(--radius-input);
    color: var(--color-text);
    font-family: var(--font-sans);
}

.restaurant-map[b-xefqvpq6mg]  .leaflet-popup-tip {
    background: var(--color-surface);
}

.restaurant-map[b-xefqvpq6mg]  .leaflet-popup-content a {
    color: var(--color-primary);
    font-weight: 700;
}

.restaurant-map[b-xefqvpq6mg]  .leaflet-control-attribution {
    background: rgba(255, 251, 245, 0.85);
    color: var(--color-text-muted);
}

    .restaurant-map[b-xefqvpq6mg]  .leaflet-control-attribution a {
        color: var(--color-primary);
    }

/* Restaurantnålen (L.divIcon i restaurantMap.js) */
.restaurant-map[b-xefqvpq6mg]  .mm-pin {
    background: none;
    border: 0;
}

/* ---------- Treff ---------- */

.result-count[b-xefqvpq6mg] {
    color: var(--color-text-subtle);
    font-size: 15px;
    font-weight: 700;
    margin: 16px 0;
}

.restaurant-list[b-xefqvpq6mg] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.restaurant-card[b-xefqvpq6mg] {
    display: grid;
    grid-template-columns: 60px minmax(0, 1fr);
    gap: 16px;
    align-items: center;
    padding: 20px;
    background: var(--color-surface);
    border: 1px solid var(--color-border-card);
    border-radius: var(--radius-card);
}

.card-logo[b-xefqvpq6mg] {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    object-fit: cover;
    background: var(--color-bg);
    border: 1px solid var(--color-border-card);
}

.card-logo-placeholder[b-xefqvpq6mg] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--color-primary);
    font-weight: 800;
    font-size: 18px;
}

.card-name[b-xefqvpq6mg] {
    font-size: 20px;
    font-weight: 800;
    letter-spacing: -0.03em;
    margin: 0 0 2px;
    overflow-wrap: anywhere;
}

.card-address[b-xefqvpq6mg] {
    color: var(--color-text-muted);
    font-size: 15px;
    margin: 0;
}

/* Åpningstider: status på én linje, hele uka når den trykkes på */
.card-hours[b-xefqvpq6mg] {
    margin: 6px 0 0;
    font-size: 14px;
}

    .card-hours summary[b-xefqvpq6mg] {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        min-height: 32px;
        color: var(--color-text);
        cursor: pointer;
        list-style: none;
    }

        .card-hours summary[b-xefqvpq6mg]::-webkit-details-marker {
            display: none;
        }

        /* Pil som viser at uka kan åpnes */
        .card-hours summary[b-xefqvpq6mg]::after {
            content: "▾";
            color: var(--color-text-muted);
        }

    .card-hours[open] summary[b-xefqvpq6mg]::after {
        content: "▴";
    }

.hours-dot[b-xefqvpq6mg] {
    width: 9px;
    height: 9px;
    flex: 0 0 9px;
    border-radius: 50%;
    background: var(--color-text-subtle);
}

    .hours-dot.is-open[b-xefqvpq6mg] {
        background: var(--color-open);
    }

.hours-week[b-xefqvpq6mg] {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 2px 16px;
    margin: 4px 0 0;
    color: var(--color-text-muted);
}

    .hours-week dt[b-xefqvpq6mg] {
        font-weight: 700;
    }

    .hours-week dd[b-xefqvpq6mg] {
        margin: 0;
        font-variant-numeric: tabular-nums;
    }

.card-tags[b-xefqvpq6mg] {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 10px 0 0;
    padding: 0;
}

.tag[b-xefqvpq6mg] {
    background: var(--color-bg);
    color: var(--color-primary);
    border-radius: 999px;
    padding: 3px 10px;
    font-size: 13px;
    font-weight: 700;
}

/* På mobil: avstand og knapp på egen rad under navnet, knappen fyller bredden */
.card-actions[b-xefqvpq6mg] {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.distance-badge[b-xefqvpq6mg] {
    background: var(--color-accent);
    color: var(--color-primary-hover);
    border-radius: 999px;
    padding: 4px 12px;
    font-size: 14px;
    font-weight: 800;
    white-space: nowrap;
}

.see-menu[b-xefqvpq6mg] {
    margin-left: auto;
    min-height: 44px;
    border-radius: var(--radius-button);
    padding: 0 18px;
    font-weight: 800;
    white-space: nowrap;
}

@media (min-width: 640px) {
    .restaurant-card[b-xefqvpq6mg] {
        grid-template-columns: 60px minmax(0, 1fr) auto;
    }

    .card-actions[b-xefqvpq6mg] {
        grid-column: auto;
        justify-content: flex-end;
    }
}
/* _content/MinMeny.Web/Components/Pages/Personvern.razor.rz.scp.css */
/* Personvernerklæringen: én lesbar tekstspalte */

.privacy[b-0ram0j73vp] {
    max-width: 720px;
    padding: 32px 0 8px;
}

    .privacy h1[b-0ram0j73vp] {
        margin: 0 0 6px;
    }

.privacy-updated[b-0ram0j73vp] {
    color: var(--color-text-subtle);
    font-size: 14px;
    margin: 0 0 16px;
}

.privacy-lead[b-0ram0j73vp] {
    color: var(--color-text-muted);
    font-size: 18px;
    margin: 0;
}

.privacy section[b-0ram0j73vp] {
    margin-top: 32px;
}

.privacy h2[b-0ram0j73vp] {
    font-size: 22px;
    line-height: 1.2;
    margin: 0 0 10px;
}

.privacy p[b-0ram0j73vp] {
    margin: 0 0 12px;
}

.privacy ul[b-0ram0j73vp] {
    margin: 0 0 12px;
    padding-left: 20px;
}

.privacy li + li[b-0ram0j73vp] {
    margin-top: 8px;
}
/* _content/MinMeny.Web/Components/Pages/RestaurantMenu.razor.rz.scp.css */
.guest-page[b-43eacupldv] {
    max-width: 720px;
    margin: 0 auto;
    padding: 32px 0 8px;
}

/* Plass nederst, så huskelisten (fast nederst på skjermen) ikke dekker slutten av menyen */
.guest-page.has-huskeliste[b-43eacupldv] {
    padding-bottom: 96px;
}

.huskeliste-hint[b-43eacupldv] {
    color: var(--color-text-muted);
    font-size: 14px;
    margin: 0 0 12px;
}

/* Selve menyen har restaurantens eget design (MenuView); rammen rundt følger appens palett.
   Ikke overflow: hidden her, da slutter menyfanene å ligge fast øverst (position: sticky). Hjørnene rundes på menyen i stedet. */
.guest-menu[b-43eacupldv] {
    border: 1px solid var(--color-border-card);
    border-radius: var(--radius-card);
}

    .guest-menu[b-43eacupldv]  .mm-menu {
        border-radius: calc(var(--radius-card) - 1px);
    }

@media (max-width: 575.98px) {
    .guest-page[b-43eacupldv] {
        padding-top: 16px;
    }

    .guest-menu[b-43eacupldv] {
        margin: 0 calc(-1 * var(--container-gutter));
        border-left: 0;
        border-right: 0;
        border-radius: 0;
    }

        .guest-menu[b-43eacupldv]  .mm-menu {
            border-radius: 0;
        }
}
/* _content/MinMeny.Web/Components/Portal/CategoryEditor.razor.rz.scp.css */
.size-chip[b-u7uaokz8zj] {
    width: auto;
}

    .size-chip input[b-u7uaokz8zj] {
        width: 96px;
        flex: 0 0 auto;
    }

/* Sammenfoldet forklaring under prisvalgene. Overskriften ser ut som en lenke, med stor nok trykkflate på mobil. */
.price-help summary[b-u7uaokz8zj] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 32px;
    color: var(--color-primary);
    font-weight: 700;
    cursor: pointer;
}

.dish-row[b-u7uaokz8zj] {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    min-height: 56px;
    padding: 10px 14px;
    border: 0;
    background: var(--color-surface);
    color: inherit;
    text-align: left;
}

    .dish-row.open[b-u7uaokz8zj],
    .dish-row:hover[b-u7uaokz8zj] {
        background: var(--color-bg);
    }

    .dish-row:focus-visible[b-u7uaokz8zj] {
        outline: 2px solid var(--color-primary);
        outline-offset: -2px;
    }

/* Prisene under navnet når kategorien har mange priser. Hver pris holdes samlet og brytes som en helhet. */
.dish-row-prices[b-u7uaokz8zj] {
    display: flex;
    flex-wrap: wrap;
    gap: 2px 14px;
    margin-top: 2px;
    font-size: 14px;
    font-variant-numeric: tabular-nums;
}

    .dish-row-prices > span[b-u7uaokz8zj] {
        white-space: nowrap;
    }

.chevron[b-u7uaokz8zj] {
    color: var(--color-text-muted);
}

.shared-badge[b-u7uaokz8zj] {
    background: var(--color-accent-tint);
    color: var(--color-primary-hover);
}

.dish-editor[b-u7uaokz8zj] {
    padding: 16px;
    background: var(--color-bg);
    border-top: 1px solid var(--color-border-card);
}

.add-dish[b-u7uaokz8zj] {
    background: var(--color-surface);
    overflow: hidden;
}

.suggestion[b-u7uaokz8zj] {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    min-height: 48px;
    padding: 8px 12px;
    border: 0;
    border-bottom: 1px solid var(--color-border-card);
    background: var(--color-surface);
    text-align: left;
}

    .suggestion:hover[b-u7uaokz8zj],
    .suggestion:focus-visible[b-u7uaokz8zj] {
        background: var(--color-bg);
    }
/* _content/MinMeny.Web/Components/Portal/EksempelMeny.razor.rz.scp.css */
/* Eksempelmenyen (/portal/eksempel). Samme bredde og ramme som menysiden for gjester. */

.example-page[b-st91n2zz23] {
    max-width: calc(720px + 2 * var(--container-gutter));
    padding-bottom: 96px; /* plass til huskelisten, som ligger fast nederst */
}

.example-intro[b-st91n2zz23] {
    padding: 24px;
}

    .example-intro h1[b-st91n2zz23] {
        font-size: 28px;
        margin: 0 0 8px;
    }

    .example-intro p[b-st91n2zz23] {
        color: var(--color-text-muted);
        margin: 0 0 12px;
    }

.example-points[b-st91n2zz23] {
    margin: 0;
    padding-left: 20px;
    font-size: 15px;
}

/* Ikke overflow: hidden, da slutter menyfanene å ligge fast øverst. Hjørnene rundes på menyen i stedet. */
.example-menu[b-st91n2zz23] {
    border: 1px solid var(--color-border-card);
    border-radius: var(--radius-card);
}

    .example-menu[b-st91n2zz23]  .mm-menu {
        border-radius: calc(var(--radius-card) - 1px);
    }

.example-cta[b-st91n2zz23] {
    text-align: center;
}

    .example-cta h2[b-st91n2zz23] {
        font-size: 24px;
        margin: 0 0 14px;
    }

.example-actions[b-st91n2zz23] {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
}

@media (max-width: 575.98px) {
    .example-menu[b-st91n2zz23] {
        margin: 0 calc(-1 * var(--container-gutter));
        border-left: 0;
        border-right: 0;
        border-radius: 0;
    }

        .example-menu[b-st91n2zz23]  .mm-menu {
            border-radius: 0;
        }
}
/* _content/MinMeny.Web/Components/Portal/Menybygger.razor.rz.scp.css */
.hidden-tag[b-9cm9cru0r3] {
    white-space: pre;
    font-size: 0.85em;
    opacity: 0.85;
}

.block-label[b-9cm9cru0r3],
.preview-label[b-9cm9cru0r3] {
    letter-spacing: 0.05em;
}

/* Svak farge per blokktype i topplinjen (varme toner som passer paletten), med mørkere tekst i samme tone.
   Kategori og tekst bruker palettens variabler; info (grønn) og skillelinje (rosa) har egne toner for å skille dem. */
.block-header.type-category[b-9cm9cru0r3] { background: var(--color-accent-tint); }
.block-header.type-text[b-9cm9cru0r3] { background: var(--color-bg); }
.block-header.type-info[b-9cm9cru0r3] { background: #E6EEDC; }
.block-header.type-divider[b-9cm9cru0r3] { background: #F3E1DA; }

    .block-header.type-category .block-label[b-9cm9cru0r3] { color: var(--color-primary-hover) !important; }
    .block-header.type-text .block-label[b-9cm9cru0r3] { color: var(--color-primary) !important; }
    .block-header.type-info .block-label[b-9cm9cru0r3] { color: #3F5A2A !important; }
    .block-header.type-divider .block-label[b-9cm9cru0r3] { color: #7A3B2E !important; }

/* Samme farger som prikker i "Legg til blokk" */
.type-dot[b-9cm9cru0r3] {
    width: 12px;
    height: 12px;
    flex: 0 0 12px;
    border-radius: 50%;
    border: 1px solid rgba(0, 0, 0, 0.2);
}

    .type-dot.type-category[b-9cm9cru0r3] { background: var(--color-accent); }
    .type-dot.type-text[b-9cm9cru0r3] { background: var(--color-border-footer); }
    .type-dot.type-info[b-9cm9cru0r3] { background: #B9CFA3; }
    .type-dot.type-divider[b-9cm9cru0r3] { background: #E3B8A9; }

.preview-frame[b-9cm9cru0r3] {
    border: 1px solid var(--color-border-card);
    border-radius: var(--radius-large);
    overflow: hidden;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06);
}

/* På store skjermer står forhåndsvisningen fast ved siden av redigeringen, men holder seg innenfor
   skjermhøyden og har sin egen scroll, så hele menyen kan ses uansett hvor langt ned du har kommet til venstre */
@media (min-width: 992px) {
    aside[b-9cm9cru0r3] {
        position: sticky;
        top: 16px;
        align-self: flex-start;
        display: flex;
        flex-direction: column;
        max-height: calc(100vh - 32px);
    }

    .preview-frame[b-9cm9cru0r3] {
        flex: 1 1 auto;
        min-height: 0;
        overflow-y: auto;
        overscroll-behavior: contain;
    }
}

/* «Eller kopier en annen meny» i kortet for en tom meny */
.copy-menu[b-9cm9cru0r3] {
    max-width: 440px;
}
/* _content/MinMeny.Web/Components/Portal/OmOss.razor.rz.scp.css */
/* Om MinMeny (/portal/om-oss). Kort og ikonfliser fra app.css (.panel, .icon-tile, .action-title). Mobil først. */

/* Smalere enn resten av portalen, så teksten blir lett å lese og alle kortene får samme bredde */
.about-page[b-90nbmhgwcu] {
    max-width: calc(960px + 2 * var(--container-gutter));
    gap: 40px;
}

.about-intro[b-90nbmhgwcu] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
    padding-top: 12px;
}

    .about-intro h1[b-90nbmhgwcu] {
        margin: 0;
    }

.about-lead[b-90nbmhgwcu] {
    color: var(--color-text-muted);
    font-size: 18px;
    margin: 0;
}

.about-actions[b-90nbmhgwcu] {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 6px;
}

.about-text[b-90nbmhgwcu] {
    padding: 24px;
}

    .about-text p[b-90nbmhgwcu] {
        margin: 0;
    }

        .about-text p + p[b-90nbmhgwcu] {
            margin-top: 14px;
        }

/* To og to kort på store skjermer, ett og ett på mobil */
.feature-grid[b-90nbmhgwcu] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(360px, 100%), 1fr));
    gap: 16px;
    list-style: none;
    margin: 0;
    padding: 0;
}

/* Ikonet står ved siden av tittelen; teksten og lenken går over hele bredden under */
.feature-card[b-90nbmhgwcu] {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    grid-auto-rows: auto;
    align-items: center;
    gap: 10px 14px;
    padding: 22px;
}

    .feature-card .icon-tile[b-90nbmhgwcu] {
        margin-bottom: 0;
    }

    .feature-card > :not(.icon-tile):not(.action-title)[b-90nbmhgwcu] {
        grid-column: 1 / -1;
        justify-self: start;
    }

/* Prisløftet: stort «0 %» ved siden av teksten, under teksten på mobil */
.about-price[b-90nbmhgwcu] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 32px;
    padding: 28px;
    border-color: var(--color-accent);
    border-radius: var(--radius-large);
    background: var(--color-accent-tint);
}

.price-figure[b-90nbmhgwcu] {
    flex: 0 0 auto;
    margin: 0;
    color: var(--color-primary);
    font-size: 64px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: -0.04em;
}

.about-price > div[b-90nbmhgwcu] {
    flex: 1 1 280px;
    min-width: 0;
}

.about-price h2[b-90nbmhgwcu] {
    font-size: 22px;
    line-height: 1.2;
    margin: 0 0 8px;
}

.about-price p:not(.price-figure)[b-90nbmhgwcu] {
    margin: 0;
}

.about-price p.price-amount[b-90nbmhgwcu] {
    margin-top: 12px;
    font-size: 18px;
}

.about-cta[b-90nbmhgwcu] {
    text-align: center;
}

    .about-cta h2[b-90nbmhgwcu] {
        font-size: 24px;
        margin: 0 0 6px;
    }

    .about-cta p[b-90nbmhgwcu] {
        color: var(--color-text-muted);
        margin: 0 0 16px;
    }

    .about-cta .about-actions[b-90nbmhgwcu] {
        justify-content: center;
    }

@media (min-width: 768px) {
    .price-figure[b-90nbmhgwcu] {
        font-size: 88px;
    }
}
/* _content/MinMeny.Web/Components/Portal/OpeningHoursEditor.razor.rz.scp.css */
.hours-list[b-yopk9w36wj] {
    list-style: none;
    margin: 0;
    padding: 0;
    border: 1px solid var(--color-border-card);
    border-radius: var(--radius-card);
    background: var(--color-surface);
}

/* Dag og bryter til venstre, tidene til høyre. På mobil havner tidene under dagen. */
.hours-day[b-yopk9w36wj] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 8px 16px;
    padding: 10px 14px;
}

    .hours-day + .hours-day[b-yopk9w36wj] {
        border-top: 1px solid var(--color-border);
    }

.hours-toggle[b-yopk9w36wj] {
    flex: 0 0 150px;
    min-height: 44px;
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
}

.hours-ranges[b-yopk9w36wj] {
    flex: 1 1 260px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 6px;
    min-height: 44px;
}

.hours-range[b-yopk9w36wj] {
    display: flex;
    align-items: center;
    gap: 8px;
}

    .hours-range input[b-yopk9w36wj] {
        width: 120px;
    }
/* _content/MinMeny.Web/Components/Portal/QrKode.razor.rz.scp.css */
.qr-card[b-9riill5f7m] {
    max-width: 420px;
    margin: 0 auto;
    padding: 32px 28px;
    border: 1px solid rgba(0, 0, 0, 0.125);
    border-radius: 0.5rem;
    background: #FFFFFF;
    text-align: center;
    color: #111111;
}

.qr-logo[b-9riill5f7m] {
    display: block;
    max-width: 160px;
    max-height: 72px;
    margin: 0 auto 12px;
    object-fit: contain;
}

.qr-name[b-9riill5f7m] {
    font-size: 26px;
    font-weight: 700;
    margin: 0 0 16px;
}

/* SVG-en fra QRCoder har viewBox, så den skalerer til bredden */
.qr-code[b-9riill5f7m] {
    width: 100%;
    max-width: 280px;
    margin: 0 auto;
}

    .qr-code[b-9riill5f7m]  svg {
        display: block;
        width: 100%;
        height: auto;
    }

.qr-cta[b-9riill5f7m] {
    font-size: 18px;
    font-weight: 700;
    margin: 16px 0 4px;
}

.qr-url[b-9riill5f7m] {
    font-size: 12px;
    color: #555555;
    word-break: break-all;
    margin: 0;
}

@media print {
    .qr-card[b-9riill5f7m] {
        border: 0;
        max-width: none;
        margin-top: 2cm;
    }

    .qr-code[b-9riill5f7m] {
        max-width: 10cm;
    }

    .qr-name[b-9riill5f7m] {
        font-size: 32px;
    }

    .qr-cta[b-9riill5f7m] {
        font-size: 22px;
    }
}
/* _content/MinMeny.Web/Components/Portal/RestaurantForm.razor.rz.scp.css */
.org-card[b-ulq0atwepz] {
    border: 1px solid var(--color-border-card);
    border-radius: var(--radius-button);
    padding: 10px 12px;
    background: var(--color-bg);
}
/* _content/MinMeny.Web/Components/Portal/ThemeEditor.razor.rz.scp.css */
.unused-theme[b-091ezhj5k2] {
    display: inline-flex;
    align-items: center;
    margin-left: 10px;
    padding: 2px 8px;
    border: 1px solid var(--color-border-card);
    border-radius: 999px;
}

.preset-grid[b-091ezhj5k2] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(130px, 1fr));
    gap: 12px;
}

.preset[b-091ezhj5k2] {
    display: block;
    width: 100%;
    padding: 0;
    border: 2px solid var(--color-border-card);
    border-radius: var(--radius-button);
    overflow: hidden;
    background: var(--color-surface);
    text-align: left;
}

    .preset.selected[b-091ezhj5k2] {
        border-color: var(--color-primary);
    }

.preset-swatch[b-091ezhj5k2] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 72px;
    padding: 0 14px;
    border-bottom: 1px solid var(--color-border-card);
    font-size: 28px;
    font-weight: 700;
}

.preset-dot[b-091ezhj5k2] {
    width: 18px;
    height: 18px;
    border-radius: 50%;
}

.preset-name[b-091ezhj5k2] {
    display: block;
    padding: 8px 10px;
    font-weight: 600;
}

.color-row[b-091ezhj5k2] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 8px 0;
    border-bottom: 1px solid var(--color-border-card);
}

    .color-row .form-control-color[b-091ezhj5k2] {
        width: 44px;
        height: 44px;
        flex: 0 0 auto;
    }

.font-grid[b-091ezhj5k2] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    gap: 8px;
}

.font-option[b-091ezhj5k2] {
    min-height: 44px;
    padding: 0 12px;
    border: 1px solid var(--color-border-input);
    border-radius: var(--radius-small);
    background: var(--color-surface);
    font-size: 16px;
    text-align: left;
}

    .font-option.selected[b-091ezhj5k2] {
        border: 2px solid var(--color-primary);
        background: var(--color-accent-tint);
    }

.logo-drop[b-091ezhj5k2] {
    border: 2px dashed var(--color-border-input);
    border-radius: var(--radius-button);
    padding: 24px;
    text-align: center;
}

.logo-preview[b-091ezhj5k2] {
    max-width: 120px;
    max-height: 64px;
    object-fit: contain;
}
