/* ============================================
   Adera WooCommerce Pages — Cart, Checkout, My Account
   ============================================ */

/* ── WooCommerce Notices ───────────────────────────────────────────────────── */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
    border-radius: 10px !important;
    padding: 14px 18px 14px 46px !important;
    font-family: var(--font-inter) !important;
    font-size: 14px !important;
    margin-bottom: 20px !important;
    display: block !important;
    list-style: none !important;
    border-top: none !important;
    position: relative !important;
}

/* Success notice — brand purple */
.woocommerce-message {
    background: #F7F3FB !important;
    border: 1.5px solid #AD81AC !important;
    color: #470073 !important;
}

.woocommerce-message::before {
    color: #6C2689 !important;
}

/* Info notice — brand purple */
.woocommerce-info {
    background: #F7F3FB !important;
    border: 1.5px solid #AD81AC !important;
    color: #470073 !important;
}

.woocommerce-info::before {
    color: #6C2689 !important;
}

/* Icon — absolutely positioned to the left of the notice box */
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
    font-size: 18px !important;
    position: absolute !important;
    top: 12px !important;
    left: 16px !important;
    display: inline-block !important;
}

.woocommerce-error::before {
    color: #670EAA !important;
}

/* Error notice — theme colours */
.woocommerce-error {
    background: #F7F3FB !important;
    border: 1.5px solid #670EAA !important;
    color: #494949 !important;
}

.woocommerce-error li {
    color: #494949 !important;
    font-family: var(--font-inter);
    font-size: 14px;
}

/* Gap between multiple errors without changing the ul's display context */
.woocommerce-error li + li {
    padding-top: 8px !important;
    border-top: 1px solid rgba(103, 14, 170, 0.15) !important;
    margin-top: 4px !important;
}

.woocommerce-error a:not(.button) {
    color: #670EAA !important;
    font-weight: 600;
}

/* Buttons inside notices (e.g., "View cart") */
.woocommerce-message .button,
.woocommerce-info .button,
.woocommerce-error .button,
.woocommerce-error a.button {
    margin-left: auto !important;
    background: transparent !important;
    color: var(--secondary-navy) !important;
    border: 1.5px solid var(--secondary-navy) !important;
    padding: 6px 14px !important;
    font-size: 12px !important;
    border-radius: 6px !important;
    min-height: unset !important;
    white-space: nowrap;
    text-decoration: none !important;
    font-weight: 600 !important;
    flex-shrink: 0;
}

.woocommerce-error .button:hover,
.woocommerce-error a.button:hover {
    background: var(--brand-purple-deep) !important;
    color: #ffffff !important;
}

/* ── GP site-content override ─────────────────────────────────────────────── */
.woocommerce-cart .site-content,
.woocommerce-checkout .site-content,
.woocommerce-account .site-content {
    display: block !important;
}

/* Let the page wrappers span full width so the inner .woocommerce can center
   at the true site width (1350px) and line up with the header + hero. */
.woocommerce-cart #content, .woocommerce-cart #primary, .woocommerce-cart #main,
.woocommerce-cart .content-area, .woocommerce-cart .site-main, .woocommerce-cart .grid-container,
.woocommerce-checkout #content, .woocommerce-checkout #primary, .woocommerce-checkout #main,
.woocommerce-checkout .content-area, .woocommerce-checkout .site-main, .woocommerce-checkout .grid-container,
.woocommerce-account #content, .woocommerce-account #primary, .woocommerce-account #main,
.woocommerce-account .content-area, .woocommerce-account .site-main, .woocommerce-account .grid-container {
    max-width: 100% !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* Banner styles live in page-banner.css — loaded site-wide wherever the banner appears */

/* ── Page wrapper ─────────────────────────────────────────────────────────── */
.woocommerce-cart .hentry,
.woocommerce-checkout .hentry,
.woocommerce-account .hentry {
    margin: 0;
}

.woocommerce-cart .entry-content,
.woocommerce-checkout .entry-content,
.woocommerce-account .entry-content {
    max-width: 100%;
    padding: 40px 0 60px;
    margin: 0;
}

.woocommerce-cart .entry-content > .woocommerce,
.woocommerce-checkout .entry-content > .woocommerce,
.woocommerce-account .entry-content > .woocommerce {
    max-width: var(--site-max-width, 1350px);
    margin: 0 auto;
    padding: 0 var(--site-gutter, 24px);
    box-sizing: border-box;
}

/* Loyalty plugin notice — style inline */
.wlr-message-info {
    margin: 0 0 16px !important;
    border-radius: 8px !important;
    font-family: var(--font-inter) !important;
    font-size: 13px !important;
    border: 1px solid #e0e3e8 !important;
    background: #f7f8fa !important;
    color: #4a5568 !important;
    padding: 12px 20px !important;
}

/* "Click Here" reward link */
a#wlr-reward-link {
    display: inline-flex !important;
    align-items: center !important;
    font-family: var(--font-inter) !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    color: #ffffff !important;
    background: #670EAA !important;
    border: none !important;
    border-radius: 5px !important;
    padding: 4px 10px !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    cursor: pointer !important;
    transition: background 0.15s ease !important;
    margin-left: 6px !important;
}
a#wlr-reward-link:hover {
    background: #6C2689 !important;
    text-decoration: none !important;
    color: #ffffff !important;
}

/* ── Shared: Buttons ─────────────────────────────────────────────────────── */
.woocommerce-cart .button,
.woocommerce-checkout .button,
.woocommerce-account .button,
.woocommerce-cart a.button,
.woocommerce-checkout a.button,
.woocommerce-account a.button {
    font-family: var(--font-poppins) !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    border-radius: 8px !important;
    padding: 11px 22px !important;
    cursor: pointer !important;
    text-decoration: none !important;
    transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
}

/* Primary red CTA */
.woocommerce-cart a.button.alt,
.woocommerce-cart button.button.alt,
.woocommerce-cart .checkout-button,
.woocommerce-checkout #place_order,
.woocommerce-account a.button.alt,
.woocommerce-account button.button.alt {
    background: #670EAA !important;
    color: #ffffff !important;
    border: none !important;
}

.woocommerce-cart a.button.alt:hover,
.woocommerce-cart button.button.alt:hover,
.woocommerce-cart .checkout-button:hover,
.woocommerce-checkout #place_order:hover,
.woocommerce-account a.button.alt:hover {
    background: #6C2689 !important;
    color: #ffffff !important;
}

/* Secondary navy outline */
.woocommerce-cart a.button:not(.alt):not(.checkout-button),
.woocommerce-cart button.button:not(.alt),
.woocommerce-account a.button:not(.alt),
.woocommerce-account button.button:not(.alt) {
    background: transparent !important;
    color: var(--secondary-navy) !important;
    border: 1.5px solid var(--secondary-navy) !important;
}

.woocommerce-cart a.button:not(.alt):not(.checkout-button):hover,
.woocommerce-cart button.button:not(.alt):hover,
.woocommerce-account a.button:not(.alt):hover,
.woocommerce-account button.button:not(.alt):hover {
    background: var(--brand-purple-deep) !important;
    color: #ffffff !important;
}

/* Select2 hides the native <select> at 1px — must beat .woocommerce-checkout select (0,1,1) with higher specificity */
.woocommerce-checkout select.select2-hidden-accessible,
.woocommerce-cart select.select2-hidden-accessible,
.woocommerce-account select.select2-hidden-accessible {
    width: 1px !important;
    height: 1px !important;
    position: absolute !important;
    clip: rect(0, 0, 0, 0) !important;
    overflow: hidden !important;
    padding: 0 !important;
    border: 0 !important;
    margin: 0 !important;
}

/* ── Select2 visible container — match our input styles ── */
.woocommerce-checkout .select2-container .select2-selection--single,
.woocommerce-cart .select2-container .select2-selection--single,
.woocommerce-account .select2-container .select2-selection--single {
    height: 44px !important;
    border: 1px solid #e0e3e8 !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    display: flex !important;
    align-items: center !important;
    transition: border-color 0.2s ease !important;
}

.woocommerce-checkout .select2-container--open .select2-selection--single,
.woocommerce-checkout .select2-container .select2-selection--single:focus,
.woocommerce-cart .select2-container--open .select2-selection--single,
.woocommerce-account .select2-container--open .select2-selection--single {
    border-color: var(--secondary-navy) !important;
    outline: none !important;
}

.woocommerce-checkout .select2-selection__rendered,
.woocommerce-cart .select2-selection__rendered,
.woocommerce-account .select2-selection__rendered {
    font-family: var(--font-inter) !important;
    font-size: 14px !important;
    color: var(--secondary-navy) !important;
    padding: 0 40px 0 14px !important;
    line-height: 44px !important;
}

.woocommerce-checkout .select2-selection__placeholder,
.woocommerce-cart .select2-selection__placeholder,
.woocommerce-account .select2-selection__placeholder {
    color: #9ca3af !important;
}

.woocommerce-checkout .select2-selection__arrow,
.woocommerce-cart .select2-selection__arrow,
.woocommerce-account .select2-selection__arrow {
    height: 44px !important;
    right: 12px !important;
    top: 0 !important;
}

/* Select2 dropdown list */
.select2-dropdown {
    border: 1px solid #e0e3e8 !important;
    border-radius: 8px !important;
    box-shadow: 0 4px 16px rgba(0,0,0,0.08) !important;
    font-family: var(--font-inter) !important;
    font-size: 14px !important;
    overflow: hidden;
}

.select2-results__option {
    padding: 10px 14px !important;
    color: var(--secondary-navy) !important;
}

.select2-results__option--highlighted {
    background: #F7F3FB !important;
    color: var(--secondary-navy) !important;
}

.select2-results__option[aria-selected="true"] {
    background: #F7F3FB !important;
    color: var(--secondary-navy) !important;
    font-weight: 600;
}

.select2-search--dropdown .select2-search__field {
    border: 1px solid #e0e3e8 !important;
    border-radius: 6px !important;
    padding: 8px 12px !important;
    font-family: var(--font-inter) !important;
    font-size: 13px !important;
    outline: none !important;
}

/* ── Shared: Form Inputs ─────────────────────────────────────────────────── */
.woocommerce-cart .woocommerce input[type="text"],
.woocommerce-cart .woocommerce input[type="email"],
.woocommerce-cart .woocommerce input[type="tel"],
.woocommerce-cart .woocommerce input[type="number"],
.woocommerce-cart .woocommerce input[type="password"],
.woocommerce-cart .woocommerce select:not(.select2-hidden-accessible),
.woocommerce-cart .woocommerce textarea,
.woocommerce-checkout .woocommerce input[type="text"],
.woocommerce-checkout .woocommerce input[type="email"],
.woocommerce-checkout .woocommerce input[type="tel"],
.woocommerce-checkout .woocommerce input[type="number"],
.woocommerce-checkout .woocommerce input[type="password"],
.woocommerce-checkout .woocommerce select:not(.select2-hidden-accessible),
.woocommerce-checkout .woocommerce textarea,
.woocommerce-account .woocommerce input[type="text"],
.woocommerce-account .woocommerce input[type="email"],
.woocommerce-account .woocommerce input[type="tel"],
.woocommerce-account .woocommerce input[type="number"],
.woocommerce-account .woocommerce input[type="password"],
.woocommerce-account .woocommerce select:not(.select2-hidden-accessible),
.woocommerce-account .woocommerce textarea {
    font-family: var(--font-inter) !important;
    font-size: 14px !important;
    color: var(--secondary-navy) !important;
    border: 1px solid #e0e3e8 !important;
    border-radius: 8px !important;
    padding: 10px 14px !important;
    min-height: 44px !important;
    background: #ffffff !important;
    outline: none !important;
    width: 100% !important;
    box-sizing: border-box !important;
    transition: border-color 0.2s ease !important;
    box-shadow: none !important;
}

