/* =========================================================
   DOCUMENTS BY PROGRAMME
   Bulgaria in Interreg Knowledge Hub
   Loaded after local-hub.css
   ========================================================= */

.documents-by-programme-page {
  background:
    radial-gradient(circle at 10% 7%, rgba(195,229,220,.42), transparent 31rem),
    radial-gradient(circle at 90% 15%, rgba(223,240,237,.76), transparent 30rem),
    linear-gradient(180deg, #fbfcf8 0%, #f8fbf7 52%, #eef8f5 100%);
}

.documents-by-programme-page .main-nav a.is-active {  color: #007a70;}

.dbp-shell {  width: min(1480px, calc(100% - 112px));  margin-inline: auto; }

.dbp-kicker {  display: inline-flex;  align-items: center;  gap: 9px;  margin: 0 0 12px;  color: #007a70;  font-size: .92rem;
  line-height: 1.2;  font-weight: 900;}

.dbp-kicker::before {  content: "";  width: 11px;  height: 11px;  flex: 0 0 11px;  border-radius: 999px;  background: #078f86;
  box-shadow: 0 0 0 6px rgba(7,143,134,.12);}

/* HERO */

.dbp-hero {  display: grid;  grid-template-columns: minmax(0, 1.25fr) minmax(330px, .75fr);  gap: 28px;
  align-items: stretch;  padding-top: 58px;  padding-bottom: 30px;}

.dbp-hero-copy,
.dbp-hero-note {
  border: 1px solid rgba(155,199,196,.58);
  border-radius: 30px;
  background:
    radial-gradient(circle at 84% 16%, rgba(230,246,241,.72), transparent 20rem),
    linear-gradient(135deg, rgba(255,255,255,.96), rgba(240,248,246,.90));
  box-shadow: 0 24px 60px rgba(21,79,98,.09);
}

.dbp-hero-copy {
  min-height: 290px;
  padding: 42px 46px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
  overflow: hidden;
}

.dbp-hero-copy::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 78px;
  pointer-events: none;
  background:
    linear-gradient(160deg, transparent 0 30%, rgba(112,168,131,.16) 31% 55%, transparent 56%),
    linear-gradient(10deg, rgba(34,128,136,.13) 0 41%, transparent 42%);
}

.dbp-hero-copy > * {
  position: relative;
  z-index: 1;
}

.dbp-hero-copy h1 {
  margin: 0 0 18px;
  color: #073466;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2.55rem, 3.6vw, 3.25rem);
  line-height: 1;
  letter-spacing: -.045em;
}

.dbp-hero-copy > p:not(.dbp-kicker) {
  max-width: 850px;
  margin: 0;
  color: #2b566d;
  font-size: 1.04rem;
  line-height: 1.62;
}

.dbp-hero-note {
  padding: 30px;
}

.dbp-hero-note ol {
  display: grid;
  gap: 18px;
  margin: 8px 0 0;
  padding: 0;
  list-style: none;
  counter-reset: dbp-step;
}

.dbp-hero-note li {
  counter-increment: dbp-step;
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  row-gap: 3px;
  align-items: start;
}

.dbp-hero-note li::before {
  content: counter(dbp-step);
  grid-column: 1;
  griw-row: 1/span 2;
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #e8f5f1;
  border: 1px solid #cae4dd;
  color: #007a70;
  font-weight: 900;
}

.dbp-hero-note li > strong,
.dbp-hero-note li > span {  
  grid-column: 2;
  
}

.dbp-hero-note li > strong {
  grid-row: 1;
  display: block;
  color: #073466;
  font-size: .98rem;
  margin: 0;
}

.dbp-hero-note li > span {
  grid-row: 2;
  display: block;
  color: #315d72;
  font-size: .99rem;
  line-height: 1.42;
}

/* SECTIONS */

.dbp-section {
  padding-top: 32px;
  padding-bottom: 34px;
}

.dbp-section-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 520px);
  gap: 36px;
  align-items: end;
  margin-bottom: 21px;
}

.dbp-section-head h2,
.dbp-library-note h2 {
  margin: 0;
  color: #073466;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2rem, 2.45vw, 2.7rem);
  line-height: 1.04;
  letter-spacing: -.035em;
}

.dbp-section-head > p {
  margin: 0;
  color: #315d72;
  font-size: 1rem;
  line-height: 1.55;
}

.dbp-grid {
  display: grid;
  gap: 18px;
}

.dbp-grid--three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.dbp-grid--two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

/* CARDS */

.dbp-card {
  min-width: 0;
  min-height: 275px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid rgba(155,199,196,.58);
  border-radius: 24px;
  background: rgba(255,255,255,.93);
  box-shadow: 0 16px 40px rgba(21,79,98,.07);
  color: #073466;
  text-decoration: none;
}

a.dbp-card {
  transition: transform .20s ease, box-shadow .20s ease, border-color .20s ease;
}

a.dbp-card:hover,
a.dbp-card:focus-visible {
  transform: translateY(-4px);
  border-color: rgba(0,122,112,.42);
  box-shadow: 0 24px 54px rgba(21,79,98,.12);
}

