/*
 * Bookajet commerce layer
 * Loaded only on the WooCommerce catalogue, product, cart, checkout and account pages.
 */

.baj-commerce {
    --commerce-border: rgba(255, 255, 255, 0.12);
    min-height: 70vh;
    color: var(--text-light);
    background: var(--dark-bg);
}

/* The same heading component used by the site's other pages. */
.baj-commerce .baj-commerce-heading {
    padding: 12rem 2rem 5rem;
    background-color: var(--dark-secondary);
}

.baj-commerce .baj-commerce-heading::after {
    display: none;
}

.baj-commerce .baj-commerce-heading .subtitle {
    margin: 0 auto;
}

.baj-commerce-shell {
    width: 100%;
    padding-top: 4rem;
    padding-bottom: 7rem;
}

.baj-commerce--product .baj-commerce-shell {
    padding-top: 10rem;
}

.baj-commerce-shell--page {
    max-width: 1320px;
}

.baj-back-to-shop {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    margin-bottom: 2.5rem;
    color: var(--primary-gold) !important;
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.11em;
    text-transform: uppercase;
}

.baj-back-to-shop:hover {
    gap: 0.85rem;
    color: var(--light-gold) !important;
}

/* Shared controls */
.woocommerce .button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.wc-block-components-button,
.wp-block-woocommerce-cart .wc-block-cart__submit-button,
.wp-block-woocommerce-checkout .wc-block-components-checkout-place-order-button {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    min-height: 3.25rem;
    padding: 0.9rem 1.6rem !important;
    border: 1px solid var(--primary-gold) !important;
    border-radius: 0.5rem !important;
    background: linear-gradient(135deg, var(--primary-gold), var(--accent-gold)) !important;
    color: var(--dark-bg) !important;
    font-family: var(--primary-font) !important;
    font-size: 0.78rem !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    letter-spacing: 0.09em !important;
    text-transform: uppercase !important;
    box-shadow: none !important;
    transition: var(--transition) !important;
}

.woocommerce .button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.wc-block-components-button:hover {
    transform: none;
    background: linear-gradient(135deg, var(--accent-gold), var(--light-gold)) !important;
    box-shadow: none !important;
}

.woocommerce .button:disabled,
.woocommerce .button.disabled,
.wc-block-components-button:disabled {
    opacity: 0.45 !important;
    transform: none;
}

.woocommerce input.input-text,
.woocommerce textarea,
.woocommerce select,
.woocommerce .select2-container--default .select2-selection--single,
.woocommerce .select2-container--default .select2-selection--multiple,
.wc-block-components-text-input input,
.wc-block-components-combobox .wc-block-components-combobox-control input,
.wc-block-components-form .wc-block-components-text-input input {
    min-height: 3.25rem;
    padding: 0.75rem 1rem;
    border: 1px solid rgba(174, 146, 90, 0.3) !important;
    border-radius: 0.45rem !important;
    outline: none;
    background: rgba(11, 26, 40, 0.78) !important;
    color: var(--text-light) !important;
    font-family: var(--primary-font);
    box-shadow: none !important;
}

.woocommerce textarea {
    min-height: 8rem;
}

.woocommerce input.input-text:focus,
.woocommerce textarea:focus,
.woocommerce select:focus,
.wc-block-components-text-input input:focus,
.wc-block-components-combobox .wc-block-components-combobox-control input:focus {
    border-color: var(--primary-gold) !important;
    box-shadow: none !important;
}

.woocommerce form .form-row label,
.wc-block-components-form label,
.wc-block-components-text-input label {
    color: var(--text-secondary) !important;
    font-size: 0.83rem !important;
    font-weight: 500;
}

.select2-dropdown {
    border-color: rgba(174, 146, 90, 0.35) !important;
    background: var(--dark-tertiary) !important;
    color: var(--text-light) !important;
}

.select2-container--default .select2-results__option[aria-selected='true'],
.select2-container--default .select2-results__option--highlighted[aria-selected] {
    background: rgba(174, 146, 90, 0.2) !important;
    color: var(--text-light) !important;
}

