/* =========================================================
   mirunote-mobile.css
   ストア全体のデザイン整え（スマホ/PC共通）
   ========================================================= */

/* ---------------------------------------------------------
   ブランド名表記の統一（MIRUNOTE/Mirunote → mirunote公式ストア）
   --------------------------------------------------------- */
.header__heading,
.header__heading-link,
.header__heading-link *,
.footer-block__heading,
.footer__content-top .footer-block__heading,
.copyright__content {
  text-transform: none !important;
}

/* ---------------------------------------------------------
   ヘッダーロゴ画像: 大きすぎない・崩れない
   --------------------------------------------------------- */
.header__heading-logo,
.header__heading img,
.header__heading-link img,
.header__logo img {
  max-height: 38px !important;
  width: auto !important;
  object-fit: contain !important;
}
@media screen and (max-width: 749px) {
  .header__heading-logo,
  .header__heading img,
  .header__heading-link img,
  .header__logo img {
    max-height: 30px !important;
  }
}

/* ---------------------------------------------------------
   リッチテキスト（汎用）
   --------------------------------------------------------- */
.rich-text__blocks.left .rich-text__text.rte,
.rich-text__text.rte {
  display: block !important;
  text-align: left !important;
  padding-inline: 0 !important;
  line-height: 1.9;
}
.rich-text__text.rte::before,
.rich-text__text.rte::after { display: none !important; }
.rich-text__text.rte p { margin: 0 0 1.2em; }
.rich-text__text.rte p:last-child { margin-bottom: 0; }

/* =========================================================
   Hero（画像なしスライドショー → ネイビーの中央バンド）
   ========================================================= */
