/* ============================================================
   FastBuy — storefront page-specific styles (Light mode)
   ============================================================ */

.header__nav { gap: clamp(1rem, 1.8vw, 1.75rem); white-space: nowrap; }
.header__link { white-space: nowrap; }

/* ---------- Hero — centered text + image row ---------- */
.hero {
    padding: calc(var(--header-total) + var(--sp-8)) 0 var(--sp-8);
    background: var(--base);
}
.hero__inner {
    text-align: center;
    max-width: 760px;
    margin: 0 auto;
}
.hero__eyebrow {
    margin-bottom: var(--sp-5);
}
.hero__eyebrow .status-dot { background: var(--accent); }
.hero__title {
    font-family: var(--font-title);
    font-size: clamp(var(--fs-2xl), 5.5vw, var(--fs-4xl));
    font-weight: var(--w-bold);
    line-height: 1.05;
    letter-spacing: -0.03em;
    color: var(--text);
    margin-bottom: var(--sp-4);
    max-width: 18ch;
    margin-left: auto;
    margin-right: auto;
}
.hero__sub {
    font-size: var(--fs-md);
    color: var(--text-secondary);
    line-height: 1.55;
    max-width: 52ch;
    margin: 0 auto var(--sp-6);
}
.hero__ctas {
    display: flex;
    gap: var(--sp-3);
    justify-content: center;
    flex-wrap: wrap;
}

/* Product image row — 4 equal tiles */
.hero__images {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--sp-3);
    margin-top: var(--sp-8);
}
.hero__image-tile {
    display: block;
    overflow: hidden;
    border-radius: var(--r-comfortable);
    aspect-ratio: 3 / 4;
    background: var(--surface);
    transition: transform var(--dur-spring) var(--ease-spring), box-shadow var(--dur-spring) var(--ease-spring);
}
.hero__image-tile:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-heavy);
}
.hero__image-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s var(--ease-out);
}
.hero__image-tile:hover .hero__image-img { transform: scale(1.05); }

/* Trust bar */
.hero__trust-bar {
    display: flex;
    gap: var(--sp-8);
    justify-content: center;
    margin-top: var(--sp-8);
    flex-wrap: wrap;
}
.hero__trust-item {
    display: flex;
    align-items: center;
    gap: var(--sp-2);
    font-size: var(--fs-sm);
    color: var(--text-secondary);
    font-weight: var(--w-medium);
}
.hero__trust-item .ti { color: var(--accent); font-size: 16px; }

/* GSAP initial states (prevents flash before JS loads) */
.hero[data-gsap-init] [data-hero-eyebrow],
.hero[data-gsap-init] [data-hero-title],
.hero[data-gsap-init] [data-hero-sub],
.hero[data-gsap-init] [data-hero-ctas],
.hero[data-gsap-init] [data-hero-images],
.hero[data-gsap-init] [data-hero-trust] { opacity: 0; }

@media (max-width: 880px) {
    .hero__images { grid-template-columns: repeat(2, 1fr); }
    .hero__title { font-size: clamp(var(--fs-xl), 7vw, var(--fs-3xl)); }
}

@media (max-width: 520px) {
    .hero__images { grid-template-columns: repeat(2, 1fr); gap: var(--sp-2); }
    .hero__trust-bar { gap: var(--sp-4); }
    .hero__ctas { flex-direction: column; align-items: center; }
    .hero__ctas .btn { width: 100%; max-width: 280px; }
}

/* Hero product strip — visible immediately below the fold */
.hero-products {
    padding: var(--sp-8) 0 var(--sp-12);
    background: var(--base);
}
.hero-products__head {
    display: flex; justify-content: space-between; align-items: baseline;
    margin-bottom: var(--sp-5);
}
.hero-products__head .eyebrow { color: var(--accent); }
.hero-products__head .h2 { font-size: var(--fs-xl); }

/* ---------- Section heads ---------- */
.section__head {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: var(--sp-4);
    margin-bottom: var(--sp-8);
}
.section__head .eyebrow { margin-bottom: var(--sp-2); }
.section__head .h2 { font-size: var(--fs-xl); }

/* ---------- Category tiles ---------- */
.cats {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: var(--sp-4);
}
.cat-tile {
    position: relative;
    aspect-ratio: 4/5;
    border-radius: var(--r-comfortable);
    overflow: hidden;
    background: var(--surface);
    display: block;
    border: 1px solid var(--border);
    transition: transform var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);
}
.cat-tile:hover { transform: translateY(-2px); box-shadow: var(--shadow-medium); }
.cat-tile img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.4s var(--ease-out); }
.cat-tile:hover img { transform: scale(1.05); }
.cat-tile__label {
    position: absolute;
    bottom: 0; left: 0; right: 0;
    padding: var(--sp-4);
    background: linear-gradient(180deg, transparent, rgba(0, 0, 0, 0.7));
    color: #fff;
}
.cat-tile__label .name { font-size: var(--fs-md); font-weight: var(--w-bold); }
.cat-tile__label .count { font-size: var(--fs-sm); color: rgba(255, 255, 255, 0.8); }

/* ---------- Product grid ---------- */
.products-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: var(--sp-4);
}
.card__top { position: relative; }
.card__media { aspect-ratio: 1/1; }
.card__body { padding: var(--sp-3); gap: 4px; }
.card__cat { font-size: var(--fs-sm); }
.card__name { min-height: 2.6em; }
.card__quickadd .btn { width: 100%; padding: 8px 12px; font-size: var(--fs-sm); }

