/* Ariana Nila: page stylesheet for cart, checkout, order received / pay, my account, and the Thank You and Track Order page templates.
   Loaded on those pages only, straight after style.css (inc/page-styles.php).
   Every rule here came out of style.css unchanged and keeps its original
   order. A "copy of style.css" rule repeats a style.css rule that followed
   the one before it there, so it still wins now that this file loads later;
   tests/Unit/PageStyles/PageStylesTest.php keeps each copy identical. */

.wp-block-group.an-page-content.an-page-content--wc {
    max-width: none !important;
    width: 100%;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.an-page-content--wc > .an-wc-page {
    width: 100%;
    max-width: none !important;
    margin: 0 !important;
}

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
.woocommerce-account .wp-block-post-title,
.woocommerce-account main .woocommerce,
.woocommerce-cart .wp-block-post-title,
.woocommerce-cart main .woocommerce,
.woocommerce-checkout .wp-block-post-title,
.woocommerce-checkout main .woocommerce {
    max-width: none !important;
    width: 100% !important;
}

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
.an-homepage .an-home .wp-block-post-content,
.an-homepage .an-home .wp-block-post-content.is-layout-flow {
    margin: 0 !important;
    padding: 0 !important;
}

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
.an-prod-card__img img,
.an-prod-card__img .woocommerce-placeholder {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    transition: transform 0.4s ease;
}

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
.an-prod-card__img .an-card-slider__slide {
    opacity: 0;
    transition: opacity 0.35s ease, transform 0.4s ease;
}

@media (hover: hover) {
    /* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
    .an-prod-card .an-wishlist-btn {
        opacity: 0;
        transform: translateY(4px);
        transition: opacity 0.2s ease, transform 0.2s ease, background 0.2s;
    }
}

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
.an-wishlist-count:not([data-count="0"]) { display: inline-flex; }

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
.an-hub-trust .an-label--gold {
    display: block;
    text-align: center;
    margin-bottom: 12px;
}

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
.an-hub-trust .an-trust__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
    margin-top: 0;
}

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
.an-hub-trust .an-trust-card {
    padding: 32px 28px;
    border: 1px solid rgba(var(--an-gold-rgb),0.18);
    border-radius: 1px;
    background: #fff;
    transition: border-color 0.25s ease, background 0.25s ease;
}

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
.an-hub-trust .an-trust-card__icon {
    width: 36px;
    height: 36px;
    margin-bottom: 16px;
    color: var(--an-gold);
    opacity: 0.85;
}

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
.an-hub-trust .an-trust-card__title {
    font-family: var(--an-serif);
    font-size: 17px;
    font-weight: 400;
    color: var(--an-black);
    margin: 0 0 10px;
    line-height: 1.3;
}

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
.an-hub-trust .an-trust-card__text {
    font-family: var(--an-sans);
    font-size: 13px;
    color: var(--an-grey);
    line-height: 1.75;
    margin: 0;
}

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
.an-pdp__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Pickup store at checkout — a row of the order review, printed by the server
   only when "Pickup at Store" is the chosen shipping method. */
.an-checkout-pickup-row > td {
    padding: 0 0 18px;
}

.an-checkout-pickup {
    display: grid;
    gap: 8px;
    margin: 0;
    padding: 0;
    text-align: left;
}

.an-checkout-pickup__title {
    margin: 0;
    font-family: var(--an-sans);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--an-black);
}

.an-checkout-pickup__intro {
    margin: 0 0 4px;
    font-family: var(--an-sans);
    font-size: 13px;
    color: var(--an-grey);
}

.an-checkout-pickup__option {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    padding: 12px;
    background: #fff;
    border: 1px solid rgba(42, 38, 35, 0.1);
    cursor: pointer;
}

/* Server-rendered state and the live click, so the outline follows the radio
   without JavaScript. */
.an-checkout-pickup__option.is-selected,
.an-checkout-pickup__option:has(input:checked) {
    border-color: var(--an-gold);
}

.an-checkout-pickup__option input {
    margin-top: 2px;
    accent-color: var(--an-gold);
}

.an-checkout-pickup__option span {
    display: grid;
    gap: 3px;
    font-family: var(--an-sans);
    font-size: 12px;
    color: var(--an-grey);
}

.an-checkout-pickup__option strong {
    color: var(--an-black);
}

.an-checkout-pickup__option em {
    font-style: normal;
}

.an-checkout-pickup__option a {
    color: var(--an-gold-dark);
    font-weight: 600;
}

.an-page-cart,
.an-page-checkout,
.an-page-account {
    background: var(--an-cream);
    margin: 0;
    padding: 0;
}

/* ── Shared page wrapper ─────────────────────────────────── */
.an-wc-page {
    min-height: 70vh;
    background: var(--an-cream);
}

.an-wc-page.an-wc-account {
    min-height: auto;
}

.an-wc-page__head {
    background: var(--an-footer-nl-bg, #e8e3dd);
    padding: calc(var(--topbar-h,36px) + var(--an-header-h, 68px) + 18px) 0 42px;
    text-align: center;
}

.an-wc-page__title {
    font-family: var(--an-serif) !important;
    font-size: clamp(26px,4vw,40px) !important;
    font-weight: 300 !important;
    color: var(--an-black) !important;
    margin: 0 !important;
    letter-spacing: 0.02em;
}

.an-wc-page__sub {
    font-family: var(--an-sans);
    font-size: 14px;
    color: rgba(var(--an-black-rgb),0.7);
    margin: 10px 0 0;
}

.an-wrap--wide {
    max-width: 1280px;
    margin: 0 auto;
    padding: 48px 40px 80px;
}

.an-wc-account .an-wrap--wide {
    max-width: 1200px;
    padding-top: 52px;
}

.an-wc-cart .an-wrap--wide,
.an-wc-checkout .an-wrap--wide {
    max-width: min(1760px, calc(100vw - 48px));
    padding-top: 44px;
    padding-bottom: 132px;
}

.an-wc-cart .an-wc-page__head .an-wrap,
.an-wc-checkout .an-wc-page__head .an-wrap,
.an-wc-account .an-wc-page__head .an-wrap {
    max-width: min(1760px, calc(100vw - 48px));
}

.an-wc-cart .an-wc-page__head,
.an-page-cart .an-wc-page__head,
.an-wc-checkout .an-wc-page__head,
.an-page-checkout .an-wc-page__head,
.an-wc-account .an-wc-page__head,
.an-page-account .an-wc-page__head {
    padding: calc(var(--topbar-h,36px) + var(--an-header-h, 68px) + 10px) 0 30px;
}

/* ════════════════════════════════════════════════════════════
   CART
   ════════════════════════════════════════════════════════════ */

.an-wc-cart .woocommerce {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(360px, 400px);
    gap: 48px;
    align-items: start;
    width: 100% !important;
}

.an-wc-cart.an-wc-cart--empty .woocommerce {
    display: block;
    max-width: none;
}

/* Notices sit above the cart, spanning both columns.
 *
 * woocommerce_output_all_notices() prints this wrapper as the first child of
 * .woocommerce on every cart load, empty or not. Without an explicit placement
 * it auto-flowed into row 2 — visually below the cart table and Update Cart —
 * because the form and the totals were both pinned to row 1. The form and
 * totals now auto-place after it, so an empty wrapper collapses out of the grid
 * entirely and leaves no gap above the table.
 */
.an-wc-cart .woocommerce-notices-wrapper {
    grid-column: 1 / -1;
    min-width: 0;
}

/* Collapse the wrapper when it carries no notice, so it contributes no row and
 * no 48px grid gap above the table. `:has(*)` rather than `:empty` on purpose:
 * the wrapper is never truly empty — the template leaves "\n\t" whitespace text
 * nodes inside it, which `:empty` refuses to match. Kept in its own rule so a
 * browser without :has() support drops only this line, not the placement above.
 */
.an-wc-cart .woocommerce-notices-wrapper:not(:has(*)) {
    display: none;
}

/* Guard: if the empty-cart template ever renders while .woocommerce is still
 * the 2-column grid (the --empty body class depends on cart state at template
 * time), keep its children spanning the full width instead of letting
 * auto-placement drop .an-cart-empty into the 400px totals column.
 */
.an-wc-cart .woocommerce > .wc-empty-cart-message,
.an-wc-cart .woocommerce > .an-cart-empty {
    grid-column: 1 / -1;
}

/* The reassurance strip is skipped server-side on an empty cart, but an AJAX
 * removal of the last item swaps the empty state in without a page load, so
 * hide it as soon as the empty template is present.
 */
.an-wc-cart .an-wrap--wide:has(.an-cart-empty) .an-cart-confidence {
    display: none;
}

.an-wc-cart .woocommerce-cart-form {
    grid-column: 1;
    min-width: 0;
    width: 100% !important;
    float: none !important;
}

/* WooCommerce cart table */
.an-wc-cart table.shop_table {
    width: 100%;
    border-collapse: collapse;
    overflow: hidden;
}

.an-wc-cart table.shop_table th {
    font-family: var(--an-sans);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--an-grey-light);
    padding: 16px 20px;
    border-bottom: 1px solid #eee;
    background: #f6f6f6;
    text-align: left;
}

.an-wc-cart table.shop_table th.product-name { width: 52%; }

.an-wc-cart table.shop_table th.product-price,
.an-wc-cart table.shop_table th.product-quantity,
.an-wc-cart table.shop_table th.product-subtotal,
.an-wc-cart td.product-price,
.an-wc-cart td.product-quantity,
.an-wc-cart td.product-subtotal {
    white-space: nowrap;
    text-align: center;
}

.an-wc-cart table.shop_table td {
    padding: 20px;
    border-bottom: 1px solid var(--an-off-white);
    vertical-align: middle;
    font-family: var(--an-sans);
    font-size: 14px;
    color: var(--an-dark);
}

.an-wc-cart table.shop_table tr:last-child td { border-bottom: none; }

/* Product image in cart */
.an-wc-cart td.product-thumbnail {
    width: 100px !important;
    min-width: 100px !important;
    padding-right: 0 !important;
}

.an-wc-cart .product-thumbnail img {
    width: 90px !important;
    height: 90px !important;
    min-width: 90px !important;
    object-fit: cover !important;
    border-radius: 1px !important;
    display: block !important;
}

/* Product name */
.an-wc-cart .product-name a {
    font-family: var(--an-serif);
    font-size: 16px;
    font-weight: 400;
    color: var(--an-dark);
    text-decoration: none;
    line-height: 1.45;
    max-width: 420px;
    word-break: normal;
    overflow-wrap: normal;
}

.an-wc-cart .product-name a:hover { color: var(--an-gold); }

/* Quantity input */
.an-wc-cart .quantity .qty {
    width: 60px;
    padding: 8px 10px;
    border: 1px solid var(--an-grey-light);
    border-radius: 1px;
    font-family: var(--an-sans);
    font-size: 14px;
    text-align: center;
    background: #f6f6f6;
}

/* Remove button */
.an-wc-cart a.remove {
    font-size: 18px;
    color: var(--an-grey-light) !important;
    text-decoration: none;
    line-height: 1;
    transition: color 0.2s;
}

.an-wc-cart a.remove:hover { color: #e74c3c !important; }

/* Cart totals */
.an-wc-cart .cart-collaterals { margin-top: 32px; }

.an-wc-cart .cart-collaterals {
    grid-column: 2;
    align-self: start;
    margin-top: 0;
    min-width: 0;
    width: 100% !important;
    float: none !important;
}

/* Totals panel fills its grid track.
 *
 * Three things had to change together here:
 *
 * 1. `body` + the .cart-collaterals ancestor are for specificity, not looks.
 *    WooCommerce ships `.woocommerce .cart-collaterals .cart_totals{float:right;
 *    width:48%}` (0,3,0) and woocommerce.css loads after this file, so the old
 *    `.an-wc-cart .cart_totals` (0,2,0) never actually won: the panel was really
 *    48% wide and floated right, and a `min-width:360px` was clamping it back up
 *    to look right on desktop. Beating the rule outright removes the need.
 * 2. box-sizing: with content-box the 28px side padding sat OUTSIDE width, so
 *    the panel measured 416px inside a 400px track and the overhang rendered
 *    over the cart table.
 * 3. float:none, or the panel right-aligns to ~48% once stacked.
 */
body .an-wc-cart .cart-collaterals .cart_totals {
    box-sizing: border-box;
    float: none;
    width: 100%;
    padding: 28px 28px 30px;
    max-width: none;
    position: sticky;
    top: calc(var(--topbar-h,36px) + var(--an-header-h, 68px) + 28px);
}

.an-wc-cart td.product-name {
    min-width: 240px;
    width: 52%;
}

/* ── Cart line-item meta (ring size, chain length, engraving, etc.) ── */
.an-wc-cart td.product-name .variation {
    display: grid;
    grid-template-columns: auto 1fr;
    column-gap: 12px;
    row-gap: 4px;
    margin: 12px 0 0;
    padding: 12px 14px;
    background: var(--an-off-white, #EFE6DE);
    border-radius: 1px;
    font-family: var(--an-sans);
    font-size: 12px;
    line-height: 1.5;
}

.an-wc-cart td.product-name .variation > dt {
    margin: 0;
    padding: 0;
    color: var(--an-grey, #8A6F5A);
    font-size: 10.5px;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
    align-self: center;
    white-space: nowrap;
}

.an-wc-cart td.product-name .variation > dt::after {
    content: "";
}

.an-wc-cart td.product-name .variation > dd {
    margin: 0;
    padding: 0;
    color: var(--an-black, #2A2623);
    font-weight: 500;
    align-self: center;
}

.an-wc-cart td.product-name .variation > dd > p,
.an-wc-cart td.product-name .variation > dd > * {
    display: inline;
    margin: 0;
    padding: 0;
}

@media (max-width: 600px) {
    .an-wc-cart td.product-name .variation {
        grid-template-columns: 1fr;
        row-gap: 2px;
    }

    .an-wc-cart td.product-name .variation > dt {
        white-space: normal;
    }

    .an-wc-cart td.product-name .variation > dd {
        margin-bottom: 10px;
    }

    .an-wc-cart td.product-name .variation > dd:last-child {
        margin-bottom: 0;
    }
}

.an-wc-cart .cart_totals h2 {
    font-family: var(--an-sans) !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--an-grey-light) !important;
    margin-bottom: 20px !important;
}

.an-wc-cart .cart_totals table {
    width: 100%;
    border-collapse: collapse;
    border: none;
    border-radius: 0;
    box-shadow: none;
    background: transparent;
}

.an-wc-cart .cart_totals table th {
    width: 34%;
    padding-right: 18px;
    white-space: nowrap;
    vertical-align: top;
}

.an-wc-cart .cart_totals table th,
.an-wc-cart .cart_totals table td {
    font-family: var(--an-sans);
    font-size: 14px;
    padding: 10px 0;
    background: transparent;
    border-left: none;
    border-right: none;
    border-bottom: 1px solid var(--an-off-white);
    color: var(--an-dark);
}

.an-wc-cart .cart_totals table td {
    text-align: right;
}

.an-wc-cart .cart_totals .woocommerce-shipping-destination,
.an-wc-cart .cart_totals .shipping-calculator-button {
    display: inline-block;
    max-width: 100%;
    text-align: right;
}

.an-wc-cart .cart_totals table .order-total th,
.an-wc-cart .cart_totals table .order-total td {
    font-size: 16px;
    font-weight: 600;
    border-bottom: none;
    padding-top: 16px;
    color: var(--an-dark);
}

.an-wc-cart .cart_totals table .order-total td strong { color: var(--an-dark); }

.an-wc-cart .cart_totals .shop_table,
.an-wc-cart .cart_totals table.shop_table {
    border: none !important;
    box-shadow: none !important;
}

/* Checkout button */
.an-wc-cart .wc-proceed-to-checkout { margin-top: 20px; }

.an-wc-cart .wc-proceed-to-checkout .checkout-button,
.an-wc-cart .checkout-button {
    display: block;
    width: 100%;
    box-sizing: border-box;
    padding: 16px 24px;
    background: var(--an-gold) !important;
    color: #fff !important;
    font-family: var(--an-sans) !important;
    font-size: 12px !important;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    text-align: center;
    text-decoration: none;
    border: none;
    border-radius: 1px;
    cursor: pointer;
    transition: background 0.2s;
}

.an-wc-cart .checkout-button:hover { background: var(--an-gold-dark) !important; }

.an-cart-confidence,
.an-checkout-confidence {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 18px;
    justify-content: center;
    margin: 24px auto 0;
    font-family: var(--an-sans);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.08em;
    line-height: 1.5;
    text-transform: uppercase;
    color: var(--an-charcoal);
}

.an-checkout-confidence {
    margin: 0 0 24px;
    justify-content: flex-start;
}

.an-cart-confidence span,
.an-checkout-confidence span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.an-cart-confidence span::before,
.an-checkout-confidence span::before {
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 999px;
    background: var(--an-gold);
    flex-shrink: 0;
}

.an-wc-cart .actions {
    width: 100%;
    text-align: left;
    vertical-align: bottom;
}

/* Update cart button */
.an-wc-cart .actions .button {
    background: #f6f6f6 !important;
    border: 1px solid rgba(var(--an-gold-rgb),0.42) !important;
    color: var(--an-dark) !important;
    font-family: var(--an-sans) !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    padding: 12px 22px;
    border-radius: 1px;
    cursor: pointer;
    transition: background 0.2s, border-color 0.2s, color 0.2s, box-shadow 0.2s;
    box-shadow: 0 10px 24px rgba(42,38,35,0.05);
}

.an-wc-cart .actions .button:hover {
    background: rgba(var(--an-gold-rgb),0.08) !important;
    border-color: var(--an-gold) !important;
    color: var(--an-gold-dark) !important;
}

.an-wc-cart .actions .button:disabled,
.an-wc-cart .actions .button[disabled] {
    opacity: 1 !important;
    background: rgba(255,255,255,0.85) !important;
    border-color: rgba(var(--an-gold-rgb),0.18) !important;
    color: rgba(63,74,60,0.38) !important;
    box-shadow: none;
    cursor: not-allowed;
}

.an-wc-cart .actions > .button[name="update_cart"] {
    float: right;
    margin-left: 16px;
    width: auto !important;
}

/* Coupon */
.an-wc-cart .coupon {
    display: inline-flex !important;
    flex-direction: row;
    gap: 10px;
    align-items: center;
    min-width: 0;
    max-width: none;
    vertical-align: middle;
}

.an-wc-cart .coupon input#coupon_code {
    height: 46px;
    padding: 0 18px;
    border: 1px solid var(--an-grey-light);
    border-radius: 1px;
    font-family: var(--an-sans);
    font-size: 13px;
    width: 260px;
    background: #f6f6f6;
    box-sizing: border-box;
}

.an-wc-cart .coupon .button {
    min-height: 46px;
    padding: 0 22px !important;
    font-size: 12px !important;
    width: auto !important;
    min-width: 150px;
    white-space: nowrap;
}

/* border-box matters once the small-screen stylesheet turns this cell into a
 * block with `width: 100% !important` — with content-box its side padding sat
 * outside that 100% and the coupon / Update Cart row bled past the table edge.
 */
.an-wc-cart table.shop_table td.actions {
    box-sizing: border-box;
    padding: 20px 40px;
    white-space: normal;
}

.an-wc-cart .woocommerce-shipping-destination,
.an-wc-cart .shipping-calculator-button {
    font-family: var(--an-sans);
    font-size: 12px;
    color: var(--an-charcoal);
}

/* Empty cart */
/* Empty cart custom template */
.an-cart-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    max-width: 560px;
    min-height: 48vh;
    margin: 0 auto;
    padding: 80px 20px 100px;
    text-align: center;
}

.an-cart-empty__icon {
    width: 72px;
    height: 72px;
    color: var(--an-gold);
    margin-bottom: 28px;
    opacity: 0.7;
}

.an-cart-empty__icon svg { width: 100%; height: 100%; }

.an-cart-empty__title {
    font-family: var(--an-serif) !important;
    font-size: 28px !important;
    font-weight: 300 !important;
    letter-spacing: 0.04em;
    color: var(--an-dark) !important;
    margin: 0 0 12px !important;
}

.an-cart-empty__text {
    font-family: var(--an-sans) !important;
    font-size: 15px !important;
    font-weight: 300 !important;
    color: var(--an-charcoal) !important;
    max-width: 360px;
    line-height: 1.7;
    margin: 0 0 32px !important;
}

.an-cart-empty__cta {
    display: inline-block;
    padding: 14px 36px;
    background: var(--an-dark) !important;
    color: #fff !important;
    font-family: var(--an-sans) !important;
    font-size: 11px !important;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    text-decoration: none !important;
    border-radius: 1px;
    transition: background 0.25s;
}

.an-cart-empty__cta:hover { background: var(--an-gold) !important; }

/* fallback for default WC empty cart */
.an-wc-cart .cart-empty {
    text-align: center;
    padding: 60px 20px;
    font-family: var(--an-serif) !important;
    font-size: 20px !important;
    font-weight: 300 !important;
    color: var(--an-charcoal) !important;
}

.an-wc-cart .return-to-shop { text-align: center; margin-top: 16px; }

.an-wc-cart .return-to-shop .button {
    display: inline-block;
    padding: 14px 32px;
    background: var(--an-gold) !important;
    color: #fff !important;
    font-family: var(--an-sans) !important;
    font-size: 12px !important;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    border-radius: 1px;
    text-decoration: none;
}

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

/* Step bar */
.an-wc-page__head--checkout {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.an-wc-page__head--checkout .an-wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 24px;
}

/* Two-column layout */
.an-wc-checkout .woocommerce {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.an-wc-checkout form.checkout.woocommerce-checkout {
    display: grid !important;
    grid-template-columns: minmax(0, 1.45fr) minmax(320px, 410px) !important;
    column-gap: 52px !important;
    row-gap: 24px !important;
    align-items: start !important;
}

.an-wc-checkout #customer_details,
.an-wc-checkout #createaccount {
    grid-column: 1;
    min-width: 0;
    width: 100% !important;
    float: none !important;
}

.an-wc-checkout #order_review_heading,
.an-wc-checkout #order_review {
    grid-column: 2;
    grid-row: 1 / span 10;
    width: 100% !important;
    float: none !important;
    clear: none !important;
}

.an-wc-checkout #order_review_heading {
    display: none;
}

