/*
Theme Name: Top Ceramic Header
Theme URI: https://example.com/top-ceramic-header
Author: Top Ceramic
Author URI: https://example.com
Description: Шапка сайта Top-Ceramic с адаптивным меню и контактами.
Version: 1.0.0
Text Domain: top-ceramic-header
*/

:root{
  --bg:#f3eada;
  --text:#111111;
  --muted:#9d9d9d;
  --accent:#d3542f;
  --gold:#c89a39;
  --divider:#e7ddcd;
  --controlH:44px;
  --bevel:24px;
  --bevel_in:20px;
  --bevel_cart:20px;
  --header-bevel:8px;
  --header-bevel-in:6px;
  --footerRibbonWidth:270px;
  --hero-bevel:calc(var(--header-bevel) * 5);
  --hero-bg:linear-gradient(135deg, #f6ebdc 0%, #f0d8bb 100%);
  --hero-photo:linear-gradient(135deg, rgba(210,130,60,.35), rgba(90,60,30,.6));
  --cta-bg:linear-gradient(160deg, rgba(63,38,18,.88) 0%, rgba(28,16,8,.92) 100%);
  --font:'Montserrat', 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
}

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

body{
  margin:0;
  font-family:var(--font);
  color:var(--text);
  background:var(--bg);
}

.container{
  max-width:1200px;
  margin:0 auto;
  padding:18px 20px;
}

.site-header{
  padding-top:26px;
  padding-bottom:26px;
}

.header-grid{
  display:grid;
  grid-template-columns:minmax(200px, auto) minmax(0, 1fr);
  grid-template-rows:auto auto;
  column-gap:22px;
  align-items:center;
}

.logo-cell{
  grid-row:1 / span 2;
  grid-column:1;
}

.logo{
  display:flex;
  align-items:center;
  gap:12px;
  text-decoration:none;
  color:var(--text);
}

.logo__mark-img{
  height:68px;
  width:auto;
  display:block;
}

.site-header .logo__mark-img{
  max-height:68px;
}

.site-header .logo__mark-img,
.site-header img.custom-logo,
.site-header .custom-logo-link img{
  height:auto;
  max-height:68px;
  width:auto;
}

.logo__text{
  font-family:'Roboto Condensed', 'Barlow Condensed', var(--font);
  font-weight:500;
  letter-spacing:0.035em;
  font-size:28px;
  line-height:1;
  white-space:nowrap;
}

.topbar{
  grid-row:1;
  grid-column:2;
  display:flex;
  align-items:center;
  gap:8px;
  justify-content:flex-start;
  min-height:var(--controlH);
  min-width:0;
}

.search{
  flex:1 1 auto;
  max-width:none;
  min-width:0;
  position:relative;
}

.search__wrap{
  border:1px solid #e5dfd5;
  background:#fff;
  border-radius:4px;
  padding:0;
  height:var(--controlH);
  display:flex;
  align-items:center;
}

.bevel-search{
  clip-path:polygon(var(--bevel-cut, var(--header-bevel)) 0, 100% 0, calc(100% - var(--bevel-cut, var(--header-bevel))) 100%, 0 100%);
}

.bevel-search-in{
  clip-path:polygon(var(--bevel-cut, var(--header-bevel-in)) 0, 100% 0, calc(100% - var(--bevel-cut, var(--header-bevel-in))) 100%, 0 100%);
}

.search__inner{
  background:#fff;
  border-radius:4px;
  width:100%;
  height:100%;
}

.search__field{
  width:100%;
  padding:12px 48px 12px 38px;
  border:none;
  background:transparent;
  outline:none;
  height:100%;
}

.search__field::placeholder{
  color:#b6b1a6;
}

.search__icon{
  position:absolute;
  left:12px;
  top:50%;
  transform:translateY(-50%);
  width:18px;
  height:18px;
  opacity:.6;
  pointer-events:none;
}

.site-header .cart{
  position:relative;
  width:64px;
  height:var(--controlH);
  display:inline-block;
}

.site-header .cart__shape{
  position:relative;
  display:grid;
  place-items:center;
  width:100%;
  height:100%;
  background:#fff;
  border:1px solid #e5dfd5;
  border-radius:4px;
  clip-path:polygon(var(--bevel-cut, var(--header-bevel)) 0, 100% 0, calc(100% - var(--bevel-cut, var(--header-bevel))) 100%, 0 100%);
}

.site-header .cart__shape svg{
  width:22px;
  height:22px;
  stroke:#bdbdbd;
  fill:none;
  display:block;
}

.site-header .cart__badge{
  position:absolute;
  top:-6px;
  right:-6px;
  background:#fff;
  border:1px solid #e5dfd5;
  color:#c36d3a;
  font-size:11px;
  width:16px;
  height:16px;
  border-radius:50%;
  display:grid;
  place-items:center;
  z-index:2;
}

.bottombar{
  grid-row:2;
  grid-column:2;
  display:flex;
  align-items:center;
  gap:22px;
  width:100%;
  justify-content:flex-start;
  margin-top:0;
}

.nav{
  display:flex;
  align-items:center;
  gap:18px;
  white-space:nowrap;
  font-family:'Cera Pro', var(--font);
}

.nav__list{
  display:flex;
  align-items:center;
  gap:0;
  margin:0;
  padding:0;
  list-style:none;
}

.nav__list > li{
  position:relative;
  padding:6px 12px;
}

.nav__list > li + li{
  margin-left:22px;
}

.nav__list > li + li::before{
  content:"";
  position:absolute;
  left:-11px;
  top:50%;
  transform:translateY(-50%);
  width:1px;
  height:14px;
  background:var(--accent);
  opacity:.6;
}

.nav__list > li > a{
  font-weight:700;
  font-size:15px;
  letter-spacing:0.08em;
  text-transform:uppercase;
  text-decoration:none;
  color:var(--text);
}

.nav__list > li > a::after{
  content:"";
  position:absolute;
  left:18px;
  right:18px;
  bottom:-6px;
  height:2px;
  background:var(--accent);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .25s ease;
}

.nav__list > li > a:hover::after,
.nav__list > li > a:focus-visible::after{
  transform:scaleX(1);
}

.nav__list > li.menu-item-has-children{
  padding:6px 18px;
}

.nav__list > li.menu-item-has-children > a{
  font-weight:700;
  text-transform:uppercase;
}

.nav__list > li.menu-item-has-children > a::after{
  display:none;
}

.nav__list > li.menu-item-has-children > .sub-menu{
  display:none;
  position:absolute;
  top:100%;
  left:-18px;
  margin:0;
  padding:12px 0;
  list-style:none;
  min-width:230px;
  background:#6a3c06;
  border-radius:8px;
  box-shadow:0 18px 32px rgba(40,24,12,0.22);
  z-index:20;
}

.nav__list > li.menu-item-has-children:hover > .sub-menu,
.nav__list > li.menu-item-has-children:focus-within > .sub-menu{
  display:flex;
  flex-direction:column;
  gap:0;
}

.nav__list > li.menu-item-has-children > .sub-menu > li{
  position:relative;
}

.nav__list > li.menu-item-has-children > .sub-menu > li + li::before{
  content:"";
  position:absolute;
  left:20px;
  right:20px;
  top:0;
  height:1px;
  background:rgba(255, 200, 120, 0.35);
}

.nav__list > li.menu-item-has-children > .sub-menu > li > a{
  display:block;
  padding:14px 24px;
  color:#fff8ee;
  text-decoration:none;
  font-size:14px;
  letter-spacing:0.12em;
  text-transform:uppercase;
  transition:color .2s ease;
}

.nav__list > li.menu-item-has-children > .sub-menu > li:hover > a,
.nav__list > li.menu-item-has-children > .sub-menu > li:focus-within > a,
.nav__list > li.menu-item-has-children > .sub-menu > .current-menu-item > a{
  color:#f0461e;
}

.nav__item{
  font-weight:400;
  letter-spacing:0.08em;
  text-decoration:none;
  color:var(--text);
  position:relative;
  padding:6px 18px;
  text-transform:uppercase;
}

.nav__item + .nav__item{
  margin-left:36px;
}

.nav__item + .nav__item::before{
  content:"";
  position:absolute;
  left:-18px;
  top:50%;
  transform:translateY(-50%);
  width:1px;
  height:16px;
  background:var(--accent);
  opacity:.6;
}

.nav__item::after{
  content:"";
  position:absolute;
  left:18px;
  right:18px;
  bottom:-6px;
  height:2px;
  background:var(--accent);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .25s ease;
}

.nav__item:hover::after,
.nav__item:focus-visible::after{
  transform:scaleX(1);
}

.nav__item--active{
  font-weight:600;
}

.contacts{
  display:flex;
  align-items:center;
  gap:14px;
  margin-left:14px;
  padding-top:0;
  transform:translateY(22px);
}

.icon{
  width:28px;
  height:28px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  border:2px solid var(--gold);
}

.icon svg{
  width:16px;
  height:16px;
  stroke:var(--gold);
  fill:none;
}

.phone{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  font-weight:800;
  color:#b87417;
  letter-spacing:0.04em;
  font-size:18px;
  text-decoration:none;
}

.contacts__phones{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:4px;
}

.phone__label{
  font-size:11px;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:#d7b06a;
  margin-top:2px;
}

.phone--secondary{
  font-weight:800;
  letter-spacing:0.04em;
}

.site-main{
  padding:36px 0;
}

.hero{
  background:var(--hero-bg);
  border-bottom:1px solid rgba(0, 0, 0, 0.05);
  padding:48px 0 60px;
}

.hero__container{
  display:grid;
  grid-template-columns:210px 1fr;
  gap:28px;
  align-items:flex-start;
}

.hero__catalog{
  display:flex;
  flex-direction:column;
  gap:18px;
  position:relative;
}

.hero__nav{
  display:flex;
  flex-direction:column;
  gap:18px;
  font-weight:700;
  letter-spacing:0.08em;
  font-family:'Cera Pro', var(--font);
}

.hero__nav a{
  color:#2b2218;
  text-decoration:none;
  text-transform:uppercase;
  font-size:17px;
  transition:color .2s ease, transform .2s ease;
}

.hero__nav a:hover,
.hero__nav a:focus-visible{
  color:#d3542f;
  transform:translateX(6px);
}

.hero__cta{
  margin-top:140px;
  align-self:flex-start;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  line-height:1;
  padding:16px 42px;
  background:#f0461e;
  color:#fff;
  text-decoration:none;
  font-weight:700;
  letter-spacing:0.1em;
  text-transform:uppercase;
  border-radius:999px;
  box-shadow:0 18px 36px rgba(240,70,30,0.35);
  transition:transform .2s ease, box-shadow .2s ease;
  position:relative;
  left:-24px;
  z-index:3;
}

.hero__cta:hover,
.hero__cta:focus-visible{
  transform:translateY(-3px);
  box-shadow:0 24px 42px rgba(240,70,30,0.4);
}

.hero__stage{
  position:relative;
  min-height:360px;
  overflow:visible;
  display:flex;
  align-items:stretch;
  gap:0;
}

.hero__sheet{
  position:relative;
  flex:0 0 74%;
  margin-left:0;
  margin-right:calc(-1 * var(--bevel-cut, var(--hero-bevel)));
  background:#fff;
  clip-path:polygon(var(--bevel-cut, var(--hero-bevel)) 0, 100% 0, calc(100% - var(--bevel-cut, var(--hero-bevel))) 100%, 0 100%);
  box-shadow:0 26px 48px rgba(0,0,0,0.14);
  padding:52px 88px 68px 96px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:26px;
  z-index:2;
  overflow:hidden;
}

.hero__sheet::before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(120% 140% at 0% 0%, rgba(255,233,192,0.45) 0, transparent 55%);
  mix-blend-mode:multiply;
  pointer-events:none;
}

.hero__tagline{
  font-size:14px;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:#76532d;
  margin:0;
  line-height:1.6;
  max-width:420px;
}

.hero__tagline span{
  display:block;
  font-weight:700;
  color:#b87417;
  letter-spacing:0.16em;
}

.hero__headline{
  font-size:26px;
  line-height:1.38;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:#b87417;
  font-weight:700;
  padding-left:18px;
  border-left:3px solid #c58711;
  margin:0;
}

.hero__photo{
  position:relative;
  flex:1;
  margin-left:calc(-1 * var(--bevel-cut, var(--hero-bevel)));
  clip-path:polygon(var(--bevel-cut, var(--hero-bevel)) 0, 100% 0, calc(100% - var(--bevel-cut, var(--hero-bevel))) 100%, 0 100%);
  box-shadow:0 18px 36px rgba(0,0,0,0.18);
  overflow:hidden;
  z-index:1;
}

.hero__photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  transform:scale(1.05);
}

.services-page{
  background:#f6ebdc;
  padding:0;
  --services-card-height:320px;
}

.services-hero{
  padding:56px 0 52px;
  background:var(--bg);
}

.services-hero__container{
  display:grid;
  grid-template-columns:210px 1fr;
  gap:28px;
  align-items:flex-start;
}

.services-hero__sidebar{
  display:flex;
  flex-direction:column;
  gap:18px;
}

.services-hero__nav{
  display:flex;
  flex-direction:column;
  gap:18px;
  font-weight:700;
  letter-spacing:0.08em;
  font-family:'Cera Pro', var(--font);
}

.services-hero__nav a{
  text-decoration:none;
  font-size:17px;
  text-transform:uppercase;
  color:#2b2218;
  transition:color .2s ease, transform .2s ease;
}

.services-hero__nav a:hover,
.services-hero__nav a:focus-visible{
  color:#d3542f;
  transform:translateX(6px);
}

.services-hero__cta{
  margin-top:24px;
  align-self:flex-start;
  display:inline-flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-width:150px;
  padding:12px 22px 13px;
  background:#f0461e;
  color:#fff;
  text-decoration:none;
  font-weight:700;
  letter-spacing:0.08em;
  text-transform:uppercase;
  border-radius:999px;
  text-align:center;
  font-size:11px;
  line-height:1.1;
  box-shadow:0 14px 26px rgba(240,70,30,0.32);
  transition:transform .2s ease, box-shadow .2s ease;
  position:relative;
  left:12px;
  z-index:3;
  margin-right:-24px;
}

.services-hero__cta span{
  font-size:10px;
  letter-spacing:0.18em;
}

.services-hero__cta strong{
  font-size:15px;
  letter-spacing:0.12em;
}

.services-hero__cta span,
.services-hero__cta strong{
  display:block;
  line-height:1.1;
}

.services-hero__cta:hover,
.services-hero__cta:focus-visible{
  transform:translateY(-3px);
  box-shadow:0 24px 42px rgba(240,70,30,0.4);
}

.hero__stage--reverse{
  flex-direction:row-reverse;
}

.hero__stage--reverse .hero__photo{
  margin-left:0;
  margin-right:calc(-1 * var(--bevel-cut, var(--hero-bevel)));
}

.hero__stage--reverse .hero__sheet{
  margin-left:calc(-1 * var(--bevel-cut, var(--hero-bevel)));
  margin-right:0;
}

.services-hero__main{
  min-height:var(--services-card-height);
  height:var(--services-card-height);
}


.services-page .hero__sheet{
  padding:52px 88px 68px 96px;
  box-shadow:0 26px 48px rgba(0,0,0,0.14);
}

.services-page .hero__sheet::before{
  display:block;
}

.services-page .hero__photo img{
  transform:scale(1.05);
}

.services-page .services-hero__main .hero__sheet{
  flex:0 0 74%;
  padding-top:60px;
}

.services-page .services-hero__main .hero__photo{
  flex:1;
}

.services-page .services-hero__media img{
  object-position:center;
}

.services-page .services-list__item .hero__sheet{
  flex:0 0 74%;
  padding:46px 84px 54px 92px;
  gap:20px;
}

.services-page .services-list__item .hero__photo{
  flex:1;
}

.services-page .services-card p{
  display:block;
  overflow:visible;
}

.services-page .hero__headline{
  color:#e24d1b;
}

.services-page .hero__tagline{
  text-transform:none;
  letter-spacing:0;
  color:#513626;
  max-width:380px;
  font-size:15px;
  line-height:1.6;
}

.services-page .services-list__item .hero__tagline{
  display:block;
  -webkit-line-clamp:unset;
  -webkit-box-orient:unset;
  overflow:visible;
}

.services-page .services-hero__main .services-hero__more{
  margin-top:auto;
  align-self:flex-start;
}

.services-card{
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:18px;
  height:100%;
  z-index:2;
}

.services-page .services-card{
  justify-content:flex-start;
}


.services-card h1,
.services-card h2{
  margin:0;
  font-size:22px;
  line-height:1.24;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:#e24d1b;
}

.services-card--hero h1{
  font-size:24px;
}

.services-card p{
  margin:0;
  font-size:14px;
  line-height:1.55;
  color:#513626;
}

.services-card .services-hero__more,
.services-card .services-list__more{
  position:relative;
}

.services-hero__card-body p{
  max-width:380px;
}

.services-hero__card-footer{
  margin-top:auto;
  display:flex;
  justify-content:flex-end;
}

.services-hero__more{
  font-size:12px;
  letter-spacing:0.12em;
  text-transform:lowercase;
  color:#8c4f13;
  font-weight:700;
  text-decoration:underline;
  text-decoration-thickness:2px;
  text-underline-offset:4px;
}

.services-hero__more:hover,
.services-hero__more:focus-visible{
  color:#f0461e;
}

.services-hero__media{
  position:relative;
  flex:1;
  margin-left:calc(-1 * var(--bevel-cut, var(--hero-bevel)));
  clip-path:polygon(var(--bevel-cut, var(--hero-bevel)) 0, 100% 0, calc(100% - var(--bevel-cut, var(--hero-bevel))) 100%, 0 100%);
  box-shadow:0 18px 36px rgba(0,0,0,0.18);
  overflow:hidden;
  height:100%;
}

.services-hero__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}

