/*
Theme Name: GrandBud Ukraine
Theme URI: https://example.com/
Author: Andrii Umanets
Description: Легкий кастомний шаблон під дизайн "Грандбуд Україна" (головна сторінка). Версія 1.0.
Version: 1.9.5.1.2.3
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: grandbud
*/

:root{
  --blue-950:#081a2c;
  --blue-900:#0b2440;
  --blue-850:#0f2b47;
  --blue-800:#123455;
  --blue-700:#1a4a75;
  --gray-25:#fbfcff;
  --gray-50:#f7f9fd;
  --gray-100:#eef2f7;
  --gray-200:#dbe3ee;
  --text:#0b1320;
  --gb-header-h: 78px;
  --gb-phonebar-h: 0px;
  --muted:#5b6b82;
  --white:#ffffff;
  --orange:#f7931e;
  --orange-2:#f07c1a;
  --shadow:0 12px 30px rgba(8,26,44,.18);
  --radius:14px;
  --radius-lg:18px;
  --container:1140px;
}

*{box-sizing:border-box}
html,body{height:100%}
/* Prevent white overscroll area on iOS (rubber-band shows html background) */
html{ background:#0a213a; }
html,body{ overscroll-behavior-y: none; }
body{
  margin:0;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Inter, Arial, "Noto Sans", "Helvetica Neue", sans-serif;
  color:var(--text);
  background:var(--gray-50);
  line-height:1.35;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
.container{max-width:var(--container);margin:0 auto;padding:0 18px}

/* Header */
.gb-header{
  position:sticky; top:0; z-index:50;
  background: linear-gradient(180deg, #0d2a4a 0%, #0a213a 100%);
  color:var(--white);
  box-shadow:0 10px 22px rgba(0,0,0,.12);
}
.gb-header__row{
  display:flex; align-items:center; justify-content:space-between;
  gap:14px; padding:8px 0;
}
.gb-brand{display:flex; align-items:center; gap:12px; min-width:220px}
.gb-brand__mark{
  width:46px;height:34px;border-radius:8px;
  background:rgba(255,255,255,.14);
  display:grid;place-items:center;
  font-weight:800; letter-spacing:.06em;
}
.gb-brand__text{
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.06em;
  font-size:16px;
  line-height:1.05;
}
.gb-nav{display:flex; align-items:center; gap:18px}
.gb-nav a{opacity:.92; font-weight:600; font-size:14px}
.gb-nav a:hover{opacity:1; text-decoration:underline}
.gb-header__right{display:flex; align-items:center; gap:12px}
.gb-header__lang{display:flex; align-items:center}
.gb-nav__lang--mobile{display:none}
.gb-lang-switcher{list-style:none; margin:0; padding:0; display:flex; align-items:center; gap:8px}
.gb-lang-switcher__item{margin:0; padding:0}
.gb-lang-switcher__link{display:inline-flex; align-items:center; justify-content:center; min-width:36px; height:36px; padding:0 10px; border:1px solid rgba(255,255,255,.18); border-radius:999px; text-decoration:none; font-weight:700; font-size:12px; line-height:1; opacity:.92}
.gb-lang-switcher__link:hover{opacity:1; text-decoration:none}
.gb-lang-switcher__item.is-current .gb-lang-switcher__link{background:var(--accent); color:#111; border-color:var(--accent)}

.gb-phone{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  color:#A1A1A0;
  font-weight:700;
  letter-spacing:.02em;
  white-space:nowrap;
}
.gb-burger{
  display:none;
  width:44px;height:40px;border-radius:10px;
  border:1px solid rgba(255,255,255,.24);
  background:rgba(255,255,255,.08);
  color:var(--white);
  font-size:18px;
}

/* Hero */
.gb-hero{
  position:relative;
  background: #0b2440;
  color:var(--white);
  overflow:hidden;
}
.gb-hero::before{
  content:"";
  position:absolute; inset:0;
  background:
    linear-gradient(90deg, rgba(8,26,44,.92) 0%, rgba(8,26,44,.78) 44%, rgba(8,26,44,.18) 100%),
    var(--hero-bg, url("assets/img/hero-bg.jpg"));
  background-size:cover;
  background-position:center right;
  filter:saturate(1.05) contrast(1.02);
  transform:scale(1.02);
}
.gb-hero__inner{
  position:relative;
  padding:58px 0 58px;
  display:grid;
  grid-template-columns: 1.05fr .95fr;
  gap:24px;
  align-items:center;
  min-height:340px;
}
.gb-hero__title{
  margin:0 0 14px;
  font-weight:900;
  letter-spacing:.01em;
  font-size:42px;
  line-height:1.1;
}
.gb-hero__subtitle{
  margin:0 0 24px;
  font-size:16px;
  opacity:.9;
  max-width:520px;
}
.gb-actions{display:flex; gap:12px; flex-wrap:wrap}
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding:12px 18px;
  border-radius:10px;
  font-weight:800;
  font-size:14px;
  border:1px solid transparent;
  cursor:pointer;
}
.btn--primary{
  background:linear-gradient(180deg, var(--orange) 0%, var(--orange-2) 100%);
  color:#1a1309;
  box-shadow:0 12px 20px rgba(240,124,26,.25);
}
.btn--light{
  background:rgba(255,255,255,.86);
  color:#0a213a;
  border-color:rgba(255,255,255,.24);
}
.btn--outline{
  background:transparent;
  color:var(--white);
  border-color:rgba(255,255,255,.35);
}
.btn:hover{transform:translateY(-1px)}
.btn:active{transform:translateY(0)}

/* Sections */
.gb-section{padding:46px 0}
.gb-section--white{background:var(--gray-25)}
.gb-section__title{
  text-align:center;
  margin:0 0 22px;
  font-size:30px;
  font-weight:900;
  color:#0c2340;
}

/* Directions */
.gb-cards{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:18px;
  margin-top:14px;
}
.gb-card{
  position:relative;
  border-radius:0;
  overflow:hidden;
  box-shadow:var(--shadow);
  min-height:190px;
  background:#0b2440;
  color:var(--white);
}
.gb-card::before{
  content:"";
  position:absolute; inset:0;
  background:
    linear-gradient(180deg, rgba(8,26,44,.25) 0%, rgba(8,26,44,.86) 100%),
    var(--bg);
  background-size:cover;
  background-position:center;
}
.gb-card__inner{
  position:relative;
  padding:20px;
  display:flex;
  flex-direction:column;
  gap:10px;
  height:100%;
}

/* Clickable whole card (overlay link) */
.gb-card{cursor:pointer}
.gb-card__overlay-link{
  position:absolute;
  inset:0;
  z-index:1;
  display:block;
  text-decoration:none;
}
.gb-card__overlay-link:focus-visible{
  outline:2px solid #fff;
  outline-offset:-2px;
}
/* Keep the CTA button above the overlay so it stays clickable */
.gb-card__cta{position:relative; z-index:2}
.gb-card__title{
  margin:0;
  font-size:20px;
  font-weight:900;
  text-align:center;
}
.gb-card__text{
  margin:0;
  font-size:13px;
  opacity:.88;
  text-align:center;
  min-height:40px;
}
.gb-card__cta{margin-top:auto; display:flex; justify-content:center}
.gb-card__cta .btn{min-width:170px}

/* Why us */
.gb-why{
  background:linear-gradient(180deg, #0e2b4c 0%, #0a213a 100%);
  color:var(--white);
}
.gb-why .gb-section__title{color:var(--white); margin-bottom:18px}
.gb-badges{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:12px;
  max-width:980px;
  margin:0 auto;
}
.gb-badge{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 14px;
  border-radius:12px;
  background:rgba(255,255,255,.88);
  color:#0b2440;
  font-weight:800;
  font-size:13px;
  box-shadow:0 10px 22px rgba(0,0,0,.15);
}
.gb-badge__icon{
  width:18px;height:18px;border-radius:6px;
  background:linear-gradient(180deg, var(--orange) 0%, var(--orange-2) 100%);
  display:grid;place-items:center;
  color:#1a1309;
  font-size:12px;
  font-weight:900;
}

/* CTA section */
.gb-cta{
  position:relative;
  background:#0b2440;
  color:var(--white);
  overflow:hidden;
}
.gb-cta::before{
  content:"";
  position:absolute; inset:0;
  background:
    linear-gradient(180deg, rgba(8,26,44,.35) 0%, rgba(8,26,44,.85) 70%),
    var(--cta-bg, url("assets/img/cta-bg.jpg"));
  background-size:cover;
  background-position:center;
  filter:saturate(1.05) contrast(1.02);
  transform:scale(1.02);
}
.gb-cta__inner{
  position:relative;
  padding:44px 0;
  display:grid;
  place-items:center;
  text-align:center;
  gap:14px;
}
.gb-cta__title{margin:0;font-size:30px;font-weight:900}
.gb-cta__subtitle{margin:0;opacity:.92;font-size:16px}
.gb-cta__list{
  margin:8px 0 8px;
  padding:0;
  list-style:none;
  display:grid;
  gap:8px;
  justify-items:center;
}
.gb-cta__list li{
  display:flex; align-items:center; gap:10px;
  font-weight:700;
  opacity:.95;
}
.gb-cta__list li::before{
  content:"✓";
  width:18px;height:18px;border-radius:6px;
  display:grid;place-items:center;
  background:linear-gradient(180deg, var(--orange) 0%, var(--orange-2) 100%);
  color:#1a1309;
  font-weight:900;
  font-size:12px;
}

/* Objects */
.gb-objects{
  /* lift the block up ~5mm (reduce top breathing room) */
  padding-top:26px;
  --gb-obj-gap: 14px;
  /* Laptop/Desktop: 3 images per view */
  --gb-obj-per-view: 3;
}
.gb-objects__wrap{ position: relative; margin-top: 16px; }
.gb-objects__track{
  display:flex;
  gap: var(--gb-obj-gap);
  overflow-x:auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  padding: 6px 2px 10px;
  scrollbar-width: none;
}
.gb-objects__track::-webkit-scrollbar{ display:none; }

.gb-objects__item{
  scroll-snap-align: start;
  flex: 0 0 calc((100% - (var(--gb-obj-per-view) - 1) * var(--gb-obj-gap) - 4px) / var(--gb-obj-per-view));
  background: var(--white);
  border: 1px solid var(--gray-200);
  box-shadow: 0 10px 22px rgba(8,26,44,.08);
}
.gb-objects__caption{
  text-align:center;
  margin:14px 0 0;
  color:var(--muted);
  font-weight:700;
}

.gb-objects__nav{
  display:flex;
  align-items:center;
  justify-content:center;
  gap: 10px;
  margin-top: 12px;
}
.gb-objects__arrow{
  width: 24px;
  height: 24px;
  padding: 0;
  border: 0;
  background: transparent;
  color: rgba(11,36,64,.55);
  font-size: 26px;
  line-height: 1;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
}
.gb-objects__arrow:hover{ color: rgba(11,36,64,.78); }

.gb-objects__dots{
  display:flex;
  gap: 6px;
  align-items:center;
  justify-content:center;
}
.gb-objects__dot{
  width: 7px;
  height: 7px;
  border-radius: 99px;
  background: rgba(11,36,64,.35);
}
.gb-objects__dot.is-active{
  background: var(--orange);
  width: 18px;
}

/* Footer lead form */
.gb-lead{
  background:linear-gradient(180deg, #0e2b4c 0%, #0a213a 100%);
  color:var(--white);
  padding:26px 0;
}
.gb-lead__inner{
  display:grid;
  grid-template-columns: 1.05fr .95fr;
  gap:18px;
  align-items:center;
}
.gb-lead__title{
  margin:0;
  font-size:26px;
  font-weight:900;
}
.gb-lead__subtitle{
  margin:6px 0 0;
  opacity:.9;
  font-weight:700;
}
.gb-lead__panel{
  border-radius:16px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.16);
  padding:14px;
}
.gb-lead__row{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
}
.gb-input{
  flex:1 1 160px;
  min-width:140px;
  height:40px;
  border-radius:0;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.92);
  padding:0 12px;
  font-weight:700;
  outline:none;
}
.gb-input:focus{border-color:rgba(247,147,30,.75); box-shadow:0 0 0 4px rgba(247,147,30,.18)}
.gb-form__note{
  margin:10px 0 0;
  font-size:12px;
  opacity:.85;
}
.gb-form__msg{
  margin:10px 0 0;
  font-size:13px;
  font-weight:800;
}

/* Footer */
.gb-footer{
  background:linear-gradient(180deg, #0b2440 0%, #081a2c 100%);
  color:rgba(255,255,255,.92);
  padding:20px 0;
  font-size:13px;
}
.gb-footer__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
}
.gb-footer__nav a{opacity:.9; margin-right:14px; font-weight:700}
.gb-footer__nav a:hover{opacity:1; text-decoration:underline}
.gb-footer__copy{opacity:.7}

/* Mobile */
@media (max-width: 980px){
  .gb-hero__inner{grid-template-columns:1fr; min-height:auto}
  .gb-cards{grid-template-columns:1fr}
  .gb-objects{ --gb-obj-per-view: 2; }
  .gb-objects__img{ height: 200px; }
  .gb-objects__img--placeholder{ height: 200px; }
  .gb-objects__arrow{ display:none; }
  .gb-lead__inner{grid-template-columns:1fr}
  .gb-header__row{padding:12px 0}
  .gb-brand{min-width:auto}
  .gb-nav{display:none}
  .gb-burger{display:inline-flex;align-items:center;justify-content:center}
  .gb-nav.is-open{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:10px;
    padding:12px 0 18px;
  }
}

@media (max-width: 600px){
  .gb-objects{ --gb-obj-per-view: 1; }
  .gb-objects__img{ height: 190px; }
  .gb-objects__img--placeholder{ height: 190px; }
}

/* --- v1.7.4: "Чому обирають нас" як у макеті (зліва зображення, справа картка) --- */
.gb-why{
  background: var(--gray-25) !important;
  color:#0c2340;
  padding: 46px 0;
  /* Підняти блок трохи вище відносно попередньої секції (≈5 мм) */
  margin-top: -20px;
}
.gb-why .gb-section__title{
  color:#0c2340;
  margin-bottom: 22px;
}

.gb-why__panel{
  display:grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 0;
  align-items: stretch;
  /* Об'єднаний блок (ліва+права частина) */
  background:#fff;
  box-shadow: var(--shadow);
  border-radius: 0;
  overflow: hidden;
}

.gb-why__media{
  border-radius: 0;
  overflow: hidden;
  box-shadow: none;
  background:#0b2440;
  min-height: 300px;
  display:flex;
}
.gb-why__track{
  display:flex;
  gap: 18px;
  overflow-x:auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  padding: 6px 2px 10px;
  scrollbar-width: none;
}
.gb-why__track::-webkit-scrollbar{ display:none; }

.gb-why__slide{
  flex: 0 0 100%;
  scroll-snap-align: start;
}
.gb-why__media img{
  width:100%;
  height:100%;
  flex:1;
  object-fit: cover;
  display:block;
}

.gb-why__card{
  background: transparent;
  border-radius: 0;
  box-shadow: none;
  padding: 22px 24px;
}
.gb-why__card-title{
  margin:0 0 10px;
  font-size: 26px;
  line-height: 1.15;
  font-weight: 900;
  color:#0c2340;
}
.gb-why__card-text{
  margin:0 0 14px;
  font-size: 14px;
  line-height: 1.55;
  color:#41546c;
}

.gb-why__list{
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  gap: 10px;
}
.gb-why__list li{
  display:flex;
  gap: 10px;
  align-items:flex-start;
  font-weight: 800;
  font-size: 13px;
  color:#0c2340;
}
.gb-why__check{
  color: var(--orange);
  font-weight: 900;
  margin-top: 1px;
}

.gb-why__nav{
  display:flex;
  align-items:center;
  justify-content:center;
  gap: 10px;
  margin-top: 12px;
}
.gb-why__arrow{
  width: 24px;
  height: 24px;
  padding: 0;
  border: 0;
  background: transparent;
  color: rgba(11,36,64,.55);
  font-size: 26px;
  line-height: 1;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
}
.gb-why__arrow:hover{ color: rgba(11,36,64,.78); }
.gb-why__arrow:focus-visible{ outline: 2px solid rgba(11,36,64,.25); outline-offset: 2px; }
.gb-why__dots{
  display:flex;
  align-items:center;
  gap: 6px;
  justify-content:center;
}
.gb-why__dot{
  width: 7px;
  height: 7px;
  border-radius: 99px;
  background: rgba(11,36,64,.35);
  cursor:pointer;
}
.gb-why__dot.is-active{
  background: var(--orange);
  width: 18px;
}

@media (max-width: 980px){
  .gb-why{ padding: 38px 0; }
  .gb-why__panel{ grid-template-columns: 1fr; }
  .gb-why__media{ min-height: 220px; }
  .gb-why__card-title{ font-size: 24px; }
  .gb-why__track{ padding-left: 14px; padding-right: 14px; }
  .gb-why__arrow{ display:none; }
}

@media (max-width: 560px){
  .gb-why__card{ padding: 18px 18px; }
  .gb-why__card-title{ font-size: 22px; }
}
@media (max-width: 520px){
  .gb-hero__title{font-size:34px}
  .gb-section__title{font-size:26px}
  .gb-objects__grid{grid-template-columns:1fr}
  .gb-phone{display:none}
}


.btn{border-radius:0;}

/* Rounded buttons on mobile/tablet; keep square on desktop */
@media (max-width: 980px){
  .btn{ border-radius: 7px; }
}
@media (min-width: 981px) and (hover: none) and (pointer: coarse){
  .btn{ border-radius: 7px; }
}


.gb-phone, .gb-burger{border-radius:0;}

/* Menus */
.gb-menu, .gb-footer-menu{
  list-style:none;
  padding:0;
  margin:0;
  display:flex;
  gap:18px;
  align-items:center;
  flex-wrap:wrap;
}
.gb-menu li, .gb-footer-menu li{margin:0;padding:0}
.gb-menu a, .gb-footer-menu a{
  display:inline-flex;
  padding:6px 2px;
  font-weight:700;
  opacity:.92;
}
.gb-menu a:hover, .gb-footer-menu a:hover{opacity:1;text-decoration:underline}

.gb-section, .gb-why, .gb-badges{overflow:visible;}


/* --- Fixes for layout conflicts / section overlap --- */
.gb-hero, .gb-why, .gb-cta { isolation: isolate; }
.gb-why, .gb-cta { clear: both; }
.gb-why { opacity: 1; overflow: visible; position: relative; z-index: 1; }
.gb-cta { position: relative; z-index: 0; margin-top: 0; }

/* Menu lists */
.gb-nav__list, .gb-footer__list { list-style: none; margin: 0; padding: 0; display:flex; gap:18px; align-items:center; }
.gb-footer__list { gap:14px; flex-wrap:wrap; }
.gb-nav__list > li, .gb-footer__list > li { margin:0; padding:0; }
.gb-nav__list a, .gb-footer__list a { opacity:.92; font-weight:700; font-size:14px; }
.gb-nav__list a:hover, .gb-footer__list a:hover { opacity:1; text-decoration:underline; }


/* Cards square corners (Directions section) */
.gb-card{border-radius:0;}

/* Objects tiles: square + interactive */
.gb-objects__item{
  border-radius:0 !important;
  overflow:hidden;
  text-decoration:none;
  color:inherit;
  transform:translateZ(0);
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
  display:block;
}
.gb-objects__img{
  width:100%;
  height:220px;
  object-fit:cover;
  display:block;
}
.gb-objects__img--placeholder{
  height:220px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
  color:#5b6b82;
  background: var(--gray-50);
}
.gb-objects__title{
  padding:10px 12px;
  font-weight:900;
  font-size:14px;
  color:#0b2440;
  background:#fff;
  border-top:1px solid var(--gray-200);
}
.gb-objects__item:hover{
  transform: translateY(-2px);
  box-shadow: 0 14px 28px rgba(8,26,44,.14);
  border-color:#c7d4e6;
}

/* Pobutivka single */
.gb-product{
  display:grid;
  grid-template-columns: 1fr 1.1fr;
  gap:18px;
  align-items:start;
}
.gb-product__thumb{
  width:100%;
  height:auto;
  border-radius:14px;
  overflow:hidden;
  border:1px solid var(--gray-200);
  box-shadow:0 10px 22px rgba(8,26,44,.08);
}
.gb-product__excerpt{
  margin:0 0 12px;
  font-size:16px;
  font-weight:800;
  color:var(--muted);
}
.gb-product__h{
  margin:18px 0 10px;
  font-size:20px;
  font-weight:900;
  color:#0b2440;
}
.gb-specs{
  width:100%;
  border-collapse:collapse;
  background:#fff;
  border:1px solid var(--gray-200);
  box-shadow:0 10px 22px rgba(8,26,44,.06);
}
.gb-specs th, .gb-specs td{
  padding:10px 12px;
  border-bottom:1px solid var(--gray-200);
  text-align:left;
  vertical-align:top;
}
.gb-specs th{
  width:40%;
  color:#0b2440;
  font-weight:900;
  background:var(--gray-50);
}
.gb-gallery__grid{
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap:12px;
}
.gb-gallery__item{
  display:block;
  border-radius:12px;
  overflow:hidden;
  border:1px solid var(--gray-200);
  box-shadow:0 10px 22px rgba(8,26,44,.06);
  transition:transform .15s ease;
}
.gb-gallery__item:hover{transform:translateY(-2px)}
.gb-products-grid{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:14px;
}
.gb-product-card{
  display:block;
  background:#fff;
  border:1px solid var(--gray-200);
  border-radius:14px;
  overflow:hidden;
  box-shadow:0 10px 22px rgba(8,26,44,.06);
  text-decoration:none;
  color:inherit;
  transition:transform .15s ease, box-shadow .15s ease;
}
.gb-product-card:hover{transform:translateY(-2px);box-shadow:0 14px 28px rgba(8,26,44,.12)}
.gb-product-card__img img{width:100%;height:180px;object-fit:cover;display:block}
.gb-product-card__body{padding:12px}
.gb-product-card__title{font-weight:900;color:#0b2440;margin-bottom:6px}
.gb-product-card__text{color:var(--muted);font-weight:700;font-size:13px}

@media (max-width: 980px){
  .gb-product{grid-template-columns:1fr}
  .gb-gallery__grid{grid-template-columns: repeat(2, 1fr)}
  .gb-products-grid{grid-template-columns: 1fr}
}

/* Why us badges layout (match design: 3 columns, 2 rows on desktop) */
.gb-badges{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap:14px;
  max-width:980px;
  margin:0 auto;
  justify-items:center;
  align-items:center;
}
.gb-badge{
  width:100%;
  max-width:320px;
  justify-content:flex-start;
}
@media (max-width: 980px){
  .gb-badges{grid-template-columns: repeat(2, minmax(0, 1fr));}
  .gb-badge{max-width:none;}
}
@media (max-width: 560px){
  .gb-badges{grid-template-columns: 1fr;}
}

/* --- v1.0.8: компактніше "Чому обирають нас" + CTA контент праворуч --- */

/* Why section: reduce vertical space */
.gb-why{
  padding: 30px 0;
}
.gb-why .gb-section__title{
  margin-bottom: 14px;
}
.gb-badges{
  gap: 12px;
}
.gb-badge{
  padding: 8px 12px;
  border-radius: 12px;
  font-size: 12px;
  box-shadow: 0 8px 18px rgba(0,0,0,.14);
}
.gb-badge__icon{
  width:16px;height:16px;border-radius:5px;
  font-size:11px;
}

/* CTA: move content block to the right side like in mock */
.gb-cta__inner{
  max-width: 560px;
  margin-left: auto;      /* push to right within container */
  text-align: left;
  justify-items: stretch;
  padding: 38px 0;
  gap: 12px;
}
.gb-cta__title,
.gb-cta__subtitle{
  text-align: center;     /* centered inside right block */
}
.gb-cta__list{
  justify-items: start;   /* list left aligned */
}
.gb-cta__inner .btn{
  margin: 6px auto 0;     /* button centered */
}

@media (max-width: 980px){
  .gb-cta__inner{
    max-width: none;
    margin-left: 0;
    text-align: center;
    justify-items: center;
    padding: 34px 0;
  }
  .gb-cta__list{justify-items:center;}
  .gb-cta__inner .btn{margin: 6px 0 0;}
}

/* --- v1.0.9: CTA як у макеті (2 колонки: ліворуч фон, праворуч контент) --- */
.gb-cta .container{
  display:grid;
  grid-template-columns: 1fr minmax(420px, 560px);
  align-items: center;
  gap: 0;
}
.gb-cta__inner{
  grid-column: 2;
  width: 100%;
  max-width: 560px;
  margin-left: 0;
  margin-right: 0;
  text-align: left;
  justify-items: stretch;
  padding: 44px 0;
}
.gb-cta__title,
.gb-cta__subtitle{
  text-align: center;
}
.gb-cta__list{
  justify-items: start;
}
.gb-cta__inner .btn{
  margin: 8px auto 0;
}

@media (max-width: 980px){
  .gb-cta .container{
    display:block;
  }
  .gb-cta__inner{
    max-width: none;
    padding: 34px 0;
    text-align: center;
    justify-items: center;
  }
  .gb-cta__list{justify-items:center;}
  .gb-cta__inner .btn{margin: 6px 0 0;}
}

/* --- v1.0.10: "Чому обирають нас" нижче по висоті лише за рахунок відступів (розмір тексту збережено) --- */
.gb-why{
  padding: 22px 0; /* було більше */
}
.gb-why .gb-section__title{
  margin-bottom: 10px; /* було більше */
}
.gb-badges{
  gap: 10px; /* менший проміжок */
}
.gb-badge{
  padding: 8px 12px; /* менші внутрішні відступи, без зміни шрифта */
  font-size: 13px;   /* фіксуємо, щоб не зменшувався */
  line-height: 1.2;
}
.gb-badge__icon{
  width:18px;
  height:18px;
  border-radius:6px;
  font-size:12px;
}

/* --- v1.0.11: "Чому обирають нас" — плашки по ширині тексту (auto width) --- */
.gb-badges{
  display:flex !important;
  flex-wrap:wrap;
  justify-content:center;
  align-items:center;
  gap:12px;
  max-width:980px;
  margin:0 auto;
}
.gb-badge{
  width:auto !important;
  max-width:100%;
  justify-content:flex-start;
  white-space:normal;     /* дозволяємо збільшення/перенос при довгому тексті */
}

/* --- v1.0.12: "Чому обирають нас" як на макеті (3 плашки в ряд, 2 рядки), ширина від тексту --- */
.gb-badges{
  display:grid !important;
  grid-template-columns: repeat(3, auto);
  justify-content:center;
  align-items:center;
  gap:12px 18px;
  max-width:980px;
  margin:0 auto;
}
.gb-badge{
  width:auto !important;
  max-width: 340px;
  white-space: normal;
}
@media (max-width: 980px){
  .gb-badges{ grid-template-columns: repeat(2, auto); gap:12px; }
}
@media (max-width: 560px){
  .gb-badges{ grid-template-columns: 1fr; }
  .gb-badge{ width: 100% !important; max-width: none; }
}

/* --- v1.0.13: менші відступи навколо заголовка "Наші напрямки" --- */
#directions.gb-section{
  padding-top: 28px;   /* було більше */
  padding-bottom: 34px;
}
#directions .gb-section__title{
  margin-top: 0;
  margin-bottom: 14px; /* менше місця під заголовком */
}

/* --- v1.0.14: ще менший відступ між "Наші напрямки" та картками --- */
#directions .gb-section__title{
  margin-bottom: 8px; /* було 14px */
}
#directions .gb-cards{
  margin-top: 6px; /* було 14px */
}

