
:root {
  color-scheme: light;
  --safe-top: env(safe-area-inset-top, 0px);
  --safe-right: env(safe-area-inset-right, 0px);
  --safe-bottom: env(safe-area-inset-bottom, 0px);
  --safe-left: env(safe-area-inset-left, 0px);

  --site-max: 1240px;
  --content-max: 760px;
  --reading-measure: 65ch;

  --space-2xs: clamp(0.5rem, 0.477rem + 0.114vi, 0.625rem);
  --space-xs: clamp(0.75rem, 0.715rem + 0.176vi, 0.875rem);
  --space-sm: clamp(1rem, 0.93rem + 0.352vi, 1.25rem);
  --space-md: clamp(1.25rem, 1.145rem + 0.528vi, 1.625rem);
  --space-lg: clamp(1.5rem, 1.359rem + 0.704vi, 2rem);
  --space-xl: clamp(2rem, 1.789rem + 1.056vi, 2.75rem);
  --space-2xl: clamp(2.75rem, 2.328rem + 2.112vi, 4.25rem);
  --space-3xl: clamp(4rem, 3.438rem + 2.816vi, 6rem);

  --text-xs: clamp(0.75rem, 0.715rem + 0.176vi, 0.875rem);
  --text-sm: clamp(0.875rem, 0.805rem + 0.352vi, 1.125rem);
  --text-base: clamp(1rem, 0.894rem + 0.528vi, 1.375rem);
  --text-lg: clamp(1.125rem, 1.019rem + 0.528vi, 1.5rem);
  --text-h4: clamp(1.375rem, 1.234rem + 0.704vi, 1.875rem);
  --text-h3: clamp(1.5rem, 1.324rem + 0.88vi, 2.125rem);
  --text-h2: clamp(2rem, 1.754rem + 1.232vi, 2.875rem);
  --text-h1: clamp(2.5rem, 2.043rem + 2.288vi, 4.125rem);

  --color-bg: #ffffff;
  --color-surface: #f7f9fc;
  --color-surface-2: #eef3f8;
  --color-text: #132238;
  --color-text-soft: #506273;
  --color-heading: #0a1a2f;
  --color-border: #d8e0ea;
  --color-line: #e9eef4;
  --color-primary: #175cd3;
  --color-primary-hover: #1849a9;
  --color-accent: #14b8a6;
  --color-success: #067647;
  --color-danger: #b42318;

  --radius-sm: 0.625rem;
  --radius-md: 0.875rem;
  --radius-lg: 1.125rem;
  --radius-xl: 1.5rem;
  --radius-pill: 999px;

  --shadow-sm: 0 1px 2px rgba(16, 24, 40, 0.06), 0 1px 3px rgba(16, 24, 40, 0.1);
  --shadow-md: 0 6px 18px rgba(16, 24, 40, 0.07), 0 2px 6px rgba(16, 24, 40, 0.06);
  --shadow-lg: 0 16px 32px rgba(16, 24, 40, 0.09), 0 4px 12px rgba(16, 24, 40, 0.06);

  --transition-fast: 160ms ease;
  --transition-base: 220ms ease;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  text-size-adjust: 100%;
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}

body {
  margin: 0;
  min-width: 320px;
  background: var(--color-bg);
  color: var(--color-text);
  font-family: var(--font-sans);
  font-size: var(--text-base);
  line-height: 1.65;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

img,
svg,
video,
canvas,
iframe {
  display: block;
  max-width: 100%;
  height: auto;
}

iframe {
  width: 100%;
  border: 0;
}

picture {
  display: contents;
}

a {
  color: var(--color-primary);
  text-decoration-thickness: 0.08em;
  text-underline-offset: 0.14em;
}

a:hover {
  color: var(--color-primary-hover);
}

button,
input,
textarea,
select {
  font: inherit;
}

button {
  cursor: pointer;
}

input,
textarea,
select {
  width: 100%;
  padding: 0.9rem 1rem;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  background: #fff;
  color: var(--color-text);
}

textarea {
  min-height: 9rem;
  resize: vertical;
}

:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--color-primary) 65%, white);
  outline-offset: 2px;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0 0 0.5em;
  color: var(--color-heading);
  font-weight: 700;
  line-height: 1.15;
  text-wrap: balance;
}

h1 { font-size: var(--text-h1); letter-spacing: -0.03em; }
h2 { font-size: var(--text-h2); letter-spacing: -0.02em; }
h3 { font-size: var(--text-h3); letter-spacing: -0.015em; }
h4 { font-size: var(--text-h4); }
h5 { font-size: var(--text-lg); }
h6 { font-size: var(--text-sm); text-transform: uppercase; letter-spacing: 0.05em; }

p,
ul,
ol,
blockquote,
table {
  margin: 0 0 1em;
}

ul,
ol {
  padding-left: 1.25em;
}

table {
  width: 100%;
  border-collapse: collapse;
}

th,
td {
  padding: 0.8rem 0.9rem;
  border-bottom: 1px solid var(--color-line);
  text-align: left;
  vertical-align: top;
}

th {
  font-weight: 600;
  color: var(--color-heading);
}

blockquote {
  padding-left: 1rem;
  border-left: 4px solid var(--color-primary);
  color: var(--color-text-soft);
}

hr {
  margin: var(--space-xl) 0;
  border: 0;
  border-top: 1px solid var(--color-line);
}

.screen-reader-text {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

.screen-reader-text:focus,
.skip-link:focus {
  position: fixed !important;
  top: 1rem;
  left: 1rem;
  width: auto;
  height: auto;
  margin: 0;
  clip-path: none;
  padding: 0.875rem 1rem;
  background: #fff;
  color: var(--color-heading);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-lg);
  z-index: 10000;
}

.l-container {
  width: min(100% - (1rem + var(--safe-left) + var(--safe-right)), var(--site-max));
  margin-inline: auto;
}

@media (min-width: 481px) {
  .l-container {
    width: min(100% - (1.5rem + var(--safe-left) + var(--safe-right)), var(--site-max));
  }
}

@media (min-width: 1025px) {
  .l-container {
    width: min(100% - (2rem + var(--safe-left) + var(--safe-right)), var(--site-max));
  }
}

.l-container--content {
  max-width: var(--content-max);
}

.section {
  padding-block: var(--space-2xl);
}

.section--tight {
  padding-block: var(--space-xl);
}

.u-prose {
  max-width: var(--reading-measure);
}

.u-prose > * + * {
  margin-top: 1em;
}

.u-prose :where(h2, h3, h4) {
  margin-top: 1.4em;
}

.alignwide,
.wp-block-group.alignwide {
  max-width: min(calc(var(--site-max) + 120px), 100% - 2rem);
  margin-inline: auto;
}

.alignfull,
.wp-block-group.alignfull {
  width: 100%;
  max-width: 100%;
}

.wp-block-image img {
  height: auto;
}

.wp-caption {
  max-width: 100%;
}

.site-main {
  min-height: 60vh;
}

.entry-title {
  word-break: break-word;
}

.entry-meta {
  font-size: var(--text-sm);
  color: var(--color-text-soft);
}

.pagination,
.nav-links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: var(--space-xl);
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}
  
.mz-landing {
  --mz-serif: "Cormorant Garamond", Georgia, serif;
  --mz-sans: "Lato", Arial, sans-serif;

  --mz-navy-950: #06111d;
  --mz-navy-900: #08192a;
  --mz-navy-800: #0d2438;

  --mz-gold-600: #c8953f;
  --mz-gold-500: #d8aa58;
  --mz-gold-300: #efd59a;

  --mz-ink: #111827;
  --mz-text: #263446;
  --mz-muted: #667085;
  --mz-light: #f8f6f1;
  --mz-white: #ffffff;
  --mz-border: #e8e2d7;

  font-family: var(--mz-sans) !important;
  color: var(--mz-text) !important;
  background: var(--mz-light) !important;
}

.mz-landing h1,
.mz-landing h2,
.mz-landing .mz-display,
.mz-landing .mz-serif {
  font-family: var(--mz-serif) !important;
}

.mz-landing h1 {
  font-size: clamp(3rem, 6vw, 6.5rem) !important;
  line-height: 0.96 !important;
  font-weight: 500 !important;
  letter-spacing: -0.035em !important;
}

.mz-landing h2 {
  font-size: clamp(2rem, 3.5vw, 3.25rem) !important;
  line-height: 1.08 !important;
  font-weight: 500 !important;
  letter-spacing: -0.025em !important;
}

.mz-landing h3 {
  font-family: var(--mz-serif) !important;
  font-size: clamp(1.75rem, 2.2vw, 2.5rem) !important;
  line-height: 1.12 !important;
  font-weight: 500 !important;
  letter-spacing: -0.02em !important;
}

.mz-landing h4 {
  font-family: var(--mz-sans) !important;
  font-size: clamp(1.05rem, 1vw, 1.35rem) !important;
  line-height: 1.3 !important;
  font-weight: 900 !important;
  letter-spacing: -0.01em !important;
}

.mz-landing p,
.mz-landing li {
  font-family: var(--mz-sans) !important;
  font-size: clamp(1rem, 0.35vw + 0.95rem, 1.075rem) !important;
  line-height: 1.65 !important;
  font-weight: 400 !important;
  color: var(--mz-text) !important;
}

.mz-landing .kicker,
.mz-landing .eyebrow {
  font-family: var(--mz-sans) !important;
  font-size: 0.82rem !important;
  line-height: 1.3 !important;
  font-weight: 900 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  color: var(--mz-gold-600) !important;
}

.mz-landing .btn,
.mz-landing button,
.mz-landing input[type="submit"] {
  font-family: var(--mz-sans) !important;
  font-size: 0.84rem !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  letter-spacing: 0.075em !important;
  text-transform: uppercase !important;
}

.mz-landing .price,
.mz-landing .count-number {
  font-family: var(--mz-serif) !important;
  font-variant-numeric: lining-nums tabular-nums !important;
}

.mz-landing .quote {
  font-family: var(--mz-serif) !important;
  font-size: clamp(1.55rem, 2vw, 2.25rem) !important;
  line-height: 1.18 !important;
  font-weight: 500 !important;
  letter-spacing: -0.02em !important;
}



  .mz-hero-copy {
    width: 100% !important;
    max-width: 720px !important;
    /*padding: clamp(32px, 5vw, 72px) 0 !important; */
    color: #f8f6f1 !important;
    isolation: isolate !important;
    position: relative !important;
    z-index: 2 !important;
  }

  .mz-hero-inner {
    width: 100% !important;
    max-width: 100% !important;
  }

  /* Górny napis: XXIX SYMPOZJUM + linia */
  .mz-hero-kicker {
    display: flex !important;
    align-items: center !important;
    gap: 18px !important;
    margin-bottom: clamp(18px, 2.2vw, 28px) !important;
    color: #c8953f !important;
  }

  .mz-hero-kicker span {
    display: inline-block !important;
    font-family: "Lato", Arial, sans-serif !important;
    font-size: clamp(0.82rem, 0.65vw + 0.55rem, 1.05rem) !important;
    line-height: 1.1 !important;
    font-weight: 900 !important;
    letter-spacing: clamp(0.24em, 0.55vw, 0.42em) !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
    color: #c8953f !important;
  }

  .mz-hero-kicker i {
    display: block !important;
    width: min(260px, 34vw) !important;
    height: 1px !important;
    background: linear-gradient(
      90deg,
      rgba(200, 149, 63, 0.9),
      rgba(216, 170, 88, 0.42) 55%,
      rgba(216, 170, 88, 0)
    ) !important;
    transform-origin: left center !important;
  }

  /* Główny tytuł */
  .mz-hero-title {
    margin: 0 !important;
    padding: 0 !important;
    font-family: "Cormorant Garamond", Georgia, serif !important;
    font-weight: 500 !important;
    letter-spacing: -0.045em !important;
    line-height: 0.9 !important;
    text-wrap: balance !important;
    overflow: visible !important;
  }

  .mz-hero-title .mz-line {
    display: block !important;
    font-family: "Cormorant Garamond", Georgia, serif !important;
    font-size: clamp(4.1rem, 8vw, 8.8rem) !important;
    line-height: 0.9 !important;
    font-weight: 500 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .mz-line-white {
    color: #f8f6f1 !important;
    text-shadow:
      0 8px 36px rgba(0, 0, 0, 0.35),
      0 0 18px rgba(248, 246, 241, 0.08) !important;
  }

  .mz-line-gold {
    color: #d8aa58 !important;
    text-shadow:
      0 8px 32px rgba(0, 0, 0, 0.32),
      0 0 22px rgba(216, 170, 88, 0.12) !important;
  }

  /* Linia pod tytułem */
  .mz-hero-divider {
    display: block !important;
    width: min(430px, 72vw) !important;
    height: 1px !important;
    margin: clamp(24px, 3vw, 36px) 0 20px !important;
    background: linear-gradient(
      90deg,
      rgba(216, 170, 88, 0.75),
      rgba(216, 170, 88, 0.22) 55%,
      rgba(216, 170, 88, 0)
    ) !important;
    transform-origin: left center !important;
  }

  /* Data i miejsce */
  .mz-hero-meta {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 14px 20px !important;
    color: #f8f6f1 !important;
  }

  .mz-meta-item {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    font-family: "Cormorant Garamond", Georgia, serif !important;
    font-size: clamp(1.35rem, 1.45vw, 1.85rem) !important;
    line-height: 1.1 !important;
    font-weight: 600 !important;
    letter-spacing: -0.01em !important;
    color: #f8f6f1 !important;
    text-shadow: 0 6px 20px rgba(0, 0, 0, 0.35) !important;
  }

  .mz-meta-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #c8953f !important;
    flex: 0 0 auto !important;
    transform: translateY(1px) !important;
  }

  .mz-meta-icon svg {
    display: block !important;
    width: 22px !important;
    height: 22px !important;
  }

  .mz-meta-separator {
    width: 1px !important;
    height: 22px !important;
    display: inline-block !important;
    background: rgba(216, 170, 88, 0.5) !important;
  }

  /* Animacja — wersja bezpieczna, tekst nie znika gdy animacja się nie odpali */
  .mz-anim {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    animation-name: mzHeroFadeUp !important;
    animation-duration: .85s !important;
    animation-timing-function: cubic-bezier(.16, 1, .3, 1) !important;
    animation-fill-mode: both !important;
  }

  .mz-anim-1 {
    animation-delay: .08s !important;
  }

  .mz-anim-2 {
    animation-delay: .18s !important;
  }

  .mz-anim-3 {
    animation-delay: .30s !important;
  }

  .mz-anim-4 {
    animation-delay: .42s !important;
  }

  .mz-anim-5 {
    animation-delay: .54s !important;
  }

  .mz-anim-6 {
    animation-delay: .64s !important;
  }

  .mz-hero-kicker i {
    animation-name: mzHeroLineIn !important;
    animation-duration: 1s !important;
    animation-timing-function: cubic-bezier(.16, 1, .3, 1) !important;
    animation-fill-mode: both !important;
    animation-delay: .32s !important;
  }

  .mz-hero-divider {
    animation-name: mzHeroLineIn !important;
    animation-duration: 1s !important;
    animation-timing-function: cubic-bezier(.16, 1, .3, 1) !important;
    animation-fill-mode: both !important;
    animation-delay: .56s !important;
  }

  @keyframes mzHeroFadeUp {
    0% {
      opacity: 0;
      transform: translate3d(0, 18px, 0);
      filter: blur(5px);
    }

    100% {
      opacity: 1;
      transform: translate3d(0, 0, 0);
      filter: blur(0);
    }
  }

  @keyframes mzHeroLineIn {
    0% {
      opacity: 0;
      transform: scaleX(0);
    }

    100% {
      opacity: 1;
      transform: scaleX(1);
    }
  }

  /* Tablet / mobile */
  @media (max-width: 767px) {
    .mz-hero-copy {
      max-width: 100% !important;
      padding: 36px 0 44px !important;
    }

    .mz-hero-kicker {
      gap: 12px !important;
      margin-bottom: 18px !important;
    }

    .mz-hero-kicker span {
      font-size: 0.78rem !important;
      letter-spacing: 0.24em !important;
    }

    .mz-hero-kicker i {
      width: 120px !important;
    }

    .mz-hero-title {
      letter-spacing: -0.04em !important;
      line-height: 0.92 !important;
    }

    .mz-hero-title .mz-line {
      font-size: clamp(3.35rem, 16vw, 5.1rem) !important;
      line-height: 0.92 !important;
    }

    .mz-hero-divider {
      width: 82% !important;
      margin: 22px 0 17px !important;
    }

    .mz-hero-meta {
      gap: 12px 14px !important;
    }

    .mz-meta-item {
      font-size: clamp(1.15rem, 5vw, 1.45rem) !important;
      gap: 8px !important;
    }

    .mz-meta-icon svg {
      width: 19px !important;
      height: 19px !important;
    }

    .mz-meta-separator {
      height: 18px !important;
    }
  }

  /* Bardzo małe telefony */
  @media (max-width: 420px) {
    .mz-hero-kicker i {
      width: 82px !important;
    }

    .mz-hero-title .mz-line {
      font-size: clamp(3rem, 15vw, 4.45rem) !important;
    }

    .mz-hero-meta {
      flex-direction: column !important;
      align-items: flex-start !important;
      gap: 10px !important;
    }

    .mz-meta-separator {
      display: none !important;
    }
  }

  /* Dostępność — użytkownicy z wyłączonymi animacjami */
  @media (prefers-reduced-motion: reduce) {
    .mz-anim,
    .mz-hero-kicker i,
    .mz-hero-divider {
      animation: none !important;
      opacity: 1 !important;
      transform: none !important;
      filter: none !important;
    }
  }
  
  