.services-list{
  padding:32px 0 88px;
  background:#f6e7ce;
  --services-card-height:320px;
}

.services-list__container{
  display:flex;
  flex-direction:column;
  gap:64px;
}

.services-list__item{
  display:flex;
  align-items:stretch;
  gap:0;
  min-height:var(--services-card-height);
  height:var(--services-card-height);
}

.services-list__media{
  min-height:var(--services-card-height);
  height:var(--services-card-height);
}

.services-list__media img{
  width:100%;
  height:100%;
  object-fit:cover;
}


.services-list__card::before{
  display:none;
}

.services-list__item--reverse .services-list__card::before{
  left:auto;
  right:36px;
  border-left:none;
  border-right:2px solid #f0461e;
}

.services-list__card h2{
  text-transform:uppercase;
  letter-spacing:0.1em;
}

.services-list__card p{
  font-size:14px;
}

.services-list__more{
  margin-top:auto;
  font-size:12px;
  letter-spacing:0.12em;
  text-transform:lowercase;
  color:#8c4f13;
  font-weight:700;
  text-decoration:underline;
  text-decoration-thickness:2px;
  text-underline-offset:4px;
  align-self:flex-end;
}

.services-list__more:hover,
.services-list__more:focus-visible{
  color:#f0461e;
}

.service-detail{
  background:#f6ebdc;
}

.service-detail .section-heading h2,
.service-detail .section-heading p{
  white-space:normal;
}

.service-detail .hero__headline{
  color:#e24d1b;
}

.service-detail .hero__tagline{
  text-transform:none;
  letter-spacing:0;
  color:#513626;
  max-width:420px;
}

.service-hero{
  padding:56px 0 48px;
  background:var(--bg);
}

.service-hero__container{
  display:grid;
  grid-template-columns:220px 1fr;
  gap:28px;
  align-items:flex-start;
}

.service-hero__sidebar{
  display:flex;
  flex-direction:column;
  gap:16px;
}

.service-hero__label{
  margin:0;
  font-size:12px;
  letter-spacing:0.18em;
  text-transform:uppercase;
  color:#b87417;
  font-weight:700;
}

.service-hero__nav{
  display:flex;
  flex-direction:column;
  gap:16px;
  font-weight:700;
  letter-spacing:0.08em;
  font-family:'Cera Pro', var(--font);
}

.service-hero__nav a{
  text-decoration:none;
  font-size:16px;
  text-transform:uppercase;
  color:#2b2218;
  transition:color .2s ease, transform .2s ease;
}

.service-hero__nav a:hover,
.service-hero__nav a:focus-visible{
  color:#d3542f;
  transform:translateX(6px);
}

.service-hero__nav a.is-active{
  color:#d3542f;
}

.service-hero__back{
  margin-top:12px;
  font-size:12px;
  letter-spacing:0.18em;
  text-transform:uppercase;
  color:#b77b23;
  text-decoration:none;
}

.service-hero__back:hover,
.service-hero__back:focus-visible{
  color:#f0461e;
}

.service-hero__eyebrow{
  margin:0;
  font-size:11px;
  letter-spacing:0.2em;
  text-transform:uppercase;
  color:#b77b23;
}

.service-hero__points{
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  gap:10px;
}

.service-hero__points li{
  position:relative;
  padding-left:18px;
  font-size:13px;
  line-height:1.4;
  color:#513626;
}

.service-hero__points li::before{
  content:"";
  position:absolute;
  left:0;
  top:6px;
  width:8px;
  height:8px;
  background:#f0461e;
  border-radius:50%;
}

.service-summary{
  padding:52px 0 64px;
  background:#f6e7ce;
}

.service-summary__container{
  display:grid;
  grid-template-columns:1.1fr 0.9fr;
  gap:32px;
  align-items:flex-start;
}

.service-summary__text p{
  margin:0 0 16px;
  font-size:15px;
  line-height:1.6;
  color:#513626;
}

.service-summary__card{
  background:#fff;
  border:1px solid #e5d7c4;
  border-radius:22px;
  padding:28px;
  box-shadow:0 14px 28px rgba(165,126,80,0.12);
}

.service-summary__card h3{
  margin:0 0 18px;
  font-size:18px;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:#e0451a;
}

.service-summary__list{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:12px;
}

.service-summary__list li{
  position:relative;
  padding-left:18px;
  font-size:14px;
  line-height:1.5;
  color:#513626;
}

.service-summary__list li::before{
  content:"";
  position:absolute;
  left:0;
  top:6px;
  width:8px;
  height:8px;
  border-radius:50%;
  background:#c58711;
}

.service-cards{
  padding:68px 0 72px;
  background:radial-gradient(140% 120% at 50% 0%, #f7e6cf 0%, #ead4b3 55%, #e3c8a5 100%);
}

.service-cards__grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:24px;
  align-items:stretch;
}

.service-card{
  background:#fff;
  border:1px solid #e5d7c4;
  border-radius:20px;
  padding:28px 26px;
  box-shadow:0 14px 28px rgba(165,126,80,0.12);
  display:flex;
  flex-direction:column;
  gap:12px;
}

.service-card__title{
  margin:0;
  font-size:16px;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:#b87417;
}

.service-card p{
  margin:0;
  font-size:14px;
  line-height:1.55;
  color:#513626;
}

.service-process{
  padding:64px 0 72px;
  background:#f6ebdc;
}

.service-process__steps{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:14px;
  counter-reset:step;
}

.service-process__steps li{
  background:#fff;
  border:1px solid #e5d7c4;
  border-radius:18px;
  padding:18px 22px 18px 52px;
  position:relative;
  font-size:14px;
  line-height:1.55;
  color:#513626;
  box-shadow:0 12px 24px rgba(165,126,80,0.1);
}

.service-process__steps li::before{
  content:counter(step);
  counter-increment:step;
  position:absolute;
  left:18px;
  top:16px;
  width:24px;
  height:24px;
  border-radius:50%;
  background:#f0461e;
  color:#fff;
  font-size:12px;
  font-weight:700;
  display:flex;
  align-items:center;
  justify-content:center;
}

.service-result{
  padding:56px 0 80px;
  background:#f6e7ce;
}

.service-result__container{
  display:flex;
  flex-direction:column;
  gap:20px;
}

.service-result__list{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:14px;
}

.service-result__list li{
  background:#fff;
  border:1px solid #e5d7c4;
  border-radius:18px;
  padding:18px 22px;
  font-size:14px;
  line-height:1.55;
  color:#513626;
  box-shadow:0 12px 24px rgba(165,126,80,0.1);
}

.service-cta{
  padding:56px 0 76px;
  background:linear-gradient(120deg, #f9edd9 0%, #f2d7b4 55%, #eac7a0 100%);
}

.service-cta__container{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  background:#fff;
  border:1px solid #e5d7c4;
  border-radius:28px;
  padding:32px 36px;
  box-shadow:0 20px 40px rgba(165,126,80,0.16);
}

.service-cta__text h3{
  margin:0 0 12px;
  font-size:22px;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:#e0451a;
}

.service-cta__text p{
  margin:0;
  font-size:15px;
  line-height:1.6;
  color:#513626;
  max-width:480px;
}

.service-cta__actions{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:10px;
}

.service-cta__button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:14px 36px;
  background:#f0461e;
  color:#fff;
  text-decoration:none;
  font-weight:700;
  letter-spacing:0.12em;
  text-transform:uppercase;
  border-radius:999px;
  box-shadow:0 16px 30px rgba(240,70,30,0.35);
  transition:transform .2s ease, box-shadow .2s ease;
  font-size:12px;
}

.service-cta__button:hover,
.service-cta__button:focus-visible{
  transform:translateY(-3px);
  box-shadow:0 24px 42px rgba(240,70,30,0.4);
}

.service-cta__note{
  font-size:12px;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:#b87417;
  text-align:right;
}

.objects-page .objects{
  padding:72px 0 92px;
  background:#f6e7ce;
}

.objects-page .objects__list{
  display:flex;
  flex-direction:column;
  gap:64px;
}

.objects-page .objects-links{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:18px;
  margin:22px 0 48px;
}

.objects-page .objects-links__card{
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:18px 22px;
  border-radius:22px;
  background:#fff;
  box-shadow:0 18px 36px rgba(34,24,14,0.12);
  color:#4a321f;
  font-size:17px;
  line-height:1.35;
  letter-spacing:0.06em;
  text-transform:uppercase;
  font-weight:600;
  border:1px solid rgba(228, 179, 122, 0.35);
  transition:transform .15s ease, box-shadow .15s ease;
}

.objects-page .objects-links__card:hover{
  transform:translateY(-2px);
  box-shadow:0 22px 44px rgba(34,24,14,0.16);
}

.objects-page .objects-card{
  position:relative;
  background:#fff;
  clip-path:polygon(var(--bevel-cut, var(--hero-bevel)) 0, 100% 0, calc(100% - var(--bevel-cut, var(--hero-bevel))) 100%, 0 100%);
  box-shadow:0 26px 48px rgba(0,0,0,0.14);
  padding:0;
  overflow:hidden;
}

.objects-page .objects-card__inner{
  display:grid;
  grid-template-columns:minmax(200px, 0.9fr) minmax(260px, 1.2fr) minmax(220px, 1fr);
  grid-template-areas:"title media text";
  gap:24px;
  align-items:stretch;
}

.objects-page .objects-card__title{
  grid-area:title;
  padding:32px 24px 32px 48px;
  display:flex;
  align-items:center;
}

.objects-page .objects-card__headline{
  margin:0;
  font-size:22px;
  line-height:1.3;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:#e24d1b;
}

.objects-page .objects-card__media{
  grid-area:media;
  width:100%;
  height:100%;
  min-height:288px;
  overflow:hidden;
  background:#f4f0e8;
}

.objects-page .objects-card__slider{
  position:relative;
  width:100%;
  height:100%;
  display:flex;
  align-items:stretch;
}

.objects-page .objects-card__slides{
  position:relative;
  width:100%;
  height:100%;
}

.objects-page .objects-card__slide{
  position:absolute;
  inset:0;
  border:none;
  padding:0;
  margin:0;
  background:transparent;
  cursor:zoom-in;
  opacity:0;
  pointer-events:none;
  transition:opacity .2s ease;
}

.objects-page .objects-card__slide.is-active{
  opacity:1;
  pointer-events:auto;
}

.objects-page .objects-card__nav{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:34px;
  height:34px;
  border-radius:50%;
  border:1px solid #e5ded4;
  background:rgba(255,255,255,0.92);
  color:#8a5b2a;
  display:grid;
  place-items:center;
  cursor:pointer;
  z-index:2;
  box-shadow:0 8px 18px rgba(0,0,0,0.12);
}

.objects-page .objects-card__nav--prev{
  left:12px;
}

.objects-page .objects-card__nav--next{
  right:12px;
}

.objects-page .objects-card__nav span{
  font-size:18px;
  line-height:1;
}

.objects-page .objects-card__nav:disabled{
  opacity:0.4;
  cursor:default;
}

.objects-page .objects-card__slider[data-count="1"] .objects-card__nav{
  display:none;
}

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

.objects-page .objects-card__text{
  grid-area:text;
  padding:32px 36px 32px 24px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}

.objects-page .objects-card__label{
  display:block;
  align-self:flex-start;
  margin:0 0 10px;
  font-size:13px;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:#c88a3c;
  font-weight:600;
}

.objects-page .objects-card__text p{
  margin:0;
  font-size:14px;
  line-height:1.6;
  color:#513626;
}

.objects-page .objects-card__details{
  margin:16px 0 0;
  padding-left:18px;
  font-size:14px;
  line-height:1.6;
  color:#513626;
}

.objects-page .objects-card__details li + li{
  margin-top:4px;
}

.objects-image-modal{
  position:fixed;
  inset:0;
  z-index:9999;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
}

.objects-image-modal[hidden]{
  display:none;
}

.objects-image-modal__backdrop{
  position:absolute;
  inset:0;
  background:rgba(29, 22, 14, 0.6);
}

.objects-image-modal__dialog{
  position:relative;
  z-index:1;
}

.objects-image-modal__frame{
  width:min(92vw, 1100px);
  height:min(80vh, 680px);
  padding:16px;
  border-radius:24px;
  background:#fff;
  box-shadow:0 30px 60px rgba(0, 0, 0, 0.25);
}

.objects-image-modal__image{
  width:100%;
  height:100%;
  border-radius:18px;
  object-fit:contain;
  background:#f6eee1;
}

.objects-image-modal__close{
  position:absolute;
  top:-14px;
  right:-14px;
  width:36px;
  height:36px;
  border-radius:50%;
  border:1px solid #e5ded4;
  background:#fff;
  color:#6a3c06;
  font-size:18px;
  line-height:1;
  cursor:pointer;
  box-shadow:0 8px 18px rgba(0, 0, 0, 0.12);
}

.objects-image-modal__nav{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:44px;
  height:44px;
  border-radius:50%;
  border:1px solid #e5ded4;
  background:#fff;
  color:#6a3c06;
  display:grid;
  place-items:center;
  cursor:pointer;
  box-shadow:0 10px 20px rgba(0, 0, 0, 0.16);
}

.objects-image-modal__nav--prev{
  left:-64px;
}

.objects-image-modal__nav--next{
  right:-64px;
}

.objects-image-modal__nav span{
  font-size:22px;
  line-height:1;
}

.has-objects-modal{
  overflow:hidden;
}

@media (max-width:768px){
  .section-heading{
    padding-left:0;
    margin-bottom:28px;
  }

  .section-heading::before{
    display:none;
  }

  .section-heading h2{
    white-space:normal;
    font-size:22px;
    letter-spacing:0.1em;
    border-bottom-width:2px;
  }

  .section-heading p{
    white-space:normal;
    display:block;
    max-width:100%;
    overflow-wrap:anywhere;
    font-size:14px;
    letter-spacing:0.08em;
  }
  .objects-image-modal__frame{
    width:90vw;
    height:70vh;
  }

  .objects-image-modal__nav--prev{
    left:12px;
  }

  .objects-image-modal__nav--next{
    right:12px;
  }

  .objects-image-modal__close{
    top:12px;
    right:12px;
  }
}

/* Side cart (Xootix) theme overrides */
.xoo-wsc-markup .xoo-wsc-opac{
  background:rgba(47, 30, 16, 0.55) !important;
}

.xoo-wsc-markup .xoo-wsc-container,
.xoo-wsc-markup .xoo-wsc-slider{
  background:#fff8ef !important;
  color:#2b1d12 !important;
  box-shadow:0 30px 60px rgba(88, 55, 28, 0.25) !important;
  border-left:1px solid #eadfce !important;
}

.xoo-wsc-markup .xoo-wsc-body{
  background:#fff8ef !important;
}

.xoo-wsc-markup .xoo-wsc-footer{
  background:#f6ebdc !important;
  border-top:1px solid #eadfce !important;
}

