/* v0.1.10: The fair link is moved directly below the existing KujiSaga banner. */
.aghfd-home-promo, .aghfd-home-promo * { box-sizing: border-box; }
.aghfd-home-promo {
  display:block !important; flex: 0 0 100%; grid-column:1 / -1;
  justify-self:center; align-self:center;
  width:var(--aghfd-banner-width, 100%) !important;
  min-width:0 !important; max-width:100% !important;
  clear:both !important; float:none !important; margin:14px auto 20px !important;
  padding:7px !important; border:0; background:#fff;
  border-radius:17px !important; box-shadow:0 6px 18px rgba(45,55,74,.10);
  font-family:inherit; text-align:left;
}
.aghfd-home-promo__inner {
  display:grid; grid-template-columns: minmax(0,1fr) minmax(236px,auto);
  align-items:center; gap:12px 22px;
  width:100%; padding:20px 22px;
  background:linear-gradient(112deg,#edf5ff 0%,#f7f0ff 58%,#eaf6fd 100%);
  border:1px solid #dce9fa;
  box-shadow:none;
  border-radius:12px; color:#183956;
}
.aghfd-home-promo__eyebrow {
  display:block; font-size:10px; font-weight:800; letter-spacing:.06em;
  line-height:1.5; color:#477bb1; margin:0 0 4px;
}
.aghfd-home-promo__title {
  margin:0 0 7px !important; padding:0 !important; border:0 !important;
  font-size:clamp(17px,2vw,21px); font-weight:800; letter-spacing:.015em;
  line-height:1.42; color:#173e6e;
}
.aghfd-home-promo__desc {
  margin:0 !important; padding:0 !important; font-size:12.5px;
  line-height:1.75; color:#526b82;
}
.aghfd-home-promo__actions {display:flex;flex-direction:column;gap:7px; min-width:0;}
.aghfd-home-promo__link {
  display:flex !important; align-items:center; justify-content:space-between;
  gap:10px; min-height:38px; padding:8px 14px !important; margin:0 !important;
  text-decoration:none !important; border-radius:8px !important;
  font-size:12px !important; line-height:1.4 !important;
  font-weight:800 !important; transition:filter .15s ease, transform .15s ease;
  color:#fff !important; background:#1b5fa7;
}
.aghfd-home-promo__link--upcoming { background:#236d95; }
.aghfd-home-promo__link--all {background:#fff;border:1px solid #bfd3e8;color:#255886 !important;}
.aghfd-home-promo__link span {font-size:20px;line-height:1;}
.aghfd-home-promo__link:hover {filter:brightness(.94);transform:translateY(-1px);}
.aghfd-home-promo__link:focus-visible {outline:3px solid #e6aa37;outline-offset:2px;}
@media (max-width: 900px) {
  .aghfd-home-promo__inner {grid-template-columns:1fr; padding:17px 16px; gap:13px;}
  .aghfd-home-promo__actions {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
  .aghfd-home-promo__link--all {grid-column:1 / -1;}
}
@media (max-width: 480px) {
  .aghfd-home-promo {margin:12px auto 18px !important; padding:6px !important;}
  .aghfd-home-promo__inner {padding:14px 12px; border-radius:12px;}
  .aghfd-home-promo__title {font-size:17px;}
  .aghfd-home-promo__desc {font-size:12px;}
  .aghfd-home-promo__link {min-height:37px;padding:8px 10px !important;font-size:11px !important;}
}

/* Mobile banner alignment: do not inherit any offset from inner link elements. */
@media (max-width: 767px) {
  .aghfd-home-promo {
    flex: 0 0 100% !important;
    grid-column: 1 / -1;
    justify-self: center;
    margin-left: auto !important;
    margin-right: auto !important;
    width: min(var(--aghfd-banner-width, 100%), 100%) !important;
    max-width: min(100%, calc(100vw - 20px)) !important;
    transform: none !important;
  }
  .aghfd-home-promo__inner,
  .aghfd-home-promo__actions,
  .aghfd-home-promo__text { min-width: 0; max-width: 100%; }
  .aghfd-home-promo__link { min-width: 0; }
}
