/* Replaces what the React bundle used to do.
   Loaded after the app stylesheet, so these rules win. */

/* --- age gate ----------------------------------------------------------------
   .mc-gate-ok is set by the inline <head> snippet when the gate was already
   accepted this session, so it never flashes before the script runs. */
.mc-gate-ok .mc-gate,
.mc-refusal[hidden],
.mc-gate[hidden] {
  display: none;
}
/* the app stylesheet gives every svg display:block, which outranks the UA's [hidden] rule */
svg[hidden] {
  display: none !important;
}

/* --- mobile menu -------------------------------------------------------------
   Driven by the hamburger button rather than a checkbox, so it is reachable from
   the keyboard and starts closed on every page load. */
.mc-menu-panel {
  display: none;
}
.mc-menu-panel.mc-open {
  display: flex;
}
@media (min-width: 1024px) {
  /* the panel is mobile-only, mirroring the lg:hidden it carries */
  .mc-menu-panel {
    display: none !important;
  }
}

/* --- FAQ accordion: <details>/<summary> instead of the radix widget ----------
   display:block is what removes the disclosure triangle; the question keeps its
   original <h3> inside, because the heading font is set on the h1..h6 tags.
   The panel's height is animated from script, because a closed <details> does not
   render its content at all and so has nothing to transition from. 200ms ease-out
   is what the original's keyframe measures. */
.mc-summary {
  display: block;
  list-style: none;
  cursor: default;
}
.mc-summary::-webkit-details-marker {
  display: none;
}
.mc-summary::marker {
  content: "";
}
details[open] .mc-summary svg {
  transform: rotate(180deg);
}
.mc-answer {
  overflow: hidden;
  transition: height 0.2s ease-out;
}

/* --- entrance animations -----------------------------------------------------
   The export baked each animated element's finished state into an inline style;
   these attributes replace it. data-mount fires on load, data-reveal when the
   element first touches the viewport, once. Elements without an explicit duration
   used the library's defaults: a 300ms opacity tween and a spring on the
   transform, which overshoots its target by about a tenth before settling. */
[data-reveal],
[data-mount] {
  opacity: 0;
}
[data-reveal="y20"] {
  transform: translateY(20px);
}
[data-reveal="y30"] {
  transform: translateY(30px);
}
[data-reveal="x-20"] {
  transform: translateX(-20px);
}
[data-reveal="x20"] {
  transform: translateX(20px);
}
[data-mount="x-30"] {
  transform: translateX(-30px);
}
[data-mount="scale90"] {
  transform: scale(0.9);
}
[data-spring] {
  --mc-dur: 0.3s;
  --mc-move-dur: 0.32s;
  --mc-move-ease: cubic-bezier(0.34, 1.3, 0.64, 1);
}
[data-reveal].mc-in,
[data-mount].mc-in {
  opacity: 1;
  transform: none;
  transition:
    opacity var(--mc-dur, 0.3s) cubic-bezier(0.25, 0.1, 0.35, 1) var(--mc-delay, 0s),
    transform var(--mc-move-dur, var(--mc-dur, 0.3s)) var(--mc-move-ease, cubic-bezier(0.25, 0.1, 0.35, 1))
      var(--mc-delay, 0s);
}

/* --- contact form ------------------------------------------------------------
   The thank-you panel arrives with the same fade-and-grow the original gives it. */
.mc-success {
  opacity: 0;
  transform: scale(0.95);
}
.mc-success.mc-in {
  opacity: 1;
  transform: none;
  transition:
    opacity 0.3s cubic-bezier(0.25, 0.1, 0.35, 1),
    transform 0.32s cubic-bezier(0.34, 1.3, 0.64, 1);
}

/* --- language switcher -------------------------------------------------------
   The dropdown is markup this copy added; the original mounts it only when open. */
[data-mc-langmenu][hidden] {
  display: none;
}
/* Held back only when a non-Polish choice is stored, so the page is never seen in
   Polish first. The head snippet lifts it after 1.2s even if the script fails. */
.mc-lang-pending body {
  visibility: hidden;
}
