/* MIRAIÉ Step 5 local repair. Loaded after miraie-shell.css. */
html.miraie-document,
body.miraie-site {
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: 0;
  overflow-x: clip;
}

body.miraie-site > .miraie-wp-page,
body.miraie-site > .miraie-wp-page > main {
  width: 100%;
  max-width: none;
  min-width: 0;
  margin: 0;
  padding: 0;
}

body.miraie-page-course .miraie-wp-page .course-card,
body.miraie-page-course .miraie-wp-page .course-card__body,
body.miraie-page-course .miraie-wp-page .course-card__price {
  min-width: 0;
  max-width: 100%;
}

body.miraie-page-course .miraie-wp-page .course-card__price {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: center;
  gap: 2px 6px;
  width: 100%;
  overflow-wrap: anywhere;
}

body.miraie-page-course .miraie-wp-page .course-card__price > span {
  display: inline-block;
  max-width: 100%;
  font-size: clamp(38px, 4.2vw, 54px);
  line-height: 1.06;
  letter-spacing: 0;
  white-space: nowrap;
}

body.miraie-page-course .miraie-wp-page .course-card__price--parts > span {
  font-size: clamp(28px, 3vw, 34px);
}

@media (max-width: 820px) {
  body.miraie-page-course .miraie-wp-page .course-card__body {
    padding-inline: clamp(14px, 4vw, 18px);
  }

  body.miraie-page-course .miraie-wp-page .course-card__price > span {
    font-size: clamp(32px, 10.2vw, 38px);
  }

  body.miraie-page-course .miraie-wp-page .course-card__price--parts > span {
    font-size: clamp(27px, 8.4vw, 32px);
  }
}

/* v0.2.4-rc1: keep page-level legacy resets out of the shared footer shell. */
body.miraie-site .miraie-wp-page .footer {
  font-family: -apple-system, BlinkMacSystemFont, "Hiragino Sans", "Yu Gothic", sans-serif;
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: normal;
}
body.miraie-site .miraie-wp-page .footer *,
body.miraie-site .miraie-wp-page .footer *::before,
body.miraie-site .miraie-wp-page .footer *::after {
  box-sizing: border-box;
}
body.miraie-site .miraie-wp-page .footer .footer-brand {
  width: 174px;
  height: auto;
  object-fit: contain;
}
body.miraie-site .miraie-wp-page .fixed-cta {
  background: linear-gradient(135deg, var(--green, #25A005), var(--green2, #6DB45A));
  color: #fff;
}
@media (min-width: 821px) {
  body.miraie-site .miraie-wp-page .footer .footer-brand { width: 188px; }
}

/* v0.2.4 review candidate: reserve space for the mobile LINE bar on every page. */
@media (max-width: 820px) {
  body.miraie-site > .miraie-wp-page > main {
    padding-bottom: calc(112px + env(safe-area-inset-bottom));
  }
}
/* v0.2.4 final: compact single-action LINE CTA. */
body.miraie-site .miraie-wp-page .fixed-cta {
  width: min(260px, calc(100vw - 40px));
  min-height: 52px;
  padding: 12px 18px;
  border: 1px solid rgba(55,127,180,.34);
  border-radius: 999px;
  background: #e7f4ff;
  color: #377fb4;
  justify-content: center;
  text-align: center;
  box-shadow: 0 8px 20px rgba(55,127,180,.16);
}
body.miraie-site .miraie-wp-page .fixed-cta:hover,
body.miraie-site .miraie-wp-page .fixed-cta:focus-visible { color: #377fb4; box-shadow: 0 10px 24px rgba(55,127,180,.22); }
body.miraie-site .miraie-wp-page .fixed-cta__icon,
body.miraie-site .miraie-wp-page .fixed-cta__copy,
body.miraie-site .miraie-wp-page .fixed-cta__eyebrow { display: none; }
body.miraie-site .miraie-wp-page .fixed-cta__label { color: #377fb4; font-size: 15px; font-weight: 800; }
@media (max-width: 820px) {
  body.miraie-site .miraie-wp-page .fixed-cta { left: 0; right: 0; width: auto; min-height: 54px; padding: 12px 14px; border-radius: 0; }
  body.miraie-site .miraie-wp-page .fixed-cta__label { font-size: 14px; }
}
body.miraie-page-home .miraie-wp-page .clinic__estimate { margin-top: 16px; padding: 14px 16px; border: 1px solid rgba(105,146,182,.28); border-radius: 14px; background: #f7fbff; }
body.miraie-page-home .miraie-wp-page .clinic__estimate-number { margin: 0; color: #377fb4; font-size: clamp(22px, 3vw, 30px); font-weight: 800; line-height: 1.35; }
body.miraie-page-home .miraie-wp-page .clinic__estimate-note { margin: 6px 0 0; color: #6f7d89; font-size: 12px; line-height: 1.7; }

