/* Shared native WooCommerce UI. Cart and Checkout Blocks retain their own state and markup. */
.woocommerce {
    --bazja-woo-ink: #252b27;
    --bazja-woo-muted: #626b62;
    --bazja-woo-line: #d8ddd5;
    --bazja-woo-forest: #34483d;
    --bazja-woo-soft: #f8f8f5;
}

:is(body.woocommerce, body.woocommerce-page, .woocommerce) :is(.price, .wc-block-components-product-price) :is(del, ins),
.bazja-sidecart__price :is(del, ins) {
    font-size: inherit;
}

.woocommerce :is(form.woocommerce-form, form.woocommerce-ResetPassword, form.track_order, form.checkout_coupon, form.woocommerce-EditAccountForm, form.woocommerce-EditAddressForm, form.woocommerce-form-login, form.woocommerce-form-register) .form-row {
    float: none;
    width: 100%;
    margin: 0 0 1.25rem;
    padding: 0;
}

.woocommerce :is(form.woocommerce-form, form.woocommerce-ResetPassword, form.track_order, form.checkout_coupon, form.woocommerce-EditAccountForm, form.woocommerce-EditAddressForm, form.woocommerce-form-login, form.woocommerce-form-register) .form-row label,
.woocommerce #review_form label {
    display: block;
    margin-bottom: .4rem;
    color: var(--bazja-woo-ink);
    font-size: .85rem;
    font-weight: 600;
    line-height: 1.4;
}

.woocommerce :is(form.woocommerce-form, form.woocommerce-ResetPassword, form.track_order, form.checkout_coupon, form.woocommerce-EditAccountForm, form.woocommerce-EditAddressForm, form.woocommerce-form-login, form.woocommerce-form-register) :is(input.input-text, select, textarea),
.woocommerce #review_form :is(input:not([type="checkbox"]), textarea),
.woocommerce form.checkout :is(input.input-text, select, textarea) {
    width: 100%;
    min-height: 50px;
    border: 1px solid var(--bazja-woo-line);
    border-radius: var(--bazja-radius-control);
    background: #fff;
    color: var(--bazja-woo-ink);
    padding: .75rem .9rem;
    font: inherit;
    font-size: .95rem;
    box-shadow: none;
    transition: border-color .18s ease, box-shadow .18s ease;
}

.woocommerce :is(form.woocommerce-form, form.woocommerce-ResetPassword, form.track_order, form.checkout_coupon, form.woocommerce-EditAccountForm, form.woocommerce-EditAddressForm, form.woocommerce-form-login, form.woocommerce-form-register) textarea,
.woocommerce #review_form textarea,
.woocommerce form.checkout textarea {
    min-height: 120px;
    resize: vertical;
}

.woocommerce :is(form.woocommerce-form, form.woocommerce-ResetPassword, form.track_order, form.checkout_coupon, form.woocommerce-EditAccountForm, form.woocommerce-EditAddressForm, form.woocommerce-form-login, form.woocommerce-form-register) :is(input.input-text, select, textarea):focus,
.woocommerce #review_form :is(input, textarea):focus,
.woocommerce form.checkout :is(input.input-text, select, textarea):focus {
    border-color: var(--bazja-woo-forest);
    outline: 2px solid rgb(52 72 61 / 18%);
    outline-offset: 1px;
}

.woocommerce :is(form.woocommerce-form, form.woocommerce-ResetPassword, form.track_order, form.checkout_coupon, form.woocommerce-EditAccountForm, form.woocommerce-EditAddressForm, form.woocommerce-form-login, form.woocommerce-form-register) :is(button.button, input.button),
.woocommerce :is(.woocommerce-MyAccount-content, .return-to-shop, .woocommerce-pagination, .woocommerce-Address-title) :is(a.button, button.button, input.button),
.woocommerce #review_form #respond input#submit,
.woocommerce form.checkout :is(button.button, input.button) {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    border: 1px solid var(--bazja-woo-forest);
    border-radius: var(--bazja-radius-control);
    background: var(--bazja-woo-forest);
    color: #fff;
    padding: .75rem 1.3rem;
    font: 600 .86rem/1.3 var(--bazja-font-body);
    text-decoration: none;
    cursor: pointer;
    transition: background .18s ease, border-color .18s ease;
}

