/* ArtNest v2 — inner pages: checkout, sign-in/up, account, order tracking, payment
   return pages, policies/FAQ/About/Contact. Loaded only by the storefront-v2 page
   templates (preview host), after the page's own stylesheet; scoped to body.v2.v2-pg. */

body.v2.v2-pg main { overflow-x: clip; }
body.v2.v2-pg { --v2-band: linear-gradient(120deg, var(--v2-cream) 0%, var(--v2-blush-soft) 70%, var(--v2-blush) 100%); }

/* ---------------------------------------------------------------- page band
   Crumbs + page head become one full-bleed blush/cream band, like the category hero. */
body.v2-pg .crumbs,
body.v2-pg .page-head,
body.v2-pg .track-hero {
    margin-inline: calc(50% - 50vw);
    padding-inline: calc(50vw - 50%);
    background: var(--v2-band);
}
body.v2-pg .crumbs { padding-top: 1rem; padding-bottom: .2rem; font-size: .74rem; color: var(--v2-muted); }
body.v2-pg .crumbs a { color: var(--v2-muted); }
body.v2-pg .page-head,
body.v2-pg .track-hero { padding-top: .5rem; padding-bottom: 1.4rem; margin-bottom: 1.5rem; border-bottom: 1px solid var(--v2-line); text-align: left; border-radius: 0; box-shadow: none; }
body.v2-pg .page-head .eyebrow,
body.v2-pg .track-eyebrow { color: var(--v2-sage-deep); letter-spacing: .16em; font-weight: 600; }
body.v2-pg .display-m,
body.v2-pg .track-title { font-family: var(--v2-serif); font-weight: 600; font-size: clamp(1.7rem, 6vw, 2.4rem); line-height: 1.15; color: var(--v2-ink); margin-top: .35rem; }
body.v2-pg .track-lede,
body.v2-pg .legal-updated { color: var(--v2-muted); max-width: 60ch; margin-inline: 0; }
body.v2-pg .track-hero::before, body.v2-pg .track-hero::after { display: none; }

/* ---------------------------------------------------------------- cards (account, tracking, legal) */
body.v2-pg .account-card,
body.v2-pg .legal-seller-card,
body.v2-pg .track-card,
body.v2-pg .thankyou-card {
    background: #fff;
    border: 1px solid var(--v2-line);
    border-radius: 16px;
    box-shadow: var(--v2-shadow);
}
body.v2-pg .account-card { padding: 1.15rem 1rem 1.25rem; margin-bottom: 1rem; }
body.v2-pg .account-card > .eyebrow { color: var(--v2-sage-deep); font-weight: 600; letter-spacing: .14em; margin-bottom: .35rem; }

