/*
Theme Name: Fastech
Author: bananaconda.eu
Author URI: https://bananaconda.eu/
Theme URI: https://bananaconda.eu/
Tags: full-site-editing
Text Domain: fastech
Requires at least: 6.1
Requires PHP: 7.4
Tested up to: 6.4
Version: 1.0.0

License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html

Generated on fullsiteediting.com. No code version.
*/

/* Local webfonts: Maax (regular / medium / bold) */
@font-face {
  font-family: "Maax";
  src: url("assets/fonts/Maax.otf") format("opentype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Maax";
  src: url("assets/fonts/Maax-Medium.otf") format("opentype");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Maax";
  src: url("assets/fonts/Maax-Bold.otf") format("opentype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

:root {
  --site-font-sans: "Maax";
}

/* :where(.wp-site-blocks) > * {
  margin-block-start: 0 !important;
} */

footer.wp-block-template-part {
  margin: 0 !important;
  margin-block-start: 0 !important;
}

.wp-block-polylang-language-switcher .pll-switcher-select {
  background-color: transparent;
  color: white;
  border: none;
  font-size: medium;
}

.no-line-height {
line-height: 0;
}

header {
  position: fixed;
  /* top: 25px; */
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  z-index: 1000;
  transition: background-color 360ms cubic-bezier(0.4, 0, 0.2, 1),
    color 360ms cubic-bezier(0.4, 0, 0.2, 1),
    opacity 360ms cubic-bezier(0.4, 0, 0.2, 1);
  will-change: background-color, opacity;
  --header-height: 64px;
}
header .wp-block-navigation .wp-block-navigation-item {
  padding: 5px 10px;
  border-bottom: 1px solid transparent;
}

header .wp-block-navigation .wp-block-navigation-item:hover {
  color: var(--wp--preset--color--primary);
  border-bottom: 1px solid var(--wp--preset--color--primary);
}

footer .wp-block-navigation .wp-block-navigation-item:hover {
  color: var(--wp--preset--color--primary);
}

/* when header is at the top make background transparent so the section below shows through */
header.on-top {
  background: transparent !important;
  transition: background-color 360ms cubic-bezier(0.4, 0, 0.2, 1);
}

/* Ensure divs inside header are transparent when header is on top; add transitions so the change is smooth */
header div,
header .wp-block-group,
header .wp-block-group > * {
  transition: background-color 360ms cubic-bezier(0.4, 0, 0.2, 1),
    color 360ms cubic-bezier(0.4, 0, 0.2, 1);
}

/* Only make immediate children of the header transparent when header is on-top.
   This prevents deeper descendants (like the responsive nav dialog) from
   inheriting transparency. */
header.on-top > * {
  background: transparent !important;
  background-image: none !important;
}
.wp-block-tag-cloud a {
  text-decoration: none;
  padding: 5px 10px;
  border-bottom: 1px solid transparent;
  font-weight: 500;
  font-size: large !important;
}

.wp-block-tag-cloud a:hover {
  color: var(--wp--preset--color--primary);
  border-bottom: 1px solid var(--wp--preset--color--primary);
}

.wp-block-query-pagination-numbers {
  display: flex;
  gap: 1rem;
  margin-top: 10px !important;
}

.taxonomy-post_tag a {
  text-decoration: none;
  color: var(--wp--preset--color--primary);
}

.wp-block-query-pagination-numbers .page-numbers {
  padding-top: 5px;
  padding-bottom: 5px;
  padding-left: 15px;
  padding-right: 15px;
  margin-right: 0 !important;
}

.wp-block-query-pagination-numbers .page-numbers.current {
  background-color: var(--wp--preset--color--primary);
  color: white;
  border-radius: 8px;
}

.wp-block-query
  li
  :where(
    .wp-block-post-featured-image,
    .wp-block-image,
    .post-thumbnail,
    .entry-image
  )::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  border-radius: inherit;
  background: linear-gradient(
    180deg,
    var(--wp--preset--color--primary) 0%,
    var(--wp--preset--color--primary) 100%
  );
  opacity: 0;
  transition: opacity 120ms ease;
}

/* Hover/focus: reveal a subtle primary-colored wash and outline the whole list item */
.wp-block-query
  li:hover
  :where(
    .wp-block-post-featured-image,
    .wp-block-image,
    .post-thumbnail,
    .entry-image
  )::after,
.wp-block-query
  li:focus-within
  :where(
    .wp-block-post-featured-image,
    .wp-block-image,
    .post-thumbnail,
    .entry-image
  )::after {
  opacity: 0.1; /* visible but still subtle */
}

@media (max-width: 785px) {
  /* even subtler on small screens */
  .wp-block-query
    li
    :where(
      .wp-block-post-featured-image,
      .wp-block-image,
      .post-thumbnail,
      .entry-image
    )::after {
    opacity: 0.07; /* slightly reduced intensity on mobile */
  }
}

.wp-block-cover .wp-block-group{
  z-index: 5;
}

.wpcf7-form {
  max-width: 800px;
  margin: 0 auto;
  box-sizing: border-box;
  padding: 0 1rem;
}

label {
  font-size: larger;
}

input,
textarea {
  font-size: large;
  width: 100%;
  padding: 15px 10px;
  box-sizing: border-box;
  border: 1px solid #939ab87a;
  border-radius: 8px;
}

textarea {
  resize: vertical;
  height: 235px;
  min-height: 150px;
  font-size: 18px;
  padding: 10px;
}

input:focus-visible,
textarea:focus-visible {
  outline: 2px solid var(--wp--preset--color--contrast);
}

.wpcf7-submit {
  display: block;
  font-size: medium;
  font-weight: bold;
  padding: 20px 35px;
  border: none;
  border-radius: 4px;
  background-color: var(--wp--preset--color--primary);
  color: white;
  cursor: pointer;
  margin: 1rem auto 0;
  width: auto;
}

.wpcf7-submit:hover {
  background-color: white;
  color: var(--wp--preset--color--primary);
  border: 1px solid var(--wp--preset--color--primary);
}

/* Horizontal list styles (if ever used with custom icons)*/
.horizontal-list {
  display: inline-flex;
  list-style: disc; /* show bullets */
  list-style-position: inside; /* keep marker visible when using flex */
  margin: 0;
  padding-left: 0.5rem; /* small padding so markers have room */
}

.horizontal-list li {
  margin-right: 2rem;
}

/*decorator services*/
.services-decorator {
  position: relative;
}

.services-decorator::after {
  content: "";
  position: absolute;
  top: 0;
  transform: translateY(30%);
  right: -50px;
  width: 115px;
  height: 423px;
  background-repeat: no-repeat;
  background-image: url("data:image/svg+xml,%3Csvg width='115' height='423' viewBox='0 0 115 423' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0.054427 284.899L0 259.124L114.949 289.734L115 315.647L0.054427 284.901L0.054427 284.899Z' fill='%23FF2D55'/%3E%3Cpath d='M0.054427 233.071L0 207.296L114.949 237.906L115 263.819L0.054427 233.073L0.054427 233.071Z' fill='%23FF2D55'/%3E%3Cpath d='M0.054427 181.259L0 155.484L114.949 186.094L115 212.007L0.054427 181.261L0.054427 181.259Z' fill='%23FF2D55'/%3E%3Cpath d='M0.054427 129.432L0 103.656L114.949 134.266L115 160.18L0.054427 129.433L0.054427 129.432Z' fill='%23FF2D55'/%3E%3Cpath d='M0.054427 77.6035L0 51.8278L114.949 82.4384L115 108.352L0.054427 77.6051L0.054427 77.6035Z' fill='%23FF2D55'/%3E%3Cpath d='M0.054427 25.7757L0 0L114.949 30.6105L115 56.5237L0.054427 25.7757Z' fill='%23FF2D55'/%3E%3Cpath d='M0.054427 392.252L0 366.476L114.949 397.087L115 423L0.054427 392.253L0.054427 392.252Z' fill='%23FF2D55'/%3E%3Cpath d='M0.054427 340.424L0 314.648L114.949 345.259L115 371.172L0.054427 340.426L0.054427 340.424Z' fill='%23FF2D55'/%3E%3C/svg%3E%0A");
}

.home-decorator {
  position: relative;
}
.home-decorator::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 357px;
  height: 143px;
  transform: translateY(30%);
  background-repeat: no-repeat;
  background-image: url("data:image/svg+xml,%3Csvg width='357' height='143' viewBox='0 0 357 143' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_67_3944)'%3E%3Cpath d='M255.326 9.01868L223.542 8.98843L261.285 71.4724L293.237 71.5L255.324 9.01868H255.326Z' fill='%23092E6E'/%3E%3Cpath d='M191.419 9.01868L159.636 8.98843L197.379 71.4724L229.331 71.5L191.418 9.01868H191.419Z' fill='%23092E6E'/%3E%3Cpath d='M127.512 9.01868L95.7285 8.98843L133.472 71.4724L165.423 71.5L127.511 9.01868H127.512Z' fill='%23092E6E'/%3E%3Cpath d='M63.6058 9.01868L31.8223 8.98843L69.5655 71.4724L101.517 71.5L63.6058 9.01868Z' fill='%23092E6E'/%3E%3Cpath d='M261.285 71.5L229.333 71.5276L191.59 134.012L223.373 133.981L261.286 71.5H261.285Z' fill='%23092E6E'/%3E%3Cpath d='M319.22 9.01868L287.437 8.98843L325.18 71.4724L357.131 71.5L319.219 9.01868H319.22Z' fill='%23092E6E'/%3E%3Cpath d='M325.178 71.5L293.227 71.5276L255.483 134.012L287.267 133.981L325.18 71.5H325.178Z' fill='%23092E6E'/%3E%3Cpath d='M197.378 71.5L165.426 71.5276L127.683 134.012L159.466 133.981L197.379 71.5H197.378Z' fill='%23092E6E'/%3E%3Cpath d='M133.471 71.5L101.52 71.5276L63.7764 134.012L95.5599 133.981L133.473 71.5H133.471Z' fill='%23092E6E'/%3E%3Cpath d='M69.5644 71.5L37.6127 71.5276L-0.131836 134.012L31.6517 133.981L69.5644 71.5Z' fill='%23092E6E'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_67_3944'%3E%3Crect width='357' height='142' fill='white' transform='translate(0 0.5)'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A");
}
.home-decorator::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 357px;
  height: 143px;
  transform: translateY(30%) scaleX(-1);
  transform-origin: center;
  background-repeat: no-repeat;
  background-image: url("data:image/svg+xml,%3Csvg width='357' height='143' viewBox='0 0 357 143' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_67_3944)'%3E%3Cpath d='M255.326 9.01868L223.542 8.98843L261.285 71.4724L293.237 71.5L255.324 9.01868H255.326Z' fill='%23092E6E'/%3E%3Cpath d='M191.419 9.01868L159.636 8.98843L197.379 71.4724L229.331 71.5L191.418 9.01868H191.419Z' fill='%23092E6E'/%3E%3Cpath d='M127.512 9.01868L95.7285 8.98843L133.472 71.4724L165.423 71.5L127.511 9.01868H127.512Z' fill='%23092E6E'/%3E%3Cpath d='M63.6058 9.01868L31.8223 8.98843L69.5655 71.4724L101.517 71.5L63.6058 9.01868Z' fill='%23092E6E'/%3E%3Cpath d='M261.285 71.5L229.333 71.5276L191.59 134.012L223.373 133.981L261.286 71.5H261.285Z' fill='%23092E6E'/%3E%3Cpath d='M319.22 9.01868L287.437 8.98843L325.18 71.4724L357.131 71.5L319.219 9.01868H319.22Z' fill='%23092E6E'/%3E%3Cpath d='M325.178 71.5L293.227 71.5276L255.483 134.012L287.267 133.981L325.18 71.5H325.178Z' fill='%23092E6E'/%3E%3Cpath d='M197.378 71.5L165.426 71.5276L127.683 134.012L159.466 133.981L197.379 71.5H197.378Z' fill='%23092E6E'/%3E%3Cpath d='M133.471 71.5L101.52 71.5276L63.7764 134.012L95.5599 133.981L133.473 71.5H133.471Z' fill='%23092E6E'/%3E%3Cpath d='M69.5644 71.5L37.6127 71.5276L-0.131836 134.012L31.6517 133.981L69.5644 71.5Z' fill='%23092E6E'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_67_3944'%3E%3Crect width='357' height='142' fill='white' transform='translate(0 0.5)'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A");
}
.decorator-CTA {
  position: relative;
}
.decorator-CTA::after {
  content: "";
  position: absolute;
  top: 10px;
  right: -35px;
  width: 75px;
  height: 212px;
  background-repeat: no-repeat;
  background-image: url("data:image/svg+xml,%3Csvg width='75' height='212' viewBox='0 0 75 212' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0.0354969 181.259L0 155.484L74.9668 186.094L74.9999 212.007L0.0354969 181.261L0.0354969 181.259Z' fill='%23FF2D55'/%3E%3Cpath d='M0.0354969 129.432L0 103.656L74.9668 134.266L74.9999 160.18L0.0354969 129.433L0.0354969 129.432Z' fill='%23FF2D55'/%3E%3Cpath d='M0.0354969 77.6035L0 51.8278L74.9668 82.4384L74.9999 108.352L0.0354969 77.6051L0.0354969 77.6035Z' fill='%23FF2D55'/%3E%3Cpath d='M0.0354969 25.7757L0 0L74.9668 30.6105L74.9999 56.5237L0.0354969 25.7757Z' fill='%23FF2D55'/%3E%3C/svg%3E%0A");
}

