/* Основни настройки */
body{
  margin:0;
  padding:0;
  background:#f4f7fb;
  font-family:Calibri, sans-serif;
  font-size:16px;
  color:#1e293b;
}

.wrap{ width:1000px; margin:0 auto; }
.block{ margin:20px 0; }

/* Hero */
.hero{
  height:300px;
  background:url("EventPro/ptg-banner.jpg") center/cover no-repeat;
  position:relative;
  border-bottom:4px solid #2563eb;
}
.overlay{
  position:absolute; left:0; top:0; right:0; bottom:0;
  background:rgba(255,255,255,0.55);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:20px;
  box-sizing:border-box;
  backdrop-filter:blur(3px);
}
.overlay h1{
  margin:0;
  color:#0f172a;
  font-size:48px;
  font-weight:bold;
  letter-spacing:2px;
}
.overlay h2{
  margin:10px 0 0;
  font-size:26px;
  color:#1e3a8a;
}
.cta{
  margin-top:18px;
  display:inline-block;
  background:#2563eb;
  color:#fff;
  text-decoration:none;
  padding:10px 22px;
  font-weight:bold;
  border-radius:6px;
  box-shadow:0 3px 8px rgba(37,99,235,0.3);
}

/* Info row */
.info-row{ display:flex; gap:20px; }
.info-box{
  width:33.33%;
  background:#ffffff;
  border:1px solid #d1d5db;
  padding:15px;
  display:flex;
  gap:12px;
  align-items:center;
  box-sizing:border-box;
  border-radius:10px;
  box-shadow:0 3px 6px rgba(0,0,0,0.06);
}
.info-box img{ width:48px; height:48px; }
.info-box h3{ margin:0; font-size:18px; color:#1e3a8a; }
.info-box p{ margin:4px 0 0; color:#334155; }

/* Program table */
.tablebox{
  background:#ffffff;
  padding:20px;
  border-radius:10px;
  border:1px solid #d1d5db;
  box-shadow:0 3px 6px rgba(0,0,0,0.06);
}
.tablebox h2{
  margin:0 0 12px;
  font-size:32px;
  color:#1e3a8a;
  text-align:center;
}
table{ width:100%; border-collapse:collapse; }
th{
  background:#1e3a8a;
  color:#fff;
  padding:12px;
  text-align:left;
  font-size:17px;
}
td{
  padding:12px;
  border:1px solid #e2e8f0;
  background:#f8fafc;
  color:#1e293b;
}
tr:nth-child(even) td{ background:#eef2f7; }

/* Gallery */
.gallery{
  background:#ffffff;
  padding:20px;
  border-radius:10px;
  border:1px solid #d1d5db;
  box-shadow:0 3px 6px rgba(0,0,0,0.06);
}
.gallery h2{
  margin:0 0 12px;
  font-size:32px;
  color:#1e3a8a;
  text-align:center;
}
.grid{ display:flex; flex-wrap:wrap; gap:20px; }
.grid img{
  width:calc((100% - 40px)/3);
  border:2px solid #2563eb;
  border-radius:6px;
  box-sizing:border-box;
}

/* Textbox */
.textbox{
  background:#ffffff;
  padding:20px;
  border-radius:10px;
  border:1px solid #d1d5db;
  box-shadow:0 3px 6px rgba(0,0,0,0.06);
}
.textbox h2{
  margin:0 0 10px;
  font-size:32px;
  color:#1e3a8a;
  text-align:center;
}
.textbox p{
  margin:0;
  text-align:justify;
  line-height:1.6;
  color:#334155;
}

/* Footer */
.bottom{
  background:#1e3a8a;
  color:#fff;
  padding:15px;
  text-align:right;
  border-radius:6px;
}
