body:not(.woocommerce-cart-items-toggled) .show-less-items,
body:not(.woocommerce-cart-items-toggled) .cart_item_hidden,
body.woocommerce-cart-items-toggled .show-more-items {
    display: none;
}

body:not(.woocommerce-cart-items-toggled) .cart_item_fadeout td {
    -webkit-mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0.2) 40%, rgba(0, 0, 0, 0) 100%);
    mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0.2) 40%, rgba(0, 0, 0, 0) 100%);
}

/* Messages */

.breakdance-woocommerce .woocommerce-error a {
    float: none !important;
    text-transform: none !important;
    font-weight: 500 !important;
}

.breakdance-woocommerce .woocommerce-error a::after {
    display: none !important;
}

.woocommerce-invalid input {
    outline: solid 2px var(--bde-woo-notices__error-text) !important;
}

.checkout-inline-error-message {
    color: var(--bde-woo-notices__error-text);
}

/* Coupon */

.woocommerce-coupon {
    border: 1px solid var(--bde-palette-color-1-20259d0a-aa11-4aac-8a83-cd2daa4c30df);
    border-radius: 8px;
    overflow: hidden;
    color: var(--bde-body-text-color);
}

.woocommerce-form-coupon-toggle .woocommerce-info {
    background: transparent !important;
    padding: 15px 20px !important;
}

.woocommerce-form-coupon-toggle .woocommerce-info:before {
    display: none;
}

.woocommerce-form-coupon-toggle .woocommerce-info a.showcoupon {
    float: none;
    text-transform: none;
    text-decoration: underline;
}

.woocommerce-form-coupon-toggle .woocommerce-info a.showcoupon:after {
    display: none;
}

.woocommerce-coupon form.checkout_coupon.woocommerce-form-coupon {
    border: none;
    background: transparent;
    padding: 0 20px 30px 20px;
}

.woocommerce-form-coupon p.form-row button[name=apply_coupon] {
    color: var(--bde-button-secondary-text-color);
}

.woocommerce-form-coupon p.form-row button[name=apply_coupon]:hover {
    background-color: var(--bde-button-secondary-background-color-hover) !important;
    border-color: var(--bde-button-secondary-background-color-hover);
}

.woocommerce-order-received .bde-checkout-coupon-form.breakdance-woocommerce {
    display: none;
}

.bde-checkout-builder .woocommerce-form-coupon p:first-child,
.breakdance-woocommerce .woocommerce-form-coupon p:first-child {
    display: none !important;
}

.woocommerce-order-received section.checkout {
    min-height: calc(100vh - 200px);
}

@media (max-width:767px) {
    .woocommerce-coupon form.checkout_coupon.woocommerce-form-coupon {
        display: flex;
        flex-direction: column;
    }

    .woocommerce-form-coupon p.form-row button[name=apply_coupon] {
        width: 100%;
    }

    .woocommerce-form-coupon-toggle .woocommerce-info a.showcoupon {
        display: block;
        margin-top: 5px !important;
    }
}

/* Checkout Fields & Other */

.woocommerce-billing-fields h3 {
    font-size: 21px !important;
}

h3#ship-to-different-address label span {
    font-size: 15px !important;
}

h3#order_review_heading {
    display: none;
}

h3.checkout-subheader {
    font-weight: 600 !important;
    line-height: 120%;
    border-bottom: 1px solid var(--bde-palette-color-1-6fff2918-e098-4276-85d0-d841249db119);
    padding-bottom: 10px !important;
    margin-bottom: 10px !important;
    font-size: 21px !important;
    letter-spacing: 0;
    text-transform: none;
}

.shipping-method-review,
.woocommerce-checkout-review-order-table,
.woocommerce-checkout-payment {
    background: white;
    padding: 20px;
    border-radius: 6px !important;
    border: 1px solid var(--bde-palette-color-1-6fff2918-e098-4276-85d0-d841249db119) !important;
    box-shadow: none !important;
}