.xoo-wsc-markup .xoo-wsc-header{
  background:linear-gradient(135deg, #f7e7d2 0%, #f0d8bb 100%) !important;
  border-bottom:1px solid #eadfce !important;
  color:#8c4f13 !important;
}

.xoo-wsc-markup .xoo-wsch-text{
  font-weight:600;
  letter-spacing:0.08em;
  text-transform:uppercase;
}

.xoo-wsc-markup .xoo-wsch-close{
  color:#8c4f13;
}

.xoo-wsc-markup .xoo-wsch-basket .xoo-wscb-icon{
  color:#d3542f !important;
}

.xoo-wsc-markup .xoo-wsch-basket .xoo-wscb-count,
.xoo-wsc-markup .xoo-wsc-items-count{
  background:#c89a39 !important;
  color:#fff !important;
  font-weight:600;
}

.xoo-wsc-markup .xoo-wsc-basket{
  background:linear-gradient(135deg, #d3542f 0%, #c24a29 100%) !important;
  border-radius:50%;
  box-shadow:0 16px 30px rgba(211, 84, 47, 0.35);
}

.xoo-wsc-markup .xoo-wsc-bki{
  color:#fff !important;
}

.xoo-wsc-markup .xoo-wsc-product{
  background:#fff !important;
  border:1px solid #eadfce !important;
  border-radius:16px;
  margin:12px 14px;
  padding:12px;
}

.xoo-wsc-markup span.xoo-wsc-pname,
.xoo-wsc-markup span.xoo-wsc-pname a{
  color:#8c4f13 !important;
}

.xoo-wsc-markup .xoo-wsc-qty-price,
.xoo-wsc-markup .xoo-wsc-qty-price span{
  color:#5a4331 !important;
}

.xoo-wsc-markup .xoo-wsc-smr-ptotal{
  color:#d3542f !important;
  font-weight:600;
}

.xoo-wsc-markup span.xoo-wsc-smr-del{
  color:#d3542f !important;
}

.xoo-wsc-markup .xoo-wsc-sm-sales{
  border-color:#c89a39 !important;
  color:#8c4f13 !important;
}

.xoo-wsc-markup .xoo-wsc-ft-totals{
  border-top:1px solid #eadfce !important;
}

.xoo-wsc-markup .xoo-wsc-ft-amt-total{
  border-top:1px dashed #cbb69d !important;
  color:#8c4f13 !important;
}

.xoo-wsc-markup span.xoo-wsc-ft-amt-label,
.xoo-wsc-markup .xoo-wsc-ft-amt-value{
  color:#5a4331 !important;
}

.xoo-wsc-markup .xoo-wsc-ft-amt.less{
  color:#2f7d4f !important;
}

.xoo-wsc-markup span.xoo-wsc-footer-txt{
  color:#8c4f13 !important;
}

.xoo-wsc-markup .xoo-wsc-ft-buttons-cont{
  padding:12px 16px 18px;
  gap:10px;
}

.xoo-wsc-markup a.xoo-wsc-ft-btn,
.xoo-wsc-markup .xoo-wsc-container .xoo-wsc-btn{
  background:#d3542f !important;
  color:#fff !important;
  border:1px solid #c24a29 !important;
  border-radius:999px;
  padding:12px 18px;
  font-weight:600;
  letter-spacing:0.06em;
  text-transform:uppercase;
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease;
}

.xoo-wsc-markup a.xoo-wsc-ft-btn:hover,
.xoo-wsc-markup .xoo-wsc-container .xoo-wsc-btn:hover,
.xoo-wsc-markup a.xoo-wsc-ft-btn:focus,
.xoo-wsc-markup .xoo-wsc-container .xoo-wsc-btn:focus{
  background:#c24a29 !important;
  color:#fff !important;
  box-shadow:0 12px 20px rgba(211, 84, 47, 0.25);
  transform:translateY(-1px);
}

.xoo-wsc-markup a.xoo-wsc-ft-btn .amount{
  color:inherit !important;
}

.xoo-wsc-markup a.xoo-wsc-ft-btn:hover .amount,
.xoo-wsc-markup a.xoo-wsc-ft-btn:focus .amount{
  color:inherit !important;
}

.xoo-wsc-markup a.xoo-wsc-ft-btn-checkout{
  background:#c89a39 !important;
  border-color:#b3832c !important;
}

.xoo-wsc-markup a.xoo-wsc-ft-btn-checkout:hover{
  background:#b3832c !important;
  color:#fff !important;
  box-shadow:0 12px 20px rgba(200, 154, 57, 0.25);
}

.xoo-wsc-markup a.xoo-wsc-ft-btn-continue{
  background:transparent !important;
  color:#8c4f13 !important;
  border:1px solid #d7c7b3 !important;
}

.xoo-wsc-markup a.xoo-wsc-ft-btn-continue:hover{
  background:#f6ebdc !important;
  color:#8c4f13 !important;
  box-shadow:none;
  transform:none;
}

.xoo-wsc-markup .xoo-wsc-empty-cart{
  color:#6b513b;
}

.about-page{
  background:#f6ebdc;
}

.about-intro{
  padding:72px 0 64px;
  background:#f6e7ce;
}

.about-intro__content{
  display:grid;
  grid-template-columns:minmax(320px, 1.2fr) minmax(260px, 0.8fr);
  gap:40px;
  align-items:start;
}

.about-intro__title{
  margin:0 0 18px;
  font-size:24px;
  line-height:1.3;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:#e24d1b;
}

.about-intro__text p{
  margin:0 0 16px;
  font-size:15px;
  line-height:1.6;
  color:#513626;
}

.about-intro__text p:last-child{
  margin-bottom:0;
}

.about-intro__gallery{
  display:grid;
  gap:18px;
}

.about-intro__image{
  margin:0;
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 18px 36px rgba(0,0,0,0.16);
}

.about-intro__image--wide{
  background:#fff;
  aspect-ratio:3 / 2;
}

.about-intro__image--tall{
  aspect-ratio:3 / 4;
}

.about-intro__image img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.about-intro__image--wide img{
  object-fit:contain;
  background:#fff;
}

.about-partners{
  padding:64px 0 96px;
  background:radial-gradient(140% 120% at 50% 0%, #f7e6cf 0%, #ead4b3 55%, #e3c8a5 100%);
}

.about-partners__grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(140px, 1fr));
  gap:20px;
  align-items:center;
}

.about-partners__item{
  background:#fff;
  border:1px solid #e7d9c6;
  border-radius:14px;
  padding:12px;
  min-height:88px;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 12px 24px rgba(109, 93, 72, 0.12);
}

.about-partners__item img{
  max-width:100%;
  max-height:56px;
  object-fit:contain;
}

.features{
  padding:84px 0 76px;
  background:radial-gradient(140% 120% at 50% 0%, #f7e6cf 0%, #ead4b3 55%, #e3c8a5 100%);
}

.section-heading{
  margin:0 0 40px;
  position:relative;
  padding-left:64px;
}

.section-heading::before{
  content:"";
  position:absolute;
  left:20px;
  top:0;
  bottom:0;
  width:40px;
  border:3px solid #c58711;
  border-right:none;
  border-radius:2px;
}

.section-heading h2{
  margin:0;
  display:inline-block;
  white-space:nowrap;
  font-size:26px;
  letter-spacing:0.18em;
  text-transform:uppercase;
  color:#e0451a;
  font-weight:800;
  border-bottom:3px solid #e0451a;
  padding-bottom:6px;
}

.section-heading h2 a{
  color:inherit;
  text-decoration:none;
  display:inline-block;
  padding:0;
}

.section-heading h2 a:hover,
.section-heading h2 a:focus-visible{
  color:#ff4e1e;
}

.section-heading p{
  margin:8px 0 0;
  display:inline-block;
  white-space:nowrap;
  font-size:16px;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:#ba8330;
  font-weight:700;
}

.features__grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:26px 26px;
  grid-auto-rows:1fr;
  align-items:stretch;
}

.feature{
  position:relative;
  background:#fff;
  padding:36px 30px 38px;
  min-height:240px;
  width:100%;
  height:100%;
  aspect-ratio:4/3;
  border:1.5px solid #e5d7c4;
  box-shadow:0 12px 24px rgba(165,126,80,0.08);
  clip-path:polygon(var(--bevel-cut, var(--hero-bevel)) 0, 100% 0, calc(100% - var(--bevel-cut, var(--hero-bevel))) 100%, 0 100%);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  gap:16px;
  overflow:hidden;
}

.feature::after{
  display:none;
}

.feature__icon{
  width:80px;
  height:80px;
  border-radius:0;
  background:none;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#b77b23;
  flex-shrink:0;
}

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

.feature__icon svg{
  width:48px;
  height:48px;
  stroke:currentColor;
  stroke-width:2.2;
  fill:none;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.feature p{
  margin:0;
  font-size:18px;
  line-height:1.5;
  color:#2f231b;
  letter-spacing:0.01em;
  font-weight:600;
  max-width:260px;
  transform:translateX(-4px);
}

.cta{
  padding:96px 0 104px;
  background:
    linear-gradient(110deg, rgba(59, 39, 22, 0.88) 0%, rgba(59, 39, 22, 0.78) 58%, rgba(59, 39, 22, 0.6) 100%),
    url('/wp-content/uploads/2025/02/image-73.jpg');
  background-size:cover;
  background-position:center;
  color:#fff;
  position:relative;
  overflow:hidden;
}

.cta::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg, rgba(0,0,0,0.12), transparent 45%);
  pointer-events:none;
}

.cta__container{
  display:flex;
  flex-direction:column;
  gap:32px;
}

.cta__header h2{
  margin:0;
  font-size:26px;
  line-height:1.38;
  letter-spacing:0.08em;
  text-transform:uppercase;
}

.cta__body{
  display:grid;
  grid-template-columns:minmax(0, 1.15fr) minmax(0, 0.85fr);
  grid-template-areas:
    "steps ."
    "button contacts";
  gap:32px 64px;
  align-items:start;
}

.cta__steps-media{
  grid-area:steps;
  width:100%;
  max-width:860px;
  justify-self:start;
}

.cta__steps-image{
  display:block;
  width:100%;
  height:auto;
}

.cta__steps{
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  gap:18px;
  align-items:start;
}

.cta__steps--sr{
  position:absolute;
  width:1px;
  height:1px;
  margin:-1px;
  padding:0;
  border:0;
  overflow:hidden;
  clip:rect(0 0 0 0);
  clip-path:inset(50%);
  white-space:nowrap;
}

.cta__steps li{
  position:relative;
  padding-left:0;
  font-size:16px;
  letter-spacing:0.08em;
  text-transform:uppercase;
  font-weight:600;
  width:fit-content;
  max-width:100%;
  --cta-line:200px;
}

.cta__steps li::before{
  content:"";
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:0;
  height:0;
  border-style:solid;
  border-width:6px 10px 6px 0;
  border-color:transparent #e24d1b transparent transparent;
  left:calc(100% + 12px + var(--cta-line) - 2px);
}

.cta__steps li::after{
  content:"";
  position:absolute;
  left:calc(100% + 12px);
  top:50%;
  transform:translateY(-50%);
  width:var(--cta-line);
  height:22px;
  border:2px solid #e24d1b;
  border-left:none;
  border-top:none;
  border-radius:0 0 22px 0;
}

.cta__steps li:nth-child(even)::before{
  left:auto;
  right:calc(100% + 12px + var(--cta-line) - 2px);
  border-width:6px 0 6px 10px;
  border-color:transparent transparent transparent #e24d1b;
}

.cta__steps li:nth-child(even)::after{
  left:auto;
  right:calc(100% + 12px);
  border-left:2px solid #e24d1b;
  border-right:none;
  border-top:none;
  border-radius:0 0 0 22px;
}

.cta__steps li:nth-child(1){ --cta-line:240px; }
.cta__steps li:nth-child(2){ --cta-line:140px; }
.cta__steps li:nth-child(3){ --cta-line:210px; }
.cta__steps li:nth-child(4){ --cta-line:150px; }
.cta__steps li:nth-child(5){ --cta-line:300px; }
.cta__steps li:nth-child(6){ --cta-line:160px; }

.cta__actions{
  display:contents;
}

.cta__button{
  grid-area:button;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  line-height:1;
  padding:22px 62px;
  border-radius:999px;
  background:#d3542f;
  color:#fff;
  font-weight:700;
  font-size:16px;
  letter-spacing:0.1em;
  text-transform:uppercase;
  text-decoration:none;
  box-shadow:0 16px 34px rgba(211,84,47,0.35);
  transition:transform .2s ease, box-shadow .2s ease;
}

.cta__button:hover,
.cta__button:focus-visible{
  transform:translateY(-3px);
  box-shadow:0 20px 40px rgba(211,84,47,0.42);
}

.cta__contacts{
  grid-area:contacts;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:22px;
  flex-wrap:wrap;
  align-self:center;
  margin-top:-12px;
}

.cta__note{
  margin:0;
  font-size:18px;
  letter-spacing:0.06em;
  text-transform:uppercase;
  color:rgba(255,255,255,0.92);
  max-width:360px;
}

.cta__contact-row{
  display:flex;
  align-items:center;
  gap:22px;
  flex-wrap:wrap;
}

.cta__phone{
  font-size:32px;
  font-weight:700;
  letter-spacing:0.08em;
  color:#f2d3a2;
  text-decoration:none;
}

.cta__messengers{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  gap:14px;
  font-size:18px;
  opacity:.95;
  order:-1;
}

.cta__messengers li{
  width:34px;
  height:34px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,0.6);
  display:grid;
  place-items:center;
  color:#fff;
}
.no-content{
  text-align:center;
  color:var(--muted);
}

.no-content h1{
  font-weight:600;
  letter-spacing:0.08em;
  text-transform:uppercase;
  font-size:24px;
}

.site-footer{
  margin-top:96px;
  background:var(--bg);
}

.site-footer__upper{
  padding:60px 0 32px;
}

.footer__inner{
  display:grid;
  grid-template-columns:minmax(220px, auto) repeat(3, var(--footerRibbonWidth));
  column-gap:36px;
  row-gap:40px;
  align-items:start;
  justify-content:flex-start;
}

.footer__brand{
  display:flex;
  align-items:center;
}

.footer__logo{
  display:inline-flex;
  align-items:center;
  gap:12px;
  text-decoration:none;
  color:#1f1b18;
}

.footer__logo-mark{
  height:68px;
  width:auto;
}

.site-footer .footer__logo-mark{
  max-height:68px;
}

.site-footer .footer__logo-mark,
.site-footer img.custom-logo,
.site-footer .custom-logo-link img{
  height:auto;
  max-height:68px;
  width:auto;
}

.footer__logo-text{
  font-family:'Roboto Condensed', 'Barlow Condensed', var(--font);
  font-weight:500;
  letter-spacing:0.035em;
  font-size:28px;
  line-height:1;
  white-space:nowrap;
}

.footer__group{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  width:var(--footerRibbonWidth);
  min-width:var(--footerRibbonWidth);
  max-width:100%;
}

.footer__heading{
  margin:0 0 12px;
  position:relative;
  width:var(--footerRibbonWidth);
}

.footer__heading::before{
  content:"";
  position:absolute;
  inset:0;
  background:#c58711;
  clip-path:polygon(var(--bevel-cut, var(--bevel)) 0, 100% 0, calc(100% - var(--bevel-cut, var(--bevel))) 100%, 0 100%);
}

.footer__heading span{
  position:relative;
  display:block;
  padding:12px 32px 10px 28px;
  color:#fff;
  font-size:15px;
  font-weight:600;
  letter-spacing:0.14em;
  text-transform:uppercase;
}

.footer__menu{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:8px;
}

.footer__menu a{
  color:#6b5b45;
  text-decoration:none;
  letter-spacing:0.05em;
  font-size:15px;
  font-weight:500;
  transition:color .2s ease;
}

.footer__menu a:hover,
.footer__menu a:focus-visible{
  color:var(--accent);
}

.footer__partners{
  padding:24px 0 72px;
}

.footer__partners-inner{
  display:flex;
  flex-direction:column;
  gap:24px;
}

.footer__partners-title{
  margin:0;
  font-size:24px;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:#c58711;
  font-weight:600;
}

.footer__partners-list{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-wrap:nowrap;
  justify-content:space-between;
  gap:18px;
}

.footer__partner{
  flex:0 0 132px;
  height:132px;
  border-radius:6px;
  background:#fff;
  border:1px solid #e7d9c6;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 10px 24px rgba(109, 93, 72, 0.12);
  text-align:center;
  padding:10px;
  overflow:hidden;
}

.footer__partner img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.footer__partner--customhomes img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.footer__bottom{
  padding-bottom:52px;
}

.footer__bottom-inner{
  display:flex;
  justify-content:flex-start;
}

.footer__copy{
  margin:0;
  font-size:13px;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:#a48f76;
}

@media (max-width:1024px){
  .section-heading{
    padding-left:0;
    margin-bottom:28px;
  }

  .section-heading::before{
    display:none;
  }

  .section-heading h2{
    white-space:normal;
  }

  .section-heading p{
    white-space:normal;
    display:block;
    max-width:100%;
    overflow-wrap:anywhere;
  }

  .header-grid{
    grid-template-columns:1fr auto;
    grid-template-rows:auto auto auto;
    column-gap:16px;
    row-gap:12px;
  }

  .logo-cell{
    grid-row:1;
    grid-column:1;
  }

  .topbar{
    display:contents;
  }

  .search{
    grid-row:2;
    grid-column:1;
    min-width:0;
  }

  .site-header .cart{
    grid-row:2;
    grid-column:2;
    justify-self:end;
    width:56px;
  }

  .contacts{
    grid-row:1;
    grid-column:2;
    width:auto;
    margin-left:0;
    transform:none;
    justify-self:end;
    align-self:center;
  }

  .contacts__phones{
    flex-direction:column;
    gap:4px;
  }

  .bottombar{
    grid-row:3;
    grid-column:1 / -1;
    margin-top:0;
  }

  .nav,
  .nav__list{
    display:flex;
    flex-wrap:wrap;
    gap:10px 18px;
  }

  .nav__list > li{
    margin:0;
  }

  .nav__list > li + li::before{
    display:none;
  }

  .nav__list > li > a{
    font-size:15px;
    letter-spacing:0.08em;
  }

  .phone{
    font-size:18px;
  }

  .footer__inner{
    grid-template-columns:repeat(2, minmax(240px, var(--footerRibbonWidth)));
    column-gap:24px;
    justify-content:center;
  }

  .hero__container{
    grid-template-columns:1fr;
    gap:32px;
  }

  .hero__catalog{
    align-items:center;
  }

  .hero__nav{
    flex-direction:row;
    flex-wrap:wrap;
    justify-content:center;
    gap:16px 24px;
  }

  .hero__cta{
    left:0;
    align-self:center;
    padding:16px 36px;
  }

  .hero__stage{
    min-height:340px;
    display:block;
    padding-bottom:52px;
  }

  .hero__sheet{
    position:relative;
    width:100%;
    clip-path:none;
    padding:42px 48px;
    box-shadow:0 20px 38px rgba(0,0,0,0.12);
    left:auto;
    right:auto;
    top:auto;
    bottom:auto;
  }

  .hero__photo{
    position:relative;
    width:100%;
    clip-path:none;
    height:260px;
    margin-top:22px;
    right:auto;
    left:auto;
    top:auto;
    bottom:auto;
    box-shadow:0 20px 36px rgba(0,0,0,0.18);
  }

  .hero__photo img{
    transform:none;
  }

  .features__grid{
    grid-template-columns:repeat(auto-fit, minmax(240px, 1fr));
    gap:22px 22px;
    grid-auto-rows:1fr;
  }

  .feature{
    min-height:220px;
    padding:32px 26px 34px;
  }

  .cta__body{
    grid-template-columns:1fr;
    grid-template-areas:
      "steps"
      "button"
      "contacts";
    gap:28px;
  }

  .cta__steps li::after{
    display:none;
  }

  .cta__steps li::before{
    display:none;
  }

  .cta__contacts{
    align-items:flex-start;
  }

  .services-hero__container{
    grid-template-columns:1fr;
    gap:28px;
  }

  .services-hero__sidebar{
    flex-direction:row;
    flex-wrap:wrap;
    align-items:center;
    gap:18px;
  }

  .services-hero__nav{
    flex-direction:row;
    flex-wrap:wrap;
    gap:16px 24px;
  }

  .services-hero__cta{
    margin-top:0;
  }

  .services-hero__main{
    flex-direction:column;
  }

  .services-page .services-hero__main .hero__sheet,
  .services-page .services-hero__main .hero__photo,
  .services-page .services-list__item .hero__sheet,
  .services-page .services-list__item .hero__photo{
    flex:auto;
  }

  .services-page .services-hero__main,
  .services-page .services-list__item{
    height:auto;
    min-height:auto;
  }

  .about-intro__content{
    grid-template-columns:1fr;
  }

  .objects-page .objects-card{
    clip-path:none;
    border-radius:24px;
  }

  .objects-page .objects-card__inner{
    grid-template-columns:1fr;
    grid-template-areas:
      "title"
      "media"
      "text";
  }

  .objects-page .objects-links{
    grid-template-columns:1fr;
    margin-bottom:34px;
  }

  .objects-page .objects-card__title,
  .objects-page .objects-card__text{
    padding:24px 26px;
  }

  .objects-page .objects-card__media{
    min-height:264px;
  }

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

  .about-intro__image--wide,
  .about-intro__image--tall{
    aspect-ratio:auto;
  }

  .services-page .services-card p{
    display:block;
    -webkit-line-clamp:unset;
    -webkit-box-orient:initial;
    overflow:visible;
  }

  .services-page .services-list__item .hero__tagline{
    -webkit-line-clamp:unset;
    -webkit-box-orient:initial;
    overflow:visible;
  }

  .services-hero__card{
    flex:auto;
    clip-path:none;
    border-radius:24px;
    padding:42px 48px;
    height:auto;
  }

  .services-hero__card-body p{
    max-width:none;
  }

  .services-hero__media{
    margin-top:24px;
    margin-left:0;
    clip-path:none;
    border-radius:24px;
    height:auto;
  }

  .service-hero__container{
    grid-template-columns:1fr;
    gap:24px;
  }

  .service-hero__sidebar{
    align-items:flex-start;
  }

  .service-hero__nav{
    flex-direction:row;
    flex-wrap:wrap;
    gap:14px 20px;
  }

  .service-summary__container{
    grid-template-columns:1fr;
  }

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

  .service-cta__container{
    flex-direction:column;
    align-items:flex-start;
  }

  .service-cta__actions{
    align-items:flex-start;
  }

  .services-list__item,
  .services-list__item--reverse{
    flex-direction:column;
    gap:24px;
    height:auto;
  }

  .services-list__media{
    width:100%;
    clip-path:none;
    border-radius:0;
    height:auto;
    margin:0;
  }

  .services-list__media img{
    border-radius:0;
  }

  .services-list__card{
    flex:auto;
    width:100%;
    clip-path:none;
    border-radius:24px;
    height:auto;
    margin:0;
  }

  .services-list__item--reverse .services-list__card::before{
    left:36px;
    right:auto;
    border-right:none;
    border-left:2px solid #f0461e;
  }

  .services-list__item--reverse .services-card{
    margin-left:0;
  }
}

