/* GEONA — стеновые панели: раздел (шаблон 59) и карточка панели (шаблон 98). По образцу geona-mebel.com */
.gwp{
  --gwp-ink:var(--heading-color,#1c1b19);
  --gwp-soft:var(--font-color,#6b655d);
  --gwp-line:var(--border-color,#e4ded5);
  --gwp-bg:var(--bg-color,#fff);
  --gwp-sand:#dbd1c5;
  --gwp-sand-ink:#2b2622;
  --gwp-dark:#23110d;
  --gwp-gold:#a98f74;
  color:var(--gwp-ink);
}
.v-dark .gwp{ --gwp-sand:#2c2520; --gwp-sand-ink:#efe7dc; --gwp-dark:#ffc47e; }
.gwp *{ box-sizing:border-box; }
.gwp h1,.gwp h2,.gwp h3{ font-family:var(--heading-font); font-weight:300; color:inherit; letter-spacing:0; margin:0; }
.gwp h2{ font-size:clamp(28px,2.6vw,42px); line-height:1.15; }
.gwp h3{ font-size:18px; line-height:1.3; }
.gwp p{ margin:0; }
.gwp img{ display:block; max-width:100%; }
.gwp .gwp-eyebrow{ font-size:12px; letter-spacing:.2em; text-transform:uppercase; color:var(--gwp-soft); margin-bottom:14px; }
.gwp .gwp-section{ margin-top:clamp(60px,7vw,110px); }
.gwp .gwp-section > h2{ margin-bottom:30px; }
.gwp .gwp-section__head{ display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:30px; }
.gwp .gwp-note,.gwp .gwp-caption{ font-size:13px; line-height:1.5; color:var(--gwp-soft); }
.gwp .gwp-caption{ margin-top:22px; }
.gwp .gwp-text h2{ font-size:clamp(24px,2vw,32px); margin-bottom:18px; }
.gwp .gwp-text p{ color:var(--gwp-soft); line-height:1.7; margin-bottom:12px; }

/* кнопки и ссылки */
.gwp .gwp-btn{ display:inline-flex; align-items:center; justify-content:center; gap:14px; padding:16px 26px; border:1px solid currentColor;
  background:transparent; color:inherit; font-size:14px; letter-spacing:.03em; cursor:pointer; text-decoration:none; transition:background .25s,color .25s,opacity .25s; }
.gwp .gwp-btn:hover{ opacity:.8; }
.gwp .gwp-btn svg,.gwp .gwp-link svg,.gwp .gwp-zoom svg{ width:16px; height:16px; flex:0 0 16px; }
.gwp .gwp-btn--dark{ background:var(--gwp-dark); border-color:var(--gwp-dark); color:var(--gwp-bg); }
.gwp .gwp-btn--light{ background:#f4efe8; border-color:#f4efe8; color:#23110d; }
.gwp .gwp-btn--wide{ width:100%; margin-top:30px; }
.gwp .gwp-link{ display:inline-flex; align-items:center; gap:8px; color:inherit; text-decoration:none; border-bottom:1px solid currentColor; padding-bottom:3px; font-size:14px; }
.gwp .gwp-link:hover{ opacity:.7; }

/* ===== раздел ===== */
.gwp .gwp-hero,.gwp .gwp-product{ margin-top:30px; }
.gwp .gwp-hero{ display:grid; grid-template-columns:minmax(260px,.34fr) 1fr; background:var(--gwp-sand); color:var(--gwp-sand-ink); padding:0 !important; overflow:hidden; }
.gwp .gwp-hero__copy{ padding:clamp(28px,4vw,60px); display:flex; flex-direction:column; justify-content:center; gap:18px; }
.gwp .gwp-hero__copy .gwp-eyebrow{ color:inherit; opacity:.7; margin:0; }
.gwp .gwp-hero__copy p{ line-height:1.6; opacity:.8; }
.gwp .gwp-hero__copy .gwp-btn{ align-self:flex-start; margin-top:10px; }
.gwp .gwp-hero__img{ min-height:420px; }
.gwp .gwp-hero__img picture,.gwp .gwp-hero__img img{ width:100%; height:100%; object-fit:cover; display:block; }

.gwp .gwp-benefits{ display:grid; grid-template-columns:repeat(3,1fr); border-bottom:1px solid var(--gwp-line); }
.gwp .gwp-benefits > div{ display:flex; gap:16px; padding:28px 24px 28px 0; }
.gwp .gwp-benefits > div + div{ padding-left:24px; border-left:1px solid var(--gwp-line); }
.gwp .gwp-benefits span{ font-family:var(--heading-font); font-size:26px; color:var(--gwp-gold); line-height:1; }
.gwp .gwp-benefits h3{ font-size:16px; font-family:var(--body-font); font-weight:500; }
.gwp .gwp-benefits p{ font-size:13px; color:var(--gwp-soft); margin-top:4px; }

.gwp .gwp-collection__head{ display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:20px; }
.gwp .gwp-tabs{ display:flex; flex-wrap:wrap; gap:8px; }
.gwp .gwp-tabs button{ border:1px solid var(--gwp-line); background:transparent; color:inherit; padding:9px 16px; font-size:13px; cursor:pointer; transition:background .2s,color .2s,border-color .2s; }
.gwp .gwp-tabs button:hover{ border-color:var(--gwp-ink); }
.gwp .gwp-tabs button[aria-pressed="true"]{ background:var(--gwp-dark); border-color:var(--gwp-dark); color:var(--gwp-bg); }
.gwp .gwp-count{ font-size:13px; color:var(--gwp-soft); margin:18px 0 22px; }

.gwp .gwp-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:44px 30px; }
.gwp .gwp-grid--three{ grid-template-columns:repeat(3,1fr); gap:30px; }
.gwp .gwp-card[hidden]{ display:none; }
.gwp .gwp-card a{ display:block; color:inherit; text-decoration:none; }
.gwp .gwp-card img,.gwp .gwp-card__empty{ width:100%; aspect-ratio:3/2; object-fit:cover; background:var(--gwp-sand); transition:opacity .3s; }
.gwp .gwp-card__empty{ display:block; background:repeating-linear-gradient(45deg,var(--gwp-sand) 0 10px,transparent 10px 20px); }
.gwp .gwp-card a:hover img{ opacity:.88; }
.gwp .gwp-card__cap{ display:flex; align-items:center; gap:12px; padding-top:14px; }
.gwp .gwp-card__cap h3{ font-family:var(--body-font); font-weight:400; font-size:16px; }
.gwp .gwp-card__cap span{ font-size:12px; color:var(--gwp-soft); }
.gwp .gwp-card__cap svg{ width:18px; height:18px; margin-left:auto; transition:transform .25s; }
.gwp .gwp-card a:hover .gwp-card__cap svg{ transform:translate(3px,-3px); }

.gwp .gwp-finishes{ display:grid; grid-template-columns:minmax(380px,.5fr) 1fr; background:var(--gwp-sand); color:var(--gwp-sand-ink); margin-top:clamp(60px,7vw,110px); }
.gwp .gwp-finishes__copy{ padding:clamp(30px,5vw,80px) clamp(24px,4vw,70px); display:flex; flex-direction:column; gap:18px; }
.gwp .gwp-finishes__copy > p{ opacity:.8; line-height:1.6; }
.gwp .gwp-swatches{ display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-top:8px; }
.gwp .gwp-swatches button{ border:0; background:none; padding:0; color:inherit; text-align:left; font-size:12px; line-height:1.35; cursor:pointer; }
.gwp .gwp-swatches span{ display:block; aspect-ratio:1; margin-bottom:8px; outline:1px solid transparent; outline-offset:3px; transition:outline-color .2s; }
.gwp .gwp-swatches button:hover span,.gwp .gwp-swatches button[aria-pressed="true"] span{ outline-color:currentColor; }
.gwp .gwp-finishes__status{ font-size:13px; opacity:.75; }
.gwp .gwp-finishes .gwp-btn{ align-self:flex-start; }
.gwp .gwp-finishes__photo{ width:100%; height:100%; min-height:420px; object-fit:cover; transition:opacity .3s; }

.gwp .gwp-interiors{ display:grid; grid-template-columns:repeat(2,1fr); gap:30px; }
.gwp .gwp-interiors a{ color:inherit; text-decoration:none; }
.gwp .gwp-interiors figure{ margin:0; overflow:hidden; }
.gwp .gwp-interiors img{ width:100%; aspect-ratio:10/7; object-fit:cover; transition:transform .6s; }
.gwp .gwp-interiors a:hover img{ transform:scale(1.04); }
.gwp .gwp-interiors figcaption{ padding-top:14px; font-size:16px; }

.gwp .gwp-cta{ display:flex; align-items:center; justify-content:space-between; gap:30px; flex-wrap:wrap; background:#2b2622; color:#f4efe8;
  padding:clamp(34px,4vw,60px) clamp(24px,4vw,70px); margin-top:clamp(60px,7vw,110px); }
.gwp .gwp-cta p{ opacity:.7; margin-top:10px; }

/* ===== карточка панели ===== */
.gwp .gwp-product{ display:grid; grid-template-columns:1.55fr 1fr; gap:clamp(30px,4vw,64px); align-items:start; }
.gwp .gwp-product__main{ position:relative; display:block; overflow:hidden; background:var(--gwp-sand); }
.gwp .gwp-product__main img{ width:100%; aspect-ratio:4/3; object-fit:cover; transition:opacity .25s; }
.gwp .gwp-product__main .gwp-card__empty{ aspect-ratio:4/3; }
.gwp .gwp-zoom{ position:absolute; right:16px; bottom:16px; display:inline-flex; align-items:center; gap:8px; padding:8px 12px; background:rgba(28,27,25,.55); color:#fff; font-size:13px; }
.gwp .gwp-product__title{ font-size:clamp(38px,4vw,64px); line-height:1.05; }
.gwp .gwp-product__intro{ margin-top:16px; color:var(--gwp-soft); line-height:1.6; }
.gwp .gwp-product__block{ margin-top:26px; padding-top:24px; border-top:1px solid var(--gwp-line); }
.gwp .gwp-product__block h2{ font-size:20px; font-family:var(--body-font); font-weight:400; }
.gwp .gwp-finish-label{ font-size:13px; color:var(--gwp-soft); margin:12px 0; min-height:1.4em; }
.gwp .gwp-finish-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin-bottom:12px; }
.gwp .gwp-finish{ border:1px solid transparent; padding:2px; background:none; cursor:pointer; transition:border-color .2s; }
.gwp .gwp-finish img{ width:100%; aspect-ratio:11/8; object-fit:cover; }
.gwp .gwp-finish:hover{ border-color:var(--gwp-line); }
.gwp .gwp-finish[aria-pressed="true"]{ border-color:var(--gwp-ink); }
.gwp .gwp-heights{ margin-top:22px; }
.gwp .gwp-heights p{ font-size:13px; color:var(--gwp-soft); margin-bottom:10px; }
.gwp .gwp-heights div{ display:flex; gap:8px; flex-wrap:wrap; }
.gwp .gwp-heights button{ border:1px solid var(--gwp-line); background:none; color:inherit; padding:9px 16px; font-size:13px; cursor:pointer; }
.gwp .gwp-heights button[aria-pressed="true"]{ border-color:var(--gwp-ink); }
.gwp .gwp-product__info > .gwp-link{ margin-top:18px; }
.gwp .gwp-product__info > .gwp-note:last-child{ margin-top:12px; }

.gwp .gwp-details{ margin-top:clamp(50px,6vw,90px); }
.gwp .gwp-ptabs{ display:flex; gap:34px; border-bottom:1px solid var(--gwp-line); margin-bottom:30px; overflow-x:auto; scrollbar-width:none; }
.gwp .gwp-ptabs::-webkit-scrollbar{ display:none; }
.gwp .gwp-ptabs button{ border:0; background:none; color:var(--gwp-soft); padding:0 0 14px; font-size:15px; cursor:pointer; border-bottom:2px solid transparent; margin-bottom:-1px; white-space:nowrap; }
.gwp .gwp-ptabs button[aria-selected="true"]{ color:var(--gwp-ink); border-bottom-color:var(--gwp-ink); }
.gwp [role="tabpanel"] > h2{ font-size:clamp(24px,2vw,32px); margin-bottom:20px; }
.gwp [role="tabpanel"] > p{ color:var(--gwp-soft); line-height:1.7; margin-bottom:12px; max-width:760px; }
.gwp [role="tabpanel"] .gwp-btn{ margin-top:10px; }
.gwp .gwp-desc-grid{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(30px,5vw,80px); align-items:start; }
.gwp .gwp-specs{ margin:0; border-top:1px solid var(--gwp-line); }
.gwp .gwp-specs > div{ display:grid; grid-template-columns:1fr 1fr; gap:20px; padding:14px 4px; border-bottom:1px solid var(--gwp-line); font-size:14px; }
.gwp .gwp-specs dt{ color:var(--gwp-soft); font-weight:400; }
.gwp .gwp-specs dd{ margin:0; }

.gwp .gwp-texture{ display:grid; grid-template-columns:minmax(280px,.42fr) 1fr; background:var(--gwp-sand); color:var(--gwp-sand-ink); margin-top:clamp(60px,7vw,110px); }
.gwp .gwp-texture__copy{ padding:clamp(30px,5vw,80px) clamp(24px,4vw,70px); display:flex; flex-direction:column; justify-content:center; gap:18px; }
.gwp .gwp-texture__copy p{ opacity:.8; line-height:1.6; }
.gwp .gwp-texture__copy .gwp-link{ align-self:flex-start; }
.gwp .gwp-texture img{ width:100%; height:100%; min-height:380px; object-fit:cover; }

@media (max-width:1199px){
  .gwp .gwp-product{ grid-template-columns:1fr; }
  .gwp .gwp-finish-grid{ grid-template-columns:repeat(auto-fill,minmax(96px,1fr)); }
  .gwp .gwp-grid--three{ grid-template-columns:repeat(2,1fr); }
  .gwp .gwp-grid--three .gwp-card:nth-child(3){ display:none; }
}
@media (max-width:991px){
  .gwp .gwp-hero,.gwp .gwp-finishes,.gwp .gwp-texture{ grid-template-columns:1fr; }
  .gwp .gwp-hero__img{ min-height:0; aspect-ratio:3/2; order:-1; }
  .gwp .gwp-finishes__photo,.gwp .gwp-texture img{ min-height:0; aspect-ratio:3/2; }
  .gwp .gwp-benefits{ grid-template-columns:1fr; }
  .gwp .gwp-benefits > div,.gwp .gwp-benefits > div + div{ padding:18px 0; border-left:0; border-top:1px solid var(--gwp-line); }
  .gwp .gwp-desc-grid{ grid-template-columns:1fr; }
}
@media (max-width:640px){
  .gwp .gwp-grid,.gwp .gwp-grid--three,.gwp .gwp-interiors{ grid-template-columns:1fr; gap:30px; }
  .gwp .gwp-grid--three .gwp-card:nth-child(3){ display:block; }
  .gwp .gwp-swatches{ grid-template-columns:repeat(2,1fr); }
  .gwp .gwp-finish-grid{ grid-template-columns:repeat(4,1fr); gap:6px; }
  .gwp .gwp-collection__head{ display:block; }
  .gwp .gwp-collection__head h2{ margin-bottom:16px; }
  .gwp .gwp-tabs{ flex-wrap:nowrap; overflow-x:auto; scrollbar-width:none; -webkit-overflow-scrolling:touch; }
  .gwp .gwp-tabs::-webkit-scrollbar{ display:none; }
  .gwp .gwp-tabs button{ flex:0 0 auto; white-space:nowrap; }
  .gwp .gwp-section__head{ flex-direction:column; align-items:flex-start; }
  .gwp .gwp-cta .gwp-btn{ width:100%; }
}