/* --- v1.0.15: Hero (верхній блок) нижче на ~10% --- */
.gb-hero__inner{
  padding-top: 52px;   /* було 58px */
  padding-bottom: 52px;/* було 58px */
  min-height: 306px;   /* було 340px */
}
@media (max-width: 520px){
  .gb-hero__inner{
    padding-top: 40px;
    padding-bottom: 40px;
    min-height: auto;
  }
}

/* --- v1.0.16: зменшення висоти "Чому обирають нас" через підняття CTA + менші вертикальні відступи --- */

/* Why: трохи менше низ/верх, без зміни розміру тексту */
.gb-why{
  padding-top: 18px;
  padding-bottom: 12px;
}
.gb-why .gb-section__title{
  margin-bottom: 8px;
}
.gb-badges{
  gap: 10px 16px;
}

/* CTA: підняти контент вверх + менший відступ до низу */
.gb-cta .container{
  align-items: start;           /* було center -> контент нижче */
}
.gb-cta__inner{
  padding-top: 26px;            /* було ~44 */
  padding-bottom: 20px;         /* менше місця під кнопкою */
}
.gb-cta__inner .btn{
  margin-top: 6px;
  margin-bottom: 0;
}

/* --- v1.0.17: клік по телефону веде до розділу Контакти --- */
#contacts{ scroll-margin-top: 92px; }
html{ scroll-behavior: smooth; }