@media (max-width:640px){
  .header-grid{
    grid-template-columns:minmax(0, 1fr) auto;
    column-gap:8px;
    row-gap:10px;
  }

  .logo-cell{
    grid-row:1;
    grid-column:1;
  }

  .contacts{
    grid-row:1;
    grid-column:1 / -1;
    justify-self:end;
    align-self:start;
    width:auto;
    margin:0;
  }

  .section-heading h2{
    font-size:19px;
    letter-spacing:0.08em;
  }

  .section-heading p{
    font-size:12px;
    letter-spacing:0.06em;
  }
  .logo__text{
    font-size:23px;
  }

  .topbar{
    align-items:center;
  }

  .search{
    grid-column:1;
    width:100%;
  }

  .site-header .cart{
    width:52px;
  }

  .contacts__phones{
    flex-direction:column;
    gap:6px;
  }

  .contacts{
  }

  .nav__list{
    justify-content:center;
    gap:10px 14px;
  }

  .hero__nav a{
    font-size:14px;
    letter-spacing:0.06em;
  }

  .icon{
    width:26px;
    height:26px;
  }

  .phone{
    font-size:16px;
  }

  .site-footer{
    margin-top:60px;
  }

  .site-footer__upper{
    padding:40px 0 20px;
  }

  .footer__inner{
    grid-template-columns:1fr;
    row-gap:28px;
  }

  .about-intro__gallery{
    grid-template-columns:1fr;
  }

  .footer__group{
    width:100%;
    min-width:0;
  }

  .footer__heading{
    width:100%;
  }

  .footer__partners{
    padding-bottom:40px;
  }

  .footer__partners-list{
    justify-content:flex-start;
    flex-wrap:wrap;
    gap:16px;
  }

  .footer__partner{
    flex:0 0 120px;
    height:120px;
    padding:12px;
  }

  .footer__bottom{
    padding-bottom:32px;
  }

  .hero{
    padding:32px 0 44px;
  }

  .features{
    padding:56px 0;
  }

  .features__grid{
    grid-template-columns:1fr;
    gap:18px;
  }

  .cta{
    padding:64px 0;
  }

  .cta__header h2{
    font-size:26px;
  }

  .cta__button{
    padding:18px 42px;
    font-size:14px;
  }

  .cta__note{
    font-size:15px;
    max-width:none;
  }

  .cta__phone{
    font-size:24px;
  }

.cta__phone{
  font-size:20px;
}

.hero__sheet{
    padding:32px 28px;
  }

  .hero__headline{
    font-size:20px;
  }

  .hero__photo{
    height:200px;
  }

  .hero__cta{
    padding:16px 32px;
    left:0;
    align-self:center;
    margin-top:32px;
  }

  .services-hero{
    padding:40px 0 48px;
  }

  .services-hero__sidebar{
    align-items:flex-start;
    gap:12px;
  }

  .services-hero__nav{
    gap:16px 24px;
  }

  .services-hero__cta{
    min-width:130px;
    padding:10px 18px;
    font-size:10px;
    left:0;
    margin-right:0;
  }

  .service-hero{
    padding:40px 0 44px;
  }

  .service-hero__nav{
    gap:12px 16px;
  }

  .service-hero__nav a{
    font-size:14px;
  }

  .service-summary{
    padding:40px 0 48px;
  }

  .service-summary__card{
    padding:22px;
  }

  .service-cards{
    padding:48px 0 56px;
  }

  .service-cards__grid{
    grid-template-columns:1fr;
  }

  .service-card{
    padding:22px;
  }

  .service-process{
    padding:48px 0 56px;
  }

  .service-process__steps li{
    padding:16px 18px 16px 44px;
  }

  .service-process__steps li::before{
    left:14px;
    top:14px;
  }

  .service-result{
    padding:40px 0 56px;
  }

  .service-cta{
    padding:40px 0 56px;
  }

  .service-cta__container{
    padding:24px;
  }

  .service-cta__text h3{
    font-size:18px;
  }

  .service-cta__note{
    font-size:10px;
  }

  .services-card{
    padding:28px 24px;
  }

  .services-page .services-hero__main,
  .services-page .services-list__item{
    width:100%;
    background:#fff;
    border-radius:18px;
    overflow:hidden;
    box-shadow:0 14px 32px rgba(0,0,0,0.12);
    gap:0;
    padding-bottom:0;
    min-height:0;
  }

  .services-page .hero__stage{
    padding-bottom:0;
    min-height:0;
  }

  .services-page .services-hero__main .hero__sheet,
  .services-page .services-list__item .hero__sheet{
    width:100%;
    max-width:100%;
    margin:0;
    padding:24px 18px 26px;
    box-sizing:border-box;
    clip-path:none;
    border-radius:18px 18px 0 0;
    box-shadow:none;
  }

  .services-page .hero__headline{
    padding-left:12px;
    font-size:20px;
    letter-spacing:0.05em;
    overflow-wrap:anywhere;
    word-break:break-word;
  }

  .services-page .hero__tagline{
    max-width:none;
    font-size:14px;
    line-height:1.5;
    overflow-wrap:anywhere;
    word-break:break-word;
  }

  .services-card h1,
  .services-card h2{
    font-size:22px;
  }

  .services-page .services-hero__main .hero__photo,
  .services-page .services-list__media{
    width:100%;
    margin:0;
    min-height:clamp(150px, 42vw, 190px);
    height:clamp(150px, 42vw, 190px);
    flex:0 0 clamp(150px, 42vw, 190px);
    clip-path:none;
    border-radius:0 0 18px 18px;
    box-shadow:none;
    overflow:hidden;
    line-height:0;
    font-size:0;
  }

  .services-page .services-hero__main .hero__photo img,
  .services-page .services-list__media img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
  }

  .services-list{
    padding:24px 0 40px;
  }

  .services-list__card{
    padding:26px 24px;
    height:auto;
  }

  .services-list__card::before{
    display:none;
  }

  .feature{
    min-height:auto;
    padding:20px 20px 22px;
    gap:16px;
    aspect-ratio:auto;
  }

  .feature__icon{
    width:48px;
    height:48px;
    border-radius:0;
  }

  .feature__icon svg{
    width:32px;
    height:32px;
  }

  .feature p{
    font-size:16px;
    line-height:1.45;
    max-width:none;
  }
}

/* Catalogue page — Kislotoupornaya tiles */
.catalog-page{
  background:var(--bg);
}

.catalog-hero{
  padding:80px 0 64px;
  background:radial-gradient(120% 140% at 10% 10%, rgba(247,226,203,0.6) 0, rgba(236,209,178,0.9) 45%, rgba(231,195,162,1) 100%);
}

.catalog-hero__inner{
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(0, 420px);
  gap:40px;
  align-items:center;
}

.catalog-hero__content{
  display:flex;
  flex-direction:column;
  gap:22px;
}

.catalog-hero__back{
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:#a0611f;
  text-decoration:none;
  font-weight:600;
  letter-spacing:0.06em;
  text-transform:uppercase;
}

.catalog-hero__back span{
  font-size:22px;
  line-height:1;
}

.catalog-hero__title{
  margin:0;
  font-size:36px;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:#8c4f13;
}

.catalog-hero__lead{
  margin:0;
  font-size:17px;
  line-height:1.6;
  color:#553820;
  max-width:540px;
}

.catalog-hero__meta{
  margin:0;
  padding:0;
  list-style:none;
  display:flex;
  flex-direction:column;
  gap:10px;
  font-weight:500;
  letter-spacing:0.04em;
  color:#704623;
}

.catalog-hero__media{
  position:relative;
  border-radius:28px;
  overflow:hidden;
  box-shadow:0 26px 48px rgba(169,118,65,0.25);
}

.catalog-hero__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.catalog-tiles{
  padding:20px 0 70px;
}

.catalog-tiles__grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(260px, 1fr));
  gap:28px;
}

.catalog-page--keramogranit .catalog-tiles__grid{
  grid-template-columns:repeat(auto-fit, minmax(320px, 1fr));
  gap:32px;
}
.catalog-page--kislotouporraya .catalog-tiles__grid{
  grid-template-columns:repeat(auto-fit, minmax(320px, 1fr));
  gap:32px;
}
.catalog-page--fibrocement .catalog-tiles__grid,
.catalog-page--podsistema .catalog-tiles__grid{
  grid-template-columns:repeat(auto-fit, minmax(320px, 1fr));
  gap:32px;
}

.catalog-product-card{
  position:relative;
  display:grid;
  grid-template-columns:220px minmax(0, 1fr) 150px;
  gap:28px;
  align-items:stretch;
  padding:26px 32px;
  background:#fff;
  box-shadow:0 22px 40px rgba(160,118,70,0.18);
  border-radius:22px;
  clip-path:polygon(var(--bevel-cut, var(--hero-bevel)) 0, 100% 0, calc(100% - var(--bevel-cut, var(--hero-bevel))) 100%, 0 100%);
  transition:transform .2s ease, box-shadow .2s ease;
}

.catalog-product-card:hover,
.catalog-product-card:focus-within{
  transform:translateY(-4px);
  box-shadow:0 28px 48px rgba(160,118,70,0.22);
}

.catalog-product-card__link{
  display:contents;
  color:inherit;
  text-decoration:none;
}

.catalog-product-card__media{
  overflow:hidden;
  border-radius:18px;
  box-shadow:0 18px 34px rgba(149,106,64,0.18);
}

.catalog-product-card__image{
  width:100%;
  height:100%;
  object-fit:cover;
}

.catalog-product-card__body{
  display:flex;
  flex-direction:column;
  gap:14px;
}

.catalog-product-card__title{
  margin:0;
  font-size:22px;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:#bb7821;
}

.catalog-product-card__meta{
  margin:0;
  display:flex;
  flex-direction:column;
  gap:8px;
}

.catalog-product-card__meta-row{
  display:grid;
  grid-template-columns:140px minmax(0, 1fr);
  gap:12px;
  font-size:14px;
  letter-spacing:0.03em;
  color:#4a3624;
}

.catalog-product-card__meta-row dt{
  font-weight:600;
  text-transform:uppercase;
  color:#8c4f13;
}

.catalog-product-card__meta-row dd{
  margin:0;
}

.catalog-product-card__price{
  align-self:flex-end;
  display:flex;
  align-items:flex-end;
  justify-content:flex-end;
  font-size:22px;
  font-weight:700;
  color:#d3542f;
  letter-spacing:0.06em;
}

.catalog-fibro-colors{
  padding:10px 0 30px;
}

.catalog-fibro-colors__title{
  margin:0 0 18px;
  font-size:24px;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:#bb7821;
}

.catalog-fibro-colors__list{
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));
  gap:16px;
}

.catalog-fibro-colors__link{
  display:flex;
  align-items:center;
  gap:12px;
  padding:12px 16px;
  border-radius:18px;
  background:#fff;
  border:1px solid transparent;
  box-shadow:0 16px 28px rgba(160,118,70,0.16);
  text-decoration:none;
  color:#4a3624;
  font-weight:600;
  letter-spacing:0.03em;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.catalog-fibro-colors__link:hover,
.catalog-fibro-colors__link:focus-visible{
  transform:translateY(-2px);
  box-shadow:0 20px 34px rgba(160,118,70,0.2);
}

.catalog-fibro-colors__link.is-active{
  border-color:#d4922f;
  box-shadow:0 20px 36px rgba(160,118,70,0.24);
}

.catalog-fibro-colors__swatch{
  width:26px;
  height:26px;
  border-radius:50%;
  background:var(--swatch-color, #e5d6c3);
  border:2px solid #fff;
  box-shadow:0 4px 10px rgba(0,0,0,0.18);
  flex:0 0 26px;
}

.catalog-fibro-colors__label{
  font-size:13px;
  letter-spacing:0.05em;
  text-transform:uppercase;
}

.catalog-fibro-types{
  padding:10px 0 70px;
}

.catalog-fibro-types__grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:32px;
}

.catalog-fibro-card{
  display:flex;
  flex-direction:column;
  border-radius:22px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 22px 40px rgba(160,118,70,0.18);
  text-decoration:none;
  color:inherit;
  transition:transform .2s ease, box-shadow .2s ease;
}

.catalog-fibro-card:hover,
.catalog-fibro-card:focus-visible{
  transform:translateY(-4px);
  box-shadow:0 28px 48px rgba(160,118,70,0.22);
}

.catalog-fibro-card__media{
  position:relative;
  padding-top:70%;
  overflow:hidden;
}

.catalog-fibro-card__media img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}

.catalog-fibro-card__body{
  display:flex;
  flex-direction:column;
  gap:8px;
  padding:18px 20px 20px;
}

.catalog-fibro-card__title{
  font-size:18px;
  letter-spacing:0.06em;
  text-transform:uppercase;
  color:#bb7821;
}

.catalog-fibro-card__count{
  font-size:13px;
  letter-spacing:0.04em;
  color:#704623;
}

.catalog-keramo-card{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:14px;
  height:100%;
  padding:22px 20px 18px;
  background:#fff;
  border-radius:14px;
  box-shadow:0 18px 38px rgba(160,118,70,0.16);
  transition:transform .2s ease, box-shadow .2s ease;
}

.catalog-keramo-card:hover,
.catalog-keramo-card:focus-within{
  transform:translateY(-3px);
  box-shadow:0 22px 46px rgba(160,118,70,0.2);
}

.catalog-keramo-card__link{
  display:flex;
  flex-direction:column;
  gap:14px;
  height:100%;
  color:inherit;
  text-decoration:none;
}

.catalog-keramo-card__media{
  align-self:center;
  width:100%;
  max-width:230px;
  aspect-ratio:1 / 1;
  border-radius:12px;
  overflow:hidden;
  box-shadow:0 16px 32px rgba(149,106,64,0.16);
  background:#f6eee1;
  display:flex;
  align-items:center;
  justify-content:center;
}

.catalog-keramo-card__image{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}

.catalog-page--fibrocement .catalog-keramo-card__media{
  max-width:100%;
  aspect-ratio:4 / 3;
}

.catalog-page--fibrocement .catalog-keramo-card__image{
  object-fit:contain;
  padding:10px;
  box-sizing:border-box;
  object-position:center;
}

.catalog-keramo-card__top{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
}

.catalog-page--podsistema .catalog-keramo-card__top{
  flex-direction:column;
  align-items:flex-start;
}

.catalog-page--podsistema .catalog-keramo-card__title{
  width:100%;
  white-space:normal;
  word-break:break-word;
}

.catalog-keramo-card__title{
  margin:0;
  font-size:20px;
  font-weight:700;
  letter-spacing:0.03em;
  color:#b98626;
  min-width:0;
  flex:1 1 auto;
}

.catalog-keramo-card__sku{
  font-size:14px;
  color:#bfb7ad;
  white-space:normal;
}

.catalog-keramo-card__meta{
  display:flex;
  flex-direction:column;
  gap:4px;
  text-align:center;
  color:#2a2a2a;
  font-weight:600;
}

.catalog-keramo-card__line{
  font-size:15px;
  line-height:1.35;
}

.catalog-keramo-card__line--format{
  font-size:16px;
  font-weight:700;
  letter-spacing:0.01em;
}

.catalog-keramo-card__footer{
  margin-top:auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}

.catalog-keramo-card__actions{
  display:flex;
  align-items:center;
  gap:10px;
}

.catalog-keramo-card__action{
  position:relative;
  width:46px;
  height:36px;
  border:1px solid #e5ded4;
  border-radius:8px;
  background:#fff;
  display:grid;
  place-items:center;
  color:#d4cdc1;
}

.catalog-keramo-card__action svg{
  width:20px;
  height:20px;
  stroke:currentColor;
  fill:none;
}

