/*
 * Lagerboks – produktsidene og produktkortene (Lagerboks_Butikk, 2.14.0).
 * Gjelder minilagerrommene og flyttemateriellet: produktkort i lister, selve produktsiden og
 * avtalekortene på romsidene. Lastes etter temaet og refresh-stilarket. Veiviseren, kurven og kassen
 * har ikke klassen lgbx-butikk og røres ikke.
 */

body.lgbx-butikk {
    --bk-navy: #0b2239;
    --bk-ink: #111827;
    --bk-muted: #4b5563;
    --bk-line: #e3e8ef;
    --bk-bg: #f4f7fb;
    --bk-blue: #0077b6;
    --bk-blue-dark: #005f93;
    --bk-blue-soft: #e8f3fa;
    --bk-green: #14532d;
    --bk-green-soft: #e7f6ec;
    --bk-radius: 16px;
    --bk-shadow: 0 10px 30px rgba(11, 34, 57, 0.08);
}

/* ── Produktkort i lister ───────────────────────────────────────────────── */

body.lgbx-butikk ul.products {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none;
}

body.lgbx-butikk ul.products::before,
body.lgbx-butikk ul.products::after {
    display: none !important;
}

body.lgbx-butikk ul.products li.product {
    float: none !important;
    width: auto !important;
    min-width: 0;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none;
}

body.lgbx-butikk ul.products li.product .mk-product-warp {
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 14px 14px 16px;
    overflow: hidden;
    border: 1px solid var(--bk-line);
    border-radius: var(--bk-radius);
    background: #fff;
    box-shadow: var(--bk-shadow);
    text-align: left;
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}

body.lgbx-butikk ul.products li.product .mk-product-warp:hover {
    box-shadow: 0 16px 36px rgba(11, 34, 57, 0.14);
    transform: translateY(-2px);
}

body.lgbx-butikk ul.products li.product a.woocommerce-LoopProduct-link {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    margin: 0;
    color: inherit;
    text-decoration: none;
}

body.lgbx-butikk ul.products li.product .mk-product-thumbnail-warp {
    margin: 0 0 12px;
    overflow: hidden;
    border-radius: 12px;
    background: var(--bk-bg);
}

body.lgbx-butikk ul.products li.product .mk-product-thumbnail-warp img {
    display: block;
    width: 100%;
    height: auto;
    margin: 0;
    aspect-ratio: 1 / 1;
    object-fit: contain;
    mix-blend-mode: multiply;
}

body.lgbx-butikk ul.products li.product .woocommerce-loop-product__title {
    margin: 0 0 6px;
    padding: 0;
    color: var(--bk-navy);
    font-size: 17px !important;
    font-weight: 700 !important;
    line-height: 1.3;
    letter-spacing: -0.01em;
    text-align: left;
    text-transform: none;
}

body.lgbx-butikk ul.products li.product .price {
    display: block;
    margin: 0 0 14px;
    padding: 0;
    color: var(--bk-navy);
    font-size: 16px !important;
    font-weight: 700;
    line-height: 1.35;
    text-align: left;
}

body.lgbx-butikk ul.products li.product .price .amount {
    color: var(--bk-navy);
    font-size: 18px;
    font-weight: 800;
}

body.lgbx-butikk ul.products li.product .price small,
body.lgbx-butikk ul.products li.product .price del {
    color: var(--bk-muted);
    font-size: 13.5px;
    font-weight: 500;
}

body.lgbx-butikk ul.products li.product .price ins {
    background: none;
    text-decoration: none;
}

body.lgbx-butikk ul.products li.product .price .lgbx-no-stock {
    color: #6b4500;
    font-size: 14.5px;
    font-weight: 600;
}

body.lgbx-butikk ul.products li.product a.button {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    min-height: 46px;
    margin: auto 0 0;
    padding: 0 10px;
    border: 2px solid var(--bk-blue);
    border-radius: 10px;
    background: var(--bk-blue);
    box-shadow: none;
    color: #fff;
    font-size: 15.5px !important;
    font-weight: 600 !important;
    line-height: 1.2;
    letter-spacing: 0;
    text-align: center;
    text-transform: none !important;
    white-space: nowrap;
    transition: background-color 0.15s ease, border-color 0.15s ease;
}

body.lgbx-butikk ul.products li.product a.button:hover {
    border-color: var(--bk-blue-dark);
    background: var(--bk-blue-dark);
    color: #fff;
}

body.lgbx-butikk ul.products li.product a.button svg {
    flex: none;
    width: 16px !important;
    height: 16px !important;
    margin: 0;
    fill: currentColor;
    stroke: none;
}

body.lgbx-butikk ul.products li.product a.button.loading {
    opacity: 0.7;
}

