/* Hide the 'update cart' button, this is now handled automatically with js */

.woocommerce button[name="update_cart"], .woocommerce input[name="update_cart"] {
    display: none;
}


/* Cart page */

.cart-main .woocommerce-notices-wrapper {
    --max-width: var(--container-lg);
    width: min(var(--max-width) - var(--site-padding), 100% - (var(--site-padding) * 2));
    margin-inline: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

.cart-wrapper {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: var(--space-3) var(--site-padding);
    margin-bottom: var(--space-4);
    font-size: var(--h5);
}

.cart-wrapper .cart-items {
    flex: 1.5 1 400px;
    margin-bottom: var(--space-3);
}

.cart-wrapper .cart-collaterals {
    flex: 1 1 280px;
    margin-bottom: var(--space-3);
}


/* Cart items */

.cart-wrapper .cart-items h1 {
    margin-block: 1.25rem .5rem;
}

.cart-item {
    position: relative;
    display: flex;
    align-items: flex-start;
    padding-block: 2.5rem 1.5rem;
    gap: 1.5rem;
    border-bottom: 1px solid var(--green-dark);
}

.cart-item:first-child {
    padding-top: 1rem;
}

.cart-item .product-thumbnail {
    flex: none;
    width: clamp(50px, 17.5%, 150px);
    border-radius: var(--rounded-1);
    overflow: hidden;
    aspect-ratio: 1.2 / 1;
}

.cart-item .product-thumbnail img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.cart-item .product-body {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: .75em;
    padding-block: .375em;
}

.cart-item .product-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1.25em;
}

.cart-item .product-name {
    max-width: 540px;
}

.cart-item .product-name a {
    color: var(--green-dark);
    text-decoration: none;
    font-weight: var(--bold);
}

.cart-item .product-name a:hover {
    color: var(--green-dark);
    text-decoration: underline;
}

.cart-item .product-name a:active {
    color: var(--green);
}

.cart-item .product-subtotal {
    flex: none;
    font-weight: var(--bold);
    color: var(--green);
}


.cart-item .product-footer {
    display: flex;
    align-items: center;
    gap: .75em;
}

.cart-item .product-quantity input {
    max-width: 6em;
    height: 2.25rem;
    border-radius: .25rem;
    padding: .625rem .625rem .5rem;
}

.cart-item .product-remove a {
    height: 2.25rem;
    aspect-ratio: 1;
    padding: .5rem;
    border-radius: .25rem;
    display: inline-block;
    text-align: center;
    text-decoration: none;
    color: var(--green);
    transition: box-shadow 200ms;
}

.cart-item .product-remove a:hover {
    color: var(--green);
    box-shadow: inset 0 0 0 1px currentColor, 0 0 0 3px currentColor;
}

.cart-item .product-remove a:active {
    color: var(--green-dark);
    background-color: var(--darken);
    transform: translateY(1px);
}

.cart-item .product-remove a svg {
    height: 100%;
    width: auto;
    fill: currentColor;
}

.cart-item .flags {
    position: absolute;
    top: calc(100% + .25em);
    right: 10%;
    height: 1.625rem;
    width: auto;
}

.cart-item:nth-child(even) .flags {
    right: auto;
    left: 10%;
}

.cart-item:nth-child(3) .flags {
    right: 20%;
}

.cart-item:nth-child(4) .flags {
    left: 20%;
}


/* Cart collatorals */

.cart-collaterals {
    padding: 2.25rem;
    position: relative;
}

.cart-collaterals:after, .order-overview:after {
    content: '';
    display: block;
    position: absolute;
    left: 0;
    right: 0;
    top: calc(100% - 2px);
    height: 1.375rem;
    background-image: url('data:image/svg+xml,<svg width="60" height="30" viewBox="0 0 60 30" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M-5 29.2162V7.86781e-06L0 8.58307e-06L60 0L65 7.15256e-07V29.2162C63.5302 29.7149 61.8833 30 60 30C52.5 30 48.75 25.4783 45 20.9565C41.25 16.4348 37.5 11.913 30 11.913C22.5 11.913 18.75 16.4348 15 20.9565C11.25 25.4783 7.5 30 0 30C-1.88334 30 -3.53021 29.7149 -5 29.2162Z" fill="%23004C43"/></svg>');
    background-size: auto 100%;
    background-position: center;
}

.cart-collaterals h2 {
    font-size: calc(var(--h2) * .875);
    margin-top: 0;
    margin-bottom: 1.75rem;
}