/* Notices */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
    margin: 0 0 2rem !important;
    padding: 1.2rem 1.5rem 1.2rem 3.5rem !important;
    border: 1px solid rgba(174, 146, 90, 0.3) !important;
    border-top: 1px solid rgba(174, 146, 90, 0.3) !important;
    border-radius: 0.6rem;
    background: rgba(11, 26, 40, 0.86) !important;
    color: var(--text-secondary) !important;
}

.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
    top: 1.2rem !important;
    color: var(--primary-gold) !important;
}

.woocommerce-error {
    border-color: rgba(205, 100, 100, 0.45) !important;
}

/* Catalogue */
.woocommerce-products-header,
.woocommerce-products-header__title {
    display: none;
}

.baj-commerce-catalogue .baj-commerce-shell > .page-title {
    display: none;
}

.woocommerce .woocommerce-result-count {
    margin: 0 0 2rem;
    color: var(--text-muted);
    font-size: 0.85rem;
    padding-top: 0.85rem;
}

.woocommerce .woocommerce-ordering {
    margin: 0 0 2rem;
}

.woocommerce .woocommerce-ordering select {
    min-width: 15rem;
}

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

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

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
    display: flex;
    flex-direction: column;
    min-width: 0;
    float: none !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 0 1.5rem;
    overflow: hidden;
    border: 1px solid var(--commerce-border);
    border-radius: 1rem;
    background: var(--dark-secondary);
    box-shadow: none;
    transition: var(--transition);
}

.woocommerce ul.products li.product:hover {
    transform: translateY(-0.35rem);
    border-color: var(--commerce-border);
    box-shadow: none;
}

.baj-commerce ul.products li.product .woocommerce-LoopProduct-link {
    display: flex;
    flex: 1;
    flex-direction: column;
}

.baj-product-card-image {
    position: relative;
    overflow: hidden;
    background: #f2f3f3;
}

.baj-product-card-content {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 1.5rem 1.5rem 1.25rem;
}

.woocommerce ul.products li.product a img {
    width: 100%;
    aspect-ratio: 1 / 1;
    margin: 0;
    object-fit: cover;
    background: #f2f3f3;
    transition: transform 0.5s ease;
}

.woocommerce ul.products li.product:hover a img {
    transform: scale(1.025);
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
    padding: 0;
    margin: 0 0 0.85rem;
    color: var(--primary-gold);
    font-family: var(--heading-font);
    font-size: 1.25rem;
    line-height: 1.4;
    min-height: 2.8em;
}

.woocommerce ul.products li.product .price {
    display: block;
    margin: auto 0 0;
    color: var(--text-light);
    font-size: 1rem;
    font-weight: 600;
}

.woocommerce ul.products li.product .button {
    align-self: stretch;
    margin: 0 1.5rem;
}

.baj-commerce ul.products li.product .added_to_cart {
    margin: 0.85rem 1.5rem 0;
    padding: 0;
    color: var(--primary-gold);
    text-align: center;
}

