/* VLAČIĆ POLISH V50
   Only: schedule, desktop header sizing, training image frames, contact number. */

/* 1. Smaller desktop header at the top; slightly smaller again when sticky. */
@media (min-width:981px){
  .site-header:not(.sticky) .header-inner{
    height:88px!important;
    gap:22px!important;
  }

  .site-header:not(.sticky) .brand img{
    width:88px!important;
    height:68px!important;
  }

  .site-header:not(.sticky) .brand strong{
    font-size:18px!important;
  }

  .site-header:not(.sticky) .brand b{
    font-size:8px!important;
  }

  .site-header:not(.sticky) .brand small{
    font-size:9px!important;
  }

  .site-header .main-nav{
    gap:16px!important;
  }

  .site-header .main-nav a{
    font-size:12.5px!important;
  }

  .site-header .header-phone{
    flex:0 0 auto!important;
    min-width:142px!important;
    line-height:1!important;
  }

  .site-header:not(.sticky) .header-phone strong{
    font-size:17px!important;
    line-height:1.05!important;
    white-space:nowrap!important;
  }

  .site-header.sticky .header-inner{
    height:72px!important;
  }

  .site-header.sticky .brand img{
    width:68px!important;
    height:54px!important;
  }

  .site-header.sticky .brand strong{
    font-size:17px!important;
  }

  .site-header.sticky .header-phone strong{
    font-size:16px!important;
    line-height:1!important;
    white-space:nowrap!important;
  }
}

/* 2. Remove only the white frames around the three training images. */
.training-images-v4{
  align-items:stretch!important;
}

.training-images-v4 figure{
  display:flex!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  border:0!important;
  border-radius:20px!important;
  background:transparent!important;
  box-shadow:none!important;
}

.training-images-v4 figure::before,
.training-images-v4 figure::after{
  display:none!important;
  content:none!important;
}

.training-images-v4 img{
  display:block!important;
  flex:1 1 auto!important;
  width:100%!important;
  height:100%!important;
  min-height:380px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  object-fit:cover!important;
}

/* 3. Keep the contact page balanced; the phone number must not dominate. */
.direct-contact-page{
  grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr)!important;
  gap:36px!important;
}

.direct-phone-card{
  min-height:0!important;
  padding:42px!important;
}

.direct-phone-card strong{
  max-width:100%!important;
  margin:15px 0!important;
  font-size:clamp(36px,4vw,52px)!important;
  line-height:1.08!important;
  letter-spacing:-.025em!important;
  white-space:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}

/* 4. Fully isolated schedule design. */
.vz50-schedule{
  position:relative;
  overflow:hidden;
  padding:82px 0;
  background:
    radial-gradient(circle at 8% 0%,rgba(210,31,43,.075),transparent 31%),
    radial-gradient(circle at 94% 100%,rgba(22,79,134,.11),transparent 36%),
    #eef3f8;
}

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

.vz50-schedule__head{
  display:grid;
  grid-template-columns:minmax(0,1fr) 390px;
  gap:48px;
  align-items:end;
  margin-bottom:30px;
}

.vz50-schedule h2{
  margin:0;
  color:#0a294d;
  font-size:clamp(42px,5vw,70px);
  line-height:.98;
  letter-spacing:-.05em;
}

.vz50-schedule__lead{
  max-width:730px;
  margin:20px 0 0;
  color:#617187;
  font-size:17px;
  line-height:1.65;
}

.vz50-schedule__contact{
  display:grid;
  gap:7px;
  padding:24px 26px;
  border:1px solid rgba(179,197,216,.72);
  border-radius:24px;
  background:rgba(255,255,255,.94);
  box-shadow:0 18px 48px rgba(8,34,64,.10);
}

.vz50-schedule__contact span{
  color:#d52230;
  font-size:11px;
  font-weight:900;
  letter-spacing:.13em;
}

.vz50-schedule__contact strong{
  color:#0a294d;
  font-size:22px;
  line-height:1.25;
}

.vz50-schedule__contact small{
  color:#65758a;
  font-size:13px;
}