.catalog-keramo-card__badge{
  position:absolute;
  top:-7px;
  right:-7px;
  min-width:18px;
  height:18px;
  padding:0 4px;
  display:grid;
  place-items:center;
  background:#fff;
  border:1px solid #e5ded4;
  border-radius:50%;
  color:#d3542f;
  font-size:11px;
  font-weight:700;
  line-height:1;
}

.catalog-keramo-card__price{
  margin-left:auto;
  display:flex;
  align-items:flex-end;
  justify-content:flex-end;
  gap:4px;
  font-size:22px;
  font-weight:800;
  color:#d3542f;
  letter-spacing:0.05em;
  max-width:100%;
  flex:1 1 auto;
  text-align:right;
}

.catalog-keramo-card__price .woocommerce-Price-amount{
  font-size:22px;
  line-height:1;
}

.catalog-keramo-card__price-unit{
  font-size:13px;
  font-weight:600;
  color:#d3542f;
  letter-spacing:0.03em;
}

.catalog-page--kislotouporraya .catalog-keramo-card{
  cursor:zoom-in;
}

.catalog-page--kislotouporraya .catalog-keramo-card__image{
  object-fit:contain;
}

.catalog-image-modal{
  position:fixed;
  inset:0;
  z-index:9999;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
}

.catalog-image-modal[hidden]{
  display:none;
}

.catalog-image-modal__backdrop{
  position:absolute;
  inset:0;
  background:rgba(29, 22, 14, 0.6);
}

.catalog-image-modal__dialog{
  position:relative;
  z-index:1;
}

.catalog-image-modal__close{
  position:absolute;
  top:-14px;
  right:-14px;
  width:36px;
  height:36px;
  border-radius:50%;
  border:1px solid #e5ded4;
  background:#fff;
  color:#6a3c06;
  font-size:18px;
  line-height:1;
  cursor:pointer;
  box-shadow:0 8px 18px rgba(0, 0, 0, 0.12);
}

.catalog-image-modal__frame{
  width:min(70vh, 90vw);
  aspect-ratio:1 / 1;
  padding:16px;
  border-radius:26px;
  background:#fff;
  box-shadow:0 30px 60px rgba(0, 0, 0, 0.25);
}

.catalog-image-modal__image{
  width:100%;
  height:100%;
  border-radius:20px;
  object-fit:contain;
  background:#f6eee1;
}

.has-catalog-modal{
  overflow:hidden;
}

.request-modal{
  position:fixed;
  inset:0;
  z-index:10000;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
}

.request-modal[hidden]{
  display:none;
}

.request-modal__backdrop{
  position:absolute;
  inset:0;
  background:rgba(20, 12, 6, 0.55);
}

.request-modal__dialog{
  position:relative;
  z-index:1;
  width:min(760px, 94vw);
}

.request-modal__panel{
  background:#6b4a1d;
  border-radius:24px;
  padding:36px 36px 32px;
  box-shadow:0 30px 60px rgba(0, 0, 0, 0.35);
  border:2px solid rgba(0, 0, 0, 0.25);
}

.request-modal__close{
  position:absolute;
  top:16px;
  right:16px;
  width:36px;
  height:36px;
  border-radius:50%;
  border:0;
  background:rgba(255, 255, 255, 0.12);
  color:#fff;
  font-size:22px;
  line-height:1;
  cursor:pointer;
}

.request-form{
  display:flex;
  flex-direction:column;
  gap:14px;
}

.request-form__field input,
.request-form__field textarea{
  width:100%;
  border:0;
  background:#fff;
  font-family:var(--font);
  font-size:16px;
  color:#5b4330;
  box-shadow:inset 0 0 0 1px #e6dbcf;
}

.request-form__field input{
  height:44px;
  border-radius:999px;
  padding:0 20px;
}

.request-form__field--textarea textarea{
  min-height:120px;
  border-radius:18px;
  padding:14px 18px;
  resize:vertical;
}

.request-form__field input::placeholder,
.request-form__field textarea::placeholder{
  color:#9b8b7d;
}

.request-form__file{
  display:flex;
  justify-content:flex-end;
}

.request-form__file-label{
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:14px;
  color:var(--accent);
  cursor:pointer;
  font-weight:600;
}

.request-form__file-input{
  position:absolute;
  opacity:0;
  width:1px;
  height:1px;
}

.request-form__file-icon{
  display:inline-flex;
  color:var(--accent);
}

.request-form__consent{
  margin:10px auto 18px;
  max-width:520px;
  text-align:center;
  font-size:12px;
  line-height:1.5;
  color:#f4e5d4;
}

.request-form__submit{
  align-self:center;
  background:var(--accent);
  color:#fff;
  border:0;
  padding:14px 36px;
  border-radius:999px;
  font-weight:700;
  letter-spacing:0.08em;
  text-transform:uppercase;
  cursor:pointer;
  box-shadow:0 14px 30px rgba(0, 0, 0, 0.2);
  transition:transform .2s ease, box-shadow .2s ease;
}

.request-form__submit:hover,
.request-form__submit:focus-visible{
  transform:translateY(-2px);
  box-shadow:0 18px 34px rgba(0, 0, 0, 0.28);
}

.request-form__message{
  margin:8px 0 0;
  text-align:center;
  color:#fff3e3;
  font-size:13px;
  min-height:18px;
}

body.request-modal-open{
  overflow:hidden;
}

@media (max-width:720px){
  .request-modal__panel{
    padding:28px 20px 26px;
  }

  .request-form__consent{
    font-size:11px;
  }
}

@media (max-width:1024px){
  .catalog-product-card{
    grid-template-columns:200px minmax(0, 1fr);
  }

  .catalog-product-card__price{
    grid-column:1 / -1;
    justify-content:flex-start;
  }

  .catalog-keramo-card__media{
    max-width:210px;
  }
}

@media (max-width:640px){
  .catalog-product-card{
    grid-template-columns:1fr;
    gap:18px;
  }

  .catalog-product-card__price{
    justify-content:flex-start;
  }

  .catalog-product-card__meta-row{
    grid-template-columns:1fr;
    gap:4px;
  }

  .catalog-keramo-card{
    padding:18px 16px;
  }

  .catalog-keramo-card__top{
    flex-direction:column;
    align-items:flex-start;
    gap:6px;
  }

  .catalog-keramo-card__meta{
    text-align:left;
  }

  .catalog-keramo-card__footer{
    flex-direction:column;
    align-items:flex-start;
  }

  .catalog-keramo-card__price{
    margin-left:0;
  }
}

.catalog-tiles__card{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:20px;
  padding:32px 32px 36px;
  background:#fff;
  clip-path:polygon(var(--bevel-cut, var(--hero-bevel)) 0, 100% 0, calc(100% - var(--bevel-cut, var(--hero-bevel))) 100%, 0 100%);
  box-shadow:0 22px 40px rgba(160,118,70,0.18);
}

.catalog-tiles__card--podsistema{
  min-height:220px;
  align-items:center;
  text-align:center;
}

.catalog-tiles__images{
  display:grid;
  grid-template-columns:120px 1fr;
  gap:18px;
  align-items:center;
}

.catalog-tiles__images--single{
  grid-template-columns:1fr;
}

.catalog-tiles__tile{
  width:100%;
  aspect-ratio:1;
  object-fit:cover;
  border-radius:18px;
  background:#f6ede1;
  box-shadow:0 12px 28px rgba(149,106,64,0.22);
}

.catalog-tiles__photo{
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:20px;
  box-shadow:0 18px 34px rgba(149,106,64,0.18);
}

.catalog-tiles__title{
  margin:0;
  font-size:24px;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:#bb7821;
}

.catalog-tiles__notes{
  margin:0;
  padding:0;
  list-style:none;
  display:flex;
  flex-direction:column;
  gap:8px;
  color:#4a3624;
  letter-spacing:0.02em;
}

.catalog-tiles__price{
  margin:4px 0 0;
  font-weight:600;
  letter-spacing:0.05em;
  color:#8f5a1d;
}

.catalog-tiles__link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:12px 24px;
  border-radius:999px;
  background:#ece0ce;
  color:#724820;
  text-decoration:none;
  font-weight:600;
  letter-spacing:0.05em;
  transition:all .2s ease;
  margin-top:8px;
}

.catalog-tiles__link:hover,
.catalog-tiles__link:focus-visible{
  background:#d9b98c;
  color:#3f2814;
}

.catalog-index{
  padding:10px 0 70px;
}

.catalog-index__section{
  display:flex;
  flex-direction:column;
  gap:20px;
  margin-bottom:48px;
}

.catalog-index__section:last-child{
  margin-bottom:0;
}

.catalog-index__info{
  gap:16px;
  display:flex;
  flex-direction:column;
}

.catalog-index__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
}

.catalog-index__lead{
  margin:0;
  color:#4a3624;
  line-height:1.5;
}

.catalog-index__preview .catalog-tiles__grid{
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:20px;
  width:100%;
  max-width:100%;
  margin:0;
}

.catalog-page--index .catalog-tiles__card{
  clip-path:none;
  border-radius:26px;
  padding-left:64px;
  padding-top:36px;
  padding-right:40px;
}

.catalog-page--index .catalog-tiles__card--podsistema{
  align-items:flex-start;
  text-align:left;
}

.catalog-index__cta{
  margin-top:auto;
  align-self:flex-start;
}

.catalog-keramo-card--preview{
  padding:18px 16px 16px;
  gap:10px;
  box-shadow:0 16px 28px rgba(160,118,70,0.14);
}

.catalog-keramo-card--preview .catalog-keramo-card__media{
  max-width:100%;
  aspect-ratio:4 / 3;
}

.catalog-keramo-card--preview .catalog-keramo-card__title{
  font-size:16px;
}

.catalog-keramo-card--preview .catalog-keramo-card__sku{
  font-size:12px;
}

.catalog-keramo-card--preview .catalog-keramo-card__line{
  font-size:13px;
}

.catalog-keramo-card--preview .catalog-keramo-card__line--collection,
.catalog-keramo-card--preview .catalog-keramo-card__line--surface{
  display:none;
}

.catalog-keramo-card--preview .catalog-keramo-card__footer{
  flex-direction:row;
  align-items:center;
}

.catalog-keramo-card--preview .catalog-keramo-card__price{
  font-size:18px;
}

.catalog-keramo-card--preview .catalog-keramo-card__price .woocommerce-Price-amount{
  font-size:18px;
}

@media (max-width: 1100px){
  .catalog-index__preview .catalog-tiles__grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 700px){
  .catalog-index__preview .catalog-tiles__grid{
    grid-template-columns:1fr;
  }
}

.catalog-intro{
  padding:32px 0 12px;
}

.catalog-intro__inner{
  display:grid;
  gap:18px;
  max-width:760px;
  color:#4f3b29;
  line-height:1.6;
}

.catalog-section-title{
  margin:0 0 26px;
  font-size:26px;
  letter-spacing:0.1em;
  text-transform:uppercase;
  color:#a6631f;
}

.catalog-table-wrap{
  overflow-x:auto;
  border-radius:18px;
  box-shadow:0 18px 32px rgba(169,126,86,0.12);
  background:#fff;
}

.catalog-table{
  width:100%;
  border-collapse:collapse;
  min-width:720px;
}

.catalog-table th,
.catalog-table td{
  padding:16px 18px;
  text-align:left;
  border-bottom:1px solid rgba(208, 182, 150, 0.4);
  color:#463728;
  font-size:15px;
}

.catalog-table th{
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:0.08em;
  background:#f8ecd9;
}

.catalog-table--compact{
  min-width:680px;
}

.catalog-benefits{
  padding:64px 0;
}

.catalog-benefits__inner{
  display:grid;
  gap:24px;
}

.catalog-benefits__list{
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  gap:12px;
  color:#4d3826;
  letter-spacing:0.03em;
}

.catalog-benefits__list li{
  padding-left:28px;
  position:relative;
}

.catalog-benefits__list li::before{
  content:"";
  position:absolute;
  left:0;
  top:9px;
  width:12px;
  height:12px;
  border-radius:50%;
  background:#d07a2a;
  box-shadow:0 6px 14px rgba(208,122,42,0.25);
}

.catalog-cta-section{
  padding:70px 0 90px;
  background:linear-gradient(160deg, rgba(63,38,18,0.9) 0%, rgba(21,13,7,0.92) 100%);
  color:#fff;
}

.catalog-cta-section__inner{
  display:flex;
  flex-direction:column;
  gap:18px;
  align-items:flex-start;
}

.catalog-cta-section__actions{
  display:flex;
  align-items:center;
  gap:20px;
}

.catalog-cta-section__button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:16px 38px;
  border-radius:999px;
  background:#d3542f;
  color:#fff;
  text-transform:uppercase;
  letter-spacing:0.12em;
  font-weight:700;
  text-decoration:none;
  box-shadow:0 18px 34px rgba(211,84,47,0.35);
}

.catalog-cta-section__button:hover,
.catalog-cta-section__button:focus-visible{
  box-shadow:0 22px 42px rgba(211,84,47,0.4);
}

.catalog-cta-section__link{
  color:#ffd7a9;
  font-size:22px;
  letter-spacing:0.08em;
  text-decoration:none;
}

@media (max-width:1024px){
  .catalog-hero__inner{
    grid-template-columns:1fr;
  }

  .catalog-hero__media{
    height:280px;
  }

  .catalog-tiles__grid{
    grid-template-columns:repeat(auto-fit, minmax(240px, 1fr));
  }

  .catalog-tiles__card{
    max-width:none;
  }

  .catalog-tiles__images{
    grid-template-columns:90px 1fr;
  }
}

@media (max-width:640px){
  .catalog-hero{
    padding:60px 0 48px;
  }

  .catalog-hero__media{
    height:220px;
  }

  .catalog-tiles__grid{
    grid-template-columns:1fr;
  }

  .catalog-tiles__images{
    grid-template-columns:72px 1fr;
    gap:14px;
  }

  .catalog-tiles__title{
    font-size:20px;
  }

  .catalog-page--index .catalog-tiles__card{
    padding-left:52px;
    padding-right:24px;
    max-width:540px;
    width:100%;
    margin-left:auto;
    margin-right:auto;
  }

  .catalog-page--index .catalog-tiles__title{
    margin-left:4px;
    letter-spacing:0.1em;
    overflow-wrap:anywhere;
  }

  .catalog-index__preview .catalog-tiles__grid{
    max-width:540px;
    width:100%;
    margin-left:auto;
    margin-right:auto;
  }

  .catalog-table{
    min-width:100%;
  }

  .catalog-cta-section__actions{
    flex-direction:column;
    align-items:flex-start;
    gap:12px;
  }
}
.catalog-tiles__card--podsistema .catalog-tiles__images{
  width:100%;
  justify-items:center;
}

.catalog-tiles__card--podsistema .catalog-tiles__images img{
  width:100%;
  max-width:260px;
  border-radius:22px;
  box-shadow:0 16px 32px rgba(149,106,64,0.18);
}

/* Page-specific tweaks: Kislotoupornaya — four tiles in a row */
.catalog-page--kislotouporraya .catalog-tiles__grid{
  grid-template-columns:repeat(4, minmax(0, 1fr));
}