.woocommerce span.onsale {
    top: 1rem;
    left: 1rem;
    z-index: 2;
    min-width: auto;
    min-height: auto;
    padding: 0.5rem 0.75rem;
    border-radius: 2rem;
    background: var(--primary-gold);
    color: var(--dark-bg);
    font-size: 0.68rem;
    line-height: 1;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.woocommerce nav.woocommerce-pagination {
    margin-top: 4rem;
}

.woocommerce nav.woocommerce-pagination ul {
    overflow: hidden;
    border: 1px solid rgba(174, 146, 90, 0.25);
    border-radius: 0.45rem;
}

.woocommerce nav.woocommerce-pagination ul li {
    border-color: rgba(174, 146, 90, 0.2);
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
    padding: 0.8rem 1rem;
    color: var(--text-secondary);
    background: var(--dark-secondary);
}

.woocommerce nav.woocommerce-pagination ul li span.current,
.woocommerce nav.woocommerce-pagination ul li a:hover {
    color: var(--dark-bg);
    background: var(--primary-gold);
}

/* Single product */
.woocommerce div.product {
    display: flow-root;
}

.woocommerce div.product div.images,
.woocommerce div.product div.summary {
    margin-bottom: 4rem;
}

.woocommerce div.product div.images {
    width: 50%;
}

.woocommerce div.product div.summary {
    width: 44%;
    padding: 1rem 0 0;
}

.woocommerce div.product div.images .woocommerce-product-gallery__wrapper {
    overflow: hidden;
    border-radius: 0.8rem;
    background: #f2f3f3;
}

/* FlexSlider's wrapper is a wide track; clip its visible viewport too. */
.woocommerce div.product div.images .flex-viewport {
    overflow: hidden;
    border-radius: 0.8rem;
}

.woocommerce div.product div.images img {
    background: #f2f3f3;
}

.woocommerce div.product div.images .flex-control-thumbs {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 0.75rem;
    margin-top: 0.85rem;
}

.woocommerce div.product div.images .flex-control-thumbs li {
    width: auto;
    overflow: hidden;
    border: 1px solid rgba(174, 146, 90, 0.2);
    border-radius: 0.4rem;
}

.woocommerce div.product .product_title {
    margin: 0 0 1.2rem;
    font-size: clamp(2rem, 4vw, 3.5rem);
    line-height: 1.08;
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
    margin-bottom: 1.8rem;
    color: var(--primary-gold);
    font-size: clamp(1.3rem, 2vw, 1.65rem);
    font-weight: 600;
}

.woocommerce-product-details__short-description {
    margin-bottom: 1.8rem;
}

.woocommerce-product-details__short-description p,
.woocommerce-Tabs-panel p {
    color: var(--text-secondary);
}

.woocommerce div.product form.cart {
    display: flex;
    align-items: stretch;
    gap: 0.75rem;
    margin: 2rem 0;
}

.woocommerce .quantity .qty {
    width: 5rem;
    height: 3.25rem;
    border: 1px solid rgba(174, 146, 90, 0.3);
    border-radius: 0.45rem;
    background: var(--dark-tertiary);
    color: var(--text-light);
}

.woocommerce div.product form.cart .variations {
    margin-bottom: 1.5rem;
}

.woocommerce div.product form.cart.variations_form {
    display: block;
}

.woocommerce div.product form.cart .variations th,
.woocommerce div.product form.cart .variations td {
    padding: 0.5rem 0;
    color: var(--text-secondary);
    text-align: left;
}

.woocommerce div.product form.cart .variations select {
    width: 100%;
    max-width: none;
    margin: 0;
}

.woocommerce div.product form.cart .reset_variations {
    display: inline-block;
    margin-top: 0.5rem;
    color: var(--primary-gold);
    font-size: 0.8rem;
}

.woocommerce .woocommerce-variation-add-to-cart {
    display: flex;
    gap: 0.75rem;
    margin-top: 1.25rem;
}

.woocommerce div.product .product_meta {
    padding-top: 1.5rem;
    border-top: 1px solid rgba(174, 146, 90, 0.18);
    color: var(--text-muted);
    font-size: 0.8rem;
}

.woocommerce div.product .woocommerce-tabs {
    clear: both;
    padding-top: 1rem;
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
    margin: 0;
    padding: 0;
    border-bottom: 1px solid rgba(174, 146, 90, 0.2);
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before {
    border: 0;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
    margin: 0 0 -1px;
    padding: 0;
    border: 0;
    border-bottom: 2px solid transparent;
    border-radius: 0;
    background: transparent;
}

.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 a {
    padding: 1rem 1.5rem;
    color: var(--text-muted);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
    border-bottom-color: var(--primary-gold);
    background: transparent;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
    color: var(--primary-gold);
}

.baj-commerce div.product .woocommerce-tabs .woocommerce-Tabs-panel {
    margin: 0;
    padding: 2.5rem 0 0;
}

.woocommerce div.product .woocommerce-Tabs-panel h2,
.woocommerce .related.products > h2,
.woocommerce .up-sells > h2 {
    margin-bottom: 2rem;
    font-size: clamp(1.7rem, 3vw, 2.5rem);
}

.woocommerce .related.products,
.woocommerce .up-sells {
    clear: both;
    padding-top: 4rem;
}

/* Cart, checkout and order tables */
.woocommerce table.shop_table {
    border: 1px solid var(--commerce-border) !important;
    border-radius: 0.6rem !important;
    background: rgba(7, 16, 24, 0.72) !important;
    color: var(--text-secondary) !important;
}

.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
    padding: 1.25rem 1.5rem;
    border-color: var(--commerce-border) !important;
}

.woocommerce table.shop_table th {
    color: var(--text-light);
    font-size: 0.75rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.woocommerce table.shop_table td.product-name a,
.woocommerce table.shop_table td.product-name {
    color: var(--text-light);
}

.woocommerce table.cart img,
.wc-block-cart-item__image img {
    width: 5rem;
    border-radius: 0.35rem;
    background: #f2f3f3;
}

.woocommerce a.remove {
    color: var(--text-muted) !important;
}

.woocommerce a.remove:hover {
    color: var(--dark-bg) !important;
    background: var(--primary-gold) !important;
}

.woocommerce-cart table.cart td.actions .coupon {
    display: flex;
    gap: 0.5rem;
}

.woocommerce-cart table.cart td.actions .coupon .input-text {
    width: 12rem;
}

.woocommerce .cart-collaterals,
.woocommerce-page .cart-collaterals {
    margin-top: 2.5rem;
}

.woocommerce .cart-collaterals .cart_totals,
.woocommerce-page .cart-collaterals .cart_totals {
    width: min(100%, 34rem);
    padding: 1.75rem;
    border: 1px solid rgba(174, 146, 90, 0.22);
    border-radius: 0.75rem;
    background: linear-gradient(145deg, rgba(11, 26, 40, 0.82), rgba(7, 16, 24, 0.95));
}

.woocommerce .cart-collaterals .cart_totals h2 {
    font-size: 1.65rem;
}

.woocommerce ul#shipping_method li {
    color: var(--text-secondary);
}

.wc-block-components-sidebar-layout,
.wc-block-components-main,
.wc-block-components-sidebar,
.wc-block-components-order-summary,
.wc-block-components-totals-wrapper,
.wc-block-cart-items,
.wc-block-cart-item__wrap {
    color: var(--text-secondary) !important;
}

.wc-block-components-product-name,
.wc-block-components-title,
.wc-block-components-totals-item__label,
.wc-block-components-totals-item__value {
    color: var(--text-light) !important;
}

.wc-block-components-order-summary .wc-block-components-order-summary-item__image > img {
    border-radius: 0.35rem;
    background: #f2f3f3;
}

/* Checkout */
.woocommerce-checkout h3,
.woocommerce-account h2 {
    color: var(--text-light);
    font-size: clamp(1.5rem, 2.5vw, 2rem);
}

.woocommerce-checkout #customer_details {
    margin-bottom: 3rem;
}

