/* miratap guideline-aligned refinements */
:root {
  --soft-corner: 4px;
  --soft-corner-small: 3px;
}

body img {
  border-radius: var(--soft-corner) !important;
}

.site-header__logo img {
  width: 108px;
  max-height: 34px;
  object-fit: contain;
  border-radius: 0 !important;
  filter: brightness(0) invert(1);
}

.mobile-menu__primary a {
  grid-template-columns: 1fr 42px;
}

.about-card__image,
.feature-card__media,
.category-card,
.category-card__media,
.case-card,
.case-card__media,
.store-card,
.store-card__image,
.footer-qr__image,
.contact-form,
.bathroom-category-card,
.bathroom-category-card__media,
.product-sidebar__note,
.product-list-card,
.product-list-card__media,
.product-detail-gallery__stage,
.product-detail-composition,
.product-detail-specs,
.product-detail-thumbnail,
.product-page-cta__inner,
.global-nav__dropdown-panel,
.mobile-menu__panel {
  border-radius: var(--soft-corner) !important;
}

.about-process__artboard,
.about-process__image,
.product-page-hero,
.product-page-hero__image,
.hero,
.hero-slider,
.hero-slide,
.hero-slide > img {
  border-radius: var(--soft-corner-small) !important;
}

.hero-slide > picture {
  display: block;
  width: 100%;
  height: 100%;
  overflow: hidden;
  border-radius: var(--soft-corner-small) !important;
}

.about-card__image,
.feature-card__media,
.category-card__media,
.case-card__media,
.bathroom-category-card__media,
.product-list-card__media,
.product-detail-gallery__stage,
.product-detail-thumbnail,
.product-page-hero,
.hero,
.hero-slider,
.hero-slide,
.store-card {
  overflow: hidden;
}

.mobile-menu__number,
.about-card__index,
.bathroom-category-card__index,
.product-list-card__index,
.case-card__eyebrow {
  display: none !important;
}

/* Construction cases: refined editorial carousel. */
.case-showcase {
  padding: 0 0 96px;
}

.case-showcase__intro {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 520px);
  align-items: end;
  gap: 55px;
  padding: 40px 0 24px;
}

.case-showcase__eyebrow {
  margin: 0 0 12px;
  color: #8d8d8d;
  font-family: var(--font-en);
  font-size: 10px;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: .18em;
}

.case-showcase__intro-heading h3 {
  max-width: 720px;
  margin: 0;
  color: #202020;
  font-size: clamp(26px, 2.1vw, 34px);
  font-weight: 600;
  line-height: 1.5;
}

.case-showcase__intro-copy {
  max-width: 520px;
  margin: 0;
  color: #6f6f6f;
  font-size: 14px;
  line-height: 1.9;
}

.case-showcase__carousel {
  position: relative;
}

.case-showcase__toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 0 0 16px;
}

.case-showcase__hint,
.case-showcase__drag {
  margin: 0;
  color: #8d8d8d;
  font-family: var(--font-en);
  font-size: 10px;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: .14em;
}

.case-showcase__nav {
  display: inline-flex;
  align-items: center;
  gap: 12px;
}

.case-showcase__counter {
  min-width: 74px;
  color: #8d8d8d;
  font-family: var(--font-en);
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: .08em;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
}

.case-showcase__counter [data-case-current] {
  color: #202020;
}

.case-showcase__nav-button {
  appearance: none;
  border: 0;
  padding: 0;
  background: transparent;
  cursor: pointer;
}

.case-showcase__nav-button .pill-arrow {
  border-color: #cfcfcf;
  background: transparent;
  color: #202020;
}

.case-showcase__nav-button:hover .pill-arrow,
.case-showcase__nav-button:focus-visible .pill-arrow {
  background: #222222;
  border-color: #222222;
  color: #ffffff;
}

.case-showcase__nav-button:focus-visible {
  outline: 2px solid #2b6cb0;
  outline-offset: 4px;
  border-radius: 999px;
}

.case-showcase__nav-button[disabled] {
  cursor: default;
}

.case-showcase__nav-button[disabled] .pill-arrow {
  border-color: #e1e1e1;
  color: #b7b7b7;
  background: transparent;
  transform: none;
}

.case-showcase__viewport {
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  cursor: grab;
  user-select: none;
}

.case-showcase__viewport::-webkit-scrollbar {
  display: none;
}

.case-showcase__viewport.is-dragging {
  cursor: grabbing;
  scroll-snap-type: none;
}

.case-showcase__track {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: calc((100% - 48px) / 3);
  gap: 24px;
}

.case-card {
  min-width: 0;
  display: block;
  color: inherit;
  background: transparent;
  transition: color .2s ease;
  scroll-snap-align: start;
}

.case-card__media {
  position: relative;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: #f4f4f4;
}

.case-card__media::after {
  display: none !important;
}

.case-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .5s ease;
}

.case-card__body {
  min-height: 88px;
  padding: 18px 0 12px;
  border-bottom: 0;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  text-align: left;
}

.case-card__copy {
  min-width: 0;
}

.case-card__meta {
  margin: 0 0 7px;
  color: #8d8d8d;
  font-family: var(--font-en);
  font-size: 10px;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: .14em;
}

.case-card h3 {
  margin: 0;
  color: #202020;
  font-size: 17px;
  font-weight: 600;
  line-height: 1.65;
}

.case-card__arrow {
  flex: 0 0 auto;
  margin-top: 11px;
  border-color: #cfcfcf;
  background: transparent;
  color: #202020;
  transition: transform .2s ease, background-color .2s ease, color .2s ease;
}

.case-card:hover .case-card__media img,
.case-card:focus-visible .case-card__media img {
  transform: scale(1.025);
}

.case-card:hover .case-card__arrow,
.case-card:focus-visible .case-card__arrow {
  background: #222222;
  color: #ffffff;
  transform: translateX(2px);
}

.case-card:focus-visible {
  outline: 2px solid #2b6cb0;
  outline-offset: 4px;
}

.case-showcase__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding-top: 16px;
}

.case-showcase__progress {
  position: relative;
  flex: 1 1 auto;
  max-width: 320px;
  height: 2px;
  background: #e8e8e8;
  overflow: hidden;
}

.case-showcase__progress span {
  position: absolute;
  inset: 0 auto 0 0;
  width: 18%;
  background: #222222;
  transition: width .25s ease, transform .25s ease;
}

