/* Mobile Responsive Styles for incellderm.co.jp */
@media screen and (max-width: 992px) {

  /* General Layout */
  .container {
    width: 100% !important;
    padding: 0 15px !important;
    box-sizing: border-box;
  }

  .content_inner {
    width: 100% !important;
    padding: 20px 15px !important;
  }

  /* Header */
  .header_inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 15px;
  }

  .header_menu,
  .header_menu_contact {
    display: none !important;
    /* Hide desktop menu */
  }

  .header_menu_sp {
    display: block !important;
  }

  .header_logo img {
    height: 40px !important;
    width: auto !important;
  }

  /* Typography & Titles */
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    line-height: 1.4 !important;
  }

  .maintitle h2 {
    font-size: 24px !important;
  }

  .maintitle span {
    font-size: 14px !important;
  }

  /* Flexible Blocks */
  .concept_flex,
  .point_flex,
  .p_contact .contact_box ul {
    display: flex !important;
    flex-direction: column !important;
    gap: 20px !important;
  }

  .concept_flex_inner,
  .point_flex_inner {
    width: 100% !important;
    padding: 0 !important;
    position: static !important;
  }

  /* Images */
  img {
    max-width: 100% !important;
    height: auto !important;
  }

  /* Product Grid */
  .p_products ul {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 15px !important;
  }

  .p_products li {
    width: 100% !important;
    margin: 0 !important;
  }

  /* Buttons */
  .btn02 a {
    width: 100% !important;
    font-size: 16px !important;
    padding: 15px !important;
    box-sizing: border-box;
  }

  /* Footer */
  .footer_inner {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    padding: 30px 15px !important;
  }

  .footer .information {
    float: none !important;
    margin-bottom: 20px;
  }

  .footer .footer_menu {
    float: none !important;
    width: 100% !important;
  }

  .footer .footer_menu ul {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 15px !important;
  }

  .footer .footer_menu ul li {
    padding: 0 5px !important;
    border: none !important;
    background: none !important;
  }

  /* Forms */
  input[type="text"],
  input[type="email"],
  input[type="tel"],
  select,
  textarea {
    width: 100% !important;
    font-size: 16px !important;
    /* Prevent iOS zoom */
  }

  /* Specific sections */
  .catcharea_inner h1 {
    font-size: 24px !important;
  }

  .p_trouble ul {
    flex-wrap: wrap !important;
    justify-content: center !important;
  }

  .p_trouble li {
    width: calc(50% - 10px) !important;
    margin-bottom: 15px !important;
  }

  /* Salon page specific */
  .salon_list dl {
    display: flex !important;
    flex-direction: column !important;
    margin-bottom: 20px !important;
  }

  .salon_list dt {
    width: 100% !important;
    padding: 10px !important;
    background: #f5f5f5 !important;
  }

  .salon_list dd {
    width: 100% !important;
    padding: 10px !important;
    border-top: none !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
  }

  .salon_list dd span {
    word-break: break-all !important;
  }

  /* Fix header gap */
  body {
    padding-top: 0 !important;
  }

  /* Ambassador UI */
  #ambassador-character {
    width: 90px !important;
    right: 5px !important;
    bottom: 5px !important;
  }
}

header {
  z-index: 1000 !important;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1) !important;
  height: 60px !important;
}

.header_humberger {
  display: block !important;
  width: 30px !important;
  height: 22px !important;
  position: relative !important;
  z-index: 1001 !important;
}

.menu_line {
  display: block !important;
  width: 100% !important;
  height: 2px !important;
  background: #333 !important;
  position: absolute !important;
  transition: all 0.3s !important;
}

.menu_line.top {
  top: 0 !important;
}

.menu_line.center {
  top: 10px !important;
}

.menu_line.bottom {
  bottom: 0 !important;
}

.header_humberger.active .menu_line.top {
  transform: translateY(10px) rotate(45deg) !important;
}

.header_humberger.active .menu_line.center {
  opacity: 0 !important;
}

.header_humberger.active .menu_line.bottom {
  transform: translateY(-10px) rotate(-45deg) !important;
}

.header_menu_drawer_wrap {
  display: none;
  position: fixed !important;
  top: 60px !important;
  left: 0 !important;
  width: 100% !important;
  height: calc(100vh - 60px) !important;
  background: #fff !important;
  z-index: 999 !important;
  overflow-y: auto !important;
}

.header_menu_drawer_inner {
  padding: 40px 20px !important;
}

.header_menu_drawer_inner ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.header_menu_drawer_inner ul li a {
  display: block !important;
  padding: 15px 0 !important;
  border-bottom: 1px solid #eee !important;
  color: #333 !important;
  text-decoration: none !important;
  font-size: 16px !important;
}

.header_menu_drawer_wrap.active {
  display: block !important;
}

.close_btn:hover {
  opacity: 0.7;
}
  /* Mobile overrides for new premium concept block */
  .concept_intro_premium {
    flex-direction: column !important;
    border-radius: 0 !important;
    margin-left: -15px !important;
    margin-right: -15px !important;
    width: calc(100% + 30px) !important;
  }
  .concept_intro_premium .intro_img_area {
    width: 100% !important;
  }
  .concept_intro_premium .intro_img_area img {
    min-height: 250px !important;
    max-height: 300px !important;
  }
  .concept_intro_premium .intro_text_area {
    width: 100% !important;
    padding: 30px 20px !important;
  }
  .concept_intro_premium h2 span:first-child {
    font-size: 1.2rem !important;
  }
  .concept_intro_premium h2 span:last-child {
    font-size: 1.8rem !important;
  }
  .concept_intro_premium p {
    font-size: 1.4rem !important;
  }
  .custom_section_title h2 {
    font-size: 2.2rem !important;
  }
}
