﻿/* ============================================================
   satellite_phone_detail.css
   衛星携帯電話 詳細ページ専用スタイル
   ============================================================ */

#satellite-phone-detail {
  padding-top: 100px;
  width: 100%;
}

.satellite-phone__detail__container {
  width: 100%;

  img {
    max-width: 100%;
    height: auto;
  }

  .satellite-phone__detail__header {
    .satellite-phone__detail__header__title {
      color: #22BA9E;
      font-weight: bold;

      h1 {
        font-size: 70px;
      }

      p {
        font-size: 22px;
      }
    }

    img {
      width: 287px;
      height: 273px;
      object-fit: contain;
    }
  }

  .satellite-phone__detail__content {
    background: #F8F9FC;

    section {
      margin: 40px 0;
    }

    .satellite-phone__detail__content__title__section {
      font-size: 30px;
      font-weight: bold;
      color: #22BA9E;
      border-bottom: 3px solid #22BA9E;
      padding-bottom: 8px;
    }

    .satellite-phone__detail__content__what__is {
      p {
        font-size: 18px;
        color: #1B1F27;
        margin: 30px 0;
      }
    }

    .satellite-phone__detail__content__strengths__weaknesses {
      .satellite-phone__detail__child__container {
        margin: 50px 0 50px 20px;

        h2 {
          font-size: 30px;
          font-weight: bold;
          border-left: 1px solid;
          padding-left: 10px;
          margin: 20px 0 10px;
        }

        img {
          margin-top: -20px;
          margin-left: 290px;
        }

        .satellite-phone__detail__child__content {
          margin-top: -25px;
        }

        p {
          font-size: 18px;
          color: #1B1F27;
          margin: 25px 0;
          padding-left: 1.2em;
          position: relative;

          span {
            font-weight: bold;
            display: block;
            text-decoration: underline;
            text-underline-offset: 3px;

            &::before {
              content: "•";
              position: absolute;
              left: 0;
            }
          }
        }
      }
    }

    .satellite-phone__detail__content__disaster__use {
      p {
        font-size: 18px;
        color: #1B1F27;
        margin: 30px 0;
      }

      .satellite-phone__detail__content__disaster__use__list {
        .satellite-phone__detail__content__disaster__use__item {
          max-width: 170px;

          .satellite-phone__detail__content__disaster__use__item__title {
            margin-bottom: 15px;
            width: 100%;
            color: #FFFFFF;
            background: #22BA9E;
            padding: 7px 0;
            font-size: 24px;
            text-align: center;
          }

          p {
            text-align: center;
            margin-top: 15px;
            font-size: 13px;
          }
        }
      }
    }

    .satellite-phone__detail__content__stockpile {
      p {
        font-size: 18px;
        color: #1B1F27;
        margin: 30px 0;

        span {
          color: #22BA9E;
          border-bottom: 1px solid #22BA9E;
        }
      }

      a {
        display: inline-flex;
        align-items: center;
        justify-content: space-between;
        width: 213px;
        height: 49px;
        background: #22BA9E;
        color: #FFFFFF;
        border-radius: 90px;
        border: none;
        cursor: pointer;
        font-size: 16px;
        padding: 0 8px 0 38px;
        text-decoration: none;

        &:hover {
          color: #FFFFFF;
          opacity: 0.9;
        }

        i {
          width: 30px;
          height: 30px;
          background: #FFFFFF;
          color: #22BA9E;
          border-radius: 50%;
          display: inline-flex;
          align-items: center;
          justify-content: center;
          flex-shrink: 0;
        }
      }
    }
  }
}

.satellite-phone__detail__toc {
  margin-top: 50px;
  background: #FFFFFF;
  display: flex;
  flex-direction: column;
  gap: 0;
  position: sticky;
  top: 120px;

  .satellite-phone__detail__toc__item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 18px 12px;
    text-decoration: none;
    color: #CBD2E1;
    font-size: 16px;
    transition: color 0.2s;

    span {
      flex: 1;
    }

    i {
      font-size: 12px;
      color: #CBD2E1;
      flex-shrink: 0;
    }

    &:hover,
    &.active {
      color: #22BA9E;

      i {
        color: #22BA9E;
      }
    }
  }
}

