/* eye-patches 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 eye-patches.css
 */

.eye-patches--section-02,
.eye-patches--section-03,
.eye-patches--section-04,
.eye-patches--section-05,
.eye-patches--section-table,
.eye-patches-section--faq,
.eye-patches--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 */
.eye-patches--section-02 .eye-patches--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;
  }
}

.eye-patches--section-table .eye-patches--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;
  }
}

.eye-patches-section--faq .eye-patches-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;
  }
}

.eye-patches--section-01 {
  --scale: calc(100vw / 2048);
  display: flex;
  flex-direction: column-reverse;
  background-color: #e1eccd;

  @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%;
    }
  }
  .eye-patches--section-01__under-image {
    --scale: calc(100vw / 1400);

    @media (max-width: 1023px) {
      --scale: calc(100vw / 560);
      overflow-x: auto;
      -webkit-overflow-scrolling: touch;
      scrollbar-width: thin;
      scrollbar-color: #d06e76 #f4cdd7;

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

    background-color: #f4cdd7;
    display: flex;
    align-items: center;
    padding: calc(24 * var(--scale));
  }
  .eye-patches--section-01__under-image-subheadline {
    text-align: center;
    font-size: calc(20 * var(--scale));
    line-height: normal;
    padding-right: calc(24 * var(--scale));
    border-right: solid calc(4 * var(--scale)) #d06e76;
    flex-shrink: 0;
  }
  .eye-patches--section-01__under-image-icons {
    display: flex;
    padding-left: calc(40 * var(--scale));

    li {
      flex-shrink: 0;
      display: flex;
      flex-direction: column;
      justify-content: center;
      text-align: center;
      margin-right: calc(32 * var(--scale));
      &:last-child {
        margin-right: 0;
      }
      img {
        height: calc(67 * var(--scale));
        width: auto;
        max-width: none;
        margin-bottom: calc(8 * var(--scale));
      }
      span {
        text-align: center
      }
    }
  }
  .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-block: calc(30 * var(--scale));
    margin-inline: calc(20 * var(--scale));
    font-size: calc(68 * var(--scale));
  }
  .body-copy {
    width: calc(900 * var(--scale));
    margin-top: calc(20 * var(--scale));
    margin-bottom: calc(80 * var(--scale));
    font-size: calc(29 * var(--scale));
    line-height: normal;
  }
  .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));

      h3 {
        font-size: calc(29 * var(--scale));
        margin-bottom: calc(10 * var(--scale));
      }
      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));
  }
}

.eye-patches--section-02 {
  display: flex;
  position: relative;
  flex-direction: column;
  background-color: #fcb0bf;

  h2 {
    position: absolute;
    z-index: 2;
    left: 50%;
    transform: translateX(-50%);
    margin-top: calc(40 * var(--scale));

    @media screen and (max-width: 1023px) {
      margin-top: calc(30 * var(--scale));
      font-size: calc(29 * var(--scale)) !important;
    }
  }

  .eye-patches--section-02__cards {
    display: flex;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory;

    .eye-patches--section-02__card {
      flex-shrink: 0;
      width: calc(100% / 2.25);
      scroll-snap-align: start;
      position: relative;

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

  .eye-patches--section-02__text-box {
    position: absolute;
    top: 23%;
    left: 28%;
    line-height: normal;

    @media screen and (max-width: 1023px) {
      transform: scale(0.8);
      transform-origin: top left;
    }

    h3 {
      font-size: calc(24 * var(--scale));
      text-transform: uppercase;
    }
    h4 {
      font-size: calc(18 * var(--scale));
      margin-bottom: calc(18 * var(--scale));
    }
    p {
      font-size: calc(18 * var(--scale));
    }
  }
  .eye-patches--section-02__badge {
    display: inline-block;
    background-color: #963b31;
    text-transform: uppercase;
    color: #fff;
    margin-top: 8px;
    padding: 5px 8px;
  }
}

.eye-patches--section-03 {
  --scale: calc(100vw / 1400);
  display: flex;
  flex-direction: column;
  background-color: #e1eccd;

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

  @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(12 * var(--scale));
  }
  h3 {
    margin-bottom: calc(24 * var(--scale));
    font-size: calc(26 * var(--scale));
  }
  .body-lg {
    max-width: calc(500 * var(--scale));

    p {
      font-size: calc(24 * var(--scale));
      line-height: normal;
    }

    @media screen and (max-width: 1023px) {
      p br { display: none; }
    }
  }
  .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(33.3% - calc(14 * var(--scale)));
      }

      img {
        height: calc(80 * var(--scale));
        width: auto;
        max-width: none;
        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;
      }
    }
  }
}

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

  @media (min-width: 1024px) {
    flex-direction: row-reverse;
    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(20 * 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(12 * var(--scale));
  }
  h3 {
    font-size: calc(28 * var(--scale));
    margin-bottom: calc(24 * var(--scale));
  }
  .body-lg {
    text-align: left;

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

    h4 {
      font-size: calc(21 * var(--scale));
      line-height: normal;
    }
    p {
      font-size: calc(15 * var(--scale));
      margin-bottom: calc(18 * var(--scale));

      &:last-child {
        margin-bottom: 0;
      }
    }
  }
  .body-icons-wrapper {
    display: flex;
  }
  .icons-wrapper {
    border-left: solid 2px #5d4130;
    padding-left: calc(20 * var(--scale));
    margin-left: calc(20 * 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(18 * var(--scale));

      img {
        display: flex;
        max-width: calc(68 * 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));
      }
    }
  }
}

