:root{
  --gbc-blue-950:#07192c;
  --gbc-blue-900:#0b2440;
  --gbc-blue-850:#123455;
  --gbc-blue-800:#173e66;
  --gbc-white:#ffffff;
  --gbc-bg:#f3f5f8;
  --gbc-card:#ffffff;
  --gbc-line:#dbe3eb;
  --gbc-text:#10253c;
  --gbc-muted:#62768c;
  --gbc-orange:#f7931e;
  --gbc-orange-2:#f07c1a;
  --gbc-shadow:0 18px 36px rgba(8,26,44,.12);
}

body.page-kontaktu,
body.page-kontakti,
body.page-kontakty,
body.page-kontakt,
body.page-contact,
body.page-contacts{
  background:var(--gbc-bg) !important;
}

.gb-contacts-hero{
  position:relative;
  overflow:hidden;
  background:var(--gbc-blue-900);
  color:#fff;
}
.gb-contacts-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(7,25,44,.94) 0%,rgba(7,25,44,.88) 38%,rgba(7,25,44,.46) 100%),var(--gb-contacts-hero-bg) center/cover no-repeat;
}
.gb-contacts-hero__inner{
  position:relative;
  min-height:292px;
  padding:38px 0 42px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.gb-contacts-hero__eyebrow{
  display:block;
  margin:0 0 12px;
  color:var(--gbc-orange);
  font-size:14px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.gb-contacts-hero__title{
  margin:0 0 14px;
  max-width:760px;
  color:#fff;
  font-size:40px;
  line-height:1.02;
  font-weight:800;
  text-transform:uppercase;
}
.gb-contacts-hero__text{
  margin:0;
  max-width:620px;
  color:rgba(255,255,255,.9);
  font-size:16px;
  line-height:1.5;
}

.gb-contacts-page{
  position:relative;
  display:block;
  background:var(--gbc-bg) !important;
  padding:18px 0 40px;
}
.gb-contacts-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 400px;
  gap:28px;
  align-items:start;
}
.gb-contacts-main{min-width:0;}
.gb-contacts-block{margin-bottom:24px;}
.gb-contacts-title{
  margin:0 0 16px;
  color:var(--gbc-blue-900);
  font-size:30px;
  line-height:1.05;
  font-weight:800;
  text-transform:uppercase;
}

.gb-contacts-cards{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.gb-contact-card{
  display:flex;
  align-items:center;
  gap:16px;
  min-height:102px;
  padding:18px 18px;
  background:var(--gbc-card);
  border:1px solid var(--gbc-line);
  border-radius:5px;
}
.gb-contact-card--phone,
.gb-contact-card--email,
.gb-contact-card--address,
.gb-contact-card--extra{
  min-height:138px;
}
.gb-contact-card__icon{
  flex:0 0 56px;
  width:56px;
  height:56px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#fff2e3;
  color:var(--gbc-orange);
}
.gb-contact-card__icon svg{width:28px;height:28px;display:block;}
.gb-contact-card__label{
  margin-bottom:5px;
  color:var(--gbc-blue-900);
  font-size:13px;
  line-height:1.2;
  font-weight:800;
  text-transform:uppercase;
}
.gb-contact-card__value{
  color:var(--gbc-blue-900);
  font-size:17px;
  line-height:1.24;
  font-weight:800;
  white-space:pre-line;
}
.gb-contact-card__value a{color:inherit;text-decoration:none;}
.gb-contact-card__phones{display:grid;gap:6px;}
.gb-contact-card__phone-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px;}
.gb-contact-card__phone-row.is-primary{display:inline-flex;flex-wrap:nowrap;align-items:baseline;gap:4px;font-size:14px;font-weight:700;white-space:nowrap;}
.gb-contact-card__phone-row.is-primary a,.gb-contact-card__phone-row.is-primary .gb-contact-card__phone-meta{white-space:nowrap;}
.gb-contact-card__phone-row.is-primary .gb-contact-card__phone-meta{font-size:12px;}
.gb-contact-card__phone-row.is-secondary{font-size:15px;font-weight:700;}
.gb-contact-card--phone .gb-contact-card__phones{margin-top:-14px;}
.gb-contact-card__phone-meta{color:var(--gbc-muted);font-size:13px;font-weight:600;line-height:1.3;}
.gb-contact-card__note{
  margin-top:4px;
  color:var(--gbc-muted);
  font-size:13px;
  line-height:1.35;
}
.gb-contact-card__note--pre{
  margin:0 0 2px;
}
.gb-contact-card--email .gb-contact-card__body{
  margin-top:-18px;
}

.gb-contact-card--extra .gb-contact-card__value{
  font-size:16px;
  line-height:1.4;
  font-weight:400;
  white-space:normal;
}
.gb-contact-card--extra .gb-contact-card__body{
  margin-top:-4px;
}
.gb-contact-card--extra .gb-contact-card__note--pre{
  margin:0 0 19px;
}

.gb-contact-channels{margin-top:18px;}
.gb-contact-channels__title{
  margin:0 0 12px;
  color:var(--gbc-blue-900);
  font-size:18px;
  line-height:1.2;
  font-weight:800;
  text-transform:uppercase;
}
.gb-contact-channels__list{display:flex;gap:12px;flex-wrap:wrap;}
.gb-contact-channel{
  min-width:150px;
  padding:13px 16px;
  border-radius:5px;
  color:#fff;
  text-align:center;
  font-size:15px;
  font-weight:800;
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
}
.gb-contact-channel__icon{
  width:20px;
  height:20px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 20px;
}
.gb-contact-channel__icon svg{
  width:20px;
  height:20px;
  display:block;
}
.gb-contact-channel__label{line-height:1;}
.gb-contact-channel--scaffold{background:#6d53bd;}
.gb-contact-channel--production{background:#1cbc60;}
.gb-contact-channel--rental{background:#1ca2ea;}
.gb-contact-channel.is-disabled{opacity:.55;cursor:not-allowed;}

.gb-contacts-form{
  position:sticky;
  top:96px;
}
body.admin-bar .gb-contacts-form{top:128px;}
.gb-contacts-form__inner{
  padding:24px 22px 18px;
  border-radius:5px;
  background:linear-gradient(180deg,#123455 0%,#0a213a 100%);
  color:#fff;
  box-shadow:var(--gbc-shadow);
}
.gb-contacts-form h2{
  margin:0 0 10px;
  color:#fff;
  font-size:30px;
  line-height:1.05;
  font-weight:800;
  text-transform:uppercase;
}
.gb-contacts-form p{
  margin:0 0 14px;
  color:#dce6f1;
  font-size:15px;
  line-height:1.45;
}
.gb-contacts-field{margin-bottom:12px;}
.gb-contacts-field label{display:none;}
.gb-contacts-field input,
.gb-contacts-field select,
.gb-contacts-field textarea{
  width:100%;
  padding:14px 16px;
  border:1px solid rgba(115,144,174,.75);
  border-radius:5px;
  background:#153b61;
  color:#fff;
  font:inherit;
  outline:none;
}
.gb-contacts-field input::placeholder,
.gb-contacts-field textarea::placeholder{color:#9eb2c8;}
.gb-contacts-field textarea{min-height:92px;resize:vertical;}
.gb-contacts-field input:focus,
.gb-contacts-field select:focus,
.gb-contacts-field textarea:focus{border-color:#fff;}
.gb-contacts-form__submit{
  width:100%;
  min-height:54px;
  border:0;
  border-radius:5px;
  background:linear-gradient(180deg,var(--gbc-orange) 0%,var(--gbc-orange-2) 100%);
  color:#fff;
  font-size:17px;
  font-weight:800;
  text-transform:uppercase;
  cursor:pointer;
}
.gb-contacts-form__privacy{
  margin-top:12px;
  color:#cfdae6;
  font-size:13px;
  line-height:1.35;
}

.gb-contacts-map{
  position:relative;
  overflow:hidden;
  min-height:228px;
  border:1px solid #bcc9d8;
  border-radius:5px;
  background:#eef3f8;
}
.gb-contacts-map iframe{
  width:100%;
  height:228px;
  border:0;
  display:block;
}
.gb-contacts-map__card{
  position:absolute;
  left:24px;
  top:24px;
  width:220px;
  padding:16px 18px;
  border-radius:5px;
  background:linear-gradient(180deg,#103254 0%,#0b2440 100%);
  color:#fff;
  box-shadow:0 14px 30px rgba(8,26,44,.22);
}
.gb-contacts-map__logo{
  width:120px;
  height:auto;
  margin:0 0 10px;
}
.gb-contacts-map__sub{
  margin-bottom:8px;
  color:#d9e4ef;
  font-size:12px;
  line-height:1.35;
}
.gb-contacts-map__address{
  color:#fff;
  font-size:14px;
  line-height:1.45;
  font-weight:700;
}

.gb-contacts-directions__grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}
.gb-contacts-direction-card{
  min-height:202px;
  padding:18px 18px 16px;
  background:#fff;
  border:1px solid #edc497;
  border-radius:5px;
}
.gb-contacts-direction-card__icon{
  width:64px;
  height:54px;
  margin-bottom:10px;
  color:var(--gbc-orange);
}
.gb-contacts-direction-card__icon svg{width:100%;height:100%;display:block;}
.gb-contacts-direction-card h3{
  margin:0 0 8px;
  color:var(--gbc-blue-900);
  font-size:18px;
  line-height:1.1;
  font-weight:800;
  text-transform:uppercase;
}
.gb-contacts-direction-card p{
  margin:0 0 12px;
  color:var(--gbc-muted);
  font-size:14px;
  line-height:1.4;
}
.gb-contacts-direction-card a{
  color:var(--gbc-orange-2);
  font-size:14px;
  font-weight:800;
  text-decoration:none;
}

.gb-contacts-geo{
  display:grid;
  grid-template-columns:minmax(0,1fr) 430px;
  gap:20px;
  align-items:center;
}
.gb-contacts-geo__content p{
  margin:0 0 14px;
  color:var(--gbc-muted);
  font-size:17px;
  line-height:1.5;
}
.gb-contacts-geo__content ul{list-style:none;margin:0;padding:0;}
.gb-contacts-geo__content li{
  position:relative;
  margin:0 0 12px;
  padding-left:34px;
  color:var(--gbc-blue-900);
  font-size:16px;
  line-height:1.35;
  font-weight:600;
}
.gb-contacts-geo__content li::before{
  content:"✓";
  position:absolute;
  left:0;
  top:0;
  width:22px;
  height:22px;
  display:grid;
  place-items:center;
  border-radius:4px;
  background:var(--gbc-orange);
  color:#fff;
  font-size:14px;
  font-weight:800;
}
.gb-contacts-geo__map{display:flex;justify-content:flex-end;align-items:center;overflow:visible;}
.gb-contacts-geo__map img{width:100%;max-width:620px;height:auto;display:block;object-fit:contain;object-position:center center;}

.gb-contacts-cta{
  position:relative;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:26px 28px;
  border-radius:5px;
  color:#fff;
}
.gb-contacts-cta::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(10,36,64,.94),rgba(10,36,64,.84)),var(--gb-contacts-cta-bg) center/cover no-repeat;
}
.gb-contacts-cta__content,
.gb-contacts-cta__btn{position:relative;z-index:1;}
.gb-contacts-cta__content h2{
  margin:0 0 6px;
  color:#fff;
  font-size:26px;
  line-height:1.1;
  font-weight:800;
  text-transform:uppercase;
}
.gb-contacts-cta__content p{
  margin:0;
  color:#dbe6f2;
  font-size:16px;
  line-height:1.45;
}
.gb-contacts-cta__btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:230px;
  min-height:50px;
  padding:0 24px;
  border-radius:5px;
  background:linear-gradient(180deg,var(--gbc-orange) 0%,var(--gbc-orange-2) 100%);
  color:#fff;
  font-size:16px;
  font-weight:800;
  text-decoration:none;
  text-transform:uppercase;
  white-space:nowrap;
}

@media (max-width: 1220px){
  .gb-contacts-layout{grid-template-columns:1fr;}
  .gb-contacts-form{position:relative;top:auto;}
  .gb-contacts-directions__grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .gb-contacts-geo{grid-template-columns:1fr;}
}

@media (max-width: 900px){
  .gb-contacts-hero__title{font-size:40px;}
  .gb-contacts-cards{grid-template-columns:1fr;}
  .gb-contacts-cta{flex-direction:column;align-items:flex-start;}
}

@media (max-width: 680px){
  .gb-contacts-hero__inner{min-height:250px;padding:30px 0 34px;}
  .gb-contacts-hero__title{font-size:30px;}
  .gb-contacts-page{padding:14px 0 30px;}
  .gb-contact-channel{width:100%;min-width:0;}
  .gb-contacts-map iframe{height:280px;}
  .gb-contacts-map{min-height:280px;}
  .gb-contacts-map__card{left:16px;top:16px;width:calc(100% - 32px);}
  .gb-contacts-directions__grid{grid-template-columns:1fr;}
  .gb-contacts-cta{padding:20px 18px;}
  .gb-contacts-cta__btn{width:100%;min-width:0;}
}

.gb-contact-card--address .gb-contact-card__value{
  font-weight:400;
}
.gb-contact-card--address .gb-contact-card__value a{
  font-weight:400;
}
.gb-contact-card--address .gb-contact-card__note--pre{
  margin:0 0 8px;
}
.gb-contact-card--address .gb-contact-card__value{
  margin-top:-19px;
}