/* Validation: red border — covers both normal and focused state */
.woocommerce-checkout .woocommerce input.adera-invalid,
.woocommerce-checkout .woocommerce input.adera-invalid:focus,
.woocommerce-checkout .woocommerce textarea.adera-invalid,
.woocommerce-checkout .woocommerce textarea.adera-invalid:focus,
.woocommerce-account .woocommerce input.adera-invalid,
.woocommerce-account .woocommerce input.adera-invalid:focus,
.woocommerce-account .woocommerce textarea.adera-invalid,
.woocommerce-account .woocommerce textarea.adera-invalid:focus,
.woocommerce-cart .woocommerce input.adera-invalid,
.woocommerce-cart .woocommerce input.adera-invalid:focus,
.woocommerce-cart .woocommerce textarea.adera-invalid,
.woocommerce-cart .woocommerce textarea.adera-invalid:focus,
.woocommerce-MyAccount-content input.adera-invalid,
.woocommerce-MyAccount-content input.adera-invalid:focus,
.woocommerce-MyAccount-content textarea.adera-invalid,
.woocommerce-MyAccount-content textarea.adera-invalid:focus,
.woocommerce-MyAccount-content select.adera-invalid,
.woocommerce-MyAccount-content select.adera-invalid:focus {
    border-color: #670EAA !important;
    box-shadow: 0 0 0 1.5px rgba(103, 14, 170, 0.20) !important;
    color: inherit !important;
}

.woocommerce-cart .woocommerce input:focus,
.woocommerce-cart .woocommerce select:not(.select2-hidden-accessible):focus,
.woocommerce-cart .woocommerce textarea:focus,
.woocommerce-checkout .woocommerce input:focus,
.woocommerce-checkout .woocommerce select:not(.select2-hidden-accessible):focus,
.woocommerce-checkout .woocommerce textarea:focus,
.woocommerce-account .woocommerce input:focus,
.woocommerce-account .woocommerce select:not(.select2-hidden-accessible):focus,
.woocommerce-account .woocommerce textarea:focus {
    border-color: var(--secondary-navy) !important;
}

.woocommerce form .form-row label {
    font-family: var(--font-inter);
    font-size: 13px;
    font-weight: 500;
    color: #4a5568;
    margin-bottom: 6px;
    display: block;
}

.woocommerce form .form-row label .required {
    color: #670EAA;
}

/* ═══════════════════════════════════════════════
   CART PAGE — two-column grid layout
═══════════════════════════════════════════════ */

/* Two-column grid: cart items left, totals right */
.woocommerce-cart .adera-cart-grid {
    display: grid;
    grid-template-columns: 1fr 340px;
    gap: 28px;
    align-items: start;
}

.woocommerce-cart .adera-cart-left,
.woocommerce-cart .adera-cart-right {
    min-width: 0;
}

/* Cart form card */
.woocommerce-cart-form {
    background: #ffffff;
    border: 1px solid #e8eaed;
    border-radius: 14px;
    box-shadow: 0px 1px 11px 3px #B2B2B240;
    padding: 24px;
}

/* Cart table shared base */
.woocommerce-cart table.shop_table {
    border: none !important;
    border-collapse: collapse !important;
    width: 100% !important;
    margin: 0 !important;
}

/* WooCommerce default: auto layout — browser sizes columns from content */
.woocommerce-cart .woocommerce-cart-form table.shop_table { table-layout: fixed !important; }
.woocommerce-cart .cart_totals table.shop_table           { table-layout: auto !important; }

/* Only pin the small fixed-size columns; everything else is content-driven */
.woocommerce-cart .woocommerce-cart-form table.shop_table th.product-remove,
.woocommerce-cart .woocommerce-cart-form table.shop_table td.product-remove {
    width: 40px !important;
    padding: 0 8px !important;
}

.woocommerce-cart .woocommerce-cart-form table.shop_table th.product-thumbnail,
.woocommerce-cart .woocommerce-cart-form table.shop_table td.product-thumbnail {
    width: 72px !important;
    padding: 16px 8px 16px 4px !important;
}

/* Keep quantity column from growing too wide */
.woocommerce-cart .woocommerce-cart-form table.shop_table th.product-quantity,
.woocommerce-cart .woocommerce-cart-form table.shop_table td.product-quantity {
    width: 132px !important;
    padding-left: 6px !important;
    padding-right: 6px !important;
}

/* Fixed widths for price + subtotal so the name column flexes (and never overflows) */
.woocommerce-cart .woocommerce-cart-form table.shop_table th.product-price,
.woocommerce-cart .woocommerce-cart-form table.shop_table td.product-price {
    width: 92px !important;
}
.woocommerce-cart .woocommerce-cart-form table.shop_table th.product-subtotal,
.woocommerce-cart .woocommerce-cart-form table.shop_table td.product-subtotal {
    width: 110px !important;
}

/* Prevent "You saved $X" from wrapping */
.woocommerce-cart .woocommerce-cart-form table.shop_table td.product-subtotal {
    white-space: nowrap;
}

.woocommerce-cart table.shop_table thead th {
    font-family: var(--font-poppins);
    font-size: 11px;
    font-weight: 600;
    color: #9ca3af;
    text-transform: uppercase;
    letter-spacing: 0.7px;
    padding: 0 12px 14px;
    border: none !important;
    background: none;
    white-space: nowrap;
}

.woocommerce-cart table.shop_table tbody td {
    padding: 16px 12px;
    border-top: 1px solid #f0f1f3 !important;
    border-left: none !important;
    border-right: none !important;
    border-bottom: none !important;
    vertical-align: middle;
    font-family: var(--font-inter);
    font-size: 14px;
    color: var(--secondary-navy);
    overflow: visible;
}

/* Product name wraps within its column (table-layout: fixed keeps the width) */
.woocommerce-cart table.shop_table tbody td.product-name {
    white-space: normal;
    word-break: break-word;
    line-height: 1.35;
}

.woocommerce-cart table.shop_table .product-thumbnail img {
    width: 64px !important;
    height: 64px !important;
    object-fit: cover;
    border-radius: 8px;
    border: 1px solid #f0f1f3;
    display: block;
}

.woocommerce-cart table.shop_table .product-name a {
    font-family: var(--font-poppins);
    font-size: 14px;
    font-weight: 600;
    color: var(--secondary-navy);
    text-decoration: none;
    transition: color 0.18s ease;
}

.woocommerce-cart table.shop_table .product-name a:hover {
    color: #670EAA;
}

.woocommerce-cart table.shop_table .product-price .amount,
.woocommerce-cart table.shop_table .product-subtotal .amount {
    font-family: var(--font-poppins);
    font-weight: 600;
    color: #670EAA;
}

/* Quantity stepper: [ − | input | + ] */
.woocommerce-cart .quantity {
    display: inline-flex !important;
    align-items: center;
    border: 1px solid #e0e3e8;
    border-radius: 8px;
    overflow: hidden;
    background: #fff;
    height: 40px;
}

.woocommerce-cart .quantity input.qty {
    width: 36px !important;
    height: 40px !important;
    min-height: unset !important;
    text-align: center;
    border: none !important;
    border-left: 1px solid #e0e3e8 !important;
    border-right: 1px solid #e0e3e8 !important;
    border-radius: 0 !important;
    padding: 0 4px !important;
    font-weight: 600;
    font-size: 14px !important;
    background: #fff !important;
    box-shadow: none !important;
    -moz-appearance: textfield;
    appearance: textfield;
}

/* Hide browser native number spinners */
.woocommerce-cart .quantity input.qty::-webkit-outer-spin-button,
.woocommerce-cart .quantity input.qty::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.woocommerce-cart .adera-qty-btn {
    width: 32px !important;
    height: 40px !important;
    min-height: unset !important;
    background: #f5f6f8 !important;
    border: none !important;
    border-radius: 0 !important;
    font-size: 18px !important;
    font-weight: 400 !important;
    color: var(--secondary-navy) !important;
    cursor: pointer;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    flex-shrink: 0;
    transition: background 0.15s ease !important;
    line-height: 1;
}

.woocommerce-cart .adera-qty-btn:hover {
    background: #e0e3e8 !important;
    color: var(--secondary-navy) !important;
}

/* Remove button */
.woocommerce-cart table.shop_table .product-remove a.remove {
    font-size: 20px !important;
    color: #9ca3af !important;
    background: none !important;
    border-radius: 50% !important;
    width: 30px !important;
    height: 30px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: color 0.18s ease, background 0.18s ease !important;
    padding: 0 !important;
}

.woocommerce-cart table.shop_table .product-remove a.remove:hover {
    color: #670EAA !important;
    background: #fff0f0 !important;
}

/* Cart actions row */
.woocommerce-cart table.shop_table td.actions {
    padding: 20px 0 16px !important;
    border-top: 1px solid #f0f1f3 !important;
    overflow: visible !important;
    background: none !important;
}

/* Notices above the coupon input row */
.woocommerce-cart .adera-cart-coupon-notices:empty {
    display: none;
}