/* Offline stores: full-width service grid after removing the online-store panel. */
.purchase-channels {
  padding: 0 0 96px;
  background: linear-gradient(to bottom, #ffffff 0, #ffffff 80px, #f4f4f4 80px, #f4f4f4 100%);
}

.purchase-channels__layout {
  display: block;
  padding-top: 40px;
}

.offline-stores--full {
  width: 100%;
  min-width: 0;
}

.offline-stores__header {
  min-height: 0;
  margin: 0 0 34px;
  padding: 0;
  border-bottom: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 520px);
  align-items: end;
  gap: 55px;
}

.offline-stores__header > p {
  max-width: 520px;
  justify-self: end;
  color: #6f6f6f;
  font-size: 14px;
  line-height: 1.9;
}

.offline-stores__header h3 {
  font-size: 28px;
  line-height: 1.45;
}

.offline-stores__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.store-card {
  min-width: 0;
  min-height: 210px;
  border: 1px solid #e8e8e8;
  display: grid;
  grid-template-columns: 148px minmax(0, 1fr);
  background: #ffffff;
  box-shadow: none;
  transition: border-color .2s ease, transform .2s ease;
}

.store-card:hover {
  border-color: #cfcfcf;
  box-shadow: none;
  transform: translateY(-2px);
}

.store-card__image {
  width: 100%;
  height: 100%;
  min-height: 208px;
  border-radius: 0 !important;
  object-fit: cover;
  transition: transform .5s ease;
}

.store-card:hover .store-card__image {
  transform: scale(1.02);
}

.store-card__body {
  min-width: 0;
  padding: 26px 22px 22px;
}

.store-card h4 {
  font-size: 16px;
  line-height: 1.6;
}

.store-card__branch {
  font-size: 12px;
}

.store-card__detail {
  font-size: 12px;
  line-height: 1.75;
}

@media (max-width: 1599px) {
  .case-showcase__intro,
  .offline-stores__header {
    gap: 40px;
  }

  .case-showcase__track {
    grid-auto-columns: calc((100% - 48px) / 3);
  }

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

  .store-card {
    grid-template-columns: 150px minmax(0, 1fr);
  }
}

@media (max-width: 1023px) {
  .case-showcase {
    padding-bottom: 72px;
  }

  .case-showcase__intro,
  .offline-stores__header {
    grid-template-columns: 1fr;
    gap: 20px;
    padding-top: 34px;
  }

  .case-showcase__intro-copy,
  .offline-stores__header > p {
    max-width: 760px;
    justify-self: start;
  }

  .case-showcase__track {
    grid-auto-columns: calc((100% - 20px) / 2);
    gap: 20px;
  }

  .purchase-channels {
    padding-bottom: 72px;
    background: linear-gradient(to bottom, #ffffff 0, #ffffff 72px, #f4f4f4 72px, #f4f4f4 100%);
  }

  .purchase-channels__layout {
    padding-top: 34px;
  }

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

  .store-card {
    min-height: 198px;
    grid-template-columns: 116px minmax(0, 1fr);
  }

  .store-card__image {
    min-height: 196px;
  }
}

@media (max-width: 767px) {
  .site-header__logo img {
    width: 96px;
  }

  .case-showcase {
    padding-bottom: 64px;
  }

  .case-showcase__intro {
    padding: 24px 0 20px;
  }

  .case-showcase__intro-heading h3 {
    font-size: 24px;
  }

  .case-showcase__intro-copy {
    font-size: 14px;
  }

  .case-showcase__toolbar,
  .case-showcase__footer {
    align-items: flex-start;
    flex-direction: column;
  }

  .case-showcase__nav {
    width: 100%;
    justify-content: space-between;
  }

  .case-showcase__counter {
    order: -1;
    justify-content: flex-start;
    min-width: 0;
  }

  .case-showcase__track {
    grid-auto-columns: minmax(82%, 1fr);
    gap: 16px;
  }

  .case-card__media {
    aspect-ratio: 4 / 3;
  }

  .case-card__body {
    min-height: 82px;
    padding-top: 15px;
  }

  .case-card h3 {
    font-size: 16px;
  }

  .purchase-channels {
    padding-bottom: 64px;
    background: linear-gradient(to bottom, #ffffff 0, #ffffff 62px, #f4f4f4 62px, #f4f4f4 100%);
  }

  .purchase-channels__layout {
    padding-top: 28px;
  }

  .offline-stores__header {
    margin-bottom: 24px;
    padding: 0;
  }

  .offline-stores__header h3 {
    font-size: 23px;
  }

  .offline-stores__header > p {
    font-size: 13px;
  }

  .offline-stores__grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .store-card {
    min-height: 176px;
    grid-template-columns: 108px minmax(0, 1fr);
  }

  .store-card__image {
    min-height: 174px;
  }

  .store-card__body {
    padding: 19px 16px 17px;
  }

  .store-card h4 {
    font-size: 15px;
  }

  .store-card__branch,
  .store-card__detail {
    font-size: 11px;
  }
}

@media (max-width: 430px) {
  .store-card {
    grid-template-columns: 96px minmax(0, 1fr);
  }

  .store-card__body {
    padding-inline: 14px;
  }

  .store-card__detail {
    padding-left: 15px;
  }
}


/* Global sticky header with frosted white background while scrolling */
html {
  scroll-padding-top: 96px;
}

.site-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  inset: 0 0 auto;
  transition: background-color .25s ease, box-shadow .25s ease, backdrop-filter .25s ease;
}

.site-header.is-scrolled {
  background: rgba(255, 255, 255, .78);
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
  box-shadow: 0 8px 24px rgba(32, 32, 32, .08);
}

.site-header.is-scrolled .site-header__logo,
.site-header.is-scrolled .site-header__nav-wrap,
.site-header.is-scrolled .header-actions {
  background: transparent;
}

.site-header.is-scrolled .site-header__logo img {
  filter: none;
}

.site-header.is-scrolled .global-nav > a,
.site-header.is-scrolled .global-nav__dropdown-trigger {
  color: #202020;
}

.site-header.is-scrolled .global-nav > a::after,
.site-header.is-scrolled .global-nav__dropdown-trigger::before {
  background: currentColor;
}

.menu-open .site-header.is-scrolled {
  background: rgba(255, 255, 255, .9);
}

.site-header.is-scrolled .menu-toggle {
  background: rgba(255, 255, 255, .9);
  box-shadow: inset 0 0 0 1px rgba(32, 32, 32, .12);
}

.contact-form {
  border-radius: 4px !important;
}

.contact-form__mark {
  position: relative;
  width: 38px;
  height: 26px;
  flex: 0 0 auto;
  border: 1.5px solid #3f3a36;
  border-radius: 4px;
  background: transparent;
}

.contact-form__mark::before,
.contact-form__mark::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 21px;
  height: 21px;
  border-top: 1.5px solid #3f3a36;
  border-left: 1.5px solid #3f3a36;
  background: transparent;
  transform-origin: center;
}

