:root {
  color-scheme: light;
  --ink: #182a26;
  --muted: #60716c;
  --line: #dfe8e3;
  --surface: #ffffff;
  --canvas: #f4f7f4;
  --green: #153c35;
  --green-soft: #e5f0e9;
  --accent: #bb7547;
  --danger: #a43d37;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
}

* { box-sizing: border-box; }
body { margin: 0; background: var(--canvas); color: var(--ink); }
a { color: inherit; }
button, input, select { font: inherit; }
button { cursor: pointer; }
[hidden] { display: none !important; }

.store-header, .store-footer, .admin-topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem clamp(1.25rem, 5vw, 5rem);
  background: var(--surface);
}
.store-header { border-bottom: 1px solid var(--line); }
.brand { display: inline-flex; align-items: center; gap: .7rem; font-weight: 750; text-decoration: none; }
.brand-mark {
  display: grid;
  width: 2.4rem;
  aspect-ratio: 1;
  place-items: center;
  border-radius: .8rem;
  background: var(--green);
  color: white;
}
.store-logo { width: 2.8rem; height: 2.8rem; border-radius: .65rem; object-fit: contain; }
.brand small { display: block; color: var(--muted); font-size: .75rem; font-weight: 500; }
.helper-text { color: var(--muted); }
.store-page main { max-width: 1440px; margin: auto; padding: 1rem clamp(1.25rem, 5vw, 5rem) 4rem; }
.hero {
  position: relative;
  display: flex;
  min-height: clamp(15rem, 25vw, 22rem);
  align-items: center;
  overflow: hidden;
  border-radius: 1.4rem;
  background: linear-gradient(115deg, #153c35, #386754);
  color: white;
}
.hero-copy { position: relative; z-index: 1; max-width: 40rem; padding: clamp(2rem, 5vw, 4rem); }
.hero h1 { max-width: 12ch; margin: .5rem 0; font-family: Georgia, serif; font-size: clamp(2.5rem, 6vw, 4.5rem); font-weight: 500; line-height: 1.03; }
.hero-copy > p:last-child { color: #e1ece5; }
.hero-image { position: absolute; inset: 0 0 0 auto; width: 50%; height: 100%; object-fit: cover; opacity: .65; mask-image: linear-gradient(90deg, transparent, black 45%); }
.eyebrow { margin: 0; color: var(--accent); font-size: .72rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.catalog-section { padding: 1.5rem 0 3.5rem; }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 1.5rem; margin-bottom: 1.5rem; }
h2 { margin: .35rem 0 0; font-family: Georgia, serif; font-size: clamp(1.8rem, 4vw, 2.6rem); font-weight: 500; }
.category-list { display: flex; flex-wrap: wrap; gap: .5rem; }
.category-chip { padding: .55rem .9rem; border: 1px solid var(--line); border-radius: 99px; background: white; color: var(--muted); }
.category-chip[aria-pressed="true"] { border-color: var(--green); background: var(--green); color: white; }
.catalog-tools { display: grid; grid-template-columns: minmax(12rem, 1fr) minmax(12rem, .5fr); gap: .8rem; margin: 0 0 1.2rem; }
.catalog-tools label { display: grid; gap: .35rem; color: var(--muted); font-size: .82rem; font-weight: 650; }
.product-price { display: flex; align-items: baseline; gap: .55rem; margin: 0 0 .45rem !important; color: var(--green) !important; font-size: 1rem !important; }
.product-price del { color: var(--muted); font-size: .85rem; font-weight: 400; }
.product-stock-notice { min-height: 1.25em; margin: 0 0 .65rem !important; color: #8a5428 !important; font-size: .82rem !important; font-weight: 650; }
.product-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem; }
.product-card { display: grid; min-width: 0; grid-template-columns: minmax(7rem, .72fr) minmax(0, 1fr); overflow: hidden; border: 1px solid var(--line); border-radius: .85rem; background: var(--surface); }
.product-card-image { display: grid; width: 100%; aspect-ratio: 1; min-height: 0; align-self: start; place-items: center; overflow: hidden; background: var(--green-soft); }
.product-image { display: block; width: 100%; height: 100%; min-height: 0; object-fit: contain; background: var(--green-soft); }
.product-placeholder { display: grid; width: 100%; min-height: 9rem; place-items: center; background: var(--green-soft); color: var(--green); font-family: Georgia, serif; font-size: 2.5rem; }
.product-info { display: flex; min-width: 0; flex-direction: column; align-items: start; padding: .8rem; }
.product-info h3 { margin: 0 0 .35rem; }
.product-info > p:not(.product-price) { margin: 0 0 .55rem; color: var(--muted); font-size: .84rem; line-height: 1.4; }
.product-info .product-price { margin-top: auto !important; }
.product-card-colors { display: flex; flex-wrap: wrap; align-items: center; gap: .3rem; margin: 0 0 .45rem; }
.product-card-colors-label { margin-right: .15rem; color: var(--muted); font-size: .78rem; }
.product-card-color { min-height: 1.9rem; padding: .25rem .45rem; font-size: .76rem; }
.product-card-image-empty { color: var(--muted); font-size: .8rem; text-align: center; }
.quick-view-button { width: 100%; margin-top: .25rem; }
.product-actions { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .5rem; }
.product-actions select { min-width: 0; }
.product-dialog { width: min(58rem, calc(100% - 2rem)); max-width: none; max-height: min(90vh, 52rem); padding: 1.2rem; border: 1px solid var(--line); border-radius: 1rem; background: var(--surface); color: var(--ink); }
.product-dialog::backdrop { background: rgb(15 29 25 / 65%); }
.quick-view-close { display: block; margin: 0 0 .8rem auto; padding: .45rem .7rem; border: 1px solid var(--line); border-radius: .5rem; background: white; color: var(--green); }
.quick-view-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 1.3rem; }
.quick-view-image-frame { display: grid; min-height: 18rem; max-height: 65vh; place-items: center; overflow: hidden; border-radius: .8rem; background: var(--green-soft); }
.quick-view-image-frame img { display: block; width: 100%; height: 100%; max-height: 65vh; object-fit: contain; }
.quick-view-image-unavailable { padding: 1.5rem; color: var(--muted); text-align: center; }
.quick-view-details { display: grid; align-content: start; gap: .75rem; }
.quick-view-details h2 { margin: 0; }
.quick-view-description { margin: 0; color: var(--muted); line-height: 1.5; white-space: pre-line; }
.quick-view-details .product-price { margin: 0 !important; font-size: 1.2rem !important; }
.quick-view-details .product-stock-notice { min-height: 0; margin: 0 !important; }
.quick-view-cart-quantity { margin: 0; color: var(--muted); font-size: .86rem; }
.variant-selectors { display: grid; gap: .8rem; }
.variant-choice-group { margin: 0; padding: 0; border: 0; }
.variant-choice-group legend { margin-bottom: .4rem; font-size: .88rem; font-weight: 700; }
.variant-choice-list { display: flex; flex-wrap: wrap; gap: .4rem; }
.variant-choice { display: inline-flex; min-height: 2.5rem; align-items: center; gap: .4rem; padding: .4rem .65rem; border: 1px solid var(--line); border-radius: .6rem; background: white; color: var(--ink); }
.variant-choice[aria-pressed="true"] { border-color: var(--green); box-shadow: inset 0 0 0 1px var(--green); }
.variant-choice:disabled, .variant-choice.is-unavailable { color: var(--muted); opacity: .58; }
.variant-choice:disabled { cursor: not-allowed; }
.variant-swatch { width: 1rem; height: 1rem; flex: 0 0 1rem; border: 1px solid rgb(0 0 0 / 18%); border-radius: 50%; background: var(--green-soft); }
.variant-swatch-neutral { background: repeating-linear-gradient(135deg, #f5f1f2 0 3px, #d8cfd5 3px 5px); }
.wholesale-tiers { display: grid; gap: .2rem; color: var(--muted); font-size: .82rem; }
.quick-view-details > .button { width: 100%; }
.tier-editor { min-width: 0; margin: 0; padding: .9rem; border: 1px solid var(--line); border-radius: .6rem; }
.tier-editor legend { padding: 0 .3rem; font-size: .9rem; font-weight: 700; }
.wholesale-tier-rows { display: grid; gap: .65rem; margin-bottom: .65rem; }
.wholesale-tier-row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) auto; align-items: end; gap: .55rem; padding: .7rem; border: 1px solid var(--line); border-radius: .55rem; background: var(--surface); }
.wholesale-tier-row label { display: grid; gap: .35rem; font-size: .82rem; font-weight: 650; }
.wholesale-tier-row input { min-width: 0; }
.checkout-section { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 6vw, 5rem); padding: clamp(1.5rem, 5vw, 3.5rem); border: 1px solid var(--line); border-radius: 1.3rem; background: var(--surface); }
.checkout-confirmation { margin-top: 1rem; padding: 1rem; border: 1px solid #bfd8c8; border-radius: .7rem; background: #f1f8f3; }
.checkout-confirmation p { margin: 0 0 .8rem; line-height: 1.5; }
.checkout-confirmation p:last-child { margin-bottom: 0; }
.store-details { display: grid; gap: 1.25rem; margin-top: clamp(2.5rem, 6vw, 4.5rem); padding: clamp(1.25rem, 4vw, 2rem); border: 1px solid var(--line); border-radius: 1rem; background: var(--surface); }
.store-description { max-width: 60rem; margin: 0; color: var(--muted); font-size: 1rem; line-height: 1.65; white-space: pre-line; }
.store-hours h2 { margin: 0 0 .75rem; font-family: Georgia, serif; font-size: 1.4rem; font-weight: 500; }
.store-hours-list { display: grid; gap: 0; max-width: 42rem; margin: 0; }
.store-hours-row { display: flex; justify-content: space-between; gap: 1rem; padding: .65rem 0; border-bottom: 1px solid var(--line); }
.store-hours-row:last-child { border-bottom: 0; }
.store-hours-row dt { color: var(--ink); font-weight: 650; }
.store-hours-row dd { margin: 0; color: var(--muted); text-align: right; }
.cart-items { display: grid; gap: .65rem; margin: 1.2rem 0; padding: 0; list-style: none; }
.cart-line { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-bottom: .65rem; border-bottom: 1px solid var(--line); }
.cart-line-controls { display: grid; justify-items: end; gap: .45rem; }
.cart-line-price { text-align: right; }
.cart-line-saving { color: var(--green); font-size: .78rem; }
.cart-quantity-controls { display: inline-flex; align-items: center; gap: .55rem; }
.cart-quantity-controls button { width: 1.8rem; height: 1.8rem; border: 1px solid var(--line); border-radius: .45rem; background: white; color: var(--green); }
.cart-quantity-controls button:disabled { cursor: not-allowed; opacity: .45; }
.cart-line button { border: 0; background: none; color: var(--danger); }
.cart-total { display: flex; justify-content: space-between; font-size: 1.15rem; }
.checkout-form { display: grid; align-content: start; gap: 1rem; }
.checkout-form label { display: grid; gap: .4rem; font-size: .88rem; font-weight: 650; }
input, select { width: 100%; min-height: 2.8rem; padding: .65rem .75rem; border: 1px solid #cdd9d2; border-radius: .6rem; background: white; color: var(--ink); }
input:focus, select:focus, button:focus-visible, a:focus-visible { outline: 3px solid #96c7ac; outline-offset: 2px; }
.button { display: inline-flex; min-height: 2.7rem; align-items: center; justify-content: center; gap: .5rem; padding: .65rem 1rem; border: 1px solid transparent; border-radius: .65rem; font-weight: 700; text-decoration: none; }
.button-primary { background: var(--green); color: white; }
.button-primary:hover { background: #205248; }
.button-primary:disabled { cursor: not-allowed; opacity: .55; }
.button-quiet { border-color: var(--line); background: white; color: var(--green); }
.notice { color: var(--muted); font-size: .9rem; }
.notice[data-kind="error"] { color: var(--danger); }
.notice[data-kind="success"] { color: var(--green); }
.store-footer { border-top: 1px solid var(--line); color: var(--muted); font-size: .9rem; }

.admin-page { min-height: 100vh; }
.admin-shell { max-width: 1500px; min-height: 100vh; margin: auto; }
.admin-topbar { border-bottom: 1px solid var(--line); }
.sign-in-panel { width: min(100% - 2rem, 28rem); margin: 7vh auto; padding: 2rem; border: 1px solid var(--line); border-radius: 1rem; background: var(--surface); }
.sign-in-panel h1 { margin: .4rem 0; font-family: Georgia, serif; font-size: 2.2rem; font-weight: 500; }
.sign-in-panel > p:not(.eyebrow) { color: var(--muted); }
.admin-workspace { display: grid; min-height: calc(100vh - 5rem); grid-template-columns: 16rem minmax(0, 1fr); }
.admin-sidebar { padding: 1.5rem 1rem; border-right: 1px solid var(--line); background: white; }
.admin-nav { display: grid; gap: .35rem; margin-top: 1.2rem; }
.admin-nav button { padding: .75rem; border: 0; border-radius: .55rem; background: transparent; color: var(--muted); text-align: left; }
.admin-nav button:hover, .admin-nav button.active { background: var(--green-soft); color: var(--green); }
.admin-content { padding: clamp(1.25rem, 4vw, 3rem); }
.admin-content h1 { margin: .3rem 0 1.5rem; font-family: Georgia, serif; font-size: 2.4rem; font-weight: 500; }
.admin-placeholder { max-width: 48rem; padding: 1.5rem; border: 1px solid var(--line); border-radius: .9rem; background: white; }
.admin-placeholder p { color: var(--muted); line-height: 1.6; }
.admin-intro { margin: -1rem 0 1.5rem; color: var(--muted); }
.admin-card { margin: 1.25rem 0; padding: clamp(1rem, 3vw, 1.6rem); border: 1px solid var(--line); border-radius: .9rem; background: white; }
.admin-card h2, .admin-list-heading h2 { margin: 0; font-family: Georgia, serif; font-size: 1.45rem; }
.admin-form { display: grid; gap: 1rem; margin-top: 1rem; }
.admin-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.admin-form label { display: grid; align-content: start; gap: .45rem; font-size: .88rem; font-weight: 650; }
.admin-form textarea { width: 100%; min-height: 6rem; padding: .7rem .75rem; border: 1px solid #cdd9d2; border-radius: .6rem; background: white; color: var(--ink); font: inherit; resize: vertical; }
.admin-form textarea:focus { outline: 3px solid #96c7ac; outline-offset: 2px; }
.admin-form .span-all { grid-column: 1 / -1; }
.admin-form-actions, .record-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; }
.admin-form-actions { padding-top: .2rem; }
.field-hint { color: var(--muted); font-size: .8rem; font-weight: 400; }
.checkbox-field { display: flex !important; min-height: 2.7rem; align-items: center; justify-content: start; gap: .6rem !important; }
.checkbox-field input { width: 1.05rem; min-height: 1.05rem; accent-color: var(--green); }
.category-picker { min-width: 0; margin: 0; padding: .9rem; border: 1px solid var(--line); border-radius: .6rem; }
.category-picker legend { padding: 0 .3rem; font-size: .9rem; font-weight: 700; }
.checkbox-grid { display: flex; flex-wrap: wrap; gap: .2rem 1.2rem; }
.image-preview { display: block; min-height: .2rem; }
.image-preview img { display: block; max-width: 11rem; max-height: 8rem; margin-top: .4rem; border: 1px solid var(--line); border-radius: .5rem; object-fit: contain; }
.admin-message { margin: 1rem 0; padding: .8rem 1rem; border: 1px solid var(--line); border-radius: .6rem; background: white; color: var(--ink); overflow-wrap: anywhere; }
.admin-message.error { border-color: #e9c4c0; background: #fff7f6; color: var(--danger); }
.admin-message.success { border-color: #bfd8c8; background: #f1f8f3; color: var(--green); }
.admin-message.warning { border-color: #e5d0aa; background: #fff9ed; color: #77551f; }
.admin-list-section { margin-top: 2rem; }
.admin-list-heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: .8rem; }
.orders-filters { grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: end; }
.orders-filters .admin-form-actions { grid-column: 1 / -1; }
.orders-table-wrap { max-width: 100%; overflow-x: auto; border: 1px solid var(--line); border-radius: .8rem; background: white; }
.orders-table, .order-items-table { width: 100%; border-collapse: collapse; text-align: left; }
.orders-table { min-width: 67rem; }
.orders-table th, .orders-table td, .order-items-table th, .order-items-table td { padding: .7rem .8rem; border-bottom: 1px solid var(--line); vertical-align: middle; }
.orders-table th, .order-items-table th { background: var(--canvas); color: var(--muted); font-size: .78rem; font-weight: 700; white-space: nowrap; }
.orders-table td { font-size: .86rem; }
.orders-table tbody tr:last-child td, .order-items-table tbody tr:last-child td { border-bottom: 0; }
.order-number, .order-total { font-weight: 700; white-space: nowrap; }
.order-status { display: inline-block; margin-right: .5rem; padding: .25rem .45rem; border-radius: 999px; background: var(--green-soft); color: var(--green); font-size: .76rem; font-weight: 700; white-space: nowrap; }
.order-status-confirmed { background: #eaf2fb; color: #315b86; }
.order-status-cancelled, .order-status-expired { background: #fff1ef; color: var(--danger); }
.order-status-select { min-width: 8rem; min-height: 2.2rem; margin-top: .35rem; padding: .35rem; font-size: .8rem; }
.order-detail { display: grid; gap: .75rem; padding: .25rem; }
.order-detail h3 { margin: 0; font-size: 1rem; }
.order-items-table { min-width: 38rem; }
.order-items-table td { font-size: .84rem; }
.order-detail-total { margin: 0; font-weight: 750; text-align: right; }
.orders-pagination { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-top: .8rem; }
.admin-record-list { display: grid; gap: .75rem; }
.admin-record { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 1rem; padding: 1rem; border: 1px solid var(--line); border-radius: .8rem; background: white; }
.record-main { display: flex; min-width: 0; align-items: center; gap: .9rem; }
.record-thumb { flex: 0 0 3.7rem; width: 3.7rem; height: 3.7rem; border-radius: .55rem; object-fit: cover; background: var(--green-soft); }
.record-thumb-empty { display: block; }
.record-copy { display: grid; min-width: 0; gap: .25rem; }
.record-copy strong { overflow-wrap: anywhere; }
.record-copy span { color: var(--muted); font-size: .84rem; overflow-wrap: anywhere; }
.button-small { min-height: 2.2rem; padding: .45rem .65rem; font-size: .82rem; }
.button-small:disabled { cursor: not-allowed; opacity: .48; }
.button-danger { border-color: #ead1ce; background: #fff; color: var(--danger); }
.button-danger:hover { background: #fff7f6; }
.empty-state { margin: 0; padding: 1rem; border: 1px dashed var(--line); border-radius: .7rem; color: var(--muted); }
.empty-state.compact { padding: .5rem 0; border: 0; }
.variant-editor { scroll-margin-top: 1rem; }
.variant-list { grid-column: 1 / -1; padding-top: .8rem; border-top: 1px solid var(--line); }
.variant-list h3 { margin: 0 0 .6rem; font-size: .95rem; }
.variant-row { display: flex; justify-content: space-between; align-items: center; gap: .8rem; padding: .7rem 0; border-top: 1px solid var(--line); }
.offer-manager { margin-top: 1.5rem; padding-top: 1.2rem; border-top: 1px solid var(--line); }
.offer-manager h3 { margin: 0; font-size: 1rem; }
.offer-list { display: grid; gap: .5rem; }
.offer-row { display: flex; justify-content: space-between; align-items: center; gap: .8rem; padding: .7rem; border: 1px solid var(--line); border-radius: .6rem; }
.offer-form { padding: 1rem; border: 1px solid var(--line); border-radius: .7rem; background: var(--canvas); }
.product-record { grid-template-columns: minmax(0, 1fr); }
.product-record > .record-actions { justify-content: end; }
.product-record .variant-list { width: 100%; }
.settings-group { min-width: 0; margin: 0; padding: 1rem; border: 1px solid var(--line); border-radius: .7rem; }
.settings-group legend { padding: 0 .35rem; font-size: .95rem; font-weight: 750; }
.settings-social-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin-bottom: .7rem; }
.settings-social-grid label, .settings-day > label:not(.checkbox-field) { display: grid; gap: .4rem; font-size: .86rem; font-weight: 650; }
.settings-hours { display: grid; gap: .5rem; margin-bottom: .7rem; }
.settings-day { display: grid; grid-template-columns: minmax(6rem, 1fr) minmax(6rem, .8fr) repeat(2, minmax(7rem, 1fr)); align-items: center; gap: .75rem; padding: .65rem; border: 1px solid var(--line); border-radius: .6rem; }
.settings-day > strong { font-size: .9rem; }
.settings-day .checkbox-field { min-height: 2rem; }
.settings-day input[type="time"] { min-height: 2.5rem; }
.settings-day input:disabled { background: var(--canvas); color: var(--muted); }
.metric-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin: 1.5rem 0; }
.metric-card { padding: 1.2rem; border: 1px solid var(--line); border-radius: .8rem; background: white; }
.metric-card span { display: block; color: var(--muted); font-size: .85rem; }
.metric-card strong { display: block; margin-top: .5rem; font-size: 1.5rem; }

@media (max-width: 900px) {
  .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .admin-workspace { grid-template-columns: 13rem minmax(0, 1fr); }
}
@media (max-width: 640px) {
  .store-header { gap: .6rem; padding: .75rem 1rem; }
  .brand { min-width: 0; gap: .5rem; font-size: .95rem; }
  .brand-mark { width: 2.1rem; border-radius: .65rem; }
  .store-logo { width: 2.4rem; height: 2.4rem; }
  .store-header > .button { min-height: 2.4rem; padding: .5rem .65rem; font-size: .8rem; white-space: nowrap; }
  .store-page main { padding: .9rem 1rem 2rem; }
  .section-heading { align-items: start; flex-direction: column; }
  .catalog-section { padding: 1rem 0 2rem; }
  .product-grid { grid-template-columns: 1fr; gap: .55rem; }
  .product-card { grid-template-columns: minmax(6rem, 32%) minmax(0, 1fr); border-radius: .7rem; }
  .product-card-image, .product-image, .product-placeholder { min-height: 0; }
  .product-info { padding: .65rem; }
  .product-info > p:not(.product-price) { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
  .catalog-tools { grid-template-columns: 1fr; }
  .product-dialog { width: min(100% - 1rem, 38rem); padding: .8rem; }
  .quick-view-layout { grid-template-columns: 1fr; gap: 1rem; }
  .quick-view-image-frame { min-height: 12rem; max-height: 35vh; }
  .quick-view-image-frame img { max-height: 35vh; }
  .wholesale-tier-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .wholesale-tier-row > button { justify-self: start; }
  .cart-line { align-items: start; flex-direction: column; }
  .cart-line-controls { width: 100%; justify-items: start; }
  .cart-line-price { text-align: left; }
  .checkout-section { grid-template-columns: 1fr; padding: 1.25rem; }
  .store-details { gap: 1rem; margin-top: 2rem; padding: 1.1rem; }
  .store-description { font-size: .92rem; }
  .store-hours-row { padding: .55rem 0; font-size: .9rem; }
  .admin-topbar { padding: .9rem 1rem; }
  .admin-workspace { display: block; }
  .admin-sidebar { padding: .8rem 1rem; border: 0; border-bottom: 1px solid var(--line); }
  .admin-sidebar > .eyebrow { display: none; }
  .admin-nav { display: flex; overflow-x: auto; margin: 0; }
  .admin-nav button { flex: 0 0 auto; }
  .admin-content { padding: 1.25rem; }
  .metric-grid { grid-template-columns: 1fr; }
  .admin-form-grid { grid-template-columns: 1fr; }
  .admin-form .span-all { grid-column: auto; }
  .settings-social-grid { grid-template-columns: 1fr; }
  .orders-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .orders-table-wrap { overflow: visible; border: 0; background: transparent; }
  .orders-table { display: block; min-width: 0; }
  .orders-table thead { display: none; }
  .orders-table tbody { display: grid; gap: .8rem; }
  .orders-table tbody tr:not(.order-detail-row) { display: grid; gap: 0; overflow: hidden; border: 1px solid var(--line); border-radius: .8rem; background: white; }
  .orders-table tbody tr:not(.order-detail-row) td { display: grid; grid-template-columns: minmax(5.5rem, .65fr) minmax(0, 1fr); align-items: start; gap: .65rem; padding: .65rem .8rem; border-bottom: 1px solid var(--line); overflow-wrap: anywhere; }
  .orders-table tbody tr:not(.order-detail-row) td::before, .order-items-table tbody td::before { content: attr(data-label); color: var(--muted); font-size: .78rem; font-weight: 700; }
  .orders-table tbody tr:not(.order-detail-row) td:last-child { border-bottom: 0; }
  .orders-table .order-number, .orders-table .order-total { white-space: normal; }
  .orders-table .order-status { justify-self: start; margin: 0; }
  .orders-table .order-status-select { grid-column: 2; width: 100%; min-width: 0; margin-top: .45rem; }
  .orders-table .order-detail-row { display: block; overflow: hidden; border: 1px solid var(--line); border-radius: .8rem; background: white; }
  .orders-table .order-detail-cell { display: block; padding: .8rem; border: 0; }
  .order-detail { min-width: 0; }
  .order-items-table { display: block; min-width: 0; }
  .order-items-table thead { display: none; }
  .order-items-table tbody { display: grid; gap: .55rem; }
  .order-items-table tbody tr { display: grid; overflow: hidden; border: 1px solid var(--line); border-radius: .6rem; }
  .order-items-table tbody td { display: grid; grid-template-columns: minmax(6.5rem, .7fr) minmax(0, 1fr); gap: .65rem; padding: .55rem .65rem; border-bottom: 1px solid var(--line); overflow-wrap: anywhere; font-size: .82rem; }
  .order-items-table tbody td:last-child { border-bottom: 0; }
  .settings-day { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .settings-day > strong { grid-column: 1 / -1; }
  .admin-record { grid-template-columns: minmax(0, 1fr); }
  .record-actions { justify-content: start; }
  .variant-row { align-items: start; flex-direction: column; }
  .offer-row { align-items: start; flex-direction: column; }
  .admin-list-heading { align-items: start; }
}

.store-page {
  --ink: #302735;
  --muted: #756c79;
  --line: #eee5e8;
  --surface: #ffffff;
  --canvas: #fffaf7;
  --green: #624b70;
  --green-soft: #f2eaf5;
  --accent: #df7069;
  --danger: #ad3f45;
  background: var(--canvas);
}
.store-page .store-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  position: sticky;
  z-index: 5;
  top: 0;
  min-height: 5.2rem;
  padding: .65rem clamp(1rem, 4vw, 3.5rem);
  border-bottom: 1px solid rgb(98 75 112 / 10%);
  background: rgb(255 255 255 / 94%);
  box-shadow: 0 5px 22px rgb(63 42 58 / 5%);
  backdrop-filter: blur(12px);
}
.store-page .store-menu { position: relative; grid-column: 1; justify-self: start; }
.store-page .store-menu summary {
  display: grid;
  width: 2.7rem;
  min-height: 2.7rem;
  align-content: center;
  justify-items: center;
  gap: .28rem;
  border: 1px solid #eee4e9;
  border-radius: .75rem;
  background: #fff;
  cursor: pointer;
  list-style: none;
}
.store-page .store-menu summary::-webkit-details-marker { display: none; }
.store-page .store-menu summary span { width: 1.15rem; height: 2px; border-radius: 2px; background: var(--ink); }
.store-page .store-menu nav {
  position: absolute;
  z-index: 6;
  top: calc(100% + .65rem);
  left: 0;
  display: grid;
  width: min(18rem, calc(100vw - 1.5rem));
  max-height: min(75vh, 32rem);
  gap: .15rem;
  overflow-y: auto;
  padding: .5rem;
  border: 1px solid #eee4e9;
  border-radius: .85rem;
  background: #fff;
  box-shadow: 0 12px 32px rgb(63 42 58 / 14%);
}
.store-page .store-menu:not([open]) > nav { display: none; }
.store-page .store-menu nav a {
  padding: .7rem .8rem;
  border-radius: .55rem;
  color: var(--ink);
  font-size: .9rem;
  font-weight: 650;
  text-decoration: none;
}
.store-page .store-menu nav a:hover,
.store-page .store-menu nav a:focus-visible { background: #fff3f1; color: #bd5367; }
.store-page .brand {
  position: absolute;
  left: 50vw;
  max-width: calc(100% - 8rem);
  align-items: center;
  gap: .6rem;
  transform: translate(-50%, -50%);
  color: var(--ink);
  font-size: 1.05rem;
}
.store-page .store-header > .brand { top: 50%; }
.store-page .header-cart { grid-column: 3; justify-self: end; }
.store-page .brand-mark { background: linear-gradient(145deg, #df7069, #bd617e); }
.store-page .brand-mark { width: 3.4rem; border-radius: 50%; }
.store-page .store-logo { width: 4rem; height: 4rem; border-radius: 50%; background: #fff3f0; }
.store-page .header-search { display: block; width: min(32rem, 48vw); margin: 0 auto; }
.store-page .header-search input {
  min-height: 2.7rem;
  padding-left: 1rem;
  border-color: #eee4e9;
  border-radius: 99px;
  background: #fffafc;
}
.store-page input:focus, .store-page select:focus {
  outline: 3px solid rgb(223 112 105 / 22%);
  border-color: var(--accent);
}
.store-page .header-cart {
  min-height: 2.65rem;
  padding: .55rem 1rem;
  border-radius: 99px;
  box-shadow: 0 5px 12px rgb(190 83 89 / 18%);
}
.store-page #cart-count {
  display: inline-grid;
  min-width: 1.45rem;
  min-height: 1.45rem;
  place-items: center;
  padding: 0 .25rem;
  border-radius: 99px;
  background: rgb(255 255 255 / 22%);
}
.store-page main { padding-top: .4rem; }
.store-page #category-list,
.store-page .store-product-section,
.store-page #cart,
.store-page #store-details,
.store-page #catalog-start { scroll-margin-top: 5.5rem; }
.store-page .store-search-row { padding: .45rem 0 .2rem; }
.store-page .store-search-row .header-search { display: block; width: min(40rem, 100%); margin: 0 auto; }
.store-page .catalog-section { padding: .65rem 0 3rem; }
.store-page .section-heading {
  display: grid;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1rem;
}
.store-page .section-heading h2 {
  margin: 0;
  font-family: inherit;
  font-size: clamp(1.45rem, 3vw, 2rem);
  font-weight: 800;
  letter-spacing: -.04em;
}
.store-page .eyebrow { color: #bd617e; font-size: .67rem; }
.store-page .category-list {
  display: flex;
  flex-wrap: nowrap;
  max-width: 100%;
  gap: .85rem;
  overflow-x: auto;
  padding: .2rem .1rem .6rem;
  scrollbar-width: thin;
  scrollbar-color: #dfcbdc transparent;
}
.store-page .category-chip {
  display: grid;
  flex: 0 0 5.3rem;
  justify-items: center;
  gap: .38rem;
  padding: .2rem;
  border: 0;
  background: transparent;
  color: var(--muted);
  font-size: .75rem;
  font-weight: 650;
  text-align: center;
}
.store-page .category-image {
  display: grid;
  width: 4.1rem;
  aspect-ratio: 1;
  place-items: center;
  overflow: hidden;
  border: 2px solid transparent;
  border-radius: 50%;
  background: linear-gradient(145deg, #f6e8ed, #eee7f5);
  color: var(--green);
  font-size: 1.2rem;
  font-weight: 750;
  transition: border-color .18s ease, transform .18s ease;
}
.store-page .category-image img { width: 100%; height: 100%; object-fit: cover; }
.store-page .category-chip[aria-pressed="true"] .category-image { border-color: var(--accent); transform: translateY(-2px); }
.store-page .category-chip[aria-pressed="true"] .category-label { color: var(--ink); }
.store-page .category-label { max-width: 5.5rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.store-page .category-image-all { background: linear-gradient(145deg, #f8dcd7, #eadcf0); }
.store-page .catalog-tools {
  display: flex;
  justify-content: end;
  margin: .2rem 0 .7rem;
}
.store-page .catalog-sort {
  display: flex;
  align-items: center;
  gap: .6rem;
  color: var(--muted);
  font-size: .8rem;
}
.store-page .catalog-sort select { width: auto; min-width: 11rem; min-height: 2.45rem; border-radius: .75rem; }
.store-page .catalog-section > .notice { margin: .5rem 0; }
.store-page .product-grid {
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 14rem), 1fr));
  gap: 1rem;
}
.store-page .product-card {
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: auto minmax(0, 1fr);
  align-content: start;
  border: 1px solid #f0e6e8;
  border-radius: 1rem;
  box-shadow: 0 5px 18px rgb(68 48 63 / 5%);
  transition: transform .2s ease, box-shadow .2s ease;
}
.store-page .product-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 25px rgb(68 48 63 / 10%);
}
.store-page .product-card-image {
  position: relative;
  aspect-ratio: 1;
  background: linear-gradient(145deg, #fff3f0, #f5eff8);
}
.store-page .product-image { background: transparent; }
.store-page .product-placeholder {
  min-height: 0;
  background: transparent;
  color: #967ba0;
}
.store-page .product-info { width: 100%; min-height: 100%; gap: .25rem; padding: .8rem; }
.store-page .product-info h3 {
  margin: 0;
  font-size: .98rem;
  font-weight: 750;
  line-height: 1.25;
}
.store-page .product-info > p:not(.product-price) {
  display: -webkit-box;
  overflow: hidden;
  margin: 0;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  color: var(--muted);
  font-size: .78rem;
  line-height: 1.4;
}
.store-page .product-info > p:not(.product-price):not(.product-stock-notice) { display: none; }
.store-page .product-card-colors { margin: .25rem 0; }
.store-page .product-card-colors-empty { min-height: 1.8rem; visibility: hidden; }
.store-page .product-card .wholesale-tiers { display: none; }
.store-page .product-card-color {
  display: grid;
  box-sizing: border-box;
  aspect-ratio: 1;
  width: 2.45rem;
  min-width: 2.45rem;
  height: 2.45rem;
  min-height: 2.45rem;
  flex: 0 0 2.45rem;
  place-items: center;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  font-size: 0;
  line-height: 0;
}
.store-page .product-card-color .variant-swatch {
  display: block;
  box-sizing: border-box;
  place-self: center;
  width: 1.55rem;
  height: 1.55rem;
  flex: 0 0 1.55rem;
  margin: 0;
  border: 1px solid rgb(48 39 53 / 14%);
  border-radius: 50%;
}
.store-page .product-price {
  position: relative;
  flex-wrap: wrap;
  gap: .35rem .55rem;
  align-items: center;
  margin: .45rem 0 .1rem !important;
  color: #bc4f5b !important;
  font-size: 1.17rem !important;
  font-weight: 800;
}
.store-page .product-price strong { font-size: inherit; }
.store-page .product-price del { color: #8b818b; font-size: .82rem; }
.store-page .product-info .product-price { margin-top: .2rem !important; }
.store-page .wholesale-tiers { min-height: 1.2rem; font-size: .73rem; }
.store-page .product-stock-notice {
  min-height: 0;
  margin: .15rem 0 .3rem !important;
  font-size: .75rem !important;
}
.store-page .quick-view-button {
  min-height: 2.55rem;
  margin-top: .35rem;
  border: 0;
  border-radius: .75rem;
  background: #684f78;
  color: #fff;
  font-size: .82rem;
}
.store-page .product-info .quick-view-button { margin-top: auto; }
.store-page .quick-view-button:hover { background: #bd4d58; }
.store-page .button-primary {
  background: #d85f64;
  color: #fff;
}
.store-page .button-primary:hover { background: #bd4d58; }
.store-page .button-quiet {
  border-color: #e7dce8;
  background: #fff;
  color: #624b70;
}
.store-page .product-dialog {
  max-height: min(90dvh, 52rem);
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 1rem;
  border-color: #f0e3e9;
  border-radius: 1.25rem;
  box-shadow: 0 22px 70px rgb(34 21 37 / 25%);
}
.store-page .quick-view-close {
  display: grid;
  width: 2.5rem;
  min-height: 2.5rem;
  place-items: center;
  padding: 0;
  border-color: #eadfe8;
  border-radius: 50%;
  color: var(--ink);
  font-size: 0;
}
.store-page .quick-view-close::before {
  content: "×";
  font-size: 1.4rem;
  line-height: 1;
}
.store-page .quick-view-layout { gap: 1.5rem; }
.store-page .quick-view-image-frame {
  min-height: 20rem;
  border-radius: 1rem;
  background: linear-gradient(145deg, #fff1ed, #f2eaf5);
}
.store-page .quick-view-details { gap: .9rem; padding: .5rem 0; }
.store-page .quick-view-details h2 { font-family: inherit; font-size: 1.7rem; font-weight: 800; }
.store-page .variant-choice {
  min-height: 2.7rem;
  border-color: #eadfe8;
  border-radius: 99px;
}
.store-page .variant-choice[aria-pressed="true"] {
  border-color: var(--accent);
  box-shadow: inset 0 0 0 1px var(--accent);
  background: #fff5f3;
}
.store-page .quick-view-details > .button {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  min-height: 3rem;
  justify-self: stretch;
  margin: .15rem 0 0;
  border-radius: .8rem;
}
.store-page .checkout-section {
  border-color: #f0e2e8;
  border-radius: 1.25rem;
  box-shadow: 0 9px 30px rgb(68 48 63 / 5%);
}
.store-page #checkout-title { font-family: inherit; font-weight: 800; }
.store-page .store-footer { border-top: 1px solid var(--line); color: var(--muted); }
.store-page .store-footer a { color: var(--green); }
.store-page .store-socials h2 { margin: 0 0 .75rem; font-family: inherit; font-size: 1.2rem; font-weight: 800; }
.store-page .store-social-links { display: flex; flex-wrap: wrap; gap: .6rem; margin: 0; padding: 0; list-style: none; }
.store-page .store-social-links a {
  display: inline-flex;
  min-height: 2.5rem;
  align-items: center;
  padding: .5rem .8rem;
  border: 1px solid #eee1eb;
  border-radius: 99px;
  color: #684c7a;
  font-weight: 700;
  text-decoration: none;
}
.store-page .store-social-icon { width: 1.2rem; height: 1.2rem; flex: 0 0 1.2rem; fill: currentColor; }
.store-page .store-social-icon-instagram { fill: none; stroke: currentColor; stroke-width: 2; }
.store-page .store-social-icon-instagram circle:last-child { fill: currentColor; stroke: none; }
.store-page .store-social-links a:hover { background: #fff3f1; color: #bd5367; }
.store-page #catalog-load-more { display: block; min-width: 10rem; margin: 1rem auto; }
.store-page #catalog-load-more[hidden] { display: none; }
.store-page .visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  clip-path: inset(50%);
}

@media (min-width: 900px) {
  .store-page .product-grid { grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr)); }
  .store-page .section-heading { grid-template-columns: 1fr; }
  .store-page .category-list { gap: 1.1rem; }
}
@media (max-width: 640px) {
  .store-page .store-header { gap: .4rem; min-height: 4.25rem; padding: .45rem .65rem; }
  .store-page .brand { min-width: 0; gap: .35rem; font-size: .85rem; }
  .store-page .brand { max-width: calc(100% - 6.5rem); }
  .store-page .brand #store-name { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  .store-page .brand-mark { width: 3.5rem; border-radius: 50%; }
  .store-page .store-logo { width: 3.5rem; height: 3.5rem; }
  .store-page .header-search { width: auto; min-width: 4rem; }
  .store-page .header-search input { min-height: 2.4rem; padding: .45rem .7rem; font-size: .78rem; }
  .store-page .header-cart { flex: 0 0 auto; gap: .3rem; min-height: 2.35rem; padding: .45rem .55rem; font-size: .72rem; }
  .store-page #cart-count { min-width: 1.2rem; min-height: 1.2rem; }
  .store-page main { padding: .5rem .75rem 2rem; }
  .store-page .section-heading { gap: .65rem; margin-bottom: .8rem; }
  .store-page .section-heading h2 { font-size: 1.45rem; }
  .store-page .category-list { gap: .45rem; margin-right: -.75rem; padding-right: .75rem; }
  .store-page .category-chip { flex-basis: 4.5rem; gap: .25rem; font-size: .69rem; }
  .store-page .category-image { width: 3.5rem; }
  .store-page .category-label { max-width: 4.5rem; }
  .store-page .catalog-tools { margin: 0 0 .55rem; }
  .store-page .catalog-sort { width: 100%; justify-content: space-between; gap: .5rem; font-size: .72rem; }
  .store-page .catalog-sort span { white-space: nowrap; }
  .store-page .catalog-sort select { min-width: 0; width: 58%; min-height: 2.4rem; }
  .store-page .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .55rem; }
  .store-page .product-card { border-radius: .8rem; }
  .store-page .product-info { padding: .6rem; }
  .store-page .product-info h3 { font-size: .85rem; }
  .store-page .product-info > p:not(.product-price) { font-size: .72rem; }
  .store-page .product-price { gap: .25rem .4rem; font-size: 1rem !important; }
  .store-page .product-price del { font-size: .72rem; }
  .store-page .product-card-colors { gap: .2rem; }
  .store-page .product-card-color { width: 2.35rem; min-width: 2.35rem; height: 2.35rem; min-height: 2.35rem; flex-basis: 2.35rem; padding: 0; font-size: 0; }
  .store-page .product-card-color .variant-swatch { width: 1.45rem; height: 1.45rem; flex-basis: 1.45rem; }
  .store-page .quick-view-button { min-height: 2.4rem; padding: .4rem .35rem; font-size: .72rem; }
  .store-page .product-stock-notice { font-size: .68rem !important; }
  .store-page .product-dialog { width: calc(100% - 1rem); max-height: calc(100dvh - 1rem); padding: .65rem; }
  .store-page .quick-view-close { margin: 0 0 .35rem auto; }
  .store-page .quick-view-layout { grid-template-columns: minmax(0, 1fr); gap: .55rem; min-width: 0; }
  .store-page .quick-view-image-frame {
    width: min(100%, 15rem);
    min-height: 0;
    aspect-ratio: 1;
    max-height: 28dvh;
    margin: 0 auto;
  }
  .store-page .quick-view-image-frame img { max-height: 28dvh; }
  .store-page .quick-view-details { min-width: 0; gap: .45rem; padding: 0; }
  .store-page .quick-view-details h2 { font-size: 1.15rem; }
  .store-page .quick-view-description { max-height: 3.6em; overflow-y: auto; font-size: .8rem; }
  .store-page .quick-view-details .product-price { font-size: 1.08rem !important; }
  .store-page .variant-selectors { gap: .45rem; }
  .store-page .variant-choice-group legend { margin-bottom: .25rem; font-size: .8rem; }
  .store-page .variant-choice-list { gap: .3rem; }
  .store-page .variant-choice { min-height: 2.35rem; padding: .3rem .55rem; font-size: .82rem; }
  .store-page .quick-view-details .wholesale-tiers { gap: .1rem; font-size: .72rem; }
  .store-page .quick-view-details > .button {
    position: sticky;
    z-index: 2;
    bottom: 0;
    min-height: 2.8rem;
    margin: .15rem 0 0;
    padding: .65rem;
    border-radius: .8rem;
    box-shadow: 0 -5px 16px rgb(255 255 255 / 85%);
  }
  .store-page .checkout-section { gap: 1.5rem; padding: 1rem; }
}

.store-page .product-card .product-card-color { font-size: 0; }
.store-page .product-card-color {
  height: 2.45rem;
  min-height: 2.45rem;
}
.store-page .store-section-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: .5rem 0 .85rem;
}
.store-page .store-section-title h2 {
  margin: 0;
  font-family: inherit;
  font-size: clamp(1.2rem, 2vw, 1.55rem);
  font-weight: 800;
  letter-spacing: -.03em;
}
.store-page #offers-title { color: #bd5367; }
.store-page #new-products-title { color: #72568a; }
.store-page #featured-title { color: #604c74; }
.store-page .store-product-section {
  margin: 1.35rem 0;
  padding: 1rem;
  border: 1px solid #f0e5e9;
  border-radius: 1rem;
}
.store-page #offers-section { border-color: #f3d8d7; background: #fff4f2; }
.store-page #new-products-section { border-color: #e9dff0; background: #f8f4fa; }
.store-page #featured-section { border-color: #eee3eb; background: #fff8f5; }
.store-page .product-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  justify-content: stretch;
  gap: .9rem;
}
.store-page .quick-view-button:hover { background: #bd4d58; }
.store-page .product-card { min-width: 0; }
.store-page .product-info { min-width: 0; }
.store-page .product-info h3 { overflow-wrap: anywhere; }
.store-page .product-badge {
  position: absolute;
  z-index: 1;
  top: .6rem;
  right: .6rem;
  display: inline-flex;
  align-items: center;
  align-self: start;
  min-height: 1.35rem;
  padding: .18rem .55rem;
  border-radius: 99px;
  background: #f1e9f5;
  color: #684c7a;
  font-size: .65rem;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.store-page .product-badge-offer { background: #fde4e1; color: #ad4351; }
.store-page .product-price.has-offer::before {
  content: "OFERTA";
  flex-basis: 100%;
  color: #a75575;
  font-size: .6rem;
  font-weight: 800;
  letter-spacing: .1em;
}
@media (min-width: 641px) and (max-width: 999px) {
  .store-page .product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .store-page .product-card-color {
    height: 2.35rem;
    min-height: 2.35rem;
  }
  .store-page .store-header { display: flex; }
  .store-page .store-menu summary { width: 2.35rem; min-height: 2.35rem; }
  .store-page main { padding-bottom: 2rem; }
  .store-page .store-search-row { padding-top: .25rem; }
  .store-page .catalog-section { padding-top: .5rem; }
  .store-page .store-product-section { padding: .75rem; }
  .store-page .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .6rem; }
  .store-page .product-card-image { aspect-ratio: 1; }
  .store-page .product-info { gap: .32rem; }
  .store-page .product-info h3 { min-height: 2.1em; }
  .store-page .product-price { margin-top: .1rem !important; }
  .store-page .product-info .product-price { margin-top: .1rem !important; }
  .store-page .product-card-colors-empty { min-height: 1.6rem; }
  .store-page .store-product-section { margin: 1rem 0; }
  .store-page .store-section-title { margin: .2rem 0 .65rem; }
}

.store-page .product-card .product-card-color { padding: 0; }
@media (max-width: 640px) {
  .store-page .product-card .product-card-color {
    height: 2.35rem;
    min-height: 2.35rem;
  }
}
