/* Page utilities extracted from page-onesong-standard.php */
.os-layer{position:relative;z-index:1;}
.os-bubble--soft-04{opacity:.04;}
.os-bubble--soft-03{opacity:.03;}
.os-text-center{text-align:center;}
.os-note--top{margin-top:16px;}
.os-narrow-800{max-width:800px;margin:0 auto;}
.os-card--top{margin-top:16px;}
.os-text--small{font-size:14px;}
.os-audio{width:100%;margin-top:8px;}
.os-audio--flush{width:100%;}
.os-mini__desc{margin:0 0 8px;font-size:12px;color:var(--os-text-light);}
.os-card--narrow{max-width:800px;margin:0 auto;}
.os-price-inline{font-size:16px;color:var(--os-charcoal);}
.os-mt-6{margin-top:6px;}
.os-list--top{margin-top:20px;}
/* オプション一覧をカード単位でカスケード表示（開いた後を少し動的に） */
.os-options-grid.os-reveal{transform:none;}
.os-options-grid.os-reveal > .os-option-card{opacity:0;transform:translateY(24px);transition:opacity .7s var(--os-ease),transform .7s var(--os-ease);}
.os-options-grid.os-reveal.is-visible > .os-option-card{opacity:1;transform:none;}
.os-options-grid.os-reveal.is-visible > :nth-child(2){transition-delay:.1s;}
.os-options-grid.os-reveal.is-visible > :nth-child(3){transition-delay:.2s;}
.os-options-grid.os-reveal.is-visible > :nth-child(4){transition-delay:.3s;}
.os-options-grid.os-reveal.is-visible > :nth-child(5){transition-delay:.4s;}
.os-options-grid.os-reveal.is-visible > :nth-child(6){transition-delay:.5s;}
@media (prefers-reduced-motion: reduce){.os-options-grid.os-reveal > .os-option-card{opacity:1;transform:none;transition:none;}}

.os-option-card--full{grid-column:1/-1;}
.os-option-card__img--wide{height:200px;}
.os-option-card__title--white{color:#fff;}
.os-option-card__extra{margin-top:20px;padding-top:20px;border-top:1px solid rgba(255,255,255,0.1);}
.os-option-card__sample-title{font-size:14px;font-weight:700;margin-bottom:12px;color:rgba(255,255,255,0.7);}
.os-tracklist--narrow{max-width:540px;}
.os-link-pink{color:var(--os-pink-dark);text-decoration:underline;}
.os-interview-person{display:flex;align-items:center;gap:10px;}
.os-cta-section__sub--muted{margin-top:8px;opacity:.6;}
.os-mt-28{margin-top:28px;}

/* Accessibility: stable touch targets and keyboard focus */
#onesong-standard .os-btn,
#onesong-standard .os-btn-primary,
#onesong-standard .os-btn-ghost,
#onesong-standard .os-link-pink {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

#onesong-standard .os-btn:focus-visible,
#onesong-standard .os-btn-primary:focus-visible,
#onesong-standard .os-btn-ghost:focus-visible,
#onesong-standard .os-link-pink:focus-visible {
  outline: 3px solid rgba(212, 114, 143, 0.85);
  outline-offset: 4px;
}