.vz50-schedule__contact a{
  width:max-content;
  margin-top:5px;
  color:#164f86;
  font-size:22px;
  font-weight:900;
  text-decoration:none;
}

.vz50-schedule__grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}

.vz50-schedule__grid > article{
  min-width:0;
  padding:20px;
  border:1px solid rgba(181,198,216,.78);
  border-radius:24px;
  background:rgba(255,255,255,.93);
  box-shadow:0 16px 40px rgba(8,34,64,.075);
}

.vz50-schedule__grid > article.is-featured{
  color:#fff;
  border-color:#0c3764;
  background:linear-gradient(145deg,#071d39,#124d82);
}

.vz50-schedule__grid article > header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  min-height:36px;
  padding:0 0 16px;
  border-bottom:1px solid #dbe5ee;
  background:transparent;
}

.vz50-schedule__grid article > header span{
  color:#0a294d;
  font-size:18px;
  font-weight:900;
}

.vz50-schedule__grid article > header b{
  color:#9aaabc;
  font-size:12px;
}

.vz50-schedule__grid article.is-featured > header{
  border-color:rgba(255,255,255,.18);
}

.vz50-schedule__grid article.is-featured > header span{
  color:#fff;
}

.vz50-schedule__grid article.is-featured > header b{
  color:#f47d84;
}

.vz50-schedule__slot{
  display:grid;
  grid-template-columns:74px minmax(0,1fr);
  gap:14px;
  align-items:start;
  margin-top:16px;
  padding:15px;
  border-radius:16px;
  background:#f3f7fa;
}

.vz50-schedule__slot time{
  color:#d52230;
  font-size:15px;
  font-weight:900;
}

.vz50-schedule__slot strong,
.vz50-schedule__slot small{
  display:block;
}

.vz50-schedule__slot strong{
  color:#0a294d;
  font-size:15px;
  line-height:1.25;
}

.vz50-schedule__slot small{
  margin-top:5px;
  color:#65758a;
  font-size:12px;
  line-height:1.4;
}

.vz50-schedule__grid article.is-featured .vz50-schedule__slot{
  background:rgba(255,255,255,.09);
}

.vz50-schedule__grid article.is-featured .vz50-schedule__slot time{
  color:#f47d84;
}

.vz50-schedule__grid article.is-featured .vz50-schedule__slot strong{
  color:#fff;
}

.vz50-schedule__grid article.is-featured .vz50-schedule__slot small{
  color:rgba(255,255,255,.68);
}

.vz50-schedule__foot{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:24px;
  margin-top:24px;
  padding:18px 22px;
  border:1px solid rgba(181,198,216,.72);
  border-radius:20px;
  background:rgba(255,255,255,.80);
}

.vz50-schedule__foot span{
  color:#627287;
  font-size:14px;
}

.vz50-schedule__foot span strong{
  color:#0a294d;
}

.vz50-schedule__foot a{
  display:inline-flex;
  min-height:46px;
  align-items:center;
  justify-content:center;
  padding:11px 19px;
  border-radius:13px;
  color:#fff;
  background:#d52230;
  box-shadow:0 12px 24px rgba(213,34,48,.20);
  font-weight:900;
  text-decoration:none;
}

@media(max-width:900px){
  .vz50-schedule__head{
    grid-template-columns:1fr;
    gap:24px;
  }

  .vz50-schedule__grid{
    grid-template-columns:1fr 1fr;
  }

  .vz50-schedule__grid > article:last-child{
    grid-column:1/-1;
  }

  .direct-contact-page{
    grid-template-columns:1fr!important;
  }
}

@media(max-width:600px){
  .vz50-schedule{
    padding:60px 0;
  }

  .vz50-schedule__grid{
    grid-template-columns:1fr;
  }

  .vz50-schedule__grid > article:last-child{
    grid-column:auto;
  }

  .vz50-schedule__foot{
    align-items:flex-start;
    flex-direction:column;
  }

  .vz50-schedule__foot a{
    width:100%;
  }

  .direct-phone-card{
    padding:32px 26px!important;
  }

  .direct-phone-card strong{
    font-size:38px!important;
  }
}