#product
{
  #product-header
  {
    margin-bottom:88px;
    #product-photo
    {
      overflow-y: auto;
      ul
      {
        display: flex;
        li
        {
          min-width:100%;
          width: 100%;
          picture
          {
            display: block;
            width: 100%;
            padding-top:100%;
            position: relative;
            img
            {
              position: absolute;
              top:0px;
              left:0px;
              display: block;
              width: 100%;
              height: 100%;
              object-fit: cover;
              object-position: center;
            }
          }
        }
      }
    }
    #product-info
    {
      .breadcrumb
      {
        justify-content:flex-start;
      }
      h1
      {
        font-size: 28px;
        line-height: 36px; /* 128.571% */
        letter-spacing: 1.12px;
        margin-bottom:15px;
      }
      #product-price
      {
        font-size: 15px;
        line-height: 22px; /* 146.667% */
        letter-spacing: 0.6px;
        color:#C30D23;
        margin-bottom:40px;
      }
      #product-spec
      {
        margin-bottom:40px;
        h5
        {
          font-size: 18px;
          line-height: 24px; /* 133.333% */
          letter-spacing: 0.72px;
          margin-bottom:24px;
        }
        dl
        {
          display: block;
          margin-bottom:8px;
          &::after
          {
            content: ' ' ;
            display: block;
            clear:both;
          }
          dt
          {
            white-space:nowrap;
            display: inline;
            &::after
            {
              content:'：';
            }
          }
          dd
          {
            display: inline;
          }
        }
      }
    }
  }
  #content
  {
    h2,h3,h4,h5,p,ul,ol
    {
      padding:10px 0;
    }
    h2,h3,h4,h5
    {
      font-size: 18px;
      font-weight: 700;
      line-height: 24px;
      letter-spacing: 0.72px;
    }
    img
    {
      max-width:100%;
    }
  }
  @media(min-width:1249px)
  {
    #product-header
    {
      #product-info
      {
        padding-right:calc(50% - 600px);
      }
    }

  }
  @media(max-width:1248px)
  {
    #product-header
    {
      #product-info
      {
        padding-right:24px;
      }
    }

  }
  @media(min-width:768px)
  {
    #product-header
    {
      display: flex;
      #product-photo
      {
        width: calc(50% - 20px);
        margin-right:20px;
      }
      #product-info
      {
        width: calc(50% - 20px);
        margin-left:20px;

      }
    }
  }
  @media(max-width:767px)
  {
    #product-header
    {
      #product-info
      {
        padding:40px 24px;
      }
    }
  }

}
*[data-dh-shopcart=info]
{
  color:#a00;
  padding-bottom:20px;
}
*[data-dh-shopcart=options]
{
  margin-bottom:24px;
  .form-group
  {
    margin-bottom: 24px;
    &:last-child
    {
      margin-bottom:0;
    }
    >label
    {
      display: block;
      margin-bottom: 8px;
    }
    select
    {      
      display: block;
      width: 100%;
      padding:10px 24px;
      line-height:14px;
      border:1px solid #A3A3A3;
      height: 48px;
      option
      {
        line-height: 14px;
      }
    }
    .input-radio-group
    {
      label
      {
        cursor: pointer;
        border:1px solid #A3A3A3;
        display: flex;
        padding:12px 24px;
        align-items:center;
        margin-bottom: 24px;
        &:last-child
        {
          margin-bottom: 0;
        }
        picture
        {
          width: 48px;
          height: 48px;
          margin-right:24px;
          img
          {
            display: block;
            width: 100%;
            height: 100%;
            object-fit:cover;
            object-position: center;
          }
        }
        input
        {
          display: none;
        }
        &:has(input:checked)
        {
          background-color: $main-color;
          span
          {
            color:#fff;
          }
        }
      }
    }
  }
}
*[data-dh-shopcart=num]
{
  display: flex;
  border:1px solid #A3A3A3;
  height: 46px;
  margin-bottom:24px;
  button
  {
    width: 46px;
    height: 46px;
    border:0;
    margin:0;
    padding:0;
    background-color: rgba(0,0,0,0);
    cursor: pointer;
    &:disabled
    {
      cursor: no-drop;
    }
  }
  >div
  {
    display: flex;    
    align-items:center;
    justify-content:center;
    flex:1;
    span
    {
      font-size:16px;
    }
    input
    {
      display: none;
    }
  }
  &:has(button:disabled){
    cursor: no-drop;
    background-color: #f1f1f1;
    opacity: .5;
  }
}

*[data-dh-shopcart=button]
{
  display: flex;
  button
  {
    width: calc(50% - 12px);
    margin:0 12px;
    height: 48px;
    border:0;
    padding:0;
    cursor: pointer;
    transition-duration:.5s;
    &:disabled
    {
      cursor: no-drop;
      opacity: .5;
    }
    &:nth-child(2n)
    {
      background-color: #F7F7F7;
      border:1px solid #F7F7F7;
      margin-right:0;
      &:hover
      {
        background-color: #333;
        color:#fff;
      }
      &:disabled
      {
        &:hover
        {
          background-color: #F7F7F7;
          border:1px solid #F7F7F7;
        }
      }
    }
    &:nth-child(2n + 1)
    {
      border:1px solid $main-color;
      background-color: $main-color;
      color:#fff;
      margin-left: 0;
      &:hover
      {
        background-color: #fff;
        color:$main-color;
        &:disabled
        {
          background-color: $main-color;
          color:#fff;   
        }
      }
      

    }
  }
}

*[data-dh-shopcart=more]
{
//  border: 1px solid #A3A3A3;
  border-bottom: 0;
  margin-bottom: 24px;
  h4
  {
    border-bottom: 1px solid #A3A3A3;
    padding:16px 24px;
  }
  .more-list
  {
    display: flex;
    align-items:center;
    justify-content:center;
    padding:24px;
    border-bottom: 1px solid #A3A3A3;
    picture
    {
      margin-right:24px;
      width: 80px;
      height: 80px;
      img
      {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
      }
    }
    dl
    {
      flex:1;
      dt
      {
        margin-bottom:4px;
      }
    }
    >div
    {
      width: 150px;
      border:1px solid #A3A3A3;
      display: flex;
      button
      {
        width: 48px;
        height: 48px;
        border:0;
        padding:0;
        margin:0;
        background-color: rgba(0,0,0,0);
      }
      >div
      {
        flex:1;
        display: flex;
        align-items:center;
        justify-content:center;
      }
      input
      {
        flex:1;
        display: none;
      }
    }
  }
  @media(max-width:767px)
  {
    
    .more-list
    {
      flex-wrap:wrap;
      picture
      {
        margin-bottom:24px;
      }
      dl
      {
        margin-bottom: 24px;;
      }
      >div
      {
        width: 100%;
      }
    }
  }
}