:root {
  --store-navy: #181b2f;
  --store-red: #f01831;
  --store-orange: #ff5a1f;
  --store-yellow: #ffc400;
  --store-text: #22243a;
  --store-muted: #6979b9;
  --store-bg: #f5f6f9;
  --store-card: #ffffff;
  --store-border: #dfe3eb;
  --store-shadow: 0 1px 2px rgba(15, 23, 42, .04), 0 8px 20px rgba(15, 23, 42, .06);
}

* {
  box-sizing: border-box;
}

body.storefront {
  margin: 0;
  background: var(--store-bg);
  color: var(--store-text);
  font-family: var(--app-font-family, Inter, Arial, Helvetica, sans-serif);
}

.storefront a {
  color: inherit;
  text-decoration: none;
}

.store-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: linear-gradient(to bottom, var(--store-navy) 0 70px, #fff 70px 100%);
  box-shadow: 0 7px 22px rgba(18, 21, 38, .16);
}

.store-header.not-sticky {
  position: relative;
}

.mobile-store-topbar,
.mobile-store-search,
.mobile-store-drawer,
.mobile-drawer-overlay,
.mobile-bottom-nav {
  display: none;
}

.store-notice {
  min-height: 34px;
  display: grid;
  place-items: center;
  padding: 7px 18px;
  background: #fff0f1;
  color: #d9142d;
  font-size: 13px;
  font-weight: 800;
  text-align: center;
}

.store-topbar {
  height: 70px;
  display: grid;
  grid-template-columns: 206px minmax(280px, 560px) minmax(360px, 1fr);
  align-items: center;
  gap: 16px;
  max-width: 1350px;
  margin: 0 auto;
  padding: 0 24px;
  background: transparent;
  color: #fff;
}

.store-brand {
  display: flex;
  align-items: center;
  justify-self: start;
  gap: 10px;
  width: 206px;
  height: 56px;
  font-size: 24px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: 0;
  white-space: nowrap;
}

.store-brand > span:last-child span {
  color: #ff3657;
}

.store-logo-text-fallback {
  display: none;
  align-items: center;
  color: #fff;
  font-size: 24px;
  font-weight: 900;
  line-height: 1;
}

.brand-mark {
  width: 38px;
  height: 38px;
  display: inline-grid;
  place-items: center;
  border-radius: 10px;
  background: linear-gradient(135deg, #ff3a24, #ff6b18);
  color: #fff;
  font-size: 14px;
  font-weight: 900;
  flex: 0 0 38px;
}

.store-logo-image {
  display: block;
  width: 186px;
  height: 56px;
  max-width: 100%;
  object-fit: contain;
  object-position: left center;
}

.store-search {
  position: relative;
  height: 46px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 53px;
  align-self: center;
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: 999px;
  overflow: visible;
  background: #35384c;
}

.store-search input {
  min-width: 0;
  border: 0;
  outline: 0;
  padding: 0 18px;
  background: transparent;
  color: #fff;
  font: inherit;
  font-size: 13px;
}

.store-search input::placeholder {
  color: #b8bdcc;
}

.store-search button {
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 0 999px 999px 0;
  background: var(--store-red);
  color: #fff;
  cursor: pointer;
}

.store-search button svg {
  width: 21px;
  height: 21px;
  stroke-width: 2.6;
}

.store-live-search {
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  left: 0;
  z-index: 80;
  max-height: min(430px, calc(100vh - 150px));
  overflow: auto;
  padding: 8px;
  border: 1px solid #e7e9f0;
  border-radius: 8px;
  background: #fff;
  color: var(--store-text);
  box-shadow: 0 18px 40px rgba(18, 21, 38, .22);
}

.store-live-search[hidden] {
  display: none;
}

.store-live-search-item {
  display: grid;
  grid-template-columns: 50px minmax(0, 1fr) auto;
  align-items: center;
  gap: 11px;
  min-height: 64px;
  padding: 8px;
  border-radius: 7px;
}

.store-live-search-item:hover,
.store-live-search-item:focus {
  background: #f5f6fa;
  outline: 0;
}

.store-live-search-thumb {
  width: 50px;
  height: 50px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border-radius: 7px;
  background: #f1f3f8;
  color: var(--store-red);
  font-weight: 900;
}

.store-live-search-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.store-live-search-body {
  display: grid;
  gap: 5px;
  min-width: 0;
}

.store-live-search-body strong {
  overflow: hidden;
  color: #202338;
  font-size: 13px;
  line-height: 1.3;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.store-live-search-body small {
  color: var(--store-red);
  font-size: 12px;
  font-weight: 800;
}

.store-live-search-item em {
  padding: 4px 7px;
  border-radius: 999px;
  background: #fff0f1;
  color: var(--store-red);
  font-size: 10px;
  font-style: normal;
  font-weight: 900;
  white-space: nowrap;
}

.store-live-search-all,
.store-live-search-empty {
  display: block;
  padding: 12px;
  border-top: 1px solid #edf0f5;
  color: #4d5368;
  font-size: 13px;
  font-weight: 800;
  text-align: center;
}

.store-live-search-all:hover {
  color: var(--store-red);
}

.store-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  align-self: center;
  gap: 26px;
  min-width: 0;
}

.store-actions a {
  position: relative;
  display: grid;
  place-items: center;
  gap: 3px;
  min-width: 50px;
  height: 46px;
  color: #eef1fb;
  font-size: 11px;
  white-space: nowrap;
}

.store-actions a span {
  display: grid;
  place-items: center;
  width: 20px;
  height: 20px;
  line-height: 1;
}

.store-actions a span svg {
  width: 18px;
  height: 18px;
  stroke-width: 2.35;
}

.store-actions .cart-pill {
  height: 46px;
  min-width: 99px;
  grid-template-columns: auto auto;
  align-items: center;
  gap: 7px;
  justify-content: center;
  border-radius: 999px;
  padding: 0 16px;
  background: var(--store-red);
  font-weight: 800;
}

.cart-pill b {
  position: absolute;
  top: -7px;
  right: -5px;
  width: 18px;
  height: 18px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--store-yellow);
  color: #151827;
  font-size: 12px;
}

.category-nav {
  height: 47px;
  display: flex;
  align-items: center;
  gap: 2px;
  overflow: visible;
  max-width: 1350px;
  margin: 0 auto;
  padding: 0 24px;
  background: #fff;
  scrollbar-width: thin;
}

.category-menu-item {
  position: relative;
  display: flex;
  align-items: center;
  flex: 0 0 auto;
  height: 100%;
}

.category-menu-item > a {
  display: inline-flex;
  align-items: center;
  height: 100%;
  gap: 8px;
  padding: 0 14px;
  color: #111827;
  font-size: 13px;
  font-weight: 700;
  white-space: nowrap;
}

.category-menu-item.active > a {
  color: var(--store-red);
  background: #fff0f1;
  border-radius: 0 0 8px 8px;
}

.category-menu-item.has-children > a::after {
  content: "";
  width: 7px;
  height: 7px;
  margin-left: 2px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg) translateY(-2px);
  opacity: .55;
}

.category-dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 70;
  min-width: 210px;
  display: grid;
  visibility: hidden;
  opacity: 0;
  transform: translateY(8px);
  border: 1px solid #e5e7eb;
  border-radius: 0 0 8px 8px;
  background: #fff;
  box-shadow: 0 18px 40px rgba(15, 23, 42, .16);
  transition: opacity .16s ease, transform .16s ease, visibility .16s ease;
}

.category-menu-item:hover > .category-dropdown,
.category-menu-item:focus-within > .category-dropdown {
  visibility: visible;
  opacity: 1;
  transform: translateY(0);
}

.category-dropdown .category-menu-item {
  display: block;
}

.category-dropdown .category-menu-item > a {
  min-height: 40px;
  width: 100%;
  justify-content: space-between;
  border-bottom: 1px solid #edf0f5;
  padding: 0 14px;
}

.category-dropdown .category-menu-item:last-child > a {
  border-bottom: 0;
}

.category-dropdown .category-dropdown {
  top: -1px;
  left: 100%;
  border-radius: 8px;
  transform: translateX(8px);
}

.category-dropdown .category-menu-item:hover > .category-dropdown,
.category-dropdown .category-menu-item:focus-within > .category-dropdown {
  transform: translateX(0);
}

.category-menu-item.level-1 > a {
  padding-left: 24px;
  color: #374151;
}

.category-menu-item.level-2 > a {
  padding-left: 34px;
  color: #526071;
}

.mobile-header-btn {
  position: relative;
  width: 38px;
  height: 38px;
  display: inline-grid;
  place-items: center;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: #fff;
  font: inherit;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
}

.mobile-cart-btn b {
  position: absolute;
  top: 4px;
  right: 3px;
  width: 15px;
  height: 15px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: var(--store-red);
  color: #fff;
  font-size: 9px;
  line-height: 1;
  font-weight: 900;
}

.mobile-header-btn span {
  width: 20px;
  height: 2px;
  display: block;
  border-radius: 999px;
  background: currentColor;
}

.mobile-header-btn svg,
.mobile-store-search button svg {
  width: 22px;
  height: 22px;
  stroke: currentColor;
  stroke-width: 2.5;
}

.mobile-cart-btn svg {
  width: 23px;
  height: 23px;
}

.mobile-header-actions {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 2px;
}

.mobile-logo-fallback {
  display: none;
  align-items: center;
  color: #fff;
  font-weight: 900;
}

.mobile-drawer-overlay {
  position: fixed;
  inset: 0;
  z-index: 90;
  background: rgba(15, 23, 42, .45);
  opacity: 0;
  pointer-events: none;
  transition: opacity .2s ease;
}

.mobile-store-drawer {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
  width: min(310px, 86vw);
  height: 100dvh;
  overflow: hidden;
  transform: translateX(-105%);
  background: #fff;
  box-shadow: 22px 0 54px rgba(15, 23, 42, .25);
  transition: transform .24s ease;
}

.mobile-drawer-head {
  min-height: 64px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 16px;
  background: var(--store-navy);
  color: #fff;
}

.mobile-drawer-head button {
  width: 34px;
  height: 34px;
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: 8px;
  background: rgba(255, 255, 255, .08);
  color: #fff;
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
}

.mobile-drawer-menu {
  display: grid;
  align-content: start;
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  padding: 0;
  background: #fff;
}

.mobile-menu-item {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 46px;
  border-bottom: 1px solid #eef1f5;
  background: #fff;
}

.mobile-menu-item:not(.has-children) {
  grid-template-columns: 1fr;
}

.mobile-menu-item > a {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 48px;
  padding: 0 16px 0 50px;
  color: #20242c;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.2;
}

.mobile-menu-item:not(.has-children) > a {
  padding-right: 16px;
}

.mobile-menu-item > a::before {
  content: "";
  position: absolute;
  left: 24px;
  top: 50%;
  width: 10px;
  height: 10px;
  border-radius: 3px;
  border: 1.5px solid #b8c0cc;
  background: transparent;
  transform: translateY(-50%) rotate(45deg);
}

.mobile-submenu-toggle {
  position: relative;
  width: 46px;
  min-height: 48px;
  border: 0;
  background: transparent;
  cursor: pointer;
}

.mobile-submenu-toggle::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 8px;
  height: 8px;
  border-top: 2px solid #6b7280;
  border-right: 2px solid #6b7280;
  transform: translate(-60%, -50%) rotate(45deg);
  transition: transform .18s ease;
}

.mobile-menu-item.is-open > .mobile-submenu-toggle::after {
  transform: translate(-45%, -65%) rotate(135deg);
}

.mobile-submenu {
  grid-column: 1 / -1;
  display: grid;
  background: #fbfcfd;
}

.mobile-submenu[hidden] {
  display: none;
}

.mobile-menu-item.level-1 > a {
  min-height: 42px;
  padding-left: 62px;
  color: #374151;
  font-size: 13px;
}

.mobile-menu-item.level-2 > a {
  min-height: 38px;
  padding-left: 74px;
  color: #526071;
  font-size: 12px;
}

.mobile-menu-item.level-1 > a::before {
  left: 40px;
  width: 8px;
  height: 8px;
  border-radius: 3px;
}

.mobile-menu-item.level-2 > a::before {
  left: 52px;
  width: 7px;
  height: 7px;
  border-radius: 3px;
}

.mobile-menu-help {
  margin-top: auto;
  flex: 0 0 auto;
  border-top: 1px solid #edf0f5;
  padding: 16px 18px 18px;
  background: #fbfcfd;
  color: #4b5563;
}

.mobile-menu-help strong {
  display: block;
  margin-bottom: 8px;
  color: #111827;
  font-size: 13px;
  font-weight: 800;
}

.mobile-menu-help p {
  margin: 0;
  font-size: 12px;
  line-height: 1.65;
  font-weight: 600;
}

.mobile-menu-open {
  overflow: hidden;
}

.mobile-menu-open .store-main,
.mobile-menu-open .store-footer,
.mobile-menu-open .mobile-bottom-nav {
  pointer-events: none;
}

.mobile-menu-open .mobile-drawer-overlay {
  opacity: 1;
  pointer-events: auto;
}

.mobile-menu-open .mobile-store-drawer {
  transform: translateX(0);
}

.store-main {
  max-width: 1350px;
  margin: 0 auto;
  padding: 19px 24px 0;
}

.store-page-view {
  max-width: 980px;
  margin: 8px auto 44px;
  color: #111827;
}

.store-page-hero {
  overflow: hidden;
  margin-bottom: 24px;
  border: 1px solid #e5e7eb;
  border-radius: 6.5px;
  background: #f8fafc;
  aspect-ratio: 16 / 7;
}

.store-page-hero img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.store-page-header {
  margin-bottom: 22px;
  padding-bottom: 20px;
  border-bottom: 1px solid #e5e7eb;
}

.store-page-header span {
  display: inline-flex;
  margin-bottom: 12px;
  border-radius: 999px;
  padding: 6px 12px;
  background: #fff4d6;
  color: #92400e;
  font-size: 12px;
  font-weight: 800;
}

.store-page-header h1 {
  margin: 0;
  color: #101827;
  font-size: clamp(30px, 5vw, 52px);
  line-height: 1.05;
  letter-spacing: 0;
}

.store-page-header p {
  max-width: 720px;
  margin: 14px 0 0;
  color: #526071;
  font-size: 16px;
  line-height: 1.7;
}

.store-page-content {
  color: #243244;
  font-size: 16px;
  line-height: 1.82;
}

.store-page-content h1,
.store-page-content h2,
.store-page-content h3,
.store-page-content h4 {
  margin: 28px 0 12px;
  color: #111827;
  line-height: 1.2;
  letter-spacing: 0;
}

.store-page-content p,
.store-page-content ul,
.store-page-content ol,
.store-page-content blockquote {
  margin: 0 0 18px;
}

.store-page-content a {
  color: var(--store-red);
  font-weight: 800;
}

.store-page-content img {
  max-width: 100%;
  height: auto;
  border-radius: 10px;
}

.store-page-empty {
  min-height: 340px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.store-page-home-link {
  width: max-content;
  display: inline-flex;
  border-radius: 8px;
  padding: 12px 18px;
  background: var(--store-red);
  color: #fff;
  font-weight: 900;
}

.hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 2.06fr) minmax(300px, 1fr);
  align-items: start;
  column-gap: 20px;
  row-gap: 16px;
  margin-bottom: 24px;
}

.hero-offer {
  position: relative;
  min-width: 0;
  width: 100%;
  min-height: 0;
  aspect-ratio: 16 / 9;
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
  border-radius: 13px;
  padding: 0;
  border: 1px solid var(--store-border);
  background: var(--store-card);
  color: #fff;
  box-shadow: 0 1px 0 rgba(15, 23, 42, .04);
}

.hero-slide-bg {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: block;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  opacity: 0;
  transition: opacity .45s ease;
  pointer-events: none;
}

.hero-slide-bg.is-active,
.hero-slider.is-static .hero-slide-bg {
  opacity: 1;
  pointer-events: auto;
}

.hero-slider-btn {
  position: absolute;
  top: 50%;
  z-index: 3;
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 999px;
  background: rgba(255, 255, 255, .92);
  color: #111827;
  font-size: 31px;
  line-height: 1;
  cursor: pointer;
  transform: translateY(-50%);
  box-shadow: 0 8px 20px rgba(15, 23, 42, .16);
}

