/* glow-tonic section styles */
/* --scale maps px values from the 2048px design to fluid vw units */
/*
 * BREAKPOINTS — find-replace these values to change the breakpoint globally:
 *   min-width: 1024px  →  desktop layout kicks in
 *   max-width: 1023px  →  mobile overrides
 *
 * Note: CSS custom properties cannot be used inside @media conditions.
 * To change breakpoint: Edit > Find > Replace in glow-tonic.css
 */

.glow-tonic--section-02,
.glow-tonic--section-03,
.glow-tonic--section-04,
.glow-tonic--section-table,
.glow-tonic-section--faq,
.glow-tonic--social {
  --scale: calc(100vw / 1400);

  @media (max-width: 1023px) {
    --scale: calc(100vw / 560);
  }

  .h2 {
    font-size: calc(42 * var(--scale));

    @media (max-width: 1023px) {
      font-size: calc(36 * var(--scale));
    }
  }
}

/* Scrollbar styles */
.glow-tonic--section-02 .glow-tonic--section-02__cards {
  scrollbar-width: thin;
  scrollbar-color: #963b31 #f5ced3;

  &::-webkit-scrollbar { height: 6px; }
  &::-webkit-scrollbar-track { background: #f5ced3; }
  &::-webkit-scrollbar-thumb {
    background-color: #963b31;
    border-radius: 99px;
  }
}

.glow-tonic--section-table .glow-tonic--section-table__scroll {
  scrollbar-width: thin;
  scrollbar-color: #806254 #f8dade;

  &::-webkit-scrollbar { height: 6px; }
  &::-webkit-scrollbar-track { background: #f8dade; }
  &::-webkit-scrollbar-thumb {
    background-color: #806254;
    border-radius: 99px;
  }
}

.glow-tonic-section--faq .glow-tonic-section--faq__products {
  scrollbar-width: thin;
  scrollbar-color: #644937 #e1eccd;

  &::-webkit-scrollbar { height: 6px; }
  &::-webkit-scrollbar-track { background: #e1eccd; }
  &::-webkit-scrollbar-thumb {
    background-color: #644937;
    border-radius: 99px;
  }
}

.glow-tonic--section-01 {
  --scale: calc(100vw / 2048);
  display: flex;
  flex-direction: column;
  background-color: #fcd2bf;

  @media (min-width: 1024px) {
    flex-direction: row;
  }

  @media (max-width: 1023px) {
    --scale: calc(100vw / 1024);
  }
  .image-block {
    order: 1;

    @media (min-width: 1024px) {
      order: 2;
      width: 50%;
    }
  }
  .text-block {
    order: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding-block: calc(20 * var(--scale));

    @media (min-width: 1024px) {
      padding-block: calc(12 * var(--scale));
      order: 1;
      width: 50%;
    }
  }

  .h2 {
    margin-top: calc(30 * var(--scale));
    margin-bottom: calc(20 * var(--scale));
    margin-inline: calc(20 * var(--scale));
    font-size: calc(68 * var(--scale));
  }
  .body-copy {
    font-size: calc(29 * var(--scale));
    line-height: normal;
    width: calc(900 * var(--scale));
  }
  .content-trio {
    display: flex;
    justify-content: center;
    margin-block: calc(42 * var(--scale));

    li {
      border-radius:  calc(10 * var(--scale));
      width: calc(220 * var(--scale));
      padding: calc(24 * var(--scale));
      margin-inline: calc(20 * var(--scale));
      background-color: #fe9d6d;

      h3 {
        font-size: calc(29 * var(--scale));
        margin-bottom: 0;
      }
      p {
        font-size: calc(20 * var(--scale));
        line-height: normal;
      }
    }
  }
  .icons {
    display: flex; 
    justify-content: center;
    align-items: flex-start;
    margin-bottom: calc(40 * var(--scale));
    li {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      width: calc(120 * var(--scale));
      margin-inline: calc(32 * var(--scale));
      line-height: normal;
    }
    span {
      margin-top: calc(12 * var(--scale));
      font-size: calc(20 * var(--scale));
    }
  }
  .btn-primary--rose {
    font-size: calc(23 * var(--scale));
    padding: calc(23 * var(--scale));
    margin-bottom: calc(20 * var(--scale));
  }
}

.glow-tonic--section-02 {
  --scale: calc(100vw / 2048);
  display: flex;
  flex-direction: column;
  background-color: #e1eccd;

  @media (min-width: 1024px) {
    flex-direction: row-reverse;
  }

  @media (max-width: 1023px) {
    --scale: calc(100vw / 1024);
  }
  .image-block {
    order: 1;

    @media (min-width: 1024px) {
      order: 2;
      width: 50%;
    }
  }
  .text-block {
    order: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding-block: calc(20 * var(--scale));

    @media (min-width: 1024px) {
      padding-block: calc(12 * var(--scale));
      order: 1;
      width: 50%;
    }
  }
  .h2 {
    margin-top: calc(30 * var(--scale));
    margin-bottom: calc(60 * var(--scale));
    margin-inline: calc(20 * var(--scale));
    font-size: calc(68 * var(--scale));
  }
  .body-copy {
    margin-bottom: calc(70 * var(--scale));
  }
  h3 { 
    font-size: calc(42 * var(--scale));
  }

  .body-copy {
    font-size: calc(29 * var(--scale));
    line-height: normal;
    width: calc(900 * var(--scale));
  }
  .content-trio {
    display: flex;
    justify-content: center;
    margin-block: calc(42 * var(--scale));

    li {
      border-radius:  calc(10 * var(--scale));
      width: calc(220 * var(--scale));
      padding: calc(24 * var(--scale));
      margin-inline: calc(20 * var(--scale));
      background-color: #fe9d6d;

      h3 {
        font-size: calc(29 * var(--scale));
        margin-bottom: 0;
      }
      p {
        font-size: calc(20 * var(--scale));
        line-height: normal;
      }
    }
  }
  .icons {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    margin-bottom: calc(40 * var(--scale));
    li {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      width: calc(120 * var(--scale));
      margin-inline: calc(32 * var(--scale));
      line-height: normal;
    }
    span {
      margin-top: calc(12 * var(--scale));
      font-size: calc(20 * var(--scale));
    }
  }
  .btn-primary--rose {
    font-size: calc(23 * var(--scale));
    padding: calc(23 * var(--scale));
    margin-bottom: calc(20 * var(--scale));
  }
}

.glow-tonic--section-03 {
  --scale: calc(100vw / 1400);
  display: flex;
  flex-direction: column;
  background-color: #fcd2bf;

  @media (min-width: 1024px) {
    flex-direction: row-reverse;
  }

  @media (max-width: 1023px) {
    --scale: calc(100vw / 560);
  }

  .image-block {
    @media (min-width: 1024px) {
      width: 50%;
    }
  }

  .text-block {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: calc(24 * var(--scale));

    @media (min-width: 1024px) {
      width: 50%;
      padding: calc(24 * var(--scale));
    }
  }
  h2 {
    margin-bottom: calc(24 * var(--scale));
  }
  h3 {
    margin-bottom: calc(24 * var(--scale));
    font-size: calc(26 * var(--scale));
  }
  .body-lg {
    max-width: calc(480 * var(--scale));

    p {
      font-size: calc(18 * var(--scale));
      line-height: normal;
    }
  }
  .icons {
    display: flex;
    justify-content: center;
    gap: calc(10 * var(--scale));
    margin-top: calc(21 * var(--scale));
    margin-inline: calc(21 * var(--scale));
    flex-wrap: wrap;

    @media (min-width: 1024px) {
      gap: calc(28 * var(--scale));
      margin-inline: 0;
    }

    li {
      display: flex;
      flex-direction: column;
      align-items: center;
      text-align: center;
      margin-bottom: calc(20 * var(--scale));

      @media (max-width: 1023px) {
        width: calc(50% - calc(14 * var(--scale)));
      }

      img {
        max-width: calc(96 * var(--scale));
        margin-bottom: calc(14 * var(--scale));
      }
      span {
        font-size: calc(21 * var(--scale));
        margin-bottom: calc(5 * var(--scale));
        line-height: normal;
      }
      p {
        font-size: calc(15 * var(--scale));
        line-height: normal;
      }
    }
  }
}

.glow-tonic--section-04 {
  --scale: calc(100vw / 1400);
  display: flex;
  flex-direction: column;
  background-color: #e1eccd;

  @media (min-width: 1024px) {
    flex-direction: row;
    align-items: center;
  }

  @media (max-width: 1023px) {
    --scale: calc(100vw / 560);
  }

  .image-block {
    position: relative;

    @media (min-width: 1024px) {
      width: 50%;
    }
  }

  .text-block {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: calc(10 * var(--scale));

    @media (min-width: 1024px) {
      padding-inline: 0;
      width: 50%;
    }
  }

  .image-caption {
    position: absolute;
    right: calc(4 * var(--scale));
    bottom: calc(75 * var(--scale));

    @media (min-width: 1024px) {
      right: calc(8 * var(--scale));
      bottom: calc(98 * var(--scale));
    }

    li {
      font-size: calc(14 * var(--scale));
      margin-top: calc(16 * var(--scale));
      line-height: 1;

      @media (min-width: 1024px) {
        margin-top: calc(25 * var(--scale));
      }
    }
  }
  h2 {
    margin-bottom: calc(6 * var(--scale));
  }
  h3 {
    font-size: calc(16 * var(--scale));
    margin-bottom: calc(18 * var(--scale));

    @media screen and (max-width: 1023px) {
      font-size: calc(13 * var(--scale));
      line-height: normal;
    }
  }
  .body-lg {
    text-align: left;

    h4 {
      font-size: calc(21 * var(--scale));
      line-height: normal;
    }
    p {
      font-size: calc(15 * var(--scale));
      margin-bottom: calc(24 * var(--scale));
    }
  }
  .body-icons-wrapper {
    display: flex;
  }
  .icons-wrapper {
    border-left: solid 2px #5d4130;
    margin-left: calc(42 * var(--scale));
    padding-left: calc(42 * var(--scale));
    max-width: calc(400 * var(--scale));

    @media screen and (max-width: 1023px) {
      margin-left: calc(20 * var(--scale));
      padding-left: calc(12 * var(--scale));
      max-width: calc(290 * var(--scale));
    }

    h4 {
      text-align: left;
      font-size: calc(21 * var(--scale));
      margin-left: calc(8 * var(--scale));
      margin-bottom: calc(24 * var(--scale));
      line-height: normal;
    }
  }
  .icons {
    display: flex;
    flex-direction: column;

    li {
      display: flex;
      align-items: flex-start;
      margin-bottom: calc(24 * var(--scale));

      &:last-child {
        margin-bottom: 0;
      }

      img {
        display: flex;
        max-width: calc(72 * var(--scale));
        width: 100%;
        margin-right: calc(16 * var(--scale));
      }
      h5 {
        font-size: calc(21 * var(--scale));
        line-height: normal;
      }
      p {
        font-size: calc(15 * var(--scale));
        
        @media screen and (max-width: 1023px) {
          br {
            display: none;
          }
        }
      }
    }
  }
}

.glow-tonic--section-table {
  --scale: calc(100vw / 1400);
  background-color: #ffd3c0;

  padding-inline: 52px;
  padding-bottom: 52px;

  @media (max-width: 1023px) {
    --scale: calc(100vw / 560);
    padding-inline: 24px;
  }

  h2 {
    padding-top: 36px;
    padding-bottom: 24px;
  }

  .glow-tonic--section-table__scroll {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    border: 1px solid #786819;
    border-radius: 12px;
  }

  table {
    width: 100%;
    border-collapse: collapse;
    background-color: #ffddcf;
    color: #563a28;
    font-size: 28px;

    @media (max-width: 1023px) {
      font-size: 18px;
    }

    thead {
      tr {
        border-bottom: 1px solid #786819;
      }
      th[scope="col"] {
        background-color: #ffc5b9;
        border-right: 1px solid #786819;
        color: #563a28;
        text-align: center;
        padding: 16px 20px;
        white-space: nowrap;
        text-transform: uppercase;
        width: 33%;

        @media screen and (min-width: 1024px) {
          width: 25%;
        }

        &:first-child {
          position: sticky;
          left: 0;
          z-index: 2;
          background-color: #ffddcf;
          border-right: 1px solid #786819;
        }
        &:last-child {
          border-right: none;
        }
      }
    }

    tbody {
      tr {
        border-bottom: 1px solid #786819;

        &:last-child {
          border-bottom: none;
        }
      }
      th[scope="row"] {
        position: sticky;
        left: 0;
        z-index: 1;
        background-color: #ffddcf;
        color: #563a28;
        font-weight: 500;
        text-align: center;
        padding: 16px 20px;
        border-right: 1px solid #786819;
        white-space: nowrap;
      }
      td {
        background-color: #ffddcf;
        color: #563a28;
        border-right: 1px solid #786819;
        text-align: center;
        padding: 16px 20px;
        white-space: nowrap;

        &:last-child {
          border: none;
        }
      }
    }
  }
}

.glow-tonic-section--faq {
  --scale: calc(100vw / 1400);
  display: flex;
  flex-direction: column;

  @media (min-width: 1024px) {
    flex-direction: row;
  }

  @media (max-width: 1023px) {
    --scale: calc(100vw / 560);
  }

  h2 {
    margin-top: 40px;
    margin-bottom: 16px;
    max-width: 600px;
    margin-inline: auto;
  }

  .glow-tonic-section--faq__shoppable {
    background-color: #e1eccd;

    @media (min-width: 1024px) {
      padding-inline: 16px;
      width: 50%;
    }
    padding-bottom: 36px;
    h2 {
    }
    p {
      font-size: 28px;
      margin-top: 12px;
      margin-bottom: 28px;
      line-height: normal;

      @media (max-width: 1023px) {
        font-size: 21px;
      }
    }
    .glow-tonic-section--faq__products {
      display: flex;
      overflow-x: auto;
      -webkit-overflow-scrolling: touch;
      scroll-snap-type: x mandatory;
      align-items: flex-start;
      padding-bottom: 21px;
      padding-inline: 16px;
      scroll-padding-inline: 16px;

      @media (min-width: 1024px) {
        margin-left: 0;
      }

      li {
        flex-shrink: 0;
        width: calc(100% / 3.3);
        scroll-snap-align: start;
        position: relative;

        @media (min-width: 1024px) {
          width: auto;
          flex: 1;
        }

        &:last-child {
          margin-right: 16px;

          @media (min-width: 1024px) {
            margin-right: 0;
          }
        }

        a {
          .faq-shoppable__image {
            max-height: calc(240 * var(--scale));
            width: auto;
            margin-inline: auto;
          }
          span {
            display: block;
            line-height: normal;
          }
          .faq-shoppable__title {
            font-size: calc(21 * var(--scale));
          }
          .faq-shoppable__subtitle {
            font-size: calc(16 * var(--scale));
          }

          .faq-shoppable__badge {
            position: absolute;
            top: 23%;
            right: 2%;
            width: calc(64 * var(--scale));
            width: calc(64 * var(--scale));
          }
        }
      }
    }
  }

  .glow-tonic-section--faq__faq {
    background-color: #f4cdd7;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding-inline: 36px;

    @media (min-width: 1024px) {
      width: 50%;
      padding-bottom: 30px;
    }

    .glow-tonic-section--faq__accordion {
      width: 100%;
      border-radius: 16px;
      text-align: center;
      border: solid 1px #644937;
      font-size: calc(24 * var(--scale));
      line-height: normal;
      margin-bottom: 28px;

      details {
        padding-block: calc(12 * var(--scale));
        padding-inline: calc(20 * var(--scale));
        border-bottom: solid 1px #644937;

        &:last-child {
          border-bottom: none;
        }

        summary {
          display: flex;
          justify-content: center;
          align-items: center;
          position: relative;
          font-size: calc(28 * var(--scale));
          line-height: normal;
          cursor: pointer;
          list-style: none;

          &::-webkit-details-marker {
            display: none;
          }

          &::after {
            content: "+";
            position: absolute;
            right: 0;
            font-size: 1.2em;
            line-height: 1;
          }

          @media (max-width: 1023px) {
            font-size: calc(24 * var(--scale));
          }
        }

        &[open] summary::after {
          content: "−";
        }

        .glow-tonic-faq__content {
          overflow: hidden;
          transition: height 0.35s ease;

          > div {
            margin-top: 16px;
            font-size: 24px;

            @media (max-width: 1023px) {
              font-size: 18px;
            }
          }
        }
      }
    }
  }
}

.glow-tonic--social {
  --scale: calc(100vw / 1400);
  background-color: #fdd7c9;
  position: relative;

  @media (max-width: 1023px) {
    --scale: calc(100vw / 560);
  }

  .glow-tonic--social__mobile-image {
    display: block;
    width: 100%;
    height: auto;

    @media (min-width: 1024px) {
      display: none;
    }
  }

  .glow-tonic--social__desktop-image {
    display: none;

    @media (min-width: 1024px) {
      display: block;
      width: 100%;
      height: auto;
    }
  }

  .glow-tonic--social__content {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: calc(36 * var(--scale));

    @media (min-width: 1024px) {
      position: absolute;
      top: 0;
      right: 0;
      width: 60%;
      height: 100%;
    }
  }

  h2 {
    margin-bottom: calc(20 * var(--scale));
  }

  p {
    font-size: calc(24 * var(--scale));
    line-height: normal;
    margin-bottom: calc(36 * var(--scale));
    text-align: center;

    @media screen and (max-width: 1023px) {
      br {
        display: none;
      }
    }
  }

  .btn-primary--rose {
    font-size: calc(21 * var(--scale));
    margin-bottom: calc(48 * var(--scale));
  }

  .social-share {
    background-color: #e1eccd;
    border-radius: 50%;
    padding: calc(36 * var(--scale));
    width: calc(320 * var(--scale));
    height: calc(320 * var(--scale));
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;

    h2 {
      margin-bottom: calc(8 * var(--scale));
    }

    p {
      font-size: calc(28 * var(--scale));
      margin-bottom: calc(16 * var(--scale));
      line-height: normal;
    }

    .glow-tonic--social__links {
      display: flex;
      justify-content: center;

      ul {
        display: flex;
        justify-content: center;
      }
      li {
        margin-inline: calc(8 * var(--scale));

        a {
          display: block;
          border-radius: 50%;
          background-color: #563928;
          padding: calc(6 * var(--scale));
          svg {
            width: calc(50 * var(--scale));
            height: calc(50 * var(--scale));
            path {
              fill: #e1eccd;
            }
          }
        }
      }
    }
  }
}