.woocommerce-cart .adera-cart-coupon-notices .woocommerce-error,
.woocommerce-cart .adera-cart-coupon-notices .woocommerce-message,
.woocommerce-cart .adera-cart-coupon-notices .woocommerce-info {
    margin: 4px 0 0 !important;
    padding: 0 !important;
    background: none !important;
    border: none !important;
    box-shadow: none !important;
    font-size: 12px !important;
    font-family: var(--font-inter) !important;
    font-weight: 500 !important;
}
.woocommerce-cart .adera-cart-coupon-notices .woocommerce-error::before,
.woocommerce-cart .adera-cart-coupon-notices .woocommerce-message::before,
.woocommerce-cart .adera-cart-coupon-notices .woocommerce-info::before {
    display: none !important;
}
.woocommerce-cart .adera-cart-coupon-notices .woocommerce-error li {
    color: #670EAA !important;
    font-size: 12px !important;
    font-family: var(--font-inter) !important;
    font-weight: 500 !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
.woocommerce-cart .adera-cart-coupon-notices .woocommerce-message li,
.woocommerce-cart .adera-cart-coupon-notices .woocommerce-info li {
    font-size: 12px !important;
    font-family: var(--font-inter) !important;
    font-weight: 500 !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.woocommerce-cart .adera-cart-actions {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    width: 100%;
}

/* Any notice/text injected directly into the actions row breaks to its own line */
.woocommerce-cart .adera-cart-actions > .woocommerce-error,
.woocommerce-cart .adera-cart-actions > .woocommerce-message,
.woocommerce-cart .adera-cart-actions > .woocommerce-info,
.woocommerce-cart .adera-cart-actions > p {
    flex-basis: 100%;
    order: 99;
    margin: 6px 0 0;
    font-size: 13px !important;
}

.woocommerce-cart .adera-cart-actions .coupon {
    display: flex;
    align-items: center;
    gap: 10px;
    flex: 1;
    flex-wrap: wrap;
}

/* Coupon errors — sits after the flex row so it is naturally on its own line */
.adera-coupon-val-msg {
    display: block !important;
    width: 100% !important;
    margin: 4px 0 0 !important;
    text-align: left !important;
}

/* WooCommerce native coupon notice — !important overrides WC's ID-selector rule */
.woocommerce-cart .adera-cart-actions .coupon .coupon-error-notice {
    flex-basis: 100% !important;
    width: 100% !important;
    order: 10 !important;
    margin: 4px 0 0 !important;
    font-family: var(--font-inter) !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    color: #670EAA !important;
}

.woocommerce-cart .adera-cart-actions .coupon input#coupon_code {
    width: auto !important;
    flex: 1;
    max-width: 220px;
    height: 42px !important;
    min-height: unset !important;
    padding: 0 14px !important;
    box-sizing: border-box;
}

.woocommerce-cart .adera-cart-actions .coupon .button,
.woocommerce-cart .adera-cart-actions button[name="apply_coupon"] {
    white-space: nowrap;
    height: 42px !important;
    padding: 0 18px !important;
    font-size: 13px !important;
    min-height: unset !important;
    background: transparent !important;
    color: var(--secondary-navy) !important;
    border: 1.5px solid var(--secondary-navy) !important;
    border-radius: 8px !important;
    display: inline-flex !important;
    align-items: center !important;
}

.woocommerce-cart .adera-cart-actions button[name="update_cart"] {
    margin-left: auto;
    height: 42px !important;
    padding: 0 18px !important;
    font-size: 13px !important;
    min-height: unset !important;
    background: #f5f6f8 !important;
    color: #6b7280 !important;
    border: 1px solid #e0e3e8 !important;
    border-radius: 8px !important;
    display: inline-flex !important;
    align-items: center !important;
}

.woocommerce-cart .adera-cart-actions button[name="update_cart"]:not([disabled]):hover {
    background: var(--brand-purple-deep) !important;
    color: #ffffff !important;
    border-color: var(--secondary-navy) !important;
}

/* Cart right column — totals card fills the grid column */
.woocommerce-cart .cart-collaterals {
    width: 100% !important;
}

.woocommerce-cart .cross-sells {
    display: none !important;
}

.woocommerce-cart .cart_totals {
    float: none !important;
    width: 100% !important;
    background: #ffffff;
    border: 1px solid #e8eaed;
    border-radius: 14px;
    box-shadow: 0px 1px 11px 3px #B2B2B240;
    padding: 24px;
}

.woocommerce-cart .cart_totals h2 {
    font-family: var(--font-poppins);
    font-size: 16px;
    font-weight: 600;
    color: var(--secondary-navy);
    margin: 0 0 8px;
    padding-bottom: 0;
    border: none;
}

.woocommerce-cart .cart_totals table.shop_table {
    margin-bottom: 0 !important;
}

/* Apply a consistent separator to every row via both th and td */
.woocommerce-cart .cart_totals table tr th,
.woocommerce-cart .cart_totals table tr td {
    border: none !important;
    border-top: 1px solid #f0f1f3 !important;
    padding: 13px 0 !important;
    background: none !important;
}

/* No top border on the very first row */
.woocommerce-cart .cart_totals table tr:first-child th,
.woocommerce-cart .cart_totals table tr:first-child td {
    border-top: none !important;
    padding-top: 6px !important;
}

/* Remove coupon button — cart & checkout */
a.woocommerce-remove-coupon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-family: var(--font-inter) !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    color: #670EAA !important;
    text-decoration: none !important;
    border: 1.5px solid #670EAA !important;
    border-radius: 4px !important;
    padding: 2px 7px !important;
    margin-left: 8px !important;
    line-height: 1.4 !important;
    transition: background 0.15s ease, color 0.15s ease !important;
    cursor: pointer !important;
    vertical-align: middle !important;
}
a.woocommerce-remove-coupon:hover {
    background: #670EAA !important;
    color: #ffffff !important;
    text-decoration: none !important;
}

.woocommerce-cart .cart_totals table th {
    font-family: var(--font-inter);
    font-size: 13px;
    font-weight: 500;
    color: #6b7280;
    width: 50%;
    text-align: left;
}

.woocommerce-cart .cart_totals table td {
    font-family: var(--font-poppins);
    font-size: 14px;
    font-weight: 500;
    color: var(--secondary-navy);
    text-align: right;
}

/* Total row — stronger separator + larger text */
.woocommerce-cart .cart_totals .order-total th,
.woocommerce-cart .cart_totals .order-total td {
    border-top: 2px solid #e8eaed !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    padding-top: 16px !important;
}

.woocommerce-cart .cart_totals .order-total td .amount {
    color: #670EAA;
}

/* Hide shipping address and change address link from cart totals */
.woocommerce-cart .cart_totals .woocommerce-shipping-destination,
.woocommerce-cart .cart_totals .shipping-calculator-button,
.woocommerce-cart .cart_totals .shipping-calculator-form {
    display: none !important;
}

/* Cart shipping cell + label — match checkout layout */
.woocommerce-cart .cart_totals td.adera-shipping-cell {
    text-align: left !important;
    padding: 13px 0 0 !important;
}

.woocommerce-cart .adera-shipping-label {
    font-family: var(--font-manrope);
    font-size: 14px;
    font-weight: 700;
    color: #6b7280;
    letter-spacing: -0.1px;
    margin-bottom: 8px;
    display: block;
}

/* Cart shipping methods — same card style as checkout */
.woocommerce-cart .woocommerce-shipping-methods {
    display: flex !important;
    flex-direction: column;
    gap: 6px;
    list-style: none !important;
    margin: 8px 0 0 !important;
    padding: 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.woocommerce-cart .woocommerce-shipping-methods li {
    position: relative;
    border: 1.5px solid #e0e3e8 !important;
    border-radius: 8px !important;
    overflow: hidden;
    cursor: pointer;
    transition: border-color 0.18s ease, background 0.18s ease;
    white-space: normal !important;
    padding: 0 !important;
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.woocommerce-cart .woocommerce-shipping-methods li input[type="radio"] {
    position: absolute !important;
    opacity: 0 !important;
    width: 0 !important;
    height: 0 !important;
    pointer-events: none;
}

.woocommerce-cart .woocommerce-shipping-methods li label {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 11px 14px !important;
    width: 100% !important;
    cursor: pointer;
    font-family: var(--font-inter) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    color: var(--secondary-navy) !important;
    box-sizing: border-box;
    margin: 0 !important;
}

.woocommerce-cart .woocommerce-shipping-methods li label::before {
    content: '';
    width: 16px;
    height: 16px;
    min-width: 16px;
    border-radius: 50%;
    border: 2px solid #494949;
    display: block;
    box-sizing: border-box;
    flex-shrink: 0;
    transition: border-color 0.18s ease, border-width 0.15s ease;
}

.woocommerce-cart .woocommerce-shipping-methods li:hover:not(:has(input:checked)) {
    border-color: #a0aec0 !important;
    background: #fafbff;
}

.woocommerce-cart .woocommerce-shipping-methods li:has(input:checked) {
    border-color: var(--secondary-navy) !important;
    background: #F7F3FB;
}

.woocommerce-cart .woocommerce-shipping-methods li:has(input:checked) label::before {
    border-color: var(--secondary-navy);
    border-width: 5px;
}

.woocommerce-cart .wc-proceed-to-checkout {
    margin-top: 20px;
}

.woocommerce-cart .wc-proceed-to-checkout .checkout-button {
    display: flex !important;
    width: 100%;
    text-align: center;
    padding: 14px 24px !important;
    font-size: 15px !important;
    border-radius: 10px !important;
}

/* ═══════════════════════════════════════════════
   CHECKOUT PAGE
═══════════════════════════════════════════════ */

/* ── Checkout progress steps ── */
.adera-checkout-steps {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-bottom: 28px;
    padding: 14px 24px;
    background: #ffffff;
    border: 1px solid #e8eaed;
    border-radius: 12px;
    box-shadow: 0px 1px 6px 0px #B2B2B220;
}

.adera-checkout-step {
    display: flex;
    align-items: center;
    gap: 8px;
    text-decoration: none;
    font-family: var(--font-poppins);
    font-size: 13px;
    font-weight: 500;
    color: #9ca3af;
}

.adera-checkout-step .adera-step-icon {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: #f0f1f3;
    color: #9ca3af;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: 700;
    flex-shrink: 0;
    transition: background 0.2s ease;
}

.adera-checkout-step.adera-step-done {
    color: #6C2689;
}

.adera-checkout-step.adera-step-done .adera-step-icon {
    background: #F7F3FB;
    color: #6C2689;
}

.adera-checkout-step.adera-step-done:hover {
    color: var(--secondary-navy);
}

.adera-checkout-step.adera-step-active {
    color: var(--secondary-navy);
}

.adera-checkout-step.adera-step-active .adera-step-icon {
    background: var(--brand-purple-deep);
    color: #ffffff;
}

.adera-step-divider {
    color: #494949;
    display: flex;
    align-items: center;
}

/* ── Order summary heading with lock icon ── */
.woocommerce-checkout #order_review_heading {
    display: flex;
    align-items: center;
    gap: 8px;
}

.woocommerce-checkout #order_review_heading .adera-secure-icon {
    color: #670EAA;
    flex-shrink: 0;
}

.woocommerce-checkout #order_review_heading .adera-secure-badge {
    margin-left: auto;
    font-family: var(--font-inter);
    font-size: 11px;
    font-weight: 600;
    color: #670EAA;
    background: #F7F3FB;
    padding: 3px 10px;
    border-radius: 20px;
    letter-spacing: 0.3px;
}

/* ── Trust badges — inside the order summary card ── */
.adera-checkout-trust {
    display: flex;
    gap: 0;
    border-top: 1px solid #f0f1f3;
    background: #f7f8fa;
}

.adera-trust-item {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 14px 8px;
    font-family: var(--font-inter);
    font-size: 11px;
    font-weight: 500;
    color: #6b7280;
    text-align: center;
    border-right: 1px solid #f0f1f3;
}

.adera-trust-item:last-child {
    border-right: none;
}

.adera-trust-item svg {
    color: #9ca3af;
    flex-shrink: 0;
}

/* ── Inline coupon row in order summary ─────────────────────── */
.woocommerce-checkout table.shop_table tr.adera-coupon-row td {
    border-top: none !important;
    border-bottom: 1px solid #f0f1f3 !important;
    padding: 10px 0 14px !important;
    text-align: left !important;
    border-left: none !important;
    border-right: none !important;
}

.woocommerce-checkout .adera-coupon-label {
    font-family: var(--font-manrope) !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    color: var(--secondary-navy) !important;
    text-transform: none !important;
    letter-spacing: -0.3px !important;
    margin: 0 0 8px !important;
    text-align: left !important;
}

.woocommerce-checkout .adera-coupon-label span {
    color: var(--accent-red) !important;
}

.woocommerce-checkout .adera-coupon-response {
    margin-top: 8px;
    font-size: 13px;
}