.an-wc-checkout #order_review {
    box-sizing: border-box !important;
    position: sticky;
    top: calc(var(--topbar-h,36px) + var(--an-header-h, 68px) + 28px);
}

.an-wc-checkout .col2-set,
.an-wc-checkout .woocommerce-billing-fields,
.an-wc-checkout .woocommerce-shipping-fields,
.an-wc-checkout .woocommerce-additional-fields {
    width: 100%;
    max-width: none;
}

.an-wc-checkout .col2-set .col-1,
.an-wc-checkout .col2-set .col-2 {
    float: none !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 0 22px !important;
}

.an-wc-checkout .woocommerce-billing-fields,
.an-wc-checkout .woocommerce-shipping-fields,
.an-wc-checkout .woocommerce-additional-fields {
    box-sizing: border-box !important;
    background: #f6f6f6;
    border: 1px solid rgba(201,179,162,0.18);
    border-radius: 1px;
    padding: 28px 30px;
    box-shadow: 0 24px 54px rgba(42,38,35,0.06);
}

/* Coupon toggle spans full width (present on initial load, sits above both columns) */
.an-wc-checkout .woocommerce-form-coupon-toggle {
    grid-column: 1 / -1 !important;
}

/* Error/notice groups stay in column 1 so the order-review column is not disrupted */
.an-wc-checkout .woocommerce-notices-wrapper,
.an-wc-checkout .woocommerce-NoticeGroup,
.an-wc-checkout .woocommerce-NoticeGroup-checkout {
    grid-column: 1 !important;
}

/* Half-width field rows */
.an-wc-checkout .form-row-first,
.an-wc-checkout .form-row-last {
    display: inline-block !important;
    width: calc(50% - 8px) !important;
    vertical-align: top;
}

.an-wc-checkout .form-row-first { margin-right: 16px !important; }

.an-wc-checkout .form-row-first,
.an-wc-checkout .form-row-last { padding: 0 !important; }

/* Forms */
.an-wc-checkout .woocommerce-billing-fields h3,
.an-wc-checkout .woocommerce-shipping-fields h3,
.an-wc-checkout #order_review_heading {
    font-family: var(--an-sans) !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--an-grey-light) !important;
    margin-bottom: 20px !important;
    padding-bottom: 12px;
    border-bottom: 1px solid #eee;
}

.an-wc-checkout .woocommerce-checkout-review-order {
    background: #f6f6f6;
    border-radius: 1px;
    padding: 24px 24px 26px;
    box-shadow: 0 24px 54px rgba(42,38,35,0.06);
    border: 1px solid rgba(201,179,162,0.18);
}

.an-wc-checkout input[type="text"],
.an-wc-checkout input[type="email"],
.an-wc-checkout input[type="tel"],
.an-wc-checkout input[type="password"],
.an-wc-checkout select,
.an-wc-checkout textarea {
    width: 100%;
    padding: 13px 16px;
    border: 1px solid var(--an-off-white);
    border-radius: 1px;
    font-family: var(--an-sans);
    font-size: 14px;
    color: var(--an-dark);
    background: #f6f6f6;
    transition: border-color 0.2s;
    box-sizing: border-box;
    -webkit-appearance: none;
}

.an-wc-checkout input:focus,
.an-wc-checkout select:focus,
.an-wc-checkout textarea:focus {
    outline: none;
    border-color: var(--an-gold);
}

.an-wc-checkout label {
    font-family: var(--an-sans);
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.04em;
    color: var(--an-grey);
    display: block;
    margin-bottom: 6px;
}

.an-wc-checkout .woocommerce-checkout-payment {
    background: rgba(var(--an-gold-rgb),0.07);
    border-radius: 1px;
    padding: 16px 16px 4px;
    margin-top: 18px;
}

/* Payment methods. WooCommerce ships no layout of its own here, so the radio
   sits on a line of its own above its label on narrow screens. Keep each method
   on one row (radio · label · card logos) and let the gateway's description box
   drop to a full-width row beneath it. */
.an-wc-checkout .wc_payment_methods {
    list-style: none;
    margin: 0;
    padding: 0;
}

.an-wc-checkout li.wc_payment_method {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    column-gap: 10px;
    row-gap: 10px;
    padding: 10px 0;
}

.an-wc-checkout li.wc_payment_method > input[type="radio"] {
    width: 17px;
    height: 17px;
    margin: 0;
    flex-shrink: 0;
    accent-color: var(--an-gold-dark);
}

.an-wc-checkout li.wc_payment_method > label {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0;
    font-family: var(--an-sans);
    font-size: 13px;
    color: var(--an-dark);
    cursor: pointer;
}

.an-wc-checkout li.wc_payment_method > label img {
    max-height: 22px;
    width: auto;
    display: block;
    margin: 0;
}

.an-wc-checkout li.wc_payment_method > .payment_box {
    flex-basis: 100%;
    margin: 0;
}

.an-wc-checkout .woocommerce-privacy-policy-text {
    font-size: 12px;
    line-height: 1.7;
    color: var(--an-charcoal);
}

.an-wc-checkout .place-order {
    margin-top: 18px;
}

/* Order review table */
.an-wc-checkout .woocommerce-checkout-review-order-table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 20px;
}

.an-wc-checkout .woocommerce-checkout-review-order-table th {
    font-family: var(--an-sans);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--an-grey-light);
    padding: 0 0 12px;
    text-align: left;
    border-bottom: 1px solid #eee;
}

.an-wc-checkout .woocommerce-checkout-review-order-table td {
    padding: 14px 0;
    font-family: var(--an-sans);
    font-size: 13px;
    color: var(--an-dark);
    border-bottom: 1px solid var(--an-off-white);
}

.an-wc-checkout .woocommerce-checkout-review-order-table .order-total td,
.an-wc-checkout .woocommerce-checkout-review-order-table .order-total th {
    font-size: 15px;
    font-weight: 600;
    border-bottom: none;
    padding-top: 16px;
}

.an-wc-checkout .woocommerce-checkout-review-order-table .product-name,
.an-wc-checkout .woocommerce-checkout-review-order-table .product-total {
    vertical-align: top;
}

.an-wc-checkout .woocommerce-checkout-review-order-table .product-name {
    padding-right: 14px;
}

.an-wc-checkout .woocommerce-checkout-review-order-table .product-total {
    text-align: right;
    white-space: nowrap;
}

.an-wc-checkout .woocommerce-checkout-review-order-table .wc-item-meta,
.an-wc-checkout .woocommerce-checkout-review-order-table dl.variation {
    margin: 10px 0 0;
    padding: 10px 12px;
    background: rgba(246,241,235,0.72);
    border-radius: 1px;
    font-size: 11px;
    line-height: 1.5;
}

.an-wc-checkout .woocommerce-checkout-review-order-table .wc-item-meta p,
.an-wc-checkout .woocommerce-checkout-review-order-table dl.variation dd,
.an-wc-checkout .woocommerce-checkout-review-order-table dl.variation p {
    margin: 0 !important;
}

/* Place order button */
.an-wc-checkout #place_order {
    display: block;
    width: 100%;
    padding: 16px 24px;
    background: var(--an-gold);
    color: #fff;
    font-family: var(--an-sans);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    border: none;
    border-radius: 1px;
    cursor: pointer;
    margin-top: 20px;
    transition: background 0.2s;
}

.an-wc-checkout #place_order:hover { background: var(--an-gold-dark); }

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

/* ── Base .woocommerce reset (fight Divi) ── */
.an-wc-account .woocommerce {
    display: block !important;
    float: none !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 auto !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

/*.an-wc-account {*/
/*    padding: 40px 0 120px;*/
/*}*/

/* ── Native Woo block pages: Cart / Checkout ── */
.an-page-cart .wp-site-blocks,
.an-page-checkout .wp-site-blocks {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

.an-page-cart .an-wc-block-page,
.an-page-checkout .an-wc-block-page {
    min-height: 72vh;
    background: var(--an-cream);
}

.an-page-cart .an-wc-block-page__content,
.an-page-checkout .an-wc-block-page__content {
    width: 100%;
    max-width: 1520px !important;
    margin: 0 auto !important;
    padding: 44px 40px 132px !important;
    box-sizing: border-box;
}

.an-page-account .an-wc-block-page__content--account {
    width: 100%;
    max-width: 1440px !important;
    margin: 0 auto !important;
    padding: 30px 40px 168px !important;
    box-sizing: border-box;
}

body.admin-bar.an-page-cart .an-wc-page__head {
    padding-top: calc(32px + var(--topbar-h,36px) + var(--an-header-h, 68px) + 10px);
}

body.admin-bar.an-page-checkout .an-wc-page__head {
    padding-top: calc(32px + var(--topbar-h,36px) + var(--an-header-h, 68px) + 10px);
}

body.admin-bar.an-page-account .an-wc-page__head {
    padding-top: calc(32px + var(--topbar-h,36px) + var(--an-header-h, 68px) + 10px);
}

.an-page-cart .wc-block-store-notices,
.an-page-checkout .wc-block-store-notices {
    margin: 0 0 22px !important;
}

.an-page-cart .wc-block-components-notice-banner,
.an-page-checkout .wc-block-components-notice-banner {
    border-radius: 1px;
    border: 1px solid rgba(var(--an-gold-rgb),0.3);
    background: rgba(var(--an-gold-rgb),0.06);
    color: var(--an-dark);
    font-family: var(--an-sans);
    font-size: 12px;
    box-shadow: none;
}

.an-page-cart .wc-block-components-notice-banner a,
.an-page-checkout .wc-block-components-notice-banner a {
    color: var(--an-gold-dark);
}

.an-page-cart .wp-block-woocommerce-cart,
.an-page-checkout .wp-block-woocommerce-checkout {
    margin: 0 !important;
}

.an-page-cart .wc-block-components-sidebar-layout.wc-block-cart {
    display: grid;
    grid-template-columns: minmax(0, 1.42fr) minmax(340px, 388px);
    gap: 42px;
    align-items: start;
}

.an-page-cart .wc-block-cart__main {
    min-width: 0;
    background: #f6f6f6;
    border: 1px solid rgba(201,179,162,0.18);
    border-radius: 1px;
    box-shadow: 0 24px 54px rgba(42,38,35,0.06);
    overflow: hidden;
}

.an-page-cart .wc-block-cart-items {
    margin: 0;
    border: none;
}

.an-page-cart .wc-block-cart-items__header th {
    padding: 16px 20px;
    border-bottom: 1px solid var(--an-off-white);
    background: #f6f6f6;
    font-family: var(--an-sans);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--an-grey-light);
}

.an-page-cart .wc-block-cart-items__row td {
    padding: 18px 20px;
    border-bottom: 1px solid var(--an-off-white);
    vertical-align: middle;
    font-family: var(--an-sans);
    font-size: 14px;
    color: var(--an-dark);
}

.an-page-cart .wc-block-cart-items__row:last-child td {
    border-bottom: none;
}

.an-page-cart .wc-block-cart-item__image {
    width: 110px;
}

.an-page-cart .wc-block-cart-item__image img {
    width: 88px;
    height: 88px;
    object-fit: cover;
    border-radius: 1px;
    background: #f7f2ec;
}

.an-page-cart .wc-block-components-product-name {
    display: inline-block;
    margin-bottom: 10px;
    font-family: var(--an-serif);
    font-size: 18px;
    font-weight: 400;
    line-height: 1.35;
    color: var(--an-dark);
    text-decoration: none;
}

.an-page-cart .wc-block-components-product-name:hover {
    color: var(--an-gold-dark);
}

.an-page-cart .wc-block-components-product-details {
    font-size: 12px;
    color: var(--an-grey);
}

.an-page-cart .wc-block-cart-item__prices,
.an-page-cart .wc-block-cart-item__total {
    white-space: nowrap;
}

.an-page-cart .wc-block-cart-item__total-price-and-sale-badge-wrapper,
.an-page-cart .wc-block-cart-item__quantity {
    justify-content: center;
}

.an-page-cart .wc-block-components-quantity-selector {
    height: 40px;
    border: 1px solid var(--an-grey-light);
    border-radius: 1px;
    overflow: hidden;
}

.an-page-cart .wc-block-components-quantity-selector__input {
    border: none;
    font-family: var(--an-sans);
    font-size: 14px;
    color: var(--an-dark);
}

.an-page-cart .wc-block-components-quantity-selector__button {
    color: var(--an-dark);
}

.an-page-cart .wc-block-cart-item__remove-link {
    color: var(--an-grey-light);
}

.an-page-cart .wc-block-cart-item__remove-link:hover {
    color: #d05b4f;
}

.an-page-cart .wc-block-cart__sidebar {
    position: sticky;
    top: calc(var(--topbar-h,36px) + var(--an-header-h, 68px) + 28px);
    align-self: start;
    background: #f6f6f6;
    border: 1px solid rgba(201,179,162,0.18);
    border-radius: 1px;
    box-shadow: 0 24px 54px rgba(42,38,35,0.06);
    padding: 28px 28px 30px;
}

.an-page-cart .wc-block-cart__totals-title,
.an-page-cart .wc-block-components-panel__button {
    font-family: var(--an-sans);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--an-grey-light);
}