/* Wishlist heart button on cards */
.card__wishlist {
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 2;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border: none;
    background: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    color: var(--text);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all var(--dur-fast) var(--ease);
    opacity: 0;
    transform: scale(0.85);
}
.card:hover .card__wishlist { opacity: 1; transform: scale(1); }
.card__wishlist:hover { background: #fff; color: var(--text); border-color: var(--border); transform: scale(1.08); box-shadow: 0 2px 12px rgba(0,0,0,0.12); }
.card__wishlist:active { transform: scale(0.95); }
.card__wishlist .heart-icon { width: 18px; height: 18px; transition: fill var(--dur-fast) var(--ease), stroke var(--dur-fast) var(--ease); }
.card__wishlist.is-wishlisted { opacity: 1; transform: scale(1); background: #fff; }
.card__wishlist.is-wishlisted .heart-icon { fill: #ef4444; stroke: #ef4444; }
.card__wishlist.is-wishlisted:hover { color: #ef4444; }
.card__wishlist.is-wishlisted:hover .heart-icon { fill: #dc2626; stroke: #dc2626; }
@media (hover: none) {
    .card__wishlist { opacity: 1; transform: scale(1); }
}

/* Wishlist button on product detail page */
.product__wishlist { flex: 0 0 auto; display: inline-flex; align-items: center; gap: var(--sp-2); }
.product__wishlist .heart-icon { width: 20px; height: 20px; transition: fill var(--dur-fast) var(--ease), stroke var(--dur-fast) var(--ease); }
.product__wishlist.is-wishlisted { color: #ef4444; border-color: #ef4444; }
.product__wishlist.is-wishlisted .heart-icon { fill: #ef4444; stroke: #ef4444; }
.product__wishlist.is-wishlisted:hover { background: rgba(239, 68, 68, 0.06); }
.product__wishlist-label { font-weight: var(--w-semibold); }

/* ---------- Feature grid ---------- */
.feature-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: var(--sp-4);
}
.feature-card {
    background: var(--surface);
    border-radius: var(--r-comfortable);
    padding: var(--sp-6);
    border: 1px solid var(--border);
    transition: border-color var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease);
}
.feature-card:hover { border-color: var(--border-strong); transform: translateY(-2px); }
.feature-card__icon {
    width: 48px; height: 48px;
    background: var(--accent-soft);
    border-radius: var(--r-circle);
    display: flex; align-items: center; justify-content: center;
    color: var(--accent);
    margin-bottom: var(--sp-4);
}
.feature-card h3 { font-size: var(--fs-md); font-weight: var(--w-bold); margin-bottom: var(--sp-2); color: var(--text); }
.feature-card p { font-size: var(--fs-base); color: var(--text-secondary); line-height: 1.5; }

/* ---------- Editorial split ---------- */
.split {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--sp-8);
    align-items: center;
}
.split__media { border-radius: var(--r-comfortable); overflow: hidden; aspect-ratio: 4/3; background: var(--surface); }
.split__media img { width: 100%; height: 100%; object-fit: cover; }
.split__content { max-width: 480px; }
.split__content .eyebrow { margin-bottom: var(--sp-3); }
.split__content .h2 { margin-bottom: var(--sp-4); }
.split__content .lead { margin-bottom: var(--sp-5); }

/* ---------- Newsletter CTA card ---------- */
.spotlight-card {
    position: relative;
    background: var(--text);
    color: var(--base);
    border-radius: var(--r-medium);
    padding: var(--sp-12);
    text-align: center;
    overflow: hidden;
}
.spotlight-card__badge { margin-bottom: var(--sp-4); background: rgba(255, 255, 255, 0.1); border-color: rgba(255, 255, 255, 0.2); color: var(--base); }
.spotlight-card h3 { font-size: var(--fs-xl); font-weight: var(--w-bold); margin-bottom: var(--sp-3); color: var(--base); }
.spotlight-card p { color: rgba(255, 255, 255, 0.7); margin-bottom: var(--sp-6); max-width: 44ch; margin-left: auto; margin-right: auto; }
.spotlight-card__form { display: flex; gap: var(--sp-2); max-width: 440px; margin: 0 auto; }
.spotlight-card__form input {
    flex: 1;
    padding: 12px 18px;
    background: rgba(255, 255, 255, 0.1);
    color: var(--base);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: var(--r-pill);
    font-size: var(--fs-base);
}
.spotlight-card__form input::placeholder { color: rgba(255, 255, 255, 0.5); }
.spotlight-card__form input:focus { outline: none; border-color: var(--accent); background: rgba(255, 255, 255, 0.15); }

/* ---------- CTA band ---------- */
.cta-band {
    background: var(--surface);
    padding: var(--sp-16) 0;
    text-align: center;
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
}
.cta-band h2 { font-size: var(--fs-2xl); font-weight: var(--w-bold); margin-bottom: var(--sp-3); color: var(--text); }
.cta-band p { color: var(--text-secondary); margin-bottom: var(--sp-6); }

/* ---------- Footer ---------- */
.footer { background: var(--base); padding: var(--sp-16) 0 var(--sp-8); border-top: 1px solid var(--border); }
.footer__grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr 1fr; gap: var(--sp-8); margin-bottom: var(--sp-12); }
.footer__brand-name { font-family: var(--font-title); font-size: var(--fs-xl); font-weight: var(--w-bold); color: var(--text); margin-bottom: var(--sp-3); }
.footer__brand-name span { color: var(--accent); }
.footer__tagline { color: var(--text-secondary); font-size: var(--fs-base); max-width: 32ch; margin-bottom: var(--sp-5); }
.footer__col h4 { font-size: var(--fs-sm); text-transform: uppercase; letter-spacing: 0.1em; color: var(--text-secondary); font-weight: var(--w-bold); margin-bottom: var(--sp-4); }
.footer__col ul { display: flex; flex-direction: column; gap: var(--sp-2); }
.footer__col a { color: var(--text-secondary); font-size: var(--fs-base); transition: color var(--dur-fast) var(--ease); }
.footer__col a:hover { color: var(--accent); }
.footer__news { display: flex; gap: var(--sp-2); margin-top: var(--sp-3); }
.footer__news input {
    flex: 1;
    padding: 10px 14px;
    background: var(--surface);
    color: var(--text);
    border: 1px solid var(--border-strong);
    border-radius: var(--r-pill);
    font-size: var(--fs-base);
}
.footer__news input:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-soft); }
.footer__bottom { display: flex; justify-content: space-between; align-items: center; padding-top: var(--sp-6); border-top: 1px solid var(--border); font-size: var(--fs-sm); color: var(--text-secondary); flex-wrap: wrap; gap: var(--sp-3); }
.footer__bottom a:hover { color: var(--text); }

/* ---------- Shop hero + toolbar ---------- */
.shop-hero { padding: calc(var(--header-total) + var(--sp-8)) 0 var(--sp-6); }
.shop-hero .display { margin-bottom: var(--sp-2); }
.shop-hero .lead { color: var(--text-secondary); }

.shop-toolbar {
    position: sticky; top: var(--header-total); z-index: 50;
    background: rgba(255, 255, 255, 0.92);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    border-bottom: 1px solid var(--border);
    padding: var(--sp-3) 0;
}
.shop-toolbar__inner { display: flex; justify-content: space-between; align-items: center; gap: var(--sp-4); flex-wrap: wrap; }
.cats-filter { display: flex; gap: var(--sp-2); overflow-x: auto; padding-bottom: 2px; }
.cats-filter a {
    padding: 6px 14px;
    background: var(--surface-2);
    color: var(--text);
    border-radius: var(--r-pill);
    font-size: var(--fs-sm);
    font-weight: var(--w-semibold);
    white-space: nowrap;
    border: 1px solid var(--border);
    transition: background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease);
}
.cats-filter a:hover { background: var(--surface-3); border-color: var(--border-strong); }
.cats-filter a.is-active { background: var(--text); color: var(--base); border-color: var(--text); }
.shop-toolbar__sort { display: flex; align-items: center; gap: var(--sp-2); }
.shop-toolbar__sort select {
    padding: 6px 28px 6px 12px;
    background: var(--base);
    color: var(--text);
    border: 1px solid var(--border-strong);
    border-radius: var(--r-pill);
    box-shadow: none;
    font-size: var(--fs-sm);
    font-weight: var(--w-semibold);
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%236b6b6b' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 10px center;
}

