/* Code by Adam Jazowiecki */

.creditits-top__link.logo-switch {
  display: inline-flex !important;
  align-items: center;
  position: relative;
  overflow: visible !important;
  white-space: nowrap;
  flex-wrap: nowrap;
  height: 32px;
}

.logo-mark {
  display: inline-block;
  flex: 0 0 auto;
  margin-right: 0em;
  line-height: 32px;
  white-space: nowrap;
}

.logo-cbd {
  position: relative;
  display: inline-block !important;
  overflow: hidden;
  width: 6.6em;
  height: 32px;
  line-height: 32px;
  white-space: nowrap;
  transition: width 0.5s cubic-bezier(0.7, 0, 0.3, 1);
}

.logo-cbd > .logo-text {
  display: inline-block !important;
  width: auto !important;
  height: 32px;
  line-height: 32px;
  white-space: nowrap;
  transition: all 0.5s cubic-bezier(0.7, 0, 0.3, 1);
  transform: translateX(0) rotate(0.001deg);
}

.logo-cbd > .logo-text:nth-child(2) {
  padding-left: 0.25em;
}

.logo-cbd > .logo-text:nth-child(3) {
  position: absolute;
  top: 0;
  left: 6.6em;
  padding-left: 0.25em;
}

.logo-switch:hover .logo-cbd {
  width: 9.4em;
}

.logo-switch:hover .logo-cbd > .logo-text {
  transform: translateX(-3.75em) rotate(0.001deg);
}

/* Check Section Theme on Scroll
/* Płynne przejście koloru linku podczas skrolowania */
.creditits-top__link {
  transition: color 0.3s ease-in-out !important;
}

/* Stan 1: Gdy jesteś na jasnej sekcji -> link zmienia się na ciemny */
[data-theme-nav="light"] .creditits-top__link {
  color: #2f1f3b !important; /* Tutaj możesz wpisać swój dokładny odcień czerni/szarości */
}

/* Stan 2: Gdy jesteś na ciemnej sekcji -> link zmienia się na biały */
[data-theme-nav="dark"] .creditits-top__link {
  color: #ffffff !important;
}

/* Basic Modal Setup */
/* Główny kontener (tło + grupa modali) */
[data-modal-group-status] {
  position: fixed;               /* Blokuje modal na stałe na ekranie */
  top: 0;
  left: 0;
  width: 100vw;                  /* Pełna szerokość */
  height: 100vh;                 /* Pełna wysokość */
  transition: all 0.2s linear;
  
  /* STAN DOMYŚLNY (UKRYTY): */
  opacity: 0;
  visibility: hidden;
  z-index: -1;                   /* Chowa pod spód strony, gdy jest nieaktywny */
  pointer-events: none;          /* Sprawia, że ukryty modal przepuszcza kliknięcia */
}

/* STAN AKTYWNY (PO KLIKNIĘCIU): */
[data-modal-group-status="active"] {
  opacity: 1;
  visibility: visible;
  z-index: 9999;                 /* Wymusza pozycję na samym wierzchu wszystkich warstw */
  pointer-events: auto;          /* Włącza klikalność formularza, "Wyślij" i "Zamknij" */
}

/* Okienko modala wewnątrz grupy */
[data-modal-name][data-modal-status="active"] {
  display: flex;
}
/* scroll mobile-lanndscape */

@media screen and (max-height: 520px) and (orientation: landscape) {
  .modal {
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch;
  }

  .modal-contact-card {
    justify-content: flex-start !important;
    height: auto !important;
    min-height: 100%;
    padding-top: 1.25em;
    padding-bottom: 1.25em;
  }

  .modal-contact__content.is--dark {
    height: auto !important;
    min-height: auto !important;
  }

  .form-group {
    height: auto !important;
    aspect-ratio: auto !important;
  }

  .modal__btn-close {
    top: 0.75em !important;
    right: 0.75em !important;
  }
}
.modal__scroll {
  overscroll-behavior: contain;
}
.modal__scroll {
  overflow-y: auto;
  height: 100vh;
  overscroll-behavior: contain;
}


/* Detect Scrolling Direction (Up/Down) */
.nav {
  transition: transform 1s ease, padding 1s ease;
  transform: translateY(0%) rotate(0.001deg);
  padding: 2.5em 2.5em;
}

/* Shrink nav when scrolling started */
[data-scrolling-started="true"] .nav {
  padding: 1em 1em;
}

/* Move nav out of window when scrolling down */
[data-scrolling-started="true"][data-scrolling-direction="down"] .nav {
  transform: translateY(-100%) rotate(0.001deg);
}

