
*, body {
    font-family:system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
}


header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 30px;
    background: rgb(18, 115, 235);
    color: white;
    position: relative;
}

.headerLeft, .headerRight, .WorkTime {
    display: flex;
    gap: 20px;
    align-items: center;
    text-align: center;
}

.EmailBox, .PhoneBox {
    display: flex;
    gap: 10px;
    align-items: center;
}

.headerIcon {
    width: 32px;
}

a {
    text-decoration: none;
    color: white;
}



.main, .MainForm {
    display: flex;
    padding: 50px;
    padding-bottom: 0;
    align-items:end;
    justify-content: center;
    gap: 30px;
    padding-top: 0;
}

.mainRight img {
    width: 400px;
    border: none;
}

.mainLeft {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.mainT {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: 20px;
    margin-top: 130px;
}

.TitleForm {
    font-size: 18px;
    font-weight: 900;
    text-transform: uppercase;
}

.mainT h2 {
    font-size: 28px;
    line-height: 42px;
    font-weight: 900;
    text-transform: uppercase;
    margin-bottom: 30px;
}

.mainT h1 {
    font-size: 32px;
    font-weight: 500;
}

.bold , .checkText h3 {
    background-color: rgb(18, 115, 235);
    font-weight: 900;
    color: white;
    padding: 5px 10px;
    
}

.mainBtn {
    width: 300px;
    background-color: rgb(255, 233, 33);
    padding: 15px 30px;
    border-radius: 4px;
    color: black;
    text-transform: uppercase;
    margin-top: 30px;
    font-weight: 700;
}

.mainBtn:hover {
    background-color: rgb(18, 115, 235);
    color: white;
}

.backTitle1 {
    background: rgba(245, 245, 245,0.4);
    padding: 2px;
}


.mainLeft p {
    font-size: 18px;
    font-weight: 400;
}


.TextHook, .footer {
    background: rgb(18, 115, 235);
    color: rgb(255, 230, 0);
    padding: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    text-transform: uppercase;
    font-weight: 900;
}

.TextHook p {
    max-width: 750px;
    color: rgb(255, 230, 0);
    text-align: center;
    text-transform: uppercase;
    font-weight: 900;
    line-height: 24px;
}


.What, .cases, .reviews, .AboutMe, .SocialArtifacts, .footer {
    display: flex;
    flex-direction: column;
    gap: 30px;
    padding: 30px 50px;
    align-items: center;
    justify-content: center;
}

.TitleSection {
    font-size: 28px;
    font-weight: 900;
    margin: 30px;
    text-transform: uppercase;
}

.Boxes {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 50px;
}

.Box, .case {
    display: flex;
    flex-direction: column;
    width: 300px;
    gap: 20px;
    
}

.Box h3 {
    color: rgb(18, 115, 235);
    font-size: 21px;
    font-weight: 900;
    text-transform: uppercase;
}

ul {
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: 300px;
}

ul li {
    font-size: 15px;
    font-weight: 300;
}


.CaseBoxes {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 20px;
    margin: 50px 0;
}

.case {
    width: 100%;
}

.solution {
    background-color: rgb(255, 233, 33) !important;
    color: black !important;
    font-weight: 900;
    padding: 5px 10px;
    text-transform: uppercase;
}

.problem {
    background-color: rgb(18, 115, 235) !important;
    font-weight: 900;
    color: white !important;
    padding: 5px 10px;
    text-transform: uppercase;
}

.Why {
    display: flex;
    gap: 30px;
    justify-content: center;
    padding: 50px;
}

.checkBox, .checkText {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 20px;
}


.checkText {
    width: 350px;
    font-weight: 300;
    line-height: 20px;
}

.checkText h3 {
    text-transform: uppercase;
}

.reviewsBox {
    display: flex;
    flex-wrap: wrap;

    justify-content: center;
    text-align: center;
    gap: 20px;
}

.review {
    background: rgb(242, 244, 247);
    padding: 5px;
    max-width: 400px;
}

.aboutMeBox {
    display: flex;
    gap: 20px;
}


.aboutLeft {
    display: flex;
    flex-direction: column;
    gap: 20px;
    max-width: 400px;
}

.aboutLeft h2 {
    font-size: 24px;
    font-weight: 900;
    text-transform: uppercase;
}

.aboutLeft p {
    font-size: 15px;
    font-weight: 300;
    line-height: 24px;
}

.aboutRight img {
    width: 400px;
    border-radius: 4px 4px 0 0;
}

ul li {
    line-height: 24px;
}

.AboutMe {
    padding-bottom: 0;
}

.socialNetBox {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 30px;
}

.socialNetLine1 {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 30px;
}

.socialNetChannelText {
    display: flex;
    flex-direction: column;
    gap: 10px;
    text-align: start;
    width: 300px;
}

.socialNetBtn {
    width: 250px;
    height: 50px;
    background-color: rgb(96, 96, 96);
    padding: 15px 30px;
    border-radius: 30px;
    color: white;
    
}

.socialNetBtnTg {
    width: 250px;
    height: 50px;
    background-color: #0088cc;
    padding: 15px 30px;
    border-radius: 30px;
    color: white;
}

.snAvatar {
    width: 50px;
    height: 50px;
    border-radius: 50%;
}

.socialNetLine2 {
    display: flex;
    overflow: hidden;
    flex-wrap: wrap;
    gap: 20px;
}

.postBox {
    display: flex;
    flex-direction: column;
    gap: 5px;
    width: 450px;
}

.nameVideo {
    font-size: 15px;
    font-weight: 700;
    line-height: 24px;
}

.staticVideo {
    font-size: 15px;
    font-weight: 300;
    line-height: 24px;
}

.youtubeAction {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: baseline;
    text-align: center;
    gap: 10px;
}

.textYoutubeBtn {
    font-size: 15px;
    font-weight: 300;
    line-height: 24px;
}

.separator {
    width: 90%;
    height: 1px;
    background: black;
}


.userForm {
    display: flex;
    flex-direction: column;
    width: 90%;
    gap: 20px;
    padding: 10px;
    margin-bottom: 20px;
}




input:focus, textarea:focus, select:focus{
    outline: none !important;
}

input, select {
    width: 100%;
    height: 55px;
    border: 0.5px solid #0088cc;
    padding-left: 10px;
}

input::placeholder, textarea::placeholder {
    font-size: 12px;
}

.userText {
    width: 100%;
    border: 0.5px solid #0088cc;
    padding: 10px;
}

label {
    max-width: 100%;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

label p {
    font-size: 15px !important;
}


.btnSubmit, .mainPageBtn {
    width: 100%;
    background-color: rgb(255, 233, 33);
    padding: 15px 30px;
    border-radius: 4px;
    color: black;
    text-transform: uppercase;
    margin-top: 30px;
    font-weight: 700;
}

.mainPageBtn {
    background-color: #0088cc;
    margin-top: -10px;
    text-align: center;
}

.formInputs {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.userInfo {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.postBoxTg {
    display: flex;
    gap: 20px;
}


/* Карусель */
.carousel {
    position: relative;
    overflow: hidden;
    margin: 20px auto;
    width: 80%;
    max-width: 900px;
  }
  
  .carousel-images {
    display: flex;
    transition: transform 0.5s ease;
    gap: 10px; /* Це додає gap між картинками */
  }
  
  .carousel-images img {
    width: calc(33.33% - 10px); /* Зменшуємо ширину картинок на розмір gap */
    object-fit: cover;
    display: block;
  }
  
  .carousel-control {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: #0088cc;
    color: white;
    border: none;
    padding: 10px;
    cursor: pointer;
  }
  
  .carousel-control.prev {
    left: 0;
  }
  
  .carousel-control.next {
    right: 0;
  }
  
/* Accordion */

.accordion {
    border: 1px solid #ddd;
    border-radius: 4px;
    margin-top: 1em;
    overflow: hidden;
  }
  
  .accordion-header {
    display: block;
    padding: 0.5em 1em;
    font-size: 1.1em;
    font-weight: 600;
    cursor: pointer;
    position: relative;
  }
  
  .accordion-header::after {
    content: "▸";
    position: absolute;
    right: 1em;
    transition: transform 0.2s ease;
  }
  
  details[open] > .accordion-header::after {
    transform: rotate(90deg);
  }
  
  .accordion-content {
    padding: 0 1em 1em;
    line-height: 1.5;
  }


  /* 1. Приховуємо чекбокс */
.nav-toggle {
    display: none;
  }
  
  /* 2. Стилі для кнопки-гамбургера (з кожним "бургером" – 3 смужки) */
  .nav-toggle-label {
    display: none;           /* за замовчуванням ховаємо */
    cursor: pointer;
    width: 30px;
    height: 24px;
    position: relative;
    margin-right: 20px;
  }
  .nav-toggle-label span,
  .nav-toggle-label span::before,
  .nav-toggle-label span::after {
    content: "";
    display: block;
    background: white;
    height: 3px;
    width: 100%;
    border-radius: 2px;
    position: absolute;
  }
  .nav-toggle-label span {
    top: 50%;

    transform: translateY(-50%);
  }
  .nav-toggle-label span::before {
    top: -8px;
  }
  .nav-toggle-label span::after {
    top: 8px;
  }
  .accordion-content a {
    color: #0088cc;
  }

  .articles {
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding: 30px 50px;
    
    justify-content: center;
  }

  .articles ul  {
    width: 100% !important;
}

.mainPage {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 30px 50px;
    align-items: center;
    text-align: center;
    justify-content: center;
}
  /* Адаптивність */

  /* ======== Responsive for Tablets (up to 768px) ======== */
@media (max-width: 850px) {
    /* Header */
    header {
      flex-wrap: wrap;
      padding: 15px 20px;
    }
    .headerLeft, .headerRight, .WorkTime {
      gap: 10px;
    }
  
    /* Main content */
    .main, .MainForm {
      flex-direction: column;
      padding: 30px 20px 0;
      gap: 20px;
    }
    .mainRight img {
      width: 100%;
      max-width: 300px;
    }
    .mainLeft {
      align-items: center;
      text-align: center;
    }

    .Boxes {
      grid-template-columns: 1fr 1fr !important;
      gap: 20px;
    }
  
    /* Grid sections */
    .Boxes, .CaseBoxes {
      grid-template-columns: 1fr 1fr;
      gap: 20px;
    }
  
    /* Why section */
    .Why {
      flex-direction: column;
      padding: 30px 20px;
      gap: 20px;
    }
  
    /* Forms */
    .formInputs {
      display: grid;
      grid-template-columns: 1fr;
    }
    .mainBtn, .btnSubmit {
      width: 100%;
    }
  
    /* Typography scaling */
    .TitleSection {
      font-size: 24px;
      margin: 20px 0;
    }
    .mainT h2 {
      font-size: 24px;
      line-height: 32px;
    }
    .mainT h1 {
      font-size: 28px;
    }

    .header {
        padding: 20px;
    }

    .header a {
        color: white;
    }

  }
  
  /* ======== Responsive for Mobile (up to 480px) ======== */
  @media (max-width: 480px) {
    /* Header stacked */
    header, .EmailBox, .PhoneBox {
      flex-direction: column;
      align-items: center;
      padding: 10px 15px;
    }
    .headerLeft, .headerRight, .WorkTime {
      flex-direction: column;
      gap: 5px;
    }
    
  
    .carousel-images img {
        width: 100%;       /* замість calc(33.33% - 10px) */
      }

    /* Main content vertical */
    .main, .MainForm {
      padding: 20px 15px 0;
    }
    .mainRight img, .aboutRight img {
      width: 100%;
      max-width: none;
    }
  
    /* Full-width grids */
    .Boxes, .CaseBoxes {
      grid-template-columns: 1fr;
      gap: 15px;
    }

    .Boxes, .aboutMeBox {
        display: flex;
        flex-direction: column;
    }
  
    /* Text hook & footer */
    .TextHook p {
      max-width: 100%;
      line-height: 20px;
    }
  
    /* Reviews and social */
    .reviewsBox, .socialNetLine2 {
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 15px;
    }
    .postBox, .postBoxTg {
      width: 100%;
    }
    .postBox iframe {
      max-width: 100%;
    }
  
    /* Form elements full width */
    input, select, .userText {
      height: 45px;
    }
    .userText {
        height: 100px;
      }
    .btnSubmit, .mainBtn {
      padding: 12px 20px;
      font-size: 14px;
    }
  
    /* Collapse auxiliary sections */
    .Why, .AboutMe, .SocialArtifacts {
      padding: 20px 15px;
    }
  
    /* Smaller headings */
    .TitleSection {
      font-size: 20px;
      margin: 15px 0;
    }
    .mainT h2 {
      font-size: 20px;
      line-height: 28px;
    }
    .mainT h1 {
      font-size: 24px;
    }

    .bold {
        font-size: 14px;
        line-height: 28px;
    }

    .nav-toggle-label {
        display: block;
        position: absolute;
        top: 50%;
        right: 20px;            /* відступ від правого краю */
        transform: translateY(-50%);
        width: 30px;
        height: 24px;
        cursor: pointer;
      }
    
      /* убираємо будь-які margin, щоб не “втікала” */
      .nav-toggle-label span,
      .nav-toggle-label span::before,
      .nav-toggle-label span::after {
        width: 100%;
      }
    
      /* ховаємо старі flex-блоки */
      .headerLeft,
      .headerRight,
      .WorkTime {
        display: none;
      }
    
      /* при відкритті — показуємо їх під гамбургером */
      .nav-toggle:checked ~ .headerLeft,
      .nav-toggle:checked ~ .headerRight,
      .nav-toggle:checked ~ .WorkTime {
        display: flex;
        flex-direction: column;
        background: rgb(18, 115, 235);
        width: 100%;
        padding: 10px 0;
      }
      .nav-toggle:checked ~ .headerLeft > *,
      .nav-toggle:checked ~ .headerRight > *,
      .nav-toggle:checked ~ .WorkTime > * {
        margin: 5px 20px;
      }

      .userInfo {
        text-align: start;
      }

      .carousel-images img {
        width: 100%;       /* замість calc(33.33% - 10px) */
      }
  }
  