@media (max-width:1024px){
  .catalog-page--kislotouporraya .catalog-tiles__grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media (max-width:768px){
  .catalog-page--kislotouporraya .catalog-tiles__grid{
    grid-template-columns:1fr;
  }
}

/* Equalize product card heights on this page */
.catalog-page--kislotouporraya .catalog-tiles__card{
  min-height:460px;
}

@media (max-width:1024px){
  .catalog-page--kislotouporraya .catalog-tiles__card{
    min-height:420px;
  }
}

@media (max-width:640px){
  .catalog-page--kislotouporraya .catalog-tiles__card{
    min-height:auto;
  }
}

/* Normalize image block sizing so photos fit and look smaller */
.catalog-page--kislotouporraya .catalog-tiles__images{
  align-items:start;
  grid-template-columns:100px 1fr;
  gap:16px;
}
.catalog-page--kislotouporraya .catalog-tiles__photo{
  width:100%;
  height:180px;
  aspect-ratio:auto;
  object-fit:cover;
}

@media (max-width:1024px){
  .catalog-page--kislotouporraya .catalog-tiles__images{
    grid-template-columns:84px 1fr;
  }
  .catalog-page--kislotouporraya .catalog-tiles__photo{
    height:160px;
  }
}

@media (max-width:640px){
  .catalog-page--kislotouporraya .catalog-tiles__images{
    grid-template-columns:72px 1fr;
  }
  .catalog-page--kislotouporraya .catalog-tiles__photo{
    height:150px;
  }
}

/* Catalog filters bar */
.catalog-filters{
  background:transparent;
  padding:0 0 12px;
  display:block;
  width:100%;
}
.catalog-page--fibrocement .catalog-filters{
  margin-top:18px;
}
.catalog-filters > .container{
  background:#6a3c06;
  padding:18px 20px;
  border-radius:18px;
  box-shadow:0 18px 36px rgba(149,96,32,0.18);
}
.catalog-filters__form{
  display:flex;
  flex-direction:column;
  gap:20px;
  width:100%;
  align-items:stretch;
}
.catalog-filters__grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(280px, 1fr));
  gap:16px 20px;
  align-items:start;
  width:100%;
}
.catalog-filters__column{
  display:flex;
  flex-direction:column;
  gap:16px;
}
.catalog-filters .filter{
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  min-width:0;
}
.catalog-filters .filter.is-open{
  z-index:20;
}
.catalog-filters .filter__toggle{
  display:flex;
  align-items:center;
  line-height:1;
  min-height:48px;
  width:100%;
  padding:12px 18px;
  font-weight:700;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:#3f250c;
  background:#fff;
  border:1px solid #3f250c;
  border-radius:14px;
  cursor:pointer;
  position:relative;
  transition:box-shadow .2s ease, border-color .2s ease;
}
.catalog-filters .filter__toggle span{
  display:inline-flex;
  align-items:center;
  line-height:1;
}
.catalog-filters .filter__toggle::after{
  content:"";
  position:absolute;
  right:18px;
  top:50%;
  width:12px;
  height:12px;
  border-right:2px solid currentColor;
  border-bottom:2px solid currentColor;
  transform:translateY(-50%) rotate(45deg);
  transition:transform .2s ease;
}
.catalog-filters .filter__toggle[aria-expanded="true"]::after{
  transform:translateY(-30%) rotate(-135deg);
}
.catalog-filters .filter__toggle[aria-expanded="true"]{
  border-bottom-left-radius:0;
  border-bottom-right-radius:0;
  border-color:#b77216;
  box-shadow:0 16px 26px rgba(63,33,8,0.18);
}
.catalog-filters .filter__toggle:hover,
.catalog-filters .filter__toggle:focus-visible{
  border-color:#d4922f;
  box-shadow:0 12px 26px rgba(63,33,8,0.18);
  outline:none;
}
.catalog-filters .filter__panel{
  position:absolute;
  left:0;
  right:0;
  top:calc(100% - 1px);
  background:#fff;
  border:1px solid #b77216;
  border-top-left-radius:0;
  border-top-right-radius:0;
  border-bottom-left-radius:12px;
  border-bottom-right-radius:12px;
  box-shadow:0 18px 34px rgba(63,33,8,0.2);
  padding:16px 18px;
  max-height:none;
  overflow:visible;
  z-index:5;
}
.catalog-filters .filter__list{
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  gap:10px;
}
.catalog-filters .filter__empty{
  font-size:13px;
  color:#9b6b33;
}
.catalog-filters .filter__list label{
  display:flex;
  align-items:center;
  gap:12px;
  cursor:pointer;
  font-weight:500;
  color:#3d2912;
}
.catalog-filters .filter__list input[type="checkbox"]{
  appearance:none;
  width:20px;
  height:20px;
  border:1px solid #a66218;
  border-radius:4px;
  background:#fff;
  display:grid;
  place-items:center;
  transition:border-color .2s ease, background .2s ease;
}
.catalog-filters .filter__list input[type="checkbox"]:checked{
  border-color:#c57315;
  background:#fff;
}
.catalog-filters .filter__list input[type="checkbox"]::before{
  content:"";
  width:10px;
  height:10px;
  border-radius:1px;
  transform:scale(0);
  transition:transform .15s ease;
  background:#c57315;
}
.catalog-filters .filter__list input[type="checkbox"]:checked::before{
  transform:scale(1);
}
.catalog-filters .filter__list input[type="checkbox"]:focus-visible{
  outline:2px solid #c57315;
  outline-offset:2px;
}
.catalog-filters__footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  flex-wrap:wrap;
}
.catalog-filters__reset{
  color:#fff;
  text-decoration:none;
  font-weight:600;
  display:inline-flex;
  align-items:center;
  gap:6px;
}
.catalog-filters__reset:hover,
.catalog-filters__reset:focus-visible{
  text-decoration:underline;
}
.catalog-filters__reset::before{
  content:"\2715";
  font-size:12px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:18px;
  height:18px;
  border-radius:50%;
  background:#fff;
  color:#c44c1a;
}

.catalog-filters__sorting{
  margin:0;
  display:inline-flex;
  align-items:center;
  gap:18px;
  color:#fff;
  white-space:nowrap;
}
.catalog-filters__sorting-label{
  font-weight:700;
  letter-spacing:0.08em;
  text-transform:uppercase;
}
.catalog-filters__sorting-buttons{
  display:inline-flex;
  align-items:center;
  gap:18px;
  white-space:nowrap;
}
.catalog-filters__sort-price{
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:#fff;
  font-weight:700;
  letter-spacing:0.08em;
  text-transform:uppercase;
}
.catalog-filters__sort-label{
  display:inline-flex;
  align-items:center;
}
.catalog-filters__sort-arrow{
  border:none;
  background:transparent;
  color:rgba(255,255,255,0.6);
  cursor:pointer;
  font-size:12px;
  line-height:1;
  padding:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.catalog-filters__sort-arrow--down{
  transform:rotate(180deg);
}
.catalog-filters__sort-arrow.is-active{
  color:#ff4d27;
}
.catalog-filters__sort-btn{
  border:none;
  background:transparent;
  color:#fff;
  font-weight:700;
  letter-spacing:0.08em;
  text-transform:uppercase;
  cursor:pointer;
  padding:0;
  position:relative;
  white-space:nowrap;
  display:inline-flex;
  align-items:center;
}
.catalog-filters__sort-btn:hover,
.catalog-filters__sort-btn:focus-visible{
  text-decoration:underline;
}
.catalog-filters__sort-btn.is-active{
  color:#fff;
  text-decoration:underline;
}
.catalog-filters__sort-btn .sort-indicator{
  margin-left:6px;
  font-size:12px;
  vertical-align:middle;
  display:inline-block;
}
.catalog-filters__sort-btn .sort-indicator--up{
  color:#ff4d27;
}
.catalog-filters__sort-btn .sort-indicator--down{
  color:#ff4d27;
  transform:rotate(180deg);
}
.catalog-filters__sort-btn .sort-indicator--down-alt{
  color:rgba(255,255,255,0.65);
  transform:rotate(180deg);
  margin-left:4px;
}

.catalog-collections-inline{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:12px;
  margin:12px 0 0;
  color:#563613;
}
.catalog-collections-select{
  width:100%;
  margin:0;
  position:relative;
}
.catalog-collections-select .filter__label{
  position:absolute;
  top:10px;
  left:16px;
  margin:0;
  font-weight:700;
  letter-spacing:0.06em;
  text-transform:uppercase;
  color:#7b572f;
  font-size:12px;
}
.catalog-collections-select__control{
  width:100%;
  min-height:50px;
  padding:12px 36px 12px 16px;
  border-radius:16px;
  border:1px solid #3f250c;
  background:#fff;
  color:#3f250c;
  font-weight:700;
  letter-spacing:0.06em;
  text-transform:uppercase;
  line-height:1;
  box-shadow:0 12px 24px rgba(0,0,0,0.12);
  appearance:none;
  -webkit-appearance:none;
  -moz-appearance:none;
}
.filter--select::after{
  content:"";
  position:absolute;
  right:18px;
  top:50%;
  width:12px;
  height:12px;
  border-right:2px solid #3f250c;
  border-bottom:2px solid #3f250c;
  transform:translateY(-50%) rotate(45deg);
  pointer-events:none;
}
.catalog-collections-select__control:focus-visible{
  outline:2px solid #d4922f;
  outline-offset:2px;
}
.catalog-collections-inline__label{
  font-weight:700;
  letter-spacing:0.04em;
}
.catalog-collections-inline__list{
  list-style:none;
  padding:0;
  margin:0;
  display:flex;
  flex-wrap:wrap;
  gap:14px;
}
.catalog-collections-inline__link{
  color:#b45919;
  text-decoration:none;
  font-weight:700;
}
.catalog-collections-inline__link:hover,
.catalog-collections-inline__link:focus-visible{
  text-decoration:underline;
}
.catalog-collections-inline__link.is-active{
  color:#c44c1a;
  text-decoration:underline;
}

.catalog-pagination{
  margin:36px 0 0;
  display:flex;
  justify-content:center;
}
.catalog-page .catalog-pagination{
  margin-bottom:12px;
}

.catalog-page .catalog-tiles{
  padding-bottom:40px;
}

.catalog-page--keramogranit + .site-footer{
  margin-top:40px;
}
.catalog-pagination ul{
  display:flex;
  gap:8px;
  list-style:none;
  padding:0;
  margin:0;
}
.catalog-pagination li a,
.catalog-pagination li span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:36px;
  height:36px;
  border-radius:50%;
  background:#f5d28b;
  color:#5a3614;
  text-decoration:none;
  font-weight:600;
}
.catalog-pagination li .current{
  background:#b5690d;
  color:#fff;
}

.single-product-page{
  padding:18px 0 40px;
}

.single-product-hero{
  margin-top:10px;
  background:#fff;
  border-radius:18px;
  box-shadow:0 18px 34px rgba(149,106,64,0.14);
  padding:22px 22px 24px;
}

.single-product-hero__inner{
  display:grid;
  grid-template-columns:380px minmax(0, 1fr) 260px;
  gap:20px;
  align-items:start;
}

.single-product-hero__media{
  background:#f6eee1;
  border-radius:14px;
  overflow:hidden;
  box-shadow:0 14px 28px rgba(149,106,64,0.18);
}

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

.single-product-hero__body{
  display:flex;
  flex-direction:column;
  gap:12px;
}

.single-product-hero__head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
}

.single-product-hero__subtitle{
  margin:0 0 4px;
  color:#2e1f0f;
  font-weight:700;
}

.single-product-hero__title{
  margin:0;
  font-size:22px;
  color:#1b1209;
}

.single-product-hero__sku{
  margin:4px 0 0;
  color:#9b8f80;
  font-weight:600;
}

.single-product-hero__wishlist{
  background:transparent;
  border:none;
  font-size:18px;
  color:#c89a39;
  cursor:pointer;
}

.single-product-hero__tags{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}

.single-product-hero__tag{
  display:flex;
  flex-direction:column;
  gap:4px;
}

.single-product-hero__tag-label{
  font-size:12px;
  letter-spacing:0.05em;
  text-transform:uppercase;
  color:#7b572f;
}

.single-product-hero__tag-value{
  padding:6px 8px;
  border:1px solid #d9c9b3;
  border-radius:4px;
  background:#fff7ec;
  font-weight:600;
  color:#2e1f0f;
}

.single-product-hero__tag-value--bold{
  font-weight:700;
}

.single-product-hero__meta{
  margin:8px 0;
  display:grid;
  grid-template-columns:1fr;
  gap:6px;
}

.single-product-hero__meta-row{
  display:grid;
  grid-template-columns:1fr auto;
  gap:10px;
  font-size:14px;
  color:#6b553c;
  align-items:baseline;
  padding-bottom:4px;
  border-bottom:1px dashed rgba(149,106,64,0.18);
}

.single-product-hero__meta-row dt{
  margin:0;
  font-weight:600;
  letter-spacing:0.02em;
}

.single-product-hero__meta-row dd{
  margin:0;
  font-weight:700;
  color:#2f2417;
  text-align:right;
}

.single-product-hero__link{
  color:#9b6f2f;
  font-weight:700;
  text-decoration:underline;
  text-decoration-thickness:1px;
}

.single-product-hero__price-card{
  position:relative;
  background:#b4832e;
  color:#fff;
  border-radius:16px;
  padding:16px 16px 18px;
  display:flex;
  flex-direction:column;
  gap:12px;
  box-shadow:0 16px 30px rgba(99,62,12,0.3);
}

.single-product-hero__stock{
  align-self:flex-end;
  font-size:13px;
  font-weight:700;
}

.single-product-hero__price{
  font-size:24px;
  font-weight:800;
  letter-spacing:0.06em;
}

.single-product-hero__subprices{
  display:flex;
  flex-direction:column;
  gap:4px;
  font-size:14px;
  opacity:0.9;
}

.single-product-hero__cart form.cart{
  display:flex !important;
  flex-wrap:wrap;
  align-items:center;
  gap:12px;
  float:none !important;
  width:100%;
}

.single-product-hero__cart .woocommerce-variation-add-to-cart{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:12px;
  width:100%;
}

.single-product-hero__cart table.variations{
  width:100%;
  border-collapse:collapse;
  margin:0 0 8px;
}

.single-product-hero__cart table.variations.is-hidden{
  display:none;
}

.single-product-hero__cart table.variations td{
  padding:0 0 8px;
  vertical-align:middle;
}

.single-product-hero__cart table.variations td.label{
  width:110px;
  color:#f4e9d8;
  font-weight:700;
  font-size:13px;
  letter-spacing:0.04em;
  text-transform:uppercase;
}

.single-product-hero__cart table.variations td.value{
  width:100%;
}