/* ---------------------------------------------------------------- fields: label sits inside a clean 54px field */
body.v2-pg .checkout-field,
body.v2-pg .account-field { position: relative; display: flex; flex-direction: column; gap: 0; margin: 0; }
body.v2-pg .account-field { margin-bottom: .85rem; }
body.v2-pg .checkout-field > span:first-child,
body.v2-pg .account-field > span:first-child {
    position: absolute; top: .5rem; left: .95rem; right: .95rem; z-index: 1; pointer-events: none;
    font-size: .7rem; line-height: 1.2; letter-spacing: .01em; text-transform: none;
    font-weight: 500; color: var(--v2-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
body.v2-pg .checkout-field > span:first-child em,
body.v2-pg .account-field > span:first-child em { font-style: normal; color: #7a7268; }
body.v2-pg .checkout-field input,
body.v2-pg .checkout-field select,
body.v2-pg .account-field input,
body.v2-pg .account-field select,
body.v2-pg .account-field textarea {
    width: 100%; height: 54px; min-height: 54px; margin: 0;
    padding: 1.3rem .95rem .35rem;
    border: 1px solid #e4dbcf; border-radius: 12px; background: #fff;
    font-family: var(--v2-sans); font-size: 16px; line-height: 1.3; color: var(--v2-ink);
    box-shadow: none; transition: border-color .15s, box-shadow .15s;
}
body.v2-pg .checkout-field select,
body.v2-pg .account-field select { padding-right: 2.2rem; -webkit-appearance: none; appearance: none;
    background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236f6a63' stroke-width='1.8' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right .85rem center / 16px; }
body.v2-pg .checkout-field input::placeholder,
body.v2-pg .account-field input::placeholder { color: #7d756c; opacity: 1; }
body.v2-pg .checkout-field input:hover, body.v2-pg .checkout-field select:hover,
body.v2-pg .account-field input:hover, body.v2-pg .account-field select:hover { border-color: #d6cbbd; }
body.v2-pg .checkout-field input:focus, body.v2-pg .checkout-field select:focus,
body.v2-pg .account-field input:focus, body.v2-pg .account-field select:focus, body.v2-pg .account-field textarea:focus,
body.v2-pg .checkout-promo-input:focus {
    outline: none; border-color: var(--v2-rose); box-shadow: 0 0 0 3px rgba(201,114,124,.18);
}
body.v2-pg .checkout-field.has-error input, body.v2-pg .checkout-field.has-error select,
body.v2-pg .account-field.has-error input { border-color: #c4473d; box-shadow: 0 0 0 3px rgba(196,71,61,.12); background: #fff; }
body.v2-pg .checkout-field input:user-invalid:not(:focus),
body.v2-pg .account-field input:user-invalid:not(:focus) { border-color: #c4473d; }
body.v2-pg .field-error { display: block; margin: .35rem .2rem 0; color: #a3251c; font-size: .76rem; line-height: 1.35; }
body.v2-pg .pincode-lookup { margin: .35rem .2rem 0; font-size: .74rem; color: var(--v2-muted); }
body.v2-pg .pincode-result { border-radius: 10px; font-size: .84rem; line-height: 1.45; padding: .55rem .8rem; margin: .75rem 0 0; }
body.v2-pg .pincode-result:empty { display: none; }
body.v2-pg .pincode-result.is-ok { background: var(--v2-sage-soft); color: var(--v2-sage-deep); }
body.v2-pg .pincode-result.is-error { background: #fdeeed; color: #a3251c; }
body.v2-pg .meta { color: var(--v2-muted); }
body.v2-pg .cart-notice { border-radius: 12px; background: #fdeeed; color: #a3251c; border: 1px solid rgba(163,37,28,.2); padding: .75rem 1rem; }
body.v2-pg .btn-block { width: 100%; }
body.v2-pg .btn-link { color: var(--v2-rose-deep); font-weight: 600; }
body.v2-pg .btn.btn-block:not(.btn-ghost) { min-height: 52px; border-radius: 12px !important; font-weight: 700; font-size: .98rem; letter-spacing: .01em; }

/* segmented controls: quiet sand track, white active pill (Apple-style) */
body.v2-pg .signup-contact-toggle,
body.v2-pg .checkout-promo-tabs {
    display: grid; grid-template-columns: 1fr 1fr; gap: 3px; padding: 3px;
    border: 0; border-radius: 12px; background: #f4eee6;
}
body.v2-pg .signup-contact-option,
body.v2-pg .checkout-promo-tab {
    min-height: 40px; border: 0; border-radius: 9px; background: transparent; box-shadow: none;
    color: var(--v2-muted); font-size: .86rem; font-weight: 600; text-align: center; line-height: 1.2; padding: .4rem .6rem; cursor: pointer;
}
body.v2-pg .signup-contact-option.is-active,
body.v2-pg .checkout-promo-tab.is-active { background: #fff; color: var(--v2-ink); box-shadow: 0 1px 2px rgba(44,42,39,.08), 0 2px 8px rgba(44,42,39,.06); }

/* ================================================================ checkout (v2b) */
body.v2co-page { background: #fff; }
body.v2co-page .v2co { padding-bottom: 2rem; }
body.v2co-page .v2co-top { display: flex; align-items: center; justify-content: space-between; gap: .75rem; padding: .9rem 0 .2rem; }
body.v2co-page .v2co-secure { display: inline-flex; align-items: center; gap: .4rem; margin: 0; font-size: .78rem; font-weight: 600; color: var(--v2-sage-deep); letter-spacing: .02em; }
body.v2co-page .v2co-lock { width: 15px; height: 15px; flex: none; }
body.v2co-page .v2co-steps { display: flex; align-items: center; gap: .35rem; list-style: none; margin: 0; padding: 0; font-size: .74rem; color: #7a7268; }
body.v2co-page .v2co-steps li { display: inline-flex; align-items: center; gap: .35rem; }
body.v2co-page .v2co-steps li + li::before { content: "›"; color: #cfc6ba; }
body.v2co-page .v2co-steps a { color: var(--v2-muted); text-decoration: none; }
body.v2co-page .v2co-steps .is-current { color: var(--v2-ink); font-weight: 700; }
body.v2co-page .v2co-title { padding: .6rem 0 .9rem; }
body.v2co-page .v2co-title .eyebrow { color: var(--v2-rose-deep); font-weight: 600; letter-spacing: .16em; font-size: .66rem; }
body.v2co-page .v2co-title .display-m { font-family: var(--v2-serif); font-weight: 600; font-size: 1.85rem; line-height: 1.1; margin-top: .25rem; color: var(--v2-ink); }

/* layout: summary first in the DOM (collapsible bar on phones), right column on desktop */
body.v2co-page .v2co-layout { display: grid; gap: 0; padding: 0; }
body.v2co-page .v2co-main { min-width: 0; }

/* sections with thin dividers, no boxes */
body.v2co-page .v2co-section { padding: 1.4rem 0; border-top: 1px solid var(--v2-line); }
body.v2co-page .v2co-main > .v2co-section:first-of-type { border-top: 0; padding-top: .6rem; }
body.v2co-page .v2co-h { margin: 0 0 .3rem; font-family: var(--v2-serif); font-weight: 600; font-size: 1.22rem; line-height: 1.25; color: var(--v2-ink); letter-spacing: 0; text-transform: none; }
body.v2co-page .v2co-h-sub { font-size: 1.05rem; margin-bottom: .7rem; }
body.v2co-page .checkout-lede { margin: 0 0 1rem; font-size: .84rem; line-height: 1.5; color: var(--v2-muted); }
body.v2co-page .checkout-grid { display: grid; gap: .7rem; grid-template-columns: 1fr; }
body.v2co-page .checkout-login-prompt { display: flex; align-items: center; justify-content: space-between; margin: 0 0 .2rem; padding: .7rem 0; background: none; border: 0; border-bottom: 1px solid var(--v2-line); border-radius: 0; box-shadow: none; font-size: .86rem; color: var(--v2-muted); }
body.v2co-page .checkout-login-prompt .btn-link { color: var(--v2-rose-deep); font-weight: 700; }

/* Courier / Shop pickup: radio tiles with icons */
body.v2co-page .v2co-tiles { display: grid; grid-template-columns: 1fr 1fr; gap: .6rem; margin: 0 0 1.1rem; padding: 0; border: 0; background: none; border-radius: 0; }
body.v2co-page .v2co-tiles .fulfillment-option {
    position: relative; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: .35rem;
    min-height: 74px; padding: .75rem .85rem; text-align: left;
    border: 1px solid #e4dbcf; border-radius: 12px; background: #fff; box-shadow: none;
    color: var(--v2-ink); font-size: .86rem; font-weight: 600; line-height: 1.25; cursor: pointer; transition: border-color .15s, background .15s;
}
body.v2co-page .v2co-tiles .fulfillment-option svg { width: 22px; height: 22px; color: var(--v2-muted); }
body.v2co-page .v2co-tiles .fulfillment-option::after {
    content: ""; position: absolute; top: .7rem; right: .7rem; width: 18px; height: 18px; border-radius: 50%;
    border: 1.5px solid #d6cbbd; background: #fff;
}
body.v2co-page .v2co-tiles .fulfillment-option:has(input:checked) { border-color: var(--v2-rose); background: var(--v2-blush-soft); box-shadow: 0 0 0 1px var(--v2-rose); color: var(--v2-ink); }
body.v2co-page .v2co-tiles .fulfillment-option:has(input:checked) svg { color: var(--v2-rose-deep); }
body.v2co-page .v2co-tiles .fulfillment-option:has(input:checked)::after { border: 5px solid var(--v2-rose); }
body.v2co-page .v2co-tiles .fulfillment-option:has(input:focus-visible) { outline: 2px solid var(--v2-rose); outline-offset: 2px; }

/* delivery quote: a quiet inline line with an icon, not a filled block */
body.v2co-page .pincode-result.v2co-quote { display: flex; align-items: flex-start; gap: .45rem; margin: .8rem 0 0; padding: 0; background: none; border: 0; font-size: .82rem; line-height: 1.45; color: var(--v2-muted); }
body.v2co-page .pincode-result.v2co-quote::before { content: ""; flex: none; width: 16px; height: 16px; margin-top: .1rem; background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 8v4.5M12 16h.01'/%3E%3C/svg%3E") center / contain no-repeat;
            mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 8v4.5M12 16h.01'/%3E%3C/svg%3E") center / contain no-repeat; }
body.v2co-page .pincode-result.v2co-quote.is-ok { color: var(--v2-sage-deep); background: none; }
body.v2co-page .pincode-result.v2co-quote.is-ok::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='m8 12.3 2.7 2.7L16 9.7'/%3E%3C/svg%3E");
            mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='m8 12.3 2.7 2.7L16 9.7'/%3E%3C/svg%3E"); }
body.v2co-page .pincode-result.v2co-quote.is-error { color: #a3251c; background: none; }

body.v2co-page .checkout-pickup-card { margin: 1rem 0 0; padding: .9rem 1rem; border: 1px solid var(--v2-line); border-radius: 12px; background: var(--v2-cream); box-shadow: none; }
body.v2co-page .checkout-pickup-title { margin: 0 0 .25rem; font-weight: 700; color: var(--v2-ink); }
body.v2co-page .checkout-pickup-card .meta { font-size: .82rem; margin: .15rem 0; }

/* shipping method: clean radio rows */
body.v2co-page .v2co-ship-section { padding-top: 1.2rem; }
body.v2co-page .delivery-options-wrap { margin: 0; }
body.v2co-page .delivery-options { display: grid; gap: .55rem; }
body.v2co-page .delivery-option { display: block; position: relative; }
body.v2co-page .delivery-option > input { position: absolute; opacity: 0; pointer-events: none; }
body.v2co-page .delivery-option-body {
    display: grid; grid-template-columns: auto minmax(0, 1fr) auto; grid-template-rows: auto; align-items: center; gap: .8rem;
    padding: .85rem .95rem; border: 1px solid #e4dbcf; border-radius: 12px; background: #fff; box-shadow: none; cursor: pointer;
}
body.v2co-page .delivery-option-radio { grid-row: 1; grid-column: 1; align-self: center; width: 18px; height: 18px; border-radius: 50%; border: 1.5px solid #d6cbbd; background: #fff; box-shadow: none; }
body.v2co-page .delivery-option > input:checked + .delivery-option-body { border-color: var(--v2-rose); background: var(--v2-blush-soft); box-shadow: 0 0 0 1px var(--v2-rose); }
body.v2co-page .delivery-option > input:checked + .delivery-option-body .delivery-option-radio { border: 5px solid var(--v2-rose); }
body.v2co-page .delivery-option > input:focus-visible + .delivery-option-body { outline: 2px solid var(--v2-rose); outline-offset: 2px; }
body.v2co-page .delivery-option-detail { grid-column: 2; grid-row: 1; min-width: 0; }
body.v2co-page .delivery-option-title-row { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem .45rem; }
body.v2co-page .delivery-option-title { font-weight: 700; font-size: .92rem; color: var(--v2-ink); }
body.v2co-page .delivery-option-badge { display: inline-flex; align-items: center; height: 18px; padding: 0 .45rem; border-radius: 999px; background: var(--v2-sage-soft); color: var(--v2-sage-deep); font-size: .6rem; font-weight: 700; letter-spacing: .08em; }
body.v2co-page .delivery-option-rec-btn { width: 16px; height: 16px; min-height: 16px; border-radius: 50%; border: 1px solid #d6cbbd; background: #fff; color: var(--v2-muted); font-size: .62rem; line-height: 1; padding: 0; }
body.v2co-page .delivery-option-rec-inline { margin: .2rem 0 0; font-size: .74rem; color: #8d857b; line-height: 1.35; }
body.v2co-page .delivery-option-meta { margin: .15rem 0 0; font-size: .8rem; color: var(--v2-muted); }
body.v2co-page .delivery-option-price { grid-column: 3; grid-row: 1; justify-self: end; align-self: center; font-weight: 700; font-size: .95rem; color: var(--v2-ink); }

/* payment + trust (existing facts only: PayU, UPI / card / net banking, prepaid) */
body.v2co-page .v2co-trust { display: flex; align-items: center; gap: .45rem; margin: .2rem 0 .7rem; font-size: .86rem; font-weight: 600; color: var(--v2-ink); }
body.v2co-page .v2co-trust .v2co-lock { color: var(--v2-sage-deep); width: 16px; height: 16px; }
body.v2co-page .v2co-methods { display: flex; flex-wrap: wrap; gap: .45rem; list-style: none; margin: 0 0 .8rem; padding: 0; }
body.v2co-page .v2co-methods li { display: inline-flex; align-items: center; gap: .35rem; height: 30px; padding: 0 .7rem; border: 1px solid var(--v2-line); border-radius: 999px; font-size: .76rem; font-weight: 600; color: var(--v2-muted); background: #fff; }
body.v2co-page .v2co-methods svg { width: 14px; height: 14px; }
body.v2co-page .cart-note { margin: 0; padding: 0; background: none; border: 0; font-size: .8rem; line-height: 1.5; color: var(--v2-muted); }

/* order summary */
body.v2co-page .v2co-summary { margin: 0; padding: 0; background: none; border: 0; box-shadow: none; border-radius: 0; }
body.v2co-page .v2co-summary-toggle { display: none; }
body.v2co-page .v2co-summary-head { display: flex; align-items: baseline; justify-content: space-between; gap: .75rem; margin: 0 0 .8rem; }
body.v2co-page .v2co-summary-title { display: block; margin: 0; color: var(--v2-ink); font-family: var(--v2-serif); font-size: 1.1rem; font-weight: 600; letter-spacing: 0; text-transform: none; }
body.v2co-page .v2co-edit-cart { flex-shrink: 0; font-size: .82rem; font-weight: 600; color: var(--v2-accent, #8b5a2b); text-decoration: underline; text-underline-offset: 2px; }
body.v2co-page .v2co-lines { list-style: none; margin: 0 0 .6rem; padding: 0; display: grid; gap: .55rem; }
body.v2co-page .v2co-lines li { display: grid; grid-template-columns: 56px minmax(0, 1fr) auto; align-items: start; gap: .8rem; padding: 0; border: 0; font-size: .86rem; }
body.v2co-page .v2co-line-body { min-width: 0; }
body.v2co-page .v2co-line-price { padding-top: .15rem; }
body.v2co-page .checkout-line-edit { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem .55rem; margin-top: .25rem; }
body.v2co-page .v2co-line:has(.checkout-line-edit) .v2co-qty { display: none; }
body.v2co-page .checkout-line-edit .stepper { border-width: 1px; border-radius: 8px; border-color: var(--v2-line); background: #fff; }
body.v2co-page .checkout-line-edit .stepper button {
    width: 26px;
    min-width: 26px;
    height: 28px;
    padding: 0;
    font-size: .85rem;
    line-height: 1;
}
body.v2co-page .checkout-line-edit .stepper .stepper-value {
    width: 1.65rem;
    min-width: 1.65rem;
    height: 28px;
    border-inline-width: 1px;
    font-size: .78rem;
    font-weight: 600;
}
body.v2co-page .checkout-line-edit .link-quiet {
    font-size: .72rem;
    padding: 0;
    min-height: 28px;
    line-height: 28px;
}
body.v2co-page .v2co-thumb { position: relative; width: 56px; height: 56px; border-radius: 10px; background: var(--v2-cream); border: 1px solid var(--v2-line); }
body.v2co-page .v2co-thumb picture, body.v2co-page .v2co-thumb img, body.v2co-page .v2co-thumb svg { width: 100%; height: 100%; object-fit: cover; border-radius: 9px; display: block; }
body.v2co-page .v2co-qty { position: absolute; top: -7px; right: -7px; min-width: 20px; height: 20px; padding: 0 5px; border-radius: 999px; background: var(--v2-muted); color: #fff; font-size: .68rem; font-weight: 700; display: grid; place-items: center; }
body.v2co-page .v2co-line-name { font-weight: 600; color: var(--v2-ink); line-height: 1.3; }
body.v2co-page .v2co-line-name small { display: block; margin-top: .1rem; font-weight: 400; font-size: .76rem; color: var(--v2-muted); }
body.v2co-page .v2co-lines .num { font-weight: 600; }
body.v2co-page .checkout-ship-preview { margin: .4rem 0 .6rem; padding: .7rem .85rem; border-radius: 12px; background: var(--v2-cream); border: 0; box-shadow: none; font-size: .8rem; }
body.v2co-page .checkout-promo { margin: .6rem 0; padding: .9rem 0; border-top: 1px solid var(--v2-line); border-bottom: 1px solid var(--v2-line); }
body.v2co-page .checkout-promo-tabs { display: inline-grid; margin-bottom: .6rem; }
body.v2co-page .checkout-promo-tab { min-height: 32px; padding-inline: .9rem; font-size: .78rem; }
body.v2co-page .checkout-promo-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .5rem; }
body.v2co-page .checkout-promo-input { height: 48px; padding: 0 .9rem; border: 1px solid #e4dbcf; border-radius: 12px; background: #fff; font-size: 16px; }
body.v2co-page .checkout-promo-row .btn { min-height: 48px; border-radius: 12px !important; padding-inline: 1.1rem; }
body.v2co-page .v2co-summary .sum-row { display: flex; justify-content: space-between; padding: .3rem 0; font-size: .88rem; color: var(--v2-ink); }
body.v2co-page .v2co-summary .sum-row.is-muted { color: var(--v2-muted); }
body.v2co-page .v2co-summary .sum-row.is-total { margin-top: .5rem; padding-top: .8rem; border-top: 1px solid var(--v2-line); font-family: var(--v2-serif); font-size: 1.25rem; font-weight: 600; }
body.v2co-page .v2co-summary .sum-total-value { display: inline-flex; align-items: center; gap: .25rem; }
body.v2co-page .v2co-summary .sum-ship-hint { width: 1.05rem; height: 1.05rem; color: var(--v2-muted); }
body.v2co-page .v2co-back { display: flex; justify-content: center; align-items: center; min-height: 44px; margin-top: .4rem; font-size: .86rem; text-decoration: none; }

@media (max-width: 899px) {
    body.v2co-page .v2co-summary { margin: 0 calc(50% - 50vw) .4rem; padding: 0 calc(50vw - 50%); background: var(--v2-cream); border-top: 1px solid var(--v2-line); border-bottom: 1px solid var(--v2-line); }
    body.v2co-page .v2co-summary-toggle { display: flex; align-items: center; justify-content: space-between; gap: .75rem; width: 100%; min-height: 54px; padding: 0; border: 0; background: none; color: var(--v2-rose-deep); font: 600 .9rem var(--v2-sans); cursor: pointer; }
    body.v2co-page .v2co-summary-toggle-label { display: inline-flex; align-items: center; gap: .45rem; }
    body.v2co-page .v2co-summary-toggle-label svg { width: 18px; height: 18px; }
    body.v2co-page .v2co-chev { transition: transform .2s; width: 14px !important; height: 14px !important; }
    body.v2co-page .v2co-summary.is-open .v2co-chev { transform: rotate(180deg); }
    body.v2co-page .v2co-summary-toggle-total { font-family: var(--v2-serif); font-size: 1.12rem; font-weight: 600; color: var(--v2-ink); }
    body.v2co-page .v2co-summary-body { display: none; padding: .2rem 0 1rem; }
    body.v2co-page .v2co-summary.is-open .v2co-summary-body { display: block; }
    body.v2co-page .v2co-summary-title { display: none; }
    body.v2co-page .v2co-summary .checkout-inline-pay { display: none; }
}

@media (min-width: 640px) {
    body.v2co-page .checkout-grid { grid-template-columns: 1fr 1fr; }
    body.v2co-page .checkout-field-wide { grid-column: 1 / -1; }
}

@media (min-width: 900px) {
    body.v2co-page .v2co-top { padding-top: 1.4rem; }
    body.v2co-page .v2co-title .display-m { font-size: 2.3rem; }
    body.v2co-page .v2co-layout { grid-template-columns: minmax(0, 1fr) 400px; column-gap: 3.5rem; align-items: start; }
    body.v2co-page .v2co-main { grid-column: 1; grid-row: 1; }
    body.v2co-page .v2co-summary {
        grid-column: 2; grid-row: 1; position: sticky; top: calc(84px + 1.25rem);
        padding: 1.5rem; background: var(--v2-cream); border: 1px solid var(--v2-line); border-radius: 18px; box-shadow: none;
    }
    body.v2co-page .checkout-inline-pay { display: flex; margin-top: 1rem; }
}

/* mobile sticky pay bar */
@media (max-width: 899px) {
    body.v2.page-checkout .v2-bnav { display: none; }
    body.v2.page-checkout { padding-bottom: var(--v2-paybar-h, calc(9.5rem + env(safe-area-inset-bottom))); }
    body.v2-pg-checkout .checkout-paybar.v2-paybar {
        display: block; z-index: 460;
        padding: .75rem 1rem calc(.65rem + env(safe-area-inset-bottom));
        background: rgba(255,255,255,.97); backdrop-filter: saturate(1.4) blur(10px); -webkit-backdrop-filter: saturate(1.4) blur(10px);
        border-top: 1px solid var(--v2-line); box-shadow: 0 -8px 24px rgba(44,42,39,.07);
    }
    body.v2-pg-checkout .v2-paybar-row { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 1rem; }
    body.v2-pg-checkout .v2-paybar .checkout-paybar-total { display: flex; flex-direction: column; min-width: 0; line-height: 1.1; }
    body.v2-pg-checkout .v2-paybar .checkout-paybar-total small { font-size: .62rem; letter-spacing: .14em; text-transform: uppercase; color: var(--v2-muted); font-weight: 600; }
    body.v2-pg-checkout .v2-paybar .sum-total-value { display: inline-flex; align-items: center; gap: .25rem; white-space: nowrap; font-family: var(--v2-serif); font-size: 1.28rem; font-weight: 600; color: var(--v2-ink); }
    body.v2-pg-checkout .v2-paybar .sum-ship-hint { width: 1.05rem; height: 1.05rem; color: var(--v2-muted); }
    body.v2-pg-checkout .v2-paybar .v2-paybar-btn {
        width: 100%; min-width: 0; min-height: 52px; border-radius: 12px !important;
        --btn-bg: var(--v2-rose); --btn-bd: var(--v2-rose); --btn-fg: #fff;
        background: var(--v2-rose); border-color: var(--v2-rose); color: #fff;
        font-size: 1rem; font-weight: 700; letter-spacing: .01em; box-shadow: 0 6px 16px rgba(201,114,124,.28);
    }
    body.v2-pg-checkout .v2-paybar .v2-paybar-btn:disabled { background: var(--v2-blush); border-color: #ecc9cd; box-shadow: none; color: var(--v2-rose-deep); opacity: 1; cursor: not-allowed; }
    body.v2-pg-checkout .v2-paybar .checkout-policy-note { display: block; margin: .55rem 0 0; max-width: none; font-size: .66rem; line-height: 1.45; color: #7a7268; text-align: center; }
    body.v2-pg-checkout .v2-paybar .checkout-policy-note strong { font-weight: 600; color: var(--v2-muted); }
    body.v2-pg-checkout .v2-paybar .checkout-policy-note a { color: var(--v2-muted); font-weight: 500; text-decoration: underline; text-underline-offset: 2px; }
}

/* ================================================================ sign in / sign up / password (v2b) */
body.v2-pg-auth main { background: #fff; }
body.v2-pg-auth .crumbs { display: none; }
body.v2-pg-auth .account-page,
body.v2-pg-auth main > .wrap { max-width: 460px; padding-top: 2rem; padding-bottom: 3rem; }
body.v2-pg-auth main > div[style*="height"] { display: none; }
body.v2-pg-auth .page-head { margin: 0 0 1.4rem; padding: 0; background: none; border: 0; text-align: center; }
body.v2-pg-auth .page-head::before { content: "A"; content: "A" / ""; display: grid; place-items: center; width: 52px; height: 52px; margin: 0 auto .9rem; border-radius: 50%; background: var(--v2-blush); color: var(--v2-rose-deep); font-family: var(--v2-serif); font-size: 1.6rem; font-weight: 600; line-height: 1; box-shadow: inset 0 0 0 1px rgba(201,114,124,.18); }
body.v2-pg-auth .page-head .eyebrow { margin-top: 0; font-size: .58rem; letter-spacing: .42em; color: var(--v2-muted); }
body.v2-pg-auth .page-head .display-m { margin-top: .55rem; font-size: 1.75rem; }
body.v2-pg-auth .page-head .meta,
body.v2-pg-auth .page-head .account-lede { max-width: 34ch; margin: .5rem auto 0; font-size: .86rem; line-height: 1.5; }
body.v2-pg-auth .login-tabs { display: grid; grid-template-columns: 1fr 1fr; width: 100%; max-width: none; gap: 0; margin: 0 0 1.25rem; padding: 0; background: none; border: 0; border-bottom: 1px solid var(--v2-line); border-radius: 0; }
body.v2-pg-auth .login-tab { display: flex; align-items: center; justify-content: center; text-align: center; flex: none; width: auto; min-height: 44px; padding: 0 .2rem; margin-bottom: -1px; border: 0; border-bottom: 2px solid transparent; border-radius: 0; background: none; box-shadow: none; color: var(--v2-muted); font-size: .92rem; font-weight: 600; text-decoration: none; }
body.v2-pg-auth .login-tab.is-active { color: var(--v2-ink); border-bottom-color: var(--v2-rose); background: none; box-shadow: none; }
body.v2-pg-auth .account-card { margin: 0; padding: 0; background: none; border: 0; box-shadow: none; border-radius: 0; }
body.v2-pg-auth .account-card > .eyebrow:first-child { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
body.v2-pg-auth .signup-contact-toggle { margin-bottom: 1rem; }
body.v2-pg-auth .account-help { margin-top: 1.2rem; text-align: center; font-size: .84rem; color: var(--v2-muted); }
body.v2-pg-auth .account-help a { color: var(--v2-ink); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; text-decoration-color: #d6cbbd; }
body.v2-pg-auth .pincode-result { margin-top: .9rem; }
@media (min-width: 640px) {
    body.v2-pg-auth main { background: linear-gradient(180deg, var(--v2-cream) 0%, #fff 70%); }
    body.v2-pg-auth .account-page,
    body.v2-pg-auth main > .wrap { padding-top: 3.5rem; padding-bottom: 4.5rem; }
    body.v2-pg-auth .account-card { padding: 1.8rem 1.75rem; background: #fff; border: 1px solid var(--v2-line); border-radius: 20px; box-shadow: 0 1px 2px rgba(44,42,39,.04), 0 18px 48px -18px rgba(44,42,39,.18); }
}

/* ---------------------------------------------------------------- account (v2b) */
body.v2-pg-account main { background: linear-gradient(180deg, var(--v2-cream) 0, #fff 420px); }
body.v2-pg-account .v2acct { max-width: 1080px; padding-top: 1.5rem; padding-bottom: 3rem; }
/* greeting card */
body.v2-pg-account .v2acct-hello {
    display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 1rem;
    padding: 1.25rem; margin-bottom: 1.5rem; border-radius: 20px;
    background: linear-gradient(120deg, #fff 0%, var(--v2-blush-soft) 65%, var(--v2-blush) 100%);
    border: 1px solid var(--v2-line); box-shadow: 0 1px 2px rgba(44,42,39,.04), 0 14px 36px -22px rgba(44,42,39,.25);
}
body.v2-pg-account .v2acct-avatar { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; background: #fff; color: var(--v2-rose-deep); font-family: var(--v2-serif); font-size: 1.45rem; font-weight: 600; box-shadow: inset 0 0 0 1px rgba(201,114,124,.25); }
body.v2-pg-account .v2acct-hello-kicker { margin: 0; font-size: .7rem; letter-spacing: .14em; text-transform: uppercase; font-weight: 600; color: var(--v2-sage-deep); }
body.v2-pg-account .v2acct-hello-title { margin: .2rem 0 0; font-family: var(--v2-serif); font-weight: 600; font-size: clamp(1.5rem, 5vw, 2.1rem); line-height: 1.1; color: var(--v2-ink); overflow-wrap: anywhere; }
body.v2-pg-account .v2acct-logout { margin: 0; align-self: start; }
body.v2-pg-account .v2acct-logout-btn { min-height: 36px; padding: 0 .9rem; border-radius: 999px; border: 1px solid rgba(44,42,39,.14); background: rgba(255,255,255,.7); color: var(--v2-muted); font: 600 .78rem var(--v2-sans); cursor: pointer; }
body.v2-pg-account .v2acct-logout-btn:hover { color: var(--v2-ink); border-color: rgba(44,42,39,.3); background: #fff; }
body.v2-pg-account .account-verify-card { margin-bottom: 1.5rem; border-radius: 18px; padding: 1.25rem; }
/* nav: chips on phones, card list on desktop */
body.v2-pg-account .v2acct-layout { display: grid; gap: 1.5rem; grid-template-columns: minmax(0, 1fr); }
body.v2-pg-account .v2acct-nav { margin: 0 calc(50% - 50vw); padding: 0 calc(50vw - 50%); min-width: 0; }
body.v2-pg-account .v2acct-nav-list { display: flex; gap: .5rem; overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; list-style: none; margin: 0; padding: 2px 2px 4px; scroll-snap-type: x proximity; }
body.v2-pg-account .v2acct-nav-list::-webkit-scrollbar { display: none; }
body.v2-pg-account .v2acct-nav-list li { flex: none; scroll-snap-align: start; }
body.v2-pg-account .v2acct-nav-link { display: inline-flex; align-items: center; gap: .5rem; min-height: 42px; padding: 0 1rem; border-radius: 999px; border: 1px solid var(--v2-line); background: #fff; color: var(--v2-ink); font-size: .88rem; font-weight: 600; white-space: nowrap; text-decoration: none; box-shadow: none; }
body.v2-pg-account .v2acct-nav-link svg { width: 17px; height: 17px; color: var(--v2-muted); }
body.v2-pg-account .v2acct-nav-link.is-active { background: var(--v2-ink); border-color: var(--v2-ink); color: #fff; }
body.v2-pg-account .v2acct-nav-link.is-active svg { color: #fff; }
/* panels */
body.v2-pg-account .v2acct-main { min-width: 0; display: grid; gap: 1.5rem; }
body.v2-pg-account .v2acct-panel,
body.v2-pg-account .v2acct-main > .account-card {
    margin: 0; padding: 1.5rem 1.25rem; background: #fff; border: 1px solid var(--v2-line); border-radius: 20px;
    box-shadow: 0 1px 2px rgba(44,42,39,.04), 0 12px 32px -24px rgba(44,42,39,.25);
}
body.v2-pg-account .v2acct-main > .account-card > .eyebrow:first-child,
body.v2-pg-account .v2acct-main .account-section-head .eyebrow { font-family: var(--v2-serif); font-size: 1.25rem; font-weight: 600; letter-spacing: 0; text-transform: none; color: var(--v2-ink); margin: 0 0 .35rem; }
body.v2-pg-account .v2acct-main .account-lede { margin: 0 0 1.25rem; font-size: .86rem; color: var(--v2-muted); }
body.v2-pg-account .v2acct-main .account-section-head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1.25rem; }
body.v2-pg-account .v2acct-panel-head { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; margin-bottom: 1.25rem; }
body.v2-pg-account .v2acct-h { margin: 0; font-family: var(--v2-serif); font-size: 1.35rem; font-weight: 600; color: var(--v2-ink); }
body.v2-pg-account .v2acct-h3 { margin: 1.5rem 0 .75rem; font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; color: var(--v2-muted); font-weight: 700; }
body.v2-pg-account .v2acct-count { font-size: .82rem; color: var(--v2-muted); }
body.v2-pg-account .v2acct-lede { margin: -.5rem 0 1rem; font-size: .86rem; color: var(--v2-muted); }
body.v2-pg-account .v2acct-link { color: var(--v2-rose-deep); font-size: .84rem; font-weight: 600; text-decoration: none; }
body.v2-pg-account .v2acct-link:hover { text-decoration: underline; }
/* order cards */
body.v2-pg-account .v2acct-orders { list-style: none; margin: 0; padding: 0; display: grid; gap: 1rem; }
body.v2-pg-account .v2acct-order { padding: 1rem; border: 1px solid var(--v2-line); border-radius: 16px; background: #fff; transition: border-color .15s, box-shadow .15s; }
body.v2-pg-account .v2acct-order:hover { border-color: #e2d6c8; box-shadow: 0 8px 24px -18px rgba(44,42,39,.35); }
body.v2-pg-account .v2acct-order-top { display: grid; grid-template-columns: auto minmax(0, 1fr); grid-template-areas: "thumbs info" "sum sum"; gap: .75rem 1rem; align-items: center; }
body.v2-pg-account .v2acct-orders-compact .v2acct-order-top { grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "info sum"; }
body.v2-pg-account .v2acct-thumbs { grid-area: thumbs; display: flex; }
body.v2-pg-account .v2acct-thumb { position: relative; display: grid; place-items: center; width: 56px; height: 56px; border-radius: 12px; overflow: hidden; background: var(--v2-cream); border: 2px solid #fff; box-shadow: 0 0 0 1px var(--v2-line); color: var(--v2-muted); }
body.v2-pg-account .v2acct-thumb + .v2acct-thumb { margin-left: -18px; }
body.v2-pg-account .v2acct-thumb picture, body.v2-pg-account .v2acct-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
body.v2-pg-account .v2acct-thumb svg { width: 22px; height: 22px; }
body.v2-pg-account .v2acct-order-info { grid-area: info; min-width: 0; }
body.v2-pg-account .v2acct-order-ref { margin: 0; font-weight: 700; font-size: .95rem; color: var(--v2-ink); letter-spacing: .01em; }
body.v2-pg-account .v2acct-order-meta { margin: .2rem 0 0; font-size: .8rem; color: var(--v2-muted); line-height: 1.4; }
body.v2-pg-account .v2acct-order-names { margin-top: .1rem; display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; }
body.v2-pg-account .v2acct-order-sum { grid-area: sum; display: flex; align-items: center; justify-content: space-between; gap: .75rem; padding-top: .75rem; border-top: 1px dashed var(--v2-line); }
body.v2-pg-account .v2acct-orders-compact .v2acct-order-sum { padding-top: 0; border-top: 0; }
body.v2-pg-account .v2acct-order-total { margin: 0; font-family: var(--v2-serif); font-size: 1.2rem; font-weight: 600; color: var(--v2-ink); }
/* status pill: colour per status */
body.v2-pg-account .v2acct-pill { display: inline-flex; align-items: center; gap: .35rem; height: 26px; padding: 0 .7rem; border-radius: 999px; font-size: .68rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; background: #f1ede7; color: #6f6a63; border: 0; }
body.v2-pg-account .v2acct-pill::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
body.v2-pg-account .v2acct-pill.badge-warn { background: #fdf1dc; color: #9a6411; }
body.v2-pg-account .v2acct-pill.badge-info { background: #e6eef8; color: #2f5e8f; }
body.v2-pg-account .v2acct-pill.badge-purple { background: #efe9f7; color: #6a4a97; }
body.v2-pg-account .v2acct-pill.badge-success { background: var(--v2-sage-soft); color: var(--v2-sage-deep); }
body.v2-pg-account .v2acct-pill.badge-muted { background: #f1ede7; color: #8a837a; }
/* actions */
body.v2-pg-account .v2acct-actions { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1rem; }
body.v2-pg-account .v2acct-actions .v2acct-btn { flex: 1 1 40%; }
body.v2-pg-account .v2acct-actions .v2acct-btn.is-primary { flex-basis: 100%; }
body.v2-pg-account .v2acct-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 1rem; border-radius: 12px; border: 1px solid #e4dbcf; background: #fff; color: var(--v2-ink); font-size: .86rem; font-weight: 600; text-decoration: none; white-space: nowrap; }
body.v2-pg-account .v2acct-btn:hover { border-color: #cfc3b4; }
body.v2-pg-account .v2acct-btn.is-primary { grid-column: 1 / -1; background: var(--v2-rose); border-color: var(--v2-rose); color: #fff; }
body.v2-pg-account .v2acct-btn.is-primary:hover { background: var(--v2-rose-deep); border-color: var(--v2-rose-deep); }
body.v2-pg-account .v2acct-actions .v2acct-link { flex-basis: 100%; text-align: center; padding: .35rem 0; }
/* empty state */
body.v2-pg-account .v2acct-empty { display: grid; justify-items: center; text-align: center; gap: .5rem; padding: 2rem 1rem 1.5rem; }
body.v2-pg-account .v2acct-empty-icon { display: grid; place-items: center; width: 64px; height: 64px; border-radius: 50%; background: var(--v2-blush-soft); color: var(--v2-rose-deep); margin-bottom: .5rem; }
body.v2-pg-account .v2acct-empty-icon svg { width: 26px; height: 26px; }
body.v2-pg-account .v2acct-empty-title { margin: 0; font-family: var(--v2-serif); font-size: 1.2rem; font-weight: 600; color: var(--v2-ink); }
body.v2-pg-account .v2acct-empty-text { margin: 0 0 .75rem; max-width: 40ch; font-size: .86rem; color: var(--v2-muted); line-height: 1.5; }
body.v2-pg-account .v2acct-empty .v2acct-btn { min-width: 200px; }
body.v2-pg-account .v2acct-empty .v2acct-btn.is-primary { grid-column: auto; }
/* profile + addresses forms */
body.v2-pg-account .v2acct-main form .btn-block { margin-top: .5rem; }
body.v2-pg-account .account-field-check,
body.v2-pg-account .account-check { position: static; display: flex; flex-direction: row; align-items: center; gap: .65rem; margin: .25rem 0 1rem; padding: .75rem .9rem; border: 1px solid var(--v2-line); border-radius: 12px; background: var(--v2-cream); cursor: pointer; text-align: left; }
body.v2-pg-account .account-field-check > span:first-child,
body.v2-pg-account .account-field-check > span,
body.v2-pg-account .account-check > span { position: static; inset: auto; pointer-events: auto; font-size: .86rem; font-weight: 500; color: var(--v2-ink); white-space: normal; overflow: visible; letter-spacing: 0; text-transform: none; }
body.v2-pg-account .account-field-check input[type="checkbox"],
body.v2-pg-account .account-check input[type="checkbox"] { flex: none; width: 20px; height: 20px; min-height: 0; margin: 0; padding: 0; accent-color: var(--v2-rose); border-radius: 6px; box-shadow: none; }
body.v2-pg-account .account-field input:disabled { background: #f7f3ee; color: var(--v2-muted); }
body.v2-pg-account .account-field-row { display: grid; gap: 0 .75rem; grid-template-columns: minmax(0, 1fr); }
body.v2-pg-account .account-addresses { list-style: none; margin: 0; padding: 0; display: grid; gap: .75rem; }
body.v2-pg-account .account-address-item { display: flex; justify-content: space-between; gap: 1rem; padding: 1rem; border: 1px solid var(--v2-line); border-radius: 16px; background: #fff; }
body.v2-pg-account .account-address-item p { margin: .1rem 0; font-size: .86rem; color: var(--v2-ink); }
body.v2-pg-account .account-address-form { margin-bottom: 1.25rem; padding-bottom: 1.25rem; border-bottom: 1px solid var(--v2-line); }
body.v2-pg-account .account-empty { color: var(--v2-muted); font-size: .86rem; }
@media (min-width: 640px) {
    body.v2-pg-account .v2acct-hello { padding: 1.5rem 1.75rem; }
    body.v2-pg-account .v2acct-avatar { width: 60px; height: 60px; font-size: 1.6rem; }
    body.v2-pg-account .v2acct-order-top { grid-template-columns: auto minmax(0, 1fr) auto; grid-template-areas: "thumbs info sum"; }
    body.v2-pg-account .v2acct-orders-compact .v2acct-order-top { grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "info sum"; }
    body.v2-pg-account .v2acct-order-sum { flex-direction: column; align-items: flex-end; padding-top: 0; border-top: 0; }
    body.v2-pg-account .v2acct-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: center; padding-top: .9rem; border-top: 1px solid var(--v2-line); }
    body.v2-pg-account .v2acct-btn { min-height: 38px; }
    body.v2-pg-account .v2acct-actions .v2acct-btn, body.v2-pg-account .v2acct-actions .v2acct-btn.is-primary { flex: none; }
    body.v2-pg-account .v2acct-actions .v2acct-link { flex-basis: auto; text-align: left; }
    body.v2-pg-account .v2acct-btn.is-primary { order: 9; }
    body.v2-pg-account .v2acct-actions .v2acct-link { order: -1; margin-right: auto; }
    body.v2-pg-account .account-field-row { grid-template-columns: 1fr 1fr; }
}
@media (min-width: 900px) {
    body.v2-pg-account .v2acct { padding-top: 2.5rem; padding-bottom: 4rem; }
    body.v2-pg-account .v2acct-layout { grid-template-columns: 232px minmax(0, 1fr); gap: 2rem; align-items: start; }
    body.v2-pg-account .v2acct-nav { position: sticky; top: calc(84px + 1.25rem); margin: 0; padding: .5rem; background: #fff; border: 1px solid var(--v2-line); border-radius: 18px; }
    body.v2-pg-account .v2acct-nav-list { flex-direction: column; gap: 2px; overflow: visible; padding: 0; }
    body.v2-pg-account .v2acct-nav-link { width: 100%; min-height: 46px; border: 0; border-radius: 12px; padding: 0 .9rem; background: transparent; }
    body.v2-pg-account .v2acct-nav-link:hover { background: var(--v2-cream); }
    body.v2-pg-account .v2acct-nav-link.is-active { background: var(--v2-blush-soft); color: var(--v2-rose-deep); }
    body.v2-pg-account .v2acct-nav-link.is-active svg { color: var(--v2-rose-deep); }
    body.v2-pg-account .v2acct-panel,
    body.v2-pg-account .v2acct-main > .account-card { padding: 2rem; }
}

/* ---------------------------------------------------------------- v2 fix batch: cart, pay, shop */
body.v2-pg-pay .pay-ticket-row.is-discount span:last-child { color: var(--v2-sage-deep); }
body.v2-pg-pay .v2-pay-saved { margin-top: .5rem; font-size: .84rem; color: var(--v2-sage-deep); }
body.v2co-page .v2-pay-hint { margin: .45rem 0 0; font-size: .74rem; line-height: 1.35; color: var(--v2-muted); text-align: center; }
body.v2co-page .v2-pay-hint-inline { margin: 1rem 0 0; }
@media (max-width: 899px) { body.v2co-page .v2-pay-hint-inline { display: none !important; } }

/* ---------------------------------------------------------------- tracking + order pages */
body.v2-pg-track .track-lookup-form { max-width: 560px; }
body.v2-pg-track .track-lookup-alt a,
body.v2-pg-tracking .track-help a { color: var(--v2-rose-deep); font-weight: 600; }
body.v2-pg-tracking .track-step.is-done .track-step-dot,
body.v2-pg-tracking .track-step.is-current .track-step-dot { background: var(--v2-sage-deep); border-color: var(--v2-sage-deep); }
body.v2-pg-tracking .track-chip { border-radius: 999px; background: var(--v2-cream); border: 1px solid var(--v2-line); }
body.v2-pg-thankyou.is-cancelled .thankyou-hero,
body.v2-pg-thankyou .thankyou-page.is-cancelled .thankyou-hero {
    background: linear-gradient(165deg, var(--v2-blush-soft, #fbf1ef) 0%, #fff 60%);
}

body.v2-pg-thankyou .thankyou-hero,
body.v2-pg-pay .pay-mast { background: var(--v2-band); border-radius: 16px; }
body.v2-pg-thankyou .thankyou-ref-chip { border-radius: 999px; background: var(--v2-sage-soft); color: var(--v2-sage-deep); }
body.v2-pg-thankyou .thankyou-step.is-done .thankyou-step-dot,
body.v2-pg-thankyou .thankyou-status-step.is-done .thankyou-status-dot { background: var(--v2-sage-deep); }
body.v2-pg-pay .pay-ticket,
body.v2-pg-pay .pay-board { border-radius: 16px; border: 1px solid var(--v2-line); box-shadow: var(--v2-shadow); }

/* ---------------------------------------------------------------- policies, FAQ, About, Contact */
body.v2-pg-legal .legal-page { padding-bottom: 2.5rem; }
body.v2-pg-legal .legal-seller { border-color: var(--v2-line); border-radius: 14px; }
body.v2-pg-legal .legal-seller .legal-seller-card { padding: 0 1rem .5rem; background: none; border: 0; box-shadow: none; border-radius: 0; }
body.v2-pg-legal .legal-nav a { border-color: var(--v2-line); color: var(--v2-ink); }
body.v2-pg-legal .legal-nav a[aria-current="page"] { background: var(--v2-blush-soft); border-color: var(--v2-rose); color: var(--v2-rose-deep); }
@media (min-width: 960px) { body.v2-pg-legal .legal-nav a { border: 0; background: none; } body.v2-pg-legal .legal-nav a:hover, body.v2-pg-legal .legal-nav a[aria-current="page"] { background: var(--v2-blush-soft); color: var(--v2-rose-deep); } }
body.v2-pg-legal .legal-seller-card__eyebrow { color: var(--v2-sage-deep); font-weight: 600; letter-spacing: .14em; }
body.v2-pg-legal .legal-dl dt { color: var(--v2-muted); }
body.v2-pg-legal .compliance-policy-links { gap: .45rem; border: 0; padding: .25rem 0 .5rem; margin-bottom: 1.25rem; }
body.v2-pg-legal .compliance-policy-links a { display: inline-flex; align-items: center; min-height: 36px; padding: 0 .85rem; border-radius: 999px; background: var(--v2-cream); border: 1px solid var(--v2-line); color: var(--v2-ink); font-size: .8rem; text-decoration: none; }
body.v2-pg-legal .compliance-policy-links a:hover,
body.v2-pg-legal .compliance-policy-links a[aria-current="page"] { background: var(--v2-blush-soft); border-color: var(--v2-rose); color: var(--v2-rose-deep); }
body.v2-pg-legal .legal-article { max-width: 70ch; color: #3b3732; font-size: 1rem; line-height: 1.7; }
body.v2-pg-legal .legal-article h2 { font-family: var(--v2-serif); font-weight: 600; color: var(--v2-ink); font-size: 1.3rem; margin: 1.8rem 0 .6rem; padding-top: 1.2rem; border-top: 1px solid var(--v2-line); }
body.v2-pg-legal .legal-article h2:first-child { border-top: 0; padding-top: 0; margin-top: .5rem; }
body.v2-pg-legal .legal-article h3 { font-family: var(--v2-sans); font-weight: 700; color: var(--v2-ink); font-size: 1rem; margin: 1.2rem 0 .35rem; }
body.v2-pg-legal .legal-article a { color: var(--v2-rose-deep); }
body.v2-pg-legal .legal-article details { border: 1px solid var(--v2-line); border-radius: 12px; padding: .2rem 1rem; margin: .5rem 0; background: #fff; }
body.v2-pg-legal .legal-article .legal-use-case,
body.v2-pg-legal .legal-article aside { border-radius: 14px; background: var(--v2-cream); border: 1px solid var(--v2-line); }
body.v2-pg-legal .legal-nav { border: 0; gap: .45rem; }
body.v2-pg-legal .legal-nav a { color: var(--v2-ink); text-decoration: none; }
@media (min-width: 960px) { body.v2-pg-legal .legal-nav { gap: .1rem; } body.v2-pg-legal .legal-nav a { border-radius: 10px; } }
body.v2-pg-tracking .track-hero { text-align: center; }
body.v2-pg-tracking .track-hero .track-lede { margin-inline: auto; }

/* v2b: radio dot drawn by the thick rose border; drop the base sage inner dot */
body.v2co-page .delivery-option-radio::after { display: none !important; }
/* v2b: inline validation text (v2.js fills it from the browser's own constraint message) */
body.v2-pg .v2-inline-err, body.v2-pg .field-error { text-transform: none; letter-spacing: 0; font-weight: 500; }
body.v2-pg .v2-inline-err { display: block; margin: .35rem .2rem 0; color: #a3251c; font-size: .76rem; line-height: 1.35; }
body.v2-pg .v2-inline-err[hidden] { display: none; }

/* Accessibility pass: floating field labels and the auth eyebrow reach 12px on mobile. */
@media (max-width: 768px) {
    body.v2-pg .checkout-field > span:first-child,
    body.v2-pg .account-field > span:first-child { top: .4rem; font-size: 12px; }
    body.v2-pg-auth .page-head .eyebrow { font-size: 12px; letter-spacing: .3em; }
    body.v2co-page .v2co-steps,
    body.v2co-page .v2co-title .eyebrow,
    body.v2co-page .v2-pay-hint,
    body.v2-pg-checkout .v2-paybar .checkout-paybar-total small,
    body.v2-pg-checkout .v2-paybar .checkout-policy-note { font-size: 12px; }
}

/* Email addresses never break mid-word; on 401–520px legal cards the label column narrows so the address fits on one line
   (≤400px the rows already stack). */
body.v2-pg a[href^="mailto:"],
body.v2-pg-legal a[href^="tel:"],
body.v2-pg-legal a[href^="https://wa.me/"] { white-space: nowrap; overflow-wrap: normal; word-break: normal; }
@media (min-width: 401px) and (max-width: 520px) {
    body.v2-pg-legal .legal-dl div { grid-template-columns: 7.5rem minmax(0, 1fr); }
}

/* ---------------------------------------------------------------- 404 (v2 layout) */
body.v2-pg-404 .v2-404 { padding-block: 3.5rem 4rem; background: linear-gradient(180deg, var(--v2-blush-soft) 0%, #fff 70%); text-align: center; }
body.v2-pg-404 .v2-404-inner { max-width: 34rem; }
body.v2-pg-404 .v2-404-code { margin: 0; font-family: var(--v2-serif); font-weight: 600; font-size: clamp(4rem, 18vw, 6.5rem); line-height: 1; color: var(--v2-rose); letter-spacing: -.02em; }
body.v2-pg-404 .v2-404-title { margin: .6rem 0 0; font-family: var(--v2-serif); font-weight: 600; font-size: clamp(1.6rem, 6vw, 2.2rem); line-height: 1.15; color: var(--v2-ink); }
body.v2-pg-404 .v2-404-text { margin: .75rem auto 0; max-width: 40ch; color: var(--v2-muted); line-height: 1.55; }
body.v2-pg-404 .v2-404-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: .65rem; margin-top: 1.6rem; }
body.v2-pg-404 .v2-404-actions .v2-btn { min-height: 48px; }
body.v2-pg-404 .v2-404-actions svg { width: 1.05em; height: 1.05em; }
body.v2-pg-404 .v2-404-links { display: flex; justify-content: center; flex-wrap: wrap; gap: .25rem 1.2rem; margin-top: 1.6rem; }
body.v2-pg-404 .v2-404-links a { display: inline-flex; align-items: center; min-height: 32px; color: var(--v2-muted); text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 480px) { body.v2-pg-404 .v2-404-actions .v2-btn { width: 100%; justify-content: center; } }

/* ---- Contact page (v2) ---- */
body.v2-pg-contact .legal-article { max-width: none; }
body.v2-pg-contact .legal-article h2 { border-top: 0; padding-top: 0; }
.contact-layout { display: grid; gap: 1.75rem; align-items: start; }
@media (min-width: 960px) { .contact-layout { grid-template-columns: minmax(0, 1fr) 340px; gap: 2.25rem; } }
.contact-lede { margin: 0 0 1.25rem; max-width: 60ch; font-size: 1.02rem; line-height: 1.65; color: #4a4640; }
.contact-cards { display: grid; gap: .85rem; }
.contact-card {
    display: flex; align-items: center; gap: 1rem; padding: 1.05rem 1.15rem;
    background: #fff; border: 1px solid var(--v2-line); border-radius: 16px; text-decoration: none; color: var(--v2-ink);
    transition: border-color .15s, box-shadow .15s, transform .15s;
}
.contact-card:hover { border-color: var(--v2-rose); box-shadow: 0 10px 28px -18px rgba(44, 42, 39, .35); transform: translateY(-1px); }
.contact-card:focus-visible { outline: 3px solid var(--v2-sage); outline-offset: 2px; }
.contact-card__icon { flex: none; width: 46px; height: 46px; border-radius: 13px; display: grid; place-items: center; background: var(--v2-blush-soft); color: var(--v2-rose-deep); }
.contact-card__icon svg { width: 23px; height: 23px; }
.contact-card__body { display: grid; gap: .1rem; min-width: 0; flex: 1; }
.contact-card__label { font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--v2-muted); }
.contact-card__value { font-family: var(--v2-serif); font-size: 1.2rem; font-weight: 600; overflow-wrap: anywhere; }
.contact-card__hint { font-size: .85rem; color: var(--v2-muted); }
.contact-card__cta { flex: none; padding: .55rem 1rem; border-radius: 999px; background: var(--v2-rose); color: #fff; font-size: .85rem; font-weight: 700; }
.contact-card--primary { background: linear-gradient(135deg, var(--v2-sage-soft, #e6ece2), #fff 70%); border-color: #c9d6c4; }
.contact-card--primary .contact-card__icon { background: var(--v2-sage-deep); color: #fff; }
.contact-card--primary:hover .contact-card__cta { background: var(--v2-rose-deep); }
.contact-tip { margin: 1.1rem 0 0; padding: .8rem 1rem; border-radius: 12px; background: var(--v2-cream); border: 1px dashed var(--v2-line); font-size: .9rem; color: #5a554e; }
.contact-h2 { margin: 2rem 0 .8rem; font-family: var(--v2-serif); font-size: 1.3rem; font-weight: 600; }
.contact-links { list-style: none; margin: 0; padding: 0; display: grid; gap: .6rem; }
@media (min-width: 640px) { .contact-links { grid-template-columns: repeat(3, 1fr); } }
.contact-links a { display: grid; gap: .2rem; height: 100%; padding: .9rem 1rem; border: 1px solid var(--v2-line); border-radius: 14px; background: #fff; text-decoration: none; color: var(--v2-ink); }
.contact-links a:hover { border-color: var(--v2-rose); background: var(--v2-blush-soft); }
.contact-links strong { font-size: .95rem; }
.contact-links span { font-size: .82rem; color: var(--v2-muted); line-height: 1.4; }
.contact-seller { padding: 1.25rem 1.3rem; background: #fff; border: 1px solid var(--v2-line); border-radius: 16px; }
@media (min-width: 960px) { .contact-seller { position: sticky; top: calc(var(--v2-header-h, 84px) + 1rem); } }
.contact-seller__title { margin: 0 0 .85rem; font-family: var(--v2-serif); font-size: 1.15rem; font-weight: 600; }
.contact-seller__dl { margin: 0; display: grid; }
.contact-seller__dl > div { padding: .65rem 0; border-top: 1px solid var(--v2-line); display: grid; gap: .15rem; }
.contact-seller__dl > div:first-child { border-top: 0; padding-top: 0; }
.contact-seller__dl dt { font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--v2-muted); }
.contact-seller__dl dd { margin: 0; font-size: .92rem; color: var(--v2-ink); overflow-wrap: anywhere; }
.contact-seller__note { margin: .9rem 0 0; padding-top: .85rem; border-top: 1px solid var(--v2-line); font-size: .85rem; color: var(--v2-muted); }
.contact-seller__note a { color: var(--v2-rose-deep); }
body.v2-pg-contact .legal-article .contact-links { padding: 0; margin: 0; }
body.v2-pg-contact .legal-article .contact-links li { margin: 0; }
@media (min-width: 960px) {
    body.v2-pg-legal .legal-layout--wide .legal-nav a { border: 1px solid var(--v2-line); border-radius: 999px; background: none; }
    body.v2-pg-legal .legal-layout--wide .legal-nav a:hover,
    body.v2-pg-legal .legal-layout--wide .legal-nav a[aria-current="page"] { background: var(--v2-blush-soft); border-color: var(--v2-rose); color: var(--v2-rose-deep); }
}
