/*
 * Apple UI layer for the Tilda export.
 * Loaded after all Tilda stylesheets. Changes presentation only:
 * no content, links, images or layout positions of Zero blocks are touched.
 */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');

:root {
  --a-font: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Inter", "Helvetica Neue", Arial, sans-serif;
  --a-bg: #ffffff;
  --a-bg-alt: #f5f5f7;
  --a-text: #1d1d1f;
  --a-text-2: #6e6e73;
  --a-text-3: #86868b;
  --a-hairline: #d2d2d7;
  --a-accent: #6df547;
  --a-accent-ink: #1d1d1f;
  --a-radius-card: 18px;
  --a-radius-lg: 24px;
  --a-radius-pill: 980px;
  --a-shadow: 0 4px 24px rgba(0, 0, 0, .08);
  --a-shadow-hover: 0 12px 40px rgba(0, 0, 0, .14);
  --a-ease: cubic-bezier(.25, .1, .25, 1);
}

/* ---------- Typography ---------- */
body,
.t-body,
.t-records,
.t-title,
.t-heading,
.t-descr,
.t-text,
.t-name,
.t-uptitle,
.t-btn,
.t-menu__link-item,
.t-card__title,
.t-card__descr,
.t-vote,
.t-popup,
.t396 .tn-atom,
.t228,
.t450,
.t463,
[style*="LoosLCGeo"],
input,
button,
textarea,
select {
  font-family: var(--a-font) !important;
}