.single-product-hero__cart table.variations select{
  width:100%;
  padding:8px 34px 8px 12px;
  border-radius:8px;
  border:1px solid rgba(255,255,255,0.55);
  background:#fff8ef;
  color:#2f2417;
  font-weight:700;
  font-size:14px;
  letter-spacing:0.02em;
  appearance:none;
  background-image:linear-gradient(45deg, transparent 50%, #7a4a19 50%),
    linear-gradient(135deg, #7a4a19 50%, transparent 50%);
  background-position:calc(100% - 18px) 52%, calc(100% - 12px) 52%;
  background-size:6px 6px, 6px 6px;
  background-repeat:no-repeat;
}

.single-product-hero__cart table.variations tr.is-hidden{
  display:none;
}

.single-product-hero__cart .reset_variations{
  display:none !important;
}

.single-product-hero__cart .quantity{
  display:flex;
  align-items:center;
  gap:10px;
  flex:0 0 auto;
  margin:0;
}

.single-product-hero__cart .qty{
  width:90px;
  padding:10px 12px;
  border:1px solid #e1cfae;
  border-radius:8px;
  font-weight:700;
  color:#2f2417;
}

.single-product-hero__cart button.single_add_to_cart_button{
  width:auto;
  background:#6a3c06 !important;
  color:#fff !important;
  border:none;
  border-radius:10px;
  padding:12px 14px;
  font-weight:800;
  letter-spacing:0.04em;
  cursor:pointer;
  flex:0 0 auto;
}

.single-product-hero__cart button.single_add_to_cart_button:hover,
.single-product-hero__cart button.single_add_to_cart_button:focus-visible{
  background:#7a4711 !important;
}

.single-product-hero__cta{
  display:inline-flex;
  justify-content:center;
  align-items:center;
  padding:10px 14px;
  border:1px solid rgba(255,255,255,0.75);
  border-radius:8px;
  color:#fff;
  font-weight:700;
  text-decoration:none;
  clear:both;
  margin-top:12px;
}

.single-product-specs{
  margin-top:26px;
  background:#f3eada;
  border-radius:14px;
  padding:18px 16px 22px;
  box-shadow:0 10px 22px rgba(149,106,64,0.08);
}

.single-product-specs__title{
  margin:0 0 14px;
  font-size:18px;
  color:#1f140a;
}

.single-product-specs__grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
  gap:10px 24px;
}

.single-product-specs__row{
  display:grid;
  grid-template-columns:1fr;
  gap:4px;
  font-size:14px;
  color:#4a3624;
}

.single-product-specs__label{
  font-weight:600;
}

.single-product-specs__value{
  font-weight:500;
}

@media (max-width:1024px){
  .single-product-hero__inner{
    grid-template-columns:1fr;
  }

  .single-product-hero__price-card{
    grid-row:3;
  }
}

@media (max-width:1024px){
  .catalog-fibro-types__grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .catalog-fibro-colors__list{
    grid-template-columns:repeat(auto-fit, minmax(160px, 1fr));
  }
}

@media (max-width:640px){
  .single-product-hero{
    padding:16px;
  }

  .single-product-hero__head{
    flex-direction:column;
  }

  .single-product-hero__meta-row{
    grid-template-columns:1fr;
    text-align:left;
  }

  .single-product-hero__meta-row dd{
    text-align:left;
  }
}

@media (max-width:768px){
  .catalog-filters__footer{
    flex-direction:column;
    align-items:flex-start;
    gap:12px;
  }
}

@media (max-width:768px){
  .catalog-page--keramogranit .catalog-tiles__grid,
  .catalog-page--fibrocement .catalog-tiles__grid,
  .catalog-page--podsistema .catalog-tiles__grid{
    grid-template-columns:1fr;
  }
}

@media (max-width:768px){
  .catalog-fibro-types__grid{
    grid-template-columns:1fr;
  }
}
/* Catalog breadcrumbs */
.catalog-breadcrumbs{
  margin:0 0 18px;
  font-size:14px;
  letter-spacing:0.04em;
  color:#9e5a1c;
}
.catalog-breadcrumbs__list{
  margin:0;
  padding:0;
  list-style:none;
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  align-items:center;
}
.catalog-breadcrumbs__item{
  position:relative;
  display:flex;
  align-items:center;
  gap:12px;
}
.catalog-breadcrumbs__item + .catalog-breadcrumbs__item::before{
  content:"›";
  color:#d35f1c;
}
.catalog-breadcrumbs__item a{
  color:inherit;
  text-decoration:none;
}
.catalog-breadcrumbs__item a:hover,
.catalog-breadcrumbs__item a:focus-visible{
  text-decoration:underline;
}
.catalog-breadcrumbs__item.is-current span{
  color:#d35f1c;
  font-weight:600;
}

.contacts-page{
  padding-top:60px;
  padding-bottom:80px;
}

.contacts-page__header{
  display:flex;
  flex-direction:column;
  gap:12px;
  max-width:620px;
  margin-bottom:36px;
}

.contacts-page__header h1{
  margin:0;
  font-size:44px;
  font-weight:800;
  letter-spacing:0.02em;
}

.contacts-page__header p{
  margin:0;
  font-size:18px;
  line-height:1.6;
  color:var(--muted);
}

.contacts-page__card{
  background:#fff;
  border-radius:24px;
  padding:32px;
  box-shadow:0 18px 36px rgba(34,24,14,0.12);
  display:flex;
  flex-direction:column;
  gap:16px;
  max-width:420px;
}

.contacts-page__card h2{
  margin:0;
  font-size:26px;
  font-weight:700;
}

.contacts-page__phone{
  font-size:28px;
  font-weight:800;
  color:var(--accent);
  text-decoration:none;
  letter-spacing:0.03em;
}
.contacts-page__phones{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.contacts-page__phone-row{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.contacts-page__messengers{
  display:flex;
  align-items:center;
  gap:8px;
}
.contacts-page__messengers a{
  width:36px;
  height:36px;
  border-radius:50%;
  border:1px solid #c89a39;
  background:#fff;
  display:grid;
  place-items:center;
  text-decoration:none;
  transition:color .2s ease, border-color .2s ease, transform .2s ease;
}
.contacts-page__messengers a:hover,
.contacts-page__messengers a:focus-visible{
  border-color:#f0461e;
  transform:translateY(-1px);
}
.contacts-page__messengers img{
  width:24px;
  height:24px;
  display:block;
}
.contacts-page__note{
  font-size:16px;
  font-weight:700;
  color:#4a321f;
}

.contacts-page__messenger-block{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-top:6px;
}

.contacts-page__messenger-title{
  font-size:14px;
  font-weight:700;
  letter-spacing:0.06em;
  text-transform:uppercase;
  color:#4a321f;
}

.contacts-page__card p{
  margin:0;
  font-size:16px;
}

.contacts-page__card a{
  color:var(--accent);
  text-decoration:none;
}

.contacts-page__card a:hover,
.contacts-page__card a:focus-visible{
  text-decoration:underline;
}

.faq-page{
  padding:28px 0 80px;
}

.faq-hero{
  padding:10px 0 10px;
}

.faq-hero__lead{
  margin:0;
  max-width:760px;
  color:#4a3624;
  line-height:1.6;
}

.faq-content{
  padding-top:18px;
}

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

@media (max-width: 900px){
  .faq-grid{
    grid-template-columns:1fr;
  }
}

.faq-card{
  background:#fff;
  border-radius:24px;
  padding:28px;
  box-shadow:0 18px 36px rgba(34,24,14,0.12);
  display:flex;
  flex-direction:column;
  gap:16px;
}

.faq-card h3{
  margin:0;
  font-size:22px;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:#bb7821;
}

.faq-block{
  display:flex;
  flex-direction:column;
  gap:8px;
}

.faq-block h4{
  margin:0;
  font-size:18px;
  font-weight:700;
  color:#4a321f;
}

.faq-block ul{
  margin:0;
  padding-left:18px;
  color:#4a3624;
  line-height:1.6;
}

.faq-note{
  margin:22px 0 0;
  font-size:16px;
  color:#4a3624;
}

.faq-note a{
  color:var(--accent);
  text-decoration:none;
  border-bottom:1px solid transparent;
}

.faq-note a:hover,
.faq-note a:focus-visible{
  border-bottom-color:var(--accent);
}

.faq-page .section-heading h2{
  white-space:normal;
}

@media (max-width: 767px){
  .faq-card{
    padding:22px;
  }

  .faq-page .section-heading{
    padding-left:0;
  }

  .faq-page .section-heading::before{
    display:none;
  }
}

.tips-page{
  padding:28px 0 80px;
}

.tips-hero{
  padding:10px 0;
}

.tips-hero__lead{
  margin:0;
  max-width:860px;
  color:#4a3624;
  line-height:1.6;
}

.tips-content{
  padding-top:18px;
}

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

.tips-card{
  background:#fff;
  border-radius:24px;
  padding:28px;
  box-shadow:0 18px 36px rgba(34,24,14,0.12);
  display:flex;
  flex-direction:column;
  gap:16px;
}

.tips-card h3{
  margin:0;
  font-size:22px;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:#bb7821;
}

.tips-block{
  display:flex;
  flex-direction:column;
  gap:8px;
}

.tips-block h4{
  margin:0;
  font-size:18px;
  font-weight:700;
  color:#4a321f;
}

.tips-block ul{
  margin:0;
  padding-left:18px;
  color:#4a3624;
  line-height:1.6;
}

.tips-page .section-heading h2{
  white-space:normal;
}

@media (max-width: 900px){
  .tips-grid{
    grid-template-columns:1fr;
  }
}

@media (max-width: 767px){
  .tips-card{
    padding:22px;
  }

  .tips-page .section-heading{
    padding-left:0;
  }

.tips-page .section-heading::before{
    display:none;
  }
}

.brands-page{
  padding:28px 0 80px;
}

.brands-hero{
  padding:10px 0;
}

.brands-hero__title{
  margin:0;
  font-size:28px;
  color:#4a321f;
}

.brands-hero__lead{
  margin:10px 0 0;
  max-width:900px;
  color:#4a3624;
  line-height:1.6;
}

.partner-program-page{
  padding:28px 0 80px;
}

.partner-program-hero{
  padding:10px 0;
}

.partner-program-hero__lead{
  margin:0;
  max-width:900px;
  color:#4a3624;
  line-height:1.6;
}

.partner-program-content{
  padding-top:18px;
}

.partner-program-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:24px;
}

.partner-program-card{
  background:#fff;
  border-radius:24px;
  padding:28px;
  box-shadow:0 18px 36px rgba(34,24,14,0.12);
  display:flex;
  flex-direction:column;
  gap:14px;
}

.partner-program-card h3{
  margin:0;
  font-size:22px;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:#bb7821;
}

.partner-program-card p{
  margin:0;
  color:#4a3624;
  line-height:1.6;
}

.partner-program-card ul,
.partner-program-card ol{
  margin:0;
  padding-left:18px;
  color:#4a3624;
  line-height:1.6;
}

.partner-program-cta{
  margin-top:28px;
  background:linear-gradient(135deg, #fff 0%, #f7efe3 100%);
  border-radius:28px;
  padding:32px;
  box-shadow:0 18px 36px rgba(34,24,14,0.12);
}

.partner-program-cta h3{
  margin:0 0 14px;
  font-size:24px;
  letter-spacing:0.03em;
  color:#bb7821;
  text-transform:uppercase;
}

.partner-program-cta ul{
  margin:0;
  padding-left:18px;
  color:#4a3624;
  line-height:1.6;
}

.partner-program-cta__note{
  margin:16px 0 0;
  color:#4a3624;
  line-height:1.6;
}

.partner-program-page .section-heading h2{
  white-space:normal;
}

@media (max-width: 900px){
  .partner-program-grid{
    grid-template-columns:1fr;
  }
}

@media (max-width: 767px){
  .partner-program-card{
    padding:22px;
  }

  .partner-program-cta{
    padding:24px;
    border-radius:24px;
  }

  .partner-program-page .section-heading{
    padding-left:0;
  }

  .partner-program-page .section-heading::before{
    display:none;
  }
}

.brands-content{
  padding-top:20px;
}

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

.brand-card{
  background:#fff;
  border-radius:24px;
  padding:26px;
  box-shadow:0 18px 36px rgba(34,24,14,0.12);
  display:flex;
  flex-direction:column;
  gap:14px;
}

.brand-card__head{
  display:grid;
  grid-template-columns:84px minmax(0,1fr);
  align-items:center;
  gap:14px;
}

.brand-card__logo-wrap{
  width:84px;
  height:84px;
  border-radius:18px;
  background:#f7efe3;
  border:1px solid #eadbc7;
  display:grid;
  place-items:center;
  overflow:hidden;
}

.brand-card__logo{
  max-width:70px;
  max-height:70px;
  width:auto;
  height:auto;
  object-fit:contain;
}

.brand-card h3{
  margin:0;
  font-size:24px;
  letter-spacing:0.03em;
  color:#bb7821;
}

.brand-card__lead{
  margin:0;
  color:#4a3624;
  line-height:1.6;
}

.brand-card__group{
  display:flex;
  flex-direction:column;
  gap:8px;
}

.brand-card__group h4{
  margin:0;
  font-size:18px;
  font-weight:700;
  color:#4a321f;
}

.brand-card__group ul{
  margin:0;
  padding-left:18px;
  color:#4a3624;
  line-height:1.6;
}

.brand-card__note{
  margin:2px 0 0;
  color:#4a321f;
  font-weight:600;
}

@media (max-width: 1024px){
  .brands-grid{
    grid-template-columns:1fr;
  }
}

@media (max-width: 767px){
  .brands-page .section-heading{
    padding-left:0;
  }

  .brands-page .section-heading::before{
    display:none;
  }

  .brands-hero__title{
    font-size:22px;
  }

  .brand-card{
    padding:22px;
  }

  .brand-card__head{
    grid-template-columns:64px minmax(0,1fr);
  }

  .brand-card__logo-wrap{
    width:64px;
    height:64px;
    border-radius:14px;
  }

  .brand-card__logo{
    max-width:52px;
    max-height:52px;
  }

  .brand-card h3{
    font-size:20px;
  }
}

.contacts-page__offices{
  margin-top:56px;
}

.contacts-page__offices h2{
  margin:0 0 24px;
  font-size:30px;
  font-weight:700;
}

.contacts-page__grid{
  display:grid;
  gap:24px;
}

@media (min-width: 768px){
  .contacts-page__grid{
    grid-template-columns:repeat(3,1fr);
  }
}

.contacts-page__office{
  background:#fff;
  border-radius:24px;
  padding:24px;
  box-shadow:0 12px 28px rgba(34,24,14,0.1);
  display:flex;
  flex-direction:column;
  gap:16px;
}

.contacts-page__office h3{
  margin:0;
  font-size:22px;
  font-weight:700;
  color:var(--accent);
}

.contacts-page__office p{
  margin:0;
  font-size:16px;
  line-height:1.6;
}

.contacts-page__map{
  border-radius:18px;
  overflow:hidden;
  background:#f2f2f2;
  min-height:280px;
}

.contacts-page__map iframe{
  width:100%;
  height:100%;
  border:0;
  display:block;
}

@media (max-width: 767px){
  .contacts-page__card{
    max-width:none;
  }

  .contacts-page__header h1{
    font-size:36px;
  }
}

/* Woo Product Filter — new catalog bar */
.wpfMainWrapper{
  background:#c89a39;
  border-radius:12px;
  padding:16px 18px;
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  align-items:flex-start;
  margin:18px 0 28px;
  width:100%;
  max-width:none;
  float:none;
  clear:both;
}
.wpfBlockWrap,
.catalog-wpf-bar,
.catalog-wpf-bar > .wpfMainWrapper{
  width:100%;
  max-width:none;
  float:none;
  clear:both;
}
.woocommerce .wpfBlockWrap,
.woocommerce .catalog-wpf-bar,
.woocommerce .catalog-wpf-bar > .wpfMainWrapper{
  width:100% !important;
  max-width:100% !important;
  float:none !important;
  clear:both !important;
  display:block !important;
  grid-column:1 / -1 !important;
}
.woocommerce{
  display:block !important;
}

/* WooCommerce cart page */
.woocommerce-cart .site-main{
  background:#f6e7ce;
  padding:32px 0 72px;
}

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

.woocommerce-cart .woocommerce-notices-wrapper,
.woocommerce-cart .cart-empty,
.woocommerce-cart .return-to-shop{
  grid-column:1 / -1;
}

.woocommerce-cart .woocommerce-cart-form,
.woocommerce-cart .cart-collaterals{
  width:100%;
}

.woocommerce-cart .woocommerce-cart-form{
  background:transparent;
}

.woocommerce-cart .woocommerce-cart-form__contents{
  background:#fff;
}

.woocommerce-cart table.shop_table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  background:#fff;
  border:1px solid #e5d7c4;
  border-radius:22px;
  overflow:hidden;
  box-shadow:0 18px 34px rgba(149,106,64,0.14);
}

.woocommerce-cart table.shop_table th,
.woocommerce-cart table.shop_table td{
  padding:16px 18px;
  border-top:1px solid #efe2d4;
  font-size:14px;
  color:#2f231b;
}

.woocommerce-cart .woocommerce a{
  color:#b87417;
}

.woocommerce-cart .woocommerce a:hover,
.woocommerce-cart .woocommerce a:focus-visible{
  color:#e24d1b;
}

.woocommerce-cart .woocommerce-Price-amount{
  color:#2f231b;
}

.woocommerce-cart table.shop_table th{
  text-transform:uppercase;
  letter-spacing:0.08em;
  font-size:12px;
  background:#f8efe2;
  color:#7b5a3c;
}

.woocommerce-cart table.shop_table thead th{
  background:#f8efe2;
  color:#7b5a3c;
}

.woocommerce-cart table.shop_table tbody tr{
  background:#fff;
}

.woocommerce-cart table.shop_table tr:first-child th,
.woocommerce-cart table.shop_table tr:first-child td{
  border-top:none;
}

.woocommerce-cart .product-thumbnail img{
  width:90px;
  height:90px;
  object-fit:cover;
  border-radius:14px;
  box-shadow:0 10px 22px rgba(149,106,64,0.18);
}

.woocommerce-cart .product-name a{
  color:#1b1209;
  text-decoration:none;
  font-weight:600;
}

.woocommerce-cart .product-name a:hover,
.woocommerce-cart .product-name a:focus-visible{
  color:#e24d1b;
}

.woocommerce-cart .product-remove a{
  color:#e24d1b;
  font-weight:700;
}

.woocommerce-cart .product-remove a:hover,
.woocommerce-cart .product-remove a:focus-visible{
  color:#b83c16;
}

.woocommerce-cart .quantity .qty{
  width:72px;
  padding:8px 10px;
  border:1px solid #e5d7c4;
  border-radius:10px;
  text-align:center;
  font-size:14px;
  color:#2f231b;
  background:#fff;
}

.woocommerce-cart .coupon{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  background:transparent;
}

.woocommerce-cart .coupon input[type="text"]{
  border:1px solid #e5d7c4;
  border-radius:12px;
  padding:10px 14px;
  min-width:220px;
  color:#2f231b;
  background:#fff;
}

.woocommerce-cart .coupon button,
.woocommerce-cart button[name="update_cart"],
.woocommerce-cart .checkout-button,
.woocommerce-cart .button{
  background:#f0461e;
  color:#fff;
  border:none;
  border-radius:999px;
  padding:12px 24px;
  text-transform:uppercase;
  letter-spacing:0.1em;
  font-weight:700;
  font-size:12px;
  box-shadow:0 14px 26px rgba(240,70,30,0.28);
  transition:transform .2s ease, box-shadow .2s ease;
}

.woocommerce-cart .coupon button:hover,
.woocommerce-cart button[name="update_cart"]:hover,
.woocommerce-cart .checkout-button:hover,
.woocommerce-cart .button:hover,
.woocommerce-cart .coupon button:focus-visible,
.woocommerce-cart button[name="update_cart"]:focus-visible,
.woocommerce-cart .checkout-button:focus-visible,
.woocommerce-cart .button:focus-visible{
  transform:translateY(-2px);
  box-shadow:0 20px 36px rgba(240,70,30,0.36);
}

.woocommerce-cart .cart-collaterals .cart_totals{
  background:#fff;
  border:1px solid #e5d7c4;
  border-radius:22px;
  padding:20px 22px;
  box-shadow:0 18px 34px rgba(149,106,64,0.14);
}

.woocommerce-cart .cart-collaterals,
.woocommerce-cart .cart-collaterals .cart_totals table,
.woocommerce-cart .cart-collaterals .cart_totals tbody,
.woocommerce-cart .cart-collaterals .cart_totals tr{
  background:transparent;
}

.woocommerce-cart .cart_totals .shop_table{
  background:transparent;
  border:0;
  box-shadow:none;
}

.woocommerce-cart .cart_totals .shop_table th,
.woocommerce-cart .cart_totals .shop_table td{
  border-top:1px solid #efe2d4;
  background:transparent;
}

.woocommerce-cart .cart_totals .shop_table tr:first-child th,
.woocommerce-cart .cart_totals .shop_table tr:first-child td{
  border-top:none;
}

.woocommerce-cart .cart-collaterals .cart_totals h2{
  margin:0 0 16px;
  font-size:18px;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:#e0451a;
}

.woocommerce-cart .cart-collaterals .cart_totals table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
}

.woocommerce-cart .cart-collaterals .cart_totals th,
.woocommerce-cart .cart-collaterals .cart_totals td{
  padding:10px 0;
  font-size:14px;
  color:#2f231b;
}

.woocommerce-cart .cart-collaterals .cart_totals a{
  color:#b87417;
}

.woocommerce-cart .cart-collaterals .cart_totals a:hover,
.woocommerce-cart .cart-collaterals .cart_totals a:focus-visible{
  color:#e24d1b;
}

.woocommerce-cart .cart_totals .shipping-calculator-form select,
.woocommerce-cart .cart_totals .shipping-calculator-form input,
.woocommerce-cart .cart_totals .shipping-calculator-form .select2-container--default .select2-selection--single{
  border:1px solid #e5d7c4;
  border-radius:10px;
  padding:8px 10px;
  background:#fff;
  color:#2f231b;
}

.woocommerce-cart .cart_totals .shipping-calculator-form .select2-container--default .select2-selection--single{
  height:auto;
}

.woocommerce-cart .cart_totals .shipping-calculator-form .select2-container--default .select2-selection__rendered{
  line-height:1.4;
  color:#2f231b;
}

.woocommerce-cart .cart_totals .shipping-calculator-form .select2-container--default .select2-selection__arrow{
  height:100%;
}

.woocommerce-cart .cart-collaterals .order-total th,
.woocommerce-cart .cart-collaterals .order-total td{
  font-weight:700;
  color:#1b1209;
}

.woocommerce-cart .cart-collaterals .wc-proceed-to-checkout{
  margin-top:18px;
}

.woocommerce-cart .cart-collaterals .checkout-button{
  width:100%;
  text-align:center;
}

.woocommerce-cart .cart-collaterals .checkout-button,
.woocommerce-cart a.checkout-button,
.woocommerce-cart .button.checkout-button{
  background:#b87417 !important;
  border-color:#b87417 !important;
  color:#fff !important;
  box-shadow:0 14px 26px rgba(184,116,23,0.28) !important;
}

.woocommerce-cart .cart-collaterals .checkout-button:hover,
.woocommerce-cart .cart-collaterals .checkout-button:focus-visible,
.woocommerce-cart a.checkout-button:hover,
.woocommerce-cart a.checkout-button:focus-visible,
.woocommerce-cart .button.checkout-button:hover,
.woocommerce-cart .button.checkout-button:focus-visible{
  box-shadow:0 20px 36px rgba(184,116,23,0.36) !important;
}

.woocommerce-cart .woocommerce-message,
.woocommerce-cart .woocommerce-info,
.woocommerce-cart .woocommerce-error{
  background:#fff;
  border:1px solid #e5d7c4;
  border-radius:16px;
  padding:14px 18px;
  box-shadow:0 12px 24px rgba(149,106,64,0.12);
  color:#2f231b;
}

.woocommerce-cart .woocommerce-message{
  position:relative;
  padding-left:46px;
}

.woocommerce-cart .woocommerce-message::before{
  left:18px;
  top:50%;
  transform:translateY(-50%);
}

.woocommerce-cart .woocommerce-message a{
  color:#e24d1b;
  font-weight:600;
  text-decoration:underline;
  text-underline-offset:3px;
}

.woocommerce-cart .woocommerce-message a:hover,
.woocommerce-cart .woocommerce-message a:focus-visible{
  color:#b83c16;
}

/* WooCommerce Cart Block overrides */
.woocommerce-cart .wp-block-woocommerce-cart,
.woocommerce-cart .wc-block-cart,
.woocommerce-cart .wc-block-components-sidebar-layout,
.woocommerce-cart .wc-block-components-sidebar-layout .wc-block-components-main,
.woocommerce-cart .wc-block-components-sidebar-layout .wc-block-components-sidebar,
.woocommerce-cart .wc-block-cart__main,
.woocommerce-cart .wc-block-cart__sidebar{
  background:transparent !important;
  color:#2f231b;
}

.woocommerce-cart .wc-block-cart__main,
.woocommerce-cart .wc-block-cart__sidebar{
  padding:0 !important;
}

.woocommerce-cart .wc-block-cart-items,
.woocommerce-cart .wc-block-components-panel,
.woocommerce-cart .wc-block-components-totals-wrapper{
  background:#fff !important;
  border:1px solid #e5d7c4 !important;
  border-radius:22px !important;
  box-shadow:0 18px 34px rgba(149,106,64,0.14) !important;
}

.woocommerce-cart .wc-block-cart-items__header,
.woocommerce-cart .wc-block-cart-items__footer,
.woocommerce-cart .wc-block-components-panel__content,
.woocommerce-cart .wc-block-components-totals-item,
.woocommerce-cart .wc-block-components-totals-footer-item{
  background:transparent !important;
  border-color:#efe2d4 !important;
  color:#2f231b;
}

.woocommerce-cart .wc-block-components-product-name{
  color:#1b1209 !important;
}

.woocommerce-cart .wc-block-components-product-name:hover,
.woocommerce-cart .wc-block-components-product-name:focus{
  color:#e24d1b !important;
}

.woocommerce-cart .wc-block-components-quantity-selector__input{
  border:1px solid #e5d7c4 !important;
  border-radius:10px !important;
  color:#2f231b !important;
  background:#fff !important;
}

.woocommerce-cart .wc-block-components-totals-coupon__input input,
.woocommerce-cart .wc-block-components-text-input input{
  border:1px solid #e5d7c4 !important;
  border-radius:12px !important;
  padding:10px 14px !important;
  background:#fff !important;
  color:#2f231b !important;
}

.woocommerce-cart .wc-block-components-button,
.woocommerce-cart .wc-block-components-totals-coupon__button{
  background:#f0461e !important;
  color:#fff !important;
  border:none !important;
  border-radius:999px !important;
  padding:12px 24px !important;
  text-transform:uppercase !important;
  letter-spacing:0.1em !important;
  font-weight:700 !important;
  font-size:12px !important;
  box-shadow:0 14px 26px rgba(240,70,30,0.28) !important;
}

.woocommerce-cart .wc-block-components-button:hover,
.woocommerce-cart .wc-block-components-button:focus,
.woocommerce-cart .wc-block-components-totals-coupon__button:hover,
.woocommerce-cart .wc-block-components-totals-coupon__button:focus{
  transform:translateY(-2px);
  box-shadow:0 20px 36px rgba(240,70,30,0.36) !important;
}

.woocommerce-cart .wc-block-components-totals-item__label,
.woocommerce-cart .wc-block-components-totals-item__value,
.woocommerce-cart .wc-block-components-totals-footer-item__label,
.woocommerce-cart .wc-block-components-totals-footer-item__value{
  color:#2f231b !important;
}

.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-card,
.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-card__content,
.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-panel,
.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-items__header,
.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart-items__body,
.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-totals-wrapper,
.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-totals-item,
.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-totals-footer-item{
  background:#fff !important;
  border-color:#e5d7c4 !important;
  color:#2f231b !important;
}

.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-card{
  border:1px solid #e5d7c4 !important;
  border-radius:22px !important;
  box-shadow:0 18px 34px rgba(149,106,64,0.14) !important;
}

@media (max-width:1024px){
  .woocommerce-cart .woocommerce{
    grid-template-columns:1fr;
  }
}

@media (max-width:640px){
  .woocommerce-cart table.shop_table th,
  .woocommerce-cart table.shop_table td{
    padding:12px 12px;
    font-size:13px;
  }

  .woocommerce-cart .product-thumbnail img{
    width:64px;
    height:64px;
  }
}

/* WooCommerce checkout page */
.woocommerce-checkout .site-main{
  background:#f6e7ce;
  padding:32px 0 72px;
}

.woocommerce-checkout .woocommerce{
  display:block;
}

.woocommerce-checkout form.checkout,
.woocommerce-checkout form.woocommerce-checkout{
  display:block !important;
}

.woocommerce-checkout .checkout-grid{
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(0, 420px);
  gap:16px 32px;
  align-items:start;
}

.woocommerce-checkout .checkout-left,
.woocommerce-checkout .checkout-right{
  align-self:start;
  margin:0;
}

.woocommerce-checkout #customer_details{
  display:grid;
  gap:24px;
  width:100%;
  margin:0 !important;
  align-self:start;
  padding:0;
}