/* Phone -> Contacts anchor */
#contacts{ scroll-margin-top: 92px; }
html{ scroll-behavior: smooth; }

/* --- v1.0.24: Lead form note line fix --- */
.gb-form__note{
  display:flex;
  gap:8px;
  align-items:center;
  flex-wrap:wrap;
}
.gb-form__note-label{font-weight:800;}

/* --- v1.0.25: Hero rotator crossfade --- */
.gb-hero::after{
  content:"";
  position:absolute; inset:0;
  background:
    linear-gradient(90deg, rgba(8,26,44,.92) 0%, rgba(8,26,44,.78) 44%, rgba(8,26,44,.18) 100%),
    var(--hero-bg-next, none);
  background-size:cover;
  background-position:center right;
  opacity:0;
  transition: opacity .8s ease;
  pointer-events:none;
  transform:scale(1.02);
}
.gb-hero.is-swapping::after{ opacity:1; }

/* --- v1.0.26: Inner pages hero banner --- */
.gb-hero--page .gb-hero__inner{
  grid-template-columns: 1fr;
  min-height: 220px;
  padding: 46px 0 40px;
}
.gb-hero__title--page{
  font-size: 40px;
  margin: 0;
}
@media (max-width: 520px){
  .gb-hero--page .gb-hero__inner{
    min-height: 180px;
    padding: 34px 0 30px;
  }
  .gb-hero__title--page{ font-size: 30px; }
}
.gb-page-card{
  background:#fff;
  border:1px solid #dbe3ee;
  border-radius:14px;
  padding:18px;
  box-shadow:0 10px 22px rgba(8,26,44,.06);
}

/* --- v1.0.34: "В оренду" кнопка в "Наші напрямки" помаранчева --- */
#directions .gb-card:nth-child(3) .btn{
  background: var(--orange);
  border-color: var(--orange);
  color: #1b1207;
}
#directions .gb-card:nth-child(3) .btn:hover{
  filter: brightness(1.03);
}

/* --- v1.0.35: default logo (transparent) --- */
.gb-logo{
  height:176px;
  width:auto;
  display:block;
}
@media (max-width: 980px){
  .gb-logo{height:152px;}
}

/* --- v1.0.38: компактніша шапка (менша висота) без зміни розміру шрифтів та лого --- */
.gb-header{ overflow: visible; }
.gb-header__row{
  padding: 0;
  height: 104px; /* тонша шапка */
  align-items: center;
}
.gb-brand{
  position: relative;
  display: block;
  height: 104px;
  min-width: 220px;
}
.gb-brand .gb-logo{
  position: absolute;
  left: 0;
  top: 8px;
  height: 176px; /* залишаємо розмір лого */
  width: auto;
}

@media (max-width: 980px){
  .gb-header__row{
    padding: 0;
    height: 88px;
  }
  .gb-brand{
    height: 88px;
    min-width: 180px;
  }
  .gb-brand .gb-logo{
    top: 6px;
    height: 152px; /* моб. лого */
  }
}

/* --- v1.0.39: лого вище + текст "ГрандБуд Україна" срібний (RAL 9006) і більший у файлі лого --- */
.gb-brand .gb-logo{
  top: -36px; /* підняли лого до рівня меню */
}
@media (max-width: 980px){
  .gb-brand .gb-logo{ top: -30px; }
}


/* --- v1.0.41: fix logo image (text full + RAL 9006) --- */
.gb-brand .gb-logo{ top:-18px; }
@media (max-width:980px){ .gb-brand .gb-logo{ top:-14px; } }

/* --- v1.0.44: ще тонша шапка (підняли контент вгору, розміри лого/шрифтів не змінюємо) --- */
.gb-header{ overflow: visible; }
.gb-header__row{
  height: 78px !important;
  padding: 0 !important;
  align-items: center;
}
.gb-brand{
  height: 78px !important;
}
.gb-brand .gb-logo{
  top: -52px !important; /* піднімаємо лого, щоб шапка була тоншою */
}

@media (max-width: 980px){
  .gb-header__row{
    height: 70px !important;
    padding: 0 !important;
  }
  .gb-brand{
    height: 70px !important;
  }
  .gb-brand .gb-logo{
    top: -44px !important;
  }
}

