:root {
  --store-ink: #1f2925;
  --store-muted: #66716c;
  --store-line: #dce2df;
  --store-soft: #f3f6f4;
  --store-green: #1f7152;
  --store-green-dark: #15513b;
  --store-coral: #b85c48;
  --store-gold: #a2762b;
  --store-blue: #386b8f;
}

.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.empty-state { min-height: 280px; display: grid; place-items: center; align-content: center; gap: 12px; padding: 28px; border: 1px dashed var(--store-line); background: #fff; text-align: center; }
.empty-state h2, .empty-state h3, .empty-state p { margin: 0; }
.empty-inline { grid-column: 1 / -1; padding: 30px; border: 1px dashed var(--store-line); color: var(--store-muted); text-align: center; }
.section-action { display: flex; justify-content: center; margin-top: 18px; }
.btn-light { color: var(--store-ink); background: rgba(255,255,255,.92); border-color: rgba(255,255,255,.6); }
.btn.disabled { opacity: .45; pointer-events: none; }
.text-button { padding: 0; border: 0; color: var(--store-green); background: transparent; font-weight: 750; text-decoration: underline; }
.stars { color: var(--store-gold); }
.modal-image { display: block; width: 100%; max-height: 76vh; object-fit: contain; }
.wide-modal { width: min(920px,100%); }

.commerce-hero { min-height: min(670px, calc(100vh - 66px)); display: flex; align-items: end; position: relative; overflow: hidden; isolation: isolate; background: #dae1de var(--hero-image) center/cover no-repeat; }
.commerce-hero::before { content: ""; position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg, rgba(18,28,24,.75) 0, rgba(18,28,24,.5) 42%, rgba(18,28,24,.08) 74%, rgba(18,28,24,0)); }
.commerce-hero-copy { width: min(690px, calc(100% - 32px)); margin: 0 max(16px, calc((100% - 1240px)/2)); padding: 72px 0 64px; color: #fff; }
.commerce-hero h1 { max-width: 650px; margin: 9px 0 13px; font-family: Georgia, "Times New Roman", serif; font-size: 54px; line-height: 1.06; letter-spacing: 0; }
.commerce-hero p { max-width: 580px; margin: 0 0 22px; font-size: 18px; line-height: 1.6; }
.commerce-hero .eyebrow { color: #d9eadf; }
.commerce-carousel { display: block; }
.commerce-slide { min-height: inherit; display: none; align-items: end; position: absolute; inset: 0; background: #dae1de var(--hero-desktop) center/cover no-repeat; }
.commerce-slide::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg,rgba(18,28,24,.76),rgba(18,28,24,.46) 45%,rgba(18,28,24,.06) 78%); }
.commerce-slide.active { display: flex; }
.commerce-slide .commerce-hero-copy { position: relative; z-index: 1; }
.carousel-arrow { width: 42px; height: 52px; position: absolute; z-index: 3; top: 50%; border: 1px solid rgba(255,255,255,.45); color: #fff; background: rgba(20,28,25,.35); font-size: 31px; }
.carousel-arrow.previous { left: 12px; }
.carousel-arrow.next { right: 12px; }
.carousel-dots { display: flex; gap: 7px; position: absolute; z-index: 3; left: 50%; bottom: 15px; transform: translateX(-50%); }
.carousel-dots button { width: 22px; height: 4px; padding: 0; border: 0; background: rgba(255,255,255,.55); }
.carousel-dots button.active { background: #fff; }
.hero-trust { display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 20px; font-size: 13px; font-weight: 700; }
.home-section { padding: 36px 0; border-bottom: 1px solid #edf0ee; }
.home-soft { background: #f4f6f5; }
.square-category-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 11px; }
.square-category-grid a { position: relative; aspect-ratio: 1; overflow: hidden; background: #eee; }
.square-category-grid img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s ease; }
.square-category-grid a:hover img { transform: scale(1.035); }
.square-category-grid strong { position: absolute; inset: auto 0 0; padding: 24px 10px 9px; color: #fff; background: linear-gradient(transparent,rgba(0,0,0,.7)); font-size: 16px; }
.intention-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; }
.intention-tile { min-height: 170px; display: grid; align-content: space-between; position: relative; padding: 18px; border: 1px solid color-mix(in srgb, var(--intent-color) 70%, #7b837f); background: var(--intent-color); }
.intention-tile span { color: #57615c; }
.intention-tile strong { max-width: 80%; font-size: 27px; font-family: Georgia, "Times New Roman", serif; }
.intention-tile b { position: absolute; right: 17px; bottom: 14px; font-size: 24px; }
.zodiac-row { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 9px; }
.zodiac-card { min-width: 0; padding: 8px; border: 1px solid var(--store-line); background: #fff; }
.zodiac-card img { width: 100%; aspect-ratio: 1; object-fit: cover; margin-top: 8px; }
.zodiac-card span, .zodiac-card em { display: block; color: var(--store-muted); font-size: 12px; font-style: normal; }
.zodiac-card strong { display: block; margin: 4px 0; font-size: 17px; }
.diy-promo-band { color: #f6f5ee; background: #24352f; }
.diy-promo-inner { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(360px,.9fr); gap: 38px; align-items: center; }
.diy-promo-inner h2 { margin: 6px 0 10px; font-family: Georgia, "Times New Roman", serif; font-size: 38px; }
.diy-promo-inner p { color: #cbd6d0; line-height: 1.6; }
.material-collage { display: grid; grid-template-columns: repeat(4,1fr); gap: 8px; }
.material-collage img { width: 100%; aspect-ratio: 1; object-fit: contain; padding: 6px; background: #eef2ef; }
.quiz-band { display: grid; grid-template-columns: .8fr 1.2fr; gap: 30px; align-items: center; padding-block: 8px; }
.quiz-band h2 { margin: 5px 0 0; font-family: Georgia, "Times New Roman", serif; font-size: 32px; }
.quiz-options { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)) auto; gap: 8px; align-items: end; }
.quiz-options label { display: grid; gap: 5px; font-size: 12px; font-weight: 750; }
.quiz-options select { min-height: 42px; padding: 7px; border: 1px solid var(--store-line); background: #fff; }

.catalog-head { display: flex; justify-content: space-between; align-items: end; gap: 14px; margin-bottom: 14px; }
.catalog-head h1 { margin: 5px 0 2px; }
.catalog-head p { margin: 0; color: var(--store-muted); }
.catalog-layout { display: grid; grid-template-columns: 218px minmax(0,1fr); gap: 18px; }
.catalog-filters { position: sticky; top: 76px; height: fit-content; padding: 14px; border: 1px solid var(--store-line); background: #fff; }
.catalog-filters form { display: grid; gap: 13px; }
.catalog-filters label:not(.check-row) { display: grid; gap: 5px; font-size: 13px; font-weight: 750; }
.catalog-filters select { min-height: 40px; padding: 7px; border: 1px solid var(--store-line); background: #fff; }
.price-filter { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }
.check-row { display: flex; align-items: center; gap: 8px; }
.check-row input { width: 18px; height: 18px; }
.check-row[hidden] { display: none; }
.catalog-sort { display: flex; justify-content: space-between; align-items: center; margin-bottom: 11px; }
.catalog-sort label { display: flex; align-items: center; gap: 7px; }
.catalog-sort select { min-height: 38px; padding: 6px; border: 1px solid var(--store-line); background: #fff; }
.catalog-page .product-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
.mobile-filter-button { display: none; }
.pagination { display: flex; justify-content: center; gap: 5px; margin-top: 18px; }
.pagination a { min-width: 36px; min-height: 36px; display: grid; place-items: center; border: 1px solid var(--store-line); }
.pagination a.active { color: #fff; background: var(--store-green); border-color: var(--store-green); }

.guide-hero { padding: 70px 0; color: #fff; background: #315a4a; }
.guide-hero.birthstone { background: #55647b; }
.guide-hero.gallery { background: #714e4a; }
.guide-hero h1 { max-width: 780px; margin: 7px 0 10px; font-family: Georgia, "Times New Roman", serif; font-size: 46px; }
.guide-hero p { max-width: 720px; margin: 0; color: rgba(255,255,255,.82); line-height: 1.6; }
.guide-index, .gallery-filters { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 14px; }
.guide-index a, .gallery-filters a { min-height: 36px; display: inline-flex; align-items: center; padding: 6px 11px; border: 1px solid var(--store-line); background: #fff; font-weight: 750; }
.gallery-filters a.active { color: #fff; border-color: var(--store-green); background: var(--store-green); }
.guide-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.guide-card { display: grid; grid-template-columns: 150px minmax(0,1fr); gap: 14px; padding: 11px; border: 1px solid var(--store-line); background: #fff; }
.guide-card img { width: 150px; height: 100%; min-height: 190px; object-fit: cover; }
.guide-card h2 { margin: 3px 0 5px; }
.guide-card p { color: var(--store-muted); line-height: 1.5; }
.month-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; }
.month-card { display: grid; grid-template-rows: auto 1fr; overflow: hidden; border: 1px solid var(--store-line); background: #fff; }
.month-card img { width: 100%; aspect-ratio: 1; object-fit: cover; }
.month-card div { display: grid; align-content: start; gap: 6px; padding: 11px; }
.month-card strong { font-size: 18px; }
.month-card p { min-height: 42px; margin: 0; color: var(--store-muted); line-height: 1.45; }
.gallery-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
.gallery-card { border: 1px solid var(--store-line); background: #fff; }
.gallery-card button { position: relative; width: 100%; padding: 0; border: 0; background: transparent; }
.gallery-card img, .gallery-card video { width: 100%; aspect-ratio: 1; display: block; object-fit: cover; }
.gallery-card > div { padding: 12px; }
.gallery-card h2, .gallery-card p { margin: 5px 0; }
.policy-page { max-width: 900px; padding-block: 24px 60px; }
.policy-page h1 { font-family: Georgia,"Times New Roman",serif; font-size: 43px; }
.policy-page > p { font-size: 18px; line-height: 1.75; }
.policy-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 24px; }
.policy-columns section { padding: 16px; border: 1px solid var(--store-line); }

.product-page { padding-top: 8px; }
.breadcrumbs { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 10px; color: var(--store-muted); font-size: 13px; }
.product-page .product-detail { align-items: start; gap: 20px; padding-top: 2px; }
.product-page .media-panel { grid-template-columns: 1fr; }
.product-page .media-main { order: 1; position: relative; min-height: 0; aspect-ratio: 1; display: grid; place-items: center; }
.product-page .media-main > video,
.product-page .media-main > .media-zoom-target,
.product-page .media-main > .media-zoom-target > img { width: 100%; height: 100%; min-height: 0; max-height: none; object-fit: contain; }
.product-page .media-thumbs { order: 2; flex-direction: row; max-height: none; overflow-x: auto; }
.product-page .media-thumb { flex: 0 0 76px; height: 76px; position: relative; }
.media-play { position: absolute; inset: 0; display: grid; place-items: center; color: #fff; background: rgba(0,0,0,.2); }
.modal-video { display: block; max-width: min(920px,90vw); max-height: 78vh; margin: auto; background: #111; }
.video-badge { position: absolute; left: 10px; bottom: 10px; padding: 4px 7px; color: #fff; background: rgba(0,0,0,.55); font-size: 11px; }
.media-zoom-target { width: 100%; padding: 0; border: 0; background: #f4f4f2; cursor: zoom-in; }
.media-help { order: 3; margin: 0; color: var(--store-muted); font-size: 12px; }
.media-share-button { position: absolute; z-index: 4; top: 10px; right: 10px; min-width: 76px; min-height: 40px; justify-content: center; margin: 0; padding: 7px 11px; border: 1px solid rgba(255,255,255,.68); border-radius: 6px; color: #fff; background: rgba(24,31,29,.58); backdrop-filter: blur(6px); }
.media-share-button svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.mobile-media-switcher, .mobile-purchase-dock, .product-offer-strip { display: none; }
.product-information-card { min-width: 0; }
.purchase-title-row { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 8px; align-items: start; }
.purchase-title-row h1 { margin: 3px 0 0; font-size: 28px; line-height: 1.18; }
.favorite.large { position: static; width: 42px; height: 42px; font-size: 24px; }
.product-page .rating-line { flex-wrap: wrap; margin: 6px 0 7px; }
.product-lead { margin: 0 0 7px; line-height: 1.5; }
.purchase-trust { display: flex; flex-wrap: wrap; gap: 6px 15px; padding: 7px 0; border-block: 1px solid var(--store-line); color: var(--store-green); font-size: 13px; font-weight: 750; }
.option-section { display: grid; gap: 5px; margin-top: 8px; }
.product-page .variant-list { margin: 0 0 7px; }
.purchase-logistics { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 6px; margin: 0 0 7px; }
.shipping-item { min-width: 0; padding: 7px; border-left: 3px solid var(--store-blue); background: #eaf2fb; }
.shipping-item small { display: block; margin-bottom: 3px; color: var(--store-muted); }
.shipping-item strong { display: block; line-height: 1.3; overflow-wrap: anywhere; }
.purchase-logistics .quantity-row { grid-column: 1 / -1; margin: 0; padding: 6px 0 0; border-top: 1px solid var(--store-line); border-bottom: 0; }
.product-page .buy-actions .btn { min-height: 44px; }
.share-button { width: auto; min-height: 34px; display: flex; align-items: center; margin-left: auto; padding: 4px 2px 4px 12px; border: 0; color: var(--store-muted); background: transparent; }
.product-reviews { padding-top: 28px; }
.review-summary { display: grid; grid-template-columns: 150px minmax(0,420px); gap: 22px; align-items: center; padding: 14px 0; border-block: 1px solid var(--store-line); }
.review-average { display: grid; justify-items: start; gap: 2px; }
.review-average > strong { font-size: 36px; line-height: 1; }
.review-average small { color: var(--store-muted); }
.review-distribution { display: grid; gap: 5px; }
.review-distribution button { display: grid; grid-template-columns: 32px minmax(100px,1fr) 28px; gap: 8px; align-items: center; padding: 2px; border: 0; background: transparent; text-align: left; }
.review-distribution button.active { color: var(--store-green); font-weight: 800; }
.review-distribution i { height: 7px; overflow: hidden; background: #e7ebe8; }
.review-distribution i b { height: 100%; display: block; background: var(--store-gold); }
.review-distribution em { color: var(--store-muted); font-style: normal; text-align: right; }
.review-toolbar { display: flex; flex-wrap: wrap; gap: 6px; padding: 12px 0; }
.review-toolbar button { min-height: 36px; padding: 6px 11px; border: 1px solid var(--store-line); background: #fff; }
.review-toolbar button.active { color: #fff; border-color: var(--store-green); background: var(--store-green); }
.review-list { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
.review-list article { padding: 14px; border: 1px solid var(--store-line); }
.product-review-card > header { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.product-review-card time, .product-review-card > small { color: var(--store-muted); font-size: 12px; }
.review-list h3 { margin: 6px 0; }
.review-list p { color: var(--store-muted); }
.review-media-strip { display: flex; gap: 6px; margin: 10px 0; overflow-x: auto; }
.review-media-strip button { flex: 0 0 68px; height: 68px; position: relative; padding: 0; overflow: hidden; border: 1px solid var(--store-line); background: #f1f3f2; }
.review-media-strip img, .review-media-strip video { width: 100%; height: 100%; display: block; object-fit: cover; }
.review-media-strip button span { position: absolute; inset: 0; display: grid; place-items: center; color: #fff; background: rgba(0,0,0,.22); }
.review-media-modal > img, .review-media-modal > video { width: 100%; max-height: 72vh; display: block; object-fit: contain; background: #111; }
.review-media-nav { display: grid; grid-template-columns: 1fr auto 1fr; gap: 9px; align-items: center; padding-top: 10px; }
.review-media-nav .btn:last-child { justify-self: end; }
.long-detail { width: min(100%,980px); margin: 28px auto 0; }
.long-detail h2 { text-align: center; }
.long-detail img { width: 100%; height: auto; display: block; margin: 0; object-fit: contain; }

.cart-page .section-head { align-items: end; }
.select-all { display: flex; align-items: center; gap: 8px; padding: 9px; border: 1px solid var(--store-line); background: #fff; }
.select-all input, .cart-check input { width: 19px; height: 19px; }
.cart-line { grid-template-columns: 24px 112px minmax(0,1fr) auto; align-items: center; }
.cart-line.unselected { opacity: .58; }
.preview-cart-image { padding: 0; border: 0; background: none; cursor: zoom-in; }
.preview-cart-image img { width: 112px; height: 112px; object-fit: contain; background: #f1f3f2; }
.cart-line-info { min-width: 0; }
.cart-line-info p { margin: 5px 0; color: var(--store-muted); }
.inline-actions { display: flex; flex-wrap: wrap; gap: 8px 13px; margin-top: 7px; }
.cart-line-actions { display: grid; justify-items: end; gap: 8px; }
.cart-summary .btn-primary { width: 100%; }
.promotion-preview { margin: 12px 0; padding-block: 8px; border-block: 1px solid var(--store-line); }
.promotion-preview summary { cursor: pointer; font-weight: 800; }
.promotion-choice { display: grid; grid-template-columns: 19px minmax(0,1fr); gap: 8px; align-items: start; padding: 9px; border-bottom: 1px solid #ebeeec; }
.promotion-choice input { width: 18px; height: 18px; }
.promotion-choice span { display: grid; gap: 2px; }
.promotion-choice small { color: var(--store-muted); }
.promotion-choice.disabled { opacity: .48; }
.summary-note { color: var(--store-muted); font-size: 13px; }
.design-preview-modal { display: grid; grid-template-columns: minmax(300px,1.1fr) minmax(240px,.9fr); gap: 14px; }
.design-preview-modal > img { width: 100%; aspect-ratio: 1; object-fit: contain; background: #eef1ef; }
.design-preview-modal ol { max-height: 480px; overflow: auto; margin: 0; padding: 0; list-style: none; }
.design-preview-modal li { display: grid; grid-template-columns: 28px minmax(0,1fr); gap: 5px; padding: 6px 0; border-bottom: 1px solid var(--store-line); }
.design-preview-modal li span { width: 24px; height: 24px; display: grid; place-items: center; color: #fff; background: var(--store-green); font-size: 11px; }

.checkout-width { width: min(1180px,calc(100% - 28px)); margin: auto; }
.checkout-layout { display: grid; grid-template-columns: minmax(0,1fr) 370px; gap: 18px; align-items: start; }
.checkout-form { display: grid; gap: 10px; }
.checkout-step { display: grid; grid-template-columns: 34px minmax(0,1fr); gap: 10px; padding: 14px; border: 1px solid var(--store-line); background: #fff; }
.checkout-step h2 { margin: 2px 0 12px; font-size: 19px; }
.step-number { width: 28px; height: 28px; display: grid; place-items: center; color: #fff; background: var(--store-green); font-weight: 850; }
.saved-address-label { margin-bottom: 10px; }
.checkout-address-controls { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 9px; align-items: end; margin-bottom: 10px; }
.checkout-address-controls .saved-address-label { margin: 0; }
.checkout-address-controls .button-row { flex-wrap: nowrap; }
.city-input-shell { position: relative; display: block; }
.city-suggestion-list { position: absolute; z-index: 45; top: calc(100% + 4px); left: 0; right: 0; max-height: 224px; overflow-y: auto; padding: 4px; border: 1px solid #b9c8c1; background: #fff; box-shadow: 0 12px 28px rgba(26,47,39,.18); }
.city-suggestion-list[hidden] { display: none; }
.city-suggestion-list button { display: block; width: 100%; min-height: 38px; padding: 7px 9px; border: 0; background: transparent; color: var(--store-text); text-align: left; }
.city-suggestion-list button:hover, .city-suggestion-list button.active { background: #e9f2ee; color: #183f31; }
.favorite-product-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.favorite-product-item { min-width: 0; display: grid; align-content: start; gap: 7px; }
.favorite-product-item > .btn { width: 100%; }
.radio-stack, .promotion-stack { display: grid; gap: 7px; }
.method-option { display: grid; grid-template-columns: 20px minmax(0,1fr) auto; gap: 8px; align-items: center; padding: 10px; border: 1px solid var(--store-line); cursor: pointer; }
.method-option:has(input:checked) { border-color: var(--store-green); background: #eef8f3; }
.method-option input { width: 18px; height: 18px; }
.method-option span { display: grid; gap: 2px; }
.method-option small { color: var(--store-muted); }
.terms-check { display: flex; gap: 8px; align-items: start; padding: 10px; }
.terms-check input { width: 18px; height: 18px; }
.pay-button { min-height: 48px; font-size: 17px; }
.checkout-summary { position: sticky; top: 76px; padding: 15px; border: 1px solid var(--store-line); background: #fff; }
.checkout-summary h2 { margin-top: 0; }
.checkout-lines { display: grid; gap: 8px; max-height: 360px; overflow: auto; padding-bottom: 10px; border-bottom: 1px solid var(--store-line); }
.checkout-lines > div { display: grid; grid-template-columns: 58px minmax(0,1fr) auto; gap: 8px; align-items: center; }
.checkout-lines img { width: 58px; height: 58px; object-fit: contain; background: #eef1ef; }
.checkout-lines span { display: grid; min-width: 0; }
.checkout-lines strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.summary-row.discount { color: var(--store-green); }
.summary-total { display: flex; justify-content: space-between; align-items: baseline; margin-top: 10px; padding-top: 10px; border-top: 2px solid var(--store-ink); }
.summary-total strong { font-size: 24px; }
.result-page { min-height: 520px; display: grid; place-items: center; align-content: center; gap: 12px; text-align: center; }
.result-page h1, .result-page p { margin: 0; }
.result-icon { width: 72px; height: 72px; display: grid; place-items: center; border-radius: 50%; color: #fff; font-size: 36px; font-weight: 900; }
.result-icon.success { background: var(--store-green); }
.result-icon.pending { background: var(--store-coral); }

.account-auth { min-height: calc(100vh - 66px); display: grid; grid-template-columns: minmax(0,1.1fr) minmax(390px,.9fr); }
.account-auth-visual { display: flex; align-items: end; padding: 54px max(22px,calc((100vw - 1240px)/2)); color: #fff; background: linear-gradient(rgba(26,39,34,.46),rgba(26,39,34,.7)), url('/assets/products/aquamarine.jpg') center/cover; }
.account-auth-visual h1 { max-width: 620px; font-family: Georgia,"Times New Roman",serif; font-size: 45px; }
.account-auth-visual li { margin: 8px 0; }
.account-auth-panel { width: min(470px,100%); align-self: center; padding: 30px clamp(18px,5vw,58px); }
.account-auth-panel h2 { font-size: 30px; }
.auth-links { display: flex; flex-wrap: wrap; gap: 10px 18px; margin-top: 16px; }
.auth-links button { padding: 0; border: 0; color: var(--store-green); background: transparent; font-weight: 750; }
.test-reset { margin-top: 12px; padding: 12px; border: 1px solid var(--store-line); }
.password-field, .verification-field { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: stretch; }
.password-field input, .verification-field input { min-width: 0; }
.password-field button { min-width: 58px; border: 1px solid var(--store-line); border-left: 0; background: #f5f7f6; color: var(--store-green); font-weight: 800; }
.verification-field { gap: 7px; }
.verification-field .btn { white-space: nowrap; }
.register-terms { padding-inline: 0; }
.register-terms a { color: var(--store-green); text-decoration: underline; }
.account-width { width: min(1240px,calc(100% - 28px)); margin: auto; display: grid; grid-template-columns: 210px minmax(0,1fr); gap: 14px; }
.account-sidebar, .account-width > main { min-width: 0; }
.account-sidebar { position: sticky; top: 76px; height: fit-content; padding: 12px; border: 1px solid var(--store-line); background: #fff; }
.account-identity { display: grid; justify-items: center; gap: 4px; padding-bottom: 12px; border-bottom: 1px solid var(--store-line); text-align: center; }
.account-identity > span { width: 52px; height: 52px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: var(--store-green); font-size: 23px; font-weight: 850; }
.account-identity small { max-width: 100%; overflow: hidden; text-overflow: ellipsis; }
.account-nav { width: 100%; max-width: 100%; display: grid; margin: 8px 0; }
.account-nav a { min-height: 40px; display: flex; align-items: center; padding: 7px 9px; border-left: 3px solid transparent; }
.account-nav a.active { border-color: var(--store-green); color: var(--store-green); background: #eef7f2; font-weight: 800; }
.account-sidebar > .btn { width: 100%; }
.account-panel { min-height: 560px; padding: 15px; border: 1px solid var(--store-line); background: #fff; }
.account-panel-head { display: flex; justify-content: space-between; align-items: start; gap: 10px; margin-bottom: 12px; }
.account-panel-head h2, .account-panel-head p { margin: 0 0 4px; }
.account-panel-head p { color: var(--store-muted); }
.account-overview-metrics { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); margin-bottom: 14px; border-block: 1px solid var(--store-line); }
.account-overview-metrics > div { display: grid; gap: 5px; padding: 12px; border-right: 1px solid var(--store-line); }
.account-overview-metrics > div:last-child { border-right: 0; }
.account-overview-metrics span { color: var(--store-muted); }
.account-overview-metrics strong { font-size: 20px; }
.profile-details { padding-top: 3px; }
.profile-details .section-title-row { margin-bottom: 0; }
.order-filter-bar { display: flex; gap: 5px; margin-bottom: 10px; overflow-x: auto; scrollbar-width: thin; }
.order-filter-bar button { flex: 0 0 auto; min-height: 36px; display: flex; align-items: center; gap: 6px; padding: 6px 10px; border: 1px solid var(--store-line); background: #fff; color: var(--store-muted); }
.order-filter-bar button.active { border-color: var(--store-green); background: #eef7f2; color: var(--store-green); font-weight: 800; }
.order-filter-bar span { min-width: 20px; padding: 1px 5px; background: #e4e9e6; color: var(--store-ink); font-size: 12px; text-align: center; }
.member-order-list { display: grid; gap: 9px; }
.member-order { border: 1px solid var(--store-line); }
.member-order > header, .member-order > footer { display: flex; justify-content: space-between; gap: 10px; align-items: center; padding: 9px 11px; background: #f5f7f6; }
.member-order header > div { display: flex; flex-wrap: wrap; gap: 6px 10px; align-items: center; }
.member-order header span:not(.status) { color: var(--store-muted); }
.member-order-lines { display: grid; padding: 0 11px; }
.member-order-lines > div { display: grid; grid-template-columns: 60px minmax(0,1fr) auto; gap: 9px; align-items: center; padding: 8px 0; border-bottom: 1px solid var(--store-line); }
.member-order-lines img { width: 60px; height: 60px; object-fit: contain; background: #eef1ef; }
.member-order-lines span { display: grid; gap: 3px; }
.member-order-lines small { color: var(--store-muted); }
.member-line-actions { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 3px; }
.text-action { padding: 0; border: 0; color: var(--store-green); background: none; font: inherit; font-size: 13px; font-weight: 750; cursor: pointer; }
.member-production-confirmation { grid-column: 1 / -1; display: grid !important; grid-template-columns: minmax(180px,260px) minmax(0,1fr) !important; gap: 12px !important; padding: 10px !important; border: 1px solid #d6cde8 !important; background: #f7f3fc; }
.member-production-confirmation > img { width: 100% !important; height: 180px !important; object-fit: contain; background: #fff; }
.member-production-confirmation > div { display: grid; align-content: center; gap: 7px; }
.member-production-confirmation p { margin: 0; color: var(--store-muted); }
.address-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; }
.address-card { padding: 12px; border: 1px solid var(--store-line); }
.address-card > div:first-child { display: flex; justify-content: space-between; gap: 8px; }
.address-card p { color: var(--store-muted); line-height: 1.55; }
.design-account-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 9px; }
.design-account-grid article { border: 1px solid var(--store-line); }
.design-account-grid button { width: 100%; padding: 0; border: 0; background: #eef1ef; }
.design-account-grid img { width: 100%; aspect-ratio: 1; object-fit: contain; }
.design-account-grid article > div { display: grid; gap: 6px; padding: 9px; }
.design-account-grid span { color: var(--store-muted); }
.design-preview-button { cursor: zoom-in; }
.design-actions { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr) 36px 36px; gap: 5px; }
.design-actions .btn { min-width: 0; padding-inline: 7px; }
.support-request-list { display: grid; gap: 8px; }
.support-request-list > article { padding: 11px; border: 1px solid var(--store-line); background: #fff; }
.support-request-list header { display: flex; justify-content: space-between; align-items: start; gap: 10px; }
.support-request-list header > div { display: grid; gap: 3px; }
.support-request-list header span:not(.status), .support-request-list > article > small { color: var(--store-muted); }
.support-request-list > article > p { margin: 8px 0; }
.support-response { padding: 9px; border-left: 3px solid var(--store-green); background: #eef7f2; }
.support-response p { margin: 4px 0 0; }
.review-item-summary { display: grid; grid-template-columns: 72px minmax(0,1fr); gap: 9px; align-items: center; }
.review-item-summary img { width: 72px; height: 72px; object-fit: contain; background: #eef1ef; }
.review-upload { display: grid; gap: 5px; padding: 10px; border: 1px dashed var(--store-line); }
.review-upload span { color: var(--store-muted); font-size: 13px; }
.benefit-metrics { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; }
.benefit-metrics > div { display: grid; gap: 7px; padding: 14px; border-top: 4px solid var(--store-green); background: #eef5f1; }
.benefit-metrics strong { font-size: 26px; }
.benefit-section { margin-top: 14px; }
.benefit-section h3 { margin: 0 0 8px; }
.benefit-list, .ledger-list { display: grid; border-top: 1px solid var(--store-line); }
.benefit-row { display: grid; grid-template-columns: minmax(0,1fr) auto auto; gap: 10px; align-items: center; padding: 10px 5px; border-bottom: 1px solid var(--store-line); }
.benefit-row > div { display: grid; gap: 3px; }
.benefit-row > div span { color: var(--store-muted); }
.benefit-row.expired { opacity: .64; }
.ledger-row { display: grid; grid-template-columns: minmax(0,1fr) auto 120px; gap: 10px; align-items: center; padding: 9px 5px; border-bottom: 1px solid var(--store-line); }
.ledger-row > span { display: grid; gap: 3px; }
.ledger-row small { color: var(--store-muted); }
.ledger-row .credit { color: var(--store-green); }
.ledger-row .debit { color: var(--store-coral); }
.notice-box { margin-top: 12px; padding: 12px; border-left: 4px solid var(--store-blue); background: #edf4f8; line-height: 1.55; }
.order-detail-modal .summary-row { align-items: start; }
.timeline { display: grid; margin-top: 12px; }
.timeline > div { display: grid; grid-template-columns: 12px minmax(0,1fr) auto; gap: 8px; align-items: center; padding: 7px 0; border-bottom: 1px solid var(--store-line); }
.timeline > div > span { width: 10px; height: 10px; border-radius: 50%; background: var(--store-green); }

@media (max-width: 1020px) {
  .catalog-page .product-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .guide-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .checkout-layout { grid-template-columns: minmax(0,1fr) 320px; }
  .account-auth { grid-template-columns: 1fr 420px; }
}

@media (max-width: 760px) {
  .commerce-hero { min-height: 560px; align-items: end; background-position: 62% center; }
  .commerce-hero::before { background: linear-gradient(0deg,rgba(18,28,24,.82),rgba(18,28,24,.22) 76%); }
  .commerce-hero-copy { width: calc(100% - 26px); margin: 0 13px; padding: 190px 0 28px; }
  .commerce-hero h1 { font-size: 39px; }
  .commerce-hero p { font-size: 16px; }
  .commerce-slide { background-image: var(--hero-mobile); }
  .commerce-slide::before { background: linear-gradient(0deg,rgba(18,28,24,.84),rgba(18,28,24,.18) 78%); }
  .carousel-arrow { width: 34px; height: 42px; font-size: 26px; }
  .hero-trust { gap: 6px 12px; }
  .home-section { padding: 25px 0; }
  .square-category-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; }
  .intention-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .intention-tile { min-height: 135px; padding: 13px; }
  .intention-tile strong { font-size: 22px; }
  .zodiac-row { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .diy-promo-inner { grid-template-columns: 1fr; gap: 18px; }
  .diy-promo-inner h2 { font-size: 31px; }
  .quiz-band, .quiz-options { grid-template-columns: 1fr; }
  .catalog-layout { grid-template-columns: 1fr; }
  .mobile-filter-button { display: inline-flex; }
  .catalog-filters { display: none; position: static; }
  .catalog-filters.open { display: block; }
  .catalog-page .product-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .catalog-sort { align-items: start; gap: 8px; }
  .catalog-sort label { display: grid; }
  .guide-hero { padding: 42px 0; }
  .guide-hero h1 { font-size: 35px; }
  .guide-grid { grid-template-columns: 1fr; }
  .guide-card { grid-template-columns: 118px minmax(0,1fr); }
  .guide-card img { width: 118px; min-height: 180px; }
  .month-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .month-card p { min-height: 58px; }
  .gallery-grid { grid-template-columns: 1fr; }
  .policy-columns { grid-template-columns: 1fr; }
  .policy-page h1 { font-size: 35px; }
  .review-list { grid-template-columns: 1fr; }
  .review-summary { grid-template-columns: 110px minmax(0,1fr); gap: 12px; }
  .product-active { padding-bottom: calc(60px + env(safe-area-inset-bottom)); background: #f1f3f2; }
  .product-page { padding: 0 0 12px; }
  .product-page .page-width { width: 100%; }
  .product-page .product-detail { gap: 0; padding-top: 0; }
  .product-page .media-panel { display: grid; gap: 0; position: relative; top: auto; background: #eef0ef; }
  .product-page .media-main { width: 100%; border: 0; background: #eef0ef; }
  .product-page .media-main > video,
  .product-page .media-main > .media-zoom-target,
  .product-page .media-main > .media-zoom-target > img { object-fit: cover; background: #eef0ef; }
  .product-page .media-thumbs, .product-page .media-help { display: none; }
  .media-share-button { top: 12px; right: 12px; min-width: 72px; min-height: 44px; padding: 7px 10px; background: rgba(28,34,32,.48); }
  .mobile-media-switcher { display: flex; align-items: center; gap: 6px; position: absolute; z-index: 4; left: 12px; right: 12px; bottom: 12px; pointer-events: none; }
  .mobile-media-switcher button, .mobile-media-switcher span { min-height: 38px; display: inline-flex; align-items: center; justify-content: center; padding: 7px 12px; border: 1px solid rgba(255,255,255,.62); border-radius: 6px; color: #fff; background: rgba(27,34,32,.5); backdrop-filter: blur(6px); font-weight: 750; }
  .mobile-media-switcher button { pointer-events: auto; }
  .mobile-media-switcher button.active { color: #17211d; background: rgba(255,255,255,.9); }
  .mobile-media-switcher span { min-width: 52px; margin-left: auto; }
  .product-page .purchase-panel { margin: 0; padding: 0; }
  .product-offer-strip { min-height: 64px; display: grid; grid-template-columns: minmax(0,1.2fr) minmax(94px,.8fr) auto; align-items: center; gap: 8px; padding: 7px 10px; color: #fff; background: #285b49; }
  .product-offer-strip.has-discount { background: #b85a2d; }
  .offer-primary { display: grid; gap: 2px; }
  .offer-primary > span { font-size: 16px; font-weight: 800; }
  .offer-primary strong { display: flex; align-items: baseline; gap: 6px; }
  .offer-primary small { font-size: 12px; }
  .offer-primary b { font-size: 27px; line-height: 1; }
  .offer-saving { min-width: 0; display: grid; gap: 2px; align-content: center; }
  .offer-saving del, .offer-saving span { color: rgba(255,255,255,.82); font-size: 12px; }
  .offer-saving em { width: fit-content; padding: 2px 5px; border-radius: 4px; color: #fff; background: rgba(255,255,255,.16); font-style: normal; font-weight: 750; }
  .offer-stock { min-width: 50px; display: grid; justify-items: center; gap: 1px; padding-left: 8px; border-left: 1px solid rgba(255,255,255,.35); }
  .offer-stock span { font-size: 11px; }
  .offer-stock strong { font-size: 20px; }
  .product-information-card { margin: 7px 8px 0; padding: 10px 12px 2px; border: 1px solid #e1e5e2; border-radius: 8px; background: #fff; }
  .purchase-title-row h1 { margin-top: 3px; font-size: 24px; }
  .purchase-title-row .favorite.large { display: none; }
  .product-page .rating-line { gap: 5px 8px; margin-block: 5px 6px; padding-bottom: 6px; border-bottom: 1px solid #edf0ee; }
  .product-page .rating-line .price, .product-page .rating-line del { display: none; }
  .product-page .rating-line a { color: var(--store-muted); text-decoration: underline; }
  .product-lead { margin-bottom: 7px; font-size: 15px; line-height: 1.45; }
  .purchase-trust { padding: 6px 0; }
  .option-section { margin-top: 7px; }
  .product-page .variant-list { margin-bottom: 6px; }
  .purchase-logistics { grid-template-columns: minmax(0,1fr) 166px; gap: 5px; margin-bottom: 6px; }
  .shipping-item { padding: 6px; }
  .shipping-country { grid-column: 1; grid-row: 1; }
  .purchase-logistics .quantity-row { grid-column: 2; grid-row: 1; min-width: 154px; align-self: stretch; padding: 4px 7px; border: 1px solid var(--store-line); background: #fff; }
  .shipping-delivery { grid-column: 1; grid-row: 2; }
  .shipping-fee { grid-column: 2; grid-row: 2; }
  .product-page .buy-actions { display: none; }
  .product-page .accordion summary { padding-block: 9px; }
  .product-page .long-detail, .product-page #product-reviews { width: calc(100% - 16px); margin-inline: auto; }
  .product-page .long-detail { margin-block: 14px; }
  .product-page .product-reviews { padding-top: 14px; }
  .mobile-purchase-dock { min-height: 56px; display: grid; grid-template-columns: 50px 54px minmax(0,1.18fr) minmax(0,1fr); gap: 6px; align-items: stretch; position: fixed; z-index: 40; left: 0; right: 0; bottom: 0; padding: 4px 7px calc(4px + env(safe-area-inset-bottom)); border-top: 1px solid #dfe4e1; background: rgba(255,255,255,.98); box-shadow: 0 -5px 18px rgba(27,38,33,.08); }
  .dock-link { min-width: 0; min-height: 46px; display: grid; place-items: center; align-content: center; gap: 1px; padding: 0; border: 0; color: #17211d; background: transparent; font-size: 11px; font-weight: 750; }
  .dock-link svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
  .dock-link.active { color: #b85a2d; }
  .dock-action { min-width: 0; min-height: 46px; padding: 5px 7px; border: 1px solid #17211d; border-radius: 6px; color: #fff; background: #17211d; font-weight: 800; }
  .dock-action.secondary { border-color: #8b755b; background: #8b755b; }
  .dock-action:disabled { opacity: .46; cursor: not-allowed; }
  .cart-line { grid-template-columns: 22px 84px minmax(0,1fr); align-items: start; }
  .preview-cart-image img { width: 84px; height: 84px; }
  .cart-line-actions { grid-column: 2 / -1; display: flex; justify-content: space-between; align-items: center; width: 100%; }
  .design-preview-modal { grid-template-columns: 1fr; }
  .checkout-layout { grid-template-columns: 1fr; }
  .checkout-summary { position: static; order: -1; }
  .checkout-lines { max-height: 220px; }
  .account-auth { grid-template-columns: 1fr; }
  .account-auth-visual { min-height: 310px; padding: 26px 18px; }
  .account-auth-visual h1 { font-size: 34px; }
  .account-auth-panel { width: 100%; }
  .account-width { grid-template-columns: 1fr; }
  .account-sidebar { position: static; padding: 8px; }
  .account-identity { grid-template-columns: 42px minmax(0,1fr); justify-items: start; text-align: left; }
  .account-identity > span { grid-row: 1 / 3; width: 42px; height: 42px; }
  .account-identity small { grid-column: 2; }
  .account-nav { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .account-nav a { justify-content: center; border-left: 0; border-bottom: 3px solid transparent; padding-inline: 4px; text-align: center; }
  .address-grid { grid-template-columns: 1fr; }
  .favorite-product-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .design-account-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .member-order > footer { align-items: start; flex-direction: column; }
  .member-production-confirmation { grid-template-columns: 150px minmax(0,1fr) !important; }
}

@media (max-width: 420px) {
  .commerce-hero { min-height: 520px; }
  .commerce-hero h1 { font-size: 34px; }
  .commerce-hero .button-row .btn { flex: 1; padding-inline: 8px; }
  .hero-trust { font-size: 11px; }
  .square-category-grid strong { font-size: 14px; }
  .intention-grid { gap: 6px; }
  .intention-tile { min-height: 122px; }
  .zodiac-card strong { font-size: 16px; }
  .catalog-page .page-width { width: calc(100% - 18px); }
  .catalog-head h1 { font-size: 27px; }
  .catalog-sort { font-size: 12px; }
  .catalog-sort select { max-width: 155px; }
  .guide-card { grid-template-columns: 100px minmax(0,1fr); gap: 9px; padding: 7px; }
  .guide-card img { width: 100px; min-height: 170px; }
  .guide-card .button-row .btn { padding-inline: 7px; font-size: 12px; }
  .product-page .breadcrumbs, .product-page .long-detail h2 { margin-inline: 0; }
  .purchase-title-row h1 { font-size: 24px; }
  .product-offer-strip { grid-template-columns: minmax(0,1fr) minmax(86px,.72fr) auto; gap: 7px; padding-inline: 10px; }
  .offer-primary b { font-size: 24px; }
  .purchase-logistics .quantity-row { min-width: 0; padding-inline: 6px; gap: 4px; }
  .product-page .stepper { grid-template-columns: 32px 38px 32px; }
  .mobile-purchase-dock { grid-template-columns: 46px 50px minmax(0,1.15fr) minmax(0,.85fr); gap: 5px; padding-inline: 5px; }
  .dock-action { padding-inline: 5px; font-size: 13px; }
  .cart-page .page-width { width: calc(100% - 16px); }
  .cart-line { gap: 7px; padding: 8px 5px; }
  .cart-line-info > strong { font-size: 13px; }
  .cart-line-info p { font-size: 11px; }
  .cart-line-actions { gap: 5px; }
  .cart-line-actions .btn { padding-inline: 7px; }
  .checkout-width { width: calc(100% - 14px); }
  .checkout-step { grid-template-columns: 27px minmax(0,1fr); padding: 9px; gap: 6px; }
  .step-number { width: 24px; height: 24px; }
  .checkout-step .form-grid { grid-template-columns: 1fr; }
  .checkout-step .span-2 { grid-column: auto; }
  .checkout-address-controls { grid-template-columns: 1fr; }
  .checkout-address-controls .button-row { justify-content: stretch; }
  .checkout-address-controls .button-row .btn { flex: 1; }
  .account-width { width: calc(100% - 14px); }
  .account-panel { padding: 9px; }
  .account-panel-head { align-items: start; }
  .account-panel .form-grid { grid-template-columns: minmax(0,1fr); }
  .account-panel .span-2 { grid-column: auto; }
  .account-overview-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .account-overview-metrics > div:nth-child(2) { border-right: 0; }
  .account-overview-metrics > div:nth-child(-n+2) { border-bottom: 1px solid var(--store-line); }
  .account-nav { display: flex; overflow-x: auto; scrollbar-width: thin; }
  .account-nav a { flex: 0 0 auto; min-width: 82px; font-size: 14px; }
  .member-order > header { align-items: start; }
  .member-order-lines { padding-inline: 7px; }
  .member-order-lines > div { grid-template-columns: 48px minmax(0,1fr); }
  .member-order-lines img { width: 48px; height: 48px; }
  .member-order-lines > div > b { grid-column: 2; }
  .member-production-confirmation { grid-template-columns: 1fr !important; }
  .member-production-confirmation > img { height: min(54vw,220px) !important; }
  .design-actions { grid-template-columns: 1fr 1fr 36px 36px; }
  .design-account-grid { grid-template-columns: 1fr; }
  .favorite-product-grid { grid-template-columns: 1fr; }
  .benefit-metrics { grid-template-columns: 1fr; }
  .benefit-row { grid-template-columns: minmax(0,1fr) auto; }
  .benefit-row > .status { grid-column: 1 / -1; width: fit-content; }
  .ledger-row { grid-template-columns: minmax(0,1fr) auto; }
  .ledger-row > small { grid-column: 1 / -1; }
}