/* HERO — BUTTONS */

.mz-hero-actions {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  flex-wrap: wrap !important;
  gap: 16px !important;
  margin-top: clamp(24px, 3vw, 36px) !important;
  position: relative !important;
  z-index: 5 !important;
}

.mz-hero-btn {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  min-height: 56px !important;
  padding: 18px 30px !important;
  border-radius: 8px !important;
  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.84rem !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  letter-spacing: 0.075em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  cursor: pointer !important;
  overflow: hidden !important;
  isolation: isolate !important;
  transition:
    transform .28s cubic-bezier(.16, 1, .3, 1),
    border-color .28s cubic-bezier(.16, 1, .3, 1),
    background-color .28s cubic-bezier(.16, 1, .3, 1),
    box-shadow .28s cubic-bezier(.16, 1, .3, 1),
    color .28s cubic-bezier(.16, 1, .3, 1) !important;
}

.mz-hero-btn::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: -1 !important;
  opacity: 0 !important;
  transition: opacity .28s cubic-bezier(.16, 1, .3, 1) !important;
}

.mz-hero-btn::after {
  content: "" !important;
  position: absolute !important;
  top: -40% !important;
  left: -120% !important;
  width: 90% !important;
  height: 180% !important;
  z-index: 0 !important;
  pointer-events: none !important;
  background: linear-gradient(
    115deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,.22) 45%,
    rgba(255,255,255,0) 100%
  ) !important;
  transform: skewX(-18deg) !important;
  transition: left .65s cubic-bezier(.16, 1, .3, 1) !important;
}

.mz-hero-btn:hover::after,
.mz-hero-btn:focus-visible::after {
  left: 130% !important;
}

.mz-hero-btn:hover,
.mz-hero-btn:focus-visible {
  transform: translateY(-3px) !important;
  text-decoration: none !important;
}

.mz-hero-btn:active {
  transform: translateY(-1px) scale(.99) !important;
}

/* PRIMARY BUTTON */

.mz-hero-btn-primary {
  color: #071421 !important;
  background: linear-gradient(135deg, #e1b766 0%, #c8953f 48%, #b77d2f 100%) !important;
  border: 1px solid rgba(239, 213, 154, .75) !important;
  box-shadow:
    0 12px 28px rgba(200, 149, 63, .28),
    0 2px 0 rgba(255, 255, 255, .22) inset,
    0 -1px 0 rgba(67, 39, 12, .24) inset !important;
}

.mz-hero-btn-primary::before {
  background:
    radial-gradient(circle at 30% 0%, rgba(255,255,255,.34), transparent 34%),
    linear-gradient(135deg, #f0c977 0%, #d8aa58 45%, #c8953f 100%) !important;
}

.mz-hero-btn-primary:hover,
.mz-hero-btn-primary:focus-visible {
  color: #06111d !important;
  border-color: rgba(255, 229, 174, .95) !important;
  box-shadow:
    0 18px 40px rgba(200, 149, 63, .36),
    0 0 0 4px rgba(216, 170, 88, .12),
    0 2px 0 rgba(255, 255, 255, .28) inset,
    0 -1px 0 rgba(67, 39, 12, .22) inset !important;
}

.mz-hero-btn-primary:hover::before,
.mz-hero-btn-primary:focus-visible::before {
  opacity: 1 !important;
}

/* OUTLINE BUTTON */

.mz-hero-btn-outline {
  color: #f8f6f1 !important;
  background: rgba(6, 17, 29, .34) !important;
  border: 1px solid rgba(248, 246, 241, .34) !important;
  box-shadow:
    0 12px 30px rgba(0, 0, 0, .18),
    0 1px 0 rgba(255, 255, 255, .08) inset !important;
  backdrop-filter: blur(10px) saturate(135%) !important;
  -webkit-backdrop-filter: blur(10px) saturate(135%) !important;
}

.mz-hero-btn-outline::before {
  background:
    linear-gradient(135deg, rgba(216, 170, 88, .18), rgba(255, 255, 255, .05)),
    rgba(255, 255, 255, .035) !important;
}

.mz-hero-btn-outline:hover,
.mz-hero-btn-outline:focus-visible {
  color: #ffffff !important;
  border-color: rgba(216, 170, 88, .82) !important;
  background: rgba(8, 25, 42, .52) !important;
  box-shadow:
    0 18px 42px rgba(0, 0, 0, .28),
    0 0 0 4px rgba(216, 170, 88, .10),
    0 1px 0 rgba(255, 255, 255, .12) inset !important;
}

.mz-hero-btn-outline:hover::before,
.mz-hero-btn-outline:focus-visible::before {
  opacity: 1 !important;
}

/* LABEL + ARROW */

.mz-hero-btn-label {
  position: relative !important;
  z-index: 1 !important;
  display: inline-block !important;
}

.mz-hero-btn-arrow {
  position: relative !important;
  z-index: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 1rem !important;
  line-height: 1 !important;
  transform: translateX(0) !important;
  transition: transform .28s cubic-bezier(.16, 1, .3, 1) !important;
}

.mz-hero-btn-primary:hover .mz-hero-btn-arrow,
.mz-hero-btn-primary:focus-visible .mz-hero-btn-arrow {
  transform: translateX(4px) !important;
}

/* ACCESSIBILITY */

.mz-hero-btn:focus-visible {
  outline: 2px solid #efd59a !important;
  outline-offset: 4px !important;
}

/* MOBILE */

@media (max-width: 767px) {
  .mz-hero-actions {
    justify-content: center !important;
    gap: 12px !important;
    margin-top: 28px !important;
  }

  .mz-hero-btn {
    min-height: 52px !important;
    padding: 16px 24px !important;
    font-size: 0.78rem !important;
    letter-spacing: 0.065em !important;
  }
}

/* VERY SMALL MOBILE */

@media (max-width: 420px) {
  .mz-hero-actions {
    width: 100% !important;
  }

  .mz-hero-btn {
    width: 100% !important;
    max-width: 320px !important;
  }
}

/* REDUCED MOTION */

@media (prefers-reduced-motion: reduce) {
  .mz-hero-btn,
  .mz-hero-btn::before,
  .mz-hero-btn::after,
  .mz-hero-btn-arrow {
    transition: none !important;
  }

  .mz-hero-btn:hover,
  .mz-hero-btn:focus-visible,
  .mz-hero-btn:active {
    transform: none !important;
  }
}

/* HERO TEXT — MOBILE CENTER ALIGNMENT */

@media (max-width: 767px) {
  .mz-hero-copy {
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
  }

  .mz-hero-inner {
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
  }

  .mz-hero-kicker {
    justify-content: center !important;
    text-align: center !important;
  }

  .mz-hero-kicker span {
    text-align: center !important;
  }

  .mz-hero-kicker i {
    width: 110px !important;
  }

  .mz-hero-title {
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .mz-hero-title .mz-line {
    text-align: center !important;
  }

  .mz-hero-divider {
    margin-left: auto !important;
    margin-right: auto !important;
    background: linear-gradient(
      90deg,
      rgba(216, 170, 88, 0),
      rgba(216, 170, 88, 0.75) 50%,
      rgba(216, 170, 88, 0)
    ) !important;
  }

  .mz-hero-meta {
    justify-content: center !important;
    align-items: center !important;
    text-align: center !important;
  }

  .mz-meta-item {
    justify-content: center !important;
    text-align: center !important;
  }
}

/* Bardzo małe telefony — data i miejsce pod sobą, ale nadal wyśrodkowane */

@media (max-width: 420px) {
  .mz-hero-kicker {
    flex-direction: column !important;
    gap: 10px !important;
  }

  .mz-hero-kicker i {
    width: 160px !important;
    max-width: 55vw !important;
    background: linear-gradient(
      90deg,
      rgba(216, 170, 88, 0),
      rgba(216, 170, 88, 0.75) 50%,
      rgba(216, 170, 88, 0)
    ) !important;
  }

  .mz-hero-meta {
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 10px !important;
  }

  .mz-meta-separator {
    display: none !important;
  }
}

/* HERO — MOBILE READABILITY IMPROVEMENT */

@media (max-width: 767px) {
  .mz-hero-copy {
    position: relative !important;
    z-index: 2 !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  /* Subtelna winieta pod tekstem — poprawia czytelność na jasnych fragmentach KV */
  .mz-hero-copy::before {
    content: "" !important;
    position: absolute !important;
    z-index: -1 !important;
    pointer-events: none !important;

    top: 10px !important;
    left: 50% !important;
    width: min(118%, 430px) !important;
    height: 72% !important;

    transform: translateX(-50%) !important;
    border-radius: 32px !important;

    background:
      radial-gradient(
        ellipse at center,
        rgba(3, 12, 24, 0.78) 0%,
        rgba(3, 12, 24, 0.58) 34%,
        rgba(3, 12, 24, 0.30) 58%,
        rgba(3, 12, 24, 0.00) 82%
      ) !important;

    filter: blur(2px) !important;
  }

  .mz-hero-kicker span {
    text-shadow:
      0 2px 8px rgba(0, 0, 0, 0.85),
      0 0 18px rgba(0, 0, 0, 0.55) !important;
  }

  .mz-hero-title .mz-line {
    text-shadow:
      0 3px 10px rgba(0, 0, 0, 0.88),
      0 8px 28px rgba(0, 0, 0, 0.62),
      0 0 18px rgba(0, 0, 0, 0.42) !important;
  }

  .mz-line-gold {
    text-shadow:
      0 3px 10px rgba(0, 0, 0, 0.9),
      0 8px 28px rgba(0, 0, 0, 0.66),
      0 0 20px rgba(216, 170, 88, 0.14) !important;
  }

  .mz-meta-item {
    text-shadow:
      0 2px 8px rgba(0, 0, 0, 0.88),
      0 0 16px rgba(0, 0, 0, 0.48) !important;
  }

  .mz-meta-icon {
    filter: drop-shadow(0 2px 6px rgba(0, 0, 0, 0.7)) !important;
  }

  .mz-hero-divider {
    box-shadow:
      0 0 14px rgba(0, 0, 0, 0.65),
      0 0 10px rgba(216, 170, 88, 0.18) !important;
  }
}

/* Bardzo małe telefony — winieta trochę wyższa, bo tekst jest bardziej skompresowany */

@media (max-width: 420px) {
  .mz-hero-copy::before {
    top: 4px !important;
    width: 122% !important;
    height: 76% !important;
    border-radius: 28px !important;
  }
}


/* COUNTDOWN SECTION */

.mz-countdown-section {
  width: 100% !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  position: relative !important;
  z-index: 10 !important;
  padding: 0 18px !important;
  margin: 0 auto !important;
}

.mz-countdown-box {
  width: min(100%, 1040px) !important;
  position: relative !important;
  overflow: hidden !important;
  border-radius: 10px !important;
  padding: 22px clamp(22px, 4vw, 56px) 24px !important;

  background:
    radial-gradient(circle at 50% -20%, rgba(216, 170, 88, 0.16), transparent 42%),
    linear-gradient(135deg, rgba(8, 25, 42, 0.98), rgba(4, 14, 27, 0.98)) !important;

  border: 1px solid rgba(216, 170, 88, 0.18) !important;

  box-shadow:
    0 24px 70px rgba(0, 0, 0, 0.30),
    0 1px 0 rgba(255, 255, 255, 0.08) inset,
    0 -1px 0 rgba(0, 0, 0, 0.35) inset !important;

  backdrop-filter: blur(14px) saturate(140%) !important;
  -webkit-backdrop-filter: blur(14px) saturate(140%) !important;
}

.mz-countdown-box::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  background:
    linear-gradient(
      90deg,
      rgba(255, 255, 255, 0.00),
      rgba(255, 255, 255, 0.055),
      rgba(255, 255, 255, 0.00)
    ) !important;
  opacity: .75 !important;
}

.mz-countdown-box::after {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  top: 0 !important;
  width: 70% !important;
  height: 1px !important;
  transform: translateX(-50%) !important;
  background: linear-gradient(
    90deg,
    rgba(216, 170, 88, 0),
    rgba(216, 170, 88, 0.65),
    rgba(216, 170, 88, 0)
  ) !important;
  opacity: .75 !important;
}

.mz-countdown-top {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 10px !important;
  margin-bottom: 18px !important;
  color: #d8aa58 !important;
  text-align: center !important;
}

.mz-countdown-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #d8aa58 !important;
  filter: drop-shadow(0 2px 8px rgba(0, 0, 0, .35)) !important;
}

.mz-countdown-date {
  font-family: "Lato", Arial, sans-serif !important;
  font-size: clamp(0.78rem, 0.45vw + 0.7rem, 0.95rem) !important;
  line-height: 1.3 !important;
  font-weight: 900 !important;
  letter-spacing: 0.09em !important;
  text-transform: uppercase !important;
  color: #f8f6f1 !important;
}

.mz-countdown-grid {
  display: grid !important;
  grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr !important;
  align-items: center !important;
  gap: clamp(14px, 3vw, 42px) !important;
  position: relative !important;
  z-index: 2 !important;
}

.mz-countdown-item {
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
}

.mz-countdown-number {
  display: block !important;
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: clamp(2.8rem, 4.7vw, 5.25rem) !important;
  line-height: 0.85 !important;
  font-weight: 500 !important;
  letter-spacing: -0.035em !important;
  color: #f8f6f1 !important;
  font-variant-numeric: lining-nums tabular-nums !important;
  text-shadow:
    0 8px 26px rgba(0, 0, 0, 0.42),
    0 0 16px rgba(255, 255, 255, 0.05) !important;
}

.mz-countdown-item-days .mz-countdown-number {
  color: #d8aa58 !important;
  text-shadow:
    0 8px 28px rgba(0, 0, 0, 0.45),
    0 0 18px rgba(216, 170, 88, 0.20) !important;
}

.mz-countdown-label {
  display: block !important;
  margin-top: 10px !important;
  font-family: "Lato", Arial, sans-serif !important;
  font-size: clamp(0.68rem, 0.35vw + 0.62rem, 0.82rem) !important;
  line-height: 1.1 !important;
  font-weight: 900 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: rgba(248, 246, 241, 0.86) !important;
}

.mz-countdown-item-days .mz-countdown-label {
  color: rgba(216, 170, 88, 0.92) !important;
}

.mz-countdown-separator {
  display: block !important;
  width: 1px !important;
  height: clamp(48px, 5vw, 78px) !important;
  background: linear-gradient(
    180deg,
    rgba(216, 170, 88, 0),
    rgba(216, 170, 88, 0.50),
    rgba(216, 170, 88, 0)
  ) !important;
}

/* MOBILE */

@media (max-width: 767px) {
  .mz-countdown-section {
    padding: 0 14px !important;
  }

  .mz-countdown-box {
    border-radius: 12px !important;
    padding: 20px 18px 22px !important;
  }

  .mz-countdown-top {
    margin-bottom: 16px !important;
  }

  .mz-countdown-date {
    font-size: 0.76rem !important;
    letter-spacing: 0.065em !important;
  }

  .mz-countdown-grid {
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 0 !important;
  }

  .mz-countdown-separator {
    display: none !important;
  }

  .mz-countdown-item {
    position: relative !important;
    padding: 0 8px !important;
  }

  .mz-countdown-item:not(:last-of-type)::after {
    content: "" !important;
    position: absolute !important;
    right: 0 !important;
    top: 50% !important;
    width: 1px !important;
    height: 46px !important;
    transform: translateY(-50%) !important;
    background: linear-gradient(
      180deg,
      rgba(216, 170, 88, 0),
      rgba(216, 170, 88, 0.34),
      rgba(216, 170, 88, 0)
    ) !important;
  }

  .mz-countdown-number {
    font-size: clamp(2.2rem, 10vw, 3.4rem) !important;
  }

  .mz-countdown-label {
    margin-top: 8px !important;
    font-size: 0.62rem !important;
    letter-spacing: 0.09em !important;
  }
}

/* VERY SMALL MOBILE */

@media (max-width: 420px) {
  .mz-countdown-box {
    padding: 18px 12px 20px !important;
  }

  .mz-countdown-top {
    gap: 8px !important;
  }

  .mz-countdown-icon svg {
    width: 16px !important;
    height: 16px !important;
  }

  .mz-countdown-date {
    font-size: 0.68rem !important;
    letter-spacing: 0.045em !important;
  }

  .mz-countdown-item {
    padding: 0 5px !important;
  }

  .mz-countdown-number {
    font-size: clamp(1.9rem, 9vw, 2.8rem) !important;
  }

  .mz-countdown-label {
    font-size: 0.55rem !important;
    letter-spacing: 0.06em !important;
  }
}

/* REDUCED MOTION */

@media (prefers-reduced-motion: reduce) {
  .mz-countdown-box,
  .mz-countdown-number {
    transition: none !important;
  }
}


/* WELCOME / INVITATION COPY */

.mz-welcome-copy {
  width: 100% !important;
  max-width: 560px !important;
  position: relative !important;
  z-index: 2 !important;
  color: #263446 !important;
  text-align: left !important;
  padding: clamp(24px, 3vw, 40px) 0 !important;
}

.mz-welcome-kicker {
  font-family: "Lato", Arial, sans-serif !important;
  font-size: clamp(0.72rem, 0.35vw + 0.65rem, 0.86rem) !important;
  line-height: 1.25 !important;
  font-weight: 900 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  color: #c8953f !important;
  margin-bottom: clamp(14px, 1.5vw, 20px) !important;
}

.mz-welcome-title {
  margin: 0 0 clamp(22px, 2.4vw, 30px) !important;
  padding: 0 !important;
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: clamp(2.0rem, 2.55vw, 3.15rem) !important;
  line-height: 0.98 !important;
  font-weight: 500 !important;
  letter-spacing: -0.035em !important;
  color: #08192a !important;
}

.mz-welcome-title span {
  display: block !important;
  font-family: "Cormorant Garamond", Georgia, serif !important;
}

.mz-welcome-title .mz-gold {
  color: #c8953f !important;
}

.mz-welcome-text {
  max-width: 520px !important;
  margin: 0 0 clamp(22px, 2.8vw, 34px) !important;
}

.mz-welcome-text p {
  margin: 0 !important;
  font-family: "Lato", Arial, sans-serif !important;
  font-size: clamp(1rem, 0.45vw + 0.92rem, 1.12rem) !important;
  line-height: 1.72 !important;
  font-weight: 400 !important;
  letter-spacing: 0.005em !important;
  color: #263446 !important;
}

.mz-welcome-signature {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 10px !important;
  margin-top: clamp(18px, 2vw, 26px) !important;
}

.mz-welcome-signature img {
  display: block !important;
  width: clamp(170px, 16vw, 250px) !important;
  max-width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
  opacity: 0.95 !important;
}

.mz-welcome-person {
  display: flex !important;
  flex-direction: column !important;
  gap: 3px !important;
}

.mz-welcome-person strong {
  display: block !important;
  font-family: "Lato", Arial, sans-serif !important;
  font-size: clamp(0.86rem, 0.25vw + 0.82rem, 0.98rem) !important;
  line-height: 1.35 !important;
  font-weight: 900 !important;
  color: #08192a !important;
}

.mz-welcome-person span {
  display: block !important;
  font-family: "Lato", Arial, sans-serif !important;
  font-size: clamp(0.76rem, 0.25vw + 0.72rem, 0.88rem) !important;
  line-height: 1.4 !important;
  font-weight: 400 !important;
  color: #667085 !important;
}

/* Delikatna animacja wejścia */

.mz-welcome-copy {
  animation: mzWelcomeFadeUp .85s cubic-bezier(.16, 1, .3, 1) both !important;
}

@keyframes mzWelcomeFadeUp {
  0% {
    opacity: 0;
    transform: translate3d(0, 18px, 0);
    filter: blur(4px);
  }

  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0);
    filter: blur(0);
  }
}