body.lgbx-butikk ul.products li.product a.added_to_cart {
    display: block;
    margin: 10px 0 0;
    padding: 0;
    color: var(--bk-blue);
    font-size: 14.5px;
    font-weight: 600;
    text-align: center;
    text-decoration: underline;
}

/* Rom uten ledige og utsolgte varer: dempet kort med lys knapp. */
body.lgbx-butikk ul.products li.product.outofstock .mk-product-warp {
    background: #fafbfc;
    box-shadow: none;
}

body.lgbx-butikk ul.products li.product.outofstock .mk-product-warp:hover {
    transform: none;
}

body.lgbx-butikk ul.products li.product.outofstock .mk-product-thumbnail-warp img {
    opacity: 0.55;
}

body.lgbx-butikk ul.products li.product.outofstock a.button {
    border-color: var(--bk-line);
    background: #fff;
    color: var(--bk-blue);
}

body.lgbx-butikk ul.products li.product.outofstock a.button:hover {
    border-color: var(--bk-blue);
    background: #fff;
    color: var(--bk-blue-dark);
}

/* Merkene «Tilbud» og «Ingen rom ledig» (kodesnutt #31 setter dem med !important). */
body.lgbx-butikk ul.products li.product .my-tilbud-badge,
body.lgbx-butikk ul.products li.product .custom-outofstock-label {
    top: 24px !important;
    right: 24px !important;
    left: auto !important;
    padding: 5px 11px !important;
    border-radius: 999px !important;
    box-shadow: 0 4px 12px rgba(11, 34, 57, 0.16);
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1.3;
}

body.lgbx-butikk ul.products li.product .my-tilbud-badge {
    background: #fff !important;
    color: var(--bk-green) !important;
}

body.lgbx-butikk ul.products li.product .custom-outofstock-label {
    background: #fff4d6 !important;
    color: #6b4500 !important;
}

@media (max-width: 1000px) {
    body.lgbx-butikk ul.products {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    body.lgbx-butikk ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }

    body.lgbx-butikk ul.products li.product .mk-product-warp {
        padding: 10px 10px 12px;
    }

    body.lgbx-butikk ul.products li.product .woocommerce-loop-product__title {
        font-size: 15.5px !important;
    }

    body.lgbx-butikk ul.products li.product .price .amount {
        font-size: 17px;
    }

    body.lgbx-butikk ul.products li.product a.button {
        min-height: 44px;
        padding: 4px 4px;
        font-size: 14px !important;
        letter-spacing: -0.01em;
        white-space: normal;
    }

    body.lgbx-butikk ul.products li.product a.button svg {
        display: none;
    }

    body.lgbx-butikk ul.products li.product .my-tilbud-badge,
    body.lgbx-butikk ul.products li.product .custom-outofstock-label {
        top: 16px !important;
        right: 16px !important;
        padding: 4px 9px !important;
        font-size: 12px !important;
    }
}

/* ── Meldinger fra butikken («lagt i handlekurven») ─────────────────────── */

body.lgbx-butikk .woocommerce-message,
body.lgbx-butikk .woocommerce-info,
body.lgbx-butikk .woocommerce-error {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 16px;
    margin: 0 0 24px;
    padding: 16px 20px;
    border: 0;
    border-radius: 12px;
    outline: 0;
    background: var(--bk-green-soft);
    color: var(--bk-green);
    font-size: 16px;
    font-weight: 600;
    line-height: 1.4;
    list-style: none;
}

body.lgbx-butikk .woocommerce-message::before,
body.lgbx-butikk .woocommerce-info::before,
body.lgbx-butikk .woocommerce-error::before {
    display: none;
}

body.lgbx-butikk .woocommerce-info {
    background: var(--bk-blue-soft);
    color: var(--bk-navy);
}

body.lgbx-butikk .woocommerce-error {
    background: #fdecec;
    color: #8a1c1c;
}

body.lgbx-butikk .woocommerce-message a.button,
body.lgbx-butikk .woocommerce-info a.button,
body.lgbx-butikk .woocommerce-message a.wc-forward,
body.lgbx-butikk .woocommerce-info a.wc-forward {
    order: 2;
    float: none;
    margin: 0 0 0 auto;
    padding: 10px 18px;
    border: 0;
    border-radius: 10px;
    background: var(--bk-blue) !important;
    color: #fff !important;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: 0;
    text-decoration: none;
    text-transform: none;
}

/* ── Produktsiden ───────────────────────────────────────────────────────── */

body.lgbx-butikk.single-product #theme-page .theme-content {
    padding-top: 24px !important;
    padding-bottom: 72px !important;
}

body.lgbx-butikk .lgbx-tilbake {
    margin: 0 0 20px;
}

body.lgbx-butikk .lgbx-tilbake a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 40px;
    margin: 0;
    color: var(--bk-blue);
    font-size: 15.5px;
    font-weight: 600;
    text-decoration: none;
}

