/*
 * ABEC 2026 / OJS 3.4.0-10 — Homepage layout hotfix v3.2
 * For the existing ABEC v3.1 theme. No PHP, JavaScript or template changes.
 * Upload through Website > Appearance > Advanced > Journal style sheet.
 * All conference-specific layout rules are scoped to .abec_home.
 */

/* Keep the working OJS navigation and backend untouched. */
.pkp_structure_main:has(> .abec_home) {
  width: 100%;
  max-width: none;
  float: none;
  margin: 0 0 24px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.pkp_structure_main:has(> .abec_home)::before,
.pkp_structure_main:has(> .abec_home)::after { display: none; }
.pkp_structure_content:has(.abec_home) {
  box-sizing: border-box;
  width: 100%;
  max-width: 1320px;
  margin: 0 auto;
  padding: 24px 24px 0;
}
.abec_home,
.abec_home *,
.abec_home *::before,
.abec_home *::after { box-sizing: border-box; }
.abec_home { width: 100%; max-width: 100%; margin: 0; color: #122b40; }
.abec_home p, .abec_home ul { line-height: 1.7; }
.abec_home a:focus-visible {
  outline: 3px solid #f3c84b;
  outline-offset: 3px;
}

/* Hero: retain the existing design, improve its proportions. */
.abec_home .abec_hero {
  margin: 0 0 20px;
  border-radius: 24px;
}
.abec_home .abec_hero_inner {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(285px, .8fr);
  gap: clamp(24px, 4vw, 54px);
  align-items: center;
  padding: clamp(30px, 4vw, 54px);
}
.abec_home .abec_hero_copy,
.abec_home .abec_hero_inner > * { min-width: 0; }
.abec_home .abec_hero h1 {
  margin: 24px 0 18px;
  color: #fff;
  font-size: clamp(2.35rem, 3.8vw, 3.75rem);
  line-height: 1.07;
  letter-spacing: -.045em;
  font-weight: 900;
}
.abec_home .abec_hero_lead { font-size: 1rem; line-height: 1.75; }
.abec_home .abec_meta { gap: 12px; margin-top: 24px; }
.abec_home .abec_actions { gap: 10px; margin-top: 24px; }
.abec_home .abec_btn {
  min-height: 48px;
  padding: 12px 18px;
  font-size: .9rem;
  line-height: 1.35;
  text-align: center;
}
.abec_home .abec_portal_note { margin-top: 18px; }
.abec_home .abec_deadlines { padding: 26px; border-radius: 20px; }
.abec_home .abec_deadlines h2 {
  margin: 12px 0 18px;
  color: #fff;
  font-size: 1.45rem;
  line-height: 1.3;
}
.abec_home .abec_deadline_note {
  margin: 12px 0 0;
  padding-top: 12px;
  border-top: 1px solid rgba(255,255,255,.13);
  color: #b7ceda;
  font-size: .78rem;
  line-height: 1.6;
}

/* Three primary actions. */
.abec_home .abec_quicklinks {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0 0 24px;
  border-radius: 18px;
}
.abec_home .abec_quicklinks > a {
  min-width: 0;
  min-height: 112px;
  padding: 24px 22px;
  gap: 12px;
}
.abec_home .abec_quicklinks strong { font-size: .95rem; }
.abec_home .abec_quicklinks small { line-height: 1.55; }

/* About: short introduction on the left, four actual cards on the right. */
.abec_home .abec_section {
  margin: 0 0 24px;
  padding: 36px;
  border-radius: 22px;
}
.abec_home .abec_section_label {
  display: block;
  margin: 0 0 18px;
  color: #087f79;
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.abec_home .abec_about_compact {
  position: relative;
  overflow: hidden;
}
.abec_home .abec_about_compact_grid {
  display: grid;
  grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
  gap: 36px;
  align-items: start;
}
.abec_home .abec_about_compact_grid > * { min-width: 0; }
.abec_home .abec_about_compact h2 {
  margin: 0 0 18px;
  color: #082f4a;
  font-size: clamp(1.6rem, 2.3vw, 2.15rem);
  line-height: 1.2;
  letter-spacing: -.035em;
  font-weight: 800;
}
.abec_home .abec_intro {
  margin: 0;
  color: #546b7c;
  font-size: .96rem;
  line-height: 1.8;
}
.abec_home .abec_feature_grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin: 0;
  padding: 0;
}
.abec_home .abec_feature_grid > div {
  min-width: 0;
  min-height: 142px;
  padding: 21px;
  border: 1px solid #dce7ef;
  border-radius: 16px;
  background: linear-gradient(145deg, #fff 0%, #f7fbfd 100%);
}
.abec_home .abec_feature_grid span,
.abec_home .abec_feature_grid strong,
.abec_home .abec_feature_grid small { display: block; }
.abec_home .abec_feature_grid span {
  margin: 0 0 12px;
  color: #087f79;
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .1em;
}
.abec_home .abec_feature_grid strong {
  margin: 0 0 7px;
  color: #082f4a;
  font-size: 1rem;
  line-height: 1.4;
  font-weight: 800;
}
.abec_home .abec_feature_grid small {
  color: #607789;
  font-size: .8rem;
  line-height: 1.65;
}
.abec_home .abec_about_actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 24px;
  margin: 26px 0 0;
  padding-top: 20px;
  border-top: 1px solid #e2ebf1;
}
.abec_home .abec_about_actions a {
  color: #087f86;
  font-size: .9rem;
  font-weight: 800;
  text-decoration: none;
}
.abec_home .abec_about_actions a:hover { color: #072b45; text-decoration: underline; }

/* Closing CTA: restore the intended dark card and readable white heading. */
.abec_home .abec_footer_cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  margin: 0;
  padding: 32px 36px;
  border-radius: 22px;
  background: linear-gradient(120deg, #072b45 0%, #0b4f61 100%);
  box-shadow: 0 18px 45px rgba(5,39,62,.13);
}
.abec_home .abec_footer_cta > div { min-width: 0; }
.abec_home .abec_footer_cta .abec_section_label {
  margin: 0 0 10px;
  color: #86e8de;
}
.abec_home .abec_footer_cta h2 {
  max-width: 720px;
  margin: 0;
  color: #fff;
  font-size: clamp(1.3rem, 2vw, 1.7rem);
  line-height: 1.35;
  font-weight: 800;
}
.abec_home .abec_footer_cta .abec_btn { flex: 0 0 auto; }

/* Native OJS footer: retain the PKP credit, remove excessive empty height. */
.pkp_structure_footer_wrapper {
  margin-top: 30px;
  background: linear-gradient(135deg, #062944 0%, #07364f 70%, #0b5660 100%);
}
.pkp_structure_footer {
  min-height: 0;
  padding-top: 30px;
  padding-bottom: 30px;
  align-items: center;
}
.pkp_brand_footer img {
  max-width: 126px;
  height: auto;
  opacity: .85;
  filter: brightness(0) invert(1);
}

@media (max-width: 991px) {
  .abec_home .abec_hero_inner { grid-template-columns: 1fr; gap: 28px; }
  .abec_home .abec_deadlines { max-width: none; }
  .abec_home .abec_about_compact_grid { grid-template-columns: 1fr; gap: 24px; }
  .abec_home .abec_quicklinks { grid-template-columns: 1fr; }
  .abec_home .abec_quicklinks > a {
    min-height: 96px;
    border-right: 0;
    border-bottom: 1px solid #d7e3ea;
  }
  .abec_home .abec_quicklinks > a:last-child { border-bottom: 0; }
  .abec_home .abec_footer_cta { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 767px) {
  .pkp_structure_content:has(.abec_home) { padding: 14px 14px 0; }
  .pkp_structure_main:has(> .abec_home) { margin: 0 0 16px; }
  .abec_home .abec_hero { border-radius: 20px; }
  .abec_home .abec_hero_inner { padding: 32px 22px; }
  .abec_home .abec_hero h1 {
    margin: 20px 0 16px;
    font-size: clamp(2.1rem, 8.4vw, 2.8rem);
  }
  .abec_home .abec_hero_lead { font-size: .96rem; }
  .abec_home .abec_meta { grid-template-columns: 1fr; }
  .abec_home .abec_actions { flex-direction: column; }
  .abec_home .abec_actions .abec_btn { width: 100%; }
  .abec_home .abec_deadlines { padding: 24px 20px; }
  .abec_home .abec_date_row { flex-direction: column; gap: 6px; }
  .abec_home .abec_date_row strong { text-align: left; }
  .abec_home .abec_quicklinks > a { padding: 20px 18px; }
  .abec_home .abec_section { padding: 26px 20px; border-radius: 18px; }
  .abec_home .abec_feature_grid { grid-template-columns: 1fr; gap: 10px; }
  .abec_home .abec_feature_grid > div { min-height: 0; padding: 19px; }
  .abec_home .abec_about_actions { flex-direction: column; gap: 12px; }
  .abec_home .abec_footer_cta { gap: 24px; padding: 28px 22px; border-radius: 18px; }
  .abec_home .abec_footer_cta .abec_btn { width: 100%; }
  .pkp_structure_footer { padding-top: 26px; padding-bottom: 26px; }
}
@media (prefers-reduced-motion: reduce) {
  .abec_home *, .abec_home *::before, .abec_home *::after { transition-duration: .01ms; }
}

/* ABEC 2026 footer v3.3 — OJS 3.4.0-10, existing ABEC v3.x theme.
   Append after v3.2 CSS. No PHP, JavaScript, or core modifications. */

/* Hide only the native PKP/OJS branding block in the public footer.
   Do not hide other logos, navigation, or accessibility elements. */
.pkp_structure_footer_wrapper .pkp_brand_footer {
  display: none !important;
}

/* Reset the old theme's flex footer and excessive spacing. */
.pkp_structure_footer_wrapper {
  margin-top: 32px;
  background: #092b43;
  color: #c5d9e6;
}
.pkp_structure_footer_wrapper .pkp_structure_footer {
  display: block;
  box-sizing: border-box;
  width: 100%;
  max-width: 1320px;
  min-height: 0;
  margin: 0 auto;
  padding: 0 24px;
  text-align: left;
  background: transparent;
}
.pkp_structure_footer_wrapper .pkp_footer_content {
  box-sizing: border-box;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  text-align: left;
  float: none;
}
.pkp_structure_footer_wrapper .abec-footer,
.pkp_structure_footer_wrapper .abec-footer * {
  box-sizing: border-box;
}
.pkp_structure_footer_wrapper .abec-footer {
  width: 100%;
  max-width: 100%;
  padding: 48px 0 0;
  color: #c5d9e6;
  font-family: inherit;
  font-size: 14px;
  line-height: 1.7;
}
.pkp_structure_footer_wrapper .abec-footer-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(0, .8fr) minmax(0, 1fr);
  gap: clamp(26px, 4vw, 64px);
  padding-bottom: 40px;
}
.pkp_structure_footer_wrapper .abec-footer-grid > * { min-width: 0; }
.pkp_structure_footer_wrapper .abec-footer p { margin: 0 0 14px; }
.pkp_structure_footer_wrapper .abec-footer a {
  color: #cce3ec;
  text-decoration: none;
  overflow-wrap: anywhere;
  transition: color .15s ease;
}
.pkp_structure_footer_wrapper .abec-footer a:hover { color: #78e6d9; text-decoration: underline; }
.pkp_structure_footer_wrapper .abec-footer a:focus-visible {
  outline: 2px solid #f3c84b;
  outline-offset: 4px;
  border-radius: 2px;
}
.pkp_structure_footer_wrapper .abec-footer-eyebrow {
  color: #78e6d9;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
}
.pkp_structure_footer_wrapper .abec-footer h2 {
  margin: 8px 0 8px;
  color: #fff;
  font-size: clamp(27px, 3vw, 36px);
  font-weight: 850;
  letter-spacing: -.04em;
  line-height: 1.15;
}
.pkp_structure_footer_wrapper .abec-footer h2 span { color: #7ce2d7; }
.pkp_structure_footer_wrapper .abec-footer-fullname {
  color: #fff;
  font-size: 14px;
  font-weight: 700;
}
.pkp_structure_footer_wrapper .abec-footer-description {
  max-width: 410px;
  color: #aec5d4;
  line-height: 1.8;
}
.pkp_structure_footer_wrapper .abec-footer-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  min-height: 44px;
  margin-top: 8px;
  padding: 10px 17px;
  border-radius: 10px;
  background: linear-gradient(100deg, #7de0d0, #f3d063);
  color: #082c44 !important;
  font-size: 13px;
  font-weight: 800;
}
.pkp_structure_footer_wrapper .abec-footer-button:hover {
  background: #f3d063;
  color: #082c44 !important;
  text-decoration: none !important;
}
.pkp_structure_footer_wrapper .abec-footer h3 {
  margin: 8px 0 22px;
  color: #fff;
  font-size: 15px;
  font-weight: 800;
  line-height: 1.4;
}
.pkp_structure_footer_wrapper .abec-footer-links ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.pkp_structure_footer_wrapper .abec-footer-links li {
  margin: 0 0 12px;
  padding: 0;
  list-style: none;
}
.pkp_structure_footer_wrapper .abec-footer-contact-label {
  margin: 20px 0 5px !important;
  color: #78e6d9;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .11em;
}
.pkp_structure_footer_wrapper .abec-footer-contact-label:first-of-type { margin-top: 0 !important; }
.pkp_structure_footer_wrapper .abec-footer-contact strong { color: #f0f7fb; }
.pkp_structure_footer_wrapper .abec-footer-contact-note {
  color: #9db9ca;
  font-size: 12px;
  line-height: 1.75;
}
.pkp_structure_footer_wrapper .abec-footer-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px 24px;
  padding: 23px 0 26px;
  border-top: 1px solid rgba(255,255,255,.14);
  color: #91afc1;
  font-size: 12px;
}
.pkp_structure_footer_wrapper .abec-footer-bottom p { margin: 0; }
.pkp_structure_footer_wrapper .abec-footer-bottom a { color: #b5cfde; }
.pkp_structure_footer_wrapper .abec-footer-separator { margin: 0 10px; color: #5a8199; }

@media (max-width: 900px) {
  .pkp_structure_footer_wrapper .abec-footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 32px;
  }
  .pkp_structure_footer_wrapper .abec-footer-about { grid-column: 1 / -1; }
  .pkp_structure_footer_wrapper .abec-footer-description { max-width: 600px; }
}
@media (max-width: 600px) {
  .pkp_structure_footer_wrapper .pkp_structure_footer { padding: 0 20px; }
  .pkp_structure_footer_wrapper .abec-footer { padding-top: 34px; }
  .pkp_structure_footer_wrapper .abec-footer-grid {
    grid-template-columns: 1fr;
    gap: 26px;
    padding-bottom: 30px;
  }
  .pkp_structure_footer_wrapper .abec-footer-about { grid-column: auto; }
  .pkp_structure_footer_wrapper .abec-footer h3 { margin-bottom: 15px; }
  .pkp_structure_footer_wrapper .abec-footer-bottom {
    display: block;
    padding: 22px 0 28px;
    line-height: 1.9;
  }
  .pkp_structure_footer_wrapper .abec-footer-bottom p + p { margin-top: 10px; }
}
@media (prefers-reduced-motion: reduce) {
  .pkp_structure_footer_wrapper .abec-footer a { transition: none; }
}
