/* Avada Kedavra · Corpo Docente · Galeria Editorial V10
   Apresentação sem cartões retangulares. Molduras reais como protagonistas.
   Escopado ao corpo docente: não afeta outros módulos nem o editor ADM. */

.ak10-gallery {
  --ak10-text: #e8e1d6;
  --ak10-muted: #b5afa6;
  background: #0b0e13;
  overflow-x: clip;
}

.ak10-gallery .ak2-faculty-page-hero {
  background-image: linear-gradient(90deg, rgba(8, 11, 17, .94), rgba(8, 11, 17, .68)), url('/assets/castle.webp');
}

.ak10-gallery .ak10-body {
  padding-top: clamp(66px, 7vw, 104px);
  padding-bottom: clamp(85px, 9vw, 135px);
}

.ak10-gallery .ak10-gallery-section {
  scroll-margin-top: 112px;
}

.ak10-gallery .ak10-gallery-section + .ak10-gallery-section {
  margin-top: clamp(40px, 6.5vw, 96px);
}

.ak10-gallery .ak10-gallery-section > .ak2-chapter-heading {
  margin-bottom: clamp(32px, 4vw, 54px);
}

.ak10-gallery .ak10-section-heading {
  max-width: 760px;
  padding: 0 0 16px;
  margin-bottom: clamp(12px, 3vw, 36px);
}

.ak10-gallery .ak10-section-heading h2 {
  font: 400 clamp(44px, 5.5vw, 75px)/1.08 Editorial, Georgia, serif;
  letter-spacing: -.035em;
  margin: 16px 0 21px;
  color: var(--ak10-text);
}

.ak10-gallery .ak10-section-heading h2 em {
  color: #d7bc8e;
  font-style: italic;
}

.ak10-gallery .ak10-section-heading > p:last-child {
  max-width: 560px;
  color: var(--ak10-muted);
  font: 14px/1.85 Interface, Arial, sans-serif;
}

.ak10-gallery .ak10-people-list {
  display: flex;
  flex-direction: column;
  gap: 0;
}

/* Cada docente ocupa uma faixa editorial arejada, não um card. */
.ak10-gallery .ak10-entry {
  --ak10-accent: #b89a69;
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr);
  gap: clamp(35px, 5.5vw, 92px);
  align-items: center;
  width: 100%;
  min-width: 0;
  background: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  margin: 0;
  padding: clamp(38px, 5.3vw, 78px) 0 clamp(56px, 6.4vw, 90px);
}