body.lgbx-butikk .lgbx-tilbake a:hover {
    color: var(--bk-blue-dark);
    text-decoration: underline;
}

body.lgbx-butikk .lgbx-tilbake svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

body.lgbx-butikk.single-product div.product {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 0 56px;
    align-items: start;
}

/* Bildet står stille i sin rute. Med position: sticky fulgte det med gjennom hele rutenettet og la seg
   oppå «Om rommet» og «Flere ledige rom» (nettleseren holder det fast innenfor hele div.product, ikke raden). */
body.lgbx-butikk.single-product div.product > .woocommerce-product-gallery {
    position: relative;
    float: none !important;
    width: auto !important;
    margin: 0 !important;
    padding: 20px;
    border-radius: 20px;
    background: var(--bk-bg);
}

body.lgbx-butikk.single-product div.product > .woocommerce-product-gallery img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 12px;
    mix-blend-mode: multiply;
}

body.lgbx-butikk.single-product .woocommerce-product-gallery .flex-control-thumbs {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 14px 0 0;
    padding: 0;
    list-style: none;
}

body.lgbx-butikk.single-product .woocommerce-product-gallery .flex-control-thumbs li {
    float: none;
    width: 72px;
    margin: 0;
    padding: 0;
    list-style: none;
}

body.lgbx-butikk.single-product .woocommerce-product-gallery .flex-control-thumbs img {
    border: 2px solid transparent;
    border-radius: 10px;
    background: #fff;
    cursor: pointer;
    mix-blend-mode: normal;
    opacity: 1;
}

body.lgbx-butikk.single-product .woocommerce-product-gallery .flex-control-thumbs img.flex-active {
    border-color: var(--bk-blue);
}

/* ── Bildevisningen holder plassen sin mens den starter ──────────────────────────────────────────────
   WooCommerce sin bildevisning (flexslider) bygger seg om i 100 ms etter at siden er tegnet: bildene står
   først under hverandre i et bånd som er flere ganger så bredt som ruten, og småbildene kommer til slutt.
   På mobil skyver det teksten under ned og opp igjen (CLS 0,35 på Live 07.10.2026, etter at siden begynte
   å tegnes før skriptene). Reglene gir samme høyde før, under og etter starten. Bare under det egne temaet. */

/* Før start: bare det første bildet står der, og småbildene har plassen sin. Småbildene står tre i
   bredden (25 % − 7 px hver, 10 px mellom radene, 16 px over), så høyden følger antall bilder. */
body.lgbx-tema.single-product div.product div.images > .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:nth-child(n+2) {
    display: none;
}

body.lgbx-tema.single-product div.product div.images > .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:first-child {
    display: flow-root;
}

body.lgbx-tema.single-product div.product div.images > .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:first-child:nth-last-child(n+2) {
    padding-bottom: calc(25% + 9px);
}

body.lgbx-tema.single-product div.product div.images > .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:first-child:nth-last-child(n+4) {
    padding-bottom: calc(50% + 12px);
}

body.lgbx-tema.single-product div.product div.images > .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:first-child:nth-last-child(n+7) {
    padding-bottom: calc(75% + 15px);
}

/* Under start: det første bildet har rutens bredde med en gang, og de andre venter til flexslider har
   satt målene deres (da får de float i style-attributtet, og ruten får høyden til bildet som vises). */
body.lgbx-tema.single-product div.product div.images .flex-viewport {
    container-type: inline-size;
}

body.lgbx-tema.single-product div.product div.images .flex-viewport .woocommerce-product-gallery__image {
    display: block;
    float: left;
    width: 100cqw;
}

body.lgbx-tema.single-product div.product div.images .flex-viewport .woocommerce-product-gallery__image:nth-child(n+2):not([style*="float"]) {
    display: none;
}

/* Småbildene er kvadratiske, og har høyden sin før bildefilene er hentet. */
body.lgbx-tema.single-product div.product div.images .flex-control-thumbs img {
    aspect-ratio: 1 / 1;
    height: auto;
    object-fit: cover;
}