.woocommerce-checkout .col2-set{
  width:100%;
  float:none;
  display:block;
  margin:0 !important;
}

.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2{
  float:none;
  width:100%;
  max-width:none;
  margin:0;
}

.woocommerce-checkout .woocommerce-form-coupon{
  grid-area:coupon;
  grid-column:1 / -1;
  max-width:760px;
  margin:0;
}

.woocommerce-checkout .woocommerce-form-coupon-toggle{
  display:none !important;
}

.woocommerce-checkout #order_review{
  width:100%;
  align-self:start;
  margin:23px 0 0 !important;
  position:relative;
  top:0;
}

.woocommerce-checkout #order_review_heading{
  display:block;
  margin:0 0 16px;
}

.woocommerce-checkout #customer_details{
  grid-column:1;
}

.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2{
  background:#fff;
  border:1px solid #e5d7c4;
  border-radius:22px;
  padding:20px 22px;
  box-shadow:0 18px 34px rgba(149,106,64,0.14);
  margin-top:0 !important;
  position:relative;
  top:0;
}

.woocommerce-checkout #customer_details h3,
.woocommerce-checkout #order_review_heading{
  margin:0 0 16px;
  font-size:18px;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:#e0451a;
}

.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout .woocommerce-additional-fields{
  margin:0;
  padding:0;
}

.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper,
.woocommerce-checkout .woocommerce-additional-fields__field-wrapper{
  display:grid;
  gap:14px;
}

.woocommerce-checkout .form-row label{
  font-size:12px;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:#7b5a3c;
  font-weight:600;
}

.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout .form-row select,
.woocommerce-checkout .select2-container--default .select2-selection--single{
  border:1px solid #e5d7c4;
  border-radius:12px;
  padding:10px 12px;
  background:#fff;
  color:#2f231b;
  box-shadow:none;
}

.woocommerce-checkout .form-row textarea{
  min-height:110px;
  resize:vertical;
}

.woocommerce-checkout .select2-container--default .select2-selection--single{
  height:auto;
}

.woocommerce-checkout .select2-container--default .select2-selection__rendered{
  line-height:1.4;
  color:#2f231b;
}

.woocommerce-checkout .select2-container--default .select2-selection__arrow{
  height:100%;
}

.woocommerce-checkout #order_review{
  background:#fff;
  border:1px solid #e5d7c4;
  border-radius:22px;
  padding:20px 22px;
  box-shadow:0 18px 34px rgba(149,106,64,0.14);
}

.woocommerce-checkout table.shop_table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  background:transparent;
  border:0;
  box-shadow:none;
  margin:0;
}

.woocommerce-checkout table.shop_table th,
.woocommerce-checkout table.shop_table td{
  padding:12px 0;
  border-top:1px solid #efe2d4;
  color:#2f231b;
}

.woocommerce-checkout table.shop_table tr:first-child th,
.woocommerce-checkout table.shop_table tr:first-child td{
  border-top:none;
}

.woocommerce-checkout table.shop_table th{
  text-transform:uppercase;
  letter-spacing:0.08em;
  font-size:12px;
  color:#7b5a3c;
}

.woocommerce-checkout .woocommerce-Price-amount{
  color:#2f231b;
}

.woocommerce-checkout #payment{
  background:transparent;
  border:0;
}

.woocommerce-checkout #payment ul.payment_methods{
  border:0;
  padding:0;
  margin:18px 0 0;
}

.woocommerce-checkout #payment li.wc_payment_method{
  background:#f8efe2;
  border:1px solid #e5d7c4;
  border-radius:14px;
  padding:12px 14px;
  margin-bottom:10px;
}

.woocommerce-checkout #payment .payment_box{
  background:#fff;
  border:1px solid #e5d7c4;
  border-radius:12px;
  padding:12px 14px;
  margin-top:10px;
  box-shadow:0 10px 22px rgba(149,106,64,0.12);
}

.woocommerce-checkout .place-order{
  margin-top:18px;
}

.woocommerce-checkout #place_order,
.woocommerce-checkout .button.alt{
  width:100%;
  background:#f0461e !important;
  border-color:#f0461e !important;
  color:#fff !important;
  border-radius:999px;
  padding:14px 24px;
  text-transform:uppercase;
  letter-spacing:0.1em;
  font-weight:700;
  font-size:12px;
  box-shadow:0 16px 30px rgba(240,70,30,0.35);
}

.woocommerce-checkout #place_order:hover,
.woocommerce-checkout #place_order:focus-visible,
.woocommerce-checkout .button.alt:hover,
.woocommerce-checkout .button.alt:focus-visible{
  box-shadow:0 24px 42px rgba(240,70,30,0.4);
}

.woocommerce-checkout .woocommerce-message,
.woocommerce-checkout .woocommerce-info,
.woocommerce-checkout .woocommerce-error{
  background:#fff;
  border:1px solid #e5d7c4;
  border-radius:16px;
  padding:14px 18px;
  box-shadow:0 12px 24px rgba(149,106,64,0.12);
  color:#2f231b;
}

@media (max-width:1024px){
  .woocommerce-checkout form.checkout{
    grid-template-columns:1fr;
  }
}

@media (max-width:640px){
  .woocommerce-checkout #customer_details .col-1,
  .woocommerce-checkout #customer_details .col-2,
  .woocommerce-checkout #order_review{
    padding:16px 16px;
  }
}

/* Elementor archive template: force filters above grid */
.term-keramogranit .elementor-element-2d7d12 .e-con-inner,
.term-kislotoupornaya-plitka .elementor-element-2d7d12 .e-con-inner{
  display:flex;
  flex-wrap:wrap;
  gap:16px;
}
.term-keramogranit .elementor-element-80a4b39,
.term-kislotoupornaya-plitka .elementor-element-80a4b39{
  flex:1 1 100%;
  max-width:100%;
  order:1;
}
.term-keramogranit .elementor-element-5a4199d,
.term-kislotoupornaya-plitka .elementor-element-5a4199d{
  flex:1 1 100%;
  max-width:100%;
  order:2;
}
.wpfMainWrapper .wpfFilterButtons{
  order:20;
  margin-left:auto;
  display:flex;
  align-items:center;
}
.wpfMainWrapper .wpfClearButton{
  border:none;
  background:transparent;
  color:#f7efe1;
  font-weight:700;
  letter-spacing:0.02em;
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:12px 14px;
  border-radius:8px;
  cursor:pointer;
  font-size:14px;
  text-transform:uppercase;
}
.wpfMainWrapper .wpfClearButton:hover,
.wpfMainWrapper .wpfClearButton:focus-visible{
  background:rgba(255,255,255,0.14);
}
.wpfMainWrapper .wpfFilterWrapper{
  position:relative;
  background:#fff;
  border:1px solid #d6b269;
  border-radius:8px;
  min-width:200px;
  flex:1 1 200px;
  box-shadow:0 10px 24px rgba(60,35,10,0.14);
  overflow:visible;
}
.wpfMainWrapper .wpfFilterWrapper.wpfNotActive{
  opacity:1;
}
.wpfMainWrapper .wpfFilterContent{
  padding:0;
}
.wpfMainWrapper .wfpDescription{
  margin:0;
  padding:12px 14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  font-size:14px;
  letter-spacing:0.06em;
  text-transform:uppercase;
  font-weight:800;
  color:#7b4e13;
  cursor:pointer;
}
.wpfMainWrapper .wfpDescription::after{
  content:"";
  width:12px;
  height:12px;
  border:2px solid #b37b1c;
  border-left-color:transparent;
  border-top-color:transparent;
  transform:rotate(45deg);
  transition:transform .2s ease;
}
.wpfMainWrapper .wpfFilterWrapper.is-open .wfpDescription::after{
  transform:rotate(225deg);
}
.wpfMainWrapper .wpfCheckboxHier{
  display:none;
  position:absolute;
  left:-1px;
  right:-1px;
  top:calc(100% - 2px);
  background:#fff;
  border:1px solid #d6b269;
  border-top:0;
  border-radius:0 0 8px 8px;
  padding:12px 14px 14px;
  box-shadow:0 16px 32px rgba(56,34,11,0.18);
  max-height:280px;
  overflow:auto;
  z-index:30;
}
.wpfMainWrapper:not(.wpf-has-js) .wpfCheckboxHier{
  display:block;
  position:static;
  box-shadow:none;
  border:1px solid #d6b269;
  border-radius:0 0 8px 8px;
}
.wpfMainWrapper .wpfFilterWrapper.is-open{
  z-index:40;
}
.wpfMainWrapper .wpfFilterWrapper.is-open .wpfCheckboxHier{
  display:block;
}
.wpfMainWrapper .wpfFilterVerScroll{
  margin:0;
  padding:0;
  list-style:none;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.wpfMainWrapper .wpfLiLabel{
  display:flex;
  align-items:center;
  gap:10px;
  font-size:15px;
  color:#3d2712;
}
.wpfMainWrapper .wpfCheckbox{
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.wpfMainWrapper .wpfCheckbox input[type="checkbox"]{
  width:16px;
  height:16px;
  accent-color:#c89a39;
  cursor:pointer;
}
.wpfMainWrapper .wpfValue,
.wpfMainWrapper .wpfFilterTaxNameWrapper{
  font-size:15px;
  line-height:1.4;
}
.wpfMainWrapper .wpfFilterWrapper[data-get-attribute="wpf_filter_proizvoditel"] .wpfCheckboxHier{
  min-width:240px;
}
.catalog-wpf-bar{
  margin:0 0 22px;
}
.catalog-wpf-bar .wpfMainWrapper{
  width:100%;
  max-width:100%;
  box-sizing:border-box;
}
.catalog-wpf-row{
  width:100%;
  max-width:100%;
  margin:0 0 22px;
  display:block;
}
@media (max-width: 1023px){
  .wpfMainWrapper{
    flex-direction:column;
    gap:10px;
    align-items:stretch;
  }
  .wpfMainWrapper .wpfFilterWrapper{
    width:100%;
    flex:1 1 auto;
  }
  .wpfMainWrapper .wpfCheckboxHier{
    position:static;
    display:none;
    box-shadow:none;
    border:1px solid #d6b269;
    border-top:1px solid #d6b269;
    border-radius:0 0 8px 8px;
    max-height:320px;
  }
  .wpfMainWrapper .wpfFilterWrapper.is-open .wpfCheckboxHier{
    display:block;
  }
}

.revental-page{
  padding-bottom:56px;
}
.revental-hero{
  margin:8px 0 22px;
}
.revental-hero__card{
  background:#f7f7f8;
  border-radius:26px;
  padding:32px 38px;
}
.revental-hero__lead{
  margin:14px 0 0;
  max-width:940px;
  color:#4f3f30;
  line-height:1.55;
  font-size:20px;
}
.revental-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:24px;
}
.revental-card{
  background:#f7f7f8;
  border:1px solid #ece1cf;
  border-radius:24px;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  min-height:100%;
}
.revental-card__media{
  aspect-ratio: 16 / 9;
  background:#ffffff;
}
.revental-card__media img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  display:block;
  padding:18px;
}
.revental-card__body{
  padding:24px 24px 8px;
}
.revental-card__body h2{
  margin:0;
  color:#d34e24;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:0.04em;
  font-size:25px;
  line-height:1.15;
}
.revental-card__materials{
  margin:12px 0 0;
  color:#7b4e13;
  font-weight:800;
  font-size:18px;
  line-height:1.35;
}
.revental-card__text{
  margin:12px 0 0;
  color:#4f3f30;
  font-size:17px;
  line-height:1.5;
}
.revental-card__actions{
  margin-top:auto;
  padding:20px 24px 24px;
}
.revental-card__actions .catalog-tiles__link{
  min-width:236px;
  text-align:center;
}
@media (max-width: 1024px){
  .revental-grid{
    gap:18px;
  }
  .revental-card__body h2{
    font-size:22px;
  }
}
@media (max-width: 767px){
  .revental-hero{
    margin-top:0;
  }
  .revental-hero__card{
    border-radius:18px;
    padding:20px;
  }
  .revental-hero__lead{
    font-size:17px;
  }
  .revental-grid{
    grid-template-columns:1fr;
  }
  .revental-card{
    border-radius:18px;
  }
  .revental-card__body h2{
    font-size:20px;
    letter-spacing:0.02em;
  }
  .revental-card__materials{
    font-size:16px;
  }
  .revental-card__text{
    font-size:15px;
  }
}
