/* ==== css/nika-localized.css ==== */
.nika-languages ul{display:flex;gap:.65rem}.nika-languages li{list-style:none}.nika-languages a,.nika-languages span{color:inherit;font-size:.7rem;font-weight:700;text-decoration:none;text-transform:uppercase;letter-spacing:.12em}.nika-languages .active,.nika-languages span{color:#c7aa7a}

/* ==== css/nika-catalog.css ==== */
:root {
  --nika-ink: #10100f;
  --nika-coal: #191918;
  --nika-stone: #ece8df;
  --nika-sand: #c7aa7a;
  --nika-clay: #8f6846;
}

/* The inner header must stay readable before and after scrolling. */
.nika-inner #site-header.nika-header--inner {
  background: rgba(16, 16, 15, .98) !important;
  border-bottom-color: rgba(255, 255, 255, .12) !important;
  box-shadow: 0 12px 40px rgba(0, 0, 0, .16);
  color: #fff;
}
.nika-inner #site-header.nika-header--inner .nika-menu,
.nika-inner #site-header.nika-header--inner .nika-menu a { color: rgba(255,255,255,.78) !important; }
.nika-inner #site-header.nika-header--inner .nika-menu a:hover,
.nika-inner #site-header.nika-header--inner .nika-menu .active > a { color: var(--nika-sand) !important; }
.nika-inner-main {
  background:
    radial-gradient(circle at 90% 5%, rgba(199,170,122,.18), transparent 30rem),
    linear-gradient(180deg, #e8e3d9 0, #f4f1ea 32rem, #ece8df 100%);
}
.nika-inner .nika-breadcrumb { margin-bottom: 1.25rem; }
.nika-inner .nika-breadcrumb a { color: inherit; text-decoration: none; }

/* Catalogue pages use the full content width instead of the generic article card. */
.nika-inner .nika-content:has(.section-d_shop),
.nika-inner .nika-content:has(.product-d) {
  padding: 0;
  background: transparent;
  box-shadow: none;
}
.nika-content:has(.section-d_shop) > h1,
.nika-content:has(.product-d) > h1 {
  max-width: 900px;
  margin-bottom: 1rem;
  letter-spacing: -.035em;
}
.nika-catalog-lead {
  max-width: 680px;
  margin: 0 0 2.5rem !important;
  color: rgba(16,16,15,.58);
  font-size: .98rem;
  line-height: 1.8;
}

/* Category landing cards. */
.section-d_shop_home { display: grid; gap: 1.25rem; }
.section-d_shop_home > .category-d_main {
  position: relative;
  min-height: 210px;
  overflow: hidden;
  display: flex;
  align-items: flex-end;
  padding: clamp(1.6rem, 4vw, 3rem);
  background:
    linear-gradient(100deg, rgba(16,16,15,.98), rgba(16,16,15,.72)),
    radial-gradient(circle at 80% 20%, #7e7568, #242422 65%);
  color: #fff;
}
.section-d_shop_home > .category-d_main::before {
  content: "NIKA GRAN / COLLECTION";
  position: absolute;
  top: 1.5rem;
  left: clamp(1.6rem, 4vw, 3rem);
  color: var(--nika-sand);
  font-size: .66rem;
  font-weight: 700;
  letter-spacing: .22em;
}
.section-d_shop_home > .category-d_main::after {
  content: "NG";
  position: absolute;
  right: 2rem;
  bottom: -2.2rem;
  color: rgba(255,255,255,.05);
  font-family: Prata, serif;
  font-size: clamp(7rem, 18vw, 13rem);
  line-height: 1;
}
.section-d_shop_home > .category-d_main .category-d__name { position: relative; z-index: 1; }
.section-d_shop_home > .category-d_main .category-d__name a {
  color: #fff;
  font-family: Prata, serif;
  font-size: clamp(1.8rem, 4vw, 3.25rem);
  line-height: 1.1;
  text-decoration: none;
}
.section-d_shop_home .section-d_children {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 1.25rem;
}
.section-d_shop_home .category-d_child {
  position: relative;
  isolation: isolate;
  min-height: 280px;
  overflow: hidden;
  display: flex;
  align-items: flex-end;
  padding: clamp(1.5rem,3vw,2.25rem);
  background: #252522;
  color: #fff !important;
  text-decoration: none !important;
  transition: transform .35s ease, box-shadow .35s ease;
}
.section-d_shop_home .category-d_child::before {
  content: "";
  position: absolute;
  z-index: -2;
  inset: 0;
  background:
    linear-gradient(180deg, transparent 10%, rgba(0,0,0,.72)),
    repeating-linear-gradient(115deg, rgba(255,255,255,.07) 0 1px, transparent 1px 18px),
    radial-gradient(circle at 70% 20%, #8d877d, #30302d 62%);
  transition: transform .6s ease, filter .6s ease;
}
.section-d_shop_home .category-d_child:nth-child(2)::before { background: linear-gradient(180deg,transparent,rgba(0,0,0,.72)), radial-gradient(circle at 70% 20%,#7e6656,#2b2824 65%); }
.section-d_shop_home .category-d_child:nth-child(3)::before { background: linear-gradient(180deg,transparent,rgba(0,0,0,.76)), radial-gradient(circle at 75% 20%,#625f55,#20211f 65%); }
.section-d_shop_home .category-d_child:nth-child(4)::before { background: linear-gradient(180deg,transparent,rgba(0,0,0,.75)), radial-gradient(circle at 70% 20%,#6e7771,#252824 65%); }
.section-d_shop_home .category-d_child::after {
  content: "0" counter(nika-category);
  counter-increment: nika-category;
  position: absolute;
  top: 1.35rem;
  right: 1.5rem;
  color: rgba(255,255,255,.55);
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .16em;
}
.section-d_shop_home .section-d_children { counter-reset: nika-category; }
.section-d_shop_home .category-d_child:hover { transform: translateY(-5px); box-shadow: 0 24px 55px rgba(16,16,15,.2); }
.section-d_shop_home .category-d_child:hover::before { transform: scale(1.045); filter: brightness(1.08); }
.section-d_shop_home .category-d_child .category-d__name {
  max-width: 85%;
  color: #fff;
  font-family: Prata,serif;
  font-size: clamp(1.4rem,2.5vw,2rem);
  line-height: 1.2;
}

/* Product grids on category pages and homepage. */
.section-d_shop_cat > .category-d_main { display: none; }
.section-d_shop .section-d__list._viewgrid,
.block-d_shop .block-d__list._viewgrid {
  display: grid !important;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 1.25rem;
}
.section-d_shop .element-d_card,
.block-d_shop .element-d_card {
  min-width: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  border: 1px solid rgba(16,16,15,.09);
  background: #fff;
  box-shadow: 0 10px 35px rgba(16,16,15,.06);
  transition: transform .32s ease, box-shadow .32s ease, border-color .32s ease;
}
.section-d_shop .element-d_card:hover,
.block-d_shop .element-d_card:hover {
  transform: translateY(-6px);
  border-color: rgba(143,104,70,.35);
  box-shadow: 0 24px 55px rgba(16,16,15,.13);
}
.element-d_card .element-d__images {
  position: relative;
  min-height: 245px;
  overflow: hidden;
  background: #4c4b47;
}
.element-d_card .element-d__images > a { position: absolute; inset: 0; display: block; }

/* Product photographs fill the reserved card frame without distortion. */
.element-d_shop.element-d_card .element-d__images > a > picture {
  display: block;
  width: 100%;
  height: 100%;
}
.element-d_shop.element-d_card .element-d__images > a img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  margin: 0;
  object-fit: cover;
  object-position: center;
}

.element-d_card figure._dummyimage,
.product-d__images figure._dummyimage {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  background:
    linear-gradient(145deg, rgba(255,255,255,.12), transparent 40%),
    repeating-radial-gradient(ellipse at 65% 30%, rgba(255,255,255,.08) 0 1px, transparent 1px 13px),
    linear-gradient(130deg,#77746c,#2e2e2b);
  transition: transform .7s ease, filter .7s ease;
}
.element-d_card:nth-child(4n+2) figure._dummyimage { background: linear-gradient(145deg,rgba(255,255,255,.1),transparent 45%),repeating-linear-gradient(105deg,rgba(0,0,0,.08) 0 2px,transparent 2px 20px),linear-gradient(135deg,#8d7867,#3a3029); }
.element-d_card:nth-child(4n+3) figure._dummyimage { background: linear-gradient(145deg,rgba(255,255,255,.1),transparent 45%),radial-gradient(circle at 25% 25%,#7c7e73,#30322f 65%); }
.element-d_card:nth-child(4n+4) figure._dummyimage { background: linear-gradient(145deg,rgba(255,255,255,.08),transparent 42%),repeating-radial-gradient(circle at 70% 30%,rgba(75,101,109,.35) 0 3px,transparent 4px 34px),linear-gradient(135deg,#3d4545,#151716); }
.element-d_card:hover figure._dummyimage { transform: scale(1.055); filter: contrast(1.08); }
.element-d_card .element-d__images::after {
  content: "NATURAL STONE";
  position: absolute;
  z-index: 2;
  left: 1.1rem;
  bottom: 1rem;
  color: rgba(255,255,255,.72);
  font-size: .58rem;
  font-weight: 700;
  letter-spacing: .2em;
  pointer-events: none;
}
.element-d_card .element-d__interacts,
.element-d_card .element-d__discounts,
.element-d_card .detail-d_params { display: none !important; }
.element-d_card .element-d__details { flex: 1; padding: 1.35rem 1.35rem 1.5rem; }
.element-d_card .details-d__enum { display: flex; height: 100%; flex-direction: column; }
.element-d_card .detail-d_name { margin-bottom: .75rem; }
.element-d_card .detail-d_name a {
  color: var(--nika-ink) !important;
  font-family: Prata,serif;
  font-size: 1.24rem;
  line-height: 1.3;
  text-decoration: none !important;
}
.element-d_card .detail-d_anons {
  color: rgba(16,16,15,.58);
  font-size: .82rem;
  line-height: 1.65;
}
.nika-card-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 1.25rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(16,16,15,.1);
  color: var(--nika-clay);
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.prevnext-d { margin-top: 2.5rem; }
.prevnext-d a { text-decoration: none !important; }

/* Product page. */
.nika-content:has(.product-d) > h1 { max-width: 760px; margin-bottom: 2rem; }
.section-d_shop_id { display: grid; gap: 1.5rem; }
.product-d {
  display: grid;
  grid-template-columns: minmax(0,.95fr) minmax(0,1.05fr);
  gap: 0;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 24px 70px rgba(16,16,15,.11);
}
.product-d__images {
  position: relative;
  min-height: 540px;
  overflow: hidden;
  background: #30312e;
}
.product-d__images::after {
  content: "NIKA GRAN";
  position: absolute;
  left: 2rem;
  bottom: 1.75rem;
  color: rgba(255,255,255,.7);
  font-size: .65rem;
  font-weight: 700;
  letter-spacing: .24em;
}
.product-d__details {
  padding: clamp(2rem,4vw,4rem);
  align-self: stretch;
  background: linear-gradient(145deg,#fff,#f4f0e8);
}
.product-d__details .detail-d_rating,
.product-d__details .detail-d_socnets,
.product-d__details .detail-d_params,
.product-d__interacts,
.product-d__discounts { display: none !important; }
.product-d__tabs {
  grid-column: 2;
  margin-top: -15rem;
  padding: 0 clamp(2rem,4vw,4rem) clamp(2rem,4vw,4rem);
  position: relative;
  z-index: 2;
}
.product-d__tabs .tabs-d__tabnames { display: none !important; }
.product-d__tabs .product-d__tab { display: none !important; }
.product-d__tabs .product-d__tab_text {
  display: block !important;
  color: rgba(16,16,15,.62);
  font-size: .92rem;
  line-height: 1.8;
}
.nika-product-quote {
  margin-top: 1.75rem;
  padding-top: 1.5rem;
  border-top: 1px solid rgba(16,16,15,.12);
}
.nika-product-quote p { margin: 0 0 1.1rem !important; color: rgba(16,16,15,.58); font-size: .84rem; }
.nika-product-quote a {
  display: inline-flex;
  align-items: center;
  gap: .8rem;
  padding: .95rem 1.25rem;
  background: var(--nika-sand);
  color: var(--nika-ink) !important;
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-decoration: none !important;
  text-transform: uppercase;
  transition: background .2s ease, color .2s ease;
}
.nika-product-quote a:hover { background: var(--nika-ink); color: #fff !important; }
.section-d_shop_id > .block_defer_form,
.section-d_shop_id > .defer_title { display: none !important; }

@media (max-width: 1023px) {
  .section-d_shop .section-d__list._viewgrid,
  .block-d_shop .block-d__list._viewgrid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .product-d { grid-template-columns: 1fr; }
  .product-d__images { min-height: 440px; }
  .product-d__tabs { grid-column: 1; margin-top: 0; padding-top: 0; }
}
@media (max-width: 639px) {
  .nika-inner-main { padding-left: 1rem !important; padding-right: 1rem !important; }
  .section-d_shop_home .section-d_children,
  .section-d_shop .section-d__list._viewgrid,
  .block-d_shop .block-d__list._viewgrid { grid-template-columns: 1fr; }
  .section-d_shop_home .category-d_child { min-height: 220px; }
  .element-d_card .element-d__images { min-height: 220px; }
  .product-d__images { min-height: 330px; }
  .product-d__details { padding: 1.5rem; }
  .product-d__tabs { padding: 0 1.5rem 1.75rem; }
}

/* Keep the expanded navigation readable on small desktop/tablet widths. */
@media (min-width: 1024px) and (max-width: 1279px) {
  #site-header > div:first-child > nav.nika-menu,
  #site-header > div:first-child > div.hidden { display: none; }
  #site-header #menu-button { display: grid; }
  #site-header #mobile-menu { display: block; }
  #site-header #mobile-menu .nika-menu ul { flex-direction: column; align-items: flex-start; }
}
.nika-footer-menu ul { flex-wrap: wrap; }

/* Keep the recognizable top of portrait finials and vases in wide card crops. */
.element-d_shop.element-d_card .element-d__images > a img[src*="_nika-batch2-38."],
.element-d_shop.element-d_card .element-d__images > a img[src*="_nika-batch2-48."] {
  object-position: center top;
}

/* Product detail gallery: main photo fills the reserved frame without distortion. */
.product-d__present .gall-d__list,
.product-d__present .slide-d,
.product-d__present .slide-d > a { height: 100%; }
.product-d__present .swiper-slide { height: 100%; }
.product-d__present .shop_id_img,
.product-d__present .slide-d_fit img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  margin: 0;
  object-fit: cover;
  object-position: center;
}

.nika-media-credit{margin:1rem 0 0;padding:.75rem 1rem;border-left:3px solid var(--nika-sand,#c7aa7a);background:rgba(255,255,255,.6);color:rgba(16,16,15,.66);font-size:.72rem;line-height:1.65}.nika-media-credit a{color:var(--nika-clay,#8f6846);overflow-wrap:anywhere}

/* Poster artwork stays complete; owner photographs keep their cover rule. */
.element-d_shop.element-d_card.nika-product-poster .element-d__images {height:auto;min-height:0;aspect-ratio:4 / 5;background:#242320;}
.element-d_shop.element-d_card.nika-product-poster .element-d__images > a img {object-fit:contain;object-position:center;transform:none;}
.element-d_shop.element-d_card.nika-product-poster .element-d__images::after {content:none;}
.nika-product-visual-label {margin:0 0 .55rem;font-size:.75rem;line-height:1.4;color:#65543e;}

/* One uniform portrait tile for every product card, matching generated posters. */
.element-d_shop.element-d_card .element-d__images {
  aspect-ratio: 4 / 5;
  height: auto;
  min-height: 0;
}

/* Card improvements: real link affordance, AI badge on the image, calm motion. */
.element-d_shop.element-d_card .element-d__details { position: relative; }
.element-d_shop.element-d_card .details-d__enum { height: auto; }
.element-d_shop.element-d_card .nika-card-link {
  font-size: .75rem;
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  min-height: 44px;
  margin-top: .35rem;
  text-decoration: none !important;
}
.element-d_shop.element-d_card .nika-card-link span:last-child { transition: transform .2s ease; }
.element-d_shop.element-d_card:hover .nika-card-link span:last-child { transform: translateX(3px); }
.element-d_shop.element-d_card .element-d__images::after { content: none; }
@media (prefers-reduced-motion: reduce) {
  .element-d_card,
  .element-d_card:hover,
  .element-d_card figure._dummyimage,
  .element-d_card:hover figure._dummyimage,
  .nika-card-link span:last-child,
  .element-d_shop.element-d_card:hover .nika-card-link span:last-child {
    transition: none !important;
    transform: none !important;
  }
}
@media (max-width: 1023px) {
  .product-d__details { display: flex; flex-direction: column; }
  .nika-product-quote {
    order: -1;
    margin: 0 0 1.75rem;
    padding: 0 0 1.5rem;
    border-top: 0;
    border-bottom: 1px solid rgba(16,16,15,.12);
  }
  .product-d__images._single {
    min-height: 0 !important;
    aspect-ratio: auto;
    background: transparent;
  }
  .product-d__images._single .product-d__gall,
  .product-d__images._single .product-d__present,
  .product-d__images._single .gall-d__list,
  .product-d__images._single .slide-d,
  .product-d__images._single .slide-d > a { height: auto !important; }
  .product-d__images._single .gall-d__nav,
  .product-d__images._single::after { display: none; }
  .product-d__images._single .shop_id_img {
    width: 100%;
    height: auto;
    object-fit: contain;
  }
}

/* Ссылка на калькулятор веса в карточке товара */
.nika-product-calc {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-top: 1.25rem;
  padding: 1.1rem 1.25rem;
  border: 1px solid rgba(16,16,15,.12);
  background: rgba(199,170,122,.10);
}
.nika-product-calc__icon {
  flex: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: rgba(199,170,122,.28);
  color: var(--nika-clay, #8f6846);
}
.nika-product-calc__body { display: flex; flex-direction: column; gap: .3rem; flex: 1 1 auto; min-width: 0; }
.nika-product-calc__title { font-size: .72rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.nika-product-calc__text { font-size: .8rem; line-height: 1.5; color: rgba(16,16,15,.6); }
.nika-product-calc__link {
  flex: none;
  display: inline-flex;
  align-items: center;
  gap: .6rem;
  min-height: 44px;
  padding: .6rem 1rem;
  border: 1px solid var(--nika-ink, #10100f);
  color: var(--nika-ink, #10100f) !important;
  font-size: .66rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-decoration: none !important;
  text-transform: uppercase;
  transition: background .2s ease, color .2s ease;
}
.nika-product-calc__link:hover { background: var(--nika-ink, #10100f); color: #fff !important; }
@media (max-width: 640px) {
  .nika-product-calc { flex-wrap: wrap; }
  .nika-product-calc__link { width: 100%; justify-content: center; }
}

/* Ссылка на калькулятор на страницах категорий */
.nika-catalog-calc {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin: 2rem 0 0;
  padding: 1.25rem;
  border: 1px solid rgba(16,16,15,.12);
  background: rgba(199,170,122,.12);
}
.nika-catalog-calc__icon { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 46px; height: 46px; border-radius: 50%; background: rgba(199,170,122,.3); color: var(--nika-clay, #8f6846); }
.nika-catalog-calc__body { display: flex; flex-direction: column; gap: .3rem; flex: 1 1 auto; }
.nika-catalog-calc__title { font-size: .74rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.nika-catalog-calc__text { font-size: .84rem; line-height: 1.55; color: rgba(16,16,15,.62); }
.nika-catalog-calc__link { flex: none; display: inline-flex; align-items: center; gap: .6rem; min-height: 44px; padding: .6rem 1rem; border: 1px solid var(--nika-ink, #10100f); color: var(--nika-ink, #10100f) !important; font-size: .66rem; font-weight: 800; letter-spacing: .14em; text-decoration: none !important; text-transform: uppercase; }
.nika-catalog-calc__link:hover { background: var(--nika-ink, #10100f); color: #fff !important; }
@media (max-width: 640px) {
  .nika-catalog-calc { flex-wrap: wrap; }
  .nika-catalog-calc__link { width: 100%; justify-content: center; }
}

/* Характеристики, схема размеров и содержательный блок карточки товара */
.nika-product-specs { margin-top: 1.5rem; }
.nika-product-specs table { width: 100%; border-collapse: collapse; }
.nika-product-specs caption {
  caption-side: top; padding: 0 0 .75rem; text-align: left;
  font-size: .72rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase;
}
.nika-product-specs th, .nika-product-specs td { padding: .75rem 0; border-bottom: 1px solid rgba(16,16,15,.12); text-align: left; vertical-align: top; font-size: .85rem; }
.nika-product-specs th { width: 42%; font-weight: 600; color: rgba(16,16,15,.62); }
.nika-product-dims { margin-top: 1.75rem; }
.nika-product-dims h3 { margin: 0 0 .75rem; font-size: .72rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.nika-product-dims svg { width: 100%; height: auto; max-width: 460px; }
.nika-product-dims__note { margin: .75rem 0 0; font-size: .8rem; line-height: 1.6; color: rgba(16,16,15,.6); }
.nika-product-content { margin: 3rem 0 0; }
.nika-product-content h2 { margin: 2.5rem 0 1rem; font-family: Prata, serif; font-size: 1.6rem; }
.nika-product-about__text p { margin: 0 0 1rem; line-height: 1.8; }
.nika-product-faq h3 { margin: 1.75rem 0 .5rem; font-family: Prata, serif; font-size: 1.1rem; }
.nika-product-faq p { margin: 0; line-height: 1.8; color: rgba(16,16,15,.75); }
.nika-product-delivery ul { margin: 0; padding-left: 1.1rem; }
.nika-product-delivery li { margin-bottom: .5rem; line-height: 1.7; }
.nika-product-delivery a, .nika-product-about a { text-decoration: underline; }

/* Фотография породы на странице камня */
.nika-stone-photo { margin: 1.75rem 0 2.25rem; }
.nika-stone-photo img { display: block; width: 100%; height: auto; max-width: 900px; border-radius: 2px; }
.nika-stone-photo figcaption { margin-top: .75rem; font-size: .8rem; line-height: 1.6; color: rgba(16,16,15,.62); }
.nika-stone-photo__note { color: rgba(16,16,15,.5); }

/* ==== css/nika-catalog-layout.css ==== */
.product-d__details .product-d__tabs {
  margin: 1.5rem 0 0;
  padding: 1.5rem 0 0;
  border-top: 1px solid rgba(16,16,15,.12);
}
@media (max-width:1023px) {
  .product-d__details .product-d__tabs { margin-top:1.25rem; padding-top:1.25rem; }
}

/* ==== css/nika-filter.css ==== */
.section-d_shop_cat .settings-d {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .85rem;
  margin: 0 0 1.5rem;
  padding: 1rem;
  border: 1px solid rgba(16,16,15,.09);
  background: rgba(255,255,255,.88);
  box-shadow: 0 12px 35px rgba(16,16,15,.06);
  backdrop-filter: blur(12px);
}
.section-d_shop_cat .setting-d_sort { min-width: 220px; }
.section-d_shop_cat .setting-d_sort::before {
  content: "";
  display: inline-block;
  width: .5rem;
  height: .5rem;
  margin-right: .65rem;
  border-radius: 50%;
  background: var(--nika-sand);
}
.section-d_shop_cat .setting-d__select {
  max-width: calc(100% - 1.5rem);
  border: 0;
  background: transparent;
  color: var(--nika-ink);
  font-size: .75rem;
  font-weight: 700;
  outline: none;
}
.section-d_shop_cat .setting-d_views { display: none !important; }
.section-d_shop_cat .setting-d_filter-show { margin-left: auto; }
.section-d_shop_cat .setting-d_filter-show .button-d {
  display: inline-flex;
  align-items: center;
  gap: .65rem;
  min-height: 44px;
  border: 1px solid var(--nika-ink);
  background: var(--nika-ink);
  padding: .75rem 1rem;
  color: #fff;
  cursor: pointer;
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
  transition: background .2s,color .2s,border-color .2s;
}
.section-d_shop_cat .setting-d_filter-show .button-d:hover,
.section-d_shop_cat .nika-filter-open .setting-d_filter-show .button-d {
  border-color: var(--nika-sand);
  background: var(--nika-sand);
  color: var(--nika-ink);
}
.nika-filter-count {
  display: grid;
  min-width: 1.25rem;
  height: 1.25rem;
  place-items: center;
  border-radius: 999px;
  background: #fff;
  color: var(--nika-ink);
  font-size: .62rem;
  letter-spacing: 0;
}
.section-d_shop_cat .setting-d_filter {
  display: none !important;
  flex: 0 0 100%;
  width: 100%;
  margin-top: .15rem;
}
.section-d_shop_cat .settings-d.nika-filter-open .setting-d_filter { display: block !important; }
.section-d_shop_cat .filter-d_shop {
  overflow: hidden;
  padding: clamp(1.25rem,3vw,2rem);
  background:
    radial-gradient(circle at 90% 0,rgba(199,170,122,.18),transparent 24rem),
    var(--nika-ink);
  color: #fff;
}
.section-d_shop_cat .filter-d_shop > .block-d__name {
  margin-bottom: .45rem;
  color: #fff;
  font-family: Prata,serif;
  font-size: clamp(1.45rem,2.2vw,2rem);
}
.nika-filter-help {
  max-width: 620px;
  margin: 0 0 1.75rem;
  color: rgba(255,255,255,.55);
  font-size: .78rem;
  line-height: 1.65;
}
.section-d_shop_cat .filter-d_shop form {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 1.25rem;
  align-items: start;
}
.section-d_shop_cat .filter-d_shop form > .shop_search_param {
  min-width: 0;
  padding: 1.15rem;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.045);
}
.section-d_shop_cat .filter-d_shop .field-d__name {
  display: block;
  margin-bottom: .85rem;
  color: var(--nika-sand);
  font-size: .66rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.section-d_shop_cat .filter-d_shop .field-d__list {
  display: flex;
  flex-wrap: wrap;
  gap: .48rem;
}
.section-d_shop_cat .filter-d_shop .field-d__item { position: relative; }
.section-d_shop_cat .filter-d_shop .field-d__item input {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  opacity: 0;
}
.section-d_shop_cat .filter-d_shop .field-d__item label {
  display: block;
  border: 1px solid rgba(255,255,255,.15);
  padding: .52rem .7rem;
  color: rgba(255,255,255,.7);
  cursor: pointer;
  font-size: .68rem;
  line-height: 1.25;
  transition: border-color .18s,background .18s,color .18s;
}
.section-d_shop_cat .filter-d_shop .field-d__item label:hover {
  border-color: rgba(199,170,122,.75);
  color: #fff;
}
.section-d_shop_cat .filter-d_shop .field-d__item input:focus-visible + label {
  outline: 2px solid #fff;
  outline-offset: 2px;
}
.section-d_shop_cat .filter-d_shop .field-d__item input:checked + label {
  border-color: var(--nika-sand);
  background: var(--nika-sand);
  color: var(--nika-ink);
  font-weight: 700;
}
.section-d_shop_cat .filter-d_shop form > .button-d {
  min-height: 46px;
  border: 1px solid var(--nika-sand);
  background: var(--nika-sand);
  padding: .8rem 1.2rem;
  color: var(--nika-ink);
  cursor: pointer;
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.section-d_shop_cat .filter-d_shop form > .button-d.js_reload {
  border-color: rgba(255,255,255,.25);
  background: transparent;
  color: #fff;
}
.section-d_shop_cat .filter-d_shop form > .button-d:hover { filter: brightness(1.08); }

@media (max-width:1023px) {
  .section-d_shop_cat .filter-d_shop form { grid-template-columns: 1fr 1fr; }
  .section-d_shop_cat .filter-d_shop form > .shop_search_param:last-of-type { grid-column: 1/-1; }
}
@media (max-width:639px) {
  .section-d_shop_cat .settings-d { position: relative; padding: .8rem; }
  .section-d_shop_cat .setting-d_sort { min-width: 0; flex: 1; }
  .section-d_shop_cat .setting-d_filter-show { margin-left: 0; }
  .section-d_shop_cat .setting-d_filter-show .button-d { padding: .7rem .8rem; }
  .section-d_shop_cat .filter-d_shop { margin: 0 -.8rem -.8rem; }
  .section-d_shop_cat .filter-d_shop form { grid-template-columns: 1fr; }
  .section-d_shop_cat .filter-d_shop form > .shop_search_param:last-of-type { grid-column: auto; }
}

/* ==== css/nika-polish.css ==== */
.section-d_shop_cat .settings-d:not(.nika-filter-ready) .setting-d_filter {
  display: block !important;
}
.product-d__tabs .product-d__tab_params {
  display: block !important;
  margin-top: 1.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid rgba(16,16,15,.12);
}
.nika-specs-title {
  margin: 0 0 1rem;
  color: var(--nika-ink);
  font-family: Prata,serif;
  font-size: 1.25rem;
}
.product-d__tab_params .param-d {
  display: grid;
  grid-template-columns: minmax(120px,.42fr) 1fr;
  gap: 1rem;
  padding: .8rem 0;
  border-bottom: 1px solid rgba(16,16,15,.08);
  font-size: .78rem;
  line-height: 1.55;
}
.product-d__tab_params .param-d__name {
  color: rgba(16,16,15,.48);
  font-weight: 600;
}
.product-d__tab_params .param-d__value { font-weight: 600; }
.product-d__tab_params .param-d__value a {
  color: var(--nika-ink) !important;
  text-decoration-color: rgba(143,104,70,.35) !important;
  text-underline-offset: 3px;
}
@media(max-width:639px) {
  .product-d__tab_params .param-d { grid-template-columns:1fr; gap:.35rem; }
}

/* ==== css/nika-hub.css ==== */
.nika-hub-page { position: relative; }
.nika-hub-eyebrow {
  display: flex;
  align-items: center;
  gap: .75rem;
  margin: 0 0 1rem;
  color: var(--nika-clay);
  font-size: .65rem;
  font-weight: 800;
  letter-spacing: .2em;
  text-transform: uppercase;
}
.nika-hub-eyebrow::before { content:""; width:2.5rem; height:1px; background:currentColor; }
.nika-hub-page > h1 { max-width: 980px !important; font-size: clamp(3rem,6.4vw,6rem) !important; line-height:.98 !important; }
.nika-hub-page > .nika-catalog-lead { max-width: 760px; font-size: 1rem; }
.nika-hub-stats {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  max-width: 760px;
  margin: 0 0 2.5rem;
  border-top: 1px solid rgba(16,16,15,.14);
  border-bottom: 1px solid rgba(16,16,15,.14);
}
.nika-hub-stat { padding: 1.15rem 1.25rem 1.15rem 0; }
.nika-hub-stat + .nika-hub-stat { padding-left: 1.25rem; border-left: 1px solid rgba(16,16,15,.12); }
.nika-hub-stat strong { display:block; margin-bottom:.2rem; font-family:Prata,serif; font-size:1.8rem; font-weight:400; }
.nika-hub-stat span { color:rgba(16,16,15,.5); font-size:.64rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }

/* A category with children is a navigation hub, not a product listing. */
.section-d_shop_cat:has(> .section-d__children) > .settings-d,
.section-d_shop_cat:has(> .section-d__children) > .section-d__list,
.section-d_shop_cat:has(> .section-d__children) > .category-d_main,
.section-d_shop_cat:has(> .section-d__children) > .prevnext-d { display:none !important; }
.section-d_shop_cat > .section-d__children {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1.25rem;
}
.nika-hub-card {
  position:relative;
  isolation:isolate;
  min-height:320px;
  overflow:hidden;
  display:flex !important;
  align-items:flex-end;
  padding:clamp(1.5rem,3vw,2.35rem) !important;
  border:0 !important;
  background:#292925;
  color:#fff !important;
  text-decoration:none !important;
  box-shadow:0 14px 35px rgba(16,16,15,.08);
  transition:transform .35s ease,box-shadow .35s ease;
}
.nika-hub-card::before {
  content:"";
  position:absolute;
  z-index:-2;
  inset:0;
  background:
    linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.78)),
    repeating-linear-gradient(112deg,rgba(255,255,255,.065) 0 1px,transparent 1px 17px),
    radial-gradient(circle at 70% 18%,#8c8981,#2d2d2a 66%);
  transition:transform .65s ease,filter .65s ease;
}
.nika-hub-card[data-tone="warm"]::before { background:linear-gradient(180deg,transparent,rgba(0,0,0,.78)),repeating-radial-gradient(circle at 70% 20%,rgba(255,255,255,.07) 0 1px,transparent 1px 15px),radial-gradient(circle at 75% 18%,#927560,#302923 68%); }
.nika-hub-card[data-tone="olive"]::before { background:linear-gradient(180deg,transparent,rgba(0,0,0,.8)),repeating-linear-gradient(108deg,rgba(255,255,255,.055) 0 1px,transparent 1px 22px),radial-gradient(circle at 72% 18%,#74766c,#272925 68%); }
.nika-hub-card[data-tone="dark"]::before { background:linear-gradient(180deg,transparent,rgba(0,0,0,.82)),repeating-radial-gradient(circle at 68% 20%,rgba(75,117,126,.24) 0 2px,transparent 3px 28px),radial-gradient(circle at 72% 18%,#586161,#171918 68%); }
.nika-hub-card::after {
  content:attr(data-index);
  position:absolute;
  top:1.4rem;
  right:1.5rem;
  color:rgba(255,255,255,.55);
  font-size:.66rem;
  font-weight:800;
  letter-spacing:.16em;
}
.nika-hub-card:hover { transform:translateY(-6px); box-shadow:0 28px 60px rgba(16,16,15,.2); }
.nika-hub-card:hover::before { transform:scale(1.045); filter:brightness(1.08); }
.nika-hub-card .category-d__details { position:relative; z-index:1; width:100%; }
.nika-hub-card .category-d__name { max-width:85%; color:#fff; font-family:Prata,serif; font-size:clamp(1.55rem,2.5vw,2.25rem); line-height:1.15; }
.nika-category-meta { display:flex; align-items:center; gap:.65rem; margin-bottom:.9rem; color:var(--nika-sand); font-size:.6rem; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.nika-category-description { max-width:32rem; margin:.85rem 0 0 !important; color:rgba(255,255,255,.62); font-size:.78rem; line-height:1.6 !important; }
.nika-category-arrow { position:absolute; right:0; bottom:0; display:grid; width:2.6rem; height:2.6rem; place-items:center; border:1px solid rgba(255,255,255,.28); border-radius:50%; color:#fff; font-size:1rem; transition:background .2s,color .2s; }
.nika-hub-card:hover .nika-category-arrow { background:var(--nika-sand); color:var(--nika-ink); }

.section-d_shop_home > .category-d_main .nika-category-description { max-width:38rem; }
.section-d_shop_home > .category-d_main .nika-category-arrow { right:clamp(1.6rem,4vw,3rem); bottom:clamp(1.6rem,4vw,3rem); }
.section-d_shop_home > .category-d_main .category-d__details { width:100%; }

.nika-hub-cta {
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-columns:1fr auto;
  align-items:center;
  gap:2rem;
  margin-top:1.5rem;
  padding:clamp(1.6rem,4vw,3rem);
  background:var(--nika-ink);
  color:#fff;
}
.nika-hub-cta::after { content:"N"; position:absolute; right:18%; bottom:-4rem; color:rgba(255,255,255,.035); font-family:Prata,serif; font-size:12rem; line-height:1; }
.nika-hub-cta__copy { position:relative; z-index:1; }
.nika-hub-cta strong { display:block; margin-bottom:.55rem; font-family:Prata,serif; font-size:clamp(1.45rem,3vw,2.35rem); font-weight:400; }
.nika-hub-cta p { margin:0 !important; color:rgba(255,255,255,.56); font-size:.82rem; }
.nika-hub-cta a { position:relative; z-index:1; display:inline-flex; align-items:center; gap:.75rem; padding:1rem 1.25rem; background:var(--nika-sand); color:var(--nika-ink) !important; font-size:.67rem; font-weight:800; letter-spacing:.14em; text-decoration:none !important; text-transform:uppercase; }

@media(max-width:767px) {
  .nika-hub-page > h1 { font-size:clamp(2.65rem,13vw,4rem) !important; }
  .nika-hub-stats { grid-template-columns:1fr; }
  .nika-hub-stat,.nika-hub-stat + .nika-hub-stat { padding:.85rem 0; border-left:0; }
  .nika-hub-stat + .nika-hub-stat { border-top:1px solid rgba(16,16,15,.1); }
  .section-d_shop_cat > .section-d__children { grid-template-columns:1fr; }
  .nika-hub-card { min-height:250px; }
  .nika-hub-cta { grid-template-columns:1fr; }
  .nika-hub-cta a { justify-self:start; }
}

/* ==== css/nika-root-categories.css ==== */
.nika-root-category-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.25rem;
}
.nika-root-category-grid > .nika-root-category-card {
  cursor: pointer;
}
.nika-root-category-card .category-d__name a {
  color: inherit !important;
  text-decoration: none !important;
}
.nika-root-category-card:focus-visible {
  outline: 3px solid var(--nika-clay);
  outline-offset: 4px;
}
.section-d_shop_home.nika-root-category-grid > .nika-root-category-card .nika-category-description {
  max-width: 32rem;
}
.section-d_shop_home.nika-root-category-grid > .nika-root-category-card .nika-category-arrow {
  right: 0;
  bottom: 0;
}

@media (max-width: 767px) {
  .nika-root-category-grid { grid-template-columns: 1fr; }
}

/* ==== css/nika-about.css ==== */
.nika-content:has(.nika-about) {
  overflow: hidden;
  padding: 0 !important;
  background: #f4f1eb;
}
.nika-content:has(.nika-about) > h1 {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}
.nika-about {
  --about-ink: #171714;
  --about-stone: #77736b;
  --about-line: rgba(23, 23, 20, .13);
  color: var(--about-ink);
}
.nika-about * { box-sizing: border-box; }
.nika-about__hero {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(330px, .92fr);
  min-height: 660px;
  background: #e9e4dc;
}
.nika-about__intro {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(3rem, 7vw, 7rem);
}
.nika-about__eyebrow,
.nika-about__section-label {
  display: flex;
  align-items: center;
  gap: .8rem;
  margin: 0 0 1.4rem !important;
  color: var(--nika-clay);
  font-size: .65rem;
  font-weight: 800;
  letter-spacing: .2em;
  text-transform: uppercase;
}
.nika-about__eyebrow::before,
.nika-about__section-label::before {
  content: "";
  width: 2.5rem;
  height: 1px;
  background: currentColor;
}
.nika-about__hero h1 {
  max-width: 780px;
  margin: 0 0 1.75rem !important;
  font-family: Prata, serif;
  font-size: clamp(3rem, 6.2vw, 6.5rem);
  font-weight: 400;
  line-height: .98;
  letter-spacing: -.045em;
}
.nika-about__lead {
  max-width: 640px;
  margin: 0 !important;
  color: rgba(23, 23, 20, .65);
  font-size: clamp(1rem, 1.4vw, 1.25rem);
  line-height: 1.75 !important;
}
.nika-about__visual {
  position: relative;
  min-height: 560px;
  overflow: hidden;
  background: #2b2b28 url('/img/nika/granite-hero.png') center/cover no-repeat;
}
.nika-about__visual::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(10,10,9,.03), rgba(10,10,9,.72));
}
.nika-about__seal {
  position: absolute;
  z-index: 1;
  right: clamp(1.5rem, 4vw, 3.5rem);
  bottom: clamp(1.5rem, 4vw, 3.5rem);
  width: min(260px, calc(100% - 3rem));
  padding: 1.5rem;
  border: 1px solid rgba(255,255,255,.28);
  background: rgba(20,20,18,.58);
  color: #fff;
  backdrop-filter: blur(14px);
}
.nika-about__seal span {
  display: block;
  margin-bottom: .55rem;
  color: var(--nika-sand);
  font-size: .6rem;
  font-weight: 800;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.nika-about__seal strong {
  display: block;
  font-family: Prata, serif;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1.3;
}
.nika-about__proof {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid var(--about-line);
  border-bottom: 1px solid var(--about-line);
  background: #fff;
}
.nika-about__proof article { padding: clamp(1.6rem, 4vw, 3.2rem); }
.nika-about__proof article + article { border-left: 1px solid var(--about-line); }
.nika-about__proof strong {
  display: block;
  margin-bottom: .55rem;
  font-family: Prata, serif;
  font-size: clamp(1.5rem, 2.4vw, 2.2rem);
  font-weight: 400;
}
.nika-about__proof p,
.nika-about__copy p,
.nika-about__trust p,
.nika-about__process p {
  margin: 0 !important;
  color: rgba(23,23,20,.58);
  font-size: .84rem;
  line-height: 1.7 !important;
}
.nika-about__story {
  display: grid;
  grid-template-columns: .82fr 1.18fr;
  gap: clamp(2rem, 8vw, 8rem);
  padding: clamp(4rem, 9vw, 8rem);
}
.nika-about__story h2,
.nika-about__trust-head h2,
.nika-about__process-head h2,
.nika-about__cta h2 {
  margin: 0 !important;
  font-family: Prata, serif;
  font-size: clamp(2.2rem, 4.2vw, 4.5rem);
  font-weight: 400;
  line-height: 1.08;
  letter-spacing: -.03em;
}
.nika-about__copy {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.5rem 2rem;
  align-content: start;
}
.nika-about__copy p:first-child {
  grid-column: 1 / -1;
  color: var(--about-ink);
  font-family: Prata, serif;
  font-size: clamp(1.35rem, 2vw, 2rem);
  line-height: 1.5 !important;
}
.nika-about__trust {
  padding: clamp(4rem, 8vw, 7rem);
  background: var(--about-ink);
  color: #fff;
}
.nika-about__trust-head,
.nika-about__process-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 2rem;
  margin-bottom: 3rem;
}
.nika-about__trust-head > p,
.nika-about__process-head > p { max-width: 470px; }
.nika-about__trust-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px solid rgba(255,255,255,.16);
}
.nika-about__trust article {
  position: relative;
  min-height: 260px;
  padding: 2rem 1.5rem 1rem 0;
}
.nika-about__trust article + article {
  padding-left: 1.5rem;
  border-left: 1px solid rgba(255,255,255,.16);
}
.nika-about__trust b {
  display: block;
  margin-bottom: 4.5rem;
  color: var(--nika-sand);
  font-size: .65rem;
  letter-spacing: .18em;
}
.nika-about__trust h3 {
  margin: 0 0 .7rem !important;
  color: #fff;
  font-family: Prata, serif;
  font-size: 1.35rem;
  font-weight: 400;
}
.nika-about__trust p { color: rgba(255,255,255,.54); }
.nika-about__process { padding: clamp(4rem, 8vw, 7rem); }
.nika-about__steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}
.nika-about__steps article {
  min-height: 250px;
  padding: 1.6rem;
  border: 1px solid var(--about-line);
  background: rgba(255,255,255,.45);
}
.nika-about__steps span {
  display: block;
  margin-bottom: 4rem;
  color: var(--nika-clay);
  font-size: .65rem;
  font-weight: 800;
  letter-spacing: .16em;
}
.nika-about__steps h3 {
  margin: 0 0 .75rem !important;
  font-family: Prata, serif;
  font-size: 1.4rem;
  font-weight: 400;
}
.nika-about__cta {
  position: relative;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 2rem;
  margin: 0 clamp(2rem, 8vw, 7rem) clamp(2rem, 8vw, 7rem);
  padding: clamp(2rem, 5vw, 4rem);
  overflow: hidden;
  background: #c7ad89;
}
.nika-about__cta p {
  max-width: 650px;
  margin: 1rem 0 0 !important;
  color: rgba(23,23,20,.62);
}
.nika-about__cta a {
  display: inline-flex;
  align-items: center;
  gap: .8rem;
  padding: 1.05rem 1.35rem;
  background: var(--about-ink);
  color: #fff !important;
  font-size: .66rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-decoration: none !important;
  text-transform: uppercase;
}

@media (max-width: 980px) {
  .nika-about__hero { grid-template-columns: 1fr; }
  .nika-about__visual { min-height: 480px; }
  .nika-about__story { grid-template-columns: 1fr; }
  .nika-about__trust-grid,
  .nika-about__steps { grid-template-columns: repeat(2, 1fr); }
  .nika-about__trust article:nth-child(3) { border-left: 0; }
}
@media (max-width: 640px) {
  .nika-about__hero h1 { font-size: clamp(2.8rem, 15vw, 4.2rem); }
  .nika-about__proof,
  .nika-about__copy,
  .nika-about__trust-grid,
  .nika-about__steps,
  .nika-about__cta { grid-template-columns: 1fr; }
  .nika-about__proof article + article,
  .nika-about__trust article + article { border-left: 0; border-top: 1px solid var(--about-line); }
  .nika-about__trust article { min-height: 220px; }
  .nika-about__trust article + article { padding-left: 0; }
  .nika-about__trust-head,
  .nika-about__process-head { display: block; }
  .nika-about__trust-head > p,
  .nika-about__process-head > p { margin-top: 1rem !important; }
  .nika-about__cta { margin-right: 1rem; margin-left: 1rem; }
  .nika-about__cta a { justify-self: start; }
}

/* ==== css/nika-contact.css ==== */
.nika-content:has(.nika-contact){overflow:hidden;padding:0!important;background:#f4f1eb}.nika-content:has(.nika-contact)>h1{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.nika-contact{--ci:#171714;--cl:rgba(23,23,20,.13);color:var(--ci)}.nika-contact *{box-sizing:border-box}
.nika-contact__hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr);min-height:560px;background:#e9e4dc}.nika-contact__intro{display:flex;flex-direction:column;justify-content:center;padding:clamp(3rem,7vw,7rem)}.nika-contact__eyebrow,.nika-contact__label{display:flex;align-items:center;gap:.8rem;margin:0 0 1.4rem!important;color:var(--nika-clay);font-size:.65rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase}.nika-contact__eyebrow:before,.nika-contact__label:before{content:"";width:2.5rem;height:1px;background:currentColor}.nika-contact__hero h1{max-width:780px;margin:0 0 1.75rem!important;font-family:Prata,serif;font-size:clamp(3rem,6vw,6.25rem);font-weight:400;line-height:.98;letter-spacing:-.045em}.nika-contact__lead{max-width:640px;margin:0!important;color:rgba(23,23,20,.63);font-size:clamp(1rem,1.35vw,1.2rem);line-height:1.75!important}
.nika-contact__hero-panel{position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;padding:clamp(2rem,5vw,4rem);background:linear-gradient(145deg,rgba(255,255,255,.04),transparent 40%),repeating-linear-gradient(115deg,rgba(255,255,255,.035) 0 1px,transparent 1px 24px),#20201d;color:#fff}.nika-contact__hero-panel:after{content:"N";position:absolute;z-index:-1;right:-1rem;bottom:-4rem;color:rgba(255,255,255,.035);font:clamp(13rem,23vw,24rem)/1 Prata,serif}.nika-contact__hero-panel>span{align-self:flex-start;padding:.6rem .8rem;border:1px solid rgba(255,255,255,.22);color:var(--nika-sand);font-size:.6rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.nika-contact__hero-panel strong{display:block;max-width:420px;font:400 clamp(2rem,3.6vw,4rem)/1.12 Prata,serif}.nika-contact__hero-panel p{max-width:400px;margin:1.1rem 0 0!important;color:rgba(255,255,255,.54);line-height:1.7!important}
.nika-contact__channels{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid var(--cl);background:#fff}.nika-contact__channel{min-height:190px;padding:clamp(1.6rem,3.5vw,3rem)}.nika-contact__channel+.nika-contact__channel{border-left:1px solid var(--cl)}.nika-contact__channel span{display:block;margin-bottom:2.2rem;color:rgba(23,23,20,.42);font-size:.61rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.nika-contact__channel a,.nika-contact__channel strong{display:inline-block;color:var(--ci)!important;font:400 clamp(1.25rem,2vw,1.85rem)/1.35 Prata,serif;text-decoration:none!important}.nika-contact__channel a:after{content:"↗";margin-left:.65rem;color:var(--nika-clay);font:.9rem Manrope,sans-serif}.nika-contact__channel p{margin:.65rem 0 0!important;color:rgba(23,23,20,.5);font-size:.76rem;line-height:1.55!important}
.nika-contact__workspace{display:grid;grid-template-columns:minmax(280px,.68fr) minmax(0,1.32fr);gap:clamp(2.5rem,7vw,7rem);padding:clamp(4rem,8vw,7rem)}.nika-contact__brief h2,.nika-contact__form-heading h2{margin:0!important;font:400 clamp(2.2rem,4vw,4.15rem)/1.08 Prata,serif;letter-spacing:-.03em}.nika-contact__brief>p:not(.nika-contact__label),.nika-contact__form-heading p{margin:1rem 0 0!important;color:rgba(23,23,20,.55);font-size:.84rem;line-height:1.7!important}.nika-contact__checklist{margin-top:2.5rem;border-top:1px solid var(--cl)}.nika-contact__checklist li{display:grid;grid-template-columns:2rem 1fr;gap:.85rem;padding:1.15rem 0;border-bottom:1px solid var(--cl);font-size:.82rem;line-height:1.55}.nika-contact__checklist b{color:var(--nika-clay);font-size:.62rem;letter-spacing:.12em}.nika-contact__form-panel{padding:clamp(2rem,5vw,4rem);background:#fff;box-shadow:0 24px 70px rgba(23,23,20,.08)}.nika-contact__form-heading{margin-bottom:2.5rem}
.nika-contact__form-slot .block-d_feedback_add{margin:0}.nika-contact__form-slot form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem}.nika-contact__form-slot .field-d{margin:0}.nika-contact__form-slot .feedback_form_param6,.nika-contact__form-slot .feedback_form_param3,.nika-contact__form-slot .js_captcha_show,.nika-contact__form-slot .captcha,.nika-contact__form-slot form>.button-d,.nika-contact__form-slot .privacy_field,.nika-contact__form-slot .required_field{grid-column:1/-1}.nika-contact__form-slot .field-d__name{margin-bottom:.55rem;color:rgba(23,23,20,.52);font-size:.62rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.nika-contact__form-slot input:not([type=hidden]),.nika-contact__form-slot textarea{width:100%;border:1px solid rgba(23,23,20,.12);border-radius:0;outline:0;background:#f5f2ec;color:var(--ci);font:.9rem Manrope,sans-serif;transition:.2s}.nika-contact__form-slot input:not([type=hidden]){height:3.45rem;padding:0 1rem}.nika-contact__form-slot textarea{min-height:180px;padding:1rem;resize:vertical}.nika-contact__form-slot input:focus,.nika-contact__form-slot textarea:focus{border-color:var(--nika-clay);background:#fff;box-shadow:0 0 0 3px rgba(143,104,70,.1)}
.nika-contact__form-slot .button-d{width:auto;min-height:3.35rem;padding:.9rem 1.3rem;border:0;border-radius:0;background:var(--ci);color:#fff;font-size:.65rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.nika-contact__form-slot form>.button-d,.nika-contact__form-slot .js_captcha_show{justify-self:start}.nika-contact__form-slot form>.button-d{min-width:180px}.nika-contact__form-slot .captcha-d{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;padding:1rem;background:#f5f2ec}.nika-contact__form-slot .captcha-d__image{width:159px;height:80px;object-fit:cover}.nika-contact__form-slot .captcha-d input[name=captcha]{max-width:180px;background:#fff}.nika-contact__form-slot .privacy_field,.nika-contact__form-slot .required_field{color:rgba(23,23,20,.45);font-size:.68rem;line-height:1.55}.nika-contact__form-slot .privacy_field a{color:var(--nika-clay)!important}.nika-contact__form-slot .errors{margin-top:.4rem;color:#a43a2d;font-size:.72rem}
.nika-contact__note{display:grid;grid-template-columns:1fr auto;align-items:center;gap:2rem;margin:0 clamp(2rem,8vw,7rem) clamp(2rem,8vw,7rem);padding:clamp(2rem,5vw,4rem);background:#c7ad89}.nika-contact__note strong{display:block;font:400 clamp(1.7rem,3.2vw,3.2rem)/1.18 Prata,serif}.nika-contact__note p{max-width:700px;margin:.8rem 0 0!important;color:rgba(23,23,20,.62)}.nika-contact__note a{display:inline-flex;padding:1rem 1.3rem;background:var(--ci);color:#fff!important;font-size:.65rem;font-weight:800;letter-spacing:.14em;text-decoration:none!important;text-transform:uppercase}
@media(max-width:980px){.nika-contact__hero,.nika-contact__workspace{grid-template-columns:1fr}.nika-contact__hero-panel{min-height:430px}}@media(max-width:700px){.nika-contact__hero h1{font-size:clamp(2.8rem,14vw,4.2rem)}.nika-contact__channels,.nika-contact__form-slot form,.nika-contact__note{grid-template-columns:1fr}.nika-contact__channel+.nika-contact__channel{border-left:0;border-top:1px solid var(--cl)}.nika-contact__channel{min-height:165px}.nika-contact__form-slot .field-d,.nika-contact__form-slot .js_captcha_show,.nika-contact__form-slot .captcha,.nika-contact__form-slot form>.button-d,.nika-contact__form-slot .privacy_field,.nika-contact__form-slot .required_field{grid-column:1}.nika-contact__note{margin-inline:1rem}.nika-contact__note a{justify-self:start}}

/* ==== css/nika-contact-v2.css ==== */
/* Contact-first revision: the reason for visiting this page is visible above the fold. */
.nika-contact__hero { min-height: 610px; }
.nika-contact__hero-panel {
  justify-content: flex-start;
  gap: clamp(2.5rem, 6vw, 5.5rem);
  background:
    radial-gradient(circle at 85% 10%, rgba(199,173,137,.16), transparent 34%),
    repeating-linear-gradient(115deg, rgba(255,255,255,.03) 0 1px, transparent 1px 24px),
    #191917;
}
.nika-contact__hero-panel::after { opacity: .65; }
.nika-contact__primary {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 2rem;
}
.nika-contact__primary-item {
  padding-bottom: 1.5rem;
  border-bottom: 1px solid rgba(255,255,255,.18);
}
.nika-contact__primary-item small {
  display: block;
  margin-bottom: .7rem;
  color: rgba(255,255,255,.45);
  font-size: .6rem;
  font-weight: 800;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.nika-contact__primary-item a {
  display: inline-flex;
  align-items: center;
  gap: .8rem;
  color: #fff !important;
  font-family: Prata, serif;
  font-size: clamp(1.65rem, 3vw, 3.15rem);
  line-height: 1.15;
  text-decoration: none !important;
  transition: color .2s;
}
.nika-contact__primary-item a:hover { color: var(--nika-sand) !important; }
.nika-contact__primary-item a::after {
  content: "↗";
  color: var(--nika-sand);
  font: .9rem Manrope, sans-serif;
}
.nika-contact__primary-note {
  max-width: 430px;
  margin: 0 !important;
  color: rgba(255,255,255,.56);
  font-size: .8rem;
  line-height: 1.7 !important;
}
.nika-contact__channels { position: relative; z-index: 2; }
.nika-contact__channel:first-child,
.nika-contact__channel:nth-child(2) { background: #fff; }

@media (max-width: 980px) {
  .nika-contact__hero-panel { min-height: 520px; }
}
@media (max-width: 700px) {
  .nika-contact__hero { min-height: 0; }
  .nika-contact__intro { padding-bottom: 3rem; }
  .nika-contact__hero-panel { min-height: 480px; gap: 2.5rem; }
  .nika-contact__primary-item a { font-size: clamp(1.45rem, 7.2vw, 2rem); }
}

/* ==== css/nika-contact-v3.css ==== */
.nika-contact__hero-panel > span {
  font-size: .5rem !important;
  line-height: 1.2;
  letter-spacing: .15em;
}

/* ==== css/nika-contact-v4.css ==== */
.nika-contact__hero-panel > span {
  font-size: .6rem !important;
  line-height: normal;
  letter-spacing: .18em;
}
.nika-contact__primary-item a {
  font-size: clamp(1.25rem, 2vw, 2rem);
}
@media (max-width: 700px) {
  .nika-contact__primary-item a {
    font-size: clamp(1.2rem, 5.4vw, 1.55rem);
  }
}

/* ==== css/nika-contact-v5.css ==== */
.nika-contact__hero h1 {
  font-size: clamp(2.7rem, 4.8vw, 5rem);
}
@media (max-width: 700px) {
  .nika-contact__hero h1 {
    font-size: clamp(2.45rem, 11.5vw, 3.5rem);
  }
}

/* ==== css/nika-memorial-catalog.css ==== */
.nika-hub-card[data-tone="memorial"]::before {
  background:
    linear-gradient(180deg, transparent, rgba(0,0,0,.84)),
    repeating-linear-gradient(108deg, rgba(255,255,255,.045) 0 1px, transparent 1px 19px),
    radial-gradient(circle at 72% 18%, #656361, #20201f 70%);
}
.nika-root-category-grid > .nika-root-category-card:nth-child(5) {
  grid-column: 1 / -1;
  min-height: 290px;
}
@media (max-width: 767px) {
  .nika-root-category-grid > .nika-root-category-card:nth-child(5) {
    grid-column: auto;
    min-height: 250px;
  }
}

/* ==== css/nika-granite-catalog.css ==== */
.nika-content:has(.nika-granite-page){overflow:hidden;padding:0!important;background:#f4f1eb}.nika-content:has(.nika-granite-page)>h1{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.nika-granite-page{--gi:#171714;--gl:rgba(23,23,20,.13);color:var(--gi)}.nika-granite-page *{box-sizing:border-box}
.nika-granite-hero{position:relative;isolation:isolate;overflow:hidden;padding:clamp(4rem,9vw,8rem);background:#191917;color:#fff}.nika-granite-hero:after{content:"";position:absolute;z-index:-1;inset:0 0 0 55%;background:radial-gradient(circle at 75% 20%,rgba(199,173,137,.23),transparent 32%),repeating-linear-gradient(112deg,rgba(255,255,255,.04) 0 1px,transparent 1px 20px)}.nika-granite-eyebrow{display:flex;align-items:center;gap:.8rem;margin:0 0 1.4rem!important;color:var(--nika-sand);font-size:.65rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase}.nika-granite-eyebrow:before{content:"";width:2.5rem;height:1px;background:currentColor}.nika-granite-hero h1{max-width:920px;margin:0!important;font:400 clamp(3.1rem,6.5vw,7rem)/.96 Prata,serif;letter-spacing:-.045em}.nika-granite-hero__lead{max-width:720px;margin:1.8rem 0 0!important;color:rgba(255,255,255,.62);font-size:clamp(1rem,1.4vw,1.2rem);line-height:1.75!important}.nika-granite-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-width:760px;margin-top:3rem;border-block:1px solid rgba(255,255,255,.17)}.nika-granite-stats div{padding:1.2rem 1.2rem 1.2rem 0}.nika-granite-stats div+div{padding-left:1.2rem;border-left:1px solid rgba(255,255,255,.15)}.nika-granite-stats strong{display:block;color:#fff;font:400 1.85rem Prata,serif}.nika-granite-stats span{color:rgba(255,255,255,.45);font-size:.58rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.nika-granite-catalog{padding:clamp(4rem,8vw,7rem)}.nika-granite-toolbar{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:2.5rem}.nika-granite-toolbar h2{margin:0!important;font:400 clamp(2.3rem,4.3vw,4.5rem)/1.05 Prata,serif;letter-spacing:-.035em}.nika-granite-count{margin:.8rem 0 0!important;color:rgba(23,23,20,.5);font-size:.78rem}.nika-granite-filters{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.55rem}.nika-granite-filters button{padding:.75rem 1rem;border:1px solid var(--gl);background:transparent;color:rgba(23,23,20,.55);font-size:.62rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;transition:.2s}.nika-granite-filters button:hover,.nika-granite-filters button.is-active{border-color:var(--gi);background:var(--gi);color:#fff}.nika-granite-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}.nika-granite-card{overflow:hidden;border:1px solid var(--gl);background:#fff;box-shadow:0 14px 38px rgba(23,23,20,.045)}.nika-granite-card[hidden]{display:none}.nika-granite-card__image{position:relative;aspect-ratio:4/3;overflow:hidden;background:#292925}.nika-granite-card__image img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}.nika-granite-card:hover .nika-granite-card__image img{transform:scale(1.035)}.nika-granite-card__index{position:absolute;top:1.1rem;right:1.1rem;display:grid;width:2.6rem;height:2.6rem;place-items:center;border:1px solid rgba(255,255,255,.32);background:rgba(20,20,18,.45);color:#fff;font-size:.62rem;font-weight:800;backdrop-filter:blur(8px)}.nika-granite-card__body{padding:clamp(1.5rem,3vw,2.4rem)}.nika-granite-card__meta{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem;color:var(--nika-clay);font-size:.58rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.nika-granite-card h3{margin:0!important;font:400 clamp(1.65rem,2.7vw,2.45rem)/1.15 Prata,serif}.nika-granite-card__commercial{margin:.45rem 0 0!important;color:rgba(23,23,20,.4);font-size:.7rem}.nika-granite-card__description{min-height:4.6rem;margin:1rem 0 1.2rem!important;color:rgba(23,23,20,.56);font-size:.8rem;line-height:1.65!important}.nika-granite-card__tags{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:1.5rem}.nika-granite-card__tags span{padding:.45rem .6rem;background:#f1eee8;color:rgba(23,23,20,.56);font-size:.58rem;font-weight:700}.nika-granite-card__link{display:flex;align-items:center;justify-content:space-between;padding-top:1.1rem;border-top:1px solid var(--gl);color:var(--gi)!important;font-size:.62rem;font-weight:800;letter-spacing:.13em;text-decoration:none!important;text-transform:uppercase}.nika-granite-card__link span{color:var(--nika-clay);font-size:1rem}
.nika-granite-guide{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(3rem,8vw,8rem);padding:clamp(4rem,8vw,7rem);background:#e7e2da}.nika-granite-guide h2{margin:0!important;font:400 clamp(2.3rem,4.2vw,4.4rem)/1.08 Prata,serif;letter-spacing:-.03em}.nika-granite-guide__items{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.nika-granite-guide__items article{padding:1.5rem;border-top:1px solid var(--gl);background:rgba(255,255,255,.38)}.nika-granite-guide__items b{display:block;margin-bottom:2.5rem;color:var(--nika-clay);font-size:.62rem;letter-spacing:.14em}.nika-granite-guide__items h3{margin:0 0 .6rem!important;font:400 1.25rem Prata,serif}.nika-granite-guide__items p{margin:0!important;color:rgba(23,23,20,.54);font-size:.76rem;line-height:1.65!important}.nika-granite-note{padding:clamp(2rem,5vw,4rem) clamp(4rem,8vw,7rem);background:#fff;color:rgba(23,23,20,.5);font-size:.7rem;line-height:1.7}.nika-granite-note strong{color:var(--gi)}.nika-granite-cta{display:grid;grid-template-columns:1fr auto;align-items:center;gap:2rem;margin:0 clamp(2rem,8vw,7rem) clamp(2rem,8vw,7rem);padding:clamp(2rem,5vw,4rem);background:#c7ad89}.nika-granite-cta h2{margin:0!important;font:400 clamp(1.8rem,3.4vw,3.4rem)/1.15 Prata,serif}.nika-granite-cta p{margin:.8rem 0 0!important;color:rgba(23,23,20,.6)}.nika-granite-cta a{padding:1rem 1.3rem;background:var(--gi);color:#fff!important;font-size:.62rem;font-weight:800;letter-spacing:.14em;text-decoration:none!important;text-transform:uppercase}
@media(max-width:900px){.nika-granite-toolbar{display:block}.nika-granite-filters{justify-content:flex-start;margin-top:1.5rem}.nika-granite-guide{grid-template-columns:1fr}}@media(max-width:700px){.nika-granite-hero h1{font-size:clamp(2.8rem,14vw,4.25rem)}.nika-granite-stats,.nika-granite-grid,.nika-granite-guide__items,.nika-granite-cta{grid-template-columns:1fr}.nika-granite-stats div+div{padding-left:0;border-left:0;border-top:1px solid rgba(255,255,255,.15)}.nika-granite-card__description{min-height:0}.nika-granite-cta{margin-inline:1rem}.nika-granite-cta a{justify-self:start}}

.nika-granite-research-credit{margin:0 clamp(1rem,8vw,7rem) 3rem;padding:1rem 1.25rem;border-left:3px solid var(--nika-sand);background:rgba(255,255,255,.65);color:rgba(23,23,20,.7);font-size:.75rem;line-height:1.7}.nika-granite-research-credit strong{color:var(--nika-ink)}.nika-granite-research-credit a{color:var(--nika-clay);overflow-wrap:anywhere}@media(max-width:639px){.nika-granite-research-credit{margin:0 1rem 2rem}}

/* ==== css/nika-system-polish.css ==== */
:root {
  --nika-page-gap: clamp(1rem, 3.4vw, 3rem);
  --nika-section-y: clamp(3.75rem, 7vw, 7rem);
  --nika-card-pad: clamp(1.25rem, 2.6vw, 2rem);
  --nika-control-height: 46px;
  --nika-hairline: rgba(16,16,15,.12);
}
html { text-rendering: optimizeLegibility; }
body { line-height: 1.65; }
img { max-width: 100%; }
button, input, select, textarea { font: inherit; }
a, button, input, select, textarea { -webkit-tap-highlight-color: transparent; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: 2px solid var(--nika-clay);
  outline-offset: 3px;
}

/* Shared page frame and readable generic content. */
.nika-inner-main { padding-bottom: clamp(4rem, 7vw, 7rem) !important; }
.nika-inner .nika-breadcrumb {
  margin-bottom: 1.35rem;
  font-size: .72rem;
  line-height: 1.65;
}
.nika-inner .nika-breadcrumb .breadcrumb-d { display: inline; }
.nika-content:not(:has(.section-d_shop)):not(:has(.product-d)):not(:has(.nika-about)):not(:has(.nika-contact)):not(:has(.nika-granite-page)) {
  border: 1px solid rgba(16,16,15,.055);
  padding: clamp(1.5rem, 4vw, 3.5rem) !important;
}
.nika-content:not(:has(.section-d_shop)):not(:has(.product-d)):not(:has(.nika-about)):not(:has(.nika-contact)):not(:has(.nika-granite-page)) > h1 {
  max-width: 980px;
  margin: 0 0 clamp(1.5rem,3vw,2.25rem) !important;
  font-size: clamp(2.35rem,4.3vw,3.5rem);
  line-height: 1.08;
  letter-spacing: -.03em;
}
.nika-content:not(:has(.nika-about)):not(:has(.nika-contact)):not(:has(.nika-granite-page)) > p,
.nika-content:not(:has(.nika-about)):not(:has(.nika-contact)):not(:has(.nika-granite-page)) > .text-d {
  max-width: 900px;
}
.nika-content h2, .nika-home-content h2 {
  font-size: clamp(1.65rem,3vw,2.35rem);
  line-height: 1.18;
}
.nika-content h3 { line-height: 1.25; }
.nika-content p, .nika-content li { line-height: 1.72; }
.nika-content table { width: 100%; border-collapse: collapse; }
.nika-content th, .nika-content td { padding: .8rem; border-bottom: 1px solid var(--nika-hairline); text-align: left; }

/* Forms and utility modules use one control rhythm. */
.nika-content:not(:has(.nika-contact)) .block-d_form,
.nika-content:not(:has(.nika-contact)) form:not(.shop-filter-form) { max-width: 780px; }
.nika-content:not(:has(.nika-contact)) .block-d_form {
  padding: clamp(1.25rem,3vw,2rem);
  border: 1px solid var(--nika-hairline);
  background: #f7f4ee;
}
.nika-content:not(:has(.nika-contact)) .field-d { margin-bottom: 1.15rem; }
.nika-content:not(:has(.nika-contact)) .field-d__name {
  margin-bottom: .48rem;
  color: rgba(16,16,15,.62);
  font-size: .74rem;
  font-weight: 700;
  line-height: 1.4;
}
.nika-content input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
.nika-content select,
.nika-content textarea {
  max-width: 100%;
  border: 1px solid rgba(16,16,15,.16);
  border-radius: 0;
  background: #fff;
  color: var(--nika-ink);
  outline: none;
}
.nika-content input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
.nika-content select { min-height: var(--nika-control-height); padding: .7rem .9rem; }
.nika-content textarea { min-height: 150px; padding: .9rem; resize: vertical; }
.nika-content input:focus, .nika-content select:focus, .nika-content textarea:focus {
  border-color: var(--nika-clay);
  box-shadow: 0 0 0 3px rgba(143,104,70,.09);
}
.nika-content button:not(.slick-arrow),
.nika-content .button-d,
.nika-content input[type="submit"] {
  min-height: 42px;
  line-height: 1.25;
}
.nika-content .privacy_field, .nika-content .required_field {
  max-width: 680px;
  color: rgba(16,16,15,.48);
  font-size: .72rem;
  line-height: 1.6;
}
.captcha, .captcha-d { max-width: 100%; }
.captcha-d { flex-wrap: wrap; }
.captcha-d__image { max-width: 159px; }
.errors { line-height: 1.45; }

/* Catalogue hierarchy and product grids. */
.nika-content:has(.section-d_shop) > h1,
.nika-content:has(.product-d) > h1 {
  margin-top: 0 !important;
  margin-bottom: clamp(1.25rem,2.5vw,2rem) !important;
  font-size: clamp(2.4rem,4.6vw,3.65rem);
  line-height: 1.08;
}
.nika-catalog-lead { margin-bottom: clamp(2rem,4vw,3rem) !important; }
.section-d_shop_cat .settings-d {
  gap: 1rem;
  margin-bottom: 1.75rem;
  padding: 1rem 1.1rem;
}
.section-d_shop .section-d__list._viewgrid,
.block-d_shop .block-d__list._viewgrid { gap: clamp(1rem,2vw,1.5rem); align-items: stretch; }
.section-d_shop .element-d_card,
.block-d_shop .element-d_card { height: 100%; }
.element-d_card .element-d__details { padding: 1.45rem; }
.element-d_card .detail-d_name { min-height: 3.25rem; margin-bottom: .8rem; }
.element-d_card .detail-d_name a { font-size: 1.28rem; line-height: 1.28; }
.element-d_card .detail-d_anons { font-size: .84rem; line-height: 1.68; }
.element-d_card .element-d__images::after,
.nika-category-meta,
.nika-hub-stat span,
.nika-granite-card__meta,
.nika-granite-card__tags span,
.nika-granite-card__link { font-size: .64rem; }
.nika-card-link, .nika-product-quote a { min-height: 42px; font-size: .7rem; }
.prevnext-d {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  margin-top: 2.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--nika-hairline);
}
.prevnext-d a { display: inline-flex; min-height: 42px; align-items: center; }

/* Stable product composition and readable specifications. */
.product-d { align-items: stretch; }
.product-d__details { min-width: 0; }
.product-d__tabs .product-d__tab_text { font-size: .94rem; line-height: 1.78; }
.product-d__tab_params .param-d { font-size: .81rem; }
.nika-specs-title { margin-top: .25rem; font-size: 1.32rem; }

/* Consistent vertical rhythm on branded landing pages. */
.nika-about__story, .nika-about__trust, .nika-about__process,
.nika-contact__workspace,
.nika-granite-catalog, .nika-granite-guide { padding-top: var(--nika-section-y); padding-bottom: var(--nika-section-y); }
.nika-about__proof article, .nika-contact__channel { padding-top: clamp(1.75rem,3vw,3rem); padding-bottom: clamp(1.75rem,3vw,3rem); }
.nika-about__trust-grid article, .nika-about__steps article,
.nika-granite-guide__items article { height: 100%; }
.nika-granite-card__body { display: flex; min-height: 345px; flex-direction: column; }
.nika-granite-card__description { flex: 1; }
.nika-granite-card__link { margin-top: auto; }

@media (max-width: 767px) {
  :root { --nika-section-y: 3.75rem; }
  .nika-inner-main { padding-top: 8.75rem !important; padding-bottom: 4rem !important; }
  .nika-inner .nika-breadcrumb { margin-bottom: 1rem; }
  .nika-content:not(:has(.section-d_shop)):not(:has(.product-d)):not(:has(.nika-about)):not(:has(.nika-contact)):not(:has(.nika-granite-page)) > h1 {
    font-size: clamp(2.1rem,10vw,2.65rem);
  }
  .nika-content:has(.section-d_shop) > h1,
  .nika-content:has(.product-d) > h1 {
    font-size: clamp(2rem,9vw,2.5rem);
    line-height: 1.1;
  }
  .element-d_card .element-d__details { padding: 1.3rem; }
  .element-d_card .detail-d_name { min-height: 0; }
  .product-d__images { min-height: 300px; }
  .product-d__details { padding: 1.4rem; }
  .product-d__tabs { padding-right: 1.4rem; padding-bottom: 1.5rem; padding-left: 1.4rem; }
  .nika-granite-card__body { min-height: 0; }
  .nika-about__trust-head, .nika-about__process-head,
  .nika-granite-toolbar { margin-bottom: 2.25rem; }
}

@media (max-width: 420px) {
  .nika-inner-main { padding-right: .875rem !important; padding-left: .875rem !important; }
  .nika-content:not(:has(.section-d_shop)):not(:has(.product-d)):not(:has(.nika-about)):not(:has(.nika-contact)):not(:has(.nika-granite-page)) { padding: 1.35rem !important; }
  .nika-content button:not(.slick-arrow), .nika-content .button-d { max-width: 100%; }
  .nika-footer-menu ul { flex-wrap: wrap; row-gap: .65rem; }
}

/* ==== css/nika-language-spacing.css ==== */
.nika-languages .langs-d {
  display: flex;
  align-items: center;
  gap: .7rem;
}
.nika-languages .lang-d {
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
}

.nika-footer-menu {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: .65rem 1.5rem;
}
.nika-footer-menu > a {
  display: inline-flex;
  white-space: nowrap;
}
@media (max-width: 639px) {
  .nika-footer-menu { gap: .75rem 1.25rem; }
}

/* ==== css/nika-page-frame.css ==== */
/* Keep every inner page on the same open grid as the product catalogue. */
body .nika-content:not(:has(.section-d_shop)):not(:has(.product-d)):not(:has(.nika-about)):not(:has(.nika-contact)):not(:has(.nika-granite-page)) {
  padding: 0 !important;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}


/* ==== css/nika-open-sections.css ==== */
/* Open custom landing pages onto the same body grid as the catalogue. */
body .nika-content:has(.nika-about),
body .nika-content:has(.nika-contact),
body .nika-content:has(.nika-granite-page) {
  overflow: visible;
  background: transparent;
}

/* Granite catalogue. */
.nika-granite-hero {
  overflow: visible;
  padding: 0;
  background: transparent;
  color: var(--gi);
}
.nika-granite-hero::after { display: none; }
.nika-granite-hero__lead { color: rgba(23, 23, 20, .6); }
.nika-granite-stats { border-color: rgba(23, 23, 20, .16); }
.nika-granite-stats div + div { border-color: rgba(23, 23, 20, .14); }
.nika-granite-stats strong { color: var(--gi); }
.nika-granite-stats span { color: rgba(23, 23, 20, .48); }
.nika-granite-catalog,
.nika-granite-guide { padding-right: 0; padding-left: 0; }
.nika-granite-guide { background: transparent; }
.nika-granite-note {
  padding-right: 0;
  padding-left: 0;
  border-top: 1px solid var(--gl);
  background: transparent;
}
.nika-granite-cta {
  margin-right: 0;
  margin-left: 0;
  padding-right: 0;
  padding-left: 0;
  border-top: 1px solid var(--gl);
  background: transparent;
}

/* About page. */
.nika-about__hero { gap: clamp(2rem, 5vw, 5rem); background: transparent; }
.nika-about__intro { padding: 0; }
.nika-about__proof { background: transparent; }
.nika-about__story,
.nika-about__trust,
.nika-about__process { padding-right: 0; padding-left: 0; }
.nika-about__trust { background: transparent; color: var(--about-ink); }
.nika-about__trust-grid { border-color: var(--about-line); }
.nika-about__trust article + article { border-color: var(--about-line); }
.nika-about__trust h3 { color: var(--about-ink); }
.nika-about__trust p { color: rgba(23, 23, 20, .58); }
.nika-about__cta {
  margin-right: 0;
  margin-left: 0;
  padding-right: 0;
  padding-left: 0;
  border-top: 1px solid var(--about-line);
  background: transparent;
}

/* Contact page. */
.nika-contact__hero { gap: clamp(2rem, 5vw, 5rem); background: transparent; }
.nika-contact__intro { padding: 0; }
.nika-contact__channels { background: transparent; }
.nika-contact__workspace { padding-right: 0; padding-left: 0; }
.nika-contact__note {
  margin-right: 0;
  margin-left: 0;
  padding-right: 0;
  padding-left: 0;
  border-top: 1px solid var(--cl);
  background: transparent;
}

@media (max-width: 700px) {
  .nika-granite-stats div + div { border-color: rgba(23, 23, 20, .14); }
  .nika-granite-cta,
  .nika-about__cta,
  .nika-contact__note { margin-right: 0; margin-left: 0; }
}


/* ==== css/nika-design-coherence.css ==== */
:root {
  --nika-section-y: clamp(3.5rem, 6vw, 5.5rem);
  --nika-card-pad: clamp(1.25rem, 2.2vw, 1.75rem);
  --nika-line: rgba(16, 16, 15, .12);
}

/* One calm page surface; hierarchy comes from spacing, type and hairlines. */
.nika-inner-main { background: transparent; }
#site-header,
.nika-content,
.settings-d,
.category-d,
.nika-hub-card,
.element-d_card,
.product-d,
.nika-granite-card,
.nika-contact__form-panel,
.nika-feedback {
  box-shadow: none !important;
}
.nika-content { border-radius: 0 !important; }

/* Keep cards flat and stable instead of lifting them with shadows. */
.section-d_shop_home .category-d_child:hover,
.nika-hub-card:hover,
.section-d_shop .element-d_card:hover,
.block-d_shop .element-d_card:hover,
.nika-shop .shop-item:hover {
  transform: none !important;
  box-shadow: none !important;
}
.section-d_shop .element-d_card,
.block-d_shop .element-d_card,
.nika-granite-card { border-color: var(--nika-line); }
.product-d,
.nika-contact__form-panel,
.nika-feedback { border: 1px solid var(--nika-line); }

/* Shared card density. */
.element-d_card .element-d__details,
.nika-granite-card__body { padding: var(--nika-card-pad); }
.nika-contact__form-panel { padding: clamp(1.5rem, 3vw, 2.5rem); }
.nika-about__proof article,
.nika-contact__channel { padding: clamp(1.5rem, 2.8vw, 2.25rem); }

/* Shared vertical rhythm for editorial sections. */
.nika-granite-catalog,
.nika-granite-guide,
.nika-about__story,
.nika-about__trust,
.nika-about__process,
.nika-contact__workspace { padding-top: var(--nika-section-y); padding-bottom: var(--nika-section-y); }
.nika-granite-cta,
.nika-about__cta,
.nika-contact__note { padding-top: clamp(2.5rem, 4vw, 3.75rem); padding-bottom: clamp(2.5rem, 4vw, 3.75rem); }

/* Landing headings remain expressive without jumping to a different scale. */
.nika-granite-hero h1,
.nika-about__hero h1,
.nika-contact__hero h1 {
  font-size: clamp(3rem, 5.2vw, 5.25rem);
  line-height: 1.02;
}
.nika-about__story h2,
.nika-about__trust-head h2,
.nika-about__process-head h2,
.nika-granite-toolbar h2,
.nika-granite-guide h2,
.nika-contact__brief h2,
.nika-contact__form-heading h2 {
  font-size: clamp(2.15rem, 3.7vw, 3.75rem);
}

/* Remove oversized empty zones in split heroes. */
.nika-about__hero { min-height: 580px; }
.nika-about__visual { min-height: 500px; }
.nika-contact__hero { min-height: 520px; }
.nika-contact__hero-panel { padding: clamp(1.75rem, 3.5vw, 3rem); }

@media (max-width: 700px) {
  :root { --nika-section-y: 3.5rem; }
  .nika-granite-hero h1,
  .nika-about__hero h1,
  .nika-contact__hero h1 { font-size: clamp(2.55rem, 12vw, 3.5rem); }
  .nika-about__visual { min-height: 360px; }
  .nika-contact__hero-panel { min-height: 320px; }
  .nika-about__proof article,
  .nika-contact__channel { padding-right: 0; padding-left: 0; }
}


/* ==== css/nika-product-navigation.css ==== */
.prevnext-d {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  margin-top: clamp(2.5rem, 5vw, 4rem);
  padding-top: 1.5rem;
  border-top: 1px solid var(--nika-line, rgba(16, 16, 15, .12));
}

.prevnext-d > a {
  position: relative;
  min-width: 0;
  min-height: 92px;
  align-items: center;
  column-gap: 1rem;
  padding: 1.15rem 1.25rem;
  border: 1px solid var(--nika-line, rgba(16, 16, 15, .12));
  background: rgba(255, 255, 255, .34);
  color: var(--nika-ink, #10100f) !important;
  font-family: Prata, serif;
  font-size: clamp(1rem, 1.5vw, 1.2rem);
  line-height: 1.3;
  text-decoration: none !important;
  transition: border-color .2s ease, background-color .2s ease, color .2s ease;
}

.prevnext-d > a::before {
  align-self: end;
  color: rgba(16, 16, 15, .46);
  font-family: Manrope, sans-serif;
  font-size: .6rem;
  font-weight: 800;
  letter-spacing: .14em;
  line-height: 1.2;
  text-transform: uppercase;
}

html[lang="uk"] .prevnext-d__prev::before { content: "Попередній товар"; }
html[lang="uk"] .prevnext-d__next::before { content: "Наступний товар"; }
html[lang="en"] .prevnext-d__prev::before { content: "Previous product"; }
html[lang="en"] .prevnext-d__next::before { content: "Next product"; }

.prevnext-d__prev {
  grid-column: 1;
  display: grid !important;
  grid-template-columns: 2.75rem minmax(0, 1fr);
  grid-template-rows: auto auto;
}
.prevnext-d__prev::before { grid-column: 2; grid-row: 1; }
.prevnext-d__prev .prevnext-d__icon { grid-column: 1; grid-row: 1 / 3; }

.prevnext-d__next {
  grid-column: 2;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 2.75rem;
  grid-template-rows: auto auto;
  text-align: right;
}
.prevnext-d__next::before { grid-column: 1; grid-row: 1; }
.prevnext-d__next .prevnext-d__icon { grid-column: 2; grid-row: 1 / 3; }

.prevnext-d .prevnext-d__icon {
  display: grid;
  width: 2.75rem;
  height: 2.75rem;
  place-items: center;
  align-self: center;
  border: 1px solid rgba(16, 16, 15, .18);
  color: var(--nika-clay, #8f6846);
  font-family: "Font Awesome 5 Free", "Font Awesome 6 Free", sans-serif;
  font-size: .78rem;
  font-weight: 900;
  transition: border-color .2s ease, background-color .2s ease, color .2s ease;
}

.prevnext-d > a:hover {
  border-color: rgba(143, 104, 70, .55);
  background: rgba(255, 255, 255, .72);
}
.prevnext-d > a:hover .prevnext-d__icon {
  border-color: var(--nika-ink, #10100f);
  background: var(--nika-ink, #10100f);
  color: #fff;
}

@media (max-width: 639px) {
  .prevnext-d { grid-template-columns: 1fr; gap: .75rem; }
  .prevnext-d__prev,
  .prevnext-d__next { grid-column: 1; min-height: 82px; padding: 1rem; }
}


/* ==== css/nika-product-navigation-icons.css ==== */
.prevnext-d .prevnext-d__icon {
  font-family: Manrope, sans-serif;
  font-size: 1rem;
  font-weight: 600;
}

.prevnext-d__prev .prevnext-d__icon::before { content: "\2190"; }
.prevnext-d__next .prevnext-d__icon::before { content: "\2192"; }

/* ==== css/nika-pagination.css ==== */
.paginat-d.paginator {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  width: 100%;
  margin-top: 1.25rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--nika-line, rgba(16, 16, 15, .12));
}

.paginat-d .paginat-d__item {
  display: inline-grid;
  width: 2.75rem;
  height: 2.75rem;
  place-items: center;
  flex: 0 0 2.75rem;
  border: 1px solid var(--nika-line, rgba(16, 16, 15, .12));
  background: rgba(255, 255, 255, .34);
  color: var(--nika-ink, #10100f) !important;
  font-size: .72rem;
  font-weight: 700;
  line-height: 1;
  text-decoration: none !important;
  transition: border-color .2s ease, background-color .2s ease, color .2s ease;
}

.paginat-d a.paginat-d__item:hover {
  border-color: var(--nika-ink, #10100f);
  background: rgba(255, 255, 255, .75);
}

.paginat-d .paginat-d__item_current {
  border-color: var(--nika-ink, #10100f);
  background: var(--nika-ink, #10100f);
  color: #fff !important;
}

.paginat-d .paginat-d__item_first,
.paginat-d .paginat-d__item_last {
  color: var(--nika-clay, #8f6846) !important;
  font-family: Manrope, sans-serif;
  font-size: 1.05rem;
}

.paginator_more_button {
  display: flex !important;
  width: min(100%, 17rem);
  min-height: 3.25rem !important;
  align-items: center;
  justify-content: center;
  gap: .8rem;
  margin: 2.5rem auto 0 !important;
  padding: .85rem 1.25rem !important;
  border: 1px solid var(--nika-ink, #10100f) !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--nika-ink, #10100f) !important;
  box-shadow: none !important;
  cursor: pointer;
  font-size: .68rem !important;
  font-weight: 800 !important;
  letter-spacing: .14em;
  line-height: 1.2;
  text-transform: uppercase;
  transition: background-color .2s ease, color .2s ease;
}

.paginator_more_button .button-d__icon {
  display: grid;
  width: 1.75rem;
  height: 1.75rem;
  place-items: center;
  flex: 0 0 1.75rem;
  border: 1px solid rgba(16, 16, 15, .2);
  font-family: Manrope, sans-serif;
  font-size: .9rem;
  font-weight: 600;
}
.paginator_more_button .button-d__icon::before { content: "\2193"; }

.paginator_more_button:hover {
  background: var(--nika-ink, #10100f) !important;
  color: #fff !important;
}
.paginator_more_button:hover .button-d__icon { border-color: rgba(255, 255, 255, .35); }

.paginator_more_button:disabled {
  cursor: wait;
  opacity: .55;
}

@media (max-width: 639px) {
  .paginat-d.paginator { gap: .4rem; }
  .paginat-d .paginat-d__item {
    width: 2.625rem;
    height: 2.625rem;
    flex-basis: 2.625rem;
  }
  .paginator_more_button { width: 100%; }
}


/* ==== css/nika-pagination-alignment.css ==== */
.paginator_more_button {
  grid-column: 1 / -1;
  justify-self: center;
}


/* ==== css/nika-pagination-form.css ==== */
.showmore-d.paginator_more_form {
  grid-column: 1 / -1;
  display: flex;
  width: 100%;
  justify-content: center;
}


/* ==== css/nika-pagination-maxwidth.css ==== */
.nika-content form.showmore-d.paginator_more_form {
  max-width: none !important;
}


/* ==== css/nika-region-filter.css ==== */
.section-d_shop_cat .filter-d_shop form > .shop_search_param5 {
  grid-column: 1 / -1;
}

.shop_search_param5 .nika-region-search {
  width: 100%;
  min-height: 2.875rem;
  margin-bottom: .85rem;
  padding: .7rem .85rem;
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: 0;
  background: rgba(255, 255, 255, .07);
  color: #fff;
  outline: none;
}
.shop_search_param5 .nika-region-search::placeholder { color: rgba(255, 255, 255, .45); }
.shop_search_param5 .nika-region-search:focus {
  border-color: var(--nika-sand);
  box-shadow: 0 0 0 2px rgba(199, 170, 122, .14);
}

.shop_search_param5 .field-d__list {
  max-height: 20rem;
  align-content: flex-start;
  overflow-y: auto;
  padding-right: .5rem;
  scrollbar-color: var(--nika-sand) rgba(255, 255, 255, .08);
  scrollbar-width: thin;
}
.shop_search_param5 .field-d__list::-webkit-scrollbar { width: .45rem; }
.shop_search_param5 .field-d__list::-webkit-scrollbar-track { background: rgba(255, 255, 255, .08); }
.shop_search_param5 .field-d__list::-webkit-scrollbar-thumb { background: var(--nika-sand); }
.shop_search_param5 .field-d__item[hidden] { display: none !important; }

.nika-region-seo {
  max-width: 900px;
  margin-top: clamp(2.5rem, 5vw, 4rem);
  padding-top: clamp(2rem, 4vw, 3rem);
  border-top: 1px solid var(--nika-line, rgba(16, 16, 15, .12));
}

@media (max-width: 639px) {
  .shop_search_param5 .field-d__list { max-height: 17rem; }
}


/* ==== css/nika-home-consultation-form.css ==== */
#contact .nika-feedback{padding:clamp(2rem,5vw,4rem)!important;background:#fff!important;box-shadow:0 24px 70px rgba(23,23,20,.08)!important}#contact .nika-feedback .block-d__name{display:none}#contact .nika-feedback .block-d_feedback_add{margin:0}#contact .nika-feedback form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem}#contact .nika-feedback .field-d{margin:0}#contact .nika-feedback .feedback_form_param6,#contact .nika-feedback .feedback_form_param3,#contact .nika-feedback .js_captcha_show,#contact .nika-feedback .captcha,#contact .nika-feedback form>.button-d,#contact .nika-feedback .privacy_field,#contact .nika-feedback .required_field{grid-column:1/-1}#contact .nika-feedback .field-d__name{margin-bottom:.55rem;color:rgba(23,23,20,.52);font-size:.62rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}#contact .nika-feedback input:not([type=hidden]),#contact .nika-feedback textarea{width:100%;border:1px solid rgba(23,23,20,.12);border-radius:0;outline:0;background:#f5f2ec;color:#171714;font:.9rem Manrope,sans-serif;transition:border-color .2s,background-color .2s,box-shadow .2s}#contact .nika-feedback input:not([type=hidden]){height:3.45rem;padding:0 1rem}#contact .nika-feedback textarea{min-height:180px;padding:1rem;resize:vertical}#contact .nika-feedback input:focus,#contact .nika-feedback textarea:focus{border-color:#8f6846;background:#fff;box-shadow:0 0 0 3px rgba(143,104,70,.1)}#contact .nika-feedback .button-d{width:auto;min-height:3.35rem;padding:.9rem 1.3rem;border:0;border-radius:0;background:#171714;color:#fff;font-size:.65rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}#contact .nika-feedback form>.button-d,#contact .nika-feedback .js_captcha_show{justify-self:start}#contact .nika-feedback form>.button-d{min-width:180px}#contact .nika-feedback .captcha-d{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;padding:1rem;background:#f5f2ec}#contact .nika-feedback .captcha-d input[name=captcha]{max-width:180px;background:#fff}#contact .nika-feedback .privacy_field,#contact .nika-feedback .required_field{color:rgba(23,23,20,.45);font-size:.68rem;line-height:1.55}#contact .nika-feedback .privacy_field a{color:#8f6846!important}#contact .nika-feedback .errors{margin-top:.4rem;color:#a43a2d;font-size:.72rem}@media(max-width:700px){#contact .nika-feedback form{grid-template-columns:1fr}#contact .nika-feedback .field-d,#contact .nika-feedback .js_captcha_show,#contact .nika-feedback .captcha,#contact .nika-feedback form>.button-d,#contact .nika-feedback .privacy_field,#contact .nika-feedback .required_field{grid-column:1}}
#catalog .nika-shop > .block-d__name{display:none}
#catalog .nika-shop > .block-d__name{display:none}
#catalog .nika-shop > .block-d__name{display:none!important}
#catalog header.block-d__name{display:none!important}
#catalog > .mx-auto > .reveal > p.max-w-sm{display:none!important}

/* ==== css/nika-editorial-shell-v4.css ==== */
/* Remove the generic inner-page card shell for designed editorial pages. */
.nika-inner-main:has(.nika-contact),
.nika-inner-main:has(.nika-about) {
  padding-right: 0 !important;
  padding-bottom: 0 !important;
  padding-left: 0 !important;
}
.nika-inner-main:has(.nika-contact) > div,
.nika-inner-main:has(.nika-about) > div {
  width: 100%;
  max-width: none !important;
}
.nika-inner-main:has(.nika-contact) .nika-breadcrumb,
.nika-inner-main:has(.nika-about) .nika-breadcrumb {
  width: min(1340px, calc(100% - 2.5rem));
  margin-right: auto;
  margin-left: auto;
}
.nika-inner-main:has(.nika-contact) .nika-content,
.nika-inner-main:has(.nika-about) .nika-content {
  width: 100%;
  max-width: none !important;
  padding: 0 !important;
  overflow: hidden;
  border: 0 !important;
  border-radius: 0 !important;
  background: #f2eee7 !important;
  box-shadow: none !important;
}
.nika-inner-main:has(.nika-contact) .nika-content > h1,
.nika-inner-main:has(.nika-about) .nika-content > h1 {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
}
.nika-inner-main:has(.nika-contact) .nika-content > ._text,
.nika-inner-main:has(.nika-about) .nika-content > ._text {
  margin: 0 !important;
}

@media (min-width: 640px) {
  .nika-inner-main:has(.nika-contact) .nika-breadcrumb,
  .nika-inner-main:has(.nika-about) .nika-breadcrumb {
    width: min(1340px, calc(100% - 4rem));
  }
}

/* ==== css/nika-fullwidth-sections-v6.css ==== */
/* Full-width colour bands with a centred 1340px content grid. */
:root { --nika-section-gutter: max(1.25rem, calc((100vw - 1340px) / 2)); }

.nika-contact,
.nika-about {
  padding: 0;
  background: #f2eee7;
}

/* Contact page */
.nika-contact__hero {
  min-height: 660px;
  padding-right: var(--nika-section-gutter);
  padding-left: var(--nika-section-gutter);
  border: 0;
  background: #e9e4dc;
  color: #10100f;
}
.nika-contact__intro {
  padding: clamp(3rem, 7vw, 7rem) clamp(1.5rem, 4vw, 4rem) clamp(3rem, 7vw, 7rem) 0;
}
.nika-contact__hero h1 { color: #10100f; }
.nika-contact__lead { color: rgba(16,16,15,.62); }
.nika-contact__hero-panel {
  min-height: 560px;
  margin: clamp(1.5rem, 3vw, 3rem) 0;
  background: linear-gradient(145deg, rgba(255,255,255,.04), transparent 45%), repeating-linear-gradient(115deg, rgba(255,255,255,.035) 0 1px, transparent 1px 24px), #20201d;
}
.nika-contact__channels {
  width: 100%;
  margin: 0;
  padding-right: var(--nika-section-gutter);
  padding-left: var(--nika-section-gutter);
  border: 0;
  background: #fff;
  box-shadow: none;
}
.nika-contact__channel {
  min-height: 210px;
  padding: clamp(2rem, 4vw, 3.5rem) clamp(1.25rem, 3vw, 3rem);
}
.nika-contact__channel:first-child { padding-left: 0; }
.nika-contact__channel:last-child { padding-right: 0; }
.nika-contact__workspace {
  width: 100%;
  margin: 0;
  padding: clamp(5rem, 9vw, 8rem) var(--nika-section-gutter);
  border: 0;
  background: #d9d1c3;
}
.nika-contact__form-panel {
  border: 0;
  background: #fff;
  box-shadow: 0 24px 70px rgba(16,16,15,.08);
}
.nika-contact__note {
  width: 100%;
  margin: 0;
  padding: clamp(4rem, 8vw, 7rem) var(--nika-section-gutter);
  border: 0;
  background: #10100f;
  color: #fff;
}
.nika-contact__note p { color: rgba(255,255,255,.55); }
.nika-contact__note a { background: #c7aa7a; color: #10100f !important; }

/* About page */
.nika-about__hero {
  min-height: 680px;
  padding-right: var(--nika-section-gutter);
  padding-left: var(--nika-section-gutter);
  border: 0;
  background: #e9e4dc;
  color: #10100f;
}
.nika-about__intro {
  padding: clamp(3rem, 7vw, 7rem) clamp(1.5rem, 4vw, 4rem) clamp(3rem, 7vw, 7rem) 0;
}
.nika-about__hero h1 { color: #10100f; }
.nika-about__lead { color: rgba(16,16,15,.62); }
.nika-about__visual {
  min-height: 580px;
  margin: clamp(1.5rem, 3vw, 3rem) 0;
}
.nika-about__proof {
  width: 100%;
  margin: 0;
  padding-right: var(--nika-section-gutter);
  padding-left: var(--nika-section-gutter);
  border: 0;
  background: #fff;
  box-shadow: none;
}
.nika-about__proof article {
  min-height: 210px;
  padding: clamp(2rem, 4vw, 3.5rem) clamp(1.25rem, 3vw, 3rem);
}
.nika-about__proof article:first-child { padding-left: 0; }
.nika-about__proof article:last-child { padding-right: 0; }
.nika-about__story {
  width: 100%;
  margin: 0;
  padding: clamp(5rem, 9vw, 8rem) var(--nika-section-gutter);
  border: 0;
  background: #ece8df;
}
.nika-about__trust {
  width: 100%;
  margin: 0;
  padding: clamp(5rem, 9vw, 8rem) var(--nika-section-gutter);
  border: 0;
  background: #10100f;
}
.nika-about__process {
  width: 100%;
  margin: 0;
  padding: clamp(5rem, 9vw, 8rem) var(--nika-section-gutter);
  border: 0;
  background: #d9d1c3;
}
.nika-about__steps article {
  border: 0;
  background: #fff;
  box-shadow: none;
}
.nika-about__cta {
  width: 100%;
  margin: 0;
  padding: clamp(4rem, 8vw, 7rem) var(--nika-section-gutter);
  border: 0;
  background: #c7aa7a;
  box-shadow: none;
}

@media (max-width: 980px) {
  .nika-contact__hero,
  .nika-about__hero {
    padding-right: var(--nika-section-gutter);
    padding-left: var(--nika-section-gutter);
  }
  .nika-contact__intro,
  .nika-about__intro { padding-right: 0; }
  .nika-contact__hero-panel,
  .nika-about__visual { margin-top: 0; }
}
@media (max-width: 700px) {
  .nika-contact__hero,
  .nika-about__hero { min-height: auto; }
  .nika-contact__channels,
  .nika-about__proof {
    width: 100%;
    margin: 0;
  }
  .nika-contact__channel,
  .nika-contact__channel:first-child,
  .nika-contact__channel:last-child,
  .nika-about__proof article,
  .nika-about__proof article:first-child,
  .nika-about__proof article:last-child {
    padding-right: 0;
    padding-left: 0;
  }
}

/* ==== css/nika-breadcrumb-trust-polish-v7.css ==== */
/* Contrast correction for the dark About chapter. */
.nika-about__trust,
.nika-about__trust h2,
.nika-about__trust h3 {
  color: #fff !important;
}
.nika-about__trust .nika-about__section-label,
.nika-about__trust b {
  color: #c7aa7a !important;
}
.nika-about__trust p {
  color: rgba(255, 255, 255, .58) !important;
}

/* Compact, vertically centred breadcrumb area on every inner page. */
.nika-inner-main {
  padding-top: 6.5rem !important;
}
.nika-inner-main .nika-breadcrumb {
  display: flex;
  min-height: 2.25rem;
  align-items: center;
  margin-top: 0 !important;
  margin-bottom: .75rem !important;
}
.nika-inner-main .nika-breadcrumb .breadcrumbs-d,
.nika-inner-main .nika-breadcrumb nav {
  display: flex;
  min-height: 2.25rem;
  flex-wrap: wrap;
  align-items: center;
  line-height: 1.35;
}

@media (max-width: 639px) {
  .nika-inner-main {
    padding-top: 5.75rem !important;
  }
  .nika-inner-main .nika-breadcrumb {
    min-height: 2rem;
    margin-bottom: .5rem !important;
  }
}

/* ==== css/nika-pages-editorial.css ==== */
/* ==========================================================================
   NIKA GRAN — editorial layer: product page + stone pages
   --------------------------------------------------------------------------
   Direction: luxury / minimal editorial — hairline rules instead of boxes,
   generous space around few elements, one accent (clay), uppercase eyebrows
   with a short rule. Uses the existing brand tokens only: no new colours,
   no new fonts, no shadows beyond the existing panel.

   Why these choices:
   - Long copy gets a 70ch measure: at 1280px the previous full-width text ran
     ~110 characters per line, which is beyond comfortable reading.
   - Section headings stay Prata but drop one step: the product <h1> must stay
     the loudest element on the page.
   - Tables lose the zebra and gain a hairline rhythm, with the source column
     muted and smaller: it is reference material, not the main message.
   - Every state (hover, focus-visible) is defined; motion respects
     prefers-reduced-motion.
   ========================================================================== */

:root {
  --npe-measure: 70ch;
  --npe-rule: rgba(16, 16, 15, .12);
  --npe-rule-soft: rgba(16, 16, 15, .08);
  --npe-rule-strong: rgba(16, 16, 15, .24);
  --npe-muted: rgba(16, 16, 15, .6);
  /* .48 measured 3.1-3.4:1 against white and bone — below WCAG AA for
     small text. .62 composites to ~4.9:1 on both surfaces. */
  --npe-faint: rgba(16, 16, 15, .62);
  --npe-surface: #faf8f3;
}

/* --- shared: eyebrow ----------------------------------------------------- */
.nika-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: .7rem;
  margin: 0 0 .9rem;
  color: var(--nika-clay);
  font-size: .6rem;
  font-weight: 800;
  letter-spacing: .2em;
  text-transform: uppercase;
}

.nika-eyebrow::before {
  content: "";
  width: 26px;
  height: 1px;
  background: currentColor;
  opacity: .55;
}

/* --- product page: top panel -------------------------------------------- */
.section-d_shop_id .product-d {
  border: 1px solid var(--npe-rule);
  box-shadow: 0 20px 60px rgba(16, 16, 15, .08);
  /* The specification column is ~1500px tall; the image stays in view while
     it is read, so overflow must stay visible for position: sticky to work. */
  overflow: visible;
}

.section-d_shop_id .product-d__images {
  position: sticky;
  top: 108px;
  align-self: start;
  min-height: 0;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  background: #f2efe8;
}

/* The "NIKA GRAN" watermark competed with the product; the panel already
   carries the brand in the header. */
.section-d_shop_id .product-d__images::after { content: none; }

.section-d_shop_id .product-d__images img,
.section-d_shop_id .product-d__images picture {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.section-d_shop_id .product-d__details { background: #fff; }

/* --- product page: lead paragraph --------------------------------------- */
.section-d_shop_id .product-d__tabs .product-d__tab_text {
  max-width: 62ch;
  color: rgba(16, 16, 15, .72);
  font-size: 1rem;
  line-height: 1.8;
}

/* --- product page: specification rows ----------------------------------- */
.product-d__tab_params .nika-specs-title {
  margin: 2.25rem 0 1.25rem;
  padding-top: 1.75rem;
  border-top: 1px solid var(--npe-rule);
  font: 400 clamp(1.35rem, 1.7vw, 1.6rem)/1.25 Prata, serif;
  letter-spacing: -.01em;
}

.product-d__tab_params .param-d {
  display: grid;
  grid-template-columns: minmax(0, 38%) minmax(0, 1fr);
  gap: 1.25rem;
  padding: .9rem 0;
  border-bottom: 1px solid var(--npe-rule-soft);
  font-size: .86rem;
}

.product-d__tab_params .param-d:last-child { border-bottom: 0; }
.product-d__tab_params .param-d__name { color: var(--npe-faint); }
.product-d__tab_params .param-d__value { font-weight: 600; }

.product-d__tab_params .param-d__value a {
  color: var(--nika-clay);
  text-decoration: none;
  border-bottom: 1px solid rgba(143, 104, 70, .4);
}

.product-d__tab_params .param-d__value a:hover { border-bottom-color: var(--nika-clay); }

/* --- product page: price note + primary action -------------------------- */
.nika-product-quote {
  margin-top: 2rem;
  padding-top: 1.75rem;
  border-top: 1px solid var(--npe-rule);
}

.nika-product-quote p {
  max-width: 58ch;
  margin: 0 0 1.25rem !important;
  color: var(--npe-muted);
  font-size: .82rem;
  line-height: 1.7;
}

.nika-product-quote a {
  width: 100%;
  box-sizing: border-box;
  justify-content: space-between;
  padding: 1.05rem 1.35rem;
}

/* --- product page: calculator card -------------------------------------- */
.nika-product-calc {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 1.1rem;
  margin-top: 1.75rem;
  padding: 1.35rem;
  border: 1px solid var(--npe-rule);
  background: var(--npe-surface);
}

.nika-product-calc__icon {
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  border: 1px solid var(--npe-rule);
  color: var(--nika-clay);
}

.nika-product-calc__title {
  display: block;
  margin-bottom: .3rem;
  font-size: .66rem;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.nika-product-calc__text { display: block; color: var(--npe-muted); font-size: .8rem; line-height: 1.6; }

.nika-product-calc__link {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: .5rem;
  padding: .85rem 0 0;
  border: 0;
  border-top: 1px solid var(--npe-rule);
  background: none;
  color: var(--nika-ink);
  font-size: .66rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-decoration: none !important;
  text-transform: uppercase;
  /* Neutralise the legacy button styling: it kept a dark hover background and
     a 44px min-height, which turned the link into a black bar. */
  min-height: 0;
  flex: none;
  transition: color .2s ease;
}

.nika-product-calc__link:hover,
.nika-product-calc__link:focus { background: none !important; color: var(--nika-clay) !important; }
.nika-product-calc__link span { transition: transform .2s ease; }
.nika-product-calc__link:hover span { transform: translateX(3px); }

/* --- product page: dimension schematic ---------------------------------- */
.nika-product-dims {
  margin-top: 2rem;
  padding: 1.5rem;
  border: 1px solid var(--npe-rule);
  background: #fff;
}

.nika-product-dims h2 {
  margin: 0 0 1.1rem;
  font: 400 clamp(1.25rem, 1.9vw, 1.55rem)/1.25 Prata, serif;
  letter-spacing: -.01em;
}

.nika-product-dims svg { max-width: 420px; height: auto; }

.nika-product-dims__note {
  max-width: 52ch;
  margin: 1rem 0 0 !important;
  color: var(--npe-faint);
  font-size: .78rem;
  line-height: 1.65;
}

/* --- product page: long copy below the panel ---------------------------- */
.nika-product-content { max-width: 1120px; margin-top: 3.5rem; }

.nika-product-content > section + section {
  margin-top: 3.25rem;
  padding-top: 2.75rem;
  border-top: 1px solid var(--npe-rule);
}

.nika-product-content h2 {
  margin: 0 0 1.25rem;
  font: 400 clamp(1.6rem, 2.6vw, 2.15rem)/1.18 Prata, serif;
  letter-spacing: -.015em;
}

.nika-product-about__text { max-width: var(--npe-measure); }
.nika-product-about__text p { margin: 0 0 1.15rem; line-height: 1.85; }
.nika-product-about__text p:last-child { margin-bottom: 0; }

.nika-product-faq h3 {
  margin: 0 0 .5rem;
  padding-top: 1.6rem;
  border-top: 1px solid var(--npe-rule-soft);
  font: 600 1rem/1.5 Manrope, sans-serif;
}

.nika-product-faq h3:first-of-type { padding-top: 0; border-top: 0; }
.nika-product-faq h3 + p { margin: 0 0 1.6rem; }
.nika-product-faq p { max-width: var(--npe-measure); color: rgba(16, 16, 15, .66); line-height: 1.8; }

.nika-product-delivery ul { max-width: var(--npe-measure); }

/* --- shared: lists ------------------------------------------------------ */
.nika-product-delivery ul,
.nika-stone-page ul {
  margin: 0 0 1.4rem;
  padding: 0;
  list-style: none;
}

.nika-product-delivery ul li,
.nika-stone-page ul li {
  position: relative;
  max-width: var(--npe-measure);
  margin-bottom: .7rem;
  padding-left: 1.4rem;
  line-height: 1.75;
}

.nika-product-delivery ul li::before,
.nika-stone-page ul li::before {
  content: "—";
  position: absolute;
  left: 0;
  color: var(--nika-clay);
  opacity: .85;
}

.nika-product-delivery ul li:last-child,
.nika-stone-page ul li:last-child { margin-bottom: 0; }

/* --- stone pages -------------------------------------------------------- */
.nika-stone-page { max-width: 1120px; }

.nika-stone-page h1 {
  margin: 0 0 1.75rem;
  font: 400 clamp(2.4rem, 5.2vw, 4rem)/1.05 Prata, serif;
  letter-spacing: -.03em;
}

.nika-stone-page h2 {
  margin: 3.25rem 0 1.15rem;
  font: 400 clamp(1.6rem, 2.6vw, 2.15rem)/1.18 Prata, serif;
  letter-spacing: -.015em;
}

.nika-stone-page h1 + h2,
.nika-stone-page h1 + figure + h2 { margin-top: 2.25rem; }

.nika-stone-page p { max-width: var(--npe-measure); line-height: 1.85; }
.nika-stone-page p + p { margin-top: 1.15rem; }

.nika-stone-page .nika-stone-photo { max-width: 760px; margin: 0 0 2.5rem; }

.nika-stone-page .nika-stone-photo img {
  width: 100%;
  height: auto;
  border: 1px solid var(--npe-rule-soft);
}

.nika-stone-page .nika-stone-photo figcaption {
  max-width: var(--npe-measure);
  margin-top: .8rem;
  color: var(--npe-faint);
  font-size: .75rem;
  line-height: 1.6;
}

.nika-stone-page .nika-stone-photo__note { color: var(--npe-faint); }

/* --- stone pages: tables ------------------------------------------------ */
.nika-stone-page table {
  width: 100%;
  margin: 1.5rem 0 1.75rem;
  border-collapse: collapse;
  font-size: .86rem;
}

.nika-stone-page table th {
  padding: .6rem 1.25rem .7rem 0;
  border-bottom: 1px solid var(--npe-rule-strong);
  color: var(--npe-faint);
  font-size: .6rem;
  font-weight: 800;
  letter-spacing: .16em;
  text-align: left;
  text-transform: uppercase;
  vertical-align: bottom;
}

.nika-stone-page table th:first-child { width: 26%; }
.nika-stone-page table td {
  padding: .9rem 1.25rem .95rem 0;
  border-bottom: 1px solid var(--npe-rule-soft);
  line-height: 1.65;
  vertical-align: top;
}

.nika-stone-page table td:first-child { font-weight: 600; }
/* The muted "source" treatment belongs to the third column only: in a
   two-column table the second cell is the value the reader came for. */
.nika-stone-page table td:last-child:not(:nth-child(2)),
.nika-stone-page table th:last-child:not(:nth-child(2)) {
  padding-right: 0;
  color: var(--npe-faint);
  font-size: .76rem;
  line-height: 1.6;
}

.nika-stone-page table th:last-child:not(:nth-child(2)) { color: var(--npe-faint); }

.nika-stone-page table tr:last-child td { border-bottom: 1px solid var(--npe-rule); }

/* On narrow screens the tables become stacked definition lists: the row label
   is the field name, so the header row is redundant. */
@media (max-width: 820px) {
  .nika-stone-page table,
  .nika-stone-page table tbody,
  .nika-stone-page table tr,
  .nika-stone-page table td { display: block; width: auto; }

  .nika-stone-page table thead { display: none; }

  .nika-stone-page table tr {
    padding: .95rem 0;
    border-bottom: 1px solid var(--npe-rule-soft);
  }

  .nika-stone-page table td { padding: .3rem 0; border-bottom: 0; }

  .nika-stone-page table td:first-child {
    color: var(--npe-faint);
    font-size: .6rem;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
  }

  .nika-stone-page table td:nth-child(2) { font-size: .92rem; }
}

/* --- shared: focus, motion, rhythm -------------------------------------- */
.nika-product-quote a,
.nika-product-calc__link,
.prevnext-d a { transition: background .2s ease, color .2s ease, border-color .2s ease; }

.prevnext-d a:hover { border-color: var(--npe-rule-strong); background: var(--npe-surface); }

.section-d_shop_id a:focus-visible,
.nika-product-content a:focus-visible,
.nika-stone-page a:focus-visible,
.nika-stone-page button:focus-visible {
  outline: 2px solid var(--nika-clay);
  outline-offset: 3px;
}

@media (max-width: 1023px) {
  .section-d_shop_id .product-d { overflow: hidden; }
  .section-d_shop_id .product-d__images {
    position: static;
    aspect-ratio: 4 / 3;
  }

  /* The details column is a flex column on narrow screens, and the existing
     rule puts the price note first (order: -1). Price before the product is
     explained reads backwards, so the order becomes: description, specs,
     price and CTA, calculator, dimensions. */
  .section-d_shop_id .product-d__details {
    display: flex;
    flex-direction: column;
  }

  .section-d_shop_id .product-d__tabs { order: 1; margin-top: 0; }

  .section-d_shop_id .nika-product-quote {
    order: 2;
    margin: 1.75rem 0 0;
    padding: 1.5rem 0 0;
    border-top: 1px solid var(--npe-rule);
    border-bottom: 0;
  }

  .section-d_shop_id .nika-product-calc { order: 3; }
  .section-d_shop_id .nika-product-dims { order: 4; }
}

@media (max-width: 639px) {
  .nika-product-content,
  .nika-stone-page { margin-top: 2.25rem; }
  .nika-product-content > section + section { margin-top: 2.5rem; padding-top: 2rem; }
  .nika-product-quote a { justify-content: space-between; }
}

@media (prefers-reduced-motion: reduce) {
  .nika-product-calc__link span,
  .prevnext-d a { transition: none; }
  .nika-product-calc__link:hover span { transform: none; }
}

/* --- product page: trust strip ------------------------------------------
   Four facts taken verbatim from the delivery block. No lead times, no
   guarantee, no discounts: those figures do not exist in the source data. */
.nika-trust {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem 1.5rem;
  margin-top: 1.75rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--npe-rule);
}

.nika-trust__item { display: flex; align-items: flex-start; gap: .7rem; }

.nika-trust__icon {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border: 1px solid var(--npe-rule);
  color: var(--nika-clay);
}

.nika-trust__body { display: flex; flex-direction: column; gap: .15rem; }
.nika-trust__body strong { font-size: .78rem; font-weight: 700; }
.nika-trust__body span { color: var(--npe-faint); font-size: .74rem; line-height: 1.5; }

/* --- product page: related products ------------------------------------- */
.nika-product-related {
  margin-top: 3.25rem;
  padding-top: 2.75rem;
  border-top: 1px solid var(--npe-rule);
}

.nika-product-related h2 {
  margin: 0 0 1.5rem;
  font: 400 clamp(1.6rem, 2.6vw, 2.15rem)/1.18 Prata, serif;
  letter-spacing: -.015em;
}

.nika-related-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.25rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.nika-related-card { display: flex; }

.nika-related-card__link {
  display: flex;
  flex-direction: column;
  width: 100%;
  border: 1px solid var(--npe-rule);
  background: #fff;
  text-decoration: none;
  transition: border-color .2s ease, transform .2s ease;
}

.nika-related-card__link:hover { border-color: var(--npe-rule-strong); transform: translateY(-2px); }
.nika-related-card__link:focus-visible { outline: 2px solid var(--nika-clay); outline-offset: 2px; }

.nika-related-card__media { display: block; aspect-ratio: 4 / 5; overflow: hidden; background: var(--npe-surface); }
.nika-related-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.nika-related-card__link:hover .nika-related-card__media img { transform: scale(1.03); }

.nika-related-card__name {
  padding: 1rem 1.1rem .35rem;
  color: var(--nika-ink);
  font: 400 1rem/1.3 Prata, serif;
}

.nika-related-card__more {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .5rem;
  margin: auto 1.1rem 1.1rem;
  padding-top: .75rem;
  border-top: 1px solid var(--npe-rule-soft);
  color: var(--nika-clay);
  font-size: .62rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

@media (max-width: 1023px) {
  .nika-related-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 639px) {
  .nika-trust { grid-template-columns: 1fr; }
  .nika-related-grid { gap: .85rem; }
  .nika-related-card__name { padding: .8rem .85rem .3rem; font-size: .92rem; }
  .nika-related-card__more { margin: auto .85rem .85rem; font-size: .58rem; }
}

@media (prefers-reduced-motion: reduce) {
  .nika-related-card__link,
  .nika-related-card__media img { transition: none; }
  .nika-related-card__link:hover { transform: none; }
  .nika-related-card__link:hover .nika-related-card__media img { transform: none; }
}

/* --- category page: FAQ ------------------------------------------------- */
.nika-category-faq {
  max-width: 1120px;
  margin-top: 3.25rem;
  padding-top: 2.75rem;
  border-top: 1px solid var(--npe-rule);
}

.nika-category-faq h2 {
  margin: 0 0 1.25rem;
  font: 400 clamp(1.6rem, 2.6vw, 2.15rem)/1.18 Prata, serif;
  letter-spacing: -.015em;
}

.nika-category-faq h3 {
  margin: 0 0 .5rem;
  padding-top: 1.6rem;
  border-top: 1px solid var(--npe-rule-soft);
  font: 600 1rem/1.5 Manrope, sans-serif;
}

.nika-category-faq__item:first-of-type h3 { padding-top: 0; border-top: 0; }
.nika-category-faq p { max-width: var(--npe-measure); margin: 0 0 1.6rem; color: rgba(16, 16, 15, .66); line-height: 1.8; }

/* --- reading surfaces ---------------------------------------------------
   The editorial rework had stripped the white inner card, so long copy sat
   straight on the bone page background. Body text reads better on white:
   these panels restore it without giving up the bone page canvas. */
.nika-product-content,
.nika-product-related,
.nika-category-faq,
.nika-stone-page,
.nika-articles.nika-article {
  background: #fff;
  border: 1px solid var(--npe-rule-soft);
  box-shadow: 0 12px 40px rgba(16, 16, 15, .05);
  padding: clamp(1.5rem, 3.5vw, 3.25rem);
}

.nika-product-content { margin-top: 2rem; }
.nika-product-content > section + section { margin-top: 2.75rem; padding-top: 2.25rem; }

/* The panel border replaces the hairline that used to separate these blocks. */
.nika-product-related,
.nika-category-faq {
  margin-top: 2rem;
  padding-top: clamp(1.5rem, 3.5vw, 3.25rem);
  border-top: 1px solid var(--npe-rule-soft);
}

.nika-stone-page { padding-top: clamp(1.75rem, 4vw, 3.5rem); }

/* The article hero sits flush inside the panel: the photo is part of the card. */
.nika-articles.nika-article .nika-article__hero,
.nika-articles.nika-article .nika-article__hero-link { border-radius: 0; }

@media (max-width: 639px) {
  .nika-product-content,
  .nika-product-related,
  .nika-category-faq,
  .nika-stone-page,
  .nika-articles.nika-article { padding: 1.25rem; }
}

/* --- floating contact bar ----------------------------------------------
   Competitor pattern (granex): keep a call/Viber action reachable while the
   reader scrolls. We have no messengers, so the bar is phone + quote form. */
.nika-contact-bar { display: none; }

.nika-contact-bar.is-visible { display: flex; }

@media (min-width: 701px) {
  .nika-contact-bar {
    position: fixed;
    right: 1.5rem;
    bottom: 1.5rem;
    z-index: 40;
    flex-direction: column;
    gap: .5rem;
  }

  .nika-contact-bar__action {
    display: inline-flex;
    align-items: center;
    gap: .6rem;
    min-height: 48px;
    padding: .85rem 1.15rem;
    border: 1px solid var(--npe-rule-strong);
    background: #fff;
    box-shadow: 0 10px 30px rgba(16, 16, 15, .12);
    color: var(--nika-ink);
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .1em;
    text-decoration: none;
    text-transform: uppercase;
    transition: border-color .2s ease, color .2s ease;
  }

  .nika-contact-bar__action:hover { border-color: var(--nika-ink); color: var(--nika-clay); }
  .nika-contact-bar__action:focus-visible { outline: 2px solid var(--nika-clay); outline-offset: 2px; }
  .nika-contact-bar__action_quote { background: var(--nika-sand); border-color: var(--nika-sand); }
  .nika-contact-bar__action_quote:hover { background: var(--nika-ink); border-color: var(--nika-ink); color: #fff; }
  .nika-contact-bar__value { font-weight: 600; letter-spacing: .02em; text-transform: none; }
}

@media (max-width: 700px) {
  .nika-contact-bar {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 40;
    border-top: 1px solid var(--npe-rule);
    background: #fff;
    box-shadow: 0 -6px 24px rgba(16, 16, 15, .1);
  }

  .nika-contact-bar__action {
    display: flex;
    flex: 1;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    min-height: 54px;
    color: var(--nika-ink);
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .1em;
    text-decoration: none;
    text-transform: uppercase;
  }

  .nika-contact-bar__action + .nika-contact-bar__action { border-left: 1px solid var(--npe-rule); }
  .nika-contact-bar__action_call { color: var(--nika-clay); }
  .nika-contact-bar__action_quote { background: var(--nika-sand); }
  .nika-contact-bar__value { display: none; }

  /* Reserve room so the bar never covers the last line of content. */
  html.nika-contact-bar-on body { padding-bottom: 54px; }
}

@media (prefers-reduced-motion: reduce) {
  .nika-contact-bar__action { transition: none; }
}

/* --- panels match the card width, copy fills them -----------------------
   The reading panels were pinned to 1120px while the product card is 1184px,
   and paragraphs were capped at 70ch, so the white sheet looked narrower than
   the card and half empty. Both limits are lifted: text now runs the full
   inner width of the panel. */
.nika-product-content,
.nika-product-related,
.nika-category-faq,
.nika-stone-page {
  max-width: none;
}

.nika-product-about__text,
.nika-product-about__text p,
.nika-product-faq p,
.nika-product-delivery ul li,
.nika-stone-page p,
.nika-stone-page ul li,
.nika-stone-page .nika-stone-photo figcaption {
  max-width: none;
}

.nika-category-faq p { max-width: none; }

/* The photo plate was pinned to 760px; with the copy at full width it left a
   bare gap, so the stone photo spans the panel as well. */
.nika-stone-page .nika-stone-photo { max-width: none; display: flex; flex-direction: column; align-items: center; }
.nika-stone-page .nika-stone-photo a,
.nika-stone-page .nika-stone-photo img,
.nika-stone-page .nika-stone-photo figcaption { width: 100%; max-width: 900px; }

/* Four actions in the contact bar now (call, Viber, Telegram, quote). */
@media (max-width: 700px) {
  .nika-contact-bar__action { min-width: 0; padding: 0 .35rem; font-size: .6rem; letter-spacing: .04em; }
  .nika-contact-bar__label { white-space: nowrap; }
  .nika-contact-bar__action_viber { color: #665cac; }
  .nika-contact-bar__action_telegram { color: #2aabee; }
}

@media (min-width: 701px) {
  .nika-contact-bar__action_viber:hover { border-color: #665cac; color: #665cac; }
  .nika-contact-bar__action_telegram:hover { border-color: #2aabee; color: #2aabee; }
}

/* The format table on /calculator/ is wider than a phone screen: let it scroll
   inside its own box instead of pushing the whole page sideways. */
@media (max-width: 820px) {
  .nika-content table {
    display: block;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}

/* The calculator page carries the same long explanatory copy as the stone
   pages, so it gets the same white reading surface. */
.nika-calculator-page {
  max-width: none;
  background: #fff;
  border: 1px solid var(--npe-rule-soft);
  box-shadow: 0 12px 40px rgba(16, 16, 15, .05);
  padding: clamp(1.5rem, 3.5vw, 3.25rem);
}

.nika-calculator-page p,
.nika-calculator-page li { max-width: none; }

@media (max-width: 639px) {
  .nika-calculator-page { padding: 1.25rem; }
}

/* --- product page: indicative price ------------------------------------ */
.nika-product-price { margin: 0 0 1rem; }

.nika-product-price__value {
  display: block;
  margin-bottom: .4rem;
  color: var(--nika-ink);
  font: 400 clamp(1.5rem, 2.2vw, 1.95rem)/1.15 Prata, serif;
  letter-spacing: -.02em;
}

.nika-product-price__note { display: block; color: var(--npe-faint); font-size: .78rem; line-height: 1.55; }

.param-d__hint { display: block; margin-top: .35rem; color: var(--npe-faint); font-size: .76rem; font-weight: 400; line-height: 1.5; }

/* --- price page --------------------------------------------------------- */
.nika-info-page {
  max-width: none;
  background: #fff;
  border: 1px solid var(--npe-rule-soft);
  box-shadow: 0 12px 40px rgba(16, 16, 15, .05);
  padding: clamp(1.5rem, 3.5vw, 3.25rem);
}

.nika-info-page h1 {
  margin: 0 0 1.5rem;
  font: 400 clamp(2.2rem, 4.6vw, 3.5rem)/1.08 Prata, serif;
  letter-spacing: -.03em;
}

.nika-info-page h2 {
  margin: 2.75rem 0 1rem;
  font: 400 clamp(1.5rem, 2.4vw, 2rem)/1.2 Prata, serif;
  letter-spacing: -.015em;
}

.nika-info-page p,
.nika-info-page li { max-width: none; line-height: 1.85; }
.nika-info-page ul { margin: 0 0 1.4rem; padding: 0; list-style: none; }
.nika-info-page ul li { position: relative; margin-bottom: .7rem; padding-left: 1.4rem; }
.nika-info-page ul li::before { content: "—"; position: absolute; left: 0; color: var(--nika-clay); opacity: .85; }
.nika-info-page a { color: var(--nika-clay); }

/* The price table uses the same hairline rhythm as the stone pages. */
.nika-price-table { width: 100%; margin: 0 0 2rem; border-collapse: collapse; font-size: .9rem; }
.nika-price-table th {
  padding: .6rem 1.25rem .7rem 0;
  border-bottom: 1px solid var(--npe-rule-strong);
  color: var(--npe-faint);
  font-size: .6rem;
  font-weight: 800;
  letter-spacing: .16em;
  text-align: left;
  text-transform: uppercase;
}
.nika-price-table th:last-child { width: 40%; }
.nika-price-table td { padding: .85rem 1.25rem .9rem 0; border-bottom: 1px solid var(--npe-rule-soft); vertical-align: top; }
.nika-price-table td:last-child { padding-right: 0; white-space: nowrap; }
.nika-price-table tr:last-child td { border-bottom: 1px solid var(--npe-rule); }
.nika-price-table a { color: var(--nika-ink); text-decoration: none; border-bottom: 1px solid var(--npe-rule); }
.nika-price-table a:hover { border-bottom-color: var(--nika-clay); color: var(--nika-clay); }
.nika-price-table__request { color: var(--npe-faint); }

.nika-price-actions { margin: 2.5rem 0 0; padding-top: 2rem; border-top: 1px solid var(--npe-rule); }
.nika-price-actions__pdf,
.nika-price-actions__quote {
  display: inline-flex;
  align-items: center;
  gap: .6rem;
  margin: 0 .75rem .75rem 0;
  padding: .95rem 1.3rem;
  border: 1px solid var(--npe-rule-strong);
  color: var(--nika-ink);
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-decoration: none;
  text-transform: uppercase;
}
.nika-price-actions__quote { background: var(--nika-sand); border-color: var(--nika-sand); }
.nika-price-actions__pdf:hover { border-color: var(--nika-ink); color: var(--nika-clay); }
.nika-price-actions__quote:hover { background: var(--nika-ink); border-color: var(--nika-ink); color: #fff; }
.nika-price-actions__note { max-width: none; margin: 1rem 0 0; color: var(--npe-faint); font-size: .78rem; line-height: 1.6; }
.nika-product-price__all { margin: .6rem 0 0; font-size: .8rem; }
.nika-product-price__all a { color: var(--nika-clay); }

@media (max-width: 639px) {
  .nika-info-page { padding: 1.25rem; }
  .nika-price-table td:last-child { white-space: normal; }
}

@media print {
  .nika-contact-bar,
  .nika-price-actions__quote,
  .nika-breadcrumb,
  #site-header,
  .nika-footer-menu { display: none !important; }
  .nika-info-page { border: 0; box-shadow: none; padding: 0; }
  .nika-price-table { font-size: 11pt; }
  .nika-price-table a { border: 0; color: inherit; }
}

/* --- product page: reviews --------------------------------------------- */
.nika-product-reviews { margin-top: 0; }
.nika-product-reviews__summary { max-width: none; margin: 0 0 1.5rem; color: var(--npe-faint); font-size: .9rem; }
.nika-product-reviews__summary strong { color: var(--nika-ink); font-size: 1.25rem; }

.nika-review { padding: 1.25rem 0; border-top: 1px solid var(--npe-rule-soft); }
.nika-review__head { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; margin-bottom: .5rem; }
.nika-review__rating { color: var(--nika-clay); letter-spacing: .12em; }
.nika-review p { max-width: none; margin: 0; line-height: 1.75; color: rgba(16, 16, 15, .72); }

.nika-review-form { margin-top: 2.5rem; padding-top: 2rem; border-top: 1px solid var(--npe-rule); }
.nika-review-form h3 { margin: 0 0 1.25rem; font: 400 clamp(1.3rem, 2vw, 1.6rem)/1.25 Prata, serif; }
.nika-review-form__row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.nika-review-form label { display: flex; flex-direction: column; gap: .4rem; font-size: .72rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--npe-faint); }
.nika-review-form input,
.nika-review-form select,
.nika-review-form textarea {
  width: 100%;
  padding: .8rem .9rem;
  border: 1px solid var(--npe-rule);
  background: #fff;
  color: var(--nika-ink);
  font: 400 .95rem/1.5 Manrope, sans-serif;
}
.nika-review-form textarea { resize: vertical; }
.nika-review-form input:focus,
.nika-review-form select:focus,
.nika-review-form textarea:focus { outline: 2px solid var(--nika-clay); outline-offset: 1px; }
.nika-review-form__text { margin-top: 1rem; }
.nika-review-form__trap { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.nika-review-form button {
  margin-top: 1.25rem;
  padding: 1rem 1.6rem;
  border: 0;
  background: var(--nika-sand);
  color: var(--nika-ink);
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
  cursor: pointer;
}
.nika-review-form button:hover { background: var(--nika-ink); color: #fff; }
.nika-review-form__note { max-width: none; margin: .9rem 0 0; color: var(--npe-faint); font-size: .76rem; }
.nika-product-reviews__message { max-width: none; margin: 0 0 1.5rem; padding: .9rem 1.1rem; border-left: 2px solid var(--nika-clay); background: var(--npe-surface); font-size: .88rem; }

@media (max-width: 639px) {
  .nika-review-form__row { grid-template-columns: 1fr; }
}

/* --- portfolio --------------------------------------------------------- */
.nika-portfolio-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; margin-top: 1.5rem; }
.nika-portfolio-card { border: 1px solid var(--npe-rule-soft); background: #fff; }
.nika-portfolio-card img { display: block; width: 100%; height: auto; }
.nika-portfolio-card h3 { margin: 1rem 1.1rem .35rem; font: 400 1.15rem/1.3 Prata, serif; }
.nika-portfolio-card__meta { margin: 0 1.1rem .5rem; color: var(--npe-faint); font-size: .68rem; letter-spacing: .1em; text-transform: uppercase; }
.nika-portfolio-card p:last-child { margin: 0 1.1rem 1.1rem; line-height: 1.7; }

@media (max-width: 767px) {
  .nika-portfolio-grid { grid-template-columns: 1fr; }
}

.nika-portfolio-card__photos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px; background: var(--npe-surface); }
.nika-portfolio-card__photos img { width: 100%; height: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.nika-portfolio-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }

@media (max-width: 767px) {
  .nika-portfolio-card__photos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* --- stone page: archive gallery --------------------------------------- */
.nika-stone-gallery { margin: 0 0 2.5rem; }
.nika-stone-gallery h2 { margin: 2.25rem 0 1rem; }
.nika-stone-gallery__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
.nika-stone-gallery__grid img { width: 100%; height: 100%; aspect-ratio: 4 / 3; object-fit: cover; border: 1px solid var(--npe-rule-soft); }
.nika-stone-gallery__note { margin: 1rem 0 0; color: var(--npe-faint); font-size: .78rem; line-height: 1.6; }

@media (max-width: 639px) {
  .nika-stone-gallery__grid { grid-template-columns: 1fr; }
}

/* --- footer: колонки ---------------------------------------------------- */
.nika-footer {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.7fr);
  gap: 2.5rem 3rem;
  align-items: start;
  max-width: 1340px;
  margin: 0 auto;
  font-size: .8rem;
}
.nika-footer__brand { display: flex; flex-direction: column; gap: .4rem; }
.nika-footer__logo { margin: 0 0 .35rem; color: #fff; font: 400 1.3rem/1 Prata, serif; letter-spacing: .06em; }
.nika-footer__copy { margin: 0; }
.nika-footer__contacts { display: flex; flex-direction: column; gap: .3rem; margin: .35rem 0 0; }
.nika-footer__contacts a,
.nika-footer__nav a { color: inherit; text-decoration: none; transition: color .2s, border-color .2s; }
.nika-footer__contacts a:hover { color: #fff; }

.nika-footer__nav {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .7rem 2rem;
  align-content: start;
}
.nika-footer__nav a {
  padding-bottom: 2px;
  border-bottom: 1px solid rgba(255, 255, 255, .12);
}
.nika-footer__nav a:hover { color: #fff; border-bottom-color: rgba(199, 170, 122, .75); }

/* Панель связи висит справа внизу: резервируем место, иначе она закрывает ссылки. */
@media (min-width: 701px) {
  .nika-footer { padding-right: 16rem; padding-bottom: 7rem; }
}
@media (max-width: 700px) {
  .nika-footer { padding-bottom: 5rem; }
}
@media (max-width: 1023px) {
  .nika-footer { grid-template-columns: 1fr; gap: 2rem; }
  .nika-footer__nav { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
  .nika-footer { padding-right: 0; }
}
@media (max-width: 639px) {
  .nika-footer { font-size: .78rem; }
  .nika-footer__nav { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .6rem 1.25rem; }
}

.nika-stone-related {
  margin-top: 1.5rem;
  background: #fff;
  border: 1px solid var(--npe-rule-soft);
  box-shadow: 0 12px 40px rgba(16, 16, 15, .05);
  padding: clamp(1.25rem, 3vw, 2.25rem);
}
.nika-stone-related h2 { margin: 0 0 1rem; }
.nika-stone-related ul { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin: 0 0 1rem; padding: 0; list-style: none; }
.nika-stone-related li { margin: 0; padding: 0; }
.nika-stone-related li::before { content: none; }
.nika-stone-related a { display: flex; flex-direction: column; height: 100%; color: inherit; text-decoration: none; }
.nika-stone-related a:hover span,
.nika-stone-related a:focus-visible span { color: var(--nika-clay); }
.nika-stone-related a:focus-visible { outline: 2px solid var(--nika-clay); outline-offset: 3px; }
.nika-stone-related img,
.nika-stone-related__ph { display: block; width: 100%; aspect-ratio: 4/3; object-fit: cover; background: #292925; }
.nika-stone-related a > span:last-child { display: block; margin-top: .55rem; color: var(--nika-clay); line-height: 1.35; }
.nika-stone-photo a { display: block; }
.nika-stone-photo a:focus-visible { outline: 2px solid var(--nika-clay); outline-offset: 3px; }
@media (min-width: 1000px) {
  .nika-granite-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.nika-granite-card__image a.nika-granite-card__photo { display: block; height: 100%; }
.nika-granite-card__image a.nika-granite-card__photo:focus-visible { outline: 2px solid #fff; outline-offset: -4px; }
.nika-granite-card__index { z-index: 2; }
@media (max-width: 700px) { .nika-stone-related ul { grid-template-columns: 1fr; } }

/* Real-photo covers: keep overlaid titles visible in catalog and related cards. */
.element-d_shop .element-d__images img[src*="nika-photo-cover-"],
.nika-related-card__media img[src*="nika-photo-cover-"] {
  object-fit: contain !important;
  object-position: center !important;
  transform: none !important;
  background: #f2efe8;
}

/* Uniform 960x1200 real-photo covers retain the lower caption on mobile. */
.section-d_shop_id .product-d__images:has(img[src*="-960x1200-20261017"]) { aspect-ratio: 4 / 5; height: auto; }


/* ==========================================================================
   nikagran-ui-pass-20261017 — accessibility and interaction measurements
   1) Contrast. Measured on the live pages before this block:
      .nika-granite-eyebrow  sand on cream  1.82:1
      .nika-contact__label   clay on sand   3.27:1
      .nika-contact__eyebrow clay on sand   3.92:1
      .nika-price-actions__quote clay on sand 2.23:1
      .nika-granite-count    grey on white  3.50:1
      #6B4F2E keeps at least 4.5:1 on white (7.55), cream (6.17) and
      sand (4.98), so the warm brand tone survives at a readable weight.
   2) Touch targets measured at 390px: language switch 27x17,
      footer menu links 22px tall, category links 27px tall,
      breadcrumb links 15px tall.
   3) Motion. All 481 :hover rules were ungated, so touch devices triggered
      hover on tap. Transforms are now gated to real pointers and every
      zoom we own is disabled under prefers-reduced-motion.
   ========================================================================== */

.nika-granite-eyebrow,
.nika-contact__eyebrow,
.nika-contact__label,
.nika-granite-count,
main .uppercase.text-clay {
  color: #6B4F2E;
}

.nika-granite-eyebrow,
.nika-contact__eyebrow,
.nika-contact__label {
  font-size: .72rem;
  letter-spacing: .15em;
}

.nika-granite-count { font-size: .8rem; }

/* The quote action was clay on sand at 2.23:1; ink on sand measures 8.58:1. */
.nika-price-actions__quote {
  background: #171714;
  border: 1px solid #171714;
  color: #fff;
}
@media (hover: hover) and (pointer: fine) {
  .nika-price-actions__quote:hover { background: #6B4F2E; border-color: #6B4F2E; }
}

@media (max-width: 1023px) {
  .langs-d { display: flex; flex-wrap: wrap; align-items: center; gap: .25rem; }
  .langs-d .lang-d {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 44px;
    padding: 0 .6rem;
  }
  .nika-footer__nav { gap: .1rem 1.1rem; }
  .nika-footer__nav a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding-right: .2rem;
  }
  .breadcrumb-d a,
  .detail-d_name a,
  .section-d_shop_home .detail-d_name a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
  }
}

@media (hover: none), (pointer: coarse) {
  .nika-granite-card:hover .nika-granite-card__image img,
  .nika-related-card__link:hover .nika-related-card__media img,
  .element-d_card:hover figure._dummyimage,
  .section-d_shop_home .category-d_child:hover { transform: none; }
  .section-d_shop_home .category-d_child:hover::before { transform: none; }
}

@media (prefers-reduced-motion: reduce) {
  .nika-granite-card__image img,
  .nika-related-card__media img,
  .element-d_card figure._dummyimage,
  .section-d_shop_home .category-d_child,
  .section-d_shop_home .category-d_child::before,
  .langs-d .lang-d,
  .nika-footer__nav a { transition: none; }

  .nika-granite-card:hover .nika-granite-card__image img,
  .element-d_card:hover figure._dummyimage,
  .section-d_shop_home .category-d_child:hover { transform: none; }
  .section-d_shop_home .category-d_child:hover::before { transform: none; }
}


/* ==========================================================================
   nikagran-ui-pass-20261017b — follow-up measurements
   .nika-info-page a is (0,1,1) and overrode the button colour, so the quote
   action stayed clay on ink (3.62:1). Content links move to the same
   #6B4F2E used above: 7.55:1 on white and 6.17:1 on cream.
   Touch targets: footer contacts 20px, granite card titles 36px,
   granite colour filters 42px.
   ========================================================================== */

.nika-info-page a,
.nika-granite-page a,
.nika-calc-link a,
.nika-price-table a { color: #6B4F2E; }

.nika-info-page .nika-price-actions__quote,
.nika-info-page .nika-price-actions__pdf { color: #fff; }
.nika-info-page a.nika-price-actions__pdf { color: #171714; }

@media (max-width: 1023px) {
  .nika-footer__contacts a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
  }
  .nika-granite-card h3 a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
  }
  .nika-granite-filters button { min-height: 44px; }
  .nika-granite-cta a,
  .nika-stone-related a { min-height: 44px; }
}


/* nikagran-ui-pass-20261017c — footer links measured 20px tall and the
   granite colour filters 42px; both become 44px tap targets on touch widths. */
@media (max-width: 1023px) {
  .nika-footer a,
  .nika-footer__nav a,
  #home-categories a,
  .nika-granite-filters button { min-height: 44px; }
  .nika-footer a,
  .nika-footer__nav a,
  #home-categories a {
    display: inline-flex;
    align-items: center;
  }
}


/* nikagran-ui-pass-20261017d — these two controls carry a harder min-height
   from an earlier sheet, so the touch target needs !important. */
@media (max-width: 1023px) {
  .nika-granite-filters button { min-height: 44px !important; }
  .nika-granite-card__link { min-height: 44px !important; }
}


/* nikagran-ui-pass-20261017e — contact actions were 24px (tel/mailto) and
   42px (submit). Every phone, email and submit control becomes a 44px target. */
@media (max-width: 1023px) {
  a[href^="tel:"],
  a[href^="mailto:"],
  button[type="submit"],
  input[type="submit"] {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
  }
}


/* ==========================================================================
   nikagran-read-measure-20261017 — product and stone prose measured 137
   characters per line (1092px at 16px, max-width:none), roughly double the
   45-75ch comfort range. Capped at 72ch. Tables, grids and the sticky photo
   column keep their full width.
   ========================================================================== */
.nika-product-about p,
.nika-product-about > ul li,
.nika-stone-page p,
.nika-stone-page section > ul li,
.nika-stone-page section > ol li {
  max-width: 72ch;
}

/* --- памятники: галерея композиций ------------------------------------- */
.nika-memorial-group { margin: 2.5rem 0 0; }
.nika-memorial-group h2 { margin: 0 0 1rem; }
.nika-memorial-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.nika-memorial-card { display: block; border: 1px solid var(--npe-rule-soft); background: var(--npe-surface); overflow: hidden; }
.nika-memorial-card img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; transition: transform .35s ease; }
.nika-memorial-card:hover img { transform: scale(1.02); }
.nika-memorial-empty { margin: 2rem 0; padding: 1.5rem; border: 1px dashed var(--npe-rule-soft); color: var(--npe-faint); }

@media (max-width: 1023px) {
  .nika-memorial-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 639px) {
  .nika-memorial-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .6rem; }
  .nika-memorial-group { margin-top: 1.75rem; }
}

/* --- info pages: editorial photo --------------------------------------- */
.nika-info-page .nika-info-photo { max-width: 900px; margin: 0 0 2.25rem; }

.nika-info-page .nika-info-photo img {
  width: 100%;
  height: auto;
  display: block;
  border: 1px solid var(--npe-rule-soft);
}

.nika-info-page .nika-info-photo figcaption {
  margin-top: .8rem;
  color: var(--npe-faint);
  font-size: .75rem;
  line-height: 1.6;
}

.nika-info-page .nika-info-photo__note { color: var(--npe-faint); }

/* --- info pages: ограничение высоты вертикальных кадров ------------------ */
.nika-info-page .nika-info-photo img {
  width: auto;
  max-width: 100%;
  max-height: 620px;
  height: auto;
}

/* --- FAQ на контентных страницах: Tailwind preflight обнуляет размер и
   насыщенность заголовков, поэтому вопрос (h3) задаём явно — как в
   .nika-product-faq: разделитель, полужирный, ответ чуть приглушён. ----- */
.nika-stone-page h3,
.nika-info-page h3,
.nika-granite-page h3,
.nika-about h3,
.nika-calculator-page h3 {
  margin: 0 0 .5rem;
  padding-top: 1.6rem;
  border-top: 1px solid var(--npe-rule-soft);
  font: 600 1.0625rem/1.5 Manrope, system-ui, sans-serif;
  letter-spacing: -.005em;
  color: #10100f;
}

.nika-stone-page h3:first-of-type,
.nika-info-page h3:first-of-type,
.nika-granite-page h3:first-of-type,
.nika-about h3:first-of-type,
.nika-calculator-page h3:first-of-type { padding-top: 0; border-top: 0; }

.nika-stone-page h3 + p,
.nika-info-page h3 + p,
.nika-granite-page h3 + p,
.nika-about h3 + p,
.nika-calculator-page h3 + p {
  max-width: var(--npe-measure);
  margin: 0 0 1.6rem;
  color: rgba(16, 16, 15, .68);
  line-height: 1.8;
}


@media (max-width: 640px) {
  .nika-stone-page h3,
  .nika-info-page h3 { font-size: 1rem; }
}

/* --- 18.10.2026: головне зображення під заголовком — ліворуч, текст праворуч.
   Картинка не збільшується понад свій оригінал (width:auto + max-width),
   тому якість не втрачається; наступні розділи очищають обтікання. ------ */
.nika-info-page .nika-info-photo,
.nika-stone-page .nika-stone-photo {
  float: left;
  width: auto;
  /* текст має міру ~47rem: лишаємо під нього місце, щоб він не «падав» під кадр */
  max-width: min(46%, max(280px, calc(100% - 48rem)));
  margin: .35rem 2.75rem 1.75rem 0;
  display: block;
}

.nika-info-page .nika-info-photo img,
.nika-stone-page .nika-stone-photo img {
  width: auto;
  max-width: 100%;
  max-height: 620px;
  height: auto;
}

.nika-stone-page .nika-stone-photo a { display: block; width: auto; }
.nika-info-page .nika-info-photo figcaption,
.nika-stone-page .nika-stone-photo figcaption { max-width: none; }

/* розділи після вступу — під картинкою, на всю ширину */
.nika-info-page h2, .nika-stone-page h2,
.nika-info-page h3, .nika-stone-page h3 { clear: both; }

/* перший блок праворуч від картинки обтікання не очищає */
.nika-info-page h2:first-of-type,
.nika-stone-page section > h2:first-child { clear: none; }

@media (max-width: 900px) {
  .nika-info-page .nika-info-photo,
  .nika-stone-page .nika-stone-photo { float: none; max-width: 100%; margin: 0 0 1.75rem; }
}

/* Абзаци поруч із картинкою: flow-root змушує блок ураховувати float і
   вставати праворуч (інакше текст «падає» під кадр). */
.nika-info-page p,
.nika-stone-page p { display: flow-root; }

/* --- 18.10.2026: блок «Вироби» внизу сторінок видів продукції ----------- */
.nika-type-goods { margin: 2.75rem 0 0; }

.nika-type-goods__list {
  list-style: none;
  margin: 1.25rem 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
  gap: .75rem;
}

.nika-type-goods__item { margin: 0; }

.nika-type-goods__link {
  display: flex;
  flex-direction: column;
  gap: .3rem;
  height: 100%;
  padding: 1rem 1.15rem;
  border: 1px solid var(--npe-rule-soft);
  background: #fff;
  text-decoration: none;
}

.nika-type-goods__link:hover { border-color: var(--nika-clay, #b08d57); }
.nika-type-goods__name { font-weight: 600; color: #10100f; }
.nika-type-goods__price { font-size: .9rem; color: rgba(16, 16, 15, .68); }
.nika-type-goods__price_request { font-style: italic; }

.nika-type-goods__note {
  max-width: var(--npe-measure);
  margin: 1rem 0 0;
  color: var(--npe-faint);
  font-size: .75rem;
  line-height: 1.6;
}

.nika-type-goods__all { margin: .9rem 0 0; }

/* --- 18.10.2026: блок «Вироби» внизу сторінок видів продукції ----------- */
.nika-type-goods { margin: 2.75rem 0 0; }

.nika-type-goods__list {
  list-style: none;
  margin: 1.25rem 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
  gap: .75rem;
}

.nika-type-goods__item { margin: 0; }

.nika-type-goods__link {
  display: flex;
  flex-direction: column;
  gap: .3rem;
  height: 100%;
  padding: 1rem 1.15rem;
  border: 1px solid var(--npe-rule-soft);
  background: #fff;
  text-decoration: none;
}

.nika-type-goods__link:hover { border-color: var(--nika-clay, #b08d57); }
.nika-type-goods__name { font-weight: 600; color: #10100f; }
.nika-type-goods__price { font-size: .9rem; color: rgba(16, 16, 15, .68); }
.nika-type-goods__price_request { font-style: italic; }

.nika-type-goods__note {
  max-width: var(--npe-measure);
  margin: 1rem 0 0;
  color: var(--npe-faint);
  font-size: .75rem;
  line-height: 1.6;
}

.nika-type-goods__all { margin: .9rem 0 0; }

/* маркер списка («—») перед карточками не нужен: это плитки, а не список */
.nika-type-goods__item::before,
.nika-type-goods__list li::before { content: none !important; display: none !important; }
.nika-type-goods__item { padding-left: 0 !important; }


/* 18.10.2026 (после SEO-аудита): правки P0.
   1. На ширинах 960–1279px фото сжималось до 59–324px (формула давала
      отрицательный запас) — вводим нижнюю границу 280px.
   2. Длинные URL в блоке источников рвали мобильную вёрстку (42px
      переполнения на /eng/granite/*) — разрешаем перенос. */
.nika-stone-page .nika-stone-sources,
.nika-stone-page .nika-stone-sources a,
.nika-info-page p,
.nika-stone-page p { overflow-wrap: anywhere; }

/* 18.10.2026: первый блок праворуч починається на одному рівні з картинкою.
   У заголовка був margin-top 52px, у катинки 5,6px — заголовок «висів» нижче. */
.nika-info-page .nika-info-photo,
.nika-stone-page .nika-stone-photo { margin-top: 0; }

.nika-stone-page section > h2:first-child,
.nika-info-page h2:first-of-type,
.nika-info-page .nika-info-photo + p,
.nika-info-page .nika-info-photo + h2 { margin-top: 0; }

/* --- 18.10.2026: блок «Доставка по містах» (перелінковка гео-лендингів) -- */
.nika-city-links { margin: 2.75rem 0 0; }
.nika-city-links__list {
  list-style: none;
  margin: 1.25rem 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: .35rem .9rem;
}
.nika-city-links__list li { margin: 0; padding-left: 0; }
.nika-city-links__list li::before { content: none !important; display: none !important; }
.nika-city-links__list a { color: #10100f; text-decoration: none; border-bottom: 1px solid rgba(16,16,15,.15); }
.nika-city-links__list a:hover { border-bottom-color: var(--nika-clay, #8f6846); }
.nika-city-links__note {
  max-width: var(--npe-measure);
  margin: 1rem 0 0;
  color: var(--npe-faint);
  font-size: .75rem;
  line-height: 1.6;
}

/* --- 18.10.2026: колонки футера с продуктовыми разделами --- */
.nika-footer__cols {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 1.5rem 2.5rem;
  margin-top: 1.75rem;
}
.nika-footer__coltitle {
  margin: 0 0 .6rem;
  color: rgba(255,255,255,.72);
  font-size: .6875rem;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.nika-footer__col ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .3rem; }
.nika-footer__col li { margin: 0; }
.nika-footer__col li::before { content: none !important; }
.nika-footer__col a { color: rgba(255,255,255,.62); text-decoration: none; font-size: .875rem; }
.nika-footer__col a:hover { color: #c7aa7a; }
@media (min-width: 1024px) { .nika-footer__cols { grid-template-columns: repeat(2, minmax(190px, 260px)); } }

/* --- 19.10.2026: доступность и таблицы (A5-35, A5-37, A5-38) ----------- */
/* 1. Крошки и приглушённый текст: rgba(0,0,0,.45) давал 3,19:1 на #ece8df
      (норма AA — 4,5:1). Поднимаем до 5,5:1 без смены тона. */
.nika-breadcrumb,
.breadcrumbs-d,
main .text-black\/45 { color: rgba(16, 16, 15, .66); }
.nika-breadcrumb a,
.breadcrumbs-d a { color: rgba(16, 16, 15, .74); }
.nika-breadcrumb a:hover,
.breadcrumbs-d a:hover { color: #8f6846; }

/* 2. Подписи фильтров — контраст выше AA */
.field-d__name,
.nika-filter label { color: rgba(16, 16, 15, .78); }

/* 3. Таблицы в контенте: на 390px таблица шириной 518px обрезалась.
      Даём горизонтальную прокрутку самой таблице. */
.nika-info-page table,
.nika-stone-page table,
.nika-content table,
main table {
  display: block;
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
main table thead,
main table tbody { display: table; width: 100%; min-width: max-content; }
main table th,
main table td { white-space: nowrap; }

/* 4. Кнопки/ссылки-иконки не меньше 44px по короткой стороне */
.nika-footer__col a,
.nika-city-links__list a { display: inline-block; padding: 3px 0; }

/* --- 19.10.2026: кнопки действия не меньше 44px по высоте (A5-37) ------ */
header .bg-sand,
.nika-feedback button[type="submit"],
.nika-feedback input[type="submit"] {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* --- 19.10.2026: поиск по сайту (A5-39) -------------------------------- */
.nika-search { display: flex; align-items: stretch; gap: .5rem; max-width: 22rem; margin: 1.5rem 0 0; }
.nika-search__input {
  flex: 1 1 auto;
  min-width: 0;
  min-height: 42px;
  padding: .55rem .85rem;
  border: 1px solid rgba(255,255,255,.28);
  background: rgba(255,255,255,.06);
  color: #fff;
  font-size: .875rem;
  border-radius: 2px;
}
.nika-search__input::placeholder { color: rgba(255,255,255,.55); }
.nika-search__input:focus { outline: 2px solid #c7aa7a; outline-offset: 1px; border-color: transparent; }
.nika-search__button {
  flex: 0 0 auto;
  min-height: 42px;
  padding: 0 1rem;
  border: 0;
  background: #c7aa7a;
  color: #10100f;
  font-size: .6875rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  cursor: pointer;
  border-radius: 2px;
}
.nika-search__button:hover { background: #fff; }
#mobile-menu .nika-search { max-width: none; margin-top: 1.5rem; }

/* --- 19.10.2026: быстрые ссылки на /shop/ (A5-31) ---------------------- */
.nika-quicklinks { margin: 1.5rem 0 0; }
.nika-quicklinks ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.nika-quicklinks li { margin: 0; }
.nika-quicklinks li::before { content: none !important; }
.nika-quicklinks a {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: .5rem .9rem;
  border: 1px solid rgba(16,16,15,.18);
  color: #10100f;
  font-size: .8125rem;
  text-decoration: none;
  background: rgba(255,255,255,.5);
}
.nika-quicklinks a:hover { border-color: #8f6846; color: #8f6846; }

/* --- 19.10.2026: inline-форма в футере внутренних страниц (A5-32) ----- */
.nika-inline-form { background: #ece8df; border-top: 1px solid rgba(16,16,15,.08); }
.nika-inline-form__inner { max-width: 1340px; margin: 0 auto; padding: 3rem 1.25rem; }
.nika-inline-form__title { margin: 0 0 .5rem; font-size: 1.75rem; line-height: 1.15; }
.nika-inline-form__note { max-width: 46rem; margin: 0 0 1.5rem; color: rgba(16,16,15,.66); font-size: .9375rem; line-height: 1.6; }
.nika-inline-form .field-d__name { display: block; margin: 0 0 .35rem; font-size: .8125rem; color: rgba(16,16,15,.78); }
.nika-inline-form input[type="text"],
.nika-inline-form input[type="email"],
.nika-inline-form input[type="tel"],
.nika-inline-form textarea {
  width: 100%;
  min-height: 44px;
  padding: .6rem .8rem;
  border: 1px solid rgba(16,16,15,.2);
  background: #fff;
  font-size: .9375rem;
}
.nika-inline-form textarea { min-height: 7rem; }
.nika-inline-form button[type="submit"],
.nika-inline-form input[type="submit"] {
  min-height: 44px;
  padding: .75rem 1.5rem;
  border: 0;
  background: #10100f;
  color: #fff;
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  cursor: pointer;
}
.nika-inline-form button[type="submit"]:hover,
.nika-inline-form input[type="submit"]:hover { background: #8f6846; }
@media (min-width: 1024px) { .nika-inline-form__inner { padding: 3.5rem 3rem; } }

/* ==== css/nika-articles.css ==== */
/* NIKA GRAN: scoped editorial extension, loaded after existing theme CSS. */
.nika-articles {
  --na-bg: #f4f1ea;
  --na-surface: #fff;
  --na-text: var(--nika-ink, #10100f);
  --na-muted: #59564f;
  --na-border: #d3cbbd;
  --na-accent: var(--nika-sand, #c7aa7a);
  --na-space-sm: 8px;
  --na-space-md: 16px;
  --na-space-lg: 24px;
  --na-space-xl: 32px;
  --na-space-section: 64px;
  color: var(--na-text);
  font-family: Manrope, sans-serif;
  font-size: 16px;
  line-height: 1.7;
  min-width: 0;
  overflow-wrap: anywhere;
}
.nika-articles *, .nika-articles *::before, .nika-articles *::after { box-sizing: border-box; }
.nika-articles h1, .nika-articles h2, .nika-articles h3 {
  color: var(--na-text);
  font-family: Prata, serif;
  font-weight: 400;
  letter-spacing: -.025em;
  text-wrap: balance;
}
.nika-articles h1 { font-size: clamp(28px, 4.5vw, 56px); line-height: 1.2; margin: 16px 0 24px; }
.nika-articles h2 { font-size: clamp(24px, 3vw, 32px); line-height: 1.3; margin: 0 0 24px; }
.nika-articles h3 { font-size: 21px; line-height: 1.4; margin: 0 0 16px; }
.nika-articles p { margin: 0 0 16px; }
.nika-articles a { color: inherit; text-decoration: underline; text-underline-offset: .2em; }
.nika-articles a:hover { text-decoration-thickness: 2px; }
.nika-articles a:active { opacity: .8; }
.nika-articles :is(a, button, summary, [tabindex]):focus-visible { outline: 3px solid var(--na-text); outline-offset: 4px; }
.nika-article__header { max-width: 880px; margin: 0 auto 32px; }
.nika-articles .nika-articles__topic { font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; margin-bottom: 16px; }
.nika-article__answer { max-width: 68ch; font-size: 18px; line-height: 1.7; }
.nika-articles__meta { display: flex; flex-wrap: wrap; gap: 8px 24px; color: var(--na-muted); font-size: 13px; }
.nika-article__hero { margin: 32px 0 48px; background: var(--na-bg); }
.nika-articles .nika-article__hero img { display:block;width:100%;height:auto;aspect-ratio:4 / 3;max-width:none;margin:0;object-fit:cover;object-position:center;background:var(--na-bg);}
.nika-articles .nika-articles__image img { display:block;width:100%;height:100%;max-width:none;max-height:none;margin:0;object-fit:cover;object-position:center; }
.nika-article__body { width: 100%; max-width: 70ch; margin: 0 auto; }
.nika-article__body h2 { margin-top: 48px; }
.nika-article__body h3 { margin-top: 32px; }
.nika-article__body :is(ul, ol) { padding-left: 24px; margin: 0 0 24px; }
.nika-article__body ul { list-style: disc; }
.nika-article__body ol { list-style: decimal; }
.nika-article__body li { margin-bottom: 8px; }
.nika-article__body :is(img, video, iframe) { max-width: 100%; }
.nika-article__body img { height: auto; }
.nika-article__body figure { margin: 32px 0; }
.nika-article__body figcaption { color: var(--na-muted); font-size: 13px; margin-top: 8px; }
.nika-article__body blockquote { margin: 32px 0; padding: 16px 24px; border-left: 3px solid var(--na-accent); background: var(--na-bg); }
/* No rich-HTML rewrite: existing tables scroll within their own width. For keyboard
   scrolling, authors may wrap tables in .nika-articles__table-scroll tabindex="0". */
.nika-article__body table { display: block; max-width: 100%; overflow-x: auto; border-collapse: collapse; margin: 24px 0; font-size: 14px; }
.nika-article__body :is(th, td) { padding: 12px 16px; border: 1px solid var(--na-border); text-align: left; min-width: 128px; }
.nika-article__body th { background: var(--na-bg); font-weight: 700; }
.nika-articles__table-scroll { max-width: 100%; overflow-x: auto; }
.nika-article__body :is(pre, code) { white-space: pre-wrap; overflow-wrap: anywhere; }
.nika-article__body summary { min-height: 44px; padding: 8px 0; cursor: pointer; }
.nika-articles__section { margin-top: var(--na-space-section); padding-top: 32px; border-top: 1px solid var(--na-border); }
.nika-articles__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; margin-top: 32px; }
.nika-articles__card { min-width: 0; border: 1px solid var(--na-border); background: var(--na-surface); }
.nika-articles__card > a { display: block; height: 100%; text-decoration: none; }
.nika-articles__card > a h3 { padding: 24px 24px 0; }
.nika-articles__card > a .nika-articles__card-action { margin: 0 24px 16px; }
.nika-articles__card-body { padding: 24px; }
.nika-articles__card h2 { font-size: 24px; }
.nika-articles__card h2 a { display: inline-flex; align-items: center; min-height: 44px; }
.nika-articles__image { aspect-ratio: 4 / 3; overflow: hidden; background: var(--na-bg); }
.nika-articles__excerpt { color: var(--na-muted); font-size: 14px; }
.nika-articles__card-action { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 44px; font-size: 14px; font-weight: 700; }
.nika-articles__quote { margin-top: 64px; padding: 24px; background: var(--na-bg); border-top: 3px solid var(--na-accent); }
.nika-articles__quote p { max-width: 65ch; }
.nika-articles__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 24px; margin-top: 24px; }
.nika-articles .nika-articles__button { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 12px 24px; background: var(--na-accent); color: var(--na-text); text-decoration: none; font-weight: 700; transition: background-color 150ms ease; }
.nika-articles .nika-articles__button:hover { background: var(--na-text); color: var(--na-surface); }
.nika-articles__phone, .nika-articles__back { display: inline-flex; align-items: center; min-height: 44px; }
.nika-articles__related ul { list-style: none; padding: 0; margin: 0; }
.nika-articles__related a { display: flex; justify-content: space-between; gap: 24px; min-height: 44px; padding: 16px 0; border-bottom: 1px solid var(--na-border); }
.nika-articles__back { margin-top: 32px; }
.nika-articles__more { grid-column: 1 / -1; }
.nika-articles__pagination { margin-top: 32px; }
.nika-articles :is(.nika-articles__pagination, .nika-articles__more) :is(a, button) { min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; }
@media (min-width: 768px) {
  .nika-articles__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .nika-articles .nika-article__hero img { aspect-ratio: 16 / 9; }
  .nika-articles__quote { padding: 48px; }
}
@media (min-width: 1024px) {
  .nika-articles__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (prefers-reduced-motion: reduce) {
  .nika-articles *, .nika-articles *::before, .nika-articles *::after { animation: none; transition: none; scroll-behavior: auto; }
}

.nika-articles__topics { display: flex; flex-wrap: wrap; gap: 12px; margin: 32px 0; }
.nika-articles__topics a { display: inline-flex; align-items: center; min-height: 44px; padding: 10px 16px; border: 1px solid var(--na-border); text-decoration: none; }
.nika-articles__topics a:hover { background: var(--na-bg); }
.nika-articles__card-body h3 { font-size: 24px; }
.nika-articles__card-body h3 a { display: inline-flex; align-items: center; min-height: 44px; }
.nika-footer-menu ul { flex-wrap: wrap; }

.nika-article__credit{display:block;margin:0;padding:.85rem 1rem;background:rgba(16,16,15,.92);color:rgba(255,255,255,.78);font-size:.7rem;line-height:1.6}.nika-article__credit strong{color:#fff}.nika-article__credit a{color:var(--na-accent);overflow-wrap:anywhere}

/* Кликабельная иллюстрация статьи и её увеличение */
.nika-article__hero-link { display: block; cursor: zoom-in; }
.nika-article__hero-link img { display: block; width: 100%; height: auto; }
.nika-zoom {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 4vmin;
  background: rgba(16,16,15,.92);
  cursor: zoom-out;
}
.nika-zoom__image { max-width: 100%; max-height: 92vh; width: auto; height: auto; box-shadow: 0 20px 60px rgba(0,0,0,.5); }
.nika-zoom__close {
  position: absolute;
  top: 16px;
  right: 20px;
  width: 48px;
  height: 48px;
  border: 1px solid rgba(255,255,255,.4);
  background: rgba(16,16,15,.6);
  color: #fff;
  font-size: 26px;
  line-height: 1;
  cursor: pointer;
}
.nika-zoom__close:hover { background: #fff; color: #10100f; }
.nika-article__calc {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin: 2rem 0 0;
  padding: 1.25rem;
  border: 1px solid rgba(16,16,15,.12);
  background: rgba(199,170,122,.12);
}
.nika-article__calc-icon { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 46px; height: 46px; border-radius: 50%; background: rgba(199,170,122,.3); color: #8f6846; }
.nika-article__calc-body { display: flex; flex-direction: column; gap: .3rem; flex: 1 1 auto; }
.nika-article__calc-title { font-size: .74rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.nika-article__calc-text { font-size: .84rem; line-height: 1.55; color: rgba(16,16,15,.62); }
.nika-article__calc-link { flex: none; display: inline-flex; align-items: center; gap: .6rem; min-height: 44px; padding: .6rem 1rem; border: 1px solid #10100f; color: #10100f !important; font-size: .66rem; font-weight: 800; letter-spacing: .14em; text-decoration: none !important; text-transform: uppercase; }
.nika-article__calc-link:hover { background: #10100f; color: #fff !important; }
@media (max-width: 640px) {
  .nika-article__calc { flex-wrap: wrap; }
  .nika-article__calc-link { width: 100%; justify-content: center; }
}

/* ==== css/nika-home-categories-v2.css ==== */
#home-categories .grid > a {
  position: relative;
  isolation: isolate;
  min-height: 280px;
  justify-content: flex-start;
  overflow: hidden;
  padding: clamp(1.5rem, 2.5vw, 2.25rem);
  transition: color .35s ease, background-color .35s ease, transform .35s ease;
}
#home-categories .grid > a::after {
  position: absolute;
  z-index: -1;
  right: -.1em;
  bottom: -.28em;
  color: rgba(16, 16, 15, .045);
  font: 400 clamp(7rem, 10vw, 10rem)/1 Prata, serif;
  transition: color .35s ease, transform .5s ease;
}
#home-categories .grid > a:nth-child(1)::after { content: "01"; }
#home-categories .grid > a:nth-child(2)::after { content: "02"; }
#home-categories .grid > a:nth-child(3)::after { content: "03"; }
#home-categories .grid > a:nth-child(4)::after { content: "04"; }
#home-categories .grid > a:nth-child(5)::after { content: "05"; color: rgba(255,255,255,.045); }
#home-categories .grid > a::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 3px;
  background: #8f6846;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .35s ease;
}
#home-categories .grid > a:last-child::before { background: #c7aa7a; }
#home-categories .grid > a > span:first-child {
  position: relative;
  z-index: 1;
  min-height: 1.25rem;
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .18em;
}
#home-categories .grid > a > div {
  position: relative;
  z-index: 1;
  display: flex;
  flex: 1;
  flex-direction: column;
  width: 100%;
  padding-top: 1.75rem;
}
#home-categories .grid > a h3 {
  margin: 0;
  min-height: 3.25em;
  font-size: clamp(1.35rem, 1.65vw, 1.75rem);
  line-height: 1.22;
}
#home-categories .grid > a > div > span {
  display: grid;
  width: 2.75rem;
  height: 2.75rem;
  margin-top: auto;
  place-items: center;
  border: 1px solid currentColor;
  border-radius: 999px;
  font-size: 1rem;
  opacity: .72;
  transition: color .25s ease, background-color .25s ease, transform .35s ease, opacity .25s ease;
}
#home-categories .grid > a:hover {
  z-index: 2;
  background: #fff;
  transform: translateY(-4px);
}
#home-categories .grid > a:last-child:hover { background: #24241f; }
#home-categories .grid > a:hover::before { transform: scaleX(1); }
#home-categories .grid > a:hover::after {
  color: rgba(143,104,70,.09);
  transform: translate(-.04em, -.04em);
}
#home-categories .grid > a:last-child:hover::after { color: rgba(199,170,122,.09); }
#home-categories .grid > a:hover > div > span {
  background: #8f6846;
  color: #fff;
  opacity: 1;
  transform: translateX(5px);
}
#home-categories .grid > a:last-child:hover > div > span {
  background: #c7aa7a;
  color: #10100f;
}

@media (max-width: 639px) {
  #home-categories .grid > a { min-height: 220px; }
  #home-categories .grid > a h3 { min-height: auto; }
}

@media (prefers-reduced-motion: reduce) {
  #home-categories .grid > a,
  #home-categories .grid > a::before,
  #home-categories .grid > a::after,
  #home-categories .grid > a > div > span { transition: none; }
}

/* ==== css/nika-cls-stability.css ==== */
/* --- 19.10.2026: стабильность раскладки (A2-12) -------------------------
   1) /calculator/: блок результатов пустой при первой отрисовке (21px) и
      наполняется скриптом до 135px (desktop) — резервируем высоту.
   2) Держим вертикальную полосу прокрутки всегда, чтобы ширина области
      контента не менялась в момент появления прокрутки. */
@media (min-width: 768px) {
  .nika-calc__results { min-height: 135px; }
  .nika-calc__note { min-height: 22px; }
}
html { overflow-y: scroll; }

/* ==== css/nika-calculator.css ==== */
/* NIKA GRAN — калькулятор ваги та кількості каменю */
.nika-calc {
  margin: 32px 0 40px;
  border: 1px solid rgba(16, 16, 15, .12);
  background: #fff;
  padding: 24px;
}
.nika-calc fieldset { border: 0; margin: 0 0 20px; padding: 0; }
.nika-calc legend {
  padding: 0;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: rgba(16, 16, 15, .55);
}
.nika-calc__modes { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 12px; }
.nika-calc__modes label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  padding: 0 16px;
  border: 1px solid rgba(16, 16, 15, .16);
  cursor: pointer;
  font-size: .875rem;
}
.nika-calc__modes input { accent-color: #8f6846; }
.nika-calc__modes label:has(input:checked) { border-color: #10100f; background: #ece8df; }
.nika-calc__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 16px;
}
.nika-calc__grid label {
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-size: .8rem;
  color: rgba(16, 16, 15, .7);
}
.nika-calc__grid input,
.nika-calc__grid select {
  min-height: 46px;
  border: 1px solid rgba(16, 16, 15, .2);
  padding: 0 12px;
  font-size: .95rem;
  background: #fff;
  color: #10100f;
}
.nika-calc__grid input:focus-visible,
.nika-calc__grid select:focus-visible,
.nika-calc button:focus-visible {
  outline: 3px solid #10100f;
  outline-offset: 2px;
}
.nika-calc__note {
  margin: 14px 0 0;
  font-size: .8rem;
  line-height: 1.6;
  color: rgba(16, 16, 15, .62);
}
.nika-calc__actions { margin-top: 20px; }
.nika-calc button[data-nika-calculate] {
  min-height: 48px;
  padding: 0 26px;
  border: 0;
  background: #c7aa7a;
  color: #10100f;
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background-color .2s ease, color .2s ease;
}
.nika-calc button[data-nika-calculate]:hover { background: #8f6846; color: #fff; }
.nika-calc__results {
  margin-top: 24px;
  border-top: 1px solid rgba(16, 16, 15, .12);
  padding-top: 20px;
}
.nika-calc__results dl {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 16px;
  margin: 0;
}
.nika-calc__results dt {
  font-size: .72rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: rgba(16, 16, 15, .55);
}
.nika-calc__results dd {
  margin: 4px 0 0;
  font-family: Prata, serif;
  font-size: 1.35rem;
  line-height: 1.2;
}
.nika-calc__error { margin: 0; color: #a23b2f; font-size: .9rem; }
@media (max-width: 640px) {
  .nika-calc { padding: 18px; }
  .nika-calc__modes label { width: 100%; }
}