.woocommerce-checkout #order_review_heading {
    margin-top: 1rem;
}

.woocommerce-checkout #payment {
    border: 1px solid rgba(174, 146, 90, 0.22);
    border-radius: 0.75rem;
    background: rgba(11, 26, 40, 0.76);
}

.woocommerce-checkout #payment ul.payment_methods {
    border-color: rgba(174, 146, 90, 0.18);
}

.woocommerce-checkout #payment div.payment_box {
    background: var(--dark-tertiary);
    color: var(--text-secondary);
}

.woocommerce-checkout #payment div.payment_box::before {
    border-bottom-color: var(--dark-tertiary);
}

.woocommerce form.checkout_coupon,
.woocommerce form.login,
.woocommerce form.register {
    border: 1px solid rgba(174, 146, 90, 0.22);
    border-radius: 0.7rem;
    background: rgba(7, 16, 24, 0.74);
}

.woocommerce .woocommerce-privacy-policy-text p,
.woocommerce .woocommerce-terms-and-conditions-wrapper p {
    color: var(--text-muted);
    font-size: 0.85rem;
}

/* Account */
.woocommerce-account .woocommerce-MyAccount-navigation {
    width: 27%;
}

.woocommerce-account .woocommerce-MyAccount-content {
    width: 68%;
    min-height: 22rem;
    padding: 2rem;
    border: 1px solid rgba(174, 146, 90, 0.2);
    border-radius: 0.75rem;
    background: rgba(7, 16, 24, 0.72);
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
    margin: 0;
    padding: 0;
    overflow: hidden;
    border: 1px solid rgba(174, 146, 90, 0.2);
    border-radius: 0.75rem;
    list-style: none;
}

