.swclg-gate{max-width:1160px;margin:40px auto 70px;padding:0 24px}.swclg-gate__intro{margin-bottom:30px}.swclg-gate__intro h1{margin:0 0 10px;font-size:clamp(30px,4vw,48px);line-height:1.1}.swclg-gate__intro p{max-width:760px;font-size:17px}.swclg-back-link{display:inline-flex;margin-top:8px;text-decoration:none}.swclg-gate__columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.swclg-card{padding:30px;border:1px solid rgba(10,54,70,.18);border-radius:4px;background:#fff;box-shadow:0 8px 30px rgba(10,54,70,.06)}.swclg-card h2{margin-top:0}.swclg-card .login-username,.swclg-card .login-password{display:flex;flex-direction:column;gap:7px}.swclg-card input[type=text],.swclg-card input[type=password]{width:100%;min-height:44px}.swclg-card .login-submit{margin-bottom:0}.swclg-card .button,.swclg-card input[type=submit]{min-height:44px;padding:10px 22px}.swclg-lost-password{margin:10px 0 0}.swclg-guest-button{margin-top:12px}.swclg-checkout-gate-active .woocommerce-form-login-toggle{display:none!important}@media(max-width:760px){.swclg-gate{margin-top:24px;padding:0 16px}.swclg-gate__columns{grid-template-columns:1fr}.swclg-card{padding:22px}}

.swclg-minimum-order{margin:0 0 24px;padding:20px 22px;border:1px solid rgba(145,91,0,.28);border-radius:6px;background:#fff9ec}.swclg-minimum-order__content>strong{display:block;margin-bottom:6px;font-size:18px}.swclg-minimum-order__content p{margin:0 0 14px}.swclg-minimum-order__track{height:10px;overflow:hidden;border-radius:999px;background:rgba(10,54,70,.12)}.swclg-minimum-order__track span{display:block;height:100%;border-radius:inherit;background:currentColor;transition:width .2s ease}.swclg-minimum-order__meta{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:9px;font-size:14px}.swclg-minimum-order__meta a{font-weight:600}@media(max-width:600px){.swclg-minimum-order{padding:17px}.swclg-minimum-order__meta{align-items:flex-start;flex-direction:column;gap:8px}}

.swclg-minimum-order-root[hidden]{display:none!important}

/* Minstesum: checkout-knappen skal ikke kunne brukes før varebeløpet er gyldig. */
body.swclg-minimum-order-incomplete a.checkout-button,
body.swclg-minimum-order-incomplete .wc-proceed-to-checkout a.button,
body.swclg-minimum-order-incomplete a.wc-block-cart__submit-button,
body.swclg-minimum-order-incomplete .wc-block-cart__submit-button,
.swclg-checkout-button--disabled {
    opacity: .48 !important;
    cursor: not-allowed !important;
    pointer-events: none !important;
    filter: grayscale(.35);
    box-shadow: none !important;
}

.swclg-checkout-button--disabled:focus,
.swclg-checkout-button--disabled:hover {
    opacity: .48 !important;
    cursor: not-allowed !important;
}

/* Elementor og egendefinerte checkout-lenker låses også eksplisitt. */
body.swclg-minimum-order-incomplete a.elementor-button.swclg-checkout-button--disabled,
body.swclg-minimum-order-incomplete a[href].swclg-checkout-button--disabled,
.swclg-checkout-wrapper--disabled > .swclg-checkout-button--disabled {
    opacity: .42 !important;
    cursor: not-allowed !important;
    pointer-events: none !important;
    filter: grayscale(1) saturate(.2) !important;
    box-shadow: none !important;
}

.swclg-checkout-button--disabled .elementor-button-text,
.swclg-checkout-button--disabled .elementor-button-icon,
.swclg-checkout-button--disabled * {
    pointer-events: none !important;
}

/* Valgfri pluginstyrt overgang til kassen. Andre checkout-knapper skjules kun
   mens innstillingen er aktiv; Elementor/tema-innholdet endres ikke. */
.swclg-checkout-button--replaced,
.swclg-checkout-wrapper--replaced {
    display: none !important;
}

.swclg-managed-checkout-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin: 28px 0 10px;
    padding: 22px 24px;
    border: 1px solid rgba(10, 54, 70, .2);
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 8px 26px rgba(10, 54, 70, .07);
}

.swclg-managed-checkout-cta.is-ready {
    border-color: rgba(32, 122, 78, .32);
    background: rgba(242, 250, 246, .92);
}

.swclg-managed-checkout-cta.is-disabled {
    background: #f7f7f7;
}

.swclg-managed-checkout-cta__copy {
    display: flex;
    min-width: 0;
    flex: 1 1 auto;
    flex-direction: column;
    gap: 4px;
}

.swclg-managed-checkout-cta__copy strong {
    font-size: 18px;
    line-height: 1.3;
}

.swclg-managed-checkout-cta__copy span {
    max-width: 760px;
    color: rgba(20, 35, 43, .78);
    line-height: 1.5;
}

.swclg-managed-checkout-cta__button {
    display: inline-flex !important;
    min-width: 160px;
    min-height: 48px;
    align-items: center;
    justify-content: center;
    margin: 0 !important;
    text-align: center;
    white-space: nowrap;
}

@media (max-width: 760px) {
    .swclg-managed-checkout-cta {
        align-items: stretch;
        flex-direction: column;
        gap: 16px;
        margin-top: 22px;
        padding: 18px;
    }

    .swclg-managed-checkout-cta__button {
        width: 100%;
    }
}

/* Valgfri mobilforbedring. Alle regler er avgrenset av body-klassen slik at
   innstillingen kan slås av uten å etterlate designendringer. */
@media (max-width: 767px) {
    body.swclg-mobile-cart-polish-enabled .woocommerce-cart-form table.shop_table,
    body.swclg-mobile-cart-polish-enabled .woocommerce-cart-form table.cart,
    body.swclg-mobile-cart-polish-enabled .woocommerce-cart-form table.shop_table tbody {
        display: block;
        width: 100%;
        border: 0;
    }

    body.swclg-mobile-cart-polish-enabled .woocommerce-cart-form table.shop_table thead,
    body.swclg-mobile-cart-polish-enabled .woocommerce-cart-form table.cart thead {
        display: none;
    }

    body.swclg-mobile-cart-polish-enabled .woocommerce-cart-form table.shop_table tr.cart_item,
    body.swclg-mobile-cart-polish-enabled .woocommerce-cart-form table.cart tr.cart_item {
        position: relative;
        display: grid;
        grid-template-columns: 76px minmax(0, 1fr);
        gap: 4px 14px;
        margin: 0 0 16px;
        padding: 18px;
        overflow: hidden;
        border: 1px solid rgba(10, 54, 70, .16);
        border-radius: 8px;
        background: #fff;
        box-shadow: 0 5px 18px rgba(10, 54, 70, .05);
    }

    body.swclg-mobile-cart-polish-enabled .woocommerce-cart-form table.shop_table tr.cart_item td,
    body.swclg-mobile-cart-polish-enabled .woocommerce-cart-form table.cart tr.cart_item td {
        display: flex;
        width: auto;
        min-width: 0;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        padding: 7px 0;
        border: 0;
        text-align: left !important;
    }

    body.swclg-mobile-cart-polish-enabled .woocommerce-cart-form td.product-remove {
        position: absolute;
        z-index: 2;
        top: 9px;
        right: 10px;
        display: block !important;
        padding: 0 !important;
    }

    body.swclg-mobile-cart-polish-enabled .woocommerce-cart-form td.product-remove a.remove {
        display: inline-flex;
        width: 34px;
        height: 34px;
        align-items: center;
        justify-content: center;
        border-radius: 50%;
    }

    body.swclg-mobile-cart-polish-enabled .woocommerce-cart-form td.product-thumbnail {
        grid-row: 1 / span 4;
        grid-column: 1;
        align-items: flex-start !important;
        justify-content: center !important;
        padding-top: 10px !important;
    }

    body.swclg-mobile-cart-polish-enabled .woocommerce-cart-form td.product-thumbnail img {
        width: 68px;
        max-width: 68px;
        height: auto;
        object-fit: contain;
    }

    body.swclg-mobile-cart-polish-enabled .woocommerce-cart-form td.product-name,
    body.swclg-mobile-cart-polish-enabled .woocommerce-cart-form td.product-price,
    body.swclg-mobile-cart-polish-enabled .woocommerce-cart-form td.product-quantity,
    body.swclg-mobile-cart-polish-enabled .woocommerce-cart-form td.product-subtotal {
        grid-column: 2;
        padding-right: 34px;
    }

    body.swclg-mobile-cart-polish-enabled .woocommerce-cart-form td.product-name {
        display: block !important;
        padding-top: 8px !important;
        font-weight: 600;
        line-height: 1.35;
    }

    body.swclg-mobile-cart-polish-enabled .woocommerce-cart-form td.product-price::before,
    body.swclg-mobile-cart-polish-enabled .woocommerce-cart-form td.product-quantity::before,
    body.swclg-mobile-cart-polish-enabled .woocommerce-cart-form td.product-subtotal::before {
        content: attr(data-title);
        flex: 0 0 auto;
        color: rgba(20, 35, 43, .68);
        font-size: 13px;
        font-weight: 600;
    }

    body.swclg-mobile-cart-polish-enabled .woocommerce-cart-form td.product-quantity .quantity {
        margin-left: auto;
    }

    body.swclg-mobile-cart-polish-enabled .woocommerce-cart-form td.product-quantity input.qty {
        width: 76px;
        min-height: 42px;
        margin: 0;
        text-align: center;
    }

    body.swclg-mobile-cart-polish-enabled .woocommerce-cart-form table.shop_table tr:not(.cart_item) td.actions,
    body.swclg-mobile-cart-polish-enabled .woocommerce-cart-form table.cart tr:not(.cart_item) td.actions {
        display: flex;
        width: 100%;
        flex-wrap: wrap;
        gap: 10px;
        padding: 12px 0 0;
        border: 0;
    }

    body.swclg-mobile-cart-polish-enabled .woocommerce-cart-form td.actions button,
    body.swclg-mobile-cart-polish-enabled .woocommerce-cart-form td.actions .button,
    body.swclg-mobile-cart-polish-enabled .woocommerce-cart-form td.actions input.button {
        width: 100%;
        min-height: 46px;
        margin: 0 !important;
    }

    body.swclg-mobile-cart-polish-enabled .swclg-minimum-order {
        margin-bottom: 18px;
        padding: 17px;
    }

    body.swclg-mobile-cart-polish-enabled .swclg-minimum-order__content > strong {
        font-size: 17px;
    }

    body.swclg-mobile-cart-polish-enabled .swclg-minimum-order__meta {
        align-items: stretch;
    }

    body.swclg-mobile-cart-polish-enabled .swclg-minimum-order__meta a {
        display: inline-flex;
        min-height: 42px;
        align-items: center;
        justify-content: center;
        padding: 8px 12px;
        border: 1px solid currentColor;
        border-radius: 4px;
        text-decoration: none;
    }
}

/* Valgfri forklaring over deaktivert kasseknapp. */
.swclg-managed-checkout-cta__action,
.swclg-checkout-hint-anchor {
    position: relative;
    display: inline-flex;
    flex: 0 0 auto;
}

.swclg-checkout-disabled-hint {
    position: absolute;
    z-index: 40;
    right: 0;
    bottom: calc(100% + 10px);
    width: max-content;
    max-width: min(340px, 82vw);
    padding: 9px 12px;
    border-radius: 6px;
    background: #0a3646;
    color: #fff;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.4;
    text-align: left;
    white-space: normal;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(4px);
    transition: opacity .15s ease, transform .15s ease, visibility .15s ease;
    box-shadow: 0 7px 20px rgba(10, 54, 70, .2);
}

.swclg-checkout-disabled-hint::after {
    content: '';
    position: absolute;
    top: 100%;
    right: 24px;
    border: 6px solid transparent;
    border-top-color: #0a3646;
}

.swclg-checkout-hint-anchor:hover > .swclg-checkout-disabled-hint,
.swclg-checkout-hint-anchor:focus-within > .swclg-checkout-disabled-hint,
.swclg-checkout-hint-anchor.is-hint-visible > .swclg-checkout-disabled-hint,
.swclg-managed-checkout-cta__action.has-disabled-hint:hover > .swclg-checkout-disabled-hint,
.swclg-managed-checkout-cta__action.has-disabled-hint:focus-within > .swclg-checkout-disabled-hint {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

@media (max-width: 760px) {
    .swclg-managed-checkout-cta__action,
    .swclg-checkout-hint-anchor {
        width: 100%;
    }

    .swclg-checkout-disabled-hint {
        right: 0;
        left: 0;
        width: auto;
        max-width: none;
    }
}


/* v0.1.9.5: Én enkel, direkte passordlenke i pluginens eget skjema. */
.swclg-checkout-gate-active .swclg-card--login .swclg-lost-password--direct {
    display: block !important;
    width: 100% !important;
    margin: 8px 0 14px !important;
    padding: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
    position: static !important;
    overflow: visible !important;
    clip: auto !important;
    clip-path: none !important;
    transform: none !important;
}
.swclg-checkout-gate-active .swclg-card--login .swclg-lost-password--direct a {
    display: inline-flex !important;
    opacity: 1 !important;
    visibility: visible !important;
    text-decoration: underline;
}


/* v0.1.9.6: serverlenke + ikke-destruktiv browser-fallback for cachet/builder-rendret gate. */
body.swclg-checkout-gate-active #swclg-lost-password-link {
    display: block !important;
    width: 100% !important;
    margin: 8px 0 14px !important;
    padding: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
    position: static !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
}
body.swclg-checkout-gate-active #swclg-lost-password-link a {
    display: inline-flex !important;
    opacity: 1 !important;
    visibility: visible !important;
    color: inherit;
    text-decoration: underline;
}


/* v0.1.9.7: synlig plugin-eid lenke i Elementor Jet Login på handlekurv/checkout. */
.elementor-widget-jet-login form#loginform .swclg-lost-password--jet,
.elementor-widget-jet-login form[name="loginform"] .swclg-lost-password--jet,
.jet-login form#loginform .swclg-lost-password--jet,
#swclg-loginform .swclg-lost-password--jet {
    display: block !important;
    width: 100% !important;
    margin: 6px 0 12px !important;
    padding: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
    position: static !important;
    height: auto !important;
    overflow: visible !important;
}
.elementor-widget-jet-login .swclg-lost-password--jet a,
.jet-login .swclg-lost-password--jet a,
#swclg-loginform .swclg-lost-password--jet a {
    display: inline-flex !important;
    opacity: 1 !important;
    visibility: visible !important;
    text-decoration: underline !important;
}