.ak10-gallery .ak10-entry:not(:first-child)::before {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 1px;
  pointer-events: none;
  background: linear-gradient(90deg, transparent, #b49a7052 16%, #b49a7052 84%, transparent);
}

.ak10-gallery .ak10-entry.ak10-house-gryffindor { --ak10-accent: #d2a36f; }
.ak10-gallery .ak10-entry.ak10-house-slytherin { --ak10-accent: #90b19b; }
.ak10-gallery .ak10-entry.ak10-house-ravenclaw { --ak10-accent: #95a9c9; }
.ak10-gallery .ak10-entry.ak10-house-hufflepuff { --ak10-accent: #deba75; }

/* Inversão editorial: um retrato à esquerda, o seguinte à direita. */
.ak10-gallery .ak10-entry--reverse .ak10-portrait-slot { grid-column: 2; grid-row: 1; }
.ak10-gallery .ak10-entry--reverse .ak10-person-copy { grid-column: 1; grid-row: 1; }

.ak10-gallery .ak10-portrait-slot {
  position: relative;
  min-width: 0;
  width: 100%;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  overflow: visible;
  isolation: isolate;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.ak10-gallery .ak10-portrait-halo {
  position: absolute;
  z-index: -1;
  width: min(100%, 540px);
  height: 78%;
  inset: 7% auto auto;
  background: radial-gradient(ellipse at center, color-mix(in srgb, var(--ak10-accent) 13%, transparent), transparent 71%);
  filter: blur(16px);
  pointer-events: none;
}

.ak10-gallery .ak10-portrait-art {
  width: 100%;
  max-width: 355px;
  min-width: 0;
  margin-inline: auto;
}

.ak10-gallery .ak10-entry--featured .ak10-portrait-art {
  max-width: 400px;
}

.ak10-gallery .ak10-portrait-art .ak8-frame-root,
.ak10-gallery .ak10-portrait-art .ak8-frame-scale {
  max-width: 100%;
  margin-inline: auto;
}

.ak10-gallery .ak10-portrait-art .ak8-frame-stage {
  background: transparent;
  box-shadow: none;
  overflow: hidden;
}

.ak10-gallery .ak10-portrait-caption {
  margin-top: -2px;
  color: color-mix(in srgb, var(--ak10-accent) 64%, #b2a8a2);
  font: 9px/1.5 Interface, Arial, sans-serif;
  letter-spacing: .36em;
  text-align: center;
  opacity: .7;
}

.ak10-gallery .ak10-person-copy {
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  color: var(--ak10-text);
  padding: 4px 0;
}

.ak10-gallery .ak10-person-index {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 28px;
  color: #a99c89;
  font: 9px/1.4 Interface, Arial, sans-serif;
  letter-spacing: .18em;
}

.ak10-gallery .ak10-person-index span {
  color: var(--ak10-accent);
  font: 26px/.8 Editorial, Georgia, serif;
}

.ak10-gallery .ak10-person-index i {
  width: 35px;
  height: 1px;
  background: var(--ak10-accent);
  opacity: .58;
}

.ak10-gallery .ak10-person-subject {
  margin: 0 0 16px;
  color: var(--ak10-accent);
  font: 11px/1.4 Interface, Arial, sans-serif;
  letter-spacing: .27em;
  text-transform: uppercase;
}

.ak10-gallery .ak10-person-copy h2,
.ak10-gallery .ak10-person-copy h3 {
  color: var(--ak10-text);
  font: 400 clamp(46px, 5.3vw, 82px)/1.03 Editorial, Georgia, serif;
  letter-spacing: -.032em;
  margin: 0 0 16px;
  max-width: 100%;
  overflow-wrap: normal;
  hyphens: none;
}

.ak10-gallery .ak10-entry--featured .ak10-person-copy h2 {
  font-size: clamp(55px, 6vw, 96px);
  line-height: .99;
}

.ak10-gallery .ak10-person-rule {
  width: 85px;
  height: 1px;
  background: linear-gradient(90deg, var(--ak10-accent), transparent);
  margin: 9px 0 16px;
}

/* Casa como assinatura heráldica, sem outro retângulo por cima do retrato. */
.ak10-gallery .ak10-person-copy .ak6-house-badge {
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: none !important;
  padding: 0 !important;
  margin: 8px 0 20px !important;
}

.ak10-gallery .ak10-person-copy .ak6-house-badge .ak2-house-sigil {
  color: var(--ak10-accent);
  width: 32px;
  height: 39px;
}

.ak10-gallery .ak10-person-copy .ak6-house-badge strong {
  font-size: 20px;
}

.ak10-gallery .ak10-person-bio {
  margin: 8px 0 22px;
  max-width: 54ch;
  color: #c9c2b9;
  font: 14px/1.95 Interface, Arial, sans-serif;
  white-space: pre-wrap;
}

.ak10-gallery .ak10-person-quote {
  max-width: 46ch;
  margin: 6px 0 27px;
  padding: 0 0 0 17px;
  background: transparent;
  border: 0;
  border-left: 1px solid var(--ak10-accent);
  color: #ddc59e;
  font: italic clamp(18px, 1.75vw, 23px)/1.6 Editorial, Georgia, serif;
}

.ak10-gallery .ak10-person-footer {
  margin: 10px 0 0;
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  color: #a99b84;
  font: 10px/1.5 Interface, Arial, sans-serif;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.ak10-gallery .ak10-person-footer-sep {
  color: var(--ak10-accent);
  font-size: 9px;
}

.ak10-gallery .ak10-person-guide {
  margin: 26px 0 0;
  display: inline-flex;
  align-items: center;
  gap: 20px;
  color: #ddbd88;
  text-decoration: none;
  font: 12px/1.4 Interface, Arial, sans-serif;
  padding-bottom: 9px;
  border-bottom: 1px solid #ddbd8860;
}

.ak10-gallery .ak10-person-guide:hover,
.ak10-gallery .ak10-person-guide:focus-visible {
  color: #f7d29a;
  border-bottom-color: currentColor;
}

.ak10-gallery .ak10-gallery-ending {
  margin-top: clamp(62px, 9vw, 110px);
}

@media (max-width: 900px) {
  .ak10-gallery .ak10-entry {
    grid-template-columns: minmax(0, 1fr);
    gap: 26px;
    padding: 31px 0 66px;
  }

  .ak10-gallery .ak10-entry--reverse .ak10-portrait-slot,
  .ak10-gallery .ak10-entry--reverse .ak10-person-copy {
    grid-column: 1;
    grid-row: auto;
  }

  .ak10-gallery .ak10-portrait-slot { order: 0; }
  .ak10-gallery .ak10-person-copy { order: 1; }
  .ak10-gallery .ak10-portrait-art,
  .ak10-gallery .ak10-entry--featured .ak10-portrait-art {
    max-width: min(360px, 80vw);
  }

  .ak10-gallery .ak10-person-copy {
    width: 100%;
    max-width: 680px;
    margin-inline: auto;
  }
}

@media (max-width: 600px) {
  .ak10-gallery .ak10-body {
    padding-top: 61px;
  }

  .ak10-gallery .ak10-gallery-section > .ak2-chapter-heading {
    margin-bottom: 24px;
  }

  .ak10-gallery .ak10-entry {
    gap: 18px;
    padding: 24px 0 58px;
  }

  .ak10-gallery .ak10-portrait-art,
  .ak10-gallery .ak10-entry--featured .ak10-portrait-art {
    max-width: min(300px, 82vw);
  }

  .ak10-gallery .ak10-person-index { margin-bottom: 20px; }
  .ak10-gallery .ak10-person-subject { font-size: 10px; letter-spacing: .19em; }
  .ak10-gallery .ak10-person-copy h2,
  .ak10-gallery .ak10-person-copy h3,
  .ak10-gallery .ak10-entry--featured .ak10-person-copy h2 {
    font-size: clamp(42px, 10.5vw, 62px);
    line-height: 1.02;
    overflow-wrap: break-word;
  }

  .ak10-gallery .ak10-person-bio {
    font-size: 13px;
    line-height: 1.85;
  }

  .ak10-gallery .ak10-section-heading h2 {
    font-size: clamp(39px, 9vw, 57px);
  }

  .ak10-gallery .ak10-portrait-caption { margin-top: -1px; }
}

@media (max-width: 360px) {
  .ak10-gallery .ak10-portrait-art,
  .ak10-gallery .ak10-entry--featured .ak10-portrait-art {
    max-width: min(260px, 83vw);
  }
}

@media (prefers-reduced-motion: reduce) {
  .ak10-gallery *, .ak10-gallery *::before, .ak10-gallery *::after {
    animation: none !important;
    transition-duration: 0s !important;
  }
}
