/* Shared subpage styles — straight / hair-quality */

.sub-reserve {
  max-width: 20rem;
  margin-inline: auto;
  display: grid;
  gap: 0.75rem;
}

.sub-reserve--wide {
  max-width: 22rem;
}

.sub-reserve .btn-reserve {
  width: 100%;
}

.sub-reserve-section {
  background: var(--white);
  padding: clamp(2rem, 6vw, 3rem) var(--space-inner);
}

.sub-reserve-section--soft {
  background: var(--white-soft);
}

.sub-price-detail {
  max-width: 22rem;
  margin-inline: auto;
  padding: 1.75rem 1.4rem;
  background: var(--white);
  border: 1px solid rgba(93, 114, 128, 0.24);
  border-radius: var(--radius-soft);
}

.sub-price-detail__title {
  margin: 0;
  font-family: var(--font-en);
  font-size: 0.92rem;
  letter-spacing: 0.2em;
  color: var(--blue-deep);
  text-align: center;
}

.sub-price-detail__amount {
  margin: 1rem 0 0;
  font-size: clamp(1.1rem, 4.5vw, 1.35rem);
  font-weight: 500;
  letter-spacing: 0.06em;
  color: var(--text);
  text-align: center;
}

.sub-price-detail__list {
  margin: 1.35rem 0 0;
  padding: 0;
  list-style: none;
}

.sub-price-detail__list li {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 1rem;
  padding: 0.65rem 0;
  border-top: 1px solid rgba(232, 220, 200, 0.75);
  font-size: 0.8rem;
  letter-spacing: 0.05em;
}

.sub-price-detail__list li span:last-child {
  flex-shrink: 0;
  font-family: var(--font-en);
  color: var(--blue-deep);
  white-space: nowrap;
}

.sub-price-detail__note {
  margin: 1.25rem 0 0;
  font-size: 0.72rem;
  line-height: var(--leading-tight);
  letter-spacing: 0.05em;
  color: var(--muted);
  text-align: center;
}

.sub-about {
  background: var(--white);
}

.sub-about__text {
  margin: 0;
  font-size: 0.86rem;
  line-height: var(--leading);
  letter-spacing: 0.06em;
  color: var(--muted);
}

.sub-about__text + .sub-about__text {
  margin-top: 1.25rem;
}

.sub-about__text a {
  color: var(--blue-deep);
  text-decoration: none;
  border-bottom: 1px solid rgba(93, 114, 128, 0.28);
}

.sub-about__text--center {
  margin-top: 1.75rem;
  text-align: center;
}

.sub-about__text--center a {
  color: var(--blue-deep);
  text-decoration: none;
  border-bottom: 1px solid rgba(93, 114, 128, 0.28);
}

.sub-about__lead {
  margin: 0 0 1.25rem;
  font-size: clamp(0.95rem, 3.8vw, 1.05rem);
  line-height: var(--leading-tight);
  letter-spacing: 0.08em;
  color: var(--blue-deep);
}

.sub-faq__list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.85rem;
}

.sub-faq__item {
  padding: 1.25rem 1.2rem;
  background: var(--white);
  border: 1px solid rgba(138, 157, 168, 0.18);
  border-radius: var(--radius-soft);
}

.sub-faq__q {
  margin: 0;
  font-size: 0.84rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  color: var(--blue-deep);
  line-height: var(--leading-tight);
}

.sub-faq__a {
  margin: 0.85rem 0 0;
  font-size: 0.8rem;
  line-height: var(--leading);
  letter-spacing: 0.05em;
  color: var(--muted);
}

.sub-diff {
  display: grid;
  gap: 1rem;
  max-width: 24rem;
  margin-inline: auto;
}

.sub-diff__card {
  margin: 0;
  padding: 1.35rem 1.2rem;
  background: var(--white-soft);
  border: 1px solid rgba(138, 157, 168, 0.18);
  border-radius: var(--radius-soft);
  text-align: center;
}

.sub-diff__card--accent {
  background: linear-gradient(180deg, rgba(216, 228, 233, 0.28) 0%, var(--white-soft) 100%);
  border-color: rgba(93, 114, 128, 0.26);
}

.sub-diff__label {
  margin: 0;
  font-family: var(--font-en);
  font-size: 0.72rem;
  letter-spacing: 0.18em;
  color: var(--blue-deep);
}

.sub-diff__arrow {
  margin: 0.65rem 0 0;
  font-size: 0.82rem;
  letter-spacing: 0.06em;
  color: var(--muted);
}

.sub-placeholder {
  margin: 0;
  padding: 3rem 1.25rem;
  text-align: center;
  font-size: 0.78rem;
  letter-spacing: 0.08em;
  color: var(--muted);
  background: var(--white-soft);
  border: 1px dashed rgba(138, 157, 168, 0.35);
  border-radius: var(--radius-soft);
}

.sub-ba {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 0.65rem;
  align-items: center;
  max-width: 22rem;
  margin-inline: auto;
}

.sub-ba__tag {
  display: block;
  margin-bottom: 0.45rem;
  font-family: var(--font-en);
  font-size: 0.58rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  text-align: center;
  color: var(--muted);
}

.sub-ba__arrow {
  font-family: var(--font-en);
  font-size: 1rem;
  color: var(--wood);
  text-align: center;
}

.sub-section--soft {
  background: var(--white-soft);
}

.sub-price-section {
  background: var(--white-soft);
}

.sub-cta-section {
  background: linear-gradient(180deg, var(--white) 0%, var(--white-soft) 100%);
}

.sub-cta-section__message {
  margin: -1rem auto 2rem;
  max-width: 24rem;
  text-align: center;
  font-size: 0.86rem;
  line-height: var(--leading);
  letter-spacing: 0.06em;
  color: var(--muted);
}

.sub-cta-section__back {
  margin-top: 1.5rem;
  text-align: center;
}

.sub-cta-section__back a {
  font-size: 0.74rem;
  letter-spacing: 0.1em;
  color: var(--blue-deep);
  text-decoration: none;
  border-bottom: 1px solid rgba(93, 114, 128, 0.28);
}

@media (hover: hover) {
  .sub-cta-section__back a:hover {
    border-bottom-color: var(--blue-deep);
  }
}

@media (max-width: 767px) {
  .sub-ba {
    grid-template-columns: 1fr;
    gap: 0;
    max-width: 18rem;
  }

  .sub-ba__arrow {
    margin: 0.75rem 0;
  }
}
