/* =========================================================
   LABDUX / WOOCOMMERCE
   ========================================================= */

.labdux-commerce {
    padding-top: 72px;
}

/* Breadcrumb */

.woocommerce .woocommerce-breadcrumb {
    margin: 0 0 18px;
    color: var(--muted);
    font-size: .78rem;
}

.woocommerce .woocommerce-breadcrumb a {
    color: var(--muted);
    text-decoration: none;
}

.woocommerce .woocommerce-breadcrumb a:hover {
    color: var(--accent);
}


/* Shop heading */

.woocommerce-products-header__title,
.woocommerce .page-title {
    margin: 0 0 38px;
    color: var(--text);
    font-size: clamp(3rem, 5vw, 5rem);
    line-height: .95;
    letter-spacing: -.035em;
}


/* Result count / sorting */

.woocommerce .woocommerce-result-count {
    margin: 0 0 30px;
    color: var(--muted);
    font-size: .82rem;
}

.woocommerce .woocommerce-ordering {
    margin: 0 0 30px;
}

.woocommerce .woocommerce-ordering select {
    min-width: 220px;
    padding: 10px 36px 10px 12px;

    border: 1px solid var(--line);
    border-radius: 0;

    background: var(--panel);
    color: var(--text);
}


/* =========================================================
   PRODUCT GRID
   ========================================================= */

.woocommerce ul.products {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));

    gap: 1px;

    margin: 38px 0 0 !important;
    padding: 1px !important;

    border: 0;
    background: var(--line);
}

.woocommerce ul.products::before,
.woocommerce ul.products::after {
    display: none !important;
}

.woocommerce ul.products li.product {
    float: none !important;

    width: auto !important;
    margin: 0 !important;
    padding: 24px !important;

    background: var(--panel);
}

.woocommerce ul.products li.product a {
    text-decoration: none;
}

.woocommerce ul.products li.product a img {
    display: block;

    width: 100%;
    aspect-ratio: 4 / 3;

    margin: 0 0 22px !important;

    object-fit: cover;

    border: 1px solid var(--line);
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
    padding: 0 !important;
    margin: 0 0 10px !important;

    color: var(--text);
    font-size: 1.18rem;
    line-height: 1.25;
}

.woocommerce ul.products li.product .price {
    display: block;

    margin: 0 0 20px !important;

    color: var(--accent) !important;
    font: 700 .85rem/1.2
        ui-monospace,
        SFMono-Regular,
        Menlo,
        Monaco,
        Consolas,
        monospace;
}


/* =========================================================
   BUTTONS
   ========================================================= */

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
    padding: 13px 18px !important;

    border: 1px solid var(--accent) !important;
    border-radius: 0 !important;

    background: transparent !important;
    color: var(--accent) !important;

    font: 700 .72rem/1
        ui-monospace,
        SFMono-Regular,
        Menlo,
        Monaco,
        Consolas,
        monospace !important;

    letter-spacing: .08em;
    text-transform: uppercase;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover {
    background: var(--accent) !important;
    color: #06110f !important;
}


/* =========================================================
   SINGLE PRODUCT
   ========================================================= */

.woocommerce div.product {
    display: grid;

    grid-template-columns:
        minmax(0, 1.05fr)
        minmax(320px, .95fr);

    gap: 64px;
}

.woocommerce div.product div.images,
.woocommerce div.product div.summary {
    float: none !important;
    width: auto !important;
    margin: 0 !important;
}

.woocommerce div.product div.images img {
    border: 1px solid var(--line);
}

.woocommerce div.product div.summary {
    padding-top: 28px;
}

.woocommerce div.product .product_title {
    margin: 0 0 20px;

    color: var(--text);

    font-size: clamp(2.3rem, 4vw, 4.5rem);
    line-height: .98;
    letter-spacing: -.035em;
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
    margin: 0 0 28px;

    color: var(--accent) !important;

    font: 700 1.4rem/1.2
        ui-monospace,
        SFMono-Regular,
        Menlo,
        Monaco,
        Consolas,
        monospace;
}


/* Quantity */

.woocommerce .quantity .qty {
    height: 43px;

    border: 1px solid var(--line);
    border-radius: 0;

    background: var(--panel);
    color: var(--text);
}


/* Add to cart */

.woocommerce div.product form.cart {
    display: flex;
    gap: 10px;
    align-items: center;

    margin: 30px 0 !important;
}

.woocommerce div.product form.cart .button {
    min-height: 43px;
}