.an-page-cart .wc-block-components-panel__button {
    padding-left: 0;
    padding-right: 0;
}

.an-page-cart .wc-block-components-panel__button:hover,
.an-page-cart .wc-block-components-panel__button:focus {
    color: var(--an-gold-dark);
}

.an-page-cart .wc-block-components-totals-item,
.an-page-cart .wc-block-components-totals-footer-item {
    padding: 10px 0;
    font-family: var(--an-sans);
    font-size: 14px;
    color: var(--an-dark);
}

.an-page-cart .wc-block-components-totals-item__label {
    color: var(--an-charcoal);
}

.an-page-cart .wc-block-components-totals-footer-item {
    padding-top: 16px;
    font-size: 16px;
    font-weight: 600;
}

.an-page-cart .wc-block-cart__submit {
    margin-top: 20px;
}

.an-page-cart .wc-block-cart__submit-button {
    min-height: 52px;
    border-radius: 1px;
    border: none;
    background: var(--an-gold);
    color: #fff;
    font-family: var(--an-sans);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.an-page-cart .wc-block-cart__submit-button:hover {
    background: var(--an-gold-dark);
}

.an-page-checkout .wc-block-components-sidebar-layout.wc-block-checkout {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(340px, 396px);
    gap: 42px;
    align-items: start;
}

.an-page-checkout .wc-block-checkout__main {
    min-width: 0;
}

.an-page-checkout .wc-block-components-checkout-step,
.an-page-checkout .wc-block-checkout__terms,
.an-page-checkout .wc-block-checkout__actions {
    background: #f6f6f6;
    border: 1px solid rgba(201,179,162,0.18);
    border-radius: 1px;
    box-shadow: 0 24px 54px rgba(42,38,35,0.06);
    padding: 26px 28px;
}

.an-page-checkout .wc-block-checkout__terms,
.an-page-checkout .wc-block-checkout__actions {
    margin-top: 20px;
}

.an-page-checkout .wc-block-components-checkout-step__title,
.an-page-checkout .wc-block-components-checkout-order-summary__title-text {
    font-family: var(--an-sans);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--an-grey-light);
}

.an-page-checkout .wc-block-components-form .wc-block-components-text-input input,
.an-page-checkout .wc-block-components-form .wc-block-components-combobox-control .components-combobox-control__input,
.an-page-checkout .wc-block-components-form .wc-blocks-components-select__select,
.an-page-checkout .wc-block-components-form textarea {
    border-color: var(--an-off-white);
    border-radius: 1px;
    background: #f6f6f6;
    font-family: var(--an-sans);
    color: var(--an-dark);
    box-shadow: none;
}

.an-page-checkout .wc-block-components-form .wc-block-components-text-input input:focus,
.an-page-checkout .wc-block-components-form .wc-blocks-components-select__select:focus,
.an-page-checkout .wc-block-components-form textarea:focus {
    border-color: var(--an-gold);
    box-shadow: 0 0 0 3px rgba(var(--an-gold-rgb),0.08);
}

.an-page-checkout .wc-block-components-form .wc-block-components-text-input label,
.an-page-checkout .wc-block-components-form .wc-blocks-components-select__label,
.an-page-checkout .wc-block-components-form .wc-block-components-checkbox__label {
    font-family: var(--an-sans);
    color: var(--an-grey);
}

.an-page-checkout .wc-block-components-radio-control__option,
.an-page-checkout .wc-block-components-address-card,
.an-page-checkout .wc-block-components-address-form {
    border-radius: 1px;
}

.an-page-checkout .wc-block-checkout__sidebar {
    position: sticky;
    top: calc(var(--topbar-h,36px) + var(--an-header-h, 68px) + 28px);
    align-self: start;
    background: #f6f6f6;
    border: 1px solid rgba(201,179,162,0.18);
    border-radius: 1px;
    box-shadow: 0 24px 54px rgba(42,38,35,0.06);
    padding: 24px 24px 26px;
}

.an-page-checkout .wc-block-components-order-summary-item {
    font-family: var(--an-sans);
}

.an-page-checkout .wc-block-components-order-summary-item__description .wc-block-components-product-name {
    font-family: var(--an-serif);
    font-size: 16px;
    color: var(--an-dark);
}

.an-page-checkout .wc-block-components-totals-item,
.an-page-checkout .wc-block-components-totals-footer-item {
    font-family: var(--an-sans);
    font-size: 13px;
    color: var(--an-dark);
}

.an-page-checkout .wc-block-components-totals-footer-item {
    font-size: 16px;
    font-weight: 600;
}

.an-page-checkout .wc-block-checkout__actions_row {
    align-items: center;
    gap: 16px;
}

.an-page-checkout .wc-block-components-checkout-return-to-cart-button {
    color: var(--an-grey);
    text-decoration: none;
    font-family: var(--an-sans);
    font-size: 12px;
}