.contact-form__mark::before {
  transform: translate(-50%, -40%) rotate(45deg) skew(8deg, 8deg);
}

.contact-form__mark::after {
  display: none;
}

@media (min-width: 1280px) {
  .site-header.is-scrolled {
    grid-template-columns: 220px minmax(0, 1fr);
  }
}

@media (max-width: 1279px) {
  html {
    scroll-padding-top: 82px;
  }

  .site-header.is-scrolled {
    background: rgba(255, 255, 255, .86);
  }

  .site-header.is-scrolled .menu-toggle {
    background: #ffffff;
  }
}

@media (max-width: 767px) {
  .site-header.is-scrolled {
    box-shadow: 0 6px 18px rgba(32, 32, 32, .08);
  }

  .contact-form__header {
    gap: 14px;
  }

  .contact-form__mark {
    width: 34px;
    height: 24px;
  }

  .contact-form__mark::before {
    width: 18px;
    height: 18px;
  }
}


/* Header state correction: original overlay at top, unified white frost only after scrolling. */
.site-header:not(.is-scrolled) {
  background: transparent;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  box-shadow: none;
}

@media (min-width: 1280px) {
  .site-header:not(.is-scrolled) .site-header__logo {
    background: rgba(72, 57, 37, .18);
  }

  .site-header:not(.is-scrolled) .site-header__nav-wrap {
    background: rgba(38, 31, 22, .56);
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
  }
}

.site-header:not(.is-scrolled) .site-header__logo img {
  filter: brightness(0) invert(1);
}

.site-header:not(.is-scrolled) .global-nav > a,
.site-header:not(.is-scrolled) .global-nav__dropdown-trigger {
  color: #ffffff;
}

.site-header:not(.is-scrolled) .global-nav > a::after,
.site-header:not(.is-scrolled) .global-nav__dropdown-trigger::before {
  background: #ffffff;
}

.site-header.is-scrolled {
  background: rgba(255, 255, 255, .82);
  -webkit-backdrop-filter: blur(14px) saturate(.92);
  backdrop-filter: blur(14px) saturate(.92);
  box-shadow: 0 7px 22px rgba(32, 32, 32, .07);
}

.site-header.is-scrolled .site-header__logo,
.site-header.is-scrolled .site-header__nav-wrap,
.site-header.is-scrolled .header-actions {
  background: transparent;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  box-shadow: none;
}

.site-header.is-scrolled .site-header__logo img {
  filter: none;
}

.site-header.is-scrolled .global-nav > a,
.site-header.is-scrolled .global-nav__dropdown-trigger {
  color: #202020;
}

.site-header.is-scrolled .global-nav > a::after,
.site-header.is-scrolled .global-nav__dropdown-trigger::before {
  background: currentColor;
}

/* Restore the original menu button appearance in both states. */
.menu-toggle,
.site-header.is-scrolled .menu-toggle {
  width: 72px;
  height: 54px;
  padding: 0;
  border-radius: 4px;
  background: #ffffff;
  color: #222222;
  box-shadow: none;
}

@media (min-width: 768px) and (max-width: 1279px) {
  .site-header:not(.is-scrolled) {
    background: rgba(31, 26, 19, .62);
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
  }

  .menu-toggle,
  .site-header.is-scrolled .menu-toggle {
    width: 50px;
    height: 50px;
    padding: 0 16px;
  }
}

@media (max-width: 767px) {
  .site-header:not(.is-scrolled) {
    background: rgba(31, 26, 19, .62);
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
  }

  .menu-toggle,
  .site-header.is-scrolled .menu-toggle {
    width: 46px;
    height: 46px;
    padding: 0 14px;
    border-radius: 4px;
  }
}


/* Replace contact icon with a clean mail SVG */
.contact-form__mark {
  width: 40px;
  height: 28px;
  border: 0;
  border-radius: 0;
  color: #3f3a36;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: transparent;
}

.contact-form__mark::before,
.contact-form__mark::after {
  display: none !important;
}

.contact-form__mark-svg {
  display: block;
  width: 40px;
  height: 28px;
}

@media (max-width: 767px) {
  .contact-form__mark {
    width: 36px;
    height: 25px;
  }

  .contact-form__mark-svg {
    width: 36px;
    height: 25px;
  }
}


/* Product category cards: make scene photos fill the whole media container */
.category-card__media {
  padding: 0 !important;
  display: block !important;
  background: #f3efe8 !important;
}

.category-card__media img {
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center center;
  display: block;
}


/* Homepage cards: remove decorative sequence numbers. */
.feature-card__media::before,
.category-card__media::before {
  display: none !important;
  content: none !important;
}


/* About navigation extensions */
.global-nav__dropdown--about .global-nav__dropdown-panel {
  width: 250px;
}

.mobile-menu__submenu {
  margin: -1px 0 8px 46px;
  padding: 7px 0 10px;
  border-bottom: 1px solid #d8d8d4;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 18px;
}

.mobile-menu__primary .mobile-menu__submenu a {
  min-height: 38px;
  padding: 0;
  border-bottom: 0;
  display: flex;
  align-items: center;
  color: #72726f;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.4;
}

.mobile-menu__primary .mobile-menu__submenu a::after {
  content: "›";
  margin-left: auto;
  color: #aaa;
  font-family: Arial, sans-serif;
  font-size: 15px;
}

.mobile-menu__primary .mobile-menu__submenu a:hover,
.mobile-menu__primary .mobile-menu__submenu a:focus-visible {
  padding-left: 4px;
  background: transparent;
  color: #202020;
}

@media (max-width: 480px) {
  .mobile-menu__submenu {
    grid-template-columns: 1fr;
  }
}
\n\n/* Footer QR-only layout: office addresses removed */
.contact-footer__company {
  display: flex;
  align-items: center;
  min-height: 100%;
}
.contact-footer__qrs {
  width: 100%;
  margin-top: 0 !important;
  padding: clamp(28px, 3vw, 44px) clamp(18px, 2.4vw, 34px);
  border-top: 1px solid rgba(45, 45, 45, .09);
  border-bottom: 1px solid rgba(45, 45, 45, .09);
  background: rgba(255,255,255,.22);
}
.home-page .contact-footer__qrs {
  margin-top: 0;
}
@media (min-width: 768px) {
  .contact-footer__qrs { gap: clamp(22px, 3vw, 42px); }
  .home-page .footer-qr__image { width: 92px; height: 92px; }
  .home-page .footer-qr__label { margin-top: 12px; font-size: 10px; letter-spacing: .04em; }
}
@media (max-width: 767px) {
  .contact-footer__company { display: block; }
  .contact-footer__qrs {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    padding: 22px 10px 24px;
  }
  .footer-qr__image { width: min(22vw, 82px) !important; height: min(22vw, 82px) !important; margin: 0 auto; padding: 9px; }
  .footer-qr__label { margin-top: 8px; font-size: 10px; }
}