.woocommerce :is(form.woocommerce-form, form.woocommerce-ResetPassword, form.track_order, form.checkout_coupon, form.woocommerce-EditAccountForm, form.woocommerce-EditAddressForm, form.woocommerce-form-login, form.woocommerce-form-register) :is(button.button, input.button):hover,
.woocommerce :is(.woocommerce-MyAccount-content, .return-to-shop, .woocommerce-pagination, .woocommerce-Address-title) :is(a.button, button.button, input.button):hover,
.woocommerce #review_form #respond input#submit:hover,
.woocommerce form.checkout :is(button.button, input.button):hover {
    border-color: #26372b;
    background: #26372b;
    color: #fff;
}

.woocommerce :is(form.woocommerce-form, form.woocommerce-ResetPassword, form.track_order, form.checkout_coupon, form.woocommerce-EditAccountForm, form.woocommerce-EditAddressForm, form.woocommerce-form-login, form.woocommerce-form-register) :is(button.button, input.button):disabled,
.woocommerce form.checkout :is(button.button, input.button):disabled {
    opacity: .55;
    cursor: not-allowed;
}

.woocommerce :is(form.woocommerce-form, form.woocommerce-ResetPassword, form.track_order, form.checkout_coupon, form.woocommerce-EditAccountForm, form.woocommerce-EditAddressForm, form.woocommerce-form-login, form.woocommerce-form-register) .required,
.woocommerce #review_form .required {
    color: #9f493b;
    font-weight: 700;
}

