.esl-wrap {
    margin: 20px 0;
}
.esl-actions {
    display: flex;
    gap: 10px;
    margin-top: 15px;
    flex-wrap: wrap;
}
.esl-mail-form p {
    margin: 0 0 12px;
}
.esl-mail-form input,
.esl-mail-form textarea {
    width: 100%;
    max-width: 520px;
}
.esl-variation {
    font-size: 0.9em;
    opacity: 0.8;
    margin-top: 4px;
}

.esl-modal {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9999;
}
.esl-modal-inner {
    background: #fff;
    padding: 20px;
    border-radius: 8px;
    max-width: 400px;
    width: 90%;
}

.esl-print-logo {
    display: none;
}

.esl-print-footer {
    display: none;
}

.shop_table {
    width: 100%;

    thead {
        tr {
            th {
                text-align: left;
            }
        }
    }

    tbody {
        tr {
            border-bottom: 1px solid #ccc;

            td {
                padding: 15px 0;

                input {
                    width: 50px;
                }
            }
        }
    }
}

@media screen and (max-width: 768px) {
    table.esl-table thead {
        display: none;
    }

    table.esl-table,
    table.esl-table tbody,
    table.esl-table tfoot,
    table.esl-table tr,
    table.esl-table td,
    table.esl-table th {
        display: block;
        width: 100%;
    }

    table.esl-table tr {
        border: 1px solid rgba(0, 0, 0, 0.12);
        padding: 10px;
        margin-bottom: 12px;
        border-radius: 8px;
    }

    table.esl-table td {
        border: 0;
        padding: 8px 0;
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 12px;
    }

    table.esl-table td::before {
        content: attr(data-label);
        font-weight: 600;
        opacity: 0.9;
        flex: 0 0 35%;
        max-width: 35%;
    }

    /* Produkt-raden kan få mer plats */
    table.esl-table td[data-label="Produkt"] {
        display: block;
    }
    table.esl-table td[data-label="Produkt"]::before {
        display: none;
    }

    table.esl-table input[type="number"] {
        width: 90px;
        max-width: 100%;
    }

    /* Ta bort-knappen fullbredd om du vill */
    table.esl-table td.remove-button {
        justify-content: flex-end;
    }

    /* Footer/totalt i mobil */
    table.esl-table tfoot tr {
        border: 0;
        padding: 0;
        margin: 0;
    }
    table.esl-table tfoot th {
        display: block;
        text-align: left !important;
        padding: 8px 0;
    }
}

@media print {
    .page-id-44280, .page-id-44270 {
        .site-wrapper {
            display: block;
        }

        .menu-container {
            display: none !important;
        }

        h1 {
            display: none !important;
        }

        .content-wrapper {
            .mobile-header {
                display: none !important;
            }

            .bg-center.bg-no-repeat.bg-cover {
                display: none !important;
            }

            .esl-form-container {
                display: none !important;
            }

            .esl-actions {
                display: none !important;
            }

            .esl-print-logo {
                display: block;
                text-align: center;

                img {
                    margin: 0 auto;
                }
            }

            .esl-print-footer {
                display: block;
                text-align: center;
            }

            .shop_table {
                width: 100%;

                th {
                    text-align: left;
                }

                td {
                    padding-bottom: 15px;
                }

                input {
                    background-color: transparent;
                    border: 0;
                    padding: 0;
                    margin: 0;
                    width: 50px;
                }

                .remove-button {
                    display: none !important;
                }
            }
        }

        .xoo-wsc-modal {
            display: none !important;
        }

        .footer {
            display: none !important;
        }
    }
}

.esl-buy-disabled.single-product form.cart .single_add_to_cart_button {
    display: none !important;
}

.esl-buy-disabled .product-links .cartbutton {
    display: none !important;
}