.hero-slider-prev {
  left: 12px;
}

.hero-slider-next {
  right: 12px;
}

.promo-chip {
  width: max-content;
  margin-bottom: 56px;
  border-radius: 999px;
  padding: 8px 17px;
  background: var(--store-yellow);
  color: #111827;
  font-size: 12px;
  font-weight: 900;
}

.hero-offer h1 {
  margin: 0;
  color: var(--store-yellow);
  font-size: clamp(34px, 4vw, 40px);
  line-height: 1.08;
  font-weight: 900;
  letter-spacing: 0;
}

.hero-offer h1 span {
  color: #fff;
}

.hero-offer p {
  margin: 17px 0 28px;
  color: rgba(255, 255, 255, .72);
  font-size: 14px;
  font-weight: 700;
}

.hero-btn {
  width: max-content;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border-radius: 999px;
  padding: 15px 24px;
  background: var(--store-red);
  color: #fff;
  font-weight: 900;
  box-shadow: 0 14px 24px rgba(240, 24, 49, .3);
}

.side-promos {
  display: grid;
  min-width: 0;
  align-content: start;
  gap: 12px;
}

.mini-promo {
  position: relative;
  overflow: hidden;
  min-height: 0;
  aspect-ratio: 16 / 9;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  border-radius: 9px;
  padding: 24px;
  color: #fff;
}

.mini-promo.image-only {
  display: block;
  padding: 0;
  border: 1px solid var(--store-border);
  background-size: contain !important;
  background-position: center;
  background-repeat: no-repeat;
  background-color: var(--store-card);
  box-shadow: 0 1px 0 rgba(15, 23, 42, .04);
}

.mini-promo.image-only::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, .02), rgba(0, 0, 0, .08));
}

.mini-promo:first-child {
  min-height: 0;
}

.mini-promo h2 {
  margin: 0 0 10px;
  font-size: 20px;
  line-height: 1.1;
}

.mini-promo p {
  margin: 0 0 14px;
  font-size: 13px;
}

.mini-promo a {
  display: inline-flex;
  border: 1px solid rgba(255, 255, 255, .65);
  border-radius: 999px;
  padding: 6px 16px;
  font-size: 12px;
  font-weight: 900;
}

.mini-promo > span {
  opacity: .36;
  font-size: 45px;
}

.electronics-promo {
  background: linear-gradient(135deg, #173c69, #4c3287);
}

.fashion-promo {
  background: linear-gradient(135deg, #f36a29, #ffbd31);
}

.store-section {
  margin-bottom: 34px;
}

.section-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 18px;
}

.section-heading h2 {
  position: relative;
  margin: 0;
  padding-left: 15px;
  color: #202238;
  font-size: 22px;
  line-height: 1.1;
  font-weight: 900;
  letter-spacing: 0;
}

.section-heading h2::before {
  content: "";
  position: absolute;
  left: 0;
  top: 1px;
  bottom: 0;
  width: 5px;
  border-radius: 999px;
  background: var(--store-red);
}

.section-heading a {
  color: var(--store-red);
  font-size: 13px;
  font-weight: 900;
}

.category-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  gap: 10px;
}