/* Change background to filled when scrolling started */
.nav__inner {
  transition: background-color 1s ease;
  background-color: transparent;
}

[data-scrolling-started="true"] .nav__inner {
  background-color: #fff;
}


/* Bold Full Screen Navigation */
/* --------------------------------- Hamburger --------------------------------- */

.bold-nav-full__hamburger .bold-nav-full__hamburger-bar {
  transform: translate(0, 0)  rotate(0.001deg);
  transition: transform 0.5s cubic-bezier(.7, 0, .3, 1);
}

.bold-nav-full__hamburger .bold-nav-full__hamburger-bar:nth-child(1) {
  transform: translate(0, -.45em) scale(1, 1) rotate(0.001deg);
}

.bold-nav-full__hamburger .bold-nav-full__hamburger-bar:nth-child(3) {
  transform: translate(0, .45em) scale(1, 1) rotate(0.001deg);
}

/* Hamburger - Hover */
.bold-nav-full__hamburger:hover .bold-nav-full__hamburger-bar:nth-child(1) {
  transform: translate(0, -.45em) scale(.5, 1) rotate(0.001deg);
}

.bold-nav-full__hamburger:hover .bold-nav-full__hamburger-bar:nth-child(3) {
   transform: translate(0, .45em) scale(.5, 1) rotate(0.001deg);
}

/* Hamburger (Navigation Open) */

[data-navigation-status="active"]  .bold-nav-full__hamburger-bar:nth-child(1) {
  transform: translate(0, 0) rotate(45deg) scale(1, 1);
}

[data-navigation-status="active"] .bold-nav-full__hamburger-bar:nth-child(2) {
  transform: translate(-150%, 0) rotate(0.001deg) scale(1, 1);
}

[data-navigation-status="active"]  .bold-nav-full__hamburger-bar:nth-child(3) {
  transform: translate(0, 0) rotate(-45deg) scale(1, 1);
}

/*  Hamburger - Hover (Navigation Open)  */

[data-navigation-status="active"] .bold-nav-full__hamburger:hover .bold-nav-full__hamburger-bar:nth-child(1) {
  transform: translate(0, 0) rotate(45deg) scale(.7, 1);
}

[data-navigation-status="active"] .bold-nav-full__hamburger:hover .bold-nav-full__hamburger-bar:nth-child(3) {
  transform: translate(0, 0) rotate(-45deg) scale(.7, 1);
}


/* --------------------------------- Tile --------------------------------- */

.bold-nav-full__tile {
  transition: clip-path 1s cubic-bezier(.9, 0, .1, 1);
  clip-path: polygon(0% 0%, 100% 0%, 100% 0%, 0% 0%);
}

/* Tile (Navigation Open) */

[data-navigation-status="active"] .bold-nav-full__tile {
  clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
}

/* Tile - Links */

.bold-nav-full__link {
  transform: translateY(100%) rotate(5deg);
  transition: transform 0.75s cubic-bezier(.7, 0, .3, 1);
}

.bold-nav-full__li:nth-child(1) .bold-nav-full__link {transition-delay: 0.2s;}
.bold-nav-full__li:nth-child(2) .bold-nav-full__link {transition-delay: 0.15s;}
.bold-nav-full__li:nth-child(3) .bold-nav-full__link {transition-delay: 0.1s;}
.bold-nav-full__li:nth-child(4) .bold-nav-full__link {transition-delay: 0.05s;}
.bold-nav-full__li:nth-child(5) .bold-nav-full__link {transition-delay: 0s;}

/* Tile - Links (Navigation Open) */

[data-navigation-status="active"] .bold-nav-full__link {
  transform: translateY(0%) rotate(0.001deg);
  transition-delay: 0.3s;
}

[data-navigation-status="active"] .bold-nav-full__li:nth-child(1) .bold-nav-full__link {transition-delay: 0.3s;}
[data-navigation-status="active"] .bold-nav-full__li:nth-child(2) .bold-nav-full__link {transition-delay: 0.35s;}
[data-navigation-status="active"] .bold-nav-full__li:nth-child(3) .bold-nav-full__link {transition-delay: 0.4s;}
[data-navigation-status="active"] .bold-nav-full__li:nth-child(4) .bold-nav-full__link {transition-delay: 0.45s;}
[data-navigation-status="active"] .bold-nav-full__li:nth-child(5) .bold-nav-full__link {transition-delay: 0.5s;}


/* Tile - Links (Hover) */

.bold-nav-full__li {
  transition: opacity 0.5s cubic-bezier(.7, 0, .3, 1);
}

.bold-nav-full__ul:has(.bold-nav-full__li:hover) .bold-nav-full__li {
  opacity: 0.15;
}