.woocommerce .woocommerce-password-strength {
    margin-top: .5rem;
    border: 0;
    border-radius: var(--bazja-radius-panel);
    background: #f1f3ef;
    color: var(--bazja-woo-ink);
    padding: .5rem .75rem;
    font-size: .8rem;
    text-align: left;
}
.woocommerce .woocommerce-password-strength.bad,
.woocommerce .woocommerce-password-strength.short { background: #fff2ef; color: #8b3228; }
.woocommerce .woocommerce-password-strength.good { background: #fff8e9; color: #7b5923; }
.woocommerce .woocommerce-password-strength.strong { background: #edf5ec; color: #315b38; }
.woocommerce .woocommerce-password-hint { display: block; color: var(--bazja-woo-muted); font-size: .8rem; }

.woocommerce .select2-container .select2-selection--single {
    display: flex;
    align-items: center;
    min-height: 50px;
    border: 1px solid var(--bazja-woo-line);
    border-radius: var(--bazja-radius-control);
    background: #fff;
    color: var(--bazja-woo-ink);
}
.woocommerce .select2-container .select2-selection--single .select2-selection__rendered { padding-left: .9rem; }
.woocommerce .select2-container .select2-selection--single .select2-selection__arrow { top: 50%; transform: translateY(-50%); }

.woocommerce :is(table.shop_table, table.woocommerce-table, table.woocommerce-orders-table) {
    width: 100%;
    border: 1px solid var(--bazja-woo-line);
    border-collapse: collapse;
    border-radius: 0;
    background: #fff;
    color: var(--bazja-woo-ink);
}
.woocommerce :is(table.shop_table, table.woocommerce-table, table.woocommerce-orders-table) :is(th, td) {
    padding: .95rem 1rem;
    border: 0;
    border-bottom: 1px solid var(--bazja-woo-line);
    text-align: left;
    line-height: 1.5;
}
.woocommerce :is(table.shop_table, table.woocommerce-table, table.woocommerce-orders-table) th {
    background: var(--bazja-woo-soft);
    font-size: .78rem;
    font-weight: 700;
}
.woocommerce :is(table.shop_table, table.woocommerce-table, table.woocommerce-orders-table) tr:last-child :is(th, td) { border-bottom: 0; }

.woocommerce :is(.woocommerce-MyAccount-content, .woocommerce-order, .woocommerce-customer-details, .woocommerce-order-details) a:not(.button) { text-decoration: none; }
.woocommerce :is(.woocommerce-MyAccount-content, .woocommerce-order, .woocommerce-customer-details, .woocommerce-order-details) a:not(.button):hover { color: var(--bazja-woo-forest); }
.woocommerce .woocommerce-Address address,
.woocommerce .woocommerce-customer-details address {
    border: 1px solid var(--bazja-woo-line);
    border-radius: var(--bazja-radius-panel);
    background: #fff;
    padding: 1.25rem;
    font-style: normal;
    line-height: 1.7;
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 1.5rem;
    margin: 0;
    border-bottom: 1px solid var(--bazja-woo-line);
    padding: 0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li {
    position: relative;
    margin: 0 0 -1px;
    border: 0;
    border-bottom: 2px solid transparent;
    border-radius: 0;
    background: transparent;
    padding: 0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { border-bottom-color: var(--bazja-woo-forest); background: transparent; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
    display: inline-flex;
    min-height: 50px;
    align-items: center;
    color: var(--bazja-woo-muted);
    padding: .65rem .2rem;
    font: 600 .86rem/1.3 var(--bazja-font-body);
    text-decoration: none;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover { color: var(--bazja-woo-forest); }
.woocommerce div.product .woocommerce-tabs .panel { color: var(--bazja-woo-ink); }

.woocommerce #reviews #comments ol.commentlist li .comment-text {
    margin: 0;
    border: 1px solid var(--bazja-woo-line);
    border-radius: var(--bazja-radius-panel);
    padding: 1.25rem;
}
.woocommerce #reviews #comments ol.commentlist li img.avatar { border: 0; background: var(--bazja-woo-soft); }
.woocommerce #review_form #respond { border: 1px solid var(--bazja-woo-line); border-radius: var(--bazja-radius-panel); background: var(--bazja-woo-soft); padding: clamp(1.25rem, 3vw, 2rem); }
.woocommerce #review_form #respond #reply-title { display: block; margin-bottom: .7rem; font: 300 clamp(1.65rem, 3vw, 2.3rem)/1.15 var(--bazja-font-heading); }
.woocommerce #review_form #respond :is(.comment-form-rating, .comment-form-comment, .comment-form-author, .comment-form-email) { margin-bottom: 1rem; }
.woocommerce .star-rating span::before,
.woocommerce .stars a { color: var(--bazja-woo-forest); }

/* WooCommerce's tokenized, verified-purchase review form. */
.woocommerce .woocommerce-review-order {
    width: min(100%, 840px);
    margin-inline: auto;
    color: var(--bazja-woo-ink);
}
.woocommerce .woocommerce-review-order__meta {
    margin: 0 0 .75rem;
    color: var(--bazja-woo-muted);
    font-size: .82rem;
}
.woocommerce .woocommerce-review-order__title,
.woocommerce .woocommerce-review-order__empty-title {
    margin: 0 0 .85rem;
    font: 400 clamp(2rem, 3.5vw, 2.8rem)/1.15 var(--bazja-font-heading);
}
.woocommerce .woocommerce-review-order__intro {
    max-width: 65ch;
    margin: 0 0 1.5rem;
    color: var(--bazja-woo-muted);
    line-height: 1.6;
}
.woocommerce .woocommerce-review-order__legend {
    margin: 0 0 1rem;
    color: var(--bazja-woo-muted);
    font-size: .78rem;
}
.woocommerce .woocommerce-review-order__items {
    display: block;
    margin: 0;
    padding: 0;
    list-style: none;
}
.woocommerce .woocommerce-review-order__item {
    max-width: none;
    margin: 0;
    border-top: 1px solid var(--bazja-woo-line);
    padding: 1.6rem 0;
}
.woocommerce .woocommerce-review-order__item:last-child { border-bottom: 1px solid var(--bazja-woo-line); }
.woocommerce .woocommerce-review-order__item-title {
    max-width: none;
    margin: 0 0 1rem;
    font-size: 1.05rem;
    font-weight: 500;
    line-height: 1.45;
}
.woocommerce .woocommerce-review-order__item-title a { color: inherit; text-decoration: none; }
.woocommerce .woocommerce-review-order__item-title a:hover { color: var(--bazja-woo-forest); }
.woocommerce .woocommerce-review-order__item-variation { display: block; color: var(--bazja-woo-muted); font-size: .85rem; font-weight: 400; }
.woocommerce .woocommerce-review-order__item-row {
    display: grid;
    grid-template-columns: 100px minmax(150px, .8fr) minmax(0, 1.4fr);
    align-items: start;
    gap: 1.25rem;
}
.woocommerce .woocommerce-review-order__item-image img {
    display: block;
    width: 100px;
    height: 130px;
    border-radius: var(--bazja-radius-flat);
    object-fit: contain;
}
.woocommerce .woocommerce-review-order__item-rating-label,
.woocommerce .woocommerce-review-order__item-review-label {
    display: block;
    margin: 0 0 .5rem;
    font-size: .84rem;
    font-weight: 500;
}
.woocommerce .woocommerce-review-order__item-review-textarea {
    display: block;
    width: 100%;
    min-height: 118px;
    border: 1px solid var(--bazja-woo-line);
    border-radius: var(--bazja-radius-control);
    background: #fff;
    color: var(--bazja-woo-ink);
    padding: .8rem .9rem;
    font: inherit;
    font-size: .9rem;
    line-height: 1.5;
    resize: vertical;
}
.woocommerce .woocommerce-review-order__item-review-textarea:focus-visible {
    border-color: var(--bazja-woo-forest);
    outline: 2px solid rgb(52 72 61 / 20%);
    outline-offset: 2px;
}
.woocommerce .woocommerce-review-order__actions { margin-top: 1.5rem; }
.woocommerce .woocommerce-review-order__actions .woocommerce-review-order__submit {
    min-height: 50px;
    border: 1px solid var(--bazja-woo-forest);
    border-radius: var(--bazja-radius-control);
    background: var(--bazja-woo-forest);
    color: #fff;
    padding: .75rem 1.5rem;
    font: 600 .9rem/1.3 var(--bazja-font-body);
    cursor: pointer;
    transition: background .18s ease, border-color .18s ease;
}
.woocommerce .woocommerce-review-order__actions .woocommerce-review-order__submit:hover {
    border-color: #26372b;
    background: #26372b;
}
.woocommerce .woocommerce-review-order__actions .woocommerce-review-order__submit:focus-visible {
    outline: 2px solid var(--bazja-woo-forest);
    outline-offset: 3px;
}
.woocommerce .woocommerce-review-order__empty-body { color: var(--bazja-woo-muted); line-height: 1.6; }

@media (max-width: 600px) {
    .woocommerce .woocommerce-review-order__item-row { grid-template-columns: 76px minmax(0, 1fr); gap: 1rem; }
    .woocommerce .woocommerce-review-order__item-image img { width: 76px; height: 104px; }
    .woocommerce .woocommerce-review-order__item-review { grid-column: 1 / -1; }
    .woocommerce .woocommerce-review-order__actions .woocommerce-review-order__submit { width: 100%; }
    .woocommerce :is(table.shop_table, table.woocommerce-table, table.woocommerce-orders-table) :is(th, td) { padding: .75rem; }
    .woocommerce .woocommerce-MyAccount-content .woocommerce-orders-table tr th.woocommerce-orders-table__cell { display: flex; justify-content: space-between; gap: .75rem; }
    .woocommerce .woocommerce-MyAccount-content .woocommerce-orders-table tr th.woocommerce-orders-table__cell::before { content: attr(data-title); font-weight: 600; }
}
