/*
 * SOLE — 05 Page: Sole-story
 * Sole-storyページ（/sole-story/）専用スタイル
 */

/* ── 全幅レイアウト ── */
.page-id-8 #content > .ast-container,
.page-id-8 .ast-container,
.page-id-8 .entry-content > .alignfull {
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* ── コンテンツエリア全段リセット ── */
.page-id-8 #primary,
.page-id-8 .site-main,
.page-id-8 .ast-article-single,
.page-id-8 .entry-content {
  padding: 0 !important;
  margin: 0 !important;
}

/* ── Section base ── */
.page-id-8 .section {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 9rem 2rem !important;
  position: relative;
  overflow: hidden;
}

/* ── Gutenberg レイアウト制約の解除 ── */
:root :where(.page-id-8 .section.is-layout-constrained) > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
  max-width: 100%;
  margin-left: unset;
  margin-right: unset;
}

/* ── Content wrapper ── */
.page-id-8 .content {
  max-width: 640px !important;
  width: 100%;
  text-align: center;
  position: relative;
  z-index: 1;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* ── Hero ── */
.hero {
  background: linear-gradient(160deg, #FAF7F2 0%, #F0EDE6 100%);
}

.catch {
  font-family: var(--font-serif);
  font-size: clamp(1.92rem, 4.8vw, 3.12rem);
  font-weight: 200;
  line-height: 2.2;
  letter-spacing: 0.1em;
  color: var(--text);
}

.page-id-8 .copy {
  font-size: clamp(1.44rem, 3.12vw, 2.1rem);
}

.page-id-8 .sub {
  font-size: clamp(1.08rem, 2.16vw, 1.32rem);
}

/* ── Botanical decoration ── */
.hero-botanical {
  position: absolute;
  right: -40px;
  bottom: -20px;
  width: min(420px, 70vw);
  opacity: 0.45;
  pointer-events: none;
  animation: sway 8s ease-in-out infinite;
  transform-origin: bottom center;
}

/* ── Decorative circles ── */
.deco-circle--left {
  position: absolute;
  left: -120px;
  top: 50%;
  transform: translateY(-50%);
  width: 360px;
  height: 360px;
  border-radius: 50%;
  background: radial-gradient(circle, var(--sage-light) 0%, transparent 70%);
  opacity: 0.3;
  pointer-events: none;
}

.deco-circle--right {
  position: absolute;
  right: -120px;
  top: 50%;
  transform: translateY(-50%);
  width: 360px;
  height: 360px;
  border-radius: 50%;
  background: radial-gradient(circle, var(--sage-light) 0%, transparent 70%);
  opacity: 0.3;
  pointer-events: none;
}

/* ── Sage section ── */
.section--sage { background-color: var(--sage-xlight); }
.section--sage .sub { color: var(--sage); }

.deco-leaf {
  position: absolute;
  left: -20px;
  bottom: 40px;
  width: min(180px, 35vw);
  opacity: 0.6;
  pointer-events: none;
  animation: sway 10s ease-in-out infinite;
  transform-origin: bottom left;
}

/* ── Dark section ── */
.section--dark { background-color: var(--text); }

.brand-message {
  font-family: var(--font-serif);
  font-size: clamp(1.2rem, 2.4vw, 1.56rem);
  font-weight: 200;
  line-height: 2.8;
  letter-spacing: 0.1em;
  color: rgba(250, 247, 242, 0.6);
}

.brand-name {
  font-family: var(--font-latin);
  font-size: 1.05rem;
  font-weight: 300;
  letter-spacing: 0.4em;
  color: rgba(250, 247, 242, 0.3);
  margin-top: 3rem;
}

/* ── Mobile ── */
@media (max-width: 768px) {
  .page-id-8 .section {
    padding: 7rem 1.5rem !important;
  }

  .hero-botanical {
    width: min(280px, 75vw);
    right: -20px;
    bottom: -10px;
  }

  .deco-circle--left {
    width: 240px;
    height: 240px;
    left: -80px;
  }

  .deco-circle--right {
    width: 240px;
    height: 240px;
    right: -80px;
  }

  .catch {
    font-size: clamp(1.68rem, 8.4vw, 2.4rem);
    line-height: 2.0;
  }

  .page-id-8 .copy {
    font-size: clamp(1.32rem, 6.6vw, 1.68rem);
  }

  .page-id-8 .sub {
    font-size: clamp(1.02rem, 4.56vw, 1.2rem);
  }
}