.category-card {
  display: grid;
  place-items: center;
  align-content: center;
  gap: 14px;
  min-height: 134px;
  padding: 18px 14px;
  border: 1px solid var(--store-border);
  border-radius: 14px;
  background: var(--store-card);
  text-align: center;
  color: #020617;
  font-size: 16px;
  font-weight: 500;
  box-shadow: 0 1px 0 rgba(15, 23, 42, .04);
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.category-card:hover {
  border-color: #d8dee8;
  box-shadow: 0 10px 22px rgba(15, 23, 42, .08);
  transform: translateY(-1px);
}

.category-card span {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  border-radius: 0;
  background: transparent;
  color: #1f2937;
  font-size: 34px;
  line-height: 1;
  box-shadow: none;
  overflow: hidden;
}

.category-card span img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.category-card strong {
  font: inherit;
  line-height: 1.25;
  color: inherit;
}

.cat-blue { background: linear-gradient(135deg, #6475e2, #7455b9); }
.cat-pink { background: linear-gradient(135deg, #e37ce8, #f25279); }
.cat-cyan { background: linear-gradient(135deg, #54b1f2, #19c7df); }
.cat-green { background: linear-gradient(135deg, #49df7c, #32dbbd); }
.cat-gold { background: linear-gradient(135deg, #fb7887, #f9dc39); }
.cat-purple { background: linear-gradient(135deg, #a98bd2, #eab5e4); }
.cat-peach { background: linear-gradient(135deg, #ffdcc0, #f8b39d); }
.cat-sky { background: linear-gradient(135deg, #99bff4, #b8e3f3); }
.category-card span[class^="cat-"] { background: transparent; }

.product-section {
  max-width: 1350px;
  margin-left: auto;
  margin-right: auto;
}

.product-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 16px;
}

.store-product-card {
  overflow: hidden;
  border: 1px solid var(--store-border);
  border-radius: 10px;
  background: var(--store-card);
  box-shadow: var(--store-shadow);
}

.store-product-media {
  position: relative;
  height: 234px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border-bottom: 1px solid rgba(17, 24, 39, .08);
  background: var(--store-card);
}

.product-symbol {
  font-size: 54px;
  line-height: 1;
  filter: drop-shadow(0 8px 9px rgba(33, 36, 62, .22));
}

.product-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.store-badge {
  position: absolute;
  left: 11px;
  top: 11px;
  border-radius: 999px;
  padding: 7px 10px;
  color: #fff;
  font-size: 11px;
  font-weight: 900;
}

.store-badge.sale { background: var(--store-red); }
.store-badge.new { background: #06bd83; }
.store-badge.hot { background: #ff6a00; }

.store-product-body {
  padding: 13px 14px 14px;
  background: var(--store-card);
}

.store-product-body h3 {
  min-height: 45px;
  margin: 0 0 8px;
  color: #373945;
  font-size: 15px;
  line-height: 1.45;
  font-weight: 500;
}

.store-product-body h3 a {
  color: inherit;
}

.rating {
  margin: 0 0 8px;
  color: #ffba00;
  font-size: 12px;
  letter-spacing: 0;
}

.rating span {
  color: #7c8191;
  font-size: 11px;
}

.price-row {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 13px;
  flex-wrap: wrap;
}

.price-row strong {
  color: var(--store-red);
  font-size: 18px;
  line-height: 1;
  font-weight: 700;
}

.price-row del {
  color: #9599a8;
  font-size: 14px;
}

.price-row span {
  border-radius: 4px;
  padding: 5px 8px;
  background: #dbf8f0;
  color: #00aa7c;
  font-size: 11px;
  font-weight: 900;
}

.cart-btn {
  width: 100%;
  height: 40px;
  border: 0;
  border-radius: 7px;
  background: var(--store-red);
  color: #fff;
  font: inherit;
  font-size: 13px;
  font-weight: 900;
  cursor: pointer;
}

.store-card-cart-form {
  margin: 0;
}

.single-product-page {
  display: grid;
  gap: 18px;
}

.single-product-breadcrumb {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  padding: 11px 14px;
  background: #fff;
  color: #7b8190;
  font-size: 12px;
}

.single-product-breadcrumb a {
  color: #758195;
}

.single-product-breadcrumb strong {
  color: #758195;
  font-weight: 500;
}

.single-product-share {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-left: auto;
  white-space: nowrap;
}

.single-product-share a {
  width: 28px;
  height: 28px;
  display: inline-grid;
  place-items: center;
  border: 1px solid #e5e7eb;
  border-radius: 50%;
  background: #fff;
  color: #374151;
  font-size: 12px;
  line-height: 1;
  font-weight: 800;
}

.single-product-share a svg {
  width: 15px;
  height: 15px;
  display: block;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
}

.single-product-share a.facebook {
  color: #1877f2;
}

.single-product-share a.twitter {
  color: #111827;
}

.single-product-share a.instagram {
  color: #e1306c;
}

.single-product-share a.whatsapp {
  color: #20c96b;
}

.single-product-share a.linkedin {
  color: #0a66c2;
  font-size: 11px;
}

.single-product-share a.copy-link {
  color: #f01831;
}

.single-product-hero {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(390px, 1fr);
  gap: 22px;
  align-items: start;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  padding: 10px;
  background: #fff;
}

.single-product-gallery {
  display: grid;
  gap: 10px;
  align-items: start;
  border: 0;
  border-radius: 8px;
  padding: 0;
  background: #fff;
}

.single-product-gallery.has-thumbs {
  --single-gallery-frame-height: clamp(360px, 34vw, 500px);
  grid-template-columns: 122px minmax(0, 1fr);
  align-items: stretch;
}

.single-product-gallery.no-thumbs {
  grid-template-columns: 1fr;
}

.single-product-image-frame {
  position: relative;
  width: 100%;
  height: var(--single-gallery-frame-height, auto);
  justify-self: center;
  aspect-ratio: 1 / 1;
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 0;
  border-radius: 8px;
  background: #f3f7ff;
}

.single-product-gallery.has-thumbs .single-product-image-frame {
  border-left: 0;
}

.single-product-image-frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.single-product-image-frame span {
  color: #d1d5db;
  font-size: 72px;
  font-weight: 800;
}

.single-product-image-frame .single-product-discount {
  position: absolute;
  right: 14px;
  top: 10px;
  z-index: 2;
  border-radius: 4px;
  border: 1px solid #f97316;
  padding: 4px 6px;
  background: transparent;
  color: #f97316;
  font-size: 14px;
  font-weight: 800;
  line-height: 1;
}

.single-product-zoom {
  position: absolute;
  left: 16px;
  bottom: 16px;
  z-index: 2;
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 999px;
  background: #fff;
  color: #111827;
  font-size: 20px;
  cursor: pointer;
  box-shadow: 0 8px 18px rgba(15, 23, 42, .08);
}

.single-product-thumbs-wrap {
  display: grid;
  height: var(--single-gallery-frame-height, auto);
  gap: 10px;
  align-content: start;
}

.single-product-thumbs {
  height: calc(var(--single-gallery-frame-height, 500px) - 40px);
  max-height: calc(var(--single-gallery-frame-height, 500px) - 40px);
  display: grid;
  grid-auto-rows: calc((var(--single-gallery-frame-height, 500px) - 64px) / 3);
  gap: 12px;
  overflow: hidden;
  scroll-behavior: smooth;
  scrollbar-width: none;
}

.single-product-thumbs::-webkit-scrollbar {
  display: none;
}

.single-product-thumbs-controls {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.single-product-thumbs-nav {
  width: 100%;
  height: 30px;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 7px;
  background: #f3f4f6;
  color: #4b5563;
  line-height: 1;
  cursor: pointer;
  transition: border-color .18s ease, color .18s ease, box-shadow .18s ease;
}

.single-product-thumbs-nav:hover {
  color: #111827;
  box-shadow: 0 6px 14px rgba(15, 23, 42, .08);
}

.single-product-thumbs-nav svg {
  width: 16px;
  height: 16px;
  display: block;
  stroke-width: 2.4;
}

.single-product-thumbs button {
  width: 100%;
  height: calc((var(--single-gallery-frame-height, 500px) - 64px) / 3);
  overflow: hidden;
  border: 1.1px solid #e5e7eb;
  border-radius: 8px;
  background: #f6f8fc;
  padding: 0;
  cursor: pointer;
}

.single-product-thumbs button.active {
  border-color: #f97316;
  box-shadow: 0 0 0 1px #f97316;
}

.single-product-thumbs img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.single-product-summary {
  border: 0;
  border-radius: 0;
  padding: 0 4px;
  background: #fff;
}

.single-product-summary h1 {
  order: 1;
  margin: 0 0 14px;
  color: #1f2937;
  font-size: clamp(24px, 2.25vw, 30px);
  line-height: 1.18;
  font-weight: 600;
  letter-spacing: 0;
}

.single-product-summary {
  display: flex;
  flex-direction: column;
}

.single-product-rating {
  order: 2;
  width: max-content;
  max-width: 100%;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  margin-bottom: 5px;
  border-radius: 6px;
  padding: 10px 12px;
  background: #f3f8ff;
  color: #111827;
  line-height: 1;
}

.single-product-rating::before {
  content: "PRODUCT REVIEW";
  color: #111827;
  font-size: 13px;
  font-weight: 900;
}

.single-product-rating span {
  width: 75px;
  overflow: hidden;
  color: transparent;
  font-size: 0;
  letter-spacing: 0;
}

.single-product-rating span::before {
  content: "\2605\2605\2605\2605\2605";
  color: #ffb000;
  font-size: 13px;
  letter-spacing: 1px;
}

.single-product-rating small {
  display: none;
}

.single-product-rating::after {
  content: "4.5 ( 2 reviews )";
  color: #0059d6;
  font-size: 13px;
  font-weight: 600;
}

.single-product-rating a {
  display: none;
}

.single-product-price {
  order: 5;
  width: 100%;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 9px;
  margin: 20px 0 20px;
}

.single-product-price strong {
  color: #2563eb;
  font-size: 34px;
  line-height: 1;
  font-weight: 700;
}

.single-product-price del {
  order: -1;
  color: #a3a3a3;
  font-size: 31px;
  font-weight: 400;
}

.single-product-price-discount {
  order: 1;
  display: inline-flex;
  align-items: center;
  border-radius: 5px;
  border: 1px solid #f97316;
  padding: 4px 8px;
  background: transparent;
  color: #f97316;
  font-size: 14px;
  font-weight: 800;
  line-height: 1;
}

.single-product-price-discount[hidden] {
  display: none;
}

.single-product-stock {
  order: 4;
  width: max-content;
  max-width: 100%;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-top: 12px;
  border-radius: 6px;
  padding: 8px 12px;
  background: #ecfdf3;
  color: #16803d;
  font-size: 13px;
  font-weight: 800;
  line-height: 1;
}

.single-product-stock::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: currentColor;
}

.single-product-price .single-product-stock {
  order: 2;
  margin-top: 0;
  margin-left: auto;
  justify-content: flex-end;
  text-align: right;
  white-space: nowrap;
}

.single-product-out-of-stock {
  order: 6;
  width: 100%;
  margin: -8px 0 18px;
  border: 1px solid #fecaca;
  border-radius: 8px;
  padding: 13px 16px;
  background: #fef2f2;
  color: #dc2626;
  font-size: 20px;
  line-height: 1;
  font-weight: 900;
  text-align: center;
  text-transform: uppercase;
}

.single-product-out-of-stock[hidden] {
  display: none;
}

.single-product-rating .single-product-stock {
  display: none;
}

.single-product-short {
  order: 3;
  margin: 0;
  color: #6b7280;
  font-size: 16px;
  line-height: 1.55;
}

.single-product-short p {
  margin: 0 0 9px;
}

.single-product-short ul,
.single-product-short ol {
  margin: 0;
  padding-left: 17px;
}

.single-product-short li {
  margin-bottom: 10px;
  padding-left: 1px;
}

.single-product-feature-grid {
  order: 4;
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  margin: 8px 0 0;
  padding: 0;
  border: 0;
  color: #6b7280;
  font-size: 16px;
}

.single-product-feature-grid span {
  min-height: 0;
  display: flex;
  align-items: center;
  gap: 10px;
}

.single-product-feature-grid span::before {
  content: "";
  width: 4px;
  height: 4px;
  border-radius: 999px;
  background: currentColor;
  flex: 0 0 4px;
}

.single-product-choice {
  order: 4;
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 14px;
  margin-bottom: 0;
  color: #374151;
  font-size: 13px;
}

.single-product-choice > span {
  font-weight: 700;
}

.single-product-choice strong {
  font-weight: 800;
}

.single-product-variations {
  order: 4;
  display: grid;
  gap: 8px;
  margin-top: 14px;
  color: #374151;
  font-size: 13px;
}

.single-product-variation-row {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

.single-product-variation-row > span,
.single-product-variations > span {
  flex: 0 0 auto;
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  padding: 0 12px;
  background: #fff;
  font-weight: 800;
  white-space: nowrap;
}

.single-product-variation-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  min-width: 0;
  flex: 1 1 auto;
}

.single-product-variation-list button {
  min-height: 34px;
  border: 1px solid #dbe3ee;
  border-radius: 6px;
  background: #fff;
  padding: 7px 12px;
  color: #374151;
  font: inherit;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
}

.single-product-variation-list button[hidden],
.single-product-variation-list button.is-unavailable {
  display: none;
}

.single-product-variation-list button.active {
  border-color: #2563eb;
  background: #eff6ff;
  color: #1d4ed8;
  box-shadow: 0 0 0 1px #2563eb;
}

.single-product-swatches {
  display: flex;
  gap: 10px;
  margin-left: 4px;
}

.single-product-swatches i {
  width: 28px;
  height: 28px;
  border-radius: 999px;
  background: #e5e7eb;
}

.single-product-swatches i:first-child {
  background: #111827;
}

.single-product-swatches i:last-child {
  background: #1f2a5a;
}

.single-product-swatches i.active {
  border: 3px solid #fff;
  box-shadow: 0 0 0 2px #f97316;
}

.single-product-actions {
  order: 6;
  display: grid;
  grid-template-columns: 80px minmax(190px, 1fr) minmax(180px, .95fr);
  gap: 10px;
  align-items: center;
  margin-bottom: 0;
}

.single-product-actions.is-unavailable {
  display: none;
}

.single-product-qty {
  height: 42px;
  display: grid;
  grid-template-columns: 28px 28px 28px;
  align-items: center;
  color: #374151;
  font-size: 12px;
  font-weight: 500;
}

.single-product-qty span {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
}

.single-product-qty button,
.single-product-qty input,
.single-product-actions > button,
.single-product-cart-form > button {
  height: 42px;
  border-radius: 5px;
  font: inherit;
}

.single-product-qty button,
.single-product-qty input {
  border: 1px solid #e1e5ec;
  background: #fff;
}

.single-product-qty button {
  cursor: pointer;
  color: #64748b;
  font-size: 14px;
  font-weight: 400;
}

.single-product-qty input {
  width: 100%;
  padding: 0;
  color: #374151;
  text-align: center;
  border-left: 0;
  border-right: 0;
  border-radius: 0;
  appearance: textfield;
  -moz-appearance: textfield;
}

.single-product-qty input::-webkit-outer-spin-button,
.single-product-qty input::-webkit-inner-spin-button {
  margin: 0;
  appearance: none;
  -webkit-appearance: none;
}

.single-product-qty button:first-of-type {
  border-radius: 5px 0 0 5px;
}

.single-product-qty button:last-of-type {
  border-radius: 0 5px 5px 0;
}

.single-product-actions > button,
.single-product-cart-form > button {
  padding: 0 12px;
  font-size: 13px;
  font-weight: 800;
  cursor: pointer;
  white-space: nowrap;
}

.single-product-cart-form {
  display: contents;
  margin: 0;
}

.single-product-cart-btn {
  border: 0;
  background: #2563eb;
  color: #fff;
}

.single-product-buy-btn {
  border: 0;
  background: #5ca22d;
  color: #fff;
}

.store-flash {
  max-width: 1350px;
  margin: 0 auto 14px;
  border: 1px solid #dbe3ee;
  border-radius: 8px;
  background: #f8fafc;
  padding: 12px 14px;
  color: #334155;
  font-size: 14px;
  font-weight: 700;
}

.store-flash.success {
  border-color: #bbf7d0;
  background: #f0fdf4;
  color: #166534;
}

.store-flash.error {
  border-color: #fecaca;
  background: #fef2f2;
  color: #b91c1c;
}

.store-cart-page {
  width: 100%;
  max-width: 1350px;
  margin: 0 auto;
}

.store-cart-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 18px;
  border-bottom: 1px solid #edf0f5;
  padding-bottom: 16px;
}

.store-cart-head-actions {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  flex-wrap: wrap;
  justify-content: flex-end;
  padding-top: 2px;
}

.store-cart-head-actions form {
  margin: 0;
}

.store-cart-select-all,
.store-cart-check {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #4b5563;
  font-size: 13px;
  font-weight: 900;
}

.store-cart-select-all input,
.store-cart-check input {
  width: 18px;
  height: 18px;
  accent-color: var(--store-red);
}

.store-cart-head span {
  color: var(--store-red);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.store-cart-head h1 {
  margin: 4px 0 6px;
  font-size: 28px;
  line-height: 1.15;
}

.store-cart-head p {
  margin: 0;
  color: var(--store-muted);
  font-size: 14px;
}

.cart-clear-btn,
.store-cart-actions button,
.store-cart-qty button {
  border: 0;
  border-radius: 7px;
  padding: 10px 13px;
  font: inherit;
  font-size: 13px;
  font-weight: 900;
  cursor: pointer;
}

.cart-clear-btn {
  background: #f1f3f8;
  color: #3d4354;
}

.store-cart-empty {
  display: grid;
  justify-items: center;
  gap: 10px;
  border: 1px solid #e7e9f0;
  border-radius: 8px;
  padding: 48px 22px;
  background: #fff;
  text-align: center;
}

.store-cart-empty > span {
  width: 52px;
  height: 52px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #fff0f1;
  color: var(--store-red);
}

.store-cart-empty h2,
.store-cart-summary h2 {
  margin: 0;
  font-size: 20px;
}

.store-cart-empty p {
  margin: 0 0 8px;
  color: var(--store-muted);
}

.store-cart-empty a,
.store-cart-summary a {
  display: inline-grid;
  place-items: center;
  min-height: 40px;
  border-radius: 7px;
  padding: 0 14px;
  background: var(--store-red);
  color: #fff;
  font-size: 13px;
  font-weight: 900;
}

.store-cart-frame {
  border: 1px solid #e7e9f0;
  border-radius: 10px;
  padding: 18px;
  background: #fff;
}

.store-cart-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: 18px;
  align-items: start;
}

.store-cart-list {
  display: grid;
  gap: 12px;
}

.store-cart-item {
  display: grid;
  grid-template-columns: 26px 86px minmax(0, 1fr) 96px 110px 42px;
  align-items: center;
  gap: 14px;
  border: 1px solid #edf0f5;
  border-radius: 8px;
  padding: 12px;
  background: #fff;
}

.store-cart-check {
  justify-content: center;
}

.store-cart-media {
  width: 86px;
  height: 86px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border-radius: 7px;
  background: #f3f5f9;
  color: var(--store-red);
  font-size: 28px;
  font-weight: 900;
}

.store-cart-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.store-cart-info {
  display: grid;
  gap: 6px;
  min-width: 0;
}

.store-cart-info a {
  overflow: hidden;
  font-weight: 900;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.store-cart-info span,
.store-cart-info small {
  color: var(--store-muted);
  font-size: 12px;
}

.store-cart-qty {
  display: grid;
  grid-template-columns: 32px 32px 32px;
  gap: 0;
  margin: 0;
}

.store-cart-qty button,
.store-cart-qty input {
  width: 32px;
  height: 36px;
  border: 1px solid #dfe3ec;
  background: #fff;
  color: #334155;
  font: inherit;
  font-size: 13px;
  text-align: center;
}

.store-cart-qty button {
  cursor: pointer;
}

.store-cart-qty button:first-of-type {
  border-radius: 5px 0 0 5px;
}

.store-cart-qty button:last-of-type {
  border-radius: 0 5px 5px 0;
}

.store-cart-qty input {
  border-left: 0;
  border-right: 0;
  border-radius: 0;
  padding: 0;
  appearance: textfield;
  -moz-appearance: textfield;
}

.store-cart-qty input::-webkit-outer-spin-button,
.store-cart-qty input::-webkit-inner-spin-button {
  margin: 0;
  appearance: none;
  -webkit-appearance: none;
}

.store-cart-line-total {
  color: var(--store-red);
  text-align: right;
}

.store-cart-actions {
  display: flex;
  justify-content: flex-end;
}

.store-cart-actions form {
  margin: 0;
}

.store-cart-actions button {
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  padding: 0;
  background: #fff0f1;
  color: var(--store-red);
  line-height: 1;
}

.store-cart-actions button svg {
  width: 17px;
  height: 17px;
  stroke-width: 2.4;
}

.store-cart-summary {
  display: grid;
  gap: 13px;
  border: 1px solid #e7e9f0;
  border-radius: 8px;
  padding: 18px;
  background: #fff;
  position: sticky;
  top: 128px;
}

.store-cart-summary p {
  display: flex;
  justify-content: space-between;
  margin: 0;
  color: #4b5563;
}

.store-cart-summary small {
  color: var(--store-muted);
  line-height: 1.5;
}

.store-cart-summary .store-cart-continue {
  background: #f1f3f8;
  color: #303647;
}

.store-cart-checkout-form {
  margin: 0;
}

.store-cart-checkout-form button {
  width: 100%;
  min-height: 42px;
  border: 0;
  border-radius: 7px;
  background: var(--store-red);
  color: #fff;
  font: inherit;
  font-size: 13px;
  font-weight: 900;
  cursor: pointer;
}

.store-cart-checkout-form button:disabled {
  cursor: not-allowed;
  opacity: .55;
}

.cart-checkout-items {
  display: grid;
  gap: 10px;
  margin-bottom: 16px;
}

.store-checkout-page {
  width: 100%;
  max-width: none;
  margin: 0 0 44px;
}

.store-checkout {
  margin-top: 26px;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  background: #fff;
  padding: 22px;
}

.store-checkout.regular-checkout {
  margin-top: 18px;
}

.store-checkout-head {
  margin-bottom: 18px;
}

.store-checkout-head span {
  display: inline-flex;
  margin-bottom: 8px;
  color: #2563eb;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

.store-checkout-head h2 {
  margin: 0 0 6px;
  color: #111827;
  font-size: 24px;
  line-height: 1.2;
}

.store-checkout-head p {
  margin: 0;
  color: #6b7280;
  font-size: 14px;
}

.store-checkout-form {
  display: grid;
  gap: 16px;
}

.store-checkout-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.store-checkout-grid label,
.store-checkout-summary label {
  display: grid;
  gap: 7px;
  color: #374151;
  font-size: 13px;
  font-weight: 800;
}

.store-checkout-grid label.wide {
  grid-column: 1 / -1;
}

.store-checkout-grid input,
.store-checkout-grid textarea,
.store-checkout-summary input {
  width: 100%;
  border: 1px solid #dbe3ee;
  border-radius: 6px;
  background: #fff;
  padding: 11px 12px;
  color: #111827;
  font: inherit;
  font-size: 14px;
  outline: 0;
}

.store-checkout-grid textarea {
  resize: vertical;
}

.store-checkout-summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 96px auto;
  gap: 14px;
  align-items: end;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  background: #f8fafc;
  padding: 14px;
}

.store-checkout-summary strong,
.store-checkout-summary span {
  display: block;
}

.store-checkout-summary strong {
  color: #111827;
  font-size: 14px;
}

.store-checkout-summary span {
  margin-top: 5px;
  color: #6b7280;
  font-size: 12px;
}

.store-checkout-summary b {
  color: #2563eb;
  font-size: 24px;
  line-height: 42px;
}

.store-checkout-form > button {
  width: 100%;
  height: 44px;
  border: 0;
  border-radius: 6px;
  background: #5ca22d;
  color: #fff;
  font: inherit;
  font-size: 14px;
  font-weight: 900;
  cursor: pointer;
}

.store-checkout-page .store-page-home-link {
  display: inline-flex;
  margin-bottom: 14px;
  color: #15803d;
  font-size: 14px;
  font-weight: 800;
  text-decoration: none;
}

.checkout-roadmap {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: center;
  position: relative;
  width: 100%;
  margin: 0 0 18px;
  border: 1px solid #dbe3ee;
  border-radius: 8px;
  padding: 16px 20px;
  color: #667085;
}

.checkout-roadmap::before {
  content: "";
  position: absolute;
  left: calc(16.666% + 14px);
  right: calc(16.666% + 14px);
  top: 30px;
  height: 5px;
  border-radius: 999px;
  background: #e5e7eb;
}

.checkout-roadmap::after {
  content: "";
  position: absolute;
  left: calc(16.666% + 14px);
  width: calc(33.333% - 28px);
  top: 30px;
  height: 5px;
  border-radius: 999px;
  background: #16a34a;
}

.checkout-roadmap a,
.checkout-roadmap strong,
.checkout-roadmap em {
  display: grid;
  align-items: center;
  justify-items: center;
  justify-content: center;
  gap: 6px;
  min-width: 0;
  color: inherit;
  font-style: normal;
  text-align: center;
  position: relative;
  z-index: 1;
}

.checkout-roadmap a > strong,
.checkout-roadmap strong > strong,
.checkout-roadmap em > strong {
  color: currentColor;
  font-size: 14px;
  font-weight: 700;
}

.checkout-roadmap span {
  display: grid;
  width: 28px;
  height: 28px;
  place-items: center;
  border: 0;
  border-radius: 50%;
  background: #e5e7eb;
  color: #fff;
  font-size: 16px;
  font-weight: 800;
}

.checkout-roadmap > i {
  display: none;
}

.checkout-roadmap span i,
.checkout-roadmap span svg {
  display: block;
  width: 17px;
  height: 17px;
  stroke: currentColor;
  stroke-width: 3;
}

.checkout-roadmap .is-active {
  color: #2563eb;
}

.checkout-roadmap .is-active span {
  background: #2563eb;
  color: #fff;
}

.checkout-roadmap .is-complete {
  color: #16a34a;
}

.checkout-roadmap .is-complete span {
  background: #16a34a;
  color: #fff;
}


.store-checkout {
  border: 0;
  background: transparent;
  padding: 0;
}

.store-checkout,
.store-checkout *,
.store-checkout *::before,
.store-checkout *::after {
  box-sizing: border-box;
}

.store-checkout-form {
  display: block;
}

.store-checkout-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(330px, .95fr);
  gap: 18px;
  align-items: start;
  min-width: 0;
}

.store-checkout-primary,
.checkout-summary-card,
.checkout-payment-card-box,
.checkout-coupon-card,
.checkout-submit-card {
  border: 1px solid #edf0f5;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 14px 40px rgba(15, 23, 42, .08);
}

.store-checkout-primary {
  padding: 28px;
  min-width: 0;
}

.store-checkout-head {
  display: none;
}

.store-checkout-head h2 {
  margin: 0 0 8px;
  color: #111827;
  font-size: 32px;
  letter-spacing: 0;
}

.store-checkout-head p {
  color: #667085;
  font-weight: 700;
}

.checkout-step-head {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 0 0 20px;
}

.checkout-step-head span {
  display: inline-grid;
  width: 28px;
  height: 28px;
  place-items: center;
  border-radius: 50%;
  background: #16a34a;
  color: #fff;
  font-size: 14px;
  font-weight: 900;
}

.checkout-step-head h3 {
  margin: 0;
  color: #111827;
  font-size: 16px;
}

.shipping-method-step-head,
.payment-step-head {
  margin-top: 34px;
  border-top: 1px solid #e5e7eb;
  padding-top: 24px;
}

.store-checkout-grid {
  gap: 18px 22px;
}

.store-checkout-grid label {
  color: #222833;
  font-size: 14px;
  font-weight: 400;
}

.store-checkout-grid label > span {
  position: relative;
  display: block;
}

.store-checkout-grid input,
.store-checkout-grid textarea {
  min-height: 48px;
  border-color: #d8dee8;
  border-radius: 7px;
  padding: 13px 14px 13px 48px;
  font-weight: 400;
  box-shadow: inset 0 1px 2px rgba(15, 23, 42, .04);
}

.store-checkout-grid input::placeholder,
.store-checkout-grid textarea::placeholder,
.checkout-coupon-card input::placeholder {
  color: #667085;
  font-weight: 400;
}

.store-checkout-grid textarea {
  min-height: 88px;
}

[data-checkout-icon] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.store-checkout-grid [data-checkout-icon] {
  position: absolute;
  left: 17px;
  top: 15px;
  width: 18px;
  height: 18px;
  color: #667085;
  z-index: 1;
}

.checkout-phone-field[data-bd-phone-field] input {
  padding-right: 52px;
  background-repeat: no-repeat;
  background-position: right 13px center;
  background-size: 24px 24px;
}

.checkout-phone-field.validated-ok input {
  border-color: #86c56a;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Ccircle cx='32' cy='32' r='25' fill='none' stroke='%2378b83a' stroke-width='6'/%3E%3Cpath d='M20 33.5l7.5 7.5L44 24.5' fill='none' stroke='%2378b83a' stroke-width='7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.checkout-phone-field.validated-bad input {
  border-color: #ef4444;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Ccircle cx='32' cy='32' r='25' fill='none' stroke='%23e53935' stroke-width='6'/%3E%3Cpath d='M22 22l20 20M42 22L22 42' fill='none' stroke='%23e53935' stroke-width='7' stroke-linecap='round'/%3E%3C/svg%3E");
}

[data-checkout-icon]::before {
  color: currentColor;
  font-size: 18px;
  line-height: 1;
}

[data-checkout-icon="user"]::before { content: "U"; }
[data-checkout-icon="phone"]::before { content: "P"; }
[data-checkout-icon="mail"]::before { content: "@"; }
[data-checkout-icon="pin"]::before { content: "*"; }
[data-checkout-icon="hash"]::before { content: "#"; }
[data-checkout-icon="note"]::before { content: "+"; }
[data-checkout-icon="bag"]::before { content: "[]"; font-size: 13px; font-weight: 900; }
[data-checkout-icon="tag"]::before { content: "<>"; font-size: 13px; font-weight: 900; }

[data-checkout-icon] {
  --checkout-icon: none;
}

[data-checkout-icon]::before {
  content: "";
  display: block;
  width: 18px;
  height: 18px;
  background: currentColor;
  -webkit-mask: var(--checkout-icon) center / contain no-repeat;
  mask: var(--checkout-icon) center / contain no-repeat;
}

[data-checkout-icon="user"] { --checkout-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 21a8 8 0 0 0-16 0'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E"); }
[data-checkout-icon="phone"] { --checkout-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1 1 .4 1.9.7 2.8a2 2 0 0 1-.4 2.1L8.1 9.9a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.4c.9.3 1.8.6 2.8.7a2 2 0 0 1 1.7 2z'/%3E%3C/svg%3E"); }
[data-checkout-icon="mail"] { --checkout-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m3 7 9 6 9-6'/%3E%3C/svg%3E"); }
[data-checkout-icon="pin"] { --checkout-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 5-8 12-8 12S4 15 4 10a8 8 0 1 1 16 0z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E"); }
[data-checkout-icon="hash"] { --checkout-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 9h16M4 15h16M10 3 8 21M16 3l-2 18'/%3E%3C/svg%3E"); }
[data-checkout-icon="note"] { --checkout-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/%3E%3Cpath d='M14 2v6h6M8 13h8M8 17h6'/%3E%3C/svg%3E"); }
[data-checkout-icon="bag"] { --checkout-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 8h12l-1 13H7L6 8z'/%3E%3Cpath d='M9 8a3 3 0 0 1 6 0'/%3E%3C/svg%3E"); }
[data-checkout-icon="tag"] { --checkout-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.6 13.4 13.4 20.6a2 2 0 0 1-2.8 0L3 13V3h10l7.6 7.6a2 2 0 0 1 0 2.8z'/%3E%3Ccircle cx='8' cy='8' r='1.5'/%3E%3C/svg%3E"); }

.checkout-shipping-methods,
.checkout-payment-methods {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
}

.checkout-shipping-methods {
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  align-items: stretch;
}

.checkout-shipping-card,
.checkout-payment-card {
  position: relative;
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr);
  gap: 8px 12px;
  min-height: 86px;
  border: 1px solid #dbe3ee;
  border-radius: 7px;
  background: #fff;
  padding: 18px 16px;
  cursor: pointer;
  transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.checkout-shipping-card {
  grid-template-columns: 20px minmax(0, 1fr);
  min-height: 70px;
  padding: 14px;
}

.checkout-shipping-card input,
.checkout-payment-card input {
  position: absolute;
  inset: 0;
  opacity: 0;
  cursor: pointer;
}

.checkout-shipping-card > span,
.payment-choice-dot {
  grid-row: 1 / span 2;
  width: 20px;
  height: 20px;
  border: 2px solid #dce3ec;
  border-radius: 50%;
  margin-top: 2px;
}

.checkout-shipping-card > span {
  width: 18px;
  height: 18px;
}

.checkout-shipping-card strong,
.checkout-payment-card strong {
  color: #111827;
  font-size: 14px;
  font-weight: 600;
}

.checkout-shipping-card strong {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.checkout-shipping-card b {
  grid-column: 2;
  color: #16a34a;
  font-size: 14px;
  line-height: 1;
}

.checkout-payment-card small {
  grid-column: 2;
  color: #4b5563;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.45;
}

.checkout-shipping-card:has(input:checked),
.checkout-payment-card:has(input:checked) {
  border-color: #16a34a;
  background: #fbfffc;
  box-shadow: 0 0 0 1px rgba(22, 163, 74, .28);
}

.checkout-shipping-card:has(input:checked) > span,
.checkout-payment-card:has(input:checked) .payment-choice-dot {
  border-color: #16a34a;
  box-shadow: inset 0 0 0 4px #fff;
  background: #16a34a;
}

.checkout-payment-empty {
  border: 1px solid #fecaca;
  border-radius: 7px;
  background: #fef2f2;
  padding: 14px;
  color: #991b1b;
  font-weight: 800;
}

.checkout-submit-card button {
  height: 48px;
  width: 100%;
  border: 0;
  border-radius: 7px;
  background: #138a37;
  color: #fff;
  font: inherit;
  font-size: 16px;
  font-weight: 900;
  cursor: pointer;
  box-shadow: 0 10px 24px rgba(22, 163, 74, .22);
}

.checkout-submit-card button:disabled {
  background: #9ca3af;
  cursor: not-allowed;
  box-shadow: none;
}

.store-checkout-aside {
  display: grid;
  gap: 16px;
}

.checkout-summary-card,
.checkout-payment-card-box,
.checkout-coupon-card,
.checkout-submit-card {
  padding: 22px;
}

.checkout-summary-card h3,
.checkout-payment-card-box h3,
.checkout-coupon-card h3 {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 20px;
  color: #111827;
  font-size: 16px;
}

.checkout-payment-card-box h3 > span {
  display: inline-grid;
  width: 24px;
  height: 24px;
  place-items: center;
  border-radius: 50%;
  background: #16a34a;
  color: #fff;
  font-size: 13px;
  font-weight: 900;
}

.checkout-summary-product {
  display: grid;
  grid-template-columns: 68px minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  border-bottom: 1px solid #eef2f7;
  padding-bottom: 16px;
}

.checkout-summary-thumb {
  display: grid;
  width: 68px;
  height: 68px;
  place-items: center;
  border-radius: 8px;
  background: #f3f4f6;
  color: #16a34a;
  font-size: 24px;
  font-weight: 900;
  overflow: hidden;
}

.checkout-summary-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.checkout-summary-product strong,
.checkout-summary-product small {
  display: block;
}

.checkout-summary-product strong {
  color: #111827;
  font-size: 14px;
}

.checkout-summary-product small {
  margin-top: 8px;
  color: #667085;
  font-size: 13px;
  font-weight: 400;
}

.checkout-summary-product b {
  color: #111827;
  font-size: 14px;
}

.checkout-summary-qty {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin: 16px 0;
  color: #374151;
  font-size: 13px;
  font-weight: 800;
}

.checkout-qty-stepper {
  display: grid;
  grid-template-columns: 30px 34px 30px;
  height: 36px;
  border: 1px solid #dbe3ee;
  border-radius: 4px;
  overflow: hidden;
  background: #fff;
}

.checkout-qty-stepper button,
.checkout-qty-stepper input {
  width: 100%;
  min-width: 0;
  border: 0;
  background: #fff;
  color: #111827;
  font: inherit;
  font-size: 14px;
  text-align: center;
}

.checkout-qty-stepper button {
  cursor: pointer;
  color: #2563eb;
}

.checkout-qty-stepper input {
  border-left: 1px solid #dbe3ee;
  border-right: 1px solid #dbe3ee;
  outline: 0;
  appearance: textfield;
}

.checkout-qty-stepper input::-webkit-outer-spin-button,
.checkout-qty-stepper input::-webkit-inner-spin-button {
  margin: 0;
  appearance: none;
}

.checkout-total-lines {
  display: grid;
  gap: 12px;
  border-top: 1px solid #eef2f7;
  padding-top: 16px;
}

.checkout-total-lines p,
.checkout-grand-total {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin: 0;
  color: #4b5563;
  font-size: 14px;
  font-weight: 700;
}

.checkout-total-lines p[hidden] {
  display: none !important;
}

.checkout-total-lines strong {
  color: #111827;
}

.checkout-grand-total {
  margin-top: 18px;
  border-radius: 7px;
  background: #f3f4f6;
  padding: 15px;
  color: #111827;
  font-size: 18px;
}

.checkout-grand-total strong {
  color: #16a34a;
  font-size: 22px;
}

.checkout-coupon-card > div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 88px;
  gap: 10px;
}

.checkout-coupon-card input {
  min-width: 0;
  border: 1px solid #dbe3ee;
  border-radius: 7px;
  padding: 12px;
  color: #111827;
  font: inherit;
}

.checkout-coupon-card button {
  border: 1px solid #16a34a;
  border-radius: 7px;
  background: #fff;
  color: #15803d;
  font: inherit;
  font-weight: 900;
}

.checkout-coupon-card p {
  margin: 16px 0 0;
  border-radius: 7px;
  background: #eaf8ef;
  padding: 14px;
  color: #15803d;
  font-size: 13px;
  font-weight: 800;
}

.checkout-coupon-card p.is-applied {
  background: #dcfce7;
  color: #15803d;
}

.store-checkout.on-page-checkout .store-checkout-layout {
  grid-template-columns: 1fr;
}

.store-thankyou-page {
  width: 100%;
  max-width: 1350px;
}

.thankyou-roadmap::after {
  width: calc(66.666% - 28px);
}

.store-thankyou-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(330px, .9fr);
  gap: 18px;
  align-items: start;
}

.store-thankyou-message,
.thankyou-summary-card {
  border: 1px solid #edf0f5;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 14px 40px rgba(15, 23, 42, .08);
}

.store-thankyou-message {
  display: flex;
  min-height: 480px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 38px;
  text-align: center;
}

.thankyou-status-icon {
  display: grid;
  width: 58px;
  height: 58px;
  margin-bottom: 22px;
  place-items: center;
  border-radius: 50%;
  background: #16a34a;
  color: #fff;
  box-shadow: 0 14px 30px rgba(22, 163, 74, .22);
}

.thankyou-status-icon::before {
  content: "";
  width: 23px;
  height: 13px;
  border-left: 4px solid currentColor;
  border-bottom: 4px solid currentColor;
  transform: rotate(-45deg) translate(2px, -2px);
}

.store-thankyou-message h1 {
  margin: 0 0 16px;
  color: #111827;
  font-size: 46px;
  line-height: 1.05;
  letter-spacing: 0;
}

.thankyou-copy {
  max-width: 720px;
  color: #4b5563;
  font-size: 17px;
  font-weight: 500;
  line-height: 1.75;
}

.thankyou-notice {
  width: 100%;
  margin: 0 0 18px;
  border: 1px solid #bbf7d0;
  border-radius: 8px;
  background: #f0fdf4;
  padding: 18px;
  text-align: center;
}

.thankyou-notice strong {
  display: block;
  margin-bottom: 8px;
  color: #15803d;
  font-size: 14px;
}

.thankyou-notice p {
  margin: 0;
  color: #166534;
  font-size: 14px;
  line-height: 1.6;
}

.thankyou-actions {
  justify-content: center;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 30px;
}

.thankyou-actions a {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  border: 1px solid #16a34a;
  border-radius: 7px;
  padding: 0 18px;
  color: #15803d;
  font-size: 14px;
  font-weight: 900;
  text-decoration: none;
}

.thankyou-actions a:first-child {
  background: #138a37;
  color: #fff;
  box-shadow: 0 10px 24px rgba(22, 163, 74, .22);
}

.thankyou-summary-card {
  padding: 24px;
}

.thankyou-summary-card h2 {
  margin: 0 0 18px;
  color: #111827;
  font-size: 18px;
}

.thankyou-order-meta {
  display: grid;
  gap: 11px;
  border-bottom: 1px solid #eef2f7;
  padding-bottom: 18px;
}

.thankyou-order-meta p {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin: 0;
  color: #667085;
  font-size: 13px;
  font-weight: 700;
}

.thankyou-order-meta strong {
  color: #111827;
  text-align: right;
}

.thankyou-summary-product {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  border-bottom: 1px solid #eef2f7;
  padding: 16px 0;
}

.thankyou-summary-product .checkout-summary-thumb {
  width: 58px;
  height: 58px;
}

.thankyou-summary-product strong,
.thankyou-summary-product small {
  display: block;
}

.thankyou-summary-product strong {
  color: #111827;
  font-size: 14px;
}

.thankyou-summary-product small {
  margin-top: 7px;
  color: #667085;
  font-size: 12px;
  font-weight: 500;
}

.thankyou-summary-product b {
  color: #111827;
  font-size: 14px;
}

.thankyou-total-lines {
  border-top: 0;
  padding-top: 16px;
}

.single-product-meta-row {
  order: 7;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-top: 21px;
  border-top: 1px solid #e5e7eb;
  padding-top: 18px;
  color: #7a7f87;
  font-size: 15px;
}

.single-product-meta-row > div {
  display: flex;
  align-items: center;
  gap: 22px;
  min-width: 0;
}

.single-product-compare,
.single-product-wishlist {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  border: 0;
  background: transparent;
  color: #343942;
  font: inherit;
  font-weight: 600;
  cursor: pointer;
  white-space: nowrap;
}

.single-product-sidebar {
  display: grid;
  gap: 18px;
}

.single-related-card,
.single-sale-card,
.single-service-strip,
.single-payment-card {
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  background: #fff;
}

.single-related-card,
.single-payment-card {
  padding: 16px;
}

.single-product-details-side .single-related-card {
  border: 1px solid #e5e7eb;
  padding: 16px;
  margin-top: 0;
}

.single-sidebar-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}

.single-sidebar-head h2,
.single-payment-card h2 {
  margin: 0;
  color: #111827;
  font-size: 14px;
  font-weight: 800;
}

.single-sidebar-head a {
  color: #4b5563;
  font-size: 11px;
  text-decoration: underline;
}

.single-related-list {
  display: grid;
  gap: 14px;
}

.single-related-item {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr) 34px;
  gap: 12px;
  align-items: center;
  color: #111827;
}

.single-related-thumb {
  width: 72px;
  height: 72px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border-radius: 8px;
  background: #f7f8fb;
  color: #cbd5e1;
  font-weight: 800;
}

.single-related-thumb img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.single-related-item strong {
  display: -webkit-box;
  overflow: hidden;
  color: #111827;
  font-size: 12px;
  line-height: 1.35;
  font-weight: 800;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.single-related-item small {
  display: block;
  margin-top: 5px;
  color: #ffb000;
  font-size: 11px;
}

.single-related-item small em {
  color: #64748b;
  font-style: normal;
}

.single-related-item b {
  display: block;
  margin-top: 4px;
  color: #f01831;
  font-size: 13px;
}

.single-related-item del {
  margin-left: 5px;
  color: #94a3b8;
  font-size: 11px;
}

.single-related-item i {
  width: 31px;
  height: 31px;
  display: grid;
  place-items: center;
  border: 1px solid #ff9cad;
  border-radius: 7px;
  color: #f01831;
  font-style: normal;
  font-size: 14px;
}

.single-sale-card {
  min-height: 116px;
  display: grid;
  align-content: center;
  justify-items: start;
  gap: 4px;
  padding: 20px;
  background: linear-gradient(105deg, #fff0e9 0%, #ffe4d6 58%, #f8fafc 100%);
}

.single-sidebar-banner-section,
.single-sidebar-support-section {
  display: grid;
  gap: 14px;
}

.single-sidebar-banner-section {
  margin-top: 2px;
}

.single-sale-card img {
  width: 100%;
  max-height: 170px;
  display: block;
  margin: -6px 0 10px;
  border-radius: 7px;
  object-fit: cover;
}

.single-sale-card span,
.single-sale-card small {
  color: #64748b;
  font-size: 12px;
}

.single-sale-card strong {
  color: #111827;
  font-size: 22px;
  line-height: 1.15;
}

.single-sale-card a {
  margin-top: 8px;
  border-radius: 5px;
  padding: 8px 12px;
  background: #f01831;
  color: #fff;
  font-size: 12px;
  font-weight: 800;
}

.single-service-strip {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}

.single-service-strip div {
  min-height: 78px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 4px;
  padding: 10px;
  text-align: center;
}

.single-service-strip div + div {
  border-left: 1px solid #e5e7eb;
}

.single-service-strip strong {
  color: #111827;
  font-size: 11px;
}

.single-service-strip small {
  color: #64748b;
  font-size: 10px;
  line-height: 1.25;
}

.single-payment-card p {
  margin: 6px 0 12px;
  color: #64748b;
  font-size: 11px;
}

.single-payment-card div {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.single-payment-card span {
  min-width: 50px;
  border: 1px solid #e5e7eb;
  border-radius: 5px;
  padding: 6px 8px;
  color: #2563eb;
  font-size: 10px;
  font-weight: 800;
  text-align: center;
}

.single-product-details {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 3fr);
  gap: 16px;
  align-items: start;
  max-width: none;
}

.single-product-details.no-sidebar,
.single-product-details.no-description {
  grid-template-columns: 1fr;
}

.single-product-description,
.single-product-details-side {
  min-height: 100%;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  background: #fff;
  padding: 0 16px 16px;
}

.single-product-details-side {
  display: grid;
  gap: 16px;
  align-content: start;
  min-height: 0;
  border: 0;
  background: transparent;
  padding: 0;
}

.single-product-info-card {
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  padding: 16px;
  background: #fff;
}

.single-product-description > h2,
.single-product-info-card > h2 {
  display: flex;
  width: 100%;
  margin: 0 0 16px;
  padding: 18px 0 10px;
  border-bottom: 2px solid #f01831;
  color: #111827;
  font-size: 13px;
  font-weight: 800;
}

/* Temporary: hide single product section borders. */
.single-product-breadcrumb,
.single-product-hero,
.single-related-card,
.single-sale-card,
.single-service-strip,
.single-payment-card,
.single-product-details-side .single-related-card,
.single-product-description,
.single-product-info-card {
  border: 0;
}

.single-service-strip div + div,
.single-product-description > h2,
.single-product-info-card > h2 {
  border: 0;
}

.single-product-description p,
.single-product-description li {
  color: #4b5563;
  font-size: 14px;
  line-height: 1.7;
}

.single-product-description-images {
  display: grid;
  justify-items: center;
  gap: 16px;
  margin-top: 22px;
}

.single-product-description-images img {
  display: block;
  width: min(100%, 760px);
  height: auto;
  border-radius: 8px;
  object-fit: contain;
}

.single-product-info-card dl {
  display: grid;
  grid-template-columns: 110px minmax(0, 1fr);
  gap: 12px;
  margin: 0;
  font-size: 13px;
}

.single-product-info-card dt {
  color: #64748b;
}

.single-product-info-card dd {
  margin: 0;
  color: #111827;
  font-weight: 600;
}

.empty-products {
  grid-column: 1 / -1;
  margin: 0;
  border-radius: 10px;
  padding: 22px;
  background: var(--store-card);
  color: #74788d;
  box-shadow: var(--store-shadow);
  font-weight: 700;
}

.store-seo-content {
  margin: 42px 0 52px;
  color: #050816;
  font-size: 15px;
  line-height: 1.75;
}

.store-seo-content > h1 {
  margin: 0 0 18px;
  color: #050816;
  font-size: 18px;
  line-height: 1.35;
  font-weight: 700;
  letter-spacing: 0;
}

.store-seo-content div h2 {
  margin: 20px 0 8px;
  color: #050816;
  font-size: 17px;
  line-height: 1.35;
  font-weight: 600;
}

.store-seo-content h3,
.store-seo-content div h3 {
  margin: 26px 0 10px;
  color: #050816;
  font-size: 17px;
  line-height: 1.35;
  font-weight: 600;
}

.store-seo-content p {
  margin: 0 0 14px;
}

.store-seo-content a {
  color: #e60012;
  text-decoration: underline;
}

.store-seo-content strong,
.store-seo-content b {
  font-weight: 800;
}

.product-cool { background: #f1f2f4; }
.product-cream { background: linear-gradient(135deg, #ffedc8, #ffd899); }
.product-mint { background: linear-gradient(135deg, #dbf4dc, #aeddb5); }
.product-rose { background: linear-gradient(135deg, #f8d5df, #ee91b7); }
.product-lavender { background: linear-gradient(135deg, #e5e7f7, #a5adda); }
.product-lemon { background: linear-gradient(135deg, #fff7c9, #ffe394); }
.product-aqua { background: linear-gradient(135deg, #c9f5f6, #84dce5); }
.product-orchid { background: linear-gradient(135deg, #ead8ef, #cc86d2); }
.product-pale { background: linear-gradient(135deg, #e4f6e6, #c8e3cc); }
.product-sunset { background: linear-gradient(135deg, #ffe0a0, #ffc06b); }

.store-footer {
  margin-top: 24px;
  background: var(--store-navy);
  color: #c4c9dc;
}

.store-auth-page {
  min-height: 620px;
  display: grid;
  place-items: center;
  padding: 52px 0 68px;
  background: transparent;
}

.store-auth-card {
  width: min(100%, 860px);
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(320px, 1fr);
  overflow: hidden;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 18px 48px rgba(15, 23, 42, .08);
}

.store-auth-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 42px;
  background: #101827;
  color: #fff;
}

.store-auth-mark {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  margin-bottom: 24px;
  border-radius: 8px;
  background: #f01831;
}

.store-auth-mark svg {
  width: 23px;
  height: 23px;
}

.store-auth-copy h1 {
  margin: 0;
  font-size: 32px;
  line-height: 1.12;
  letter-spacing: 0;
}

.store-auth-copy p {
  margin: 14px 0 0;
  color: #cbd5e1;
  font-size: 14px;
  line-height: 1.7;
}

.store-auth-form {
  display: grid;
  align-content: center;
  gap: 16px;
  padding: 42px;
}

.store-auth-form label {
  display: grid;
  gap: 8px;
  color: #344054;
  font-size: 13px;
  font-weight: 800;
}

.store-auth-form input {
  width: 100%;
  height: 46px;
  border: 1px solid #dbe3ef;
  border-radius: 7px;
  padding: 0 14px;
  color: #111827;
  font: inherit;
  font-size: 14px;
  outline: 0;
}

.store-auth-form input:focus {
  border-color: #6c63ff;
  box-shadow: 0 0 0 3px rgba(108, 99, 255, .12);
}

.store-auth-form button {
  height: 48px;
  border: 0;
  border-radius: 7px;
  background: #f01831;
  color: #fff;
  font: inherit;
  font-weight: 900;
  cursor: pointer;
}

.store-auth-form p {
  margin: 0;
  color: #667085;
  font-size: 13px;
  text-align: center;
}

.store-auth-form a {
  color: #4f46e5;
  font-weight: 900;
}

.store-auth-review {
  display: grid;
  gap: 5px;
  border: 1px solid #e7e8ff;
  border-radius: 8px;
  padding: 14px;
  background: #f7f7ff;
  color: #667085;
  font-size: 12px;
}

.store-auth-review strong {
  color: #111827;
  font-size: 14px;
}

.store-account-page {
  display: grid;
  grid-template-columns: 228px minmax(0, 1fr);
  gap: 6px;
  padding: 4px 0 54px;
  background: transparent;
}

.account-sidebar,
.account-panel,
.account-hero-card {
  border: 1px solid #e6eaf2;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 8px 28px rgba(15, 23, 42, .045);
}

.account-sidebar {
  position: sticky;
  top: 142px;
  align-self: start;
  overflow: hidden;
}

.account-sidebar h2 {
  margin: 0;
  padding: 18px 20px;
  color: #475467;
  font-size: 13px;
  text-transform: uppercase;
}

.account-sidebar nav {
  display: grid;
  gap: 2px;
}

.account-sidebar nav a {
  min-height: 42px;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 0 20px;
  color: #344054;
  font-size: 13px;
  font-weight: 700;
}

.account-sidebar nav a.active {
  border-left: 3px solid #6c63ff;
  background: #f0eeff;
  color: #4f46e5;
}

.account-sidebar svg,
.account-content svg {
  width: 17px;
  height: 17px;
  stroke-width: 2;
}

.account-help {
  display: grid;
  justify-items: center;
  gap: 7px;
  margin: 28px 16px 18px;
  border-radius: 8px;
  padding: 18px 12px;
  background: #f0eeff;
  color: #667085;
  text-align: center;
  font-size: 11px;
}

.account-help svg {
  color: #6c63ff;
}

.account-help strong {
  color: #111827;
  font-size: 13px;
}

.account-help a {
  margin-top: 4px;
  border-radius: 6px;
  padding: 9px 14px;
  background: #5b4df7;
  color: #fff;
  font-weight: 900;
}

.account-content {
  min-width: 0;
}

.account-content :where(h1, h2, h3, p, small, strong, b, dt, dd, span, em, a, label, input, textarea, button) {
  font-weight: 400;
}

.account-content .account-panel-head h3,
.account-content .account-panel-head a,
.account-content .account-details-panel dt,
.account-content .account-details-panel dd {
  font-weight: 400;
}

.account-breadcrumb {
  margin-bottom: 18px;
  color: #667085;
  font-size: 12px;
  font-weight: 700;
}

.account-breadcrumb span {
  margin: 0 8px;
  color: #98a2b3;
}

.account-title {
  margin-bottom: 24px;
}

.account-title h1 {
  margin: 0;
  color: #101828;
  font-size: 30px;
  line-height: 1.15;
  letter-spacing: 0;
}

.account-title p {
  margin: 8px 0 0;
  color: #667085;
  font-size: 13px;
  font-weight: 600;
}

.account-hero-card {
  display: grid;
  grid-template-columns: minmax(300px, 1fr) minmax(420px, .9fr);
  gap: 22px;
  align-items: center;
  margin-bottom: 10px;
  padding: 20px;
}

.account-profile {
  display: grid;
  grid-template-columns: 96px minmax(0, 1fr);
  gap: 22px;
  align-items: center;
}

.account-avatar {
  width: 96px;
  height: 96px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: linear-gradient(135deg, #dff6ff, #dfe5ff);
  color: #1d4ed8;
  font-size: 30px;
  font-weight: 900;
}

.account-profile h2 {
  margin: 0 0 7px;
  color: #101828;
  font-size: 20px;
  line-height: 1.2;
}

.account-profile p {
  margin: 0 0 10px;
  color: #667085;
  font-size: 13px;
  font-weight: 600;
}

.account-profile small {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 7px;
  color: #344054;
  font-size: 12px;
  font-weight: 700;
}

.account-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  overflow: hidden;
  border: 1px solid #e7eaf2;
  border-radius: 8px;
}

.account-stats a {
  min-height: 74px;
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  align-content: center;
  gap: 2px 10px;
  padding: 13px;
}

.account-stats a + a {
  border-left: 1px solid #e7eaf2;
}

.account-stats svg {
  grid-row: 1 / span 2;
  width: 34px;
  height: 34px;
  border-radius: 7px;
  padding: 8px;
  background: #f0eeff;
  color: #6c63ff;
}

.account-stats strong {
  color: #101828;
  font-size: 18px;
  line-height: 1;
}

.account-stats span {
  color: #667085;
  font-size: 11px;
  font-weight: 700;
}

.account-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(320px, .9fr);
  gap: 10px;
}

.account-panel {
  min-width: 0;
  padding: 18px;
}

.account-panel-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 14px;
}

.account-panel-head h3 {
  margin: 0;
  color: #101828;
  font-size: 16px;
}

.account-panel-head a {
  border-radius: 6px;
  padding: 7px 10px;
  background: #f0eeff;
  color: #4f46e5;
  font-size: 11px;
  font-weight: 900;
}

.account-order-list {
  display: grid;
}

.account-order-item {
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr) auto auto 20px;
  gap: 14px;
  align-items: center;
  padding: 12px 0;
  color: #344054;
}

.account-order-item + .account-order-item {
  border-top: 1px solid #edf0f5;
}

.account-order-thumb {
  width: 54px;
  height: 54px;
  display: grid;
  place-items: center;
  border-radius: 8px;
  background: #f1f5f9;
  color: #475467;
}

.account-order-item strong,
.account-order-item small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.account-order-item strong {
  color: #101828;
  font-size: 12px;
}

.account-order-item small {
  margin-top: 4px;
  color: #667085;
  font-size: 11px;
}

.account-order-item em {
  border-radius: 6px;
  padding: 5px 10px;
  font-style: normal;
  font-size: 11px;
  font-weight: 900;
}

.account-order-item em.delivered {
  background: #dcf8e5;
  color: #1f9a50;
}

.account-order-item em.shipped {
  background: #e7efff;
  color: #3f6df6;
}

.account-order-item em.processing,
.account-order-item em.pending {
  background: #fff2cc;
  color: #b77900;
}

.account-order-item b {
  color: #101828;
  font-size: 13px;
}

.account-empty {
  margin: 0;
  border-radius: 7px;
  padding: 22px;
  background: #f8fafc;
  color: #667085;
  text-align: center;
  font-weight: 700;
}

.account-details-panel {
  position: relative;
  overflow: hidden;
}

.account-details-panel dl {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 10px;
  margin: 0;
  color: #667085;
  font-size: 12px;
}

.account-details-panel dt {
  font-weight: 800;
}

.account-details-panel dd {
  margin: -6px 0 4px;
  color: #101828;
  font-weight: 800;
}

.account-address,
.account-payment {
  display: grid;
  align-items: center;
  gap: 14px;
}

.account-address {
  grid-template-columns: 44px minmax(0, 1fr) 28px 28px;
}

.account-address > svg {
  width: 44px;
  height: 44px;
  border-radius: 8px;
  padding: 11px;
  background: #f0eeff;
  color: #6c63ff;
}

.account-address strong {
  display: block;
  color: #101828;
  font-size: 13px;
}

.account-address strong span,
.account-payment em {
  margin-left: 8px;
  border-radius: 5px;
  padding: 4px 8px;
  background: #f0eeff;
  color: #4f46e5;
  font-size: 11px;
  font-weight: 900;
}

.account-address p,
.account-address small {
  display: block;
  margin: 6px 0 0;
  color: #667085;
  font-size: 12px;
  line-height: 1.45;
}

.account-address button,
.account-address > a {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border: 0;
  background: transparent;
  color: #667085;
  cursor: pointer;
}

.account-payment {
  grid-template-columns: 56px minmax(0, 1fr) auto auto 20px;
  border-bottom: 1px dashed #d9deea;
  padding-bottom: 18px;
}

.account-payment > span {
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  padding: 8px 10px;
  color: #1d4ed8;
  font-size: 14px;
  font-weight: 900;
  font-style: italic;
}

.account-payment strong {
  color: #101828;
  font-size: 13px;
}

.account-payment small {
  color: #667085;
  font-size: 12px;
  font-weight: 700;
}

.account-add-payment {
  width: 100%;
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-top: 18px;
  border: 1px dashed #d5d8ff;
  border-radius: 7px;
  background: #fbfbff;
  color: #4f46e5;
  font: inherit;
  font-size: 13px;
  font-weight: 900;
  cursor: pointer;
}

.account-wide-panel {
  min-height: 250px;
}

.account-form {
  display: grid;
  gap: 16px;
}

.account-form-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.account-form label {
  display: grid;
  gap: 8px;
  color: #475467;
  font-size: 12px;
  font-weight: 900;
}

.account-form input[type="text"],
.account-form input[type="tel"],
.account-form input[type="email"],
.account-form input[type="password"],
.account-form textarea {
  width: 100%;
  border: 1px solid #dfe6ef;
  border-radius: 7px;
  background: #fff;
  color: #101828;
  font: inherit;
  font-size: 13px;
  outline: 0;
}

.account-form input[type="text"],
.account-form input[type="tel"],
.account-form input[type="email"],
.account-form input[type="password"] {
  height: 44px;
  padding: 0 12px;
}

.account-form textarea {
  min-height: 120px;
  resize: vertical;
  padding: 12px;
}

.account-form input:focus,
.account-form textarea:focus {
  border-color: #6c63ff;
  box-shadow: 0 0 0 3px rgba(108, 99, 255, .12);
}

.account-form button {
  width: max-content;
  height: 44px;
  align-self: end;
  border: 0;
  border-radius: 7px;
  padding: 0 18px;
  background: #5b4df7;
  color: #fff;
  font: inherit;
  font-size: 13px;
  font-weight: 900;
  cursor: pointer;
}

.account-toggle-form label {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 44px;
  border: 1px solid #e7eaf2;
  border-radius: 8px;
  padding: 0 14px;
  color: #344054;
  background: #fbfcff;
}

.account-toggle-form input {
  width: 16px;
  height: 16px;
}

.store-shop-page {
  display: grid;
  grid-template-columns: minmax(230px, 1fr) minmax(0, 3fr);
  gap: 18px;
  align-items: start;
  padding: 4px 0 46px;
}

.shop-filter-toggle,
.shop-filter-overlay {
  display: none;
}

.shop-filter-panel,
.shop-toolbar {
  border: 1px solid var(--store-border);
  border-radius: 8px;
  background: var(--store-card);
  box-shadow: var(--store-shadow);
}

.shop-filter-panel {
  position: sticky;
  top: 142px;
  overflow: hidden;
}

.shop-filter-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border-bottom: 1px solid #edf0f5;
  padding: 16px 18px;
}

.shop-filter-head > div {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

.shop-filter-head button {
  display: none;
}

.shop-filter-head h2,
.shop-toolbar h1,
.shop-filter-group h3 {
  margin: 0;
  color: #101828;
  font-weight: 400;
  letter-spacing: 0;
}

.shop-filter-head h2 {
  font-size: 17px;
}

.shop-filter-head a {
  color: #4f46e5;
  font-size: 12px;
}

.shop-filter-form {
  display: grid;
  gap: 6px;
  padding: 0;
}

.shop-search-field,
.shop-filter-group,
.shop-check {
  display: grid;
  gap: 10px;
  color: #475467;
  font-size: 13px;
  font-weight: 400;
}

.shop-search-field {
  padding: 16px 18px;
}

.shop-search-field input,
.shop-price-row input,
.shop-toolbar select {
  width: 100%;
  height: 42px;
  border: 1px solid #dfe6ef;
  border-radius: 7px;
  background: var(--store-card);
  color: #101828;
  font: inherit;
  font-size: 13px;
  outline: 0;
}

.shop-search-field input,
.shop-price-row input {
  padding: 0 12px;
}

.shop-search-field input:focus,
.shop-price-row input:focus,
.shop-toolbar select:focus {
  border-color: #6c63ff;
  box-shadow: 0 0 0 3px rgba(108, 99, 255, .12);
}

.shop-filter-group {
  border-top: 1px solid #edf0f5;
  padding: 16px 18px;
}

.shop-filter-group h3 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  font-size: 14px;
}

.shop-filter-group h3 svg {
  width: 15px;
  height: 15px;
}

.shop-filter-group:first-of-type {
  border-top: 0;
}

.shop-price-slider {
  position: relative;
  height: 28px;
  margin: 14px 0 12px;
  --range-left: 0%;
  --range-right: 100%;
}

.shop-range-line {
  position: absolute;
  top: 12px;
  right: 9px;
  left: 9px;
  height: 4px;
  margin: 0;
  pointer-events: none;
}

.shop-range-line::before {
  content: "";
  position: absolute;
  right: 0;
  left: 0;
  height: 4px;
  border-radius: 999px;
  background: #e6edf5;
}

.shop-range-line::after {
  content: "";
  position: absolute;
  left: var(--range-left);
  right: calc(100% - var(--range-right));
  height: 4px;
  border-radius: 999px;
  background: #ff4a26;
}

.shop-range-line span {
  display: none;
}

.shop-price-slider input[type="range"] {
  position: absolute;
  inset: 0;
  z-index: 2;
  width: 100%;
  height: 28px;
  margin: 0;
  background: transparent;
  appearance: none;
  -webkit-appearance: none;
  pointer-events: none;
}

.shop-price-slider input[type="range"]::-webkit-slider-runnable-track {
  height: 28px;
  background: transparent;
}

.shop-price-slider input[type="range"]::-moz-range-track {
  height: 28px;
  background: transparent;
  border: 0;
}

.shop-price-slider input[type="range"]::-webkit-slider-thumb {
  width: 18px;
  height: 18px;
  margin-top: 5px;
  border: 3px solid #ff4a26;
  border-radius: 50%;
  background: radial-gradient(circle, #ff4a26 0 35%, #fff 38% 100%);
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  pointer-events: auto;
}

.shop-price-slider input[type="range"]::-moz-range-thumb {
  width: 12px;
  height: 12px;
  border: 3px solid #ff4a26;
  border-radius: 50%;
  background: #fff;
  box-shadow: inset 0 0 0 4px #ff4a26;
  cursor: pointer;
  pointer-events: auto;
}

.shop-radio,
.shop-check {
  display: flex;
  align-items: center;
  gap: 9px;
  color: #344054;
  line-height: 1.35;
}

.shop-radio input,
.shop-check input {
  width: 15px;
  height: 15px;
  accent-color: #5b4df7;
}

.shop-price-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.shop-filter-form button {
  margin: 12px 18px 18px;
  height: 44px;
  border: 0;
  border-radius: 7px;
  background: #5b4df7;
  color: #fff;
  font: inherit;
  font-size: 13px;
  font-weight: 400;
  cursor: pointer;
}

.shop-products-column {
  min-width: 0;
}

.shop-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 14px;
  padding: 16px 18px;
}

.shop-toolbar h1 {
  font-size: 24px;
}

.shop-toolbar p {
  margin: 6px 0 0;
  color: #667085;
  font-size: 13px;
}

.shop-toolbar form {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 190px;
}

.shop-toolbar-controls {
  display: flex;
  align-items: center;
  gap: 12px;
}

.shop-toolbar-controls label {
  color: #101828;
  font-size: 13px;
  white-space: nowrap;
}

.shop-toolbar select {
  padding: 0 12px;
}

.shop-product-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.shop-empty {
  grid-column: 1 / -1;
  margin: 0;
  border: 1px solid var(--store-border);
  border-radius: 8px;
  padding: 28px;
  background: var(--store-card);
  color: #667085;
  text-align: center;
}

.shop-pagination {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 18px;
}

.shop-pagination a {
  min-width: 36px;
  height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #dfe6ef;
  border-radius: 7px;
  padding: 0 12px;
  background: var(--store-card);
  color: #344054;
  font-size: 13px;
}

.shop-pagination a.active {
  border-color: #5b4df7;
  background: #5b4df7;
  color: #fff;
}

.footer-grid {
  max-width: 1350px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(280px, 1.7fr) repeat(3, minmax(160px, 1fr));
  gap: 60px;
  align-items: start;
  padding: 48px 24px 42px;
}

.footer-brand {
  color: #fff;
  min-height: 0;
  margin: 3px 0 23px;
}

.footer-brand .store-logo-image {
  display: block;
  width: 216px;
  height: auto;
  max-width: 216px;
  max-height: 64px;
  object-fit: contain;
}

.footer-logo-fallback {
  display: none;
  color: #fff;
  font-size: 24px;
  font-weight: 900;
}

.footer-grid p {
  max-width: 430px;
  margin: 0 0 25px;
  font-size: 13px;
  line-height: 1.8;
}

.footer-grid h3 {
  margin: 6px 0 20px;
  color: #fff;
  font-size: 16px;
}

.footer-grid section {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.footer-grid section a:not(.store-brand):not(.social-row a) {
  margin-bottom: 17px;
  font-size: 13px;
}

.social-row {
  display: flex;
  gap: 11px;
}

.social-row a {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  font-weight: 900;
}

.facebook { background: #1877f2; }
.instagram { background: #f43f73; }
.youtube { background: #ff1111; }
.whatsapp { background: #20c96b; }

.footer-bottom {
  max-width: 1350px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  gap: 20px;
  border-top: 1px solid rgba(255, 255, 255, .1);
  padding: 20px 24px 23px;
  color: #8e95b2;
  font-size: 12px;
}

.footer-bottom p {
  margin: 0;
}

.store-blog-page {
  max-width: 100%;
  margin: 0 auto;
  padding: 8px 0 48px;
}

.blog-featured-categories {
  margin-bottom: 30px;
}

.blog-breadcrumb {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: 8px;
  width: 100%;
  min-width: 0;
  overflow: hidden;
  margin: 0 0 16px;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  background: #fff;
  padding: 10px 13px;
  color: #64748b;
  font-size: 13px;
  line-height: 1.4;
}

.blog-breadcrumb > * {
  flex: 0 0 auto;
}

.blog-breadcrumb a {
  color: #475569;
}

.blog-breadcrumb a:hover {
  color: var(--store-red);
}

.blog-breadcrumb span {
  color: #b1bac8;
}

.blog-breadcrumb strong {
  min-width: 0;
  flex: 1 1 auto;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #111827;
  font-weight: 500;
}

.blog-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 16px;
}

.blog-section-head h1 {
  position: relative;
  margin: 0;
  padding-left: 14px;
  color: #111827;
  font-size: 24px;
  line-height: 1.15;
  font-weight: 800;
}

.blog-section-head h1::before {
  content: "";
  position: absolute;
  left: 0;
  top: 2px;
  bottom: 2px;
  width: 5px;
  border-radius: 999px;
  background: var(--store-red);
}

.blog-section-head a {
  color: var(--store-red);
  font-size: 13px;
  font-weight: 700;
}

.blog-category-strip {
  display: grid;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  gap: 10px;
}

.blog-category-card {
  min-height: 138px;
  display: grid;
  align-content: center;
  justify-items: center;
  gap: 13px;
  border: 1px solid #e1e5ec;
  border-radius: 12px;
  background: #fff;
  color: #111827;
  text-align: center;
  padding: 16px 10px;
  box-shadow: 0 8px 20px rgba(15, 23, 42, .03);
}

.blog-category-card:hover,
.blog-category-card.is-active {
  border-color: #cfd6e1;
  box-shadow: 0 14px 34px rgba(15, 23, 42, .08);
}

.blog-category-card svg {
  width: 34px;
  height: 34px;
  fill: none;
  stroke: #111827;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.blog-category-card span {
  font-size: 16px;
  line-height: 1.2;
  font-weight: 500;
}

.blog-filter-note {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 18px;
  border: 1px solid #e4e8f0;
  border-radius: 10px;
  background: #fff;
  padding: 12px 14px;
}

.blog-filter-note span {
  color: #111827;
  font-weight: 700;
}

.blog-filter-note a {
  color: var(--store-red);
  font-size: 13px;
  font-weight: 700;
}

.blog-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 27px;
}

.blog-card {
  overflow: hidden;
  border: 1px solid #e1e5ec;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 10px 24px rgba(15, 23, 42, .045);
}

.blog-card-media {
  position: relative;
  display: block;
  aspect-ratio: 1.95 / 1;
  overflow: hidden;
  background: #edf1f6;
}

.blog-card-media img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.blog-card-media > span {
  width: 100%;
  height: 100%;
  display: grid;
  place-items: center;
  color: #334155;
  font-size: 54px;
  font-weight: 800;
}

.blog-card-media em {
  position: absolute;
  left: 24px;
  bottom: 24px;
  max-width: calc(100% - 48px);
  min-height: 28px;
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  background: rgba(35, 35, 35, .32);
  color: #fff;
  padding: 0 15px;
  font-size: 14px;
  font-style: normal;
  font-weight: 600;
  backdrop-filter: blur(8px);
}

.blog-card-body {
  padding: 22px 24px 26px;
}

.blog-card-meta {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 18px;
  padding-bottom: 14px;
  border-bottom: 1px solid #e5e7eb;
  color: #4b5563;
  font-size: 14px;
}

.blog-card-meta span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  white-space: nowrap;
}

.blog-card-meta svg,
.single-blog-meta svg {
  width: 16px;
  height: 16px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
}

.blog-card h2 {
  margin: 0 0 16px;
  color: #030712;
  font-size: 23px;
  line-height: 1.35;
  font-weight: 500;
}

.blog-card p {
  margin: 0 0 24px;
  color: #4b5563;
  font-size: 15px;
  line-height: 1.65;
}

.blog-read-link {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: #2537d8;
  font-size: 14px;
  font-weight: 700;
}

.blog-read-link svg {
  width: 18px;
  height: 18px;
}

.blog-empty-state {
  grid-column: 1 / -1;
  border: 1px solid #e1e5ec;
  border-radius: 14px;
  background: #fff;
  padding: 34px;
  text-align: center;
}

.blog-empty-state h2 {
  margin: 0 0 8px;
}

.blog-empty-state p {
  margin: 0;
  color: var(--store-muted);
}

.blog-pagination {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: 30px;
}

.blog-pagination a {
  min-width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border: 1px solid #e1e5ec;
  border-radius: 8px;
  background: #fff;
  color: #111827;
  font-weight: 700;
}

.blog-pagination a.is-active {
  background: var(--store-red);
  border-color: var(--store-red);
  color: #fff;
}

.single-blog-page {
  max-width: 100%;
  min-width: 0;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 2fr) 410px;
  gap: 22px;
  align-items: start;
  padding: 0 0 54px;
}

.single-blog-article,
.latest-article-card,
.blog-sidebar-category-card {
  min-width: 0;
  overflow: hidden;
  border: 1px solid #edf1f6;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(15, 23, 42, .05);
}

.single-blog-hero {
  aspect-ratio: 2.1 / 1;
  overflow: hidden;
  background: #eef2f7;
}

.single-blog-hero img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.single-blog-body {
  min-width: 0;
  padding: 26px 24px 34px;
}

.single-blog-body h1 {
  margin: 0 0 14px;
  color: #030712;
  font-size: 32px;
  line-height: 1.32;
  font-weight: 500;
}

.single-blog-byline {
  margin: 0 0 26px;
  color: #374151;
  font-size: 14px;
}

.single-blog-byline a {
  color: #e9331d;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.single-blog-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  border-top: 1px solid #e5e7eb;
  border-bottom: 1px solid #e5e7eb;
  padding: 14px 0;
  color: #4b5563;
  font-size: 14px;
}

.single-blog-meta span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.single-blog-summary {
  margin: 24px 0 28px;
  border-radius: 18px;
  background: #f1f3f8;
  color: #020617;
  padding: 20px;
  font-size: 15px;
  line-height: 1.65;
}

.single-blog-summary strong {
  font-weight: 800;
}

.single-blog-content {
  min-width: 0;
  max-width: 100%;
  color: #111827;
  font-size: 16px;
  line-height: 1.85;
  overflow-wrap: break-word;
}

.single-blog-content h2,
.single-blog-content h3,
.single-blog-content h4 {
  color: #030712;
  line-height: 1.3;
}

.single-blog-content img {
  max-width: 100%;
  height: auto;
  border-radius: 10px;
}

.single-blog-content figure {
  max-width: 100%;
  margin: 24px 0;
  overflow: hidden;
}

.single-blog-content figure img {
  width: 100%;
  display: block;
}

.single-blog-content figcaption {
  margin-top: 8px;
  color: #64748b;
  font-size: 13px;
  text-align: center;
}

.single-blog-content .blog-image-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin: 24px 0;
}

.single-blog-content .blog-image-grid img {
  width: 100%;
  aspect-ratio: 1.35 / 1;
  object-fit: cover;
}

.single-blog-content table {
  width: 100%;
  max-width: 100%;
  border-collapse: collapse;
  margin: 24px 0;
  overflow: hidden;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  font-size: 14px;
}

.single-blog-content th,
.single-blog-content td {
  border: 1px solid #e2e8f0;
  padding: 11px 12px;
  text-align: left;
  vertical-align: top;
}

.single-blog-content th {
  background: #f8fafc;
  color: #0f172a;
  font-weight: 700;
}

.single-blog-content a {
  color: #e9331d;
  text-decoration: underline;
}

.single-blog-sidebar {
  position: sticky;
  top: 110px;
}

.latest-article-card,
.blog-sidebar-category-card {
  padding: 26px 24px;
}

.latest-article-card h2,
.blog-sidebar-category-card h2 {
  margin: 0 0 14px;
  padding-bottom: 14px;
  border-bottom: 1px solid #e5e7eb;
  color: #111827;
  font-size: 16px;
  line-height: 1.25;
}

.latest-article-item {
  display: grid;
  grid-template-columns: 74px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  padding: 15px 0;
  border-bottom: 1px solid #e5e7eb;
}

.latest-article-item:last-of-type {
  border-bottom: 0;
  padding-bottom: 0;
}

.latest-article-thumb {
  width: 74px;
  aspect-ratio: 1.12 / 1;
  overflow: hidden;
  border-radius: 8px;
  background: #eef2f7;
  display: grid;
  place-items: center;
}

.latest-article-thumb img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.latest-article-thumb b {
  color: #334155;
  font-size: 22px;
}

.latest-article-copy {
  min-width: 0;
}

.latest-article-copy em {
  display: block;
  margin-top: 6px;
  color: #f03b1f;
  font-size: 14px;
  font-style: normal;
}

.latest-article-copy strong {
  display: block;
  color: #111827;
  font-size: 15px;
  line-height: 1.35;
  font-weight: 500;
}

.latest-article-empty {
  margin: 0;
  color: var(--store-muted);
  font-size: 14px;
}

.blog-sidebar-category-card {
  margin-top: 18px;
}

.blog-sidebar-category-card div {
  display: grid;
  gap: 8px;
}

.blog-sidebar-category-card a {
  min-height: 42px;
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  border: 1px solid #edf1f6;
  border-radius: 8px;
  background: #fff;
  color: #111827;
  padding: 0 12px;
  font-size: 14px;
  font-weight: 500;
}

.blog-sidebar-category-card a:hover {
  border-color: #d6deea;
  background: #fbfcff;
}

.blog-sidebar-category-card svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
}

@media (max-width: 1398px) {
  .store-topbar,
  .category-nav {
    max-width: calc(100% - 48px);
  }
}

@media (max-width: 1100px) {
  .store-topbar,
  .category-nav {
    max-width: none;
    margin-left: 18px;
    margin-right: 18px;
  }

  .store-topbar {
    grid-template-columns: 170px minmax(240px, 1fr);
  }

  .store-actions {
    grid-column: 1 / -1;
    justify-content: space-between;
    gap: 12px;
  }

  .hero-grid {
    grid-template-columns: 1fr;
  }

  .side-promos {
    grid-template-columns: 1fr 1fr;
  }

  .mini-promo:first-child,
  .mini-promo {
    min-height: 150px;
  }

  .category-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .product-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .blog-category-strip {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .blog-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .single-blog-page {
    grid-template-columns: 1fr;
  }

  .single-blog-sidebar {
    position: static;
  }

  .single-product-hero,
  .single-product-details {
    grid-template-columns: 1fr;
  }

  .single-product-details {
    max-width: none;
  }

  .single-product-sidebar {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .single-related-card,
  .single-payment-card {
    grid-column: 1 / -1;
  }

  .store-account-page,
  .account-hero-card,
  .account-grid {
    grid-template-columns: 1fr;
  }

  .account-sidebar {
    position: static;
  }

  .account-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .account-stats a:nth-child(3) {
    border-left: 0;
    border-top: 1px solid #e7eaf2;
  }

  .account-stats a:nth-child(4) {
    border-top: 1px solid #e7eaf2;
  }

  .store-cart-layout {
    grid-template-columns: 1fr;
  }

  .store-cart-summary {
    position: static;
  }

  .store-cart-item {
    grid-template-columns: 26px 76px minmax(0, 1fr) 42px;
  }

  .store-cart-line-total,
  .store-cart-qty {
    grid-column: 3 / -1;
  }
}

@media (max-width: 760px) {
  body.storefront {
    padding-bottom: 74px;
    overflow-x: hidden;
  }

  body.storefront.storefront-header-sticky {
    padding-top: 50px;
  }

  body.storefront.storefront-header-sticky.storefront-header-notice {
    padding-top: 84px;
  }

  .store-header {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    background: #071925;
    transform: translateZ(0);
    backface-visibility: hidden;
    will-change: transform;
  }

  .store-header.not-sticky {
    position: relative;
  }

  .store-cart-head {
    align-items: start;
    flex-direction: column;
  }

  .store-cart-head-actions {
    width: 100%;
    justify-content: space-between;
  }

  .store-cart-item {
    grid-template-columns: 26px 70px minmax(0, 1fr) 38px;
  }

  .store-cart-media {
    width: 70px;
    height: 70px;
  }

  .store-cart-qty,
  .store-cart-line-total {
    grid-column: 1 / -1;
  }

  .store-cart-line-total {
    text-align: left;
  }

  .mobile-store-topbar {
    height: 50px;
    min-height: 50px;
    display: grid;
    grid-template-columns: 92px minmax(0, 1fr) 92px;
    align-items: center;
    gap: 6px;
    padding: 0 12px;
    color: #fff;
  }

  .mobile-header-btn {
    width: 36px;
    height: 36px;
  }

  .mobile-store-topbar > [data-mobile-menu-open] {
    justify-self: start;
  }

  .mobile-store-topbar .mobile-header-actions {
    justify-self: end;
  }

  .mobile-store-brand {
    display: inline-flex;
    width: 100%;
    justify-self: center;
    justify-content: center;
    min-width: 0;
    max-width: 100%;
    font-size: 19px;
    color: #fff;
  }

  .mobile-store-brand .mobile-logo-image {
    display: block !important;
    width: auto;
    height: auto;
    max-width: min(156px, 100%);
    max-height: 40px;
    object-fit: contain;
  }

  .mobile-store-search {
    position: absolute;
    top: 50px;
    right: 0;
    left: 0;
    display: none;
    grid-template-columns: minmax(0, 1fr) 48px;
    margin: 0 14px 10px;
    height: 40px;
    overflow: visible;
    border-radius: 999px;
    background: #35384c;
  }

  body.storefront-header-notice .mobile-store-search {
    top: 84px;
  }

  body.storefront:not(.mobile-search-open) .mobile-store-search {
    display: none !important;
  }

  body.storefront.mobile-search-open .mobile-store-search {
    display: grid !important;
  }

  .mobile-store-search input {
    min-width: 0;
    border: 0;
    outline: 0;
    padding: 0 16px;
    background: transparent;
    color: #fff;
    font: inherit;
    font-size: 13px;
  }

  .mobile-store-search input::placeholder {
    color: #b8bdcc;
  }

  .mobile-store-search button {
    display: grid;
    place-items: center;
    border: 0;
    border-radius: 0 999px 999px 0;
    background: var(--store-red);
    color: #fff;
    cursor: pointer;
  }

  .mobile-store-search .store-live-search {
    top: calc(100% + 8px);
    max-height: min(360px, calc(100vh - 145px));
  }

  .store-live-search-item {
    grid-template-columns: 44px minmax(0, 1fr);
  }

  .store-live-search-thumb {
    width: 44px;
    height: 44px;
  }

  .store-live-search-item em {
    display: none;
  }

  .mobile-store-drawer,
  .mobile-drawer-overlay {
    display: block;
  }

  .mobile-store-drawer {
    top: 50px;
    display: flex;
    flex-direction: column;
    height: calc(100dvh - 114px);
    max-height: calc(100dvh - 114px);
  }

  .mobile-store-drawer.has-menu-help .mobile-drawer-menu {
    flex: 1 1 auto;
    min-height: 0;
  }

  .mobile-drawer-head {
    display: none;
  }

  body.storefront-header-notice .mobile-store-drawer {
    top: 84px;
    height: calc(100dvh - 148px);
    max-height: calc(100dvh - 148px);
  }

  .store-topbar {
    display: none !important;
  }

  .store-brand {
    font-size: 22px;
  }

  .category-nav {
    display: none !important;
  }

  .store-main {
    width: 100%;
    max-width: 100vw;
    overflow-x: hidden;
    padding: 12px 14px 0;
  }

  .store-blog-page,
  .single-blog-page {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow-x: hidden;
    padding-bottom: 26px;
  }

  .single-blog-main,
  .single-blog-article,
  .single-blog-body,
  .single-blog-content {
    min-width: 0;
    max-width: 100%;
  }

  .single-blog-hero,
  .single-blog-content figure,
  .single-blog-content img {
    max-width: 100%;
  }

  .single-blog-content .blog-image-grid {
    grid-template-columns: 1fr;
  }

  .single-blog-content table {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .blog-section-head h1 {
    font-size: 20px;
  }

  .blog-breadcrumb {
    font-size: 12px;
    gap: 6px;
  }

  .blog-category-strip {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 7px;
  }

  .blog-category-card {
    min-height: 76px;
    gap: 6px;
    border-radius: 9px;
    padding: 9px 5px;
  }

  .blog-category-card svg {
    width: 22px;
    height: 22px;
  }

  .blog-category-card span {
    font-size: 11px;
    line-height: 1.18;
  }

  .blog-card-grid {
    grid-template-columns: 1fr;
    gap: 15px;
  }

  .blog-card {
    border-radius: 14px;
  }

  .blog-card-body {
    padding: 18px 18px 22px;
  }

  .blog-card h2 {
    font-size: 20px;
  }

  .blog-card-meta,
  .single-blog-meta {
    font-size: 12px;
  }

  .single-blog-article,
  .latest-article-card {
    border-radius: 14px;
  }

  .single-blog-body {
    padding: 20px 18px 26px;
  }

  .single-blog-body h1 {
    font-size: 24px;
  }

  .single-blog-meta {
    align-items: flex-start;
    flex-direction: column;
    gap: 9px;
  }

  .single-blog-summary {
    border-radius: 14px;
    padding: 16px;
  }

  .latest-article-card,
  .blog-sidebar-category-card {
    padding: 20px 18px;
  }

  .latest-article-item strong {
    font-size: 16px;
  }

  .store-auth-page {
    min-height: 0;
    padding: 18px 0 32px;
  }

  .store-auth-card {
    grid-template-columns: 1fr;
  }

  .store-auth-copy,
  .store-auth-form {
    padding: 24px;
  }

  .store-auth-copy h1 {
    font-size: 26px;
  }

  .store-account-page {
    gap: 8px;
    padding: 0 0 34px;
    background: transparent;
  }

  .account-sidebar nav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .account-sidebar nav a {
    padding: 0 14px;
    font-size: 12px;
  }

  .account-help {
    display: none;
  }

  .account-title h1 {
    font-size: 26px;
  }

  .account-hero-card,
  .account-panel {
    padding: 16px;
  }

  .account-profile {
    grid-template-columns: 72px minmax(0, 1fr);
    gap: 14px;
  }

  .account-avatar {
    width: 72px;
    height: 72px;
    font-size: 22px;
  }

  .account-profile h2 {
    font-size: 17px;
  }

  .account-stats {
    grid-template-columns: 1fr;
  }

  .account-stats a + a,
  .account-stats a:nth-child(3),
  .account-stats a:nth-child(4) {
    border-left: 0;
    border-top: 1px solid #e7eaf2;
  }

  .account-order-item {
    grid-template-columns: 48px minmax(0, 1fr) auto;
    gap: 10px;
  }

  .account-order-item em,
  .account-order-item b,
  .account-order-item > i {
    grid-column: 2 / -1;
    justify-self: start;
  }

  .account-address,
  .account-payment {
    grid-template-columns: 44px minmax(0, 1fr);
  }

  .account-address button,
  .account-address > a,
  .account-payment em,
  .account-payment small,
  .account-payment > i {
    grid-column: 2;
    justify-self: start;
  }

  .account-form-grid {
    grid-template-columns: 1fr;
  }

  .store-shop-page {
    gap: 12px;
    padding: 0 0 34px;
  }

  body.shop-filter-open {
    overflow: hidden;
  }

  .shop-toolbar {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    justify-items: stretch;
    gap: 12px;
    padding: 12px;
  }

  .shop-toolbar > * {
    width: 100%;
    min-width: 0;
  }

  .shop-toolbar-controls {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    min-width: 100%;
    justify-self: stretch;
    gap: 12px;
  }

  .shop-toolbar-controls form {
    flex: 1 1 auto;
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
    margin-left: auto;
    justify-content: flex-end;
    width: auto;
  }

  .shop-toolbar-controls label {
    font-size: 13px;
  }

  .shop-toolbar select {
    width: 140px;
    min-width: 140px;
    height: 36px;
    border: 0;
    border-radius: 5px;
    background-color: #f1f3f6;
  }

  .shop-filter-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 36px;
    border: 1px solid #edf0f5;
    border-radius: 5px;
    padding: 0 12px;
    background: #fff;
    color: #101828;
    font: inherit;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
  }

  .shop-filter-toggle svg {
    width: 18px;
    height: 18px;
  }

  .shop-filter-overlay {
    position: fixed;
    top: 50px;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 150;
    display: block;
    background: rgba(15, 23, 42, .45);
    opacity: 0;
    pointer-events: none;
    transition: opacity .2s ease;
  }

  body.shop-filter-open .shop-filter-overlay {
    opacity: 1;
    pointer-events: auto;
  }

  .shop-toolbar {
    margin-bottom: 12px;
  }

  .shop-product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }

  .store-shop-page {
    grid-template-columns: 1fr;
  }

  .shop-filter-panel {
    position: fixed;
    top: 50px;
    right: 0;
    bottom: 0;
    z-index: 160;
    width: min(360px, 88vw);
    overflow: auto;
    border-radius: 12px 0 0 12px;
    transform: translateX(100%);
    transition: transform .22s ease;
    box-shadow: -18px 0 44px rgba(15, 23, 42, .22);
  }

  body.storefront-header-notice .shop-filter-overlay,
  body.storefront-header-notice .shop-filter-panel {
    top: 84px;
  }

  body.shop-filter-open .shop-filter-panel {
    transform: translateX(0);
  }

  .shop-filter-head {
    position: sticky;
    top: 0;
    z-index: 1;
    background: #fff;
  }

  .shop-filter-head button {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border: 0;
    border-radius: 7px;
    background: #f1f3f8;
    color: #111827;
    font: inherit;
    font-size: 22px;
    line-height: 1;
    cursor: pointer;
  }

  .shop-filter-form > button {
    display: none;
  }

  .shop-product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .store-checkout-grid,
  .store-checkout-summary {
    grid-template-columns: 1fr;
  }

  .store-checkout-layout,
  .store-thankyou-layout,
  .checkout-shipping-methods,
  .checkout-payment-methods {
    grid-template-columns: 1fr;
  }

  .checkout-roadmap {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    padding: 14px 10px;
  }

  .checkout-roadmap::before,
  .checkout-roadmap::after {
    top: 27px;
  }

  .checkout-roadmap > i {
    display: none;
  }

  .checkout-roadmap a,
  .checkout-roadmap strong,
  .checkout-roadmap em {
    gap: 5px;
  }

  .checkout-roadmap span {
    width: 24px;
    height: 24px;
  }

  .checkout-roadmap a > strong,
  .checkout-roadmap strong > strong,
  .checkout-roadmap em > strong {
    font-size: 12px;
    line-height: 1.15;
  }

  .store-checkout-primary,
  .checkout-summary-card,
  .checkout-payment-card-box,
  .checkout-coupon-card,
  .checkout-submit-card,
  .store-thankyou-message,
  .thankyou-summary-card {
    padding: 18px;
  }

  .store-checkout-head h2 {
    font-size: 28px;
  }

  .store-thankyou-message {
    min-height: 0;
  }

  .store-thankyou-message h1 {
    font-size: 36px;
  }

  .thankyou-summary-product {
    grid-template-columns: 52px minmax(0, 1fr);
  }

  .thankyou-summary-product b {
    grid-column: 2;
  }

  .store-checkout {
    padding: 0;
  }

  .store-page-view {
    margin-top: 0;
  }

  .store-page-hero {
    aspect-ratio: 4 / 3;
  }

  .store-page-header h1 {
    font-size: 32px;
  }

  .hero-offer {
    min-height: 0;
    aspect-ratio: 16 / 9;
    background-color: #071925;
  }

  .hero-slide-bg {
    background-size: contain;
    background-repeat: no-repeat;
    background-color: #071925;
  }

  .promo-chip {
    margin-bottom: 42px;
  }

  .side-promos {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: none;
  }

  .mini-promo:first-child,
  .mini-promo {
    min-height: 0;
    aspect-ratio: 16 / 9;
  }

  .mini-promo.image-only {
    background-size: contain !important;
    background-repeat: no-repeat;
    background-color: #f8fafc;
  }

  .category-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
  }

  .category-card {
    min-height: 82px;
    padding: 10px 5px;
    text-align: center;
  }

  .category-card span {
    width: 38px;
    height: 38px;
  }

  .category-card strong {
    max-width: 100%;
    overflow: hidden;
    font-size: 11px;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }

  .store-product-media {
    height: 180px;
  }

  .store-product-body h3 {
    font-size: 13px;
  }

  .mobile-bottom-nav {
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 80;
    display: grid;
    grid-template-columns: repeat(var(--mobile-nav-count, 5), minmax(0, 1fr));
    min-height: 64px;
    border-top: 1px solid #e5e7eb;
    background: #fff;
    box-shadow: 0 -12px 34px rgba(15, 23, 42, .12);
  }

  .mobile-bottom-nav a {
    display: grid;
    place-items: center;
    align-content: center;
    gap: 4px;
    min-width: 0;
    padding: 7px 3px 8px;
    color: #4b5563;
    font-size: 10px;
    font-weight: 800;
  }

  .mobile-bottom-nav i {
    width: 24px;
    height: 24px;
    display: grid;
    place-items: center;
    color: var(--store-red);
    font-style: normal;
    font-size: 20px;
    line-height: 1;
  }

  .mobile-bottom-nav i img {
    display: block;
    max-width: 22px;
    max-height: 22px;
    object-fit: contain;
  }

  .mobile-bottom-nav i svg {
    width: 22px;
    height: 22px;
    stroke: currentColor;
    stroke-width: 2.4;
  }

  .mobile-bottom-nav a span {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .single-product-breadcrumb {
    position: relative;
    overflow: hidden;
    min-width: 0;
    padding-right: 116px;
    white-space: nowrap;
  }

  .single-product-breadcrumb > a,
  .single-product-breadcrumb > span:not(.single-product-share) {
    flex: 0 0 auto;
  }

  .single-product-breadcrumb strong {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .single-product-share {
    position: absolute;
    top: 50%;
    right: 10px;
    flex: 0 0 auto;
    margin-left: 0;
    transform: translateY(-50%);
  }

  .single-product-share a {
    width: 26px;
    height: 26px;
  }

  .single-product-gallery,
  .single-product-summary,
  .single-product-description {
    box-shadow: none;
  }

  .single-product-summary,
  .single-product-description {
    padding: 0;
  }

  .single-product-description {
    padding: 0 14px 16px;
  }

  .single-product-gallery.has-thumbs {
    --mobile-gallery-thumbs-width: 201px;
    grid-template-columns: 1fr;
    position: relative;
  }

  .single-product-image-frame {
    order: 1;
    width: 100%;
    height: auto;
    border-left: 0;
  }

  .single-product-thumbs-wrap {
    position: absolute;
    left: 50%;
    bottom: 16px;
    z-index: 4;
    width: min(var(--mobile-gallery-thumbs-width), calc(100vw - 64px));
    max-width: calc(100% - 32px);
    height: auto;
    grid-template-columns: 1fr;
    align-items: center;
    gap: 0;
    border-radius: 999px;
    padding: 6px;
    background: rgba(255, 255, 255, .86);
    box-shadow: 0 12px 30px rgba(15, 23, 42, .16);
    overflow: hidden;
    transform: translateX(-50%);
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
  }

  .single-product-thumbs {
    width: 100%;
    display: flex;
    gap: 7px;
    height: auto;
    max-height: none;
    max-width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
  }

  .single-product-thumbs button {
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    aspect-ratio: 1 / 1;
    border-radius: 999px;
    scroll-snap-align: center;
  }

  .single-product-thumbs-controls {
    display: none;
  }

  .single-product-thumbs-nav svg {
    transform: rotate(-90deg);
  }

  .single-product-actions {
    grid-template-columns: 84px minmax(0, 1fr) minmax(0, 1fr);
    gap: 8px;
  }

  .single-product-sidebar,
  .single-service-strip,
  .single-product-feature-grid {
    grid-template-columns: 1fr;
  }

  .single-service-strip div + div {
    border-left: 0;
    border-top: 1px solid #e5e7eb;
  }

  .footer-grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .footer-bottom {
    flex-direction: column;
  }
}

@media (max-width: 460px) {
  .product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.store-landing-page {
  display: grid;
  gap: 24px;
  margin: 0 auto 48px;
}

.store-landing-hero {
  min-height: 430px;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: center;
  gap: 28px;
  padding: 46px;
  border: 1px solid #e5e9f0;
  border-radius: 8px;
  background: #ffffff;
}

.store-landing-hero.has-image {
  grid-template-columns: minmax(0, .92fr) minmax(320px, 1fr);
}

.store-landing-copy {
  min-width: 0;
}

.store-landing-copy > span {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  margin-bottom: 16px;
  padding: 0 12px;
  border: 1px solid #dbeafe;
  border-radius: 999px;
  background: #eff6ff;
  color: #1d4ed8;
  font-size: 13px;
  font-weight: 800;
}

.store-landing-copy h1 {
  max-width: 760px;
  margin: 0;
  color: #0f172a;
  font-size: 54px;
  line-height: 1.05;
  letter-spacing: 0;
}

.store-landing-copy p {
  max-width: 640px;
  margin: 18px 0 0;
  color: #475569;
  font-size: 18px;
  line-height: 1.7;
}

.store-landing-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 28px;
}

.store-landing-actions a {
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 20px;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 900;
}

.store-landing-actions .primary {
  background: #e11d48;
  color: #fff;
  box-shadow: 0 12px 24px rgba(225, 29, 72, .22);
}

.store-landing-actions .secondary {
  border: 1px solid #cbd5e1;
  color: #1e293b;
  background: #fff;
}

.store-landing-media {
  min-width: 0;
  border-radius: 8px;
  overflow: hidden;
  aspect-ratio: 4 / 3;
  background: #f8fafc;
}

.store-landing-media img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.store-landing-offers {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.store-landing-offers div {
  min-height: 70px;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  background: #fff;
  color: #1f2937;
  font-weight: 800;
}

.store-landing-offers i,
.store-landing-offers svg {
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
  color: #16a34a;
}

.store-landing-products {
  display: grid;
  gap: 18px;
}

.store-landing-section-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 16px;
}

.store-landing-section-head span {
  color: #e11d48;
  font-size: 13px;
  font-weight: 900;
  text-transform: uppercase;
}

.store-landing-section-head h2 {
  margin: 4px 0 0;
  color: #0f172a;
  font-size: 30px;
  line-height: 1.2;
  letter-spacing: 0;
}

.store-landing-content {
  max-width: 960px;
  width: 100%;
  margin: 0 auto;
  padding: 34px;
  border: 1px solid #e5e9f0;
  border-radius: 8px;
  background: #fff;
  color: #243244;
  font-size: 16px;
  line-height: 1.8;
}

.store-landing-content h1,
.store-landing-content h2,
.store-landing-content h3,
.store-landing-content h4 {
  margin: 28px 0 12px;
  color: #111827;
  line-height: 1.2;
  letter-spacing: 0;
}

.store-landing-content h1:first-child,
.store-landing-content h2:first-child,
.store-landing-content h3:first-child {
  margin-top: 0;
}

.store-landing-content p,
.store-landing-content ul,
.store-landing-content ol,
.store-landing-content blockquote {
  margin: 0 0 18px;
}

.store-landing-content a {
  color: #e11d48;
  font-weight: 900;
}

.store-landing-content img {
  max-width: 100%;
  height: auto;
  border-radius: 8px;
}

.landing-checkout-page {
  max-width: 1260px;
  margin: 0 auto 44px;
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(420px, 1.05fr);
  gap: 28px;
  align-items: start;
}

.landing-checkout-product,
.landing-checkout-panel {
  min-width: 0;
}

.landing-checkout-product > h2,
.landing-checkout-panel > h2 {
  margin: 0 0 18px;
  color: #0f172a;
  font-size: 24px;
  line-height: 1.2;
  letter-spacing: 0;
}

.landing-product-hero {
  display: grid;
  grid-template-columns: minmax(220px, .9fr) minmax(0, 1fr);
  gap: 22px;
  align-items: center;
  margin-bottom: 18px;
}

.landing-product-main-image {
  aspect-ratio: 1 / 1;
  display: grid;
  place-items: center;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  background: #fff;
  overflow: hidden;
}

.landing-product-main-image img,
.landing-product-thumbs img,
.landing-summary-product img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.landing-product-main-image span {
  color: #94a3b8;
  font-size: 64px;
  font-weight: 900;
}

.landing-product-thumbs {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-top: 12px;
}

.landing-product-thumbs span {
  aspect-ratio: 1 / 1;
  border: 1px solid #e2e8f0;
  border-radius: 7px;
  overflow: hidden;
  background: #fff;
}

.landing-product-summary h1 {
  margin: 0 0 10px;
  color: #101827;
  font-size: 25px;
  line-height: 1.25;
  letter-spacing: 0;
}

.landing-product-summary p {
  margin: 0 0 12px;
  color: #526071;
  font-size: 15px;
  line-height: 1.6;
}

.landing-product-summary ul {
  display: grid;
  gap: 9px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.landing-product-summary li {
  display: flex;
  align-items: center;
  gap: 9px;
  color: #1f2937;
  font-size: 14px;
  font-weight: 700;
}

.landing-product-summary li svg {
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  color: #16a34a;
}

.landing-price-card,
.landing-trust-box,
.landing-feature-card,
.landing-review-card,
.landing-checkout-panel {
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 10px 30px rgba(15, 23, 42, .04);
}

.landing-price-card {
  min-height: 82px;
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 18px;
  padding: 16px 20px;
}

.landing-price-card del {
  color: #94a3b8;
  font-weight: 800;
}

.landing-price-card strong {
  color: #f97316;
  font-size: 32px;
  line-height: 1;
}

.landing-price-card span {
  margin-left: auto;
  padding: 9px 13px;
  border-radius: 6px;
  background: #dcfce7;
  color: #15803d;
  font-weight: 900;
}

.landing-trust-box,
.landing-safe-checkout {
  display: flex;
  align-items: center;
  gap: 14px;
  border-color: #bbf7d0;
  background: #f0fdf4;
}

.landing-trust-box {
  margin-bottom: 18px;
  padding: 18px 20px;
}

.landing-trust-box svg,
.landing-safe-checkout svg {
  width: 38px;
  height: 38px;
  color: #16a34a;
  flex: 0 0 38px;
}

.landing-trust-box strong,
.landing-safe-checkout strong {
  display: block;
  color: #15803d;
  font-size: 16px;
}

.landing-trust-box p,
.landing-safe-checkout p {
  margin: 3px 0 0;
  color: #334155;
  font-size: 13px;
  line-height: 1.5;
}

.landing-feature-card,
.landing-review-card {
  display: grid;
  gap: 14px;
  margin-bottom: 18px;
  padding: 20px;
}

.landing-feature-card h2,
.landing-review-card h2 {
  margin: 0 0 4px;
  color: #101827;
  font-size: 20px;
}

.landing-feature-card > div,
.landing-review-card > div {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
}

.landing-feature-card > div > span {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border: 1px solid #dbeafe;
  border-radius: 999px;
  color: #2563eb;
}

.landing-feature-card strong,
.landing-review-card strong {
  display: block;
  color: #111827;
  font-size: 14px;
}

.landing-feature-card small,
.landing-review-card p {
  display: block;
  margin: 4px 0 0;
  color: #475569;
  font-size: 13px;
  line-height: 1.5;
}

.landing-review-card h2 {
  display: flex;
  justify-content: space-between;
  gap: 12px;
}

.landing-review-card h2 span,
.landing-review-card small {
  color: #16a34a;
}

.landing-review-card > div {
  grid-template-columns: 1fr;
  padding-top: 12px;
  border-top: 1px solid #edf2f7;
}

.landing-checkout-panel {
  padding: 24px;
  position: sticky;
  top: 16px;
}

.landing-checkout-form,
.landing-checkout-live {
  display: grid;
  gap: 14px;
}

.landing-checkout-form label {
  display: grid;
  gap: 7px;
  color: #111827;
  font-size: 13px;
  font-weight: 800;
}

.landing-checkout-form b {
  color: #ef4444;
}

.landing-checkout-form input,
.landing-checkout-form textarea {
  width: 100%;
  border: 1px solid #dbe3ee;
  border-radius: 8px;
  background: #fff;
  padding: 0 14px;
  color: #111827;
  font: inherit;
  font-size: 14px;
  box-shadow: 0 1px 2px rgba(15, 23, 42, .03);
}

.landing-checkout-form input {
  height: 48px;
}

.landing-checkout-form textarea {
  min-height: 82px;
  padding-top: 13px;
  resize: vertical;
}

.landing-field-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.landing-safe-checkout {
  padding: 16px;
  border: 1px solid #bbf7d0;
  border-radius: 8px;
}

.landing-order-summary {
  display: grid;
  gap: 12px;
  margin-top: 6px;
  padding: 20px;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  background: #fff;
}

.landing-order-summary h3 {
  margin: 0 0 6px;
  color: #111827;
  font-size: 20px;
}

.landing-summary-product {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding-bottom: 13px;
  border-bottom: 1px solid #e5e7eb;
}

.landing-summary-product > span {
  width: 52px;
  height: 52px;
  border-radius: 7px;
  overflow: hidden;
  background: #f1f5f9;
}

.landing-summary-product p {
  margin: 0;
  min-width: 0;
}

.landing-summary-product strong {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #111827;
  font-size: 14px;
}

.landing-summary-product small {
  display: block;
  color: #64748b;
  font-size: 12px;
}

.landing-summary-product b,
.landing-total-row strong {
  color: #111827;
  white-space: nowrap;
}

.landing-qty-row,
.landing-order-summary > p,
.landing-shipping-option,
.landing-total-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 0;
  color: #334155;
}

.landing-shipping-option {
  grid-template-columns: auto;
  font-weight: 700;
}

.landing-shipping-option input {
  width: auto;
  height: auto;
}

.landing-shipping-option b,
.landing-shipping-option strong {
  color: #111827;
}

.landing-total-row {
  padding-top: 12px;
  border-top: 1px solid #e5e7eb;
  color: #111827;
  font-size: 18px;
  font-weight: 900;
}

.landing-total-row strong {
  color: #f97316;
  font-size: 30px;
}

.landing-order-button {
  min-height: 58px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border: 0;
  border-radius: 8px;
  background: #f97316;
  color: #fff;
  font: inherit;
  font-size: 18px;
  font-weight: 900;
  cursor: pointer;
  box-shadow: 0 14px 26px rgba(249, 115, 22, .24);
}

.landing-order-button svg {
  width: 20px;
  height: 20px;
}

.landing-order-summary > small {
  text-align: center;
  color: #475569;
  font-size: 13px;
}

@media (max-width: 980px) {
  .store-landing-hero,
  .store-landing-hero.has-image {
    grid-template-columns: 1fr;
    padding: 28px;
  }

  .store-landing-copy h1 {
    font-size: 42px;
  }

  .store-landing-offers {
    grid-template-columns: 1fr;
  }

  .landing-checkout-page,
  .landing-product-hero {
    grid-template-columns: 1fr;
  }

  .landing-checkout-panel {
    position: static;
  }
}

@media (max-width: 620px) {
  .store-landing-hero {
    min-height: 0;
    padding: 22px;
  }

  .store-landing-copy h1 {
    font-size: 34px;
  }

  .store-landing-copy p {
    font-size: 16px;
  }

  .store-landing-actions a {
    width: 100%;
  }

  .store-landing-content {
    padding: 22px;
  }

  .landing-checkout-panel {
    padding: 18px;
  }

  .landing-field-grid,
  .landing-summary-product {
    grid-template-columns: 1fr;
  }

  .landing-summary-product > span {
    width: 64px;
    height: 64px;
  }
}