.eye-patches--section-05 {
  display: flex;
  flex-direction: column;

  @media screen and (min-width: 1024px) {
    flex-direction: row;    
  }
  .eye-patches--section-05__featured {
    display: flex;
    flex-direction: row-reverse;
    background-color: #f8dade;
    align-items: center;
    
    @media screen and (min-width: 1024px) {
      width: 64.5%;
    }
    
    .eye-patches--section-05__text-box {
      width: 100%;
      padding: calc(40 * var(--scale));
      padding-left: calc(70 * var(--scale));

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

    h2 {
      margin-left: calc(85 * var(--scale));
      margin-bottom: calc(40 * var(--scale));
    }

    ol {
      list-style: none;
      counter-reset: featured-counter;

      li {
        counter-increment: featured-counter;
        display: flex;
        align-items: center;
        gap: 12px;
        margin-bottom: calc(24 * var(--scale));

        &::before {
          content: counter(featured-counter);
          flex-shrink: 0;
          display: inline-flex;
          align-items: center;
          justify-content: center;
          width: 1.5em;
          height: 1.5em;
          border-radius: 50%;
          color: white;
          background-color: #77a2d6;
          font-size: calc(36 * var(--scale));
          margin-right: calc(24 * var(--scale));
        }

        p {
          font-size: calc(20 * var(--scale));
          line-height: normal;
        }

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

    }

    img {
      width: 41%;
      height: auto;
      align-self: center;
    
    }
  }
  .eye-patches--section-05__icons {
    background-color: #e1eccd;
    display: flex;
    flex: 1;
    padding-block: calc(40 * var(--scale));
    padding-inline: calc(60 * var(--scale));
    flex-direction: column;

    @media screen and (min-width: 1024px) {
      width: calc(100% - 35.5%);
    }
  }
  ul {
    display: flex;
    flex-direction: column;
    margin-top: calc(20 * var(--scale));
  }
  li {
    display: flex;
    align-items: center;
    margin-bottom: calc(10 * var(--scale));

    img {
      margin-right: calc(20 * var(--scale));
    }
    span {
      font-size: calc(24 * var(--scale));
    }
  }
}

.eye-patches--section-table {
  --scale: calc(100vw / 1400);
  background-color: #f5ced3;

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

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

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

  .eye-patches--section-table__scroll {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    border: 1px solid #806254;
    border-radius: 12px;
  }

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

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

    thead {
      tr {
        border-bottom: 1px solid #806254;
      }
      th[scope="col"] {
        background-color: #ffbcce;
        border-right: 1px solid #806254;
        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: #f8dade;
          border-right: 1px solid #806254;
        }
        &:last-child {
          border-right: none;
        }
      }
    }

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

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

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

.eye-patches-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;
  }

  .eye-patches-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;
      }
    }
    .eye-patches-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;
          }
        }

        img {
          height: calc(235 * var(--scale));
          width: auto;
          max-width: none;
          margin-inline: auto;
        }

        span {
          display: block;
          margin-inline: auto;
          max-width: calc(98 * var(--scale));
          font-size: 21px;

          @media (max-width: 1023px) {
            font-size: 16px;
          }
        }
        .faq-shoppable__badge {
          position: absolute;
          top: 23%;
          right: 2%;
          width: calc(64 * var(--scale));
        }
      }
    }
  }

  .eye-patches-section--faq__faq {
    background-color: #fee7e1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding-inline: 36px;

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

  }
}

.eye-patches-section--faq__accordion {
  width: 100%;
  border-radius: 16px;
  text-align: center;
  border: solid 1px #644937;
  font-size: 24px;
  line-height: normal;
  margin-bottom: 28px;

  details {
    padding: 12px 16px;
    border-bottom: solid 1px #644937;

    &:last-child { border-bottom: none; }
    &[open] summary::after { content: "−"; }
  }

  summary {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    font-size: 28px;
    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: 21px; }
  }

  .eye-patches-faq__content {
    overflow: hidden;
    transition: height 0.35s ease;

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

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

.eye-patches--social {
  --scale: calc(100vw / 1400);
  background-color: #f6afd5;
  position: relative;

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

  .eye-patches--social__mobile-image {
    display: block;
    width: 100%;
    height: auto;

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

  .eye-patches--social__desktop-image {
    display: none;

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

  .eye-patches--social__content {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: calc(28 * var(--scale));

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

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

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

  .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;
    }

  }

  .eye-patches--social__links {
    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; }
    }
  }
}
