/* Refined closing frame and visible mobile language selector */
.footerInner>p {
  max-width: 1180px;
  text-wrap: balance;
  position: relative;
}

.footerInner>p::after {
  content: "";
  display: block;
  width: clamp(70px, 12vw, 180px);
  height: 7px;
  margin-top: 42px;
  background: var(--rust);
  box-shadow: 22px 13px 0 var(--acid);
}

.footerSearchTitles {
  position: relative;
  max-width: none;
  margin: 54px 0 42px;
  padding: 30px 34px 28px;
  border-top: 1px solid #ffffff52;
  border-bottom: 1px solid #ffffff52;
  border-left: 7px solid var(--acid);
  background: linear-gradient(100deg, #ffffff0d, transparent 72%);
}

.footerSearchTitles p {
  color: var(--paper);
  letter-spacing: .055em;
  margin: 0 0 18px;
  font: 500 clamp(12px, 1.25vw, 18px)/1.85 DM Mono, monospace;
  text-wrap: balance;
}

.footerSearchTitles span {
  color: #ffffffa8;
  max-width: 1050px;
  letter-spacing: .035em;
  font: 10px/1.8 DM Mono, monospace;
}

@media (max-width: 850px) {
  .nav .langSwitch {
    display: flex;
    margin-left: auto;
    gap: 2px;
  }

  .nav .langSwitch a {
    min-width: 27px;
    padding: 7px 4px;
    font: 9px DM Mono, monospace;
  }

  .mobileMenu { margin-left: 7px; }
  .nav .markFull { font-size: 10px; }
  .footerInner>p {
    margin-bottom: 58px;
    font-size: clamp(43px, 13vw, 61px);
    line-height: .84;
  }
  .footerInner>p::after { height: 5px; margin-top: 30px; }
  .footerSearchTitles {
    margin: 38px 0 32px;
    padding: 23px 18px 21px;
    border-left-width: 5px;
  }
  .footerSearchTitles p { font-size: 11px; line-height: 1.75; }
  .footerSearchTitles span { font-size: 9px; line-height: 1.7; }
  .footerActions { display: grid; }
  .footerActions a { text-align: center; }
  .footerBottom {
    gap: 12px;
    align-items: flex-start;
    flex-direction: column;
    margin-top: 70px;
  }
}

@media (max-width: 390px) {
  .nav .markFull { font-size: 9px; }
  .nav .langSwitch a { min-width: 24px; padding: 7px 3px; }
  .mobileMenu summary { padding: 10px 9px; }
}

/* Version 16: director attendance badges */
.upcomingCard::after,
.screeningInfo::after {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  margin-top: 20px;
  padding: 8px 11px;
  border: 1px solid var(--ink);
  background: var(--acid);
  color: var(--ink);
  letter-spacing: .07em;
  text-transform: uppercase;
  font: 600 9px/1 DM Mono, monospace;
  box-shadow: 4px 4px 0 var(--rust);
}

.upcomingCard h2 {
  font-size: clamp(30px, 4.4vw, 64px);
  overflow-wrap: anywhere;
}

.screeningInfo h2 {
  overflow-wrap: anywhere;
}

html[lang="en"] .upcomingCard::after,
html[lang="en"] .screeningInfo::after { content: "Director in attendance"; }
html[lang="it"] .upcomingCard::after,
html[lang="it"] .screeningInfo::after { content: "Regista presente"; }
html[lang="bs"] .upcomingCard::after,
html[lang="bs"] .screeningInfo::after { content: "Reditelj prisutan"; }

@media (max-width: 850px) {
  .upcomingCard::after,
  .screeningInfo::after {
    margin-top: 16px;
    padding: 7px 9px;
    font-size: 8px;
  }
  .upcomingCard h2 { font-size: clamp(28px, 9vw, 48px); }
}