.woocommerce-checkout .adera-coupon-response .woocommerce-error,
.woocommerce-checkout .adera-coupon-response .woocommerce-message {
    background: none !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 6px 0 0 !important;
    display: flex !important;
    align-items: center !important;
    flex-direction: row !important;
    gap: 6px !important;
    font-family: var(--font-inter) !important;
    font-size: 12px !important;
    font-weight: 500 !important;
}

.woocommerce-checkout .adera-coupon-response .woocommerce-error::before,
.woocommerce-checkout .adera-coupon-response .woocommerce-message::before {
    display: none !important;
}

.woocommerce-checkout .adera-coupon-response .woocommerce-error {
    color: #670EAA !important;
}

.woocommerce-checkout .adera-coupon-response .woocommerce-message {
    color: #470073 !important;
}

.woocommerce-checkout .adera-coupon-response .woocommerce-error li,
.woocommerce-checkout .adera-coupon-response .woocommerce-message li {
    display: block !important;
    padding: 0 !important;
    margin: 0 !important;
    gap: 0 !important;
    list-style: none !important;
    font-size: 12px !important;
}

.woocommerce-checkout .adera-coupon-response .woocommerce-error li {
    color: #670EAA !important;
}

.woocommerce-checkout .adera-coupon-response .woocommerce-message li {
    color: #470073 !important;
}

.woocommerce-checkout table.shop_table tr.adera-coupon-row .adera-coupon-wrap {
    border: 1.5px dotted var(--accent-red) !important;
    border-radius: 10px !important;
    padding: 12px !important;
}

.woocommerce-checkout .adera-inline-coupon {
    display: flex;
    gap: 8px;
    align-items: center;
}

.woocommerce-checkout .adera-inline-coupon input#adera_coupon_code_display {
    flex: 1 1 auto;
    height: 40px !important;
    border: 1px solid #e0e3e8 !important;
    border-radius: 8px !important;
    padding: 0 12px !important;
    font-family: var(--font-inter) !important;
    font-size: 13px !important;
    color: var(--secondary-navy) !important;
    background: #ffffff !important;
    box-shadow: none !important;
    outline: none;
}

.woocommerce-checkout .adera-inline-coupon input#adera_coupon_code_display:focus {
    border-color: var(--secondary-navy) !important;
}

.woocommerce-checkout .adera-inline-coupon .adera-apply-coupon-btn {
    height: 40px !important;
    padding: 0 16px !important;
    background: var(--brand-purple-deep) !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 8px !important;
    font-family: var(--font-inter) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    cursor: pointer;
    white-space: nowrap;
    flex-shrink: 0;
    transition: opacity 0.15s ease !important;
}

.woocommerce-checkout .adera-inline-coupon .adera-apply-coupon-btn:hover {
    opacity: 0.85 !important;
}

/* ── Checkout form layout ────────────────────────────────────── */
/* Flex lives on the inner wrapper so WC-injected notices (prepended to the form root) stay full-width naturally */
.woocommerce-checkout .adera-checkout-columns {
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
    align-items: start;
    width: 100%;
}

.woocommerce-checkout #customer_details {
    flex: 3 1 380px;
    background: #ffffff;
    border: 1px solid #e8eaed;
    border-radius: 14px;
    box-shadow: 0px 1px 11px 3px #B2B2B240;
    padding: 28px 24px;
    float: none !important;
    box-sizing: border-box;
}

.woocommerce-checkout .adera-order-summary-card {
    flex: 2 1 300px;
    align-self: start;
    box-sizing: border-box;
}

.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2 {
    float: none !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}

.woocommerce-checkout #customer_details .col-2 {
    margin-top: 28px !important;
}

/* Single card wrapping both heading and review */
.woocommerce-checkout .adera-order-summary-card {
    grid-column: 2;
    background: #ffffff;
    border: 1px solid #e8eaed;
    border-radius: 14px;
    box-shadow: 0px 1px 11px 3px #B2B2B240;
    overflow: hidden;
    align-self: start;
}

.woocommerce-checkout #order_review_heading {
    font-family: var(--font-manrope);
    font-size: 16px;
    font-weight: 800;
    color: var(--secondary-navy);
    margin: 0;
    padding: 20px 24px 16px;
    border-bottom: 1px solid #f0f1f3;
}

.woocommerce-checkout #order_review_heading .adera-heading-red {
    color: var(--accent-red);
}

.woocommerce-checkout #order_review {
    padding: 20px 24px 24px;
    float: none !important;
    width: 100% !important;
}

.woocommerce-checkout .adera-payment-heading {
    font-family: var(--font-manrope);
    font-size: 16px;
    font-weight: 800;
    color: var(--secondary-navy);
    text-transform: none;
    letter-spacing: -0.3px;
    margin: 0 0 12px;
}

.woocommerce-checkout .adera-payment-heading span {
    color: var(--accent-red);
}

/* Payment method list */
.woocommerce-checkout .wc_payment_methods,
.woocommerce-checkout #payment ul.payment_methods {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 0 20px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    border: none !important;
    border-radius: 0 !important;
    background: transparent !important;
    overflow: visible !important;
}

.woocommerce-checkout .wc_payment_method {
    border: 1.5px solid #e0e3e8 !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    transition: border-color 0.18s ease !important;
}

/* Hide native radio */
.woocommerce-checkout .wc_payment_method input[type="radio"] {
    position: absolute !important;
    opacity: 0 !important;
    width: 0 !important;
    height: 0 !important;
    pointer-events: none !important;
}

/* Payment gateway labels */
.woocommerce-checkout .wc_payment_methods .wc_payment_method > label {
    font-family: var(--font-inter) !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: var(--secondary-navy) !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 12px 0 !important;
    cursor: pointer !important;
    margin: 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* Custom radio dot */
.woocommerce-checkout .wc_payment_method > label::before {
    content: '' !important;
    width: 16px !important;
    height: 16px !important;
    min-width: 16px !important;
    border-radius: 50% !important;
    border: 2px solid #494949 !important;
    display: block !important;
    box-sizing: border-box !important;
    flex-shrink: 0 !important;
    transition: border-color 0.18s ease, border-width 0.15s ease !important;
}

/* Selected state */
.woocommerce-checkout .wc_payment_method:has(input:checked) {
    border-color: var(--secondary-navy) !important;
}

.woocommerce-checkout .wc_payment_method:has(input:checked) > label::before {
    border-color: var(--secondary-navy) !important;
    border-width: 5px !important;
}

.woocommerce-checkout .payment_box {
    background: #f7f8fa !important;
    border-radius: 8px !important;
    font-family: var(--font-inter) !important;
    font-size: 13px !important;
    color: var(--secondary-navy) !important;
    line-height: 1.6 !important;
}
.woocommerce-checkout .payment_box p,
.woocommerce-checkout .payment_box * {
    font-family: var(--font-inter) !important;
    font-size: 13px !important;
    color: var(--secondary-navy) !important;
    line-height: 1.6 !important;
}

.woocommerce-checkout .payment_box a {
    color: var(--accent-red) !important;
    font-weight: 600 !important;
}

.woocommerce-checkout .payment_box::before {
    border-bottom-color: #f7f8fa !important;
}

/* Hide WooCommerce's default coupon toggle + form — replaced by custom inline coupon widget */
.woocommerce-checkout .woocommerce-form-coupon-toggle,
.woocommerce-checkout form.checkout_coupon,
.woocommerce-checkout form.woocommerce-form-coupon,
/* Hide login notice on checkout — removed via PHP but CSS is a FOUC safety net */
.woocommerce-checkout .woocommerce-form-login-toggle,
.woocommerce-checkout .woocommerce-form-login {
    display: none !important;
}

/* Payment gateway body images — cap size on mobile so logos/QR codes don't overflow the card */
@media (max-width: 768px) {
    .woocommerce-checkout .payment_box img {
        width: 50px !important;
        height: 50px !important;
        min-width: 50px !important;
        min-height: 50px !important;
        max-width: 50px !important;
        max-height: 50px !important;
        display: inline-block;
        vertical-align: middle;
    }
}

/* Hide WooCommerce's default coupon toggle + form — replaced by custom inline coupon widget */
.woocommerce-checkout .woocommerce-form-coupon-toggle,
.woocommerce-checkout form.checkout_coupon,
.woocommerce-checkout form.woocommerce-form-coupon {
    display: none !important;
}

/* Privacy policy text */
.woocommerce-checkout .woocommerce-privacy-policy-text,
.woocommerce-checkout .woocommerce-privacy-policy-text p {
    font-family: var(--font-inter) !important;
    font-size: 13px !important;
    color: #6b7280 !important;
    line-height: 1.6 !important;
}

.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px 16px;
}

.woocommerce-checkout .woocommerce-additional-fields__field-wrapper {
    display: block;
}

/* Override WooCommerce's 47% float widths so fields fill their grid cell */
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper .form-row,
.woocommerce-checkout .woocommerce-additional-fields__field-wrapper .form-row {
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
}

.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout .woocommerce-shipping-fields h3,
.woocommerce-checkout .woocommerce-additional-fields h3 {
    font-family: var(--font-manrope);
    font-size: 16px;
    font-weight: 800;
    color: var(--secondary-navy);
    letter-spacing: -0.3px;
    margin: 0 0 16px;
    padding-bottom: 12px;
    border-bottom: 2px solid #f0f1f3;
    grid-column: 1 / -1;
}

.woocommerce-checkout .woocommerce-billing-fields h3 .adera-heading-red,
.woocommerce-checkout .woocommerce-shipping-fields h3 .adera-heading-red,
.woocommerce-checkout .woocommerce-additional-fields h3 .adera-heading-red {
    color: var(--accent-red);
}

.woocommerce-checkout .form-row-wide,
.woocommerce-checkout p.form-row-wide {
    grid-column: 1 / -1;
}

.woocommerce-checkout table.shop_table {
    border: none !important;
    border-collapse: collapse !important;
    width: 100%;
    margin: 0 !important;
}

/* Product name: takes natural width */
.woocommerce-checkout table.shop_table .product-name {
    width: 60%;
}

/* Subtotal column: right-aligned, don't clip */
.woocommerce-checkout table.shop_table .product-total {
    text-align: right;
    white-space: nowrap;
}

/* tfoot labels left, values right */
.woocommerce-checkout table.shop_table tfoot th {
    text-align: left;
    font-weight: 500;
    color: #6b7280;
    width: 50%;
}

.woocommerce-checkout table.shop_table tfoot td {
    text-align: right;
}