/* Product meta */

.woocommerce div.product .product_meta {
    margin-top: 34px;
    padding-top: 20px;

    border-top: 1px solid var(--line);

    color: var(--muted);
    font-size: .78rem;
    line-height: 1.8;
}

.woocommerce div.product .product_meta a {
    color: var(--accent);
}


/* =========================================================
   PRODUCT TABS
   ========================================================= */

.woocommerce div.product .woocommerce-tabs {
    grid-column: 1 / -1;

    margin-top: 28px;
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
    display: flex;
    gap: 30px;

    margin: 0 !important;
    padding: 0 !important;

    border-bottom: 1px solid var(--line);
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before {
    display: none !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;
    border-radius: 0 !important;

    background: transparent !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after {
    display: none !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
    padding: 15px 0 !important;

    color: var(--muted) !important;

    font: 700 .72rem/1
        ui-monospace,
        SFMono-Regular,
        Menlo,
        Monaco,
        Consolas,
        monospace;

    letter-spacing: .06em;
    text-transform: uppercase;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
    color: var(--accent) !important;
    border-bottom: 2px solid var(--accent);
}

.woocommerce div.product .woocommerce-tabs .panel {
    max-width: 860px;

    margin: 0 !important;
    padding: 42px 0 !important;

    color: #c5cfd4;
    line-height: 1.75;
}

.woocommerce div.product .woocommerce-tabs .panel h2 {
    color: var(--text);
    font-size: 2rem;
}


/* Related products */

.woocommerce .related.products,
.woocommerce .upsells.products {
    grid-column: 1 / -1;

    margin-top: 60px;
}

.woocommerce .related.products > h2,
.woocommerce .upsells.products > h2 {
    color: var(--text);
    font-size: 2rem;
}


/* Notices */

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
    border: 1px solid var(--line) !important;
    border-top: 2px solid var(--accent) !important;
    border-radius: 0;

    background: var(--panel) !important;
    color: var(--text) !important;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 900px) {

    .woocommerce ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .woocommerce div.product {
        grid-template-columns: 1fr;
        gap: 36px;
    }

    .woocommerce div.product .woocommerce-tabs {
        grid-column: 1;
    }

}

@media (max-width: 600px) {

    .woocommerce ul.products {
        grid-template-columns: 1fr;
    }

    .woocommerce .woocommerce-ordering {
        float: none;
    }

    .woocommerce div.product form.cart {
        align-items: stretch;
        flex-wrap: wrap;
    }

    .woocommerce div.product .woocommerce-tabs ul.tabs {
        flex-wrap: wrap;
        gap: 12px 24px;
    }

}

/* Fix: Keine sichtbaren leeren Grid-Zellen bei wenigen Produkten */
.woocommerce ul.products {
    gap: 20px !important;
    padding: 0 !important;
    background: transparent !important;
}

.woocommerce ul.products li.product {
    border: 1px solid var(--line);
}


/* =========================================================
   LABDUX CHECKOUT FIELD LABELS
   ========================================================= */

.wc-block-checkout input:not([type="checkbox"]):not([type="radio"]),
.wc-block-checkout select,
.wc-block-checkout textarea,
.wc-block-checkout .wc-block-components-combobox-control input {
    border: 1px solid var(--line) !important;
    border-radius: 0 !important;
    background: var(--panel) !important;
    color: var(--text) !important;
    box-shadow: none !important;
}

.wc-block-checkout .wc-block-components-text-input label,
.wc-block-checkout .wc-block-components-combobox-control label {
    color: #9aa8af !important;
    opacity: 1 !important;
}

.wc-block-checkout .wc-block-components-text-input.is-active label,
.wc-block-checkout .wc-block-components-combobox-control.is-active label {
    color: var(--accent) !important;
}

.wc-block-checkout input::placeholder,
.wc-block-checkout textarea::placeholder {
    color: #84939d !important;
    opacity: 1 !important;
}

.wc-block-checkout input:focus,
.wc-block-checkout select:focus,
.wc-block-checkout textarea:focus,
.wc-block-checkout .wc-block-components-combobox-control input:focus {
    border-color: var(--accent) !important;
    outline: none !important;
}


/* =========================================================
   LABDUX CHECKOUT ORDER SUMMARY
   ========================================================= */

.wc-block-checkout .wc-block-components-order-summary-item {
    background: var(--panel) !important;
    color: var(--text) !important;
}

.wc-block-checkout .wc-block-components-order-summary-item__description,
.wc-block-checkout .wc-block-components-order-summary-item__total-price,
.wc-block-checkout .wc-block-components-order-summary-item__individual-prices {
    background: transparent !important;
    color: var(--text) !important;
}

.wc-block-checkout .wc-block-components-product-name {
    color: var(--text) !important;
    font-weight: 700;
}

.wc-block-checkout .wc-block-components-product-price,
.wc-block-checkout .wc-block-components-order-summary-item__total-price {
    color: var(--accent) !important;
}

.wc-block-checkout .wc-block-components-product-metadata,
.wc-block-checkout .wc-block-components-product-details {
    color: var(--muted) !important;
}

.wc-block-checkout .wc-block-components-order-summary-item__image {
    background: var(--panel2) !important;
}

.wc-block-checkout .wc-block-components-order-summary-item {
    border-bottom: 1px solid var(--line) !important;
}


/* =========================================================
   LABDUX ORDER RECEIVED
   ========================================================= */

.woocommerce-order-received .woocommerce-order-details {
    margin-top: 32px;
}

.woocommerce-order-received table.shop_table {
    border: 1px solid var(--line) !important;
    border-radius: 0 !important;
    background: var(--panel) !important;
    color: var(--text) !important;
    border-collapse: collapse !important;
}

.woocommerce-order-received table.shop_table th,
.woocommerce-order-received table.shop_table td {
    padding: 14px 16px !important;
    border: 1px solid var(--line) !important;
    background: transparent !important;
    color: var(--text) !important;
}

.woocommerce-order-received table.shop_table thead th,
.woocommerce-order-received table.shop_table tfoot th {
    background: var(--panel2) !important;
    color: var(--text) !important;
}

.woocommerce-order-received table.shop_table a {
    color: var(--accent) !important;
    text-decoration: none;
}

.woocommerce-order-received table.shop_table a:hover {
    color: var(--text) !important;
}

.woocommerce-order-received .woocommerce-customer-details address {
    border: 1px solid var(--line) !important;
    border-radius: 0 !important;
    background: var(--panel) !important;
    color: var(--text) !important;
    padding: 18px !important;
}

.woocommerce-order-received .woocommerce-order-overview {
    margin-bottom: 30px !important;
}

.woocommerce-order-received .woocommerce-order-overview li {
    color: var(--muted);
}

.woocommerce-order-received .woocommerce-order-overview li strong {
    color: var(--text);
}


/* =========================================================
   LABDUX CHECKOUT ORDER SUMMARY
   ========================================================= */

.wc-block-components-order-summary,
.wc-block-components-order-summary .wc-block-components-order-summary-item {
    background: #0f151b !important;
}

.wc-block-components-order-summary {
    padding: 16px !important;
    border: 1px solid rgba(255,255,255,.08) !important;
}

.wc-block-components-order-summary-item {
    padding: 12px !important;
    border: 1px solid rgba(255,255,255,.07) !important;
}

.wc-block-components-order-summary-item__image,
.wc-block-components-order-summary-item__description,
.wc-block-components-order-summary-item__total-price {
    background: transparent !important;
}

.wc-block-components-order-summary-item__image img {
    background: #0b1116 !important;
}

.wc-block-components-order-summary-item__quantity {
    background: #101820 !important;
    color: #36e0c0 !important;
    border: 1px solid #36e0c0 !important;
    box-shadow: none !important;
}

.wc-block-components-order-summary-item__individual-prices,
.wc-block-components-order-summary-item__description p {
    color: var(--muted) !important;
}



/* =========================================================
   LABDUX MY ACCOUNT
   ========================================================= */

.woocommerce-account .woocommerce {
    display: grid;
    grid-template-columns: 230px minmax(0, 1fr);
    gap: 36px;
    align-items: start;
}

.woocommerce-account .woocommerce-MyAccount-navigation {
    width: auto;
    float: none;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
    margin: 0;
    padding: 0;
    list-style: none;
    border: 1px solid rgba(255,255,255,.08);
    background: #0f151b;
}

.woocommerce-account .woocommerce-MyAccount-navigation li {
    margin: 0;
    border-bottom: 1px solid rgba(255,255,255,.06);
}

.woocommerce-account .woocommerce-MyAccount-navigation li:last-child {
    border-bottom: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation a {
    display: block;
    padding: 13px 16px;
    color: var(--muted);
    text-decoration: none;
}

.woocommerce-account .woocommerce-MyAccount-navigation a:hover,
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a {
    color: var(--accent);
    background: rgba(54,224,192,.05);
}

.woocommerce-account .woocommerce-MyAccount-navigation .is-active a {
    border-left: 2px solid var(--accent);
    padding-left: 14px;
}

.woocommerce-account .woocommerce-MyAccount-content {
    width: auto;
    float: none;
    min-width: 0;
    padding: 24px 28px;
    border: 1px solid rgba(255,255,255,.08);
    background: #0f151b;
}

.woocommerce-account .woocommerce-MyAccount-content > :first-child {
    margin-top: 0;
}

.woocommerce-account .woocommerce-MyAccount-content > :last-child {
    margin-bottom: 0;
}

/* Login / Registrierung / Passwort */

.woocommerce-account form.login,
.woocommerce-account form.register,
.woocommerce-account form.lost_reset_password,
.woocommerce-account form.woocommerce-ResetPassword {
    border: 1px solid rgba(255,255,255,.08);
    background: #0f151b;
}

.woocommerce-account input[type="text"],
.woocommerce-account input[type="email"],
.woocommerce-account input[type="password"],
.woocommerce-account input[type="tel"] {
    background: #0b1116 !important;
    color: #e9f0f4 !important;
    border: 1px solid rgba(255,255,255,.14) !important;
}

.woocommerce-account input:focus {
    border-color: var(--accent) !important;
    outline: none !important;
    box-shadow: 0 0 0 1px var(--accent) !important;
}

@media (max-width: 760px) {
    .woocommerce-account .woocommerce {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation ul {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .woocommerce-account .woocommerce-MyAccount-navigation li {
        border-right: 1px solid rgba(255,255,255,.06);
    }

    .woocommerce-account .woocommerce-MyAccount-content {
        padding: 20px;
    }
}



/* =========================================================
   LABDUX MY ACCOUNT – GRID FIX
   ========================================================= */

/* Login / Registrierung bleiben normales Layout */
.woocommerce-account:not(.logged-in) .woocommerce {
    display: block;
}

/* Grid nur für angemeldete Kunden */
.logged-in.woocommerce-account .woocommerce {
    display: grid;
    grid-template-columns: 230px minmax(0, 1fr);
    gap: 28px 36px;
    align-items: start;
}

/* WooCommerce-Meldungen immer über beide Spalten */
.logged-in.woocommerce-account .woocommerce-notices-wrapper {
    grid-column: 1 / -1;
    width: 100%;
}

.logged-in.woocommerce-account .woocommerce-notices-wrapper:empty {
    display: none;
}

/* Navigation immer links */
.logged-in.woocommerce-account .woocommerce-MyAccount-navigation {
    grid-column: 1;
    width: 100%;
}

/* Inhalt immer rechts */
.logged-in.woocommerce-account .woocommerce-MyAccount-content {
    grid-column: 2;
    width: auto;
    min-width: 0;
}

/* Mobil wieder untereinander */
@media (max-width: 760px) {
    .logged-in.woocommerce-account .woocommerce {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .logged-in.woocommerce-account .woocommerce-notices-wrapper,
    .logged-in.woocommerce-account .woocommerce-MyAccount-navigation,
    .logged-in.woocommerce-account .woocommerce-MyAccount-content {
        grid-column: 1;
    }
}


/* LABDUX ORDER WITHDRAWAL FORM */

.woocommerce-form-order-withdrawal-request {
    width: 100%;
    max-width: 980px;
    margin: 0;
}

.woocommerce-form-order-withdrawal-request .eu-owb-form-fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px 24px;
}

.woocommerce-form-order-withdrawal-request .form-row {
    margin: 0 !important;
    padding: 0 !important;
}

.woocommerce-form-order-withdrawal-request .form-row-full,
.woocommerce-form-order-withdrawal-request .form-row-submit {
    grid-column: 1 / -1;
}

.woocommerce-form-order-withdrawal-request .form-row-first,
.woocommerce-form-order-withdrawal-request .form-row-last {
    width: auto !important;
    float: none !important;
}

.woocommerce-form-order-withdrawal-request label {
    display: block;
    margin: 0 0 7px;
    color: #dfe8ed;
    font-size: 14px;
}

.woocommerce-form-order-withdrawal-request input[type="text"],
.woocommerce-form-order-withdrawal-request input[type="email"],
.woocommerce-form-order-withdrawal-request input[type="tel"],
.woocommerce-form-order-withdrawal-request textarea,
.woocommerce-form-order-withdrawal-request select {
    width: 100% !important;
    min-height: 46px;
    padding: 10px 12px !important;

    background: #0f151b !important;
    color: #e9f0f4 !important;

    border: 1px solid rgba(255,255,255,.12) !important;
    border-radius: 2px !important;

    box-shadow: none !important;
    outline: none !important;
}

.woocommerce-form-order-withdrawal-request textarea {
    min-height: 120px;
    resize: vertical;
}

.woocommerce-form-order-withdrawal-request input:focus,
.woocommerce-form-order-withdrawal-request textarea:focus,
.woocommerce-form-order-withdrawal-request select:focus {
    border-color: #36e0c0 !important;
    box-shadow: 0 0 0 1px rgba(54,224,192,.18) !important;
}

.woocommerce-form-order-withdrawal-request input::placeholder,
.woocommerce-form-order-withdrawal-request textarea::placeholder {
    color: #73808a !important;
}

.woocommerce-form-order-withdrawal-request .required {
    color: #36e0c0 !important;
}

.woocommerce-form-order-withdrawal-request .woocommerce-button {
    min-height: 42px;
    padding: 0 18px !important;

    background: transparent !important;
    color: #36e0c0 !important;

    border: 1px solid #36e0c0 !important;
    border-radius: 0 !important;

    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: .12em;
    text-transform: uppercase;

    box-shadow: none !important;
}

.woocommerce-form-order-withdrawal-request .woocommerce-button:hover,
.woocommerce-form-order-withdrawal-request .woocommerce-button:focus {
    background: #36e0c0 !important;
    color: #090d11 !important;
}

.woocommerce-form-order-withdrawal-request input[type="checkbox"] {
    accent-color: #36e0c0;
}

.woocommerce-form-order-withdrawal-request .woocommerce-table {
    background: #0f151b;
    border-color: rgba(255,255,255,.1);
}

.woocommerce-form-order-withdrawal-request .woocommerce-table th,
.woocommerce-form-order-withdrawal-request .woocommerce-table td {
    border-color: rgba(255,255,255,.08);
    color: #dfe8ed;
}

@media (max-width: 760px) {
    .woocommerce-form-order-withdrawal-request {
        max-width: none;
    }

    .woocommerce-form-order-withdrawal-request .eu-owb-form-fields {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .woocommerce-form-order-withdrawal-request .form-row-first,
    .woocommerce-form-order-withdrawal-request .form-row-last {
        grid-column: 1;
    }
}


/* LABDUX SHOP ARCHIVE */
.woocommerce-shop .site-main,
.tax-product_cat .site-main {
    width: min(100% - 40px, 1320px);
    margin-inline: auto;
}

.labdux-shop-categories {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 18px 0 28px;
}

.labdux-shop-categories a {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: 0 16px;
    border: 1px solid #26333d;
    color: #9aa8b2;
    text-decoration: none;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.labdux-shop-categories a:hover,
.labdux-shop-categories a:focus,
.labdux-shop-categories a.is-active {
    border-color: #36e0c0;
    color: #36e0c0;
}

.woocommerce-shop ul.products,
.tax-product_cat ul.products {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 300px));
    gap: 22px;
    justify-content: start;
    width: 100%;
}

.woocommerce-shop ul.products::before,
.woocommerce-shop ul.products::after,
.tax-product_cat ul.products::before,
.tax-product_cat ul.products::after {
    display: none;
}

.woocommerce-shop ul.products li.product,
.tax-product_cat ul.products li.product {
    float: none !important;
    width: auto !important;
    margin: 0 !important;
}

@media (max-width: 700px) {
    .woocommerce-shop .site-main,
    .tax-product_cat .site-main {
        width: min(100% - 24px, 1320px);
    }

    .woocommerce-shop ul.products,
    .tax-product_cat ul.products {
        grid-template-columns: 1fr;
    }

    .labdux-shop-categories {
        gap: 8px;
    }
}

/* LABDUX SHOP – Kartenbreite Full-HD / 4K korrigieren */
.woocommerce-shop ul.products,
.tax-product_cat ul.products {
    grid-template-columns: repeat(auto-fit, minmax(340px, 380px));
    gap: 22px;
    justify-content: start;
}

@media (max-width: 900px) {
    .woocommerce-shop ul.products,
    .tax-product_cat ul.products {
        grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    }
}

@media (max-width: 620px) {
    .woocommerce-shop ul.products,
    .tax-product_cat ul.products {
        grid-template-columns: 1fr;
    }
}

/* LABDUX SHOP – Ergebniszahl und Sortierung sauber ausrichten */
.woocommerce-shop .woocommerce-result-count,
.tax-product_cat .woocommerce-result-count {
    float: none;
    margin: 0;
}

.woocommerce-shop .woocommerce-ordering,
.tax-product_cat .woocommerce-ordering {
    float: none;
    margin: 0;
}

.woocommerce-shop .woocommerce-result-count {
    display: inline-block;
}

.woocommerce-shop .woocommerce-ordering,
.tax-product_cat .woocommerce-ordering {
    display: flex;
    justify-content: flex-end;
    margin-top: -28px;
    margin-bottom: 28px;
}

.woocommerce-shop .woocommerce-ordering select,
.tax-product_cat .woocommerce-ordering select {
    min-width: 240px;
}

@media (max-width: 700px) {
    .woocommerce-shop .woocommerce-ordering,
    .tax-product_cat .woocommerce-ordering {
        justify-content: stretch;
        margin-top: 14px;
        margin-bottom: 22px;
    }

    .woocommerce-shop .woocommerce-ordering select,
    .tax-product_cat .woocommerce-ordering select {
        width: 100%;
        min-width: 0;
    }
}

/* Logged-out account pages: login, registration, password reset */
.woocommerce-account:not(.logged-in) .woocommerce {
    grid-template-columns: minmax(0, 1fr);
}

/* Lost-password page has no account navigation, even for logged-in users */
.logged-in.woocommerce-account.woocommerce-lost-password .woocommerce {
    display: block;
}

.logged-in.woocommerce-account.woocommerce-lost-password form.lost_reset_password,
.logged-in.woocommerce-account.woocommerce-lost-password form.woocommerce-ResetPassword {
    width: 100%;
}

/* WooCommerce password visibility icon on dark LABDUX forms */
.woocommerce form .show-password-input::before,
.woocommerce-page form .show-password-input::before {
    filter: invert(1);
}

/* LABDUX account address selects */
.woocommerce-account .woocommerce-address-fields select {
    background: #0f151b;
    color: #dfe8ed;
    border: 1px solid rgba(255,255,255,.14);
    color-scheme: dark;
}

/* LABDUX account address SelectWoo / Select2 */
.woocommerce-account .woocommerce-address-fields .select2-container .select2-selection--single {
    background: #0f151b;
    color: #dfe8ed;
    border: 1px solid rgba(255,255,255,.14);
}

.woocommerce-account .woocommerce-address-fields .select2-selection__rendered {
    color: #dfe8ed !important;
}

.woocommerce-account .woocommerce-address-fields .select2-dropdown,
.woocommerce-account .woocommerce-address-fields .select2-search__field,
.woocommerce-account .woocommerce-address-fields .select2-results__option {
    background: #0f151b;
    color: #dfe8ed;
}

/* LABDUX address form: readable placeholders on dark background */
.woocommerce-account .woocommerce-address-fields input::placeholder,
.woocommerce-account .woocommerce-address-fields .select2-selection__placeholder {
    color: #8f9ba4 !important;
    opacity: 1;
}

.woocommerce-account .woocommerce-address-fields
.select2-selection__arrow b {
    border-top-color: #8f9ba4 !important;
}

/* LABDUX account text links */
.woocommerce-account .woocommerce-MyAccount-content a:not(.button) {
    color: #36e0c0;
    text-decoration: none;
}

.woocommerce-account .woocommerce-MyAccount-content a:not(.button):hover,
.woocommerce-account .woocommerce-MyAccount-content a:not(.button):focus {
    text-decoration: underline;
}

/* LABDUX order detail: align page title with account content */
.logged-in.woocommerce-account.woocommerce-view-order .content-page > h1 {
    margin-left: calc(230px + 36px);
}

@media (max-width: 760px) {
    .logged-in.woocommerce-account.woocommerce-view-order .content-page > h1 {
        margin-left: 0;
    }
}

/* LABDUX order details: stable column proportions */
.woocommerce-order-received .woocommerce-order-details table.shop_table {
    width: 100%;
    table-layout: fixed;
}

.woocommerce-order-received .woocommerce-order-details table.shop_table th:first-child,
.woocommerce-order-received .woocommerce-order-details table.shop_table td:first-child {
    width: 55%;
}

.woocommerce-order-received .woocommerce-order-details table.shop_table th:last-child,
.woocommerce-order-received .woocommerce-order-details table.shop_table td:last-child {
    width: 45%;
}