body.lgbx-butikk.single-product div.product > .summary {
    float: none !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.lgbx-butikk.single-product div.product > .related,
body.lgbx-butikk.single-product div.product > .upsells,
body.lgbx-butikk.single-product div.product > .woocommerce-tabs {
    grid-column: 1 / -1;
    float: none;
    width: auto;
    margin: 72px 0 0;
    padding: 0;
}

body.lgbx-butikk.single-product .summary .product_title {
    margin: 0 0 10px;
    padding: 0;
    color: var(--bk-navy);
    font-size: clamp(28px, 3.2vw, 40px) !important;
    font-weight: 800 !important;
    line-height: 1.15;
    letter-spacing: -0.02em;
    text-transform: none;
}

body.lgbx-butikk.single-product .summary p.price {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 2px 8px;
    margin: 0 0 20px;
    padding: 0;
    color: var(--bk-muted);
    font-size: 17px !important;
    font-weight: 500;
    line-height: 1.3;
}

body.lgbx-butikk.single-product .summary p.price .amount {
    color: var(--bk-navy);
    font-size: 30px;
    font-weight: 800;
    letter-spacing: -0.01em;
}

body.lgbx-butikk.single-product .summary p.price small {
    color: var(--bk-muted);
    font-size: 15px;
}

body.lgbx-butikk.single-product .summary p.price .lgbx-no-stock {
    display: none; /* beskjeden står i boksen under (Lagerboks_Butikk::ingen_ledige) */
}

body.lgbx-butikk.single-product .summary .product_meta,
body.lgbx-butikk.single-product .summary .social-share,
body.lgbx-butikk.single-product .summary .mk-single-product-badges {
    display: none !important;
}

body.lgbx-butikk.single-product .woocommerce-product-details__short-description {
    margin: 0 0 24px;
    padding: 20px 22px;
    border: 1px solid var(--bk-line);
    border-radius: var(--bk-radius);
    background: #fff;
    color: var(--bk-ink);
    font-size: 16px;
    line-height: 1.6;
}

body.lgbx-butikk.single-product .woocommerce-product-details__short-description p {
    margin: 0 0 12px;
    color: var(--bk-ink);
    font-size: 16px;
    line-height: 1.6;
}

body.lgbx-butikk.single-product .woocommerce-product-details__short-description p:last-child {
    margin-bottom: 0;
}

body.lgbx-butikk.single-product .woocommerce-product-details__short-description strong {
    color: var(--bk-navy);
}

body.lgbx-butikk.single-product .woocommerce-product-details__short-description hr {
    height: 1px;
    margin: 14px 0;
    border: 0;
    background: var(--bk-line);
}

body.lgbx-butikk.single-product .summary form.cart {
    margin: 0;
    padding: 0;
    border: 0;
}

body.lgbx-butikk.single-product .summary form.cart:not(.variations_form) {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 12px;
}

body.lgbx-butikk.single-product .summary form.cart .quantity {
    display: flex;
    flex-direction: column;
    gap: 6px;
    float: none;
    margin: 0;
}

body.lgbx-butikk.single-product .summary form.cart .quantity.hidden {
    display: none;
}

body.lgbx-butikk.single-product .summary form.cart .mk-quantity-label {
    margin: 0;
    color: var(--bk-navy);
    font-size: 14px;
    font-weight: 600;
}

body.lgbx-butikk.single-product .summary form.cart .mk-product-quantity {
    margin: 0;
}

body.lgbx-butikk.single-product .summary form.cart input.qty {
    width: 92px;
    height: 54px;
    margin: 0;
    padding: 0 10px;
    border: 1px solid #86868b;
    border-radius: 10px;
    background: #fff;
    color: var(--bk-ink);
    font-size: 17px;
    font-weight: 600;
    text-align: center;
}

body.lgbx-butikk.single-product .summary form.cart input.qty:focus {
    border-color: var(--bk-blue);
    outline: 3px solid rgba(0, 176, 240, 0.35);
    outline-offset: 0;
}

body.lgbx-butikk.single-product .summary .single_add_to_cart_button {
    display: inline-flex;
    flex: 1 1 220px;
    align-items: center;
    justify-content: center;
    gap: 10px;
    float: none;
    width: auto;
    min-height: 54px;
    margin: 0;
    padding: 0 28px;
    border: 0;
    border-radius: 10px;
    background: var(--bk-blue);
    box-shadow: 0 8px 20px rgba(0, 119, 182, 0.25);
    color: #fff;
    font-size: 17px;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: 0;
    text-transform: none;
    opacity: 1;
    transition: background-color 0.15s ease;
}

body.lgbx-butikk.single-product .summary .variations_form .single_add_to_cart_button {
    width: 100%;
}

body.lgbx-butikk.single-product .summary .single_add_to_cart_button:hover {
    background: var(--bk-blue-dark);
    color: #fff;
}

body.lgbx-butikk.single-product .summary .single_add_to_cart_button.disabled,
body.lgbx-butikk.single-product .summary .single_add_to_cart_button:disabled {
    background: #c9d3de;
    box-shadow: none;
    color: #fff;
    cursor: not-allowed;
}

body.lgbx-butikk.single-product .summary .single_add_to_cart_button svg {
    width: 18px;
    height: 18px;
    fill: currentColor;
}

body.lgbx-butikk.single-product .summary .single_add_to_cart_button .mk-button-icon {
    display: inline-flex;
    margin: 0;
}

body.lgbx-butikk.single-product .summary .single_add_to_cart_button:focus-visible,
body.lgbx-butikk ul.products li.product a.button:focus-visible {
    outline: 3px solid #00b0f0;
    outline-offset: 3px;
}

/* Avtalevalget uten skript: temaets tabell med nedtrekksliste, i nye klær. */
body.lgbx-butikk.single-product .summary table.variations {
    width: 100%;
    margin: 0 0 16px;
    border: 0;
}

body.lgbx-butikk.single-product .summary table.variations th,
body.lgbx-butikk.single-product .summary table.variations td {
    display: block;
    padding: 0;
    border: 0;
    background: none;
    text-align: left;
}

body.lgbx-butikk.single-product .summary table.variations label {
    display: block;
    margin: 0 0 6px;
    color: var(--bk-navy);
    font-size: 15px;
    font-weight: 600;
    text-transform: none;
}

body.lgbx-butikk.single-product .summary table.variations select {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    height: 54px;
    margin: 0;
    padding: 0 14px;
    border: 1px solid #86868b;
    border-radius: 10px;
    background-color: #fff;
    color: var(--bk-ink);
    font-size: 16px;
}

body.lgbx-butikk.single-product .summary .reset_variations {
    display: none !important;
}

/* Avtalene som kort (butikk.js) */

body.lgbx-butikk .variations_form.lgbx-har-avtaler table.variations,
body.lgbx-butikk .variations_form.lgbx-har-avtaler .woocommerce-variation-description,
body.lgbx-butikk .variations_form.lgbx-har-avtaler .woocommerce-variation-price {
    display: none !important;
}

body.lgbx-butikk fieldset.lgbx-avtaler {
    display: grid;
    gap: 10px;
    min-width: 0;
    margin: 0 0 18px;
    padding: 0;
    border: 0;
}

body.lgbx-butikk fieldset.lgbx-avtaler legend {
    margin: 0 0 10px;
    padding: 0;
    color: var(--bk-navy);
    font-size: 18px;
    font-weight: 700;
}

body.lgbx-butikk label.lgbx-avtale {
    position: relative;
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr);
    gap: 4px 14px;
    align-items: start;
    margin: 0;
    padding: 16px 18px;
    border: 2px solid var(--bk-line);
    border-radius: 12px;
    background: #fff;
    cursor: pointer;
    transition: border-color 0.15s ease, background-color 0.15s ease;
}

