/* Зеркало opens with a travertine showroom and two linked detail photographs. */
.shop.theme-zerkalo {
  --sf-bg: #f6f1e8;
  --sf-paper: #fffaf1;
  --sf-panel: #eae2d3;
  --sf-ink: #292c20;
  --sf-muted: #5d6051;
  --sf-line: #ded6c9;
  --sf-accent: var(--store-accent, #50552c);
  --sf-radius: 7px;
  --zerkalo-header: #333521;
  --zerkalo-gutter: clamp(14px,2.3vw,34px);
  background: var(--sf-bg);
  color: var(--sf-ink);
  font-family: var(--ta-font-body, Arial, sans-serif);
}
.shop.theme-zerkalo > .container { max-width: 1680px; padding-inline: var(--zerkalo-gutter); }
.shop.theme-zerkalo .sf-body { padding-top: 0; }
.shop.theme-zerkalo :is(.sf-parity-utility,.sf-footer) { background: #333521; color: #f5edda; }
.shop.theme-zerkalo .sf-footer :is(a,p,h3,.sf-footer-brand,.sf-footer-bottom) { color: inherit; }
.shop.theme-zerkalo .topic-zerkalo-header {
  display: grid;
  grid-template-columns: auto auto minmax(0,1fr) minmax(145px,0.8fr) auto;
  grid-template-areas: "brand catalog links search actions";
  align-items: center;
  gap: 9px clamp(10px,2.2vw,31px);
  width: auto;
  max-width: none;
  min-height: 0;
  margin: 0 calc(-1 * var(--zerkalo-gutter));
  padding: 10px var(--zerkalo-gutter);
  border: 0;
  background: var(--ta-header,var(--zerkalo-header));
  color: #f9f3e5;
}
.shop.theme-zerkalo .topic-zerkalo-header .sf-brand {
  grid-area: brand;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: inherit;
  font-family: var(--ta-font-heading, Georgia, serif);
  font-size: clamp(1.45rem,2.75vw,2.4rem);
  font-weight: 500;
  letter-spacing: .055em;
}
.shop.theme-zerkalo .topic-zerkalo-header .sf-brand img { max-width: 155px; max-height: 49px; object-fit: contain; }
.shop.theme-zerkalo .zerkalo-catalog { grid-area: catalog; }
.shop.theme-zerkalo .topic-zerkalo-header > nav {
  grid-area: links;
  display: flex;
  align-items: center;
  gap: clamp(12px,1.65vw,24px);
  min-width: 0;
  overflow-x: auto;
  scrollbar-width: thin;
  white-space: nowrap;
}
.shop.theme-zerkalo .topic-zerkalo-header > nav a { padding-block: 7px; color: inherit; text-decoration: none; }
.shop.theme-zerkalo .topic-zerkalo-header > nav a:hover { text-decoration: underline; }
.shop.theme-zerkalo .topic-zerkalo-header .sf-catalog-menu { min-width: 0; }
.shop.theme-zerkalo .topic-zerkalo-header .sf-catalog-menu > summary {
  min-height: 44px;
  padding: 8px 13px;
  gap: 8px;
  background: var(--sf-accent);
  color: var(--store-button-text,#fff);
  font-size: .92rem;
  font-weight: 750;
}
.shop.theme-zerkalo .topic-zerkalo-header .sf-catalog-menu > summary::after,
.shop.theme-zerkalo .topic-zerkalo-header .sf-catalog-menu > summary > i { display: none; content: none; }
.shop.theme-zerkalo .topic-zerkalo-header .sf-header-search { grid-area: search; min-width: 0; margin: 0; }
.shop.theme-zerkalo .topic-zerkalo-header .sf-header-search input { min-width: 0; min-height: 44px; background: #f9f4e9; color: #303023; font-size: 16px; }
.shop.theme-zerkalo .topic-zerkalo-header .sf-header-search button { background: #e9e2d2; color: #333521; min-height: 44px; }
.shop.theme-zerkalo .topic-zerkalo-header .sf-header-search button span { display: none; }
.shop.theme-zerkalo .topic-zerkalo-header .sf-header-actions { grid-area: actions; display: flex; gap: 6px; }
.shop.theme-zerkalo .topic-zerkalo-header :is(.customer-nav,.sf-cart-link) { display: inline-flex; gap: 6px; min-height: 40px; padding: 6px; align-items: center; color: inherit; background: transparent; }
.shop.theme-zerkalo .topic-zerkalo-header .sf-cart-link > span { display: none; }
.shop.theme-zerkalo .topic-zerkalo-header .customer-nav > span {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
.shop.theme-zerkalo .topic-zerkalo-hero { margin-inline: calc(-1 * var(--zerkalo-gutter)); }
.shop.theme-zerkalo .zerkalo-hero-showroom { display: grid; grid-template-columns: minmax(0,5fr) minmax(0,3fr); gap: 3px; }
.shop.theme-zerkalo :is(.zerkalo-hero-main,.topic-zerkalo-promo,.zerkalo-feature) {
  position: relative;
  isolation: isolate;
  display: grid;
  align-content: end;
  min-width: 0;
  overflow: hidden;
  padding: clamp(20px,4.3vw,65px);
  background: #4c4031;
  color: #fffaf0;
}
.shop.theme-zerkalo .zerkalo-hero-main { min-height: clamp(360px,36vw,535px); }
.shop.theme-zerkalo :is(.zerkalo-hero-main,.topic-zerkalo-promo,.zerkalo-feature) > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: -2;
}
.shop.theme-zerkalo :is(.zerkalo-hero-main,.topic-zerkalo-promo,.zerkalo-feature)::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(15deg,#211a13ef,#211a1370 46%,#211a1300 83%);
}
.shop.theme-zerkalo .zerkalo-hero-features { display: grid; grid-auto-rows: minmax(0,1fr); gap: 3px; min-width: 0; }
.shop.theme-zerkalo .zerkalo-feature { justify-items: end; padding: clamp(14px,2.4vw,34px); text-decoration: none; }
.shop.theme-zerkalo .zerkalo-feature span { font-weight: 700; overflow-wrap: anywhere; }
.shop.theme-zerkalo .zerkalo-feature span::before { content: ""; display: inline-block; width: 1.65em; height: 1px; vertical-align: middle; margin-right: .5em; background: currentColor; }
.shop.theme-zerkalo .zerkalo-feature:hover span { text-decoration: underline; }
.shop.theme-zerkalo :is(.topic-hero-copy,.topic-promo-copy) { width: 100%; max-width: 620px; min-width: 0; }
.shop.theme-zerkalo :is(.topic-hero-copy,.topic-promo-copy) :is(h1,h2) {
  margin: 0 0 12px;
  color: inherit;
  font-family: var(--ta-font-heading, Georgia, serif);
  font-size: clamp(2.3rem,4.9vw,4.5rem);
  font-weight: 650;
  line-height: 1.01;
  letter-spacing: -.047em;
  overflow-wrap: break-word;
}
.shop.theme-zerkalo :is(.topic-hero-copy,.topic-promo-copy) p { max-width: 440px; margin: 0 0 16px; color: inherit; overflow-wrap: anywhere; }
.shop.theme-zerkalo :is(.rental-cta,.buy-btn) { background: var(--sf-accent); color: var(--store-button-text,#fff); border-radius: 6px; font-weight: 700; text-decoration: none; }
.shop.theme-zerkalo :is(.topic-hero-copy,.topic-promo-copy) .rental-cta { display: inline-flex; align-items: center; min-height: 44px; padding: 10px 16px; }
.shop.theme-zerkalo :is(.topic-zerkalo-categories,.topic-zerkalo-products):empty { display: none; }
.shop.theme-zerkalo .topic-zerkalo-categories { margin-inline: calc(-1 * var(--zerkalo-gutter)); background: #eae3d6; }
.shop.theme-zerkalo .topic-zerkalo-categories nav { display: flex; flex-wrap: wrap; padding: 12px var(--zerkalo-gutter); gap: 8px 0; }
.shop.theme-zerkalo .topic-zerkalo-categories a {
  flex: 1 1 120px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 48px;
  padding: 5px 10px;
  border-inline-end: 1px solid #d2c7b3;
  color: #333521;
  font-weight: 700;
  text-decoration: none;
}
.shop.theme-zerkalo .topic-zerkalo-categories a:hover { text-decoration: underline; }
.shop.theme-zerkalo .topic-zerkalo-categories a:last-child { border: 0; }
.shop.theme-zerkalo .topic-zerkalo-categories img { width: 37px; height: 37px; flex: none; border-radius: 50%; object-fit: cover; }
.shop.theme-zerkalo .topic-zerkalo-products { margin: 24px 0 28px; }
.shop.theme-zerkalo .topic-zerkalo-products .sf-section-heading { justify-content: space-between; flex-wrap: wrap; gap: 8px 14px; margin-bottom: 14px; }
.shop.theme-zerkalo .topic-zerkalo-products h2 {
  margin: 0;
  color: var(--sf-ink);
  font-family: var(--ta-font-heading, Georgia, serif);
  font-size: clamp(1.7rem,3vw,2.7rem);
  line-height: 1.06;
}
.shop.theme-zerkalo .topic-zerkalo-products .shop-products { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 12px; }
.shop.theme-zerkalo .topic-zerkalo-products .shop-product { min-width: 0; border: 1px solid var(--sf-line); box-shadow: none; background: var(--sf-paper); }
.shop.theme-zerkalo .topic-zerkalo-products .shop-product-image { aspect-ratio: 1.46; }
.shop.theme-zerkalo .topic-zerkalo-products .shop-product-image img { width: 100%; height: 100%; object-fit: cover; }
.shop.theme-zerkalo .topic-zerkalo-products .shop-product h3 { overflow-wrap: anywhere; }
.shop.theme-zerkalo .topic-zerkalo-promo { align-content: center; min-height: 245px; margin-bottom: 24px; border-radius: 8px; }
.shop.theme-zerkalo .topic-zerkalo-promo::before { background: linear-gradient(90deg,#211a13f5,#211a1370 57%,#211a1300); }
.shop.theme-zerkalo .topic-promo-copy h2 { font-size: clamp(1.85rem,3.5vw,3rem); }
.shop.theme-zerkalo .topic-zerkalo-services { display: flex; flex-wrap: wrap; gap: 12px 22px; padding: 14px 0; border-top: 1px solid var(--sf-line); }
.shop.theme-zerkalo .topic-zerkalo-services a { color: var(--sf-accent); }
.shop.theme-zerkalo .sf-mobile-nav { background: var(--sf-paper); }

@media (max-width: 980px) {
  .shop.theme-zerkalo .topic-zerkalo-header {
    grid-template-columns: auto auto minmax(0,1fr) auto;
    grid-template-areas: "brand catalog search actions";
  }
  .shop.theme-zerkalo .topic-zerkalo-header > nav { display: none; }
  .shop.theme-zerkalo .topic-zerkalo-products .shop-products { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 650px) {
  .shop.theme-zerkalo .topic-zerkalo-header {
    grid-template-columns: auto minmax(0,1fr) auto;
    grid-template-areas: "brand brand actions" "catalog search search";
    gap: 8px;
  }
  .shop.theme-zerkalo .zerkalo-hero-showroom { grid-template-columns: minmax(0,1fr); }
  .shop.theme-zerkalo .zerkalo-hero-main { min-height: 315px; }
  .shop.theme-zerkalo .zerkalo-hero-features { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .shop.theme-zerkalo .zerkalo-feature { min-height: 112px; justify-items: start; }
  .shop.theme-zerkalo .topic-zerkalo-products .shop-products { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .shop.theme-zerkalo .topic-zerkalo-products .shop-product-bottom { align-items: stretch; flex-direction: column; }
}