.dbp-logo-wrap {
  min-height: 118px;
  display: grid;
  place-items: center;
  padding: 18px 24px;
  border-bottom: 1px solid rgba(155,199,196,.38);
  background:
    radial-gradient(circle at 20% 25%, rgba(226,244,238,.74), transparent 45%),
    linear-gradient(135deg, #fff, #f7fbf9);
  overflow: hidden;
}

.dbp-logo {
  width: 100%;
  height: 76px;
  display: block;
  object-fit: contain;
  object-position: center;
}

.dbp-card-body {
  flex: 1;
  display: flex;
  flex-direction: column;
  padding: 20px 21px 21px;
}

.dbp-meta-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}

.dbp-meta {
  color: #5b7788;
  font-size: .79rem;
  font-weight: 850;
}

.dbp-status {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 10px;
  border-radius: 999px;
  white-space: nowrap;
  font-size: .75rem;
  font-weight: 900;
}

.dbp-status.ready {
  background: rgba(0,122,112,.11);
  color: #007a70;
  border: 1px solid rgba(0,122,112,.15);
}

.dbp-status.preparing {
  background: rgba(91,119,136,.09);
  color: #5b7788;
  border: 1px solid rgba(91,119,136,.12);
}

.dbp-card h3 {
  margin: 0 0 9px;
  color: #073466;
  font-size: 1.16rem;
  line-height: 1.16;
}

.dbp-card p {
  margin: 0;
  color: #315d72;
  font-size: .91rem;
  line-height: 1.45;
}

.dbp-card-action {
  margin-top: auto;
  padding-top: 17px;
  color: #004b8d;
  font-size: .9rem;
  font-style: normal;
  font-weight: 900;
}

.dbp-card-action.muted {
  color: #718894;
}

/* Programme-specific optical corrections for the existing logo set */
.dbp-logo[src$="bulgaria-north-macedonia-logo.png"] {
  transform: scale(1.18);
}

.dbp-logo[src$="danube-region-logo.png"] {
  transform: scale(1.42);
}

.dbp-logo[src$="euro-med-logo.png"] {
  transform: scale(1.48);
}

.dbp-logo[src$="black-sea-basin-logo.png"] {
  transform: scale(1.52);
}

.dbp-logo[src$="interreg-europe-logo.png"] {
  transform: scale(1.10);
}

.dbp-logo[src$="urbact-logo.png"] {
  transform: scale(1.32);
}

/* LIBRARY NOTE */

.dbp-library-note {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 28px;
  align-items: center;
  margin-top: 24px;
  padding: 29px 30px;
  border: 1px solid rgba(155,199,196,.58);
  border-radius: 26px;
  background:
    radial-gradient(circle at 85% 20%, rgba(255,248,228,.82), transparent 18rem),
    linear-gradient(135deg, rgba(255,255,255,.94), rgba(238,248,245,.92));
  box-shadow: 0 18px 44px rgba(21,79,98,.07);
}

.dbp-library-note h2 {
  font-size: clamp(1.7rem, 2.2vw, 2.3rem);
  margin-bottom: 10px;
}

.dbp-library-note p:not(.dbp-kicker) {
  max-width: 920px;
  margin: 0;
  color: #315d72;
  font-size: .96rem;
  line-height: 1.55;
}

.dbp-library-note > a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 18px;
  border: 1px solid rgba(5,96,143,.22);
  border-radius: 999px;
  background: rgba(255,255,255,.9);
  color: #004b8d;
  font-size: .9rem;
  font-weight: 900;
  white-space: nowrap;
}

/* BOTTOM BACK */

.dbp-bottom-back {
  display: flex;
  justify-content: center;
  padding-top: 38px;
  padding-bottom: 10px;
}

.dbp-bottom-back a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 0 19px;
  border: 1px solid rgba(5,96,143,.22);
  border-radius: 999px;
  background: rgba(255,255,255,.88);
  color: #004b8d;
  font-size: .92rem;
  font-weight: 900;
  box-shadow: 0 10px 24px rgba(21,79,98,.06);
}

/* RESPONSIVE */

@media (max-width: 1180px) {
  .dbp-shell {
    width: min(100% - 64px, 1180px);
  }

  .dbp-hero,
  .dbp-section-head,
  .dbp-library-note {
    grid-template-columns: 1fr;
  }

  .dbp-grid--three {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .dbp-library-note > a {
    justify-self: start;
  }
}

@media (max-width: 760px) {
  .dbp-shell {
    width: min(100% - 36px, 760px);
  }

  .dbp-hero {
    padding-top: 42px;
    gap: 18px;
  }

  .dbp-hero-copy {
    min-height: 0;
    padding: 30px 24px;
    border-radius: 25px;
  }

  .dbp-hero-note {
    padding: 24px;
    border-radius: 25px;
  }

  .dbp-section {
    padding-top: 25px;
    padding-bottom: 26px;
  }

  .dbp-section-head {
    gap: 14px;
  }

  .dbp-grid--three,
  .dbp-grid--two {
    grid-template-columns: 1fr;
  }

  .dbp-card {
    min-height: 0;
  }

  .dbp-meta-row {
    align-items: flex-start;
    flex-direction: column;
  }

  .dbp-library-note {
    padding: 24px;
  }

  .dbp-bottom-back {
    padding-top: 28px;
  }
}