body.lgbx-butikk label.lgbx-avtale:hover {
    border-color: #9db8cc;
}

body.lgbx-butikk label.lgbx-avtale input {
    grid-row: span 3;
    width: 22px;
    height: 22px;
    margin: 2px 0 0;
    accent-color: var(--bk-blue);
    cursor: pointer;
}

body.lgbx-butikk label.lgbx-avtale:has(input:checked) {
    border-color: var(--bk-blue);
    background: var(--bk-blue-soft);
}

body.lgbx-butikk label.lgbx-avtale:has(input:focus-visible) {
    outline: 3px solid #00b0f0;
    outline-offset: 2px;
}

body.lgbx-butikk .lgbx-avtale__navn {
    grid-column: 2;
    color: var(--bk-navy);
    font-size: 17px;
    font-weight: 700;
    line-height: 1.3;
}

body.lgbx-butikk .lgbx-avtale__pris {
    grid-column: 2;
    color: var(--bk-navy);
    font-size: 16px;
    font-weight: 700;
    line-height: 1.35;
}

body.lgbx-butikk .lgbx-avtale__pris .price,
body.lgbx-butikk .lgbx-avtale__pris .amount {
    margin: 0;
    color: inherit;
    font-size: inherit !important;
    font-weight: inherit;
}

body.lgbx-butikk .lgbx-avtale__pris del {
    margin-right: 6px;
    color: var(--bk-muted);
    font-weight: 500;
}

body.lgbx-butikk .lgbx-avtale__pris del .amount {
    color: var(--bk-muted);
    font-weight: 500;
}

body.lgbx-butikk .lgbx-avtale__pris ins {
    background: none;
    text-decoration: none;
}

body.lgbx-butikk .lgbx-avtale__tekst {
    grid-column: 2;
    color: var(--bk-muted);
    font-size: 15px;
    line-height: 1.5;
}

body.lgbx-butikk label.lgbx-avtale--utleid {
    background: #fafbfc;
    cursor: not-allowed;
}

body.lgbx-butikk label.lgbx-avtale--utleid:hover {
    border-color: var(--bk-line);
}

body.lgbx-butikk label.lgbx-avtale--utleid .lgbx-avtale__navn,
body.lgbx-butikk label.lgbx-avtale--utleid .lgbx-avtale__pris {
    color: var(--bk-muted);
}