/* MOBILE */

@media (max-width: 767px) {
  .mz-welcome-copy {
    max-width: 100% !important;
    text-align: center !important;
    padding: 44px 20px 34px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .mz-welcome-kicker {
    margin-bottom: 14px !important;
  }

  .mz-welcome-title {
    font-size: clamp(2.25rem, 11vw, 3.25rem) !important;
    line-height: 1.02 !important;
    letter-spacing: -0.032em !important;
    margin-bottom: 22px !important;
  }

  .mz-welcome-text {
    max-width: 520px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    margin-bottom: 26px !important;
  }

  .mz-welcome-text p {
    font-size: 1rem !important;
    line-height: 1.68 !important;
  }

  .mz-welcome-signature {
    align-items: center !important;
    text-align: center !important;
    margin-top: 24px !important;
  }

  .mz-welcome-signature img {
    width: min(230px, 72vw) !important;
  }

  .mz-welcome-person {
    align-items: center !important;
    text-align: center !important;
  }
}

/* VERY SMALL MOBILE */

@media (max-width: 420px) {
  .mz-welcome-copy {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  .mz-welcome-title {
    font-size: clamp(2.05rem, 10vw, 2.75rem) !important;
  }

  .mz-welcome-text p {
    font-size: 0.96rem !important;
    line-height: 1.65 !important;
  }
}

/* REDUCED MOTION */

@media (prefers-reduced-motion: reduce) {
  .mz-welcome-copy {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
  }
}


/* =========================================================
   INVITATION / WELCOME MODULE — DESKTOP 1240px SAFE VERSION
   ========================================================= */

.mz-invite-section {
  width: 100% !important;
  position: relative !important;
  z-index: 2 !important;
  overflow: visible !important;
  padding: clamp(48px, 6vw, 86px) 20px clamp(36px, 5vw, 72px) !important;
  background: transparent !important;
}

.mz-invite-wrap {
  width: 100% !important;
  max-width: 1240px !important;
  margin: 0 auto !important;

  display: grid !important;
  grid-template-columns: 430px 320px 330px !important;
  grid-template-areas:
    "copy photo quote"
    "sign photo quote" !important;

  justify-content: space-between !important;
  align-items: center !important;

  column-gap: 40px !important;
  row-gap: 18px !important;

  position: relative !important;
  box-sizing: border-box !important;
}

/* =====================
   COPY
   ===================== */

.mz-invite-copy {
  grid-area: copy !important;
  width: 100% !important;
  max-width: 430px !important;
  min-width: 0 !important;
  position: relative !important;
  z-index: 3 !important;
  text-align: left !important;
  animation: mzInviteFadeUp .8s cubic-bezier(.16, 1, .3, 1) both !important;
}

.mz-invite-kicker {
  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.82rem !important;
  line-height: 1.25 !important;
  font-weight: 900 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  color: #c8953f !important;
  margin: 0 0 16px !important;
}

.mz-invite-title {
  margin: 0 0 24px !important;
  padding: 0 !important;
  font-family: "Cormorant Garamond", Georgia, serif !important;

  /* WAŻNE: mniejszy max, żeby nie łamało "Praktyka kliniczna" */
  font-size: clamp(2.75rem, 2.45vw, 3.25rem) !important;

  line-height: 1.02 !important;
  font-weight: 500 !important;
  letter-spacing: -0.035em !important;
  color: #08192a !important;
}

.mz-invite-title span {
  display: block !important;
  font-family: "Cormorant Garamond", Georgia, serif !important;
  white-space: nowrap !important;
}

.mz-invite-title .mz-gold {
  color: #c8953f !important;
}

.mz-invite-text {
  width: 100% !important;
  max-width: 420px !important;
  margin: 0 !important;
}

.mz-invite-text p {
  margin: 0 !important;
  font-family: "Lato", Arial, sans-serif !important;
  font-size: 1rem !important;
  line-height: 1.72 !important;
  font-weight: 400 !important;
  letter-spacing: 0.005em !important;
  color: #263446 !important;
}

/* =====================
   PHOTO
   ===================== */

.mz-invite-photo {
  grid-area: photo !important;
  align-self: end !important;
  justify-self: center !important;

  width: 100% !important;
  max-width: 320px !important;

  margin: 0 !important;
  padding: 0 !important;
  position: relative !important;
  z-index: 2 !important;

  animation: mzInvitePhotoIn .9s cubic-bezier(.16, 1, .3, 1) .12s both !important;
}

.mz-invite-photo img {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
  object-position: center bottom !important;
  filter: drop-shadow(0 26px 32px rgba(8, 25, 42, 0.15)) !important;
}

/* =====================
   QUOTE
   ===================== */

.mz-invite-quote {
  grid-area: quote !important;
  justify-self: end !important;
  align-self: center !important;

  width: 100% !important;
  max-width: 330px !important;

  position: relative !important;
  z-index: 4 !important;

  margin: 0 !important;
  padding: 38px 38px 40px !important;

  border-radius: 14px !important;
  background: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(255,255,255,0.92)) !important;
  border: 1px solid rgba(228, 231, 236, 0.9) !important;

  box-shadow:
    0 22px 60px rgba(8, 25, 42, 0.10),
    0 1px 0 rgba(255, 255, 255, 0.85) inset !important;

  box-sizing: border-box !important;
  animation: mzInviteFadeUp .8s cubic-bezier(.16, 1, .3, 1) .18s both !important;
}

.mz-quote-mark {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: 4.4rem !important;
  line-height: 0.65 !important;
  font-weight: 700 !important;
  color: #c8953f !important;
  margin: 0 0 12px !important;
}

.mz-invite-quote p {
  margin: 0 !important;
  font-family: "Lato", Arial, sans-serif !important;
  font-size: 1.03rem !important;
  line-height: 1.66 !important;
  font-weight: 900 !important;
  letter-spacing: 0.005em !important;
  color: #08192a !important;
}

.mz-quote-line {
  display: block !important;
  width: 54px !important;
  height: 2px !important;
  margin-top: 24px !important;
  background: linear-gradient(90deg, #c8953f, rgba(200, 149, 63, 0.25)) !important;
}

/* =====================
   SIGNATURE
   ===================== */

.mz-invite-signature {
  grid-area: sign !important;
  align-self: start !important;
  justify-self: start !important;

  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 9px !important;

  width: 100% !important;
  max-width: 360px !important;

  position: relative !important;
  z-index: 5 !important;

  margin-top: 6px !important;
  animation: mzInviteFadeUp .8s cubic-bezier(.16, 1, .3, 1) .24s both !important;
  
  margin-bottom: 30px;
}

.mz-invite-signature img {
  display: block !important;
  width: 230px !important;
  max-width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
  opacity: 0.98 !important;
}

.mz-invite-person {
  display: flex !important;
  flex-direction: column !important;
  gap: 3px !important;
}

.mz-invite-person strong {
  display: block !important;
  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.92rem !important;
  line-height: 1.35 !important;
  font-weight: 900 !important;
  color: #08192a !important;
}

.mz-invite-person span {
  display: block !important;
  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.82rem !important;
  line-height: 1.4 !important;
  font-weight: 400 !important;
  color: #667085 !important;
}

/* =====================
   ANIMATIONS
   ===================== */

@keyframes mzInviteFadeUp {
  0% {
    opacity: 0;
    transform: translate3d(0, 18px, 0);
    filter: blur(4px);
  }

  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0);
    filter: blur(0);
  }
}

@keyframes mzInvitePhotoIn {
  0% {
    opacity: 0;
    transform: translate3d(0, 20px, 0) scale(0.985);
    filter: blur(4px) drop-shadow(0 26px 32px rgba(8, 25, 42, 0.15));
  }

  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
    filter: blur(0) drop-shadow(0 26px 32px rgba(8, 25, 42, 0.15));
  }
}

/* =========================================================
   LAPTOP / SMALL DESKTOP
   ========================================================= */

@media (max-width: 1240px) {
  .mz-invite-wrap {
    max-width: 1120px !important;
    grid-template-columns: 390px 280px 310px !important;
    column-gap: 34px !important;
  }

  .mz-invite-copy {
    max-width: 390px !important;
  }

  .mz-invite-title {
    font-size: clamp(2.45rem, 2.6vw, 3rem) !important;
  }

  .mz-invite-text {
    max-width: 390px !important;
  }

  .mz-invite-photo {
    max-width: 280px !important;
  }

  .mz-invite-quote {
    max-width: 310px !important;
    padding: 34px 32px 36px !important;
  }

  .mz-invite-quote p {
    font-size: 0.98rem !important;
  }
}

/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 980px) {
  .mz-invite-section {
    padding-top: 54px !important;
  }

  .mz-invite-wrap {
    max-width: 760px !important;
    grid-template-columns: 1fr 280px !important;
    grid-template-areas:
      "copy photo"
      "sign photo"
      "quote quote" !important;
    column-gap: 42px !important;
    row-gap: 24px !important;
    align-items: center !important;
  }

  .mz-invite-copy {
    max-width: 420px !important;
  }

  .mz-invite-title {
    font-size: clamp(2.35rem, 4vw, 3.05rem) !important;
  }

  .mz-invite-title span {
    white-space: normal !important;
  }

  .mz-invite-photo {
    max-width: 260px !important;
  }

  .mz-invite-quote {
    justify-self: center !important;
    max-width: 560px !important;
    width: 100% !important;
  }
}

/* =========================================================
   MOBILE — text top, photo + quote side by side, signature bottom
   ========================================================= */

