/* 松風苑 PSDページ共通CSS。既存テーマのCSSとは分離して読み込みます。 */
:root {
  --psd-green: #005438;
  --psd-orange: #f07800;
  --psd-ink: #222;
  --psd-paper: #fffdf9;
  --psd-serif: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif;
}

.scene-page--psd {
  width: 100%;
  max-width: none !important;
  margin: 0 auto;
  color: var(--psd-ink);
}
.scene-page--psd > .wp-block-group__inner-container,
.scene-page--psd .psd-page > .wp-block-group__inner-container {
  width: 100%;
  max-width: none;
  padding: 0;
}
.scene-page--psd .psd-page {
  width: min(100%, 1440px);
  margin: 0 auto;
  overflow: hidden;
  background: var(--psd-paper);
  box-shadow: 0 0 24px rgba(0, 0, 0, .12);
}
.scene-page--psd .psd-canvas {
  position: relative;
  width: 100%;
  height: auto;
  overflow: hidden;
  background: var(--psd-paper);
  isolation: isolate;
}
.scene-page--psd .psd-canvas > .wp-block-group__inner-container {
  width: 100%;
  max-width: none;
  min-height: 100%;
  padding: 0;
}
.scene-page--psd .psd-canvas > .wp-block-group__inner-container > * {
  margin-block-start: 0;
}

.scene-page--psd .psd-section-band {
  position: absolute;
  left: 0;
  width: 100%;
  z-index: 0;
  pointer-events: none;
}
.scene-page--psd .psd-section-band--hero { background: linear-gradient(115deg, #fbf7ef 0%, #fffdf9 65%, #f2f1e9 100%); }
.scene-page--psd .psd-section-band--recommend { background: #f4efe7; }
.scene-page--psd .psd-section-band--features { background: #fffdf9; }
.scene-page--psd .psd-section-band--plan { background: linear-gradient(180deg, #f5f0e9, #fffdf9); }
.scene-page--psd .psd-section-band--flow { background: #f7f2ec; }
.scene-page--psd .psd-section-band--qa { background: #f3f2ec; }
.scene-page--psd .psd-section-band--contact { background: #fbf8f3; }
.scene-page--psd .psd-section-band--card {
  background: #f8f3ec;
  border-top: 1px solid rgba(255, 255, 255, .7);
  border-bottom: 1px solid rgba(0, 84, 56, .08);
}
.scene-page--psd .psd-section-band--section {
  background: rgba(255, 255, 255, .55);
  border-top: 1px solid rgba(0, 84, 56, .06);
  border-bottom: 1px solid rgba(0, 84, 56, .05);
}

.scene-page--psd .psd-layer {
  position: absolute;
  z-index: 2;
  margin: 0 !important;
  padding: 0;
  overflow: visible;
}
.scene-page--psd .psd-text {
  font-family: var(--psd-serif);
  line-height: 1.5;
  white-space: pre-line;
  overflow: visible;
}
.scene-page--psd .psd-body { line-height: 1.85; }
.scene-page--psd .psd-vertical {
  writing-mode: vertical-rl;
  text-orientation: mixed;
  white-space: normal;
  line-height: 1.4;
}
.scene-page--psd .psd-media {
  position: absolute;
  z-index: 1;
  display: block;
  margin: 0 !important;
  max-width: none;
  overflow: visible;
  filter: saturate(.98);
}
.scene-page--psd figure.psd-media img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  margin: 0;
  object-fit: contain;
  object-position: center;
}
.scene-page--psd .psd-button {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 2.4em;
  min-height: 1.8em;
  padding: .35em .7em;
  background: var(--psd-green);
  color: #fff !important;
  text-decoration: none;
  border-radius: 2px;
  line-height: 1.3;
  box-shadow: 0 4px 10px rgba(0, 84, 56, .15);
}
.scene-page--psd .psd-button.psd-vertical { padding: .7em .35em; }
.scene-page--psd .psd-plus {
  font-family: system-ui, sans-serif;
  color: var(--psd-green) !important;
  font-weight: 400;
}
.scene-page--family-celebration .psd-button { background: var(--psd-orange); }
.scene-page--family-meeting .psd-section-band--hero { background: linear-gradient(135deg, #164f40 0%, #0b392f 48%, #f8f2e9 48%, #fffdf9 100%); }
.scene-page--family-meeting .psd-section-band--recommend,
.scene-page--children-celebration .psd-section-band--recommend { background: #f7f0e8; }
.scene-page--yuinou .psd-section-band--hero { background: linear-gradient(135deg, #f7efe9, #fffdf9); }
.scene-page--children-celebration .psd-section-band--hero { background: linear-gradient(115deg, #fff8f1, #fffdf9 64%, #f5eee4); }
.scene-page--toshiiwai .psd-section-band--hero { background: linear-gradient(120deg, #f4eadf, #fffdf9 60%, #eef3eb); }
.scene-page--memorial-meal .psd-section-band--hero { background: linear-gradient(120deg, #f3eee8, #fffdf9 58%, #e9f0eb); }
.scene-page--weekday-lunch .psd-section-band--hero { background: linear-gradient(120deg, #f8f0e1, #fffdf9 60%, #eff3ec); }
.scene-page--business-entertainment .psd-section-band--hero { background: linear-gradient(120deg, #f0eee7, #fffdf9 60%, #e9f0eb); }
.scene-page--family-meeting .psd-text:not(.psd-button),
.scene-page--yuinou .psd-text:not(.psd-button) { text-shadow: 0 1px 0 rgba(255, 255, 255, .18); }

.scene-page--psd .psd-wp-form {
  position: relative;
  z-index: 4;
  width: min(760px, calc(100% - 2rem));
  margin: 3rem auto 0;
  padding: 2rem clamp(1rem, 4vw, 3rem);
  background: #f5f7f4;
  border-top: 3px solid var(--psd-green);
}
.scene-page--psd .psd-wp-form h2 {
  margin: 0 0 .75rem;
  color: var(--psd-green);
  font-family: var(--psd-serif);
  text-align: center;
  line-height: 1.5;
}
.scene-page--psd .psd-wp-form p { line-height: 1.8; }
.scene-page--psd .psd-wp-form .wpcf7 { max-width: 760px; margin: 0 auto; }
.scene-page--psd .psd-wp-form .contact-k-area { font-family: "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif; }
.scene-page--psd .psd-wp-form .send { text-align: center; }
.scene-page--psd .psd-wp-form .send input { cursor: pointer; }

/* Editor-only grouping wrappers stay transparent to the PSD coordinate layout. */
.scene-page--psd .psd-edit-section {
  position: static;
  width: 100%;
  max-width: none;
  margin: 0 !important;
  padding: 0;
}
.scene-page--psd .psd-edit-section > .wp-block-group__inner-container {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}
@media (max-width: 700px) {
  .scene-page--psd .psd-page { box-shadow: none; }
  .scene-page--psd .psd-text { line-height: 1.4; }
  .scene-page--psd .psd-wp-form { width: calc(100% - 1rem); padding: 1.25rem .75rem; }
}