/* --- v1.0.46: Mobile menu opens as readable column dropdown --- */
@media (max-width: 980px){
  .gb-nav{ display:none; } /* closed state */

  .gb-nav.is-open{
    display:block !important;
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    /* place under sticky header (+ admin bar if present) */
    top: calc(78px + var(--wp-admin--admin-bar--height, 0px)) !important;
    z-index: 9999 !important;
    background: linear-gradient(180deg, #0d2a4a 0%, #0a213a 100%) !important;
    padding: 12px 16px 18px !important;
    box-shadow: 0 16px 28px rgba(0,0,0,.18);
  }

  .gb-nav__list{
    display:flex !important;
    flex-direction:column !important;
    gap: 10px !important;
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
  }
  .gb-nav__list > li{ width:100%; }
  .gb-nav__list > li > a{
    display:block;
    width:100%;
    padding: 10px 12px;
    border-radius: 10px;
    background: rgba(255,255,255,.06);
    text-decoration: none;
  }
  .gb-nav__list > li > a:hover{ background: rgba(255,255,255,.10); text-decoration:none; }

  /* if header height differs due to logo tweaks, keep safe on very small screens */
  @media (max-width: 520px){
    .gb-nav.is-open{ top: calc(70px + var(--wp-admin--admin-bar--height, 0px)) !important; }
  }
}

body{overflow-x:hidden;}

/* --- v1.0.47: зсув лого вниз в межах шапки (висоту шапки не змінюємо) --- */
.gb-brand .gb-logo{
  top: -34px !important; /* було вище; тепер лого всередині верхнього блоку */
}
@media (max-width: 980px){
  .gb-brand .gb-logo{
    top: -30px !important;
  }
}

/* --- v1.0.48: підняти лого на ~3мм (≈12px) --- */
.gb-brand .gb-logo{
  top: -46px !important;
}
@media (max-width: 980px){
  .gb-brand .gb-logo{
    top: -42px !important;
  }
}

/* --- v1.0.49: Mobile header tweaks (logo right, menu column visible) --- */
@media (max-width: 980px){
  /* put logo as far right as possible (burger on the left) */
  .gb-header__row{ gap:10px; }
  .gb-burger{ order:1; margin-right:auto; }
  .gb-brand{ order:2; margin-left:0; }

  /* hide phone on small screens to avoid clutter */
  .gb-header__right{ display:none; }
  .gb-nav__lang--mobile{ display:flex; justify-content:center; margin-top:14px; }
  .gb-nav__lang--mobile .gb-lang-switcher{ justify-content:center; flex-wrap:wrap; }


  /* mobile menu panel */
  .gb-nav{
    display:none;
    position: fixed;
    left: 0;
    right: 0;
    top: 70px;
    width: 100%;
    background: rgba(8,26,44,.98);
    padding: 12px 14px;
    z-index: 9999;
    box-shadow: 0 12px 30px rgba(0,0,0,.25);
  }
  .gb-nav.is-open{ display:block; }
  .gb-nav__list{
    display:flex;
    flex-direction:column;
    gap: 8px;
    margin: 0;
    padding: 0;
  }
  .gb-nav__list a{
    display:block;
    padding: 10px 12px;
    border: 1px solid rgba(255,255,255,.14);
    background: rgba(255,255,255,.06);
  }
}

/* --- v1.0.50: Mobile header: logo left, menu(burger) right + logo вниз на ~2мм --- */
@media (max-width: 980px){
  .gb-header__row{ gap:10px; }

  /* logo to far left */
  .gb-brand{ order:1; margin-right:auto; margin-left:0; }

  /* burger to far right */
  .gb-burger{ order:3; margin-left:auto; margin-right:0; }

  /* keep nav panel position aligned under header */
  .gb-nav{ top: 70px; }

  /* move logo down ~2mm (≈8px) without changing header height */
  .gb-brand .gb-logo{
    top: -34px !important; /* було -42; нижче на ~8px */
  }
}

/* --- v1.0.51: Mobile - лого ще лівіше на ~5мм (≈20px) --- */
@media (max-width: 980px){
  .gb-brand{
    transform: translateX(-20px);
  }
}

/* --- v1.0.55: Hero background fix for tablet/mobile (cover full width, centered) --- */
@media (max-width: 1200px){
  .gb-hero::before,
  .gb-hero::after{
    background-position: center center !important;
    transform: none !important;
  }
}
@media (max-width: 980px){
  .gb-hero::before,
  .gb-hero::after{
    background-position: center center !important;
    transform: none !important;
  }
}

/* --- v1.0.57: Mobile phone under menu --- */
@media (max-width: 980px){
  .gb-nav__phone{
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid rgba(255,255,255,.14);
    text-align: center;
  }
  .gb-nav__phone-link{
    display: inline-block;
    font-weight: 800;
    font-size: 18px;
    padding: 10px 14px;
    border: 1px solid rgba(255,255,255,.18);
    background: rgba(255,255,255,.06);
    color: #fff;
  }
}

/* --- v1.0.58: Mobile phone always visible under header --- */
.gb-mobile-phonebar{ display:none; }
@media (max-width: 980px){
  .gb-mobile-phonebar{
    display:block;
    background: rgba(8,26,44,.98);
    border-top: 1px solid rgba(255,255,255,.12);
    padding: 10px 14px;
    text-align:center;
  }
  .gb-mobile-phonebar__link{
    display:inline-block;
    font-weight:800;
    font-size:18px;
    padding:10px 14px;
    background: var(--orange);
    border: 1px solid var(--orange);
    color:#1b1207;
    border-radius: 6px;
  }
}

/* --- v1.0.59: Mobile phonebar aligned to the right --- */
@media (max-width: 980px){
  .gb-mobile-phonebar{
    text-align: right;
  }
  .gb-mobile-phonebar__link{
    margin-left: auto;
  }
}


/* --- v1.1.0: About + Reviews blocks --- */
.gb-section__subtitle{
  margin: -6px 0 22px;
  text-align: center;
  opacity: .85;
  font-weight: 500;
}

.gb-about__grid{
  display: grid;
  grid-template-columns: 1fr 1.05fr;
  gap: 28px;
  align-items: center;
}
.gb-about__media img{
  width: 100%;
  height: auto;
  display: block;
  border-radius: 14px;
  box-shadow: 0 18px 40px rgba(0,0,0,.12);
}
.gb-about__text{
  margin: 10px 0 14px;
  line-height: 1.45;
  opacity: .92;
}
.gb-about__list{
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 10px;
}
.gb-about__list li{
  display:flex;
  gap:10px;
  align-items:flex-start;
  background: rgba(8,26,44,.04);
  border: 1px solid rgba(8,26,44,.08);
  padding: 10px 12px;
  border-radius: 10px;
}
.gb-about__check{
  display:inline-flex;
  width: 22px;
  height: 22px;
  border-radius: 6px;
  align-items:center;
  justify-content:center;
  background: var(--orange);
  color:#1b1207;
  flex: 0 0 22px;
  margin-top: 1px;
  font-weight: 900;
  font-size: 13px;
}

.gb-reviews{
  background: #fff;
  padding-top: 28px;
}

/* Reviews: reduce section height by ~5mm (≈19px) */
.gb-section.gb-reviews{ padding-bottom: 27px !important; }

.gb-reviews__wrap{
  position: relative;
}
.gb-reviews__track{
  display:flex;
  gap: 18px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  padding: 6px 2px 18px;
  -webkit-overflow-scrolling: touch;
}
.gb-reviews__track::-webkit-scrollbar{ height: 8px; }
.gb-reviews__track::-webkit-scrollbar-thumb{ background: rgba(0,0,0,.18); border-radius: 10px; }

.gb-review{
  scroll-snap-align: start;
  background: #fff;
  border: 1px solid rgba(8,26,44,.12);
  border-radius: 14px;
  padding: 16px 16px 14px;
  box-shadow: 0 14px 30px rgba(0,0,0,.08);
  min-width: 320px;
  max-width: 420px;
  flex: 0 0 auto;
}
.gb-review__head{
  display:flex;
  gap: 12px;
  align-items:center;
  margin-bottom: 10px;
}
.gb-review__avatar{
  width: 54px;
  height: 54px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid rgba(8,26,44,.10);
}
.gb-review__avatar--placeholder{
  width: 54px;
  height: 54px;
  border-radius: 50%;
  background: rgba(8,26,44,.10);
}
.gb-review__name{
  font-weight: 800;
}
.gb-review__place{
  font-size: 13px;
  opacity: .75;
  margin-top: 2px;
}
.gb-review__stars span{
  font-size: 14px;
  letter-spacing: 1px;
}
.gb-review__stars .is-on{ color: var(--orange); }
.gb-review__stars .is-off{ color: rgba(8,26,44,.22); }
.gb-review__text{
  line-height: 1.45;
  opacity: .9;
  font-size: 15px;
}

.gb-reviews__dots{
  display:flex;
  gap: 6px;
  justify-content:center;
  margin-top: 8px;
}
.gb-reviews__dot{
  width: 7px;
  height: 7px;
  border-radius: 99px;
  background: rgba(8,26,44,.25);
}
.gb-reviews__dot.is-active{ background: var(--orange); width: 18px; }

@media (max-width: 980px){
  .gb-about__grid{ grid-template-columns: 1fr; }
  .gb-review{ min-width: 86vw; }
  .gb-reviews__track{ padding-left: 14px; padding-right: 14px; }
}

/* --- v1.1.1: Reviews styled like mockup (light section + cards + centered nav) --- */
.gb-reviews{
  position: relative;
  background: #f4f6fb;
  color: #0b2440;
  padding-top: 34px;
  padding-bottom: 34px;
  border-top: 1px solid rgba(8,26,44,.06);
  border-bottom: 1px solid rgba(8,26,44,.06);
  overflow: hidden;
}
.gb-reviews::before{
  content:"";
  position:absolute; inset:0;
  background:
    radial-gradient(700px 260px at 20% 0%, rgba(8,26,44,.05), transparent 60%),
    radial-gradient(520px 240px at 80% 60%, rgba(247,147,30,.07), transparent 65%);
  pointer-events:none;
}
.gb-reviews .container{ position: relative; z-index: 1; }

.gb-reviews .gb-section__title{
  color: #0b2440;
  text-align: center;
  margin-bottom: 18px;
}
.gb-reviews .gb-section__subtitle{ display:none; }

.gb-reviews__wrap{ position: relative; }

.gb-reviews__track{
  display:flex;
  gap: 18px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  padding: 8px 2px 10px;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  justify-content: center;
}
.gb-reviews__track::-webkit-scrollbar{ display:none; }

.gb-review{
  scroll-snap-align: start;
  background: #fff;
  border: 1px solid rgba(8,26,44,.08);
  border-radius: 12px;
  padding: 16px 16px 14px;
  box-shadow: 0 14px 32px rgba(11,36,64,.08);
  min-width: 300px;
  max-width: 360px;
  flex: 0 0 auto;
  color: #0b2440;
  display:flex;
  flex-direction: column;
}
.gb-review__head{
  display:flex;
  gap: 12px;
  align-items:center;
  margin-bottom: 10px;
}
.gb-review__avatar,
.gb-review__avatar--placeholder{
  width: 52px;
  height: 52px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid rgba(8,26,44,.10);
  flex: 0 0 52px;
}
.gb-review__avatar--placeholder{ background: rgba(8,26,44,.10); }

.gb-review__name{
  font-weight: 800;
  line-height: 1.15;
}
.gb-review__stars{
  margin-top: 6px;
}
.gb-review__stars span{
  font-size: 14px;
  letter-spacing: 1px;
}
.gb-review__stars .is-on{ color: var(--orange); }
.gb-review__stars .is-off{ color: rgba(11,36,64,.22); }

.gb-review__text{
  line-height: 1.45;
  font-size: 14px;
  color: rgba(11,36,64,.86);
  margin: 0 0 12px;
  flex: 1 1 auto;
}

.gb-review__foot{
  display:flex;
  align-items:center;
  gap: 8px;
  font-size: 12.5px;
  color: rgba(11,36,64,.62);
  margin-top: auto;
}
.gb-review__foot-ico{
  width: 14px;
  height: 14px;
  display:inline-block;
  background: currentColor;
  opacity: .55;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 22s8-4.438 8-12a8 8 0 1 0-16 0c0 7.562 8 12 8 12Zm0-10.5a2.5 2.5 0 1 1 0-5 2.5 2.5 0 0 1 0 5Z'/%3E%3C/svg%3E") no-repeat center / contain;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 22s8-4.438 8-12a8 8 0 1 0-16 0c0 7.562 8 12 8 12Zm0-10.5a2.5 2.5 0 1 1 0-5 2.5 2.5 0 0 1 0 5Z'/%3E%3C/svg%3E") no-repeat center / contain;
}

.gb-reviews__nav{
  display:flex;
  align-items:center;
  justify-content:center;
  gap: 10px;
  margin-top: 12px;
}
.gb-reviews__arrow{
  position: static;
  width: 24px;
  height: 24px;
  padding: 0;
  border: 0;
  background: transparent;
  color: rgba(11,36,64,.55);
  font-size: 26px;
  line-height: 1;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
}
.gb-reviews__arrow:hover{ color: rgba(11,36,64,.78); }

.gb-reviews__dots{
  display:flex;
  gap: 6px;
  justify-content:center;
  align-items:center;
  margin: 0;
}
.gb-reviews__dot{
  width: 7px;
  height: 7px;
  border-radius: 99px;
  background: rgba(11,36,64,.35);
}
.gb-reviews__dot.is-active{
  background: var(--orange);
  width: 18px;
}

@media (max-width: 980px){
  .gb-review{ min-width: 86vw; max-width: none; }
  .gb-reviews__track{ justify-content: flex-start; padding-left: 14px; padding-right: 14px; }
  .gb-reviews__arrow{ display:none; } /* on mobile swipe */
}

/* Tablet: show 2 reviews in portrait, 3 reviews in landscape */
@media (min-width: 721px) and (max-width: 980px) and (orientation: portrait){
  .gb-review{
    min-width: 0;
    flex: 0 0 calc((100% - 18px) / 2);
  }
}
@media (min-width: 721px) and (max-width: 980px) and (orientation: landscape){
  .gb-review{
    min-width: 0;
    flex: 0 0 calc((100% - 36px) / 3);
  }
}

/* Desktop: show exactly 3 reviews per view */
@media (min-width: 981px){
  .gb-reviews__track{ justify-content: flex-start; }
  .gb-review{
    min-width: 0;
    max-width: none;
    /* 3 cards + 2 gaps (18px) + track horizontal padding (2px + 2px) */
    flex: 0 0 calc((100% - 36px - 4px) / 3);
  }
}


/\* --- v1\.1\.2: Header phone top-right like mockup \(desktop\) --- \*/
@media (min-width: 981px){
  .gb-header__right{
    align-self: flex-start;
    margin-top: 10px;
  }
  .gb-header__right .gb-phone{
    background: transparent;
    box-shadow: none;
    padding: 0;
    border-radius: 0;
    color: rgba(255,255,255,.92);
    font-weight: 700;
    letter-spacing: .02em;
    display: inline-flex;
    align-items: center;
    gap: 10px;
  }
  .gb-header__right .gb-phone:hover{
    color: #fff;
    text-decoration: underline;
    text-underline-offset: 4px;
  }
  .gb-phone__icon{
    font-size: 16px;
    line-height: 1;
    opacity: .95;
  }
  .gb-phone__text{
    font-size: 16px;
  }
}

/* --- v1.1.3: Header phone icon + RAL 9006 color --- */
@media (min-width: 981px){
  .gb-header__right .gb-phone{
    color: #A1A1A0 !important;
  }
  .gb-header__right .gb-phone__icon{
    color: #A1A1A0 !important;
  }
}

/* --- v1.1.4: Fix phone icon + responsive formatting --- */
.gb-phone__text--compact{ display:none; }
@media (max-width: 1200px){
  .gb-phone__text--full{ display:none; }
  .gb-phone__text--compact{ display:inline; }
}
@media (min-width: 981px){
  .gb-header__right .gb-phone{ color: #A1A1A0 !important; }
  .gb-header__right .gb-phone__icon{ color: #A1A1A0 !important; }
}

/* --- v1.1.5: Align header phone vertically with menu --- */
@media (min-width: 981px){
  .gb-header__right{
    margin-top: 0 !important;
    align-self: center !important;
  }
  .gb-header__right .gb-phone{
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
}

/* --- v1.1.7: Mobile phonebar visual like desktop (RAL 9006 + icon) --- */
@media (max-width: 980px){
  .gb-mobile-phonebar{
    background: rgba(8,26,44,.98);
    border-top: 1px solid rgba(255,255,255,.12);
    padding: 10px 14px;
    text-align: right;
  }
  .gb-mobile-phonebar__link{
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: transparent;
    border: 0;
    padding: 0;
    border-radius: 0;
    color: #A1A1A0;
    font-weight: 700;
    font-size: 16px;
    letter-spacing: .02em;
  }
  .gb-mobile-phonebar__link:hover{
    color: #fff;
    text-decoration: underline;
    text-underline-offset: 4px;
  }
  .gb-mobile-phonebar__text{ display:inline; }
  .gb-mobile-phonebar .gb-phone__icon{ color: #A1A1A0; }
}

/* --- v1.1.8: Footer contacts block like mockup --- */
.gb-footer{
  background: linear-gradient(180deg, #0e2b4c 0%, #0a213a 100%);
  color: rgba(255,255,255,.92);
}
.gb-footer .container{
  padding-top: 26px;
  padding-bottom: 18px;
}
.gb-footer__top{
  display:flex;
  justify-content: space-between;
  gap: 26px;
  align-items:flex-start;
}
.gb-footer__brand{
  display:flex;
  flex-direction: column;
  gap: 14px;
  min-width: 240px;
}
.gb-footer__logo{
  width: 170px;
  height: auto;
  display:block;
}
.gb-footer__phone{
  display:inline-flex;
  align-items:center;
  gap: 10px;
  color: rgba(255,255,255,.92);
  font-weight: 700;
}
.gb-footer__phone:hover{
  color:#fff;
  text-decoration: underline;
  text-underline-offset: 4px;
}
.gb-footer__contacts-list{
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  gap: 10px;
}
.gb-footer__contacts-list li{
  display:flex;
  gap: 10px;
  align-items:flex-start;
}
.gb-footer__contacts-list a{
  color: rgba(255,255,255,.92);
}
.gb-footer__contacts-list a:hover{
  color:#fff;
  text-decoration: underline;
  text-underline-offset: 4px;
}

/* Keep addresses on one line (so e.g. warehouse address fits in a single row) */
.gb-footer__addrlink{
  white-space: nowrap;
}
.gb-fi{
  flex: 0 0 18px;
  margin-top: 1px;
  color: rgba(255,255,255,.85);
}
.gb-footer__bottom{
  margin-top: 18px;
  padding-top: 14px;
  border-top: 1px solid rgba(255,255,255,.14);
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap: 18px;
}
.gb-footer__list{
  list-style:none;
  padding:0;
  margin:0;
  display:flex;
  gap: 28px;
  flex-wrap:wrap;
}
.gb-footer__list a{
  color: rgba(255,255,255,.86);
  font-weight: 600;
  font-size: 14px;
}
.gb-footer__list a:hover{
  color:#fff;
  text-decoration: underline;
  text-underline-offset: 4px;
}
.gb-footer__copy{
  opacity: .8;
  font-size: 13px;
  white-space: nowrap;
}

/* Tablet: show Office (left) + Warehouse/Production (right) side-by-side */
@media (max-width: 980px){
  .gb-footer__top{
    flex-direction: row;
    flex-wrap: wrap;
    align-items:flex-start;
  }
  .gb-footer__brand--dup,
  .gb-footer__contacts{
    flex: 1 1 calc(50% - 16px);
    max-width: calc(50% - 16px);
  }

  .gb-footer__logo{ width: 150px; }
  .gb-footer__bottom{
    flex-direction: column;
    align-items:flex-start;
  }
  .gb-footer__copy{
    white-space: normal;
  }
}

/* Mobile: stack columns */
@media (max-width: 600px){
  .gb-footer__top{
    flex-direction: column;
    align-items:flex-start;
  }
  .gb-footer__brand--dup,
  .gb-footer__contacts{
    flex: 1 1 100%;
    max-width: 100%;
  }
}

/* --- v1.1.9: Footer logo matches header logo size --- */
.gb-footer__logo{
  height: 176px;
  width: auto;
}
@media (max-width: 980px){
  .gb-footer__logo{ height: 152px; }
}

/* --- v1.2.0: Footer left phone aligned higher under logo --- */
.gb-footer__brand{
  gap: 6px;
}
.gb-footer__logo-link{
  display:inline-block;
  line-height: 0;
}
.gb-footer__phone{
  margin-top: -10px; /* raise closer to top, still under logo */
}
@media (max-width: 980px){
  .gb-footer__phone{ margin-top: -6px; }
}

/* --- v1.2.1: Raise footer logo so its top aligns with right "Наша історія" --- */
@media (min-width: 981px){
  .gb-footer__brand{
    margin-top: -10px;
  }
  /* keep left phone aligned with right column phone */
  .gb-footer__phone{
    margin-top: 0;
  }
}
@media (max-width: 980px){
  .gb-footer__brand{
    margin-top: -6px;
  }
  .gb-footer__phone{
    margin-top: 0;
  }
}

/* --- v1.2.2: Footer logo raised to align with right column first row --- */
@media (min-width: 981px){
  .gb-footer__logo-link{
    transform: translateY(-28px);
  }
  .gb-footer__phone{
    margin-top: -18px;
  }
}
@media (max-width: 980px){
  .gb-footer__logo-link{
    transform: translateY(-14px);
  }
  .gb-footer__phone{
    margin-top: -10px;
  }
}

/* --- v1.2.3: Footer typography matches "Про компанію" block --- */
.gb-footer__contacts-list,
.gb-footer__contacts-list a,
.gb-footer__contacts-list span{
  font-size: 16px;
  line-height: 1.45;
  font-weight: 500;
}
.gb-footer__phone{
  font-size: 16px;
}
.gb-footer__list a{
  font-size: 16px;
  font-weight: 600;
}
.gb-footer__copy{
  font-size: 15px;
  line-height: 1.45;
}
@media (max-width: 980px){
  .gb-footer__contacts-list,
  .gb-footer__contacts-list a,
  .gb-footer__contacts-list span{
    font-size: 15px;
  }
  .gb-footer__list a{
    font-size: 15px;
  }
  .gb-footer__phone{
    font-size: 15px;
  }
  .gb-footer__copy{
    font-size: 14px;
  }
}

/* --- v1.2.4: Raise footer top row (logo left + contacts right) by ~10mm --- */
@media (min-width: 981px){
  .gb-footer__brand,
  .gb-footer__contacts{
    transform: translateY(-38px);
  }
}
@media (max-width: 980px){
  .gb-footer__brand,
  .gb-footer__contacts{
    transform: translateY(-18px);
  }
}

/* --- v1.2.5: Footer left phone align with right phone + move right 10mm --- */
@media (min-width: 981px){
  .gb-footer__phone{
    margin-top: -18px !important; /* raise */
    margin-left: 38px !important; /* move right */
  }
}
@media (max-width: 980px){
  .gb-footer__phone{
    margin-left: 16px;
  }
}

/* --- v1.2.6: Raise footer left phone further to match right phone row --- */
@media (min-width: 981px){
  .gb-footer__phone{
    position: relative;
    top: -24px !important;   /* raise more */
    margin-top: 0 !important;
    margin-left: 38px !important; /* keep 10mm shift */
  }
}
@media (max-width: 980px){
  .gb-footer__phone{
    position: relative;
    top: -10px;
    margin-top: 0;
    margin-left: 16px;
  }
}

/* --- v1.2.7: Force footer left phone position (align with right phone) --- */
@media (min-width: 981px){
  .gb-footer .gb-footer__brand a.gb-footer__phone{
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    transform: translate(38px, -42px) !important; /* right 10mm + up more */
    margin: 0 !important;
    position: relative !important;
    top: 0 !important;
    left: 0 !important;
  }
}
@media (max-width: 980px){
  .gb-footer .gb-footer__brand a.gb-footer__phone{
    transform: translate(16px, -16px) !important;
    margin: 0 !important;
  }
}

/* --- v1.2.7a: Raise footer right phone by ~5mm --- */
@media (min-width: 981px){
  .gb-footer__contacts .gb-footer__contacts-list a[href^="tel:"]{
    position: relative;
    /* Align phone numbers with the phone icon (text was shifted up) */
    top: 1px;
    display: inline-flex;
    align-items: center;
  }
}
@media (max-width: 980px){
  .gb-footer__contacts .gb-footer__contacts-list a[href^="tel:"]{
    position: relative;
    /* Mobile/tablet: keep the number on the same visual baseline as the icon */
    top: 2px;
  }
}

/* --- v1.2.8: Footer left phone up 5mm --- */
@media (min-width: 981px){
  .gb-footer .gb-footer__brand a.gb-footer__phone{
    transform: translate(38px, -61px) !important;
  }
}
@media (max-width: 980px){
  .gb-footer .gb-footer__brand a.gb-footer__phone{
    transform: translate(16px, -35px) !important;
  }
}

/* --- v1.2.8: Footer extra phones --- */
.gb-footer__phone-extra{
  opacity: .96;
}

/* --- v1.2.9: Move footer right text down ~3mm --- */
@media (min-width: 981px){
  .gb-footer__contacts{
    transform: translateY(-27px); /* was -38px; move down 11px */
  }
}
@media (max-width: 980px){
  .gb-footer__contacts{
    transform: translateY(-7px); /* was -18px; move down 11px */
  }
}

/* --- v1.3.6: Footer remove left logo & phone --- */
.gb-footer__brand--empty{
  min-height: 1px;
}

/* --- v1.3.7: Duplicate footer contacts to left column --- */
.gb-footer__brand--dup .gb-footer__contacts-list{
  margin: 0;
}
@media (min-width: 981px){
  .gb-footer__top{
    align-items: flex-start;
  }
  .gb-footer__brand--dup{
    min-width: 360px;
  }
}

/* --- v1.3.8: Align left footer contacts vertically with right --- */
@media (min-width: 981px){
  .gb-footer__brand--dup{
    padding-top: 0 !important;
    margin-top: 0 !important;
  }
  .gb-footer__brand--dup .gb-footer__contacts-list{
    margin-top: 0 !important;
  }
  .gb-footer__top{
    align-items: flex-start !important;
  }
}

/* --- v1.4.0: Move footer left contacts down ~3mm --- */
@media (min-width: 981px){
  .gb-footer__brand--dup{
    transform: translateY(11px);
  }
}
@media (max-width: 980px){
  .gb-footer__brand--dup{
    transform: translateY(6px);
  }
}



/* --- v1.4.2: Mobile footer menu ordered top-down by columns --- */
@media (max-width: 600px){
  .gb-footer__nav{
    width: 100%;
  }
  .gb-footer__list{
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    column-gap: 28px;
    row-gap: 14px;
    width: 100%;
    align-items: start;
  }
  .gb-footer__list > li{
    width: 100%;
  }
  .gb-footer__list > li:nth-child(1){ grid-column: 1; grid-row: 1; }
  .gb-footer__list > li:nth-child(2){ grid-column: 1; grid-row: 2; }
  .gb-footer__list > li:nth-child(3){ grid-column: 1; grid-row: 3; }
  .gb-footer__list > li:nth-child(4){ grid-column: 2; grid-row: 2; }
  .gb-footer__list > li:nth-child(5){ grid-column: 2; grid-row: 1; }
  .gb-footer__list > li:nth-child(6){ grid-column: 2; grid-row: 3; }
  .gb-footer__list a{
    display: block;
  }
}

/* --- v1.4.1: Align left footer contacts to match right line-by-line --- */
@media (min-width: 981px){
  .gb-footer__top{ align-items: flex-start !important; }
  .gb-footer__brand--dup{ transform: translateY(0) !important; margin-top: 0 !important; padding-top: 0 !important; }
  .gb-footer__brand--dup .gb-footer__contacts-list{ margin-top: 0 !important; }
  .gb-footer__contacts{ transform: translateY(0) !important; margin-top: 0 !important; padding-top: 0 !important; }
  .gb-footer__contacts .gb-footer__contacts-list{ margin-top: 0 !important; }
}
@media (max-width: 980px){
  .gb-footer__brand--dup{ transform: translateY(0) !important; }
  .gb-footer__contacts{ transform: translateY(0) !important; }
}

/* --- v1.4.2: Move both footer contact columns up ~5mm --- */
@media (min-width: 981px){
  .gb-footer__brand--dup,
  .gb-footer__contacts{
    transform: translateY(-19px) !important;
  }
}
@media (max-width: 980px){
  .gb-footer__brand--dup,
  .gb-footer__contacts{
    transform: translateY(-10px) !important;
  }
}

/* --- v1.4.3: Footer "Наша історія" non-clickable + separate texts --- */
.gb-footer__story{
  color: rgba(255,255,255,.92);
}

/* --- v1.4.4: Footer story text non-clickable (both columns) --- */
.gb-footer__story{
  text-decoration: none !important;
  cursor: default;
}

/* --- v1.4.5: Footer story separate controls --- */
.gb-footer__story{ text-decoration: none !important; }

/* --- v1.4.8: Footer center Google Map --- */
.gb-footer__map{
  flex: 0 0 420px;
  max-width: 420px;
  padding: 0 20px;
}
.gb-footer__map-wrap{
  width: 100%;
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 10px 22px rgba(0,0,0,.18);
}
.gb-footer__map-wrap iframe{
  width: 100%;
  height: 210px;
  border: 0;
  display: block;
}
@media (max-width: 1100px){
  .gb-footer__map{ flex-basis: 360px; max-width: 360px; }
  .gb-footer__map-wrap iframe{ height: 200px; }
}
@media (max-width: 980px){
  .gb-footer__map{
    flex: 1 1 100%;
    max-width: 100%;
    padding: 18px 0 0;
    order: 3;
  }
  .gb-footer__brand--dup{ order: 1; }
  .gb-footer__contacts{ order: 2; }
  .gb-footer__map-wrap iframe{ height: 220px; }
}

/* --- v1.5.1: Footer map left ~10mm (and keep up ~5mm) --- */
@media (min-width: 981px){
  .gb-footer__map{
    transform: translate(-38px, -38px) !important;
  }
}
@media (max-width: 980px){
  .gb-footer__map{
    transform: translate(0, -29px) !important;
  }
}


/* --- v1.5.6: Footer section titles (Офіс / Склад) underline + bold --- */
.gb-footer__story{
  font-weight: 700 !important;
  display: inline-block;
  padding-bottom: 3px;
  border-bottom: 2px solid rgba(255,255,255,.92);
}

/* --- v1.5.7: Move footer map + right text left ~5mm; keep склад address in one line --- */
@media (min-width: 981px){
  .gb-footer__map{
    transform: translateX(-19px) !important;
  }
  .gb-footer__contacts{
    transform: translateX(-19px) !important;
  }
  /* try to keep the warehouse/production address on one line */
  .gb-footer__contacts .gb-footer__contacts-list li:nth-child(2) span{
    white-space: nowrap;
  }
}

/* --- v1.5.8: Footer map additional left shift ~5mm --- */
@media (min-width: 981px){
  .gb-footer__map{ transform: translateX(-49px) !important; }
}

/* --- v1.6.1: Mobile footer address opens Google Maps navigation --- */
.gb-footer__addrlink{
  color: rgba(255,255,255,.92);
  text-decoration: none;
}
@media (min-width: 981px){
  .gb-footer__addrlink{
    pointer-events: none; /* mobile-only interaction */
    cursor: default;
  }
}
@media (max-width: 980px){
  .gb-footer__addrlink{
    pointer-events: auto;
    text-decoration: underline;
    text-underline-offset: 3px;
  }
}


/* --- v1.6.3: Warehouse address single line --- */
.gb-footer__contacts .gb-footer__row:nth-child(2) span,
.gb-footer__contacts .gb-footer__row:nth-child(2) a{
  white-space: nowrap;
}


/* --- v1.6.7: Force move map up 5mm --- */
.gb-footer iframe,
.gb-footer__map,
.gb-footer__map iframe{
  margin-top: -19px !important;
}

/* --- v1.6.8: Align right footer title with left (Office) --- */
@media (min-width: 981px){
  .gb-footer__contacts{
    transform: translateY(-19px) !important; /* ~5mm up */
  }
}

/* --- v1.7.0: Hide footer map on mobile --- */
@media (max-width: 980px){
  .gb-footer__map,
  .gb-footer__map iframe{
    display: none !important;
  }
}



/* Footer menu (mobile) - structured grid */
@media (max-width: 600px){
  .gb-footer__nav{ width:100%; }
  .gb-footer__list{
    display:grid !important;
    grid-template-columns: minmax(0, 1.18fr) minmax(0, 0.82fr);
    gap: 8px 12px;
    justify-items: start;
    align-items: stretch;
  }
  .gb-footer__list > li{ width:100%; }
  .gb-footer__list a{
    display:block;
    width:100%;
    padding: 10px 2px;
    font-size: 16px;
    line-height: 1.15;
    font-weight: 700;
    text-align: left;
  }
  .gb-footer__list > li:nth-child(2) a,
  .gb-footer__list a[href*="pobutivky-vyrobnytstvo"]{
    white-space: nowrap;
  }
  .gb-footer__list > li:nth-child(4),
  .gb-footer__list > li:nth-child(5),
  .gb-footer__list > li:nth-child(6){
    box-sizing: border-box;
    padding-left: 11px; /* ~3mm shift for the right column on mobile */
  }
}

/* --- v1.7.3: keep mobile phone visible when burger menu opened --- */
@media (max-width: 980px){
  :root{
    --gb-header-h: 70px;
    --gb-phonebar-h: 52px; /* reserved height for the phone strip */
  }

  /* Phone strip stays visible under the header and above the opened nav */
  .gb-mobile-phonebar{
    position: sticky;
    top: calc(var(--gb-header-h) + var(--wp-admin--admin-bar--height, 0px));
    z-index: 10001;
    height: var(--gb-phonebar-h);
    display: flex;
    align-items: center;
  }

  /* Move the nav panel below the phone strip so it won't cover the phone */
  .gb-nav,
  .gb-nav.is-open{
    top: calc(var(--gb-header-h) + var(--gb-phonebar-h) + var(--wp-admin--admin-bar--height, 0px)) !important;
  }
}

/* --- v1.7.4: Mobile rounded blocks (cards) for key home sections --- */
/* Mobile only: rounded 7px. Laptop/desktop/tablet remain square (default styles). */
@media (max-width: 600px){
  /* "Наші напрямки" */
  #directions .gb-card{ border-radius: 7px !important; }

  /* "Наші об'єкти" */
  .gb-objects__item{ border-radius: 7px !important; }

  /* "Чому нас обирають" */
  .gb-why__panel{ border-radius: 7px !important; }
}


/* --- v1.7.5: Mobile/desktop UX tweaks --- */
/* Keep anchor scrolling below sticky header (+ phonebar on mobile) */
html{
  scroll-padding-top: calc(var(--gb-header-h, 78px) + var(--gb-phonebar-h, 0px) + 16px);
}

/* Lock background scroll when burger menu is open */
body.gb-nav-open{
  overflow: hidden;
}

@media (max-width: 980px){
  /* Make opened mobile menu scrollable and always visible */
  .gb-nav.is-open{
    max-height: calc(100vh - (var(--gb-header-h, 70px) + var(--gb-phonebar-h, 52px) + var(--wp-admin--admin-bar--height, 0px)));
    overflow: auto;
    -webkit-overflow-scrolling: touch;
  }
}

/* Avoid negative overlap on very small screens */
@media (max-width: 600px){
  .gb-why{ margin-top: 0; }
}

/* --- v1.7.6: Landing template "Оренда риштувань" --- */
.gb-rent{ background: var(--gray-50); }

/* Hero additions */
.gb-hero--rent .gb-hero__inner{
  min-height: 420px;
}
.gb-rent-hero__subtitle{
  margin:0 0 18px;
  font-size:16px;
  opacity:.9;
  max-width:560px;
}
.gb-rent-hero__badges{ display:flex; gap:10px; flex-wrap:wrap; margin: 0 0 18px; }
.gb-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:6px 10px;
  border-radius:999px;
  font-weight:800;
  font-size:12px;
  letter-spacing:.01em;
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.20);
  color: rgba(255,255,255,.94);
}
.gb-rent-hero__card{
  border-radius: 18px;
  background: rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.14);
  padding: 16px;
}
.gb-rent-hero__media{
  border-radius: 16px;
  background: rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.14);
  overflow:hidden;
  height: 230px;
  display:grid;
  place-items:center;
  position: relative;
}
.gb-rent-hero__media img{
  width:100%;
  height:100%;
  object-fit: cover;
  opacity: .95;
}
.gb-rent-hero__media--placeholder{ color: rgba(255,255,255,.78); font-weight:800; }
.gb-rent-hero__stats{ display:grid; grid-template-columns: repeat(3, 1fr); gap:10px; margin-top: 12px; }
.gb-rent-hero__stat{
  border-radius: 14px;
  background: rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
  padding: 10px;
}
.gb-rent-hero__stat small{ display:block; opacity:.85; font-weight:700; }
.gb-rent-hero__stat strong{ display:block; margin-top:4px; font-weight:900; }

/* Calculator */
.gb-rent-calc__box{
  background: var(--white);
  border: 1px solid var(--gray-200);
  border-radius: 18px;
  box-shadow: 0 10px 22px rgba(8,26,44,.06);
  padding: 18px;
}
.gb-rent-calc__head{ display:flex; gap:14px; align-items:flex-end; justify-content:space-between; flex-wrap:wrap; }
.gb-rent-calc__title{ margin:0; font-size: 28px; font-weight: 900; color:#0c2340; }
.gb-rent-calc__desc{ margin:6px 0 0; color: var(--muted); font-weight:700; }
.gb-rent-form{ margin-top: 14px; }
.gb-rent .gb-input{
  border-radius: 14px;
  border:1px solid var(--gray-200);
  background: var(--gray-100);
  color: var(--text);
  height: 54px;
}
.gb-rent .gb-input::placeholder{ color: rgba(91,107,130,.9); }
.gb-rent-calc__grid{
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
}
.gb-rent-calc__checks{ display:flex; gap:18px; flex-wrap:wrap; margin-top: 10px; }
.gb-check{ display:inline-flex; align-items:center; gap:10px; font-weight:800; color:#0c2340; }
.gb-check input{ width:18px; height:18px; accent-color: var(--orange); }
.gb-rent-calc__actions{ display:flex; gap:12px; align-items:center; justify-content:flex-end; flex-wrap:wrap; margin-top: 14px; }
.gb-rent-calc__note{ color: var(--muted); font-size: 12px; font-weight:700; }

/* Two columns section */
.gb-rent-grid2{ display:grid; grid-template-columns: 1.05fr .95fr; gap: 22px; }
.gb-rent-stack{ display:grid; gap: 14px; }
.gb-rent-card{
  background: var(--white);
  border: 1px solid var(--gray-200);
  border-radius: 18px;
  box-shadow: 0 10px 22px rgba(8,26,44,.06);
  padding: 16px;
}
.gb-rent-card__title{ margin:0 0 8px; font-size: 22px; font-weight: 900; color:#0c2340; }
.gb-rent-benefit{ display:flex; gap: 14px; }
.gb-rent-benefit__ico{ width:48px; height:48px; border-radius: 16px; background: var(--gray-100); border:1px solid var(--gray-200); flex: 0 0 auto; }
.gb-rent-benefit__ico img{width:100%;height:100%;object-fit:contain;display:block;}
.gb-rent-benefit__text p{ margin:0; color: var(--muted); font-weight:700; }

.gb-rent-tariff{ background: linear-gradient(180deg, var(--blue-850) 0%, var(--blue-950) 100%); border-color: rgba(255,255,255,.08); color: rgba(255,255,255,.92); }
.gb-rent-tariff .gb-rent-card__title{ color: var(--white); }
.gb-rent-tariff__price{ font-size: 22px; font-weight: 900; color: var(--orange); margin: 0 0 6px; }
.gb-rent-tariff p{ margin:0; color: rgba(219,227,238,.92); font-weight:700; }

/* Steps */
.gb-rent-steps{ display:grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.gb-step{ background: var(--white); border:1px solid var(--gray-200); border-radius: 18px; padding: 16px; box-shadow: 0 10px 22px rgba(8,26,44,.06); }
.gb-step__num{ width:34px; height:34px; border-radius: 12px; background: var(--orange); color:#1a1309; display:grid; place-items:center; font-weight: 900; }
.gb-step__title{ margin: 10px 0 4px; font-weight: 900; color:#0c2340; }
.gb-step__desc{ margin:0; color: var(--muted); font-weight:700; }

/* Gallery */
/*
  v1.9.4 (requested):
  - Make the "Галерея та приклади робіт" slider behave like the site's other sliders
    ("Наші об’єкти" / "Відгуки") using scroll-snap + arrows + dots.
  - Laptop/desktop: keep 3 photos visible per view.
  - Tablet: 2 per view.
  - Mobile: 1 per view.
  Note: scoped to .gb-rent so other galleries on the site remain unchanged.
*/
.gb-rent .gb-gallery--rent{
  --gb-gal-gap: 14px;
  --gb-gal-per-view: 3;
}

.gb-rent .gb-gallery--rent .gb-gallery__wrap{ position: relative; margin-top: 16px; }

/* Track (reuses .gb-rent-gallery class to keep existing markup stable) */
.gb-rent .gb-gallery--rent .gb-rent-gallery{
  display:flex;
  gap: var(--gb-gal-gap);
  overflow-x:auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  padding: 6px 2px 10px;
  scrollbar-width: none;
}
.gb-rent .gb-gallery--rent .gb-rent-gallery::-webkit-scrollbar{ display:none; }

.gb-rent .gb-gallery--rent .gb-gallery__item{
  scroll-snap-align: start;
  flex: 0 0 calc((100% - (var(--gb-gal-per-view) - 1) * var(--gb-gal-gap) - 4px) / var(--gb-gal-per-view));
}

.gb-rent .gb-rent-gallery__item{
  overflow:hidden;
  border:1px solid var(--gray-200);
  background: var(--gray-100);
  height: 220px;
}
.gb-rent .gb-rent-gallery__item img{ width:100%; height:100%; object-fit: cover; display:block; }
.gb-rent .gb-rent-gallery__placeholder{ display:grid; place-items:center; color: var(--muted); font-weight:800; }

.gb-rent .gb-gallery--rent .gb-gallery__nav{
  display:flex;
  align-items:center;
  justify-content:center;
  gap: 10px;
  margin-top: 12px;
}
.gb-rent .gb-gallery--rent .gb-gallery__arrow{
  width: 24px;
  height: 24px;
  padding: 0;
  border: 0;
  background: transparent;
  color: rgba(11,36,64,.55);
  font-size: 26px;
  line-height: 1;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
}
.gb-rent .gb-gallery--rent .gb-gallery__arrow:hover{ color: rgba(11,36,64,.78); }

.gb-rent .gb-gallery--rent .gb-gallery__dots{
  display:flex;
  gap: 6px;
  align-items:center;
  justify-content:center;
}
.gb-rent .gb-gallery--rent .gb-gallery__dot{
  width: 7px;
  height: 7px;
  border-radius: 99px;
  background: rgba(11,36,64,.35);
}
.gb-rent .gb-gallery--rent .gb-gallery__dot.is-active{
  background: var(--orange);
  width: 18px;
}

@media (max-width: 1024px){
  .gb-rent .gb-gallery--rent{ --gb-gal-per-view: 2; }
  .gb-rent .gb-rent-gallery__item{ height: 200px; }
}

@media (max-width: 520px){
  .gb-rent .gb-gallery--rent{ --gb-gal-per-view: 1; }
  .gb-rent .gb-rent-gallery__item{ height: 210px; }
}

/* Mobile UX: swipe; arrows hidden like other sliders */
@media (max-width: 980px){
  .gb-rent .gb-gallery--rent .gb-gallery__arrow{ display:none; }
}

/* FAQ */
.gb-faq{ border-radius: 18px; border:1px solid var(--gray-200); background: var(--white); box-shadow: 0 10px 22px rgba(8,26,44,.06); }
.gb-faq details{ border-bottom:1px solid var(--gray-200); padding: 14px 16px; }
.gb-faq details:last-child{ border-bottom:none; }
.gb-faq summary{ cursor:pointer; list-style:none; font-weight:900; color:#0c2340; }
.gb-faq summary::-webkit-details-marker{ display:none; }
.gb-faq p{ margin:10px 0 0; color: var(--muted); font-weight:700; }

/* CTA strip */
.gb-rent-cta{
  background: linear-gradient(180deg, #0e2b4c 0%, #081a2c 100%);
  color: var(--white);
}
.gb-rent-cta__inner{ display:flex; align-items:center; justify-content:space-between; gap: 16px; flex-wrap:wrap; padding: 26px 0; }
.gb-rent-cta__title{ margin:0; font-size: 26px; font-weight: 900; }
.gb-rent-cta__text{ margin:6px 0 0; opacity:.9; font-weight:700; }

@media (max-width: 980px){
  .gb-hero--rent .gb-hero__inner{ min-height: auto; }
  .gb-rent-calc__grid{ grid-template-columns: 1fr; }
  .gb-rent-grid2{ grid-template-columns: 1fr; }
  .gb-rent-steps{ grid-template-columns: 1fr; }
  .gb-rent-hero__stats{ grid-template-columns: 1fr; }
}

@media (max-width: 520px){
  /* mobile tweaks (gallery handled by v1.9.4 slider rules above) */
}
/* --- v1.7.7: "Оренда риштувань" — ноутбук: прямі кути, мобільні/планшети: 7px --- */
.gb-rent{
  --gb-rent-radius: 0px;
}

/* Buttons */
.gb-rent .btn{ border-radius: var(--gb-rent-radius); }

/* Blocks / cards / inputs */
.gb-rent .gb-rent-hero__card,
.gb-rent .gb-rent-hero__media,
.gb-rent .gb-rent-hero__stat,
.gb-rent .gb-rent-calc__box,
.gb-rent .gb-rent-card,
.gb-rent .gb-rent-benefit__ico,
.gb-rent .gb-step,
.gb-rent .gb-step__num,
.gb-rent .gb-rent-gallery__item,
.gb-rent .gb-faq,
.gb-rent .gb-input{
  border-radius: var(--gb-rent-radius);
}

/* Mobile + tablet (and touch-first devices) */
@media (max-width: 1024px), (hover: none) and (pointer: coarse){
  .gb-rent{ --gb-rent-radius: 7px; }
}


/* --- v1.8.2: "Оренда риштувань" — spacing + FAQ polish (no layout changes) --- */
/* Lift sections up by ~5mm (≈19px): reduce only TOP padding, keep bottom padding unchanged */
.gb-rent .gb-rent-calc,
.gb-rent .gb-rent-benefits,
.gb-rent .gb-rent-steps-section,
.gb-rent .gb-rent-gallery-section{
  padding-top: 8px; /* 46px - 38px */
  padding-bottom: 46px;
}



/* --- v1.8.8: "Оренда риштувань" — lift Benefits+Tariffs block by additional ~5mm on ALL devices --- */
.gb-rent .gb-rent-benefits{
  padding-top: 8px; /* 27px - 19px */
}

/* --- v1.8.9: "Оренда риштувань" — lift "Як це працює" block by additional ~5mm on ALL devices --- */
.gb-rent .gb-rent-steps-section{
  padding-top: 8px; /* 27px - 19px */
}

/* --- v1.9.1: spacing tweaks requested --- */
/* 1) "Швидкий розрахунок" — опустити вниз на ~5мм (≈19px) на ВСІХ пристроях,
      без зміни розмірів шрифтів/картинок/блоків.
   Реалізація: переносимо 19px з нижнього padding у верхній (загальна висота секції не змінюється). */
.gb-rent .gb-rent-calc{
  padding-top: 27px;
  padding-bottom: 27px;
}

/* 2) "Переваги" — підняти вгору на ~5мм (≈19px) на ВСІХ пристроях.
   Реалізація: прибираємо верхній padding і додаємо невеликий негативний margin,
   щоб сумарно отримати ≈19px без зламу макета. */
.gb-rent .gb-rent-benefits{
  padding-top: 0px;
  padding-bottom: 54px;
  margin-top: -11px;
}

/* FAQ: remove inline spacing control, add plus/minus indicator */
.gb-rent .gb-faq--rent{ margin-top: 12px; }

.gb-rent .gb-faq details{ position: relative; }
.gb-rent .gb-faq summary{
  position: relative;
  display: block;
  padding-right: 44px;
}
.gb-rent .gb-faq summary::after{
  content: "+";
  position: absolute;
  right: 16px;
  top: 12px;
  font-size: 26px;
  line-height: 1;
  color: var(--muted);
  font-weight: 900;
}
.gb-rent .gb-faq details[open] summary::after{ content: "–"; }


/* --- v1.8.3: "Оренда риштувань" — laptop hero height -10mm (mobile unchanged) --- */
/* 10mm ≈ 38px at 96dpi CSS px. Reduce only vertical whitespace/min-height; keep fonts/images/layout unchanged. */
@media (min-width: 1025px) and (hover:hover) and (pointer:fine){
  .gb-hero--rent .gb-hero__inner{
    padding-top: 39px !important;   /* 58px - 19px */
    padding-bottom: 39px !important;/* 58px - 19px */
    min-height: 382px !important;   /* 420px - 38px */
  }
}

/* --- v1.8.5: "Оренда риштувань" — laptop hero height -10mm (robust selector) --- */
@media (min-width: 1025px) and (hover:hover) and (pointer:fine){
  body[class*="page-template-template-orenda-ryshtuvan"] .gb-hero--rent .gb-hero__inner{
    padding-top: 20px !important;    /* 58px - 38px */
    padding-bottom: 20px !important; /* 58px - 38px */
    min-height: 344px !important;    /* 420px - 76px */
  }
}

/* --- v1.9.2: "Оренда риштувань" — move Benefits+Tariffs DOWN by ~5mm (≈19px) on ALL devices --- */
.gb-rent .gb-rent-benefits{
  margin-top: 8px !important; /* was -11px; 8 - (-11) = +19px */
}


/* Rent scaffolding: lift FAQ section by ~5mm */
.gb-rent-faq--up{ margin-top: -19px !important; }


/* Rent scaffolding: lift FAQ section by 5mm */
body .gb-rent-faq--up{ margin-top: -19px !important; }


/* === HERO TITLES UP 5MM (Rent + Pobutivky) === */
/* Move titles up by ~5mm (≈19px) on:
   - /orenda-ryshtuvan/ (Rent)
   - /pobutivky-vyrobnytstvo/ (Pobutivky Production)
   Works for all responsive breakpoints.
*/
.gb-hero--rent .gb-hero__title{ transform: translateY(-19px); }
.gb-hero--rent .gb-hero__title--page{ transform: translateY(-19px); }

/* Pobutivky hero is scoped via .gb-pob-hero */
.gb-pob-hero .gb-hero__title{ transform: translateY(-19px); }
.gb-pob-hero .gb-hero__title--page{ transform: translateY(-19px); }



/* === FAQ interactions (desktop hover / mobile open) === */
/* Default: questions not bold; answers not bold */
.gb-faq details > summary{
  font-weight: 400 !important;
}
.gb-faq details > summary *{
  font-weight: inherit !important;
}
.gb-faq details > div,
.gb-faq details > div *{
  font-weight: 400 !important;
}

/* Laptop/Desktop: on hover question becomes bold */
@media (min-width: 1025px) and (hover: hover) and (pointer: fine){
  .gb-faq details > summary:hover{
    font-weight: 900 !important;
  }
}

/* Tablet/Mobile: when opened (clicked/tapped), question becomes bold */
@media (max-width: 1024px), (hover: none){
  .gb-faq details[open] > summary{
    font-weight: 900 !important;
  }
}


/* FAQ open bold on desktop */
@media (min-width: 1025px){
  .gb-faq details[open] > summary{
    font-weight: 900 !important;
  }
}

/* === v1.9.6 patch: Radius 5px for Contacts (desktop) + Reviews (all pages) === */

/* 1) Contacts page: desktop/laptop rounding for blocks/photos/buttons/maps.
   Targets common slugs: /kontaktu/ (default), /kontakt/, /contacts/, /contact/, /kontakty/ */
@media (min-width: 981px){
  body.page-kontaktu .gb-page-card,
  body.page-kontakt .gb-page-card,
  body.page-contacts .gb-page-card,
  body.page-contact .gb-page-card,
  body.page-kontakty .gb-page-card,

  body.page-kontaktu .gb-page-card .wp-block-group,
  body.page-kontakt .gb-page-card .wp-block-group,
  body.page-contacts .gb-page-card .wp-block-group,
  body.page-contact .gb-page-card .wp-block-group,
  body.page-kontakty .gb-page-card .wp-block-group,

  body.page-kontaktu .gb-page-card .wp-block-columns,
  body.page-kontakt .gb-page-card .wp-block-columns,
  body.page-contacts .gb-page-card .wp-block-columns,
  body.page-contact .gb-page-card .wp-block-columns,
  body.page-kontakty .gb-page-card .wp-block-columns,

  body.page-kontaktu .gb-page-card .wp-block-column,
  body.page-kontakt .gb-page-card .wp-block-column,
  body.page-contacts .gb-page-card .wp-block-column,
  body.page-contact .gb-page-card .wp-block-column,
  body.page-kontakty .gb-page-card .wp-block-column,

  body.page-kontaktu .gb-page-card .wp-block-cover,
  body.page-kontakt .gb-page-card .wp-block-cover,
  body.page-contacts .gb-page-card .wp-block-cover,
  body.page-contact .gb-page-card .wp-block-cover,
  body.page-kontakty .gb-page-card .wp-block-cover,

  body.page-kontaktu .gb-page-card .wp-block-media-text,
  body.page-kontakt .gb-page-card .wp-block-media-text,
  body.page-contacts .gb-page-card .wp-block-media-text,
  body.page-contact .gb-page-card .wp-block-media-text,
  body.page-kontakty .gb-page-card .wp-block-media-text,

  body.page-kontaktu .gb-page-card .wp-block-table,
  body.page-kontakt .gb-page-card .wp-block-table,
  body.page-contacts .gb-page-card .wp-block-table,
  body.page-contact .gb-page-card .wp-block-table,
  body.page-kontakty .gb-page-card .wp-block-table,

  body.page-kontaktu .gb-page-card .wp-block-embed,
  body.page-kontakt .gb-page-card .wp-block-embed,
  body.page-contacts .gb-page-card .wp-block-embed,
  body.page-contact .gb-page-card .wp-block-embed,
  body.page-kontakty .gb-page-card .wp-block-embed,

  body.page-kontaktu .gb-page-card .wp-block-iframe,
  body.page-kontakt .gb-page-card .wp-block-iframe,
  body.page-contacts .gb-page-card .wp-block-iframe,
  body.page-contact .gb-page-card .wp-block-iframe,
  body.page-kontakty .gb-page-card .wp-block-iframe{
    border-radius: 5px !important;
    overflow: hidden;
  }

  /* Images + maps */
  body.page-kontaktu .gb-page-card img,
  body.page-kontakt .gb-page-card img,
  body.page-contacts .gb-page-card img,
  body.page-contact .gb-page-card img,
  body.page-kontakty .gb-page-card img,

  body.page-kontaktu .gb-page-card iframe,
  body.page-kontakt .gb-page-card iframe,
  body.page-contacts .gb-page-card iframe,
  body.page-contact .gb-page-card iframe,
  body.page-kontakty .gb-page-card iframe{
    border-radius: 5px !important;
  }

  /* Buttons / inputs */
  body.page-kontaktu .gb-page-card .btn,
  body.page-kontakt .gb-page-card .btn,
  body.page-contacts .gb-page-card .btn,
  body.page-contact .gb-page-card .btn,
  body.page-kontakty .gb-page-card .btn,

  body.page-kontaktu .gb-page-card button,
  body.page-kontakt .gb-page-card button,
  body.page-contacts .gb-page-card button,
  body.page-contact .gb-page-card button,
  body.page-kontakty .gb-page-card button,

  body.page-kontaktu .gb-page-card input[type="submit"],
  body.page-kontakt .gb-page-card input[type="submit"],
  body.page-contacts .gb-page-card input[type="submit"],
  body.page-contact .gb-page-card input[type="submit"],
  body.page-kontakty .gb-page-card input[type="submit"],

  body.page-kontaktu .gb-page-card input[type="button"],
  body.page-kontakt .gb-page-card input[type="button"],
  body.page-contacts .gb-page-card input[type="button"],
  body.page-contact .gb-page-card input[type="button"],
  body.page-kontakty .gb-page-card input[type="button"],

  body.page-kontaktu .gb-page-card .wp-block-button__link,
  body.page-kontakt .gb-page-card .wp-block-button__link,
  body.page-contacts .gb-page-card .wp-block-button__link,
  body.page-contact .gb-page-card .wp-block-button__link,
  body.page-kontakty .gb-page-card .wp-block-button__link,

  body.page-kontaktu .gb-page-card .wp-element-button,
  body.page-kontakt .gb-page-card .wp-element-button,
  body.page-contacts .gb-page-card .wp-element-button,
  body.page-contact .gb-page-card .wp-element-button,
  body.page-kontakty .gb-page-card .wp-element-button,

  body.page-kontaktu .gb-page-card input,
  body.page-kontakt .gb-page-card input,
  body.page-contacts .gb-page-card input,
  body.page-contact .gb-page-card input,
  body.page-kontakty .gb-page-card input,

  body.page-kontaktu .gb-page-card textarea,
  body.page-kontakt .gb-page-card textarea,
  body.page-contacts .gb-page-card textarea,
  body.page-contact .gb-page-card textarea,
  body.page-kontakty .gb-page-card textarea,

  body.page-kontaktu .gb-page-card select,
  body.page-kontakt .gb-page-card select,
  body.page-contacts .gb-page-card select,
  body.page-contact .gb-page-card select,
  body.page-kontakty .gb-page-card select{
    border-radius: 5px !important;
  }
}

/* 2) Reviews block: rounding 5px on all pages (all viewports) */
.gb-reviews .gb-review,
.gb-reviews .gb-review__head,
.gb-reviews .gb-reviews__wrap{
  border-radius: 5px !important;
}
.gb-reviews .gb-review__avatar,
.gb-reviews .gb-review__avatar--placeholder{
  border-radius: 5px !important;
}
.gb-reviews .gb-reviews__arrow,
.gb-reviews .gb-reviews__dot{
  border-radius: 5px !important;
}

/* Contacts page: also round theme lead block + footer map on desktop */
@media (min-width: 981px){
  body.page-kontaktu .gb-lead__panel,
  body.page-kontakt .gb-lead__panel,
  body.page-contacts .gb-lead__panel,
  body.page-contact .gb-lead__panel,
  body.page-kontakty .gb-lead__panel,

  body.page-kontaktu .gb-lead__row,
  body.page-kontakt .gb-lead__row,
  body.page-contacts .gb-lead__row,
  body.page-contact .gb-lead__row,
  body.page-kontakty .gb-lead__row,

  body.page-kontaktu .gb-footer__map-wrap,
  body.page-kontakt .gb-footer__map-wrap,
  body.page-contacts .gb-footer__map-wrap,
  body.page-contact .gb-footer__map-wrap,
  body.page-kontakty .gb-footer__map-wrap{
    border-radius: 5px !important;
    overflow: hidden;
  }

  body.page-kontaktu .gb-footer__map-wrap iframe,
  body.page-kontakt .gb-footer__map-wrap iframe,
  body.page-contacts .gb-footer__map-wrap iframe,
  body.page-contact .gb-footer__map-wrap iframe,
  body.page-kontakty .gb-footer__map-wrap iframe{
    border-radius: 5px !important;
  }
}

/* Same Contacts rounding rules but also covers slug variant: /kontakti/ */
@media (min-width: 981px){
  body:is(.page-kontaktu,.page-kontakt,.page-kontakti,.page-contacts,.page-contact,.page-kontakty) .gb-page-card,
  body:is(.page-kontaktu,.page-kontakt,.page-kontakti,.page-contacts,.page-contact,.page-kontakty) .gb-page-card .wp-block-group,
  body:is(.page-kontaktu,.page-kontakt,.page-kontakti,.page-contacts,.page-contact,.page-kontakty) .gb-page-card .wp-block-columns,
  body:is(.page-kontaktu,.page-kontakt,.page-kontakti,.page-contacts,.page-contact,.page-kontakty) .gb-page-card .wp-block-column,
  body:is(.page-kontaktu,.page-kontakt,.page-kontakti,.page-contacts,.page-contact,.page-kontakty) .gb-page-card .wp-block-cover,
  body:is(.page-kontaktu,.page-kontakt,.page-kontakti,.page-contacts,.page-contact,.page-kontakty) .gb-page-card .wp-block-media-text,
  body:is(.page-kontaktu,.page-kontakt,.page-kontakti,.page-contacts,.page-contact,.page-kontakty) .gb-page-card .wp-block-table,
  body:is(.page-kontaktu,.page-kontakt,.page-kontakti,.page-contacts,.page-contact,.page-kontakty) .gb-page-card .wp-block-embed,
  body:is(.page-kontaktu,.page-kontakt,.page-kontakti,.page-contacts,.page-contact,.page-kontakty) .gb-page-card .wp-block-iframe{
    border-radius: 5px !important;
    overflow: hidden;
  }

  body:is(.page-kontaktu,.page-kontakt,.page-kontakti,.page-contacts,.page-contact,.page-kontakty) .gb-page-card img,
  body:is(.page-kontaktu,.page-kontakt,.page-kontakti,.page-contacts,.page-contact,.page-kontakty) .gb-page-card iframe,
  body:is(.page-kontaktu,.page-kontakt,.page-kontakti,.page-contacts,.page-contact,.page-kontakty) .gb-page-card video{
    border-radius: 5px !important;
  }

  body:is(.page-kontaktu,.page-kontakt,.page-kontakti,.page-contacts,.page-contact,.page-kontakty) .gb-page-card .btn,
  body:is(.page-kontaktu,.page-kontakt,.page-kontakti,.page-contacts,.page-contact,.page-kontakty) .gb-page-card button,
  body:is(.page-kontaktu,.page-kontakt,.page-kontakti,.page-contacts,.page-contact,.page-kontakty) .gb-page-card input,
  body:is(.page-kontaktu,.page-kontakt,.page-kontakti,.page-contacts,.page-contact,.page-kontakty) .gb-page-card textarea,
  body:is(.page-kontaktu,.page-kontakt,.page-kontakti,.page-contacts,.page-contact,.page-kontakty) .gb-page-card select,
  body:is(.page-kontaktu,.page-kontakt,.page-kontakti,.page-contacts,.page-contact,.page-kontakty) .gb-page-card .wp-block-button__link,
  body:is(.page-kontaktu,.page-kontakt,.page-kontakti,.page-contacts,.page-contact,.page-kontakty) .gb-page-card .wp-element-button{
    border-radius: 5px !important;
  }

  body:is(.page-kontaktu,.page-kontakt,.page-kontakti,.page-contacts,.page-contact,.page-kontakty) .gb-lead__panel,
  body:is(.page-kontaktu,.page-kontakt,.page-kontakti,.page-contacts,.page-contact,.page-kontakty) .gb-lead__row,
  body:is(.page-kontaktu,.page-kontakt,.page-kontakti,.page-contacts,.page-contact,.page-kontakty) .gb-footer__map-wrap{
    border-radius: 5px !important;
    overflow: hidden;
  }

  body:is(.page-kontaktu,.page-kontakt,.page-kontakti,.page-contacts,.page-contact,.page-kontakty) .gb-footer__map-wrap iframe{
    border-radius: 5px !important;
  }
}


/* --- v1.9.6: Tablet menu — hide "Контакти" item only on tablets --- */
@media (min-width: 768px) and (max-width: 980px){
  .gb-nav__list a[href$="/kontaktu/"],
  .gb-nav__list a[href*="/kontaktu#"],
  .gb-nav__list a[href$="/kontakti/"],
  .gb-nav__list a[href$="/kontakty/"],
  .gb-nav__list a[href$="/kontakti/"],
  .gb-nav__list a[href$="/kontakty/"],
  .gb-nav__list a[href$="/kontakt/"],
  .gb-nav__list a[href$="#contacts"],
  .gb-nav__list a[href="#contacts"]{
    display: none !important;
  }

  .gb-nav__list li.menu-item:has(> a[href$="/kontaktu/"]),
  .gb-nav__list li.menu-item:has(> a[href*="/kontaktu#"]),
  .gb-nav__list li.menu-item:has(> a[href$="/kontakti/"]),
  .gb-nav__list li.menu-item:has(> a[href$="/kontakty/"]),
  .gb-nav__list li.menu-item:has(> a[href$="/kontakti/"]),
  .gb-nav__list li.menu-item:has(> a[href$="/kontakty/"]),
  .gb-nav__list li.menu-item:has(> a[href$="/kontakt/"]),
  .gb-nav__list li.menu-item:has(> a[href$="#contacts"]),
  .gb-nav__list li.menu-item:has(> a[href="#contacts"]){
    display: none !important;
  }
}

/* --- v1.9.6: Laptop menu — hide "Контакти" item only on laptops --- */
@media (min-width: 981px) and (max-width: 1200px){
  .gb-nav__list a[href$="/kontaktu/"],
  .gb-nav__list a[href*="/kontaktu#"],
  .gb-nav__list a[href$="/kontakti/"],
  .gb-nav__list a[href$="/kontakty/"],
  .gb-nav__list a[href$="/kontakt/"],
  .gb-nav__list a[href$="#contacts"],
  .gb-nav__list a[href="#contacts"]{
    display: none !important;
  }

  .gb-nav__list li.menu-item:has(> a[href$="/kontaktu/"]),
  .gb-nav__list li.menu-item:has(> a[href*="/kontaktu#"]),
  .gb-nav__list li.menu-item:has(> a[href$="/kontakti/"]),
  .gb-nav__list li.menu-item:has(> a[href$="/kontakty/"]),
  .gb-nav__list li.menu-item:has(> a[href$="/kontakt/"]),
  .gb-nav__list li.menu-item:has(> a[href$="#contacts"]),
  .gb-nav__list li.menu-item:has(> a[href="#contacts"]){
    display: none !important;
  }
}


/* --- v1.9.6: Desktop/laptop top menu — reliably hide "Контакти" item --- */
@media (min-width: 981px){
  .gb-nav__list > li.gb-menu-item-contacts,
  .gb-nav__list > li.gb-menu-item-contacts > a{
    display: none !important;
  }
}


/* --- v1.3.0: laptop-only yellow-bottom logo, mobile keeps default logo --- */
.gb-logo--laptop{
  display:none;
}

@media (min-width: 981px){
  .gb-logo--default{
    display:none !important;
  }
  .gb-logo--laptop{
    display:block !important;
    height: 114px !important; /* ~10% smaller than current 127px */
    width:auto !important;
  }
  .gb-brand .gb-logo--laptop{
    top:-18px !important; /* raise logo by ~2mm */
    left:0 !important;
  }
}

@media (max-width: 980px){
  .gb-logo--default{
    display:block !important;
  }
  .gb-logo--laptop{
    display:none !important;
  }
}

/* --- v1.9.6: desktop/laptop top menu forced into one row without changing font sizes or removing logo --- */
@media (min-width: 981px){
  .gb-header .container{
    max-width: 100%;
    padding-left: 10px;
    padding-right: 10px;
  }
  .gb-header__row{
    flex-wrap: nowrap;
    gap: 8px;
  }
  .gb-brand{
    flex: 0 0 180px;
    min-width: 180px;
  }
  .gb-nav{
    flex: 1 1 auto;
    min-width: 0;
    justify-content: center;
  }
  .gb-nav__list{
    flex-wrap: nowrap;
    gap: 10px;
    min-width: 0;
  }
  .gb-nav__list > li{
    flex: 0 1 auto;
    min-width: 0;
  }
  .gb-nav__list > li > a{
    display: block;
    white-space: nowrap;
  }
  .gb-header__right{
    flex: 0 0 auto;
  }
}


/* --- v1.9.6: restore laptop header logo/phone positions while keeping menu in one row --- */
@media (min-width: 981px){
  .gb-header .container{
    max-width: var(--container) !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
  }
  .gb-header__row{
    flex-wrap: nowrap;
    gap: 10px !important;
    justify-content: space-between;
  }
  .gb-brand{
    flex: 0 0 140px !important;
    min-width: 140px !important;
    margin-left: 0 !important;
  }
  .gb-nav{
    flex: 1 1 auto;
    min-width: 0;
    justify-content: center;
  }
  .gb-nav__list{
    flex-wrap: nowrap;
    gap: 12px !important; /* збільшено приблизно на 1 мм */
    min-width: 0;
  }
  .gb-nav__list > li > a{
    white-space: nowrap;
  }
  .gb-header__right{
    flex: 0 0 auto;
    margin-left: 10px !important;
    align-self: center !important;
  }
}


/* --- v1.3.9: Footer menu in one row on laptop/desktop --- */
@media (min-width: 981px){
  .gb-footer__bottom{
    flex-wrap: nowrap;
    gap: 14px;
  }
  .gb-footer__nav{
    flex: 1 1 auto;
    min-width: 0;
  }
  .gb-footer__list{
    flex-wrap: nowrap;
    gap: 10px; /* було 18px, зменшено приблизно на 2 мм */
    white-space: nowrap;
  }
  .gb-footer__copy{
    flex: 0 0 auto;
  }
}

/* --- v1.9.6: remove white seam between sticky header and first block on all site versions --- */
.gb-header{
  border-bottom: none !important;
}
.gb-header::after{
  content: none !important;
  display: none !important;
}
body .gb-header + *{
  margin-top: -1px !important;
  border-top: none !important;
}

/* --- v1.10.x: Article pages — 5px rounding for lead form + footer map --- */
body.single-post .gb-lead__panel,
body.single-gb_pob_article .gb-lead__panel,
body.single-post .gb-lead__row,
body.single-gb_pob_article .gb-lead__row,
body.single-post .gb-lead__panel .gb-input,
body.single-gb_pob_article .gb-lead__panel .gb-input,
body.single-post .gb-lead__panel .btn,
body.single-gb_pob_article .gb-lead__panel .btn,
body.single-post .gb-lead__panel button,
body.single-gb_pob_article .gb-lead__panel button,
body.single-post .gb-footer__map-wrap,
body.single-gb_pob_article .gb-footer__map-wrap,
body.single-post .gb-footer__map-wrap iframe,
body.single-gb_pob_article .gb-footer__map-wrap iframe{
  border-radius: 5px !important;
}

body.single-post .gb-lead__panel,
body.single-gb_pob_article .gb-lead__panel,
body.single-post .gb-footer__map-wrap,
body.single-gb_pob_article .gb-footer__map-wrap{
  overflow: hidden;
}

/* --- v1.10.x: Single article pages — justified text in all breakpoints --- */
body.single-post .gb-section article > p,
body.single-gb_pob_article .gb-section article > p{
  text-align: justify !important;
  text-justify: inter-word;
  text-align-last: left;
  hyphens: auto;
}

body.single-post .gb-product__body,
body.single-gb_pob_article .gb-product__body{
  text-align: justify;
  text-justify: inter-word;
  hyphens: auto;
}

body.single-post .gb-product__body p,
body.single-post .gb-product__body li,
body.single-post .gb-product__body blockquote,
body.single-post .gb-product__body td,
body.single-gb_pob_article .gb-product__body p,
body.single-gb_pob_article .gb-product__body li,
body.single-gb_pob_article .gb-product__body blockquote,
body.single-gb_pob_article .gb-product__body td{
  text-align: justify !important;
  text-justify: inter-word;
  text-align-last: left;
  hyphens: auto;
}


/* === Mobile reviews: larger justified text across the full card width === */
@media (max-width: 767px){
  .gb-review__text,
  .gb-review__text-desktop,
  .gb-review__text-mobile{
    font-size: 16.8px;
    line-height: 1.5;
    text-align: justify;
    text-justify: inter-word;
    text-align-last: left;
    max-width: none;
    width: 100%;
    word-break: normal;
    overflow-wrap: break-word;
    hyphens: auto;
  }
}

/* --- v1.7.4: Mobile footer menu — right column 3mm left + all items in one line --- */
@media (max-width: 600px){
  .gb-footer__list{
    display: grid !important;
    grid-template-columns: max-content max-content;
    justify-content: space-between;
    column-gap: 0;
    row-gap: 8px;
    width: 100%;
  }
  .gb-footer__list > li{
    width: auto;
    min-width: 0;
  }
  .gb-footer__list a{
    display: block;
    width: auto;
    padding: 10px 0;
    white-space: nowrap;
    font-size: 16px;
    line-height: 1.15;
    font-weight: 700;
  }
  .gb-footer__list > li:nth-child(4),
  .gb-footer__list > li:nth-child(5),
  .gb-footer__list > li:nth-child(6){
    padding-left: 0 !important;
  }
}


/* Page galleries (admin-managed) */
.gb-page-gallery .gb-gallery{ --gb-gal-per-view: 3; }
.gb-page-gallery .gb-gallery__wrap{ position: relative; margin-top: 0; }
.gb-page-gallery .gb-gallery__track{
  display:flex;
  gap:16px;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  -webkit-overflow-scrolling:touch;
  padding:2px 2px 8px;
}
.gb-page-gallery .gb-gallery__track::-webkit-scrollbar{ display:none; }
.gb-page-gallery .gb-gallery__item{
  flex:0 0 calc((100% - (var(--gb-gal-per-view) - 1) * 16px) / var(--gb-gal-per-view));
  scroll-snap-align:start;
  border:0;
  background:none;
  padding:0;
  margin:0;
  overflow:hidden;
}
.gb-page-gallery .gb-gallery__item img{
  display:block;
  width:100%;
  aspect-ratio: 4 / 3;
  object-fit:cover;
}
.gb-page-gallery .gb-gallery__nav{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  margin-top:12px;
}
.gb-page-gallery .gb-gallery__arrow{
  width:42px;
  height:42px;
  border-radius:999px;
  border:1px solid rgba(0,0,0,.12);
  background:#fff;
  font-size:28px;
  line-height:1;
  cursor:pointer;
}
.gb-page-gallery .gb-gallery__dots{ display:flex; align-items:center; gap:8px; }
.gb-page-gallery .gb-gallery__dot{
  width:8px;
  height:8px;
  border-radius:999px;
  background:rgba(11,36,64,.2);
}
.gb-page-gallery .gb-gallery__dot.is-active{ background:#0b2440; }
.gb-page-gallery__sub{ margin-bottom:11px !important; }
.gb-page-gallery--works .gb-gallery__item,
.gb-page-gallery--works .gb-gallery__item img{ border-radius:5px; }
@media (max-width: 980px){
  .gb-page-gallery .gb-gallery{ --gb-gal-per-view: 2; }
}
@media (max-width: 640px){
  .gb-page-gallery .gb-gallery{ --gb-gal-per-view: 1; }
  .gb-page-gallery .gb-gallery__arrow{ display:none; }
}

/* --- v1.10.9: mobile viewport width fix (prevent layout from widening beyond screen) --- */
@media (max-width: 600px){
  html,
  body{
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
  }
  @supports (overflow: clip){
    html,
    body{
      overflow-x: clip;
    }
  }

  #page,
  .site,
  .gb-header,
  .gb-footer,
  main,
  .container,
  .gb-footer .container,
  .gb-footer__bottom,
  .gb-footer__nav,
  .gb-footer__list,
  .gb-footer__top,
  .gb-footer__brand--dup,
  .gb-footer__contacts{
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
  }

  .gb-footer__nav{
    overflow: hidden;
  }

  /* Keep footer menu inside the viewport without expanding page width */
  .gb-footer__list{
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr) !important;
    column-gap: 12px !important;
    width: 100% !important;
  }
  .gb-footer__list > li{
    min-width: 0;
    max-width: 100%;
  }
  .gb-footer__list a{
    width: max-content;
    max-width: 100%;
  }

  /* Long contact strings must wrap instead of widening the full page */
  .gb-footer__addrlink,
  .gb-footer__contacts-list a[href^="mailto:"]{
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
  }
}

/* --- v1.9.7: Laptop header — hide top phone block, keep mobile/desktop unchanged --- */
@media (min-width: 981px) and (max-width: 1200px){
  .gb-header__right .gb-phone{
    display: none !important;
  }
}

/* --- v1.9.7b: Laptop header — hide top phone block on real laptop widths --- */
@media (min-width: 981px) and (max-width: 1599px){
  .gb-header__right .gb-phone,
  .gb-header__right .gb-phone-link{
    display: none !important;
    visibility: hidden !important;
  }
}

/* --- v1.9.8: Laptop top menu — restore "Контакти" item on laptop widths only --- */
@media (min-width: 981px) and (max-width: 1599px){
  .gb-nav__list > li.gb-menu-item-contacts,
  .gb-nav__list > li.menu-item.gb-menu-item-contacts,
  .gb-nav__list li.menu-item:has(> a[href$="/kontaktu/"]),
  .gb-nav__list li.menu-item:has(> a[href*="/kontaktu#"]),
  .gb-nav__list li.menu-item:has(> a[href$="/kontakti/"]),
  .gb-nav__list li.menu-item:has(> a[href$="/kontakty/"]),
  .gb-nav__list li.menu-item:has(> a[href$="/kontakt/"]),
  .gb-nav__list li.menu-item:has(> a[href$="#contacts"]),
  .gb-nav__list li.menu-item:has(> a[href="#contacts"]){
    display: list-item !important;
  }

  .gb-nav__list > li.gb-menu-item-contacts > a,
  .gb-nav__list > li.menu-item.gb-menu-item-contacts > a,
  .gb-nav__list a[href$="/kontaktu/"],
  .gb-nav__list a[href*="/kontaktu#"],
  .gb-nav__list a[href$="/kontakti/"],
  .gb-nav__list a[href$="/kontakty/"],
  .gb-nav__list a[href$="/kontakt/"],
  .gb-nav__list a[href$="#contacts"],
  .gb-nav__list a[href="#contacts"]{
    display: block !important;
  }
}

/* --- v1.9.7: mobile language switcher moved into header row, left of menu button --- */
@media (max-width: 980px){
  .gb-header__row{
    position: relative;
    padding-right: 132px !important;
    min-height: 72px;
  }

  .gb-nav__lang--mobile{
    display: none !important;
  }

  .gb-burger{
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    margin: 0 !important;
    z-index: 3;
  }

  .gb-header__right{
    display: flex !important;
    position: absolute;
    right: 58px;
    top: 50%;
    transform: translateY(-50%);
    margin: 0 !important;
    gap: 8px;
    align-items: center;
    z-index: 2;
  }

  .gb-header__right .gb-phone,
  .gb-header__right .gb-phone-link{
    display: none !important;
  }

  .gb-header__lang{
    display: flex !important;
    align-items: center;
  }

  .gb-header__lang .gb-lang-switcher{
    gap: 6px;
  }

  .gb-header__lang .gb-lang-switcher__link{
    min-width: 34px;
    height: 34px;
    padding: 0 8px;
    font-size: 12px;
  }
}