@media (max-width: 767px) {
  .mz-invite-section {
    padding: 44px 16px 34px !important;
  }

  .mz-invite-wrap {
    width: min(100%, 430px) !important;
    max-width: 430px !important;

    grid-template-columns: minmax(0, 0.88fr) minmax(0, 1.12fr) !important;
    grid-template-areas:
      "copy copy"
      "photo quote"
      "sign sign" !important;

    column-gap: 14px !important;
    row-gap: 18px !important;
    align-items: end !important;
    justify-content: center !important;
  }

  .mz-invite-copy {
    max-width: 100% !important;
    text-align: left !important;
  }

  .mz-invite-kicker {
    font-size: 0.72rem !important;
    letter-spacing: 0.14em !important;
    margin-bottom: 12px !important;
  }

  .mz-invite-title {
    font-size: clamp(2.25rem, 10.5vw, 3.35rem) !important;
    line-height: 1.02 !important;
    letter-spacing: -0.034em !important;
    margin-bottom: 18px !important;
  }

  .mz-invite-title span {
    white-space: normal !important;
  }

  .mz-invite-text p {
    font-size: 0.98rem !important;
    line-height: 1.68 !important;
  }

  .mz-invite-photo {
    max-width: 180px !important;
    width: 100% !important;
    justify-self: start !important;
    align-self: end !important;
    z-index: 3 !important;
  }

  .mz-invite-quote {
    width: 100% !important;
    max-width: none !important;
    justify-self: stretch !important;
    align-self: center !important;

    padding: 22px 20px 22px !important;
    border-radius: 12px !important;

    box-shadow:
      0 18px 46px rgba(8, 25, 42, 0.10),
      0 1px 0 rgba(255, 255, 255, 0.85) inset !important;
  }

  .mz-quote-mark {
    font-size: 3.2rem !important;
    margin-bottom: 8px !important;
  }

  .mz-invite-quote p {
    font-size: clamp(0.88rem, 3.4vw, 1rem) !important;
    line-height: 1.55 !important;
    font-weight: 900 !important;
  }

  .mz-quote-line {
    width: 44px !important;
    margin-top: 18px !important;
  }

  .mz-invite-signature {
    justify-self: center !important;
    align-items: center !important;
    text-align: center !important;
    max-width: 100% !important;
    margin-top: -4px !important;
  }

  .mz-invite-signature img {
    width: min(230px, 70vw) !important;
  }

  .mz-invite-person {
    align-items: center !important;
    text-align: center !important;
  }
}

/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media (max-width: 390px) {
  .mz-invite-section {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  .mz-invite-wrap {
    column-gap: 10px !important;
    row-gap: 16px !important;
  }

  .mz-invite-title {
    font-size: clamp(2.08rem, 10.4vw, 3.05rem) !important;
  }

  .mz-invite-text p {
    font-size: 0.94rem !important;
  }

  .mz-invite-photo {
    max-width: 158px !important;
  }

  .mz-invite-quote {
    padding: 20px 16px !important;
  }

  .mz-invite-quote p {
    font-size: 0.84rem !important;
    line-height: 1.52 !important;
  }
}

/* =========================================================
   ULTRA SMALL
   ========================================================= */

@media (max-width: 340px) {
  .mz-invite-wrap {
    grid-template-columns: 1fr !important;
    grid-template-areas:
      "copy"
      "photo"
      "quote"
      "sign" !important;
  }

  .mz-invite-photo {
    justify-self: center !important;
    max-width: 190px !important;
  }

  .mz-invite-quote {
    max-width: 280px !important;
    justify-self: center !important;
  }
}

/* =========================================================
   REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {
  .mz-invite-copy,
  .mz-invite-photo,
  .mz-invite-quote,
  .mz-invite-signature {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
  }
}

/* =========================================================
   INVITATION MODULE — DESKTOP REFINEMENT / 1240px CONTAINER
   Poszerzenie tekstu + większe zdjęcie bliżej cytatu
   ========================================================= */

@media (min-width: 981px) {
  .mz-invite-wrap {
    max-width: 1240px !important;

    /* 500 + 350 + 330 + 2x30 = 1240 */
    grid-template-columns: 500px 350px 330px !important;
    column-gap: 30px !important;

    justify-content: center !important;
    align-items: center !important;
  }

  .mz-invite-copy {
    max-width: 500px !important;
  }

  .mz-invite-text {
    max-width: 480px !important;
  }

  .mz-invite-title {
    font-size: clamp(2.85rem, 2.35vw, 3.35rem) !important;
    line-height: 1.02 !important;
  }

  .mz-invite-title span {
    white-space: nowrap !important;
  }

  .mz-invite-photo {
    max-width: 350px !important;
    justify-self: end !important;
    overflow: visible !important;
    z-index: 6 !important;
  }

  .mz-invite-photo img {
    width: 380px !important;
    max-width: none !important;
    transform: translateX(44px) scale(1.04) !important;
    transform-origin: center bottom !important;
    position: relative !important;
    z-index: 6 !important;
  }

  .mz-invite-quote {
    justify-self: start !important;
    max-width: 330px !important;
    z-index: 4 !important;
  }
}

/* Trochę bezpieczniejszy wariant dla mniejszych laptopów */

@media (min-width: 981px) and (max-width: 1240px) {
  .mz-invite-wrap {
    max-width: 1120px !important;

    /* 455 + 320 + 305 + 2x20 = 1120 */
    grid-template-columns: 455px 320px 305px !important;
    column-gap: 20px !important;
  }

  .mz-invite-copy {
    max-width: 455px !important;
  }

  .mz-invite-text {
    max-width: 430px !important;
  }

  .mz-invite-title {
    font-size: clamp(2.55rem, 2.6vw, 3.05rem) !important;
  }

  .mz-invite-photo {
    max-width: 320px !important;
  }

  .mz-invite-photo img {
    width: 345px !important;
    transform: translateX(32px) scale(1.035) !important;
  }

  .mz-invite-quote {
    max-width: 305px !important;
    padding-left: 30px !important;
    padding-right: 30px !important;
  }
}

/* Tablet i mobile — wracamy do normalnego zachowania */

@media (max-width: 980px) {
  .mz-invite-photo {
    overflow: visible !important;
  }

  .mz-invite-photo img {
    width: 100% !important;
    max-width: 100% !important;
    transform: none !important;
  }
}


/* =========================================================
   UNIVERSAL SECTION HEADING
   ========================================================= */

.mz-section-heading {
  width: 100% !important;
  max-width: 860px !important;
  margin: 0 auto clamp(28px, 4vw, 48px) !important;
  padding: 0 18px !important;
  position: relative !important;
  z-index: 2 !important;
}

.mz-section-heading--center {
  text-align: center !important;
}

.mz-section-heading--left {
  text-align: left !important;
  margin-left: 0 !important;
  margin-right: auto !important;
}

.mz-section-eyebrow {
  display: block !important;
  margin: 0 0 10px !important;

  font-family: "Lato", Arial, sans-serif !important;
  font-size: clamp(0.72rem, 0.35vw + 0.65rem, 0.86rem) !important;
  line-height: 1.25 !important;
  font-weight: 900 !important;
  letter-spacing: 0.17em !important;
  text-transform: uppercase !important;

  color: #c8953f !important;
}

.mz-section-title {
  margin: 0 !important;
  padding: 0 !important;

  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: clamp(2.0rem, 2.35vw, 3.35rem) !important;
  line-height: 1.02 !important;
  font-weight: 500 !important;
  letter-spacing: -0.035em !important;

  color: #08192a !important;
}

.mz-section-lead {
  max-width: 680px !important;
  margin: clamp(14px, 1.8vw, 22px) auto 0 !important;

  font-family: "Lato", Arial, sans-serif !important;
  font-size: clamp(1rem, 0.35vw + 0.94rem, 1.1rem) !important;
  line-height: 1.7 !important;
  font-weight: 400 !important;

  color: #667085 !important;
}

.mz-section-heading--left .mz-section-lead {
  margin-left: 0 !important;
  margin-right: auto !important;
}

/* Wariant na ciemnym tle */

.mz-section-heading--dark .mz-section-title {
  color: #f8f6f1 !important;
}

.mz-section-heading--dark .mz-section-lead {
  color: rgba(248, 246, 241, 0.78) !important;
}

.mz-section-heading--dark .mz-section-eyebrow {
  color: #d8aa58 !important;
}

/* Opcjonalna dekoracyjna linia pod nagłówkiem */

.mz-section-heading--line::after {
  content: "" !important;
  display: block !important;
  width: 72px !important;
  height: 2px !important;
  margin: 20px auto 0 !important;
  background: linear-gradient(
    90deg,
    rgba(200, 149, 63, 0),
    rgba(200, 149, 63, 0.95),
    rgba(200, 149, 63, 0)
  ) !important;
}

.mz-section-heading--left.mz-section-heading--line::after {
  margin-left: 0 !important;
  margin-right: auto !important;
}

/* Mniejszy wariant, np. do podsekcji */

.mz-section-heading--small {
  max-width: 720px !important;
  margin-bottom: clamp(22px, 3vw, 36px) !important;
}

.mz-section-heading--small .mz-section-title {
  font-size: clamp(2rem, 2.35vw, 3rem) !important;
}

/* Mobile */

@media (max-width: 767px) {
  .mz-section-heading {
    max-width: 100% !important;
    padding: 0 16px !important;
    margin-bottom: 30px !important;
  }

  .mz-section-heading--left {
    text-align: left !important;
  }

  .mz-section-title {
    font-size: clamp(2.05rem, 9.5vw, 3.05rem) !important;
    line-height: 1.04 !important;
  }

  .mz-section-eyebrow {
    font-size: 0.72rem !important;
    letter-spacing: 0.14em !important;
    margin-bottom: 9px !important;
  }

  .mz-section-lead {
    font-size: 0.98rem !important;
    line-height: 1.65 !important;
  }
}

/* Bardzo małe telefony */

@media (max-width: 390px) {
  .mz-section-title {
    font-size: clamp(1.95rem, 9vw, 2.65rem) !important;
  }
}


/* =========================================================
   PROGRAM PREVIEW / COMING SOON SECTION
   ========================================================= */

.mz-program-preview {
  width: 100% !important;
  position: relative !important;
  z-index: 2 !important;
  padding: 0 18px clamp(44px, 5vw, 76px) !important;
  background: transparent !important;
}

.mz-program-preview-wrap {
  width: 100% !important;
  max-width: 1120px !important;
  margin: 0 auto !important;
  position: relative !important;
}

/* TABS */

.mz-program-tabs {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: min(100%, 620px) !important;
  margin: 0 auto -1px !important;
  position: relative !important;
  z-index: 5 !important;
  border-radius: 10px 10px 0 0 !important;
  overflow: hidden !important;
  background: rgba(8, 25, 42, 0.04) !important;
  box-shadow: 0 12px 34px rgba(8, 25, 42, 0.06) !important;
}

.mz-program-tab {
  appearance: none !important;
  border: 0 !important;
  outline: none !important;
  cursor: pointer !important;

  width: 50% !important;
  min-height: 54px !important;
  padding: 16px 22px !important;

  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.88rem !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
  letter-spacing: 0.02em !important;

  color: #263446 !important;
  background: rgba(255, 255, 255, 0.72) !important;

  transition:
    background-color .25s cubic-bezier(.16, 1, .3, 1),
    color .25s cubic-bezier(.16, 1, .3, 1),
    box-shadow .25s cubic-bezier(.16, 1, .3, 1) !important;
}

.mz-program-tab.is-active {
  color: #f8f6f1 !important;
  background: linear-gradient(135deg, #08192a, #06111d) !important;
  box-shadow:
    0 12px 28px rgba(8, 25, 42, 0.18),
    0 1px 0 rgba(255, 255, 255, 0.08) inset !important;
}

.mz-program-tab.is-active::after {
  content: "" !important;
  position: absolute !important;
}

.mz-program-tab:hover,
.mz-program-tab:focus-visible {
  color: #08192a !important;
  background: rgba(255, 255, 255, 0.94) !important;
}

.mz-program-tab.is-active:hover,
.mz-program-tab.is-active:focus-visible {
  color: #f8f6f1 !important;
  background: linear-gradient(135deg, #0d2438, #06111d) !important;
}

.mz-program-tab:focus-visible {
  outline: 2px solid #d8aa58 !important;
  outline-offset: -4px !important;
}

/* MAIN GRID */

.mz-program-preview-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1.55fr) minmax(300px, 0.85fr) !important;
  align-items: stretch !important;
  gap: 0 !important;

  border-radius: 14px !important;
  overflow: hidden !important;

  background: rgba(255, 255, 255, 0.92) !important;
  border: 1px solid rgba(228, 231, 236, 0.9) !important;

  box-shadow:
    0 28px 70px rgba(8, 25, 42, 0.09),
    0 1px 0 rgba(255, 255, 255, 0.90) inset !important;
}

/* PROGRAM LIST CARD */

.mz-program-card {
  min-width: 0 !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,255,255,.94)) !important;
  padding: clamp(24px, 3vw, 38px) clamp(24px, 3.5vw, 46px) !important;
}

.mz-program-panel {
  display: block !important;
  animation: mzProgramFade .35s cubic-bezier(.16, 1, .3, 1) both !important;
}

.mz-program-panel[hidden] {
  display: none !important;
}

.session-row {
  display: grid !important;
  grid-template-columns: 92px minmax(0, 1fr) !important;
  gap: 22px !important;
  padding: 15px 0 !important;
  border-bottom: 1px solid rgba(228, 231, 236, 0.9) !important;
}

.session-row:first-child {
  padding-top: 0 !important;
}

.session-row:last-child {
  border-bottom: 0 !important;
  padding-bottom: 0 !important;
}

.session-time {
  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.86rem !important;
  line-height: 1.4 !important;
  font-weight: 900 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  color: #c8953f !important;
  font-variant-numeric: tabular-nums !important;
}

.session-content {
  min-width: 0 !important;
}

.session-content h3 {
  margin: 0 0 5px !important;
  font-family: "Lato", Arial, sans-serif !important;
  font-size: 1rem !important;
  line-height: 1.35 !important;
  font-weight: 900 !important;
  letter-spacing: -0.005em !important;
  color: #08192a !important;
}

.session-content p {
  margin: 0 !important;
  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.92rem !important;
  line-height: 1.55 !important;
  font-weight: 400 !important;
  color: #667085 !important;
}

.session-row.discussion .session-content h3 {
  color: #0d2438 !important;
}

.session-row.non-talk {
  background:
    linear-gradient(90deg, rgba(216, 170, 88, 0.055), rgba(216, 170, 88, 0)) !important;
  margin-left: -14px !important;
  margin-right: -14px !important;
  padding-left: 14px !important;
  padding-right: 14px !important;
  border-radius: 8px !important;
}

/* SOON CARD */