/* Shipping row: full-width section breaking out of 2-col layout */
/* Shipping row: single <td colspan="2"> spans full width */
.woocommerce-checkout table.shop_table .woocommerce-shipping-totals td.adera-shipping-cell {
    border-top: none !important;
    padding: 0 !important;
    text-align: left !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.woocommerce-checkout .adera-shipping-label {
    font-family: var(--font-manrope);
    font-size: 16px;
    font-weight: 800;
    color: var(--secondary-navy);
    text-transform: capitalize;
    letter-spacing: -0.2px;
    padding: 16px 0 8px;
}

/* Shipping methods — card-style selectable options */
.woocommerce-checkout .woocommerce-shipping-methods {
    display: flex !important;
    flex-direction: column;
    gap: 6px;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.woocommerce-checkout .woocommerce-shipping-methods li {
    position: relative;
    border: 1.5px solid #e0e3e8 !important;
    border-radius: 8px !important;
    overflow: hidden;
    cursor: pointer;
    transition: border-color 0.18s ease, background 0.18s ease;
    white-space: normal !important;
    padding: 0 !important;
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* Hide native radio */
.woocommerce-checkout .woocommerce-shipping-methods li input[type="radio"] {
    position: absolute !important;
    opacity: 0 !important;
    width: 0 !important;
    height: 0 !important;
    pointer-events: none;
}

/* Label = full clickable card row */
.woocommerce-checkout .woocommerce-shipping-methods li label {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 11px 14px !important;
    width: 100% !important;
    cursor: pointer;
    font-family: var(--font-inter) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    color: var(--secondary-navy) !important;
    box-sizing: border-box;
    margin: 0 !important;
}

/* Custom radio dot */
.woocommerce-checkout .woocommerce-shipping-methods li label::before {
    content: '';
    width: 16px;
    height: 16px;
    min-width: 16px;
    border-radius: 50%;
    border: 2px solid #494949;
    display: block;
    box-sizing: border-box;
    flex-shrink: 0;
    transition: border-color 0.18s ease, border-width 0.15s ease;
}

/* Hover */
.woocommerce-checkout .woocommerce-shipping-methods li:hover:not(:has(input:checked)) {
    border-color: #a0aec0 !important;
    background: #fafbff;
}

/* Selected */
.woocommerce-checkout .woocommerce-shipping-methods li:has(input:checked) {
    border-color: var(--secondary-navy) !important;
    background: #F7F3FB;
}

.woocommerce-checkout .woocommerce-shipping-methods li:has(input:checked) label::before {
    border-color: var(--secondary-navy);
    border-width: 5px;
}

.woocommerce-checkout table.shop_table thead th {
    font-family: var(--font-manrope);
    font-size: 12px;
    font-weight: 800;
    color: var(--secondary-navy);
    text-transform: capitalize;
    letter-spacing: -0.2px;
    padding: 0 0 12px;
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    border-bottom: 1px solid #f0f1f3 !important;
}

.woocommerce-checkout table.shop_table tbody td,
.woocommerce-checkout table.shop_table tfoot td,
.woocommerce-checkout table.shop_table tfoot th {
    padding: 12px 0;
    border-top: 1px solid #f0f1f3 !important;
    border-left: none !important;
    border-right: none !important;
    border-bottom: none !important;
    font-family: var(--font-inter);
    font-size: 13px;
    color: var(--secondary-navy);
}

.woocommerce-checkout table.shop_table .order-total td .amount {
    color: #670EAA;
    font-family: var(--font-poppins);
    font-size: 16px;
    font-weight: 700;
}

.woocommerce-checkout #payment {
    background: none !important;
    border: none !important;
    padding: 20px 0 0 !important;
    border-radius: 0 !important;
}

.woocommerce-checkout #payment ul.payment_methods li {
    padding: 0 14px !important;
    margin: 0 !important;
}
.woocommerce-checkout #payment ul.payment_methods li label {
    font-family: var(--font-poppins) !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: var(--secondary-navy) !important;
    cursor: pointer !important;
    margin: 0 !important;
}

.woocommerce-checkout #payment .payment_box {
    padding: 14px;
    margin-top: 10px;
}

/* Terms & conditions checkbox */
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper .woocommerce-form__label-for-checkbox {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    cursor: pointer;
    font-family: var(--font-inter) !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    color: #4a5568 !important;
}

.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper input[type="checkbox"]#terms {
    -webkit-appearance: none;
    appearance: none;
    width: 17px !important;
    height: 17px !important;
    min-width: 17px !important;
    border: 2px solid #d1d5db !important;
    border-radius: 4px !important;
    background: #fff !important;
    cursor: pointer;
    flex-shrink: 0;
    position: relative;
    transition: background 0.15s ease, border-color 0.15s ease;
    box-sizing: border-box !important;
    margin: 0 !important;
    vertical-align: middle;
}

.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper input[type="checkbox"]#terms:hover {
    border-color: #670EAA !important;
}

.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper input[type="checkbox"]#terms:checked {
    background-color: #670EAA !important;
    border-color: #670EAA !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8.5L6.5 12 13 5' stroke='%23ffffff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E") !important;
    background-size: 72% !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
}
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper input[type="checkbox"]#terms:checked::after {
    display: none;
}

/* Shared custom checkbox — ship-to + omnisend newsletter */
.woocommerce-checkout input[type="checkbox"]#ship-to-different-address-checkbox,
.woocommerce-checkout input[type="checkbox"]#omnisend_newsletter_checkbox {
    -webkit-appearance: none !important;
    appearance: none !important;
    display: inline-block !important;
    width: 17px !important;
    height: 17px !important;
    min-width: 17px !important;
    border: 2px solid #d1d5db !important;
    border-radius: 4px !important;
    background: #fff !important;
    background-image: none !important;
    cursor: pointer !important;
    flex-shrink: 0 !important;
    position: relative !important;
    transition: background 0.15s ease, border-color 0.15s ease;
    box-sizing: border-box !important;
    margin: 0 8px 0 0 !important;
    vertical-align: middle !important;
    outline: none !important;
}

.woocommerce-checkout input[type="checkbox"]#ship-to-different-address-checkbox:hover,
.woocommerce-checkout input[type="checkbox"]#omnisend_newsletter_checkbox:hover {
    border-color: #670EAA !important;
}

.woocommerce-checkout input[type="checkbox"]#ship-to-different-address-checkbox:checked,
.woocommerce-checkout input[type="checkbox"]#omnisend_newsletter_checkbox:checked {
    background-color: #670EAA !important;
    border-color: #670EAA !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8.5L6.5 12 13 5' stroke='%23ffffff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E") !important;
    background-size: 72% !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
}

/* Fix label alignment for both rows */
.woocommerce-checkout #ship-to-different-address label,
.woocommerce-checkout .omnisend_newsletter_checkbox_field label {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0 !important;
    cursor: pointer !important;
}

/* Terms link colour */
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper a {
    color: var(--secondary-navy) !important;
    font-weight: 600 !important;
    text-decoration: underline !important;
}

.woocommerce-checkout #place_order {
    display: flex !important;
    width: 100%;
    padding: 14px 24px !important;
    font-size: 15px !important;
    border-radius: 10px !important;
}

/* ═══════════════════════════════════════════════
   MY ACCOUNT PAGE
═══════════════════════════════════════════════ */

.woocommerce-account .woocommerce {
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
    align-items: flex-start;
}

/* suppress clearfix pseudo-elements that become unwanted flex items */
.woocommerce-account .woocommerce::before,
.woocommerce-account .woocommerce::after,
.woocommerce-account .u-columns.col2-set::before,
.woocommerce-account .u-columns.col2-set::after {
    display: none !important;
}

/* notices takes full width so it doesn't sit beside the nav */
.woocommerce-account .woocommerce > .woocommerce-notices-wrapper {
    flex: 0 0 100%;
    width: 100%;
}