.woocommerce-account .woocommerce-MyAccount-navigation li + li {
    border-top: 1px solid rgba(174, 146, 90, 0.14);
}

.woocommerce-account .woocommerce-MyAccount-navigation a {
    display: block;
    padding: 1rem 1.2rem;
    color: var(--text-secondary);
    background: rgba(7, 16, 24, 0.72);
}

.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation a:hover {
    color: var(--dark-bg);
    background: var(--primary-gold);
}

.woocommerce-account .addresses .title h3 {
    font-size: 1.35rem;
}

.woocommerce-account address {
    color: var(--text-secondary);
    font-style: normal;
}

.woocommerce .woocommerce-customer-details address {
    border: 1px solid rgba(174, 146, 90, 0.2);
    border-radius: 0.6rem;
}

/* Empty and confirmation states */
.woocommerce .cart-empty,
.woocommerce .woocommerce-thankyou-order-received {
    margin-bottom: 2rem;
    color: var(--text-light);
    font-family: var(--heading-font);
    font-size: clamp(1.5rem, 3vw, 2.2rem);
}

.woocommerce ul.order_details {
    padding: 1.5rem;
    border: 1px solid rgba(174, 146, 90, 0.2);
    border-radius: 0.6rem;
    background: rgba(7, 16, 24, 0.72);
}

/* Notice actions and block controls need the same vertical alignment as buttons. */
.baj-commerce .woocommerce-message {
    display: grid;
    grid-template-columns: 1rem minmax(0, 1fr) auto;
    align-items: center;
    gap: 1rem;
    padding: 1.2rem 1.5rem !important;
}

.baj-commerce .woocommerce-message::before {
    position: static;
    top: auto !important;
    left: auto;
    grid-column: 1;
    grid-row: 1;
    line-height: 1;
}

.baj-commerce .woocommerce-message::after {
    display: none;
}

.baj-commerce .woocommerce-message .button {
    float: none;
    grid-column: 3;
    grid-row: 1;
    margin-left: 0;
}

.baj-commerce :is(.woocommerce-message, .woocommerce-info, .woocommerce-error) {
    border-color: var(--commerce-border) !important;
    background: var(--dark-secondary) !important;
    box-shadow: none;
}

/* Block cart/checkout: a single summary panel, with padded rows and separators. */
.baj-commerce :is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) {
    font-family: var(--primary-font);
    font-size: 1rem;
    color: var(--text-secondary);
}

.baj-commerce .wc-block-components-sidebar-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(19rem, 24rem);
    align-items: start;
    gap: 3rem;
    margin: 0;
}

.baj-commerce .wc-block-components-sidebar-layout .wc-block-components-main,
.baj-commerce .wc-block-components-sidebar-layout .wc-block-components-sidebar {
    width: 100%;
    min-width: 0;
    margin: 0;
}

.baj-commerce .wc-block-components-sidebar-layout .wc-block-components-main {
    padding: 0;
}

.baj-commerce .wc-block-components-sidebar-layout .wc-block-components-sidebar {
    padding: 1.75rem;
    border: 1px solid var(--commerce-border);
    border-radius: 1rem;
    background: var(--dark-secondary);
}

.baj-commerce .wp-block-woocommerce-checkout-order-summary-block {
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
}