table.woocommerce-checkout-review-order-table thead,
table.woocommerce-checkout-review-order-table tbody {
    border: none !important;
    box-shadow: none !important;
    background-color: transparent !important;
}

table.woocommerce-checkout-review-order-table tbody td {
    padding: 10px 0 !important;
    width: 100%;
}

.woocommerce-checkout-review-order-table {
    display: block;
}

.woocommerce-checkout-review-order-table tfoot td {
    padding: 0px !important;
    text-align: right !important;
    font-size: 14px !important;
}

.woocommerce-checkout-review-order-table tfoot th {
    padding: 0px !important;
    font-size: 14px !important;
}

.woocommerce-checkout-review-order-table tbody tr:not(:last-child) {
    border-bottom: dashed 1px #DCD9D4 !important;
}

.woocommerce-checkout-review-order-table tfoot tr:first-child td,
.woocommerce-checkout-review-order-table tfoot tr:first-child th {
    padding-top: 10px !important;
}

.woocommerce-checkout-review-order-table tfoot tr.shipping th,
.woocommerce-checkout-review-order-table tfoot tr.shipping td {
    padding-bottom: 10px !important;
}

small.includes_tax {
    display: block;

    .amount {
        font-weight: 500;
    }
}

.woocommerce-checkout-review-order-table tfoot tr {
    border-bottom: none !important;
}

.woocommerce-checkout-review-order-table tfoot tr:last-child {
    border-top: dashed 1px #DCD9D4 !important;
}

.woocommerce-checkout-review-order-table tfoot tr:last-child td,
.woocommerce-checkout-review-order-table tfoot tr:last-child th {
    padding-top: 10px !important;
}

.woocommerce-checkout-review-order-table tfoot tr.order-total td {
    font-weight: 700;
}

.woocommerce-checkout-review-order-table tr.cart_item_show_more td {
    text-align: center;
    padding: 10px !important;
}

button.cart_item_toggle_button.show-more-items,
button.cart_item_toggle_button.show-less-items {
    background: none;
    border: none;
    font-weight: 700;
    padding: 0;
    cursor: pointer;
}

.woocommerce-checkout-review-order-table tr.cart_item td.product-total {
    text-align: right;
    max-width: 0;
}

.woocommerce-checkout-review-order-table tr.cart_item td.product-total bdi,
.woocommerce-checkout-review-order-table tfoot tr:not(.order-total) td bdi {
    font-weight: 600 !important;
    font-size: 14px;
}

.woocommerce-checkout-review-order-table .product-name-wrapper {
    display: flex;
}

.woocommerce-checkout-review-order-table .product-name-wrapper img {
    margin-right: 10px;
    object-fit: contain;
    border: solid 1px #e8e7e3;
    border-radius: 3px;
    width: 40px;
    height: 40px;
    padding: 1px;
    flex-shrink: 0;
}

.woocommerce-checkout-review-order-table .product-name-wrapper .product-data {
    font-size: 13px;
}

.woocommerce-checkout-review-order-table .product-name-wrapper .product-data .product-title {
    font-weight: 700;
    font-size: 13px;
    line-height: 120%;
}

.woocommerce-checkout-review-order-table .cart_item span.product-sku {
    font-size: 10px;
    opacity: .6;
}

.form-row.address-field#billing_country_field span.woocommerce-input-wrapper,
.form-row.address-field#shipping_country_field span.woocommerce-input-wrapper {
    background: white;
    width: 100%;
    display: flex;
    border-top: 1px solid var(--bde-palette-color-1-20259d0a-aa11-4aac-8a83-cd2daa4c30df);
    border-bottom: 1px solid var(--bde-palette-color-1-20259d0a-aa11-4aac-8a83-cd2daa4c30df);
    border-left: 1px solid var(--bde-palette-color-1-20259d0a-aa11-4aac-8a83-cd2daa4c30df);
    border-right: 1px solid var(--bde-palette-color-1-20259d0a-aa11-4aac-8a83-cd2daa4c30df);
    border-radius: 6px;
    font-size: 16px;
    font-weight: 500;
    padding-top: var(--bde-form-input-padding-top);
    padding-right: var(--bde-form-input-padding-right);
    padding-bottom: var(--bde-form-input-padding-bottom);
    padding-left: var(--bde-form-input-padding-left);
    cursor: not-allowed;
}