/* Contact footer redesign v2: balanced channel panel + compact form */
.contact-footer__layout {
  position: relative;
  grid-template-columns: minmax(360px, .9fr) minmax(560px, 1.1fr) !important;
  gap: 0 !important;
  align-items: stretch !important;
  padding: clamp(42px, 4.4vw, 72px) 0 clamp(54px, 5vw, 82px) !important;
  background: rgba(255,255,255,.44);
  border: 1px solid rgba(43, 43, 43, .07);
}

.contact-footer__company {
  min-height: 100%;
  padding: clamp(40px, 4vw, 64px) clamp(34px, 4vw, 66px) !important;
  display: flex !important;
  flex-direction: column;
  justify-content: center;
  border-right: 1px solid rgba(43, 43, 43, .09);
}

.contact-footer__channel-intro {
  max-width: 430px;
  margin: 0 0 clamp(30px, 3.1vw, 48px);
}

.contact-footer__channel-eyebrow {
  margin: 0 0 10px;
  color: #aaa39c;
  font-family: var(--font-en);
  font-size: 9px;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: .2em;
}

.contact-footer__channel-intro h3 {
  margin: 0;
  color: #272421;
  font-size: clamp(19px, 1.35vw, 24px);
  font-weight: 600;
  line-height: 1.45;
}

.contact-footer__channel-copy {
  max-width: 390px;
  margin: 13px 0 0;
  color: #7d7771;
  font-size: 12px;
  line-height: 1.9;
}

.contact-footer__qrs,
.home-page .contact-footer__qrs {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: clamp(14px, 1.7vw, 25px) !important;
}

.footer-qr {
  padding: 16px 10px 14px;
  border: 1px solid rgba(43, 43, 43, .08);
  background: rgba(255,255,255,.62);
  transition: transform .28s ease, border-color .28s ease, background-color .28s ease, box-shadow .28s ease;
}

.footer-qr__image,
.home-page .footer-qr__image {
  width: clamp(72px, 5.6vw, 92px) !important;
  height: clamp(72px, 5.6vw, 92px) !important;
  margin: 0 auto;
  padding: 7px !important;
  background: #fff !important;
  box-shadow: none !important;
}

.footer-qr__label,
.home-page .footer-qr__label {
  margin-top: 10px !important;
  color: #615c57;
  font-size: 10px !important;
  font-weight: 500;
  letter-spacing: .02em !important;
}

.footer-qr:hover,
.footer-qr:focus-visible {
  background: #fff;
  border-color: rgba(92, 119, 112, .24);
  box-shadow: 0 14px 32px rgba(54, 50, 46, .06);
  transform: translateY(-3px);
}

.footer-qr:hover .footer-qr__image,
.footer-qr:focus-visible .footer-qr__image {
  transform: none !important;
  box-shadow: none !important;
}