body.lgbx-butikk .lgbx-avtale__merke {
    display: inline-block;
    margin-left: 8px;
    padding: 2px 9px;
    border-radius: 999px;
    background: #fff4d6;
    color: #6b4500;
    font-size: 12.5px;
    font-weight: 700;
    vertical-align: 2px;
}

body.lgbx-butikk .woocommerce-variation-availability p {
    margin: 0 0 12px;
    color: #6b4500;
    font-size: 15px;
    font-weight: 600;
}

/* Rom uten ledige: beskjed med vei videre */
body.lgbx-butikk .lgbx-utleid {
    display: grid;
    gap: 6px;
    margin: 0 0 24px;
    padding: 20px 22px;
    border-radius: var(--bk-radius);
    background: #fff4d6;
    color: #6b4500;
    font-size: 16px;
    line-height: 1.5;
}

body.lgbx-butikk .lgbx-utleid strong {
    font-size: 17px;
}

body.lgbx-butikk .lgbx-utleid__knapper {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 22px;
    margin-top: 10px;
}

body.lgbx-butikk a.lgbx-utleid__knapp {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    margin: 0;
    padding: 0 22px;
    border-radius: 10px;
    background: var(--bk-blue);
    color: #fff;
    font-size: 16px;
    font-weight: 600;
    text-decoration: none;
}

body.lgbx-butikk a.lgbx-utleid__knapp:hover {
    background: var(--bk-blue-dark);
    color: #fff;
}

body.lgbx-butikk a.lgbx-utleid__lenke {
    margin: 0;
    color: var(--bk-blue-dark);
    font-size: 16px;
    font-weight: 600;
    text-decoration: underline;
}

/* På en romside uten ledige rom skjules skjemaet (ingenting kan bestilles). */
body.lgbx-butikk.lgbx-produkt-rom div.product.outofstock .summary form.cart {
    display: none;
}

body.lgbx-butikk.single-product .related > h2,
body.lgbx-butikk.single-product .upsells > h2 {
    margin: 0 0 24px;
    padding: 0;
    color: var(--bk-navy);
    font-size: clamp(22px, 2.4vw, 28px) !important;
    font-weight: 800 !important;
    letter-spacing: -0.02em;
    text-align: left;
    text-transform: none;
}

@media (max-width: 900px) {
    body.lgbx-butikk.single-product div.product {
        grid-template-columns: minmax(0, 1fr);
        gap: 24px 0;
    }

    body.lgbx-butikk.single-product div.product > .woocommerce-product-gallery {
        position: static;
        max-width: 520px;
        padding: 14px;
    }

    body.lgbx-butikk.single-product div.product > .related,
    body.lgbx-butikk.single-product div.product > .upsells {
        margin-top: 32px;
    }

    body.lgbx-butikk.single-product #theme-page .theme-content {
        padding-top: 12px !important;
        padding-bottom: 48px !important;
    }
}

/* ── Antallsvelger på produktkortene ────────────────────────────────────── */

body.lgbx-butikk .lgbx-kjop {
    display: flex;
    align-items: stretch;
    gap: 8px;
    margin-top: auto;
}

body.lgbx-butikk .lgbx-antall {
    display: flex;
    flex: none;
    align-items: stretch;
    overflow: hidden;
    border: 1px solid #86868b;
    border-radius: 10px;
    background: #fff;
}

body.lgbx-butikk .lgbx-antall__knapp {
    width: 36px;
    min-height: 44px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: #fff;
    color: var(--bk-navy);
    font-size: 20px;
    font-weight: 600;
    line-height: 1;
    cursor: pointer;
}

body.lgbx-butikk .lgbx-antall__knapp:hover {
    background: var(--bk-bg);
    color: var(--bk-blue);
}

body.lgbx-butikk input.lgbx-antall__felt {
    width: 40px;
    height: auto;
    min-height: 44px;
    margin: 0;
    padding: 0;
    border: 0;
    border-right: 1px solid var(--bk-line);
    border-left: 1px solid var(--bk-line);
    border-radius: 0;
    background: #fff;
    box-shadow: none;
    color: var(--bk-ink);
    font-size: 16px;
    font-weight: 600;
    text-align: center;
    -moz-appearance: textfield;
    appearance: textfield;
}

body.lgbx-butikk input.lgbx-antall__felt::-webkit-outer-spin-button,
body.lgbx-butikk input.lgbx-antall__felt::-webkit-inner-spin-button {
    margin: 0;
    -webkit-appearance: none;
}

body.lgbx-butikk .lgbx-antall__knapp:focus-visible,
body.lgbx-butikk input.lgbx-antall__felt:focus-visible {
    position: relative;
    outline: 3px solid #00b0f0;
    outline-offset: -3px;
}