.an-page-checkout .wc-block-components-button,
.an-page-checkout .wp-element-button {
    min-height: 52px;
    border-radius: 1px;
    border: none;
    background: var(--an-gold);
    color: #fff;
    font-family: var(--an-sans);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.an-page-checkout .wc-block-components-button:hover,
.an-page-checkout .wp-element-button:hover {
    background: var(--an-gold-dark);
}

/* ── FSE account page shell (body class: .an-page-account) ── */
.an-page-account .wp-site-blocks {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

.an-page-account main.an-page-content.wp-block-group {
    flex: 1 0 auto;
    width: 100%;
    max-width: none !important;
    padding-top: 0 !important;
    padding-bottom: 172px !important;
}

.an-page-account main.an-page-content > .entry-content.wp-block-post-content {
    width: 100%;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.an-page-account .woocommerce {
    width: 100%;
    max-width: none !important;
    box-sizing: border-box;
}

.an-page-account .woocommerce:has(.woocommerce-MyAccount-navigation) {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    gap: 56px !important;
    flex-wrap: nowrap !important;
    min-height: 760px;
}

/* ── Logged-in layout: flex row ── */
.an-wc-account .woocommerce:has(.woocommerce-MyAccount-navigation) {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    gap: 56px !important;
    flex-wrap: nowrap !important;
    max-width: 1500px;
    margin: 0 auto !important;
    min-height: 620px;
}

.an-wc-account .woocommerce-notices-wrapper {
    display: none !important; /* empty div — hide to avoid flex gap */
}

.an-wc-account .woocommerce:not(:has(.woocommerce-MyAccount-navigation)) h2 {
    font-family: var(--an-serif) !important;
    font-size: 26px !important;
    font-weight: 300 !important;
    color: var(--an-dark) !important;
    letter-spacing: 0.05em;
    line-height: 1.1;
    margin: 0 0 10px !important;
    text-align: center;
}

.an-wc-account .woocommerce:not(:has(.woocommerce-MyAccount-navigation)) {
    max-width: 1180px;
    margin: 0 auto !important;
    padding: 0 24px;
}

.an-wc-account .woocommerce:not(:has(.woocommerce-MyAccount-navigation))::before,
.an-wc-account .woocommerce:not(:has(.woocommerce-MyAccount-navigation))::after {
    content: "";
    display: table;
}

.an-wc-account .u-columns {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    max-width: 1120px;
    margin: 0 auto;
    align-items: stretch;
    position: relative;
}

.an-wc-account .u-columns::before {
    content: "";
    position: absolute;
    display: block !important; /* WC clearfix sets display:table, which zeroes the stretched height */
    left: 50%;
    top: 8px;
    bottom: 8px;
    width: 1px;
    pointer-events: none;
    z-index: 0;
}

.an-wc-account .u-column1,
.an-wc-account .u-column2 {
    display: flex;
    flex-direction: column;
    float: none !important;
    width: 100% !important; /* WC core sets .col-1/.col-2 to 48%, collapsing the grid track */
    padding: 8px 56px 0;
}

.an-wc-account .u-column1 > h2,
.an-wc-account .u-column2 > h2 {
    text-align: left !important;
    font-size: 32px !important;
    padding: 0 14px;
}

@media(max-width:680px) {
    .an-wc-account .u-columns { grid-template-columns: 1fr; }

    .an-wc-account .u-columns::before { display: none !important; }

    .an-wc-account .u-column2 { border-top: 1px solid rgba(201,179,162,0.30); }

    .an-wc-account .u-column1,
    .an-wc-account .u-column2 { padding: 14px 0 8px; }
}

/* Login / Register individual forms */
.an-wc-account .woocommerce-form-login,
.an-wc-account .woocommerce-form-register {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    flex: 1;
    gap: 4px;
    margin: 0 !important;
    border: 0 !important;
    padding: 12px 14px 0;
}

.an-wc-account .woocommerce-form-register .woocommerce-form-row:has(.woocommerce-form-register__submit) {
    margin-top: auto !important;
}

.an-wc-account .woocommerce-form-login::before,
.an-wc-account .woocommerce-form-register::before {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    padding: 8px 12px;
    margin-bottom: 18px;
    border-radius: 999px;
    background: rgba(var(--an-gold-rgb),0.10);
    color: var(--an-gold-dark);
    font-family: var(--an-sans) !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.an-wc-account .woocommerce-form-login::before {
    content: "Returning Client";
}

.an-wc-account .woocommerce-form-register::before {
    content: "Create Account";
}

.an-wc-account .woocommerce-form-login h2,
.an-wc-account .woocommerce-form-register h2 {
    font-family: var(--an-serif) !important;
    font-size: 30px !important;
    font-weight: 300 !important;
    color: var(--an-dark) !important;
    line-height: 1.08;
    letter-spacing: 0.04em;
    margin: 0 0 10px !important;
    text-align: left;
}

.an-wc-account .woocommerce-form-login p:not(.form-row):not(.woocommerce-LostPassword),
.an-wc-account .woocommerce-form-register p:not(.form-row):not(.woocommerce-LostPassword) {
    font-family: var(--an-sans) !important;
    font-size: 13px !important;
    line-height: 1.7;
    color: var(--an-grey) !important;
    max-width: 40ch;
    margin: 0 0 14px !important;
}

.an-wc-account .woocommerce-form-login .clear,
.an-wc-account .woocommerce-form-register .clear {
    display: none !important;
}

/* ── Side navigation ── */
.an-wc-account .woocommerce-MyAccount-navigation {
    flex: 0 0 260px !important;
    width: 260px !important;
    min-width: 260px !important;
    max-width: 260px !important;
    background: #f6f6f6;
    border-radius: 1px;
    overflow: hidden;
    border: 1px solid rgba(201,179,162,0.22);
    box-shadow: 0 18px 40px rgba(42,38,35,0.05);
    position: sticky !important;
    top: calc(var(--topbar-h,36px) + var(--an-header-h, 68px) + 20px);
}

.an-page-account .woocommerce-MyAccount-navigation {
    flex: 0 0 252px !important;
    width: 252px !important;
    min-width: 252px !important;
    max-width: 252px !important;
    background: #f6f6f6;
    border-radius: 1px;
    overflow: hidden;
    border: 1px solid rgba(201,179,162,0.22);
    box-shadow: 0 18px 40px rgba(42,38,35,0.05);
    position: sticky !important;
    top: calc(var(--topbar-h,36px) + var(--an-header-h, 68px) + 26px);
}

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

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

.an-wc-account .woocommerce-MyAccount-navigation ul li {
    margin: 0 !important;
    padding: 0 !important;
}

.an-page-account .woocommerce-MyAccount-navigation ul li {
    margin: 0 !important;
    padding: 0 !important;
}

.an-wc-account .woocommerce-MyAccount-navigation ul li a {
    display: block !important;
    padding: 16px 22px !important;
    font-family: var(--an-sans) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    color: var(--an-muted) !important;
    text-decoration: none !important;
    border-bottom: 1px solid var(--an-off-white) !important;
    transition: color 0.2s, background 0.2s;
    letter-spacing: 0.02em;
}

.an-page-account .woocommerce-MyAccount-navigation ul li a {
    display: block !important;
    padding: 17px 22px !important;
    font-family: var(--an-sans) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    color: var(--an-muted) !important;
    text-decoration: none !important;
    border-bottom: 1px solid var(--an-off-white) !important;
    transition: color 0.2s, background 0.2s;
    letter-spacing: 0.02em;
}

.an-wc-account .woocommerce-MyAccount-navigation ul li:last-child a {
    border-bottom: none !important;
}

.an-page-account .woocommerce-MyAccount-navigation ul li:last-child a {
    border-bottom: none !important;
}

.an-wc-account .woocommerce-MyAccount-navigation ul li a:hover,
.an-wc-account .woocommerce-MyAccount-navigation ul li.is-active a,
.an-wc-account .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--active a {
    background: rgba(var(--an-gold-rgb),0.06) !important;
    color: var(--an-gold) !important;
}

.an-page-account .woocommerce-MyAccount-navigation ul li a:hover,
.an-page-account .woocommerce-MyAccount-navigation ul li.is-active a,
.an-page-account .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--active a {
    background: rgba(var(--an-gold-rgb),0.06) !important;
    color: var(--an-gold) !important;
}

/* ── Account content panel ── */
.an-wc-account .woocommerce-MyAccount-content {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    min-height: 760px;
    background: #f6f6f6;
    border-radius: 1px;
    padding: 60px 64px 78px;
    border: 1px solid rgba(201,179,162,0.18);
    box-shadow: 0 24px 54px rgba(42,38,35,0.06);
}

.an-page-account .woocommerce-MyAccount-content {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    min-height: 760px;
    background: #f6f6f6;
    border-radius: 1px;
    padding: 62px 32px 78px;
    border: 1px solid rgba(201,179,162,0.18);
    box-shadow: 0 24px 54px rgba(42,38,35,0.06);
}

.an-wc-account .woocommerce-MyAccount-content p {
    font-family: var(--an-sans) !important;
    font-size: 14px !important;
    color: var(--an-grey) !important;
    line-height: 1.7;
    margin-bottom: 14px !important;
}

.an-page-account .woocommerce-MyAccount-content p {
    font-family: var(--an-sans) !important;
    font-size: 14px !important;
    color: var(--an-grey) !important;
    line-height: 1.7;
    margin-bottom: 14px !important;
}

.an-wc-account .woocommerce-MyAccount-content p a {
    color: var(--an-gold) !important;
    text-decoration: none;
}

.an-page-account .woocommerce-MyAccount-content p a {
    color: var(--an-gold) !important;
    text-decoration: none;
}

.an-wc-account .woocommerce-MyAccount-content p a:hover {
    text-decoration: underline;
}

.an-page-account .woocommerce-MyAccount-content p a:hover {
    text-decoration: underline;
}

.an-wc-account .woocommerce-MyAccount-content h2,
.an-wc-account .woocommerce-MyAccount-content h3 {
    font-family: var(--an-serif) !important;
    font-weight: 300 !important;
    color: var(--an-dark) !important;
    letter-spacing: 0.03em;
    margin: 0 0 20px !important;
}

.an-page-account .woocommerce-MyAccount-content h2,
.an-page-account .woocommerce-MyAccount-content h3 {
    font-family: var(--an-serif) !important;
    font-weight: 300 !important;
    color: var(--an-dark) !important;
    letter-spacing: 0.03em;
    margin: 0 0 20px !important;
}

.an-wc-account .woocommerce-MyAccount-content h2 { font-size: 22px !important; }

.an-wc-account .woocommerce-MyAccount-content h3 { font-size: 17px !important; }

.an-page-account .woocommerce-MyAccount-content h2 { font-size: 22px !important; }

.an-page-account .woocommerce-MyAccount-content h3 { font-size: 17px !important; }

/* ── Form rows / fields ── */
.an-wc-account .woocommerce-form-row,
.an-wc-account .form-row {
    margin-bottom: 16px !important;
}

.an-wc-account .woocommerce-form-login .form-row,
.an-wc-account .woocommerce-form-register .form-row {
    margin-bottom: 18px !important;
}

.an-wc-account label {
    display: block !important;
    font-family: var(--an-sans) !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--an-charcoal) !important;
    margin-bottom: 6px !important;
}

.an-wc-account input[type="text"],
.an-wc-account input[type="email"],
.an-wc-account input[type="tel"],
.an-wc-account input[type="password"],
.an-wc-account select,
.an-wc-account textarea {
    width: 100% !important;
    min-height: 54px;
    padding: 15px 16px !important;
    border: 1px solid rgba(201,179,162,0.52) !important;
    border-radius: 1px !important;
    font-family: var(--an-sans) !important;
    font-size: 14px !important;
    color: var(--an-dark) !important;
    background: rgba(255,255,255,0.94) !important;
    box-sizing: border-box !important;
    transition: border-color 0.2s, box-shadow 0.2s, background 0.2s;
    -webkit-appearance: none;
    box-shadow: none !important;
    outline: none !important;
}

.an-wc-account input:focus,
.an-wc-account select:focus,
.an-wc-account textarea:focus {
    border-color: var(--an-gold) !important;
    box-shadow: 0 0 0 3px rgba(var(--an-gold-rgb),0.08) !important;
}

/* Remember me / checkbox rows */
.an-wc-account .woocommerce-form-login .form-row:last-child,
.an-wc-account .woocommerce-form-register .form-row:last-child {
    margin-bottom: 0 !important;
    padding-top: 4px;
}

.an-wc-account .woocommerce-form-login .form-row:not(.form-row-last),
.an-wc-account .woocommerce-form-register .form-row:not(.form-row-last) {
    display: block !important;
}

.an-wc-account .woocommerce-form-login .form-row.form-row-last,
.an-wc-account .woocommerce-form-register .form-row.form-row-last {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
}

.an-wc-account .woocommerce-form-login .form-row label,
.an-wc-account .woocommerce-form-register .form-row label {
    text-align: left !important;
}

.an-wc-account .woocommerce-form-login .password-input,
.an-wc-account .woocommerce-form-register .password-input {
    display: block;
    width: 100%;
}

.an-wc-account .woocommerce-form-login .password-input input,
.an-wc-account .woocommerce-form-register .password-input input {
    width: 100% !important;
    padding-right: 44px !important;
}

.an-wc-account .woocommerce-form__label-for-checkbox {
    display: flex !important;
    align-items: center;
    gap: 8px;
    font-size: 13px !important;
    font-weight: 400 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    color: var(--an-grey) !important;
    cursor: pointer;
}

.an-wc-account .woocommerce-form__label-for-checkbox input[type="checkbox"] {
    width: auto !important;
    margin: 0;
}

.an-wc-account .woocommerce-form__label-for-checkbox span {
    color: var(--an-grey) !important;
}

/* Submit buttons */
.an-wc-account .woocommerce-Button,
.an-wc-account button[type="submit"],
.an-wc-account input[type="submit"] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 54px;
    padding: 15px 28px;
    background: var(--an-dark) !important;
    color: #fff !important;
    font-family: var(--an-sans) !important;
    font-size: 11px !important;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    border: none !important;
    border-radius: 1px;
    cursor: pointer;
    transition: background 0.2s, transform 0.2s, box-shadow 0.2s;
    text-decoration: none;
    box-shadow: 0 18px 38px rgba(42,38,35,0.14);
}

.an-wc-account .woocommerce-Button:hover,
.an-wc-account button[type="submit"]:hover,
.an-wc-account input[type="submit"]:hover {
    background: var(--an-gold) !important;
    transform: translateY(-1px);
}

.an-wc-account .woocommerce-form-login .button,
.an-wc-account .woocommerce-form-register .button {
    width: 100%;
}

/* Lost password link */
.an-wc-account .woocommerce-LostPassword a,
.an-wc-account .lost_password a {
    font-family: var(--an-sans) !important;
    font-size: 12px !important;
    color: var(--an-grey) !important;
    text-decoration: none;
}

.an-wc-account .woocommerce-LostPassword,
.an-wc-account .lost_password {
    margin: 10px 0 0 !important;
}

.an-wc-account .woocommerce-LostPassword a:hover,
.an-wc-account .lost_password a:hover { color: var(--an-gold) !important; }

/* ── Orders table ── */
.an-wc-account .woocommerce-orders-table {
    width: 100%;
    border-collapse: collapse;
}

.an-wc-account .woocommerce-orders-table th {
    font-family: var(--an-sans) !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--an-grey-light) !important;
    padding: 0 16px 14px 0 !important;
    text-align: left;
    border-bottom: 2px solid var(--an-off-white) !important;
}

.an-wc-account .woocommerce-orders-table td {
    font-family: var(--an-sans) !important;
    font-size: 13px !important;
    color: var(--an-dark) !important;
    padding: 16px 16px 16px 0 !important;
    border-bottom: 1px solid var(--an-off-white) !important;
    vertical-align: middle;
}

.an-wc-account .woocommerce-orders-table .woocommerce-button {
    display: inline-block;
    padding: 7px 16px;
    background: transparent;
    border: 1px solid var(--an-gold) !important;
    color: var(--an-gold) !important;
    font-family: var(--an-sans);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    text-decoration: none;
    border-radius: 1px;
    transition: background 0.2s, color 0.2s;
}

.an-wc-account .woocommerce-orders-table .woocommerce-button:hover {
    background: var(--an-gold) !important;
    color: #fff !important;
}

/* ── Order status badges ── */
.an-wc-account .wc-order-status,
.an-wc-account mark.order-status {
    display: inline-block;
    padding: 4px 10px;
    border-radius: 1px;
    font-family: var(--an-sans);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    background: var(--an-off-white);
    color: var(--an-grey);
}

.an-wc-account mark.order-status.status-processing { background: rgba(var(--an-gold-rgb),0.12); color: var(--an-gold); }

.an-wc-account mark.order-status.status-completed  { background: rgba(39,174,96,0.1);   color: #27ae60; }

.an-wc-account mark.order-status.status-on-hold    { background: rgba(52,152,219,0.1);  color: #3498db; }

.an-wc-account mark.order-status.status-cancelled  { background: rgba(231,76,60,0.1);   color: #e74c3c; }

/* ── Address page ── */

/* Two-column layout for billing + shipping */
.an-page-account .woocommerce-Addresses,
.an-page-account .col2-set.addresses {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: 20px !important;
    margin: 0 !important;
    max-width: none !important;
    width: 100% !important;
    box-sizing: border-box !important;
    overflow: visible !important;
}

.an-page-account .woocommerce-Addresses .woocommerce-Address,
.an-page-account .col2-set.addresses .col-1,
.an-page-account .col2-set.addresses .col-2,
.an-page-account .col2-set.addresses .u-column1,
.an-page-account .col2-set.addresses .u-column2 {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    float: none !important;
    width: auto !important;
    max-width: none !important;
    padding: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

/* Each address card */
.an-wc-account .woocommerce-Address {
    background: var(--an-cream);
    border-radius: 1px;
    padding: 24px;
    margin: 0 !important;
    height: 100%;
    box-sizing: border-box;
}

/* Title row: label left, edit button right */
.an-wc-account .woocommerce-Address-title {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin-bottom: 16px !important;
    padding-bottom: 14px !important;
    border-bottom: 1px solid var(--an-off-white) !important;
    gap: 12px;
}

.an-wc-account .woocommerce-Address-title h3 {
    font-family: var(--an-sans) !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--an-grey-light) !important;
    margin: 0 !important;
}

.an-wc-account .woocommerce-Address-title .edit {
    flex-shrink: 0;
    font-family: var(--an-sans) !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--an-gold) !important;
    text-decoration: none !important;
    border: 1px solid var(--an-gold) !important;
    padding: 4px 12px !important;
    border-radius: 1px;
    transition: background 0.2s, color 0.2s;
    white-space: nowrap;
}

.an-wc-account .woocommerce-Address-title .edit:hover {
    background: var(--an-gold) !important;
    color: #fff !important;
}

/* Hide redundant label inside edit link ("Edit Billing address" → just "Edit") */
.an-wc-account .woocommerce-Address-title .edit span {
    display: none !important;
}

/* Address text */
.an-wc-account address {
    font-family: var(--an-sans) !important;
    font-size: 14px !important;
    font-style: normal !important;
    line-height: 1.9 !important;
    color: var(--an-muted) !important;
    margin: 0 !important;
}

/* Order view (view-order / order-received) — billing & shipping address cards.
   WooCommerce core gives <address> a cramped border box with no word-wrap, so
   long emails spill outside the border. Restyle to match the account cards and
   keep all content inside the box. */
.an-wc-account .woocommerce-customer-details address,
.an-page-account .woocommerce-customer-details address {
    width: 100% !important;
    box-sizing: border-box !important;
    border: 1px solid var(--an-off-white) !important;
    border-radius: 1px !important;
    padding: 20px 22px !important;
    background: var(--an-cream) !important;
    line-height: 1.9 !important;
    color: var(--an-grey) !important;
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
}

.an-wc-account .woocommerce-customer-details .woocommerce-customer-details--phone,
.an-wc-account .woocommerce-customer-details .woocommerce-customer-details--email,
.an-page-account .woocommerce-customer-details .woocommerce-customer-details--phone,
.an-page-account .woocommerce-customer-details .woocommerce-customer-details--email {
    margin: 12px 0 0 !important;
    padding: 0 0 0 26px !important;
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
    color: var(--an-gold-dark) !important;
    line-height: 1.5 !important;
}

/* "Add address" link when no address set */
.an-wc-account .woocommerce-Address p a,
.an-wc-account .woocommerce-MyAccount-content a:not(.woocommerce-button):not(.button):not(.edit):not(.an-btn) {
    color: var(--an-gold) !important;
    text-decoration: none !important;
}

.an-wc-account .woocommerce-Address p a:hover,
.an-wc-account .woocommerce-MyAccount-content a:not(.woocommerce-button):not(.button):not(.edit):not(.an-btn):hover {
    text-decoration: underline !important;
}

/* Page description text */
.an-wc-account .woocommerce-MyAccount-content > p:first-child {
    font-family: var(--an-sans) !important;
    font-size: 13px !important;
    color: var(--an-grey-light) !important;
    margin-bottom: 24px !important;
}

@media(max-width:680px) {
    .an-page-account .woocommerce-Addresses,
    .an-page-account .col2-set.addresses { flex-direction: column !important; }
}

/* ── Account Details form ── */
/* Remove Divi eye-toggle background on password fields */
.an-wc-account .woocommerce-form-row .show-password-input,
.an-wc-account .show-password-input {
    position: absolute !important;
    right: 12px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    background: none !important;
    border: none !important;
    cursor: pointer !important;
    color: var(--an-grey-light) !important;
    font-size: 14px !important;
    padding: 0 !important;
    width: auto !important;
    height: auto !important;
    line-height: 1 !important;
    box-shadow: none !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

.an-wc-account .password-input {
    position: relative !important;
}

/* Display name hint */
.an-wc-account .woocommerce-form-row .description {
    font-family: var(--an-sans) !important;
    font-size: 12px !important;
    color: var(--an-grey-light) !important;
    margin-top: 6px !important;
    display: block;
    font-style: normal;
}

/* ── Downloads / Info notices ── */
.an-wc-account .woocommerce-info {
    background: var(--an-cream) !important;
    border: 1px solid var(--an-grey-light) !important;
    border-left: 3px solid var(--an-gold) !important;
    color: var(--an-dark) !important;
    border-radius: 1px !important;
    padding: 20px 24px !important;
    font-family: var(--an-sans) !important;
    font-size: 14px !important;
    display: flex !important;
    align-items: center !important;
    gap: 20px !important;
    flex-wrap: wrap !important;
    box-shadow: none !important;
}

.an-wc-account .woocommerce-info::before { display: none !important; }

.an-wc-account .woocommerce-info .button,
.an-wc-account .woocommerce-info a.button {
    display: inline-block !important;
    padding: 10px 22px !important;
    background: var(--an-dark) !important;
    color: #fff !important;
    font-family: var(--an-sans) !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 0.12em;
    text-transform: uppercase !important;
    text-decoration: none !important;
    border-radius: 1px !important;
    border: none !important;
    transition: background 0.2s;
    flex-shrink: 0;
    margin-left: auto;
}

.an-wc-account .woocommerce-info .button:hover,
.an-wc-account .woocommerce-info a.button:hover { background: var(--an-gold) !important; }

/* ── Shared WC notices ───────────────────────────────────── */
.an-wc-page .woocommerce-message,
.an-wc-page .woocommerce-info,
.an-wc-page .woocommerce-error {
    border-radius: 1px;
    padding: 14px 20px;
    font-family: var(--an-sans);
    font-size: 13px;
    margin-bottom: 20px;
    list-style: none;
    border-top: none;
    display: flex;
    align-items: center;
    gap: 10px;
}

.an-wc-page .woocommerce-message { background: rgba(var(--an-gold-rgb),0.07); border-left: 3px solid var(--an-gold); color: var(--an-dark); }

.an-wc-page .woocommerce-info    { background: var(--an-cream);               border-left: 3px solid var(--an-gold); color: var(--an-dark); }

.an-wc-page .woocommerce-error   { background: rgba(231,76,60,0.06);  border-left: 3px solid #e74c3c; color: var(--an-dark); }

/* WooCommerce positions its icon glyph absolutely (top:1em; left:1.5em) against a
   3.5em left padding this theme replaces with 20px, so on every shared notice the
   glyph landed on top of the first word — "(!)our payment was not completed". The
   same dot the PDP notices already use, as a real flex item. The .an-pdp-wrapper
   block below got this treatment when it was written; the shared one never did. */
.an-wc-page .woocommerce-message::before,
.an-wc-page .woocommerce-info::before,
.an-wc-page .woocommerce-error::before {
    content: '';
    position: static;
    top: auto;
    left: auto;
    width: 10px;
    height: 10px;
    border-radius: 999px;
    flex: 0 0 10px;
}

.an-wc-page .woocommerce-message::before,
.an-wc-page .woocommerce-info::before {
    background: var(--an-gold);
    box-shadow: 0 0 0 6px rgba(var(--an-gold-rgb),0.12);
}

.an-wc-page .woocommerce-error::before {
    background: #e74c3c;
    box-shadow: 0 0 0 6px rgba(231,76,60,0.10);
}

/* Core's clearfix ::after becomes a stray flex item, adding the gap a second time. */
.an-wc-page .woocommerce-message::after,
.an-wc-page .woocommerce-info::after,
.an-wc-page .woocommerce-error::after {
    display: none;
}

/* A notice carrying the card-help block is several lines tall, so the dot belongs
   beside the first line rather than floating at the notice's midpoint. */
.an-wc-page .woocommerce-error:has(.an-payment-help),
.an-wc-page .woocommerce-info:has(.an-payment-help) {
    align-items: flex-start;
}

.an-wc-page .woocommerce-error:has(.an-payment-help)::before,
.an-wc-page .woocommerce-info:has(.an-payment-help)::before {
    margin-top: 6px;
}

/* Buttons inside WC notices */
.an-wc-page .woocommerce-message .button,
.an-wc-page .woocommerce-info .button {
    margin-left: auto;
    padding: 9px 20px !important;
    background: var(--an-dark) !important;
    color: #fff !important;
    font-family: var(--an-sans) !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 0.1em;
    text-transform: uppercase !important;
    text-decoration: none !important;
    border-radius: 1px !important;
    border: none !important;
    transition: background 0.2s;
}

.an-wc-page .woocommerce-message .button:hover,
.an-wc-page .woocommerce-info .button:hover { background: var(--an-gold) !important; }

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
body.post-type-archive-product .wp-site-blocks > main.wp-block-group {
    position: relative;
    max-width: none;
    padding: calc(var(--topbar-h, 36px) + 88px) 28px 88px;
    background: var(--an-white);
}

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
body.post-type-archive-product .wp-site-blocks > main.wp-block-group > .alignwide,
body.post-type-archive-product .wp-site-blocks > main.wp-block-group > .wp-block-group.alignwide,
body.post-type-archive-product .wp-site-blocks > main.wp-block-group > .wp-block-woocommerce-product-collection.alignwide {
    max-width: 1320px;
    margin-left: auto;
    margin-right: auto;
}

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
body.post-type-archive-product .woocommerce-breadcrumb {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 16px;
    backdrop-filter: blur(10px);
    font-family: var(--an-sans);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--an-grey);
}

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
body.post-type-archive-product .woocommerce-breadcrumb a {
    color: var(--an-black);
    text-decoration: none;
}

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
body.post-type-archive-product .wp-block-query-title {
    max-width: 820px;
    margin: 0 auto 18px;
    font-family: var(--an-serif);
    font-size: clamp(44px, 7vw, 84px);
    font-weight: 300;
    line-height: 0.95;
    letter-spacing: 0.03em;
    text-align: center;
    color: var(--an-black);
}

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
body.post-type-archive-product .woocommerce-result-count {
    margin: 0;
    font-family: var(--an-sans);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--an-grey);
}

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
body.post-type-archive-product .woocommerce-ordering {
    margin: 0;
}

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
body.post-type-archive-product .woocommerce-ordering .orderby {
    min-width: 240px;
    padding: 12px 42px 12px 16px;
    border: 1px solid rgba(var(--an-gold-rgb), 0.28);
    border-radius: 1px;
    background-color: #f6f6f6;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238A6F5A' stroke-width='1.8'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
    background-size: 16px;
    color: var(--an-black);
    font-family: var(--an-sans);
    font-size: 12px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    appearance: none;
    -webkit-appearance: none;
}

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
body.post-type-archive-product .woocommerce-ordering .orderby:focus {
    outline: none;
    border-color: var(--an-gold-dark);
    box-shadow: 0 0 0 3px rgba(var(--an-gold-rgb), 0.12);
}

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
body.post-type-archive-product .wp-block-woocommerce-product-collection {
    margin-bottom: 0;
}

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
body.post-type-archive-product .wc-block-product-template__responsive.columns-3 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    column-gap: 24px;
    row-gap: 45px;
}

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
body.post-type-archive-product .wc-block-product {
    display: flex;
    flex-direction: column;
    min-width: 0;
    height: 100%;
    padding: 14px 14px 18px;
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
body.post-type-archive-product .wc-block-product:hover {
    transform: translateY(-4px);
    box-shadow: 0 24px 42px rgba(42, 38, 35, 0.1);
    border-color: rgba(var(--an-gold-rgb), 0.2);
}

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
body.post-type-archive-product .wc-block-components-product-image {
    margin-bottom: 0;
}

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
body.post-type-archive-product .wc-block-components-product-image img.woocommerce-placeholder {
    object-fit: contain !important;
    padding: 22%;
    box-sizing: border-box;
}

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
body.post-type-archive-product .wp-block-post-title {
    margin: 18px 0 8px;
    text-align: left !important;
    font-family: var(--an-serif);
    font-size: 24px !important;
    font-weight: 400;
    line-height: 1.2 !important;
    color: var(--an-black);
}

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
body.post-type-archive-product .wp-block-post-title a {
    color: inherit;
    text-decoration: none;
}

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
body.post-type-archive-product .wp-block-woocommerce-product-price,
body.post-type-archive-product .wc-block-grid__product-price {
    margin-bottom: 14px !important;
    text-align: left !important;
}

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
body.post-type-archive-product .wc-block-grid__product-price {
    font-family: var(--an-sans);
    font-size: 13px;
    color: var(--an-grey);
    line-height: 1.6;
}

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
body.post-type-archive-product .wc-block-components-product-price .woocommerce-Price-amount {
    color: var(--an-black);
    font-weight: 600;
}

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
body.post-type-archive-product .wc-block-components-product-button {
    margin-top: auto;
    align-items: stretch;
}

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
body.post-type-archive-product .wc-block-components-product-button .wp-block-button__link,
body.post-type-archive-product .wc-block-components-product-button .added_to_cart {
    width: 100%;
    min-height: 46px;
    padding: 13px 18px;
    border: 1px solid var(--an-gold);
    border-radius: 1px;
    background: transparent;
    color: var(--an-black);
    font-family: var(--an-sans);
    font-size: 11px !important;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    text-decoration: none;
    justify-content: center;
    transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
body.post-type-archive-product .wc-block-components-product-button .wp-block-button__link:hover,
body.post-type-archive-product .wc-block-components-product-button .added_to_cart:hover {
    background: var(--an-gold);
    border-color: var(--an-gold);
    color: #fff;
}

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
body.post-type-archive-product .wc-block-components-product-button .added_to_cart {
    margin-top: 8px;
}

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
body.post-type-archive-product .wp-block-query-pagination {
    gap: 12px;
    margin-top: 42px;
    justify-content: center;
}

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
body.post-type-archive-product .wp-block-query-pagination a,
body.post-type-archive-product .wp-block-query-pagination span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 44px;
    padding: 0 16px;
    border: 1px solid rgba(var(--an-gold-rgb), 0.22);
    border-radius: 1px;
    background: rgba(255, 255, 255, 0.82);
    color: var(--an-black);
    font-family: var(--an-sans);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    text-decoration: none;
}

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
body.post-type-archive-product .wp-block-query-pagination .current,
body.post-type-archive-product .wp-block-query-pagination a:hover {
    background: var(--an-black);
    border-color: var(--an-black);
    color: #fff;
}

@media (max-width: 1180px) {
    /* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
    body.post-type-archive-product .wc-block-product-template__responsive.columns-3 {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 820px) {
    /* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
    body.post-type-archive-product .wp-site-blocks > main.wp-block-group {
        padding-left: 18px;
        padding-right: 18px;
        padding-bottom: 72px;
    }

    /* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
    body.post-type-archive-product .woocommerce-ordering .orderby {
        width: 100%;
        min-width: 0;
    }

    /* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
    body.post-type-archive-product .wc-block-product-template__responsive.columns-3 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: 16px;
        row-gap: 22px;
    }

    /* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
    body.post-type-archive-product .wp-block-post-title {
        font-size: 20px !important;
    }
}

@media (max-width: 560px) {
    /* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
    body.post-type-archive-product .wp-block-query-title {
        font-size: 40px;
    }

    /* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
    body.post-type-archive-product .wc-block-product-template__responsive.columns-3 {
        grid-template-columns: 1fr;
    }

    /* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
    body.post-type-archive-product .wc-block-product {
        border-radius: 1px;
        padding: 12px;
    }
}

/* ── WC breadcrumb ───────────────────────────────────────── */
.an-wc-breadcrumb {
    font-family: var(--an-sans);
    font-size: 12px;
    color: rgba(var(--an-black-rgb),0.45);
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.an-wc-breadcrumb a { color: rgba(var(--an-black-rgb),0.6); text-decoration: none; }

.an-wc-breadcrumb a:hover { color: var(--an-gold-dark); }

@media (max-width: 1399px) {
    .an-wc-cart .woocommerce {
        grid-template-columns: minmax(0, 1fr);
        gap: 28px;
    }

    .an-wc-cart .woocommerce-cart-form,
    .an-wc-cart .cart-collaterals {
        grid-column: 1;
        grid-row: auto;
    }

    body .an-wc-cart .cart-collaterals .cart_totals {
        position: static;
    }
}

@media (max-width: 940px) {
    .an-wc-cart table.shop_table td.product-name {
        width: auto;
        min-width: 0;
    }
}

@media(max-width:900px) {
    .an-wc-cart .an-wrap--wide,
    .an-wc-checkout .an-wrap--wide { padding-top: 40px; padding-bottom: 104px; }

    .an-wc-cart .woocommerce { grid-template-columns: 1fr; gap: 28px; }

    .an-wc-cart .woocommerce-cart-form,
    .an-wc-cart .cart-collaterals { grid-column: 1; grid-row: auto; }

    .an-wc-cart .cart_totals { position: static; }

    .an-wc-cart table.shop_table td.actions { padding: 18px; }

    .an-wc-cart .coupon {
        width: 100%;
        flex-wrap: nowrap;
    }

    .an-wc-cart .coupon input#coupon_code { width: 100%; }

    .an-wc-cart .coupon .button { min-width: 150px; }

    .an-wc-cart .actions > .button[name="update_cart"] {
        float: none;
        margin-left: 0;
        width: 100% !important;
    }

    .an-wc-checkout form.checkout.woocommerce-checkout { grid-template-columns: 1fr !important; row-gap: 22px !important; }

    .an-wc-checkout #customer_details,
    .an-wc-checkout #order_review_heading,
    .an-wc-checkout #order_review { grid-column: 1; }

    .an-wc-checkout #order_review { position: static; }

    .an-wc-account { padding: 28px 0 80px; }

    .an-wc-account .an-wrap--wide { padding-top: 48px; padding-bottom: 104px; }

    .an-page-cart .an-wc-block-page__content,
    .an-page-checkout .an-wc-block-page__content { padding: 34px 24px 104px !important; }

    .an-page-account .an-wc-block-page__content--account { padding: 22px 24px 104px !important; }

    .an-page-cart .wc-block-components-sidebar-layout.wc-block-cart,
    .an-page-checkout .wc-block-components-sidebar-layout.wc-block-checkout { grid-template-columns: 1fr; gap: 28px; }

    .an-page-cart .wc-block-cart__sidebar,
    .an-page-checkout .wc-block-checkout__sidebar { position: static; }

    .an-wc-account .woocommerce:has(.woocommerce-MyAccount-navigation) { flex-direction: column !important; }

    .an-wc-account .woocommerce-MyAccount-navigation { position: static !important; flex: none !important; width: 100% !important; max-width: none !important; min-width: 0 !important; }

    .an-wc-account .woocommerce-MyAccount-content { flex: none !important; width: 100% !important; min-height: 0; padding: 38px 28px 46px !important; border-radius: 1px; }

    .an-page-account main.an-page-content.wp-block-group { padding-top: 0 !important; padding-bottom: 122px !important; }

    .an-page-account .woocommerce:has(.woocommerce-MyAccount-navigation) { flex-direction: column !important; gap: 26px !important; padding: 0 24px !important; min-height: 0; }

    .an-page-account .woocommerce-MyAccount-navigation { position: static !important; flex: none !important; width: 100% !important; max-width: none !important; min-width: 0 !important; }

    .an-page-account .woocommerce-MyAccount-content { flex: none !important; width: 100% !important; min-height: 0; padding: 40px 30px 48px !important; border-radius: 1px; }

    .an-wc-account .u-columns { grid-template-columns: 1fr !important; }

    .an-wc-account .woocommerce:not(:has(.woocommerce-MyAccount-navigation)) { padding: 0 18px; }

    .an-wc-account .u-columns::before { inset: -12px; border-radius: 1px; }

    .an-wc-account .woocommerce-form-login,
    .an-wc-account .woocommerce-form-register { padding: 34px 28px 20px; border-radius: 1px; }

    .an-wc-account .woocommerce-form-login h2,
    .an-wc-account .woocommerce-form-register h2 { font-size: 26px !important; }

    .an-wc-checkout .woocommerce-billing-fields,
    .an-wc-checkout .woocommerce-shipping-fields,
    .an-wc-checkout .woocommerce-additional-fields { padding: 24px; border-radius: 1px; }

    .an-wc-checkout .woocommerce-checkout-review-order { padding: 22px; border-radius: 1px; }

    .an-wc-checkout .form-row-first, .an-wc-checkout .form-row-last { width: 100% !important; display: block !important; margin-right: 0 !important; }

    .an-wrap--wide { padding: 32px 20px 60px; }
}

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
.an-footer__nl-fields[hidden] {
    display: none;
}

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
.an-footer__nl-input:focus { border-color: var(--an-gold); }

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
.an-footer__newsletter .an-btn--gold {
    border-radius: 0 1px 1px 0;
    white-space: nowrap;
    font-size: 11px;
}

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
.an-footer__social-link svg {
    width: 15px;
    height: 15px;
}

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
.an-footer__social-link:hover {
    border-color: var(--an-gold);
    color: var(--an-gold);
    background: rgba(var(--an-gold-rgb),0.08);
}

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
.an-footer__nav a {
    font-size: 13px;
    color: var(--foot-text);
    text-decoration: none;
    transition: color 0.2s;
    line-height: 1.4;
}

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
.an-footer__nav a:hover { color: var(--an-gold); }

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
.an-footer__wa-link svg { width: 16px; height: 16px; }

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
.an-footer__wa-link:hover { color: var(--an-black) !important; }

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
.an-footer__email-link:hover { color: var(--an-gold); }

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
.an-btn--outline-gold:hover {
    background: var(--an-gold-text);
    border-color: var(--an-gold-text);
    color: #fff;
}

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
.an-footer__trust-item svg {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
    color: var(--an-gold);
    opacity: 0.7;
}

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
.an-footer__legal-nav a {
    font-size: 11px;
    color: var(--an-muted);
    text-decoration: none;
    letter-spacing: 0.04em;
    transition: color 0.2s;
}

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
.an-footer__legal-nav a:hover { color: var(--an-black); }

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
.an-wa-float svg {
    width: 26px;
    height: 26px;
    color: #fff;
}

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
.an-wa-float:hover {
    transform: scale(1.08);
    box-shadow: 0 6px 28px rgba(37,211,102,0.55);
}

/* ═══════════════════════════════════════════════════════════
   THANK YOU PAGE  (.an-ty)
   ═══════════════════════════════════════════════════════════ */

.an-ty {
    padding: calc(var(--topbar-h, 36px) + var(--an-header-h, 68px) + 48px) 24px 120px;
    background: var(--an-cream, #FAF9F6);
    min-height: 60vh;
}

body.admin-bar .an-ty {
    padding-top: calc(32px + var(--topbar-h, 36px) + var(--an-header-h, 68px) + 48px);
}

.an-ty__inner {
    max-width: 860px;
    margin: 0 auto;
}

/* Hero */
.an-ty__hero {
    text-align: center;
    margin-bottom: 48px;
    padding-bottom: 40px;
    border-bottom: 1px solid rgba(0,0,0,.08);
}

.an-ty__icon {
    font-size: 40px;
    line-height: 1;
    margin-bottom: 16px;
}

.an-ty__title {
    font-family: var(--an-serif);
    font-size: clamp(26px, 5vw, 42px);
    font-weight: 300;
    letter-spacing: 1px;
    color: var(--an-black);
    margin: 0 0 12px;
    line-height: 1.2;
}

.an-ty__sub {
    font-family: var(--an-sans);
    font-size: 14px;
    color: var(--an-grey);
    line-height: 1.7;
    max-width: 480px;
    margin: 0 auto;
    letter-spacing: .2px;
}

/* Order summary card */
.an-ty__card {
    background: #f6f6f6;
    border-radius: 1px;
    box-shadow: 0 2px 20px rgba(0,0,0,.07);
    margin-bottom: 24px;
    overflow: hidden;
}

.an-ty__card-head {
    background: var(--an-black);
    color: #fff;
    padding: 13px 22px;
    font-family: var(--an-sans);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.an-ty__item {
    display: grid;
    grid-template-columns: 88px 1fr;
    gap: 20px;
    padding: 24px;
    border-bottom: 1px solid rgba(0,0,0,.06);
    align-items: center;
}

.an-ty__item-img {
    width: 88px;
    height: 88px;
    border-radius: 1px;
    overflow: hidden;
    background: var(--an-off-white);
    flex-shrink: 0;
}

.an-ty__item-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.an-ty__item-name {
    font-family: var(--an-serif);
    font-size: 17px;
    font-weight: 400;
    color: var(--an-black);
    margin: 0 0 6px;
    line-height: 1.3;
}

.an-ty__item-meta {
    display: grid;
    grid-template-columns: auto 1fr;
    column-gap: 12px;
    row-gap: 4px;
    margin: 10px 0 0;
    padding: 12px 14px;
    background: var(--an-off-white, #EFE6DE);
    border-radius: 1px;
    font-family: var(--an-sans);
    font-size: 12px;
    line-height: 1.5;
    list-style: none;
}

.an-ty__item-meta dt {
    margin: 0;
    padding: 0;
    color: var(--an-grey, #8A6F5A);
    font-size: 10.5px;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
    align-self: center;
    white-space: nowrap;
}

.an-ty__item-meta dd {
    margin: 0;
    padding: 0;
    color: var(--an-black, #2A2623);
    font-weight: 500;
    align-self: center;
}

.an-ty__item-meta dd > p,
.an-ty__item-meta dd > * {
    display: inline;
    margin: 0;
    padding: 0;
}

.an-ty__totals {
    padding: 16px 22px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.an-ty__pay-method {
    font-family: var(--an-sans);
    font-size: 11px;
    color: var(--an-grey-light);
    letter-spacing: .5px;
}

.an-ty__total-price {
    font-family: var(--an-serif);
    font-size: 22px;
    color: var(--an-black);
    font-weight: 400;
}

/* Info badge (QUOTE orders) */
.an-ty__badge {
    background: var(--an-off-white);
    border: 1px solid var(--an-gold-light);
    border-radius: 1px;
    padding: 14px 20px;
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 24px;
    font-family: var(--an-sans);
    font-size: 12px;
    color: var(--an-grey);
    line-height: 1.6;
}

.an-ty__badge-icon {
    font-size: 18px;
    flex-shrink: 0;
    margin-top: 1px;
}

/* Generic info block */
.an-ty__block {
    background: #f6f6f6;
    border-radius: 1px;
    padding: 22px;
    margin-bottom: 24px;
    box-shadow: 0 1px 10px rgba(0,0,0,.05);
}

.an-ty__block-title {
    font-family: var(--an-sans);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--an-grey-light);
    margin: 0 0 12px;
}

.an-ty__block p,
.an-ty__block li {
    font-family: var(--an-sans);
    font-size: 13px;
    color: var(--an-muted);
    line-height: 1.7;
    margin: 0 0 6px;
}

.an-ty__block p:last-child { margin-bottom: 0; }

.an-ty__steps-list {
    padding-left: 20px;
    margin: 0;
}

.an-ty__steps-list li + li { margin-top: 6px; }

/* Appointment card */
.an-ty__appointment-card {
    background: var(--an-black);
    color: #fff;
    border-radius: 1px;
    padding: 32px 28px;
    margin-bottom: 24px;
    text-align: center;
}

.an-ty__appointment-type {
    font-family: var(--an-sans);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: var(--an-gold);
    margin: 0 0 24px;
}

.an-ty__appointment-when {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-bottom: 24px;
}

.an-ty__appointment-detail {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.an-ty__appointment-location {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.an-ty__appointment-label {
    font-family: var(--an-sans);
    font-size: 10px;
    font-weight: 500;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: rgba(var(--an-white-rgb),.45);
}

.an-ty__appointment-value {
    font-family: var(--an-serif);
    font-size: 20px;
    font-weight: 300;
    color: #fff;
    line-height: 1.4;
    margin: 0;
}

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
.an-ty__ctas {
    display: flex;
    gap: 12px;
    justify-content: center;
    flex-wrap: wrap;
    margin-bottom: 40px;
}

.an-ty__ctas--left {
    justify-content: flex-start;
    margin-top: 14px;
    margin-bottom: 0;
}

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
.an-ty__wa {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #25d366;
    color: #fff;
    padding: 14px 28px;
    border-radius: 1px;
    font-family: var(--an-sans);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    text-decoration: none;
    transition: background .2s;
}

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
.an-ty__wa:hover {
    background: #1ebe5d;
    color: #fff;
    text-decoration: none;
}

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
.an-btn--dark-outline:hover {
    background: var(--an-black);
    color: #fff;
    text-decoration: none;
}

/* Luxury closing quote */
.an-ty__close {
    text-align: center;
    padding-top: 48px;
    border-top: 1px solid rgba(0,0,0,.06);
    margin-top: 8px;
}

/* Thank-you page: account cards grid spacing */
.an-ty__account-cards {
    margin: 32px 0;
}

.an-ty__close p {
    font-family: var(--an-serif);
    font-size: 18px;
    font-weight: 300;
    font-style: italic;
    color: var(--an-grey-light);
    line-height: 1.8;
    max-width: 400px;
    margin: 0 auto;
}

@media (max-width: 600px) {
    .an-ty { padding: 48px 16px 80px; }

    /* The stacked phone layout for .an-ty__item lives further down, next to the
       later .an-ty__item rules it has to override. */

    .an-ty__appointment-card { padding: 24px 18px; }

    .an-ty__appointment-when { grid-template-columns: 1fr; gap: 14px; }

    /* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
    .an-ty__ctas { flex-direction: column; align-items: stretch; }

    /* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
    .an-ty__wa   { justify-content: center; }
}

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
body.admin-bar .an-service-hero {
    padding-top: calc(32px + var(--topbar-h, 36px) + var(--an-header-h, 68px) + 48px);
}

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
.an-service-form__row:last-child { margin-bottom: 0; }

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
.an-service-form__row--2col > * { min-width: 0; }

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
.an-service-form__field {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
}

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
.an-service-form__input {
    display: block;
    font-family: var(--an-sans);
    font-size: 14px;
    color: var(--an-black);
    background: #f6f6f6;
    border: 1px solid var(--an-grey-light);
    border-radius: 1px;
    box-sizing: border-box;
    padding: 12px 14px;
    max-width: 100%;
    width: 100%;
    transition: border-color .2s;
    appearance: none;
    -webkit-appearance: none;
}

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
.an-service-form__field .iti {
    width: 100%;
    max-width: 100%;
}

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
.an-service-form__field .iti input[type="tel"] {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
}

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
.an-service-form__input:focus {
    outline: none;
    border-color: var(--an-gold);
}

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
select.an-service-form__input {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238A6F5A' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    background-size: 16px;
    padding-right: 38px;
    cursor: pointer;
}

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
.an-service-form__error {
    background: #fff5f5;
    border: 1px solid #f5c2c2;
    border-radius: 1px;
    padding: 12px 16px;
    font-family: var(--an-sans);
    font-size: 13px;
    color: #c0392b;
    margin-top: 12px;
}

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
.an-info-section p,
.an-info-section li {
    font-family: var(--an-sans);
    font-size: 14px;
    color: var(--an-muted);
    line-height: 1.8;
    margin: 0 0 12px;
}

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
.an-info-section ul,
.an-info-section ol {
    padding-left: 20px;
    margin: 0 0 12px;
}

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
.an-info-cta-block .wp-block-buttons {
    justify-content: center;
}

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
.an-info-cta-block .wp-block-button {
    margin: 0 auto;
    padding: 0;
    border: 0 !important;
    background: transparent !important;
}

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
.an-info-cta-block .an-btn,
.an-info-cta-block a.an-btn {
    border-color: var(--an-gold-dark) !important;
    color: var(--an-gold-dark) !important;
    background: transparent !important;
}

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
.an-info-cta-block .wp-block-button.an-btn {
    display: block;
}

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
.an-info-cta-block .wp-block-button__link {
    display: inline-block;
    min-width: 260px;
    font-family: var(--an-sans) !important;
    font-size: 11px !important;
    font-weight: 500;
    letter-spacing: 3px;
    text-transform: uppercase;
    line-height: 1.4 !important;
    text-align: center;
    padding: 15px 40px;
    border: 1px solid var(--an-gold-dark) !important;
    border-radius: 0 !important;
    color: var(--an-gold-dark) !important;
    background: transparent !important;
    transition: all 0.35s var(--an-ease);
}

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
.an-info-cta-block .wp-block-button__link:hover {
    background: var(--an-gold-dark) !important;
    color: #fff !important;
}

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
.an-info-cta-block .an-btn:hover,
.an-info-cta-block a.an-btn:hover {
    background: var(--an-gold-dark) !important;
    color: #fff !important;
}

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
.an-info-cta-block p {
    font-family: var(--an-serif);
    font-size: 18px;
    font-weight: 300;
    color: var(--an-black);
    margin: 0 0 20px;
}

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
.an-faq-item summary {
    font-family: var(--an-sans);
    font-size: 14px;
    font-weight: 600;
    color: var(--an-black);
    cursor: pointer;
    padding: 14px 0;
    list-style: none;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
.an-faq-item p { padding-bottom: 14px; }

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
.an-learn-table th {
    background: var(--an-black);
    color: #fff;
    padding: 10px 14px;
    text-align: left;
    font-weight: 600;
    letter-spacing: .5px;
}

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
.an-learn-table td {
    padding: 10px 14px;
    border-bottom: 1px solid rgba(0,0,0,.07);
    color: var(--an-dark);
}

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
.an-learn-table tr:nth-child(even) td { background: var(--an-cream); }

@media (max-width: 700px) {
    /* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
    .an-service-form__section { padding: 20px 16px; }
}

/* ═══════════════════════════════════════════════════════════
   ORDER TRACKING PAGE  (.an-track-*)
   ═══════════════════════════════════════════════════════════ */

.an-track-wrap {
    padding: 56px 0 100px;
    max-width: 760px;
    margin: 0 auto;
}

.an-track-form__footer {
    margin-top: 8px;
    display: flex;
    justify-content: flex-start;
}

/* Status timeline */
.an-track-timeline {
    display: flex;
    align-items: center;
    gap: 0;
    margin-bottom: 16px;
    overflow-x: auto;
    padding-bottom: 4px;
}

.an-track-step {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}

.an-track-step__dot {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: 700;
    background: var(--an-off-white);
    color: var(--an-grey-light);
    transition: background .2s, color .2s;
}

.an-track-step--done .an-track-step__dot {
    background: #2e7d32;
    color: #fff;
}

.an-track-step--active .an-track-step__dot {
    background: var(--an-gold);
    color: #fff;
    box-shadow: 0 0 0 4px rgba(var(--an-gold-rgb), .2);
}

.an-track-step__label {
    font-family: var(--an-sans);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: .8px;
    text-transform: uppercase;
    color: var(--an-grey-light);
    text-align: center;
    max-width: 80px;
    line-height: 1.3;
}

.an-track-step--done .an-track-step__label,
.an-track-step--active .an-track-step__label {
    color: var(--an-black);
}

.an-track-step__line {
    flex: 1;
    min-width: 24px;
    height: 2px;
    background: var(--an-off-white);
    margin-top: -20px; /* align with dots */
}

.an-track-step__line--done { background: #2e7d32; }

.an-track-status-badge {
    font-family: var(--an-sans);
    font-size: 12px;
    color: var(--an-grey);
    margin-bottom: 28px;
    letter-spacing: .3px;
}

.an-track-back { margin-bottom: 28px; }

.an-track-back__link {
    font-family: var(--an-sans);
    font-size: 12px;
    color: var(--an-grey-light);
    text-decoration: none;
    letter-spacing: .5px;
}

.an-track-back__link:hover { color: var(--an-black); }

.an-track-account-cta {
    margin-top: 40px;
    padding-top: 32px;
    border-top: 1px solid rgba(0,0,0,.08);
    display: flex;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
}

.an-track-account-cta p {
    font-family: var(--an-sans);
    font-size: 13px;
    color: var(--an-grey);
    margin: 0;
    flex: 1;
    min-width: 200px;
}

@media (max-width: 640px) {
    .an-track-wrap { padding: 32px 16px 80px; }

    .an-track-step__label { font-size: 9px; max-width: 60px; }

    .an-track-step__dot { width: 30px; height: 30px; font-size: 10px; }

    .an-track-account-cta { flex-direction: column; align-items: flex-start; gap: 12px; }
}

/* ═══════════════════════════════════════════════════════════
   MY ACCOUNT CUSTOM TABS  (.an-account-*)
   ═══════════════════════════════════════════════════════════ */

.an-account-section { padding: 8px 0 40px; }

.an-account-section__title {
    font-family: var(--an-serif);
    font-size: 24px;
    font-weight: 300;
    color: var(--an-black);
    margin: 0 0 24px;
    letter-spacing: .5px;
}

.an-account-empty {
    font-family: var(--an-sans);
    font-size: 14px;
    color: var(--an-charcoal);
    padding: 40px 0;
}

.an-account-empty a { color: var(--an-gold); }

.an-account-card {
    background: #f6f6f6;
    border-radius: 1px;
    box-shadow: 0 1px 12px rgba(0,0,0,.07);
    display: flex;
    gap: 0;
    overflow: hidden;
}

.an-account-card__body {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.an-account-card__meta {
    font-family: var(--an-sans);
    font-size: 11px;
    color: var(--an-charcoal);
    margin: 0;
    letter-spacing: .3px;
}

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
.an-quote-checkout-notice strong { display: block; margin-bottom: 2px; }

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
.an-quote-checkout-notice p {
    margin: 4px 0 0;
    font-size: 12px;
    color: var(--an-gold);
    line-height: 1.5;
}

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
.an-cookie-banner__text {
    margin: 0;
    font-size: 14px;
    line-height: 1.6;
    color: rgba(var(--an-black-rgb), 0.75);
    flex: 1;
    min-width: 240px;
}

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
.an-cookie-banner__text a { color: var(--an-gold-text); text-decoration: underline; }

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
.an-cookie-banner__actions { display: flex; gap: 10px; flex-shrink: 0; }

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
.an-cookie-banner__manage {
    background: transparent;
    border: 1px solid rgba(var(--an-black-rgb), 0.3);
    color: var(--an-black);
    padding: 8px 16px;
    border-radius: 1px;
    font-size: 13px;
    cursor: pointer;
    transition: border-color .2s, background .2s;
}

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
.an-cookie-banner__manage:hover { border-color: var(--an-black); background: rgba(var(--an-black-rgb), 0.05); }

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
.an-cookie-banner__accept {
    background: var(--an-gold-text);
    border: 1px solid var(--an-gold-text);
    color: #fff;
    padding: 8px 20px;
    border-radius: 1px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: background .2s;
}

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
.an-cookie-banner__accept:hover { background: var(--an-black); border-color: var(--an-black); }

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
.an-cookie-modal[aria-hidden="true"] { display: none; }

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
.an-cookie-modal__option-info strong { display: block; font-size: 14px; font-weight: 600; margin-bottom: 2px; }

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
.an-cookie-modal__option-info p { margin: 0; font-size: 12px; color: var(--an-charcoal); }

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
.an-cookie-modal__toggle-wrap input:checked + .an-cookie-modal__slider { background: var(--an-gold); }

@media (max-width: 768px) {
    /* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
    .an-cookie-banner__inner { flex-direction: column; align-items: flex-start; }
}

/* ═══════════════════════════════════════════════════════════
   MY ACCOUNT — Custom Dashboard
   ═══════════════════════════════════════════════════════════ */

.an-account-dashboard { max-width: none; width: 100%; }

.an-account-welcome { font-family: var(--an-sans); font-size: 15px; color: var(--an-charcoal); margin: 0 0 36px; }

/* 5-card grid */
.an-account-cards {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}

.an-account-card {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 14px;
    background: #f6f6f6;
    border: 1.5px solid var(--an-off-white);
    border-radius: 1px;
    text-decoration: none;
    transition: border-color 0.2s, box-shadow 0.2s, transform 0.2s;
}

.an-account-card:hover {
    border-color: var(--an-gold);
    box-shadow: 0 14px 34px rgba(var(--an-gold-rgb),0.14);
    transform: translateY(-2px);
}

.an-account-card__icon {
    width: 40px; height: 40px;
    background: var(--an-cream);
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0;
    color: var(--an-gold);
}

.an-account-card__icon svg { width: 18px; height: 18px; }

.an-account-card__body { flex: 1; }

.an-account-card__title { font-family: var(--an-serif); font-size: 15px; font-weight: 400; color: var(--an-black); margin: 0 0 2px; }

.an-account-card__meta { font-family: var(--an-sans); font-size: 12px; color: var(--an-charcoal); margin: 0; }

.an-account-card__arrow { font-family: var(--an-sans); font-size: 16px; color: var(--an-gold); opacity: 0; transition: opacity 0.2s, transform 0.2s; transform: translateX(-4px); }

.an-account-card:hover .an-account-card__arrow { opacity: 1; transform: translateX(0); }

/* Section header */
.an-account-section { padding: 10px 0 52px; }

.an-account-section__head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 30px; }

.an-account-section__title { font-family: var(--an-serif); font-size: 24px; font-weight: 400; color: var(--an-black); margin: 0; }

.an-account-section__action { font-family: var(--an-sans); font-size: 12px; color: var(--an-gold); text-decoration: none; letter-spacing: 0.05em; }

.an-account-section__action:hover { color: var(--an-gold-dark); }

/* Empty state */
.an-account-empty {
    text-align: center;
    padding: 76px 40px;
    background: var(--an-cream);
    border-radius: 1px;
}

.an-account-empty svg { width: 40px; height: 40px; color: var(--an-grey-light); margin: 0 auto 16px; display: block; }

.an-account-empty h3 { font-family: var(--an-serif); font-size: 18px; font-weight: 400; color: var(--an-dark); margin: 0 0 8px; }

.an-account-empty p { font-family: var(--an-sans); font-size: 14px; color: var(--an-charcoal); margin: 0 0 20px; }

/* Account table */
.an-account-table-wrap { overflow-x: auto; }

.an-account-table { width: 100%; border-collapse: collapse; font-family: var(--an-sans); font-size: 13px; }

.an-account-table th { text-align: left; padding: 10px 12px; font-size: 11px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--an-charcoal); border-bottom: 2px solid var(--an-off-white); }

.an-account-table td { padding: 14px 12px; border-bottom: 1px solid var(--an-off-white); vertical-align: middle; color: var(--an-dark); }

.an-account-table tr:last-child td { border-bottom: none; }

.an-account-table__id { font-family: var(--an-serif); font-size: 14px; color: var(--an-charcoal); }

.an-account-table__product-link { color: var(--an-dark); text-decoration: none; font-weight: 500; }

.an-account-table__product-link:hover { color: var(--an-gold); }

.an-account-table__price { display: block; font-size: 12px; color: var(--an-gold); margin-top: 2px; }

.an-account-table__actions { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }

/* Badge system */
.an-badge { display: inline-block; padding: 3px 10px; border-radius: 1px; font-family: var(--an-sans); font-size: 10px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; }

.an-badge--gold { background: rgba(var(--an-gold-rgb),0.15); color: var(--an-gold-dark); }

.an-badge--blue { background: rgba(34,113,177,0.1); color: #2271b1; }

.an-badge--green { background: rgba(0,163,42,0.1); color: #00a32a; }

.an-badge--grey { background: var(--an-off-white); color: var(--an-charcoal); }

/* Appointment cards */
.an-account-appts { display: flex; flex-direction: column; gap: 16px; }

.an-appt-card {
    display: flex;
    align-items: flex-start;
    gap: 20px;
    padding: 24px 28px;
    background: #f6f6f6;
    border: 1.5px solid var(--an-off-white);
    border-radius: 1px;
}

.an-appt-card__date {
    min-width: 52px;
    text-align: center;
    background: var(--an-black);
    border-radius: 1px;
    padding: 10px 8px;
    color: #fff;
    flex-shrink: 0;
}

.an-appt-card__day { display: block; font-family: var(--an-serif); font-size: 26px; line-height: 1; color: #fff; }

.an-appt-card__month { display: block; font-family: var(--an-sans); font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--an-gold); margin-top: 2px; }

.an-appt-card__tbc { display: block; font-family: var(--an-sans); font-size: 11px; color: var(--an-charcoal); padding: 8px 0; }

.an-appt-card__info { flex: 1; }

.an-appt-card__head { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 6px; }

.an-appt-card__title { font-family: var(--an-serif); font-size: 15px; font-weight: 400; color: var(--an-black); }

.an-appt-card__detail { font-family: var(--an-sans); font-size: 13px; color: var(--an-dark); margin: 0 0 4px; }

.an-appt-card__meta { font-family: var(--an-sans); font-size: 11px; color: var(--an-charcoal); margin: 0; }

.an-appt-card__actions { display: flex; flex-direction: column; gap: 8px; flex-shrink: 0; }

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
.an-btn--outline:hover { border-color: var(--an-dark); }

@media (max-width: 1100px) {
    .an-account-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 640px) {
    .an-wc-page.an-wc-account { min-height: auto; }

    .an-wc-account { padding: 18px 0 52px; }

    .an-wc-account .an-wrap--wide { padding-top: 32px; padding-bottom: 72px; }

    .an-wc-account .woocommerce:not(:has(.woocommerce-MyAccount-navigation)) { padding: 0 12px; }

    .an-wc-account .u-columns { gap: 22px; }

    .an-wc-account .u-columns::before { inset: -8px; border-radius: 1px; }

    .an-wc-account .woocommerce-form-login,
    .an-wc-account .woocommerce-form-register { padding: 28px 20px 18px; border-radius: 1px; }

    .an-wc-account .woocommerce-form-login h2,
    .an-wc-account .woocommerce-form-register h2 { font-size: 24px !important; }

    .an-wc-cart .an-wrap--wide,
    .an-wc-checkout .an-wrap--wide { padding-top: 28px; padding-bottom: 82px; }

    .an-wc-page__head { padding: calc(var(--topbar-h,36px) + var(--an-header-h, 68px) + 24px) 0 24px; }

    .an-cart-confidence,
    .an-checkout-confidence {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
        margin-top: 18px;
        padding: 0 2px;
        font-size: 10px;
    }

    .an-checkout-confidence {
        margin: 0 0 18px;
        padding: 14px 16px;
        background: rgba(255,255,255,0.76);
        border: 1px solid rgba(201,179,162,0.22);
        border-radius: 1px;
    }

    .an-wc-cart .cart_totals { padding: 22px; border-radius: 1px; }

    /* ── Mobile cart: card-per-item layout ──────────────────── */
    /* Kill WooCommerce's own responsive stacking (fires at 767px) */
    .an-wc-cart table.shop_table thead { display: none !important; }

    .an-wc-cart table.shop_table td::before,
    .an-wc-cart table.shop_table th::before { display: none !important; content: none !important; }

    .an-wc-cart table.shop_table,
    .an-wc-cart table.shop_table tbody { display: block; width: 100%; }

    /* Each product row: compact card layout. Woo may render the product
       name as a row header, so target both td and th product cells. */
    .an-wc-cart table.shop_table tr.cart_item {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        grid-template-rows: auto auto;
        column-gap: 16px;
        row-gap: 14px;
        padding: 16px 14px;
        border-bottom: 1px solid var(--an-off-white);
        background: #f6f6f6;
    }

    .an-wc-cart table.shop_table tr.cart_item > th,
    .an-wc-cart table.shop_table tr.cart_item > td {
        display: block;
        padding: 0;
        border: none;
        background: none;
        text-align: left;
        white-space: normal;
    }

    .an-wc-cart table.shop_table td.product-remove {
        grid-column: 2;
        grid-row: 1;
        text-align: right;
        align-self: start;
    }

    .an-wc-cart table.shop_table td.product-thumbnail {
        display: none !important;
    }

    .an-wc-cart table.shop_table td.product-name,
    .an-wc-cart table.shop_table th.product-name {
        grid-column: 1;
        grid-row: 1;
        min-width: 0;
        width: auto;
        max-width: none;
        text-align: left !important;
    }

    .an-wc-cart .product-name a {
        display: block;
        max-width: none;
        font-size: 16px;
        line-height: 1.35;
        text-align: left;
        overflow-wrap: break-word;
    }

    .an-wc-cart table.shop_table td.product-price { display: none !important; }

    /* redundant — subtotal shows total */
    .an-wc-cart table.shop_table td.product-quantity {
        grid-column: 1;
        grid-row: 2;
        align-self: center;
    }

    .an-wc-cart table.shop_table td.product-subtotal {
        grid-column: 2;
        grid-row: 2;
        align-self: center;
        font-weight: 600;
        font-size: 14px;
        color: var(--an-black);
        white-space: nowrap;
        text-align: right;
    }

    /* Actions row */
    .an-wc-cart table.shop_table tr.actions { display: block; }

    .an-wc-cart table.shop_table td.actions {
        display: block;
        width: 100% !important;
        padding: 18px 14px;
        border-top: 1px solid var(--an-off-white);
        box-sizing: border-box;
        overflow: hidden;
    }

    .an-wc-cart .coupon {
        display: flex !important;
        flex-direction: column;
        gap: 12px;
        width: 100% !important;
        max-width: 100%;
        float: none !important;
        box-sizing: border-box;
    }

    .an-wc-cart .coupon input#coupon_code,
    .an-wc-cart .coupon [name="apply_coupon"],
    .an-wc-cart [name="update_cart"] {
        display: block;
        width: 100% !important;
        max-width: 100%;
        min-width: 0;
        margin-left: 0 !important;
        margin-right: 0 !important;
        float: none !important;
        box-sizing: border-box;
    }

    .an-wc-cart .actions > .button[name="update_cart"] {
        float: none;
        margin: 12px 0 0;
    }

    .an-wc-cart .cart-collaterals { margin-top: 28px; }

    .an-wc-cart .cart_totals {
        min-width: 0;
        width: 100%;
        max-width: 100%;
        padding: 24px 22px;
        position: static;
        box-sizing: border-box;
        overflow: hidden;
    }

    .an-wc-cart .cart_totals table,
    .an-wc-cart .cart_totals table tbody,
    .an-wc-cart .cart_totals table tr,
    .an-wc-cart .cart_totals table th,
    .an-wc-cart .cart_totals table td {
        display: block;
        width: 100%;
        box-sizing: border-box;
    }

    .an-wc-cart .cart_totals table tr {
        padding: 12px 0;
        border-bottom: 1px solid var(--an-off-white);
    }

    .an-wc-cart .cart_totals table tr:last-child { border-bottom: none; }

    .an-wc-cart .cart_totals table th,
    .an-wc-cart .cart_totals table td {
        padding: 0;
        border: none;
        text-align: left !important;
        white-space: normal;
    }

    .an-wc-cart .cart_totals table th {
        margin-bottom: 6px;
        color: var(--an-grey);
        font-size: 11px;
        letter-spacing: 0.1em;
        text-transform: uppercase;
    }

    .an-wc-cart .cart_totals table td,
    .an-wc-cart .cart_totals .woocommerce-shipping-destination,
    .an-wc-cart .cart_totals .shipping-calculator-button {
        max-width: 100%;
        overflow-wrap: anywhere;
    }

    .an-wc-cart .cart_totals table tr.shipping td {
        text-align: left !important;
    }

    .an-wc-cart .cart_totals table tr.shipping td::before {
        text-align: left !important;
    }

    .an-wc-cart .cart_totals table.shop_table td::before {
        content: attr(data-title) !important;
        display: block !important;
        float: none !important;
        width: auto !important;
        margin: 0 0 6px;
        color: var(--an-grey);
        font-size: 11px;
        font-weight: 600;
        letter-spacing: 0.1em;
        line-height: 1.3;
        text-transform: uppercase;
    }

    .an-wc-cart .cart_totals .woocommerce-shipping-methods,
    .an-wc-cart .cart_totals .woocommerce-shipping-methods li,
    .an-wc-cart .cart_totals .woocommerce-shipping-methods label,
    .an-wc-cart .cart_totals .woocommerce-shipping-destination,
    .an-wc-cart .cart_totals .shipping-calculator-button {
        display: block;
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
        white-space: normal;
        text-align: left;
        overflow-wrap: anywhere;
        word-break: normal;
    }

    .an-wc-cart .cart_totals table .order-total td {
        font-size: 20px;
        text-align: left;
    }

    .an-page-cart .an-wc-block-page__content,
    .an-page-checkout .an-wc-block-page__content { padding: 28px 16px 78px !important; }

    .an-page-account .an-wc-block-page__content--account { padding: 18px 16px 60px !important; }

    .an-page-cart .wc-block-cart__main,
    .an-page-cart .wc-block-cart__sidebar,
    .an-page-checkout .wc-block-components-checkout-step,
    .an-page-checkout .wc-block-checkout__terms,
    .an-page-checkout .wc-block-checkout__actions,
    .an-page-checkout .wc-block-checkout__sidebar { border-radius: 1px; }

    .an-page-cart .wc-block-cart__sidebar,
    .an-page-checkout .wc-block-checkout__sidebar { padding: 22px; }

    .an-wc-checkout form.checkout.woocommerce-checkout {
        display: block !important;
    }

    .an-wc-checkout .form-row-first,
    .an-wc-checkout .form-row-last {
        display: block !important;
        width: 100% !important;
        margin-right: 0 !important;
    }

    .an-wc-checkout .woocommerce-billing-fields,
    .an-wc-checkout .woocommerce-shipping-fields,
    .an-wc-checkout .woocommerce-additional-fields,
    .an-wc-checkout .woocommerce-checkout-review-order {
        padding: 22px 18px !important;
        border-radius: 1px;
        box-sizing: border-box;
        overflow: hidden;
    }

    .an-wc-checkout #order_review {
        position: static;
        margin-top: 22px;
    }

    .an-wc-checkout .woocommerce-checkout-review-order-table,
    .an-wc-checkout .woocommerce-checkout-review-order-table tbody,
    .an-wc-checkout .woocommerce-checkout-review-order-table tfoot,
    .an-wc-checkout .woocommerce-checkout-review-order-table tr,
    .an-wc-checkout .woocommerce-checkout-review-order-table th,
    .an-wc-checkout .woocommerce-checkout-review-order-table td {
        display: block;
        width: 100%;
        box-sizing: border-box;
    }

    .an-wc-checkout .woocommerce-checkout-review-order-table thead { display: none; }

    .an-wc-checkout .woocommerce-checkout-review-order-table tr {
        padding: 13px 0;
        border-bottom: 1px solid var(--an-off-white);
    }

    .an-wc-checkout .woocommerce-checkout-review-order-table tr:last-child { border-bottom: none; }

    .an-wc-checkout .woocommerce-checkout-review-order-table th,
    .an-wc-checkout .woocommerce-checkout-review-order-table td {
        padding: 0 !important;
        border: none !important;
        white-space: normal;
    }

    .an-wc-checkout .woocommerce-checkout-review-order-table .product-name {
        padding-right: 0 !important;
        margin-bottom: 8px;
        overflow-wrap: anywhere;
    }

    .an-wc-checkout .woocommerce-checkout-review-order-table .product-total {
        text-align: left;
        white-space: normal;
        font-weight: 600;
    }

    .an-wc-checkout .woocommerce-checkout-review-order-table tfoot tr {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 12px;
        align-items: baseline;
    }

    .an-wc-checkout .woocommerce-checkout-review-order-table tfoot th,
    .an-wc-checkout .woocommerce-checkout-review-order-table tfoot td {
        width: auto;
    }

    .an-wc-checkout .woocommerce-checkout-review-order-table tfoot td {
        text-align: right;
        font-weight: 600;
    }

    .an-wc-checkout .woocommerce-checkout-payment {
        padding: 16px 14px 4px;
        border-radius: 1px;
    }

    .an-wc-checkout #place_order {
        box-sizing: border-box;
        white-space: normal;
        line-height: 1.45;
    }

    .an-page-account main.an-page-content.wp-block-group { padding-top: 0 !important; padding-bottom: 92px !important; }

    .an-page-account .woocommerce:has(.woocommerce-MyAccount-navigation) { padding: 0 12px !important; gap: 18px !important; }

    .an-page-account .woocommerce-MyAccount-content {
        padding: 28px 20px 36px !important;
        max-width: 100%;
        box-sizing: border-box;
        overflow: hidden;
    }

    .an-page-account .woocommerce-order-details,
    .an-wc-account .woocommerce-order-details {
        width: 100%;
        max-width: 100%;
        overflow: hidden;
    }

    .an-page-account .woocommerce-table--order-details,
    .an-page-account .woocommerce-table--order-details tbody,
    .an-page-account .woocommerce-table--order-details tfoot,
    .an-page-account .woocommerce-table--order-details tr,
    .an-page-account .woocommerce-table--order-details th,
    .an-page-account .woocommerce-table--order-details td,
    .an-wc-account .woocommerce-table--order-details,
    .an-wc-account .woocommerce-table--order-details tbody,
    .an-wc-account .woocommerce-table--order-details tfoot,
    .an-wc-account .woocommerce-table--order-details tr,
    .an-wc-account .woocommerce-table--order-details th,
    .an-wc-account .woocommerce-table--order-details td {
        display: block;
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }

    .an-page-account .woocommerce-table--order-details thead,
    .an-wc-account .woocommerce-table--order-details thead {
        display: none;
    }

    .an-page-account .woocommerce-table--order-details tr,
    .an-wc-account .woocommerce-table--order-details tr {
        padding: 16px 0;
        border-bottom: 1px solid var(--an-off-white);
    }

    .an-page-account .woocommerce-table--order-details th,
    .an-page-account .woocommerce-table--order-details td,
    .an-wc-account .woocommerce-table--order-details th,
    .an-wc-account .woocommerce-table--order-details td {
        padding: 0 !important;
        border: 0 !important;
        text-align: left !important;
        white-space: normal !important;
        overflow-wrap: anywhere;
    }

    .an-page-account .woocommerce-table--order-details td::before,
    .an-wc-account .woocommerce-table--order-details td::before {
        display: none !important;
        content: none !important;
    }

    .an-page-account .woocommerce-table--order-details td.product-name,
    .an-wc-account .woocommerce-table--order-details td.product-name {
        margin-bottom: 12px;
    }

    .an-page-account .woocommerce-table--order-details td.product-total,
    .an-wc-account .woocommerce-table--order-details td.product-total {
        font-weight: 600;
        color: var(--an-dark) !important;
    }

    .an-page-account .woocommerce-table--order-details td.product-total::before,
    .an-wc-account .woocommerce-table--order-details td.product-total::before {
        content: "Total";
        display: block;
        margin: 0 0 4px;
        color: var(--an-grey);
        font-family: var(--an-sans);
        font-size: 10px;
        font-weight: 700;
        letter-spacing: 0.12em;
        text-transform: uppercase;
    }

    .an-page-account .woocommerce-table--order-details tfoot tr,
    .an-wc-account .woocommerce-table--order-details tfoot tr {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 12px;
        align-items: baseline;
    }

    .an-page-account .woocommerce-table--order-details tfoot th,
    .an-page-account .woocommerce-table--order-details tfoot td,
    .an-wc-account .woocommerce-table--order-details tfoot th,
    .an-wc-account .woocommerce-table--order-details tfoot td {
        width: auto;
    }

    .an-page-account .woocommerce-table--order-details tfoot td,
    .an-wc-account .woocommerce-table--order-details tfoot td {
        text-align: right !important;
        font-weight: 600;
    }

    .an-page-account .woocommerce-table--order-details .wc-item-meta,
    .an-page-account .woocommerce-table--order-details dl.variation,
    .an-wc-account .woocommerce-table--order-details .wc-item-meta,
    .an-wc-account .woocommerce-table--order-details dl.variation {
        display: grid;
        grid-template-columns: 1fr;
        gap: 6px;
        margin: 14px 0 0;
        padding: 14px;
        background: rgba(246,241,235,0.82);
        border-radius: 1px;
        box-sizing: border-box;
    }

    .an-page-account .woocommerce-table--order-details .wc-item-meta li,
    .an-wc-account .woocommerce-table--order-details .wc-item-meta li {
        display: block;
        list-style: none;
        margin: 0;
    }

    .an-page-account .woocommerce-table--order-details .wc-item-meta strong,
    .an-page-account .woocommerce-table--order-details dl.variation dt,
    .an-wc-account .woocommerce-table--order-details .wc-item-meta strong,
    .an-wc-account .woocommerce-table--order-details dl.variation dt {
        display: block;
        margin: 0 0 2px;
        color: var(--an-dark);
        font-family: var(--an-sans);
        font-size: 10px;
        font-weight: 700;
        letter-spacing: 0.1em;
        line-height: 1.35;
        text-transform: uppercase;
    }

    .an-page-account .woocommerce-table--order-details .wc-item-meta p,
    .an-page-account .woocommerce-table--order-details dl.variation dd,
    .an-wc-account .woocommerce-table--order-details .wc-item-meta p,
    .an-wc-account .woocommerce-table--order-details dl.variation dd {
        display: block;
        margin: 0 0 8px !important;
        color: var(--an-grey) !important;
        font-size: 12px !important;
        line-height: 1.45;
    }

    .an-wc-account .woocommerce-orders-table,
    .an-wc-account .woocommerce-orders-table tbody,
    .an-wc-account .woocommerce-orders-table tr,
    .an-wc-account .woocommerce-orders-table td,
    .an-page-account .woocommerce-orders-table,
    .an-page-account .woocommerce-orders-table tbody,
    .an-page-account .woocommerce-orders-table tr,
    .an-page-account .woocommerce-orders-table td {
        display: block;
        width: 100%;
        box-sizing: border-box;
    }

    .an-wc-account .woocommerce-orders-table thead,
    .an-page-account .woocommerce-orders-table thead {
        display: none;
    }

    .an-wc-account .woocommerce-orders-table tr,
    .an-page-account .woocommerce-orders-table tr {
        padding: 16px;
        margin-bottom: 14px;
        background: #f6f6f6;
        border: 1px solid rgba(201,179,162,0.28);
        border-radius: 1px;
        box-shadow: 0 12px 28px rgba(42,38,35,0.04);
    }

    .an-wc-account .woocommerce-orders-table td,
    .an-page-account .woocommerce-orders-table td {
        padding: 8px 0 !important;
        border-bottom: 1px solid var(--an-off-white) !important;
        text-align: left !important;
        overflow-wrap: anywhere;
    }

    .an-wc-account .woocommerce-orders-table td:last-child,
    .an-page-account .woocommerce-orders-table td:last-child {
        border-bottom: none !important;
    }

    .an-wc-account .woocommerce-orders-table td::before,
    .an-page-account .woocommerce-orders-table td::before {
        display: block !important;
        float: none !important;
        width: auto !important;
        margin: 0 0 4px;
        color: var(--an-grey);
        font-size: 10px;
        font-weight: 700;
        letter-spacing: 0.12em;
        line-height: 1.3;
        text-transform: uppercase;
    }

    .an-account-table-wrap {
        overflow: visible;
    }

    .an-account-table,
    .an-account-table tbody,
    .an-account-table tr,
    .an-account-table td {
        display: block;
        width: 100%;
        box-sizing: border-box;
    }

    .an-account-table thead {
        display: none;
    }

    .an-account-table tr {
        padding: 16px;
        margin-bottom: 14px;
        background: #f6f6f6;
        border: 1px solid rgba(201,179,162,0.28);
        border-radius: 1px;
        box-shadow: 0 12px 28px rgba(42,38,35,0.04);
    }

    .an-account-table td {
        padding: 8px 0;
        border-bottom: 1px solid var(--an-off-white);
        overflow-wrap: anywhere;
    }

    .an-account-table td:last-child {
        border-bottom: none;
    }

    .an-account-table td[data-label]::before {
        content: attr(data-label);
        display: block;
        margin: 0 0 4px;
        color: var(--an-grey);
        font-family: var(--an-sans);
        font-size: 10px;
        font-weight: 700;
        letter-spacing: 0.12em;
        text-transform: uppercase;
    }

    .an-account-table__actions {
        align-items: stretch;
    }

    .an-account-table__actions .an-btn {
        width: 100%;
        box-sizing: border-box;
    }

    .an-page-account .woocommerce-Addresses,
    .an-page-account .col2-set.addresses {
        gap: 14px !important;
    }

    .an-wc-account .woocommerce-Address {
        padding: 20px 18px;
        border-radius: 1px;
    }

    .an-account-cards { grid-template-columns: 1fr; }

    .an-account-section__head { flex-direction: column; align-items: flex-start; gap: 10px; }

    .an-account-section { padding: 6px 0 36px; }

    .an-appt-card {
        flex-wrap: wrap;
        padding: 18px;
        gap: 14px;
    }

    .an-appt-card__info {
        min-width: 0;
        flex: 1 1 calc(100% - 76px);
    }

    .an-appt-card__actions {
        flex-direction: column;
        width: 100%;
    }

    .an-appt-card__actions .an-btn {
        width: 100%;
        box-sizing: border-box;
        text-align: center;
    }
}

/* ── Appointment Reschedule Form ────────────────────────────── */
.an-reschedule-form {
    grid-column: 1 / -1;
    margin-top: 12px;
    padding: 18px 20px 16px;
    background: var(--an-off-white);
    border-radius: 1px;
}

.an-reschedule-form__title {
    font-family: var(--an-sans);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--an-dark);
    margin: 0 0 12px;
}

.an-reschedule-form__row { margin-bottom: 12px; }

.an-reschedule-date {
    font-family: var(--an-sans);
    font-size: 13px;
    padding: 8px 12px;
    border: 1.5px solid var(--an-grey-light);
    border-radius: 1px;
    background: #f6f6f6;
    color: var(--an-black);
    width: 100%;
    max-width: 220px;
}

.an-reschedule-slots {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 12px;
}

.an-reschedule-slot {
    font-family: var(--an-sans);
    font-size: 12px;
    padding: 6px 12px;
    border: 1.5px solid var(--an-grey-light);
    border-radius: 1px;
    background: #f6f6f6;
    color: var(--an-dark);
    cursor: pointer;
    transition: border-color .15s, background .15s;
}

.an-reschedule-slot:hover { border-color: var(--an-gold); }

.an-reschedule-slot.is-selected { border-color: var(--an-gold); background: var(--an-gold); color: #fff; }

.an-reschedule-form__msg {
    font-family: var(--an-sans);
    font-size: 12px;
    margin: 0 0 10px;
    padding: 8px 12px;
    border-radius: 1px;
}

.an-reschedule-form__msg--success { background: #e8f7ef; color: #1a7a42; }

.an-reschedule-form__msg--error   { background: #fdf0ef; color: #c0392b; }

.an-reschedule-form__actions { display: flex; gap: 8px; flex-wrap: wrap; }

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
.an-quote-checkout-notice strong { font-family: var(--an-serif); font-size: 15px; color: var(--an-black); }

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
.an-quote-checkout-notice p { font-family: var(--an-sans); font-size: 13px; color: var(--an-charcoal); margin: 4px 0 0; }

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
.an-checkout-account__row input[type="checkbox"] { flex-shrink: 0; }

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
.an-checkout-account__field label { display: block; font-family: var(--an-sans); font-size: 12px; font-weight: 600; margin-bottom: 4px; color: var(--an-dark); }

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
.an-pwd-toggle:hover { color: var(--an-black); }

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
.an-checkout-invoice__row input[type="checkbox"] { flex-shrink: 0; }

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
.an-checkout-invoice .form-row { padding: 0; margin: 0 0 12px; }

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
.an-checkout-invoice label { display: block; font-family: var(--an-sans); font-size: 12px; font-weight: 600; margin-bottom: 4px; color: var(--an-dark); }

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
.an-checkout-invoice textarea { min-height: 72px; }

/* ══════════════════════════════════════════════════════════════
   TRACK ORDER page
   ══════════════════════════════════════════════════════════════ */
.an-track-wrap { max-width: 680px; margin: 0 auto; padding: 40px 0 80px; }

.an-track-form { background: var(--an-cream); border: 1px solid var(--an-off-white); border-radius: 1px; padding: 32px; }

.an-track-form__footer { margin-top: 24px; }

.an-track-back { margin-bottom: 24px; }

.an-track-back__link { font-family: var(--an-sans); font-size: 13px; color: var(--an-charcoal); text-decoration: none; }

.an-track-back__link:hover { color: var(--an-dark); }

.an-track-timeline {
    display: flex;
    align-items: center;
    margin-bottom: 24px;
    overflow-x: auto;
    padding-bottom: 8px;
}

.an-track-step { display: flex; flex-direction: column; align-items: center; min-width: 80px; }

.an-track-step__dot {
    width: 36px; height: 36px;
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-size: 13px; font-weight: 700;
    background: var(--an-off-white);
    color: var(--an-charcoal);
    border: 2px solid var(--an-off-white);
    transition: background .2s, color .2s, border-color .2s;
}

.an-track-step--done .an-track-step__dot { background: var(--an-gold); border-color: var(--an-gold); color: #fff; }

.an-track-step--active .an-track-step__dot { background: var(--an-black); border-color: var(--an-black); color: #fff; }

.an-track-step__label { font-family: var(--an-sans); font-size: 10px; letter-spacing: .04em; text-transform: uppercase; color: var(--an-charcoal); margin-top: 6px; text-align: center; }

.an-track-step--done .an-track-step__label,
.an-track-step--active .an-track-step__label { color: var(--an-dark); }

.an-track-step__line { flex: 1; height: 2px; min-width: 20px; background: var(--an-off-white); }

.an-track-step__line--done { background: var(--an-gold); }

.an-track-status-badge {
    font-family: var(--an-sans); font-size: 13px;
    background: var(--an-cream); border: 1px solid var(--an-off-white);
    border-radius: 1px; padding: 8px 14px;
    margin-bottom: 20px; color: var(--an-dark);
}

.an-track-account-cta {
    margin-top: 24px; padding: 20px; background: var(--an-cream);
    border: 1px solid var(--an-off-white); border-radius: 1px;
    font-family: var(--an-sans); font-size: 13px; color: var(--an-charcoal);
}

.an-track-account-cta p { margin: 0 0 12px; }

@media (max-width: 640px) {
    .an-track-step { min-width: 60px; }

    .an-track-step__label { font-size: 9px; }

    .an-track-form { padding: 20px; }
}

/* ══════════════════════════════════════════════════════════════
   THANK YOU page
   ══════════════════════════════════════════════════════════════ */
.an-ty { padding: 40px 20px 80px; }

.an-ty__inner { max-width: 620px; margin: 0 auto; }

.an-ty__hero { text-align: center; margin-bottom: 36px; }

.an-ty__icon { font-size: 36px; margin: 0 0 12px; }

.an-ty__title { font-family: var(--an-serif); font-size: 28px; font-weight: 400; color: var(--an-black); margin: 0 0 10px; }

.an-ty__sub { font-family: var(--an-sans); font-size: 15px; color: var(--an-charcoal); max-width: 480px; margin: 0 auto; line-height: 1.6; }

.an-ty__card {
    background: #f6f6f6;
    border: 1px solid var(--an-off-white);
    border-radius: 1px;
    overflow: hidden;
    margin-bottom: 24px;
}

.an-ty__card-head {
    display: flex; justify-content: space-between;
    padding: 14px 20px;
    background: var(--an-black); color: #fff;
    font-family: var(--an-sans); font-size: 13px;
}

.an-ty__item { display: flex; gap: 14px; padding: 14px 20px; border-bottom: 1px solid var(--an-off-white); }

.an-ty__item-img img { width: 72px; height: 72px; object-fit: cover; border-radius: 1px; }

.an-ty__item-name { font-family: var(--an-serif); font-size: 14px; margin: 0 0 4px; color: var(--an-black); }

.an-ty__totals { display: flex; justify-content: space-between; align-items: center; padding: 12px 20px; }

.an-ty__pay-method { font-family: var(--an-sans); font-size: 12px; color: var(--an-charcoal); }

.an-ty__total-price { font-family: var(--an-serif); font-size: 18px; color: var(--an-black); }

@media (max-width: 600px) {
    .an-ty__item {
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
        padding: 16px;
    }

    .an-ty__item-img {
        width: 100%;
        height: auto;
        aspect-ratio: 4 / 3;
    }

    .an-ty__item-img img {
        width: 100%;
        height: 100%;
    }

    .an-ty__item-name {
        font-size: 16px;
        margin: 0;
    }

    .an-ty__item-meta {
        grid-template-columns: 1fr;
        row-gap: 2px;
        margin: 0;
        padding: 14px 16px;
    }

    .an-ty__item-meta dt {
        white-space: normal;
    }

    .an-ty__item-meta dd {
        margin-bottom: 10px;
    }

    .an-ty__item-meta dd:last-child {
        margin-bottom: 0;
    }
}

.an-ty__badge {
    display: flex; align-items: center; gap: 10px;
    background: var(--an-cream); border: 1.5px solid var(--an-gold);
    border-radius: 1px; padding: 12px 16px;
    font-family: var(--an-sans); font-size: 13px; color: var(--an-dark);
    margin-bottom: 20px;
}

.an-ty__badge-icon { font-size: 18px; flex-shrink: 0; }

.an-ty__block { margin-bottom: 20px; }

.an-ty__block-title { font-family: var(--an-serif); font-size: 15px; font-weight: 400; color: var(--an-black); margin: 0 0 6px; }

.an-ty__block p { font-family: var(--an-sans); font-size: 13px; color: var(--an-charcoal); margin: 0 0 6px; line-height: 1.6; }

.an-ty__steps-list { font-family: var(--an-sans); font-size: 13px; color: var(--an-charcoal); padding-left: 18px; margin: 0; }

.an-ty__steps-list li + li { margin-top: 4px; }

.an-ty__block--account { background: var(--an-cream); border: 1px solid var(--an-off-white); border-radius: 1px; padding: 20px; }

.an-ty__appointment-card {
    background: var(--an-black); color: #fff;
    border-radius: 1px; padding: 24px; margin-bottom: 24px;
}

.an-ty__appointment-type { font-family: var(--an-serif); font-size: 18px; color: var(--an-gold); margin: 0 0 16px; }

.an-ty__appointment-when { display: flex; gap: 24px; flex-wrap: wrap; margin-bottom: 16px; }

.an-ty__appointment-detail { display: flex; flex-direction: column; gap: 2px; }

.an-ty__appointment-label { font-family: var(--an-sans); font-size: 10px; text-transform: uppercase; letter-spacing: .08em; color: rgba(var(--an-white-rgb),.5); }

.an-ty__appointment-value { font-family: var(--an-sans); font-size: 15px; font-weight: 600; color: #fff; }

.an-ty__appointment-location { border-top: 1px solid rgba(var(--an-white-rgb),.12); padding-top: 14px; }

.an-ty__appointment-location .an-ty__appointment-value { font-size: 13px; font-weight: 400; line-height: 1.5; }

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
.an-ty__ctas { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 28px; }

.an-ty__ctas--left { justify-content: flex-start; }

.an-ty__ctas--appointment { justify-content: center; align-items: stretch; }

.an-ty__ctas--appointment .an-btn,
.an-ty__ctas--appointment .an-ty__wa {
    min-width: 220px;
    justify-content: center;
}

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
.an-ty__wa {
    display: inline-flex; align-items: center; gap: 8px;
    background: #25D366; color: #fff; padding: 12px 22px;
    border-radius: 1px; font-family: var(--an-sans); font-size: 13px;
    font-weight: 600; text-decoration: none; transition: opacity .2s;
}

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
.an-ty__wa:hover { opacity: .85; color: #fff; }

.an-ty__close { margin-top: 48px; padding-top: 28px; border-top: 1px solid var(--an-off-white); text-align: center; }

.an-ty__close p { font-family: var(--an-serif); font-size: 16px; color: var(--an-charcoal); line-height: 1.6; margin: 0; }

@media (max-width: 640px) {
    .an-ty { padding: 24px 16px 60px; }

    .an-ty__title { font-size: 22px; }

    /* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
    .an-ty__ctas { flex-direction: column; width: 100%; }

    .an-ty__ctas--appointment { width: 100%; }

    .an-ty__ctas--appointment .an-btn,
    .an-ty__ctas--appointment .an-ty__wa { min-width: 0; width: 100%; box-sizing: border-box; }
}

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
.wc-block-components-sidebar{
    width: 100%;
}

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
.wc-block-components-sidebar-layout .wc-block-components-main{
    width: 100%;
}

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
.woocommerce table.shop_table{
    border:0;
}

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
body .wc-block-components-notice-banner.is-success {
    background-color: var(--an-success-bg);
    border-color: var(--an-success-bg);
}

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
body .wc-block-components-notice-banner.is-success,
body .wc-block-components-notice-banner.is-success .wc-block-components-notice-banner__content {
    color: #fff;
}

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
body .wc-block-components-notice-banner.is-success a,
body .wc-block-components-notice-banner.is-success .wc-block-components-notice-banner__content a {
    color: #fff !important;
    text-decoration: underline;
}

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
body .wc-block-components-notice-banner.is-success a:hover,
body .wc-block-components-notice-banner.is-success a:focus,
body .wc-block-components-notice-banner.is-success .wc-block-components-notice-banner__content a:hover,
body .wc-block-components-notice-banner.is-success .wc-block-components-notice-banner__content a:focus {
    color: var(--an-cream) !important;
}

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
body .wc-block-components-notice-banner:focus {
    outline: none;
}

@media (max-width: 900px) {
    /* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
    .an-hub-trust .an-trust__grid {
        display: flex;
        grid-template-columns: none;
        gap: 14px;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        /* A finger swipes this natively; a mouse gets dragging from
         * assets/js/trust-slider.js, and the cursor advertises it. */
        cursor: grab;
        /* Room for the hover/focus lift and for the last card to clear
         * the right edge instead of ending flush against it. */
        padding: 4px 4px 8px;
        margin: 0 -4px;
    }

    /* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
    .an-hub-trust .an-trust-card {
        flex: 0 0 auto;
        width: min(74vw, 260px);
        box-sizing: border-box;
        padding: 26px 22px;
        scroll-snap-align: start;
    }
}

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
.an-payment-help__item:last-child {
    margin-bottom: 0;
}

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
.woocommerce-error .an-payment-help,
.woocommerce-info .an-payment-help,
.woocommerce-message .an-payment-help {
    background: transparent;
    padding: 0;
    margin: 14px 0 0;
    max-width: none;
}

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
.an-payment-note__mark {
    flex: 0 0 17px;
    width: 17px;
    height: 17px;
    margin-top: 1px;
    border: 1px solid var(--an-gold-light);
    border-radius: 999px;
    color: var(--an-gold-dark);
    font-size: 11px;
    font-weight: 700;
    line-height: 15px;
    text-align: center;
}

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
.an-deposit__option:first-of-type {
    border-top: 0;
}

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
.an-deposit__option input {
    margin: 0;
    flex: 0 0 auto;
    accent-color: var(--an-gold-dark);
}

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
.an-deposit__option.is-selected .an-deposit__label {
    color: var(--an-black);
}

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
.an-deposit.is-deposit .an-deposit__balance,
.an-deposit.is-deposit .an-deposit__note {
    display: block;
}

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
.an-deposit__balance strong {
    color: var(--an-black);
    white-space: nowrap;
}

/* The three figures on the branded thank-you card. */
.an-ty__deposit {
    padding: 14px 0 4px;
    border-top: 1px solid var(--an-grey-light);
}

.an-ty__deposit-row {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 16px;
    margin: 0 0 6px;
    font-family: var(--an-sans);
    font-size: 13px;
    color: var(--an-grey);
}

.an-ty__deposit-row span:last-child {
    font-weight: 600;
    color: var(--an-black);
    white-space: nowrap;
}

.an-ty__total-note {
    display: block;
    font-family: var(--an-sans);
    font-size: 11px;
    font-weight: 400;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--an-grey);
}

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
.an-deposit-summary__table {
    width: 100%;
    border-collapse: collapse;
    font-family: var(--an-sans);
    font-size: 13px;
}

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
.an-deposit-summary__table th,
.an-deposit-summary__table td {
    padding: 9px 0;
    border-bottom: 1px solid var(--an-grey-light);
    text-align: left;
    font-weight: 400;
    color: var(--an-grey);
}

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
.an-deposit-summary__table td {
    text-align: right;
    font-weight: 600;
    color: var(--an-black);
}

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
.an-bg-picture > img {
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: var(--an-bg-fit, cover);
    object-position: var(--an-bg-position, center center);
}

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
.an-tile--split .an-tile__bg {
    position: relative;
}

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
a:focus-visible,
button:focus-visible,
summary:focus-visible,
[role="button"]:focus-visible,
[tabindex]:not([tabindex="-1"]):focus-visible {
    outline: 2px solid var(--an-dark);
    outline-offset: 2px;
}

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
.an-hero :focus-visible,
.an-hub-hero :focus-visible,
.an-tile :focus-visible,
.an-tile:focus-visible,
.an-appointment :focus-visible,
.an-topbar :focus-visible {
    outline-color: #fff;
}

/* copy of style.css: keeps its original win over the rule above (ARI-34). Edit both. */
.an-appointment--dark-text :focus-visible {
    outline-color: var(--an-dark);
}