.cart-collaterals table {
    width: 100%;
    border-collapse: collapse;
}

.cart-collaterals th, .cart-collaterals td {
    padding-bottom: 1.5em;
    vertical-align: top;
    text-align: left;
}

.cart-collaterals th {
    font-weight: var(--bold);
    padding-right: 1em;
}

.cart-collaterals tr.order-total th, .cart-collaterals tr.order-total td {
    padding-top: 1.5em;
    border-top: 1px dashed var(--white);
}

.cart-collaterals tr.order-total .includes_tax {
    display: block;
}

.cart-collaterals tr.order-total .includes_tax .amount {
    font-weight: var(--regular);
}

.cart-collaterals .checkout-button {
    width: 100%;
    max-width: 440px;
    margin-inline: auto;
    display: block;
    margin-top: .5rem;
}

.cart-collaterals p {
    margin-bottom: 1em;
}

.cart-collaterals ul {
    list-style: none;
    padding: 0;
}

.cart-collaterals td>*:last-child {
    margin-bottom: 0;
}

/* Adres wijzigen country / land verbergen want is altijd NL */

.shipping-calculator-form #calc_shipping_country_field {
    display: none;
}

/* Shipping adres niet meer tonen */

.cart-collaterals .woocommerce-shipping-destination {
    display: none;
}



/* Small screen modifications */

@media (max-width: 480px) {
    .cart-wrapper {
        margin-bottom: 0;
    }

    .cart-wrapper .cart {
        margin-left: calc(var(--site-padding) * -1);
        margin-right: calc(var(--site-padding) * -1);
        width: calc(100% + var(--site-padding) * 2);
    }

    .cart-item {
        gap: var(--site-padding);
        padding-inline: var(--site-padding);
    }

    .cart-collaterals {
        padding-inline: var(--site-padding);
    }
}



/* Checkout page */

/* Login toggle */

.woocommerce-form-login-toggle {
    margin-bottom: var(--space-2);
}

.woocommerce-form-login, .lost_reset_password {
    background-color: var(--dim);
    font-size: var(--h5);
    padding: var(--site-padding);
    margin-bottom: 3rem;
    display: flex;
    flex-wrap: wrap;
    column-gap: 1rem;
    position: relative;
}

.woocommerce-form-login:after, .lost_reset_password:after {
    content: '';
    display: block;
    position: absolute;
    left: 0;
    right: 0;
    top: calc(100% - 2px);
    height: 1.375rem;
    background-image: url('data:image/svg+xml,<svg width="60" height="30" viewBox="0 0 60 30" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M-5 29.2162V7.86781e-06L0 8.58307e-06L60 0L65 7.15256e-07V29.2162C63.5302 29.7149 61.8833 30 60 30C52.5 30 48.75 25.4783 45 20.9565C41.25 16.4348 37.5 11.913 30 11.913C22.5 11.913 18.75 16.4348 15 20.9565C11.25 25.4783 7.5 30 0 30C-1.88334 30 -3.53021 29.7149 -5 29.2162Z" fill="%23F6EFE0"/></svg>');
    background-size: auto 100%;
    background-position: center;
}

.woocommerce-form-login>* {
    flex-basis: 320px;
    flex-grow: 1;
    min-width: 100%;
}

.woocommerce-form-login>*:first-child {
    margin-top: 0;
}

.woocommerce-form-login .form-row-first, .woocommerce-form-login .form-row-last {
    min-width: calc(50% - .5rem) !important;
}


/* Checkout forms */

#billing_country_field {
    display: none;
}

.wcnlpc-error:empty, .wcnlpc-manual:empty {
    display: none;
}

.wcnlpc-error, .wcnlpc-manual {
    color: var(--invalid);
    font-size: var(--h5);
}

.form-row {
    position: relative;
    width: 100%;
}

.form-row .required {
    display: none;
}

.form-row small, .form-row em {
    display: block;
    margin-top: .5rem;
    font-style: normal;
    font-size: var(--h5);
}

.woocommerce-checkout .form-row input[type="text"], .woocommerce-checkout .form-row input[type="number"], .woocommerce-checkout .form-row input[type="email"], .woocommerce-checkout .form-row input[type="tel"], .woocommerce-checkout .form-row input[type="search"],
.woocommerce-checkout .form-row input[type="date"], .woocommerce-checkout .form-row input[type="password"], .woocommerce-checkout .form-row input[type="url"], .woocommerce-checkout .form-row textarea, .woocommerce-checkout .form-row select {
    height: 3.25rem;
    padding: 1rem .625rem 0;
    max-width: none;
}