/* ---------- Page wrapper ---------- */
.page { padding: calc(var(--header-total) + var(--sp-8)) 0 var(--sp-16); }
.page--tight { padding: calc(var(--header-total) + var(--sp-6)) 0 var(--sp-12); }
.page .display { margin-bottom: var(--sp-2); }
.page .lead { margin-bottom: var(--sp-6); }
.page .h1 { margin-bottom: var(--sp-2); }
.page .crumb { margin-bottom: var(--sp-5); }

/* ---------- Cart ---------- */
.cart-layout { display: grid; grid-template-columns: 1fr 360px; gap: var(--sp-8); align-items: start; margin-top: var(--sp-6); }
.cart-items { display: flex; flex-direction: column; }
.cart-row { display: grid; grid-template-columns: 96px 1fr auto auto; gap: var(--sp-4); padding: var(--sp-4) 0; border-bottom: 1px solid var(--border); align-items: center; }
.cart-row .cart-thumb { aspect-ratio: 3/4; overflow: hidden; background: var(--surface); border-radius: var(--r-subtle); border: 1px solid var(--border); }
.cart-row .cart-thumb img { width: 100%; height: 100%; object-fit: cover; }
.cart-row .cart-name { font-weight: var(--w-semibold); color: var(--text); display: block; }
.cart-row .cart-name:hover { text-decoration: underline; color: var(--accent); }
.cart-row .cart-variant { font-size: var(--fs-sm); color: var(--text-secondary); margin-top: 2px; }
.cart-row .cart-remove { font-size: var(--fs-sm); color: var(--text-secondary); text-decoration: underline; margin-top: var(--sp-2); display: inline-block; background: transparent; border: none; padding: 0; cursor: pointer; }
.cart-row .cart-remove:hover { color: var(--negative); }
.cart-row .cart-total { font-size: var(--fs-md); font-weight: var(--w-bold); color: var(--text); }
.cart-summary { position: sticky; top: calc(var(--header-total) + var(--sp-4)); padding: var(--sp-6); background: var(--surface); border-radius: var(--r-comfortable); border: 1px solid var(--border); }
.cart-summary h2 { font-size: var(--fs-lg); font-weight: var(--w-bold); margin-bottom: var(--sp-4); }
.cart-summary .row { display: flex; justify-content: space-between; padding: var(--sp-1) 0; color: var(--text-secondary); font-size: var(--fs-base); }
.cart-summary .row-total { border-top: 1px solid var(--border-strong); margin: var(--sp-3) 0 0; padding-top: var(--sp-3); display: flex; justify-content: space-between; font-size: var(--fs-lg); color: var(--text); font-weight: var(--w-bold); }
.cart-summary .btn { margin-top: var(--sp-4); }
.cart-summary .link { margin-top: var(--sp-3); display: inline-flex; }
.cart-empty { padding: var(--sp-12); text-align: center; }
.cart-empty p { color: var(--text-secondary); margin-bottom: var(--sp-5); font-size: var(--fs-md); }