.baj-commerce .wc-block-components-totals-wrapper {
    margin: 0;
    padding: 1.25rem 0 !important;
    border: 0;
    border-top: 1px solid var(--commerce-border);
    border-radius: 0;
    background: transparent;
}

.baj-commerce .wc-block-components-totals-wrapper:first-child {
    border-top: 0;
}

/* Blocks leave placeholders for discounts/fees when no charge is present. */
.baj-commerce .wc-block-components-totals-wrapper:empty,
.baj-commerce .wc-block-components-totals-item__description:empty {
    display: none;
}

.baj-commerce .wc-block-components-totals-item,
.baj-commerce .wc-block-components-totals-coupon,
.baj-commerce .wc-block-components-order-summary,
.baj-commerce .wc-block-components-order-summary__content {
    padding: 0;
}

.baj-commerce .wc-block-components-totals-item__description {
    margin-top: 0.5rem;
}

.baj-commerce .wc-block-cart__totals-title,
.baj-commerce .wc-block-components-checkout-order-summary__title {
    margin: 0;
    padding: 0 0 1.25rem !important;
    color: var(--text-light);
    font-family: var(--heading-font);
    font-size: 1.5rem !important;
    font-weight: 600;
    line-height: 1.3;
    text-align: left;
    text-transform: none !important;
}

.baj-commerce .wc-block-components-checkout-order-summary__title-text {
    margin: 0;
    color: var(--text-light);
    font-family: var(--heading-font);
    font-size: 1.4rem;
    line-height: 1.3;
}

.baj-commerce .checkout-order-summary-block-fill {
    padding: 1.25rem;
    border: 1px solid var(--commerce-border);
    border-radius: 1rem;
    background: var(--dark-secondary);
}

.baj-commerce .wc-block-components-order-summary-item {
    padding: 0.75rem 0;
}

.baj-commerce .wc-block-components-order-summary-item__description {
    min-width: 0;
    padding-left: 1rem;
}

.baj-commerce .wc-block-cart .wc-block-cart-items {
    margin: 0;
    border: 0;
    border-collapse: collapse;
    background: transparent;
}