/* Horizontal fade helper (preferred class name) */
.image-fade {
  position: relative;
  overflow: hidden;
}
.image-fade::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(
    to right,
    var(--wp--preset--color--secondary, #092e6e) 0%,
    transparent 30%,
    var(--wp--preset--color--secondary, #092e6e) 85%,
    var(--wp--preset--color--secondary, #092e6e) 100%
  );
  mix-blend-mode: normal;
}

/* Desktop view: from 1000px and up */
@media (min-width: 1000px) {
  .wp-block-navigation__responsive-container-open:not(.always-shown) {
    display: none !important; /* hide mobile toggle button */
  }
  .wp-block-navigation__responsive-container:not(.hidden-by-default):not(
      .is-menu-open
    ) {
    display: block !important; /* show full menu */
  }
}

/* Mobile view: below 1000px */
@media (max-width: 999px) {
  .wp-block-polylang-language-switcher {
    margin-top: 5px !important;
  }

  /* 1) Pokaż przycisk otwierania na mobile */
  .wp-block-navigation__responsive-container-open:not(.always-shown) {
    display: flex;
  }

  /* 2) Ukryj pełne menu dopóki nie jest otwarte */
  .wp-block-navigation__responsive-container:not(.hidden-by-default):not(
      .is-menu-open
    ) {
    display: none;
  }

  /* 3) Overlay przy otwartym menu – niewidoczny i „przepuszczający” interakcje */
  .wp-block-navigation__responsive-container.is-menu-open {
    background: transparent !important;
    pointer-events: none !important;
    padding: 0;
  }

  /* 4) Włącz interakcje tylko dla widocznego panelu (dialog) i przycisku zamknięcia */
  .wp-block-navigation__responsive-container.is-menu-open
    .wp-block-navigation__responsive-dialog,
  .wp-block-navigation__responsive-container.is-menu-open
    .wp-block-navigation__responsive-container-close {
    pointer-events: auto !important;
  }

  /* 5) Sam panel (szuflada) – tło + przewijanie środka */
  .wp-block-navigation__responsive-dialog {
    background: var(--wp--preset--color--secondary) !important;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    touch-action: auto;
    z-index: 9999;
  }

  /* (Jeśli przeglądarka użyje <dialog>) usuń systemowy backdrop */
  .wp-block-navigation__responsive-dialog::backdrop {
    background: transparent !important;
  }

  /* 6) Wnętrze menu – odstępy + typografia */
  .wp-block-navigation__responsive-container.is-menu-open
    .wp-block-navigation__responsive-container-content {
    padding-top: calc(2rem + 25px) !important;
    padding-bottom: 3rem !important;
    font-size: large;
  }

  /* 7) Ikony przycisków */
  .wp-block-navigation__responsive-container-close svg,
  .wp-block-navigation__responsive-container-open svg {
    width: 30px;
    height: 30px;
  }

  /* 8) Header „on-top” – tylko bezpośrednie dzieci robią się transparentne */
  header.on-top > * {
    background: transparent;
    background-image: none;
  }

  /* 9) Drobny styl elementów menu */
  header .wp-block-navigation .wp-block-navigation-item {
    padding: 5px 10px;
    border-bottom: 1px solid var(--wp--preset--color--primary);
  }

  /* 10) Poprawka dla paska admina przy otwartym modalu */
  .admin-bar.has-modal-open .wp-block-navigation__responsive-dialog {
    margin-top: 0 !important;
  }

  /* 11) WP zwykle blokuje scroll na body/html przy otwartym menu – odblokuj */
  html.has-modal-open,
  body.has-modal-open {
    overflow: auto !important;
    height: auto !important;
    /* na wypadek motywów, które blokują przez position:fixed */
    position: static !important;
    overscroll-behavior: auto;
  }
}
@media (max-width: 1280px) {
  .services-decorator::after {
    display: none;
  }

  .home-decorator::before {
    display: none;
  }

  .home-decorator::after {
    display: none;
  }

  .CTA {
    overflow: hidden;
  }

  .CTA .wp-block-group > .wp-block-columns {
    padding-left: var(--wp--preset--spacing--60) !important;
    padding-right: var(--wp--preset--spacing--60) !important;
    padding-top: var(--wp--preset--spacing--60) !important;
    padding-bottom: var(--wp--preset--spacing--60) !important;
  }

  .decorator-CTA {
    overflow: visible;
  }

  .decorator-CTA::after {
    content: "";
    position: absolute;
    top: 0;
    transform: translateY(20%);
    right: -45px;
    width: 75px;
    height: 212px;
    background-repeat: no-repeat;
    background-image: url("data:image/svg+xml,%3Csvg width='75' height='212' viewBox='0 0 75 212' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0.0354969 181.259L0 155.484L74.9668 186.094L74.9999 212.007L0.0354969 181.261L0.0354969 181.259Z' fill='%23FF2D55'/%3E%3Cpath d='M0.0354969 129.432L0 103.656L74.9668 134.266L74.9999 160.18L0.0354969 129.433L0.0354969 129.432Z' fill='%23FF2D55'/%3E%3Cpath d='M0.0354969 77.6035L0 51.8278L74.9668 82.4384L74.9999 108.352L0.0354969 77.6051L0.0354969 77.6035Z' fill='%23FF2D55'/%3E%3Cpath d='M0.0354969 25.7757L0 0L74.9668 30.6105L74.9999 56.5237L0.0354969 25.7757Z' fill='%23FF2D55'/%3E%3C/svg%3E%0A");
  }
}

@media (max-width: 785px) {
  .hide-on-mobile {
    display: none;
  }

  .footer {
    padding-top: var(--wp--preset--spacing--40) !important;
    padding-bottom: var(--wp--preset--spacing--40) !important;
    padding-left: var(--wp--preset--spacing--40) !important;
    padding-right: var(--wp--preset--spacing--40) !important;
  }

  .footer nav {
    margin-top: 1.5rem;
    margin-left: 2px !important;
  }

  .wp-block-navigation {
    --navigation-layout-direction: column;
    --navigation-layout-align: left;
  }

  .job-offer {
    padding: var(--wp--preset--spacing--40) !important;
  }

  .image-fade::after {
    /* Keep the theme secondary color but make the pseudo-element mostly transparent
       so the fade is very subtle on mobile. */
    background: linear-gradient(
      to right,
      var(--wp--preset--color--secondary, #092e6e) 0%,
      transparent 20%,
      transparent 25%,
      var(--wp--preset--color--secondary, #092e6e) 100%
    );
    opacity: 0.6;
  }
}