/* ---------- Checkout ---------- */
.checkout-layout { display: grid; grid-template-columns: 1fr 380px; gap: var(--sp-8); align-items: start; margin-top: var(--sp-6); }
.checkout-fields fieldset { border: none; margin-bottom: var(--sp-8); }
.checkout-fields legend { font-size: var(--fs-lg); font-weight: var(--w-bold); color: var(--text); margin-bottom: var(--sp-4); padding: 0; }
.checkout-fields .grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: var(--sp-4); }
.checkout-fields .grid-3 { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: var(--sp-4); }
.checkout-errors { background: #fef2f2; border: 1px solid var(--negative); border-radius: var(--r-comfortable); padding: var(--sp-4); margin-bottom: var(--sp-6); }
.checkout-errors .small { color: var(--negative); font-weight: var(--w-bold); }
.addr-pick { border: 1px solid var(--border-strong); background: var(--base); padding: var(--sp-4); cursor: pointer; border-radius: var(--r-comfortable); display: flex; gap: var(--sp-2); align-items: flex-start; color: var(--text-secondary); margin-bottom: var(--sp-2); font-size: var(--fs-base); }
.addr-pick:hover { border-color: var(--accent); }
.addr-pick strong { color: var(--text); }
.payment-opt { display: flex; gap: var(--sp-3); align-items: center; padding: var(--sp-4); background: var(--base); border: 1px solid var(--border-strong); margin-bottom: var(--sp-2); cursor: pointer; border-radius: var(--r-comfortable); color: var(--text-secondary); font-size: var(--fs-base); }
.payment-opt:hover { border-color: var(--accent); }
.payment-opt strong { color: var(--text); }
.checkout-summary { position: sticky; top: calc(var(--header-total) + var(--sp-4)); padding: var(--sp-6); background: var(--surface); border-radius: var(--r-comfortable); border: 1px solid var(--border); }
.checkout-summary h2 { font-size: var(--fs-lg); font-weight: var(--w-bold); margin-bottom: var(--sp-4); }
.checkout-summary .item { display: flex; gap: var(--sp-3); padding: var(--sp-2) 0; }
.checkout-summary .item img { width: 48px; height: 48px; object-fit: cover; border-radius: var(--r-subtle); border: 1px solid var(--border); }
.checkout-summary .item .name { font-size: var(--fs-sm); font-weight: var(--w-semibold); color: var(--text); }
.checkout-summary .item .meta { font-size: var(--fs-sm); color: var(--text-secondary); }
.checkout-summary .coupon-row { display: flex; gap: var(--sp-2); margin: var(--sp-4) 0; }
.checkout-summary .coupon-row input { flex: 1; }
.checkout-summary .row { display: flex; justify-content: space-between; padding: var(--sp-1) 0; color: var(--text-secondary); font-size: var(--fs-sm); }
.checkout-summary .row-total { border-top: 1px solid var(--border-strong); margin: var(--sp-3) 0 0; padding-top: var(--sp-3); display: flex; justify-content: space-between; font-size: var(--fs-lg); color: var(--text); font-weight: var(--w-bold); }
.checkout-summary .btn { margin-top: var(--sp-4); }

/* ---------- Product detail ---------- */
.product { padding: var(--sp-6) 0 var(--sp-16); }
.product__grid { display: grid; grid-template-columns: 1.2fr 1fr; gap: var(--sp-8); align-items: start; }
.product__gallery { display: flex; flex-direction: column; gap: var(--sp-3); }
.product__hero { aspect-ratio: 4/5; overflow: hidden; background: var(--surface); border-radius: var(--r-comfortable); border: 1px solid var(--border); }
.product__hero img { width: 100%; height: 100%; object-fit: cover; }
.product__thumbs { display: grid; grid-template-columns: repeat(5, 1fr); gap: var(--sp-2); }
.product__thumbs .thumb { aspect-ratio: 1; overflow: hidden; border: 2px solid transparent; border-radius: var(--r-subtle); padding: 0; cursor: pointer; background: var(--surface); transition: border-color var(--dur-fast) var(--ease); }
.product__thumbs .thumb img { width: 100%; height: 100%; object-fit: cover; }
.product__thumbs .thumb.is-active { border-color: var(--accent); }
.product__thumbs .thumb:hover { border-color: var(--border-strong); }
.product__info { position: sticky; top: calc(var(--header-total) + var(--sp-4)); }
.product__info .eyebrow { margin-bottom: var(--sp-2); }
.product__info .h1 { margin-bottom: var(--sp-3); }
.product__price { display: flex; gap: var(--sp-3); align-items: baseline; margin: var(--sp-4) 0; }
.product__price .price-now { font-size: var(--fs-xl); color: var(--text); font-weight: var(--w-bold); }
.product__price .price-was { color: var(--text-secondary); text-decoration: line-through; font-size: var(--fs-md); }
.product__rating { display: flex; gap: var(--sp-2); align-items: center; margin-bottom: var(--sp-5); }
.product__desc { color: var(--text-secondary); line-height: 1.6; margin-bottom: var(--sp-6); font-size: var(--fs-base); }
.variant-options { display: flex; gap: var(--sp-2); flex-wrap: wrap; }
.variant-opt { padding: 8px 14px; background: var(--base); color: var(--text); border: 1px solid var(--border-strong); border-radius: var(--r-pill); cursor: pointer; min-width: 48px; font-size: var(--fs-base); font-weight: var(--w-semibold); transition: all var(--dur-fast) var(--ease); }
.variant-opt:hover { border-color: var(--text); }
.variant-opt.is-selected { background: var(--text); color: var(--base); border-color: var(--text); }
.variant-opt__swatch { display: inline-block; width: 20px; height: 20px; border-radius: 50%; border: 1px solid var(--border-strong); vertical-align: middle; }
.variant-opt.is-selected .variant-opt__swatch { border-color: var(--base); }
.qty { display: inline-flex; align-items: center; align-self: flex-start; width: auto; background: var(--base); border: 1px solid var(--border-strong); border-radius: var(--r-pill); overflow: hidden; }
.qty button { width: 40px; height: 40px; background: transparent; color: var(--text); font-size: var(--fs-md); font-weight: var(--w-bold); border: none; cursor: pointer; }
.qty button:hover { color: var(--accent); }
.qty input { width: 48px; height: 40px; text-align: center; border: none; background: transparent; color: var(--text); font-weight: var(--w-bold); }
.qty input::-webkit-outer-spin-button, .qty input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.qty input[type=number] { -moz-appearance: textfield; }
.product__actions { display: flex; gap: var(--sp-3); margin-top: var(--sp-5); }
.product__actions .btn--lg { flex: 1; }
.product__details { margin-top: var(--sp-8); border-top: 1px solid var(--border); padding-top: var(--sp-4); }
.product__details details { border-bottom: 1px solid var(--border); }
.product__details summary { padding: var(--sp-4) 0; font-weight: var(--w-semibold); color: var(--text); display: flex; justify-content: space-between; align-items: center; cursor: pointer; font-size: var(--fs-md); }
.product__details summary span:last-child { color: var(--text-secondary); font-size: var(--fs-lg); }
.product__details .body { padding: var(--sp-2) 0 var(--sp-4); color: var(--text-secondary); font-size: var(--fs-base); line-height: 1.6; }
.reviews-list { display: flex; flex-direction: column; gap: var(--sp-4); }
.review { padding: var(--sp-5); background: var(--surface); border-radius: var(--r-comfortable); border: 1px solid var(--border); }
.review h4 { font-weight: var(--w-bold); margin-bottom: var(--sp-1); color: var(--text); font-size: var(--fs-md); }
.review .stars { color: var(--accent); margin-bottom: var(--sp-2); }
.review p { color: var(--text-secondary); font-size: var(--fs-base); line-height: 1.5; margin-top: var(--sp-2); }

/* ---------- Account ---------- */
.stat-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--sp-4); margin: var(--sp-6) 0 var(--sp-8); }
.stat-card { padding: var(--sp-6); background: var(--surface); border-radius: var(--r-comfortable); border: 1px solid var(--border); }
.stat-card .eyebrow { margin-bottom: var(--sp-2); }
.stat-card .stat-value { font-size: var(--fs-2xl); font-weight: var(--w-bold); color: var(--text); }
.order-list { display: flex; flex-direction: column; gap: var(--sp-2); margin-top: var(--sp-4); }
.order-row { display: flex; justify-content: space-between; align-items: center; padding: var(--sp-4); background: var(--base); border: 1px solid var(--border); border-radius: var(--r-comfortable); transition: border-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease); }
.order-row:hover { border-color: var(--border-strong); box-shadow: var(--shadow-subtle); }
.order-row strong { color: var(--text); font-weight: var(--w-bold); }
.order-row .meta { font-size: var(--fs-sm); color: var(--text-secondary); margin-top: 2px; }
.order-row .total { color: var(--text); font-weight: var(--w-bold); font-size: var(--fs-md); }
.order-row .status { font-size: var(--fs-sm); color: var(--text-secondary); margin-right: var(--sp-4); }