.baj-commerce .wc-block-cart .wc-block-cart-items th {
    padding: 0 0 1rem;
    color: var(--text-muted);
    font-size: 0.8rem;
    font-weight: 500;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.baj-commerce .wc-block-cart .wc-block-cart-items td {
    padding: 1.5rem 0;
    border-top: 1px solid var(--commerce-border);
    vertical-align: top;
}

.baj-commerce .wc-block-cart .wc-block-cart-items td.wc-block-cart-item__image {
    width: 7rem;
    padding-right: 1.5rem;
}

.baj-commerce .wc-block-cart-item__image img {
    width: 5.5rem;
}

.baj-commerce .wc-block-cart-item__wrap {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.6rem;
    padding: 0 !important;
}

.baj-commerce .wc-block-cart-item__wrap > * {
    margin: 0 !important;
}

.baj-commerce .wc-block-cart-item__wrap .wc-block-components-product-name {
    font-size: 1.1rem;
    font-weight: 500;
}

.baj-commerce .wc-block-components-product-metadata :is(p, ul) {
    margin: 0;
    color: var(--text-muted);
    font-size: 0.9rem;
}

.baj-commerce .wc-block-components-quantity-selector {
    min-height: 2.75rem;
    border: 1px solid var(--commerce-border);
    border-radius: 0.5rem;
    background: var(--dark-tertiary);
    color: var(--text-light);
}

.baj-commerce .wc-block-components-quantity-selector::after {
    display: none;
}

.baj-commerce .wc-block-components-quantity-selector :is(input, button) {
    color: var(--text-light);
    box-shadow: none;
}

.baj-commerce .wc-block-cart-item__remove-link {
    margin-top: 0.75rem !important;
    color: var(--text-muted) !important;
}

/* Preserve the block form's floating labels in empty, filled and focus states. */
.baj-commerce .wc-block-components-form .wc-block-components-text-input input,
.baj-commerce .wc-block-components-combobox .wc-block-components-combobox-control input,
.baj-commerce .wc-blocks-components-select .wc-blocks-components-select__select,
.baj-commerce .wc-block-components-textarea {
    min-height: 3.5rem;
    border: 1px solid var(--commerce-border) !important;
    border-radius: 0.5rem !important;
    background: var(--dark-tertiary) !important;
    color: var(--text-light) !important;
    color-scheme: dark;
    font-family: var(--primary-font);
    font-size: 1rem;
    line-height: 1.5;
    box-shadow: none !important;
}

.baj-commerce .wc-block-components-form .wc-block-components-text-input input {
    height: 3.5rem;
    padding: 1rem;
}

.baj-commerce .wc-block-components-form .wc-block-components-text-input.is-active input,
.baj-commerce .wc-block-components-form .wc-block-components-text-input:focus-within input {
    padding: 1.5rem 1rem 0.5rem !important;
}

.baj-commerce .wc-block-components-form .wc-block-components-text-input label {
    left: 1rem;
    max-width: calc(100% - 2rem);
    color: var(--text-secondary) !important;
    font-size: 1rem !important;
}

.baj-commerce .wc-block-components-form .wc-block-components-text-input:is(.is-active, :focus-within) label {
    top: 0.375rem;
    transform: scale(0.82);
}

.baj-commerce .wc-blocks-components-select .wc-blocks-components-select__container {
    min-height: 3.5rem;
    border-radius: 0.5rem;
    background: var(--dark-tertiary);
}

.baj-commerce .wc-blocks-components-select .wc-blocks-components-select__select {
    height: 3.5rem;
    padding: 1.5rem 2.5rem 0.35rem 1rem;
}

.baj-commerce .wc-blocks-components-select .wc-blocks-components-select__label {
    left: 1rem;
    color: var(--text-secondary);
}

.baj-commerce .wc-blocks-components-select svg {
    fill: var(--text-secondary);
}

.baj-commerce .wc-block-components-combobox .wc-block-components-combobox-control input {
    padding: 1.5rem 2.5rem 0.35rem 1rem;
}

.baj-commerce .wc-block-components-combobox .components-form-token-field__suggestions-list {
    border-color: var(--commerce-border);
    background: var(--dark-tertiary);
    color: var(--text-light);
}

.baj-commerce .wc-block-components-form :is(input, select, textarea):focus {
    border-color: var(--primary-gold) !important;
    outline: none;
    box-shadow: none !important;
}

.baj-commerce .wc-block-components-text-input.has-error input {
    border-color: #c77979 !important;
}

.baj-commerce .wc-block-components-checkout-step {
    margin-bottom: 2.5rem;
}

.baj-commerce .wc-block-components-checkout-step__heading {
    margin-bottom: 1.25rem;
}

.baj-commerce .wc-block-components-checkout-step__title {
    font-size: 1.5rem;
    line-height: 1.3;
}

.baj-commerce .wc-block-components-radio-control .wc-block-components-radio-control__option {
    padding: 1.25rem 1.25rem 1.25rem 3.5rem;
    border: 1px solid var(--commerce-border);
    border-radius: 0.5rem;
    background: var(--dark-secondary);
    color: var(--text-light);
    box-shadow: none;
}

.baj-commerce .wc-block-components-radio-control__option::after {
    box-shadow: none !important;
    border: 0 !important;
}

.baj-commerce .wc-block-components-checkout-place-order-button,
.baj-commerce .wc-block-cart__submit-button {
    width: 100%;
}

@media (max-width: 1100px) {
    .baj-commerce .wc-block-components-sidebar-layout {
        grid-template-columns: minmax(0, 1fr) minmax(17rem, 20rem);
        gap: 2rem;
    }
    .woocommerce ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .woocommerce div.product div.images,
    .woocommerce div.product div.summary {
        width: 48%;
    }
}

@media (max-width: 767px) {
    .baj-commerce ul.products li.product .woocommerce-loop-product__title {
        min-height: 0;
    }

    .baj-commerce .wc-block-cart .wc-block-cart__totals-title {
        display: block;
    }

    .baj-commerce .wc-block-cart .wc-block-cart__submit-container--sticky {
        position: static;
        width: 100%;
        margin-top: 1rem;
        padding: 0;
        background: transparent;
        box-shadow: none;
    }

    .baj-commerce .wc-block-cart__submit-container--sticky::before,
    .baj-commerce .wc-block-cart__submit-container--sticky::after {
        display: none;
    }

    .baj-commerce .wc-block-components-checkout-order-summary__title {
        padding: 0 !important;
    }

    .baj-commerce .wc-block-cart .wc-block-cart-items__row {
        border-top: 1px solid var(--commerce-border);
    }

    .baj-commerce .woocommerce-message {
        grid-template-columns: 1rem minmax(0, 1fr);
    }

    .baj-commerce .woocommerce-message .button {
        grid-column: 2;
        grid-row: 2;
        justify-self: start;
    }

    .baj-commerce .wc-block-components-sidebar-layout {
        display: flex !important;
        flex-direction: column;
        gap: 2rem;
    }

    .baj-commerce .wc-block-components-sidebar-layout .wc-block-components-sidebar {
        padding: 1.25rem !important;
    }

    .baj-commerce .wc-block-cart .wc-block-cart-items td.wc-block-cart-item__image {
        width: auto;
        padding-right: 0;
    }

    .baj-commerce .wc-block-cart .wc-block-cart-items td {
        padding: 1.25rem 0;
        border-top: 0;
    }
    .baj-commerce .baj-commerce-heading {
        padding: 9rem 0 3rem;
    }

    .baj-commerce .baj-commerce-heading .subtitle {
        font-size: 1rem;
    }

    .baj-commerce--product .baj-commerce-shell {
        padding-top: 8rem;
    }

    .baj-commerce-shell {
        padding-top: 2.5rem;
        padding-bottom: 4.5rem;
    }

    .woocommerce .woocommerce-result-count,
    .woocommerce .woocommerce-ordering {
        float: none;
        padding: 0;
    }

    .woocommerce .woocommerce-ordering select {
        width: 100%;
    }

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

    .woocommerce div.product div.images,
    .woocommerce div.product div.summary {
        float: none;
        width: 100%;
    }

    .woocommerce div.product div.images {
        margin-bottom: 2rem;
    }

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

    .woocommerce div.product form.cart,
    .woocommerce .woocommerce-variation-add-to-cart {
        flex-wrap: wrap;
    }

    .woocommerce div.product form.cart .button,
    .woocommerce .woocommerce-variation-add-to-cart .button {
        flex: 1;
    }

    .woocommerce table.shop_table_responsive tr td,
    .woocommerce-page table.shop_table_responsive tr td {
        border-color: rgba(174, 146, 90, 0.12) !important;
    }

    .woocommerce-cart table.cart td.actions .coupon {
        display: grid;
        grid-template-columns: 1fr;
    }

    .woocommerce-cart table.cart td.actions .coupon .input-text {
        width: 100%;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation,
    .woocommerce-account .woocommerce-MyAccount-content {
        float: none;
        width: 100%;
    }

    .woocommerce .col2-set .col-1,
    .woocommerce .col2-set .col-2,
    .woocommerce-page .col2-set .col-1,
    .woocommerce-page .col2-set .col-2 {
        float: none;
        width: 100%;
        max-width: 100%;
    }

    .woocommerce form.login,
    .woocommerce form.register,
    .woocommerce input.input-text,
    .woocommerce textarea,
    .woocommerce select {
        width: 100%;
        max-width: 100%;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation {
        margin-bottom: 1.5rem;
    }

    .woocommerce-account .woocommerce-MyAccount-content {
        padding: 1.25rem;
    }

    .wc-block-components-sidebar-layout {
        display: block !important;
    }

    .wc-block-components-main,
    .wc-block-components-sidebar {
        width: 100% !important;
        padding: 0 !important;
    }
}