.form-row.address-field#billing_country_field span.woocommerce-input-wrapper strong,
.form-row.address-field#shipping_country_field span.woocommerce-input-wrapper strong {
    font-weight: 500;
    opacity: .5;
}

tr.cart-discount td {
    display: flex;
    align-items: center;
    gap: 5px;
    padding-bottom: 10px !important;
}

a.woocommerce-remove-coupon {
    font-size: 12px;
    text-decoration: none;
}

@media (max-width:767px) {

    .shipping-method-review,
    .woocommerce-checkout-review-order-table,
    .woocommerce-checkout-payment {
        padding: 20px;
    }

    span.shipping-title {
        max-width: 80%;
    }

    .form-row-first,
    .form-row-last {
        width: 100% !important;
    }

    .woocommerce-checkout-review-order-table tfoot tr:last-child td {
        min-width: 160px;
    }
}

/* Shipping Methods */

.woocommerce-shipping-methods {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    gap: 0 !important;
}

.woocommerce-shipping-methods li {
    flex-wrap: wrap;
}

.woocommerce-shipping-methods li:not(:last-of-type) {
    margin-bottom: 10px !important;
}

.woocommerce-shipping-methods li input {
    display: none;
}

.woocommerce-shipping-methods li label {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    padding: 20px 15px;
    border: 1px solid var(--bde-palette-color-1-20259d0a-aa11-4aac-8a83-cd2daa4c30df);
    border-radius: 8px;
    transition: border-color 100ms ease;
    cursor: pointer;
    width: 100%;
}

.woocommerce-shipping-methods .shipping-method-title {
    display: flex;
    flex: 1;
    font-weight: 600;
    line-height: 140%;
}

.shipping-method-description {
    width: 100%;
    margin-top: 10px;
    color: green;
    font-size: 13px;
    font-weight: 500;
    line-height: 166%;
}

.woocommerce-shipping-methods li label span.woocommerce-Price-amount.amount {
    margin-left: auto;
    font-size: 14px;
}

.woocommerce-shipping-methods li label:hover,
.woocommerce-shipping-methods li input:checked+label {
    border-color: var(--bde-palette-color-1-48e65e20-24bc-4af5-bf15-794a34a1167c);
}

.woocommerce-shipping-methods li label:before {
    content: "";
    margin-right: 10px;
    width: 20px;
    height: 20px;
    border: 1px solid var(--bde-palette-color-1-20259d0a-aa11-4aac-8a83-cd2daa4c30df);
    border-radius: 100px;
    display: inline-flex;
    transition: background-color 100ms ease;
}

.woocommerce-shipping-methods li input:checked+label:before {
    border: solid 6px var(--bde-palette-color-1-48e65e20-24bc-4af5-bf15-794a34a1167c);
}

.shipping_company_required {
    padding: 10px;
    width: 100%;
    margin-top: 5px;
}

@media (max-width:767px) {
    .woocommerce-shipping-methods .shipping-method-title {
        font-size: 14px;
        line-height: 130%;
        gap: 20px;
    }
}

/* Shipmondo */

.shipmondo-original {
    width: 100%;
}

.service-point-selector-error {
    line-height: 140%;
    background: var(--color-error-light);
    padding: 10px 15px;
    border-radius: var(--border-radius-small);
    margin-top: 10px;
}

.powered_by_shipmondo {
    display: none;
}

.shipmondo-original .shipmondo_service_point_selection .selected_service_point {
    padding: 15px 20px;
    background-color: #ecf6ff;
    transition: background-color .2s ease;
    border-radius: 8px;
}

