:root {
  --red: #ff3028;
  --red-soft: #ff8074;
  --porcelain: #f4ede2;
  --sand: #c4af94;
  --cocoa: #87634b;
  --imperial-blue: #001d51;
  --ink: #17130f;
  --text: #1b1712;
  --muted: #877766;
  --card-shadow: 0 18px 54px rgba(45, 34, 24, 0.1);
}

/* Favorites */
.favorites-nav-link {
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
}

.favorites-nav-count {
  display: inline-grid;
  min-width: 22px;
  height: 22px;
  padding: 0 6px;
  place-items: center;
  border-radius: 999px;
  background: #51473f;
  color: #fff;
  font-size: 11px;
  line-height: 1;
}

.favorites-nav-link.active {
  color: #8b5e4c;
}

.favorite-card-shell {
  position: relative;
  min-width: 0;
  height: 100%;
}

.favorite-card-shell > :first-child {
  width: 100%;
  height: 100%;
}

.favorite-button {
  position: absolute;
  z-index: 8;
  top: 14px;
  right: 14px;
  display: grid;
  width: 46px;
  height: 46px;
  padding: 12px;
  place-items: center;
  border: 0;
  border-radius: 50%;
  background: rgba(250, 248, 244, 0.92);
  box-shadow: 0 7px 24px rgba(37, 31, 27, 0.14);
  color: #a8aaac;
  cursor: pointer;
  transition: color 160ms ease, background 160ms ease, transform 160ms ease;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
}

.favorite-button:hover {
  color: #805647;
  transform: scale(1.06);
}

.favorite-button.active {
  color: #805647;
  background: #fff8f3;
}

.favorite-button svg {
  display: block;
  width: 100%;
  height: 100%;
}

.product-detail,
.home-products-product-detail {
  position: relative;
}

.favorite-detail-button {
  top: 22px;
  right: 22px;
  width: 54px;
  height: 54px;
  padding: 14px;
}

.gallery-main > .favorite-detail-button {
  top: 18px;
  right: 18px;
}

.favorite-detail-actions {
  display: flex;
  width: 100%;
  justify-content: flex-end;
}

.favorite-detail-actions .favorite-detail-button {
  position: static;
  flex: 0 0 auto;
}

.product-detail > .favorite-detail-actions {
  grid-column: 1 / -1;
}

.page.favorites-mode .catalog-panel {
  min-height: calc(100vh - 220px);
  margin-top: clamp(28px, 4vh, 52px);
  padding: 0 clamp(34px, 4.8vw, 82px) clamp(54px, 6vh, 82px);
}

.page.favorites-mode .cards {
  display: block;
  width: min(1620px, calc(100vw - clamp(68px, 9.6vw, 164px)));
  margin: 0 auto;
  padding: 0;
}

.favorites-view {
  width: 100%;
  padding: 0 0 80px;
}

.favorites-view-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  margin-bottom: 28px;
  padding: 26px 30px;
  border: 1px solid rgba(82, 70, 61, 0.12);
  border-radius: 20px;
  background: rgba(255, 253, 249, 0.66);
  box-shadow: 0 18px 46px rgba(48, 40, 34, 0.06);
}

.favorites-view-head span {
  color: #8b5e4c;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.favorites-view-head h2 {
  margin: 7px 0 6px;
  color: #3d352f;
  font-size: clamp(24px, 2.2vw, 34px);
  line-height: 1.08;
}

.favorites-view-head p {
  max-width: 690px;
  margin: 0;
  color: #776d66;
  font-size: 16px;
  line-height: 1.55;
}

.favorites-clear-button {
  flex: 0 0 auto;
  padding: 13px 18px;
  border: 1px solid rgba(82, 70, 61, 0.2);
  border-radius: 999px;
  background: transparent;
  color: #665b53;
  font: inherit;
  cursor: pointer;
}

.favorites-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 22px;
}

.favorite-saved-card {
  position: relative;
  min-width: 0;
  overflow: hidden;
  border: 1px solid rgba(82, 70, 61, 0.12);
  border-radius: 24px;
  background: #fffdfa;
  box-shadow: 0 18px 46px rgba(48, 40, 34, 0.08);
}

.favorite-saved-open {
  display: block;
  width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  text-align: left;
  cursor: pointer;
}

.favorite-saved-image {
  display: block;
  height: clamp(220px, 18vw, 300px);
  overflow: hidden;
  background: #ece8e2;
}

.favorite-saved-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 300ms ease;
}

.favorite-saved-open:hover .favorite-saved-image img {
  transform: scale(1.035);
}

.favorite-saved-copy {
  display: flex;
  min-height: 170px;
  padding: 22px;
  flex-direction: column;
}

.favorite-saved-copy small {
  color: #8b5e4c;
  font-size: 11px;
  font-style: normal;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.favorite-saved-copy strong {
  margin-top: 9px;
  color: #403833;
  font-size: 20px;
  line-height: 1.28;
}

.favorite-saved-copy em {
  margin-top: auto;
  padding-top: 18px;
  color: #7d726a;
  font-size: 13px;
  font-style: normal;
}

.favorite-saved-copy em span {
  margin-left: 5px;
  font-size: 20px;
}

.favorite-saved-remove {
  top: 16px;
  right: 16px;
}

.favorites-empty {
  display: grid;
  min-height: 390px;
  padding: 50px 24px;
  place-items: center;
  align-content: center;
  border: 1px dashed rgba(82, 70, 61, 0.23);
  border-radius: 28px;
  color: #a8aaac;
  text-align: center;
}

.favorites-empty > svg {
  width: 56px;
  height: 54px;
}

.favorites-empty h3 {
  margin: 22px 0 8px;
  color: #493f38;
  font-size: 28px;
}

.favorites-empty p {
  max-width: 520px;
  margin: 0;
  color: #7e746d;
  line-height: 1.55;
}

.favorites-empty button {
  margin-top: 24px;
  padding: 14px 22px;
  border: 0;
  border-radius: 999px;
  background: #4d443e;
  color: #fff;
  font: inherit;
  cursor: pointer;
}

@media (max-width: 1050px) {
  .favorites-grid {
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  }
}

@media (max-width: 680px) {
  .page.favorites-mode .catalog-panel {
    margin-top: 26px;
    padding: 0 18px 36px;
  }

  .page.favorites-mode .cards {
    width: 100%;
  }

  .favorites-view-head {
    align-items: flex-start;
    padding: 24px;
    flex-direction: column;
  }

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

  .favorite-saved-image {
    height: 240px;
  }

  .favorite-button {
    width: 42px;
    height: 42px;
    padding: 11px;
  }
}

* {
  box-sizing: border-box;
}

html,
body {
  min-height: 100%;
}

body {
  margin: 0;
  overflow-x: hidden;
  background: var(--porcelain);
  color: var(--text);
  font-family: "Avenir Next", "Inter", "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  letter-spacing: 0;
}

button,
input {
  font: inherit;
}

.page {
  position: relative;
  min-height: 100vh;
  isolation: isolate;
}

.overseas-mode {
  display: grid;
  grid-template-rows: 42vh 58vh;
  height: 100vh;
  overflow: hidden;
  background: #f7f0e7;
}

.top-panel {
  position: relative;
  min-height: 286px;
  padding-top: 82px;
  overflow: hidden;
  background:
    linear-gradient(90deg, rgba(255, 48, 40, 0.98) 0%, rgba(255, 48, 40, 0.95) 43%, rgba(255, 182, 168, 0.58) 69%, rgba(247, 248, 238, 0.96) 100%),
    var(--hero-image, none) center / cover no-repeat;
}

.overseas-mode .top-panel {
  min-height: 0;
  height: 42vh;
  padding: clamp(24px, 3vw, 42px) clamp(24px, 4vw, 72px) 0;
  background:
    linear-gradient(115deg, transparent 0 38%, rgba(255, 255, 255, 0.3) 38.2% 40%, transparent 40.2% 100%),
    linear-gradient(32deg, transparent 0 58%, rgba(255, 255, 255, 0.24) 58.2% 60%, transparent 60.2% 100%),
    radial-gradient(ellipse at 20% 0%, rgba(255, 255, 255, 0.66), transparent 44%),
    linear-gradient(180deg, #f7f0e7 0%, #efe2d2 100%);
}

.top-panel::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 68% 80%, rgba(255, 145, 145, 0.34), transparent 28%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0));
  pointer-events: none;
}

.overseas-mode .top-panel::before {
  inset: 0;
  border: 0;
  border-radius: 0;
  background:
    radial-gradient(ellipse 120% 90% at 50% -18%, transparent 44%, rgba(255, 255, 255, 0.3) 44.3%, transparent 45%),
    radial-gradient(ellipse 100% 70% at 20% 120%, transparent 46%, rgba(135, 99, 75, 0.08) 46.3%, transparent 47%),
    radial-gradient(ellipse 90% 80% at 90% 88%, transparent 48%, rgba(255, 255, 255, 0.36) 48.4%, transparent 49%);
  mask-image: none;
}

.overseas-mode .top-panel::after {
  content: "";
}

.overseas-mode::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background:
    linear-gradient(130deg, transparent 0 66%, rgba(255, 255, 255, 0.24) 66.2% 68%, transparent 68.2%),
    linear-gradient(42deg, transparent 0 18%, rgba(255, 255, 255, 0.22) 18.2% 19.4%, transparent 19.6%);
  pointer-events: none;
}

.overseas-mode::after {
  content: "";
  position: absolute;
  left: clamp(-180px, -8vw, -80px);
  top: clamp(330px, 38vh, 440px);
  z-index: 1;
  width: clamp(520px, 42vw, 780px);
  height: clamp(430px, 46vh, 620px);
  border: clamp(72px, 6.8vw, 118px) solid rgba(255, 255, 255, 0.52);
  border-left-color: transparent;
  border-radius: 48% 58% 52% 46% / 56% 46% 58% 42%;
  transform: rotate(-28deg);
  pointer-events: none;
}

.brand-row {
  position: relative;
  z-index: 1;
  display: none;
  border: 0;
  padding: 0;
  background: transparent;
  font: inherit;
  text-align: left;
  cursor: default;
}

.brand-home {
  border: 0;
  padding: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  cursor: pointer;
}

.retail-nav {
  display: none;
  min-width: 0;
  overflow-x: auto;
  scrollbar-width: none;
}

.retail-nav::-webkit-scrollbar {
  display: none;
}

.retail-nav a {
  flex: 0 0 auto;
}

.overseas-mode .brand-row {
  display: none;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  width: min(1240px, 100%);
  margin: 0 auto 58px;
  color: var(--ink);
}

.brand-mark {
  font-size: 24px;
  font-weight: 800;
  line-height: 1;
}

.brand-note {
  color: rgba(0, 29, 81, 0.78);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.hero-kicker,
.hero-lead {
  display: none;
}

.overseas-mode .hero-kicker,
.overseas-mode .hero-lead {
  position: relative;
  z-index: 1;
  display: block;
  width: min(960px, 100%);
  margin-right: auto;
  margin-left: auto;
}

.overseas-mode .hero-kicker {
  display: none;
}

.back-button {
  position: absolute;
  top: 42px;
  left: 24px;
  z-index: 1;
  width: 34px;
  height: 42px;
  border: 0;
  background: transparent;
  color: #fff;
  font-size: 46px;
  font-weight: 200;
  line-height: 1;
  cursor: pointer;
}

.overseas-mode .back-button {
  display: none;
}

h1 {
  position: relative;
  z-index: 1;
  margin: 0;
  color: #fff;
  font-size: 29px;
  font-weight: 500;
  letter-spacing: 0;
  text-align: center;
}

.overseas-mode h1 {
  display: none;
}

.overseas-mode .hero-lead {
  position: relative;
  z-index: 5;
  width: min(660px, calc(100vw - 120px));
  max-width: 660px;
  margin: clamp(-72px, -3.6vw, -42px) 0 0 clamp(12px, 0.8vw, 16px);
  color: rgba(23, 19, 15, 0.82);
  font-size: clamp(25px, 1.75vw, 34px);
  font-weight: 400;
  line-height: 1.08;
  text-align: left;
}

.overseas-mode .hero-lead span {
  display: block;
  white-space: nowrap;
}

.search-box {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 12px;
  width: min(930px, calc(100vw - 48px));
  height: 56px;
  margin: 50px auto 0;
  padding: 0 22px;
  border-radius: 999px;
  background: #f7f8fa;
  color: #b8bec4;
}

.overseas-mode .search-box {
  display: none;
}

.retail-mode,
.wardrobe-mode {
  min-height: 100vh;
  background:
    radial-gradient(circle at 88% 14%, rgba(196, 175, 148, 0.32), transparent 32%),
    linear-gradient(180deg, #fbf7f0 0%, #f4ede3 48%, #efe2d2 100%);
}

.retail-mode {
  overflow: hidden;
}

.wardrobe-mode {
  overflow-x: hidden;
}

.retail-mode::after,
.wardrobe-mode::after {
  content: "";
  position: fixed;
  right: clamp(-180px, -9vw, -90px);
  bottom: clamp(-160px, -12vw, -80px);
  z-index: 0;
  width: clamp(420px, 35vw, 720px);
  height: clamp(420px, 35vw, 720px);
  border: clamp(48px, 5vw, 84px) solid rgba(255, 247, 237, 0.44);
  border-left-color: transparent;
  border-radius: 54% 46% 52% 48% / 48% 58% 42% 52%;
  transform: rotate(18deg);
  pointer-events: none;
}

.retail-mode .top-panel,
.wardrobe-mode .top-panel {
  min-height: 220px;
  padding: clamp(28px, 3.2vw, 50px) clamp(34px, 4.8vw, 82px) 0;
  background: transparent;
}

.retail-mode .top-panel::before,
.wardrobe-mode .top-panel::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background:
    linear-gradient(118deg, rgba(255, 247, 237, 0.76) 0 1px, transparent 1px 100%),
    linear-gradient(173deg, rgba(135, 99, 75, 0.1) 0 1px, transparent 1px 100%);
  background-size: 100% 100%, 100% 100%;
  opacity: 0.66;
  pointer-events: none;
}

.retail-mode .brand-row,
.wardrobe-mode .brand-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  width: min(1620px, calc(100vw - clamp(68px, 9.6vw, 164px)));
  margin: 0 auto;
  color: #2c241c;
}

.retail-mode .brand-mark,
.wardrobe-mode .brand-mark {
  color: #2c241c;
  font-size: clamp(24px, 2.15vw, 38px);
  font-weight: 900;
  letter-spacing: 0;
  text-transform: lowercase;
}

.retail-mode .retail-nav,
.wardrobe-mode .retail-nav {
  display: flex;
  align-items: center;
  gap: clamp(18px, 2.2vw, 38px);
}

.retail-mode .retail-nav a,
.wardrobe-mode .retail-nav a {
  position: relative;
  color: rgba(33, 26, 20, 0.72);
  font-size: clamp(12px, 0.88vw, 15px);
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1;
  text-decoration: none;
  text-transform: uppercase;
  transition: color 160ms ease;
}

.retail-mode .retail-nav a::after,
.wardrobe-mode .retail-nav a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -9px;
  height: 1px;
  border-radius: 999px;
  background: rgba(0, 29, 81, 0.52);
  opacity: 0;
  transform: scaleX(0.45);
  transition: opacity 160ms ease, transform 160ms ease;
}

.retail-mode .retail-nav a:hover,
.wardrobe-mode .retail-nav a:hover {
  color: #001d51;
}

.retail-mode .retail-nav a:hover::after,
.wardrobe-mode .retail-nav a:hover::after {
  opacity: 1;
  transform: scaleX(1);
}

.retail-nav .manager-auth-button {
  flex: 0 0 auto;
  border: 1px solid rgba(74, 47, 31, 0.22);
  border-radius: 999px;
  padding: 8px 13px;
  background: rgba(255, 250, 244, 0.62);
  color: rgba(33, 26, 20, 0.72);
  font: inherit;
  font-size: clamp(11px, 0.78vw, 13px);
  font-weight: 800;
  letter-spacing: 0.07em;
  line-height: 1;
  text-transform: uppercase;
  cursor: pointer;
  transition: background 160ms ease-out, color 160ms ease-out, transform 160ms ease-out;
}

.retail-nav .manager-auth-button:hover {
  background: #4a2f1f;
  color: #fffaf4;
  transform: translateY(-1px);
}

.retail-nav .manager-auth-button.is-authenticated {
  border-color: rgba(74, 47, 31, 0.42);
}

.manager-tools-nav-link.active {
  color: #4a2f1f !important;
}

.manager-tools-nav-link.active::after {
  opacity: 1 !important;
  transform: scaleX(1) !important;
}

.manager-login-dialog {
  width: min(460px, calc(100vw - 32px));
  max-width: none;
  border: 0;
  border-radius: 18px;
  padding: 0;
  background: transparent;
  color: #211914;
  box-shadow: 0 34px 90px rgba(35, 25, 18, 0.3);
}

.manager-login-dialog::backdrop {
  background: rgba(29, 22, 17, 0.52);
  backdrop-filter: blur(7px);
  -webkit-backdrop-filter: blur(7px);
}

.manager-login-form {
  position: relative;
  display: grid;
  gap: 16px;
  border-radius: 18px;
  padding: clamp(28px, 5vw, 42px);
  background:
    radial-gradient(circle at 100% 0%, rgba(196, 175, 148, 0.28), transparent 34%),
    #fffaf4;
}

.manager-login-close {
  position: absolute;
  top: 14px;
  right: 14px;
  display: grid;
  width: 36px;
  height: 36px;
  place-items: center;
  border: 0;
  border-radius: 50%;
  background: rgba(135, 99, 75, 0.08);
  color: #66564a;
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
}

.manager-login-kicker {
  color: #87634b;
  font-size: 11px;
  font-weight: 850;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.manager-login-form h2 {
  margin: -4px 0 0;
  font-size: clamp(28px, 5vw, 38px);
  letter-spacing: -0.025em;
  line-height: 1.02;
}

.manager-login-form > p {
  margin: -5px 0 4px;
  color: #75675c;
  font-size: 14px;
  line-height: 1.5;
}

.manager-login-form label {
  display: grid;
  gap: 7px;
}

.manager-login-form label span {
  color: #64574c;
  font-size: 12px;
  font-weight: 800;
}

.manager-login-form input {
  min-height: 48px;
  border: 1px solid rgba(135, 99, 75, 0.25);
  border-radius: 11px;
  padding: 10px 13px;
  background: rgba(255, 255, 255, 0.84);
  color: #211914;
  font-size: 16px;
}

.manager-login-form input:focus {
  border-color: #001d51;
  outline: 3px solid rgba(0, 29, 81, 0.14);
  outline-offset: 1px;
}

.manager-login-form .manager-login-error {
  margin: -5px 0 0;
  color: #a1342a;
  font-size: 13px;
  font-weight: 700;
}

.manager-login-submit {
  min-height: 48px;
  border: 0;
  border-radius: 11px;
  background: #4a2f1f;
  color: #fffaf4;
  font: inherit;
  font-weight: 850;
  cursor: pointer;
  box-shadow: 0 16px 34px rgba(57, 43, 30, 0.18);
}

.retail-mode .back-button,
.retail-mode .hero-kicker,
.retail-mode .hero-lead,
.retail-mode .news-button {
  display: none;
}

.wardrobe-mode .back-button,
.wardrobe-mode .hero-kicker,
.wardrobe-mode .hero-lead,
.wardrobe-mode .news-button {
  display: none;
}

.retail-mode h1,
.wardrobe-mode h1 {
  width: min(1620px, calc(100vw - clamp(68px, 9.6vw, 164px)));
  margin: clamp(44px, 5vh, 66px) auto 0;
  color: rgba(33, 26, 20, 0.86);
  font-size: clamp(25px, 2.15vw, 42px);
  font-weight: 500;
  line-height: 1.08;
  text-align: left;
  letter-spacing: 0;
}

.retail-mode h1::after,
.wardrobe-mode h1::after {
  content: none;
}

.wardrobe-mode .search-box {
  grid-area: search;
  align-items: center;
  z-index: 3;
  width: min(560px, 100%);
  height: 50px;
  margin: 0;
  border: 1px solid rgba(135, 99, 75, 0.2);
  background: rgba(255, 247, 237, 0.74);
  color: rgba(33, 26, 20, 0.48);
  box-shadow:
    0 18px 44px rgba(57, 43, 30, 0.08),
    0 1px 0 rgba(255, 255, 255, 0.82) inset;
  backdrop-filter: blur(16px) saturate(1.08);
  -webkit-backdrop-filter: blur(16px) saturate(1.08);
}

.wardrobe-mode .search-icon {
  color: rgba(0, 29, 81, 0.45);
  font-size: 24px;
  line-height: 1;
}

.wardrobe-mode .search-box input {
  align-self: center;
  color: #2c241c;
  font-size: 16px;
  font-weight: 500;
  line-height: 1;
}

.wardrobe-mode .search-box input::placeholder {
  color: rgba(44, 36, 28, 0.48);
}

.retail-mode .catalog-panel {
  z-index: 2;
  min-height: calc(100vh - 220px);
  margin-top: clamp(18px, 2vh, 34px);
  padding: 0 clamp(34px, 4.8vw, 82px) clamp(34px, 4vh, 58px);
  border-radius: 0;
  background: transparent;
}

.retail-mode .catalog-panel::before {
  content: "";
  position: absolute;
  left: clamp(20px, 3.6vw, 72px);
  top: clamp(20px, 3vw, 54px);
  z-index: 0;
  width: clamp(260px, 22vw, 430px);
  height: clamp(260px, 22vw, 430px);
  border: clamp(38px, 4.8vw, 82px) solid rgba(255, 247, 237, 0.72);
  border-right-color: transparent;
  border-radius: 48% 58% 44% 62% / 60% 44% 62% 42%;
  transform: rotate(-18deg);
  pointer-events: none;
}

.wardrobe-mode .catalog-panel {
  z-index: 2;
  min-height: calc(100vh - 220px);
  margin-top: clamp(28px, 4vh, 52px);
  padding: 0 clamp(34px, 4.8vw, 82px) clamp(54px, 6vh, 82px);
  border-radius: 0;
  background: transparent;
}

.wardrobe-mode .top-panel {
  display: grid;
  grid-template-columns: auto minmax(max-content, 320px) minmax(320px, 560px) 1fr;
  grid-template-areas:
    "brand brand brand brand"
    "back title search .";
  column-gap: clamp(14px, 1.7vw, 28px);
  row-gap: clamp(42px, 6vh, 74px);
  align-items: center;
}

.wardrobe-mode .brand-row {
  grid-area: brand;
}

.wardrobe-mode .back-button {
  position: relative;
  top: auto;
  left: auto;
  z-index: 3;
  grid-area: back;
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border: 1px solid rgba(135, 99, 75, 0.2);
  border-radius: 50%;
  background: rgba(255, 247, 237, 0.72);
  color: #001d51;
  box-shadow:
    0 14px 34px rgba(57, 43, 30, 0.08),
    0 1px 0 rgba(255, 255, 255, 0.82) inset;
  font-size: 34px;
  font-weight: 200;
  line-height: 1;
}

.wardrobe-mode h1 {
  grid-area: title;
  width: auto;
  margin: 0;
}

.search-icon {
  font-size: 28px;
  line-height: 1;
}

.overseas-mode .search-icon {
  font-size: 22px;
}

.search-box input {
  width: 100%;
  height: 100%;
  min-width: 0;
  border: 0;
  outline: 0;
  background: transparent;
  color: #333;
  font-size: 18px;
  line-height: 1;
}

.overseas-mode .search-box input {
  color: var(--ink);
  font-size: 16px;
  font-weight: 600;
}

.search-box input::placeholder {
  color: #999;
}

.catalog-panel {
  position: relative;
  z-index: 2;
  min-height: calc(100vh - 286px);
  margin-top: -1px;
  padding: 26px 24px 140px;
  border-radius: 12px 12px 0 0;
  background: #fff;
}

.overseas-mode .catalog-panel {
  min-height: 0;
  height: 58vh;
  margin-top: clamp(-190px, -12vh, -112px);
  padding: 0 0 clamp(18px, 3vh, 34px) clamp(20px, 4vw, 72px);
  border-radius: 0;
  background:
    linear-gradient(180deg, rgba(239, 226, 210, 0.38) 0%, rgba(239, 226, 210, 0.9) 18%, #f7f0e7 72%, #f7f0e7 100%);
}

.overseas-mode .catalog-panel::before {
  content: "";
  position: absolute;
  left: clamp(-170px, -8vw, -82px);
  top: clamp(-64px, -5vh, -28px);
  z-index: 0;
  width: clamp(760px, 58vw, 1040px);
  height: clamp(380px, 30vw, 520px);
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='802' height='401' viewBox='0 0 802 401' fill='none'%3E%3Cpath d='M759.583 31.6985C759.583 31.6985 647.042 202.121 562.073 99.5572C477.105 -3.00647 385.534 68.4647 391.351 179.193C397.168 289.921 281.791 408.583 214.684 296.732C147.577 184.881 43.9619 376.367 43.9619 376.367' stroke='%23FFF7ED' stroke-width='100'/%3E%3C/svg%3E") center / contain no-repeat;
  opacity: 0.78;
  transform: rotate(5deg);
  pointer-events: none;
}

.series-mode .top-panel,
.colors-mode .top-panel,
.countertops-mode .top-panel,
.door-types-mode .top-panel,
.handles-mode .top-panel,
.functional-mode .top-panel,
:is(.basic-mode, .partition-mode) .top-panel,
.partition-mode .top-panel,
.product-mode .top-panel {
  min-height: 112px;
  padding-top: 45px;
}

.series-mode {
  min-height: 100vh;
  background:
    linear-gradient(145deg, rgba(255, 248, 240, 0.92) 0%, rgba(245, 239, 231, 0.96) 46%, rgba(238, 232, 224, 1) 100%);
}

.series-mode .top-panel {
  display: grid;
  grid-template-columns: auto minmax(max-content, 340px) minmax(320px, 560px) 1fr;
  grid-template-areas:
    "brand brand brand brand"
    "back title search .";
  align-items: center;
  column-gap: clamp(14px, 1.7vw, 28px);
  row-gap: clamp(34px, 4.6vh, 56px);
  min-height: 194px;
  padding: clamp(26px, 3.2vw, 46px) clamp(34px, 4.8vw, 82px) 0;
  background:
    linear-gradient(115deg, rgba(255, 255, 255, 0.78) 0 44%, rgba(213, 190, 158, 0.22) 44.2% 45.2%, transparent 45.4% 100%),
    linear-gradient(180deg, rgba(255, 248, 240, 0.98), rgba(241, 234, 224, 0.94));
}

.series-mode .top-panel::before {
  background:
    linear-gradient(118deg, rgba(135, 99, 75, 0.12) 0 1px, transparent 1px 100%),
    linear-gradient(173deg, rgba(255, 255, 255, 0.66) 0 1px, transparent 1px 100%);
  opacity: 0.72;
}

.series-mode .brand-row {
  grid-area: brand;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  width: min(1620px, calc(100vw - clamp(68px, 9.6vw, 164px)));
  margin: 0 auto;
  color: #2c241c;
}

.series-mode .brand-mark {
  color: #2c241c;
  font-size: clamp(24px, 2.15vw, 38px);
  font-weight: 900;
  letter-spacing: 0;
  text-transform: lowercase;
}

.series-mode .retail-nav {
  display: flex;
  align-items: center;
  gap: clamp(18px, 2.2vw, 38px);
}

.series-mode .retail-nav a {
  position: relative;
  color: rgba(33, 26, 20, 0.72);
  font-size: clamp(12px, 0.88vw, 15px);
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1;
  text-decoration: none;
  text-transform: uppercase;
  transition: color 160ms ease;
}

.series-mode .retail-nav a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -9px;
  height: 1px;
  border-radius: 999px;
  background: rgba(0, 29, 81, 0.52);
  opacity: 0;
  transform: scaleX(0.45);
  transition: opacity 160ms ease, transform 160ms ease;
}

.series-mode .retail-nav a:hover {
  color: #001d51;
}

.series-mode .retail-nav a:hover::after {
  opacity: 1;
  transform: scaleX(1);
}

.series-mode .back-button {
  position: relative;
  top: auto;
  left: auto;
  z-index: 3;
  grid-area: back;
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border: 1px solid rgba(135, 99, 75, 0.22);
  border-radius: 50%;
  background: rgba(255, 250, 244, 0.78);
  color: #001d51;
  box-shadow:
    0 14px 34px rgba(57, 43, 30, 0.08),
    0 1px 0 rgba(255, 255, 255, 0.86) inset;
  font-size: 34px;
  font-weight: 200;
  line-height: 1;
}

.series-mode h1 {
  grid-area: title;
  width: auto;
  margin: 0;
  color: rgba(33, 26, 20, 0.88);
  font-size: clamp(26px, 2.1vw, 40px);
  font-weight: 600;
  line-height: 1.08;
  text-align: left;
}

.series-mode h1::after,
.series-mode .hero-kicker,
.series-mode .hero-lead,
.series-mode .news-button {
  display: none;
}

.series-mode .search-box {
  grid-area: search;
  align-items: center;
  z-index: 3;
  display: flex;
  width: min(560px, 100%);
  height: 50px;
  margin: 0;
  border: 1px solid rgba(135, 99, 75, 0.2);
  background: rgba(255, 250, 244, 0.8);
  color: rgba(33, 26, 20, 0.48);
  box-shadow:
    0 18px 44px rgba(57, 43, 30, 0.08),
    0 1px 0 rgba(255, 255, 255, 0.86) inset;
  backdrop-filter: blur(16px) saturate(1.08);
  -webkit-backdrop-filter: blur(16px) saturate(1.08);
}

.series-mode .search-icon {
  color: rgba(0, 29, 81, 0.44);
  font-size: 24px;
  line-height: 1;
}

.series-mode .search-box input {
  align-self: center;
  color: #2c241c;
  font-size: 16px;
  font-weight: 500;
  line-height: 1;
}

.series-mode .search-box input::placeholder {
  color: rgba(44, 36, 28, 0.48);
}

.series-mode .top-panel::after,
.colors-mode .top-panel::after,
.countertops-mode .top-panel::after,
.door-types-mode .top-panel::after,
.handles-mode .top-panel::after,
.functional-mode .top-panel::after,
:is(.basic-mode, .partition-mode) .top-panel::after,
.partition-mode .top-panel::after,
.product-mode .top-panel::after {
  content: "⌕";
  position: absolute;
  right: 24px;
  top: 48px;
  z-index: 1;
  color: #fff;
  font-size: 28px;
  line-height: 1;
}

.series-mode h1,
.colors-mode h1,
.countertops-mode h1,
.door-types-mode h1,
.handles-mode h1,
.functional-mode h1,
:is(.basic-mode, .partition-mode) h1,
.partition-mode h1,
.product-mode h1 {
  font-size: 24px;
}

.series-mode h1 {
  font-size: clamp(26px, 2.1vw, 40px);
}

.colors-mode h1 {
  font-size: clamp(26px, 2.1vw, 40px);
}

.countertops-mode h1 {
  font-size: clamp(26px, 2.1vw, 40px);
}

.translated-title-main,
.translated-title-sub {
  display: block;
}

.translated-title-sub {
  margin-top: 3px;
  font-size: 0.62em;
  font-weight: 400;
  opacity: 0.74;
}

.series-mode .search-box,
.colors-mode .search-box,
.countertops-mode .search-box,
.door-types-mode .search-box,
.handles-mode .search-box,
.functional-mode .search-box,
:is(.basic-mode, .partition-mode) .search-box,
.partition-mode .search-box,
.product-mode .search-box {
  display: none;
}

.series-mode .search-box {
  display: flex;
}

.colors-mode .search-box {
  display: flex;
}

.countertops-mode .search-box {
  display: flex;
}

.series-mode .top-panel::after {
  content: none;
}

.colors-mode .top-panel::after {
  content: none;
}

.countertops-mode .top-panel::after {
  content: none;
}

.series-mode .catalog-panel,
.colors-mode .catalog-panel,
.countertops-mode .catalog-panel,
.door-types-mode .catalog-panel,
.handles-mode .catalog-panel,
.functional-mode .catalog-panel,
:is(.basic-mode, .partition-mode) .catalog-panel,
.partition-mode .catalog-panel,
.product-mode .catalog-panel {
  min-height: calc(100vh - 112px);
  padding: 0 0 96px;
  border-radius: 0;
}

.series-mode .catalog-panel {
  min-height: calc(100vh - 194px);
  padding: clamp(22px, 3vw, 42px) clamp(34px, 4.8vw, 82px) 96px;
  background: transparent;
}

.colors-mode {
  min-height: 100vh;
  background:
    linear-gradient(145deg, rgba(255, 248, 240, 0.92) 0%, rgba(245, 239, 231, 0.96) 48%, rgba(238, 232, 224, 1) 100%);
}

.colors-mode .top-panel {
  display: grid;
  grid-template-columns: auto minmax(max-content, 340px) minmax(320px, 560px) 1fr;
  grid-template-areas:
    "brand brand brand brand"
    "back title search .";
  align-items: center;
  column-gap: clamp(14px, 1.7vw, 28px);
  row-gap: clamp(34px, 4.6vh, 56px);
  min-height: 194px;
  padding: clamp(26px, 3.2vw, 46px) clamp(34px, 4.8vw, 82px) 0;
  background:
    linear-gradient(115deg, rgba(255, 255, 255, 0.78) 0 44%, rgba(213, 190, 158, 0.22) 44.2% 45.2%, transparent 45.4% 100%),
    linear-gradient(180deg, rgba(255, 248, 240, 0.98), rgba(241, 234, 224, 0.94));
}

.colors-mode .top-panel::before {
  background:
    linear-gradient(118deg, rgba(135, 99, 75, 0.12) 0 1px, transparent 1px 100%),
    linear-gradient(173deg, rgba(255, 255, 255, 0.66) 0 1px, transparent 1px 100%);
  opacity: 0.72;
}

.colors-mode .top-panel::after {
  content: none;
}

.colors-mode .brand-row {
  grid-area: brand;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  width: min(1620px, calc(100vw - clamp(68px, 9.6vw, 164px)));
  margin: 0 auto;
  color: #2c241c;
}

.colors-mode .brand-mark {
  color: #2c241c;
  font-size: clamp(24px, 2.15vw, 38px);
  font-weight: 900;
  letter-spacing: 0;
  text-transform: lowercase;
}

.colors-mode .retail-nav {
  display: flex;
  align-items: center;
  gap: clamp(18px, 2.2vw, 38px);
}

.colors-mode .retail-nav a {
  position: relative;
  color: rgba(33, 26, 20, 0.72);
  font-size: clamp(12px, 0.88vw, 15px);
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1;
  text-decoration: none;
  text-transform: uppercase;
  transition: color 160ms ease;
}

.colors-mode .retail-nav a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -9px;
  height: 1px;
  border-radius: 999px;
  background: rgba(0, 29, 81, 0.52);
  opacity: 0;
  transform: scaleX(0.45);
  transition: opacity 160ms ease, transform 160ms ease;
}

.colors-mode .retail-nav a:hover {
  color: #001d51;
}

.colors-mode .retail-nav a:hover::after {
  opacity: 1;
  transform: scaleX(1);
}

.colors-mode .back-button {
  position: relative;
  top: auto;
  left: auto;
  z-index: 3;
  grid-area: back;
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border: 1px solid rgba(135, 99, 75, 0.22);
  border-radius: 50%;
  background: rgba(255, 250, 244, 0.78);
  color: #001d51;
  box-shadow:
    0 14px 34px rgba(57, 43, 30, 0.08),
    0 1px 0 rgba(255, 255, 255, 0.86) inset;
  font-size: 34px;
  font-weight: 200;
  line-height: 1;
}

.colors-mode h1 {
  grid-area: title;
  width: auto;
  margin: 0;
  color: rgba(33, 26, 20, 0.88);
  font-size: clamp(26px, 2.1vw, 40px);
  font-weight: 600;
  line-height: 1.08;
  text-align: left;
}

.colors-mode h1::after,
.colors-mode .hero-kicker,
.colors-mode .hero-lead,
.colors-mode .news-button {
  display: none;
}

.colors-mode .search-box {
  grid-area: search;
  align-items: center;
  z-index: 3;
  display: flex;
  width: min(560px, 100%);
  height: 50px;
  margin: 0;
  border: 1px solid rgba(135, 99, 75, 0.2);
  background: rgba(255, 250, 244, 0.8);
  color: rgba(33, 26, 20, 0.48);
  box-shadow:
    0 18px 44px rgba(57, 43, 30, 0.08),
    0 1px 0 rgba(255, 255, 255, 0.86) inset;
  backdrop-filter: blur(16px) saturate(1.08);
  -webkit-backdrop-filter: blur(16px) saturate(1.08);
}

.colors-mode .search-icon {
  color: rgba(0, 29, 81, 0.44);
  font-size: 24px;
  line-height: 1;
}

.colors-mode .search-box input {
  align-self: center;
  color: #2c241c;
  font-size: 16px;
  font-weight: 500;
  line-height: 1;
}

.colors-mode .search-box input::placeholder {
  color: rgba(44, 36, 28, 0.48);
}

.colors-mode .catalog-panel {
  min-height: calc(100vh - 194px);
  padding: clamp(22px, 3vw, 42px) clamp(34px, 4.8vw, 82px) 96px;
  background: transparent;
}

.door-types-mode {
  min-height: 100vh;
  background:
    linear-gradient(145deg, rgba(255, 248, 240, 0.92) 0%, rgba(245, 239, 231, 0.96) 48%, rgba(238, 232, 224, 1) 100%);
}

.door-types-mode .top-panel {
  display: grid;
  grid-template-columns: auto minmax(max-content, 340px) minmax(320px, 560px) 1fr;
  grid-template-areas:
    "brand brand brand brand"
    "back title search .";
  align-items: center;
  column-gap: clamp(14px, 1.7vw, 28px);
  row-gap: clamp(34px, 4.6vh, 56px);
  min-height: 194px;
  padding: clamp(26px, 3.2vw, 46px) clamp(34px, 4.8vw, 82px) 0;
  background:
    linear-gradient(115deg, rgba(255, 255, 255, 0.78) 0 44%, rgba(213, 190, 158, 0.22) 44.2% 45.2%, transparent 45.4% 100%),
    linear-gradient(180deg, rgba(255, 248, 240, 0.98), rgba(241, 234, 224, 0.94));
}

.door-types-mode .top-panel::before {
  background:
    linear-gradient(118deg, rgba(135, 99, 75, 0.12) 0 1px, transparent 1px 100%),
    linear-gradient(173deg, rgba(255, 255, 255, 0.66) 0 1px, transparent 1px 100%);
  opacity: 0.72;
}

.door-types-mode .top-panel::after {
  content: none;
}

.door-types-mode .brand-row {
  grid-area: brand;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  width: min(1620px, calc(100vw - clamp(68px, 9.6vw, 164px)));
  margin: 0 auto;
  color: #2c241c;
}

.door-types-mode .brand-mark {
  color: #2c241c;
  font-size: clamp(24px, 2.15vw, 38px);
  font-weight: 900;
  letter-spacing: 0;
  text-transform: lowercase;
}

.door-types-mode .retail-nav {
  display: flex;
  align-items: center;
  gap: clamp(18px, 2.2vw, 38px);
}

.door-types-mode .retail-nav a {
  position: relative;
  color: rgba(33, 26, 20, 0.72);
  font-size: clamp(12px, 0.88vw, 15px);
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1;
  text-decoration: none;
  text-transform: uppercase;
  transition: color 160ms ease;
}

.door-types-mode .retail-nav a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -9px;
  height: 1px;
  border-radius: 999px;
  background: rgba(0, 29, 81, 0.52);
  opacity: 0;
  transform: scaleX(0.45);
  transition: opacity 160ms ease, transform 160ms ease;
}

.door-types-mode .retail-nav a:hover {
  color: #001d51;
}

.door-types-mode .retail-nav a:hover::after {
  opacity: 1;
  transform: scaleX(1);
}

.door-types-mode .back-button {
  position: relative;
  top: auto;
  left: auto;
  z-index: 3;
  grid-area: back;
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border: 1px solid rgba(135, 99, 75, 0.22);
  border-radius: 50%;
  background: rgba(255, 250, 244, 0.78);
  color: #001d51;
  box-shadow:
    0 14px 34px rgba(57, 43, 30, 0.08),
    0 1px 0 rgba(255, 255, 255, 0.86) inset;
  font-size: 34px;
  font-weight: 200;
  line-height: 1;
}

.door-types-mode h1 {
  grid-area: title;
  width: auto;
  margin: 0;
  color: rgba(33, 26, 20, 0.88);
  font-size: clamp(26px, 2.1vw, 40px);
  font-weight: 600;
  line-height: 1.08;
  text-align: left;
}

.door-types-mode h1::after,
.door-types-mode .hero-kicker,
.door-types-mode .hero-lead,
.door-types-mode .news-button {
  display: none;
}

.door-types-mode .search-box {
  grid-area: search;
  align-items: center;
  z-index: 3;
  display: flex;
  width: min(560px, 100%);
  height: 50px;
  margin: 0;
  border: 1px solid rgba(135, 99, 75, 0.2);
  background: rgba(255, 250, 244, 0.8);
  color: rgba(33, 26, 20, 0.48);
  box-shadow:
    0 18px 44px rgba(57, 43, 30, 0.08),
    0 1px 0 rgba(255, 255, 255, 0.86) inset;
  backdrop-filter: blur(16px) saturate(1.08);
  -webkit-backdrop-filter: blur(16px) saturate(1.08);
}

.door-types-mode .search-icon {
  color: rgba(0, 29, 81, 0.44);
  font-size: 24px;
  line-height: 1;
}

.door-types-mode .search-box input {
  align-self: center;
  color: #2c241c;
  font-size: 16px;
  font-weight: 500;
  line-height: 1;
}

.door-types-mode .search-box input::placeholder {
  color: rgba(44, 36, 28, 0.48);
}

.door-types-mode .catalog-panel {
  min-height: calc(100vh - 194px);
  padding: clamp(22px, 3vw, 42px) clamp(34px, 4.8vw, 82px) 96px;
  background: transparent;
}

.handles-mode {
  min-height: 100vh;
  background:
    linear-gradient(145deg, rgba(255, 248, 240, 0.92) 0%, rgba(245, 239, 231, 0.96) 48%, rgba(238, 232, 224, 1) 100%);
}

.handles-mode .top-panel {
  display: grid;
  grid-template-columns: auto minmax(max-content, 340px) minmax(320px, 560px) 1fr;
  grid-template-areas:
    "brand brand brand brand"
    "back title search .";
  align-items: center;
  column-gap: clamp(14px, 1.7vw, 28px);
  row-gap: clamp(34px, 4.6vh, 56px);
  min-height: 194px;
  padding: clamp(26px, 3.2vw, 46px) clamp(34px, 4.8vw, 82px) 0;
  background:
    linear-gradient(115deg, rgba(255, 255, 255, 0.78) 0 44%, rgba(213, 190, 158, 0.22) 44.2% 45.2%, transparent 45.4% 100%),
    linear-gradient(180deg, rgba(255, 248, 240, 0.98), rgba(241, 234, 224, 0.94));
}

.handles-mode .top-panel::before {
  background:
    linear-gradient(118deg, rgba(135, 99, 75, 0.12) 0 1px, transparent 1px 100%),
    linear-gradient(173deg, rgba(255, 255, 255, 0.66) 0 1px, transparent 1px 100%);
  opacity: 0.72;
}

.handles-mode .top-panel::after {
  content: none;
}

.handles-mode .brand-row {
  grid-area: brand;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  width: min(1620px, calc(100vw - clamp(68px, 9.6vw, 164px)));
  margin: 0 auto;
  color: #2c241c;
}

.handles-mode .brand-mark {
  color: #2c241c;
  font-size: clamp(24px, 2.15vw, 38px);
  font-weight: 900;
  letter-spacing: 0;
  text-transform: lowercase;
}

.handles-mode .retail-nav {
  display: flex;
  align-items: center;
  gap: clamp(18px, 2.2vw, 38px);
}

.handles-mode .retail-nav a {
  position: relative;
  color: rgba(33, 26, 20, 0.72);
  font-size: clamp(12px, 0.88vw, 15px);
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1;
  text-decoration: none;
  text-transform: uppercase;
  transition: color 160ms ease;
}

.handles-mode .retail-nav a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -9px;
  height: 1px;
  border-radius: 999px;
  background: rgba(0, 29, 81, 0.52);
  opacity: 0;
  transform: scaleX(0.45);
  transition: opacity 160ms ease, transform 160ms ease;
}

.handles-mode .retail-nav a:hover {
  color: #001d51;
}

.handles-mode .retail-nav a:hover::after {
  opacity: 1;
  transform: scaleX(1);
}

.handles-mode .back-button {
  position: relative;
  top: auto;
  left: auto;
  z-index: 3;
  grid-area: back;
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border: 1px solid rgba(135, 99, 75, 0.22);
  border-radius: 50%;
  background: rgba(255, 250, 244, 0.78);
  color: #001d51;
  box-shadow:
    0 14px 34px rgba(57, 43, 30, 0.08),
    0 1px 0 rgba(255, 255, 255, 0.86) inset;
  font-size: 34px;
  font-weight: 200;
  line-height: 1;
}

.handles-mode h1 {
  grid-area: title;
  width: auto;
  margin: 0;
  color: rgba(33, 26, 20, 0.88);
  font-size: clamp(26px, 2.1vw, 40px);
  font-weight: 600;
  line-height: 1.08;
  text-align: left;
}

.handles-mode h1::after,
.handles-mode .hero-kicker,
.handles-mode .hero-lead,
.handles-mode .news-button {
  display: none;
}

.handles-mode .search-box {
  grid-area: search;
  align-items: center;
  z-index: 3;
  display: flex;
  width: min(560px, 100%);
  height: 50px;
  margin: 0;
  border: 1px solid rgba(135, 99, 75, 0.2);
  background: rgba(255, 250, 244, 0.8);
  color: rgba(33, 26, 20, 0.48);
  box-shadow:
    0 18px 44px rgba(57, 43, 30, 0.08),
    0 1px 0 rgba(255, 255, 255, 0.86) inset;
  backdrop-filter: blur(16px) saturate(1.08);
  -webkit-backdrop-filter: blur(16px) saturate(1.08);
}

.handles-mode .search-icon {
  color: rgba(0, 29, 81, 0.44);
  font-size: 24px;
  line-height: 1;
}

.handles-mode .search-box input {
  align-self: center;
  color: #2c241c;
  font-size: 16px;
  font-weight: 500;
  line-height: 1;
}

.handles-mode .search-box input::placeholder {
  color: rgba(44, 36, 28, 0.48);
}

.handles-mode .catalog-panel {
  min-height: calc(100vh - 194px);
  padding: clamp(22px, 3vw, 42px) clamp(34px, 4.8vw, 82px) 96px;
  background: transparent;
}

.functional-mode {
  min-height: 100vh;
  background:
    linear-gradient(145deg, rgba(255, 248, 240, 0.92) 0%, rgba(245, 239, 231, 0.96) 48%, rgba(238, 232, 224, 1) 100%);
}

.functional-mode .top-panel {
  display: grid;
  grid-template-columns: auto minmax(max-content, 340px) minmax(320px, 560px) 1fr;
  grid-template-areas:
    "brand brand brand brand"
    "back title search .";
  align-items: center;
  column-gap: clamp(14px, 1.7vw, 28px);
  row-gap: clamp(34px, 4.6vh, 56px);
  min-height: 194px;
  padding: clamp(26px, 3.2vw, 46px) clamp(34px, 4.8vw, 82px) 0;
  background:
    linear-gradient(115deg, rgba(255, 255, 255, 0.78) 0 44%, rgba(213, 190, 158, 0.22) 44.2% 45.2%, transparent 45.4% 100%),
    linear-gradient(180deg, rgba(255, 248, 240, 0.98), rgba(241, 234, 224, 0.94));
}

.functional-mode .top-panel::before {
  background:
    linear-gradient(118deg, rgba(135, 99, 75, 0.12) 0 1px, transparent 1px 100%),
    linear-gradient(173deg, rgba(255, 255, 255, 0.66) 0 1px, transparent 1px 100%);
  opacity: 0.72;
}

.functional-mode .top-panel::after {
  content: none;
}

.functional-mode .brand-row {
  grid-area: brand;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  width: min(1620px, calc(100vw - clamp(68px, 9.6vw, 164px)));
  margin: 0 auto;
  color: #2c241c;
}

.functional-mode .brand-mark {
  color: #2c241c;
  font-size: clamp(24px, 2.15vw, 38px);
  font-weight: 900;
  letter-spacing: 0;
  text-transform: lowercase;
}

.functional-mode .retail-nav {
  display: flex;
  align-items: center;
  gap: clamp(18px, 2.2vw, 38px);
}

.functional-mode .retail-nav a {
  position: relative;
  color: rgba(33, 26, 20, 0.72);
  font-size: clamp(12px, 0.88vw, 15px);
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1;
  text-decoration: none;
  text-transform: uppercase;
  transition: color 160ms ease;
}

.functional-mode .retail-nav a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -9px;
  height: 1px;
  border-radius: 999px;
  background: rgba(0, 29, 81, 0.52);
  opacity: 0;
  transform: scaleX(0.45);
  transition: opacity 160ms ease, transform 160ms ease;
}

.functional-mode .retail-nav a:hover {
  color: #001d51;
}

.functional-mode .retail-nav a:hover::after {
  opacity: 1;
  transform: scaleX(1);
}

.functional-mode .back-button {
  position: relative;
  top: auto;
  left: auto;
  z-index: 3;
  grid-area: back;
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border: 1px solid rgba(135, 99, 75, 0.22);
  border-radius: 50%;
  background: rgba(255, 250, 244, 0.78);
  color: #001d51;
  box-shadow:
    0 14px 34px rgba(57, 43, 30, 0.08),
    0 1px 0 rgba(255, 255, 255, 0.86) inset;
  font-size: 34px;
  font-weight: 200;
  line-height: 1;
}

.functional-mode h1 {
  grid-area: title;
  width: auto;
  margin: 0;
  color: rgba(33, 26, 20, 0.88);
  font-size: clamp(26px, 2.1vw, 40px);
  font-weight: 600;
  line-height: 1.08;
  text-align: left;
}

.functional-mode h1::after,
.functional-mode .hero-kicker,
.functional-mode .hero-lead,
.functional-mode .news-button {
  display: none;
}

.functional-mode .search-box {
  grid-area: search;
  align-items: center;
  z-index: 3;
  display: flex;
  width: min(560px, 100%);
  height: 50px;
  margin: 0;
  border: 1px solid rgba(135, 99, 75, 0.2);
  background: rgba(255, 250, 244, 0.8);
  color: rgba(33, 26, 20, 0.48);
  box-shadow:
    0 18px 44px rgba(57, 43, 30, 0.08),
    0 1px 0 rgba(255, 255, 255, 0.86) inset;
  backdrop-filter: blur(16px) saturate(1.08);
  -webkit-backdrop-filter: blur(16px) saturate(1.08);
}

.functional-mode .search-icon {
  color: rgba(0, 29, 81, 0.44);
  font-size: 24px;
  line-height: 1;
}

.functional-mode .search-box input {
  align-self: center;
  color: #2c241c;
  font-size: 16px;
  font-weight: 500;
  line-height: 1;
}

.functional-mode .search-box input::placeholder {
  color: rgba(44, 36, 28, 0.48);
}

.functional-mode .catalog-panel {
  min-height: calc(100vh - 194px);
  padding: clamp(22px, 3vw, 42px) clamp(34px, 4.8vw, 82px) 96px;
  background: transparent;
}

:is(.basic-mode, .partition-mode) {
  min-height: 100vh;
  background:
    linear-gradient(145deg, rgba(255, 248, 240, 0.92) 0%, rgba(245, 239, 231, 0.96) 48%, rgba(238, 232, 224, 1) 100%);
}

:is(.basic-mode, .partition-mode) .top-panel {
  display: grid;
  grid-template-columns: auto minmax(max-content, 340px) minmax(320px, 560px) 1fr;
  grid-template-areas:
    "brand brand brand brand"
    "back title search .";
  align-items: center;
  column-gap: clamp(14px, 1.7vw, 28px);
  row-gap: clamp(34px, 4.6vh, 56px);
  min-height: 194px;
  padding: clamp(26px, 3.2vw, 46px) clamp(34px, 4.8vw, 82px) 0;
  background:
    linear-gradient(115deg, rgba(255, 255, 255, 0.78) 0 44%, rgba(213, 190, 158, 0.22) 44.2% 45.2%, transparent 45.4% 100%),
    linear-gradient(180deg, rgba(255, 248, 240, 0.98), rgba(241, 234, 224, 0.94));
}

:is(.basic-mode, .partition-mode) .top-panel::before {
  background:
    linear-gradient(118deg, rgba(135, 99, 75, 0.12) 0 1px, transparent 1px 100%),
    linear-gradient(173deg, rgba(255, 255, 255, 0.66) 0 1px, transparent 1px 100%);
  opacity: 0.72;
}

:is(.basic-mode, .partition-mode) .top-panel::after {
  content: none;
}

:is(.basic-mode, .partition-mode) .brand-row {
  grid-area: brand;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  width: min(1620px, calc(100vw - clamp(68px, 9.6vw, 164px)));
  margin: 0 auto;
  color: #2c241c;
}

:is(.basic-mode, .partition-mode) .brand-mark {
  color: #2c241c;
  font-size: clamp(24px, 2.15vw, 38px);
  font-weight: 900;
  letter-spacing: 0;
  text-transform: lowercase;
}

:is(.basic-mode, .partition-mode) .retail-nav {
  display: flex;
  align-items: center;
  gap: clamp(18px, 2.2vw, 38px);
}

:is(.basic-mode, .partition-mode) .retail-nav a {
  position: relative;
  color: rgba(33, 26, 20, 0.72);
  font-size: clamp(12px, 0.88vw, 15px);
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1;
  text-decoration: none;
  text-transform: uppercase;
  transition: color 160ms ease;
}

:is(.basic-mode, .partition-mode) .retail-nav a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -9px;
  height: 1px;
  border-radius: 999px;
  background: rgba(0, 29, 81, 0.52);
  opacity: 0;
  transform: scaleX(0.45);
  transition: opacity 160ms ease, transform 160ms ease;
}

:is(.basic-mode, .partition-mode) .retail-nav a:hover {
  color: #001d51;
}

:is(.basic-mode, .partition-mode) .retail-nav a:hover::after {
  opacity: 1;
  transform: scaleX(1);
}

:is(.basic-mode, .partition-mode) .back-button {
  position: relative;
  top: auto;
  left: auto;
  z-index: 3;
  grid-area: back;
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border: 1px solid rgba(135, 99, 75, 0.22);
  border-radius: 50%;
  background: rgba(255, 250, 244, 0.78);
  color: #001d51;
  box-shadow:
    0 14px 34px rgba(57, 43, 30, 0.08),
    0 1px 0 rgba(255, 255, 255, 0.86) inset;
  font-size: 34px;
  font-weight: 200;
  line-height: 1;
}

:is(.basic-mode, .partition-mode) h1 {
  grid-area: title;
  width: auto;
  margin: 0;
  color: rgba(33, 26, 20, 0.88);
  font-size: clamp(26px, 2.1vw, 40px);
  font-weight: 600;
  line-height: 1.08;
  text-align: left;
}

:is(.basic-mode, .partition-mode) h1::after,
:is(.basic-mode, .partition-mode) .hero-kicker,
:is(.basic-mode, .partition-mode) .hero-lead,
:is(.basic-mode, .partition-mode) .news-button {
  display: none;
}

:is(.basic-mode, .partition-mode) .search-box {
  grid-area: search;
  align-items: center;
  z-index: 3;
  display: flex;
  width: min(560px, 100%);
  height: 50px;
  margin: 0;
  border: 1px solid rgba(135, 99, 75, 0.2);
  background: rgba(255, 250, 244, 0.8);
  color: rgba(33, 26, 20, 0.48);
  box-shadow:
    0 18px 44px rgba(57, 43, 30, 0.08),
    0 1px 0 rgba(255, 255, 255, 0.86) inset;
  backdrop-filter: blur(16px) saturate(1.08);
  -webkit-backdrop-filter: blur(16px) saturate(1.08);
}

:is(.basic-mode, .partition-mode) .search-icon {
  color: rgba(0, 29, 81, 0.44);
  font-size: 24px;
  line-height: 1;
}

:is(.basic-mode, .partition-mode) .search-box input {
  align-self: center;
  color: #2c241c;
  font-size: 16px;
  font-weight: 500;
  line-height: 1;
}

:is(.basic-mode, .partition-mode) .search-box input::placeholder {
  color: rgba(44, 36, 28, 0.48);
}

:is(.basic-mode, .partition-mode) .catalog-panel {
  min-height: calc(100vh - 194px);
  padding: clamp(22px, 3vw, 42px) clamp(34px, 4.8vw, 82px) 96px;
  background: transparent;
}

.countertops-mode {
  min-height: 100vh;
  background:
    linear-gradient(145deg, rgba(255, 248, 240, 0.92) 0%, rgba(245, 239, 231, 0.96) 48%, rgba(238, 232, 224, 1) 100%);
}

.countertops-mode .top-panel {
  display: grid;
  grid-template-columns: auto minmax(max-content, 340px) minmax(320px, 560px) 1fr;
  grid-template-areas:
    "brand brand brand brand"
    "back title search .";
  align-items: center;
  column-gap: clamp(14px, 1.7vw, 28px);
  row-gap: clamp(34px, 4.6vh, 56px);
  min-height: 194px;
  padding: clamp(26px, 3.2vw, 46px) clamp(34px, 4.8vw, 82px) 0;
  background:
    linear-gradient(115deg, rgba(255, 255, 255, 0.78) 0 44%, rgba(213, 190, 158, 0.22) 44.2% 45.2%, transparent 45.4% 100%),
    linear-gradient(180deg, rgba(255, 248, 240, 0.98), rgba(241, 234, 224, 0.94));
}

.countertops-mode .top-panel::before {
  background:
    linear-gradient(118deg, rgba(135, 99, 75, 0.12) 0 1px, transparent 1px 100%),
    linear-gradient(173deg, rgba(255, 255, 255, 0.66) 0 1px, transparent 1px 100%);
  opacity: 0.72;
}

.countertops-mode .top-panel::after {
  content: none;
}

.countertops-mode .brand-row {
  grid-area: brand;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  width: min(1620px, calc(100vw - clamp(68px, 9.6vw, 164px)));
  margin: 0 auto;
  color: #2c241c;
}

.countertops-mode .brand-mark {
  color: #2c241c;
  font-size: clamp(24px, 2.15vw, 38px);
  font-weight: 900;
  letter-spacing: 0;
  text-transform: lowercase;
}

.countertops-mode .retail-nav {
  display: flex;
  align-items: center;
  gap: clamp(18px, 2.2vw, 38px);
}

.countertops-mode .retail-nav a {
  position: relative;
  color: rgba(33, 26, 20, 0.72);
  font-size: clamp(12px, 0.88vw, 15px);
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1;
  text-decoration: none;
  text-transform: uppercase;
  transition: color 160ms ease;
}

.countertops-mode .retail-nav a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -9px;
  height: 1px;
  border-radius: 999px;
  background: rgba(0, 29, 81, 0.52);
  opacity: 0;
  transform: scaleX(0.45);
  transition: opacity 160ms ease, transform 160ms ease;
}

.countertops-mode .retail-nav a:hover {
  color: #001d51;
}

.countertops-mode .retail-nav a:hover::after {
  opacity: 1;
  transform: scaleX(1);
}

.countertops-mode .back-button {
  position: relative;
  top: auto;
  left: auto;
  z-index: 3;
  grid-area: back;
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border: 1px solid rgba(135, 99, 75, 0.22);
  border-radius: 50%;
  background: rgba(255, 250, 244, 0.78);
  color: #001d51;
  box-shadow:
    0 14px 34px rgba(57, 43, 30, 0.08),
    0 1px 0 rgba(255, 255, 255, 0.86) inset;
  font-size: 34px;
  font-weight: 200;
  line-height: 1;
}

.countertops-mode h1 {
  grid-area: title;
  width: auto;
  margin: 0;
  color: rgba(33, 26, 20, 0.88);
  font-size: clamp(26px, 2.1vw, 40px);
  font-weight: 600;
  line-height: 1.08;
  text-align: left;
}

.countertops-mode h1::after,
.countertops-mode .hero-kicker,
.countertops-mode .hero-lead,
.countertops-mode .news-button {
  display: none;
}

.countertops-mode .search-box {
  grid-area: search;
  align-items: center;
  z-index: 3;
  display: flex;
  width: min(560px, 100%);
  height: 50px;
  margin: 0;
  border: 1px solid rgba(135, 99, 75, 0.2);
  background: rgba(255, 250, 244, 0.8);
  color: rgba(33, 26, 20, 0.48);
  box-shadow:
    0 18px 44px rgba(57, 43, 30, 0.08),
    0 1px 0 rgba(255, 255, 255, 0.86) inset;
  backdrop-filter: blur(16px) saturate(1.08);
  -webkit-backdrop-filter: blur(16px) saturate(1.08);
}

.countertops-mode .search-icon {
  color: rgba(0, 29, 81, 0.44);
  font-size: 24px;
  line-height: 1;
}

.countertops-mode .search-box input {
  align-self: center;
  color: #2c241c;
  font-size: 16px;
  font-weight: 500;
  line-height: 1;
}

.countertops-mode .search-box input::placeholder {
  color: rgba(44, 36, 28, 0.48);
}

.countertops-mode .catalog-panel {
  min-height: calc(100vh - 194px);
  padding: clamp(22px, 3vw, 42px) clamp(34px, 4.8vw, 82px) 96px;
  background: transparent;
}

.cards {
  display: grid;
  grid-template-columns: repeat(2, 276px);
  justify-content: center;
  gap: 46px;
  padding-top: 0;
}

.overseas-mode .cards {
  grid-template-columns: repeat(2, auto);
  gap: 28px;
  justify-content: end;
  position: relative;
  z-index: 1;
  width: max-content;
  margin: 0 clamp(36px, 2.4vw, 46px) 0 auto;
  padding-top: 0;
  transform: none;
}

.cards.series-cards {
  display: block;
  width: 100%;
  padding: 0;
}

.cards.colors-cards {
  display: block;
  width: 100%;
  padding: 0;
}

.cards.countertops-cards {
  display: block;
  width: 100%;
  padding: 0;
}

.cards.door-types-cards {
  display: block;
  width: 100%;
  padding: 0;
}

.cards.handles-cards {
  display: block;
  width: 100%;
  padding: 0;
}

.cards.functional-cards {
  display: block;
  width: 100%;
  padding: 0;
}

.cards.basic-cards {
  display: block;
  width: 100%;
  padding: 0;
}

.cards.partition-cards {
  display: block;
  width: 100%;
  padding: 0;
}

.cards.kitchen-cards {
  display: block;
  width: 100%;
  padding: 0;
}

.cards.matrix-cards {
  display: block;
  width: 100%;
  padding: 0;
}

.cards.product-cards {
  display: block;
  width: 100%;
  padding: 0;
}

.cards.retail-cards {
  grid-template-columns: repeat(3, minmax(290px, 1fr));
  gap: 26px;
  align-items: start;
}

.catalog-card {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 34px;
  align-items: end;
  min-height: 218px;
  border: 0;
  border-radius: 16px;
  padding: 26px 18px 21px 23px;
  background: #fff;
  box-shadow: var(--card-shadow);
  cursor: pointer;
  text-align: left;
}

.overseas-mode .catalog-card {
  grid-template-columns: 1fr;
  grid-template-rows: auto auto 1fr;
  min-height: 0;
  width: auto;
  height: clamp(70vh, 74vh, 820px);
  aspect-ratio: 1122 / 1402;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.26);
  border-radius: 28px;
  padding: 22px;
  background: #465240;
  box-shadow: 0 28px 60px rgba(62, 43, 28, 0.2);
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.overseas-mode .catalog-card:nth-child(2) {
  background: #6f2430;
}

.room-scene {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
}

.product-scene {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
}

.room-bg,
.room-piece,
.product-bg,
.product-piece {
  position: absolute;
  display: block;
  user-select: none;
  pointer-events: none;
}

.room-bg,
.product-bg {
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.room-piece {
  height: auto;
  opacity: 1;
  transform-origin: 50% 100%;
}

.room-scene.room-animating .room-piece {
  opacity: 0;
  animation: roomDrop 900ms cubic-bezier(0.18, 0.82, 0.22, 1) forwards;
  animation-delay: calc(180ms + var(--piece-order) * 180ms);
}

.room-piece-2 {
  left: 14.5%;
  top: 55.5%;
  width: 73%;
}

.room-piece-3 {
  left: 25.6%;
  top: 13.2%;
  width: 17.6%;
}

.room-piece-4 {
  left: 0.2%;
  top: 17.4%;
  width: 19.8%;
}

.room-piece-5 {
  left: 70.5%;
  top: 16.2%;
  width: 30.6%;
}

.room-piece-6 {
  left: 29.4%;
  top: 35.5%;
  width: 53.4%;
}

.room-piece-7 {
  left: 23.8%;
  top: 57.2%;
  width: 52.6%;
}

.room-piece-8 {
  left: 2.4%;
  top: 75%;
  width: 28%;
}

.room-piece-9 {
  left: 75.4%;
  top: 69.2%;
  width: 28.4%;
}

.room-piece-10 {
  left: 4.2%;
  top: 43.2%;
  width: 35.8%;
}

.product-piece {
  left: 50%;
  top: 57%;
  height: auto;
  opacity: 0;
  transform: translate3d(95%, -50%, 0) scale(0.96);
  transform-origin: 50% 70%;
  animation: productSwipe 21s cubic-bezier(0.72, 0, 0.24, 1) infinite;
  animation-delay: calc(var(--product-order) * 3s);
}

.product-piece-12 {
  width: 92%;
}

.product-piece-13 {
  width: 62%;
}

.product-piece-14 {
  width: 100%;
}

.product-piece-15 {
  width: 94%;
}

.product-piece-16 {
  width: 82%;
}

.product-piece-17 {
  width: 94%;
}

.product-piece-18 {
  width: 62%;
}

@keyframes roomDrop {
  0% {
    opacity: 0;
    transform: translate3d(0, -155%, 0) scale(0.98) rotate(-2deg);
  }

  72% {
    opacity: 1;
    transform: translate3d(0, 3.5%, 0) scale(1.01) rotate(0.6deg);
  }

  86% {
    transform: translate3d(0, -1.2%, 0) scale(0.998) rotate(-0.25deg);
  }

  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1) rotate(0deg);
  }
}

@keyframes productSwipe {
  0% {
    opacity: 0;
    transform: translate3d(95%, -50%, 0) scale(0.96);
  }

  6% {
    opacity: 1;
    transform: translate3d(-50%, -50%, 0) scale(1);
  }

  14% {
    opacity: 1;
    transform: translate3d(-50%, -50%, 0) scale(1);
  }

  20% {
    opacity: 0;
    transform: translate3d(-195%, -50%, 0) scale(0.96);
  }

  100% {
    opacity: 0;
    transform: translate3d(-195%, -50%, 0) scale(0.96);
  }
}

@media (prefers-reduced-motion: reduce) {
  .room-piece {
    opacity: 1;
    animation: none;
    transform: none;
  }

  .product-piece {
    opacity: 0;
    animation: none;
  }

  .product-piece-12 {
    opacity: 1;
    transform: translate3d(-50%, -50%, 0) scale(1);
  }
}

.overseas-mode .catalog-card::before {
  content: "";
  position: absolute;
  inset: 0;
  border: 0;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.04), rgba(0, 0, 0, 0.05));
  pointer-events: none;
}

.overseas-mode .catalog-card::after {
  content: none;
}

.retail-cards .catalog-card {
  grid-template-columns: 118px 1fr 32px;
  align-items: center;
  min-height: 140px;
  padding: 24px 18px 24px 27px;
}

.catalog-card:hover {
  transform: translateY(-2px);
  transition: transform 160ms ease;
}

.overseas-mode .catalog-card:hover {
  border-color: rgba(255, 255, 255, 0.48);
  box-shadow: 0 32px 72px rgba(62, 43, 28, 0.28);
  transform: translateY(-4px);
}

.card-index {
  position: absolute;
  top: 29px;
  right: 30px;
  z-index: 1;
  color: rgba(0, 29, 81, 0.78);
  font-size: 13px;
  font-weight: 800;
}

.overseas-mode .card-index {
  top: 96px;
  right: 24px;
  z-index: 2;
  color: rgba(248, 239, 227, 0.78);
  font-size: 12px;
}

.card-art {
  position: absolute;
  top: 31px;
  left: 35px;
  width: 93px;
  height: 86px;
  object-fit: contain;
}

.overseas-mode .card-art {
  display: none;
}

.retail-cards .card-art {
  position: static;
  width: 82px;
  height: 82px;
  justify-self: start;
}

.card-copy {
  min-width: 0;
}

.overseas-mode .card-copy {
  display: none;
}

.card-meta {
  display: block;
  margin-bottom: 10px;
  color: var(--cocoa);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 14px;
  font-style: italic;
  line-height: 1.2;
}

.card-title {
  margin: 0;
  font-size: 23px;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.05;
  white-space: nowrap;
}

.overseas-mode .card-title {
  display: -webkit-box;
  overflow: hidden;
  color: #f8efe3;
  font-size: clamp(22px, 1.42vw, 27px);
  font-weight: 800;
  line-height: 1.04;
  white-space: normal;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.overseas-mode .catalog-card:nth-child(2) .card-title {
  font-size: clamp(20px, 1.2vw, 24px);
  line-height: 1.05;
  -webkit-line-clamp: 3;
}

.card-subtitle {
  margin: 5px 0 0;
  color: #777;
  font-size: 16px;
  letter-spacing: 0;
  line-height: 1.1;
  white-space: nowrap;
}

.overseas-mode .card-subtitle {
  display: none;
}

.reel-progress {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  width: 100%;
  margin-top: 16px;
  margin-bottom: 0;
}

.reel-progress i {
  display: block;
  height: 5px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.36);
}

.reel-progress i:first-child {
  background: #f8efe3;
}

.reel-brand {
  position: relative;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  width: max-content;
  flex: 0 0 auto;
  margin-bottom: 0;
  color: #f8efe3;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  text-transform: uppercase;
}

.reel-header {
  position: relative;
  z-index: 3;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  margin: -4px -4px 0;
  border: 1px solid rgba(248, 239, 227, 0.16);
  border-radius: 18px;
  padding: 12px 14px;
  background: rgba(28, 37, 28, 0.38);
  box-shadow: 0 14px 28px rgba(15, 20, 15, 0.12);
  backdrop-filter: blur(14px) saturate(1.1);
  -webkit-backdrop-filter: blur(14px) saturate(1.1);
}

.overseas-mode .catalog-card:nth-child(2) .reel-header {
  background: rgba(92, 24, 36, 0.34);
}

.reel-brand::before {
  content: "";
  width: 28px;
  height: 28px;
  margin-right: 9px;
  border: 1px solid rgba(248, 239, 227, 0.76);
  border-radius: 50%;
  background: rgba(248, 239, 227, 0.2);
}

.card-arrow {
  justify-self: end;
  padding-bottom: 4px;
  color: #111;
  font-size: 34px;
  font-weight: 200;
  line-height: 1;
}

.overseas-mode .card-arrow {
  z-index: 1;
  position: absolute;
  right: 18px;
  bottom: 18px;
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  padding: 0;
  border-radius: 50%;
  background: rgba(248, 239, 227, 0.94);
  color: #17130f;
  font-size: 30px;
}

.retail-cards .card-arrow {
  grid-column: 3;
  padding-bottom: 0;
}

.retail-mode .cards.retail-cards {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(18px, 2vw, 32px);
  width: min(1620px, calc(100vw - clamp(68px, 9.6vw, 164px)));
  margin: 0 auto;
  padding: 0;
  align-items: stretch;
  justify-items: center;
}

.retail-mode .retail-cards .catalog-card {
  isolation: isolate;
  display: block;
  min-height: 0;
  width: min(100%, calc(min(63vh, 720px) * 0.8003));
  height: min(63vh, 720px);
  aspect-ratio: 1122 / 1402;
  overflow: hidden;
  border: 1px solid rgba(135, 99, 75, 0.18);
  border-radius: clamp(22px, 2vw, 34px);
  padding: 0;
  background: #2b3f58;
  box-shadow:
    0 34px 70px rgba(57, 43, 30, 0.17),
    0 1px 0 rgba(255, 255, 255, 0.58) inset;
  transition: transform 220ms ease, box-shadow 220ms ease, border-color 220ms ease;
}

.retail-mode .retail-cards .catalog-card:nth-child(2) {
  background: #b09aa8;
}

.retail-mode .retail-cards .catalog-card:nth-child(3) {
  background: #c4af94;
}

.retail-mode .retail-cards .catalog-card:hover {
  border-color: rgba(0, 29, 81, 0.24);
  box-shadow:
    0 42px 86px rgba(57, 43, 30, 0.24),
    0 1px 0 rgba(255, 255, 255, 0.7) inset;
  transform: translateY(-8px);
}

.retail-mode .retail-cards .catalog-card::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(180deg, rgba(5, 10, 14, 0.06) 0%, rgba(5, 10, 14, 0.08) 42%, rgba(17, 13, 9, 0.72) 100%),
    radial-gradient(circle at 82% 18%, rgba(255, 247, 237, 0.22), transparent 30%);
  pointer-events: none;
}

.retail-mode .retail-cards .catalog-card::after {
  content: "";
  position: absolute;
  inset: 18px;
  z-index: 2;
  border: 1px solid rgba(255, 247, 237, 0.38);
  border-radius: clamp(16px, 1.55vw, 25px);
  pointer-events: none;
}

.retail-mode .retail-cards .card-art {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.01);
  transition: transform 500ms ease;
}

.retail-mode .retail-cards .catalog-card:hover .card-art {
  transform: scale(1.045);
}

.retail-mode .retail-cards .card-copy {
  position: absolute;
  left: clamp(26px, 2.4vw, 42px);
  right: clamp(84px, 6vw, 112px);
  bottom: clamp(26px, 2.5vw, 44px);
  z-index: 3;
  display: block;
  min-width: 0;
}

.retail-mode .retail-cards .card-title {
  display: block;
  overflow-wrap: anywhere;
  color: #fff7ed;
  font-size: clamp(30px, 2.6vw, 52px);
  font-weight: 800;
  line-height: 0.96;
  white-space: normal;
  text-shadow: 0 12px 32px rgba(0, 0, 0, 0.34);
}

.retail-mode .retail-cards .card-arrow {
  position: absolute;
  right: clamp(24px, 2vw, 36px);
  bottom: clamp(26px, 2.5vw, 44px);
  z-index: 3;
  display: grid;
  place-items: center;
  width: clamp(48px, 4.2vw, 72px);
  height: clamp(48px, 4.2vw, 72px);
  border: 1px solid rgba(255, 247, 237, 0.44);
  border-radius: 50%;
  background: rgba(255, 247, 237, 0.92);
  color: #211a14;
  font-size: clamp(32px, 2.6vw, 48px);
  line-height: 1;
  box-shadow: 0 18px 36px rgba(22, 15, 8, 0.18);
}

.wardrobe-mode .cards.retail-cards {
  position: relative;
  z-index: 1;
  grid-template-columns: repeat(3, minmax(280px, 1fr));
  gap: clamp(18px, 1.8vw, 30px);
  width: min(1620px, calc(100vw - clamp(68px, 9.6vw, 164px)));
  margin: 0 auto;
  padding: 0;
}

.wardrobe-mode .retail-cards .catalog-card {
  grid-template-columns: clamp(110px, 8.4vw, 148px) minmax(0, 1fr) 34px;
  min-height: clamp(132px, 14vh, 172px);
  overflow: hidden;
  border: 1px solid rgba(135, 99, 75, 0.13);
  border-radius: clamp(16px, 1.3vw, 22px);
  padding: clamp(20px, 1.8vw, 30px);
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.92), rgba(255, 247, 237, 0.72)),
    #fffaf3;
  box-shadow:
    0 26px 56px rgba(57, 43, 30, 0.1),
    0 1px 0 rgba(255, 255, 255, 0.9) inset;
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.wardrobe-mode .retail-cards .catalog-card::before {
  content: "";
  position: absolute;
  inset: auto -18% -90% 40%;
  width: 54%;
  height: 130%;
  border: 28px solid rgba(0, 29, 81, 0.035);
  border-radius: 999px;
  transform: rotate(28deg);
  pointer-events: none;
}

.wardrobe-mode .retail-cards .catalog-card:hover {
  border-color: rgba(0, 29, 81, 0.18);
  box-shadow:
    0 30px 66px rgba(57, 43, 30, 0.15),
    0 1px 0 rgba(255, 255, 255, 0.94) inset;
  transform: translateY(-4px);
}

.wardrobe-mode .retail-cards .card-art {
  position: relative;
  z-index: 1;
  width: clamp(82px, 6.4vw, 112px);
  height: clamp(82px, 6.4vw, 112px);
  justify-self: center;
  align-self: center;
  filter: saturate(0.88) contrast(0.96);
}

.wardrobe-mode .retail-cards .card-copy {
  position: relative;
  z-index: 1;
}

.wardrobe-mode .retail-cards .card-title {
  color: #211a14;
  font-size: clamp(22px, 1.65vw, 34px);
  font-weight: 500;
  line-height: 1.05;
  white-space: normal;
}

.wardrobe-mode .retail-cards .card-arrow {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border: 1px solid rgba(135, 99, 75, 0.18);
  border-radius: 50%;
  padding: 0;
  background: rgba(255, 247, 237, 0.78);
  color: #001d51;
  font-size: 26px;
  line-height: 1;
}

.home-products-mode .top-panel {
  min-height: auto;
  padding-bottom: 22px;
}

.home-products-mode.product-mode .top-panel {
  grid-template-columns: auto minmax(0, 1fr);
  grid-template-areas:
    "brand brand"
    "back title";
  width: 100%;
  min-width: 0;
}

.home-products-mode.product-mode .top-panel > *,
.home-products-mode.product-mode .brand-row,
.home-products-mode.product-mode .retail-nav {
  min-width: 0;
  max-width: 100%;
}

.home-products-mode .hero-kicker,
.home-products-mode .hero-lead {
  display: none;
}

.home-products-mode h1 {
  min-width: 0;
  width: 100%;
  max-width: min(1180px, 100%);
  font-size: clamp(30px, 3vw, 54px);
  overflow-wrap: anywhere;
  word-break: break-word;
}

.home-products-mode .catalog-panel {
  padding-top: 0;
  background: #fff;
}

.home-products-mode .cards.home-products-cards {
  display: block;
  width: 100%;
  padding: 0;
}

.home-products-board {
  min-height: min(720px, calc(100vh - 250px));
  background: #fff;
}

.home-products-grid {
  display: grid;
  grid-template-columns: repeat(8, minmax(118px, 1fr));
  gap: clamp(54px, 7vh, 94px) clamp(24px, 3.2vw, 58px);
  width: min(1160px, calc(100vw - 64px));
  margin: 0 auto;
  padding: clamp(38px, 6vh, 74px) 0 96px;
}

.home-products-tile {
  display: grid;
  justify-items: center;
  gap: 16px;
  min-width: 0;
  border: 0;
  padding: 0;
  background: transparent;
  color: #1f1b18;
  text-align: center;
}

.home-products-icon {
  width: clamp(72px, 6.7vw, 98px);
  height: clamp(72px, 6.7vw, 98px);
  border-radius: 50%;
  background: #fff;
  object-fit: contain;
  box-shadow: 0 14px 34px rgba(59, 46, 37, 0.13);
}

.home-products-icon-fallback {
  display: grid;
  place-items: center;
  color: transparent;
}

.home-products-title {
  max-width: 132px;
  color: #1f1b18;
  font-size: clamp(17px, 1.25vw, 22px);
  font-weight: 500;
  line-height: 1.2;
  overflow-wrap: anywhere;
}

.home-products-detail {
  display: grid;
  grid-template-columns: minmax(220px, 280px) minmax(0, 1fr);
  height: clamp(520px, calc(100vh - 250px), 720px);
  background: #fff;
  overflow: hidden;
}

.home-products-sidebar {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-height: 0;
  padding: 28px 18px 40px clamp(18px, 3vw, 42px);
  border-right: 1px solid rgba(59, 46, 37, 0.1);
  overflow-y: auto;
  overscroll-behavior: contain;
}

.home-products-side-tab {
  width: 100%;
  border: 0;
  border-radius: 8px;
  padding: 12px 14px;
  background: transparent;
  color: #4c433d;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.25;
  text-align: left;
}

.home-products-side-tab:hover,
.home-products-side-tab.active {
  background: #f5efe7;
  color: #211b17;
}

.home-products-content {
  min-width: 0;
  min-height: 0;
  padding: clamp(28px, 4vw, 54px);
  overflow-y: auto;
}

.home-products-content-head {
  display: grid;
  gap: 8px;
  margin-bottom: 28px;
}

.home-products-content-head p {
  margin: 0;
  color: #8a7a6d;
  font-size: 14px;
  font-weight: 500;
}

.home-products-content-head h2 {
  margin: 0;
  color: #28221d;
  font-size: clamp(28px, 3vw, 42px);
  font-weight: 600;
  line-height: 1.12;
}

.home-products-empty-state {
  display: grid;
  align-items: center;
  min-height: 220px;
  border-top: 1px solid rgba(59, 46, 37, 0.1);
  color: #8a7a6d;
  font-size: 16px;
}

.home-products-product-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 24px;
  align-items: start;
}

.home-products-product-card {
  display: grid;
  gap: 12px;
  width: 100%;
  border: 1px solid rgba(59, 46, 37, 0.1);
  border-radius: 8px;
  padding: 12px 12px 16px;
  background: #fff;
  color: #2d2621;
  text-align: left;
  box-shadow: 0 14px 32px rgba(57, 43, 30, 0.07);
  cursor: pointer;
}

.home-products-product-card:hover {
  border-color: rgba(126, 91, 64, 0.28);
}

.home-products-product-image {
  width: 100%;
  aspect-ratio: 4 / 3;
  border-radius: 6px;
  background: #f7f2eb;
  object-fit: cover;
  object-position: center;
}

.home-products-product-title {
  min-height: 44px;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.home-products-product-detail {
  display: grid;
  gap: 28px;
  width: min(1120px, calc(100vw - 48px));
  margin: 0 auto;
  padding: clamp(24px, 4vw, 46px) 0 72px;
}

.home-products-product-hero {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) minmax(190px, 280px);
  gap: clamp(18px, 3vw, 34px);
  align-items: center;
  border-bottom: 1px solid rgba(59, 46, 37, 0.1);
  padding-bottom: 28px;
}

.home-products-detail-back {
  display: grid;
  place-items: center;
  width: 48px;
  aspect-ratio: 1;
  border: 1px solid rgba(59, 46, 37, 0.12);
  border-radius: 50%;
  background: #fffaf3;
  color: #3a312a;
  font-size: 34px;
  line-height: 1;
  box-shadow: 0 10px 24px rgba(57, 43, 30, 0.08);
  cursor: pointer;
}

.home-products-product-hero-text {
  display: grid;
  gap: 8px;
  min-width: 0;
}

.home-products-product-hero-text p {
  margin: 0;
  color: #8a7a6d;
  font-size: 14px;
  font-weight: 500;
}

.home-products-product-hero-text h2 {
  margin: 0;
  color: #28221d;
  font-size: clamp(28px, 3.3vw, 46px);
  font-weight: 600;
  line-height: 1.12;
  overflow-wrap: anywhere;
}

.home-products-product-hero-image {
  width: 100%;
  aspect-ratio: 4 / 3;
  border-radius: 8px;
  background: #f7f2eb;
  object-fit: cover;
  object-position: center;
}

.home-products-section-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  position: sticky;
  top: 0;
  z-index: 2;
  padding: 10px 0;
  background: rgba(255, 252, 247, 0.94);
  backdrop-filter: blur(8px);
}

.home-products-section-nav button {
  border: 1px solid rgba(59, 46, 37, 0.12);
  border-radius: 999px;
  padding: 10px 16px;
  background: #fff;
  color: #3a312a;
  font-size: 15px;
  font-weight: 500;
  cursor: pointer;
}

.home-products-section-nav button:hover {
  border-color: rgba(126, 91, 64, 0.28);
  background: #f5efe7;
}

.home-products-section-nav button.active {
  border-color: rgba(126, 91, 64, 0.36);
  background: #3a312a;
  color: #fffaf3;
}

.home-products-section-stack {
  display: grid;
  gap: 36px;
}

.home-products-detail-section {
  display: grid;
  gap: 18px;
}

.home-products-detail-section[hidden] {
  display: none;
}

.home-products-detail-section h3 {
  margin: 0;
  color: #2d2621;
  font-size: clamp(22px, 2.2vw, 32px);
  font-weight: 600;
  line-height: 1.2;
}

.home-products-detail-images {
  display: grid;
  gap: 0;
}

.home-products-detail-image-entry {
  display: grid;
  gap: 14px;
}

.home-products-detail-image-frame {
  position: relative;
  margin: 0;
}

.home-products-detail-images img {
  display: block;
  width: 100%;
  border-radius: 8px;
  background: #f7f2eb;
  box-shadow: 0 14px 32px rgba(57, 43, 30, 0.08);
}

.home-products-image-overlay {
  position: absolute;
  display: grid;
  align-items: center;
  box-sizing: border-box;
  border-radius: 6px;
  padding: 0.45em 0.65em;
  background: rgba(205, 187, 163, 0.9);
  color: #3a3027;
  font-weight: 500;
  line-height: 1.18;
  overflow-wrap: anywhere;
  box-shadow: 0 4px 18px rgba(65, 48, 34, 0.08);
  white-space: pre-line;
}

.home-products-image-overlay-headline {
  font-size: 44px;
  font-weight: 600;
}

.home-products-image-overlay-subtitle {
  font-size: 22px;
}

.home-products-image-overlay-body {
  font-size: 18px;
}

.home-products-image-overlay-caption {
  justify-items: center;
  text-align: center;
  font-size: 13px;
}

.home-products-image-overlay-note {
  background: rgba(232, 220, 203, 0.92);
  font-size: 12px;
}

.home-products-image-overlay-callout {
  background: rgba(232, 220, 203, 0.92);
  font-size: 12px;
}

.home-products-image-overlay-spec,
.home-products-image-overlay-param,
.home-products-image-overlay-price {
  background: rgba(255, 255, 255, 0.94);
  color: #111;
  font-size: 18px;
  line-height: 1.35;
}

.home-products-image-overlay-spec-title {
  background: rgba(255, 255, 255, 0.94);
  color: #111;
  font-size: 18px;
  font-weight: 600;
}

.home-products-image-overlay-param-red {
  background: rgba(255, 255, 255, 0.94);
  color: #e21f2f;
  font-size: 18px;
  font-weight: 600;
}

.home-products-image-overlay-strong {
  justify-items: center;
  background: rgba(255, 255, 255, 0.96);
  color: #111;
  font-size: 22px;
  font-weight: 700;
  text-align: center;
}

.home-products-image-overlay-bar {
  justify-items: center;
  border-radius: 0;
  background: rgba(225, 225, 225, 0.98);
  color: #111;
  font-size: 24px;
  font-weight: 700;
  text-align: center;
}

.home-products-image-overlay-table-title {
  justify-items: center;
  border-radius: 0;
  background: rgba(0, 0, 0, 0.98);
  color: #fff;
  font-size: 26px;
  font-weight: 700;
  text-align: center;
}

.home-products-image-overlay-table-header {
  justify-items: center;
  border-radius: 0;
  background: rgba(128, 94, 0, 0.98);
  color: #fff;
  font-size: 20px;
  font-weight: 700;
  text-align: center;
}

.home-products-image-overlay-table-cell {
  justify-items: center;
  border-radius: 0;
  background: rgba(255, 255, 255, 0.98);
  color: #111;
  font-size: 17px;
  font-weight: 600;
  text-align: center;
}

.home-products-image-translation {
  box-sizing: border-box;
  margin-top: 14px;
  padding: clamp(22px, 3vw, 38px);
  border: 1px solid rgba(112, 88, 66, 0.14);
  border-radius: 20px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(249, 244, 237, 0.96));
  color: #332b25;
  box-shadow: 0 14px 34px rgba(57, 43, 30, 0.07);
}

.home-products-detail-image-entry > .home-products-image-translation {
  margin-top: 0;
}

.home-products-translation-manager-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin: -6px 0 24px;
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(112, 88, 66, 0.14);
}

.home-products-translation-manager-bar > span {
  color: #795640;
  font-size: 13px;
  font-weight: 700;
}

.home-products-translation-actions,
.home-products-translation-deleted-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}

.home-products-translation-actions button,
.home-products-translation-deleted-actions button {
  min-height: 40px;
  border: 1px solid rgba(77, 50, 34, 0.18);
  border-radius: 10px;
  background: #fffaf4;
  color: #4d3222;
  font: inherit;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  transition: border-color 160ms ease, background-color 160ms ease, transform 160ms ease;
}

.home-products-translation-actions button:hover,
.home-products-translation-deleted-actions button:hover {
  border-color: rgba(77, 50, 34, 0.42);
  background: #fff;
  transform: translateY(-1px);
}

.home-products-translation-actions button:focus-visible,
.home-products-translation-deleted-actions button:focus-visible {
  outline: 3px solid rgba(0, 29, 81, 0.22);
  outline-offset: 2px;
}

.home-products-translation-actions button:disabled,
.home-products-translation-deleted-actions button:disabled {
  cursor: wait;
  opacity: 0.55;
  transform: none;
}

.home-products-translation-edit {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 0 14px;
}

.home-products-translation-icon-action {
  display: inline-grid;
  width: 40px;
  padding: 0;
  place-items: center;
  border-radius: 50% !important;
}

.home-products-translation-icon-action svg {
  width: 19px;
  height: 19px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.home-products-translation-delete {
  padding: 0 13px;
  color: #8a4039 !important;
}

.home-products-translation-manager-placeholder {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  min-height: 92px;
  padding: 18px 20px;
  border: 1px dashed rgba(121, 86, 64, 0.38);
  border-radius: 14px;
  background: rgba(255, 250, 244, 0.82);
}

.home-products-translation-manager-placeholder > div:first-child {
  display: grid;
  gap: 4px;
}

.home-products-translation-manager-placeholder strong {
  color: #4d3222;
  font-size: 15px;
}

.home-products-translation-manager-placeholder span {
  color: #75685e;
  font-size: 13px;
  line-height: 1.4;
}

.home-products-translation-manager-placeholder.is-hidden {
  background: rgba(244, 237, 226, 0.72);
}

.home-products-translation-manager-placeholder.is-deleted {
  border-style: solid;
  background: rgba(255, 248, 242, 0.72);
}

.home-products-translation-kicker {
  margin: 0 0 8px;
  color: #9a624a;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.home-products-image-translation h4 {
  margin: 0;
  max-width: 920px;
  font-size: clamp(24px, 2.6vw, 38px);
  font-weight: 600;
  line-height: 1.14;
}

.home-products-translation-lead {
  max-width: 920px;
  margin: 13px 0 0;
  color: #6e645c;
  font-size: clamp(16px, 1.4vw, 19px);
  line-height: 1.55;
}

.home-products-translation-sections {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 24px;
}

.home-products-translation-section {
  padding: 20px;
  border-radius: 14px;
  background: rgba(239, 230, 219, 0.56);
}

.home-products-translation-section h5 {
  margin: 0 0 11px;
  color: #4b3b31;
  font-size: 17px;
  font-weight: 650;
}

.home-products-translation-section ul {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.home-products-translation-section li {
  position: relative;
  padding-left: 17px;
  color: #62574f;
  font-size: 15px;
  line-height: 1.48;
}

.home-products-translation-section li::before {
  position: absolute;
  top: 0.62em;
  left: 0;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #a46a50;
  content: "";
}

.home-products-translation-facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 24px;
}

.home-products-translation-fact {
  display: grid;
  align-content: space-between;
  gap: 10px;
  min-height: 92px;
  padding: 17px;
  border-radius: 14px;
  background: rgba(239, 230, 219, 0.56);
}

.home-products-translation-fact span {
  color: #776b62;
  font-size: 13px;
  line-height: 1.35;
}

.home-products-translation-fact strong {
  color: #3a3029;
  font-size: 19px;
  font-weight: 650;
  line-height: 1.25;
}

.home-products-translation-table-wrap {
  margin-top: 24px;
  overflow-x: auto;
  border: 1px solid rgba(112, 88, 66, 0.14);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.68);
}

.home-products-translation-table {
  width: 100%;
  min-width: 680px;
  border-collapse: collapse;
  font-size: 14px;
  text-align: left;
}

.home-products-translation-table th,
.home-products-translation-table td {
  padding: 13px 16px;
  border-bottom: 1px solid rgba(112, 88, 66, 0.1);
  vertical-align: top;
}

.home-products-translation-table th {
  position: sticky;
  top: 0;
  background: #e9ddd0;
  color: #473930;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.home-products-translation-table td {
  color: #5e534b;
}

.home-products-translation-table td:first-child {
  color: #352c26;
  font-weight: 600;
  white-space: nowrap;
}

.home-products-translation-table tr:last-child td {
  border-bottom: 0;
}

.home-products-translation-table tbody tr:nth-child(even) {
  background: rgba(239, 230, 219, 0.28);
}

.home-products-translation-note {
  margin: 20px 0 0;
  padding: 14px 16px;
  border-left: 3px solid #b2785c;
  border-radius: 0 10px 10px 0;
  background: rgba(178, 120, 92, 0.08);
  color: #756860;
  font-size: 14px;
  line-height: 1.5;
}

.home-products-editor-mode {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: fit-content;
  margin-top: 9px;
  color: #795640;
  font-size: 13px;
  font-weight: 650;
}

.home-products-editor-mode::before {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #9a624a;
  content: "";
}

.home-products-detail-image-frame.is-manager-editable {
  position: relative;
  padding: 10px;
  border: 1px dashed rgba(121, 86, 64, 0.42);
  border-radius: 22px;
  background: rgba(255, 252, 248, 0.76);
}

.home-products-image-edit-button {
  position: absolute;
  z-index: 4;
  top: 24px;
  right: 24px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  padding: 0 18px;
  border: 1px solid rgba(77, 50, 34, 0.18);
  border-radius: 999px;
  background: rgba(255, 252, 247, 0.96);
  color: #4d3222;
  box-shadow: 0 10px 28px rgba(57, 43, 30, 0.14);
  font: inherit;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  backdrop-filter: blur(12px);
}

.home-products-image-edit-button:hover {
  border-color: rgba(77, 50, 34, 0.42);
  transform: translateY(-1px);
}

.home-product-editor-dialog {
  width: min(1500px, calc(100vw - 40px));
  max-width: none;
  max-height: calc(100vh - 32px);
  margin: auto;
  padding: 0;
  overflow: hidden;
  border: 1px solid rgba(89, 63, 45, 0.18);
  border-radius: 26px;
  background: #f8f3ec;
  color: #2d251f;
  box-shadow: 0 30px 90px rgba(39, 28, 20, 0.26);
}

.home-product-editor-dialog[data-mode="image"] {
  width: min(1080px, calc(100vw - 40px));
}

.home-product-editor-dialog[data-mode="translation"] {
  width: min(980px, calc(100vw - 40px));
}

.home-product-editor-dialog[data-mode] .home-product-editor-body {
  grid-template-columns: minmax(0, 1fr);
}

.home-product-editor-dialog [hidden] {
  display: none !important;
}

.home-product-editor-dialog::backdrop {
  background: rgba(39, 31, 25, 0.48);
  backdrop-filter: blur(6px);
}

.home-product-editor-form {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto auto;
  max-height: calc(100vh - 32px);
}

.home-product-editor-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  padding: 24px 28px 20px;
  border-bottom: 1px solid rgba(89, 63, 45, 0.12);
  background: rgba(255, 252, 248, 0.9);
}

.home-product-editor-kicker,
.home-product-editor-section-heading > div > span {
  display: block;
  margin-bottom: 5px;
  color: #95664a;
  font-size: 11px;
  font-weight: 750;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.home-product-editor-header h2 {
  margin: 0;
  font-size: clamp(25px, 2.3vw, 36px);
  line-height: 1.08;
}

.home-product-editor-header p {
  margin: 7px 0 0;
  color: #786d64;
  font-size: 14px;
}

.home-product-editor-close {
  width: 42px;
  height: 42px;
  border: 1px solid rgba(89, 63, 45, 0.16);
  border-radius: 50%;
  background: #fff;
  color: #594435;
  font: inherit;
  font-size: 27px;
  line-height: 1;
  cursor: pointer;
}

.home-product-editor-body {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(440px, 1.05fr);
  min-height: 0;
  overflow: auto;
}

.home-product-editor-image-column,
.home-product-editor-translation-column {
  padding: 26px 28px 34px;
}

.home-product-editor-image-column {
  border-right: 1px solid rgba(89, 63, 45, 0.12);
  background: rgba(239, 230, 219, 0.34);
}

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

.home-product-editor-section-heading h3 {
  margin: 0;
  font-size: 22px;
}

.home-product-editor-compare {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.home-product-editor-compare figure {
  margin: 0;
}

.home-product-editor-compare figcaption {
  margin-bottom: 8px;
  color: #74675e;
  font-size: 12px;
  font-weight: 650;
}

.home-product-editor-compare img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: contain;
  border: 1px solid rgba(89, 63, 45, 0.12);
  border-radius: 16px;
  background: #fff;
}

.home-product-editor-upload {
  display: grid;
  gap: 5px;
  margin-top: 18px;
  padding: 20px;
  border: 1px dashed rgba(121, 86, 64, 0.4);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.62);
  cursor: pointer;
}

.home-product-editor-upload strong {
  font-size: 15px;
}

.home-product-editor-upload span,
.home-product-editor-table-note {
  color: #7b7068;
  font-size: 12px;
}

.home-product-editor-upload input {
  margin-top: 10px;
}

.home-product-editor-switch {
  display: flex;
  align-items: center;
  gap: 9px;
  color: #5c4c40;
  font-size: 13px;
  font-weight: 650;
  cursor: pointer;
}

.home-product-editor-switch input {
  width: 18px;
  height: 18px;
  accent-color: #7b543d;
}

.home-product-editor-fields,
.home-product-editor-repeater-list {
  display: grid;
  gap: 12px;
}

.home-product-editor-fields label,
.home-product-editor-pair-row label,
.home-product-editor-section-row label,
.home-product-editor-note-field {
  display: grid;
  gap: 7px;
}

.home-product-editor-fields label > span,
.home-product-editor-pair-row label > span,
.home-product-editor-section-row label > span,
.home-product-editor-note-field > span {
  color: #65574d;
  font-size: 12px;
  font-weight: 700;
}

.home-product-editor-dialog textarea {
  box-sizing: border-box;
  width: 100%;
  resize: vertical;
  border: 1px solid rgba(89, 63, 45, 0.18);
  border-radius: 11px;
  padding: 11px 13px;
  background: rgba(255, 255, 255, 0.9);
  color: #2d251f;
  font: inherit;
  font-size: 14px;
  line-height: 1.45;
}

.home-product-editor-dialog textarea:focus {
  border-color: #9a6b4e;
  outline: 3px solid rgba(154, 107, 78, 0.13);
}

.home-product-editor-repeater {
  margin-top: 24px;
  padding-top: 21px;
  border-top: 1px solid rgba(89, 63, 45, 0.12);
}

.home-product-editor-repeater-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 12px;
}

.home-product-editor-repeater-head h4 {
  margin: 0;
  font-size: 16px;
}

.home-product-editor-repeater-head button,
.home-product-editor-section-row > button {
  border: 0;
  background: transparent;
  color: #79513a;
  font: inherit;
  font-size: 13px;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
}

.home-product-editor-pair-row,
.home-product-editor-section-row {
  position: relative;
  display: grid;
  gap: 10px;
  padding: 14px;
  border: 1px solid rgba(89, 63, 45, 0.12);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.52);
}

.home-product-editor-pair-row {
  grid-template-columns: minmax(0, 0.75fr) minmax(0, 1.25fr) 32px;
  align-items: end;
}

.home-product-editor-pair-row > button {
  width: 32px;
  height: 32px;
  border: 0;
  border-radius: 50%;
  background: rgba(121, 81, 58, 0.1);
  color: #79513a;
  font: inherit;
  font-size: 20px;
  cursor: pointer;
}

.home-product-editor-note-field {
  margin-top: 24px;
}

.home-product-editor-table-note {
  margin: 14px 0 0;
}

.home-product-editor-notice {
  margin: 0;
  padding: 12px 28px;
  border-top: 1px solid rgba(89, 63, 45, 0.1);
  background: #efe3d5;
  color: #5a4435;
  font-size: 13px;
  font-weight: 650;
}

.home-product-editor-notice[data-variant="error"] {
  background: #f7e2de;
  color: #8b382d;
}

.home-product-editor-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 16px 28px;
  border-top: 1px solid rgba(89, 63, 45, 0.12);
  background: #fffaf4;
}

.home-product-editor-footer > div {
  display: flex;
  gap: 10px;
}

.home-product-editor-footer button {
  min-height: 44px;
  border-radius: 999px;
  padding: 0 19px;
  font: inherit;
  font-size: 13px;
  font-weight: 750;
  cursor: pointer;
}

.home-product-editor-restore,
.home-product-editor-cancel {
  border: 1px solid rgba(89, 63, 45, 0.2);
  background: #fff;
  color: #5b493c;
}

.home-product-editor-save {
  border: 1px solid #4d3020;
  background: #4d3020;
  color: #fff;
}

.home-product-editor-footer button:disabled {
  cursor: wait;
  opacity: 0.5;
}

@media (max-width: 900px) {
  .home-product-editor-dialog {
    width: calc(100vw - 20px);
    max-height: calc(100vh - 20px);
    border-radius: 20px;
  }

  .home-product-editor-form {
    max-height: calc(100vh - 20px);
  }

  .home-product-editor-body {
    grid-template-columns: 1fr;
  }

  .home-product-editor-image-column {
    border-right: 0;
    border-bottom: 1px solid rgba(89, 63, 45, 0.12);
  }

  .home-product-editor-footer {
    align-items: stretch;
    flex-direction: column-reverse;
  }

  .home-product-editor-footer > div,
  .home-product-editor-footer button {
    width: 100%;
  }
}

@media (max-width: 560px) {
  .home-products-translation-manager-bar,
  .home-products-translation-manager-placeholder {
    align-items: stretch;
    flex-direction: column;
  }

  .home-products-translation-actions,
  .home-products-translation-deleted-actions {
    width: 100%;
  }

  .home-products-translation-edit,
  .home-products-translation-delete,
  .home-products-translation-deleted-actions button {
    flex: 1 1 auto;
    justify-content: center;
  }

  .home-product-editor-header,
  .home-product-editor-image-column,
  .home-product-editor-translation-column,
  .home-product-editor-footer {
    padding-right: 18px;
    padding-left: 18px;
  }

  .home-product-editor-compare,
  .home-product-editor-pair-row {
    grid-template-columns: 1fr;
  }

  .home-products-image-edit-button {
    top: 18px;
    right: 18px;
  }
}

@media (max-width: 1100px) {
  .home-products-grid {
    grid-template-columns: repeat(4, minmax(112px, 1fr));
  }

  .home-products-detail {
    grid-template-columns: minmax(190px, 240px) minmax(0, 1fr);
  }

  .home-products-product-hero {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .home-products-product-hero-image {
    grid-column: 2;
    max-width: 320px;
  }

  .home-products-translation-facts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .home-products-grid {
    grid-template-columns: repeat(2, minmax(112px, 1fr));
    width: min(100%, calc(100vw - 32px));
    gap: 34px 18px;
    padding: 34px 0 72px;
  }

  .home-products-detail {
    display: block;
    height: auto;
    overflow: visible;
  }

  .home-products-sidebar {
    flex-direction: row;
    min-height: auto;
    padding: 18px 16px;
    border-right: 0;
    border-bottom: 1px solid rgba(59, 46, 37, 0.1);
    overflow-x: auto;
    overflow-y: hidden;
  }

  .home-products-side-tab {
    flex: 0 0 auto;
    width: auto;
    max-width: 220px;
    white-space: normal;
  }

  .home-products-content {
    padding: 28px 16px 56px;
  }

  .home-products-product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
  }

  .home-products-product-detail {
    width: min(100%, calc(100vw - 32px));
    padding: 24px 0 56px;
  }

  .home-products-product-hero {
    grid-template-columns: auto minmax(0, 1fr);
    gap: 14px;
  }

  .home-products-detail-back {
    width: 42px;
    font-size: 30px;
  }

  .home-products-product-hero-image {
    grid-column: 1 / -1;
    max-width: none;
  }

  .home-products-section-nav {
    flex-wrap: nowrap;
    overflow-x: auto;
  }

  .home-products-section-nav button {
    flex: 0 0 auto;
  }

  .home-products-image-overlay {
    border-radius: 4px;
    padding: 0.35em 0.5em;
  }

  .home-products-image-overlay-headline {
    font-size: 20px;
  }

  .home-products-image-overlay-subtitle {
    font-size: 12px;
  }

  .home-products-image-overlay-body {
    font-size: 10px;
  }

  .home-products-image-overlay-caption {
    font-size: 8px;
  }

  .home-products-image-overlay-note,
  .home-products-image-overlay-callout {
    font-size: 7px;
  }

  .home-products-image-overlay-spec,
  .home-products-image-overlay-param,
  .home-products-image-overlay-price,
  .home-products-image-overlay-spec-title,
  .home-products-image-overlay-param-red {
    font-size: 8px;
  }

  .home-products-image-overlay-strong,
  .home-products-image-overlay-bar,
  .home-products-image-overlay-table-header {
    font-size: 10px;
  }

  .home-products-image-overlay-table-title {
    font-size: 12px;
  }

  .home-products-image-overlay-table-cell {
    font-size: 8px;
  }
}

.empty {
  margin: 70px 0 0;
  color: var(--muted);
  text-align: center;
}

.overseas-mode .empty {
  display: none;
}

.series-layout {
  display: grid;
  grid-template-columns: 199px 1fr;
  width: 100%;
}

.series-mode .series-layout {
  display: block;
  width: min(1720px, 100%);
  margin: 0 auto;
}

.series-sidebar {
  min-height: calc(100vh - 112px);
  background: #f0f0f0;
}

.series-mode .series-sidebar {
  position: sticky;
  top: 0;
  z-index: 5;
  display: flex;
  align-items: stretch;
  gap: 8px;
  min-height: 0;
  margin-bottom: clamp(22px, 2.6vw, 36px);
  padding: 8px;
  overflow-x: auto;
  border: 1px solid rgba(135, 99, 75, 0.16);
  border-radius: 14px;
  background: rgba(255, 250, 244, 0.78);
  box-shadow:
    0 18px 44px rgba(57, 43, 30, 0.08),
    0 1px 0 rgba(255, 255, 255, 0.82) inset;
  backdrop-filter: blur(18px) saturate(1.08);
  -webkit-backdrop-filter: blur(18px) saturate(1.08);
}

.series-tab {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 3px;
  align-items: flex-start;
  width: 100%;
  min-height: 66px;
  border: 0;
  padding: 11px 18px;
  background: transparent;
  color: #666;
  font-size: 19px;
  text-align: left;
  cursor: pointer;
}

.series-mode .series-tab {
  flex: 1 0 auto;
  align-items: center;
  justify-content: center;
  width: auto;
  min-width: 164px;
  min-height: 52px;
  padding: 10px 18px;
  border-radius: 10px;
  color: rgba(44, 36, 28, 0.68);
  font-size: 16px;
  font-weight: 700;
  line-height: 1.16;
  text-align: center;
  transition:
    background 160ms ease,
    color 160ms ease,
    box-shadow 160ms ease,
    transform 160ms ease;
}

.series-mode .series-tab:hover {
  background: rgba(255, 255, 255, 0.66);
  color: #2c241c;
  transform: translateY(-1px);
}

.series-tab span,
.series-tab small {
  display: block;
  width: 100%;
}

.series-tab small {
  color: currentColor;
  font-size: 13px;
  opacity: 0.68;
}

.series-tab.active {
  background: #ab211a;
  color: #fff;
}

.series-mode .series-tab.active {
  background: linear-gradient(135deg, #2b2119, #7d5a3e);
  color: #fffaf4;
  box-shadow:
    0 16px 34px rgba(55, 38, 24, 0.18),
    0 1px 0 rgba(255, 255, 255, 0.26) inset;
}

.colors-layout {
  grid-template-columns: 238px 1fr;
}

.colors-mode .colors-layout {
  grid-template-columns: minmax(220px, 280px) minmax(0, 1fr);
  gap: clamp(24px, 3vw, 48px);
  width: min(1720px, 100%);
  margin: 0 auto;
}

.colors-mode .colors-sidebar {
  position: sticky;
  top: 18px;
  align-self: start;
  min-height: 0;
  max-height: calc(100vh - 236px);
  overflow: auto;
  border: 1px solid rgba(135, 99, 75, 0.16);
  border-radius: 14px;
  padding: 8px;
  background: rgba(255, 250, 244, 0.78);
  box-shadow:
    0 18px 44px rgba(57, 43, 30, 0.08),
    0 1px 0 rgba(255, 255, 255, 0.82) inset;
  backdrop-filter: blur(18px) saturate(1.08);
  -webkit-backdrop-filter: blur(18px) saturate(1.08);
}

.colors-sidebar .series-tab {
  min-height: 74px;
  padding: 11px 17px;
  font-size: 21px;
  font-weight: 500;
  line-height: 1.12;
}

.colors-mode .colors-sidebar .series-tab {
  min-height: 58px;
  border-radius: 10px;
  padding: 10px 14px;
  color: rgba(44, 36, 28, 0.68);
  font-size: 17px;
  font-weight: 700;
  line-height: 1.14;
  transition:
    background 160ms ease,
    color 160ms ease,
    box-shadow 160ms ease,
    transform 160ms ease;
}

.colors-mode .colors-sidebar .series-tab:hover {
  background: rgba(255, 255, 255, 0.66);
  color: #2c241c;
  transform: translateY(-1px);
}

.colors-mode .colors-sidebar .series-tab.active {
  background: linear-gradient(135deg, #2b2119, #7d5a3e);
  color: #fffaf4;
  box-shadow:
    0 16px 34px rgba(55, 38, 24, 0.18),
    0 1px 0 rgba(255, 255, 255, 0.26) inset;
}

.colors-sidebar .series-tab small {
  margin-top: 2px;
  font-size: 14px;
  font-weight: 400;
}

.colors-mode .colors-sidebar .series-tab small {
  margin-top: 4px;
  font-size: 12px;
  opacity: 0.68;
}

.countertops-mode .countertops-layout {
  grid-template-columns: minmax(220px, 280px) minmax(0, 1fr);
  gap: clamp(24px, 3vw, 48px);
  width: min(1720px, 100%);
  margin: 0 auto;
}

.countertops-mode .colors-sidebar {
  position: sticky;
  top: 18px;
  align-self: start;
  min-height: 0;
  max-height: calc(100vh - 236px);
  overflow: auto;
  border: 1px solid rgba(135, 99, 75, 0.16);
  border-radius: 14px;
  padding: 8px;
  background: rgba(255, 250, 244, 0.78);
  box-shadow:
    0 18px 44px rgba(57, 43, 30, 0.08),
    0 1px 0 rgba(255, 255, 255, 0.82) inset;
  backdrop-filter: blur(18px) saturate(1.08);
  -webkit-backdrop-filter: blur(18px) saturate(1.08);
}

.countertops-mode .colors-sidebar .series-tab {
  min-height: 58px;
  border-radius: 10px;
  padding: 10px 14px;
  color: rgba(44, 36, 28, 0.68);
  font-size: 17px;
  font-weight: 700;
  line-height: 1.14;
  transition:
    background 160ms ease,
    color 160ms ease,
    box-shadow 160ms ease,
    transform 160ms ease;
}

.countertops-mode .colors-sidebar .series-tab:hover {
  background: rgba(255, 255, 255, 0.66);
  color: #2c241c;
  transform: translateY(-1px);
}

.countertops-mode .colors-sidebar .series-tab.active {
  background: linear-gradient(135deg, #2b2119, #7d5a3e);
  color: #fffaf4;
  box-shadow:
    0 16px 34px rgba(55, 38, 24, 0.18),
    0 1px 0 rgba(255, 255, 255, 0.26) inset;
}

.countertops-mode .colors-sidebar .series-tab small {
  margin-top: 4px;
  font-size: 12px;
  opacity: 0.68;
}

.door-types-layout {
  grid-template-columns: minmax(240px, 320px) minmax(0, 1fr);
  gap: clamp(24px, 3vw, 48px);
  width: min(1720px, 100%);
  margin: 0 auto;
}

.door-types-sidebar {
  position: sticky;
  top: 18px;
  align-self: start;
  max-height: calc(100vh - 250px);
  overflow: auto;
  border: 1px solid rgba(135, 99, 75, 0.16);
  border-radius: 14px;
  padding: 8px;
  background: rgba(255, 250, 244, 0.78);
  box-shadow:
    0 18px 44px rgba(57, 43, 30, 0.08),
    0 1px 0 rgba(255, 255, 255, 0.82) inset;
  backdrop-filter: blur(18px) saturate(1.08);
  -webkit-backdrop-filter: blur(18px) saturate(1.08);
}

.door-sidebar-group + .door-sidebar-group {
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px solid rgba(135, 99, 75, 0.12);
}

.door-sidebar-group > p {
  margin: 0 0 6px;
  padding: 12px 16px;
  border: 1px solid rgba(125, 90, 62, 0.16);
  border-radius: 10px;
  background: rgba(125, 90, 62, 0.1);
  color: #6b4a32;
  font-size: 16px;
  font-weight: 850;
  line-height: 1.15;
  cursor: default;
  user-select: none;
}

.door-sidebar-group:has(.series-tab.active) > p {
  border-color: rgba(125, 90, 62, 0.28);
  background: rgba(125, 90, 62, 0.18);
  color: #4f3524;
  box-shadow: 0 10px 26px rgba(57, 43, 30, 0.08);
}

.door-sidebar-group > p small {
  display: block;
  margin-top: 3px;
  color: rgba(79, 53, 36, 0.58);
  font-size: 12px;
  font-weight: 600;
}

.door-types-sidebar .series-tab {
  min-height: 68px;
  border-radius: 10px;
  padding: 10px 16px;
  color: rgba(44, 36, 28, 0.66);
  font-size: 17px;
  font-weight: 750;
  line-height: 1.12;
  transition:
    background 160ms ease,
    color 160ms ease,
    box-shadow 160ms ease,
    transform 160ms ease;
}

.door-types-sidebar .series-tab:hover {
  background: rgba(255, 255, 255, 0.68);
  color: #2c241c;
}

.door-types-sidebar .series-tab.active {
  background: linear-gradient(135deg, #2b2119, #7d5a3e);
  color: #fffaf4;
  box-shadow:
    0 16px 34px rgba(55, 38, 24, 0.18),
    0 1px 0 rgba(255, 255, 255, 0.26) inset;
}

.door-types-sidebar .series-tab small {
  margin-top: 4px;
  font-size: 12px;
  opacity: 0.68;
}

.door-types-mode .colors-content {
  min-width: 0;
  padding: 0;
  overflow: visible;
}

.door-types-mode .colors-heading {
  margin-bottom: 22px;
  border: 1px solid rgba(135, 99, 75, 0.14);
  border-radius: 14px;
  padding: 22px 24px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.9), rgba(252, 248, 242, 0.82));
  box-shadow:
    0 18px 42px rgba(57, 43, 30, 0.07),
    0 1px 0 rgba(255, 255, 255, 0.86) inset;
}

.door-types-mode .colors-heading h2 {
  color: #211a14;
  font-size: clamp(24px, 1.8vw, 34px);
  font-weight: 650;
}

.door-types-mode .colors-heading p {
  color: rgba(44, 36, 28, 0.5);
  font-size: 15px;
}

.door-types-mode .colors-grid {
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  align-items: stretch;
  gap: clamp(20px, 2vw, 30px);
}

.door-types-mode .color-card {
  position: relative;
  overflow: visible;
  border: 1px solid rgba(135, 99, 75, 0.14);
  border-radius: 14px;
  padding: 12px 12px 16px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(252, 248, 242, 0.9));
  box-shadow:
    0 24px 58px rgba(57, 43, 30, 0.09),
    0 1px 0 rgba(255, 255, 255, 0.88) inset;
  text-align: left;
  transition:
    border-color 180ms ease,
    box-shadow 180ms ease,
    transform 180ms ease;
}

.door-types-mode .color-card:hover {
  border-color: rgba(126, 87, 52, 0.34);
  box-shadow:
    0 34px 82px rgba(57, 43, 30, 0.14),
    0 1px 0 rgba(255, 255, 255, 0.9) inset;
  transform: translateY(-3px);
}

.door-types-grid .color-image-wrap {
  overflow: hidden;
  aspect-ratio: 1.14 / 1;
  border-radius: 10px;
  background: #ebe4dc;
}

.door-types-grid .color-image-wrap img {
  object-fit: contain;
  background: #f7f3ed;
  transition: transform 220ms ease;
}

.door-types-mode .color-card:hover .color-image-wrap img {
  transform: scale(1.035);
}

.door-types-mode .color-card h3 {
  margin: 14px 4px 0;
  color: #211a14;
  font-size: 16px;
  font-weight: 650;
  line-height: 1.18;
}

.door-types-mode .color-card .material-title-sub {
  margin-top: 6px;
  color: rgba(44, 36, 28, 0.52);
  font-size: 13px;
  font-weight: 500;
}

.functional-mode .colors-content {
  min-width: 0;
  padding: 0;
  overflow: visible;
}

.functional-mode .colors-heading {
  margin-bottom: 22px;
  padding: clamp(22px, 2.5vw, 34px);
  border: 1px solid rgba(135, 99, 75, 0.14);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.78);
  box-shadow:
    0 18px 44px rgba(57, 43, 30, 0.08),
    0 1px 0 rgba(255, 255, 255, 0.86) inset;
}

.functional-mode .colors-heading h2 {
  margin: 0;
  color: #211a14;
  font-size: clamp(26px, 2vw, 38px);
  font-weight: 850;
  line-height: 1.08;
}

.functional-mode .colors-heading p {
  color: rgba(44, 36, 28, 0.5);
}

.functional-mode .colors-grid {
  grid-template-columns: repeat(3, minmax(220px, 1fr));
  gap: clamp(24px, 2.6vw, 38px);
}

.functional-mode .color-card {
  min-height: 0;
  border: 1px solid rgba(135, 99, 75, 0.12);
  border-radius: 14px;
  padding: 16px;
  background: rgba(255, 255, 255, 0.78);
  box-shadow:
    0 20px 46px rgba(57, 43, 30, 0.08),
    0 1px 0 rgba(255, 255, 255, 0.86) inset;
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.functional-mode .color-card:hover {
  border-color: rgba(125, 90, 62, 0.24);
  box-shadow:
    0 28px 62px rgba(57, 43, 30, 0.14),
    0 1px 0 rgba(255, 255, 255, 0.9) inset;
  transform: translateY(-3px);
}

.functional-mode .color-image-wrap {
  aspect-ratio: 1.18 / 1;
  border-radius: 10px;
  background: #f7f4ef;
  overflow: hidden;
}

.functional-mode .color-card h3 {
  margin-top: 16px;
  color: #211a14;
  font-size: clamp(18px, 1.18vw, 24px);
  font-weight: 750;
  line-height: 1.12;
}

.functional-mode .color-card .material-title-sub {
  margin-top: 6px;
  color: rgba(44, 36, 28, 0.52);
  font-size: 13px;
  font-weight: 500;
}

:is(.basic-mode, .partition-mode) .colors-content {
  min-width: 0;
  padding: 0;
  overflow: visible;
}

:is(.basic-mode, .partition-mode) .colors-heading {
  margin-bottom: 22px;
  padding: clamp(22px, 2.5vw, 34px);
  border: 1px solid rgba(135, 99, 75, 0.14);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.78);
  box-shadow:
    0 18px 44px rgba(57, 43, 30, 0.08),
    0 1px 0 rgba(255, 255, 255, 0.86) inset;
}

:is(.basic-mode, .partition-mode) .colors-heading h2 {
  margin: 0;
  color: #211a14;
  font-size: clamp(26px, 2vw, 38px);
  font-weight: 850;
  line-height: 1.08;
}

:is(.basic-mode, .partition-mode) .colors-heading p {
  color: rgba(44, 36, 28, 0.5);
}

:is(.basic-mode, .partition-mode) .colors-grid {
  grid-template-columns: repeat(3, minmax(220px, 1fr));
  gap: clamp(24px, 2.6vw, 38px);
}

:is(.basic-mode, .partition-mode) .color-card {
  min-height: 0;
  border: 1px solid rgba(135, 99, 75, 0.12);
  border-radius: 14px;
  padding: 16px;
  background: rgba(255, 255, 255, 0.78);
  box-shadow:
    0 20px 46px rgba(57, 43, 30, 0.08),
    0 1px 0 rgba(255, 255, 255, 0.86) inset;
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

:is(.basic-mode, .partition-mode) .color-card:hover {
  border-color: rgba(125, 90, 62, 0.24);
  box-shadow:
    0 28px 62px rgba(57, 43, 30, 0.14),
    0 1px 0 rgba(255, 255, 255, 0.9) inset;
  transform: translateY(-3px);
}

:is(.basic-mode, .partition-mode) .color-image-wrap {
  aspect-ratio: 1.18 / 1;
  border-radius: 10px;
  background: #f7f4ef;
  overflow: hidden;
}

:is(.basic-mode, .partition-mode) .color-card h3 {
  margin-top: 16px;
  color: #211a14;
  font-size: clamp(18px, 1.18vw, 24px);
  font-weight: 750;
  line-height: 1.12;
}

:is(.basic-mode, .partition-mode) .color-card .material-title-sub {
  margin-top: 6px;
  color: rgba(44, 36, 28, 0.52);
  font-size: 13px;
  font-weight: 500;
}

.handles-mode .handles-content {
  width: min(1720px, 100%);
  margin: 0 auto;
  padding: 0;
}

.handles-mode .colors-heading {
  margin-bottom: 22px;
  padding: clamp(22px, 2.5vw, 34px);
  border: 1px solid rgba(135, 99, 75, 0.14);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.78);
  box-shadow:
    0 18px 44px rgba(57, 43, 30, 0.08),
    0 1px 0 rgba(255, 255, 255, 0.86) inset;
}

.handles-mode .colors-heading h2 {
  margin: 0;
  color: #211a14;
  font-size: clamp(26px, 2vw, 38px);
  font-weight: 850;
  line-height: 1.08;
}

.handles-mode .colors-heading p {
  color: rgba(44, 36, 28, 0.5);
}

.handles-mode .handles-grid {
  grid-template-columns: repeat(4, minmax(220px, 1fr));
  gap: clamp(24px, 2.6vw, 38px);
}

.handles-mode .color-card {
  min-height: 0;
  border: 1px solid rgba(135, 99, 75, 0.12);
  border-radius: 14px;
  padding: 16px;
  background: rgba(255, 255, 255, 0.78);
  box-shadow:
    0 20px 46px rgba(57, 43, 30, 0.08),
    0 1px 0 rgba(255, 255, 255, 0.86) inset;
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.handles-mode .color-card:hover {
  border-color: rgba(125, 90, 62, 0.24);
  box-shadow:
    0 28px 62px rgba(57, 43, 30, 0.14),
    0 1px 0 rgba(255, 255, 255, 0.9) inset;
  transform: translateY(-3px);
}

.handles-mode .color-card h3 {
  margin-top: 16px;
  color: #211a14;
  font-size: clamp(18px, 1.18vw, 24px);
  font-weight: 750;
  line-height: 1.12;
}

.handles-mode .color-card .material-title-sub {
  margin-top: 6px;
  color: rgba(44, 36, 28, 0.52);
  font-size: 13px;
  font-weight: 500;
}

.handles-grid .color-image-wrap {
  aspect-ratio: 1.35 / 1;
}

.handle-detail .color-gallery-main img,
.handle-card .color-image-wrap img {
  object-fit: contain;
  background: #f7f7f7;
}

.functional-card .color-image-wrap img,
.functional-detail .color-gallery-main img,
.basic-card .color-image-wrap img,
.basic-detail .color-gallery-main img,
.partition-card .color-image-wrap img,
.partition-detail .color-gallery-main img {
  object-fit: contain;
  background: #f7f7f7;
}

.door-detail .color-category-note strong,
.door-detail .color-category-note em,
.functional-detail .color-category-note strong,
.functional-detail .color-category-note em,
.basic-detail .color-category-note strong,
.basic-detail .color-category-note em,
.partition-detail .color-category-note strong,
.partition-detail .color-category-note em {
  display: block;
  margin-top: 8px;
  color: #555;
  font-size: 14px;
  font-style: normal;
  font-weight: 500;
}

.door-detail .color-category-note em,
.functional-detail .color-category-note em,
.basic-detail .color-category-note em,
.partition-detail .color-category-note em {
  margin-top: 3px;
  color: #777;
  font-weight: 400;
}

.series-content {
  min-width: 0;
  padding: 24px 22px 60px;
  overflow: hidden;
}

.series-mode .series-content {
  padding: 0;
  overflow: visible;
}

.series-premium-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(150px, 210px);
  gap: clamp(18px, 2vw, 34px);
  align-items: end;
  margin-bottom: clamp(22px, 2.6vw, 36px);
}

.series-premium-kicker {
  display: inline-flex;
  margin-bottom: 12px;
  color: rgba(126, 87, 52, 0.92);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.08em;
  line-height: 1;
  text-transform: uppercase;
}

.series-premium-head h2 {
  margin: 0;
  color: #211a14;
  font-size: clamp(34px, 4vw, 70px);
  font-weight: 650;
  line-height: 0.98;
}

.series-premium-head p {
  max-width: 820px;
  margin: 18px 0 0;
  color: rgba(44, 36, 28, 0.66);
  font-size: clamp(15px, 1vw, 18px);
  line-height: 1.58;
}

.series-premium-count {
  display: grid;
  gap: 4px;
  justify-items: end;
  padding: 22px;
  border: 1px solid rgba(135, 99, 75, 0.16);
  border-radius: 12px;
  background: rgba(255, 250, 244, 0.76);
  box-shadow:
    0 20px 46px rgba(57, 43, 30, 0.08),
    0 1px 0 rgba(255, 255, 255, 0.86) inset;
}

.series-premium-count strong {
  color: #2c241c;
  font-size: 42px;
  font-weight: 650;
  line-height: 1;
}

.series-premium-count span {
  color: rgba(44, 36, 28, 0.58);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.2;
  text-align: right;
}

.series-search-note {
  margin: -12px 0 24px;
  color: rgba(44, 36, 28, 0.58);
  font-size: 15px;
  font-weight: 600;
  line-height: 1.35;
}

.series-description {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 260px;
  gap: 28px;
  margin-bottom: 22px;
  padding: 28px 32px;
  border: 1px solid rgba(172, 33, 26, 0.14);
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.97), rgba(248, 246, 243, 0.94)),
    linear-gradient(90deg, rgba(172, 33, 26, 0.08), rgba(42, 42, 42, 0.03));
  box-shadow: 0 18px 42px rgba(35, 28, 24, 0.09);
  overflow: hidden;
}

.series-mode .series-description {
  grid-template-columns: minmax(0, 1fr) minmax(220px, 300px);
  gap: clamp(24px, 3vw, 48px);
  margin-bottom: clamp(28px, 3vw, 44px);
  padding: clamp(28px, 3vw, 46px);
  border: 1px solid rgba(135, 99, 75, 0.16);
  border-radius: 14px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.92), rgba(252, 248, 242, 0.82)),
    linear-gradient(90deg, rgba(126, 87, 52, 0.06), rgba(0, 29, 81, 0.04));
  box-shadow:
    0 28px 72px rgba(57, 43, 30, 0.1),
    0 1px 0 rgba(255, 255, 255, 0.86) inset;
}

.series-description::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: linear-gradient(180deg, #ab211a, #d2a76b);
}

.series-mode .series-description::before {
  width: 5px;
  background: linear-gradient(180deg, #2b2119, #b58a54, #a62620);
}

.series-description-text {
  position: relative;
  z-index: 1;
}

.series-description-kicker {
  display: inline-flex;
  margin-bottom: 11px;
  color: #ab211a;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: uppercase;
}

.series-mode .series-description-kicker {
  color: rgba(126, 87, 52, 0.92);
  letter-spacing: 0.08em;
}

.series-description h2 {
  margin: 0 0 12px;
  color: #1f1f1f;
  font-size: 30px;
  font-weight: 700;
  line-height: 1.12;
}

.series-mode .series-description h2 {
  color: #211a14;
  font-size: clamp(25px, 2vw, 34px);
  font-weight: 650;
}

.series-description h3 {
  margin: 20px 0 9px;
  color: #2b2b2b;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.2;
}

.series-description p {
  max-width: 1040px;
  margin: 0;
  color: #4a4a4a;
  font-size: 17px;
  line-height: 1.62;
}

.series-mode .series-description p {
  color: rgba(44, 36, 28, 0.68);
  font-size: clamp(15px, 1vw, 18px);
}

.series-description-aside {
  position: relative;
  z-index: 1;
  display: grid;
  align-content: center;
  gap: 10px;
}

.series-description-aside span {
  display: block;
  padding: 11px 14px;
  border: 1px solid rgba(31, 31, 31, 0.08);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.72);
  color: #2f2f2f;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.2;
  box-shadow: 0 10px 24px rgba(31, 31, 31, 0.05);
}

.series-mode .series-description-aside span {
  border-color: rgba(135, 99, 75, 0.14);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.72);
  color: rgba(44, 36, 28, 0.78);
  box-shadow: 0 12px 28px rgba(57, 43, 30, 0.06);
}

.colors-mode .colors-content {
  padding: 0;
  overflow: visible;
}

.colors-premium-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(150px, 230px);
  gap: clamp(18px, 2vw, 34px);
  align-items: end;
  margin-bottom: clamp(22px, 2.6vw, 36px);
}

.colors-premium-kicker {
  display: inline-flex;
  margin-bottom: 12px;
  color: rgba(126, 87, 52, 0.92);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.08em;
  line-height: 1;
  text-transform: uppercase;
}

.colors-premium-head h2 {
  margin: 0;
  color: #211a14;
  font-size: clamp(34px, 4vw, 70px);
  font-weight: 650;
  line-height: 0.98;
}

.colors-premium-head p {
  max-width: 820px;
  margin: 18px 0 0;
  color: rgba(44, 36, 28, 0.66);
  font-size: clamp(15px, 1vw, 18px);
  line-height: 1.58;
}

.colors-premium-count {
  display: grid;
  gap: 4px;
  justify-items: end;
  padding: 22px;
  border: 1px solid rgba(135, 99, 75, 0.16);
  border-radius: 12px;
  background: rgba(255, 250, 244, 0.76);
  box-shadow:
    0 20px 46px rgba(57, 43, 30, 0.08),
    0 1px 0 rgba(255, 255, 255, 0.86) inset;
}

.colors-premium-count strong {
  color: #2c241c;
  font-size: 42px;
  font-weight: 650;
  line-height: 1;
}

.colors-premium-count span {
  color: rgba(44, 36, 28, 0.58);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.2;
  text-align: right;
}

.colors-search-note {
  margin: -12px 0 24px;
  color: rgba(44, 36, 28, 0.58);
  font-size: 15px;
  font-weight: 600;
  line-height: 1.35;
}

.colors-mode .colors-heading {
  margin-bottom: 22px;
  border: 1px solid rgba(135, 99, 75, 0.14);
  border-radius: 14px;
  padding: 22px 24px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.9), rgba(252, 248, 242, 0.82));
  box-shadow:
    0 18px 42px rgba(57, 43, 30, 0.07),
    0 1px 0 rgba(255, 255, 255, 0.86) inset;
}

.colors-mode .colors-heading h2 {
  color: #211a14;
  font-size: clamp(24px, 1.8vw, 34px);
  font-weight: 650;
}

.colors-mode .colors-heading p {
  color: rgba(44, 36, 28, 0.5);
  font-size: 15px;
}

.colors-mode .colors-grid {
  grid-template-columns: repeat(4, minmax(190px, 1fr));
  gap: clamp(20px, 2vw, 30px);
}

.colors-mode .color-card {
  position: relative;
  overflow: visible;
  border: 1px solid rgba(135, 99, 75, 0.14);
  border-radius: 14px;
  padding: 12px 12px 16px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(252, 248, 242, 0.9));
  box-shadow:
    0 24px 58px rgba(57, 43, 30, 0.09),
    0 1px 0 rgba(255, 255, 255, 0.88) inset;
  transition:
    border-color 180ms ease,
    box-shadow 180ms ease,
    transform 180ms ease;
}

.colors-mode .color-card:hover {
  border-color: rgba(126, 87, 52, 0.34);
  box-shadow:
    0 34px 82px rgba(57, 43, 30, 0.14),
    0 1px 0 rgba(255, 255, 255, 0.9) inset;
  transform: translateY(-3px);
}

.colors-mode .color-image-wrap {
  overflow: hidden;
  aspect-ratio: 1.14 / 1;
  border-radius: 10px;
  background: #ebe4dc;
}

.colors-mode .color-image-wrap img {
  transition: transform 220ms ease;
}

.colors-mode .color-card:hover .color-image-wrap img {
  transform: scale(1.035);
}

.colors-mode .color-card h3 {
  margin: 14px 4px 0;
  color: #211a14;
  font-size: 16px;
  font-weight: 650;
  line-height: 1.18;
}

.color-category-chip {
  display: inline-flex;
  flex-direction: column;
  max-width: calc(100% - 8px);
  margin: 14px 4px 0;
  border: 1px solid rgba(135, 99, 75, 0.18);
  border-radius: 10px;
  padding: 7px 10px;
  background: rgba(255, 250, 244, 0.78);
  color: rgba(126, 87, 52, 0.9);
  font-size: 12px;
  font-weight: 800;
  line-height: 1.12;
}

.color-category-chip small {
  margin-top: 3px;
  color: rgba(44, 36, 28, 0.48);
  font-size: 11px;
  font-weight: 600;
}

.colors-mode .color-card .material-title-sub {
  margin-top: 6px;
  color: rgba(44, 36, 28, 0.52);
  font-size: 13px;
  font-weight: 500;
}

.matrix-layout {
  display: grid;
  grid-template-columns: minmax(240px, 310px) minmax(0, 1fr);
  gap: clamp(24px, 3vw, 48px);
  width: min(1720px, 100%);
  max-width: 100%;
  min-width: 0;
  margin: 0 auto;
  box-sizing: border-box;
}

.matrix-sidebar {
  position: sticky;
  top: 18px;
  align-self: start;
  min-height: 0;
  max-height: calc(100vh - 250px);
  overflow: auto;
  border: 1px solid rgba(135, 99, 75, 0.16);
  border-radius: 14px;
  padding: 8px;
  background: rgba(255, 250, 244, 0.78);
  box-shadow:
    0 18px 44px rgba(57, 43, 30, 0.08),
    0 1px 0 rgba(255, 255, 255, 0.82) inset;
  backdrop-filter: blur(18px) saturate(1.08);
  -webkit-backdrop-filter: blur(18px) saturate(1.08);
}

.matrix-sidebar .series-tab {
  min-height: 74px;
  border-radius: 10px;
  padding: 11px 17px;
  color: rgba(44, 36, 28, 0.66);
  font-size: 18px;
  font-weight: 700;
  line-height: 1.12;
  transition:
    background 160ms ease,
    color 160ms ease,
    box-shadow 160ms ease,
    transform 160ms ease;
}

.matrix-sidebar .series-tab:hover {
  background: rgba(255, 255, 255, 0.68);
  color: #2c241c;
}

.matrix-sidebar .series-tab.active {
  background: linear-gradient(135deg, #2b2119, #7d5a3e);
  color: #fffaf4;
  box-shadow:
    0 16px 34px rgba(55, 38, 24, 0.18),
    0 1px 0 rgba(255, 255, 255, 0.26) inset;
}

.matrix-content {
  min-width: 0;
  max-width: 100%;
  padding: 0;
}

.matrix-head p {
  max-width: 820px;
}

.matrix-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: -4px 0 22px;
}

.matrix-summary span,
.matrix-card-meta span,
.matrix-chip-list > span,
.matrix-chip-list > button {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  min-height: 30px;
  border: 1px solid rgba(135, 99, 75, 0.16);
  border-radius: 999px;
  padding: 6px 10px;
  background: rgba(255, 250, 244, 0.7);
  color: rgba(58, 47, 37, 0.66);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.15;
  overflow-wrap: anywhere;
}

.matrix-quick-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: -4px 0 24px;
}

.matrix-toolbar {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
  margin: -4px 0 24px;
}

.matrix-toolbar .matrix-quick-filters {
  flex: 1 1 520px;
  margin: 0;
}

.matrix-toolbar-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.matrix-export-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  border: 1px solid rgba(76, 50, 32, 0.84);
  border-radius: 999px;
  padding: 8px 16px;
  background: linear-gradient(135deg, #4a2f1f, #7b5639);
  color: #fffaf4;
  font: inherit;
  font-size: 14px;
  font-weight: 750;
  line-height: 1.1;
  cursor: pointer;
  box-shadow: 0 18px 42px rgba(57, 43, 30, 0.16);
  transition:
    transform 180ms ease,
    box-shadow 180ms ease,
    filter 180ms ease;
}

.matrix-export-button:hover {
  transform: translateY(-1px);
  box-shadow: 0 22px 48px rgba(57, 43, 30, 0.2);
  filter: saturate(1.04);
}

.matrix-filter-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 38px;
  border: 1px solid rgba(135, 99, 75, 0.16);
  border-radius: 999px;
  padding: 8px 14px;
  background: rgba(255, 250, 244, 0.78);
  color: rgba(58, 47, 37, 0.7);
  font: inherit;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.1;
  cursor: pointer;
  transition:
    background 180ms ease,
    border-color 180ms ease,
    color 180ms ease,
    transform 180ms ease,
    box-shadow 180ms ease;
}

.matrix-filter-chip:hover {
  border-color: rgba(126, 87, 52, 0.34);
  color: #33261d;
  transform: translateY(-1px);
}

.matrix-filter-chip.active {
  border-color: rgba(76, 50, 32, 0.84);
  background: linear-gradient(135deg, #4a2f1f, #7b5639);
  color: #fffaf4;
  box-shadow: 0 18px 42px rgba(57, 43, 30, 0.18);
}

.matrix-filter-chip small {
  color: inherit;
  font-size: 12px;
  font-weight: 700;
  opacity: 0.72;
}

.matrix-grid {
  display: grid !important;
  align-items: stretch;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: clamp(22px, 2vw, 30px) !important;
  min-width: 0;
  max-width: 100%;
}

.matrix-export-button-secondary {
  border-color: rgba(135, 99, 75, 0.28);
  background: rgba(255, 250, 244, 0.88);
  color: #4a2f1f;
  box-shadow: 0 14px 34px rgba(57, 43, 30, 0.1);
}

.matrix-export-button-secondary:hover {
  filter: none;
}

.sample-labels-cards {
  display: block !important;
  width: 100%;
  max-width: 100%;
}

.sample-labels-workspace {
  width: min(100%, 1480px);
  max-width: 100%;
  min-width: 0;
  margin: 0 auto;
  color: #1b1712;
}

.sample-labels-workspace,
.sample-labels-workspace * {
  box-sizing: border-box;
}

.sample-labels-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: clamp(24px, 4vw, 72px);
  margin-bottom: 26px;
}

.sample-labels-heading > div:first-child {
  min-width: 0;
  max-width: 820px;
}

.sample-labels-heading h2 {
  max-width: 100%;
  margin: 8px 0 10px;
  color: #17130f;
  font-size: clamp(34px, 4.2vw, 66px);
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 0.98;
  overflow-wrap: anywhere;
  white-space: normal;
}

.sample-labels-heading p {
  width: 100%;
  max-width: 72ch;
  margin: 0;
  color: #776a5f;
  font-size: clamp(15px, 1.15vw, 18px);
  line-height: 1.45;
  overflow-wrap: anywhere;
  white-space: normal;
}

.sample-labels-count {
  display: grid;
  flex: 0 0 auto;
  justify-items: end;
  padding-bottom: 3px;
}

.sample-labels-count strong {
  color: #4a2f1f;
  font-size: clamp(42px, 4vw, 68px);
  font-weight: 800;
  letter-spacing: -0.04em;
  line-height: 0.9;
}

.sample-labels-count span {
  margin-top: 8px;
  color: #877766;
  font-size: 14px;
  font-weight: 650;
}

.sample-labels-actions {
  position: sticky;
  top: 12px;
  z-index: 20;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 18px;
  border: 1px solid rgba(135, 99, 75, 0.18);
  border-radius: 14px;
  padding: 12px;
  background: rgba(255, 250, 244, 0.94);
  box-shadow: 0 20px 50px rgba(57, 43, 30, 0.12);
  backdrop-filter: blur(16px);
}

.sample-labels-action-group {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.sample-labels-pdf-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
  margin-left: auto;
}

.sample-label-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  border: 1px solid rgba(135, 99, 75, 0.26);
  border-radius: 999px;
  padding: 9px 16px;
  font: inherit;
  font-size: 14px;
  font-weight: 750;
  line-height: 1.1;
  cursor: pointer;
  transition:
    transform 180ms ease,
    border-color 180ms ease,
    box-shadow 180ms ease,
    background 180ms ease;
}

.sample-label-button:hover:not(:disabled) {
  transform: translateY(-1px);
}

.sample-label-button:focus-visible,
.sample-labels-bulk-actions button:focus-visible,
.sample-label-row:has(input:focus-visible) {
  outline: 3px solid rgba(0, 29, 81, 0.3);
  outline-offset: 3px;
}

.sample-label-button-secondary {
  background: rgba(255, 255, 255, 0.76);
  color: #4a2f1f;
}

.sample-label-button-primary {
  min-width: 190px;
  border-color: #4a2f1f;
  background: #4a2f1f;
  color: #fffaf4;
  box-shadow: 0 16px 34px rgba(57, 43, 30, 0.2);
}

.sample-label-button:disabled {
  border-color: rgba(135, 99, 75, 0.12);
  background: #e8dfd5;
  color: #9a8d80;
  box-shadow: none;
  cursor: not-allowed;
}

.sample-label-file-input {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  opacity: 0;
  pointer-events: none;
}

.sample-label-notice {
  margin: 0 0 18px;
  border-radius: 12px;
  padding: 11px 14px;
  background: rgba(196, 175, 148, 0.22);
  color: #4a382b;
  font-size: 14px;
  font-weight: 650;
}

.sample-labels-filterbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 16px;
}

.sample-labels-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.sample-labels-bulk-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 12px;
  color: #877766;
  font-size: 13px;
  font-weight: 650;
}

.sample-labels-bulk-actions button {
  border: 0;
  padding: 4px 0;
  background: transparent;
  color: #4a2f1f;
  font: inherit;
  text-decoration: underline;
  text-decoration-color: rgba(74, 47, 31, 0.34);
  text-underline-offset: 3px;
  cursor: pointer;
}

.sample-labels-list {
  display: grid;
  gap: 9px;
}

.sample-label-row {
  display: grid;
  grid-template-columns: 30px 82px minmax(0, 1fr) minmax(136px, auto);
  align-items: start;
  column-gap: 16px;
  row-gap: 12px;
  min-width: 0;
  border: 1px solid rgba(135, 99, 75, 0.15);
  border-radius: 14px;
  padding: 14px;
  background: rgba(255, 250, 244, 0.78);
  box-shadow: 0 12px 30px rgba(57, 43, 30, 0.055);
  cursor: pointer;
  transition:
    transform 180ms ease,
    border-color 180ms ease,
    background 180ms ease,
    box-shadow 180ms ease;
}

.sample-label-row:hover {
  transform: translateY(-1px);
  border-color: rgba(135, 99, 75, 0.32);
  box-shadow: 0 16px 34px rgba(57, 43, 30, 0.085);
}

.sample-label-row.selected {
  border-color: rgba(74, 47, 31, 0.56);
  background: rgba(239, 229, 218, 0.9);
  box-shadow: 0 16px 38px rgba(57, 43, 30, 0.11);
}

.sample-label-row > input {
  align-self: center;
  grid-row: 1 / 3;
  width: 22px;
  height: 22px;
  margin: 0;
  accent-color: #68462f;
}

.sample-label-swatch {
  grid-row: 1 / 3;
  width: 82px;
  aspect-ratio: 1;
  overflow: hidden;
  border-radius: 10px;
  background: #eee8df;
}

.sample-label-swatch img,
.sample-label-swatch .matrix-image-placeholder {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.sample-label-row-identity {
  display: flex;
  align-items: flex-start;
  gap: clamp(18px, 2.4vw, 38px);
  min-width: 0;
}

.sample-label-row-code {
  flex: 0 0 clamp(86px, 8vw, 124px);
  min-width: 0;
  color: #17130f;
  font-size: clamp(18px, 1.5vw, 25px);
  font-weight: 800;
  line-height: 1.08;
  overflow-wrap: anywhere;
}

.sample-label-row-title {
  display: grid;
  min-width: 0;
  gap: 4px;
}

.sample-label-row-title strong {
  color: #221a14;
  font-size: 16px;
  line-height: 1.2;
  overflow-wrap: anywhere;
}

.sample-label-row-title small {
  color: #877766;
  font-size: 13px;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.sample-label-row-state {
  align-self: center;
  justify-self: end;
  color: #877766;
  font-size: 13px;
  font-weight: 750;
  text-align: right;
}

.sample-label-row.selected .sample-label-row-state {
  color: #4a2f1f;
}

.sample-label-row-details {
  display: grid;
  grid-column: 3 / -1;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px clamp(18px, 2.2vw, 34px);
  min-width: 0;
  border-top: 1px solid rgba(135, 99, 75, 0.16);
  padding-top: 12px;
}

.sample-label-row-detail {
  display: grid;
  align-content: start;
  gap: 4px;
  min-width: 0;
}

.sample-label-row-detail small {
  color: #877766;
  font-size: 11px;
  font-weight: 750;
  letter-spacing: 0.04em;
  line-height: 1.15;
  text-transform: uppercase;
}

.sample-label-row-detail strong {
  color: #4a382b;
  font-size: 13px;
  font-weight: 650;
  line-height: 1.32;
  overflow-wrap: anywhere;
}

.sample-labels-empty {
  display: grid;
  justify-items: center;
  gap: 7px;
  min-height: 220px;
  padding: 72px 20px;
  color: #877766;
  text-align: center;
}

.sample-labels-empty strong {
  color: #33261d;
  font-size: 22px;
}

@media (max-width: 1280px) {
  .matrix-layout {
    grid-template-columns: minmax(220px, 280px) minmax(0, 1fr);
    gap: 24px;
  }

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

@media (max-width: 980px) {
  .matrix-layout {
    grid-template-columns: 1fr;
  }

  .matrix-sidebar {
    position: static;
    max-height: none;
  }

  .matrix-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .sample-label-row {
    grid-template-columns: 28px 72px minmax(0, 1fr);
  }

  .sample-label-row-state {
    display: none;
  }

  .sample-label-swatch {
    width: 72px;
  }

  .sample-label-row-details {
    grid-column: 3;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  .matrix-toolbar {
    gap: 10px;
  }

  .matrix-export-button {
    width: 100%;
  }

  .matrix-toolbar-actions {
    width: 100%;
    flex-direction: column;
  }

  .sample-labels-heading {
    align-items: flex-start;
    flex-direction: column;
    min-width: 0;
  }

  .sample-labels-heading h2 {
    font-size: clamp(30px, 9vw, 38px);
  }

  .sample-labels-count {
    justify-items: start;
  }

  .sample-labels-actions,
  .sample-labels-filterbar {
    align-items: stretch;
    flex-direction: column;
  }

  .sample-labels-action-group,
  .sample-labels-pdf-actions,
  .sample-label-button,
  .sample-labels-filters {
    width: 100%;
  }

  .sample-labels-pdf-actions {
    flex-direction: column;
    margin-left: 0;
  }

  .sample-label-button {
    flex: 1 1 auto;
  }

  .sample-labels-bulk-actions {
    justify-content: flex-start;
  }

  .sample-label-row {
    grid-template-columns: 24px 54px minmax(0, 1fr);
    gap: 11px;
    padding: 10px;
  }

  .sample-label-swatch {
    width: 54px;
  }

  .sample-label-row-code {
    font-size: 19px;
  }

  .sample-label-row-identity {
    display: grid;
    gap: 5px;
  }

  .sample-label-row-code {
    flex-basis: auto;
  }

  .sample-label-row-details {
    grid-column: 2 / -1;
    grid-template-columns: 1fr;
    gap: 9px;
  }

  .sample-label-row-detail {
    grid-template-columns: minmax(104px, 0.6fr) minmax(0, 1fr);
    gap: 12px;
  }

  .sample-label-row-detail small {
    padding-top: 2px;
  }

  .matrix-grid {
    grid-template-columns: 1fr !important;
  }
}

/* Price tag builder */
.price-tag-cards {
  display: block !important;
  width: 100%;
  max-width: 100%;
}

.unit-price-tags-cards {
  display: block !important;
  width: 100%;
  max-width: 100%;
}

.page.price-tag-mode .search-box,
.page.price-tag-mode .hero-kicker,
.page.price-tag-mode .hero-lead,
.page.price-tag-mode .news-button {
  display: none;
}

.page.unit-price-tags-mode .search-box,
.page.unit-price-tags-mode .hero-kicker,
.page.unit-price-tags-mode .hero-lead,
.page.unit-price-tags-mode .news-button {
  display: none;
}

.page.price-tag-mode .catalog-panel {
  margin-top: clamp(24px, 3vw, 42px);
}

.page.unit-price-tags-mode .catalog-panel {
  margin-top: clamp(24px, 3vw, 42px);
}

.price-tag-workspace,
.price-tag-workspace * {
  box-sizing: border-box;
}

.price-tag-workspace {
  width: min(100%, 1580px);
  margin: 0 auto;
  color: var(--text);
}

.price-tag-workspace-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 30px;
  margin-bottom: 26px;
}

.price-tag-workspace-head > div:first-child {
  max-width: 800px;
}

.price-tag-kicker {
  color: #7a5036;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.price-tag-workspace-head h2 {
  max-width: 720px;
  margin: 8px 0 10px;
  color: var(--ink);
  font-size: clamp(36px, 4.4vw, 70px);
  font-weight: 800;
  letter-spacing: -0.035em;
  line-height: 0.96;
}

.price-tag-workspace-head p {
  max-width: 68ch;
  margin: 0;
  color: #6f6257;
  font-size: clamp(15px, 1.2vw, 18px);
  line-height: 1.45;
}

.price-tag-head-actions {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 14px;
}

.price-tag-draft-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

.price-tag-draft-actions .price-tag-button {
  background: rgba(255, 250, 244, 0.72);
}

.price-tag-draft-input {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  opacity: 0;
  pointer-events: none;
}

.price-tag-live-status {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #65564a;
  font-size: 13px;
  font-weight: 700;
}

.price-tag-live-status i {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #4f8061;
  box-shadow: 0 4px 12px rgba(79, 128, 97, 0.28);
}

.price-tag-button {
  min-height: 44px;
  border: 1px solid rgba(74, 47, 31, 0.24);
  border-radius: 999px;
  padding: 11px 19px;
  font: inherit;
  font-size: 14px;
  font-weight: 800;
  cursor: pointer;
  transition: transform 180ms ease-out, box-shadow 180ms ease-out, background 180ms ease-out;
}

.price-tag-button:hover:not(:disabled) {
  transform: translateY(-2px);
}

.price-tag-button:focus-visible,
.price-tag-editor button:focus-visible,
.price-tag-editor input:focus-visible,
.price-tag-editor textarea:focus-visible,
.price-tag-upload:has(input:focus-visible) {
  outline: 3px solid rgba(0, 29, 81, 0.28);
  outline-offset: 3px;
}

.price-tag-button-primary {
  border-color: #4a2f1f;
  background: #4a2f1f;
  color: #fffaf4;
  box-shadow: 0 12px 28px rgba(57, 43, 30, 0.2);
}

.price-tag-button-ghost {
  background: transparent;
  color: #5f4b3e;
}

.price-tag-button:disabled {
  border-color: rgba(135, 99, 75, 0.12);
  background: #e8dfd5;
  color: #8f8175;
  box-shadow: none;
  cursor: progress;
}

.price-tag-notice {
  margin: 0 0 18px;
  border-radius: 12px;
  padding: 12px 15px;
  background: rgba(196, 175, 148, 0.24);
  color: #4a382b;
  font-size: 14px;
  font-weight: 700;
}

.price-tag-builder {
  display: grid;
  grid-template-columns: minmax(470px, 0.9fr) minmax(520px, 1.1fr);
  align-items: start;
  gap: clamp(22px, 2.8vw, 44px);
}

.price-tag-editor {
  display: grid;
  gap: 14px;
  min-width: 0;
}

.price-tag-editor-section {
  border: 1px solid rgba(135, 99, 75, 0.16);
  border-radius: 14px;
  padding: clamp(18px, 2vw, 26px);
  background: rgba(255, 250, 244, 0.86);
  box-shadow: 0 16px 38px rgba(57, 43, 30, 0.07);
}

.price-tag-editor-title {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 18px;
}

.price-tag-editor-title span {
  display: block;
  margin-bottom: 4px;
  color: #8a6b53;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.price-tag-editor-title h3 {
  margin: 0;
  color: #211914;
  font-size: clamp(20px, 1.7vw, 27px);
  line-height: 1.08;
}

.price-tag-editor-title > button {
  flex: 0 0 auto;
  border: 0;
  padding: 5px 0;
  background: transparent;
  color: #4a2f1f;
  font: inherit;
  font-size: 13px;
  font-weight: 800;
  text-decoration: underline;
  text-decoration-color: rgba(74, 47, 31, 0.32);
  text-underline-offset: 4px;
  cursor: pointer;
}

.price-tag-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.price-tag-field,
.price-tag-price-row label,
.price-tag-inline-row label {
  display: grid;
  align-content: start;
  gap: 7px;
  min-width: 0;
}

.price-tag-field.wide,
.price-tag-upload.wide {
  grid-column: 1 / -1;
}

.price-tag-field > span,
.price-tag-price-row label > span,
.price-tag-inline-row label > span {
  color: #64574c;
  font-size: 12px;
  font-weight: 800;
}

.price-tag-field > span small {
  margin-left: 4px;
  color: #9a8c80;
  font-size: 11px;
  font-weight: 600;
}

.price-tag-field input,
.price-tag-field textarea,
.price-tag-price-row input,
.price-tag-price-row textarea,
.price-tag-inline-row input,
.price-tag-inline-row textarea {
  width: 100%;
  min-height: 44px;
  border: 1px solid rgba(135, 99, 75, 0.23);
  border-radius: 10px;
  padding: 11px 12px;
  background: rgba(255, 255, 255, 0.8);
  color: #211914;
  font: inherit;
  font-size: 14px;
  line-height: 1.35;
  resize: vertical;
  transition: border-color 160ms ease-out, background 160ms ease-out;
}

.price-tag-field input::placeholder,
.price-tag-field textarea::placeholder,
.price-tag-price-row input::placeholder,
.price-tag-price-row textarea::placeholder,
.price-tag-inline-row input::placeholder,
.price-tag-inline-row textarea::placeholder {
  color: #8c7e72;
  opacity: 1;
}

.price-tag-field input:focus,
.price-tag-field textarea:focus,
.price-tag-price-row input:focus,
.price-tag-price-row textarea:focus,
.price-tag-inline-row input:focus,
.price-tag-inline-row textarea:focus {
  border-color: rgba(0, 29, 81, 0.54);
  background: #fff;
}

.price-tag-price-error {
  display: none;
  color: #9d3028;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.25;
}

.price-tag-price-row.invalid input[data-price-tag-row-field="price"] {
  border-color: #b84438;
  background: #fff7f5;
}

.price-tag-price-row.invalid .price-tag-price-error {
  display: block;
}

.price-tag-upload {
  position: relative;
  display: flex;
  align-items: center;
  gap: 13px;
  min-height: 78px;
  border: 1px dashed rgba(135, 99, 75, 0.46);
  border-radius: 12px;
  padding: 14px;
  background: rgba(244, 237, 226, 0.5);
  color: #4d3b2f;
  cursor: pointer;
}

.price-tag-upload:hover {
  border-color: #87634b;
  background: rgba(244, 237, 226, 0.78);
}

.price-tag-upload > input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
}

.price-tag-upload-icon {
  display: grid;
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  place-items: center;
  border-radius: 50%;
  background: #fffaf4;
  color: #6d4a34;
  font-size: 26px;
  box-shadow: 0 7px 20px rgba(57, 43, 30, 0.1);
}

.price-tag-upload > span:nth-of-type(2) {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.price-tag-upload strong {
  font-size: 14px;
}

.price-tag-upload small {
  color: #7c6e62;
  font-size: 12px;
}

.price-tag-upload > button {
  position: relative;
  z-index: 2;
  margin-left: auto;
  border: 0;
  padding: 8px;
  background: transparent;
  color: #744c35;
  font: inherit;
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
}

.price-tag-custom-rows,
.price-tag-price-editor {
  display: grid;
  gap: 10px;
  margin-top: 14px;
}

.price-tag-inline-row,
.price-tag-price-row {
  display: grid;
  grid-template-columns: minmax(120px, 0.65fr) minmax(180px, 1.35fr) 34px;
  align-items: end;
  gap: 10px;
  border-top: 1px solid rgba(135, 99, 75, 0.14);
  padding-top: 13px;
}

.price-tag-price-row {
  grid-template-columns: minmax(130px, 0.72fr) minmax(190px, 1.2fr) minmax(105px, 0.55fr) 34px;
}

.price-tag-inline-row > button,
.price-tag-price-row > button {
  display: grid;
  width: 34px;
  height: 44px;
  place-items: center;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: #806c5e;
  font-size: 25px;
  cursor: pointer;
}

.price-tag-inline-row > button:hover,
.price-tag-price-row > button:hover {
  background: rgba(135, 99, 75, 0.1);
  color: #4a2f1f;
}

.price-tag-editor-total {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 20px;
  margin-top: 18px;
  border-top: 1px solid rgba(135, 99, 75, 0.2);
  padding-top: 16px;
}

.price-tag-editor-total span {
  color: #776a5f;
  font-size: 13px;
}

.price-tag-editor-total strong {
  color: #211914;
  font-size: 24px;
}

.price-tag-editor-footer {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 4px 0 20px;
}

.price-tag-preview-panel {
  position: sticky;
  top: 14px;
  min-width: 0;
}

.price-tag-preview-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 10px;
  color: #5f5145;
}

.price-tag-preview-head > div {
  display: grid;
  gap: 3px;
}

.price-tag-preview-head span,
.price-tag-preview-head small {
  color: #877766;
  font-size: 12px;
}

.price-tag-preview-head strong {
  font-size: 14px;
}

.price-tag-preview-stage {
  display: grid;
  min-height: 680px;
  border-radius: 14px;
  padding: clamp(16px, 2vw, 30px);
  place-items: start center;
  background: #d8cfc4;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.48);
}

.price-tag-sheet {
  position: relative;
  width: min(100%, 690px);
  aspect-ratio: 210 / 297;
  overflow: hidden;
  background: #fffdf9 url("./assets/price-tags/a4-background.png") center / cover no-repeat;
  box-shadow: 8px 22px 45px rgba(42, 31, 22, 0.2);
  color: #111;
}

.price-tag-sheet-content {
  position: absolute;
  inset: 4.8% 5.6% 4.3%;
  display: flex;
  min-height: 0;
  flex-direction: column;
}

.price-tag-print-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 2.2%;
}

.price-tag-print-head h2 {
  max-width: 82%;
  margin: 0;
  color: #111;
  font-size: clamp(18px, 2.8vw, 41px);
  font-weight: 700;
  letter-spacing: -0.025em;
  line-height: 1;
  overflow-wrap: anywhere;
  white-space: pre-line;
}

.price-tag-print-head span {
  flex: 0 0 auto;
  color: #756b62;
  font-size: clamp(7px, 0.75vw, 11px);
  font-weight: 700;
}

.price-tag-print-photo {
  width: 100%;
  height: 38%;
  min-height: 0;
  overflow: hidden;
  background: #efe9df;
}

.price-tag-print-photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.price-tag-print-photo-empty {
  display: grid;
  height: 25%;
  place-content: center;
  border: 1px dashed rgba(98, 82, 68, 0.34);
  color: #74695f;
  text-align: center;
}

.price-tag-print-photo-empty span {
  font-size: clamp(10px, 1vw, 15px);
  font-weight: 700;
}

.price-tag-print-photo-empty small {
  margin-top: 3px;
  font-size: clamp(7px, 0.65vw, 10px);
}

.price-tag-print-specs {
  display: grid;
  gap: clamp(10px, 1.35vw, 20px);
  margin: 3.2% 0 0;
}

.price-tag-print-specs > div {
  display: grid;
  grid-template-columns: 20% minmax(0, 1fr);
  gap: 3%;
}

.price-tag-print-specs dt,
.price-tag-print-specs dd {
  margin: 0;
}

.price-tag-print-specs dt {
  color: #635b54;
  font-size: clamp(7px, 0.75vw, 11px);
  line-height: 1.3;
  white-space: pre-line;
}

.price-tag-print-specs dd {
  color: #111;
  font-size: clamp(8px, 0.85vw, 13px);
  font-weight: 700;
  line-height: 1.34;
  overflow-wrap: anywhere;
  white-space: pre-line;
}

.price-tag-print-empty-copy {
  max-width: 48ch;
  margin: 4% 0 0;
  color: #756b62;
  font-size: clamp(8px, 0.8vw, 12px);
  line-height: 1.4;
}

.price-tag-print-prices {
  display: grid;
  gap: clamp(11px, 1.25vw, 18px);
  margin-top: auto;
  padding-top: 3%;
}

.price-tag-print-price {
  display: grid;
  grid-template-columns: 31% minmax(0, 1fr);
  align-items: start;
  gap: 4%;
}

.price-tag-print-price > strong {
  display: inline-flex;
  align-items: baseline;
  justify-content: flex-end;
  gap: 0.16em;
  color: #111;
  font-size: clamp(14px, 1.8vw, 27px);
  font-weight: 500;
  line-height: 1;
  text-align: right;
}

.price-tag-print-price > span {
  display: grid;
  gap: 2px;
}

.price-tag-print-price b {
  color: #111;
  font-size: clamp(8px, 0.88vw, 13px);
  line-height: 1.25;
  white-space: pre-line;
}

.price-tag-print-price small {
  color: #3f3934;
  font-size: clamp(7px, 0.75vw, 11px);
  line-height: 1.3;
  white-space: pre-line;
}

.price-tag-print-price .price-tag-print-currency {
  color: inherit;
  font-size: 0.78em;
  font-weight: 600;
  line-height: 1;
  white-space: nowrap;
}

.price-tag-print-total .price-tag-print-currency {
  color: inherit;
  font-size: 0.72em;
  font-weight: 600;
  line-height: 1;
  white-space: nowrap;
}

.price-tag-print-footer {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 24%;
  align-items: end;
  gap: 6%;
  margin-top: 3.3%;
}

.price-tag-print-total {
  display: grid;
  grid-template-columns: 55% 1fr;
  align-items: baseline;
  gap: 10%;
}

.price-tag-print-total > strong {
  display: inline-flex;
  align-items: baseline;
  gap: 0.16em;
}

.price-tag-print-total strong {
  color: #111;
  font-size: clamp(24px, 3.4vw, 48px);
  font-weight: 500;
  line-height: 1;
  text-align: right;
}

.price-tag-print-total > span {
  color: #111;
  font-size: clamp(10px, 1.2vw, 18px);
}

.price-tag-print-footer img {
  display: block;
  width: 100%;
  height: auto;
}

.price-tag-sheet.is-compact .price-tag-print-photo {
  height: 31%;
}

.price-tag-sheet.is-compact .price-tag-print-specs {
  gap: 10px;
}

.price-tag-sheet.is-compact .price-tag-print-prices {
  gap: 10px;
}

.price-tag-sheet.is-dense .price-tag-print-photo {
  height: 24%;
}

.price-tag-sheet.is-dense .price-tag-print-head h2 {
  font-size: clamp(16px, 2.2vw, 32px);
}

.price-tag-sheet.is-dense .price-tag-print-specs {
  gap: 8px;
}

.price-tag-sheet.is-dense .price-tag-print-specs dt,
.price-tag-sheet.is-dense .price-tag-print-specs dd,
.price-tag-sheet.is-dense .price-tag-print-price b,
.price-tag-sheet.is-dense .price-tag-print-price small {
  font-size: clamp(6px, 0.66vw, 10px);
}

.price-tag-sheet.is-dense .price-tag-print-prices {
  gap: 8px;
  padding-top: 2%;
}

.price-tag-sheet.is-ultra-dense .price-tag-print-photo {
  height: 16%;
}

.price-tag-sheet.is-ultra-dense .price-tag-print-head h2 {
  font-size: clamp(14px, 1.9vw, 27px);
}

.price-tag-sheet.is-ultra-dense .price-tag-print-specs,
.price-tag-sheet.is-ultra-dense .price-tag-print-prices {
  gap: 5px;
}

.price-tag-sheet.is-ultra-dense .price-tag-print-specs dt,
.price-tag-sheet.is-ultra-dense .price-tag-print-specs dd,
.price-tag-sheet.is-ultra-dense .price-tag-print-price b,
.price-tag-sheet.is-ultra-dense .price-tag-print-price small {
  font-size: clamp(5px, 0.57vw, 8.5px);
  line-height: 1.18;
}

.price-tag-sheet.is-ultra-dense .price-tag-print-price > strong {
  font-size: clamp(11px, 1.4vw, 21px);
}

.price-tag-sheet.no-photo .price-tag-print-specs {
  margin-top: 4%;
}

.price-tag-sheet-hint {
  position: absolute;
  right: 5%;
  bottom: 2%;
  color: #8f8378;
  font-size: clamp(7px, 0.7vw, 10px);
}

.label-tools-mode .search-box {
  display: none;
}

.label-tools-mode .catalog-panel {
  min-height: calc(100vh - 220px);
  margin-top: clamp(28px, 4vh, 52px);
  padding: 0 clamp(34px, 4.8vw, 82px) clamp(60px, 7vh, 96px);
}

.label-tools-mode .cards.label-tools-cards {
  display: block;
  width: min(1480px, 100%);
  margin: 0 auto;
  padding: 0;
}

.label-tools-hub {
  width: 100%;
}

.label-tools-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 28px;
  margin-bottom: clamp(24px, 3vw, 42px);
}

.label-tools-head > div > span {
  color: #87634b;
  font-size: 11px;
  font-weight: 850;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.label-tools-head h2 {
  margin: 8px 0 10px;
  color: #211914;
  font-size: clamp(34px, 4vw, 64px);
  font-weight: 900;
  letter-spacing: -0.035em;
  line-height: 0.98;
}

.label-tools-head p {
  max-width: 720px;
  margin: 0;
  color: #77695d;
  font-size: clamp(14px, 1.15vw, 18px);
  line-height: 1.5;
}

.label-tools-head > strong {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 8px;
  margin-bottom: 6px;
  color: #5e5045;
  font-size: 12px;
}

.label-tools-head > strong i {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #4d8b68;
  box-shadow: 0 0 0 5px rgba(77, 139, 104, 0.12);
}

.label-tools-list {
  border-top: 1px solid rgba(74, 47, 31, 0.2);
}

.label-tool-row {
  display: grid;
  width: 100%;
  grid-template-columns: 54px 106px minmax(0, 1fr) auto 44px;
  align-items: center;
  gap: clamp(16px, 2vw, 34px);
  border: 0;
  border-bottom: 1px solid rgba(74, 47, 31, 0.2);
  padding: clamp(22px, 2.5vw, 38px) 8px;
  background: transparent;
  color: #211914;
  font: inherit;
  text-align: left;
  cursor: pointer;
  transition: background 180ms ease-out, padding 180ms ease-out;
}

.label-tool-row:hover {
  padding-right: 18px;
  padding-left: 18px;
  background: rgba(255, 250, 244, 0.58);
}

.label-tool-index {
  color: #9b8979;
  font-size: 12px;
  font-weight: 800;
}

.label-tool-marker {
  color: #87634b;
  font-size: clamp(24px, 2.2vw, 36px);
  font-weight: 900;
  letter-spacing: -0.04em;
}

.label-tool-copy {
  display: grid;
  gap: 6px;
}

.label-tool-copy strong {
  font-size: clamp(22px, 2vw, 34px);
  font-weight: 900;
  letter-spacing: -0.025em;
  line-height: 1;
}

.label-tool-copy small {
  max-width: 760px;
  color: #77695d;
  font-size: clamp(13px, 1vw, 16px);
  line-height: 1.42;
}

.label-tool-meta {
  border: 1px solid rgba(74, 47, 31, 0.18);
  border-radius: 999px;
  padding: 8px 12px;
  color: #6d5c4f;
  font-size: 11px;
  font-weight: 800;
  white-space: nowrap;
}

.label-tool-arrow {
  color: #4a2f1f;
  font-size: 30px;
  transition: transform 180ms ease-out;
}

.label-tool-row:hover .label-tool-arrow {
  transform: translateX(5px);
}

.unit-price-tags-workspace,
.unit-price-tags-workspace * {
  box-sizing: border-box;
}

.unit-price-tags-workspace {
  width: min(1720px, 100%);
  margin: 0 auto;
  padding: clamp(10px, 2vw, 28px) 0 clamp(50px, 7vw, 100px);
}

.unit-price-tags-sheet-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 18px;
  border: 1px solid rgba(135, 99, 75, 0.18);
  border-radius: 14px;
  padding: 10px 12px;
  background: rgba(255, 250, 244, 0.8);
  box-shadow: 0 12px 30px rgba(57, 43, 30, 0.07);
}

.unit-price-tags-sheet-tabs {
  display: flex;
  min-width: 0;
  gap: 8px;
  overflow-x: auto;
  padding: 2px;
  scrollbar-width: thin;
}

.unit-price-tags-sheet-tab {
  display: grid;
  flex: 0 0 auto;
  min-width: 96px;
  border: 1px solid transparent;
  border-radius: 10px;
  padding: 8px 12px;
  background: transparent;
  color: #66564a;
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.unit-price-tags-sheet-tab:hover {
  background: rgba(135, 99, 75, 0.09);
}

.unit-price-tags-sheet-tab span {
  font-size: 13px;
  font-weight: 800;
}

.unit-price-tags-sheet-tab small {
  margin-top: 2px;
  color: #8b7b6f;
  font-size: 10px;
  font-weight: 700;
}

.unit-price-tags-sheet-tab.active {
  border-color: #4a2f1f;
  background: #4a2f1f;
  color: #fffaf4;
}

.unit-price-tags-sheet-tab.active small {
  color: #e9dace;
}

.unit-price-tags-sheet-actions {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 8px;
}

.unit-price-tags-sheet-actions button {
  min-height: 38px;
  border: 1px solid rgba(135, 99, 75, 0.22);
  border-radius: 10px;
  padding: 8px 12px;
  background: #fffaf4;
  color: #4a2f1f;
  font: inherit;
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
}

.unit-price-tags-sheet-actions button.is-primary {
  border-color: #4a2f1f;
  background: #4a2f1f;
  color: #fffaf4;
}

.unit-price-tags-sheet-actions button:hover:not(:disabled) {
  transform: translateY(-1px);
}

.unit-price-tags-sheet-actions button:disabled {
  cursor: not-allowed;
  opacity: 0.45;
}

.unit-price-tags-builder {
  display: grid;
  grid-template-columns: minmax(470px, 0.82fr) minmax(620px, 1.18fr);
  align-items: start;
  gap: clamp(22px, 2.8vw, 44px);
}

.unit-price-tags-editor {
  display: grid;
  gap: 14px;
  min-width: 0;
}

.unit-price-tags-tabs {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.unit-price-tags-tab {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  min-width: 0;
  min-height: 48px;
  border: 1px solid rgba(135, 99, 75, 0.2);
  border-radius: 12px;
  padding: 8px 10px;
  background: rgba(255, 250, 244, 0.76);
  color: #675649;
  font: inherit;
  text-align: left;
  cursor: pointer;
  transition: border-color 160ms ease-out, background 160ms ease-out, transform 160ms ease-out;
}

.unit-price-tags-tab:hover {
  transform: translateY(-1px);
  border-color: rgba(74, 47, 31, 0.42);
}

.unit-price-tags-tab > span {
  display: grid;
  width: 28px;
  height: 28px;
  place-items: center;
  border-radius: 50%;
  background: #eee3d6;
  font-size: 12px;
  font-weight: 800;
}

.unit-price-tags-tab small {
  overflow: hidden;
  font-size: 11px;
  font-weight: 750;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.unit-price-tags-tab.filled > span {
  background: #d8c1aa;
  color: #3f2b20;
}

.unit-price-tags-tab.active {
  border-color: #4a2f1f;
  background: #4a2f1f;
  color: #fffaf4;
  box-shadow: 0 10px 24px rgba(57, 43, 30, 0.16);
}

.unit-price-tags-tab.active > span {
  background: #fffaf4;
  color: #4a2f1f;
}

.unit-price-tags-editor-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 4px 3px;
  color: #77685c;
  font-size: 12px;
  font-weight: 700;
}

.unit-price-tags-editor-toolbar > div {
  display: flex;
  gap: 14px;
}

.unit-price-tags-editor-toolbar button {
  border: 0;
  padding: 5px 0;
  background: transparent;
  color: #4a2f1f;
  font: inherit;
  font-size: 12px;
  font-weight: 800;
  text-decoration: underline;
  text-decoration-color: rgba(74, 47, 31, 0.28);
  text-underline-offset: 4px;
  cursor: pointer;
}

.unit-price-tags-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.unit-price-tags-field {
  display: grid;
  align-content: start;
  gap: 7px;
  min-width: 0;
}

.unit-price-tags-field.wide {
  grid-column: 1 / -1;
}

.unit-price-tags-field > span,
.unit-price-tags-price-row label > span {
  color: #64574c;
  font-size: 12px;
  font-weight: 800;
}

.unit-price-tags-field > span small,
.unit-price-tags-price-row label > span small {
  margin-left: 4px;
  color: #9a8c80;
  font-size: 11px;
  font-weight: 600;
}

.unit-price-tags-field textarea,
.unit-price-tags-price-row input,
.unit-price-tags-price-row textarea,
.unit-price-tags-price-row select {
  width: 100%;
  min-height: 44px;
  border: 1px solid rgba(135, 99, 75, 0.23);
  border-radius: 10px;
  padding: 11px 12px;
  background: rgba(255, 255, 255, 0.82);
  color: #211914;
  font: inherit;
  font-size: 14px;
  line-height: 1.35;
  resize: vertical;
}

.unit-price-tags-field textarea::placeholder,
.unit-price-tags-price-row input::placeholder,
.unit-price-tags-price-row textarea::placeholder {
  color: #8c7e72;
  opacity: 1;
}

.unit-price-tags-field textarea:focus,
.unit-price-tags-price-row input:focus,
.unit-price-tags-price-row textarea:focus,
.unit-price-tags-price-row select:focus {
  border-color: rgba(0, 29, 81, 0.54);
  background: #fff;
  outline: 3px solid rgba(0, 29, 81, 0.16);
  outline-offset: 1px;
}

.unit-price-tags-price-editor {
  display: grid;
  gap: 10px;
}

.unit-price-tags-price-row {
  display: grid;
  grid-template-columns: minmax(130px, 0.95fr) minmax(110px, 0.62fr) minmax(145px, 0.8fr) 34px;
  align-items: end;
  gap: 10px;
  border-top: 1px solid rgba(135, 99, 75, 0.14);
  padding-top: 13px;
}

.unit-price-tags-price-row:first-child {
  border-top: 0;
  padding-top: 0;
}

.unit-price-tags-price-row label {
  display: grid;
  align-content: start;
  gap: 7px;
  min-width: 0;
}

.unit-price-tags-price-row > button {
  display: grid;
  width: 34px;
  height: 44px;
  place-items: center;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: #806c5e;
  font-size: 25px;
  cursor: pointer;
}

.unit-price-tags-price-row > button:hover {
  background: rgba(135, 99, 75, 0.1);
  color: #4a2f1f;
}

.unit-price-tags-price-row.invalid input[data-unit-price-tags-row-field="price"] {
  border-color: #b84438;
  background: #fff7f5;
}

.unit-price-tags-price-row.invalid .price-tag-price-error {
  display: block;
}

.unit-price-tags-preview-panel {
  position: sticky;
  top: 14px;
  min-width: 0;
}

.unit-price-tags-preview-stage {
  display: grid;
  min-height: 500px;
  border-radius: 14px;
  padding: clamp(14px, 2vw, 26px);
  place-items: start center;
  background: #d8cfc4;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.48);
}

.unit-price-tags-sheet {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: repeat(2, minmax(0, 1fr));
  width: min(100%, 920px);
  aspect-ratio: 297 / 210;
  overflow: hidden;
  background: #fffdf9;
  box-shadow: 8px 22px 45px rgba(42, 31, 22, 0.2);
}

.unit-price-tag-card {
  position: relative;
  display: flex;
  min-width: 0;
  min-height: 0;
  flex-direction: column;
  align-items: center;
  overflow: hidden;
  border-right: 1px dashed rgba(69, 57, 47, 0.48);
  border-bottom: 1px dashed rgba(69, 57, 47, 0.48);
  padding: 4.5% 6% 5.5%;
  background: #fffdf9 url("./assets/label-background-paris.png") center / cover no-repeat;
  color: #17130f;
  text-align: center;
}

.unit-price-tag-card:nth-child(2n) {
  border-right: 0;
}

.unit-price-tag-card:nth-child(n + 3) {
  border-bottom: 0;
}

.unit-price-tag-logo {
  display: block;
  width: 38%;
  height: auto;
  margin-bottom: 5%;
}

.unit-price-tag-copy {
  display: grid;
  justify-items: center;
  gap: clamp(3px, 0.5vw, 8px);
  width: 100%;
}

.unit-price-tag-copy h3,
.unit-price-tag-copy h4,
.unit-price-tag-copy p {
  max-width: 100%;
  margin: 0;
  overflow-wrap: anywhere;
  white-space: pre-line;
}

.unit-price-tag-copy h3 {
  font-size: clamp(14px, 2vw, 30px);
  font-weight: 750;
  letter-spacing: -0.025em;
  line-height: 1.02;
}

.unit-price-tag-copy h4 {
  font-size: clamp(10px, 1.35vw, 20px);
  font-weight: 700;
  line-height: 1.08;
}

.unit-price-tag-copy p {
  font-size: clamp(7px, 0.82vw, 12px);
  font-weight: 600;
  line-height: 1.25;
}

.unit-price-tag-prices {
  display: grid;
  gap: clamp(3px, 0.45vw, 7px);
  width: 100%;
  margin-top: auto;
}

.unit-price-tag-price {
  font-size: clamp(10px, 1.25vw, 19px);
  font-weight: 650;
  line-height: 1.05;
  overflow-wrap: anywhere;
  white-space: pre-line;
}

.unit-price-tag-price.is-old {
  font-size: clamp(9px, 1.1vw, 16px);
  font-weight: 500;
  text-decoration: line-through;
  text-decoration-thickness: 1.5px;
}

.unit-price-tag-price.is-accent {
  font-size: clamp(13px, 1.65vw, 25px);
  font-weight: 800;
}

.unit-price-tag-card.is-compact .unit-price-tag-logo {
  width: 34%;
  margin-bottom: 3.5%;
}

.unit-price-tag-card.is-compact .unit-price-tag-copy h3 {
  font-size: clamp(12px, 1.7vw, 25px);
}

.unit-price-tag-card.is-dense {
  padding-top: 3.5%;
}

.unit-price-tag-card.is-dense .unit-price-tag-logo {
  width: 30%;
  margin-bottom: 2.5%;
}

.unit-price-tag-card.is-dense .unit-price-tag-copy {
  gap: 3px;
}

.unit-price-tag-card.is-dense .unit-price-tag-copy h3 {
  font-size: clamp(10px, 1.45vw, 21px);
}

.unit-price-tag-card.is-dense .unit-price-tag-copy h4,
.unit-price-tag-card.is-dense .unit-price-tag-price {
  font-size: clamp(8px, 1vw, 15px);
}

.unit-price-tag-card.is-dense .unit-price-tag-price.is-accent {
  font-size: clamp(10px, 1.3vw, 19px);
}

.unit-price-tag-placeholder {
  display: grid;
  flex: 1;
  place-content: center;
  color: #8b7b6f;
}

.unit-price-tag-placeholder strong {
  font-size: clamp(11px, 1.2vw, 18px);
}

.unit-price-tag-placeholder span {
  margin-top: 4px;
  font-size: clamp(7px, 0.75vw, 11px);
}

@media (max-width: 1180px) {
  .price-tag-workspace-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .price-tag-head-actions {
    width: 100%;
    justify-content: flex-start;
  }

  .price-tag-builder {
    grid-template-columns: 1fr;
  }

  .unit-price-tags-builder {
    grid-template-columns: 1fr;
  }

  .price-tag-preview-panel {
    position: static;
    order: -1;
  }

  .unit-price-tags-preview-panel {
    position: static;
    order: -1;
  }

  .price-tag-preview-stage {
    min-height: 0;
  }

  .unit-price-tags-preview-stage {
    min-height: 0;
  }

  .price-tag-sheet {
    width: min(100%, 620px);
  }
}

@media (max-width: 760px) {
  .label-tools-mode .catalog-panel {
    margin-top: 22px;
    padding: 0 18px 48px;
  }

  .label-tools-head {
    align-items: flex-start;
    flex-direction: column;
    gap: 16px;
  }

  .label-tools-head h2 {
    font-size: clamp(34px, 10vw, 48px);
  }

  .label-tool-row {
    grid-template-columns: 36px minmax(0, 1fr) 32px;
    gap: 12px;
    padding: 22px 4px;
  }

  .label-tool-row:hover {
    padding-right: 4px;
    padding-left: 4px;
  }

  .label-tool-index {
    grid-column: 1;
    grid-row: 1;
  }

  .label-tool-marker {
    grid-column: 1;
    grid-row: 2;
    align-self: start;
    font-size: 16px;
  }

  .label-tool-copy {
    grid-column: 2;
    grid-row: 1 / span 2;
  }

  .label-tool-meta {
    grid-column: 2;
    grid-row: 3;
    justify-self: start;
  }

  .label-tool-arrow {
    grid-column: 3;
    grid-row: 1 / span 3;
  }

  .unit-price-tags-sheet-nav {
    align-items: stretch;
    flex-direction: column;
  }

  .unit-price-tags-sheet-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .unit-price-tags-sheet-actions button:only-child {
    grid-column: 1 / -1;
  }

  .price-tag-workspace-head,
  .price-tag-head-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .price-tag-head-actions {
    width: 100%;
  }

  .price-tag-draft-actions {
    display: grid;
    width: 100%;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .price-tag-draft-actions .price-tag-button {
    width: 100%;
  }

  .price-tag-head-actions .price-tag-button {
    width: 100%;
  }

  .price-tag-live-status {
    display: none;
  }

  .price-tag-fields {
    grid-template-columns: 1fr;
  }

  .unit-price-tags-fields {
    grid-template-columns: 1fr;
  }

  .price-tag-field.wide,
  .price-tag-upload.wide {
    grid-column: auto;
  }

  .unit-price-tags-field.wide {
    grid-column: auto;
  }

  .price-tag-inline-row,
  .price-tag-price-row {
    grid-template-columns: 1fr 34px;
  }

  .unit-price-tags-price-row {
    grid-template-columns: 1fr 34px;
  }

  .price-tag-inline-row label,
  .price-tag-price-row label {
    grid-column: 1;
  }

  .unit-price-tags-price-row label {
    grid-column: 1;
  }

  .price-tag-inline-row > button,
  .price-tag-price-row > button {
    grid-column: 2;
    grid-row: 1;
  }

  .unit-price-tags-price-row > button {
    grid-column: 2;
    grid-row: 1;
  }

  .price-tag-preview-stage {
    padding: 10px;
  }

  .unit-price-tags-preview-stage {
    padding: 8px;
  }

  .unit-price-tags-tabs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .unit-price-tags-editor-toolbar {
    align-items: flex-start;
    flex-direction: column;
  }

  .price-tag-editor-footer {
    flex-direction: column-reverse;
  }

  .price-tag-editor-footer .price-tag-button {
    width: 100%;
  }
}

.color-card.matrix-card {
  position: relative;
  display: grid !important;
  grid-template-rows: 206px minmax(104px, auto) minmax(70px, auto);
  min-width: 0;
  height: 100%;
  min-height: 404px;
  overflow: hidden;
  border: 1px solid rgba(135, 99, 75, 0.14);
  border-radius: 14px;
  padding: 0 0 16px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(252, 248, 242, 0.9));
  box-shadow:
    0 24px 58px rgba(57, 43, 30, 0.09),
    0 1px 0 rgba(255, 255, 255, 0.88) inset;
  text-align: left;
  transition:
    border-color 180ms ease,
    box-shadow 180ms ease,
    transform 180ms ease;
}

.color-card.matrix-card:hover {
  border-color: rgba(126, 87, 52, 0.34);
  box-shadow:
    0 34px 82px rgba(57, 43, 30, 0.14),
    0 1px 0 rgba(255, 255, 255, 0.9) inset;
  transform: translateY(-3px);
}

.color-card.matrix-card .color-image-wrap {
  display: block !important;
  align-self: start;
  overflow: hidden;
  width: 100%;
  height: 206px !important;
  margin: 0 !important;
  aspect-ratio: auto;
  border-radius: 14px 14px 10px 10px;
  background:
    linear-gradient(135deg, rgba(238, 230, 219, 0.9), rgba(255, 250, 244, 0.9));
}

.color-card.matrix-card .color-image-wrap img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform 220ms ease;
}

.color-card.matrix-card:hover .color-image-wrap img {
  transform: scale(1.035);
}

.color-card.matrix-card h3 {
  margin: 16px 18px 0;
  min-width: 0;
  color: #211a14;
  font-size: 17px;
  font-weight: 650;
  line-height: 1.18;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.color-card.matrix-card .material-title-main,
.color-card.matrix-card .material-title-sub {
  display: block;
  min-width: 0;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.color-card.matrix-card .material-title-sub {
  margin-top: 6px;
  color: rgba(44, 36, 28, 0.52);
  font-size: 13px;
  font-weight: 500;
  line-height: 1.22;
}

.matrix-card-meta {
  align-self: end;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  gap: 8px;
  min-width: 0;
  margin: 14px 18px 0;
}

.matrix-card-badge-row {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  min-width: 0;
}

.matrix-card-meta span {
  max-width: 100%;
  min-height: 28px;
  font-size: 12px;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.matrix-card-materials span {
  border-color: rgba(117, 78, 50, 0.28);
  background: rgba(117, 78, 50, 0.12);
  color: #6b452e;
}

.matrix-card-applications span {
  background: rgba(255, 252, 247, 0.82);
}

.matrix-image-placeholder {
  width: 100%;
  height: 100%;
  min-height: 160px;
  border-radius: inherit;
  background:
    linear-gradient(135deg, rgba(229, 218, 205, 0.72), rgba(255, 250, 244, 0.9)),
    repeating-linear-gradient(45deg, rgba(126, 87, 52, 0.08) 0 1px, transparent 1px 12px);
}

.matrix-chip-list {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 14px;
}

.matrix-link-chip {
  appearance: none;
  cursor: pointer;
  text-align: left;
  transition:
    border-color 180ms ease,
    background 180ms ease,
    box-shadow 180ms ease,
    color 180ms ease,
    transform 180ms ease;
}

.matrix-link-chip:hover {
  border-color: rgba(126, 87, 52, 0.36);
  background: rgba(255, 247, 238, 0.96);
  box-shadow: 0 12px 28px rgba(57, 43, 30, 0.12);
  transform: translateY(-1px);
}

.matrix-link-chip:hover .series-link-main {
  color: #4a2f1f;
}

.matrix-link-chip .series-link-main {
  color: rgba(58, 47, 37, 0.76);
}

.matrix-link-chip .series-link-sub {
  color: rgba(58, 47, 37, 0.48);
  font-size: 12px;
}

.matrix-collection-context {
  display: block;
  margin-top: 5px;
  color: rgba(126, 87, 52, 0.72);
  font-size: 11px;
  font-weight: 700;
  line-height: 1.2;
}

.matrix-collections-block .matrix-chip-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-auto-rows: 1fr;
  align-items: stretch;
}

.matrix-collections-block .matrix-chip-list > span,
.matrix-collections-block .matrix-chip-list > button {
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 82px;
  justify-content: center;
  border-radius: 14px;
  padding: 12px 14px;
  text-align: center;
}

.matrix-collections-block .matrix-chip-list > button {
  text-align: center;
}

@media (max-width: 620px) {
  .matrix-collections-block .matrix-chip-list {
    grid-template-columns: 1fr;
  }
}

.matrix-muted {
  margin: 12px 0 0;
  color: rgba(58, 47, 37, 0.46);
  font-size: 15px;
}

.matrix-related-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(132px, 1fr));
  gap: 12px;
  max-height: 430px;
  margin-top: 15px;
  padding-right: 4px;
  overflow: auto;
}

.matrix-related-card {
  width: 100%;
  min-width: 0;
  padding: 8px;
  border: 1px solid rgba(120, 92, 68, 0.16);
  border-radius: 14px;
  background: rgba(255, 252, 247, 0.82);
  color: inherit;
  cursor: pointer;
  text-align: left;
  box-shadow: 0 10px 26px rgba(58, 47, 37, 0.07);
  transition:
    border-color 180ms ease,
    background 180ms ease,
    box-shadow 180ms ease,
    transform 180ms ease;
}

.matrix-related-card:hover {
  border-color: rgba(126, 87, 52, 0.32);
  background: rgba(255, 247, 238, 0.96);
  box-shadow: 0 14px 32px rgba(58, 47, 37, 0.12);
  transform: translateY(-1px);
}

.matrix-related-image {
  display: block;
  width: 100%;
  aspect-ratio: 1.2 / 1;
  overflow: hidden;
  border-radius: 10px;
  background: rgba(247, 241, 234, 0.82);
}

.matrix-related-image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.matrix-related-title {
  display: block;
  margin-top: 9px;
  color: rgba(36, 29, 23, 0.92);
  font-size: 13px;
  font-weight: 800;
  line-height: 1.18;
}

.matrix-related-title .material-title-main,
.matrix-related-title .material-title-sub {
  display: block;
}

.matrix-related-title .material-title-sub {
  margin-top: 4px;
  color: rgba(58, 47, 37, 0.48);
  font-size: 11px;
  font-weight: 600;
  line-height: 1.2;
}

.matrix-related-card small {
  display: block;
  margin-top: 8px;
  color: rgba(126, 87, 52, 0.72);
  font-size: 11px;
  font-weight: 700;
  line-height: 1.2;
}

.countertops-mode .colors-content {
  padding: 0;
  overflow: visible;
}

.countertops-premium-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(150px, 230px);
  gap: clamp(18px, 2vw, 34px);
  align-items: end;
  margin-bottom: clamp(22px, 2.6vw, 36px);
}

.countertops-premium-kicker {
  display: inline-flex;
  margin-bottom: 12px;
  color: rgba(126, 87, 52, 0.92);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.08em;
  line-height: 1;
  text-transform: uppercase;
}

.countertops-premium-head h2 {
  margin: 0;
  color: #211a14;
  font-size: clamp(34px, 4vw, 70px);
  font-weight: 650;
  line-height: 0.98;
}

.countertops-premium-head p {
  max-width: 820px;
  margin: 18px 0 0;
  color: rgba(44, 36, 28, 0.66);
  font-size: clamp(15px, 1vw, 18px);
  line-height: 1.58;
}

.countertops-premium-count {
  display: grid;
  gap: 4px;
  justify-items: end;
  padding: 22px;
  border: 1px solid rgba(135, 99, 75, 0.16);
  border-radius: 12px;
  background: rgba(255, 250, 244, 0.76);
  box-shadow:
    0 20px 46px rgba(57, 43, 30, 0.08),
    0 1px 0 rgba(255, 255, 255, 0.86) inset;
}

.countertops-premium-count strong {
  color: #2c241c;
  font-size: 42px;
  font-weight: 650;
  line-height: 1;
}

.countertops-premium-count span {
  color: rgba(44, 36, 28, 0.58);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.2;
  text-align: right;
}

.countertops-mode .colors-heading {
  margin-bottom: 22px;
  border: 1px solid rgba(135, 99, 75, 0.14);
  border-radius: 14px;
  padding: 22px 24px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.9), rgba(252, 248, 242, 0.82));
  box-shadow:
    0 18px 42px rgba(57, 43, 30, 0.07),
    0 1px 0 rgba(255, 255, 255, 0.86) inset;
}

.countertops-mode .colors-heading h2 {
  color: #211a14;
  font-size: clamp(24px, 1.8vw, 34px);
  font-weight: 650;
}

.countertops-mode .colors-heading p {
  color: rgba(44, 36, 28, 0.5);
  font-size: 15px;
}

.countertops-mode .countertops-grid {
  grid-template-columns: repeat(4, minmax(190px, 1fr));
  gap: clamp(20px, 2vw, 30px);
}

.countertops-mode .countertop-card {
  position: relative;
  overflow: visible;
  border: 1px solid rgba(135, 99, 75, 0.14);
  border-radius: 14px;
  padding: 12px 12px 16px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(252, 248, 242, 0.9));
  box-shadow:
    0 24px 58px rgba(57, 43, 30, 0.09),
    0 1px 0 rgba(255, 255, 255, 0.88) inset;
  transition:
    border-color 180ms ease,
    box-shadow 180ms ease,
    transform 180ms ease;
}

.countertops-mode .countertop-card:hover {
  border-color: rgba(126, 87, 52, 0.34);
  box-shadow:
    0 34px 82px rgba(57, 43, 30, 0.14),
    0 1px 0 rgba(255, 255, 255, 0.9) inset;
  transform: translateY(-3px);
}

.countertops-mode .countertop-card .color-image-wrap {
  overflow: hidden;
  aspect-ratio: 1.14 / 1;
  border-radius: 10px;
  background: #ebe4dc;
}

.countertops-mode .countertop-card .color-image-wrap img {
  transition: transform 220ms ease;
}

.countertops-mode .countertop-card:hover .color-image-wrap img {
  transform: scale(1.035);
}

.countertops-mode .countertop-card h3 {
  margin: 14px 4px 0;
  color: #211a14;
  font-size: 16px;
  font-weight: 650;
  line-height: 1.18;
}

.series-banner {
  display: block;
  width: 100%;
  height: 180px;
  border-radius: 14px;
  object-fit: cover;
  object-position: center;
}

.product-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(140px, 1fr));
  gap: 30px 45px;
  margin-top: 32px;
}

.series-mode .product-grid {
  grid-template-columns: repeat(4, minmax(220px, 1fr));
  gap: clamp(22px, 2vw, 34px);
  margin-top: 0;
}

.product-card {
  display: block;
  width: 100%;
  border: 0;
  padding: 0;
  background: transparent;
  color: inherit;
  cursor: pointer;
  min-width: 0;
  text-align: center;
}

.series-mode .product-card {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(135, 99, 75, 0.14);
  border-radius: 14px;
  padding: 12px 12px 18px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(252, 248, 242, 0.9));
  box-shadow:
    0 24px 58px rgba(57, 43, 30, 0.09),
    0 1px 0 rgba(255, 255, 255, 0.88) inset;
  text-align: left;
  transition:
    border-color 180ms ease,
    box-shadow 180ms ease,
    transform 180ms ease;
}

.series-mode .product-card:hover {
  border-color: rgba(126, 87, 52, 0.34);
  box-shadow:
    0 34px 82px rgba(57, 43, 30, 0.14),
    0 1px 0 rgba(255, 255, 255, 0.9) inset;
  transform: translateY(-3px);
}

.product-image-wrap {
  position: relative;
  overflow: hidden;
  aspect-ratio: 1.45 / 1;
  border-radius: 8px;
  background: #f3f3f3;
}

.series-mode .product-image-wrap {
  aspect-ratio: 1.42 / 1;
  border-radius: 10px;
  background: #ebe4dc;
}

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

.series-mode .product-image-wrap img {
  transition: transform 220ms ease;
}

.series-mode .product-card:hover .product-image-wrap img {
  transform: scale(1.035);
}

.product-card h2 {
  margin: 16px 0 0;
  font-size: 18px;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.25;
}

.series-mode .product-card h2 {
  min-height: 58px;
  margin: 16px 4px 0;
  color: #211a14;
  font-size: 20px;
  font-weight: 650;
  line-height: 1.16;
}

.product-style-chip {
  display: inline-flex;
  max-width: calc(100% - 8px);
  margin: 14px 4px 0;
  border: 1px solid rgba(135, 99, 75, 0.18);
  border-radius: 999px;
  padding: 5px 10px;
  background: rgba(255, 250, 244, 0.78);
  color: rgba(126, 87, 52, 0.88);
  font-size: 12px;
  font-weight: 800;
  line-height: 1;
  white-space: nowrap;
}

.product-title-main,
.product-title-sub {
  display: block;
}

.product-title-sub {
  margin-top: 3px;
  color: #777;
  font-size: 13px;
}

.series-mode .product-title-sub {
  margin-top: 6px;
  color: rgba(44, 36, 28, 0.52);
  font-size: 13px;
  font-weight: 500;
}

.new-ribbon {
  position: absolute;
  right: -34px;
  top: 10px;
  width: 112px;
  height: 24px;
  transform: rotate(45deg);
  background: #d84d46;
  color: #fff;
  font-size: 16px;
  font-style: italic;
  line-height: 24px;
  text-align: center;
}

.series-empty {
  margin: 42px 0 0;
  color: #777;
  font-size: 18px;
  text-align: center;
}

.colors-content {
  padding-top: 28px;
}

.colors-heading {
  display: flex;
  align-items: baseline;
  gap: 12px;
  min-height: 40px;
}

.colors-heading h2 {
  margin: 0;
  font-size: 25px;
  font-weight: 500;
  letter-spacing: 0;
}

.colors-heading p {
  margin: 0;
  color: #777;
  font-size: 15px;
}

.colors-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(132px, 1fr));
  gap: 30px 34px;
  margin-top: 26px;
}

.color-card {
  display: block;
  width: 100%;
  min-width: 0;
  overflow: visible;
  border: 1px solid #eeeeee;
  border-radius: 9px;
  padding: 0;
  background: #fff;
  color: inherit;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.04);
  text-align: left;
  cursor: pointer;
}

.color-image-wrap {
  position: relative;
  overflow: hidden;
  aspect-ratio: 1.18 / 1;
  background: #f3f3f3;
}

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

.color-card h3 {
  margin: 0;
  min-height: 54px;
  padding: 12px 12px 14px;
  font-size: 15px;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.25;
}

.kitchen-catalog-layout {
  display: block;
  width: min(1720px, 100%);
  margin: 0 auto;
}

.kitchen-catalog-layout .colors-sidebar {
  position: sticky;
  top: 0;
  z-index: 5;
  display: flex;
  align-items: stretch;
  gap: 8px;
  min-height: 0;
  margin-bottom: clamp(22px, 2.6vw, 36px);
  padding: 8px;
  overflow-x: auto;
  border: 1px solid rgba(135, 99, 75, 0.16);
  border-radius: 14px;
  background: rgba(255, 250, 244, 0.78);
  box-shadow:
    0 18px 44px rgba(57, 43, 30, 0.08),
    0 1px 0 rgba(255, 255, 255, 0.82) inset;
  backdrop-filter: blur(18px) saturate(1.08);
  -webkit-backdrop-filter: blur(18px) saturate(1.08);
}

.kitchen-catalog-layout .colors-sidebar .series-tab {
  flex: 0 0 auto;
  width: auto;
  min-width: 148px;
  max-width: 260px;
  min-height: 64px;
  border-radius: 10px;
  padding: 10px 16px;
  color: rgba(44, 36, 28, 0.68);
  font-size: 16px;
  font-weight: 700;
  line-height: 1.14;
}

.kitchen-catalog-layout .colors-sidebar .series-tab.active {
  background: linear-gradient(135deg, #2b2119, #7d5a3e);
  color: #fffaf4;
  box-shadow:
    0 16px 34px rgba(55, 38, 24, 0.18),
    0 1px 0 rgba(255, 255, 255, 0.26) inset;
}

.kitchen-catalog-layout .colors-sidebar .series-tab small {
  margin-top: 4px;
  font-size: 12px;
  opacity: 0.68;
}

.colors-category-title small {
  display: block;
  margin-top: 4px;
  color: rgba(44, 36, 28, 0.56);
  font-size: 14px;
  font-weight: 500;
}

.kitchen-catalog-layout .colors-content {
  padding: 0;
  overflow: visible;
}

.kitchen-catalog-layout .colors-premium-head {
  display: block;
  max-width: 860px;
  margin-bottom: 24px;
}

.kitchen-catalog-layout .colors-premium-head h2 {
  margin: 0;
  color: #231c17;
  font-size: clamp(30px, 3vw, 52px);
  font-weight: 650;
  line-height: 1;
}

.kitchen-catalog-layout .colors-premium-head p {
  margin: 12px 0 0;
  color: rgba(44, 36, 28, 0.62);
  font-size: 16px;
  line-height: 1.5;
}

.kitchen-catalog-layout .kitchen-products-grid {
  grid-template-columns: repeat(auto-fill, minmax(235px, 1fr));
  align-items: start;
  gap: 28px;
}

.full-house-layout .colors-premium-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(150px, 230px);
  align-items: end;
  max-width: none;
}

.full-house-layout .kitchen-products-grid {
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
}

.full-house-product-detail .spec-grid {
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
}

.kitchen-product-card {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(135, 99, 75, 0.14);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 16px 42px rgba(57, 43, 30, 0.07);
  transition:
    border-color 180ms ease,
    box-shadow 180ms ease,
    transform 180ms ease;
}

.kitchen-product-card:hover {
  border-color: rgba(126, 87, 52, 0.3);
  box-shadow: 0 22px 56px rgba(57, 43, 30, 0.11);
  transform: translateY(-2px);
}

.kitchen-product-card .color-image-wrap {
  display: block;
  aspect-ratio: 1.18 / 1;
  border-radius: 0;
}

.kitchen-product-card .color-image-wrap img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.kitchen-product-card h3 {
  min-height: 64px;
  padding: 14px 16px 16px;
  color: #211a14;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.22;
}

.kitchen-materials-layout {
  display: grid;
  grid-template-columns: minmax(220px, 280px) minmax(0, 1fr);
  gap: clamp(24px, 3vw, 48px);
  width: min(1720px, 100%);
  margin: 0 auto;
}

.kitchen-materials-layout .colors-sidebar {
  position: sticky;
  top: 18px;
  display: block;
  align-self: start;
  min-height: 0;
  max-height: calc(100vh - 236px);
  margin-bottom: 0;
  overflow: auto;
  border: 1px solid rgba(135, 99, 75, 0.16);
  border-radius: 14px;
  padding: 8px;
  background: rgba(255, 250, 244, 0.78);
  box-shadow:
    0 18px 44px rgba(57, 43, 30, 0.08),
    0 1px 0 rgba(255, 255, 255, 0.82) inset;
  backdrop-filter: blur(18px) saturate(1.08);
  -webkit-backdrop-filter: blur(18px) saturate(1.08);
}

.kitchen-materials-layout .colors-sidebar .series-tab {
  display: block;
  width: 100%;
  max-width: none;
  min-height: 58px;
  border-radius: 10px;
  padding: 10px 14px;
  color: rgba(44, 36, 28, 0.68);
  font-size: 17px;
  font-weight: 700;
  line-height: 1.14;
  transition:
    background 160ms ease,
    color 160ms ease,
    box-shadow 160ms ease,
    transform 160ms ease;
}

.kitchen-materials-layout .catalog-sidebar-group {
  border-radius: 12px;
  padding: 8px;
}

.kitchen-materials-layout .catalog-sidebar-group + .catalog-sidebar-group {
  margin-top: 8px;
  border-top: 1px solid rgba(135, 99, 75, 0.12);
  padding-top: 12px;
}

.kitchen-materials-layout .catalog-sidebar-group-title {
  padding: 4px 6px 8px;
  color: #8a6547;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.16;
  text-transform: uppercase;
}

.kitchen-materials-layout .catalog-sidebar-group-title span,
.kitchen-materials-layout .catalog-sidebar-group-title small {
  display: block;
}

.kitchen-materials-layout .catalog-sidebar-group-title small {
  margin-top: 3px;
  color: rgba(44, 36, 28, 0.44);
  font-size: 11px;
  font-weight: 700;
  text-transform: none;
}

.kitchen-materials-layout .catalog-sidebar-group.active {
  background: rgba(255, 255, 255, 0.34);
}

.kitchen-materials-layout .colors-sidebar .series-tab + .series-tab {
  margin-top: 2px;
}

.kitchen-materials-layout .colors-sidebar .series-tab:hover {
  background: rgba(255, 255, 255, 0.66);
  color: #2c241c;
  transform: translateY(-1px);
}

.kitchen-materials-layout .colors-sidebar .series-tab.active {
  background: linear-gradient(135deg, #2b2119, #7d5a3e);
  color: #fffaf4;
  box-shadow:
    0 16px 34px rgba(55, 38, 24, 0.18),
    0 1px 0 rgba(255, 255, 255, 0.26) inset;
}

.kitchen-materials-layout .colors-sidebar .series-tab small {
  margin-top: 4px;
  font-size: 12px;
  opacity: 0.68;
}

.kitchen-materials-layout .colors-content {
  padding: 0;
  overflow: visible;
}

.kitchen-materials-layout .colors-premium-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(150px, 230px);
  gap: clamp(18px, 2vw, 34px);
  align-items: end;
  max-width: none;
  margin-bottom: clamp(22px, 2.6vw, 36px);
}

.kitchen-materials-layout .colors-premium-head h2 {
  margin: 0;
  color: #211a14;
  font-size: clamp(34px, 4vw, 70px);
  font-weight: 650;
  line-height: 0.98;
}

.kitchen-materials-layout .colors-premium-head p {
  max-width: 820px;
  margin: 18px 0 0;
  color: rgba(44, 36, 28, 0.66);
  font-size: clamp(15px, 1vw, 18px);
  line-height: 1.58;
}

.kitchen-materials-layout .colors-heading {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  margin-bottom: 22px;
  border: 1px solid rgba(135, 99, 75, 0.14);
  border-radius: 14px;
  padding: 22px 24px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.9), rgba(252, 248, 242, 0.82));
  box-shadow:
    0 18px 42px rgba(57, 43, 30, 0.07),
    0 1px 0 rgba(255, 255, 255, 0.86) inset;
}

.kitchen-materials-layout .colors-heading-level,
.kitchen-materials-layout .colors-heading-finish {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 8px;
}

.kitchen-materials-layout .colors-heading-level {
  margin-bottom: 0;
}

.kitchen-materials-layout .colors-heading-level span {
  color: #8a6547;
  font-size: 17px;
  font-weight: 800;
  line-height: 1.15;
  text-transform: uppercase;
}

.kitchen-materials-layout .colors-heading-level small {
  color: rgba(44, 36, 28, 0.48);
  font-size: 15px;
  font-weight: 650;
}

.kitchen-materials-layout .colors-heading-finish span,
.kitchen-materials-layout .colors-heading h2 {
  color: #211a14;
  font-size: clamp(24px, 1.8vw, 34px);
  font-weight: 650;
  line-height: 1.05;
}

.kitchen-materials-layout .colors-heading-finish small {
  color: rgba(44, 36, 28, 0.46);
  font-size: clamp(15px, 1vw, 18px);
  font-weight: 600;
}

.kitchen-materials-layout .colors-heading-level small::before,
.kitchen-materials-layout .colors-heading-finish small::before {
  content: "/ ";
}

.kitchen-materials-layout .colors-heading p {
  color: rgba(44, 36, 28, 0.5);
  font-size: 15px;
}

.kitchen-materials-layout .kitchen-products-grid {
  grid-template-columns: repeat(4, minmax(190px, 1fr));
  gap: clamp(20px, 2vw, 30px);
}

.kitchen-materials-layout .kitchen-product-card {
  overflow: visible;
  border: 1px solid rgba(135, 99, 75, 0.14);
  border-radius: 14px;
  padding: 12px 12px 16px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(252, 248, 242, 0.9));
  box-shadow:
    0 24px 58px rgba(57, 43, 30, 0.09),
    0 1px 0 rgba(255, 255, 255, 0.88) inset;
}

.kitchen-materials-layout .kitchen-product-card:hover {
  border-color: rgba(126, 87, 52, 0.34);
  box-shadow:
    0 34px 82px rgba(57, 43, 30, 0.14),
    0 1px 0 rgba(255, 255, 255, 0.9) inset;
  transform: translateY(-3px);
}

.kitchen-materials-layout .kitchen-product-card .color-image-wrap {
  overflow: hidden;
  aspect-ratio: 1.14 / 1;
  border-radius: 10px;
  background: #ebe4dc;
}

.kitchen-materials-layout .kitchen-product-card .color-image-wrap img {
  transition: transform 220ms ease;
}

.kitchen-materials-layout .kitchen-product-card:hover .color-image-wrap img {
  transform: scale(1.035);
}

.kitchen-materials-layout .kitchen-product-card h3 {
  min-height: 0;
  margin: 14px 4px 0;
  padding: 0;
  color: #211a14;
  font-size: 16px;
  font-weight: 650;
  line-height: 1.18;
}

.kitchen-materials-layout .translated-title-sub,
.kitchen-materials-layout .material-title-sub {
  display: block;
  margin-top: 6px;
  color: rgba(44, 36, 28, 0.52);
  font-size: 13px;
  font-weight: 500;
}

.material-title-main,
.material-title-sub {
  display: block;
}

.material-title-main {
  color: inherit;
  font-size: 1em;
  line-height: 1.2;
}

.material-title-sub {
  margin-top: 3px;
  color: #777;
  font-size: 0.76em;
  font-weight: 400;
  line-height: 1.25;
}

.soft-touch-info {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  margin-left: 7px;
  border-radius: 50%;
  background: #fff4dc;
  color: #b5231e;
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  vertical-align: 2px;
  cursor: help;
  box-shadow: inset 0 0 0 1px rgba(181, 35, 30, 0.18);
}

.soft-touch-tooltip {
  position: absolute;
  left: 0;
  bottom: calc(100% + 9px);
  z-index: 30;
  width: 250px;
  max-width: 70vw;
  padding: 10px 12px;
  border-radius: 8px;
  background: #242424;
  color: #fff;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.35;
  text-align: left;
  box-shadow: 0 14px 32px rgba(0, 0, 0, 0.22);
  opacity: 0;
  pointer-events: none;
  transform: translateY(6px);
  transition: opacity 0.16s ease, transform 0.16s ease;
}

.soft-touch-tooltip::after {
  content: "";
  position: absolute;
  left: 8px;
  top: 100%;
  border: 6px solid transparent;
  border-top-color: #242424;
}

.soft-touch-info:hover .soft-touch-tooltip,
.soft-touch-info:focus .soft-touch-tooltip,
.soft-touch-info:focus-visible .soft-touch-tooltip {
  opacity: 1;
  transform: translateY(0);
}

.color-card .material-title-sub {
  font-size: 0.78em;
}

.product-gallery > .material-title .material-title-main {
  font-size: 1em;
}

.product-gallery > .material-title .material-title-sub {
  font-size: 0.58em;
}

.color-gallery-main {
  height: min(560px, calc(100vh - 300px));
}

.color-gallery-main img {
  object-fit: cover;
}

.color-info {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding-top: 14px;
  background: #f3f3f3;
}

.color-category-note,
.color-attribute {
  background: #fff;
  padding: 18px 20px;
}

.color-category-note p {
  margin: 0;
  font-size: 20px;
  line-height: 1.2;
}

.color-category-note span {
  display: block;
  margin-top: 4px;
  color: #777;
  font-size: 14px;
}

.color-attribute h2 {
  position: relative;
  margin: 0 0 14px;
  padding-left: 13px;
  font-size: 18px;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.25;
}

.color-attribute h2::before {
  content: "";
  position: absolute;
  left: 0;
  top: 4px;
  width: 4px;
  height: 18px;
  border-radius: 2px;
  background: linear-gradient(180deg, #ffb742, #d57700);
}

.attribute-chip-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.attribute-chip-list span,
.attribute-chip-list button {
  border: 1px solid #d8dce0;
  border-radius: 3px;
  padding: 5px 10px;
  background: #f7f8fa;
  color: #777;
  font-size: 14px;
  line-height: 1.2;
}

.attribute-chip-list button,
.attribute-series-link {
  font-family: inherit;
  text-align: left;
  cursor: pointer;
}

.attribute-chip-list button {
  appearance: none;
}

.attribute-text-list {
  margin: 0;
  padding-left: 18px;
}

.attribute-text-list p,
.attribute-text-list .attribute-series-link {
  position: relative;
  margin: 0 0 8px;
  color: #777;
  font-size: 15px;
  line-height: 1.35;
  white-space: pre-line;
}

.attribute-text-list .attribute-series-link {
  display: block;
  width: 100%;
  border: 0;
  padding: 0;
  background: transparent;
}

.attribute-text-list p::before,
.attribute-text-list .attribute-series-link::before {
  content: "•";
  position: absolute;
  left: -13px;
}

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

.attribute-image-card {
  overflow: hidden;
  border: 1px solid #eeeeee;
  border-radius: 8px;
  background: #fff;
}

button.attribute-image-card {
  display: block;
  width: 100%;
  padding: 0;
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.attribute-image-card img {
  display: block;
  width: 100%;
  aspect-ratio: 1.4 / 1;
  object-fit: contain;
  background: #f7f8fa;
}

.attribute-image-card p {
  margin: 0;
  padding: 9px 10px 11px;
  color: #555;
  font-size: 13px;
  line-height: 1.25;
}

.linked-series-card,
.linked-series-chip,
.linked-series-text {
  transition: border-color 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
}

.linked-series-card:hover,
.linked-series-chip:hover {
  border-color: #b5231e;
  box-shadow: 0 8px 18px rgba(181, 35, 30, 0.12);
}

.linked-series-text:hover,
.linked-series-text:hover .series-link-main,
.linked-series-chip:hover .series-link-main,
.linked-series-card:hover .series-link-main {
  color: #b5231e;
}

.series-link-main,
.series-link-sub {
  display: block;
}

.series-link-sub {
  margin-top: 2px;
  color: #888;
  font-size: 0.86em;
}

.product-detail {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, 470px);
  gap: 18px;
  min-height: calc(100vh - 112px);
  background: #f3f3f3;
}

.product-gallery {
  min-width: 0;
  padding: 14px 14px 20px;
  background: #fff;
}

.gallery-main {
  position: relative;
  overflow: hidden;
  height: min(560px, calc(100vh - 300px));
  min-height: 360px;
  background: #e8e8e8;
}

.gallery-main[data-lightbox-image] {
  cursor: zoom-in;
}

.spec-card[data-lightbox-image],
.attribute-image-card[data-lightbox-image] {
  cursor: zoom-in;
}

.gallery-main img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.gallery-count {
  position: absolute;
  right: 16px;
  bottom: 13px;
  min-width: 54px;
  border-radius: 3px;
  padding: 5px 9px;
  background: rgba(0, 0, 0, 0.46);
  color: #fff;
  font-size: 16px;
  text-align: center;
}

.gallery-nav {
  position: absolute;
  top: 50%;
  z-index: 2;
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  border: 1px solid rgba(255, 255, 255, 0.62);
  border-radius: 50%;
  background: rgba(42, 31, 23, 0.38);
  color: #fff;
  font-size: 42px;
  line-height: 1;
  transform: translateY(-50%);
  cursor: pointer;
  box-shadow: 0 14px 38px rgba(0, 0, 0, 0.18);
  backdrop-filter: blur(8px);
  transition: background 0.18s ease, transform 0.18s ease;
}

.gallery-nav:hover {
  background: rgba(42, 31, 23, 0.58);
  transform: translateY(-50%) scale(1.04);
}

.gallery-nav-prev {
  left: 18px;
}

.gallery-nav-next {
  right: 18px;
}

body.lightbox-open {
  overflow: hidden;
}

.image-lightbox {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: grid;
  place-items: center;
  padding: 34px;
  background: rgba(14, 11, 8, 0.9);
  backdrop-filter: blur(12px);
}

.image-lightbox[hidden] {
  display: none;
}

.image-lightbox img {
  display: block;
  max-width: min(96vw, 1800px);
  max-height: 92vh;
  object-fit: contain;
  border-radius: 12px;
  background: #f8f3ec;
  box-shadow: 0 24px 90px rgba(0, 0, 0, 0.42);
}

.image-lightbox-close {
  position: fixed;
  top: 22px;
  right: 24px;
  z-index: 1;
  width: 48px;
  height: 48px;
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: 50%;
  background: rgba(255, 250, 244, 0.14);
  color: #fff;
  font-size: 34px;
  line-height: 1;
  cursor: pointer;
  box-shadow: 0 18px 54px rgba(0, 0, 0, 0.22);
}

.product-gallery h2 {
  margin: 18px 0 22px;
  font-size: 30px;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.2;
}

.translated-product-title .translated-title-sub {
  color: #777;
  opacity: 1;
}

.gallery-thumbs {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 225px;
  gap: 20px;
  overflow-x: auto;
  padding: 0 0 12px;
}

.gallery-thumb {
  height: 132px;
  overflow: hidden;
  border: 3px solid transparent;
  border-radius: 4px;
  padding: 0;
  background: #eee;
  cursor: pointer;
}

.gallery-thumb.active {
  border-color: #b32921;
}

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

.product-info {
  overflow-y: auto;
  max-height: calc(100vh - 112px);
  padding: 26px 24px 100px;
  background: #fff;
}

.detail-section + .detail-section {
  margin-top: 34px;
}

.detail-section h2 {
  margin: 0 0 22px;
  font-size: 26px;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.2;
}

.detail-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin: 0 0 22px;
}

.detail-section-head h2 {
  margin: 0;
}

.detail-slider-controls {
  display: flex;
  flex: 0 0 auto;
  gap: 8px;
}

.detail-slider-controls button {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border: 1px solid rgba(135, 99, 75, 0.2);
  border-radius: 50%;
  background: rgba(255, 250, 244, 0.92);
  color: #3a2d24;
  font-size: 27px;
  line-height: 1;
  cursor: pointer;
  box-shadow: 0 10px 24px rgba(57, 43, 30, 0.08);
}

.detail-slider-controls button:hover {
  border-color: rgba(126, 87, 52, 0.42);
  background: #fff;
}

.detail-group + .detail-group {
  margin-top: 28px;
}

.detail-group h3 {
  position: relative;
  margin: 0 0 16px;
  padding-left: 13px;
  font-size: 18px;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.25;
}

.detail-group h3::before {
  content: "";
  position: absolute;
  left: 0;
  top: 4px;
  width: 4px;
  height: 18px;
  border-radius: 2px;
  background: linear-gradient(180deg, #ffb742, #d57700);
}

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

.detail-slider-section .spec-slider-track {
  grid-auto-flow: column;
  grid-auto-columns: calc((100% - 14px) / 2);
  grid-template-columns: none;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  scrollbar-width: none;
}

.detail-slider-section .spec-slider-track::-webkit-scrollbar {
  display: none;
}

.detail-slider-section .spec-card {
  scroll-snap-align: start;
}

.spec-card {
  overflow: hidden;
  border: 1px solid #eeeeee;
  border-radius: 8px;
  background: #fff;
}

button.spec-card {
  width: 100%;
  padding: 0;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.linked-spec-card {
  transition: transform 0.16s ease, box-shadow 0.16s ease, border-color 0.16s ease;
}

.linked-spec-card:hover {
  transform: translateY(-2px);
  border-color: rgba(178, 31, 25, 0.28);
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.12);
}

.spec-card img {
  display: block;
  width: 100%;
  aspect-ratio: 1.18 / 1;
  object-fit: cover;
  background: #f4f4f4;
}

.spec-card p {
  margin: 0;
  min-height: 48px;
  padding: 10px 11px 12px;
  color: #333;
  font-size: 14px;
  line-height: 1.25;
}

.spec-card .material-title-sub {
  font-size: 0.82em;
}

.interior-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 14px;
}

.interior-title {
  margin: 24px 0 0;
  color: #222;
  font-size: 18px;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.25;
}

.interior-grid img {
  display: block;
  width: 100%;
  aspect-ratio: 1.45 / 1;
  border-radius: 4px;
  object-fit: cover;
  background: #f4f4f4;
}

.news-button {
  display: none;
  position: fixed;
  right: 31px;
  bottom: 35px;
  z-index: 5;
  width: 88px;
  height: 88px;
  border: 0;
  border-radius: 50%;
  background: linear-gradient(145deg, #ff3527, #ff8b78);
  color: #fff;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.24);
  font-size: 18px;
  line-height: 1.16;
  cursor: pointer;
}

.new-ribbon {
  display: none;
}

.colors-detail-mode {
  min-height: 100vh;
  background:
    radial-gradient(circle at 88% 10%, rgba(196, 175, 148, 0.26), transparent 30%),
    radial-gradient(ellipse at 12% 4%, rgba(255, 250, 244, 0.88), transparent 36%),
    linear-gradient(180deg, #fbf7f0 0%, #f4ede3 48%, #efe2d2 100%);
}

.colors-detail-mode::after {
  content: "";
  position: fixed;
  right: clamp(-190px, -10vw, -110px);
  bottom: clamp(-180px, -12vw, -90px);
  z-index: 0;
  width: clamp(440px, 36vw, 740px);
  height: clamp(440px, 36vw, 740px);
  border: clamp(52px, 5vw, 86px) solid rgba(255, 247, 237, 0.44);
  border-left-color: transparent;
  border-radius: 54% 46% 52% 48% / 48% 58% 42% 52%;
  transform: rotate(18deg);
  pointer-events: none;
}

.colors-detail-mode .top-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  grid-template-areas:
    "brand brand brand"
    "back title search";
  align-items: center;
  gap: clamp(18px, 2.2vw, 34px);
  min-height: 156px;
  padding: clamp(26px, 3vw, 46px) clamp(34px, 4.8vw, 82px) 20px;
  overflow: visible;
  background: transparent;
}

.colors-detail-mode .top-panel::before {
  background:
    linear-gradient(118deg, rgba(255, 247, 237, 0.76) 0 1px, transparent 1px 100%),
    linear-gradient(173deg, rgba(135, 99, 75, 0.1) 0 1px, transparent 1px 100%);
  opacity: 0.62;
}

.colors-detail-mode .top-panel::after {
  content: none;
}

.colors-detail-mode .brand-row {
  grid-area: brand;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: min(1620px, 100%);
  margin: 0 auto;
  color: #2c241c;
}

.colors-detail-mode .brand-mark {
  color: #2c241c;
  font-size: clamp(24px, 2.15vw, 38px);
  font-weight: 900;
  letter-spacing: 0;
  text-transform: lowercase;
}

.colors-detail-mode .retail-nav {
  display: flex;
  align-items: center;
  gap: clamp(18px, 2.2vw, 38px);
}

.colors-detail-mode .retail-nav a {
  position: relative;
  color: rgba(33, 26, 20, 0.72);
  font-size: clamp(12px, 0.88vw, 15px);
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1;
  text-decoration: none;
  text-transform: uppercase;
}

.colors-detail-mode .back-button {
  grid-area: back;
  position: static;
  display: inline-grid;
  place-items: center;
  width: 52px;
  height: 52px;
  margin: 0;
  border: 1px solid rgba(135, 99, 75, 0.16);
  border-radius: 50%;
  background: rgba(255, 247, 237, 0.78);
  color: #001d51;
  box-shadow:
    0 16px 34px rgba(57, 43, 30, 0.1),
    0 1px 0 rgba(255, 255, 255, 0.88) inset;
  font-size: 34px;
  line-height: 0.9;
  backdrop-filter: blur(14px) saturate(1.06);
  -webkit-backdrop-filter: blur(14px) saturate(1.06);
}

.colors-detail-mode h1 {
  grid-area: title;
  width: min(760px, 54vw);
  margin: 0;
  color: rgba(33, 26, 20, 0.92);
  font-size: clamp(25px, 2vw, 38px);
  font-weight: 600;
  line-height: 1.08;
  text-align: center;
}

.colors-detail-mode h1 .material-title-sub,
.colors-detail-mode h1 .translated-title-sub {
  display: block;
  margin-top: 6px;
  color: rgba(88, 78, 66, 0.68);
  font-size: 0.58em;
  font-weight: 500;
}

.colors-detail-mode .search-box {
  grid-area: search;
  justify-self: end;
  align-items: center;
  width: min(330px, 24vw);
  height: 50px;
  margin: 0;
  border: 1px solid rgba(135, 99, 75, 0.18);
  background: rgba(255, 247, 237, 0.72);
  color: rgba(0, 29, 81, 0.42);
  box-shadow:
    0 18px 44px rgba(57, 43, 30, 0.08),
    0 1px 0 rgba(255, 255, 255, 0.84) inset;
  backdrop-filter: blur(16px) saturate(1.08);
  -webkit-backdrop-filter: blur(16px) saturate(1.08);
}

.colors-detail-mode .search-icon {
  color: rgba(0, 29, 81, 0.44);
  font-size: 22px;
}

.colors-detail-mode .search-box input {
  align-self: center;
  color: #2c241c;
  font-size: 15px;
  font-weight: 500;
}

.colors-detail-mode .catalog-panel {
  z-index: 2;
  min-height: calc(100vh - 156px);
  margin-top: 0;
  padding: 0 clamp(24px, 4.8vw, 82px) clamp(34px, 4vh, 58px);
  border-radius: 0;
  background: transparent;
}

.colors-detail-mode .cards.product-cards {
  width: min(1760px, 100%);
  margin: 0 auto;
}

.colors-detail-mode .product-detail {
  grid-template-columns: minmax(0, 1fr) minmax(360px, 430px);
  gap: clamp(20px, 2.2vw, 34px);
  min-height: calc(100vh - 198px);
  padding: clamp(14px, 1.5vw, 24px);
  border: 1px solid rgba(135, 99, 75, 0.12);
  border-radius: 24px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.72), rgba(252, 248, 242, 0.62)),
    rgba(255, 250, 244, 0.56);
  box-shadow:
    0 28px 70px rgba(57, 43, 30, 0.12),
    0 1px 0 rgba(255, 255, 255, 0.86) inset;
  backdrop-filter: blur(20px) saturate(1.08);
  -webkit-backdrop-filter: blur(20px) saturate(1.08);
}

.colors-detail-mode .product-gallery {
  padding: 0;
  border-radius: 18px;
  background: transparent;
}

.colors-detail-mode .gallery-main {
  height: min(620px, calc(100vh - 340px));
  min-height: 420px;
  border: 1px solid rgba(135, 99, 75, 0.12);
  border-radius: 18px;
  background: #eee5da;
  box-shadow: 0 16px 42px rgba(57, 43, 30, 0.12);
}

.colors-detail-mode .gallery-main img {
  transform: scale(1.002);
}

.colors-detail-mode .gallery-count {
  right: 18px;
  bottom: 18px;
  min-width: 64px;
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: 999px;
  padding: 7px 13px;
  background: rgba(23, 19, 15, 0.55);
  color: #fffaf4;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.18);
  font-size: 15px;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.colors-detail-mode .product-gallery h2 {
  margin: 22px 4px 16px;
  color: #241d17;
  font-size: clamp(28px, 2.6vw, 48px);
  font-weight: 600;
  line-height: 1.05;
}

.colors-detail-mode .product-gallery .material-title-sub,
.colors-detail-mode .product-gallery .translated-title-sub {
  display: block;
  margin-top: 7px;
  color: rgba(88, 78, 66, 0.66);
  font-size: 0.48em;
  font-weight: 500;
}

.colors-detail-mode .gallery-thumbs {
  grid-auto-columns: minmax(170px, 220px);
  gap: 14px;
  padding: 2px 4px 12px;
  scrollbar-color: rgba(135, 99, 75, 0.36) transparent;
}

.colors-detail-mode .gallery-thumb {
  height: 112px;
  border: 1px solid rgba(135, 99, 75, 0.12);
  border-radius: 12px;
  background: rgba(255, 250, 244, 0.78);
  box-shadow: 0 10px 26px rgba(57, 43, 30, 0.08);
  transition: transform 0.16s ease, box-shadow 0.16s ease, border-color 0.16s ease;
}

.colors-detail-mode .gallery-thumb:hover {
  transform: translateY(-2px);
  border-color: rgba(125, 90, 62, 0.38);
  box-shadow: 0 16px 32px rgba(57, 43, 30, 0.12);
}

.colors-detail-mode .gallery-thumb.active {
  border: 2px solid #7d5a3e;
  box-shadow:
    0 16px 34px rgba(57, 43, 30, 0.14),
    0 0 0 4px rgba(125, 90, 62, 0.1);
}

.colors-detail-mode .product-info,
.colors-detail-mode .color-info {
  max-height: calc(100vh - 214px);
  padding: 8px 4px 8px 0;
  background: transparent;
  scrollbar-color: rgba(135, 99, 75, 0.36) transparent;
}

.colors-detail-mode .color-category-note,
.colors-detail-mode .color-attribute,
.colors-detail-mode .detail-section {
  overflow: visible;
  border: 1px solid rgba(135, 99, 75, 0.12);
  border-radius: 16px;
  padding: 20px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.86), rgba(252, 248, 242, 0.76));
  box-shadow:
    0 16px 38px rgba(57, 43, 30, 0.08),
    0 1px 0 rgba(255, 255, 255, 0.84) inset;
}

.colors-detail-mode .detail-section + .detail-section {
  margin-top: 14px;
}

.colors-detail-mode .color-category-note p {
  color: #241d17;
  font-size: 23px;
  font-weight: 600;
}

.colors-detail-mode .color-category-note span {
  color: rgba(88, 78, 66, 0.64);
  font-size: 15px;
}

.colors-detail-mode .color-attribute h2,
.colors-detail-mode .detail-section h2 {
  position: relative;
  margin: 0 0 14px;
  padding-left: 15px;
  color: #2c241c;
  font-size: 18px;
  font-weight: 650;
}

.colors-detail-mode .color-attribute h2::before,
.colors-detail-mode .detail-section h2::before {
  content: "";
  position: absolute;
  left: 0;
  top: 3px;
  width: 4px;
  height: 20px;
  border-radius: 999px;
  background: linear-gradient(180deg, #b58a54, #7d5a3e);
}

.colors-detail-mode .attribute-chip-list {
  gap: 9px;
  padding-bottom: 2px;
}

.colors-detail-mode .attribute-chip-list span,
.colors-detail-mode .attribute-chip-list button,
.colors-detail-mode .attribute-text-list p,
.colors-detail-mode .attribute-text-list button,
.colors-detail-mode .kitchen-text-link {
  border: 1px solid rgba(135, 99, 75, 0.14);
  border-radius: 999px;
  padding: 8px 12px;
  background: rgba(255, 250, 244, 0.76);
  color: rgba(44, 36, 28, 0.76);
  box-shadow: 0 8px 18px rgba(57, 43, 30, 0.05);
  font-size: 14px;
  line-height: 1.28;
}

.colors-detail-mode .attribute-text-list {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  padding-left: 0;
}

.colors-detail-mode .attribute-text-list p::before,
.colors-detail-mode .attribute-text-list .attribute-series-link::before {
  content: none;
}

.colors-detail-mode .attribute-text-list p,
.colors-detail-mode .attribute-text-list .attribute-series-link {
  display: inline-flex;
  width: auto;
  margin: 0;
  white-space: normal;
}

.colors-detail-mode .spec-grid {
  gap: 12px;
}

.colors-detail-mode .spec-card {
  border-color: rgba(135, 99, 75, 0.12);
  border-radius: 14px;
  background: rgba(255, 250, 244, 0.82);
  box-shadow: 0 12px 28px rgba(57, 43, 30, 0.08);
}

.colors-detail-mode .spec-card img {
  background: #eee5da;
}

.colors-detail-mode .spec-card p {
  min-height: 44px;
  color: rgba(44, 36, 28, 0.82);
  font-size: 13px;
  font-weight: 500;
}

.colors-detail-mode .linked-spec-card:hover,
.colors-detail-mode .attribute-chip-list button:hover,
.colors-detail-mode .kitchen-text-link:hover {
  border-color: rgba(125, 90, 62, 0.38);
  box-shadow: 0 16px 32px rgba(57, 43, 30, 0.12);
}

.colors-detail-mode .news-button {
  width: 78px;
  height: 78px;
  background: linear-gradient(145deg, #2b2119, #7d5a3e);
  color: #fffaf4;
  box-shadow: 0 16px 38px rgba(43, 33, 25, 0.22);
  font-size: 15px;
}

.overseas-mode .news-button {
  display: none;
}

.watermark {
  position: fixed;
  inset: 0;
  z-index: 3;
  pointer-events: none;
  opacity: 0.28;
}

.overseas-mode ~ .watermark {
  display: none;
}

.retail-mode ~ .watermark {
  display: none;
}

.wardrobe-mode ~ .watermark {
  display: none;
}

.colors-detail-mode .countertop-detail .color-category-note {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.colors-detail-mode .countertop-detail .color-category-note small {
  display: block;
  color: rgba(88, 78, 66, 0.62);
  font-size: 16px;
  font-weight: 500;
}

.colors-detail-mode .countertop-detail .color-gallery-main {
  background:
    linear-gradient(135deg, rgba(255, 250, 244, 0.54), rgba(238, 229, 218, 0.42)),
    #eee5da;
}

.colors-detail-mode .countertop-detail .color-gallery-main img {
  object-fit: cover;
}

.colors-detail-mode .countertop-detail .product-info {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.colors-detail-mode .countertop-detail .color-attribute {
  margin: 0;
}

.colors-detail-mode .countertop-detail .color-attribute h2 {
  font-size: 20px;
}

.colors-detail-mode .countertop-detail .attribute-text-list p,
.colors-detail-mode .countertop-detail .attribute-chip-list span {
  font-weight: 600;
}

.colors-detail-mode .countertop-detail .gallery-thumb.active {
  border-color: #7d5a3e;
}

.colors-detail-mode .door-detail .color-gallery-main {
  background:
    linear-gradient(135deg, rgba(255, 250, 244, 0.58), rgba(238, 229, 218, 0.44)),
    #f5efe7;
}

.colors-detail-mode .door-detail .color-gallery-main img {
  object-fit: contain;
  padding: clamp(12px, 1.4vw, 24px);
  background: #f8f5ef;
}

.colors-detail-mode .door-detail .gallery-thumb img {
  object-fit: contain;
  padding: 8px;
  background: #f8f5ef;
}

.colors-detail-mode .door-detail .product-info {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.colors-detail-mode .door-detail .color-category-note {
  display: grid;
  gap: 5px;
}

.colors-detail-mode .door-detail .color-category-note p,
.colors-detail-mode .door-detail .color-category-note strong {
  margin: 0;
  color: #241d17;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.14;
}

.colors-detail-mode .door-detail .color-category-note span,
.colors-detail-mode .door-detail .color-category-note em {
  display: block;
  margin: 0;
  color: rgba(88, 78, 66, 0.62);
  font-size: 15px;
  font-style: normal;
  font-weight: 500;
}

.colors-detail-mode .door-detail .color-category-note strong {
  margin-top: 10px;
  font-size: 17px;
  font-weight: 650;
}

.colors-detail-mode .door-detail .color-attribute {
  margin: 0;
}

.colors-detail-mode .door-detail .attribute-image-grid {
  gap: 12px;
}

.colors-detail-mode .door-detail .attribute-image-card img {
  object-fit: contain;
  background: #f8f5ef;
}

.colors-detail-mode .handle-detail .color-gallery-main {
  background:
    linear-gradient(135deg, rgba(255, 250, 244, 0.58), rgba(238, 229, 218, 0.44)),
    #f5efe7;
}

.colors-detail-mode .handle-detail .color-gallery-main img {
  object-fit: contain;
  padding: clamp(10px, 1.2vw, 22px);
  background: #f8f5ef;
}

.colors-detail-mode .handle-detail .gallery-thumb img {
  object-fit: contain;
  padding: 8px;
  background: #f8f5ef;
}

.colors-detail-mode .handle-detail .product-info {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.colors-detail-mode .handle-detail .color-category-note {
  display: grid;
  gap: 5px;
}

.colors-detail-mode .handle-detail .color-category-note p {
  margin: 0;
  color: #241d17;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.14;
}

.colors-detail-mode .handle-detail .color-category-note span {
  display: block;
  margin: 0;
  color: rgba(88, 78, 66, 0.62);
  font-size: 15px;
  font-style: normal;
  font-weight: 500;
}

.colors-detail-mode .handle-detail .color-attribute {
  margin: 0;
}

.colors-detail-mode .handle-detail .attribute-image-grid {
  gap: 12px;
}

.colors-detail-mode .handle-detail .attribute-image-card img {
  object-fit: contain;
  background: #f8f5ef;
}

.colors-detail-mode .functional-detail .color-gallery-main {
  background:
    linear-gradient(135deg, rgba(255, 250, 244, 0.58), rgba(238, 229, 218, 0.44)),
    #f5efe7;
}

.colors-detail-mode .functional-detail .color-gallery-main img {
  object-fit: contain;
  padding: clamp(10px, 1.2vw, 22px);
  background: #f8f5ef;
}

.colors-detail-mode .functional-detail .gallery-thumb img {
  object-fit: contain;
  padding: 8px;
  background: #f8f5ef;
}

.colors-detail-mode .functional-detail .product-info {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.colors-detail-mode .functional-detail .color-category-note {
  display: grid;
  gap: 5px;
}

.colors-detail-mode .functional-detail .color-category-note p,
.colors-detail-mode .functional-detail .color-category-note strong {
  margin: 0;
  color: #241d17;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.14;
}

.colors-detail-mode .functional-detail .color-category-note span,
.colors-detail-mode .functional-detail .color-category-note em {
  display: block;
  margin: 0;
  color: rgba(88, 78, 66, 0.62);
  font-size: 15px;
  font-style: normal;
  font-weight: 500;
}

.colors-detail-mode .functional-detail .color-category-note strong {
  margin-top: 10px;
  font-size: 17px;
  font-weight: 650;
}

.colors-detail-mode .functional-detail .color-attribute {
  margin: 0;
}

.colors-detail-mode .functional-detail .attribute-image-grid {
  gap: 12px;
}

.colors-detail-mode .functional-detail .attribute-image-card img {
  object-fit: contain;
  background: #f8f5ef;
}

.watermark span {
  position: absolute;
  color: rgba(181, 88, 64, 0.18);
  font-family: Georgia, serif;
  font-size: 14px;
  transform: rotate(-18deg);
}

.overseas-mode ~ .watermark span {
  color: rgba(135, 99, 75, 0.16);
}

@media (min-width: 1200px) {
  .cards {
    transform: translateX(-2px);
  }
}

@media (max-width: 720px) {
  .overseas-mode::after {
    display: none;
  }

  .overseas-mode {
    grid-template-rows: 38vh 62vh;
  }

  .overseas-mode .top-panel {
    min-height: 0;
    height: 38vh;
    padding: 28px 18px 0;
  }

  .overseas-mode .top-panel::before {
    inset: 0;
    border-radius: 0;
  }

  .overseas-mode .brand-row {
    display: none;
  }

  .overseas-mode .back-button {
    display: none;
  }

  .overseas-mode h1 {
    width: 142vw;
    margin-top: -26px;
    font-size: clamp(108px, 28vw, 195px);
  }

  .overseas-mode .hero-lead {
    width: calc(100vw - 40px);
    max-width: 360px;
    margin-top: -24px;
    margin-left: 8px;
    font-size: clamp(15px, 4.2vw, 20px);
    font-weight: 400;
    line-height: 1.12;
  }

  .overseas-mode .hero-lead span {
    white-space: normal;
  }

  .overseas-mode .search-box {
    display: none;
  }

  .overseas-mode .catalog-panel {
    min-height: 0;
    height: 62vh;
    margin-top: 0;
    padding: 10px 18px 22px;
    border-radius: 0;
  }

  .overseas-mode .cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    width: 100%;
  }

  .overseas-mode .catalog-card {
    height: min(56vh, 390px);
    min-height: 0;
    border-radius: 22px;
    padding: 16px;
  }

  .overseas-mode .card-art {
    display: none;
  }

  .overseas-mode .card-title {
    font-size: clamp(19px, 5.8vw, 25px);
  }

  .overseas-mode .card-copy {
    display: none;
  }

  .overseas-mode .card-arrow {
    right: 12px;
    bottom: 12px;
    width: 34px;
    height: 34px;
    font-size: 24px;
  }

  .overseas-mode .reel-header {
    gap: 9px;
    margin: -3px -3px 0;
    border-radius: 14px;
    padding: 9px 10px;
  }

  .overseas-mode .reel-progress {
    gap: 4px;
    margin-top: 10px;
    margin-bottom: 0;
  }

  .overseas-mode .reel-progress i {
    height: 3px;
  }

  .overseas-mode .reel-brand {
    margin-bottom: 0;
    font-size: 11px;
  }

  .overseas-mode .reel-brand::before {
    width: 22px;
    height: 22px;
    margin-right: 7px;
  }

  .overseas-mode .card-index {
    top: 70px;
    right: 17px;
  }

  .top-panel {
    min-height: 260px;
    padding-top: 74px;
  }

  h1 {
    font-size: 24px;
  }

  .search-box {
    height: 52px;
    margin-top: 42px;
  }

  .cards {
    grid-template-columns: minmax(260px, 320px);
    gap: 18px;
  }

  .cards.retail-cards {
    grid-template-columns: 1fr;
  }

  .catalog-card {
    min-height: 204px;
  }

  .retail-cards .catalog-card {
    min-height: 128px;
  }

  .retail-mode {
    overflow: auto;
  }

  .retail-mode::after {
    display: none;
  }

  .retail-mode .top-panel {
    min-height: 250px;
    padding: 24px 18px 0;
  }

  .retail-mode .brand-row {
    width: 100%;
  }

  .retail-mode h1 {
    width: 100%;
    margin-top: 42px;
    font-size: clamp(42px, 14vw, 68px);
  }

  .retail-mode h1::after {
    width: min(340px, 86vw);
    margin-top: 16px;
    font-size: 16px;
  }

  .retail-mode .catalog-panel {
    min-height: 0;
    margin-top: 0;
    padding: 0 18px 36px;
  }

  .retail-mode .catalog-panel::before {
    display: none;
  }

  .retail-mode .cards.retail-cards {
    grid-template-columns: 1fr;
    width: 100%;
    gap: 18px;
  }

  .retail-mode .retail-cards .catalog-card {
    width: min(100%, 420px);
    height: auto;
    aspect-ratio: 1122 / 1402;
    margin: 0 auto;
  }

  .retail-mode .retail-cards .card-title {
    font-size: clamp(32px, 9vw, 48px);
  }

  .wardrobe-mode {
    overflow: auto;
  }

  .wardrobe-mode::after {
    display: none;
  }

  .wardrobe-mode .top-panel {
    grid-template-columns: auto 1fr;
    grid-template-areas:
      "brand brand"
      "back title"
      "search search";
    column-gap: 12px;
    row-gap: 22px;
    min-height: 260px;
    padding: 24px 18px 0;
  }

  .wardrobe-mode .brand-row {
    width: 100%;
    flex-direction: column;
    align-items: flex-start;
    gap: 18px;
  }

  .wardrobe-mode .retail-nav {
    width: 100%;
    gap: 16px;
    overflow-x: auto;
    padding-bottom: 6px;
  }

  .retail-nav .manager-auth-button {
    order: -2;
  }

  .retail-nav .manager-tools-nav-link {
    order: -1;
  }

  .wardrobe-mode h1 {
    width: 100%;
    margin: 0;
    font-size: clamp(32px, 10vw, 48px);
  }

  .wardrobe-mode .search-box {
    width: 100%;
    margin: 0;
  }

  .wardrobe-mode .catalog-panel {
    min-height: 0;
    margin-top: 26px;
    padding: 0 18px 36px;
  }

  .wardrobe-mode .cards.retail-cards {
    grid-template-columns: 1fr;
    width: 100%;
    gap: 16px;
  }

  .wardrobe-mode .retail-cards .catalog-card {
    grid-template-columns: 94px minmax(0, 1fr) 34px;
    min-height: 122px;
    padding: 20px;
  }

  .wardrobe-mode .retail-cards .card-art {
    width: 76px;
    height: 76px;
  }

  .wardrobe-mode .retail-cards .card-title {
    font-size: clamp(22px, 6vw, 30px);
  }

  .series-mode .top-panel {
    grid-template-columns: auto 1fr;
    grid-template-areas:
      "brand brand"
      "back title"
      "search search";
    column-gap: 12px;
    row-gap: 22px;
    min-height: 260px;
    padding: 24px 18px 0;
  }

  .series-mode .brand-row {
    width: 100%;
    flex-direction: column;
    align-items: flex-start;
    gap: 18px;
  }

  .series-mode .retail-nav {
    width: 100%;
    gap: 16px;
    overflow-x: auto;
    padding-bottom: 6px;
  }

  .series-mode h1 {
    width: 100%;
    margin: 0;
    font-size: clamp(32px, 10vw, 48px);
  }

  .series-mode .search-box {
    width: 100%;
    margin: 0;
  }

  .series-mode .catalog-panel {
    min-height: 0;
    margin-top: 22px;
    padding: 0 18px 42px;
  }

  .series-mode .series-premium-head {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .series-mode .series-premium-count {
    justify-items: start;
    padding: 18px;
  }

  .series-mode .series-premium-count span {
    text-align: left;
  }

  .series-mode .series-sidebar {
    margin-bottom: 22px;
  }

  .series-mode .series-tab {
    min-width: 152px;
    font-size: 14px;
  }

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

  .series-sidebar {
    display: flex;
    min-height: 0;
    overflow-x: auto;
  }

  .series-tab {
    flex: 0 0 auto;
    width: auto;
    min-width: 150px;
  }

  .series-description {
    grid-template-columns: 1fr;
    gap: 20px;
    padding: 24px 22px;
  }

  .series-description h2 {
    font-size: 25px;
  }

  .series-description p {
    font-size: 15px;
    line-height: 1.55;
  }

  .series-description-aside {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .series-description-aside span {
    padding: 10px 11px;
    font-size: 13px;
  }

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

  .series-mode .product-grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .series-mode .product-card h2 {
    min-height: 0;
    font-size: 20px;
  }

  .colors-mode .top-panel {
    grid-template-columns: auto 1fr;
    grid-template-areas:
      "brand brand"
      "back title"
      "search search";
    column-gap: 12px;
    row-gap: 22px;
    min-height: 260px;
    padding: 24px 18px 0;
  }

  .colors-mode .brand-row {
    width: 100%;
    flex-direction: column;
    align-items: flex-start;
    gap: 18px;
  }

  .colors-mode .retail-nav {
    width: 100%;
    gap: 16px;
    overflow-x: auto;
    padding-bottom: 6px;
  }

  .colors-mode h1 {
    width: 100%;
    margin: 0;
    font-size: clamp(32px, 10vw, 48px);
  }

  .colors-mode .search-box {
    width: 100%;
    margin: 0;
  }

  .colors-mode .catalog-panel {
    min-height: 0;
    margin-top: 22px;
    padding: 0 18px 42px;
  }

  .colors-mode .colors-layout {
    grid-template-columns: 1fr;
    gap: 22px;
  }

  .colors-mode .colors-sidebar {
    position: static;
    display: flex;
    max-height: none;
    overflow-x: auto;
  }

  .colors-mode .colors-sidebar .series-tab {
    flex: 0 0 auto;
    width: auto;
    min-width: 152px;
    font-size: 14px;
  }

  .colors-premium-head {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .colors-premium-count {
    justify-items: start;
    padding: 18px;
  }

  .colors-premium-count span {
    text-align: left;
  }

  .colors-mode .colors-grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .kitchen-materials-layout {
    grid-template-columns: 1fr;
    gap: 22px;
  }

  .kitchen-materials-layout .colors-sidebar {
    position: static;
    display: flex;
    align-items: stretch;
    gap: 10px;
    max-height: none;
    overflow-x: auto;
  }

  .kitchen-materials-layout .catalog-sidebar-group {
    flex: 0 0 min(76vw, 320px);
    padding: 8px;
  }

  .kitchen-materials-layout .catalog-sidebar-group + .catalog-sidebar-group {
    margin-top: 0;
    border-top: 0;
    border-left: 1px solid rgba(135, 99, 75, 0.12);
    padding-top: 8px;
    padding-left: 14px;
  }

  .kitchen-materials-layout .colors-sidebar .series-tab {
    width: 100%;
    min-width: 152px;
    font-size: 14px;
  }

  .kitchen-materials-layout .colors-sidebar .series-tab + .series-tab {
    margin-top: 0;
  }

  .kitchen-materials-layout .colors-premium-head {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .kitchen-materials-layout .kitchen-products-grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .countertops-mode .top-panel {
    grid-template-columns: auto 1fr;
    grid-template-areas:
      "brand brand"
      "back title"
      "search search";
    column-gap: 12px;
    row-gap: 22px;
    min-height: 260px;
    padding: 24px 18px 0;
  }

  .countertops-mode .brand-row {
    width: 100%;
    flex-direction: column;
    align-items: flex-start;
    gap: 18px;
  }

  .countertops-mode .retail-nav {
    width: 100%;
    gap: 16px;
    overflow-x: auto;
    padding-bottom: 6px;
  }

  .countertops-mode h1 {
    width: 100%;
    margin: 0;
    font-size: clamp(32px, 10vw, 48px);
  }

  .countertops-mode .search-box {
    width: 100%;
    margin: 0;
  }

  .countertops-mode .catalog-panel {
    min-height: 0;
    margin-top: 22px;
    padding: 0 18px 42px;
  }

  .countertops-mode .countertops-layout {
    grid-template-columns: 1fr;
    gap: 22px;
  }

  .countertops-mode .colors-sidebar {
    position: static;
    display: flex;
    max-height: none;
    overflow-x: auto;
  }

  .countertops-mode .colors-sidebar .series-tab {
    flex: 0 0 auto;
    width: auto;
    min-width: 152px;
    font-size: 14px;
  }

  .countertops-premium-head {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .countertops-premium-count {
    justify-items: start;
    padding: 18px;
  }

  .countertops-premium-count span {
    text-align: left;
  }

  .countertops-mode .countertops-grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .colors-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px 14px;
  }

  .colors-heading {
    display: block;
  }

  .colors-heading p {
    margin-top: 4px;
  }

  .series-banner {
    height: 130px;
  }

  .product-detail {
    grid-template-columns: 1fr;
  }

  .gallery-main {
    height: 360px;
    min-height: 300px;
  }

  .gallery-thumbs {
    grid-auto-columns: 160px;
    gap: 12px;
  }

  .gallery-thumb {
    height: 96px;
  }

  .product-info {
    max-height: none;
  }

  .colors-detail-mode .top-panel {
    grid-template-columns: auto 1fr;
    grid-template-areas:
      "brand brand"
      "back title"
      "search search";
    min-height: 244px;
    padding: 24px 18px 18px;
  }

  .colors-detail-mode .brand-row {
    width: 100%;
    flex-direction: column;
    align-items: flex-start;
    gap: 18px;
  }

  .colors-detail-mode .retail-nav {
    width: 100%;
    gap: 16px;
    overflow-x: auto;
    padding-bottom: 6px;
  }

  .colors-detail-mode .back-button {
    width: 48px;
    height: 48px;
    font-size: 31px;
  }

  .colors-detail-mode h1 {
    width: 100%;
    font-size: clamp(24px, 7vw, 38px);
    text-align: left;
  }

  .colors-detail-mode .search-box {
    width: 100%;
  }

  .colors-detail-mode .catalog-panel {
    min-height: 0;
    padding: 0 18px 42px;
  }

  .colors-detail-mode .product-detail {
    grid-template-columns: 1fr;
    min-height: 0;
    padding: 12px;
    border-radius: 18px;
  }

  .colors-detail-mode .gallery-main {
    height: 360px;
    min-height: 300px;
    border-radius: 14px;
  }

  .colors-detail-mode .product-gallery h2 {
    margin-top: 18px;
    font-size: clamp(27px, 9vw, 42px);
  }

  .colors-detail-mode .gallery-thumbs {
    grid-auto-columns: 150px;
    gap: 10px;
  }

  .colors-detail-mode .gallery-thumb {
    height: 92px;
  }

  .colors-detail-mode .product-info,
  .colors-detail-mode .color-info {
    max-height: none;
    padding: 0;
  }

  .colors-detail-mode .color-category-note,
  .colors-detail-mode .color-attribute,
  .colors-detail-mode .detail-section {
    border-radius: 14px;
    padding: 17px;
  }

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

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

  .home-products-image-translation {
    margin-top: 10px;
    padding: 20px 16px;
    border-radius: 14px;
  }

  .home-products-translation-sections,
  .home-products-translation-facts {
    grid-template-columns: 1fr;
  }

  .home-products-translation-section {
    padding: 17px;
  }

  .home-products-translation-fact {
    min-height: 0;
  }
}

/* Corrections 2026-09-24: readable prices and complete bed previews */
.correction-prices{background:#fff;color:#302a25;padding:24px 0;margin:0 0 24px;text-align:left;font-family:Arial,sans-serif}.correction-prices h4{margin:0 0 18px;font-size:24px;line-height:1.25}.correction-price-scroll{overflow-x:auto}.correction-prices table{width:100%;border-collapse:collapse;font-size:15px;line-height:1.5}.correction-prices th,.correction-prices td{padding:12px 14px;border-bottom:1px solid #e5e1dc;text-align:left;vertical-align:top}.correction-prices th{background:#f5f2ee;font-weight:600}.correction-prices td:last-child{white-space:nowrap;font-weight:600}.correction-prices p{font-size:14px;line-height:1.6;margin:16px 0 0}.home-products-product-image[src*="/16684."],.home-products-product-image[src*="/16683."],.home-products-product-image[src*="/16586."],.home-products-product-hero-image[src*="/16684."],.home-products-product-hero-image[src*="/16683."],.home-products-product-hero-image[src*="/16586."]{object-fit:contain;background:#fff}

/* Shared compact furniture template, 2026-09-24 */
.home-products-product-detail:has(.compact-furniture) .home-products-product-hero{grid-template-columns:42px 1fr;min-height:0;padding:12px 0;gap:16px}
.home-products-product-detail:has(.compact-furniture) .home-products-product-hero-image{display:none}
.home-products-product-detail:has(.compact-furniture) .home-products-product-hero-text h2{font-size:24px}
.compact-furniture{color:#302a25;font:16px/1.5 Arial,sans-serif;text-align:left}
.compact-furniture-top{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:28px;align-items:center}
.home-products-detail-images img.compact-furniture-photo{width:100%;height:390px;object-fit:contain;background:white;box-shadow:none;border-radius:0}
.compact-furniture-summary p{margin:0 0 12px}.compact-furniture-size{font-size:20px}.compact-furniture-summary .compact-furniture-price{font-size:32px;font-weight:600;margin-bottom:14px}
.compact-furniture-skus{margin-top:20px;font-size:13px}.compact-furniture-skus h4{font-size:15px;margin:0 0 8px}.compact-furniture-skus p{margin:3px 0}
.compact-furniture-facts{display:grid;grid-template-columns:1fr 1fr;gap:0 32px;margin:18px 0 0}.compact-furniture-facts>div{padding:12px 0;border-top:1px solid #e5e1dc}.compact-furniture-facts dt{font-weight:600;margin:0 0 3px}.compact-furniture-facts dd{margin:0;color:#625950}
@media(max-width:650px){.compact-furniture-top{grid-template-columns:1fr;gap:12px}.home-products-detail-images img.compact-furniture-photo{height:300px}.compact-furniture-facts{grid-template-columns:1fr;font-size:15px}.compact-furniture-skus{margin-top:12px}}

/* Compact photo and specification layout, shared by chairs. */
.home-products-product-detail:has(.furniture-panel),.home-products-product-detail:has(.compact-furniture){padding-top:18px;gap:16px}
.home-products-product-detail:has(.furniture-panel) .home-products-product-hero,.home-products-product-detail:has(.compact-furniture) .home-products-product-hero{display:none}
.home-products-product-detail:has(.furniture-panel) .home-products-detail-section>h3,.home-products-product-detail:has(.compact-furniture) .home-products-detail-section>h3{display:none}
.furniture-panel-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:center}
.furniture-panel-photos svg{width:100%;height:360px;display:block}
.furniture-panel .correction-prices{padding-top:18px}
@media(max-width:650px){.furniture-panel-photos{grid-template-columns:1fr}.furniture-panel-photos svg{height:300px}}

.home-products-product-detail:has(.furniture-story) .home-products-product-hero,.home-products-product-detail:has(.furniture-story) .home-products-detail-section>h3{display:none}
.home-products-product-detail:has(.furniture-story){padding-top:18px;gap:16px}
.furniture-story{max-width:1000px;margin:0 auto;color:#302c27}.furniture-story>h3{font-size:30px;margin:12px 0}.furniture-story-lead{font-size:19px;line-height:1.5;color:#655d53}
.furniture-story svg{display:block;width:100%;height:auto;overflow:hidden}.furniture-story-main{max-width:680px;margin:auto}.furniture-story-detail{display:grid;gap:24px;margin:36px 0}
.furniture-story-row{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:30px;padding:18px;background:#f7f5f1;border-radius:18px}.furniture-story-row svg{border-radius:15px}.furniture-story-row h4{font-size:22px;margin:0 0 12px}.furniture-story-row p{font-size:18px;line-height:1.55;margin:0}.furniture-story-spec{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:25px}.furniture-story-spec svg:first-child{max-height:360px}.furniture-story-note{font-size:14px;line-height:1.5;color:#777}
@media(max-width:650px){.furniture-story-row,.furniture-story-spec{grid-template-columns:1fr}.furniture-story-row{gap:16px}.furniture-story-row p{font-size:16px}.furniture-story>h3{font-size:25px}}

.furniture-story-row-full{grid-template-columns:1fr;max-width:900px;margin:auto}.furniture-story-row-full>div{grid-row:1}.furniture-story-row-full p:empty{display:none}

.furniture-story-row-full{width:100%;box-sizing:border-box}

/* Keep long price tables inside the card at narrow widths. */
.home-products-product-detail:has(.furniture-story) .home-products-section-stack,.home-products-product-detail:has(.furniture-story) .home-products-detail-section,.home-products-product-detail:has(.furniture-story) .home-products-detail-images,.furniture-story,.furniture-story .correction-prices,.furniture-story .correction-price-scroll{min-width:0;max-width:100%;box-sizing:border-box}
.furniture-story{width:100%}.furniture-story-row>div{min-width:0}.furniture-story-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.furniture-story-row-full{grid-template-columns:minmax(0,1fr)}
@media(max-width:650px){.furniture-story-row,.furniture-story-spec{grid-template-columns:minmax(0,1fr)}.furniture-story-row h4{overflow-wrap:anywhere}}

/* Dedicated editorial layout for Rivi / Anna, 2026-09-25. */
.premium-bed{color:#443c35;max-width:1120px;margin:auto;background:#faf8f4;overflow:hidden}
.premium-bed header{padding:60px 7% 40px}.premium-bed header>span,.premium-bed-copy>span{font-size:12px;letter-spacing:.2em;color:#99806c}.premium-bed header h3{font-family:Georgia,'Times New Roman',serif;font-size:clamp(48px,7vw,88px);font-weight:400;line-height:1.1;margin:20px 0;color:#684a3c}.premium-bed header p{font-size:18px;line-height:1.6;max-width:650px;margin:0}
.premium-bed svg{display:block;width:100%;height:auto;overflow:hidden}.premium-bed-section{padding:56px 7%;border-top:1px solid #e6dfd6}.premium-bed-copy{max-width:780px;margin:0 0 30px}.premium-bed-copy h4{font-size:clamp(24px,3vw,34px);font-weight:400;line-height:1.25;margin:12px 0 18px;letter-spacing:-.02em}.premium-bed-copy p{font-size:17px;line-height:1.8;color:#71665b;margin:0;white-space:normal}.premium-bed-photos{display:grid;gap:16px}.premium-bed footer{padding:24px 7% 40px;color:#857a6f;font-size:13px;line-height:1.7}.home-products-product-detail:has(.premium-bed) .home-products-product-hero,.home-products-detail-section:has(.premium-bed)>h3{display:none}
@media(max-width:650px){.premium-bed header{padding:34px 6% 26px}.premium-bed-section{padding:32px 6%}.premium-bed-copy p{font-size:16px}.premium-bed-copy h4{font-size:25px}}

/* Full-width photographic layout: match the standard Misu card. */
.home-products-detail-images>.premium-bed{width:100%;min-width:0;max-width:100%;margin:0;box-sizing:border-box;justify-self:stretch;background:#fff}
.premium-bed header{padding:40px 0 28px;background:#fff}.premium-bed header h3{font-family:inherit;font-weight:500;font-size:clamp(42px,5vw,64px);margin:10px 0 16px}.premium-bed header>span{display:none}.premium-bed header p{font-size:20px;max-width:none}
.premium-bed-section{padding:44px 0 0;border:0;margin:0}.premium-bed-copy{max-width:940px;margin:0 0 24px;padding:0}.premium-bed-copy>span{display:none}.premium-bed-copy h4{font-size:clamp(25px,3vw,36px);font-weight:500;margin:0 0 14px}.premium-bed-copy p{font-size:19px;line-height:1.65}.premium-bed-photos{gap:0;width:100%}.premium-bed footer{padding:30px 0;font-size:14px}
@media(max-width:650px){.premium-bed header{padding:24px 0}.premium-bed-section{padding:30px 0 0}.premium-bed-copy p,.premium-bed header p{font-size:16px}.premium-bed-copy{margin-bottom:18px}}

.premium-product .premium-bed-photos{align-items:center;gap:24px}.premium-product .premium-bed-copy{max-width:none}.premium-product .premium-bed-photos svg{background:#fff}@media(max-width:650px){.premium-product .premium-bed-photos{grid-template-columns:1fr!important;gap:16px}}

/* Keep product photographs aligned with the copy without letterboxing. */
.premium-product svg{max-height:none!important;width:100%;height:auto}

/* Keep catalog products whole in thumbnail frames. */
.home-products-product-image[src*="/home-products/kitchen/"],
.home-products-product-hero-image[src*="/home-products/kitchen/"],
.home-products-product-image[src*="/home-products/bathroom/"],
.home-products-product-hero-image[src*="/home-products/bathroom/"],
.home-products-product-image[src*="/home-products/curtains-soft-decoration/"],
.home-products-product-hero-image[src*="/home-products/curtains-soft-decoration/"]{object-fit:contain;background:#fff}

.home-products-product-image[src*="/home-products/curtains/"],.home-products-product-hero-image[src*="/home-products/curtains/"]{object-fit:contain;background:#fff}

/* Curtain correction 2026-09-29: scoped layout only. */
.curtain-compact header{padding:24px 0 20px}.curtain-compact .premium-bed-section{padding-top:24px}.curtain-compact .premium-bed-copy{margin-bottom:14px}.curtain-compact .premium-bed-copy h4{font-size:clamp(23px,2.7vw,30px);margin-bottom:9px}.curtain-compact .premium-bed-copy p{font-size:18px;line-height:1.5}.curtain-compact .premium-bed-copy p:empty{display:none}.curtain-compact .premium-bed-photos{gap:16px;align-items:start}.curtain-compact footer{padding-top:20px}@media(max-width:650px){.curtain-compact .premium-bed-section{padding-top:20px}.curtain-compact .premium-bed-copy p{font-size:16px}.curtain-compact .premium-bed-photos{gap:12px}}

/* Selected room photography: full images, adjoining edges, local assets. */
.page.room-collage-mode { background:#f7f4ee; }
.page.room-collage-mode .top-panel {
  min-height: 0;
  padding: 20px 28px 16px;
  grid-template-columns: auto minmax(0,1fr) minmax(180px,360px);
  grid-template-areas: "brand brand brand" "back title search";
  gap: 16px;
  background: #f7f4ee;
}
.page.room-collage-mode .top-panel::before,
.page.room-collage-mode .top-panel::after { display:none; }
.page.room-collage-mode .brand-row { width:100%; max-width:none; margin:0; }
.page.room-collage-mode h1 { font-size:22px; line-height:1.2; margin:0; width:auto; }
.page.room-collage-mode .search-box { width:100%; margin:0; min-width:0; }
.page.room-collage-mode .catalog-panel { margin:0; padding:0; min-height:0; background:#e9e3d9; }
.page.room-collage-mode .cards { width:100%; max-width:none; margin:0; padding:0; }
.room-collage { display:block; width:100%; }
.room-collage-row { display:flex; align-items:flex-start; gap:0; }
.room-photo { position:relative; display:block; flex:var(--room-ratio) 1 0%; min-width:0; overflow:hidden; color:#fff; text-decoration:none; background:#d4cabc; }
.room-photo img { display:block; width:100%; height:auto; margin:0; }
.room-photo::after { content:""; position:absolute; inset:50% 0 0; pointer-events:none; background:linear-gradient(transparent,rgba(16,12,8,.52)); }
.room-photo-label { position:absolute; z-index:1; bottom:22px; left:24px; right:24px; display:flex; align-items:center; justify-content:space-between; gap:10px; font-size:clamp(18px,1.7vw,32px); font-weight:500; line-height:1.2; text-shadow:0 1px 8px #0005; }
.room-photo-label > span { font-size:24px; flex-shrink:0; transition:transform .2s; }
.room-photo:hover .room-photo-label > span { transform:translate(3px,-3px); }
.room-photo:focus-visible { outline:3px solid #fff; outline-offset:-6px; z-index:2; }
.page.room-collage-mode .empty { margin:0; padding:48px 24px; }
@media(max-width:700px) {
  .page.room-collage-mode .top-panel { padding:14px 16px; grid-template-columns:36px minmax(0,1fr); grid-template-areas:"brand brand" "back title" "search search"; gap:12px; }
  .page.room-collage-mode .brand-row { flex-wrap:wrap; gap:12px; }
  .page.room-collage-mode .retail-nav { flex-wrap:wrap; justify-content:flex-start; gap:10px 16px; }
  .page.room-collage-mode h1 { font-size:21px; }
  .page.room-collage-mode .back-button { width:34px; height:34px; }
  .room-collage-row { flex-direction:column; }
  .room-photo { flex:none; width:100%; }
  .room-photo-label { left:22px; right:22px; bottom:22px; font-size:26px; }
}
@media(prefers-reduced-motion:reduce) { .room-photo-label > span { transition:none; } }

/* Catalog presentation — 30 September 2026. */
html {scroll-behavior:auto;scroll-padding-top:16px}
body {margin:0}
*,*::before,*::after {box-sizing:border-box}
.page {min-width:0;max-width:100%;padding-bottom:env(safe-area-inset-bottom)}
.page .back-button,.home-products-detail-back,.product-back {display:inline-grid;place-items:center;width:44px;height:44px;min-width:44px;padding:0;border:1px solid #e1d9cf;border-radius:50%;line-height:1;background:#fffaf3;color:#4c433d;transform:none!important;aspect-ratio:1;flex-shrink:0}
.page.overseas-mode .back-button{display:none}
.back-button svg,.home-products-detail-back svg,.product-back svg{display:block;width:24px;height:24px;overflow:visible}
.page .top-panel{min-width:0}
.page:not(.overseas-mode):not(.room-collage-mode) .top-panel{padding-top:20px;padding-bottom:22px}
.page .catalog-panel,.page .cards{min-width:0;max-width:100%}
.page .home-products-detail {height:auto;min-height:65vh;overflow:visible;grid-template-columns:210px minmax(0,1fr)}
.page .home-products-sidebar {position:sticky;top:12px;align-self:start;max-height:calc(100dvh - 24px);padding:20px 12px;}
.page .home-products-content {padding:24px;overflow:visible}
.page .home-products-content-head {margin-bottom:20px}
.page .polish-product-grid,.page .home-products-product-grid {grid-template-columns:repeat(auto-fill,minmax(min(290px,100%),1fr))!important;gap:22px 18px!important;align-items:start}
.page .polished-product {display:flex;flex-direction:column;gap:0;min-width:0;width:100%;height:100%;padding:0!important;border:1px solid #e9e4dd!important;border-radius:10px!important;background:#fff!important;box-shadow:none!important;overflow:hidden;text-align:left;transform:none!important}
.page .polished-product > img,.page .polished-product .color-image-wrap,.page .polished-product .product-image,.page .polished-product .product-image-wrap {display:block;width:100%;height:auto;aspect-ratio:4/3;flex:none;margin:0;padding:4px;border:0;border-radius:0;background:#faf9f6;overflow:hidden}
.page .polished-product img,.page .home-products-product-hero-image,.page .favorite-saved-image img {object-fit:contain!important;object-position:center!important;transform:none!important;max-width:100%}
.page .polished-product .color-image-wrap img,.page .polished-product .product-image-wrap img{display:block;width:100%;height:100%;padding:0;object-fit:contain}
.page .polished-product :is(h2,h3,.home-products-product-title,.product-card-copy,.product-name,.card-title){display:block;width:100%;margin:0;padding:14px 60px 12px 14px;min-height:64px;font-size:17px!important;line-height:1.4!important;overflow-wrap:anywhere;white-space:normal;color:#302b25}
.page .polished-product h3 small{font-size:12px;line-height:1.4;display:block}
.page .polished-product .new-ribbon {display:none}
.polish-card-price{display:block;padding:0 14px 16px;font-size:16px;font-weight:600;line-height:1.35;color:#675342}
.page .favorite-card-shell{height:auto;min-width:0}
.page .favorite-card-shell>.favorite-button,.page .favorite-saved-remove{right:8px;width:44px;height:44px;padding:11px;background:transparent;box-shadow:none;backdrop-filter:none;transform:none}
.page .favorite-button:focus-visible{outline:2px solid #87634b;outline-offset:2px}
.page .favorite-detail-actions{justify-content:flex-end;min-height:44px}
.page .favorite-detail-actions .favorite-detail-button{position:static;width:44px;height:44px;padding:11px;box-shadow:none}
.page .favorite-saved-copy{padding-right:60px}
[hidden]{display:none!important}
.price-filter{border:1px solid #e7dfd4;background:#faf8f4;border-radius:12px;padding:16px 18px;margin:0 0 22px;color:#443b33}
.price-filter-heading{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;font-size:15px}
.price-filter-heading strong{font-size:16px;font-weight:600}
.price-filter-bounds{font-variant-numeric:tabular-nums;color:#71675f;font-size:14px}
.price-filter-reset{margin-left:auto;border:0;background:transparent;color:#765741;text-decoration:underline;text-underline-offset:4px;min-height:44px;padding:8px;font:inherit;cursor:pointer}
.price-filter-fields{display:flex;align-items:center;gap:12px;margin-top:12px;max-width:470px}
.price-filter-fields label{display:flex;align-items:center;gap:10px;border:1px solid #d9d0c5;background:white;border-radius:8px;padding:0 12px;min-width:0;flex:1;color:#756b61}
.price-filter-fields input{font:inherit;font-size:16px;min-width:0;width:100%;border:0;outline:0;background:transparent;color:#28221d;min-height:46px;font-variant-numeric:tabular-nums}
.price-filter-fields label:focus-within{outline:2px solid #87634b;outline-offset:2px}
.price-filter-count{font-size:13px;line-height:1.5;color:#766a5e;margin:10px 0 0}
.price-filter-error{font-size:14px;line-height:1.5;color:#9f3027;margin:10px 0 0}
.price-filter-empty{padding:36px 20px;background:#faf8f4;border-radius:10px;font-size:17px;line-height:1.5}
.page.overseas-mode{min-height:100svh;background:#f7f4ee}
.page.overseas-mode .top-panel{display:block;height:auto;min-height:0;padding:24px 30px;background:none}
.page.overseas-mode .brand-row{display:flex;position:static;justify-content:space-between;align-items:center}
.page.overseas-mode :is(.hero-kicker,.hero-lead,#pageTitle,.search-box){display:none}
.page.overseas-mode .brand-mark{color:#2b261f}
.page.overseas-mode .catalog-panel{padding:0;margin:0;max-width:none;width:100%}
.page.overseas-mode .cards{display:flex;gap:0;width:100%;margin:0;padding:0;max-width:none}
.page.overseas-mode .catalog-card{display:flex;flex:1;flex-direction:column;justify-content:flex-start;width:50%;height:auto;min-height:0;aspect-ratio:auto;border:0;border-radius:0;background:#f7f4ee;box-shadow:none;padding:0;overflow:hidden;transform:none}
.page.overseas-mode .catalog-card::before,.page.overseas-mode .catalog-card::after{display:none}
.home-entry-photo{display:block;width:100%;height:auto;aspect-ratio:1.48;object-fit:contain;background:#f2eee7}
.home-entry-copy{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px 30px;width:100%;color:#30281f;text-align:left}
.home-entry-copy h2{margin:0;font-size:clamp(24px,2.2vw,38px);font-weight:500;line-height:1.2}
.home-entry-copy>span{font-size:30px}
.page :is(.series-layout,.colors-layout,.kitchen-catalog-layout,.full-house-layout){min-width:0}
.page :is(.series-content,.colors-content,.product-detail,.product-info,.product-description,.spec-grid){min-width:0}
.page .product-detail img{max-width:100%}
.page .product-detail :is(table,pre){max-width:100%}
.page :is(.home-products-detail-images,.product-attributes){min-width:0}
.page :is(.home-products-detail-image-frame,.home-products-detail-images img){max-width:100%}
.page .home-products-detail-image-frame img{height:auto}
@media(min-width:1600px){.page .polish-product-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr))!important}}
@media(max-width:1024px){
 .page .home-products-detail{grid-template-columns:180px minmax(0,1fr)}
 .page .home-products-content{padding:20px 16px}
 .page .polish-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important}
 .page .top-panel{min-width:0}
 .page:not(.overseas-mode):not(.room-collage-mode) .top-panel{display:grid;grid-template-columns:44px minmax(0,1fr);grid-template-areas:"brand brand" "back title" "search search";gap:14px;padding:18px 20px}
 .page:not(.overseas-mode):not(.room-collage-mode) .brand-row{grid-area:brand;position:static;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;width:100%}
 .page:not(.overseas-mode):not(.room-collage-mode) .back-button{position:static;grid-area:back;margin:0}
 .page:not(.overseas-mode):not(.room-collage-mode) #pageTitle{grid-area:title;position:static;margin:0;min-width:0;font-size:clamp(24px,4vw,38px);line-height:1.2;overflow-wrap:anywhere}
 .page:not(.overseas-mode):not(.room-collage-mode) .search-box{grid-area:search;position:static;width:100%;max-width:100%;margin:0}
 .page .retail-nav{position:static;display:flex;flex-wrap:wrap;gap:8px 18px;max-width:100%}
 .page .retail-nav a,.page .manager-auth-button{min-height:36px;display:inline-flex;align-items:center}
 .page .hero-kicker,.page:not(.overseas-mode) .hero-lead{display:none}
 .page :is(.series-layout,.colors-layout,.kitchen-catalog-layout,.full-house-layout){grid-template-columns:180px minmax(0,1fr);gap:20px;max-width:100%;padding:20px 16px}
 .page :is(.series-sidebar,.colors-sidebar){max-width:100%;min-width:0}
 .page .product-detail{grid-template-columns:minmax(0,1fr);width:100%;padding:20px;gap:24px}
 .page .home-products-product-detail{width:100%;padding:20px;gap:20px}
 .page .home-products-product-hero{grid-template-columns:44px minmax(0,1fr);gap:16px}
 .page .home-products-product-hero-image{grid-column:1/-1;max-height:360px;object-fit:contain}
 .page :is(.product-gallery,.gallery-main){min-width:0;max-width:100%}
}
@media(max-width:700px){
 .page{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}
 .page.overseas-mode .cards{flex-direction:column}
 .page.overseas-mode .catalog-card{width:100%}
 .page.overseas-mode .top-panel{padding:20px 16px}
 .home-entry-photo{aspect-ratio:auto}
 .home-entry-copy{padding:20px 16px}
 .home-entry-copy h2{font-size:27px}
 .page .home-products-detail{display:block}
 .page .home-products-sidebar{position:static;display:flex;flex-direction:row;flex-wrap:nowrap;overflow-x:auto;overflow-y:visible;max-height:none;border-right:0;border-bottom:1px solid #e7e0d7;padding:12px;gap:8px;overscroll-behavior-x:contain;scrollbar-width:thin}
 .page .home-products-side-tab{width:auto;flex:0 0 auto;max-width:250px;min-height:44px;padding:10px 14px;font-size:15px;border:1px solid #e7dfd4;white-space:normal}
 .page .home-products-content{padding:22px 12px}
 .page .home-products-content-head h2{font-size:28px;line-height:1.2}
 .page .polish-product-grid,.page .home-products-product-grid{grid-template-columns:minmax(0,1fr)!important;gap:20px!important}
 .page .polished-product :is(h2,h3,.home-products-product-title){font-size:18px!important}
 .page :is(.series-layout,.colors-layout,.kitchen-catalog-layout,.full-house-layout){display:block;padding:16px 12px}
 .page :is(.series-sidebar,.colors-sidebar){position:static;max-height:200px;overflow:auto;margin-bottom:22px;padding:12px;border-radius:10px;display:flex;flex-wrap:wrap;gap:8px}
 .page :is(.series-tab,.color-category){width:auto;min-height:44px;max-width:100%;padding:10px 14px;font-size:15px;white-space:normal}
 .page .catalog-sidebar-group{flex:1 0 100%}
 .page .catalog-sidebar-group-items{display:flex;flex-wrap:wrap;gap:8px}
 .page .catalog-sidebar-group-items .series-tab{max-width:100%}
 .page :is(.colors-premium-head,.colors-heading){display:block;max-width:100%}
 .page :is(.colors-premium-head h2,.colors-heading h2){font-size:28px;line-height:1.2;overflow-wrap:anywhere}
 .page .home-products-product-detail,.page .product-detail{padding:16px 12px}
 .page .product-detail :is(.spec-grid,.attributes-grid,.product-info-grid){grid-template-columns:minmax(0,1fr)}
 .page .product-detail :is(h1,h2){font-size:28px;line-height:1.25;overflow-wrap:anywhere}
 .page .home-products-product-hero h2{font-size:26px;line-height:1.25}
 .page :is(.home-products-detail-tabs,.gallery-thumbs){max-width:100%;overflow-x:auto;flex-wrap:nowrap}
 .page :is(.home-products-detail-tab,.gallery-thumb){flex-shrink:0;min-height:44px}
 .page .home-products-translation-table,.page .spec-table,.page .correction-price-scroll{display:block;overflow-x:auto;max-width:100%}
 .page .price-filter{padding:14px 12px}
 .page .price-filter-heading{gap:4px 10px}
 .page .price-filter-bounds{font-size:13px}
 .page .price-filter-fields{gap:8px}
 .page .price-filter-fields label{padding:0 8px;gap:6px}
 .page .favorites-grid{grid-template-columns:minmax(0,1fr);gap:20px}
 .page .favorite-saved-copy{padding-right:60px}
 .page :is(.manager-login-dialog,.image-lightbox){max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}
 input,select,textarea{font-size:16px}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

.page.overseas-mode{display:block;height:auto;overflow:visible}.page.overseas-mode::before,.page.overseas-mode::after,.page.overseas-mode .top-panel::before,.page.overseas-mode .top-panel::after,.page.overseas-mode .catalog-panel::before{display:none}.page.overseas-mode .catalog-card:first-child{flex:1.776}.page.overseas-mode .catalog-card:nth-child(2){flex:1.474}.home-entry-photo{aspect-ratio:auto}.page.overseas-mode .catalog-panel{height:auto;min-height:0}.page.overseas-mode .cards{height:auto;min-height:0}


.page.overseas-mode .brand-row{margin:0 auto;gap:20px;width:100%;max-width:1500px;flex-wrap:wrap}
.page.overseas-mode .retail-nav{display:flex;align-items:center;flex-wrap:wrap;gap:8px 22px;overflow:visible}
.page.overseas-mode .retail-nav a{color:#625b52;font-size:12px;font-weight:700;text-decoration:none;text-transform:uppercase;letter-spacing:.06em;min-height:44px;display:inline-flex;align-items:center}
.page.overseas-mode .manager-auth-button{position:static;order:0}
@media(max-width:700px){.page.overseas-mode .brand-row{display:block}.page.overseas-mode .retail-nav{margin-top:16px;gap:0 16px}.page.overseas-mode .retail-nav a{font-size:11px}.page:not(.overseas-mode):not(.room-collage-mode) .top-panel{min-height:0}.page.overseas-mode .top-panel{padding:20px 16px 14px}}

.price-filter-fields input::placeholder{font-size:13px}.page .manager-auth-button{position:static;order:0}.page .home-products-sidebar{scrollbar-width:none}.page .home-products-sidebar::-webkit-scrollbar{display:none}

@media(min-width:701px) and (max-width:850px){.page .home-products-detail{display:block}.page .home-products-sidebar{position:static;display:flex;flex-direction:row;overflow-x:auto;max-height:none;padding:12px;gap:8px}.page .home-products-side-tab{flex:0 0 auto;width:auto;min-height:44px;padding:10px 14px}.page .home-products-content{padding:20px 16px}}

.page .gallery-main{height:auto;min-height:0;aspect-ratio:4/3;background:#faf9f6}.page .gallery-main img{width:100%;height:100%;object-fit:contain;transform:none}

.page :is(.home-products-section-stack,.home-products-detail-section,.home-products-detail-images,.correction-prices){min-width:0;max-width:100%}.page .home-products-detail-images>*{min-width:0;max-width:100%}.page .correction-price-scroll{width:100%;overflow-x:auto}.page .correction-prices p{overflow-wrap:anywhere}

@media(max-width:430px){.page .correction-prices table{font-size:13px}.page .correction-prices :is(td,th){padding:12px 8px;font-size:13px}}

/* Mobile navigation: aligned rows, no stagger, no horizontal scrolling. */
@media(max-width:900px){
 .page .home-products-sidebar{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:10px;overflow:visible;max-height:none;width:100%}
 .page .home-products-side-tab{width:100%;max-width:none;min-width:0;min-height:44px;padding:9px 8px;font-size:13px;line-height:1.3;white-space:normal;overflow-wrap:anywhere;text-align:center;border-radius:12px}
 .page .home-products-section-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;overflow:visible;max-width:100%;padding:10px 0}
 .page .home-products-section-nav button{width:100%;min-width:0;max-width:none;min-height:44px;padding:9px 7px;font-size:13px;line-height:1.3;white-space:normal;overflow-wrap:anywhere;border-radius:24px}
 .page .home-products-section-nav:has(>button:only-child){grid-template-columns:1fr}
}
.selection-actions{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0 8px}
.selection-actions button,.selection-own-link{font:inherit;font-size:15px;min-height:44px;padding:12px 18px;border:1px solid #c6b5a4;border-radius:10px;background:#f8f4ee;color:#443527;cursor:pointer}
.selection-actions button:first-child{background:#514236;color:white;border-color:#514236}
.selection-status{font-size:14px;color:#625446;line-height:1.5;min-height:21px;margin:8px 0 16px}
.selection-link{width:100%;max-width:100%;font:inherit;padding:12px;margin-bottom:16px}
.selection-notice{padding:14px;background:#faf6ef;border-radius:10px;line-height:1.5}
@media(max-width:600px){.selection-actions{display:grid;grid-template-columns:1fr}.selection-actions button{width:100%}.favorites-view-head{flex-wrap:wrap}.page .favorites-grid{grid-template-columns:minmax(0,1fr)}}


.ux-inquiry,.ux-dialog-actions button{border:1px solid #b6a28a;border-radius:12px;padding:12px 18px;background:#544638;color:#fff;font:inherit;cursor:pointer;min-height:44px}.favorite-detail-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.ux-inquiry-dialog{width:min(520px,calc(100% - 32px));box-sizing:border-box;border:1px solid #ded4c8;border-radius:20px;padding:28px;color:#403930;background:#fffcf7;max-height:85dvh;overflow:auto}.ux-inquiry-dialog::backdrop{background:#211b1566}.ux-inquiry-dialog h2{padding-right:30px;margin:0 0 14px}.ux-inquiry-dialog p{line-height:1.5}.ux-inquiry-dialog textarea{box-sizing:border-box;width:100%;height:160px;padding:12px;border:1px solid #d6cbbd;border-radius:10px;font:inherit;font-size:16px;resize:vertical}.ux-dialog-close{position:absolute;right:12px;top:10px;width:44px;height:44px;border:0;background:transparent;font-size:28px;cursor:pointer}.ux-dialog-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.ux-dialog-actions button:last-child{background:white;color:#544638}.ux-toast{position:fixed;z-index:10000;bottom:max(18px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);box-sizing:border-box;width:min(420px,calc(100% - 24px));padding:18px 48px 18px 20px;border-radius:15px;background:#40392f;color:white;box-shadow:0 8px 30px #0003}.ux-toast[hidden]{display:none}.ux-toast strong,.ux-toast span,.ux-toast a{display:block;line-height:1.45}.ux-toast span{font-size:14px;margin:4px 0 8px}.ux-toast a{color:#fff;text-decoration:underline}.ux-toast button{position:absolute;right:4px;top:4px;width:44px;height:44px;border:0;background:transparent;color:white;font-size:25px}.ux-total{padding:20px;margin:18px 0;background:#f7f3ec;border:1px solid #e4dacc;border-radius:15px}.ux-total>span{display:block;color:#6b6257;font-size:14px}.ux-total>strong{display:block;font-size:clamp(21px,3vw,28px);margin:8px 0}.ux-total p{font-size:14px;line-height:1.5;margin:6px 0}.ux-quantity{padding:12px 16px;border-top:1px solid #eee7dc}.ux-quantity label{display:flex;align-items:center;justify-content:space-between;gap:10px}.ux-quantity input{width:78px;min-height:44px;box-sizing:border-box;border:1px solid #cbbfae;border-radius:9px;padding:8px;font:inherit;font-size:16px}.ux-sort{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:14px;font-size:14px}.ux-sort select{max-width:100%;min-height:44px;padding:8px 30px 8px 12px;background:white;border:1px solid #d6cbbd;border-radius:9px;font:inherit}.ux-recent{width:100%;margin:32px 0}.ux-recent h2{font-size:23px}.ux-recent-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.ux-recent-grid a{border:1px solid #ebe4da;border-radius:12px;overflow:hidden;color:inherit;text-decoration:none;background:white}.ux-recent-grid img{display:block;width:100%;aspect-ratio:4/3;object-fit:contain;background:#faf9f6}.ux-recent-grid strong,.ux-recent-grid span{display:block;padding:10px;font-size:14px;line-height:1.4}.ux-recent-grid span{padding-top:0;color:#71604c}@media(max-width:900px){.ux-recent-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ux-inquiry-dialog{padding:22px}.ux-dialog-actions{flex-direction:column}.ux-inquiry{flex:1}.ux-sort select{flex:1;min-width:0}.ux-quantity{padding:10px}.ux-total{padding:16px}.ux-recent{padding:0 10px;box-sizing:border-box}}

/* Balance the desktop entrance without cropping or changing image proportions. */
@media(min-width:1024px){
 .page.overseas-mode .top-panel{padding-top:clamp(28px,calc(25vh - 7.692vw - 21px),100px);padding-bottom:clamp(28px,calc(25vh - 7.692vw - 21px),100px)}
 .page.overseas-mode .retail-nav a{font-size:13px}
 .page.overseas-mode .home-entry-copy{padding-top:20px;padding-bottom:18px}
}

/* Preserve full Moca and Yunchi frames at equal height. */
.page.overseas-mode .catalog-card:first-child{flex:1.8}

.recent-nav-link.active{text-decoration:underline;text-underline-offset:6px}.recent-view .favorite-saved-open{width:100%}.recent-view .favorites-view-head p{max-width:650px}

/* Align the entrance header with the room catalogue. */
@media(min-width:901px){
 .page.overseas-mode .top-panel{padding:20px 28px 22px}
 .page.overseas-mode .brand-row{max-width:none;margin:0;gap:18px}
 .page.overseas-mode .brand-mark{font-size:clamp(24px,2.15vw,38px);font-weight:900;line-height:1;letter-spacing:normal}
 .page.overseas-mode .retail-nav{gap:clamp(18px,2.2vw,38px)}
 .page.overseas-mode .retail-nav a{font-size:clamp(13px,.88vw,15px);line-height:1;letter-spacing:.08em;min-height:0}
}

/* Full-screen editorial entrance; shared navigation typography. */
.page{--catalog-font:"Segoe UI","Helvetica Neue",Arial,sans-serif}
.page .brand-row,.page #pageTitle,.page .home-entry-copy{font-family:var(--catalog-font)}
.page .retail-nav a{font-family:var(--catalog-font);text-transform:none;letter-spacing:0;font-weight:500}
.page .retail-nav a::first-letter{text-transform:uppercase}
.page .manager-auth-button{font-family:var(--catalog-font);text-transform:none;letter-spacing:0;border-radius:30px;background:#292620;color:#fff;padding:9px 20px}
.page .brand-mark{font-family:var(--catalog-font);font-weight:900;letter-spacing:-.045em}
.page.overseas-mode{display:flex;flex-direction:column;min-height:100svh;background:#f8f5ef;padding:0}
.page.overseas-mode .top-panel{flex:none;padding:20px 28px;background:#f8f5ef}
.page.overseas-mode .brand-row{max-width:none;margin:0;gap:20px;align-items:center}
.page.overseas-mode .retail-nav{gap:12px 26px;margin:0}
.page.overseas-mode .retail-nav a{font-size:14px;min-height:32px;color:#39362f;line-height:1.2}
.page.overseas-mode .catalog-panel{display:flex;flex:1;min-height:0;padding:0;margin:0}
.page.overseas-mode .cards{display:grid;grid-template-columns:1fr 1fr;gap:0;flex:1;min-height:calc(100svh - 80px);height:auto}
.page.overseas-mode .catalog-card{position:relative;display:block;width:100%;min-height:580px;flex:initial;padding:0;border:0;border-radius:0;overflow:hidden;background:#39362f;isolation:isolate;text-align:left}
.page.overseas-mode .home-entry-photo{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:52% center;transition:transform .6s ease}
.page.overseas-mode .catalog-card:nth-child(2) .home-entry-photo{object-position:55% center}
.page.overseas-mode .catalog-card::after{content:"";display:block;position:absolute;inset:0;z-index:0;background:linear-gradient(180deg,transparent 35%,rgba(20,17,13,.1) 48%,rgba(20,17,13,.76) 100%);pointer-events:none}
.page.overseas-mode .home-entry-copy{position:absolute;inset:auto 0 0;z-index:1;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:18px;padding:clamp(28px,3.3vw,64px);color:#fff;width:100%;box-sizing:border-box}
.page.overseas-mode .home-entry-kicker{font-size:12px;line-height:1.4;letter-spacing:.16em;text-transform:uppercase;color:#eee6db}
.page.overseas-mode .home-entry-copy h2{font-size:clamp(32px,3.5vw,64px);font-weight:600;letter-spacing:-.035em;line-height:1.05;max-width:650px;margin:0;color:#fff}
.page.overseas-mode .home-entry-cta{display:inline-flex;align-items:center;gap:24px;font-size:15px;line-height:1.3;font-weight:500;background:#fbf9f4;color:#292620;border:1px solid #fbf9f4;border-radius:40px;padding:15px 23px;margin-top:7px}
.page.overseas-mode .catalog-card:nth-child(2) .home-entry-cta{background:rgba(25,22,18,.18);color:#fff;border-color:rgba(255,255,255,.85)}
.home-entry-cta svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.page.overseas-mode .catalog-card:focus-visible{outline:3px solid #fff;outline-offset:-6px}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.page.overseas-mode .catalog-card:hover .home-entry-photo{transform:scale(1.025)}}
@media(max-width:900px){
.page.overseas-mode .top-panel{padding:16px 20px}
.page.overseas-mode .brand-row{display:flex;flex-wrap:wrap}
.page.overseas-mode .retail-nav{gap:4px 18px}
.page.overseas-mode .retail-nav a{font-size:12px;min-height:32px}
.page.overseas-mode .catalog-card{min-height:500px}
.page.overseas-mode .home-entry-copy{padding:28px;gap:12px}
.page.overseas-mode .home-entry-copy h2{font-size:34px}
}
@media(max-width:600px){
.page.overseas-mode .top-panel{padding:14px 16px}
.page.overseas-mode .brand-row{gap:10px}
.page.overseas-mode .brand-mark{font-size:28px}
.page.overseas-mode .retail-nav{width:100%;gap:2px 16px}
.page.overseas-mode .retail-nav a{font-size:11px;min-height:32px}
.page.overseas-mode .cards{grid-template-columns:1fr;grid-template-rows:1fr 1fr;min-height:calc(100svh - 160px)}
.page.overseas-mode .catalog-card{min-height:330px}
.page.overseas-mode .home-entry-photo{object-position:center 48%}
.page.overseas-mode .home-entry-copy{padding:24px;gap:9px}
.page.overseas-mode .home-entry-kicker{font-size:10px}
.page.overseas-mode .home-entry-copy h2{font-size:30px;max-width:340px}
.page.overseas-mode .home-entry-cta{font-size:13px;padding:11px 18px;margin-top:5px}
}

.page .brand-row .retail-nav a{font-family:var(--catalog-font);text-transform:none;letter-spacing:0;font-weight:500}

/* More readable and centrally balanced desktop navigation. */
@media(min-width:1100px){
 .page .brand-row .retail-nav{gap:12px clamp(26px,2.4vw,44px)}
 .page .brand-row .retail-nav a{font-size:17px;line-height:1.25}
 .page.overseas-mode .brand-row .retail-nav{margin-right:clamp(24px,4vw,80px)}
 .page .brand-row .manager-auth-button{font-size:14px}
}
@media(min-width:901px) and (max-width:1099px){
 .page .brand-row .retail-nav{gap:10px 22px}
 .page .brand-row .retail-nav a{font-size:15px}
}

/* Audit: stable product cards, accessible controls, restrained feedback. */
.page .ux-sort[hidden]{display:none}
.page .retail-nav a,.page .manager-auth-button,.page .ux-inquiry,.page .price-filter-reset,.ux-dialog-actions button{transition:background-color .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease}
.page :is(.retail-nav a,.manager-auth-button,.ux-inquiry,.price-filter-reset,.home-products-detail-tab,.favorite-saved-open):focus-visible,.ux-dialog-actions button:focus-visible{outline:2px solid #8d7055;outline-offset:4px}
.page :is(.home-products-product-card,.product-card,.color-card,.kitchen-product-card):hover{transform:none}
.page :is(.product-card,.color-card,.kitchen-product-card):hover :is(.product-image-wrap,.color-image-wrap) img{transform:none}
@media(hover:hover) and (pointer:fine){
 .page .retail-nav a:hover{color:#8a6546;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
 .page .manager-auth-button:hover,.page .ux-inquiry:hover,.ux-dialog-actions button:first-child:hover{background:#6b5743}
 .page .price-filter-reset:hover{color:#362619}
 .page.overseas-mode .home-entry-cta{transition:background-color .2s ease,color .2s ease}
 .page.overseas-mode .catalog-card:hover .home-entry-cta{background:#e9dfd1;color:#292620}
}
@media(max-width:600px){
 .page .ux-sort{display:flex;flex-direction:column;align-items:stretch;gap:8px}
 .page .ux-sort select{flex:none;width:100%;font-size:16px;box-sizing:border-box}
 .page .price-filter-reset{min-height:44px;padding:8px 4px}
 .page .brand-row .retail-nav a{min-height:40px}
}
@media(prefers-reduced-motion:reduce){.page.overseas-mode .catalog-card:hover .home-entry-photo{transform:none}}

/* Left catalog: show the complete photo at its natural proportions. */
.page :is(.color-card,.product-card).polished-product {height:auto;align-self:start}
.page :is(.color-card,.product-card).polished-product :is(.color-image-wrap,.product-image-wrap,.product-image),
.page :is(.color-card,.product-card).polished-product > img {
  height:auto;min-height:0;max-height:none;aspect-ratio:auto;padding:0;background:transparent;
}
.page :is(.color-card,.product-card).polished-product :is(.color-image-wrap,.product-image-wrap) img {
  display:block;width:100%;height:auto;min-height:0;max-height:none;aspect-ratio:auto;padding:0;
}
.page .product-detail .product-gallery {padding:0;background:transparent;align-self:start}
.page .product-detail .gallery-main {
  display:block;height:auto;min-height:0;max-height:none;aspect-ratio:auto;padding:0;
  border:0;border-radius:0;background:transparent;box-shadow:none;
}
.page .product-detail .gallery-main > img {
  display:block;width:100%;height:auto;min-height:0;max-height:none;aspect-ratio:auto;
  padding:0;margin:0;object-fit:contain;transform:none;
}

/* Localized editorial slides keep their own proportions and readable width. */
.page .product-detail.style-guide-detail {grid-template-columns:minmax(0,1fr);gap:24px}
.page .style-guide-detail .product-info {width:100%;max-width:none;height:auto;max-height:none;overflow:visible;padding:0}
.page .style-guide-detail .detail-section {width:100%;max-width:none}
.page .spec-card.localized-slide img {width:100%;height:auto;aspect-ratio:auto;max-height:none;padding:0;background:transparent}
.page .spec-card.localized-slide {background:transparent;border:0;box-shadow:none;border-radius:0}

/* Desktop left catalog: fit the whole main photo in the available screen. */
@media(min-width:1025px){
 .page .product-detail{--detail-screen-height:calc(100dvh - 280px)}
 .page .product-detail .product-gallery{min-width:0;max-width:100%;align-self:start}
 .page .product-detail .gallery-main{display:flex;align-items:flex-start;justify-content:center;width:100%;height:auto;min-height:0;max-height:var(--detail-screen-height);aspect-ratio:auto;overflow:hidden}
 .page .product-detail .gallery-main > img{display:block;flex:0 1 auto;width:auto;height:auto;min-width:0;min-height:0;max-width:100%;max-height:var(--detail-screen-height);object-fit:contain;margin:0 auto;transform:none}
 .page .product-detail:not(.style-guide-detail) > .product-info{min-width:0;max-height:var(--detail-screen-height)}
}

/* Manager review, October 7: consistent LEFT collection tiles. */
.page.series-mode .product-grid,.page .kitchen-catalog-layout .kitchen-products-grid{align-items:stretch;grid-auto-rows:1fr}
.page.series-mode .product-grid .product-card,.page .kitchen-catalog-layout .kitchen-products-grid .kitchen-product-card{height:100%;align-self:stretch;display:flex;flex-direction:column;min-width:0}
.page.series-mode .product-card .product-image-wrap,.page .kitchen-catalog-layout .kitchen-product-card .color-image-wrap{display:block;width:100%;height:auto;min-height:0;max-height:none;aspect-ratio:3/2;padding:0;flex:none;overflow:hidden;background:#f5f2ed}
.page.series-mode .product-card .product-image-wrap img,.page .kitchen-catalog-layout .kitchen-product-card .color-image-wrap img{display:block;width:100%;height:100%;min-height:0;max-height:none;aspect-ratio:auto;object-fit:contain;padding:0;transform:none}
.page.series-mode .product-card h2,.page .kitchen-catalog-layout .kitchen-product-card h3{width:100%;box-sizing:border-box;margin:0;padding:14px 16px 18px;line-height:1.4}
.page.series-mode .translated-title-main,.page.series-mode .translated-title-sub{display:block}
.page.series-mode .translated-title-sub{font-size:12px;font-weight:400;line-height:1.45;opacity:.7;margin-top:5px}
.left-style-guide-link{font:inherit;color:inherit;background:none;border:0;border-bottom:1px solid #bca98e;padding:6px 0;margin:0 0 22px;cursor:pointer}

/* Left catalog: keep tall product photos and specifications on one desktop screen. */
@media(min-width:1025px){
 .page .product-detail:not(.style-guide-detail){--detail-screen-height:min(760px,calc(100dvh - 320px))}
 .page .product-detail:not(.style-guide-detail) .gallery-main{height:var(--detail-screen-height);max-height:var(--detail-screen-height);align-items:flex-start}
 .page .product-detail:not(.style-guide-detail) .gallery-main > img{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;object-position:center top}
}

/* Consistent LEFT material and component listing cards. */
.page .colors-grid{align-items:stretch;grid-auto-rows:1fr}
.page .colors-grid > .favorite-card-shell{height:100%;min-width:0;display:flex;align-items:stretch}
.page .colors-grid .color-card.polished-product{height:100%;width:100%;align-self:stretch;display:flex;flex-direction:column;min-width:0}
.page .colors-grid .color-card.polished-product .color-image-wrap{display:block;width:100%;height:auto;min-height:0;max-height:none;aspect-ratio:4/3;padding:0;flex:none;overflow:hidden;background:#faf9f6}
.page .colors-grid .color-card.polished-product .color-image-wrap img{display:block;width:100%;height:100%;min-height:0;max-height:none;aspect-ratio:auto;object-fit:contain;padding:0;transform:none}
.page .colors-grid .color-card.polished-product h3{box-sizing:border-box;width:100%;margin:0;padding:14px 16px 18px;line-height:1.4}

/* Full-house practical reference sheets: preserve the complete image. */
.full-house-product-detail .product-info .spec-grid { grid-template-columns: minmax(0, 1fr); }
.full-house-product-detail .product-info .detail-slider-section .spec-slider-track { grid-template-columns: none; grid-auto-columns: 100%; }
.full-house-product-detail .product-info .spec-card img { height: auto; aspect-ratio: auto; object-fit: contain; }

/* LEFT detail pages: natural photo proportions and readable outer spacing. */
.page .product-detail:not(.style-guide-detail) {
  padding: 24px;
  box-sizing: border-box;
  align-items: start;
}
.page .product-detail:not(.style-guide-detail) .gallery-main {
  display: block;
  height: auto;
  min-height: 0;
  max-height: none;
  aspect-ratio: auto;
}
.page .product-detail:not(.style-guide-detail) .gallery-main > img {
  display: block;
  width: 100%;
  height: auto;
  max-height: none;
  aspect-ratio: auto;
  object-fit: contain;
  margin: 0;
}
.page .product-detail:not(.style-guide-detail) .product-gallery > h2 {
  margin: 20px 0 16px;
  padding: 0 8px;
}
.page .product-detail:not(.style-guide-detail) .spec-grid {
  align-items: start;
}
@media(max-width:650px) {
  .page .product-detail:not(.style-guide-detail) { padding: 16px 12px; }
}

/* LEFT card content follows the page scroll, with readable long labels. */
.page .product-detail:not(.style-guide-detail) > .product-info {
  height: auto;
  min-height: 0;
  max-height: none;
  overflow: visible;
  box-sizing: border-box;
  padding: 12px 16px 24px;
}
.page .product-detail :is(.product-gallery,.product-info,.color-attribute,.detail-section,.attribute-image-grid,.attribute-text-list,.spec-card) { min-width: 0; }
.page .product-detail :is(h1,h2,h3,p,dd,dt,button,a) { overflow-wrap: anywhere; }
.page .product-detail .product-gallery > h2 { line-height: 1.25; }
.page .product-detail .gallery-thumbs { max-width: 100%; box-sizing: border-box; }
.page .full-house-product-detail .detail-slider-section .spec-slider-track {
  grid-auto-flow: row;
  grid-template-columns: minmax(0,1fr);
  grid-auto-columns: auto;
  overflow: visible;
}
.page .full-house-product-detail .detail-slider-controls { display: none; }
@media(max-width:700px) {
  .page .product-detail:not(.style-guide-detail) > .product-info { padding: 8px 0 24px; }
  .page .product-detail :is(.detail-section,.color-attribute) { padding: 16px 12px; }
  .page .product-detail .detail-section-head { flex-wrap: wrap; }
  .page .product-detail .gallery-thumbs { grid-auto-columns: minmax(110px,44%); }
  .page .product-detail .gallery-thumb { height: auto; aspect-ratio: 3 / 2; }
}

/* LEFT narrow objects use a matching photo column, without a giant blank frame. */
.page .product-detail .gallery-main[data-portrait-photo="true"] {
  width: min(100%, var(--portrait-photo-width));
  margin-inline: auto;
}
@media(min-width:1025px) {
  .page .product-detail[data-portrait-photo="true"] {
    grid-template-columns: minmax(0, var(--portrait-photo-width)) minmax(320px, 1fr);
  }
}
/* LEFT section menus: reserve independent space for artwork, label and arrow. */
@media (max-width: 480px) {
  .page.wardrobe-mode .retail-cards .catalog-card,
  .page.kitchen-mode .retail-cards .catalog-card,
  .page.bathroom-mode .retail-cards .catalog-card {
    grid-template-columns: 56px minmax(0, 1fr) 32px;
    gap: 12px;
    padding: 16px;
    min-height: 112px;
  }
  .page.wardrobe-mode .retail-cards .card-art,
  .page.kitchen-mode .retail-cards .card-art,
  .page.bathroom-mode .retail-cards .card-art { position: static; inset: auto; width: 56px; height: 56px; }
  .page.wardrobe-mode .retail-cards .card-copy,
  .page.kitchen-mode .retail-cards .card-copy,
  .page.bathroom-mode .retail-cards .card-copy { min-width: 0; }
  .page.wardrobe-mode .retail-cards .card-title,
  .page.kitchen-mode .retail-cards .card-title,
  .page.bathroom-mode .retail-cards .card-title {
    font-size: clamp(20px, 5.2vw, 23px);
    line-height: 1.2;
    overflow-wrap: anywhere;
    hyphens: auto;
  }
  .page.wardrobe-mode .retail-cards .card-arrow,
  .page.kitchen-mode .retail-cards .card-arrow,
  .page.bathroom-mode .retail-cards .card-arrow { width: 32px; height: 32px; }
}


/* Full-house collections: readable practical photographs below the main gallery. */
.page .product-detail.full-house-product-detail {
  grid-template-columns: minmax(0, 1fr);
}
.page .full-house-product-detail > .product-gallery,
.page .full-house-product-detail > .product-info {
  grid-column: 1 / -1;
  width: 100%;
  min-width: 0;
}
.page .full-house-product-detail > .product-info {
  padding: clamp(12px, 2vw, 28px);
}
.page .full-house-product-detail .gallery-main {
  width: min(100%, var(--full-house-main-width, 100%));
  margin-inline: auto;
}
.page .full-house-product-detail .spec-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  overflow: visible;
}
.page .full-house-product-detail .spec-card {
  min-width: 0;
  width: 100%;
  max-width: min(100%, var(--detail-photo-width, 100%));
  justify-self: center;
  overflow-wrap: anywhere;
}
.page .full-house-product-detail .spec-card[data-wide-photo="true"] {
  grid-column: 1 / -1;
}
.page .full-house-product-detail .spec-card > img {
  display: block;
  width: 100%;
  height: auto;
  max-height: none;
  object-fit: contain;
}
@media (max-width: 700px) {
  .page .full-house-product-detail .spec-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
  }
}

/* Avoid stacking two sets of gutters around full-house photographs on phones. */
@media (max-width: 480px) {
  .page .full-house-product-detail > .product-info,
  .page .full-house-product-detail .detail-section {
    padding-inline: 0;
  }
}

.full-house-material-link {
  display: inline-block;
  min-height: 44px;
  min-width: 44px;
  padding: 6px 4px;
  border: 0;
  border-radius: 4px;
  background: transparent;
  color: inherit;
  font: inherit;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
  vertical-align: baseline;
}
.full-house-material-link:hover { background: #f3ede5; }
.full-house-material-link:focus-visible { outline: 2px solid #9f2d35; outline-offset: 2px; }

/* Tasks 2 and 5: clear entrances and centered section navigation. */
.page.overseas-mode .cards { gap: 3px; background: #eee5d9; }
.page.overseas-mode .home-entry-cta {
  min-height: 56px; padding: 16px 26px; font-size: 18px;
  gap: 22px; box-sizing: border-box;
}
.page.overseas-mode .home-entry-cta svg { width: 24px; height: 24px; flex: 0 0 24px; }
.page .card-arrow { display: grid; place-items: center; padding: 0; box-sizing: border-box; }
.page .card-arrow svg { display: block; width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.page:not(.retail-mode):not(.overseas-mode) .catalog-card:has(.section-card-group) {
  display: flex; align-items: center; justify-content: center;
  position: relative; padding: 24px 54px; min-height: 156px;
}
.page .section-card-group {
  display: flex; align-items: center; justify-content: center; gap: 18px;
  width: max-content; max-width: 100%; min-width: 0;
}
.page:not(.retail-mode):not(.overseas-mode) .section-card-group .card-art {
  position: static; inset: auto; flex: 0 0 72px; width: 72px; height: 72px;
  margin: 0; object-fit: contain; transform: none;
}
.page:not(.retail-mode):not(.overseas-mode) .section-card-group .card-copy {
  position: static; inset: auto; margin: 0; min-width: 0; flex: 0 1 auto;
}
.page:not(.retail-mode):not(.overseas-mode) .section-card-group .card-title {
  margin: 0; padding: 0; line-height: 1.2; font-size: clamp(19px, 1.6vw, 27px);
  white-space: normal; overflow-wrap: anywhere; text-align: left;
}
.page:not(.retail-mode):not(.overseas-mode) .catalog-card:has(.section-card-group) > .card-arrow {
  position: absolute; left: auto; right: 12px; top: 50%; bottom: auto;
  transform: translateY(-50%); width: 32px; height: 32px;
}
@media(max-width:600px) {
  .page.overseas-mode .home-entry-cta { font-size: 17px; min-height: 52px; padding: 13px 21px; }
  .page:not(.retail-mode):not(.overseas-mode) .catalog-card:has(.section-card-group) { padding: 20px 45px; min-height: 128px; }
  .page .section-card-group { gap: 12px; }
  .page:not(.retail-mode):not(.overseas-mode) .section-card-group .card-art { width: 52px; height: 52px; flex-basis: 52px; }
  .page:not(.retail-mode):not(.overseas-mode) .catalog-card:has(.section-card-group) > .card-arrow { right: 8px; width: 28px; height: 28px; }
}

/* Task 4: independent information scroll alongside a stationary gallery. */
@media (min-width:1025px) {
  .page .product-detail:not(.style-guide-detail) {
    align-items: start;
  }
  .page .product-detail:not(.style-guide-detail):not([data-portrait-photo="true"]) {
    grid-template-columns: minmax(0, 1.35fr) minmax(340px, 1fr);
  }
  .page .product-detail:not(.style-guide-detail) > .product-gallery {
    grid-column: 1; width: 100%; min-width: 0;
    position: sticky; top: 20px;
  }
  .page .product-detail:not(.style-guide-detail) > .product-info {
    grid-column: 2; width: 100%; min-width: 0;
    height: max(440px, calc(100dvh - 240px));
    max-height: max(440px, calc(100dvh - 240px));
    overflow-y: auto; overflow-x: hidden; overscroll-behavior-y: contain;
    scrollbar-gutter: stable; padding: 12px 18px 28px;
  }
  .page .full-house-product-detail .spec-grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .page .product-detail:not(.style-guide-detail) .gallery-main {
    height: auto; min-height: 0; max-height: max(280px, calc(100dvh - 480px));
  }
  .page .product-detail:not(.style-guide-detail) .gallery-main > img {
    max-height: max(280px, calc(100dvh - 480px));
  }
}
@media(max-width:1024px) {
  .page .product-detail:not(.style-guide-detail) > .product-info {
    height: auto; max-height: none; overflow: visible;
  }
}

@media(min-width:1025px) {
.page .product-detail:not(.style-guide-detail) .gallery-thumbs {grid-auto-columns:140px;gap:12px;}
.page .product-detail:not(.style-guide-detail) .gallery-thumb {height:84px;}
.page .product-detail:not(.style-guide-detail) .gallery-thumb img {object-fit:contain;}
}

/* Task 3: consistent unframed interior previews, without clipping furniture. */
.page .kitchen-product-card[data-kitchen-section="series"].polished-product .color-image-wrap {
  aspect-ratio:3/2!important;padding:0!important;border-radius:0!important;background:#f2f0ec!important;
}
.page .kitchen-product-card[data-kitchen-section="series"].polished-product .color-image-wrap img {
  width:100%;height:100%;object-fit:contain!important;border-radius:0!important;padding:0;
}
.page .polished-product :is(img,.color-image-wrap,.product-image-wrap) {border-radius:0!important}

/* Match the desktop gallery column to portrait photography, keeping the complete image. */
@media (min-width:1025px) {
  .page .product-detail:not(.style-guide-detail) { --main-photo-height: max(320px, calc(100dvh - 340px)); }
  .page .product-detail:not(.style-guide-detail)[data-portrait-photo="true"] {
    grid-template-columns: minmax(0, var(--portrait-photo-width)) minmax(340px, 1fr);
  }
  .page .product-detail:not(.style-guide-detail) .gallery-main {
    width:100%; height:auto; min-height:0; max-height:var(--main-photo-height); margin-inline:auto;
  }
  .page .product-detail:not(.style-guide-detail) .gallery-main > img {
    width:100%; height:auto; max-height:var(--main-photo-height); object-fit:contain; object-position:center top;
  }
  .page .product-detail:not(.style-guide-detail) .product-gallery > h2 { margin:14px 0 12px; padding-inline:8px; }
}

/* Left collection photographs: a consistent frame without cropping furniture. */
.page .series-layout .product-card .product-image-wrap {aspect-ratio:3/2!important;height:auto!important;padding:0!important;border-radius:0!important;background:#f2f0ec!important;overflow:hidden;}
.page .series-layout .product-card .product-image-wrap img {display:block;width:100%!important;height:100%!important;object-fit:contain!important;border-radius:0!important;padding:0!important;}
.page .series-description {padding:20px 24px;}
.page .series-description h3 {display:none;}
@media(max-width:600px){.page .series-description{padding:16px}.page .series-premium-head h2{font-size:28px;line-height:1.15}}

.page .series-layout .product-card,.page .kitchen-product-card[data-kitchen-section="series"] {border-radius:0!important;}
@media(max-width:760px){.page .series-description{display:flex!important;flex-direction:column;gap:16px}.page .series-description-text,.page .series-description-aside{width:100%;min-width:0}.page .series-description-aside{display:flex;flex-wrap:wrap;gap:8px}.page .series-description-aside span{flex:0 1 auto;max-width:100%;overflow-wrap:anywhere}}

/* Left catalogue: square outer frames as well as square images. */
.page .favorite-card-shell:has(> .polished-product:not([data-home-products-item])),
.page .polished-product:not([data-home-products-item]),
.page .polished-product:not([data-home-products-item]) :is(img,.color-image-wrap,.product-image-wrap) {
  border-radius:0!important;
}

/* Visible chevron geometry is centered independently of font metrics. */
.gallery-nav { padding:0; }
.gallery-nav svg {display:block;width:24px;height:24px;pointer-events:none;}

/* Keep left catalogue photographs rectangular in every gallery thumbnail. */
.product-detail .gallery-thumb, .product-detail .gallery-thumb img {border-radius:0!important;}

/* Long captions must fit the narrower portrait-photo column without oversized broken words. */
@media(min-width:1025px){.page .product-detail .product-gallery>h2{font-size:clamp(22px,1.7vw,28px);line-height:1.3;overflow-wrap:break-word;word-break:normal;}}

/* 14 October, request 1: all whole-home collections in one generous list. */
.page:has(.full-house-overview) {max-width:1600px!important;width:100%!important;margin-inline:auto!important;padding-inline:clamp(16px,3vw,56px)!important;box-sizing:border-box;}
.page .cards:has(>.full-house-overview) {display:block!important;width:100%!important;max-width:none!important;}
.page .full-house-overview {width:100%;min-width:0;}
.page .collection-overview-grid {display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:40px!important;}
.page .full-house-overview .favorite-card-shell,.page .full-house-overview .kitchen-product-card {width:100%!important;max-width:none!important;min-width:0;min-height:0!important;height:auto!important;align-self:start!important;}
.page .full-house-overview .color-image-wrap {height:auto!important;aspect-ratio:auto!important;padding:0!important;background:transparent!important;}
.page .full-house-overview .color-image-wrap img {display:block!important;width:100%!important;height:auto!important;max-height:none!important;aspect-ratio:auto!important;object-fit:contain!important;border-radius:0!important;}
.page .full-house-overview h3 {font-size:clamp(21px,2vw,30px)!important;line-height:1.3!important;padding:18px 72px 20px 20px!important;margin:0!important;min-height:80px;box-sizing:border-box;}
@media(max-width:600px){.page .collection-overview-grid{gap:24px!important;}.page .full-house-overview h3{padding:14px 64px 16px 14px!important;font-size:21px!important;}}

.page .collection-overview-grid {grid-auto-rows:min-content!important;align-content:start!important;align-items:start!important;}
.page .full-house-overview .collection-overview-grid .color-card.polished-product h3 {font-size:clamp(21px,2vw,30px)!important;line-height:1.3!important;padding:18px 72px 20px 20px!important;margin:0!important;min-height:80px;box-sizing:border-box;}
@media(max-width:600px){.page .full-house-overview .collection-overview-grid .color-card.polished-product h3{padding:14px 64px 16px 14px!important;font-size:21px!important;}}

.product-copy-status{font-size:14px;line-height:1.4;overflow-wrap:anywhere;max-width:100%;}.favorite-detail-actions .ux-inquiry{max-width:100%;white-space:normal;text-align:center;}

/* Product link action keeps its label readable, including narrow phones. */
.page .favorite-detail-actions {display:flex!important;flex-wrap:wrap!important;width:100%!important;min-width:0!important;gap:10px!important;box-sizing:border-box;}
.page .favorite-detail-actions .ux-inquiry {flex:1 1 220px!important;width:auto!important;min-width:min(220px,100%)!important;max-width:100%!important;word-break:normal!important;overflow-wrap:normal!important;white-space:normal!important;}
.page .favorite-detail-actions .product-copy-status {flex:1 0 100%;min-width:0;}

/* Requests 7–8: generous, equally sized kitchen collection previews. */
.page:has(.kitchen-collection-overview){width:100%!important;max-width:1920px!important;margin-inline:auto!important;box-sizing:border-box;}
.page:has(.kitchen-collection-overview) .catalog-panel{padding-inline:clamp(16px,2.5vw,48px)!important;}
.page .kitchen-collection-overview{width:100%!important;max-width:none!important;grid-template-columns:180px minmax(0,1fr)!important;gap:24px!important;padding-inline:0!important;}
.page .kitchen-collection-overview .kitchen-products-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:24px!important;grid-auto-rows:1fr!important;}
.page .kitchen-collection-overview .kitchen-product-card.polished-product[data-kitchen-section=series] .color-image-wrap{display:block!important;width:100%!important;height:auto!important;aspect-ratio:16/9!important;padding:0!important;margin:0!important;border-radius:0!important;overflow:hidden!important;}
.page .kitchen-collection-overview .kitchen-product-card.polished-product[data-kitchen-section=series] .color-image-wrap img{display:block!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:cover!important;object-position:center!important;padding:0!important;margin:0!important;border-radius:0!important;}
.page .kitchen-collection-overview .kitchen-product-card{padding:0!important;overflow:hidden!important;}
.page .kitchen-collection-overview .kitchen-product-card h3{padding:18px 64px 20px 18px!important;font-size:24px!important;line-height:1.25!important;margin:0!important;min-height:84px;box-sizing:border-box;}
@media(max-width:1600px){.page .kitchen-collection-overview .kitchen-products-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}}
@media(max-width:900px){.page .kitchen-collection-overview{grid-template-columns:minmax(0,1fr)!important;}}
@media(max-width:720px){.page .kitchen-collection-overview .kitchen-products-grid{grid-template-columns:minmax(0,1fr)!important;gap:20px!important;}.page .kitchen-collection-overview .kitchen-product-card h3{font-size:22px!important;}}

/* Kitchen titles: keep favourite button clear, 20261014 */
.page.kitchen-mode .colors-grid .color-card.polished-product h3 {box-sizing:border-box;padding-right:68px!important;min-width:0;overflow-wrap:anywhere;white-space:normal;}

/* Bathroom collections unified, request 13 */
.page:has(.bathroom-collection-overview){width:100%!important;max-width:1800px!important;margin-inline:auto!important;box-sizing:border-box;}
.page:has(.bathroom-collection-overview) .catalog-panel{padding-inline:clamp(16px,2.5vw,48px)!important;}
.page .bathroom-collection-overview .kitchen-products-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:28px!important;}
.page .bathroom-collection-overview .color-card{padding:0!important;overflow:hidden!important;}
.page .bathroom-collection-overview .color-image-wrap{display:block!important;width:100%!important;height:auto!important;aspect-ratio:4/3!important;padding:0!important;margin:0!important;border-radius:0!important;overflow:hidden!important;}
.page .bathroom-collection-overview .color-image-wrap img{display:block!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:contain!important;border-radius:0!important;padding:0!important;}
.page .bathroom-collection-overview .color-card h3{margin:0!important;padding:18px 68px 20px 18px!important;font-size:24px!important;line-height:1.3!important;white-space:normal!important;overflow-wrap:anywhere;box-sizing:border-box;}
@media(max-width:760px){.page .bathroom-collection-overview .kitchen-products-grid{grid-template-columns:minmax(0,1fr)!important;gap:20px!important;}.page .bathroom-collection-overview .color-card h3{font-size:22px!important;}}

/* Bath collections: preserve each full photo without white letterboxing */
.page .bathroom-collection-overview .kitchen-products-grid{align-items:start!important;}
.page .bathroom-collection-overview .color-image-wrap{aspect-ratio:auto!important;}
.page .bathroom-collection-overview .color-image-wrap img{height:auto!important;aspect-ratio:auto!important;}

.page .bathroom-collection-overview .favorite-card-shell,.page .bathroom-collection-overview .color-card{height:auto!important;min-height:0!important;align-self:start!important;}

/* Bathroom titles: keep favourite button clear, 20261014 */
.page.bathroom-mode .colors-grid .color-card.polished-product h3 {box-sizing:border-box;padding-right:68px!important;min-width:0;overflow-wrap:anywhere;white-space:normal;}

/* Balcony unified collections, request 21 */
.page:has(.balcony-collection-overview){width:100%!important;max-width:1800px!important;margin-inline:auto!important;box-sizing:border-box;}
.page:has(.balcony-collection-overview) .catalog-panel{padding-inline:clamp(16px,2.5vw,48px)!important;}
.page .balcony-collection-overview .kitchen-products-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:28px!important;align-items:start!important;}
.page .balcony-collection-overview .favorite-card-shell,.page .balcony-collection-overview .color-card{height:auto!important;min-height:0!important;align-self:start!important;}
.page .balcony-collection-overview .color-card{padding:0!important;overflow:hidden!important;}
.page .balcony-collection-overview .color-image-wrap{display:block!important;width:100%!important;height:auto!important;aspect-ratio:auto!important;padding:0!important;margin:0!important;border-radius:0!important;overflow:hidden!important;}
.page .balcony-collection-overview .color-image-wrap img{display:block!important;width:100%!important;height:auto!important;max-width:none!important;max-height:none!important;object-fit:contain!important;border-radius:0!important;padding:0!important;}
.page .balcony-collection-overview .color-card h3{margin:0!important;padding:18px 68px 20px 18px!important;font-size:24px!important;line-height:1.3!important;white-space:normal!important;overflow-wrap:anywhere;box-sizing:border-box;}
@media(max-width:760px){.page .balcony-collection-overview .kitchen-products-grid{grid-template-columns:minmax(0,1fr)!important;gap:20px!important;}.page .balcony-collection-overview .color-card h3{font-size:22px!important;}}

/* Request 22: readable material previews and separate favorite control. */
.page .matrix-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:24px!important;grid-auto-rows:auto!important;}
.page .matrix-grid .matrix-card.polished-product h3{padding:16px 68px 18px 16px!important;box-sizing:border-box;white-space:normal;overflow-wrap:anywhere;font-size:20px!important;line-height:1.35!important;}
.page .matrix-grid .color-image-wrap{padding:0!important;border-radius:0!important;}
.page .matrix-grid .matrix-card.polished-product{display:flex!important;flex-direction:column!important;min-height:0!important;height:100%!important;grid-template-rows:none!important;}
.page .matrix-grid .matrix-card.polished-product .color-image-wrap{height:auto!important;aspect-ratio:4/3!important;}
.page .matrix-grid .matrix-card-meta{margin:0 16px 16px!important;align-self:start;}
@media(max-width:1200px){.page .matrix-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}}
@media(max-width:600px){.page .matrix-grid{grid-template-columns:minmax(0,1fr)!important;}}

/* Request 23: whole words in the interior doors entry. */
.page .catalog-card[data-code="sfy_product_floor_os"] .card-title{font-size:clamp(18px,1.9vw,30px)!important;line-height:1.2!important;word-break:normal!important;overflow-wrap:normal!important;hyphens:none!important;}
.page .door-title-line{display:block;white-space:nowrap;}

@media(min-width:601px) and (max-width:1100px){.page .catalog-card[data-code="sfy_product_floor_os"] .card-copy{left:20px!important;right:20px!important;bottom:86px!important;width:auto!important;max-width:none!important;}.page .catalog-card[data-code="sfy_product_floor_os"] .card-title{font-size:18px!important;}}

/* Requests 24–26: wall panel photos and readable titles. */
.page #cards .kitchen-products-grid:has([data-polish-key^="wall-panel-catalog.json:"]){grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:24px!important;grid-auto-rows:auto!important;align-items:start!important;}
.page .favorite-card-shell:has([data-polish-key^="wall-panel-catalog.json:"]){height:auto!important;min-height:0!important;align-self:start!important;}
.page [data-polish-key^="wall-panel-catalog.json:"]{height:auto!important;min-height:0!important;display:flex!important;flex-direction:column!important;padding:0!important;grid-template-rows:none!important;}
.page [data-polish-key^="wall-panel-catalog.json:"] .color-image-wrap{height:auto!important;aspect-ratio:auto!important;padding:0!important;min-height:0!important;border-radius:0!important;}
.page [data-polish-key^="wall-panel-catalog.json:"] .color-image-wrap img{width:100%!important;height:auto!important;max-height:none!important;max-width:none!important;object-fit:contain!important;border-radius:0!important;}
.page [data-polish-key^="wall-panel-catalog.json:"] h3{padding:18px 68px 20px 18px!important;margin:0!important;font-size:20px!important;line-height:1.35!important;white-space:normal!important;overflow-wrap:anywhere;box-sizing:border-box;}
@media(max-width:1100px){.page #cards .kitchen-products-grid:has([data-polish-key^="wall-panel-catalog.json:"]){grid-template-columns:repeat(2,minmax(0,1fr))!important;}}
@media(max-width:600px){.page #cards .kitchen-products-grid:has([data-polish-key^="wall-panel-catalog.json:"]){grid-template-columns:minmax(0,1fr)!important;}}


/* Requests 27 and 28: larger wardrobe collections and centered room menus. */
.page.series-mode{width:100%!important;max-width:1920px!important;margin-inline:auto!important;box-sizing:border-box;}
.page.series-mode .catalog-panel{padding-inline:clamp(16px,2.5vw,48px)!important;}
.page.series-mode #cards .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:28px!important;grid-auto-rows:auto!important;align-items:start!important;}
.page.series-mode #cards .product-card{height:auto!important;min-height:0!important;display:flex!important;flex-direction:column!important;padding:0!important;}
.page.series-mode #cards .favorite-card-shell{height:auto!important;min-height:0!important;align-self:start!important;}
.page.series-mode #cards .product-image-wrap{height:auto!important;aspect-ratio:auto!important;padding:0!important;border-radius:0!important;}
.page.series-mode #cards .product-image-wrap img{width:100%!important;height:auto!important;max-height:none!important;object-fit:contain!important;border-radius:0!important;}
.page.series-mode #cards .product-card h2{font-size:24px!important;line-height:1.3!important;padding:18px 68px 20px 18px!important;margin:0!important;box-sizing:border-box;}
.page:is(.wardrobe-mode,.kitchen-mode,.bathroom-mode):not(.series-mode) #cards.retail-cards .catalog-card:has(.section-card-group){padding:24px 46px!important;min-height:190px!important;}
.page:is(.wardrobe-mode,.kitchen-mode,.bathroom-mode) #cards.retail-cards .section-card-group .card-art{width:96px!important;height:96px!important;flex-basis:96px!important;}
.page:is(.wardrobe-mode,.kitchen-mode,.bathroom-mode) #cards.retail-cards .section-card-group .card-title{font-size:clamp(23px,1.8vw,30px)!important;line-height:1.2!important;}
@media(max-width:760px){.page.series-mode #cards .product-grid{grid-template-columns:minmax(0,1fr)!important;}.page.series-mode #cards .product-card h2{font-size:22px!important;}}
@media(max-width:600px){.page:is(.wardrobe-mode,.kitchen-mode,.bathroom-mode) #cards.retail-cards .section-card-group .card-art{width:64px!important;height:64px!important;flex-basis:64px!important;}.page:is(.wardrobe-mode,.kitchen-mode,.bathroom-mode) #cards.retail-cards .section-card-group .card-title{font-size:21px!important;}.page:is(.wardrobe-mode,.kitchen-mode,.bathroom-mode):not(.series-mode) #cards.retail-cards .catalog-card:has(.section-card-group){padding:20px 40px!important;min-height:150px!important;}}
@media(max-width:360px){.page:is(.wardrobe-mode,.kitchen-mode,.bathroom-mode) #cards.retail-cards .section-card-group{flex-direction:column!important;gap:10px!important;}.page:is(.wardrobe-mode,.kitchen-mode,.bathroom-mode) #cards.retail-cards .section-card-group .card-title{text-align:center!important;}}
.page:is(.wardrobe-mode,.kitchen-mode,.bathroom-mode) #cards.retail-cards .section-card-group .card-title{overflow-wrap:normal!important;word-break:normal!important;hyphens:none!important;}
@media(min-width:901px) and (max-width:1600px){.page:is(.wardrobe-mode,.kitchen-mode,.bathroom-mode) #cards.retail-cards{grid-template-columns:repeat(2,minmax(0,1fr))!important;}}
@media(max-width:900px){.page:is(.wardrobe-mode,.kitchen-mode,.bathroom-mode) #cards.retail-cards{grid-template-columns:minmax(0,1fr)!important;}}

/* Wall detail: portrait schemas must not squeeze titles and thumbnails. */
@media(min-width:1025px){
.page .product-detail[data-extra-platform="wall-panel"][data-portrait-photo="true"]:has(>.product-info){grid-template-columns:minmax(0,1.35fr) minmax(340px,1fr)}
.page .product-detail[data-extra-platform="wall-panel"][data-portrait-photo="true"] .gallery-main{width:fit-content;max-width:100%;background:transparent;}
.page .product-detail[data-extra-platform="wall-panel"][data-portrait-photo="true"] .gallery-main>img{width:auto;max-width:100%;height:auto;}
.page .product-detail[data-extra-platform="wall-panel"] .product-gallery>h2{max-width:100%;padding:8px 12px;word-break:normal;overflow-wrap:break-word;}
}
/* These three extra platforms are all on the left; do not stretch grid rows to screen height. */
.page .product-detail[data-extra-platform]{min-height:0;align-content:start;grid-auto-rows:max-content;}
@media(max-width:1024px){.page .product-detail[data-extra-platform] .product-gallery>h2{font-size:22px;line-height:1.3;padding-inline:8px;}}

@media(min-width:1025px){.page .product-detail[data-extra-platform="wall-panel"][data-portrait-photo="true"] .gallery-main{min-width:min(100%,260px)}}

@media(min-width:1025px){.page .product-detail[data-extra-platform="wall-panel"][data-portrait-photo="true"] .gallery-main>img{margin-inline:auto}}

/* Keep wall diagram dimensions unobstructed by gallery controls. */
.page .product-detail[data-extra-platform="wall-panel"] .gallery-main:has(.gallery-nav){padding-bottom:64px;max-height:none;}
.page .product-detail[data-extra-platform="wall-panel"] .gallery-main .gallery-nav{top:auto;bottom:8px;transform:none;}
.page .product-detail[data-extra-platform="wall-panel"] .gallery-main .gallery-count{bottom:18px;right:50%;transform:translateX(50%);}

/* Matrix samples follow their source proportions; no artificial landscape frame. */
.page .matrix-grid .matrix-card.polished-product .color-image-wrap{height:auto!important;min-height:0!important;aspect-ratio:auto!important;padding:0!important;flex:none!important;}
.page .matrix-grid .matrix-card.polished-product .color-image-wrap img{display:block!important;width:100%!important;height:auto!important;max-width:none!important;max-height:none!important;aspect-ratio:auto!important;object-fit:contain!important;margin:0!important;padding:0!important;}
.page .matrix-grid .matrix-card.polished-product{height:auto!important;align-self:start!important;}

/* Left balcony: color swatches follow their source ratio, with no side frame. */
.page [data-polish-key^="balcony-catalog.json:"][data-extra-product-section="colors"] .color-image-wrap {height:auto!important;min-height:0!important;aspect-ratio:auto!important;padding:0!important;flex:none!important;}
.page [data-polish-key^="balcony-catalog.json:"][data-extra-product-section="colors"] .color-image-wrap img {display:block!important;width:100%!important;height:auto!important;max-width:none!important;max-height:none!important;aspect-ratio:auto!important;object-fit:contain!important;margin:0!important;padding:0!important;}
.page [data-polish-key^="balcony-catalog.json:"][data-extra-product-section="colors"] {height:auto!important;align-self:start!important;}

/* Left bathroom: color swatches follow their source ratio, with no side frame. */
.page [data-polish-key^="bathroom-catalog.json:"][data-bathroom-section="colors"] .color-image-wrap {height:auto!important;min-height:0!important;aspect-ratio:auto!important;padding:0!important;flex:none!important;}
.page [data-polish-key^="bathroom-catalog.json:"][data-bathroom-section="colors"] .color-image-wrap img {display:block!important;width:100%!important;height:auto!important;max-width:none!important;max-height:none!important;aspect-ratio:auto!important;object-fit:contain!important;margin:0!important;padding:0!important;}
.page [data-polish-key^="bathroom-catalog.json:"][data-bathroom-section="colors"] {height:auto!important;align-self:start!important;}


/* Bathroom only: keep arrows and counter below photographs and diagram labels. */
.page #cards .product-detail .gallery-main:has(>[data-gallery-nav="bathroom"]){padding:0 0 64px!important;box-sizing:content-box!important;max-height:none!important;}
.page #cards .product-detail .gallery-main:has(>[data-gallery-nav="bathroom"]) .gallery-nav{top:auto!important;bottom:8px!important;transform:none!important;}
.page #cards .product-detail .gallery-main:has(>[data-gallery-nav="bathroom"]) .gallery-count{bottom:18px!important;right:50%!important;transform:translateX(50%)!important;}

/* Kitchen only: keep arrows and counter below photographs and diagram labels. */
.page #cards .product-detail .gallery-main:has(>[data-gallery-nav="kitchen"]){padding:0 0 64px!important;box-sizing:content-box!important;max-height:none!important;}
.page #cards .product-detail .gallery-main:has(>[data-gallery-nav="kitchen"]) .gallery-nav{top:auto!important;bottom:8px!important;transform:none!important;}
.page #cards .product-detail .gallery-main:has(>[data-gallery-nav="kitchen"]) .gallery-count{bottom:18px!important;right:50%!important;transform:translateX(50%)!important;}

/* Full house only: keep arrows and counter below photographs and diagram labels. */
.page #cards .product-detail .gallery-main:has(>[data-gallery-nav="fullHouse"]){padding:0 0 64px!important;box-sizing:content-box!important;max-height:none!important;}
.page #cards .product-detail .gallery-main:has(>[data-gallery-nav="fullHouse"]) .gallery-nav{top:auto!important;bottom:8px!important;transform:none!important;}
.page #cards .product-detail .gallery-main:has(>[data-gallery-nav="fullHouse"]) .gallery-count{bottom:18px!important;right:50%!important;transform:translateX(50%)!important;}

/* Kitchen only: keep arrows and counter below photographs and diagram labels. */
.page #cards .product-detail .gallery-main:has(>[data-gallery-nav="product"]){padding:0 0 64px!important;box-sizing:content-box!important;max-height:none!important;}
.page #cards .product-detail .gallery-main:has(>[data-gallery-nav="product"]) .gallery-nav{top:auto!important;bottom:8px!important;transform:none!important;}
.page #cards .product-detail .gallery-main:has(>[data-gallery-nav="product"]) .gallery-count{bottom:18px!important;right:50%!important;transform:translateX(50%)!important;}

/* Interior doors: controls below the image. */
.page #cards .product-detail[data-extra-platform="interior-door"] .gallery-main:has(>.gallery-nav){padding:0 0 64px!important;box-sizing:content-box!important;max-height:none!important;}
.page #cards .product-detail[data-extra-platform="interior-door"] .gallery-main:has(>.gallery-nav) .gallery-nav{top:auto!important;bottom:8px!important;transform:none!important;}
.page #cards .product-detail[data-extra-platform="interior-door"] .gallery-main:has(>.gallery-nav) .gallery-count{bottom:18px!important;right:50%!important;transform:translateX(50%)!important;}

/* Door previews keep the complete source image and remove the fixed-ratio frame. */
.page [data-polish-key^="interior-door-catalog.json:"] .color-image-wrap {height:auto!important;min-height:0!important;aspect-ratio:auto!important;padding:0!important;flex:none!important;}
.page [data-polish-key^="interior-door-catalog.json:"] .color-image-wrap img {display:block!important;width:100%!important;height:auto!important;max-width:none!important;max-height:640px!important;aspect-ratio:auto!important;object-fit:contain!important;margin:0!important;padding:0!important;}
.page [data-polish-key^="interior-door-catalog.json:"] {height:auto!important;align-self:start!important;}
.page .favorite-card-shell:has(>[data-polish-key^="interior-door-catalog.json:"]) {align-self:start!important;height:auto!important;min-height:0!important;}

/* Keep door cards readable when a sidebar reduces the available grid width. */
.page .colors-grid.kitchen-products-grid:has(>[data-polish-key^="interior-door-catalog.json:"],>.favorite-card-shell>[data-polish-key^="interior-door-catalog.json:"]) {grid-template-columns:repeat(auto-fill,minmax(min(290px,100%),1fr))!important;align-items:start!important;}

/* Keep the entire facade visible in the collection composition. */
.page #cards .product-detail:has(.product-gallery [data-gallery-nav="product"]) .spec-card img {
  width:100%!important;height:auto!important;max-height:360px!important;
  object-fit:contain!important;aspect-ratio:auto!important;border-radius:0!important;
}
.page #cards .product-detail:has(.product-gallery [data-gallery-nav="product"]) .spec-card {
  align-self:start!important;height:auto!important;border-radius:0!important;
}

/* Whole-room photographs in wardrobe collection details. */
.page #cards .product-detail:has(.product-gallery [data-gallery-nav="product"]) .interior-grid {
  grid-template-columns: minmax(0, 1fr) !important;
  align-items: start !important;
}
.page #cards .product-detail:has(.product-gallery [data-gallery-nav="product"]) .interior-grid figure {
  align-self: start !important;
  height: auto !important;
}
.page #cards .product-detail:has(.product-gallery [data-gallery-nav="product"]) .interior-grid img {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: auto !important;
  object-fit: contain !important;
  border-radius: 0 !important;
}

/* Keep the entire facade visible in the collection composition. */
.page.colors-detail-mode.product-mode #cards.product-cards .product-detail.style-guide-detail .spec-card img {
  width:100%!important;height:auto!important;max-height:none!important;
  object-fit:contain!important;aspect-ratio:auto!important;border-radius:0!important;
}
.page.colors-detail-mode.product-mode #cards.product-cards .product-detail.style-guide-detail .spec-card {
  align-self:start!important;height:auto!important;border-radius:0!important;
}




/* Keep slider columns explicit: the mobile one-column grid rule must not collapse the first slide. */
.page #cards :is(.kitchen-product-detail,.bathroom-product-detail) .detail-slider-section .spec-slider-track {
  grid-template-columns: none !important;
  grid-auto-columns: calc((100% - 14px) / 2);
}
.page #cards :is(.kitchen-product-detail,.bathroom-product-detail) .spec-card {
  align-self: start;
  height: auto;
  border-radius: 0;
}
.page #cards :is(.kitchen-product-detail,.bathroom-product-detail) .spec-card img {
  width: 100%; height: auto; max-height: 360px;
  aspect-ratio: auto; object-fit: contain; border-radius: 0;
}
@media (max-width: 700px) {
  .page #cards :is(.kitchen-product-detail,.bathroom-product-detail) .detail-slider-section .spec-slider-track {
    grid-auto-columns: 100%;
  }
}

/* A single left-catalogue image needs no counter over its dimensions. */
.page #cards .product-detail .gallery-main:not(:has(>.gallery-nav)) > .gallery-count { display:none!important; }

/* Keep navigation below all LEFT gallery images, including material samples and diagrams. */
.page #cards .product-detail .gallery-main:has(>.gallery-nav){padding:0 0 64px!important;box-sizing:content-box!important;max-height:none!important;}
.page #cards .product-detail .gallery-main:has(>.gallery-nav) .gallery-nav{top:auto!important;bottom:8px!important;transform:none!important;}
.page #cards .product-detail .gallery-main:has(>.gallery-nav) .gallery-count{bottom:18px!important;right:50%!important;transform:translateX(50%)!important;}

/* LEFT component previews: reserve the favorite control and allow narrow grids. */
.page #cards .color-card:is([data-color-product],[data-countertop-product],[data-door-product],[data-handle-product],[data-functional-product],[data-basic-product],[data-partition-product]) h3{padding-right:64px!important;box-sizing:border-box!important;overflow-wrap:anywhere;}
.page #cards .functional-layout .series-content{min-width:0!important;max-width:100%!important;}
.page #cards .functional-grid{grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr))!important;min-width:0!important;}
.page #cards .functional-grid>.favorite-card-shell,.page #cards .functional-grid .functional-card{min-width:0!important;max-width:100%!important;width:100%!important;}
@media(max-width:600px){.page #cards .functional-grid{grid-template-columns:minmax(0,1fr)!important;}}
@media(max-width:1024px){
.page #cards .colors-content{min-width:0!important;max-width:100%!important;}
.page #cards .colors-grid:has([data-color-product]),.page #cards .colors-grid:has([data-countertop-product]),.page #cards .colors-grid:has([data-door-product]),.page #cards .colors-grid:has([data-handle-product]){grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr))!important;min-width:0!important;}
.page #cards .colors-grid>.favorite-card-shell{min-width:0!important;max-width:100%!important;}
}

/* Flat color/finish sample previews only. Glass objects and detail galleries keep contain. */
.page #cards :is([data-color-product="27346"],[data-color-product="27345"],[data-color-product="27344"],[data-color-product="27343"],[data-color-product="27342"],[data-color-product="24766"],[data-color-product="19143"],[data-color-product="19144"],[data-color-product="19145"],[data-color-product="19146"],[data-color-product="19147"],[data-color-product="24748"],[data-color-product="24732"],[data-color-product="19148"],[data-color-product="19149"],[data-color-product="19150"],[data-color-product="19155"],[data-color-product="19159"],[data-color-product="19160"],[data-color-product="19162"],[data-color-product="19163"],[data-color-product="19164"],[data-color-product="19168"],[data-color-product="19169"],[data-color-product="19171"],[data-color-product="19172"],[data-color-product="19204"],[data-color-product="19208"],[data-color-product="19209"],[data-color-product="19210"],[data-color-product="19214"],[data-color-product="19215"],[data-color-product="19216"],[data-color-product="19219"],[data-color-product="19220"],[data-color-product="19221"],[data-color-product="19225"],[data-color-product="19226"],[data-color-product="19234"],[data-color-product="19230"],[data-color-product="19232"],[data-color-product="19236"],[data-color-product="19272"],[data-color-product="19245"],[data-color-product="19248"],[data-color-product="19274"],[data-color-product="19246"],[data-color-product="19356"],[data-color-product="19357"],[data-color-product="19358"],[data-color-product="28025"],[data-color-product="28026"],[data-color-product="28028"],[data-color-product="19302"],[data-color-product="19301"],[data-color-product="19295"],[data-color-product="19296"],[data-color-product="19297"],[data-color-product="19299"],[data-color-product="28007"],[data-color-product="19344"],[data-color-product="27998"],[data-color-product="27999"],[data-color-product="28000"],[data-color-product="28001"],[data-color-product="23014"],[data-color-product="19359"],[data-color-product="19360"],[data-color-product="19361"],[data-color-product="23013"],[data-color-product="19305"],[data-color-product="19306"],[data-color-product="19307"],[data-color-product="19308"],[data-color-product="19309"],[data-color-product="19310"],[data-color-product="19311"],[data-color-product="19312"],[data-color-product="19313"],[data-color-product="19314"],[data-color-product="19315"],[data-color-product="19317"],[data-color-product="24773"],[data-color-product="24772"],[data-color-product="24771"],[data-color-product="24770"],[data-color-product="28010"],[data-color-product="19351"],[data-color-product="19252"],[data-color-product="19253"],[data-color-product="19254"],[data-color-product="19255"],[data-color-product="19153"],[data-color-product="28008"],[data-color-product="28009"],[data-color-product="28011"],[data-color-product="28012"],[data-color-product="28013"],[data-color-product="19353"],[data-color-product="24811"],[data-color-product="24810"],[data-color-product="24809"],[data-color-product="24808"],[data-color-product="19352"],[data-color-product="19279"],[data-color-product="19280"],[data-color-product="19283"],[data-color-product="19284"],[data-color-product="19285"],[data-color-product="19286"],[data-color-product="19287"],[data-color-product="19288"],[data-color-product="19289"],[data-color-product="19148"],[data-color-product="19220"],[data-color-product="19221"],[data-color-product="19222"],[data-color-product="19234"],[data-color-product="19239"],[data-color-product="19241"],[data-color-product="19240"],[data-color-product="19244"],[data-color-product="19245"],[data-color-product="19294"],[data-color-product="28002"],[data-color-product="28003"],[data-color-product="28004"],[data-color-product="24812"],[data-color-product="19303"],[data-color-product="28014"],[data-color-product="28019"],[data-color-product="28020"],[data-color-product="28021"],[data-color-product="28022"],[data-color-product="28023"],[data-color-product="28024"],[data-color-product="19350"]) img{object-fit:cover!important;width:100%!important;height:100%!important;}

/* Very narrow LEFT products: keep the whole item visible without a metre-long mobile image. */
.page #cards .product-detail .gallery-main[data-narrow-photo="true"] > img{max-height:75vh!important;object-fit:contain!important;}

/* Reviewed flat kitchen finish samples: fill preview, preserve full gallery. */
.page #cards .kitchen-products-grid{grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr))!important;}
.page #cards .kitchen-product-card h3{padding-right:54px!important;box-sizing:border-box;overflow-wrap:normal!important;word-break:normal!important;}
.page #cards .kitchen-product-card .material-title-main,.page #cards .kitchen-product-card .material-title-sub{overflow-wrap:normal!important;word-break:normal!important;}
.page #cards [data-kitchen-product="24731"] .color-image-wrap img,
.page #cards [data-kitchen-product="25202"] .color-image-wrap img,
.page #cards [data-kitchen-product="27976"] .color-image-wrap img,
.page #cards [data-kitchen-product="27979"] .color-image-wrap img,
.page #cards [data-kitchen-product="27975"] .color-image-wrap img,
.page #cards [data-kitchen-product="27977"] .color-image-wrap img,
.page #cards [data-kitchen-product="23103"] .color-image-wrap img,
.page #cards [data-kitchen-product="27980"] .color-image-wrap img,
.page #cards [data-kitchen-product="27080"] .color-image-wrap img,
.page #cards [data-kitchen-product="27082"] .color-image-wrap img,
.page #cards [data-kitchen-product="20307"] .color-image-wrap img,
.page #cards [data-kitchen-product="20305"] .color-image-wrap img,
.page #cards [data-kitchen-product="20306"] .color-image-wrap img,
.page #cards [data-kitchen-product="27981"] .color-image-wrap img,
.page #cards [data-kitchen-product="20320"] .color-image-wrap img,
.page #cards [data-kitchen-product="20313"] .color-image-wrap img,
.page #cards [data-kitchen-product="20315"] .color-image-wrap img,
.page #cards [data-kitchen-product="20316"] .color-image-wrap img,
.page #cards [data-kitchen-product="20317"] .color-image-wrap img,
.page #cards [data-kitchen-product="20319"] .color-image-wrap img,
.page #cards [data-kitchen-product="20292"] .color-image-wrap img,
.page #cards [data-kitchen-product="20321"] .color-image-wrap img,
.page #cards [data-kitchen-product="27978"] .color-image-wrap img,
.page #cards [data-kitchen-product="28015"] .color-image-wrap img,
.page #cards [data-kitchen-product="28016"] .color-image-wrap img,
.page #cards [data-kitchen-product="28017"] .color-image-wrap img,
.page #cards [data-kitchen-product="28018"] .color-image-wrap img,
.page #cards [data-kitchen-product="28032"] .color-image-wrap img,
.page #cards [data-kitchen-product="28038"] .color-image-wrap img,
.page #cards [data-kitchen-product="28039"] .color-image-wrap img,
.page #cards [data-kitchen-product="28041"] .color-image-wrap img,
.page #cards [data-kitchen-product="28040"] .color-image-wrap img,
.page #cards [data-kitchen-product="27970"] .color-image-wrap img,
.page #cards [data-kitchen-product="27972"] .color-image-wrap img,
.page #cards [data-kitchen-product="27973"] .color-image-wrap img,
.page #cards [data-kitchen-product="27974"] .color-image-wrap img,
.page #cards [data-kitchen-product="27966"] .color-image-wrap img,
.page #cards [data-kitchen-product="27967"] .color-image-wrap img,
.page #cards [data-kitchen-product="27968"] .color-image-wrap img,
.page #cards [data-kitchen-product="27969"] .color-image-wrap img,
.page #cards [data-kitchen-product="27971"] .color-image-wrap img,
.page #cards [data-kitchen-product="27945"] .color-image-wrap img,
.page #cards [data-kitchen-product="27946"] .color-image-wrap img,
.page #cards [data-kitchen-product="27944"] .color-image-wrap img,
.page #cards [data-kitchen-product="23106"] .color-image-wrap img,
.page #cards [data-kitchen-product="20336"] .color-image-wrap img,
.page #cards [data-kitchen-product="20337"] .color-image-wrap img,
.page #cards [data-kitchen-product="20338"] .color-image-wrap img,
.page #cards [data-kitchen-product="25201"] .color-image-wrap img,
.page #cards [data-kitchen-product="25200"] .color-image-wrap img,
.page #cards [data-kitchen-product="25199"] .color-image-wrap img,
.page #cards [data-kitchen-product="25198"] .color-image-wrap img,
.page #cards [data-kitchen-product="23104"] .color-image-wrap img,
.page #cards [data-kitchen-product="28037"] .color-image-wrap img,
.page #cards [data-kitchen-product="20340"] .color-image-wrap img,
.page #cards [data-kitchen-product="20294"] .color-image-wrap img,
.page #cards [data-kitchen-product="20339"] .color-image-wrap img,
.page #cards [data-kitchen-product="27963"] .color-image-wrap img,
.page #cards [data-kitchen-product="20296"] .color-image-wrap img,
.page #cards [data-kitchen-product="20297"] .color-image-wrap img,
.page #cards [data-kitchen-product="27960"] .color-image-wrap img,
.page #cards [data-kitchen-product="27961"] .color-image-wrap img,
.page #cards [data-kitchen-product="27962"] .color-image-wrap img,
.page #cards [data-kitchen-product="27965"] .color-image-wrap img,
.page #cards [data-kitchen-product="27958"] .color-image-wrap img,
.page #cards [data-kitchen-product="27959"] .color-image-wrap img,
.page #cards [data-kitchen-product="27954"] .color-image-wrap img,
.page #cards [data-kitchen-product="27955"] .color-image-wrap img,
.page #cards [data-kitchen-product="27956"] .color-image-wrap img,
.page #cards [data-kitchen-product="27957"] .color-image-wrap img,
.page #cards [data-kitchen-product="27953"] .color-image-wrap img,
.page #cards [data-kitchen-product="27951"] .color-image-wrap img,
.page #cards [data-kitchen-product="27952"] .color-image-wrap img,
.page #cards [data-kitchen-product="27947"] .color-image-wrap img,
.page #cards [data-kitchen-product="27949"] .color-image-wrap img,
.page #cards [data-kitchen-product="27950"] .color-image-wrap img,
.page #cards [data-kitchen-product="20283"] .color-image-wrap img,
.page #cards [data-kitchen-product="20285"] .color-image-wrap img,
.page #cards [data-kitchen-product="20286"] .color-image-wrap img,
.page #cards [data-kitchen-product="23105"] .color-image-wrap img,
.page #cards [data-kitchen-product="25190"] .color-image-wrap img,
.page #cards [data-kitchen-product="20287"] .color-image-wrap img,
.page #cards [data-kitchen-product="20288"] .color-image-wrap img,
.page #cards [data-kitchen-product="20289"] .color-image-wrap img,
.page #cards [data-kitchen-product="20291"] .color-image-wrap img,
.page #cards [data-kitchen-product="28035"] .color-image-wrap img,
.page #cards [data-kitchen-product="28036"] .color-image-wrap img,
.page #cards [data-kitchen-product="25214"] .color-image-wrap img,
.page #cards [data-kitchen-product="25216"] .color-image-wrap img,
.page #cards [data-kitchen-product="25215"] .color-image-wrap img,
.page #cards [data-kitchen-product="25213"] .color-image-wrap img,
.page #cards [data-kitchen-product="25212"] .color-image-wrap img,
.page #cards [data-kitchen-product="27991"] .color-image-wrap img,
.page #cards [data-kitchen-product="27992"] .color-image-wrap img,
.page #cards [data-kitchen-product="25209"] .color-image-wrap img,
.page #cards [data-kitchen-product="25982"] .color-image-wrap img,
.page #cards [data-kitchen-product="25981"] .color-image-wrap img,
.page #cards [data-kitchen-product="25980"] .color-image-wrap img,
.page #cards [data-kitchen-product="25979"] .color-image-wrap img,
.page #cards [data-kitchen-product="25978"] .color-image-wrap img,
.page #cards [data-kitchen-product="25977"] .color-image-wrap img,
.page #cards [data-kitchen-product="25203"] .color-image-wrap img,
.page #cards [data-kitchen-product="27993"] .color-image-wrap img,
.page #cards [data-kitchen-product="27995"] .color-image-wrap img,
.page #cards [data-kitchen-product="27996"] .color-image-wrap img,
.page #cards [data-kitchen-product="27997"] .color-image-wrap img,
.page #cards [data-kitchen-product="25222"] .color-image-wrap img,
.page #cards [data-kitchen-product="25221"] .color-image-wrap img,
.page #cards [data-kitchen-product="25220"] .color-image-wrap img,
.page #cards [data-kitchen-product="25219"] .color-image-wrap img,
.page #cards [data-kitchen-product="25206"] .color-image-wrap img,
.page #cards [data-kitchen-product="20119"] .color-image-wrap img,
.page #cards [data-kitchen-product="20120"] .color-image-wrap img,
.page #cards [data-kitchen-product="20121"] .color-image-wrap img,
.page #cards [data-kitchen-product="20122"] .color-image-wrap img,
.page #cards [data-kitchen-product="20123"] .color-image-wrap img,
.page #cards [data-kitchen-product="20124"] .color-image-wrap img,
.page #cards [data-kitchen-product="20125"] .color-image-wrap img,
.page #cards [data-kitchen-product="20126"] .color-image-wrap img,
.page #cards [data-kitchen-product="20127"] .color-image-wrap img,
.page #cards [data-kitchen-product="20128"] .color-image-wrap img,
.page #cards [data-kitchen-product="20129"] .color-image-wrap img,
.page #cards [data-kitchen-product="20130"] .color-image-wrap img,
.page #cards [data-kitchen-product="20131"] .color-image-wrap img,
.page #cards [data-kitchen-product="20132"] .color-image-wrap img,
.page #cards [data-kitchen-product="20133"] .color-image-wrap img,
.page #cards [data-kitchen-product="20134"] .color-image-wrap img,
.page #cards [data-kitchen-product="20135"] .color-image-wrap img,
.page #cards [data-kitchen-product="20138"] .color-image-wrap img,
.page #cards [data-kitchen-product="20139"] .color-image-wrap img,
.page #cards [data-kitchen-product="20140"] .color-image-wrap img,
.page #cards [data-kitchen-product="20141"] .color-image-wrap img,
.page #cards [data-kitchen-product="20142"] .color-image-wrap img,
.page #cards [data-kitchen-product="20143"] .color-image-wrap img,
.page #cards [data-kitchen-product="20144"] .color-image-wrap img,
.page #cards [data-kitchen-product="20147"] .color-image-wrap img,
.page #cards [data-kitchen-product="20148"] .color-image-wrap img,
.page #cards [data-kitchen-product="20145"] .color-image-wrap img,
.page #cards [data-kitchen-product="20149"] .color-image-wrap img,
.page #cards [data-kitchen-product="20150"] .color-image-wrap img,
.page #cards [data-kitchen-product="27086"] .color-image-wrap img,
.page #cards [data-kitchen-product="27085"] .color-image-wrap img,
.page #cards [data-kitchen-product="27084"] .color-image-wrap img,
.page #cards [data-kitchen-product="27083"] .color-image-wrap img,
.page #cards [data-kitchen-product="20113"] .color-image-wrap img,
.page #cards [data-kitchen-product="20114"] .color-image-wrap img,
.page #cards [data-kitchen-product="20115"] .color-image-wrap img,
.page #cards [data-kitchen-product="20116"] .color-image-wrap img,
.page #cards [data-kitchen-product="20117"] .color-image-wrap img,
.page #cards [data-kitchen-product="20118"] .color-image-wrap img{object-fit:cover!important;width:100%!important;height:100%!important;}
@media(max-width:600px){.page #cards .kitchen-products-grid{grid-template-columns:minmax(0,1fr)!important;}}

/* LEFT finish previews: keep long words whole and preserve favorite clearance. */
.page #cards .colors-grid:has([data-color-product]){grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr))!important;}
.page #cards [data-color-product] h3{padding-right:54px!important;overflow-wrap:normal!important;word-break:normal!important;}
.page #cards [data-color-product] .material-title-main,.page #cards [data-color-product] .material-title-sub{overflow-wrap:normal!important;word-break:normal!important;}
@media(max-width:600px){.page #cards .colors-grid:has([data-color-product]){grid-template-columns:minmax(0,1fr)!important;}}

/* LEFT kitchen/bathroom attributes: retain whole words on narrow screens. */
@media (max-width: 600px) {
  .kitchen-product-detail .detail-section-head { flex-wrap: wrap; }
  .kitchen-product-detail .detail-section-head h2 {
    font-size: 22px !important;
    line-height: 1.25;
    word-break: normal !important;
    overflow-wrap: normal !important;
    flex: 1 1 100%;
    min-width: 0;
  }
  .kitchen-product-detail .detail-slider-controls { flex-shrink: 0; }
}

/* Keep the whole panel outline visible in its category cover and preview. */
.color-image-wrap img[src$="/wall-748-outline.webp"] {
  object-fit: contain !important;
}

/* Priority collection cards: one shared geometry for the four collection lists. */
.page:has(#cards :is(.full-house-overview,.kitchen-collection-overview,.bathroom-collection-overview)),.page.series-mode:has(#cards .product-grid){width:100%!important;max-width:1920px!important;margin-inline:auto!important;padding-inline:32px!important;box-sizing:border-box!important;}
.page:has(#cards :is(.full-house-overview,.kitchen-collection-overview,.bathroom-collection-overview)) .catalog-panel,.page.series-mode:has(#cards .product-grid) .catalog-panel{padding-inline:0!important;max-width:none!important;width:100%!important;}
.page #cards:has(:is(.full-house-overview,.kitchen-collection-overview,.bathroom-collection-overview)),.page.series-mode #cards{width:100%!important;max-width:none!important;display:block!important;}
.page #cards :is(.full-house-overview,.kitchen-collection-overview,.bathroom-collection-overview,.series-content){width:100%!important;max-width:none!important;min-width:0!important;}
.page #cards .kitchen-collection-overview,.page.series-mode #cards .series-layout{display:block!important;padding-inline:0!important;margin-inline:0!important;max-width:none!important;width:100%!important;box-sizing:border-box!important;}
.page #cards :is(.full-house-overview,.kitchen-collection-overview,.bathroom-collection-overview) .kitchen-products-grid,.page.series-mode #cards .product-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:24px!important;grid-auto-rows:auto!important;align-items:stretch!important;width:100%!important;max-width:none!important;}
.page #cards :is(.full-house-overview,.kitchen-collection-overview,.bathroom-collection-overview) .favorite-card-shell,.page.series-mode #cards .product-grid .favorite-card-shell{width:100%!important;aspect-ratio:1!important;height:auto!important;min-height:0!important;max-height:none!important;align-self:stretch!important;position:relative!important;border-radius:0!important;}
.page #cards :is(.full-house-overview,.kitchen-collection-overview,.bathroom-collection-overview) .color-card,.page.series-mode #cards .product-grid .product-card{box-sizing:border-box!important;width:100%!important;max-width:none!important;height:100%!important;min-height:0!important;aspect-ratio:1!important;display:grid!important;grid-template-rows:minmax(0,1fr) 68px!important;gap:0!important;padding:0!important;margin:0!important;border:0!important;border-radius:0!important;overflow:hidden!important;background:white!important;}
.page #cards :is(.full-house-overview,.kitchen-collection-overview,.bathroom-collection-overview) .color-image-wrap,.page.series-mode #cards .product-grid .product-image-wrap{display:block!important;position:relative!important;width:100%!important;height:100%!important;min-height:0!important;max-height:none!important;aspect-ratio:auto!important;margin:0!important;padding:0!important;overflow:hidden!important;border-radius:0!important;}
.page #cards :is(.full-house-overview,.kitchen-collection-overview,.bathroom-collection-overview) .color-image-wrap img,.page.series-mode #cards .product-grid .product-image-wrap img{display:block!important;position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;margin:0!important;padding:0!important;object-fit:cover!important;object-position:var(--collection-focus,50% 50%)!important;border-radius:0!important;transform:none!important;}
.page #cards :is(.full-house-overview,.kitchen-collection-overview,.bathroom-collection-overview) .color-card>h3,.page.series-mode #cards .product-grid .product-card>h2{box-sizing:border-box!important;display:flex!important;flex-direction:column!important;justify-content:center!important;gap:2px!important;width:100%!important;height:68px!important;min-height:0!important;max-height:68px!important;padding:9px 62px 9px 14px!important;margin:0!important;font-size:17px!important;line-height:22px!important;text-align:left!important;overflow:hidden!important;}
.page #cards :is(.full-house-overview,.kitchen-collection-overview,.bathroom-collection-overview) h3>span,.page.series-mode #cards .product-grid .product-card>h2>span{display:block!important;min-width:0!important;max-width:100%!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;font-size:17px!important;line-height:22px!important;max-height:22px!important;margin:0!important;}
.page #cards :is(.full-house-overview,.kitchen-collection-overview,.bathroom-collection-overview) .material-title-sub,.page.series-mode #cards .product-grid .product-card>h2 .material-title-sub{font-size:14px!important;line-height:18px!important;}
.page #cards :is(.full-house-overview,.kitchen-collection-overview,.bathroom-collection-overview) .favorite-button,.page.series-mode #cards .product-grid .favorite-button{top:auto!important;bottom:12px!important;right:12px!important;width:44px!important;height:44px!important;}
.page.series-mode #cards .series-description{display:none!important;}
.page.series-mode #cards .series-premium-head{margin-block:20px!important;}
.page.series-mode #cards .series-premium-head h2{font-size:30px!important;}
.page.series-mode #cards .product-grid .product-card>h2 .translated-title-sub{font-size:14px!important;line-height:18px!important;}
.page.series-mode #cards .product-grid .product-style-chip{display:none!important;}
@media(max-width:760px){
.page:has(#cards :is(.full-house-overview,.kitchen-collection-overview,.bathroom-collection-overview)),.page.series-mode:has(#cards .product-grid){padding-inline:12px!important;}
.page #cards :is(.full-house-overview,.kitchen-collection-overview,.bathroom-collection-overview) .kitchen-products-grid,.page.series-mode #cards .product-grid{grid-template-columns:minmax(0,1fr)!important;gap:20px!important;}
}

.product-photo-unavailable{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:100%;min-height:180px;padding:24px;color:#65594d;background:#eee9e1;font-size:17px;line-height:1.5;text-align:center;white-space:normal}
.gallery-main:has(.product-photo-unavailable){cursor:default!important;min-height:180px!important;height:auto!important;aspect-ratio:auto!important}
.gallery-main .product-photo-unavailable{min-height:240px}
.product-gallery .gallery-thumbs:empty{display:none}

.page:has(#cards :is(.full-house-overview,.kitchen-collection-overview,.bathroom-collection-overview)),.page.series-mode:has(#cards .series-premium-head){width:100%!important;max-width:1920px!important;margin-inline:auto!important;padding-inline:32px!important;box-sizing:border-box!important;}
.page:has(#cards :is(.full-house-overview,.kitchen-collection-overview,.bathroom-collection-overview)) .catalog-panel,.page.series-mode:has(#cards .series-premium-head) .catalog-panel{padding-inline:0!important;max-width:none!important;width:100%!important;}
.page #cards:has(:is(.full-house-overview,.kitchen-collection-overview,.bathroom-collection-overview)),.page.series-mode:has(#cards .series-premium-head) #cards{width:100%!important;max-width:none!important;display:block!important;}
.page #cards :is(.full-house-overview,.kitchen-collection-overview,.bathroom-collection-overview),.page.series-mode:has(#cards .series-premium-head) #cards .series-content{width:100%!important;max-width:none!important;min-width:0!important;}
.page #cards :is(.full-house-overview,.kitchen-collection-overview,.bathroom-collection-overview) .kitchen-products-grid,.page.series-mode:has(#cards .series-premium-head) #cards .product-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(360px,100%),1fr))!important;gap:24px!important;grid-auto-rows:auto!important;align-items:stretch!important;width:100%!important;max-width:none!important;}
.page #cards :is(.full-house-overview,.kitchen-collection-overview,.bathroom-collection-overview) .favorite-card-shell,.page.series-mode:has(#cards .series-premium-head) #cards .product-grid .favorite-card-shell{display:block!important;width:100%!important;aspect-ratio:auto!important;height:auto!important;min-height:0!important;max-height:none!important;align-self:stretch!important;position:relative!important;border-radius:0!important;}
.page #cards :is(.full-house-overview,.kitchen-collection-overview,.bathroom-collection-overview) .color-card,.page.series-mode:has(#cards .series-premium-head) #cards .product-grid .product-card{box-sizing:border-box!important;display:grid!important;grid-template-rows:auto 68px!important;gap:0!important;width:100%!important;max-width:none!important;height:auto!important;min-height:0!important;aspect-ratio:auto!important;padding:0!important;margin:0!important;border:0!important;border-radius:0!important;overflow:hidden!important;background:#fff!important;}
.page #cards :is(.full-house-overview,.kitchen-collection-overview,.bathroom-collection-overview) .color-image-wrap,.page.series-mode:has(#cards .series-premium-head) #cards .product-grid .product-image-wrap{display:block!important;position:relative!important;width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;aspect-ratio:16/9!important;margin:0!important;padding:0!important;overflow:hidden!important;border-radius:0!important;}
.page #cards :is(.full-house-overview,.kitchen-collection-overview,.bathroom-collection-overview) .color-image-wrap img,.page.series-mode:has(#cards .series-premium-head) #cards .product-grid .product-image-wrap img{display:block!important;position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;margin:0!important;padding:0!important;object-fit:cover!important;object-position:var(--collection-focus,50% 50%)!important;border-radius:0!important;transform:none!important;}
.page #cards :is(.full-house-overview,.kitchen-collection-overview,.bathroom-collection-overview) .color-card>h3,.page.series-mode:has(#cards .series-premium-head) #cards .product-grid .product-card>h2{box-sizing:border-box!important;display:flex!important;flex-direction:column!important;justify-content:center!important;gap:2px!important;width:100%!important;height:68px!important;min-height:0!important;max-height:68px!important;padding:9px 62px 9px 14px!important;margin:0!important;font-size:17px!important;line-height:22px!important;text-align:left!important;overflow:hidden!important;}
.page #cards :is(.full-house-overview,.kitchen-collection-overview,.bathroom-collection-overview) h3>span,.page.series-mode:has(#cards .series-premium-head) #cards .product-grid .product-card>h2>span{display:block!important;min-width:0!important;max-width:100%!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;font-size:17px!important;line-height:22px!important;max-height:22px!important;margin:0!important;}
.page #cards :is(.full-house-overview,.kitchen-collection-overview,.bathroom-collection-overview) .material-title-sub,.page.series-mode:has(#cards .series-premium-head) #cards .product-grid .product-card>h2 .material-title-sub{font-size:14px!important;line-height:18px!important;}
.page #cards :is(.full-house-overview,.kitchen-collection-overview,.bathroom-collection-overview) .favorite-button,.page.series-mode:has(#cards .series-premium-head) #cards .product-grid .favorite-button{top:auto!important;bottom:12px!important;right:12px!important;width:44px!important;height:44px!important;}
@media(max-width:760px){
.page:has(#cards :is(.full-house-overview,.kitchen-collection-overview,.bathroom-collection-overview)),.page.series-mode:has(#cards .series-premium-head){padding-inline:12px!important;}
.page #cards :is(.full-house-overview,.kitchen-collection-overview,.bathroom-collection-overview) .kitchen-products-grid,.page.series-mode:has(#cards .series-premium-head) #cards .product-grid{grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr))!important;gap:16px!important;}
}


@media(max-width:900px){
.page:has(#cards :is(.full-house-overview,.kitchen-collection-overview,.bathroom-collection-overview)),.page.series-mode:has(#cards .series-premium-head){padding-inline:12px!important;}
.page #cards :is(.full-house-overview,.kitchen-collection-overview,.bathroom-collection-overview) .kitchen-products-grid,.page.series-mode:has(#cards .series-premium-head) #cards .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important;}
}
@media(max-width:520px){
.page #cards :is(.full-house-overview,.kitchen-collection-overview,.bathroom-collection-overview) .kitchen-products-grid,.page.series-mode:has(#cards .series-premium-head) #cards .product-grid{grid-template-columns:minmax(0,1fr)!important;}
}


/* 2026-11-03: reviewed product-list geometry. */
.page #cards .kitchen-materials-layout .kitchen-products-grid {grid-template-columns:repeat(auto-fill,minmax(min(260px,100%),1fr))!important;align-items:start!important;grid-auto-rows:auto!important;}
.page #cards .kitchen-materials-layout .kitchen-product-card .color-image-wrap {position:relative!important;display:block!important;width:100%!important;height:auto!important;aspect-ratio:4/3!important;padding:0!important;box-sizing:border-box!important;}
.page #cards .kitchen-materials-layout .kitchen-product-card .color-image-wrap img {position:absolute!important;inset:0!important;display:block!important;width:100%!important;height:100%!important;max-width:100%!important;object-fit:contain!important;padding:0!important;}
.page #cards [data-polish-key^="wall-panel-catalog.json:"] .color-image-wrap {position:relative!important;width:100%!important;aspect-ratio:4/3!important;height:auto!important;}
.page #cards [data-polish-key^="wall-panel-catalog.json:"] .color-image-wrap img {position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:contain!important;}
.page #cards .home-products-product-card > .home-products-product-image {box-sizing:border-box!important;display:block!important;width:100%!important;max-width:100%!important;aspect-ratio:4/3!important;height:auto!important;padding:0!important;}