/* ===================================
   RESPONSIVE
=================================== */

/* ---- Tablet: 768px ~ 1024px ---- */
@media screen and (max-width: 1024px) {
  #satellite-phone-detail {
    padding-top: 80px;
  }

  .satellite-phone__detail__container {
    .satellite-phone__detail__header {
      flex-direction: column-reverse !important;
      align-items: center;
      gap: 24px;

      .satellite-phone__detail__header__title {
        text-align: center;

        h1 {
          font-size: 48px;
        }

        p {
          font-size: 18px;
        }
      }

      img {
        width: 200px;
        height: auto;
      }
    }

    .satellite-phone__detail__content {
      flex-direction: column !important;

      > div:first-child {
        width: calc(100% - 32px) !important;
        margin: 0 16px !important;
      }

      > div:last-child {
        width: 100% !important;
        margin: 0 !important;
        order: -1;
      }

      .satellite-phone__detail__content__strengths__weaknesses {
        .satellite-phone__detail__child__container {
          img {
            margin-left: 0;
            display: block;
            margin: 12px auto;
          }

          .satellite-phone__detail__child__content {
            margin-top: 0;
          }
        }
      }
    }
  }

  .satellite-phone__detail__toc {
    position: static;
    flex-direction: row;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    margin-top: 0;
    margin-bottom: 0;
    background: #fff;
    border-bottom: 1px solid #E1E6EF;

    .satellite-phone__detail__toc__item {
      flex-shrink: 0;
      border-bottom: none;
      border-right: 1px solid #E1E6EF;
      padding: 16px 20px;
      font-size: 14px;

      i {
        margin-left: 8px;
      }
    }
  }
}

/* ---- Mobile: < 768px ---- */
@media screen and (max-width: 767px) {
  #satellite-phone-detail {
    padding-top: 60px;
  }

  .satellite-phone__detail__container {
    .satellite-phone__detail__header {
      .satellite-phone__detail__header__title {
        h1 {
          font-size: 34px;
        }

        p {
          font-size: 14px;
        }
      }

      img {
        width: 150px;
      }
    }

    .satellite-phone__detail__content {
      > div:first-child {
        width: calc(100% - 16px) !important;
        margin: 0 8px !important;
      }

      .satellite-phone__detail__content__title__section {
        font-size: 22px;
      }

      .satellite-phone__detail__content__what__is {
        p {
          font-size: 15px;
        }
      }

      .satellite-phone__detail__content__strengths__weaknesses {
        .satellite-phone__detail__child__container {
          margin: 30px 0;

          h2 {
            font-size: 22px;
          }

          p {
            font-size: 15px;
          }
        }
      }

      .satellite-phone__detail__content__disaster__use {
        p {
          font-size: 15px;
        }

        .satellite-phone__detail__content__disaster__use__list {
          flex-wrap: wrap !important;
          gap: 16px !important;
          justify-content: center !important;

          .satellite-phone__detail__content__disaster__use__item {
            max-width: calc(50% - 16px);

            .satellite-phone__detail__content__disaster__use__item__title {
              font-size: 18px;
            }

            p {
              font-size: 12px;
            }
          }
        }
      }

      .satellite-phone__detail__content__stockpile {
        p {
          font-size: 15px;
        }
      }
    }
  }

  .satellite-phone__detail__toc {
    .satellite-phone__detail__toc__item {
      font-size: 13px;
      padding: 12px 14px;
    }
  }
}

/* ---- Mobile nhỏ: < 480px ---- */
@media screen and (max-width: 480px) {
  .satellite-phone__detail__container {
    .satellite-phone__detail__header {
      .satellite-phone__detail__header__title {
        h1 {
          font-size: 26px;
        }

        p {
          font-size: 12px;
        }
      }

      img {
        width: 120px;
      }
    }

    .satellite-phone__detail__content {
      .satellite-phone__detail__content__disaster__use {
        .satellite-phone__detail__content__disaster__use__list {
          .satellite-phone__detail__content__disaster__use__item {
            width: 100%;
          }
        }
      }
    }
  }

  .satellite-phone__detail__toc {
    .satellite-phone__detail__toc__item {
      font-size: 12px;
      padding: 10px 12px;
    }
  }
}