.mz-program-soon-card {
  position: relative !important;
  min-width: 0 !important;

  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;

  padding: clamp(30px, 4vw, 54px) clamp(28px, 4vw, 46px) !important;

  background:
    radial-gradient(circle at 50% 0%, rgba(216, 170, 88, 0.10), transparent 45%),
    linear-gradient(180deg, #fbfaf7, #ffffff) !important;

  border-left: 1px solid rgba(228, 231, 236, 0.9) !important;
}

.mz-program-soon-icon {
  width: 78px !important;
  height: 78px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-bottom: 22px !important;
  position: relative !important;
}

.mz-program-soon-icon::before {
  content: "" !important;
  width: 54px !important;
  height: 64px !important;
  display: block !important;
  border: 3px solid #c8953f !important;
  border-radius: 7px !important;
  box-sizing: border-box !important;
  background:
    linear-gradient(#c8953f, #c8953f) 50% 24px / 24px 3px no-repeat,
    linear-gradient(#c8953f, #c8953f) 50% 36px / 28px 3px no-repeat,
    linear-gradient(#c8953f, #c8953f) 50% 48px / 24px 3px no-repeat !important;
}

.mz-program-soon-icon::after {
  content: "" !important;
  position: absolute !important;
  top: 2px !important;
  width: 30px !important;
  height: 13px !important;
  border: 3px solid #c8953f !important;
  border-bottom: 0 !important;
  border-radius: 8px 8px 0 0 !important;
  background: #fbfaf7 !important;
}

.mz-program-soon-kicker {
  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.72rem !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: #c8953f !important;
  margin-bottom: 12px !important;
}

.mz-program-soon-card h3 {
  margin: 0 0 16px !important;
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: clamp(1.85rem, 2.4vw, 2.6rem) !important;
  line-height: 1.1 !important;
  font-weight: 500 !important;
  letter-spacing: -0.025em !important;
  color: #08192a !important;
}

.mz-program-soon-card p {
  max-width: 330px !important;
  margin: 0 auto !important;
  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.96rem !important;
  line-height: 1.65 !important;
  font-weight: 400 !important;
  color: #667085 !important;
}

.mz-program-soon-actions {
  margin-top: 24px !important;
}

.mz-program-soon-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  min-height: 46px !important;
  padding: 14px 24px !important;

  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.78rem !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  letter-spacing: 0.075em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;

  color: #08192a !important;
  background: transparent !important;
  border: 1px solid rgba(200, 149, 63, 0.65) !important;
  border-radius: 7px !important;

  transition:
    transform .25s cubic-bezier(.16, 1, .3, 1),
    background-color .25s cubic-bezier(.16, 1, .3, 1),
    color .25s cubic-bezier(.16, 1, .3, 1),
    box-shadow .25s cubic-bezier(.16, 1, .3, 1) !important;
}

.mz-program-soon-btn:hover,
.mz-program-soon-btn:focus-visible {
  color: #08192a !important;
  background: #d8aa58 !important;
  box-shadow: 0 14px 32px rgba(200, 149, 63, 0.22) !important;
  transform: translateY(-2px) !important;
}

.mz-program-soon-btn:focus-visible {
  outline: 2px solid #c8953f !important;
  outline-offset: 4px !important;
}

@keyframes mzProgramFade {
  0% {
    opacity: 0;
    transform: translateY(8px);
  }

  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

/* TABLET */

@media (max-width: 980px) {
  .mz-program-preview-wrap {
    max-width: 760px !important;
  }

  .mz-program-preview-grid {
    grid-template-columns: 1fr !important;
  }

  .mz-program-soon-card {
    border-left: 0 !important;
    border-top: 1px solid rgba(228, 231, 236, 0.9) !important;
  }
}

/* MOBILE */

@media (max-width: 767px) {
  .mz-program-preview {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  .mz-program-tabs {
    width: 100% !important;
  }

  .mz-program-tab {
    min-height: 50px !important;
    padding: 14px 12px !important;
    font-size: 0.78rem !important;
  }

  .mz-program-preview-grid {
    border-radius: 12px !important;
  }

  .mz-program-card {
    padding: 24px 18px !important;
  }

  .session-row {
    grid-template-columns: 74px minmax(0, 1fr) !important;
    gap: 14px !important;
    padding: 14px 0 !important;
  }

  .session-time {
    font-size: 0.74rem !important;
  }

  .session-content h3 {
    font-size: 0.94rem !important;
  }

  .session-content p {
    font-size: 0.86rem !important;
    line-height: 1.52 !important;
  }

  .mz-program-soon-card {
    padding: 30px 22px 34px !important;
  }

  .mz-program-soon-icon {
    width: 68px !important;
    height: 68px !important;
    margin-bottom: 18px !important;
  }

  .mz-program-soon-card h3 {
    font-size: clamp(1.75rem, 8vw, 2.25rem) !important;
  }

  .mz-program-soon-card p {
    font-size: 0.9rem !important;
  }
}

/* VERY SMALL */

@media (max-width: 390px) {
  .session-row {
    grid-template-columns: 1fr !important;
    gap: 5px !important;
  }

  .session-time {
    font-size: 0.72rem !important;
  }
}

/* REDUCED MOTION */

@media (prefers-reduced-motion: reduce) {
  .mz-program-panel,
  .mz-program-soon-btn {
    animation: none !important;
    transition: none !important;
  }

  .mz-program-soon-btn:hover,
  .mz-program-soon-btn:focus-visible {
    transform: none !important;
  }
}


/* =========================================================
   REGISTRATION MODULE
   ========================================================= */

.mz-registration-module {
  width: 100% !important;
  position: relative !important;
  z-index: 2 !important;
  padding: 0 18px clamp(46px, 6vw, 86px) !important;
  background: transparent !important;
}

.mz-registration-wrap {
  width: 100% !important;
  max-width: 1240px !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1.75fr) minmax(340px, 0.75fr) !important;
  grid-template-areas:
    "main benefits"
    "strip strip"
    "note note" !important;
  gap: 32px !important;
  position: relative !important;
}

/* =====================
   MAIN DARK CARD
   ===================== */

.mz-registration-main-card {
  grid-area: main !important;
  position: relative !important;
  overflow: hidden !important;

  padding: clamp(28px, 4vw, 48px) clamp(26px, 4vw, 48px) !important;
  border-radius: 14px !important;

  background:
    radial-gradient(circle at 20% 0%, rgba(216, 170, 88, 0.14), transparent 36%),
    radial-gradient(circle at 88% 22%, rgba(255, 255, 255, 0.055), transparent 34%),
    linear-gradient(135deg, #08192a 0%, #06111d 100%) !important;

  border: 1px solid rgba(216, 170, 88, 0.16) !important;

  box-shadow:
    0 28px 72px rgba(8, 25, 42, 0.28),
    0 1px 0 rgba(255, 255, 255, 0.08) inset !important;
}

.mz-registration-main-card::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  background:
    linear-gradient(
      115deg,
      rgba(255,255,255,0) 0%,
      rgba(255,255,255,.05) 46%,
      rgba(255,255,255,0) 72%
    ) !important;
  opacity: .8 !important;
}

.mz-registration-card-head {
  position: relative !important;
  z-index: 2 !important;
  display: flex !important;
  align-items: center !important;
  gap: 20px !important;
  margin-bottom: 34px !important;
}

.mz-registration-head-icon {
  width: 48px !important;
  height: 48px !important;
  flex: 0 0 48px !important;
  position: relative !important;
  color: #d8aa58 !important;
}

.mz-registration-head-icon::before {
  content: "" !important;
  position: absolute !important;
  left: 7px !important;
  top: 11px !important;
  width: 34px !important;
  height: 30px !important;
  border: 2px solid #d8aa58 !important;
  border-radius: 6px !important;
  box-sizing: border-box !important;
}

.mz-registration-head-icon::after {
  content: "" !important;
  position: absolute !important;
  left: 13px !important;
  top: 21px !important;
  width: 22px !important;
  height: 12px !important;
  background:
    linear-gradient(#d8aa58, #d8aa58) 0 0 / 4px 4px no-repeat,
    linear-gradient(#d8aa58, #d8aa58) 9px 0 / 4px 4px no-repeat,
    linear-gradient(#d8aa58, #d8aa58) 18px 0 / 4px 4px no-repeat,
    linear-gradient(#d8aa58, #d8aa58) 0 8px / 4px 4px no-repeat,
    linear-gradient(#d8aa58, #d8aa58) 9px 8px / 4px 4px no-repeat,
    linear-gradient(#d8aa58, #d8aa58) 18px 8px / 4px 4px no-repeat !important;
}

.mz-registration-kicker {
  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.82rem !important;
  line-height: 1.25 !important;
  font-weight: 900 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  color: #d8aa58 !important;
  margin-bottom: 6px !important;
}

.mz-registration-card-head h2 {
  margin: 0 !important;
  padding: 0 !important;
  font-family: "Lato", Arial, sans-serif !important;
  font-size: clamp(1.05rem, 1vw, 1.28rem) !important;
  line-height: 1.35 !important;
  font-weight: 400 !important;
  color: rgba(248, 246, 241, 0.88) !important;
}

/* =====================
   PRICE CARDS
   ===================== */

.mz-price-grid {
  position: relative !important;
  z-index: 2 !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 22px !important;
}

.mz-price-card {
  position: relative !important;
  min-width: 0 !important;

  padding: 38px 26px 28px !important;
  border-radius: 12px !important;

  background:
    linear-gradient(180deg, rgba(255,255,255,0.045), rgba(255,255,255,0.018)) !important;

  border: 1px solid rgba(248, 246, 241, 0.18) !important;

  text-align: center !important;
  box-shadow:
    0 16px 36px rgba(0, 0, 0, 0.12),
    0 1px 0 rgba(255, 255, 255, 0.08) inset !important;

  transition:
    transform .26s cubic-bezier(.16, 1, .3, 1),
    border-color .26s cubic-bezier(.16, 1, .3, 1),
    box-shadow .26s cubic-bezier(.16, 1, .3, 1) !important;
}

.mz-price-card:hover {
  transform: translateY(-4px) !important;
  border-color: rgba(216, 170, 88, 0.55) !important;
  box-shadow:
    0 22px 46px rgba(0, 0, 0, 0.18),
    0 0 0 4px rgba(216, 170, 88, 0.08) !important;
}

.mz-price-card-featured {
  border-color: rgba(216, 170, 88, 0.78) !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(216, 170, 88, 0.14), transparent 42%),
    linear-gradient(180deg, rgba(255,255,255,0.055), rgba(255,255,255,0.02)) !important;
}

.mz-price-badge {
  position: absolute !important;
  top: -1px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;

  min-width: 170px !important;
  padding: 8px 16px !important;
  border-radius: 0 0 8px 8px !important;

  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.68rem !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;

  color: #08192a !important;
  background: linear-gradient(135deg, #e1b766, #c8953f) !important;
}

.mz-price-icon {
  width: 56px !important;
  height: 56px !important;
  margin: 8px auto 28px !important;
  position: relative !important;
}

.mz-price-icon::before {
  content: "" !important;
  position: absolute !important;
  left: 8px !important;
  top: 12px !important;
  width: 40px !important;
  height: 34px !important;
  border: 3px solid rgba(248, 246, 241, 0.88) !important;
  border-radius: 7px !important;
  box-sizing: border-box !important;
}

.mz-price-card-featured .mz-price-icon::before {
  border-color: #d8aa58 !important;
}

.mz-price-icon::after {
  content: "" !important;
  position: absolute !important;
  left: 16px !important;
  top: 24px !important;
  width: 24px !important;
  height: 14px !important;
  background:
    linear-gradient(currentColor, currentColor) 0 0 / 4px 4px no-repeat,
    linear-gradient(currentColor, currentColor) 10px 0 / 4px 4px no-repeat,
    linear-gradient(currentColor, currentColor) 20px 0 / 4px 4px no-repeat,
    linear-gradient(currentColor, currentColor) 0 10px / 4px 4px no-repeat,
    linear-gradient(currentColor, currentColor) 10px 10px / 4px 4px no-repeat,
    linear-gradient(currentColor, currentColor) 20px 10px / 4px 4px no-repeat !important;
  color: rgba(248, 246, 241, 0.88) !important;
}

.mz-price-card-featured .mz-price-icon::after {
  color: #d8aa58 !important;
}

.mz-price-term {
  min-height: 46px !important;
  margin-bottom: 18px !important;
  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.82rem !important;
  line-height: 1.45 !important;
  font-weight: 900 !important;
  letter-spacing: 0.09em !important;
  text-transform: uppercase !important;
  color: #f8f6f1 !important;
}

.mz-price-value {
  display: flex !important;
  justify-content: center !important;
  align-items: baseline !important;
  gap: 8px !important;
  margin-bottom: 2px !important;
  color: #f8f6f1 !important;
}

.mz-price-value span {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: clamp(3.65rem, 4.7vw, 5.2rem) !important;
  line-height: 0.9 !important;
  font-weight: 500 !important;
  letter-spacing: -0.04em !important;
  font-variant-numeric: lining-nums tabular-nums !important;
}

.mz-price-value small {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: clamp(1.8rem, 2vw, 2.5rem) !important;
  font-weight: 500 !important;
}

.mz-price-card-featured .mz-price-value {
  color: #d8aa58 !important;
}

.mz-price-tax {
  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.9rem !important;
  line-height: 1.4 !important;
  color: rgba(248, 246, 241, 0.82) !important;
}

.mz-price-line {
  width: 70% !important;
  height: 1px !important;
  margin: 24px auto 22px !important;
  background: linear-gradient(
    90deg,
    rgba(216, 170, 88, 0),
    rgba(216, 170, 88, 0.42),
    rgba(216, 170, 88, 0)
  ) !important;
}

.mz-price-note {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 9px !important;

  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.88rem !important;
  line-height: 1.45 !important;
  font-weight: 400 !important;
  color: rgba(248, 246, 241, 0.86) !important;
}

.mz-price-note span {
  width: 20px !important;
  height: 20px !important;
  flex: 0 0 20px !important;
  display: inline-flex !important;
  justify-content: center !important;
  align-items: center !important;
  border-radius: 999px !important;
  border: 1px solid rgba(216, 170, 88, 0.8) !important;
  color: #d8aa58 !important;
  font-size: 0.72rem !important;
}

/* =====================
   CTA
   ===================== */

.mz-registration-cta-wrap {
  position: relative !important;
  z-index: 2 !important;
  margin-top: 36px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 16px !important;
}

.mz-registration-cta {
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate !important;

  width: min(100%, 430px) !important;
  min-height: 58px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 16px !important;

  padding: 18px 32px !important;
  border-radius: 8px !important;

  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.84rem !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  letter-spacing: 0.10em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;

  color: #08192a !important;
  background: linear-gradient(135deg, #e1b766 0%, #c8953f 100%) !important;
  border: 1px solid rgba(239, 213, 154, 0.75) !important;

  box-shadow:
    0 16px 34px rgba(200, 149, 63, 0.25),
    0 1px 0 rgba(255, 255, 255, 0.26) inset !important;

  transition:
    transform .26s cubic-bezier(.16, 1, .3, 1),
    box-shadow .26s cubic-bezier(.16, 1, .3, 1) !important;
}

.mz-registration-cta::before {
  content: "" !important;
  position: absolute !important;
  top: -50% !important;
  left: -120% !important;
  width: 90% !important;
  height: 200% !important;
  z-index: -1 !important;
  background: linear-gradient(
    115deg,
    rgba(255,255,255,0),
    rgba(255,255,255,0.28),
    rgba(255,255,255,0)
  ) !important;
  transform: skewX(-18deg) !important;
  transition: left .65s cubic-bezier(.16, 1, .3, 1) !important;
}

.mz-registration-cta:hover,
.mz-registration-cta:focus-visible {
  transform: translateY(-3px) !important;
  box-shadow:
    0 22px 46px rgba(200, 149, 63, 0.34),
    0 0 0 4px rgba(216, 170, 88, 0.12) !important;
}

.mz-registration-cta:hover::before,
.mz-registration-cta:focus-visible::before {
  left: 130% !important;
}

.mz-registration-cta:focus-visible {
  outline: 2px solid #efd59a !important;
  outline-offset: 4px !important;
}

.mz-registration-safe-note {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 9px !important;

  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.9rem !important;
  line-height: 1.4 !important;
  color: rgba(248, 246, 241, 0.78) !important;
}

.mz-registration-safe-note span {
  color: #d8aa58 !important;
}

/* =====================
   BENEFITS CARD
   ===================== */

.mz-registration-benefits-card {
  grid-area: benefits !important;
  position: relative !important;

  padding: clamp(30px, 4vw, 44px) clamp(28px, 4vw, 38px) !important;
  border-radius: 14px !important;

  background:
    radial-gradient(circle at 100% 100%, rgba(216, 170, 88, 0.10), transparent 38%),
    linear-gradient(180deg, rgba(255,255,255,0.98), rgba(255,255,255,0.92)) !important;

  border: 1px solid rgba(200, 149, 63, 0.24) !important;

  box-shadow:
    0 28px 72px rgba(8, 25, 42, 0.08),
    0 1px 0 rgba(255, 255, 255, 0.92) inset !important;
}

.mz-benefits-kicker {
  margin-bottom: 26px !important;
  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.82rem !important;
  line-height: 1.25 !important;
  font-weight: 900 !important;
  letter-spacing: 0.17em !important;
  text-transform: uppercase !important;
  color: #c8953f !important;
}

.mz-benefits-list {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.mz-benefits-list li {
  display: grid !important;
  grid-template-columns: 46px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 17px !important;

  padding: 18px 0 !important;
  border-bottom: 1px solid rgba(228, 231, 236, 0.9) !important;

  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.98rem !important;
  line-height: 1.5 !important;
  font-weight: 700 !important;
  color: #263446 !important;
}

.mz-benefits-list li:first-child {
  padding-top: 0 !important;
}

.mz-benefits-list li:last-child {
  border-bottom: 0 !important;
}

.mz-benefits-list em {
  font-style: normal !important;
  font-weight: 400 !important;
  color: #667085 !important;
}

.mz-benefit-icon {
  width: 42px !important;
  height: 42px !important;
  display: block !important;
  position: relative !important;
  color: #08192a !important;
}

/* Simple CSS icons */

.mz-benefit-icon::before,
.mz-benefit-icon::after {
  content: "" !important;
  position: absolute !important;
  box-sizing: border-box !important;
}

.mz-benefit-icon-session::before {
  left: 8px !important;
  top: 8px !important;
  width: 26px !important;
  height: 22px !important;
  border: 2px solid #08192a !important;
  border-radius: 4px !important;
}

.mz-benefit-icon-session::after {
  left: 15px !important;
  top: 15px !important;
  width: 12px !important;
  height: 12px !important;
  border: 2px solid #08192a !important;
  border-radius: 999px !important;
}

.mz-benefit-icon-book::before {
  left: 7px !important;
  top: 10px !important;
  width: 28px !important;
  height: 22px !important;
  border: 2px solid #08192a !important;
  border-radius: 3px 8px 8px 3px !important;
}

.mz-benefit-icon-book::after {
  left: 21px !important;
  top: 10px !important;
  width: 2px !important;
  height: 22px !important;
  background: #08192a !important;
}

.mz-benefit-icon-coffee::before {
  left: 7px !important;
  top: 15px !important;
  width: 24px !important;
  height: 17px !important;
  border: 2px solid #08192a !important;
  border-radius: 3px 3px 9px 9px !important;
}

.mz-benefit-icon-coffee::after {
  left: 30px !important;
  top: 18px !important;
  width: 8px !important;
  height: 9px !important;
  border: 2px solid #08192a !important;
  border-left: 0 !important;
  border-radius: 0 7px 7px 0 !important;
}

.mz-benefit-icon-certificate::before {
  left: 9px !important;
  top: 7px !important;
  width: 24px !important;
  height: 28px !important;
  border: 2px solid #08192a !important;
  border-radius: 4px !important;
}

.mz-benefit-icon-certificate::after {
  left: 15px !important;
  top: 16px !important;
  width: 12px !important;
  height: 2px !important;
  background: #c8953f !important;
  box-shadow: 0 7px 0 #08192a !important;
}

.mz-benefit-icon-support::before {
  left: 7px !important;
  top: 9px !important;
  width: 28px !important;
  height: 22px !important;
  border: 2px solid #08192a !important;
  border-radius: 999px 999px 8px 8px !important;
}

.mz-benefit-icon-support::after {
  left: 18px !important;
  top: 27px !important;
  width: 12px !important;
  height: 8px !important;
  border-bottom: 2px solid #08192a !important;
  border-right: 2px solid #08192a !important;
  border-radius: 0 0 8px 0 !important;
}

.mz-registration-alert {
  display: grid !important;
  grid-template-columns: 38px minmax(0, 1fr) !important;
  gap: 16px !important;
  align-items: start !important;

  margin-top: 28px !important;
  padding: 20px 20px !important;
  border-radius: 10px !important;

  background: rgba(216, 170, 88, 0.10) !important;
  border: 1px solid rgba(200, 149, 63, 0.28) !important;
}

.mz-alert-icon {
  width: 34px !important;
  height: 34px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 999px !important;
  border: 2px solid #c8953f !important;

  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.95rem !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  color: #c8953f !important;
}

.mz-registration-alert strong {
  display: block !important;
  margin-bottom: 5px !important;
  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.98rem !important;
  line-height: 1.35 !important;
  font-weight: 900 !important;
  color: #08192a !important;
}

.mz-registration-alert p {
  margin: 0 !important;
  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.9rem !important;
  line-height: 1.55 !important;
  font-weight: 400 !important;
  color: #667085 !important;
}

/* =====================
   INFO STRIP
   ===================== */

.mz-registration-info-strip {
  grid-area: strip !important;

  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 0 !important;

  padding: 26px 30px !important;
  border-radius: 14px !important;

  background: rgba(255, 255, 255, 0.96) !important;
  border: 1px solid rgba(228, 231, 236, 0.9) !important;

  box-shadow:
    0 22px 62px rgba(8, 25, 42, 0.08),
    0 1px 0 rgba(255, 255, 255, 0.92) inset !important;
}

.mz-reg-info-item {
  display: grid !important;
  grid-template-columns: 46px minmax(0, 1fr) !important;
  gap: 17px !important;
  align-items: center !important;

  padding: 0 24px !important;
  border-right: 1px solid rgba(228, 231, 236, 0.95) !important;
}

.mz-reg-info-item:first-child {
  padding-left: 0 !important;
}

.mz-reg-info-item:last-child {
  border-right: 0 !important;
  padding-right: 0 !important;
}

.mz-reg-info-item strong {
  display: block !important;
  margin-bottom: 4px !important;

  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.78rem !important;
  line-height: 1.3 !important;
  font-weight: 900 !important;
  letter-spacing: 0.09em !important;
  text-transform: uppercase !important;
  color: #08192a !important;
}

.mz-reg-info-item span {
  display: block !important;

  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.92rem !important;
  line-height: 1.45 !important;
  font-weight: 400 !important;
  color: #263446 !important;
}

.mz-reg-info-icon {
  width: 42px !important;
  height: 42px !important;
  position: relative !important;
}

.mz-reg-info-icon::before,
.mz-reg-info-icon::after {
  content: "" !important;
  position: absolute !important;
  box-sizing: border-box !important;
}

.mz-reg-info-calendar::before {
  left: 7px !important;
  top: 8px !important;
  width: 28px !important;
  height: 27px !important;
  border: 2px solid #08192a !important;
  border-radius: 5px !important;
}

.mz-reg-info-calendar::after {
  left: 13px !important;
  top: 18px !important;
  width: 17px !important;
  height: 10px !important;
  background:
    linear-gradient(#c8953f, #c8953f) 0 0 / 4px 4px no-repeat,
    linear-gradient(#c8953f, #c8953f) 8px 0 / 4px 4px no-repeat,
    linear-gradient(#c8953f, #c8953f) 16px 0 / 4px 4px no-repeat,
    linear-gradient(#08192a, #08192a) 0 8px / 4px 4px no-repeat,
    linear-gradient(#08192a, #08192a) 8px 8px / 4px 4px no-repeat !important;
}

.mz-reg-info-location::before {
  left: 10px !important;
  top: 5px !important;
  width: 22px !important;
  height: 30px !important;
  border: 3px solid #08192a !important;
  border-radius: 16px 16px 18px 18px !important;
  transform: rotate(45deg) !important;
}

.mz-reg-info-location::after {
  left: 17px !important;
  top: 12px !important;
  width: 8px !important;
  height: 8px !important;
  border-radius: 999px !important;
  background: #c8953f !important;
}

.mz-reg-info-people::before {
  left: 7px !important;
  top: 9px !important;
  width: 28px !important;
  height: 24px !important;
  border: 2px solid #08192a !important;
  border-top: 0 !important;
  border-radius: 0 0 20px 20px !important;
}

.mz-reg-info-people::after {
  left: 15px !important;
  top: 5px !important;
  width: 12px !important;
  height: 12px !important;
  border: 2px solid #c8953f !important;
  border-radius: 999px !important;
}

.mz-reg-info-shield::before {
  left: 8px !important;
  top: 5px !important;
  width: 26px !important;
  height: 32px !important;
  border: 2px solid #08192a !important;
  border-radius: 14px 14px 18px 18px !important;
}

.mz-reg-info-shield::after {
  left: 17px !important;
  top: 15px !important;
  width: 10px !important;
  height: 6px !important;
  border-left: 2px solid #c8953f !important;
  border-bottom: 2px solid #c8953f !important;
  transform: rotate(-45deg) !important;
}

/* =====================
   BOTTOM NOTE
   ===================== */

.mz-registration-bottom-note {
  grid-area: note !important;

  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 10px !important;

  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.95rem !important;
  line-height: 1.55 !important;
  font-weight: 400 !important;
  color: #263446 !important;
  text-align: center !important;
}

.mz-registration-bottom-note span {
  color: #c8953f !important;
}

/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 1180px) {
  .mz-registration-wrap {
    grid-template-columns: 1fr !important;
    grid-template-areas:
      "main"
      "benefits"
      "strip"
      "note" !important;
    max-width: 920px !important;
  }

  .mz-registration-benefits-card {
    max-width: 100% !important;
  }

  .mz-benefits-list {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0 34px !important;
  }

  .mz-registration-alert {
    max-width: 520px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

@media (max-width: 900px) {
  .mz-price-grid {
    grid-template-columns: 1fr !important;
  }

  .mz-price-card {
    padding: 34px 24px 26px !important;
  }

  .mz-price-term {
    min-height: auto !important;
  }

  .mz-registration-info-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0 !important;
    padding: 8px 24px !important;
  }

  .mz-reg-info-item {
    padding: 22px 0 !important;
    border-right: 0 !important;
    border-bottom: 1px solid rgba(228, 231, 236, 0.95) !important;
  }

  .mz-reg-info-item:nth-child(odd) {
    padding-right: 20px !important;
  }

  .mz-reg-info-item:nth-child(even) {
    padding-left: 20px !important;
  }

  .mz-reg-info-item:nth-last-child(-n+2) {
    border-bottom: 0 !important;
  }
}

@media (max-width: 767px) {
  .mz-registration-module {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  .mz-registration-wrap {
    gap: 24px !important;
  }

  .mz-registration-main-card,
  .mz-registration-benefits-card {
    border-radius: 12px !important;
  }

  .mz-registration-main-card {
    padding: 30px 18px 32px !important;
  }

  .mz-registration-card-head {
    align-items: flex-start !important;
    gap: 15px !important;
    margin-bottom: 28px !important;
  }

  .mz-registration-head-icon {
    width: 42px !important;
    height: 42px !important;
    flex-basis: 42px !important;
  }

  .mz-registration-kicker {
    font-size: 0.72rem !important;
    letter-spacing: 0.13em !important;
  }

  .mz-price-grid {
    gap: 16px !important;
  }

  .mz-price-card {
    padding: 32px 20px 25px !important;
  }

  .mz-price-value span {
    font-size: clamp(3.4rem, 16vw, 4.6rem) !important;
  }

  .mz-registration-cta {
    width: 100% !important;
    min-height: 56px !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
    font-size: 0.78rem !important;
  }

  .mz-benefits-list {
    grid-template-columns: 1fr !important;
  }

  .mz-registration-benefits-card {
    padding: 30px 22px !important;
  }

  .mz-registration-info-strip {
    grid-template-columns: 1fr !important;
    padding: 8px 22px !important;
  }

  .mz-reg-info-item {
    padding: 20px 0 !important;
    border-bottom: 1px solid rgba(228, 231, 236, 0.95) !important;
  }

  .mz-reg-info-item:nth-child(odd),
  .mz-reg-info-item:nth-child(even) {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .mz-reg-info-item:last-child {
    border-bottom: 0 !important;
  }

  .mz-registration-bottom-note {
    font-size: 0.88rem !important;
  }
}

@media (max-width: 420px) {
  .mz-registration-main-card {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  .mz-price-term {
    font-size: 0.76rem !important;
  }

  .mz-benefits-list li {
    grid-template-columns: 38px minmax(0, 1fr) !important;
    gap: 14px !important;
    font-size: 0.92rem !important;
  }

  .mz-benefit-icon,
  .mz-reg-info-icon {
    transform: scale(0.9) !important;
    transform-origin: center !important;
  }
}

/* REDUCED MOTION */

@media (prefers-reduced-motion: reduce) {
  .mz-price-card,
  .mz-registration-cta,
  .mz-registration-cta::before {
    transition: none !important;
  }

  .mz-price-card:hover,
  .mz-registration-cta:hover,
  .mz-registration-cta:focus-visible {
    transform: none !important;
  }
}

/* =========================================================
   REGISTRATION MODULE — IMAGE ICON VERSION
   ========================================================= */

.mz-registration-module {
  width: 100% !important;
  position: relative !important;
  z-index: 2 !important;
  padding: 0 18px clamp(46px, 6vw, 86px) !important;
  background: transparent !important;
}

.mz-registration-wrap {
  width: 100% !important;
  max-width: 1240px !important;
  margin: 0 auto !important;

  display: grid !important;
  grid-template-columns: 820px 360px !important;
  grid-template-areas:
    "main benefits"
    "strip strip"
    "note note" !important;

  gap: 34px 36px !important;
  position: relative !important;
}

/* Wygaszenie starych pseudo-ikon, jeśli poprzedni CSS jeszcze gdzieś działa */

.mz-price-icon::before,
.mz-price-icon::after,
.mz-benefit-icon::before,
.mz-benefit-icon::after,
.mz-reg-info-icon::before,
.mz-reg-info-icon::after,
.mz-registration-head-icon::before,
.mz-registration-head-icon::after {
  content: none !important;
  display: none !important;
}

/* =====================
   MAIN DARK CARD
   ===================== */

.mz-registration-main-card {
  grid-area: main !important;
  position: relative !important;
  overflow: hidden !important;

  padding: 42px 44px 38px !important;
  border-radius: 14px !important;

  background:
    radial-gradient(circle at 18% 0%, rgba(216, 170, 88, 0.14), transparent 36%),
    radial-gradient(circle at 88% 22%, rgba(255, 255, 255, 0.055), transparent 34%),
    linear-gradient(135deg, #08192a 0%, #06111d 100%) !important;

  border: 1px solid rgba(216, 170, 88, 0.16) !important;

  box-shadow:
    0 30px 76px rgba(8, 25, 42, 0.30),
    0 1px 0 rgba(255, 255, 255, 0.08) inset !important;
}

.mz-registration-main-card::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  background:
    linear-gradient(
      115deg,
      rgba(255,255,255,0) 0%,
      rgba(255,255,255,.045) 46%,
      rgba(255,255,255,0) 72%
    ) !important;
  opacity: .8 !important;
}

.mz-registration-card-head {
  position: relative !important;
  z-index: 2 !important;
  display: flex !important;
  align-items: center !important;
  gap: 20px !important;
  margin-bottom: 34px !important;
}

.mz-registration-head-icon {
  width: 54px !important;
  height: 54px !important;
  flex: 0 0 54px !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.mz-registration-head-icon img {
  display: block !important;
  width: 46px !important;
  height: 46px !important;
  object-fit: contain !important;
}

.mz-registration-kicker {
  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.9rem !important;
  line-height: 1.25 !important;
  font-weight: 900 !important;
  letter-spacing: 0.17em !important;
  text-transform: uppercase !important;
  color: #d8aa58 !important;
  margin-bottom: 0px !important;
}

.mz-registration-card-head h2 {
  margin: 0 !important;
  padding: 0 !important;

  font-family: "Lato", Arial, sans-serif !important;
  font-size: 1.0rem !important;
  line-height: 1.36 !important;
  font-weight: 300 !important;

  color: rgba(248, 246, 241, 0.88) !important;
}

/* =====================
   PRICE CARDS
   ===================== */

.mz-price-grid {
  position: relative !important;
  z-index: 2 !important;

  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 18px !important;
}

.mz-price-card {
  position: relative !important;
  min-width: 0 !important;

  padding: 38px 22px 28px !important;
  border-radius: 12px !important;

  background:
    linear-gradient(180deg, rgba(255,255,255,0.045), rgba(255,255,255,0.018)) !important;

  border: 1px solid rgba(248, 246, 241, 0.18) !important;

  text-align: center !important;

  box-shadow:
    0 16px 36px rgba(0, 0, 0, 0.12),
    0 1px 0 rgba(255, 255, 255, 0.08) inset !important;

  transition:
    transform .26s cubic-bezier(.16, 1, .3, 1),
    border-color .26s cubic-bezier(.16, 1, .3, 1),
    box-shadow .26s cubic-bezier(.16, 1, .3, 1) !important;
}

.mz-price-card:hover {
  transform: translateY(-4px) !important;
  border-color: rgba(216, 170, 88, 0.55) !important;
  box-shadow:
    0 22px 46px rgba(0, 0, 0, 0.18),
    0 0 0 4px rgba(216, 170, 88, 0.08) !important;
}

.mz-price-card-featured {
  border-color: rgba(216, 170, 88, 0.82) !important;

  background:
    radial-gradient(circle at 50% 0%, rgba(216, 170, 88, 0.15), transparent 42%),
    linear-gradient(180deg, rgba(255,255,255,0.058), rgba(255,255,255,0.02)) !important;
}

.mz-price-badge {
  position: absolute !important;
  top: -1px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;

  min-width: 174px !important;
  padding: 8px 16px !important;
  border-radius: 0 0 8px 8px !important;

  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.66rem !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  letter-spacing: 0.17em !important;
  text-transform: uppercase !important;

  color: #08192a !important;
  background: linear-gradient(135deg, #e1b766, #c8953f) !important;
}

.mz-price-icon {
  width: 40px !important;
  height: 40px !important;
  margin: 4px auto 28px !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.mz-price-icon img {
  display: block !important;
  width: 58px !important;
  height: 58px !important;
  object-fit: contain !important;
}

.mz-price-term {
  min-height: 35px !important;
  margin-bottom: 17px !important;

  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.79rem !important;
  line-height: 1.45 !important;
  font-weight: 700 !important;
  letter-spacing: 0.095em !important;
  text-transform: uppercase !important;

  color: #f8f6f1 !important;
}

.mz-price-value {
  display: flex !important;
  justify-content: center !important;
  align-items: baseline !important;
  gap: 8px !important;
  margin-bottom: 2px !important;

  color: #f8f6f1 !important;
}

.mz-price-value span {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: clamp(4rem, 4.5vw, 5.05rem) !important;
  line-height: 0.9 !important;
  font-weight: 500 !important;
  letter-spacing: -0.045em !important;
  font-variant-numeric: lining-nums tabular-nums !important;
}

.mz-price-value small {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: clamp(1.75rem, 2vw, 2.35rem) !important;
  font-weight: 500 !important;
}

.mz-price-card-featured .mz-price-value {
  color: #d8aa58 !important;
}

.mz-price-tax {
  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.88rem !important;
  line-height: 1.35 !important;
  color: rgba(248, 246, 241, 0.82) !important;
}

.mz-price-line {
  width: 70% !important;
  height: 1px !important;
  margin: 24px auto 21px !important;

  background: linear-gradient(
    90deg,
    rgba(216, 170, 88, 0),
    rgba(216, 170, 88, 0.42),
    rgba(216, 170, 88, 0)
  ) !important;
}

.mz-price-note {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 9px !important;

  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.86rem !important;
  line-height: 1.45 !important;
  font-weight: 400 !important;

  color: rgba(248, 246, 241, 0.86) !important;
}

.mz-price-note span {
  width: 20px !important;
  height: 20px !important;
  flex: 0 0 20px !important;

  display: inline-flex !important;
  justify-content: center !important;
  align-items: center !important;

  border-radius: 999px !important;
  border: 1px solid rgba(216, 170, 88, 0.85) !important;

  color: #d8aa58 !important;
  font-size: 0.72rem !important;
}

/* =====================
   CTA
   ===================== */

.mz-registration-cta-wrap {
  position: relative !important;
  z-index: 2 !important;

  margin-top: 34px !important;

  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 15px !important;
}

.mz-registration-cta {
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate !important;

  width: min(100%, 430px) !important;
  min-height: 58px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 16px !important;

  padding: 18px 32px !important;
  border-radius: 8px !important;

  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.84rem !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  letter-spacing: 0.10em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;

  color: #08192a !important;
  background: linear-gradient(135deg, #e1b766 0%, #c8953f 100%) !important;
  border: 1px solid rgba(239, 213, 154, 0.75) !important;

  box-shadow:
    0 16px 34px rgba(200, 149, 63, 0.25),
    0 1px 0 rgba(255, 255, 255, 0.26) inset !important;

  transition:
    transform .26s cubic-bezier(.16, 1, .3, 1),
    box-shadow .26s cubic-bezier(.16, 1, .3, 1) !important;
}

.mz-registration-cta::before {
  content: "" !important;
  position: absolute !important;

  top: -50% !important;
  left: -120% !important;

  width: 90% !important;
  height: 200% !important;

  z-index: -1 !important;

  background: linear-gradient(
    115deg,
    rgba(255,255,255,0),
    rgba(255,255,255,0.28),
    rgba(255,255,255,0)
  ) !important;

  transform: skewX(-18deg) !important;
  transition: left .65s cubic-bezier(.16, 1, .3, 1) !important;
}

.mz-registration-cta:hover,
.mz-registration-cta:focus-visible {
  transform: translateY(-3px) !important;

  box-shadow:
    0 22px 46px rgba(200, 149, 63, 0.34),
    0 0 0 4px rgba(216, 170, 88, 0.12) !important;
}

.mz-registration-cta:hover::before,
.mz-registration-cta:focus-visible::before {
  left: 130% !important;
}

.mz-registration-cta:focus-visible {
  outline: 2px solid #efd59a !important;
  outline-offset: 4px !important;
}

.mz-registration-safe-note {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 9px !important;

  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.88rem !important;
  line-height: 1.4 !important;

  color: rgba(248, 246, 241, 0.76) !important;
}

.mz-registration-safe-note span {
  color: #d8aa58 !important;
}

/* =====================
   BENEFITS CARD
   ===================== */

.mz-registration-benefits-card {
  grid-area: benefits !important;
  position: relative !important;

  padding: 38px 36px !important;
  border-radius: 14px !important;

  background:
    radial-gradient(circle at 100% 100%, rgba(216, 170, 88, 0.10), transparent 38%),
    linear-gradient(180deg, rgba(255,255,255,0.98), rgba(255,255,255,0.92)) !important;

  border: 1px solid rgba(200, 149, 63, 0.24) !important;

  box-shadow:
    0 28px 72px rgba(8, 25, 42, 0.08),
    0 1px 0 rgba(255, 255, 255, 0.92) inset !important;
}

.mz-benefits-kicker {
  margin-bottom: 25px !important;

  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.82rem !important;
  line-height: 1.25 !important;
  font-weight: 900 !important;
  letter-spacing: 0.17em !important;
  text-transform: uppercase !important;

  color: #c8953f !important;
}

.mz-benefits-list {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.mz-benefits-list li {
  display: grid !important;
  grid-template-columns: 44px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 17px !important;

  padding: 12px 0 !important;
  border-bottom: 1px solid rgba(228, 231, 236, 0.9) !important;

  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.8rem !important;
  line-height: 1.3 !important;
  font-weight: 700 !important;

  color: #263446 !important;
}

.mz-benefits-list li:first-child {
  padding-top: 0 !important;
}

.mz-benefits-list li:last-child {
  border-bottom: 0 !important;
}

.mz-benefits-list em {
  display: inline !important;
  font-style: normal !important;
  font-weight: 400 !important;
  color: #667085 !important;
}

.mz-benefit-icon {
  width: 44px !important;
  height: 44px !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  flex: 0 0 44px !important;
}

.mz-benefit-icon img {
  display: block !important;
  width: 36px !important;
  height: 36px !important;
  object-fit: contain !important;
}

.mz-registration-alert {
  display: grid !important;
  grid-template-columns: 38px minmax(0, 1fr) !important;
  gap: 16px !important;
  align-items: start !important;

  margin-top: 28px !important;
  padding: 20px 20px !important;

  border-radius: 10px !important;

  background: rgba(216, 170, 88, 0.10) !important;
  border: 1px solid rgba(200, 149, 63, 0.28) !important;
}

.mz-alert-icon {
  width: 34px !important;
  height: 34px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  border-radius: 999px !important;
  border: 2px solid #c8953f !important;

  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.95rem !important;
  line-height: 1 !important;
  font-weight: 900 !important;

  color: #c8953f !important;
}

.mz-registration-alert strong {
  display: block !important;
  margin-bottom: 5px !important;

  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.98rem !important;
  line-height: 1.35 !important;
  font-weight: 900 !important;

  color: #08192a !important;
}

.mz-registration-alert p {
  margin: 0 !important;

  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.9rem !important;
  line-height: 1.55 !important;
  font-weight: 400 !important;

  color: #667085 !important;
}

/* =====================
   INFO STRIP
   ===================== */

.mz-registration-info-strip {
  grid-area: strip !important;

  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 0 !important;

  padding: 26px 30px !important;
  border-radius: 14px !important;

  background: rgba(255, 255, 255, 0.96) !important;
  border: 1px solid rgba(228, 231, 236, 0.9) !important;

  box-shadow:
    0 22px 62px rgba(8, 25, 42, 0.08),
    0 1px 0 rgba(255, 255, 255, 0.92) inset !important;
}

.mz-reg-info-item {
  display: grid !important;
  grid-template-columns: 48px minmax(0, 1fr) !important;
  gap: 17px !important;
  align-items: center !important;

  padding: 0 24px !important;
  border-right: 1px solid rgba(228, 231, 236, 0.95) !important;
}

.mz-reg-info-item:first-child {
  padding-left: 0 !important;
}

.mz-reg-info-item:last-child {
  border-right: 0 !important;
  padding-right: 0 !important;
}

.mz-reg-info-icon {
  width: 48px !important;
  height: 48px !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  flex: 0 0 48px !important;
}

.mz-reg-info-icon img {
  display: block !important;
  width: 42px !important;
  height: 42px !important;
  object-fit: contain !important;
}

.mz-reg-info-item strong {
  display: block !important;
  margin-bottom: 4px !important;

  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.78rem !important;
  line-height: 1.3 !important;
  font-weight: 900 !important;
  letter-spacing: 0.09em !important;
  text-transform: uppercase !important;

  color: #08192a !important;
}

.mz-reg-info-item span {
  display: block !important;

  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.72rem !important;
  line-height: 1.2 !important;
  font-weight: 400 !important;

  color: #263446 !important;
}

/* =====================
   BOTTOM NOTE
   ===================== */

.mz-registration-bottom-note {
  grid-area: note !important;

  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 10px !important;

  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.95rem !important;
  line-height: 1.55 !important;
  font-weight: 400 !important;

  color: #263446 !important;
  text-align: center !important;
}

.mz-registration-bottom-note span {
  color: #c8953f !important;
}

/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 1180px) {
  .mz-registration-wrap {
    grid-template-columns: 1fr !important;
    grid-template-areas:
      "main"
      "benefits"
      "strip"
      "note" !important;

    max-width: 920px !important;
  }

  .mz-registration-benefits-card {
    max-width: 100% !important;
  }

  .mz-benefits-list {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0 34px !important;
  }

  .mz-registration-alert {
    max-width: 520px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

@media (max-width: 900px) {
  .mz-price-grid {
    grid-template-columns: 1fr !important;
  }

  .mz-price-card {
    padding: 34px 24px 26px !important;
  }

  .mz-price-term {
    min-height: auto !important;
  }

  .mz-registration-info-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0 !important;
    padding: 8px 24px !important;
  }

  .mz-reg-info-item {
    padding: 22px 0 !important;
    border-right: 0 !important;
    border-bottom: 1px solid rgba(228, 231, 236, 0.95) !important;
  }

  .mz-reg-info-item:nth-child(odd) {
    padding-right: 20px !important;
  }

  .mz-reg-info-item:nth-child(even) {
    padding-left: 20px !important;
  }

  .mz-reg-info-item:nth-last-child(-n+2) {
    border-bottom: 0 !important;
  }
}

@media (max-width: 767px) {
  .mz-registration-module {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  .mz-registration-wrap {
    gap: 24px !important;
  }

  .mz-registration-main-card,
  .mz-registration-benefits-card {
    border-radius: 12px !important;
  }

  .mz-registration-main-card {
    padding: 30px 18px 32px !important;
  }

  .mz-registration-card-head {
    align-items: flex-start !important;
    gap: 15px !important;
    margin-bottom: 28px !important;
  }

  .mz-registration-head-icon {
    width: 46px !important;
    height: 46px !important;
    flex-basis: 46px !important;
  }

  .mz-registration-head-icon img {
    width: 40px !important;
    height: 40px !important;
  }

  .mz-registration-kicker {
    font-size: 0.72rem !important;
    letter-spacing: 0.13em !important;
  }

  .mz-price-grid {
    gap: 16px !important;
  }

  .mz-price-card {
    padding: 32px 20px 25px !important;
  }

  .mz-price-icon {
    width: 58px !important;
    height: 58px !important;
    margin-bottom: 22px !important;
  }

  .mz-price-icon img {
    width: 50px !important;
    height: 50px !important;
  }

  .mz-price-value span {
    font-size: clamp(3.4rem, 16vw, 4.6rem) !important;
  }

  .mz-registration-cta {
    width: 100% !important;
    min-height: 56px !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
    font-size: 0.78rem !important;
  }

  .mz-benefits-list {
    grid-template-columns: 1fr !important;
  }

  .mz-registration-benefits-card {
    padding: 30px 22px !important;
  }

  .mz-registration-info-strip {
    grid-template-columns: 1fr !important;
    padding: 8px 22px !important;
  }

  .mz-reg-info-item {
    padding: 20px 0 !important;
    border-bottom: 1px solid rgba(228, 231, 236, 0.95) !important;
  }

  .mz-reg-info-item:nth-child(odd),
  .mz-reg-info-item:nth-child(even) {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .mz-reg-info-item:last-child {
    border-bottom: 0 !important;
  }

  .mz-registration-bottom-note {
    font-size: 0.88rem !important;
  }
}

@media (max-width: 420px) {
  .mz-registration-main-card {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  .mz-price-term {
    font-size: 0.76rem !important;
  }

  .mz-benefits-list li {
    grid-template-columns: 40px minmax(0, 1fr) !important;
    gap: 14px !important;
    font-size: 0.92rem !important;
  }

  .mz-benefit-icon {
    width: 40px !important;
    height: 40px !important;
    flex-basis: 40px !important;
  }

  .mz-benefit-icon img {
    width: 34px !important;
    height: 34px !important;
  }

  .mz-reg-info-icon {
    width: 42px !important;
    height: 42px !important;
    flex-basis: 42px !important;
  }

  .mz-reg-info-icon img {
    width: 38px !important;
    height: 38px !important;
  }
}

/* REDUCED MOTION */

@media (prefers-reduced-motion: reduce) {
  .mz-price-card,
  .mz-registration-cta,
  .mz-registration-cta::before {
    transition: none !important;
  }

  .mz-price-card:hover,
  .mz-registration-cta:hover,
  .mz-registration-cta:focus-visible {
    transform: none !important;
  }
}

/* =========================================================
   REGISTRATION — FINAL DETAILS
   Mini shield + accommodation exclusion box
   ========================================================= */

/* Mała tarcza przy notkach */

.mz-mini-shield {
  width: 16px !important;
  height: 16px !important;
  flex: 0 0 16px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  transform: translateY(1px) !important;
}

.mz-mini-shield img {
  display: block !important;
  width: 16px !important;
  height: 16px !important;
  object-fit: contain !important;
}

/* Notka pod CTA */

.mz-registration-safe-note {
  gap: 8px !important;
}

.mz-registration-safe-note .mz-mini-shield {
  opacity: 0.92 !important;
}

/* Dolna notka */

.mz-registration-bottom-note {
  gap: 9px !important;
}

.mz-registration-bottom-note .mz-mini-shield {
  opacity: 0.9 !important;
}

/* Box: opłata nie obejmuje zakwaterowania */

.mz-registration-alert.mz-registration-exclusion {
  background:
    linear-gradient(180deg, rgba(216, 170, 88, 0.13), rgba(216, 170, 88, 0.07)) !important;

  border: 1px solid rgba(200, 149, 63, 0.38) !important;

  box-shadow:
    0 14px 34px rgba(200, 149, 63, 0.08),
    0 1px 0 rgba(255, 255, 255, 0.72) inset !important;
}

.mz-registration-exclusion .mz-alert-icon {
  border-color: #c8953f !important;
  color: #c8953f !important;
  background: rgba(255, 255, 255, 0.55) !important;
}

.mz-registration-exclusion strong {
  font-size: 1rem !important;
  line-height: 1.35 !important;
  font-weight: 900 !important;
  color: #08192a !important;
}

.mz-registration-exclusion p {
  margin-top: 6px !important;
  font-size: 0.9rem !important;
  line-height: 1.55 !important;
  color: #667085 !important;
}

/* Mobile */

@media (max-width: 767px) {
  .mz-mini-shield {
    width: 15px !important;
    height: 15px !important;
    flex-basis: 15px !important;
  }

  .mz-mini-shield img {
    width: 15px !important;
    height: 15px !important;
  }

  .mz-registration-exclusion strong {
    font-size: 0.96rem !important;
  }

  .mz-registration-exclusion p {
    font-size: 0.86rem !important;
  }
}

/* =========================================================
   SANS SOUCI HEADER MENU
   Shortcode: [ss_header_menu]
   ========================================================= */

.ss-header-menu {
  position: relative !important;
  z-index: 100 !important;

  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;

  width: 100% !important;
  font-family: "Lato", Arial, sans-serif !important;
}

/* DESKTOP MENU */

.ss-header-menu-list {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: clamp(18px, 2vw, 32px) !important;

  margin: 0 !important;
  padding: 0 !important;

  list-style: none !important;
}

.ss-header-menu-list li {
  position: relative !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.ss-header-menu-list a {
  position: relative !important;

  display: inline-flex !important;
  align-items: center !important;

  padding: 10px 0 !important;

  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.82rem !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
  letter-spacing: 0.045em !important;
  text-transform: none !important;
  text-decoration: none !important;

  color: rgba(248, 246, 241, 0.88) !important;

  transition:
    color .22s ease,
    opacity .22s ease !important;
}

.ss-header-menu-list a::after {
  content: "" !important;

  position: absolute !important;
  left: 0 !important;
  bottom: 4px !important;

  width: 100% !important;
  height: 1px !important;

  background: linear-gradient(
    90deg,
    rgba(216, 170, 88, 0),
    rgba(216, 170, 88, 0.9),
    rgba(216, 170, 88, 0)
  ) !important;

  opacity: 0 !important;
  transform: scaleX(0.3) !important;
  transform-origin: center !important;

  transition:
    opacity .22s ease,
    transform .22s ease !important;
}

.ss-header-menu-list a:hover,
.ss-header-menu-list a:focus-visible {
  color: #d8aa58 !important;
}

.ss-header-menu-list a:hover::after,
.ss-header-menu-list a:focus-visible::after,
.ss-header-menu-list .current-menu-item > a::after,
.ss-header-menu-list .current-menu-ancestor > a::after {
  opacity: 1 !important;
  transform: scaleX(1) !important;
}

.ss-header-menu-list .current-menu-item > a,
.ss-header-menu-list .current-menu-ancestor > a {
  color: #d8aa58 !important;
}

/* DROPDOWN */

.ss-header-menu-list .sub-menu {
  position: absolute !important;
  top: calc(100% + 10px) !important;
  left: 50% !important;

  min-width: 220px !important;

  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;

  margin: 0 !important;
  padding: 10px !important;

  list-style: none !important;

  background:
    linear-gradient(180deg, rgba(8, 25, 42, 0.98), rgba(6, 17, 29, 0.98)) !important;

  border: 1px solid rgba(216, 170, 88, 0.18) !important;
  border-radius: 10px !important;

  box-shadow:
    0 18px 44px rgba(0, 0, 0, 0.26),
    0 1px 0 rgba(255, 255, 255, 0.06) inset !important;

  opacity: 0 !important;
  visibility: hidden !important;
  transform: translate(-50%, 8px) !important;

  transition:
    opacity .22s ease,
    visibility .22s ease,
    transform .22s ease !important;
}

.ss-header-menu-list li:hover > .sub-menu,
.ss-header-menu-list li:focus-within > .sub-menu {
  opacity: 1 !important;
  visibility: visible !important;
  transform: translate(-50%, 0) !important;
}

.ss-header-menu-list .sub-menu a {
  width: 100% !important;
  display: flex !important;

  padding: 11px 13px !important;
  border-radius: 7px !important;

  font-size: 0.78rem !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
  letter-spacing: 0.025em !important;

  color: rgba(248, 246, 241, 0.86) !important;
}

.ss-header-menu-list .sub-menu a::after {
  display: none !important;
}

.ss-header-menu-list .sub-menu a:hover,
.ss-header-menu-list .sub-menu a:focus-visible {
  color: #d8aa58 !important;
  background: rgba(255, 255, 255, 0.055) !important;
}

/* TOGGLE BUTTON */

.ss-menu-toggle {
  display: none !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;

  min-height: 42px !important;
  padding: 10px 14px !important;

  border: 1px solid rgba(248, 246, 241, 0.22) !important;
  border-radius: 8px !important;

  background: rgba(6, 17, 29, 0.35) !important;
  color: #f8f6f1 !important;

  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.76rem !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;

  cursor: pointer !important;

  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
}

.ss-menu-toggle-lines {
  width: 18px !important;
  height: 14px !important;

  display: inline-flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
}

.ss-menu-toggle-lines span {
  display: block !important;
  width: 100% !important;
  height: 2px !important;

  border-radius: 999px !important;
  background: #d8aa58 !important;

  transition:
    transform .22s ease,
    opacity .22s ease !important;
}

.ss-menu-toggle[aria-expanded="true"] .ss-menu-toggle-lines span:nth-child(1) {
  transform: translateY(6px) rotate(45deg) !important;
}

.ss-menu-toggle[aria-expanded="true"] .ss-menu-toggle-lines span:nth-child(2) {
  opacity: 0 !important;
}

.ss-menu-toggle[aria-expanded="true"] .ss-menu-toggle-lines span:nth-child(3) {
  transform: translateY(-6px) rotate(-45deg) !important;
}

/* MOBILE */

@media (max-width: 1024px) {
  .ss-header-menu {
    justify-content: flex-end !important;
  }

  .ss-menu-toggle {
    display: inline-flex !important;
  }

  .ss-header-menu-list {
    position: absolute !important;
    top: calc(100% + 12px) !important;
    right: 0 !important;

    width: min(86vw, 320px) !important;

    display: none !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0 !important;

    margin: 0 !important;
    padding: 10px !important;

    background:
      linear-gradient(180deg, rgba(8, 25, 42, 0.98), rgba(6, 17, 29, 0.98)) !important;

    border: 1px solid rgba(216, 170, 88, 0.18) !important;
    border-radius: 12px !important;

    box-shadow:
      0 22px 54px rgba(0, 0, 0, 0.28),
      0 1px 0 rgba(255, 255, 255, 0.06) inset !important;
  }

  .ss-header-menu.is-open .ss-header-menu-list {
    display: flex !important;
  }

  .ss-header-menu-list > li > a {
    width: 100% !important;
    padding: 13px 12px !important;
    border-radius: 8px !important;

    font-size: 0.82rem !important;
  }

  .ss-header-menu-list > li > a::after {
    display: none !important;
  }

  .ss-header-menu-list > li > a:hover,
  .ss-header-menu-list > li > a:focus-visible {
    background: rgba(255, 255, 255, 0.055) !important;
  }

  .ss-header-menu-list .sub-menu {
    position: static !important;
    left: auto !important;
    top: auto !important;

    min-width: 0 !important;

    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    transform: none !important;

    margin: 0 0 4px 12px !important;
    padding: 0 0 0 12px !important;

    border: 0 !important;
    border-left: 1px solid rgba(216, 170, 88, 0.25) !important;
    border-radius: 0 !important;

    background: transparent !important;
    box-shadow: none !important;
  }

  .ss-header-menu-list .sub-menu a {
    padding: 9px 10px !important;
    font-size: 0.76rem !important;
  }
}

/* =========================================================
   CF7 FOOTER CONTACT FORM — SANS SOUCI STYLE
   ========================================================= */

.ss-footer-contact-form {
  width: 100% !important;
  max-width: 340px !important;
  margin: 0 !important;
  padding: 0 !important;

  font-family: "Lato", Arial, sans-serif !important;
}

.ss-footer-contact-form p {
  margin: 0 !important;
  padding: 0 !important;
}

.ss-footer-field {
  width: 100% !important;
  margin: 0 0 9px !important;
  padding: 0 !important;
}

.ss-footer-contact-form .wpcf7-form-control-wrap {
  display: block !important;
  width: 100% !important;
}

/* Pola */

.ss-footer-contact-form input[type="text"],
.ss-footer-contact-form input[type="email"],
.ss-footer-contact-form textarea {
  width: 100% !important;
  max-width: 100% !important;

  min-height: 38px !important;
  margin: 0 !important;
  padding: 10px 13px !important;

  border: 1px solid rgba(248, 246, 241, 0.18) !important;
  border-radius: 6px !important;

  background: rgba(255, 255, 255, 0.045) !important;
  color: #f8f6f1 !important;

  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.82rem !important;
  line-height: 1.35 !important;
  font-weight: 400 !important;

  outline: none !important;
  box-shadow: none !important;

  transition:
    border-color .22s ease,
    background-color .22s ease,
    box-shadow .22s ease !important;
}

.ss-footer-contact-form textarea {
  min-height: 74px !important;
  max-height: 120px !important;
  resize: vertical !important;
}

.ss-footer-contact-form input[type="text"]::placeholder,
.ss-footer-contact-form input[type="email"]::placeholder,
.ss-footer-contact-form textarea::placeholder {
  color: rgba(248, 246, 241, 0.48) !important;
}

.ss-footer-contact-form input[type="text"]:focus,
.ss-footer-contact-form input[type="email"]:focus,
.ss-footer-contact-form textarea:focus {
  border-color: rgba(216, 170, 88, 0.82) !important;
  background: rgba(255, 255, 255, 0.07) !important;
  box-shadow: 0 0 0 3px rgba(216, 170, 88, 0.12) !important;
}

/* RODO */

.ss-footer-rodo {
  margin: 8px 0 12px !important;
  padding: 0 !important;

  color: rgba(248, 246, 241, 0.62) !important;
}

.ss-footer-rodo .wpcf7-list-item {
  margin: 0 !important;
  display: block !important;
}

.ss-footer-rodo label {
  display: grid !important;
  grid-template-columns: 15px minmax(0, 1fr) !important;
  gap: 8px !important;
  align-items: start !important;

  cursor: pointer !important;
}

.ss-footer-rodo input[type="checkbox"] {
  width: 14px !important;
  height: 14px !important;
  margin: 2px 0 0 !important;

  accent-color: #c8953f !important;
}

.ss-footer-rodo span {
  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.68rem !important;
  line-height: 1.45 !important;
  font-weight: 400 !important;

  color: rgba(248, 246, 241, 0.62) !important;
}

/* Submit */

.ss-footer-submit-wrap {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.ss-footer-contact-form .ss-footer-submit,
.ss-footer-contact-form input[type="submit"].ss-footer-submit {
  width: 100% !important;
  min-height: 40px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  margin: 0 !important;
  padding: 12px 18px !important;

  border: 1px solid rgba(239, 213, 154, 0.65) !important;
  border-radius: 6px !important;

  background: linear-gradient(135deg, #d8aa58 0%, #c8953f 100%) !important;
  color: #06111d !important;

  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.76rem !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;

  cursor: pointer !important;

  box-shadow:
    0 12px 28px rgba(200, 149, 63, 0.22),
    0 1px 0 rgba(255, 255, 255, 0.24) inset !important;

  transition:
    transform .22s ease,
    box-shadow .22s ease,
    background .22s ease !important;
}

.ss-footer-contact-form .ss-footer-submit:hover,
.ss-footer-contact-form .ss-footer-submit:focus-visible {
  transform: translateY(-2px) !important;
  box-shadow:
    0 16px 34px rgba(200, 149, 63, 0.30),
    0 0 0 3px rgba(216, 170, 88, 0.11) !important;
}

.ss-footer-contact-form .ss-footer-submit:focus-visible {
  outline: 2px solid #efd59a !important;
  outline-offset: 3px !important;
}

/* CF7 validation / messages */

.ss-footer-contact-form .wpcf7-not-valid-tip {
  margin-top: 4px !important;

  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.68rem !important;
  line-height: 1.35 !important;

  color: #f4b4b4 !important;
}

.ss-footer-contact-form .wpcf7-response-output {
  margin: 10px 0 0 !important;
  padding: 9px 11px !important;

  border-radius: 6px !important;

  font-family: "Lato", Arial, sans-serif !important;
  font-size: 0.72rem !important;
  line-height: 1.45 !important;

  color: rgba(248, 246, 241, 0.86) !important;
  border-color: rgba(216, 170, 88, 0.35) !important;
  background: rgba(255, 255, 255, 0.045) !important;
}

.ss-footer-contact-form .wpcf7-spinner {
  width: 16px !important;
  height: 16px !important;
  margin: 8px auto 0 !important;
  display: block !important;
}

/* Mobile */

@media (max-width: 767px) {
  .ss-footer-contact-form {
    max-width: 100% !important;
  }

  .ss-footer-contact-form input[type="text"],
  .ss-footer-contact-form input[type="email"],
  .ss-footer-contact-form textarea {
    font-size: 0.86rem !important;
  }

  .ss-footer-rodo span {
    font-size: 0.7rem !important;
  }
}

/* =========================================================
   HEADER MENU — MOBILE TOGGLE FIX
   ========================================================= */

.ss-header-menu {
  position: relative !important;
  z-index: 9999 !important;
}

.ss-menu-toggle {
  position: relative !important;
  z-index: 10002 !important;
  pointer-events: auto !important;
}

.ss-header-menu-list {
  z-index: 10001 !important;
}

@media (max-width: 1024px) {
  .ss-menu-toggle {
    display: inline-flex !important;
  }

  .ss-header-menu-list {
    display: none !important;
  }

  .ss-header-menu.is-open .ss-header-menu-list {
    display: flex !important;
  }
}

/* =========================================================
   GLOBAL MOBILE OVERFLOW FIX
   zabezpieczenie przed poziomym rozjazdem strony
   ========================================================= */

html,
body {
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: hidden !important;
}

body {
  position: relative !important;
}

*,
*::before,
*::after {
  box-sizing: border-box !important;
}

img,
svg,
video,
canvas,
iframe {
  max-width: 100% !important;
}

/* Visual Composer / WPBakery — częsty winowajca poziomego scrolla */

.vc_row,
.wpb_row,
.vc_row-fluid,
.vc_column_container,
.vc_column-inner,
.wpb_wrapper {
  max-width: 100% !important;
  box-sizing: border-box !important;
}

.vc_row[data-vc-full-width="true"] {
  overflow-x: hidden !important;
}

/* Mobile hard guard */

@media (max-width: 767px) {
  body {
    overflow-x: hidden !important;
  }

  .vc_row,
  .wpb_row,
  .vc_row-fluid {
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: 100vw !important;
  }

  .vc_column_container,
  .vc_column-inner,
  .wpb_wrapper {
    max-width: 100% !important;
  }

  /* Nasze sekcje / moduły */

  .mz-hero-copy,
  .mz-hero-actions,
  .mz-countdown-wrap,
  .mz-invite-wrap,
  .mz-info-card,
  .mz-program-preview,
  .mz-program-preview-wrap,
  .mz-registration-module,
  .mz-registration-wrap,
  .mz-section-heading,
  .ss-header-menu,
  .ss-header-menu-list {
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .mz-countdown-wrap,
  .mz-invite-wrap,
  .mz-program-preview-wrap,
  .mz-registration-wrap {
    width: calc(100vw - 28px) !important;
    max-width: calc(100vw - 28px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* Elementy, które mogą mieć fixed/min-width */

  .mz-countdown,
  .mz-program-tabs,
  .mz-program-preview-grid,
  .mz-registration-info-strip,
  .mz-registration-main-card,
  .mz-registration-benefits-card,
  .mz-info-card {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  /* Przyciski w hero */

  .mz-hero-actions {
    width: 100% !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
  }

  .mz-hero-btn,
  .mz-registration-cta,
  .mz-program-soon-btn {
    max-width: 100% !important;
    min-width: 0 !important;
  }

  /* Menu mobilne */

  .ss-header-menu {
    overflow: visible !important;
  }

  .ss-menu-toggle {
    max-width: calc(100vw - 24px) !important;
  }

  .ss-header-menu-list {
    right: 0 !important;
    max-width: calc(100vw - 24px) !important;
  }
}

.woocommerce-terms-and-conditions-wrapper {margin-bottom:30px;}