.bold-nav-full__ul:has(.bold-nav-full__li:hover) .bold-nav-full__li:hover {
  opacity: 1;
}

/* Tile - Links (Hover) */

.bold-nav-full__link .bold-nav-full__link-text {
  transition: transform 0.5s cubic-bezier(.7, 0, .3, 1);
  transform: translateY(0%) rotate(0.001deg);
}

.bold-nav-full__link:hover .bold-nav-full__link-text {
  transform: translateY(-100%) rotate(0.001deg);
}

/* Button */
:root {
  --button-013-color: #a150db;
  --button-013-color-background: #17191e;
  --button-013-hover-color: #fff;
  --button-013-hover-color-background: #a150db;
  --button-013-color-focus: #a150db;
  --button-013-border-radius: 50%;
  --button-013-padding: 1em 1em;
  --button-013-focus-inset: -0.125em;
  --button-013-click-scale: 0.955 0.925;
  --button-013-ease-click: cubic-bezier(0.4, 0, 0.2, 1);
  --button-013-ease-hover: cubic-bezier(0.19, 0.69, 0.33, 1.33);
  --button-013-ease-hover-soft-out: cubic-bezier(0.215, 0.61, 0.355, 1);
  --button-013-ease-focus: cubic-bezier(0.32, 0.72, 0, 1);
}

.button-013 {
  -webkit-tap-highlight-color: transparent;
  transition: color 0.15s var(--button-013-ease-hover-soft-out), scale 0.15s var(--button-013-ease-click);
}

.button-013:is(:focus-visible)::after {
  box-shadow: 0 0 0 0.125em var(--button-013-color-focus);
}

.button-013:active {
  scale: var(--button-013-click-scale);
}

.button-013::after {
  content: '';
  display: block;
  position: absolute;
  inset: var(--button-013-focus-inset);
  border-radius: var(--button-013-border-radius);
  transition: box-shadow 0.3s var(--button-013-ease-focus);
  pointer-events: none;
  z-index: 1;
}

.button-013__bg-hover {
  clip-path: inset(1em 1em 1em 1em round var(--button-013-border-radius));
  opacity: 0;
  transition: clip-path 0.4s var(--button-013-ease-hover), opacity 0.15s var(--button-013-ease-hover-soft-out);
}

@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .button-013:is(:hover, :focus-visible),
  [data-hover]:is(:hover, :focus-visible) .button-013 {
    color: var(--button-013-hover-color);
    transition: color 0.15s 0.05s var(--button-013-ease-hover-soft-out), scale 0.15s var(--button-013-ease-click);
  }

  .button-013:is(:hover, :focus-visible) .button-013__bg-hover,
  [data-hover]:is(:hover, :focus-visible) .button-013 .button-013__bg-hover {
    clip-path: inset(0em 0em 0em 0em round var(--button-013-border-radius));
    opacity: 1;
    transition: clip-path 0.4s 0.05s var(--button-013-ease-hover), opacity 0.15s 0.05s var(--button-013-ease-hover-soft-out);
  }
}
:root {
  --button-097-color: white;
  --button-097-color-background: #a150db;
  --button-097-hover-color: white;
  --button-097-hover-color-background: #2f1f3b;
  --button-097-color-focus: white;
  --button-097-border-radius: 1.5em;
  --button-097-dot-border-radius: 0.25em;
  --button-097-padding-right: 0.75em;
  --button-097-padding-left: 1em;
  --button-097-gap: 0.375em;
  --button-097-dot-size: 0.5em;
  --button-097-focus-inset: -0.125em;
  --button-097-ease-hover: cubic-bezier(0.32, 0.72, 0, 1);
  --button-097-ease-focus: cubic-bezier(0.32, 0.72, 0, 1);
}

.button-097 {
  --button-097-padding: 0.75em calc(var(--button-097-padding-right) + var(--button-097-gap) + var(--button-097-dot-size)) 0.75em var(--button-097-padding-left);
  --button-097-offset: calc((var(--button-097-padding-right) + var(--button-097-gap) + var(--button-097-dot-size) - var(--button-097-padding-left)) / 2);
  -webkit-tap-highlight-color: transparent;
}

.button-097:is(:focus-visible)::after {
  box-shadow: 0 0 0 0.125em var(--button-097-color-focus);
}

.button-097::after {
  content: '';
  display: block;
  position: absolute;
  inset: var(--button-097-focus-inset);
  border-radius: var(--button-097-border-radius);
  transition: box-shadow 0.3s var(--button-097-ease-focus);
  pointer-events: none;
  z-index: 1;
}

.button-097__text {
  will-change: transform;
  transition: translate 0.55s var(--button-097-ease-hover);
}