body {
  background-color: var(--a-bg);
  color: var(--a-text);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

.t-title,
.t-heading,
.t120__title,
.t033__title,
.t544__title {
  color: var(--a-text);
  letter-spacing: -0.02em;
}

.t-name,
.t-card__title {
  color: var(--a-text);
  letter-spacing: -0.01em;
}

.t-descr,
.t-text {
  line-height: 1.5;
}

.t-card__descr,
.t-descr_xxs {
  color: var(--a-text-2);
}

/* Zero-block text: only font rendering and tracking, positions untouched */
.t396 [data-elem-type="text"] .tn-atom {
  letter-spacing: -0.015em;
}

/* ---------- Section backgrounds ---------- */
.t-rec[data-bg-color="#f3f3f3"],
.t-rec[data-bg-color="#F3F3F3"] {
  background-color: var(--a-bg-alt) !important;
}

/* ---------- Header / navigation (glass bar) ---------- */
.t228 {
  background-color: rgba(255, 255, 255, .72) !important;
  -webkit-backdrop-filter: saturate(180%) blur(20px);
  backdrop-filter: saturate(180%) blur(20px);
  border-bottom: 1px solid rgba(0, 0, 0, .08);
  box-shadow: none !important;
}

/* Tilda inlines height:90px on both the outer bar and the inner container */
.t228,
.t228__maincontainer {
  height: 64px !important;
}

/* Logo: Tilda inlines 200px wide; apple-ui.css makes the bar slimmer, so scale it down proportionally rather than shrinking it to a stamp */
.t228__imglogo {
  max-width: 160px !important;
  width: 160px !important;
  min-width: 0 !important;
}

.t228 .t-menu__link-item {
  color: var(--a-text) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  letter-spacing: -0.01em !important;
  opacity: .88;
  transition: opacity .2s var(--a-ease);
}

.t228 .t-menu__link-item:hover {
  opacity: 1;
}

.tmenu-mobile {
  background-color: rgba(255, 255, 255, .72) !important;
  -webkit-backdrop-filter: saturate(180%) blur(20px);
  backdrop-filter: saturate(180%) blur(20px);
  border-bottom: 1px solid rgba(0, 0, 0, .08);
}

.tmenu-mobile .tmenu-mobile__text {
  color: var(--a-text) !important;
}

.tmenu-mobile .t-menuburger span {
  background-color: var(--a-text) !important;
}

/* Burger button: glass rounded square */
.t450__burger_container {
  padding: 10px 9px;
  border-radius: 14px;
  background-color: rgba(255, 255, 255, .72);
  -webkit-backdrop-filter: saturate(180%) blur(20px);
  backdrop-filter: saturate(180%) blur(20px);
  box-shadow: 0 2px 12px rgba(0, 0, 0, .1);
}

/* Burger overlay menu (t450) */
.t450 {
  background-color: rgba(255, 255, 255, .86) !important;
  -webkit-backdrop-filter: saturate(180%) blur(24px);
  backdrop-filter: saturate(180%) blur(24px);
  box-shadow: var(--a-shadow-hover);
}

.t450 .t-menu__link-item {
  color: var(--a-text) !important;
  font-size: 24px !important;
  font-weight: 600 !important;
  letter-spacing: -0.02em !important;
  transition: opacity .2s var(--a-ease);
}

.t450 .t-menu__link-item:hover {
  opacity: .6;
}

.t450 .t-sociallinks svg path {
  fill: var(--a-text-3) !important;
  transition: fill .2s var(--a-ease);
}

.t450 .t-sociallinks a:hover svg path {
  fill: var(--a-text) !important;
}

.t450__overlay_bg,
.t450__overlay {
  background-color: rgba(0, 0, 0, .25) !important;
}

/* ---------- Buttons ---------- */
.t-btn,
.t-submit,
.t396 [data-elem-type="button"] .tn-atom {
  border-radius: var(--a-radius-pill) !important;
  font-weight: 500 !important;
  transition: transform .2s var(--a-ease), filter .2s var(--a-ease), background-color .2s var(--a-ease), box-shadow .2s var(--a-ease) !important;
}

.t-btn:hover,
.t-submit:hover,
.t396 [data-elem-type="button"] .tn-atom:hover {
  filter: brightness(.96);
  transform: scale(1.02);
}

.t-btn:active,
.t396 [data-elem-type="button"] .tn-atom:active {
  transform: scale(.98);
}

/* Primary (brand green) keeps dark ink for contrast */
.t-card__btn_first,
.t778__btn:not(.t778__btn_second) {
  color: var(--a-accent-ink) !important;
}

/* Card buttons: tighter side padding so both pills stay on one row */
.t-card__btn,
.t778__btn {
  padding-left: 12px !important;
  padding-right: 12px !important;
  font-size: 12px !important;
}

.t778__btn {
  text-transform: none !important;
}

/* Secondary "watch video" button: soft grey pill, no outline */
.t-card__btn_second,
.t778__btn_second {
  background-color: rgba(0, 0, 0, .05) !important;
  border-color: transparent !important;
  color: var(--a-text) !important;
}

.t-card__btn_second:hover,
.t778__btn_second:hover {
  background-color: rgba(0, 0, 0, .09) !important;
}

/* ---------- Minister cards: slider (t923) and grid (t774) ---------- */
.t774__wrapper,
.t923__wrapper {
  border-radius: var(--a-radius-card) !important;
  overflow: hidden;
  background-color: var(--a-bg);
  box-shadow: var(--a-shadow);
  transition: transform .35s var(--a-ease), box-shadow .35s var(--a-ease);
}

.t774__wrapper:hover,
.t923__wrapper:hover {
  transform: translateY(-4px);
  box-shadow: var(--a-shadow-hover);
}

.t774__wrapper,
.t923__imgwrapper,
.t923__content {
  background-color: var(--a-bg) !important;
}

/* Allow card shadows (and hover lift) to show inside the slider viewport.
   Tilda fixes the track height in JS; let it grow with the padded slides. */
.t923 .t-slds__item {
  padding-top: 8px;
  padding-bottom: 32px;
}

.t923 .t-slds__items-wrapper {
  height: auto !important;
}

/* Slider arrows sit just outside the cards instead of at the window edges */
@media screen and (min-width: 1200px) {
  .t923 .t-slds__arrow_wrapper {
    width: 44px !important;
  }

  .t923 .t-slds__arrow_wrapper-left {
    left: max(8px, calc(50% - 636px)) !important;
  }

  .t923 .t-slds__arrow-left {
    left: 0 !important;
  }

  .t923 .t-slds__arrow-right {
    left: auto !important;
    right: 0 !important;
  }

  .t923 .t-slds__arrow_wrapper-right {
    right: max(8px, calc(50% - 636px)) !important;
  }
}

@media screen and (min-width: 960px) and (max-width: 1199px) {
  .t923 .t-slds__arrow_wrapper {
    width: 44px !important;
  }

  .t923 .t-slds__arrow_wrapper-left {
    left: max(8px, calc(50% - 516px)) !important;
  }

  .t923 .t-slds__arrow-left {
    left: 0 !important;
  }

  .t923 .t-slds__arrow-right {
    left: auto !important;
    right: 0 !important;
  }

  .t923 .t-slds__arrow_wrapper-right {
    right: max(8px, calc(50% - 516px)) !important;
  }
}

/* Catalog cards (t778, used inside popups) */
.t778__wrapper {
  border-radius: var(--a-radius-card) !important;
  overflow: hidden;
  background-color: var(--a-bg) !important;
  box-shadow: var(--a-shadow);
  transition: transform .35s var(--a-ease), box-shadow .35s var(--a-ease);
}

.t778__wrapper:hover {
  transform: translateY(-4px);
  box-shadow: var(--a-shadow-hover);
}

/* ---------- Structure tiles (t959) ---------- */
.t959__card-inner {
  border-radius: var(--a-radius-lg) !important;
  overflow: hidden;
  box-shadow: var(--a-shadow);
  transition: transform .35s var(--a-ease), box-shadow .35s var(--a-ease);
}

.t959__card-inner:hover {
  transform: translateY(-4px);
  box-shadow: var(--a-shadow-hover);
}

.t959 .t-card__title {
  font-weight: 600 !important;
  letter-spacing: -0.02em !important;
}

/* ---------- Slider arrows (round glass buttons) ---------- */
.t-slds__arrow {
  width: 44px !important;
  height: 44px !important;
  border-radius: 50% !important;
  background-color: rgba(255, 255, 255, .8) !important;
  -webkit-backdrop-filter: saturate(180%) blur(20px);
  backdrop-filter: saturate(180%) blur(20px);
  box-shadow: 0 2px 12px rgba(0, 0, 0, .12);
  display: flex !important;
  align-items: center;
  justify-content: center;
  transition: transform .2s var(--a-ease), box-shadow .2s var(--a-ease);
}

.t-slds__arrow:hover {
  transform: translateY(-50%) scale(1.06);
  box-shadow: 0 4px 18px rgba(0, 0, 0, .18);
}

.t-slds__arrow_body {
  width: 10px !important;
  position: static !important;
}

.t-slds__arrow_body polyline {
  stroke: var(--a-text) !important;
}

.t-slds__bullet_body {
  border-radius: 50%;
  background-color: var(--a-hairline) !important;
}

.t-slds__bullet_active .t-slds__bullet_body {
  background-color: var(--a-text) !important;
}

/* ---------- Zero blocks: decoration only ---------- */
.t396 [data-elem-type="image"] .tn-atom,
.t396 [data-elem-type="image"] .tn-atom__img {
  border-radius: var(--a-radius-card);
}

/* Photo/colour tiles drawn as shapes (not lines, not full-width backgrounds).
   No !important: Tilda's own per-element radius (e.g. circles) still wins. */
.t396 [data-elem-type="shape"]:not([data-field-height-value="1"]):not([data-field-width-value="1"]):not([data-field-widthunits-value="%"]) .tn-atom {
  border-radius: var(--a-radius-card);
}

.t396 [data-elem-type="image"] .tn-atom {
  overflow: hidden;
}

.t396 [data-elem-type="video"] .tn-atom,
.t396 [data-elem-type="video"] iframe {
  border-radius: var(--a-radius-card) !important;
  overflow: hidden;
}

/* Hairline dividers drawn as 1px shapes */
.t396 [data-elem-type="shape"][data-field-height-value="1"] .tn-atom,
.t396 [data-elem-type="shape"][data-field-width-value="1"][data-field-widthunits-value="px"] .tn-atom {
  background-color: var(--a-hairline) !important;
}

/* ---------- Minister hero (t544) ---------- */
.t544__blockimg {
  border-radius: var(--a-radius-lg) !important;
  box-shadow: var(--a-shadow);
}

.t544__title {
  font-weight: 700 !important;
}

.t544__descr {
  color: var(--a-text-2) !important;
}

.t544__line {
  background-color: var(--a-hairline) !important;
  height: 1px !important;
}

/* ---------- Text blocks ---------- */
.t033__lineTop {
  border-top-color: var(--a-accent) !important;
  border-top-width: 3px !important;
  border-radius: 2px;
}

.t033__title,
.t120__title {
  font-weight: 700 !important;
}

/* ---------- Poll (t797) as iOS grouped list ---------- */
.t797__wrapper {
  border-radius: var(--a-radius-lg) !important;
  background-color: var(--a-bg-alt) !important;
}

.t797 .t-vote__btn-wrapper {
  background-color: var(--a-bg);
  border-radius: var(--a-radius-card);
  box-shadow: 0 1px 3px rgba(0, 0, 0, .06);
  transition: transform .2s var(--a-ease), box-shadow .2s var(--a-ease);
}

.t797 .t-vote__btn-wrapper:hover {
  transform: scale(1.03);
  box-shadow: var(--a-shadow);
}

/* Tilda's "vote doesn't work" notice (shown when the vote API is unreachable) */
.t797 .t-vote__errorbox-text {
  border-radius: 14px;
  color: #f5f5f7 !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
}

.t797 .t-vote__errorbox-text[style*="#333"] {
  background-color: rgba(29, 29, 31, .88) !important;
}

/* ---------- Video popups (t331) ---------- */
.t331 .t-popup {
  background-color: rgba(0, 0, 0, .8) !important;
  -webkit-backdrop-filter: blur(20px);
  backdrop-filter: blur(20px);
}

.t331 .t-popup__container {
  border-radius: var(--a-radius-card);
  overflow: hidden;
  box-shadow: 0 24px 80px rgba(0, 0, 0, .5);
}

.t-popup__close {
  border-radius: 50%;
  background-color: rgba(255, 255, 255, .16) !important;
  -webkit-backdrop-filter: blur(20px);
  backdrop-filter: blur(20px);
  transition: background-color .2s var(--a-ease);
}

.t-popup__close:hover {
  background-color: rgba(255, 255, 255, .28) !important;
}

/* ---------- Footer (t463) ---------- */
.t-rec[data-record-type="463"] {
  background-color: var(--a-bg-alt) !important;
  border-top: 1px solid var(--a-hairline);
}

.t463 .t463__logo,
.t463 .t463__typo,
.t463 [style*="color"] {
  color: var(--a-text-2) !important;
  border-bottom-color: var(--a-text-3) !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  letter-spacing: -0.01em !important;
}

.t463 .t463__logo,
.t463 .t463__logo [style*="color"] {
  color: var(--a-text) !important;
  font-weight: 600 !important;
}

.t463 .t-sociallinks svg path {
  fill: var(--a-text-3) !important;
  transition: fill .2s var(--a-ease);
}

.t463 .t-sociallinks a:hover svg path {
  fill: var(--a-text) !important;
}

/* ---------- Links ---------- */
a {
  transition: opacity .2s var(--a-ease), color .2s var(--a-ease);
}

/* ---------- Responsive ---------- */
@media screen and (max-width: 960px) {
  .t228,
  .t228__maincontainer {
    height: 56px !important;
  }

  .t228__imglogo {
    max-width: 130px !important;
    width: 130px !important;
  }
}

@media screen and (max-width: 640px) {
  :root {
    --a-radius-card: 14px;
    --a-radius-lg: 18px;
  }

  .t450 .t-menu__link-item {
    font-size: 22px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .t-btn,
  .t923__wrapper,
  .t774__wrapper,
  .t778__wrapper,
  .t959__card-inner,
  .t-slds__arrow,
  .t797 .t-vote__btn-wrapper,
  .t396 [data-elem-type="button"] .tn-atom {
    transition: none !important;
    transform: none !important;
  }
}

/* ---------- Back button (minister pages, injected by js/apple-ui.js) ----------
   Desktop: fixed, JS keeps it level with the photo top, then under the top bar.
   Content column is 1200px wide with 20px gutters, so the photo's left edge
   is at 50% - 580px. */
.a-back {
  position: fixed;
  z-index: 1000;
  top: 108px;
  right: calc(50% + 596px); /* 16px left of the photo */
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  height: 40px;
  padding: 0 18px 0 14px;
  border-radius: var(--a-radius-pill);
  background-color: rgba(255, 255, 255, .72);
  -webkit-backdrop-filter: saturate(180%) blur(20px);
  backdrop-filter: saturate(180%) blur(20px);
  box-shadow: 0 2px 12px rgba(0, 0, 0, .1);
  color: var(--a-text) !important;
  font-family: var(--a-font);
  font-size: 15px;
  font-weight: 500;
  letter-spacing: -0.01em;
  text-decoration: none !important;
  opacity: 0;
  transition: opacity .2s var(--a-ease), transform .2s var(--a-ease), box-shadow .2s var(--a-ease), background-color .2s var(--a-ease);
}

.a-back_ready {
  opacity: 1;
}

.a-back:hover {
  background-color: rgba(255, 255, 255, .92);
  box-shadow: 0 4px 18px rgba(0, 0, 0, .14);
  transform: translateX(-2px);
}

.a-back:active {
  transform: scale(.97);
}

.a-back:focus-visible {
  outline: 3px solid var(--a-accent);
  outline-offset: 2px;
}

.a-back__icon {
  width: 10px;
  height: 17px;
  flex: none;
}

/* Side gutter too narrow for the label: round icon-only button */
@media screen and (min-width: 1200px) and (max-width: 1419px) {
  .a-back {
    width: 44px;
    height: 44px;
    padding: 0;
    border-radius: 50%;
  }

  .a-back__text {
    display: none;
  }

  .a-back__icon {
    margin-left: -2px;
  }
}

/* No gutter at all: glass button over the photo's top-left corner */
@media screen and (min-width: 1200px) and (max-width: 1339px) {
  .a-back {
    right: auto;
    left: calc(50% - 580px + 16px);
    margin-top: 16px;
  }
}

/* Below 1200px the top bar is replaced by the floating burger:
   pin the back button opposite it, same size and glass style. */
@media screen and (max-width: 1199px) {
  .a-back {
    z-index: 9998;
    top: 15px !important;
    right: auto;
    left: 15px;
    width: auto;
    height: 50px;
    padding: 0 16px 0 14px;
    border-radius: 14px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .a-back {
    transition: none;
    transform: none !important;
  }
}

/* ---------- Footer copyright (same row as the e-mail, centre column) ---------- */
.t463__col_center .t463__copyright,
.t463__col_center .a-copyright {
  display: inline-block;
  vertical-align: middle;
}

.a-copyright {
  margin-left: 16px;
  color: var(--a-text-3);
  font-family: var(--a-font);
  font-size: 13px;
  line-height: 1.3;
  letter-spacing: -0.01em;
}

@media screen and (max-width: 960px) {
  .a-copyright {
    display: block !important;
    margin: 6px 0 0;
  }
}

/* ---------- Status chip on minister cards ---------- */
.t774__imgwrapper,
.t923__imgwrapper,
.t778__imgwrapper {
  position: relative;
}

.a-chip {
  position: absolute;
  top: 14px;
  left: 14px;
  z-index: 5;
  padding: 6px 12px;
  border-radius: var(--a-radius-pill);
  font-family: var(--a-font);
  font-size: 13px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: -0.01em;
  pointer-events: none;
}

.a-chip_active {
  background: var(--a-accent);
  color: var(--a-accent-ink);
}

.a-chip_former {
  background: rgba(29, 29, 31, .82);
  color: #fff;
  -webkit-backdrop-filter: saturate(180%) blur(8px);
  backdrop-filter: saturate(180%) blur(8px);
}

/* ---------- Status filter above the card grid ---------- */
.a-filter {
  margin-bottom: 28px !important;
}

.a-filter__group {
  display: inline-flex;
  gap: 4px;
  padding: 4px;
  border-radius: var(--a-radius-pill);
  background: var(--a-bg-alt);
}

.a-filter__btn {
  padding: 9px 20px;
  border: 0;
  border-radius: var(--a-radius-pill);
  background: transparent;
  color: var(--a-text-2);
  font-family: var(--a-font);
  font-size: 15px;
  font-weight: 600;
  line-height: 1;
  cursor: pointer;
  transition: background-color .2s var(--a-ease), color .2s var(--a-ease);
}

.a-filter__btn:hover {
  color: var(--a-text);
}

.a-filter__btn[aria-pressed="true"] {
  background: var(--a-bg);
  color: var(--a-text);
  box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
}

.a-filter__btn:focus-visible {
  outline: 2px solid var(--a-text);
  outline-offset: 2px;
}

/* Hidden cards must not leave gaps: switch the float grid to flex while filtering */
.t774__container.a-filtered {
  display: flex;
  flex-wrap: wrap;
}

.t774__container.a-filtered .t774__separator {
  display: none;
}

.t774__col[hidden] {
  display: none !important;
}

/* ---------- Mobile card carousel (t778): keep card shadows, drop the swipe hint ---------- */
.t778__scroll-icon-wrapper {
  display: none !important;
}

@media screen and (max-width: 959px) {
  /* The scroll container clips overflow, so give the card shadow room inside it */
  .t778__container_mobile-flex {
    padding-top: 12px !important;
    padding-bottom: 40px !important;
    margin-top: -10px;
    margin-bottom: -38px;
  }
}