.shipmondo-original .shipmondo_service_point_selection .selected_service_point .header {
    margin: 0;
}

.shipmondo_service_point_selection .service_point .header .name {
    font-weight: 600;
    line-height: 130%;
}

.shipmondo_service_point_selection .service_point .location {
    font-weight: 500;
    font-size: 14px;
    justify-content: flex-start;
}

.shipmondo_service_point_selection .service_point .location .distance {
    font-weight: 700;
}

.shipmondo-original .shipmondo_service_point_selection .selected_service_point:hover {
    background-color: #ddebf8;
}

.shipmondo-modal_header h4 {
    font-weight: 700 !important;
    font-size: 20px !important;
}

.shipmondo-original .shipmondo_service_point_selection .selected_service_point:after {
    width: 25px;
    height: 25px;
}

.shipmondo_service_point_selection .service_points_modal .shipmondo-modal_wrapper .shipmondo-modal_content {
    border-radius: 10px !important;
    border: none;
    overflow: hidden;
}

/* Payment Methods */

ul.wc_payment_methods.payment_methods.methods:before {
    content: "Vælg betaling";
    font-size: 21px;
    line-height: 120%;
    font-weight: 600;
    border-bottom: 1px solid var(--bde-palette-color-1-6fff2918-e098-4276-85d0-d841249db119);
    padding-bottom: 10px;
    margin-bottom: 10px;
    letter-spacing: 0;
    text-transform: none;
}

.payment_box {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    font-weight: 500;
    font-size: 14px;
    display: flex !important;
    margin: 0 !important;
}

.wc_payment_method input[type=radio] {
    display: none;
}

.wc_payment_method label {
    display: flex !important;
    flex-wrap: wrap;
    align-items: center;
    padding: 15px;
    border: 1px solid var(--bde-palette-color-1-20259d0a-aa11-4aac-8a83-cd2daa4c30df);
    border-radius: 8px;
    transition: border-color 100ms ease;
    cursor: pointer;
    width: 100%;
}

.wc_payment_method input:checked+label {
    border-color: var(--bde-palette-color-1-48e65e20-24bc-4af5-bf15-794a34a1167c);
}

.wc_payment_method label:before {
    content: "";
    margin-right: 10px;
    width: 20px;
    height: 20px;
    border: 1px solid var(--bde-palette-color-1-20259d0a-aa11-4aac-8a83-cd2daa4c30df);
    border-radius: 100px;
    display: inline-flex;
    transition: background-color 100ms ease;
}

.wc_payment_method label img {
    margin-left: auto;
    height: 20px;
    object-fit: contain;
}

.wc_payment_method input:checked+label:before {
    border: solid 6px var(--bde-palette-color-1-48e65e20-24bc-4af5-bf15-794a34a1167c);
}

ul.wc_payment_methods.payment_methods.methods {
    gap: 10px;
}

ul.wc_payment_methods.payment_methods.methods li.wc_payment_method .payment_box p {
    font-size: 13px;
    margin-top: 5px;
    font-size: 13px;
    line-height: 166%;
}

.payment_method_pensopay label img:first-child,
.payment_method_mobilepay label img:first-child {
    margin-left: auto;
}

.payment_method_pensopay label img {
    object-fit: contain;
    padding: 3px;
    margin-left: 5px;
    border-radius: 4px;
    width: 35px;
}

.woocommerce-form__label-for-checkbox.checkbox span {
    display: block;
    position: relative;
    line-height: 130%;
    font-weight: 500;
}

.woocommerce-terms-and-conditions-wrapper label.woocommerce-form__label.woocommerce-form__label-for-checkbox.checkbox {
    display: flex;
    justify-content: center;
    align-items: center;
}

span.woocommerce-terms-and-conditions-checkbox-text:after {
    content: "*";
    margin-left: 3px;
}

.woocommerce-terms-and-conditions-wrapper abbr.required {
    display: none !important;
}