.account-split { display: grid; grid-template-columns: 1fr 1fr; gap: var(--sp-8); margin-top: var(--sp-6); align-items: start; }
.account-card { background: var(--surface); border-radius: var(--r-comfortable); padding: var(--sp-6); margin-bottom: var(--sp-4); border: 1px solid var(--border); }
.account-card h3 { font-size: var(--fs-md); font-weight: var(--w-bold); margin-bottom: var(--sp-3); color: var(--text); }
.account-card .default-badge { display: inline-block; background: var(--accent); color: #fff; font-size: var(--fs-xs); text-transform: uppercase; letter-spacing: 0.08em; padding: 2px 8px; font-weight: var(--w-bold); border-radius: var(--r-minimal); margin-bottom: var(--sp-2); }
.account-card p { color: var(--text-secondary); font-size: var(--fs-base); line-height: 1.5; }
.account-card .link { margin-top: var(--sp-3); display: inline-flex; }

/* ---------- Account layout (sidebar + main) ---------- */
.account-layout { display: grid; grid-template-columns: 240px 1fr; gap: var(--sp-8); margin-top: var(--sp-6); align-items: start; }
.account-main { min-width: 0; }
.account-nav { position: sticky; top: calc(var(--header-total) + var(--sp-4)); display: flex; flex-direction: column; gap: var(--sp-2); }
.account-nav__user { display: flex; align-items: center; gap: var(--sp-3); padding: var(--sp-3); background: var(--surface); border: 1px solid var(--border); border-radius: var(--r-comfortable); margin-bottom: var(--sp-3); }
.account-nav__avatar { width: 40px; height: 40px; border-radius: 50%; object-fit: cover; flex-shrink: 0; }
.account-nav__avatar--placeholder { background: var(--accent); color: #fff; display: flex; align-items: center; justify-content: center; font-weight: var(--w-bold); }
.account-nav__name { font-weight: var(--w-semibold); font-size: var(--fs-sm); color: var(--text); }
.account-nav__email { font-size: var(--fs-xs); color: var(--text-secondary); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 140px; }
.account-nav__link { display: flex; align-items: center; gap: var(--sp-2); padding: var(--sp-2) var(--sp-3); color: var(--text-secondary); text-decoration: none; border-radius: var(--r-comfortable); font-size: var(--fs-sm); font-weight: var(--w-medium); cursor: pointer; background: none; border: none; width: 100%; text-align: left; font-family: inherit; transition: all var(--dur-fast) var(--ease); }
.account-nav__link:hover { background: var(--surface-2); color: var(--text); }
.account-nav__link.is-active { background: var(--text); color: var(--base); }
.account-nav__link--danger { color: var(--negative); margin-top: var(--sp-2); }
.account-nav__link--danger:hover { background: var(--surface-2); color: var(--negative); }
@media (max-width: 880px) {
    .account-layout { grid-template-columns: 1fr; }
    .account-nav { position: static; }
}

/* ---------- Status badges ---------- */
.status { display: inline-flex; align-items: center; padding: 2px 10px; border-radius: var(--r-pill); font-size: var(--fs-xs); font-weight: var(--w-semibold); background: var(--surface-2); color: var(--text-secondary); }
.status--success { background: rgba(16,185,129,0.12); color: #059669; }
.status--danger { background: rgba(239,68,68,0.12); color: #dc2626; }
.status--muted { background: var(--surface-2); color: var(--text-secondary); }

/* ---------- Account table ---------- */
.account-table { width: 100%; border-collapse: collapse; margin-top: var(--sp-3); }
.account-table th { text-align: left; font-size: var(--fs-xs); text-transform: uppercase; letter-spacing: 0.08em; color: var(--text-secondary); padding: var(--sp-2) var(--sp-3); border-bottom: 1px solid var(--border); }
.account-table td { padding: var(--sp-3); border-bottom: 1px solid var(--border); font-size: var(--fs-sm); color: var(--text); }

/* ---------- Saved cards ---------- */
.card-list { display: flex; flex-direction: column; gap: var(--sp-3); }
.saved-card { display: grid; grid-template-columns: auto 1fr auto auto; gap: var(--sp-4); align-items: center; padding: var(--sp-4); background: var(--surface); border: 1px solid var(--border); border-radius: var(--r-comfortable); }
.saved-card__brand { display: flex; align-items: center; gap: var(--sp-2); }
.saved-card__number { font-family: monospace; font-size: var(--fs-md); color: var(--text); }
.saved-card__exp { color: var(--text-secondary); font-size: var(--fs-sm); }
.saved-card__actions { display: flex; gap: var(--sp-3); }
@media (max-width: 600px) {
    .saved-card { grid-template-columns: 1fr; gap: var(--sp-2); }
}

/* ---------- Notification preference rows ---------- */
.pref-row { display: flex; justify-content: space-between; align-items: flex-start; gap: var(--sp-4); cursor: pointer; }
.pref-row input[type="checkbox"] { width: 20px; height: 20px; accent-color: var(--accent); margin-top: 4px; flex-shrink: 0; }

/* ---------- Auth success/error ---------- */
.auth-success { background: rgba(16,185,129,0.1); color: #059669; padding: var(--sp-3) var(--sp-4); border-radius: var(--r-comfortable); margin-bottom: var(--sp-4); font-size: var(--fs-sm); font-weight: var(--w-medium); }
.auth-error { background: rgba(239,68,68,0.1); color: #dc2626; padding: var(--sp-3) var(--sp-4); border-radius: var(--r-comfortable); margin-bottom: var(--sp-4); font-size: var(--fs-sm); font-weight: var(--w-medium); }

.order-detail-layout { display: grid; grid-template-columns: 1fr 320px; gap: var(--sp-8); margin-top: var(--sp-6); align-items: start; }
.order-items { display: flex; flex-direction: column; gap: var(--sp-2); }
.order-item { display: grid; grid-template-columns: 64px 1fr auto; gap: var(--sp-3); padding: var(--sp-3); background: var(--base); border: 1px solid var(--border); border-radius: var(--r-comfortable); align-items: center; }
.order-item img { width: 64px; height: 64px; object-fit: cover; border-radius: var(--r-subtle); border: 1px solid var(--border); }
.order-item .name { font-weight: var(--w-semibold); color: var(--text); font-size: var(--fs-base); }
.order-item .meta { font-size: var(--fs-sm); color: var(--text-secondary); }
.order-item .total { font-weight: var(--w-bold); color: var(--text); }
.order-aside { position: sticky; top: calc(var(--header-total) + var(--sp-4)); padding: var(--sp-6); background: var(--surface); border-radius: var(--r-comfortable); border: 1px solid var(--border); }
.order-aside h3 { font-size: var(--fs-md); font-weight: var(--w-bold); color: var(--text); margin-bottom: var(--sp-3); margin-top: var(--sp-4); }
.order-aside h3:first-child { margin-top: 0; }
.order-aside .row { display: flex; justify-content: space-between; padding: var(--sp-1) 0; color: var(--text-secondary); font-size: var(--fs-sm); }
.order-aside .row-total { border-top: 1px solid var(--border-strong); margin: var(--sp-3) 0; padding-top: var(--sp-3); display: flex; justify-content: space-between; font-size: var(--fs-md); color: var(--text); font-weight: var(--w-bold); }
.order-aside p { color: var(--text-secondary); font-size: var(--fs-sm); line-height: 1.5; }
.order-aside .timeline-item { font-size: var(--fs-sm); padding: var(--sp-1) 0; color: var(--text-secondary); }

/* ---------- Auth ---------- */
.auth { min-height: 100vh; display: grid; grid-template-columns: 1fr 1fr; }
.auth__media { background: var(--text); color: var(--base); padding: var(--sp-12); display: flex; flex-direction: column; justify-content: center; position: relative; overflow: hidden; }
.auth__media a { font-family: var(--font-title); font-size: var(--fs-xl); font-weight: var(--w-bold); color: var(--base); margin-bottom: var(--sp-8); display: inline-flex; align-items: center; gap: 2px; }
.auth__media a::after { content: '.'; color: var(--accent); }
.auth__media h2 { font-size: var(--fs-2xl); font-weight: var(--w-bold); color: var(--base); margin-bottom: var(--sp-4); line-height: 1.1; max-width: 14ch; }
.auth__media p { color: rgba(255, 255, 255, 0.7); max-width: 36ch; margin-bottom: var(--sp-6); font-size: var(--fs-md); }
.auth__media ul { display: flex; flex-direction: column; gap: var(--sp-3); }
.auth__media li { display: flex; align-items: center; gap: var(--sp-2); color: var(--base); font-size: var(--fs-base); }
.auth__media li::before { content: '✓'; color: var(--accent); font-weight: var(--w-bold); font-size: var(--fs-md); }
.auth__form { display: flex; flex-direction: column; justify-content: center; padding: var(--sp-12); max-width: 480px; margin: 0 auto; width: 100%; }
.auth__form .h1 { margin-bottom: var(--sp-2); }
.auth__form > p.muted { margin-bottom: var(--sp-6); color: var(--text-secondary); }
.auth__form .small { font-size: var(--fs-sm); margin-bottom: var(--sp-3); }
.auth__form .field { margin-bottom: var(--sp-4); }
.auth__form .btn { margin-top: var(--sp-2); }
.auth__form > .small.muted { margin-top: var(--sp-5); color: var(--text-secondary); }
.auth__form > .small.muted a { color: var(--accent); text-decoration: underline; }
.auth__form .grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: var(--sp-4); }
.auth-error { background: #fef2f2; border: 1px solid var(--negative); border-radius: var(--r-comfortable); padding: var(--sp-3) var(--sp-4); margin-bottom: var(--sp-4); color: var(--negative); font-size: var(--fs-sm); font-weight: var(--w-bold); }
.auth-success { background: var(--accent-soft); border: 1px solid var(--accent-border); border-radius: var(--r-comfortable); padding: var(--sp-3) var(--sp-4); margin-bottom: var(--sp-4); color: var(--accent-hover); font-size: var(--fs-sm); font-weight: var(--w-bold); }
.auth__form label.small { display: flex; align-items: center; gap: var(--sp-2); color: var(--text-secondary); font-size: var(--fs-sm); margin: var(--sp-3) 0; cursor: pointer; }
.auth__form label.small input { accent-color: var(--accent); }

/* Google sign-in button + divider */
.btn--google { background: #fff; color: #1a1a1a; border: 1px solid var(--border); font-weight: var(--w-semibold); display: flex; align-items: center; justify-content: center; }
.btn--google:hover { background: #f8f9fa; border-color: var(--text-secondary); }
.auth-divider { display: flex; align-items: center; text-align: center; margin: var(--sp-5) 0; color: var(--text-secondary); font-size: var(--fs-sm); }
.auth-divider::before, .auth-divider::after { content: ''; flex: 1; border-bottom: 1px solid var(--border); }
.auth-divider span { padding: 0 var(--sp-4); }
.hr-text { display: flex; align-items: center; text-align: center; margin: 1rem 0; color: #6c7a91; font-size: 0.875rem; }
.hr-text::before, .hr-text::after { content: ''; flex: 1; border-bottom: 1px solid #e0e5ec; }
.hr-text span { padding: 0 1rem; }

/* ---------- Journal ---------- */
.journal-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: var(--sp-6); margin-top: var(--sp-6); }
.journal-card { display: block; background: var(--base); border-radius: var(--r-comfortable); overflow: hidden; border: 1px solid var(--border); transition: border-color var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease); }
.journal-card:hover { border-color: var(--border-strong); transform: translateY(-2px); box-shadow: var(--shadow-medium); }
.journal-card__media { aspect-ratio: 16/10; overflow: hidden; background: var(--surface); }
.journal-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.4s var(--ease-out); }
.journal-card:hover .journal-card__media img { transform: scale(1.04); }
.journal-card__body { padding: var(--sp-5); }
.journal-card__body .eyebrow { margin-bottom: var(--sp-2); }
.journal-card__body h2 { font-size: var(--fs-md); font-weight: var(--w-bold); color: var(--text); margin-bottom: var(--sp-2); }
.journal-card__body p { color: var(--text-secondary); font-size: var(--fs-sm); line-height: 1.5; }

/* ---------- Article ---------- */
.article { max-width: 720px; margin: 0 auto; }
.article .crumb { margin-bottom: var(--sp-5); }
.article .eyebrow { margin-bottom: var(--sp-2); }
.article .display { margin-bottom: var(--sp-4); }
.article img { width: 100%; border-radius: var(--r-comfortable); margin: var(--sp-6) 0; }
.article .body { color: var(--text-secondary); font-size: var(--fs-md); line-height: 1.7; }
.article .body p { margin-bottom: var(--sp-4); }
.article .body h2 { color: var(--text); font-size: var(--fs-lg); font-weight: var(--w-bold); margin: var(--sp-6) 0 var(--sp-3); }
.article .body h3 { color: var(--text); font-size: var(--fs-md); font-weight: var(--w-bold); margin: var(--sp-5) 0 var(--sp-2); }

/* ---------- Search ---------- */
.search-form { display: flex; gap: var(--sp-2); margin: var(--sp-5) 0; max-width: 560px; }
.search-form input { flex: 1; padding: 12px 18px; background: var(--base); color: var(--text); border: 1px solid var(--border-strong); border-radius: var(--r-pill); font-size: var(--fs-md); }
.search-form input:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-soft); }
.search-result-count { color: var(--text-secondary); margin-bottom: var(--sp-5); font-size: var(--fs-base); }

/* ---------- Confirm ---------- */
.confirm-summary { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: var(--sp-4); margin: var(--sp-6) 0; }
.confirm-summary .stat-card .row { display: flex; justify-content: space-between; align-items: center; }
.confirm-summary .stat-card .label { color: var(--text-secondary); font-size: var(--fs-sm); }
.confirm-summary .stat-card .value { color: var(--text); font-weight: var(--w-bold); font-size: var(--fs-md); }
.confirm-actions { display: flex; gap: var(--sp-3); margin-top: var(--sp-6); flex-wrap: wrap; }

/* ---------- Static page ---------- */
.static-page { max-width: 760px; margin: 0 auto; }
.static-page .display { margin-bottom: var(--sp-6); }
.static-page .body { color: var(--text-secondary); font-size: var(--fs-md); line-height: 1.7; }
.static-page .body p { margin-bottom: var(--sp-4); }
.static-page .body h2 { color: var(--text); font-size: var(--fs-lg); font-weight: var(--w-bold); margin: var(--sp-6) 0 var(--sp-3); }
.static-page .body h3 { color: var(--text); font-size: var(--fs-md); font-weight: var(--w-bold); margin: var(--sp-5) 0 var(--sp-2); }
.static-page .body ul, .static-page .body ol { margin: 0 0 var(--sp-4) var(--sp-5); }
.static-page .body li { margin-bottom: var(--sp-2); }
.static-page .body a { color: var(--accent); text-decoration: underline; }
.static-page .body strong { color: var(--text); font-weight: var(--w-bold); }
.static-page .body .legal-meta { color: var(--text-tertiary); font-size: var(--fs-sm); border-top: 1px solid var(--border); padding-top: var(--sp-4); margin-top: var(--sp-8); }

/* ---------- Contact page ---------- */
.contact-layout { display: grid; grid-template-columns: 1.4fr 1fr; gap: var(--sp-8); margin-top: var(--sp-8); align-items: start; }
.contact-form-card { background: var(--base); border: 1px solid var(--border); border-radius: var(--r-comfortable); padding: var(--sp-6); }
.contact-form-card .grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: var(--sp-4); }
.contact-form-card .btn--lg { width: 100%; margin-top: var(--sp-2); }
.contact-aside { display: flex; flex-direction: column; gap: var(--sp-6); position: sticky; top: var(--sp-6); }
.contact-info-block h3 { font-size: var(--fs-md); font-weight: var(--w-bold); color: var(--text); margin-bottom: var(--sp-2); }
.contact-info-block p { color: var(--text-secondary); font-size: var(--fs-base); line-height: 1.6; }
.contact-info-block .link { color: var(--accent); text-decoration: underline; }
.contact-quick-links { list-style: none; padding: 0; margin: 0; }
.contact-quick-links li { margin-bottom: var(--sp-2); }
.contact-quick-links a { color: var(--text-secondary); font-size: var(--fs-base); text-decoration: none; transition: color var(--dur-fast) var(--ease); }
.contact-quick-links a:hover { color: var(--accent); }

/* ---------- Empty state ---------- */
.empty-state { padding: var(--sp-12); text-align: center; background: var(--surface); border-radius: var(--r-comfortable); border: 1px solid var(--border); }
.empty-state p { color: var(--text-secondary); margin-bottom: var(--sp-5); font-size: var(--fs-md); }
.empty-state a:not(.btn) { color: var(--accent); }

/* ---------- Responsive ---------- */
@media (max-width: 1100px) {
    .header__nav { gap: var(--sp-3); }
    .header__link { font-size: var(--fs-base); }
    .footer__grid { grid-template-columns: 1fr 1fr 1fr; }
}

@media (max-width: 880px) {
    .product__grid { grid-template-columns: 1fr !important; gap: var(--sp-6) !important; }
    .product__info { position: static !important; }
    .split { grid-template-columns: 1fr !important; }
    .auth { grid-template-columns: 1fr !important; }
    .auth__media { display: none; }
    .footer__grid { grid-template-columns: 1fr 1fr; }
    .cart-layout { grid-template-columns: 1fr !important; }
    .cart-summary { position: static !important; }
    .checkout-layout { grid-template-columns: 1fr !important; }
    .checkout-summary { position: static !important; }
    .account-split { grid-template-columns: 1fr !important; }
    .order-detail-layout { grid-template-columns: 1fr !important; }
    .order-aside { position: static !important; }
    .stat-grid { grid-template-columns: 1fr !important; }
}

@media (max-width: 760px) {
    .header__inner { height: 56px; }
    .header__brand-name { font-size: var(--fs-md); }
    .header__tool-label { display: none; }
    .header__tool { padding: var(--sp-2); }
    .hero { padding: calc(var(--header-total) + var(--sp-8)) 0 var(--sp-6); }
    .hero__title { max-width: 16ch; }
    .hero__sub { max-width: 34ch; font-size: var(--fs-base); }
    .hero__trust { gap: var(--sp-4); }
    .section__head { margin-bottom: var(--sp-5); }
    .products-grid { grid-template-columns: repeat(2, 1fr); gap: var(--sp-2); }
    .card__quickadd .btn { width: 100%; }
    .footer__grid { grid-template-columns: 1fr; gap: var(--sp-6); }
    .footer__bottom { flex-direction: column; text-align: center; }
    .checkout-fields .grid-2, .checkout-fields .grid-3 { grid-template-columns: 1fr; }
    .auth__form .grid-2 { grid-template-columns: 1fr; }
    .contact-layout { grid-template-columns: 1fr; }
    .contact-form-card .grid-2 { grid-template-columns: 1fr; }
    .contact-aside { position: static; }
    .spotlight-card { padding: var(--sp-8); }
    .spotlight-card__form { flex-direction: column; }
    .cart-row { grid-template-columns: 80px 1fr !important; }
    .cart-row .qty, .cart-row .cart-total { grid-column: 2; }
    .product__actions { flex-direction: column; }
}

@media (max-width: 425px) {
    .products-grid { grid-template-columns: 1fr; }
    .cats { grid-template-columns: 1fr 1fr; }
    .journal-list { grid-template-columns: 1fr; }
}

/* ---------- Address autocomplete (Google Places API New) ---------- */
.ac-wrapper { position: relative; }
.ac-dropdown {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    z-index: 1000;
    background: #fff;
    border: 1px solid var(--line-2, #e5e5e5);
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0,0,0,0.12);
    margin-top: 4px;
    max-height: 280px;
    overflow-y: auto;
    font-family: 'Inter', sans-serif;
}
.ac-item {
    padding: 12px 16px;
    cursor: pointer;
    transition: background 0.1s ease;
    border-bottom: 1px solid var(--line-1, #f0f0f0);
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.ac-item:last-child { border-bottom: none; }
.ac-item:hover, .ac-item.is-active {
    background: var(--surface, #f5f5f5);
}
.ac-item__main {
    font-size: 14px;
    font-weight: 500;
    color: var(--text, #161513);
    line-height: 1.3;
}
.ac-item__secondary {
    font-size: 12px;
    color: var(--text-secondary, #656d76);
    line-height: 1.3;
}

/* Address search field — premium look */
[data-address-autocomplete] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23656d76' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: 14px center;
    padding-left: 42px !important;
}
[data-address-autocomplete]:focus {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23161513' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E");
}

/* ---------- Selected address card ---------- */
.ac-selected-card {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 16px;
    background: #f0fdf4;
    border: 1px solid #86efac;
    border-radius: 8px;
    margin-top: 12px;
}
.ac-selected-card__icon {
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #16a34a;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
}
.ac-selected-card__body { flex: 1; min-width: 0; }
.ac-selected-card__label {
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #15803d;
    margin-bottom: 2px;
}
.ac-selected-card__address {
    font-size: 14px;
    color: #14532d;
    line-height: 1.4;
}
.ac-selected-card__actions {
    display: flex;
    gap: 4px;
    flex-shrink: 0;
}
.ac-btn {
    background: none;
    border: 1px solid #86efac;
    border-radius: 6px;
    padding: 4px 10px;
    font-size: 12px;
    color: #15803d;
    cursor: pointer;
    transition: all 0.15s ease;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}
.ac-btn:hover { background: #dcfce7; }
.ac-btn--clear { border-color: #fca5a5; color: #b91c1c; }
.ac-btn--clear:hover { background: #fee2e2; }