.button-097__hover {
  clip-path: inset(calc(50% - var(--button-097-dot-size) * 0.5) var(--button-097-padding-right) calc(50% - var(--button-097-dot-size) * 0.5) calc(100% - (var(--button-097-dot-size) + var(--button-097-padding-right))) round var(--button-097-dot-border-radius));
  transition: clip-path 0.55s var(--button-097-ease-hover);
}

@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .button-097:is(:hover, :focus-visible) .button-097__hover,
  [data-hover]:is(:hover, :focus-visible) .button-097 .button-097__hover {
    clip-path: inset(0% 0% 0% 0% round var(--button-097-border-radius));
    transition-delay: 0.05s;
  }

  .button-097:is(:hover, :focus-visible) .button-097__text,
  [data-hover]:is(:hover, :focus-visible) .button-097 .button-097__text {
    translate: var(--button-097-offset) 0 0;
    transition-delay: 0.05s;
  }
}


/* Magnetic Effect Button */

.btn-magnetic__click .btn-magnetic__text-p {
  transition: all 0.6s cubic-bezier(0.625, 0.05, 0, 1);
  transform: translateY(0%) rotate(0.001deg);
}
.btn-magnetic__click:hover .btn-magnetic__text-p {
  transform: translateY(-100%) rotate(0.001deg);
}

/* Vimeo */
/* Cover */
.vimeo-player[data-vimeo-update-size="cover"] {
  width: 100%;
  min-width: 100%;
  max-width: 100%;
  height: 100%;
  min-height: 100%;
  max-height: 100%;
}

/* Placeholder */
.vimeo-player[data-vimeo-activated="true"][data-vimeo-loaded="true"] .vimeo-player__placeholder {
  opacity: 0;
}

/* Dark (Overlay) */
.vimeo-player[data-vimeo-playing="false"] .vimeo-player__dark {
  opacity: 0.33;
}

.vimeo-player[data-vimeo-activated="false"][data-vimeo-playing="false"] .vimeo-player__dark {
  opacity: 0;
}

.vimeo-player[data-vimeo-activated="true"][data-vimeo-loaded="true"] .vimeo-player__dark {
  opacity: 0;
}

@media (hover: hover) and (pointer: fine) {
  .vimeo-player[data-vimeo-hover="true"]:hover .vimeo-player__dark {
    opacity: 0.33 !important;
  }
}

/* Pause */
.vimeo-player .vimeo-player__pause {
  display: none;
}

.vimeo-player[data-vimeo-playing="true"] .vimeo-player__pause {
  display: flex;
}

.vimeo-player .vimeo-player__pause .vimeo-player__btn {
  opacity: 0;
}

.vimeo-player[data-vimeo-activated="true"][data-vimeo-playing="false"] .vimeo-player__pause .vimeo-player__btn,
.vimeo-player[data-vimeo-activated="true"][data-vimeo-hover="true"]:hover .vimeo-player__pause .vimeo-player__btn {
  opacity: 1;
}

@media (hover: none) and (pointer: coarse) {
  .vimeo-player[data-vimeo-activated="true"][data-vimeo-playing="true"] .vimeo-player__pause .vimeo-player__btn {
    opacity: 0 !important;
  }
}

/* Play */
.vimeo-player[data-vimeo-playing="true"] .vimeo-player__play {
  opacity: 0;
}

/* Loading */
.vimeo-player .vimeo-player__loading {
  opacity: 0;
}

.vimeo-player[data-vimeo-playing="true"] .vimeo-player__loading {
  opacity: 1;
}

.vimeo-player[data-vimeo-playing="true"][data-vimeo-loaded="true"] .vimeo-player__loading {
  opacity: 0;
}

/* Interface */
.vimeo-player .vimeo-player__interface {
  opacity: 0;
}

.vimeo-player[data-vimeo-activated="false"][data-vimeo-playing="false"] .vimeo-player__interface {
  opacity: 1;
}

.vimeo-player .vimeo-player__interface * {
  pointer-events: all; /* Make children of div clickable by user */
}

.vimeo-player[data-vimeo-activated="true"][data-vimeo-playing="false"] .vimeo-player__interface,
.vimeo-player[data-vimeo-activated="true"][data-vimeo-hover="true"]:hover .vimeo-player__interface {
  opacity: 1;
}

@media (hover: none) and (pointer: coarse) {
  .vimeo-player[data-vimeo-activated="true"][data-vimeo-playing="true"] .vimeo-player__interface {
    opacity: 0 !important;
  }
}

