.kg-calendar-update {
  margin: clamp(22px, 3vw, 34px) 0;
  overflow: hidden;
  border: 1px solid #f2b4b8;
  border-radius: 20px;
  background: #fffaf7;
  box-shadow: 0 14px 30px rgba(107, 20, 25, .08);
}

.kg-calendar-update *, .kg-calendar-update *::before, .kg-calendar-update *::after { box-sizing: border-box; }
.kg-calendar-update--featured { box-sizing:border-box; width:min(100% - 32px,1160px); margin:12px auto 24px; }
.kg-calendar-update--featured .kg-calendar-update__dates li { padding:20px; background:#fff; border:1px solid #efc7c4; border-top:4px solid #e91b2c; }
.kg-calendar-update--featured .kg-calendar-update__dates span { font-size:15px; }
.kg-calendar-update--featured .kg-calendar-update__dates strong { font-size:clamp(26px,3vw,34px); line-height:1.15; color:#a51220; letter-spacing:-.03em; }
.kg-calendar-update__dates time { display:block; margin-top:8px; color:#2c2225; font:700 18px/1.3 Arial,sans-serif; }
.kg-calendar-update__official { margin-top:26px; padding:24px; border-left:4px solid #bd8d44; background:#f7edda; border-radius:0 12px 12px 0; }
.kg-calendar-update__official h3 { font-size:clamp(22px,2.3vw,28px); max-width:40ch; }
.kg-calendar-update__official p { margin:12px 0 0; color:#4d4035; font:400 16px/1.5 Arial,sans-serif; max-width:80ch; }
.kg-calendar-update__primary { display:inline-flex; align-items:center; gap:12px; min-height:46px; margin-top:18px; padding:12px 18px; border-radius:8px; background:#a51220; color:#fff; font:700 15px/1.2 Arial,sans-serif; text-decoration:none; }
.kg-calendar-update__primary:hover { background:#800c17; }.kg-calendar-update__primary:focus-visible { outline:3px solid #181519; outline-offset:4px; }

.kg-deadline-banner {
  position: relative;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
  width: min(100% - 32px, 1160px);
  min-height: 124px;
  margin: 20px auto 0;
  padding: 22px 64px;
  border-radius: 14px;
  background-color: #7c0912;
  background-image: linear-gradient(90deg, rgba(76, 4, 9, .36), rgba(76, 4, 9, .18), rgba(76, 4, 9, .42)), url('./kg-registration-deadline-banner-v1.png');
  background-position: center;
  background-size: cover;
  color: #fff;
  box-shadow: 0 16px 30px rgba(95, 10, 17, .21);
  font-family: Arial, sans-serif;
  text-align: center;
  text-decoration: none;
}
.kg-deadline-banner span, .kg-deadline-banner strong { display:block; font-family:inherit; font-size:clamp(24px, 2.6vw, 32px); font-weight:700; line-height:1.15; letter-spacing:-.025em; text-shadow:0 2px 10px rgba(40,0,4,.5); text-transform:none; }
.kg-deadline-banner strong { color:#ffe7cb; }
.kg-deadline-banner i { position:absolute; right:32px; top:50%; transform:translateY(-50%); display:grid; place-items:center; width:40px; height:40px; border:1px solid rgba(255,255,255,.45); border-radius:50%; font-size:21px; font-style:normal; line-height:1; }
.kg-deadline-banner:hover { filter:brightness(1.09); }.kg-deadline-banner:focus-visible { outline:3px solid #181519; outline-offset:4px; }

.kg-calendar-official { box-sizing:border-box; display:flex; align-items:center; gap:28px; justify-content:space-between; width:min(100% - 32px,1160px); margin:12px auto 20px; padding:22px 28px; border:1px solid #ebd6c9; border-left:4px solid #b8252d; border-radius:12px; background:#fffaf5; color:#272124; font-family:Arial,sans-serif; }
.kg-calendar-official__label { margin:0 0 7px; font-size:12px; line-height:1.3; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:#a21a25; }
.kg-calendar-official__text { max-width:76ch; margin:0; font-size:16px; line-height:1.5; }
.kg-calendar-official a { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; flex-shrink:0; color:#a21a25; font-size:14px; font-weight:700; text-decoration:none; }
.kg-calendar-official a:hover { text-decoration:underline; }.kg-calendar-official a:focus-visible { outline:3px solid #181519; outline-offset:4px; }
.kg-calendar-update__link + .kg-calendar-update__link { margin-left:20px; }

.kg-calendar-update__topline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 15px clamp(19px, 3vw, 31px);
  background: #e91b2c;
  color: #fff;
}
.kg-calendar-update__topline p { margin: 0; font: 800 12px/1.2 Arial, sans-serif; letter-spacing: .12em; text-transform: uppercase; }
.kg-calendar-update__topline strong { font: 800 clamp(15px, 1.5vw, 18px)/1.2 Arial, sans-serif; }

.kg-calendar-update__body { padding: clamp(22px, 3.4vw, 34px); }
.kg-calendar-update h3 { margin: 0; color: #1b191d; font: 800 clamp(23px, 2.5vw, 31px)/1.05 Arial, sans-serif; letter-spacing: -.035em; }
.kg-calendar-update__body > div > p { margin: 10px 0 0; color: #60595b; font: 400 16px/1.45 Arial, sans-serif; }

.kg-calendar-update__dates { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 22px 0; padding: 0; list-style: none; }
.kg-calendar-update__dates li { min-height: 92px; padding: 16px; border-radius: 13px; background: #f7e8e7; }
.kg-calendar-update__dates span { display: block; margin-bottom: 9px; color: #ca1422; font: 800 12px/1 Arial, sans-serif; letter-spacing: .1em; }
.kg-calendar-update__dates strong { display: block; color: #241e20; font: 700 15px/1.32 Arial, sans-serif; }

.kg-calendar-update__calendar { max-width: 75ch; margin: 0; color: #4d4749; font: 400 15px/1.5 Arial, sans-serif; }
.kg-calendar-update__link { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; margin-top: 17px; color: #c50f1f; font: 700 15px/1.2 Arial, sans-serif; text-decoration: none; }
.kg-calendar-update__link span { font-size: 19px; }.kg-calendar-update__link:hover { color: #92101a; text-decoration: underline; }.kg-calendar-update__link:focus-visible { outline: 3px solid #1b191d; outline-offset: 3px; border-radius: 3px; }

@media (max-width: 680px) {
  .kg-calendar-update--featured { width:calc(100% - 28px); margin:12px auto 18px; }.kg-calendar-update__official { padding:18px; }.kg-calendar-update--featured .kg-calendar-update__dates li { display:grid; grid-template-columns:1fr auto; gap:5px 12px; padding:16px; }.kg-calendar-update--featured .kg-calendar-update__dates span { grid-column:1/-1; margin-bottom:4px; }.kg-calendar-update--featured .kg-calendar-update__dates strong { font-size:27px; }.kg-calendar-update__dates time { align-self:center; margin:0; font-size:16px; }
  .kg-calendar-official { width:calc(100% - 28px); flex-direction:column; align-items:flex-start; gap:8px; padding:18px; margin-bottom:14px; }.kg-calendar-official__text { font-size:15px; }.kg-calendar-update__link + .kg-calendar-update__link { margin-left:0; }
  .kg-deadline-banner { width: calc(100% - 28px); gap:5px; min-height:112px; margin-top:14px; padding:20px 14px; border-radius:12px; }
  .kg-deadline-banner span, .kg-deadline-banner strong { font-size:clamp(20px,5.5vw,27px); }.kg-deadline-banner i { display:none; }
  .kg-calendar-update { border-radius: 16px; }
  .kg-calendar-update__topline { display: block; padding: 15px 18px; }.kg-calendar-update__topline strong { display: block; margin-top: 7px; }
  .kg-calendar-update__body { padding: 22px 18px; }.kg-calendar-update__dates { grid-template-columns: 1fr; margin: 18px 0; }.kg-calendar-update__dates li { min-height: 0; padding: 14px; }
}