.contact-form {
  min-height: 100%;
  padding: clamp(40px, 4vw, 64px) clamp(40px, 4.3vw, 72px) !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: rgba(255,255,255,.86) !important;
  box-shadow: none !important;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.contact-form__header {
  margin-bottom: 28px !important;
}

.contact-form__grid {
  gap: 22px 28px !important;
}

.contact-field textarea {
  min-height: 92px !important;
}

.contact-form__submit {
  min-height: 54px !important;
  margin-top: 26px !important;
}

@media (max-width: 1023px) {
  .contact-footer__layout {
    grid-template-columns: 1fr !important;
    background: transparent;
    border: 0;
  }

  .contact-footer__company {
    padding: 34px 28px 38px !important;
    border: 1px solid rgba(43, 43, 43, .07);
    border-bottom: 0;
  }

  .contact-footer__channel-intro {
    max-width: 560px;
    margin-bottom: 28px;
  }

  .contact-form {
    padding: 38px 28px 34px !important;
    border: 1px solid rgba(43, 43, 43, .07) !important;
  }
}

@media (max-width: 767px) {
  .contact-footer__layout {
    display: flex !important;
    flex-direction: column-reverse;
    padding: 26px 0 44px !important;
  }

  .contact-footer__company {
    padding: 30px 18px 28px !important;
    border-top: 0;
    border-bottom: 1px solid rgba(43, 43, 43, .07);
  }

  .contact-footer__channel-intro {
    margin-bottom: 22px;
  }

  .contact-footer__channel-intro h3 {
    font-size: 18px;
  }

  .contact-footer__channel-copy {
    margin-top: 9px;
    font-size: 11px;
    line-height: 1.8;
  }

  .contact-footer__qrs,
  .home-page .contact-footer__qrs {
    gap: 8px !important;
  }

  .footer-qr {
    padding: 11px 4px 10px;
  }

  .footer-qr__image,
  .home-page .footer-qr__image {
    width: min(19vw, 70px) !important;
    height: min(19vw, 70px) !important;
    padding: 5px !important;
  }

  .footer-qr__label,
  .home-page .footer-qr__label {
    margin-top: 7px !important;
    font-size: 9px !important;
  }

  .contact-form {
    padding: 30px 18px 28px !important;
  }
}


/* Contact footer refinement v3: fewer lines, softer grouping */
.contact-footer__layout {
  background: #faf9f7 !important;
  border: 0 !important;
  border-radius: 2px;
  overflow: hidden;
}

.contact-footer__company {
  border: 0 !important;
  background: #f6f4f0;
}

.contact-form {
  border: 0 !important;
  background: #ffffff !important;
}

.footer-qr {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.footer-qr:hover,
.footer-qr:focus-visible {
  border: 0 !important;
  background: rgba(255,255,255,.7) !important;
  box-shadow: 0 10px 26px rgba(54,50,46,.045) !important;
}

@media (min-width: 1024px) {
  .contact-footer__layout {
    column-gap: clamp(18px, 2vw, 34px) !important;
  }
}

@media (max-width: 1023px) {
  .contact-footer__company,
  .contact-form {
    border: 0 !important;
  }
}

@media (max-width: 767px) {
  .contact-footer__company {
    border: 0 !important;
  }
}


/* Contact footer v4: pure white, no tinted background panels */
.contact-footer,
.contact-footer__frame,
.contact-footer__layout,
.contact-footer__company,
.contact-form {
  background: #ffffff !important;
}

.contact-footer__layout {
  border: 0 !important;
  box-shadow: none !important;
}

.contact-footer__company,
.contact-form {
  border: 0 !important;
  box-shadow: none !important;
}

.footer-qr,
.footer-qr:hover,
.footer-qr:focus-visible {
  background: transparent !important;
  border: 0 !important;
}

@media (max-width: 1023px) {
  .contact-footer__layout,
  .contact-footer__company,
  .contact-form {
    background: #ffffff !important;
    border: 0 !important;
  }
}


/* Footer visual restore: confirmed bordered white layout */
.contact-footer,
.contact-footer__frame {
  background: #ffffff !important;
}

.contact-footer__layout {
  position: relative;
  grid-template-columns: minmax(360px, .9fr) minmax(560px, 1.1fr) !important;
  gap: 0 !important;
  align-items: stretch !important;
  padding: clamp(42px, 4.4vw, 72px) 0 clamp(54px, 5vw, 82px) !important;
  background: #ffffff !important;
  border: 1px solid rgba(43, 43, 43, .10) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
}

.contact-footer__company {
  min-height: 100%;
  padding: clamp(40px, 4vw, 64px) clamp(34px, 4vw, 66px) !important;
  display: flex !important;
  flex-direction: column;
  justify-content: center;
  background: #ffffff !important;
  border: 0 !important;
  border-right: 1px solid rgba(43, 43, 43, .10) !important;
  box-shadow: none !important;
}

.contact-form {
  min-height: 100%;
  padding: clamp(40px, 4vw, 64px) clamp(40px, 4.3vw, 72px) !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #ffffff !important;
  box-shadow: none !important;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.contact-footer__qrs,
.home-page .contact-footer__qrs {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: clamp(14px, 1.7vw, 25px) !important;
}

.footer-qr {
  padding: 16px 10px 14px !important;
  border: 1px solid rgba(43, 43, 43, .10) !important;
  background: #ffffff !important;
  box-shadow: none !important;
  transition: transform .28s ease, border-color .28s ease, box-shadow .28s ease !important;
}

.footer-qr:hover,
.footer-qr:focus-visible {
  background: #ffffff !important;
  border-color: rgba(92, 119, 112, .24) !important;
  box-shadow: 0 14px 32px rgba(54, 50, 46, .06) !important;
  transform: translateY(-3px);
}

@media (max-width: 1023px) {
  .contact-footer__layout {
    grid-template-columns: 1fr !important;
    background: #ffffff !important;
    border: 1px solid rgba(43, 43, 43, .10) !important;
  }

  .contact-footer__company {
    padding: 34px 28px 38px !important;
    border-right: 0 !important;
    border-bottom: 1px solid rgba(43, 43, 43, .10) !important;
  }

  .contact-form {
    padding: 38px 28px 34px !important;
    border: 0 !important;
  }
}

@media (max-width: 767px) {
  .contact-footer__layout {
    display: flex !important;
    flex-direction: column-reverse;
    padding: 26px 0 44px !important;
  }

  .contact-footer__company {
    padding: 30px 18px 28px !important;
    border-right: 0 !important;
    border-top: 1px solid rgba(43, 43, 43, .10) !important;
    border-bottom: 0 !important;
  }

  .footer-qr {
    padding: 11px 4px 10px !important;
  }

  .contact-form {
    padding: 30px 18px 28px !important;
  }
}


/* Footer outer border refinement: soften the bottom edge */
.contact-footer__layout {
  border-bottom-color: rgba(43, 43, 43, .055) !important;
}


/* Unified section headings: follows the approved About Miratap composition */
.unified-section-heading {
  position: relative;
  display: grid;
  grid-template-columns: minmax(150px, 1fr) minmax(280px, 1fr) minmax(260px, 1fr);
  align-items: start;
  gap: 32px;
  margin: 0 0 clamp(42px, 4.6vw, 72px);
  padding: 0;
}

.unified-section-heading__eyebrow {
  margin: 8px 0 0;
  color: #98938e;
  font-family: var(--font-en);
  font-size: 9px;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: .18em;
}

.unified-section-heading h2 {
  margin: 0;
  color: #202020;
  font-size: clamp(26px, 2.05vw, 36px);
  font-weight: 600;
  line-height: 1.35;
  text-align: center;
}

.unified-section-heading__intro {
  max-width: 390px;
  margin: 4px 0 0 auto;
  color: #77736f;
  font-size: 12px;
  line-height: 1.85;
}

.unified-section-heading--contact {
  margin-bottom: clamp(36px, 4vw, 60px);
}

@media (max-width: 767px) {
  .unified-section-heading {
    grid-template-columns: 1fr;
    gap: 9px;
    margin-bottom: 30px;
  }

  .unified-section-heading__eyebrow {
    margin-top: 0;
    font-size: 8px;
  }

  .unified-section-heading h2 {
    font-size: 24px;
    text-align: left;
  }

  .unified-section-heading__intro {
    max-width: 100%;
    margin: 3px 0 0;
    font-size: 11px;
    line-height: 1.75;
  }
}


/* Refine unified headings to match the approved About Miratap rhythm */
.unified-section-heading {
  position: relative;
  display: grid;
  grid-template-columns: minmax(150px, 1fr) minmax(280px, 1fr) minmax(260px, 1fr);
  gap: 32px;
  align-items: start;
  min-height: clamp(118px, 8.4vw, 154px);
  margin: 0 0 clamp(42px, 4.2vw, 66px);
  padding: clamp(6px, .6vw, 10px) 0 0;
}

.unified-section-heading__eyebrow {
  align-self: start;
  margin: 0;
  padding-top: 2px;
}

.unified-section-heading h2 {
  align-self: start;
  margin: clamp(26px, 2vw, 38px) 0 0;
  text-align: center;
}

.unified-section-heading__intro {
  align-self: start;
  max-width: 390px;
  margin: 0 0 0 auto;
  padding-top: 0;
}

/* Keep a deliberate gap from the previous section and from the content below */
.product-features .unified-section-heading,
.product-categories .unified-section-heading,
.case-showcase .unified-section-heading {
  margin-top: clamp(8px, 1vw, 18px);
}

.product-features .feature-grid,
.product-categories .category-grid,
.case-showcase .case-showcase__intro {
  margin-top: 0 !important;
}

/* Contact heading uses same stagger but slightly tighter vertically */
.unified-section-heading--contact {
  min-height: clamp(108px, 7.4vw, 138px);
  margin-bottom: clamp(30px, 3vw, 46px);
}

@media (max-width: 767px) {
  .unified-section-heading,
  .unified-section-heading--contact {
    min-height: 0;
    grid-template-columns: 1fr;
    gap: 8px;
    margin: 0 0 28px;
    padding-top: 0;
  }

  .unified-section-heading h2 {
    margin: 4px 0 0;
    text-align: left;
  }

  .unified-section-heading__intro {
    margin: 2px 0 0;
    padding-top: 0;
  }
}


/* ===== Homepage rhythm unification: section spacing & heading spacing ===== */
:root {
  --home-section-space-desktop: clamp(84px, 7vw, 104px);
  --home-heading-gap-desktop: clamp(34px, 3vw, 42px);
  --home-heading-block-height: clamp(112px, 8vw, 126px);
  --home-heading-block-height-wide: clamp(118px, 8.4vw, 132px);
}

/* unified bottom spacing between major homepage sections */
.about,
.product-features,
.product-categories,
.case-showcase,
.purchase-channels,
.contact-footer {
  padding-bottom: var(--home-section-space-desktop) !important;
}

/* keep header blocks visually aligned */
.about-heading {
  min-height: var(--home-heading-block-height-wide) !important;
  margin-bottom: var(--home-heading-gap-desktop) !important;
}

.unified-section-heading,
.unified-section-heading--contact {
  min-height: var(--home-heading-block-height-wide) !important;
  margin-bottom: var(--home-heading-gap-desktop) !important;
}

/* preserve approved about-like composition */
.unified-section-heading h2,
.unified-section-heading--contact h2 {
  margin-top: clamp(24px, 1.8vw, 34px) !important;
}

/* offline section heading: give it the same rhythm without changing its style */
.purchase-channels .section-heading-line {
  min-height: var(--home-heading-block-height) !important;
  margin-bottom: var(--home-heading-gap-desktop) !important;
  padding-bottom: 16px !important;
}

/* remove stacked top paddings below headings */
.product-features .feature-grid,
.product-categories .category-grid {
  padding-top: 0 !important;
}

.case-showcase .case-showcase__intro {
  padding-top: 0 !important;
  padding-bottom: 22px !important;
}

.purchase-channels__layout {
  padding-top: 0 !important;
}

/* contact module: reduce excessive distance from heading to the bordered panel */
.contact-footer__layout {
  padding-top: clamp(28px, 2.4vw, 36px) !important;
  padding-bottom: clamp(44px, 4vw, 60px) !important;
}

/* gentle desktop-only micro tune so cards sit in a cleaner rhythm */
.case-showcase__frame {
  padding-top: 2px;
}

@media (max-width: 1023px) {
  :root {
    --home-section-space-desktop: 72px;
    --home-heading-gap-desktop: 28px;
    --home-heading-block-height: 88px;
    --home-heading-block-height-wide: 100px;
  }

  .contact-footer__layout {
    padding-top: 24px !important;
    padding-bottom: 40px !important;
  }
}

@media (max-width: 767px) {
  :root {
    --home-section-space-desktop: 56px;
    --home-heading-gap-desktop: 22px;
    --home-heading-block-height: auto;
    --home-heading-block-height-wide: auto;
  }

  .about,
  .product-features,
  .product-categories,
  .case-showcase,
  .purchase-channels,
  .contact-footer {
    padding-bottom: var(--home-section-space-desktop) !important;
  }

  .about-heading {
    min-height: 0 !important;
    margin-bottom: var(--home-heading-gap-desktop) !important;
  }

  .purchase-channels .section-heading-line {
    min-height: 72px !important;
    margin-bottom: var(--home-heading-gap-desktop) !important;
    padding-bottom: 12px !important;
  }

  .contact-footer__layout {
    padding-top: 18px !important;
    padding-bottom: 28px !important;
  }

  .case-showcase .case-showcase__intro {
    padding-bottom: 16px !important;
  }
}


/* Fix product category card images: fill the whole card without side gaps */
.product-categories .category-card__media img {
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center center !important;
}


/* Product categories refinement: reveal more top background and fix card 5 crop */
.home-page .product-categories .category-grid {
  padding-top: 22px !important;
}

.home-page .product-categories .section-more--categories {
  margin-top: 34px !important;
}

/* Shift the "室内门与隔断" image crop to the left so the right side doesn't feel empty */
.home-page .product-categories .category-card:nth-child(5) .category-card__media img {
  object-position: 38% center !important;
}

@media (max-width: 767px) {
  .home-page .product-categories .category-grid {
    padding-top: 16px !important;
  }

  .home-page .product-categories .section-more--categories {
    margin-top: 24px !important;
  }

  .home-page .product-categories .category-card:nth-child(5) .category-card__media img {
    object-position: 42% center !important;
  }
}


/* Category 5 asset is now physically cropped; use a neutral centered crop. */
.home-page .product-categories .category-card:nth-child(5) .category-card__media img {
  object-position: center center !important;
}


/* Product categories background continuity: keep the revealed area above More in the same gray field */
.home-page .product-categories {
  background: linear-gradient(to bottom, #ffffff 0, #ffffff 138px, #fafafa 138px, #fafafa 100%) !important;
}

.home-page .product-categories .section-frame,
.home-page .product-categories .section-more,
.home-page .product-categories .section-more--categories {
  background: transparent !important;
}


/* Simplify Cases & Contact headings and restore breathing room */
.home-page .case-showcase > .section-frame,
.home-page .contact-footer > .section-frame {
  padding-top: 18px;
}

.home-page .case-showcase .section-heading-line.section-heading-line--centered {
  min-height: 126px !important;
  margin-bottom: 32px !important;
  padding-bottom: 18px !important;
}

.home-page .contact-footer .section-heading-line.section-heading-line--centered.contact-footer__heading {
  min-height: 126px !important;
  margin-bottom: 34px !important;
  padding-top: 8px !important;
  padding-bottom: 18px !important;
}

/* Add whitespace above contact module so it does not stick to the previous section */
.home-page .contact-footer {
  padding-top: 54px !important;
}

/* The contact panel should start a bit lower under its heading */
.home-page .contact-footer__layout {
  margin-top: 0 !important;
}

@media (max-width: 767px) {
  .home-page .case-showcase > .section-frame,
  .home-page .contact-footer > .section-frame {
    padding-top: 10px;
  }

  .home-page .case-showcase .section-heading-line.section-heading-line--centered,
  .home-page .contact-footer .section-heading-line.section-heading-line--centered.contact-footer__heading {
    min-height: 86px !important;
    margin-bottom: 22px !important;
    padding-top: 0 !important;
    padding-bottom: 12px !important;
  }

  .home-page .contact-footer {
    padding-top: 36px !important;
  }
}


/* ===== Mobile showroom overlap fix + More consistency ===== */
@media (max-width: 767px) {
  .home-page .section-more,
  .home-page .section-more--about,
  .home-page .section-more--categories,
  .home-page .section-more--cases {
    display: flex !important;
    justify-content: flex-end !important;
    margin-top: 24px !important;
  }

  .home-page .section-more__link {
    width: 126px !important;
    min-height: 40px !important;
    padding: 7px 1px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    border-top: 0 !important;
  }

  .home-page .purchase-channels__frame {
    display: block !important;
  }

  .home-page .purchase-channels__frame > .section-heading-line {
    min-height: 112px !important;
    margin-bottom: 24px !important;
    padding-bottom: 26px !important;
  }

  .home-page .purchase-channels__layout,
  .home-page .offline-stores,
  .home-page .offline-stores__header {
    display: block !important;
    padding-top: 0 !important;
  }

  .home-page .offline-stores__header {
    margin: 0 0 22px !important;
    padding: 0 !important;
  }

  .home-page .offline-stores__header > div,
  .home-page .offline-stores__header > p {
    display: block !important;
    grid-column: auto !important;
    grid-row: auto !important;
    max-width: none !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    justify-self: auto !important;
    align-self: auto !important;
  }

  .home-page .offline-stores__header > div {
    margin-bottom: 18px !important;
  }

  .home-page .offline-stores__eyebrow {
    margin: 0 0 8px !important;
    font-size: 8px !important;
    line-height: 1.5 !important;
  }

  .home-page .offline-stores__header h3 {
    margin: 0 !important;
    font-size: 23px !important;
    line-height: 1.45 !important;
    letter-spacing: .01em !important;
  }

  .home-page .offline-stores__header > p {
    margin-bottom: 22px !important;
    color: #6f6f6f !important;
    font-size: 13px !important;
    line-height: 1.85 !important;
  }

  .home-page .offline-stores__grid {
    margin-top: 0 !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
}

@media (max-width: 430px) {
  .home-page .offline-stores__header h3 {
    font-size: 21px !important;
    line-height: 1.42 !important;
  }

  .home-page .offline-stores__header > p {
    font-size: 12px !important;
  }
}


/* ===== Mobile cases toolbar/progress refinement ===== */
@media (max-width: 767px) {
  .home-page .case-showcase__hint {
    display: none !important;
  }

  .home-page .case-showcase__toolbar {
    justify-content: flex-end !important;
    padding: 0 0 12px !important;
  }

  .home-page .case-showcase__nav {
    margin-left: auto !important;
    justify-content: flex-end !important;
    gap: 8px !important;
  }

  .home-page .case-showcase__counter {
    min-width: 56px !important;
    justify-content: flex-end !important;
    text-align: right !important;
  }

  .home-page .case-showcase__footer {
    align-items: center !important;
    gap: 16px !important;
  }

  .home-page .case-showcase__progress {
    flex: 1 1 auto !important;
  }

  .home-page .case-showcase__drag {
    margin-left: 0 !important;
    flex: 0 0 auto !important;
    white-space: nowrap !important;
  }
}

/* Mobile product-category canvas: use the same horizontal margin as other sections */
@media (max-width: 767px) {
  .home-page .product-categories .category-grid {
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box;
  }

  .home-page .product-categories .section-more--categories {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}


/* Align all three-part homepage headings onto the same row */
@media (min-width: 768px) {
  .home-page .about-heading,
  .home-page .unified-section-heading,
  .home-page .unified-section-heading--contact {
    align-items: center !important;
    min-height: 132px !important;
    padding-top: 30px !important;
    padding-bottom: 24px !important;
  }

  .home-page .about-heading__eyebrow,
  .home-page .about-heading__intro,
  .home-page .unified-section-heading__eyebrow,
  .home-page .unified-section-heading__intro {
    align-self: center !important;
  }

  .home-page .about-heading h2,
  .home-page .unified-section-heading h2,
  .home-page .unified-section-heading--contact h2 {
    align-self: center !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
}


/* Contact heading: add English label and description, aligned with other three-part headings */
.unified-section-heading--contact.contact-footer__heading {
  border-top: 1px solid rgba(43, 43, 43, .10);
}

@media (min-width: 768px) {
  .unified-section-heading--contact.contact-footer__heading {
    display: grid !important;
    grid-template-columns: minmax(150px, 1fr) minmax(280px, 1fr) minmax(260px, 1fr) !important;
    align-items: center !important;
    min-height: 132px !important;
    margin-bottom: var(--home-heading-gap-desktop, 38px) !important;
    padding: 30px 0 24px !important;
  }

  .unified-section-heading--contact.contact-footer__heading .unified-section-heading__eyebrow,
  .unified-section-heading--contact.contact-footer__heading .unified-section-heading__intro,
  .unified-section-heading--contact.contact-footer__heading h2 {
    align-self: center !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
}

@media (max-width: 767px) {
  .unified-section-heading--contact.contact-footer__heading {
    padding-top: 24px !important;
  }
}


/* Contact heading: remove top line and pull the block upward */
@media (min-width: 768px) {
  .home-page .contact-footer {
    padding-top: 24px !important;
  }

  .home-page .section-heading-line.section-heading-line--centered.contact-footer__heading {
    border-top: 0 !important;
    min-height: 96px !important;
    padding-top: 0 !important;
    padding-bottom: 14px !important;
    margin-bottom: 28px !important;
  }
}

@media (max-width: 767px) {
  .home-page .contact-footer {
    padding-top: 28px !important;
  }

  .home-page .section-heading-line.section-heading-line--centered.contact-footer__heading {
    border-top: 0 !important;
    min-height: 72px !important;
    padding-top: 0 !important;
    padding-bottom: 10px !important;
    margin-bottom: 18px !important;
  }
}


/* ===== Final contact cleanup: remove actual heading line + excessive footer whitespace ===== */
.home-page .unified-section-heading--contact.contact-footer__heading {
  border-top: 0 !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
}

.home-page .contact-footer,
.home-page footer.contact-footer.site-footer {
  padding-bottom: 0 !important;
}

.home-page .contact-footer__frame {
  padding-bottom: 0 !important;
}

.home-page .contact-footer__bottom {
  min-height: 38px !important;
  padding-top: 10px !important;
  padding-bottom: 8px !important;
  margin-bottom: 0 !important;
}

@media (min-width: 768px) {
  .home-page .contact-footer {
    padding-top: 12px !important;
  }

  .home-page .unified-section-heading--contact.contact-footer__heading {
    min-height: 108px !important;
    padding-top: 18px !important;
    padding-bottom: 16px !important;
    margin-bottom: 24px !important;
  }
}

@media (max-width: 767px) {
  .home-page .contact-footer {
    padding-top: 18px !important;
    padding-bottom: 0 !important;
  }

  .home-page .unified-section-heading--contact.contact-footer__heading {
    border-top: 0 !important;
    min-height: 0 !important;
    padding-top: 16px !important;
    padding-bottom: 14px !important;
    margin-bottom: 18px !important;
  }

  .home-page .contact-footer__bottom {
    min-height: 34px !important;
    padding-top: 8px !important;
    padding-bottom: 6px !important;
  }
}

/* Global search entry in the shared header */
.header-actions {
  gap: 6px;
}

.header-search-link {
  width: 54px;
  height: 54px;
  border: 1px solid rgba(255, 255, 255, .34);
  border-radius: 4px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  color: #fff;
  background: rgba(28, 24, 20, .18);
  transition: background-color .22s ease, color .22s ease, border-color .22s ease;
}

.header-search-link svg {
  width: 21px;
  height: 21px;
  display: block;
}

.header-search-link:hover,
.header-search-link:focus-visible,
.header-search-link.is-current {
  background: rgba(255, 255, 255, .16);
  border-color: rgba(255, 255, 255, .68);
}

.header-search-link:focus-visible {
  outline: 1px solid currentColor;
  outline-offset: 3px;
}

.site-header.is-scrolled .header-search-link {
  border-color: rgba(32, 32, 32, .10);
  background: rgba(255, 255, 255, .9);
  color: #222;
}

.site-header.is-scrolled .header-search-link:hover,
.site-header.is-scrolled .header-search-link:focus-visible,
.site-header.is-scrolled .header-search-link.is-current {
  border-color: rgba(32, 32, 32, .24);
  background: #fff;
}

@media (min-width: 768px) and (max-width: 1279px) {
  .header-search-link {
    width: 50px;
    height: 50px;
    border-color: rgba(255,255,255,.22);
  }
}

@media (max-width: 767px) {
  .header-actions {
    gap: 4px;
  }

  .header-search-link {
    width: 46px;
    height: 46px;
    border-color: rgba(255,255,255,.22);
  }

  .header-search-link svg {
    width: 19px;
    height: 19px;
  }
}
.contact-footer__details {
  display: grid;
  gap: 18px;
  margin-top: 28px;
  padding-top: 24px;
  border-top: 1px solid rgba(255, 255, 255, 0.18);
}

.contact-footer__tagline {
  margin: 0;
  font-size: 15px;
  line-height: 1.7;
}

.contact-footer__contact-list {
  display: grid;
  gap: 10px;
  margin: 0;
}

.contact-footer__contact-list > div {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  gap: 12px;
}

.contact-footer__contact-list dt {
  opacity: 0.62;
}

.contact-footer__contact-list dd,
.contact-footer__contact-list a {
  margin: 0;
  color: inherit;
}

.contact-footer__wechat {
  display: flex;
  align-items: center;
  gap: 14px;
}

.contact-footer__wechat img {
  width: 92px;
  height: 92px;
  object-fit: cover;
  background: #fff;
}

.contact-footer__wechat p {
  margin: 0;
}

.contact-footer__links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 20px;
}

.contact-footer__links a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 4px;
}

.product-detail-heading__subtitle {
  margin: 10px 0 0;
  max-width: 760px;
}

.product-detail-heading__status {
  display: inline-flex;
  margin-bottom: 10px;
  padding: 6px 12px;
  border: 1px solid currentColor;
  border-radius: 999px;
  font-size: 12px;
  letter-spacing: 0.08em;
}

.product-detail-specs__group {
  grid-column: 1 / -1;
  padding-top: 18px;
  font-weight: 700;
}

.product-detail-features {
  padding: clamp(64px, 8vw, 120px) 0;
}

.product-detail-features__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

.product-detail-features__grid article {
  background: #f4f3ef;
}

.product-detail-features__media img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.product-detail-features__grid article > div:last-child {
  padding: 24px;
}

@media (max-width: 760px) {
  .product-detail-features__grid {
    grid-template-columns: 1fr;
  }
}

.product-list-card__media {
  position: relative;
}

.product-list-card__badge {
  position: absolute;
  top: 14px;
  left: 14px;
  padding: 6px 10px;
  background: rgba(20, 20, 18, 0.86);
  color: #fff;
  font-size: 11px;
  letter-spacing: 0.06em;
}

.mira-showroom-single__branch {
  font-weight: 600;
  letter-spacing: .04em;
}

.mira-showroom-detail {
  padding: clamp(64px, 8vw, 120px) 0;
}

.mira-showroom-detail__grid {
  display: grid;
  grid-template-columns: minmax(280px, .78fr) minmax(0, 1.22fr);
  gap: clamp(28px, 5vw, 72px);
  align-items: start;
}

.mira-showroom-detail__info dl {
  display: grid;
  gap: 0;
  margin: 30px 0;
  border-top: 1px solid rgba(25, 25, 22, .15);
}

.mira-showroom-detail__info dl > div {
  display: grid;
  grid-template-columns: 90px minmax(0, 1fr);
  gap: 18px;
  padding: 16px 0;
  border-bottom: 1px solid rgba(25, 25, 22, .15);
}

.mira-showroom-detail__info dt {
  color: #77736b;
}

.mira-showroom-detail__info dd {
  margin: 0;
}

.mira-showroom-detail__map {
  min-height: 440px;
  background: #e9e7e1;
}

.mira-showroom-detail__map > div:not(.mira-map-canvas) {
  min-height: 440px;
  padding: clamp(28px, 5vw, 64px);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}

.mira-showroom-detail__map .mira-map-canvas {
  width: 100%;
  min-height: 440px;
}

.showroom-explorer__amap {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  min-height: 420px;
}

.mira-showroom-detail__gallery {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.mira-showroom-detail__gallery button {
  padding: 0;
  border: 0;
  background: transparent;
  cursor: zoom-in;
}

.mira-showroom-detail__gallery img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

@media (max-width: 760px) {
  .mira-showroom-detail__grid {
    grid-template-columns: 1fr;
  }

  .mira-showroom-detail__map,
  .mira-showroom-detail__map > div:not(.mira-map-canvas),
  .mira-showroom-detail__map .mira-map-canvas {
    min-height: 320px;
  }

  .mira-showroom-detail__gallery {
    grid-template-columns: 1fr;
  }
}