/* Interface - Variables */
.vimeo-player {
  --timeline-rounded-corners: 1.5em;
  --timeline-dot-height: 0.75em;
  --timeline-dot-color: #FF4C24;
  --progress-bg: rgba(239, 238, 236, 0.2);
  --progress-fill-bg: #6C48B2;
  --progress-height: 0.2em;
}

/* Interface - Timeline */
.vimeo-player progress::-webkit-progress-bar {
  border-radius: var(--timeline-rounded-corners);
  background-color: var(--progress-bg);
  box-shadow: 0;
}

.vimeo-player progress::-webkit-progress-value {
  background: var(--progress-fill-bg);
}

.vimeo-player progress::-moz-progress-bar{
  border-radius: var(--timeline-rounded-corners);
  background: var(--progress-fill-bg);
  box-shadow: 0;
}

.vimeo-player progress::-ms-fill {
  border-radius: var(--timeline-rounded-corners);
}

/* Interface - Range */
.vimeo-player [type="range"]::-webkit-slider-thumb {
  -webkit-appearance: none;
}
 
.vimeo-player [type="range"]:focus {
  outline: none;
}
 
.vimeo-player [type="range"]::-ms-track {
  width: 100%;
  cursor: pointer;
  background-color: transparent;
  border-color: transparent;
  color: transparent;
}

.vimeo-player [type="range"]::-webkit-slider-runnable-track{
  width: 100%;
  height: var(--progress-height);
  cursor: pointer;
  background-color: var(--progress-bg);
  border-radius: var(--timeline-rounded-corners);
  background-color: transparent;
  border-color: transparent;
  color: transparent;
}

.vimeo-player [type="range"]::-webkit-slider-thumb {
  box-shadow: 0;
  height: var(--timeline-dot-height);
  width: var(--timeline-dot-height);
  border-radius: var(--timeline-rounded-corners);
  background-color: var(--timeline-dot-color);
  cursor: pointer;
  -webkit-appearance: none;
  margin-top: calc((var(--progress-height) / 2) - (var(--timeline-dot-height) / 2));
}

.vimeo-player [type="range"]::-webkit-slider-runnable-track,
.vimeo-player [type="range"]:focus::-webkit-slider-runnable-track {
  background-color: transparent;
  border-color: transparent;
  color: transparent;
}

.vimeo-player [type="range"]::-moz-range-track {
  width: 100%;
  height: var(--progress-height);
  cursor: pointer;
  background: var(--progress-bg);
  border-radius: 0;
  border: 0;
  border-radius: var(--timeline-rounded-corners);
  overflow: hidden;
  opacity: 1 !important;
}

.vimeo-player [type="range"]::-moz-range-thumb {
  box-shadow: 0;
  border: 0;
  height: var(--timeline-dot-height);
  width: var(--timeline-dot-height);
  border-radius: var(--timeline-rounded-corners);
  background: var(--timeline-dot-color);
  cursor: pointer;
  box-shadow: 0;
}

/* Interface - Mute */
.vimeo-player .vimeo-player__mute svg:nth-child(2),
.vimeo-player[data-vimeo-muted="true"] .vimeo-player__mute svg:nth-child(1) {
  display: none;
}

.vimeo-player .vimeo-player__mute svg:nth-child(1),
.vimeo-player[data-vimeo-muted="true"] .vimeo-player__mute svg:nth-child(2) {
  display: block;
}

/* Interface - Fullscreen */
.vimeo-player .vimeo-player__fullscreen svg:nth-child(2),
.vimeo-player[data-vimeo-fullscreen="true"] .vimeo-player__fullscreen svg:nth-child(1) {
  display: none;
}

.vimeo-player .vimeo-player__fullscreen svg:nth-child(1),
.vimeo-player[data-vimeo-fullscreen="true"] .vimeo-player__fullscreen svg:nth-child(2) {
  display: block;
}

/* Rotating Text */
[data-rotating-words] {
  display: inline-block;
  position: relative;
}

.rotating-text__inner {
  display: inline-block;
}

.rotating-text__word {
  display: block;
  white-space: nowrap;
  position: absolute;
  top: 0;
  left: 0;
}

.rotating-line{
  padding-bottom: 0.1em;
  margin-bottom: -0.1em;
  white-space: nowrap;
}

.rotating-line-mask{
  overflow-x: visible !important;
  overflow-y: clip !important;
}

/* Live Form Validation */
/* Field: Error */
[data-validate].is--error input,
[data-validate].is--error textarea {
  border-color: #FF4C24;
}

[data-validate].is--error .form-field-icon.is--error {
  opacity: 1;
}

/* Field: Success */
[data-validate].is--success .form-field-icon.is--success {
  opacity: 1;
}