.woocommerce-checkout .form-row label:not(.checkbox, .woocommerce-form__label) {
    position: absolute;
    top: 1rem;
    left: .625rem;
    transition: 200ms;
}

.woocommerce-checkout .form-row:has(input:focus) label:not(.checkbox, .woocommerce-form__label), .woocommerce-checkout .form-row:has(input:not(:placeholder-shown)) label:not(.checkbox, .woocommerce-form__label) {
    top: .375rem;
    font-size: var(--h6);
}

.woocommerce-checkout .form-row:has(input:not(:placeholder-shown)) label:not(.checkbox, .woocommerce-form__label) {
    color: var(--gray);
}

.woocommerce-checkout .form-row:has(input:focus:not([readonly])) label:not(.checkbox) {
    color: var(--green);
}

.woocommerce-checkout .form-row.woocommerce-invalid label:not(.checkbox) {
    color: var(--invalid) !important;
}

.woocommerce-checkout .form-row.woocommerce-invalid input, .woocommerce-checkout .form-row.woocommerce-invalid textarea, .woocommerce-checkout .form-row.woocommerce-invalid select {
    --border: var(--invalid);
}

input[readonly] {
    --border: var(--gray);
    box-shadow: none;
    color: #aaa;
    background-color: #ddd;
}

input[readonly]:focus {
    --border: var(--gray);
    box-shadow: none;
    color: #aaa;
    background-color: #ddd;
}

#ship-to-different-address {
    font-size: 1rem;
    margin: 0;
    margin-bottom: var(--space-2);
}

.shipping_address {
    padding-block: var(--space-3) var(--space-2);
}

.shipping_address>*:first-child {
    margin-top: 0;
}

.shipping_address>*:last-child {
    margin-bottom: 0;
}


/* Rows layout */

[class*="__field-wrapper"] {
    display: flex;
    flex-wrap: wrap;
    gap: 1.5rem 1rem;
    margin-bottom: var(--space-2);
}

[class*="__field-wrapper"]>* {
    margin: 0 !important;
    float: none !important;
    flex-basis: 320px;
    flex-grow: 1;
    min-width: 100%;
}

[class*="__field-wrapper"] .row-half, [class*="__field-wrapper"] .form-row-first, [class*="__field-wrapper"] .form-row-wide {
    min-width: calc(50% - .5rem) !important;
}

[class*="__field-wrapper"] .row-quarter, [class*="__field-wrapper"] .form-row-quart-first, [class*="__field-wrapper"] .form-row-quart {
    min-width: calc(25% - 1rem) !important;
    flex-basis: 160px;
}

/* stupid hack to bypass the checkout 'pro' plugin */
[class*="__field-wrapper"] .form-row-quart-first+.form-row-quart {
    margin-left: -4% !important;
}


/* Checkout order date selection */

.woocommerce-additional-fields {
    padding-block: var(--space-3) var(--space-2);
}

.woocommerce-additional-fields>:first-child {
    margin-top: 0;
}

.woocommerce-additional-fields>*:last-child {
    margin-bottom: 0;
}

.woocommerce-additional-fields h3 {
    line-height: 1;
    margin-top: 0;
    margin-bottom: .375em;
}

.datepicker input[type="date"] {
    color: #004C43;
    max-width: 24rem;
}

.datepicker input[type="date"]::-webkit-datetime-edit {
    color: #004C43;
    padding-top: .5rem;
}

.no-delivery-notice, .product-restriction-notices {
    padding: .75em .75em .55em;
    line-height: 1.375;
    background-color: var(--yellow);
    color: var(--green-dark);
    font-weight: var(--bold);
    font-size: var(--h6);
    width: fit-content;
}


/* Checkout order review */

.order-review-wrapper {
    position: relative;
    margin-top: calc(var(--space-3) + 1rem);
    margin-inline: calc(var(--site-padding) * -1);
    padding: calc(var(--space-3) + 1rem) var(--site-padding);
}

.order-review-wrapper>*:first-child, .order-review-wrapper>.woocommerce-order-details>*:first-child {
    margin-top: 0;
}

