/* ==========================================================================
   S:RA LP - lp.css
   page-lp.php でのみ読み込み。main.css のトークンを継承。
   ========================================================================== */

/* ===== LP Hero ===== */
.lp-hero {
  position: relative;
  min-height: 85vh;
}

@media (min-width: 768px) {
  .lp-hero {
    min-height: 70vh;
  }
}

.lp-hero__bg {
  background-image: var(--lp-hero-sp);
  background-size: cover;
  background-position: center;
}

@media (min-width: 768px) {
  .lp-hero__bg {
    background-image: var(--lp-hero-pc);
  }
}

.lp-hero__headline {
  font-family: "Shippori Mincho", "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif;
}

/* ===== LP Section common ===== */
.lp-section {
  scroll-margin-top: 128px; /* header(64px) + nav(~64px) */
}

/* Section title h2: LP専用で下線バーを非表示 */
.lp-section h2::after,
.lp-page h2::after {
  display: none;
}

/* ===== LP Sticky Nav ===== */
.lp-nav {
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}

.lp-nav::-webkit-scrollbar {
  display: none;
}

.lp-nav__item--active {
  color: var(--c-brand) !important;
  border-bottom-color: var(--c-brand) !important;
}

/* ===== LP Cases Swiper ===== */
.lp-cases .swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  background: var(--c-border);
  opacity: 1;
}

.lp-cases .swiper-pagination-bullet-active {
  background: var(--c-brand);
  width: 24px;
  border-radius: 4px;
}

/* ===== LP Flow Timeline (SP vertical line) ===== */
@media (max-width: 767px) {
  .lp-section#lp-flow .bg-\[var\(--c-brand\)\]\/20 {
    background-color: color-mix(in srgb, var(--c-brand) 20%, transparent);
  }
}

/* PC horizontal connector */
@media (min-width: 768px) {
  .lp-section#lp-flow .bg-\[var\(--c-brand\)\]\/20 {
    background-color: color-mix(in srgb, var(--c-brand) 20%, transparent);
  }
}

/* ===== LP FAQ ===== */
.lp-faq__item summary {
  list-style: none;
}

.lp-faq__item summary::-webkit-details-marker {
  display: none;
}

/* ===== LP Floating CTA ===== */
.lp-floating-cta {
  transform: translateY(100%);
  transition: transform 0.3s ease;
}

.lp-floating-cta--visible {
  transform: translateY(0);
}

@media (min-width: 768px) {
  .lp-floating-cta {
    display: none !important;
  }
}

/* LPページでは既存のWEB予約バッジを非表示 */
.lp-page .fixed[aria-label="WEB予約バナー"] {
  display: none !important;
}

/* ===== LP CTA Button pulse animation ===== */
@keyframes lp-pulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(159, 129, 112, 0.4); }
  50% { box-shadow: 0 0 0 8px rgba(159, 129, 112, 0); }
}

.lp-hero a[href*="lmes.jp"] {
  animation: lp-pulse 2.5s ease-in-out infinite;
}

/* ===== Responsive polish ===== */
@media (max-width: 767px) {
  .lp-hero {
    min-height: 90vh;
  }
}