body.lgbx-butikk ul.products li.product .lgbx-kjop a.button {
    flex: 1 1 auto;
    width: auto;
    min-width: 0;
    margin: 0;
    padding: 0 8px;
    font-size: 15px !important;
}

body.lgbx-butikk ul.products li.product .lgbx-kjop a.button svg {
    display: none;
}

/* Varen er lagt i kurven: knappen kvitterer, og lenken til kurven står under. */
body.lgbx-butikk ul.products li.product a.button.added {
    border-color: #15803d;
    background: #15803d;
}

/* ── Mobil: produktene som rader (bilde til venstre, navn, pris og kjøp til høyre) ── */

@media (max-width: 760px) {
    body.lgbx-butikk ul.products {
        grid-template-columns: minmax(0, 1fr);
        gap: 10px;
    }

    body.lgbx-butikk ul.products li.product .mk-product-warp {
        display: grid;
        grid-template-columns: 92px minmax(0, 1fr);
        gap: 2px 14px;
        align-items: start;
        padding: 12px;
    }

    body.lgbx-butikk ul.products li.product a.woocommerce-LoopProduct-link {
        display: contents;
    }

    body.lgbx-butikk ul.products li.product .mk-product-thumbnail-warp {
        grid-row: 1 / span 2;
        grid-column: 1;
        align-self: start;
        margin: 0;
    }

    body.lgbx-butikk ul.products li.product .woocommerce-loop-product__title {
        grid-column: 2;
        margin: 2px 0 0;
        font-size: 16.5px !important;
    }

    body.lgbx-butikk ul.products li.product .price {
        grid-column: 2;
        align-self: start;
        margin: 0;
    }

    /* Antall og «Legg i kurven» står under bildet og teksten, i hele kortets bredde. */
    body.lgbx-butikk ul.products li.product .lgbx-kjop,
    body.lgbx-butikk ul.products li.product .mk-product-warp > a.button,
    body.lgbx-butikk ul.products li.product a.added_to_cart {
        grid-column: 1 / -1;
    }

    body.lgbx-butikk ul.products li.product .lgbx-kjop,
    body.lgbx-butikk ul.products li.product .mk-product-warp > a.button {
        margin: 10px 0 0;
    }

    body.lgbx-butikk ul.products li.product a.button,
    body.lgbx-butikk ul.products li.product .lgbx-kjop a.button {
        min-height: 44px;
        font-size: 15px !important;
        white-space: nowrap;
    }

    body.lgbx-butikk ul.products li.product .my-tilbud-badge,
    body.lgbx-butikk ul.products li.product .custom-outofstock-label {
        top: 8px !important;
        right: auto !important;
        left: 8px !important;
        max-width: 100px;
        padding: 3px 8px !important;
        font-size: 11px !important;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
}

/* ── Romsiden: avdeling og fakta øverst, startdato, trygghet og detaljer under ── */

body.lgbx-butikk .lgbx-ikon {
    flex: none;
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

body.lgbx-butikk p.lgbx-rom-merke {
    margin: 0 0 8px;
    color: var(--bk-blue);
    font-size: 13px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

body.lgbx-butikk ul.lgbx-rom-fakta {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 22px;
    margin: 0 0 18px;
    padding: 0;
    list-style: none;
}

body.lgbx-butikk ul.lgbx-rom-fakta li {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    padding: 0;
    color: var(--bk-muted);
    font-size: 15.5px;
    line-height: 1.4;
    list-style: none;
}

body.lgbx-butikk ul.lgbx-rom-fakta .lgbx-ikon {
    color: var(--bk-blue);
}

body.lgbx-butikk ul.lgbx-rom-fakta a {
    margin: 0;
    color: var(--bk-blue);
    font-size: inherit;
    font-weight: 600;
    text-decoration: underline;
}

/* Produktteksten står i seksjonen under bestillingen (Lagerboks_Butikk::rom_detaljer). */
body.lgbx-butikk.lgbx-produkt-rom .summary .woocommerce-product-details__short-description {
    display: none;
}

body.lgbx-butikk.lgbx-produkt-rom .summary p.price {
    padding-bottom: 20px;
    border-bottom: 1px solid var(--bk-line);
}

body.lgbx-butikk .lgbx-startdato {
    display: grid;
    gap: 6px;
    margin: 0 0 20px;
}

body.lgbx-butikk .lgbx-startdato label {
    margin: 0;
    color: var(--bk-navy);
    font-size: 18px;
    font-weight: 700;
}

body.lgbx-butikk .lgbx-startdato input {
    width: 100%;
    max-width: 260px;
    height: 54px;
    margin: 0;
    padding: 0 14px;
    border: 1px solid #86868b;
    border-radius: 10px;
    background: #fff;
    color: var(--bk-ink);
    font-family: inherit;
    font-size: 16px;
    font-weight: 600;
}

body.lgbx-butikk .lgbx-startdato input:focus {
    border-color: var(--bk-blue);
    outline: 3px solid rgba(0, 176, 240, 0.35);
}

body.lgbx-butikk .lgbx-startdato small {
    color: var(--bk-muted);
    font-size: 14px;
    line-height: 1.45;
}

body.lgbx-butikk ul.lgbx-rom-trygghet {
    display: grid;
    gap: 8px;
    margin: 20px 0 0;
    padding: 0;
    list-style: none;
}

body.lgbx-butikk ul.lgbx-rom-trygghet li,
body.lgbx-butikk .lgbx-romdetaljer__avdeling li {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin: 0;
    padding: 0;
    color: var(--bk-muted);
    font-size: 15.5px;
    line-height: 1.45;
    list-style: none;
}

body.lgbx-butikk ul.lgbx-rom-trygghet .lgbx-ikon,
body.lgbx-butikk .lgbx-romdetaljer__avdeling li .lgbx-ikon {
    width: 22px;
    height: 22px;
    padding: 4px;
    border-radius: 50%;
    background: var(--bk-green-soft);
    color: #15803d;
    stroke-width: 3;
}

body.lgbx-butikk section.lgbx-romdetaljer {
    display: grid;
    grid-column: 1 / -1;
    grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
    gap: 28px;
    align-items: start;
    margin: 64px 0 0;
}

body.lgbx-butikk .lgbx-romdetaljer__tekst,
body.lgbx-butikk .lgbx-romdetaljer__avdeling {
    padding: 28px;
    border-radius: var(--bk-radius);
}

body.lgbx-butikk .lgbx-romdetaljer__tekst {
    border: 1px solid var(--bk-line);
    background: #fff;
    color: var(--bk-ink);
    font-size: 16px;
    line-height: 1.65;
}

body.lgbx-butikk .lgbx-romdetaljer__avdeling {
    background: var(--bk-bg);
}

body.lgbx-butikk .lgbx-romdetaljer h2 {
    margin: 0 0 14px;
    padding: 0;
    color: var(--bk-navy);
    font-size: 22px !important;
    font-weight: 800 !important;
    line-height: 1.2;
    letter-spacing: -0.01em;
    text-transform: none;
}

body.lgbx-butikk .lgbx-romdetaljer__tekst p {
    margin: 0 0 12px;
    color: var(--bk-ink);
    font-size: 16px;
    line-height: 1.65;
}

body.lgbx-butikk .lgbx-romdetaljer__tekst p:last-child {
    margin-bottom: 0;
}

body.lgbx-butikk .lgbx-romdetaljer__tekst strong {
    color: var(--bk-navy);
}

body.lgbx-butikk .lgbx-romdetaljer__tekst hr {
    height: 1px;
    margin: 16px 0;
    border: 0;
    background: var(--bk-line);
}

body.lgbx-butikk .lgbx-romdetaljer__tekst ul {
    margin: 0 0 12px;
    padding-left: 22px;
}

body.lgbx-butikk .lgbx-romdetaljer__tekst li {
    margin: 0 0 4px;
    font-size: 16px;
}

body.lgbx-butikk p.lgbx-romdetaljer__adresse {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 16px;
    color: var(--bk-ink);
    font-size: 16px;
    font-weight: 600;
}

body.lgbx-butikk p.lgbx-romdetaljer__adresse .lgbx-ikon {
    color: var(--bk-blue);
}

body.lgbx-butikk .lgbx-romdetaljer__avdeling ul {
    display: grid;
    gap: 10px;
    margin: 0 0 18px;
    padding: 0;
    list-style: none;
}

body.lgbx-butikk p.lgbx-romdetaljer__lenker {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 24px;
    margin: 0;
}

body.lgbx-butikk p.lgbx-romdetaljer__lenker a {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 44px;
    margin: 0;
    color: var(--bk-blue);
    font-size: 16px;
    font-weight: 600;
    text-decoration: none;
}

body.lgbx-butikk p.lgbx-romdetaljer__lenker a:hover {
    color: var(--bk-blue-dark);
    text-decoration: underline;
}

@media (max-width: 900px) {
    body.lgbx-butikk section.lgbx-romdetaljer {
        grid-template-columns: minmax(0, 1fr);
        gap: 16px;
        margin-top: 8px;
    }

    body.lgbx-butikk .lgbx-romdetaljer__tekst,
    body.lgbx-butikk .lgbx-romdetaljer__avdeling {
        padding: 20px;
    }

    body.lgbx-butikk .lgbx-startdato input {
        max-width: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.lgbx-butikk ul.products li.product .mk-product-warp,
    body.lgbx-butikk label.lgbx-avtale {
        transition: none;
    }
}