.order-review-wrapper:after {
    content: '';
    display: block;
    position: absolute;
    left: 0;
    right: 0;
    top: calc(100% - 2px);
    height: 1.375rem;
    background-image: url('data:image/svg+xml,<svg width="60" height="30" viewBox="0 0 60 30" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M-5 29.2162V7.86781e-06L0 8.58307e-06L60 0L65 7.15256e-07V29.2162C63.5302 29.7149 61.8833 30 60 30C52.5 30 48.75 25.4783 45 20.9565C41.25 16.4348 37.5 11.913 30 11.913C22.5 11.913 18.75 16.4348 15 20.9565C11.25 25.4783 7.5 30 0 30C-1.88334 30 -3.53021 29.7149 -5 29.2162Z" fill="%23F6EFE0"/></svg>');
    background-size: auto 100%;
    background-position: center;
}

.shop_table {
    font-size: var(--h5);
    text-align: left;
    width: 100%;
    border-collapse: collapse;
}

.shop_table thead {
    display: none;
}

.shop_table th, .shop_table td {
    padding-block: 1em;
    vertical-align: top;
    text-align: left;
}

.shop_table th {
    font-weight: var(--bold);
}

.shop_table tr>*:first-child {
    padding-right: 1em;
}

.shop_table tr>*:last-child {
    min-width: 180px;
}

.shop_table tbody th, .shop_table tbody td {
    padding-top: 0;
}

:not(.cart-collaterals) .shop_table tfoot th, :not(.cart-collaterals) .shop_table tfoot td {
    border-top: 1px solid var(--darken);
}

.shop_table .order-total th, .shop_table .order-total td {
    border-top: 1px solid var(--darken);
}

.shop_table .includes_tax {
    display: block;
}

.woocommerce-shipping-methods, .payment_methods {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    flex-wrap: wrap;
    gap: 1em;
}

.woocommerce-shipping-methods li, .payment_methods li {
    position: relative;
}

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

.woocommerce-shipping-methods :not(input[type="hidden"])+label, .payment_methods label {
    --border: var(--green-dark);
    position: relative;
    display: inline-flex;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 0 .5em;
    cursor: pointer;
    padding: .125em 0 0 2em;
    line-height: 1.375;
    font-weight: var(--bold);
}

.woocommerce-shipping-methods input[type="hidden"]+label {
    font-weight: var(--bold);
    padding: .5em .5em .3em;
    line-height: 1.375;
    background-color: var(--yellow);
    color: var(--green-dark);
}

.order-review-wrapper .woocommerce-shipping-methods input[type="hidden"]+label {
    margin-left: -.5em;
}

.woocommerce-shipping-methods :not(input[type="hidden"])+label, .payment_methods label img {
    width: auto;
}

.woocommerce-shipping-methods :not(input[type="hidden"])+label:before, .payment_methods label:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    display: inline-block;
    width: 1.5em;
    height: 1.5em;
    border-radius: 50%;
    box-shadow: inset 0 0 0 1px currentColor;
}

.woocommerce-shipping-methods input:not(:checked)+label:hover:before, .payment_methods input:not(:checked)+label:hover:before {
    box-shadow: inset 0 0 0 2px var(--green);
}

.bg-green-dark .woocommerce-shipping-methods input:not(:checked)+label:hover:before, .bg-green-dark .payment_methods input:not(:checked)+label:hover:before {
    box-shadow: inset 0 0 0 2px var(--yellow);
}

.woocommerce-shipping-methods input:not(:checked)+label:active, .payment_methods input:not(:checked)+label:active {
    transition: none;
    transform: translateY(1px);
}

.woocommerce-shipping-methods input:checked+label:before, .payment_methods input:checked+label:before {
    box-shadow: inset 0 0 0 .5em currentColor;
}

.woocommerce-shipping-methods .free-shipping-info {
    font-size: var(--h5);
    font-weight: var(--regular);
}

.payment_methods {
    margin-block: var(--space-2) var(--space-3);
}

.payment_box {
    padding-top: 1rem;
    max-width: 580px;
}

.payment_box [role="alert"] {
    color: var(--invalid) !important;
    font-size: var(--h5);
}

.mollie-components .mollie-component {
    padding: .5rem;
}

.shop_table.custom-fields {
    display: none;
}


/* Thank you page */

.order-overview {
    position: relative;
    margin-inline: calc(var(--site-padding) * -1);
    padding: calc(var(--space-3) + 1rem) var(--site-padding);
}

.order-overview ul {
    list-style: none;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 1rem;
    margin: 0;
    font-size: var(--h5);
}

.order-overview li {
    flex-grow: 1;
    flex-basis: 160px;
    min-width: calc(33.333% - 1rem);
}

.order-overview.bg-green-dark strong {
    color: var(--yellow);
    display: block;
}