.slideshow.banner,
.slideshow.banner--adapt_image,
.slideshow__slide,
slideshow-component {
  background-color: #1a3a6c !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
}
.slideshow__media,
.slideshow__media.placeholder,
.slideshow__media.banner__media.placeholder {
  display: none !important;
}
.slideshow__slide { display: flex !important; align-items: center !important; }
.slideshow__text-wrapper.banner__content {
  position: static !important;
  justify-content: center !important;
  padding: 4rem 2rem !important;
  width: 100%;
}
.slideshow__text.banner__box {
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  border: none !important;
  width: 100% !important;
  max-width: 64rem;
  margin: 0 auto !important;
  align-items: center !important;
  text-align: center !important;
  padding: 0 !important;
}
.slideshow__text .banner__heading,
.slideshow__text .banner__heading *,
.slideshow__text .banner__text,
.slideshow__text .banner__text * { color: #ffffff !important; }
.slideshow__text .banner__heading {
  font-size: 1.5rem !important;
  letter-spacing: 0.04em;
  opacity: 0.9;
  margin-bottom: 1.4rem !important;
}
.slideshow__text .banner__text {
  font-size: 2.4rem !important;
  font-weight: 700 !important;
  line-height: 1.55 !important;
  margin-bottom: 2.2rem !important;
}
.slideshow__text .banner__buttons { justify-content: center !important; }
.slideshow__text .button {
  background: #ffffff !important;
  color: #1a3a6c !important;
  border: none !important;
  font-weight: 700 !important;
  padding: 1.2rem 3rem !important;
}

/* =========================================================
   商品ページ（デジタル教材向け整理）
   ========================================================= */
#lms-section-template--product__related-products,
.related-products,
.product-recommendations { display: none !important; }
.product__description { display: none !important; }

.product-form__buttons {
  display: flex !important;
  flex-direction: column-reverse !important;
  gap: 0.9rem !important;
  width: 100%;
}
.product-form__buttons .product-form__submit,
.product-form__buttons .lms-payment-button,
.product-form__buttons .lms-payment-button__button,
.product-form__buttons lms-payment-button {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
}
.product__title,
.product__title *,
[id^="tab-"] h2,
[id^="tab-"] h3,
[id^="tab-"] b,
[id^="tab-"] strong { color: #1a3a6c !important; }
[id^="tab-"],
[id^="tab-"] p,
[id^="tab-"] li,
[id^="tab-"] span { color: #333333 !important; }
.product__title { word-break: normal; overflow-wrap: anywhere; }

/* カテゴリーページ: 重複説明を非表示 */
main .collection-hero { display: none !important; }

/* 空の星評価・販売元名を非表示 */
.rating,
.card__information .rating,
.card-information .rating,
.card__information .caption-with-letter-spacing,
.card-information__wrapper .caption-with-letter-spacing { display: none !important; }

/* =========================================================
   法務ページ: 表の横はみ出し根本防止
   ========================================================= */
/* PC/共通: table-layout: fixed で幅を100%に制約 */
.rte table {
  width: 100% !important;
  max-width: 100% !important;
  table-layout: fixed !important;
  box-sizing: border-box !important;
}
.rte td,
.rte th {
  overflow-wrap: break-word !important;
  word-break: break-word !important;
  box-sizing: border-box !important;
}

/* スマホ: 縦1列カード表示に変換 */
@media screen and (max-width: 749px) {
  .rte table,
  .rte tbody,
  .rte tr {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  .rte th,
  .rte td {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    border: none !important;
    overflow-wrap: break-word !important;
    word-break: break-word !important;
    padding: 10px 12px !important;
  }
  .rte tr {
    border: 1px solid #ddd !important;
    border-radius: 6px !important;
    margin-bottom: 12px !important;
    padding: 0 !important;
    overflow: hidden;
  }
  .rte th {
    background: #f4f6f9 !important;
    font-weight: 700 !important;
    border-bottom: 1px solid #e0e4ea !important;
    color: #1a3a6c !important;
  }
  .rte td {
    line-height: 1.8 !important;
    color: #333 !important;
  }
}

/* =========================================================
   カテゴリ一覧ページ（/collections）: モバイル1列・画像なし対応
   ========================================================= */
/* 画像なしプレースホルダーを非表示（:has対応ブラウザ全般対応） */
.collection-list .placeholder-svg { display: none !important; }
.collection-list .card__inner:has(.placeholder-svg) {
  padding-top: 0 !important;
  min-height: 80px !important;
}

@media screen and (max-width: 749px) {
  /* 2列 → 1列に上書き */
  .collection-list.grid {
    grid-template-columns: 1fr !important;
  }
  .collection-list .grid__item,
  .collection-list .collection-list__item {
    width: 100% !important;
    max-width: 100% !important;
  }
  .collection-list .card {
    max-width: 100% !important;
  }
}

/* フッター「規約・お問い合わせ」リンク: 縦並び・行間 */
.mn-flinks a { display: inline-block; padding: 4px 0; }

/* =========================================================
   偽購入通知・Powered by 非表示
   ========================================================= */
.product-notification { display: none !important; }
.footer__copyright .copyright__content:has(a[href*="launchmystore"]),
.footer__copyright .copyright__content + .copyright__content { display: none !important; }

/* =========================================================
   スマホ (≤989px)
   ========================================================= */
@media screen and (max-width: 989px) {
  .verticle-menu-drawer { display: none !important; }
  .rich-text__blocks.left > * { justify-content: flex-start; text-align: left; }
  .rich-text__blocks > * { align-items: flex-start; }
}

/* =========================================================
   スマホ (≤749px)
   ========================================================= */
@media screen and (max-width: 749px) {
  .slideshow__text .banner__text { font-size: 2rem !important; }
  .slideshow__text-wrapper.banner__content { padding: 3.2rem 1.6rem !important; }

  .rich-text__text.rte { font-size: 15px !important; line-height: 1.85; }
  .rich-text__heading.h2 { font-size: 20px; line-height: 1.4; margin-bottom: 1rem; }
  .rich-text__wrapper { padding-left: 1.5rem; padding-right: 1.5rem; }

  .product__title,
  .product__title h1 { font-size: 2.1rem !important; line-height: 1.4 !important; }
  [id^="tab-"] h2 { font-size: 1.8rem !important; line-height: 1.4; margin-top: 1.4em; }
  [id^="tab-"] h3 { font-size: 1.6rem !important; }
  [id^="tab-"],
  [id^="tab-"] p,
  [id^="tab-"] li { font-size: 1.5rem !important; line-height: 1.85 !important; }
}

/* =========================================================
   スマホ (≤479px)
   ========================================================= */
@media screen and (max-width: 479px) {
  .product__title,
  .product__title h1 { font-size: 1.9rem !important; }
  .slideshow__text .banner__text { font-size: 1.8rem !important; }
}

/* =========================================================
   フッター: スマホでリンクリスト縦並び
   ========================================================= */
@media screen and (max-width: 749px) {
  .footer__list { display: flex; flex-direction: column; gap: 0.6rem; }
}