/* collapse when empty so it doesn't create a gap row above the content */
.woocommerce-account .woocommerce > .woocommerce-notices-wrapper:empty {
    display: none !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation {
    flex: 0 0 220px;
    width: 220px;
}

.woocommerce-account .woocommerce-MyAccount-content {
    flex: 1;
    min-width: 0;
}

.woocommerce-MyAccount-navigation {
    background: #ffffff;
    border: 1px solid #e8eaed;
    border-radius: 14px;
    box-shadow: 0px 1px 11px 3px #B2B2B240;
    overflow: hidden;
    position: sticky;
    top: 100px;
}

.woocommerce-MyAccount-navigation ul {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.woocommerce-MyAccount-navigation ul li {
    border-bottom: 1px solid #f0f1f3;
    margin: 0 !important;
}

.woocommerce-MyAccount-navigation ul li:last-child {
    border-bottom: none;
}

.woocommerce-MyAccount-navigation ul li:not(.woocommerce-MyAccount-accordion-content) > a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 13px 18px;
    font-family: var(--font-inter);
    font-size: 13px;
    font-weight: 500;
    color: #6b7280;
    text-decoration: none;
    transition: color 0.18s ease, background 0.18s ease;
}

/* Chevron arrow */
.woocommerce-MyAccount-navigation ul li:not(.woocommerce-MyAccount-accordion-content) > a::after {
    content: '';
    flex-shrink: 0;
    width: 7px;
    height: 7px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(-45deg);
    transition: transform 0.2s ease;
    margin-left: 8px;
}

.woocommerce-MyAccount-navigation ul li.is-active:not(.woocommerce-MyAccount-accordion-content) > a::after {
    transform: rotate(45deg);
}

.woocommerce-MyAccount-navigation ul li:not(.woocommerce-MyAccount-accordion-content) > a:hover {
    color: var(--secondary-navy);
    background: #f7f8fa;
    font-weight: 600;
}

.woocommerce-MyAccount-navigation ul li.is-active:not(.woocommerce-MyAccount-accordion-content) > a {
    color: var(--secondary-navy);
    font-weight: 600;
    background: #F7F3FB;
    border-left: 3px solid #670EAA;
    padding-left: 15px;
}

.woocommerce-MyAccount-content {
    background: #ffffff;
    border: none;
    border-radius: 14px;
    box-shadow: 0px 1px 11px 3px #B2B2B240;
    padding: 28px;
}

.woocommerce-MyAccount-content a:not([class*="wlr"]):not([class*="woocommerce-button"]) {
    color: #670EAA;
    text-decoration: none;
}

.woocommerce-MyAccount-content a:not([class*="wlr"]):not([class*="woocommerce-button"]):hover {
    color: #6C2689;
}

/* Override any plugin container that shrinks around a heading */
.woocommerce-MyAccount-content div:has(> h2),
.woocommerce-MyAccount-content div:has(> h3) {
    max-width: 100% !important;
    width: 100% !important;
    display: block !important;
    justify-content: flex-start !important;
    box-sizing: border-box !important;
}

/* ── Account headings — 2 rules only ─────────────────────────────────
   Rule 1: all h2/h3 in account content — red left border, no background
   Rule 2: login/register column only — larger, no border               */

.woocommerce-MyAccount-content h2,
.woocommerce-MyAccount-content h3 {
    font-family: var(--font-poppins) !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    color: var(--secondary-navy) !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    margin: 0 0 16px !important;
    padding: 10px 16px !important;
    background: #f7f8fa !important;
    border: none !important;
    border-left: 3px solid #670EAA !important;
    border-radius: 0 6px 6px 0 !important;
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* Address card h2/h3 — card already has padding, no grey chip needed */
.woocommerce-column h2,
.woocommerce-column h3,
.woocommerce-Address-title h2,
.woocommerce-Address-title h3,
.woocommerce-column__title {
    background: none !important;
    border-left: none !important;
    border-radius: 0 !important;
    border-bottom: 1px solid #f0f1f3 !important;
    padding: 0 0 10px !important;
    margin: 0 0 14px !important;
    width: 100% !important;
}

/* Login/register only — bigger heading, no border decoration */
.woocommerce-account .u-column1 h2,
.woocommerce-account .u-column2 h2 {
    font-size: 20px !important;
    font-weight: 700 !important;
    color: #494949 !important;
    margin: 0 0 24px !important;
    padding: 0 !important;
    border: none !important;
    border-radius: 0 !important;
    width: auto !important;
}

/* Account page pagination */
.woocommerce-MyAccount-content .woocommerce-pagination,
.woocommerce-MyAccount-content nav.woocommerce-pagination {
    margin-top: 24px;
    display: flex;
    justify-content: center;
}

.woocommerce-MyAccount-content .woocommerce-pagination ul,
.woocommerce-MyAccount-content nav.woocommerce-pagination ul {
    display: flex;
    gap: 6px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.woocommerce-MyAccount-content .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 36px;
    height: 36px;
    padding: 0 10px;
    border-radius: 8px;
    border: 1.5px solid #e0e3e8;
    font-family: var(--font-inter);
    font-size: 13px;
    font-weight: 500;
    color: var(--secondary-navy) !important;
    text-decoration: none !important;
    transition: background 0.15s ease, border-color 0.15s ease;
}

.woocommerce-MyAccount-content .page-numbers:hover {
    background: #F7F3FB;
    border-color: var(--secondary-navy);
    color: var(--secondary-navy) !important;
}

.woocommerce-MyAccount-content .page-numbers.current {
    background: var(--brand-purple-deep);
    border-color: var(--secondary-navy);
    color: #ffffff !important;
    font-weight: 700;
}

.woocommerce-MyAccount-content .page-numbers.next,
.woocommerce-MyAccount-content .page-numbers.prev {
    font-weight: 700;
    letter-spacing: 0.5px;
}

.woocommerce-MyAccount-content p {
    font-family: var(--font-inter);
    font-size: 14px;
    color: #4a5568;
    line-height: 1.6;
    margin-bottom: 14px;
}

/* ── Global .woocommerce-Button — inline theme-coloured, never full-width ── */
.woocommerce-account .woocommerce-Button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    height: auto !important;
    padding: 9px 22px !important;
    background: #670EAA !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 8px !important;
    font-family: var(--font-inter) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    text-decoration: none !important;
    transition: background 0.18s ease !important;
    margin: 0 !important;
}
.woocommerce-account .woocommerce-Button:hover {
    background: #6C2689 !important;
    color: #ffffff !important;
}

/* Login/register submit — override to full-width since it's the only CTA */
.woocommerce-account .woocommerce-form-login .woocommerce-Button,
.woocommerce-account .woocommerce-form-register .woocommerce-Button {
    width: 100% !important;
    height: 46px !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    margin-top: 8px !important;
    display: block !important;
}

/* Global AJAX loading — fixed to viewport so spinner is always visible */
.adera-ajax-loading {
    pointer-events: none;
}
.adera-ajax-loading::after {
    content: '';
    position: fixed;
    inset: 0;
    background: rgba(255,255,255,0.55);
    z-index: 9998;
}
.adera-ajax-spinner {
    position: fixed !important;
    top: 50vh !important;
    left: 50vw !important;
    margin-top: -20px !important;
    margin-left: -20px !important;
    width: 40px !important;
    height: 40px !important;
    border: 3px solid rgba(103,14,170,0.15) !important;
    border-top-color: #670EAA !important;
    border-radius: 50% !important;
    animation: adera-spin 0.7s linear infinite !important;
    z-index: 9999 !important;
    box-sizing: border-box !important;
}
@keyframes adera-spin {
    from { transform: rotate(0deg); }
    to   { transform: rotate(360deg); }
}

/* Global account tables — all !important so plugin specificity can't override */
.woocommerce-MyAccount-content table {
    border: none !important;
    border-collapse: collapse !important;
    width: 100% !important;
    outline: none !important;
    box-shadow: none !important;
}

.woocommerce-MyAccount-content table thead th {
    font-family: var(--font-poppins) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    color: #9ca3af !important;
    text-transform: uppercase !important;
    letter-spacing: 0.7px !important;
    padding: 10px 12px !important;
    border: none !important;
    border-bottom: 2px solid #e8eaed !important;
    background: #f7f8fa !important;
    border-radius: 0 !important;
    line-height: 1.4 !important;
    text-align: left !important;
}

.woocommerce-MyAccount-content table tbody td,
.woocommerce-MyAccount-content table tbody th {
    padding: 14px 12px !important;
    border-top: 1px solid #f0f1f3 !important;
    border-left: none !important;
    border-right: none !important;
    border-bottom: none !important;
    font-family: var(--font-inter) !important;
    font-size: 14px !important;
    color: var(--secondary-navy) !important;
    background: none !important;
}

/* ── Global labels, checkboxes & radio buttons in account content ──── */

/* Labels */
.woocommerce-MyAccount-content label {
    font-family: var(--font-inter) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    color: var(--secondary-navy) !important;
    cursor: pointer;
    display: inline-flex !important;
    align-items: center !important;
    gap: 9px !important;
    line-height: 1.4 !important;
}

/* Checkboxes */
.woocommerce-MyAccount-content input[type="checkbox"] {
    -webkit-appearance: none !important;
    appearance: none !important;
    width: 17px !important;
    height: 17px !important;
    min-width: 17px !important;
    border: 2px solid #d1d5db !important;
    border-radius: 4px !important;
    background: #ffffff !important;
    cursor: pointer !important;
    flex-shrink: 0 !important;
    position: relative !important;
    transition: background 0.15s ease, border-color 0.15s ease !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    vertical-align: middle;
}
.woocommerce-MyAccount-content input[type="checkbox"]:hover {
    border-color: #670EAA !important;
}
.woocommerce-MyAccount-content input[type="checkbox"]:checked {
    background-color: #670EAA !important;
    border-color: #670EAA !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8.5L6.5 12 13 5' stroke='%23ffffff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E") !important;
    background-size: 72% !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
}
.woocommerce-MyAccount-content input[type="checkbox"]:checked::after {
    display: none !important;
}

/* Radio buttons */
.woocommerce-MyAccount-content input[type="radio"] {
    -webkit-appearance: none !important;
    appearance: none !important;
    width: 17px !important;
    height: 17px !important;
    min-width: 17px !important;
    border: 2px solid #d1d5db !important;
    border-radius: 50% !important;
    background: #ffffff !important;
    cursor: pointer !important;
    flex-shrink: 0 !important;
    position: relative !important;
    transition: background 0.15s ease, border-color 0.15s ease !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    vertical-align: middle;
}
.woocommerce-MyAccount-content input[type="radio"]:hover {
    border-color: #670EAA !important;
}
.woocommerce-MyAccount-content input[type="radio"]:checked {
    border-color: #670EAA !important;
    border-width: 5px !important;
    background: #ffffff !important;
}

/* ── Global account form elements — fieldset, legend, inputs, select, textarea ── */

/* Form row spacing */
.woocommerce-MyAccount-content .form-row,
.woocommerce-MyAccount-content .woocommerce-form-row {
    margin-bottom: 16px !important;
    padding: 0 !important;
}

/* Labels inside account forms */
.woocommerce-MyAccount-content .form-row label,
.woocommerce-MyAccount-content .woocommerce-form-row label {
    font-family: var(--font-inter) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: var(--secondary-navy) !important;
    display: block !important;
    margin-bottom: 6px !important;
    gap: unset !important;
}

/* Text inputs, email, password, number */
.woocommerce-MyAccount-content input[type="text"],
.woocommerce-MyAccount-content input[type="email"],
.woocommerce-MyAccount-content input[type="password"],
.woocommerce-MyAccount-content input[type="number"],
.woocommerce-MyAccount-content input[type="tel"],
.woocommerce-MyAccount-content input[type="url"],
.woocommerce-MyAccount-content input.input-text {
    width: 100% !important;
    height: 44px !important;
    border: 1.5px solid #e0e3e8 !important;
    border-radius: 8px !important;
    padding: 0 14px !important;
    font-family: var(--font-inter) !important;
    font-size: 14px !important;
    color: var(--secondary-navy) !important;
    background: #ffffff !important;
    outline: none !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
    transition: border-color 0.15s ease !important;
}
.woocommerce-MyAccount-content input[type="text"]:focus,
.woocommerce-MyAccount-content input[type="email"]:focus,
.woocommerce-MyAccount-content input[type="password"]:focus,
.woocommerce-MyAccount-content input[type="number"]:focus,
.woocommerce-MyAccount-content input.input-text:focus {
    border-color: var(--secondary-navy) !important;
}

/* Textarea */
.woocommerce-MyAccount-content textarea {
    width: 100% !important;
    min-height: 100px !important;
    border: 1.5px solid #e0e3e8 !important;
    border-radius: 8px !important;
    padding: 12px 14px !important;
    font-family: var(--font-inter) !important;
    font-size: 14px !important;
    color: var(--secondary-navy) !important;
    background: #ffffff !important;
    outline: none !important;
    box-shadow: none !important;
    resize: vertical;
    box-sizing: border-box !important;
    transition: border-color 0.15s ease !important;
}
.woocommerce-MyAccount-content textarea:focus {
    border-color: var(--secondary-navy) !important;
}

/* Native select */
.woocommerce-MyAccount-content select:not(.select2-hidden-accessible) {
    width: 100% !important;
    height: 44px !important;
    border: 1.5px solid #e0e3e8 !important;
    border-radius: 8px !important;
    padding: 0 14px !important;
    font-family: var(--font-inter) !important;
    font-size: 14px !important;
    color: var(--secondary-navy) !important;
    background: #ffffff !important;
    outline: none !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
    cursor: pointer;
    -webkit-appearance: none;
    appearance: none;
}

/* Fieldset — strip browser default border */
.woocommerce-MyAccount-content fieldset {
    border: none !important;
    padding: 0 !important;
    margin: 24px 0 0 !important;
}

/* Legend — styled as a sub-section label */
.woocommerce-MyAccount-content legend {
    font-family: var(--font-poppins) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    color: var(--secondary-navy) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.6px !important;
    padding: 0 0 10px !important;
    margin: 0 0 16px !important;
    border-bottom: 1px solid #f0f1f3 !important;
    width: 100% !important;
    display: block !important;
    box-sizing: border-box !important;
}

/* Required star */
.woocommerce-MyAccount-content .required,
.woocommerce-MyAccount-content abbr[title="required"] {
    color: #670EAA !important;
    text-decoration: none !important;
}

/* Form description / hint text */
.woocommerce-MyAccount-content .woocommerce-form-row span.description,
.woocommerce-MyAccount-content em {
    font-family: var(--font-inter) !important;
    font-size: 12px !important;
    color: #6b7280 !important;
    font-style: normal !important;
    display: block !important;
    margin-top: 4px !important;
}

/* Save button */
.woocommerce-MyAccount-content [type="submit"],
.woocommerce-MyAccount-content .woocommerce-Button[type="submit"] {
    background: #670EAA !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 12px 28px !important;
    font-family: var(--font-inter) !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    transition: background 0.18s ease !important;
    display: inline-flex !important;
    align-items: center !important;
    height: auto !important;
    width: auto !important;
    margin-top: 8px !important;
}
.woocommerce-MyAccount-content [type="submit"]:hover {
    background: #6C2689 !important;
}

/* Order status badges */
mark.order-status {
    font-family: var(--font-poppins);
    font-size: 11px;
    font-weight: 600;
    padding: 4px 12px;
    border-radius: 20px;
    display: inline-block;
    text-transform: capitalize;
    background: #f0f1f3;
    color: #6b7280;
}

mark.order-status.status-completed { background: #e6f7f1 !important; color: #0a885b !important; }
mark.order-status.status-processing { background: #fef3e2 !important; color: #f08f1f !important; }
mark.order-status.status-pending { background: #F7F3FB !important; color: var(--secondary-navy) !important; }
mark.order-status.status-cancelled,
mark.order-status.status-refunded,
mark.order-status.status-failed { background: #fff0f0 !important; color: #670EAA !important; }

/* ── Order detail view ────────────────────────────────────────────────────── */
.woocommerce-order-details__title,
/* Product + totals table */
.woocommerce-table--order-details {
    width: 100%;
    border-collapse: collapse !important;
    border: none !important;
}

.woocommerce-table--order-details thead th {
    font-family: var(--font-poppins);
    font-size: 11px;
    font-weight: 600;
    color: #9ca3af;
    text-transform: uppercase;
    letter-spacing: 0.7px;
    padding: 0 12px 12px;
    border: none !important;
    background: none;
}

.woocommerce-table--order-details tbody td {
    font-family: var(--font-inter);
    font-size: 14px;
    color: var(--secondary-navy);
    padding: 14px 12px;
    border: none !important;
    border-top: 1px solid #f0f1f3 !important;
}

/* Totals rows (Subtotal, Shipping, Payment method, Total) */
.woocommerce-table--order-details tfoot tr th,
.woocommerce-table--order-details tfoot tr td {
    font-family: var(--font-inter);
    font-size: 14px;
    color: var(--secondary-navy);
    padding: 13px 12px;
    border: none !important;
    border-top: 1px solid #f0f1f3 !important;
    background: none !important;
}

.woocommerce-table--order-details tfoot tr th {
    font-weight: 600;
}

/* Total row — bolder */
.woocommerce-table--order-details tfoot .order-total th,
.woocommerce-table--order-details tfoot .order-total td {
    font-size: 15px;
    font-weight: 700;
    border-top: 2px solid #e8eaed !important;
}

/* Address columns */
.woocommerce-columns--addresses {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    margin-top: 28px;
}

/* WooCommerce injects clearfix ::before/::after on .col2-set — suppress them
   so they don't become extra grid items and break the 2-column layout */
.woocommerce-columns--addresses::before,
.woocommerce-columns--addresses::after {
    display: none !important;
}

.woocommerce-columns--addresses .col-1,
.woocommerce-columns--addresses .col-2 {
    float: none !important;
    width: 100% !important;
}

.woocommerce-customer-details address {
    font-family: var(--font-inter);
    font-size: 14px;
    color: var(--secondary-navy);
    line-height: 1.7;
    font-style: normal;
    border: 1px solid #e8eaed;
    border-radius: 10px;
    padding: 16px;
}

.woocommerce-customer-details--phone,
.woocommerce-customer-details--email {
    margin: 6px 0 0;
    font-family: var(--font-inter);
    font-size: 13px;
    color: #6b7280;
}

@media (max-width: 600px) {
    .woocommerce-columns--addresses {
        grid-template-columns: 1fr;
    }
}

/* ── Responsive ───────────────────────────────────────────────────────────── */
@media (max-width: 1024px) {
    .woocommerce-checkout form.woocommerce-checkout {
        grid-template-columns: 1fr 380px;
    }
}

/* Cart stacks to single column + mobile card view below 1100px */
@media (max-width: 1100px) {
    .woocommerce-cart .adera-cart-grid {
        grid-template-columns: 1fr;
    }

    .woocommerce-cart-form {
        padding: 16px;
        border-radius: 10px;
    }

    /* Cart actions — all three stacked full width */
    .woocommerce-cart .adera-cart-actions {
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 10px;
    }

    .woocommerce-cart .adera-cart-actions .coupon {
        flex-direction: column !important;
        width: 100% !important;
        flex-wrap: nowrap !important;
        flex: none !important;
        gap: 10px;
    }

    .woocommerce-cart .adera-cart-actions .coupon input#coupon_code {
        width: 100% !important;
        max-width: none !important;
        flex: none !important;
        min-width: 0 !important;
    }

    .woocommerce-cart .adera-cart-actions .coupon .coupon-error-notice {
        width: 100% !important;
    }

    .woocommerce-cart .adera-cart-actions .coupon button[name="apply_coupon"],
    .woocommerce-cart .adera-cart-actions .coupon .button {
        width: 100% !important;
        justify-content: center !important;
    }

    .woocommerce-cart .adera-cart-actions button[name="update_cart"] {
        width: 100% !important;
        margin-left: 0 !important;
        justify-content: center !important;
    }

    /* Override WooCommerce striped row background */
    .woocommerce table.shop_table_responsive tr:nth-child(2n) td,
    .woocommerce-page table.shop_table_responsive tr:nth-child(2n) td {
        background-color: transparent !important;
    }

    /* ── Mobile Cart Table — CSS Grid cards ── */
    .woocommerce-cart .woocommerce-cart-form table.shop_table,
    .woocommerce-cart .woocommerce-cart-form table.shop_table tbody {
        display: block !important;
        width: 100% !important;
    }

    .woocommerce-cart .woocommerce-cart-form table.shop_table thead {
        display: none !important;
    }

    /* Every tr becomes a block at full width (cart_item overrides to grid below) */
    .woocommerce-cart .woocommerce-cart-form table.shop_table tr {
        display: block !important;
        width: 100% !important;
        box-sizing: border-box;
    }

    /* Actions td must also stretch full width */
    .woocommerce-cart .woocommerce-cart-form table.shop_table td.actions {
        display: block !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    .woocommerce-cart .woocommerce-cart-form table.shop_table tr.cart_item {
        display: grid !important;
        grid-template-columns: 72px 1fr auto;
        grid-template-areas:
            "thumb  name   remove"
            "price  price  price"
            "qty    qty    qty"
            "sub    sub    sub";
        background: #ffffff;
        border: 1px solid #ebebeb;
        border-radius: 12px;
        padding: 14px !important;
        margin-bottom: 12px;
        column-gap: 10px;
        row-gap: 0;
        width: 100% !important;
        box-sizing: border-box;
    }

    .woocommerce-cart .woocommerce-cart-form table.shop_table tr.cart_item td.product-thumbnail { grid-area: thumb; }
    .woocommerce-cart .woocommerce-cart-form table.shop_table tr.cart_item td.product-name      { grid-area: name;  }
    .woocommerce-cart .woocommerce-cart-form table.shop_table tr.cart_item td.product-remove    { grid-area: remove;}
    .woocommerce-cart .woocommerce-cart-form table.shop_table tr.cart_item td.product-price     { grid-area: price; }
    .woocommerce-cart .woocommerce-cart-form table.shop_table tr.cart_item td.product-quantity  { grid-area: qty;   }
    .woocommerce-cart .woocommerce-cart-form table.shop_table tr.cart_item td.product-subtotal  { grid-area: sub;   }

    /* Base reset for every td inside the card */
    .woocommerce-cart .woocommerce-cart-form table.shop_table tr.cart_item td {
        display: block !important;
        width: auto !important;
        padding: 0 !important;
        border: none !important;
        overflow: visible !important;
        background: none !important;
    }

    .woocommerce-cart .woocommerce-cart-form table.shop_table tr.cart_item td.product-thumbnail {
        padding-bottom: 14px !important;
    }

    .woocommerce-cart .woocommerce-cart-form table.shop_table tr.cart_item td.product-thumbnail img {
        width: 64px !important;
        height: 64px !important;
        border-radius: 8px;
        border: 1px solid #f0f1f3;
        object-fit: cover;
        display: block;
    }

    .woocommerce-cart .woocommerce-cart-form table.shop_table tr.cart_item td.product-name {
        display: flex !important;
        align-items: center;
        padding-bottom: 14px !important;
        text-align: left !important;
    }

    .woocommerce-cart .woocommerce-cart-form table.shop_table tr.cart_item td.product-name a {
        font-family: var(--font-poppins) !important;
        font-size: 13px !important;
        font-weight: 600 !important;
        color: var(--secondary-navy) !important;
        white-space: normal;
        text-align: left !important;
    }

    .woocommerce-cart .woocommerce-cart-form table.shop_table tr.cart_item td.product-remove {
        display: flex !important;
        align-items: flex-start;
        justify-content: flex-end;
        padding-bottom: 14px !important;
    }

    .woocommerce-cart .woocommerce-cart-form table.shop_table tr.cart_item td.product-thumbnail::before,
    .woocommerce-cart .woocommerce-cart-form table.shop_table tr.cart_item td.product-name::before,
    .woocommerce-cart .woocommerce-cart-form table.shop_table tr.cart_item td.product-remove::before {
        content: none !important;
    }

    .woocommerce-cart .woocommerce-cart-form table.shop_table tr.cart_item td.product-price,
    .woocommerce-cart .woocommerce-cart-form table.shop_table tr.cart_item td.product-quantity,
    .woocommerce-cart .woocommerce-cart-form table.shop_table tr.cart_item td.product-subtotal {
        display: flex !important;
        justify-content: space-between;
        align-items: center;
        padding: 13px 0 !important;
        border-top: 1px solid #e8eaed !important;
        font-size: 13px !important;
    }

    .woocommerce-cart .woocommerce-cart-form table.shop_table tr.cart_item td.product-price::before,
    .woocommerce-cart .woocommerce-cart-form table.shop_table tr.cart_item td.product-quantity::before,
    .woocommerce-cart .woocommerce-cart-form table.shop_table tr.cart_item td.product-subtotal::before {
        content: attr(data-title);
        font-family: var(--font-inter);
        font-size: 11px;
        font-weight: 600;
        color: #9ca3af;
        text-transform: uppercase;
        letter-spacing: 0.6px;
        flex-shrink: 0;
    }
}

/* Checkout + Account stack at 860px */
@media (max-width: 860px) {
    /* Steps: compress to icons only on small screens */
    .adera-checkout-steps {
        gap: 6px;
        padding: 12px 16px;
    }

    .adera-checkout-step .adera-step-label {
        display: none;
    }

    /* Trust badges stay horizontal inside the card on mobile */
    .adera-checkout-trust {
        flex-direction: row;
    }

    .adera-trust-item {
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: 6px;
        font-size: 11px;
    }

    .woocommerce-checkout #customer_details,
    .woocommerce-checkout .adera-order-summary-card {
        flex: 1 1 100%;
    }

    .woocommerce-checkout #customer_details {
        padding: 20px 10px;
    }

    .woocommerce-checkout #order_review {
        padding: 16px 10px 20px;
    }

    .woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
    .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper {
        grid-template-columns: 1fr;
    }

    /* ── Account orders table — mobile cards ── */
    .woocommerce-MyAccount-content table.woocommerce-orders-table {
        display: block !important;
        width: 100% !important;
    }

    .woocommerce-MyAccount-content table.woocommerce-orders-table thead {
        display: none !important;
    }

    .woocommerce-MyAccount-content table.woocommerce-orders-table tbody {
        display: flex !important;
        flex-direction: column !important;
        gap: 12px !important;
    }

    /* Each order row becomes a card */
    .woocommerce-MyAccount-content table.woocommerce-orders-table tbody tr {
        display: block !important;
        background: #f7f8fa !important;
        border: 1px solid #e8eaed !important;
        border-radius: 10px !important;
        padding: 14px 16px !important;
        border-top: none !important;
    }

    /* Each cell: label on left, value on right */
    .woocommerce-MyAccount-content table.woocommerce-orders-table tbody td,
    .woocommerce-MyAccount-content table.woocommerce-orders-table tbody th {
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        padding: 6px 0 !important;
        border: none !important;
        border-top: none !important;
        font-size: 13px !important;
    }

    /* Show data-title label */
    .woocommerce-MyAccount-content table.woocommerce-orders-table tbody td::before,
    .woocommerce-MyAccount-content table.woocommerce-orders-table tbody th::before {
        content: attr(data-title);
        font-family: var(--font-poppins);
        font-size: 11px;
        font-weight: 600;
        color: #9ca3af;
        text-transform: uppercase;
        letter-spacing: 0.5px;
        flex-shrink: 0;
        margin-right: 12px;
    }

    /* Order number cell — show it prominently */
    .woocommerce-MyAccount-content table.woocommerce-orders-table .woocommerce-orders-table__cell-order-number {
        border-bottom: 1px solid #e8eaed !important;
        padding-bottom: 10px !important;
        margin-bottom: 4px;
        font-weight: 700 !important;
    }

    /* My Account — accordion layout */
    .woocommerce-account .woocommerce {
        flex-direction: column;
    }

    /* Hide content in its default DOM position — JS will re-insert it below the active item.
       This prevents the flash of the full-page layout before JS runs. */
    .woocommerce-account .woocommerce > .woocommerce-MyAccount-content {
        display: none !important;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation,
    .woocommerce-account .woocommerce-MyAccount-content {
        flex: 0 0 100%;
        width: 100%;
    }

    .woocommerce-MyAccount-navigation {
        position: static;
        overflow: visible !important;
    }

    /* Vertical list */
    .woocommerce-MyAccount-navigation ul {
        display: flex !important;
        flex-direction: column !important;
        flex-wrap: nowrap !important;
    }

    .woocommerce-MyAccount-navigation ul li {
        border-bottom: 1px solid #f0f1f3 !important;
        border-right: none !important;
        flex: unset !important;
        min-width: unset !important;
        text-align: left !important;
    }

    .woocommerce-MyAccount-navigation ul li:not(.woocommerce-MyAccount-accordion-content) > a {
        padding: 13px 18px;
        font-size: 13px;
    }

    .woocommerce-MyAccount-navigation ul li.is-active a {
        border-left: 3px solid #670EAA;
        border-bottom: none;
        padding-left: 15px;
    }

    /* Content injected after active item by account.js */
    .woocommerce-MyAccount-accordion-content {
        list-style: none !important;
        margin: 0 !important;
        padding: 0 !important;
        border-bottom: 1px solid #f0f1f3 !important;
    }

    .woocommerce-MyAccount-accordion-content .woocommerce-MyAccount-content {
        border-radius: 0;
        box-shadow: none;
        border: none;
        border-top: 1px solid #f0f1f3;
        padding: 20px 16px;
        width: 100%;
        box-sizing: border-box;
    }

    /* Loading spinner */
    .adera-accordion-loading {
        padding: 24px !important;
        display: flex !important;
        justify-content: center;
        border-top: 1px solid #f0f1f3;
    }

    .adera-accordion-spinner {
        width: 22px;
        height: 22px;
        border: 3px solid #e8eaed;
        border-top-color: #670EAA;
        border-radius: 50%;
        animation: aderaSpin 0.7s linear infinite;
    }

    @keyframes aderaSpin {
        to { transform: rotate(360deg); }
    }

    .adera-accordion-error {
        padding: 16px;
        font-family: var(--font-inter);
        font-size: 13px;
        color: #670EAA;
    }
}

/* ════════════════════════════════════════════════════════════
   Login & Registration Forms
════════════════════════════════════════════════════════════ */

/* Two-column layout wrapper */
.woocommerce-account .u-columns.col2-set {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    gap: 28px !important;
    align-items: stretch !important;
    width: 100% !important;
}

/* Each form card */
.woocommerce-account .u-column1,
.woocommerce-account .u-column2 {
    flex: 1 1 300px !important;
    min-width: 0 !important;
    background: #ffffff;
    border: 1px solid #e8eaed;
    border-radius: 16px;
    padding: 32px 28px;
    box-shadow: 0 2px 12px rgba(178,178,178,0.10);
}


/* ── Address card specific overrides ─────────────────────────────── */


/* Address title row — heading + edit link stacked left */
.woocommerce-Address-title {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 8px !important;
    margin-bottom: 16px !important;
}

/* Edit link — left-aligned, plain red text link */
.woocommerce-Address-title .edit,
.woocommerce-Address-title a {
    float: none !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    font-family: var(--font-inter) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #670EAA !important;
    text-decoration: none !important;
    padding: 0 !important;
    background: none !important;
    border: none !important;
    box-shadow: none !important;
    height: auto !important;
    width: auto !important;
    border-radius: 0 !important;
    margin: 0 !important;
}
.woocommerce-Address-title .edit:hover,
.woocommerce-Address-title a:hover {
    color: #6C2689 !important;
    text-decoration: underline !important;
    background: none !important;
}

/* Address text — remove browser italic default */
.woocommerce-MyAccount-content address,
.woocommerce-Address address {
    font-style: normal !important;
    font-family: var(--font-inter) !important;
    font-size: 14px !important;
    color: var(--secondary-navy) !important;
    line-height: 1.75 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    background: none !important;
}

/* Form row spacing */
.woocommerce-account .woocommerce-form-login .form-row,
.woocommerce-account .woocommerce-form-register .form-row {
    margin-bottom: 16px !important;
}

/* Labels */
.woocommerce-account .woocommerce-form-login label,
.woocommerce-account .woocommerce-form-register label,
.woocommerce-account .woocommerce-form__label {
    font-family: var(--font-inter) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #494949 !important;
    display: block !important;
    margin-bottom: 6px !important;
}

.woocommerce-account label .required { color: #670EAA !important; }

/* Inputs */
.woocommerce-account .woocommerce-Input--text,
.woocommerce-account input.input-text {
    width: 100% !important;
    height: 44px !important;
    border: 1.5px solid #e0e3e8 !important;
    border-radius: 6px !important;
    padding: 0 14px !important;
    font-family: var(--font-inter) !important;
    font-size: 14px !important;
    color: #494949 !important;
    background: #ffffff !important;
    outline: none !important;
    box-shadow: none !important;
    transition: border-color 0.2s ease !important;
    box-sizing: border-box !important;
}
.woocommerce-account .woocommerce-Input--text:focus,
.woocommerce-account input.input-text:focus {
    border-color: #494949 !important;
}

/* Remember me checkbox row */
.woocommerce-account .woocommerce-form-login label.woocommerce-form-login__rememberme {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 8px !important;
    font-family: var(--font-inter) !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    color: #4a5568 !important;
    margin-bottom: 0 !important;
    line-height: 13px !important;
}

/* Remember me checkbox input */
.woocommerce-account .woocommerce-form-login label.woocommerce-form-login__rememberme input[type="checkbox"] {
    -webkit-appearance: none !important;
    appearance: none !important;
    width: 17px !important;
    height: 17px !important;
    min-width: 17px !important;
    border: 2px solid #d1d5db !important;
    border-radius: 4px !important;
    background: #ffffff !important;
    cursor: pointer !important;
    flex-shrink: 0 !important;
    align-self: center !important;
    transition: background 0.15s ease, border-color 0.15s ease !important;
    box-sizing: border-box !important;
    margin: 0 !important;
}
.woocommerce-account .woocommerce-form-login label.woocommerce-form-login__rememberme input[type="checkbox"]:hover {
    border-color: #670EAA !important;
}
.woocommerce-account .woocommerce-form-login label.woocommerce-form-login__rememberme input[type="checkbox"]:checked {
    background-color: #670EAA !important;
    border-color: #670EAA !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8.5L6.5 12 13 5' stroke='%23ffffff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E") !important;
    background-size: 72% !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
}
.woocommerce-account .woocommerce-form-login label.woocommerce-form-login__rememberme input[type="checkbox"]:checked::after {
    display: none !important;
}

/* Submit buttons */
.woocommerce-account .woocommerce-form-login__submit,
.woocommerce-account .woocommerce-form-register__submit,
/* Scoped to login/register forms only — do NOT apply to third-party plugin buttons
   that also carry the woocommerce-Button class (e.g. WPLoyalty #wlr-next-button) */
.woocommerce-account .woocommerce-form-login .woocommerce-Button,
.woocommerce-account .woocommerce-form-register .woocommerce-Button {
    width: 100% !important;
    height: 46px !important;
    background: #670EAA !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 6px !important;
    font-family: var(--font-inter) !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    cursor: pointer !important;
    transition: background 0.2s ease !important;
    margin-top: 8px !important;
    display: block !important;
    text-align: center !important;
}
.woocommerce-account .woocommerce-form-login__submit:hover,
.woocommerce-account .woocommerce-form-register__submit:hover,
.woocommerce-account .woocommerce-form-login .woocommerce-Button:hover,
.woocommerce-account .woocommerce-form-register .woocommerce-Button:hover {
    background: #6C2689 !important;
}

/* Lost password link */
.woocommerce-account .lost_password {
    margin-top: 14px !important;
    text-align: center !important;
}
.woocommerce-account .lost_password a {
    font-family: var(--font-inter) !important;
    font-size: 13px !important;
    color: #670EAA !important;
    font-weight: 500 !important;
    text-decoration: none !important;
}
.woocommerce-account .lost_password a:hover { text-decoration: underline !important; }

/* Privacy policy text */
.woocommerce-account .woocommerce-privacy-policy-text {
    font-family: var(--font-inter) !important;
    font-size: 12px !important;
    color: #6b7280 !important;
    line-height: 1.6 !important;
    margin-bottom: 16px !important;
}
.woocommerce-account .woocommerce-privacy-policy-text a {
    color: #670EAA !important;
    font-weight: 500 !important;
}

/* Mobile — stack forms */
@media (max-width: 768px) {
    .woocommerce-account .u-columns.col2-set {
        flex-direction: column !important;
        gap: 20px !important;
    }
    .woocommerce-account .u-column1,
    .woocommerce-account .u-column2 {
        flex: 1 1 100% !important;
        padding: 24px 20px;
    }

    /* Account page wrapper — outer horizontal padding */
    .woocommerce-account .entry-content > .woocommerce {
        padding: 0 16px;
    }

    /* Navigation becomes full-width on mobile (account.js moves content inside it) */
    .woocommerce-account .woocommerce-MyAccount-navigation {
        flex: 0 0 100% !important;
        width: 100% !important;
    }

    /* Hide the detached content element — account.js already moved it inside the nav */
    .woocommerce-account .woocommerce-MyAccount-content:not(.woocommerce-MyAccount-accordion-content .woocommerce-MyAccount-content) {
        display: none !important;
    }

    /* Accordion content area — restore proper padding */
    .woocommerce-MyAccount-accordion-content .woocommerce-MyAccount-content {
        display: block !important;
        padding: 20px 16px !important;
        border-radius: 0 !important;
    }

    /* Stack login/register forms */
    .woocommerce-account .u-column1,
    .woocommerce-account .u-column2 {
        flex: 1 1 100% !important;
        padding: 20px 16px;
    }
}
