/* Unified light workspace theme. The public and authenticated navigation stays
   dark for identity; content surfaces stay light for legibility and density. */
:root {
  color-scheme: light;
  --app-canvas: #edf3f2;
  --app-nav: #0b232a;
  --app-nav-soft: #12343d;
  --app-surface: #ffffff;
  --app-surface-soft: #f4f8f7;
  --app-surface-raised: #e8f1f0;
  --app-media: #f0f6f5;
  --app-text: #17343b;
  --app-text-soft: #38545b;
  --app-muted: #667b81;
  --app-border: #d4e1df;
  --app-border-strong: #b7ceca;
  --app-primary: #0f8fa8;
  --app-primary-hover: #08758b;
  --app-success: #16865c;
  --app-warning: #a96908;
  --app-danger: #c44343;
  --app-info: #287fb8;
  --app-shadow: 0 8px 24px rgba(20, 55, 62, .08);
  --app-shadow-raised: 0 18px 46px rgba(20, 55, 62, .14);
  --app-transition: 160ms ease;
}

html { background: var(--app-canvas); }

body,
body.is-authenticated {
  color: var(--app-text);
  background:
    radial-gradient(circle at 88% 0%, rgba(15, 143, 168, .08), transparent 28%),
    linear-gradient(180deg, #f3f7f6 0%, #eaf1f0 100%);
  background-attachment: fixed;
}

body.is-authenticated {
  --surface: var(--app-surface);
  --surface-soft: var(--app-surface-soft);
  --surface-raised: var(--app-surface-raised);
  --text: var(--app-text);
  --muted: var(--app-muted);
  --border: var(--app-border);
  --border-strong: var(--app-border-strong);
  --primary: var(--app-primary);
  --primary-hover: var(--app-primary-hover);
  --primary-text: #fff;
  --success: var(--app-success);
  --warning: var(--app-warning);
  --danger: var(--app-danger);
  --focus: var(--app-primary);
  --shadow: var(--app-shadow);
  --shadow-raised: var(--app-shadow-raised);
}

a { color: var(--app-primary-hover); }

button,
input,
select,
textarea,
summary,
.panel,
.topbar,
.workflow-stages,
.cart-summary > div,
.app-dialog-card {
  transition: color var(--app-transition), border-color var(--app-transition),
    background-color var(--app-transition), box-shadow var(--app-transition),
    transform var(--app-transition), opacity var(--app-transition);
}

button,
input,
select,
textarea {
  border-color: var(--app-border);
  color: var(--app-text);
  background-color: #fff;
}

input::placeholder,
textarea::placeholder { color: #8ca0a4; }

button:hover:not(:disabled) {
  border-color: var(--app-border-strong);
  background-color: var(--app-surface-raised);
}

button.primary,
.primary,
.app-dialog-confirm {
  border-color: var(--app-primary);
  color: #fff;
  background: var(--app-primary);
  box-shadow: 0 6px 16px rgba(15, 143, 168, .18);
}

button.primary:hover:not(:disabled),
.primary:hover:not(:disabled),
.app-dialog-confirm:hover:not(:disabled) {
  border-color: var(--app-primary-hover);
  color: #fff;
  background: var(--app-primary-hover);
}

button:disabled,
input:disabled,
select:disabled,
textarea:disabled { opacity: .5; }

button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible,
a:focus-visible {
  outline: 3px solid rgba(15, 143, 168, .24);
  outline-offset: 2px;
}

.panel,
.app-dialog-card,
dialog form,
.product-empty,
.workflow-stages,
.scan-task-item,
.task-center-item {
  border-color: var(--app-border);
  background: var(--app-surface);
  box-shadow: var(--app-shadow);
}

.panel { border-radius: 12px; }
.eyebrow { color: var(--app-primary-hover); }
.section-title,
.panel-heading { border-color: var(--app-border); }
.section-title h2,
.panel-heading h2,
.panel-heading h3,
.topbar h1,
.topbar h2 { color: var(--app-text); }
.section-title span,
.account-meta,
.product-meta,
.scan-task-meta,
.scan-task-products { color: var(--app-muted); }

.table-wrap,
.inventory-table-wrap {
  border-color: var(--app-border);
  background: #fff;
}
table { color: var(--app-text); background: #fff; }
thead th { color: #5c7278; background: #f1f6f5; }
tbody tr { border-color: var(--app-border); background: #fff; }
tbody tr:hover { background: #f4f9f8; }
code, pre { border-color: var(--app-border); background: #e8f1f0; color: var(--app-text); }

.status-badge,
.order-status-badge,
.task-status-badge,
.task-site-badge,
.inventory-tag { border: 1px solid transparent; }
.status-badge.active,
.task-status-badge.status-completed,
.task-status-badge.status-submitted { border-color: #bde7d2; background: #e3f7ec; color: #12683f; }
.status-badge.disabled,
.task-status-badge.status-failed { border-color: #f0c7c7; background: #fdecec; color: #a43535; }
.danger-text { color: var(--app-danger); }
.danger-text:hover:not(:disabled),
.danger:hover:not(:disabled) { border-color: #e4a8a8; background: #fdecec; color: #9f2f2f; }
.danger { border-color: #efc1c1; background: #fff4f4; color: #ac3838; }

/* Shared site consoles: dark identity bar, light working surfaces. */
body[data-site] .shell { padding-top: 16px; }
body[data-site] .topbar,
body[data-site] .mobile-action-dock {
  border-color: #24434a;
  color: #eefafa;
  background: var(--app-nav);
}
body[data-site] .topbar { border: 1px solid #24434a; border-radius: 12px; box-shadow: var(--app-shadow); }
body[data-site] .topbar h1,
body[data-site] .topbar h2 { color: #eefafa; }
body[data-site] .topbar button:not(.primary) { border-color: #36555c; color: #dceced; background: var(--app-nav-soft); }
body[data-site] .workflow-stages { border: 1px solid var(--app-border); border-radius: 12px; background: #fff; }
body[data-site] .workflow-stages a,
body[data-site] .workflow-stages button { color: var(--app-muted); background: transparent; }
body[data-site] .workflow-stages .active,
body[data-site] .workflow-stages [aria-current="step"] { color: #075d70; background: #e1f4f6; }
body[data-site] .credential-panel,
body[data-site] .workflow-panel,
body[data-site] .scan-task-panel,
body[data-site] .site-scan-task-section { border-color: var(--app-border); background: #fff; }
body[data-site] .credential-tabs,
body[data-site] .cart-summary > div { background: var(--app-surface-soft); }
body[data-site] .credential-tab { color: var(--app-muted); }
body[data-site] .credential-tab.active { color: var(--app-text); background: #fff; }
body[data-site] .product-empty { background: var(--app-surface-soft); }
body[data-site] img.product-image,
body[data-site] .product-card img,
body[data-site] .product-thumb img { background: var(--app-media); object-fit: contain; }

/* Account and administration */
.account-shell { max-width: 1440px; }
.admin-shell { width: calc(100% - 24px); max-width: none; grid-template-columns: 204px minmax(0, 1fr); align-items: start; gap: 12px; }
.account-nav {
  min-height: 68px;
  padding: 12px 16px;
  border: 1px solid #24434a;
  border-radius: 12px;
  color: #eefafa;
  background: var(--app-nav);
  box-shadow: var(--app-shadow);
}
.account-nav h1 { margin: 0; color: #fff; font-size: clamp(23px, 2.2vw, 32px); }
.account-nav .eyebrow { color: #7ddae6; }
.account-nav button:not(.primary) { border-color: #36555c; color: #dceced; background: var(--app-nav-soft); }
.account-panel { color: var(--app-text); background: #fff; }
.profile-card,
.profile-permissions,
.account-permission-card,
.security-setting,
.wecom-mobile-prep,
.wecom-binding,
.wecom-plugin-code,
.wecom-join-qr-card,
.wecom-bind-code-card,
.mailbox-control-grid > *,
.wecom-app-card,
.system-notice-compose,
.system-notice-preview { border-color: var(--app-border); background: var(--app-surface-soft); }
.account-permission-card { position: relative; overflow: hidden; }
.account-permission-card::before { position: absolute; inset: 0 auto 0 0; width: 3px; background: var(--app-primary); content: ""; }
.security-setting + .security-setting { border-color: var(--app-border); }
.wecom-binding small { color: var(--app-success); }

.admin-shell > .account-nav { grid-column: 1 / -1; }
.admin-nav-toggle { display: none; }
.admin-nav-groups {
  position: sticky;
  top: 12px;
  grid-column: 1;
  display: grid;
  grid-template-columns: 1fr;
  align-self: start;
  align-content: start;
  height: fit-content;
  gap: 6px;
  padding: 8px;
  border: 1px solid var(--app-border);
  border-radius: 12px;
  background: #fff;
  box-shadow: var(--app-shadow);
}
.admin-nav-group { gap: 4px; padding: 8px; border: 0; border-radius: 8px; background: transparent; }
.admin-nav-group + .admin-nav-group { border-top: 1px solid var(--app-border); border-radius: 0; padding-top: 12px; }
.admin-nav-group > p { color: #73878c; }
.admin-tabs { display: grid; grid-template-columns: 1fr; gap: 3px; }
.admin-tab { width: 100%; min-height: 38px; justify-content: flex-start; border-color: transparent; color: var(--app-muted); background: transparent; text-align: left; }
.admin-tab:hover:not(:disabled) { border-color: transparent; color: #075d70; background: #edf7f7; }
.admin-tab.active { border-color: #cae8eb; color: #075d70; background: #e1f4f6; box-shadow: inset 3px 0 0 var(--app-primary); }
.admin-global-message,
.admin-tab-panel { grid-column: 2; min-width: 0; }
.admin-global-message { margin: 0; }
.admin-tab-panel { animation: admin-panel-in 160ms ease both; }
.admin-table { min-width: 1040px; color: var(--app-text); background: #fff; }
.admin-table th { color: #60757b; background: #f1f6f5; }
.admin-table td { color: var(--app-text); background: #fff; }
.admin-table tbody tr:hover td { background: #f5faf9; }
.row-actions { min-width: 218px; }
.site-access-cell { min-width: 190px; }
.inventory-admin-head { border-color: var(--app-border); background: linear-gradient(135deg, #f4faf9, #eaf4f3); }

/* Inventory catalog */
.inventory-action-guide { gap: 8px; }
.inventory-action-guide article { min-height: 0; padding: 14px; border-color: var(--app-border); border-radius: 10px; background: #fff; }
.inventory-action-guide article:nth-child(1) { border-color: #ebd9aa; background: #fffaf0; }
.inventory-action-guide article:nth-child(2) { border-color: #efcccc; background: #fff6f6; }
.inventory-action-guide article.inventory-action-safe { border-color: #bfe1e5; background: #f0fafb; }
.inventory-action-guide article p,
.inventory-filter-panel label { color: var(--app-muted); }
.inventory-action-kind { color: var(--app-primary-hover); }
.inventory-tabs {
  position: sticky;
  top: 12px;
  z-index: 12;
  gap: 4px;
  overflow-x: auto;
  scrollbar-width: thin;
  scroll-snap-type: x proximity;
  border-color: var(--app-border);
  background: rgba(255, 255, 255, .96);
  box-shadow: var(--app-shadow);
}
.inventory-tabs button { flex: 0 0 auto; scroll-snap-align: start; border-color: transparent; color: var(--app-muted); background: transparent; }
.inventory-tabs button.active { color: #fff; background: var(--app-primary); }
.inventory-filter-tools { display: none; }
.inventory-filter-panel { border-color: var(--app-border); background: #fff; }
.inventory-grid { gap: 12px; }
.inventory-card,
.core-summary-card,
.offer-card,
.schedule-card,
.site-profile-card,
.catalog-category-group,
.site-category-reference,
.discovery-proxy-config,
.review-filter-panel,
.brand-list-filters { border-color: var(--app-border); background: #fff; box-shadow: none; }
.core-lowest-price,
.unit-price-summary,
.unit-price-detail,
.catalog-category-row,
.offer-variant,
.core-details-product dl > div,
.core-details-offers .offer-card { border-color: var(--app-border); background: var(--app-surface-soft); }
.core-lowest-price strong,
.unit-price-detail strong,
.unit-price-detail span { color: var(--app-primary-hover); }
.inventory-card img,
.inventory-product-image,
.core-details-product > img,
.core-details-image-placeholder,
.site-product-cell img,
.site-profile-logo { background: var(--app-media); object-fit: contain; }
.inventory-dialog { color: var(--app-text); background: #fff; box-shadow: var(--app-shadow-raised); }
.inventory-dialog::backdrop { background: rgba(4, 26, 32, .54); backdrop-filter: blur(3px); }
.inventory-empty,
.catalog-message,
.catalog-loading { border-color: var(--app-border); background: var(--app-surface-soft); color: var(--app-muted); }

/* Tasks and authentication */
.task-center-filters { border: 1px solid var(--app-border); border-radius: 10px; background: #fff; }
.task-center-item { border-color: var(--app-border); background: #fff; }
.task-center-item.status-running { border-color: #8fd1d9; }
.task-center-item.status-failed { border-color: #e8b0b0; }
.task-center-products > span { border-color: var(--app-border); background: var(--app-surface-raised); }
.auth-panel,
.puzzle-dialog-card { border: 1px solid var(--app-border); background: #fff; box-shadow: var(--app-shadow-raised); }
.login-methods,
.puzzle-launcher,
.slider-track { background: var(--app-surface-soft); }
.login-method.active { color: var(--app-text); background: #fff; box-shadow: var(--app-shadow); }
.puzzle-launcher button { background: var(--app-surface-raised); }
.auth-help .auth-link:hover { background: #e8f5f6; }

/* Public landing and pipe-tobacco catalog */
.landing-page { color: #08161b; background: #f3f9f9; }
.landing-intro { color: #08161b; }
.landing-copy h1,
.landing-copy h2,
.landing-copy strong { color: #08161b; }
.landing-copy p { color: #536a70; }
.landing-header { border-color: var(--public-nav-border, rgba(207, 235, 234, .2)); background: var(--public-nav-bg, #195354); box-shadow: 0 10px 30px rgba(5, 38, 42, .14); backdrop-filter: blur(16px) saturate(112%); }
.catalog-page-header-shell { border-color: transparent; background: transparent; box-shadow: none; backdrop-filter: none; }
.landing-brand,
.landing-nav a,
.landing-nav span,
.header-login,
.catalog-page-header .header-login,
.catalog-page-header .landing-nav a[aria-current="page"] { color: #eaf7f7; }
.landing-nav a::after,
.landing-nav span::after { background: #22b8cf; }
.landing-nav a:hover { color: #7ce0eb; }
.catalog-page-shell { color: var(--app-text); background: var(--app-canvas); }
.catalog-section { color: var(--app-text); background: #edf3f2; }
.catalog-section-heading h1 { color: var(--app-text); }
.catalog-section-heading span { color: var(--app-muted); }
.catalog-toolbar,
.catalog-brand-sidebar,
.catalog-product-card,
.catalog-favorites-dialog,
.catalog-drawer,
.catalog-offer-card { border-color: var(--app-border); background: #fff; box-shadow: var(--app-shadow); }
.catalog-toolbar label,
.catalog-brand-scope,
.catalog-results-meta,
.catalog-original-name,
.catalog-detail-original-name,
.catalog-offer-name,
.catalog-variant small { color: var(--app-muted); }
.catalog-toolbar input,
.catalog-toolbar select,
.catalog-brand-sidebar input { border-color: var(--app-border); color: var(--app-text); background: #fff; }
.catalog-toolbar form button,
.catalog-detail-button { color: #fff; background: var(--app-primary); }
.catalog-brand-sidebar h3,
.catalog-results-meta strong,
.catalog-card-heading h3,
.catalog-detail-identity h2,
.catalog-detail-section > h3,
.catalog-offer-heading strong,
.catalog-variant strong,
.catalog-variant span { color: var(--app-text); }
.catalog-initials button,
.catalog-brand-list button { color: var(--app-muted); background: transparent; }
.catalog-initials button:hover,
.catalog-brand-list button:hover { background: #edf7f7; }
.catalog-initials button.is-active,
.catalog-brand-list button.is-active { color: #075d70; background: #dff3f5; }
.catalog-brand-list small { color: #7a8f94; }
.catalog-brand-list b { color: #075d70; background: #e2f3f5; }
.catalog-product-card { grid-template-rows: 230px minmax(0, 1fr); border-radius: 12px; }
.catalog-product-card:hover { border-color: var(--app-border-strong); box-shadow: var(--app-shadow-raised); transform: translateY(-2px); }
.catalog-product-image,
.catalog-product-image.is-large { background: linear-gradient(145deg, #f7fbfa, #edf4f3); isolation: isolate; }
.catalog-product-image img { mix-blend-mode: multiply; object-fit: contain; }
.catalog-favorite-button { flex: 0 0 38px; width: 38px; height: 38px; min-height: 38px; border-color: #bdd0d1; background: #fff; color: #71888c; }
.catalog-favorite-button.is-active { border-color: #ee93a3; background: #fff0f2; color: #d7475d; }
.catalog-category,
.catalog-detail-badges > span:not(.catalog-stock) { background: #eaf3f2; color: #536c72; }
.catalog-price-panel,
.catalog-variant { background: var(--app-surface-soft); }
.catalog-price-panel strong { color: #08758b; }
.catalog-price-panel small,
.catalog-offer-actions a { color: #08758b; }
.catalog-offer-site-notes { color: var(--app-muted); }
.catalog-offer-site-notes b { color: var(--app-text-soft); }
.catalog-stock.is-available { background: #dff8e8; color: #187142; }
.catalog-stock.is-out_of_stock { background: #f7e9e9; color: #a94b4b; }
.catalog-stock.is-data_issue { background: #fff3d6; color: #9b6a11; }
.catalog-my-favorites,
.catalog-load-more,
.catalog-drawer-favorite { border-color: var(--app-border-strong); color: #075d70; background: #fff; }
.catalog-favorites-header,
.catalog-drawer-topbar { border-color: var(--app-border); background: #fff; }
.catalog-favorites-header h2,
.catalog-drawer-topbar { color: var(--app-text); }
.catalog-favorites-header span { color: var(--app-muted); }
.catalog-favorites-header > button,
.catalog-drawer-topbar button { background: var(--app-surface-raised); color: var(--app-text); }
.catalog-drawer { width: min(680px, 100%); }
.catalog-drawer-content { overscroll-behavior: contain; }
.catalog-drawer-state { color: var(--app-muted); }
.catalog-drawer-state.is-error { color: var(--app-danger); }

/* Public tools keep their own layout but share the same light surface language. */
.calculator-page,
.exchange-page { color: var(--app-text); }
.calculator-card,
.exchange-converter,
.exchange-rates-card,
.exchange-notes > div { border-color: rgba(183, 206, 202, .72); background: rgba(255, 255, 255, .9); box-shadow: var(--app-shadow); }
.calculator-card input,
.calculator-card select,
.calculator-card .custom-select-trigger,
.exchange-page input,
.exchange-page select,
.exchange-page .custom-select-trigger { color: var(--app-text); background: #fff; }

@keyframes admin-panel-in {
  from { opacity: 0; transform: translateY(4px); }
  to { opacity: 1; transform: none; }
}

@media (max-width: 1080px) {
  .admin-shell { grid-template-columns: 188px minmax(0, 1fr); }
  .catalog-layout { grid-template-columns: 220px minmax(0, 1fr); gap: 16px; }
  .catalog-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .inventory-action-guide { grid-template-columns: 1fr; }
  .inventory-action-guide article { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; }
}

@media (max-width: 760px) {
  .shell { width: min(100% - 20px, var(--content-max)); padding-top: 10px; }
  button, input, select, textarea { min-height: 44px; }
  .account-shell,
  .admin-shell { display: grid; width: min(100% - 20px, 1440px); grid-template-columns: 1fr; margin-top: 10px; gap: 10px; }
  .account-nav { grid-column: 1; align-items: flex-start; padding: 12px; flex-direction: column; }
  .account-nav > div:first-child { min-width: 0; }
  .account-nav h1 { font-size: 23px; line-height: 1.15; white-space: nowrap; }
  .admin-actions { width: 100%; justify-content: flex-start; }
  .admin-actions button { flex: 1 1 auto; min-width: 0; }
  .admin-nav-toggle { display: flex; grid-column: 1; width: 100%; align-items: center; justify-content: space-between; border-color: #24434a; color: #eefafa; background: var(--app-nav); }
  .admin-nav-toggle::after { content: "⌄"; color: #c2d7da; font-size: 18px; transition: transform var(--app-transition); }
  .admin-nav-toggle[aria-expanded="true"]::after { transform: rotate(180deg); }
  .admin-nav-groups { position: static; grid-column: 1; max-height: 0; margin: 0; padding-block: 0; overflow: hidden; border-width: 0; opacity: 0; visibility: hidden; transform: translateY(-4px); transition: max-height 180ms ease, opacity 160ms ease, transform 160ms ease, padding 160ms ease, border-width 160ms ease; }
  .admin-nav-groups.is-open { max-height: 720px; padding-block: 8px; border-width: 1px; opacity: 1; visibility: visible; transform: none; }
  .admin-global-message,
  .admin-tab-panel,
  .inventory-action-guide,
  .inventory-tabs,
  .inventory-filter-panel,
  .inventory-view,
  .inventory-admin-panel > .inventory-view,
  .inventory-admin-panel > .jobs-layout,
  .inventory-admin-panel > .category-config-layout,
  .inventory-admin-panel > .ai-settings-layout { grid-column: 1; }
  .inventory-action-guide { display: none; }
  .inventory-action-guide.is-open { display: grid; }
  .inventory-action-guide article { grid-template-columns: 1fr; }
  .inventory-tabs { position: relative; top: auto; margin-inline: -1px; padding: 5px; }
  .inventory-tabs::after { position: sticky; right: 0; width: 26px; flex: 0 0 26px; align-self: stretch; background: linear-gradient(90deg, transparent, #fff); content: ""; pointer-events: none; }
  .inventory-filter-tools { display: flex; grid-column: 1; flex-wrap: wrap; gap: 8px; align-items: center; justify-content: space-between; }
  .inventory-filter-tools button { flex: 1 1 auto; }
  .inventory-filter-summary { width: 100%; overflow: hidden; color: var(--app-muted); font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
  .inventory-filter-panel { max-height: 0; padding-block: 0; overflow: hidden; border-width: 0; opacity: 0; visibility: hidden; transition: max-height 180ms ease, opacity 160ms ease, padding 160ms ease, border-width 160ms ease; }
  .inventory-filter-panel.is-open { max-height: 880px; padding-block: 14px; border-width: 1px; opacity: 1; visibility: visible; }
  .inventory-filter-panel button { width: 100%; }
  .inventory-card { border-radius: 10px; }
  .task-center-filters { grid-template-columns: 1fr; }
  .catalog-page-header-shell { position: sticky; top: 0; z-index: 80; }
  .catalog-mobile-tabs { border-color: var(--app-border); background: #fff; }
  .catalog-mobile-tabs a { color: var(--app-muted); }
  .catalog-mobile-tabs a[aria-current="page"] { color: #075d70; background: #e1f4f6; }
  .catalog-toolbar { padding: 14px; }
  .catalog-layout { grid-template-columns: 1fr; }
  .catalog-product-card { grid-template-rows: 210px minmax(0, 1fr); }
  .catalog-drawer-shell { z-index: 120; }
  .catalog-drawer { inset: 0; width: 100%; height: 100dvh; max-height: 100dvh; border: 0; border-radius: 0; }
  .catalog-drawer-topbar { position: sticky; top: 0; z-index: 2; min-height: calc(58px + env(safe-area-inset-top)); padding: env(safe-area-inset-top) 16px 0; }
  .catalog-drawer-content { padding: 16px 16px calc(24px + env(safe-area-inset-bottom)); }
  .catalog-detail-identity { grid-template-columns: 96px minmax(0, 1fr); align-items: start; }
  .catalog-product-image.is-large { width: 96px; height: 96px; border-radius: 14px; }
  .catalog-favorites-shell { z-index: 110; padding: 8px; }
  .catalog-favorites-dialog { width: 100%; max-height: calc(100dvh - 16px); border-radius: 12px; }
  .admin-table { min-width: 0; }
}

@media (max-width: 520px) {
  .account-nav { gap: 10px; }
  .account-nav .eyebrow { display: none; }
  .admin-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .admin-actions button:first-child:last-child { grid-column: 1 / -1; }
  .account-grid { grid-template-columns: 1fr; gap: 10px; }
  .account-panel { padding: 14px; }
  .account-permission-grid,
  .security-settings-grid { grid-template-columns: 1fr; }
  .catalog-section-heading { align-items: flex-start; }
  .catalog-section-heading h1 { font-size: 34px; }
  .catalog-product-grid,
  .catalog-favorites-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .catalog-product-card,
  .catalog-favorites-grid .catalog-product-card { grid-template-columns: 1fr; grid-template-rows: 102px auto; }
  .catalog-card-body { padding: 8px 7px 9px; }
  .catalog-price-panel { border-radius: 10px; }
  .catalog-detail-identity h2 { font-size: 19px; }
  .catalog-variant { grid-template-columns: 1fr; }
  .catalog-variant > div:last-child { justify-items: start; text-align: left; }
}

@media (max-width: 640px) {
  .catalog-product-grid,
  .catalog-favorites-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .catalog-product-card,
  .catalog-favorites-grid .catalog-product-card { grid-template-columns: 1fr; grid-template-rows: 102px auto; }
  .catalog-card-body { padding: 8px 7px 9px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
