/* romptn CTA Blocks - 共通ベース */
:root {
    /* テーマカラー（romptn デフォルト: ライトブルー） */
    --romptn-cta-color-primary: #007AFF;
    --romptn-cta-color-primary-dark: #0066D6;
    --romptn-cta-color-primary-soft: #ECF1F6;
    --romptn-cta-color-accent: #FF9500;
    --romptn-cta-color-accent-soft: #FFF4EB;
    --romptn-cta-color-accent-dark: #FF6B35;
    --romptn-cta-color-text: #1D1D1F;
    --romptn-cta-color-text-muted: #6E6E73;
    --romptn-cta-color-border: rgba(0, 0, 0, 0.08);
    --romptn-cta-color-surface: #FFFFFF;
    --romptn-cta-color-surface-muted: #F5F5F7;
    /* CTA固有（ボタンはオレンジ基調） */
    --cta-bg: #F5F5F7;
    --cta-text: #1D1D1F;
    --cta-primary: #FF9500;
    --cta-primary-hover: #FF6B35;
    --cta-accent: #FF6B35;
    --cta-border: rgba(0, 0, 0, 0.08);
    --cta-surface: #FFFFFF;
    --cta-btn-radius: 980px;
    --cta-btn-shadow: 0 2px 8px rgba(255, 149, 0, 0.25);
    /* スペーシング */
    --romptn-cta-space-base: clamp(6px, calc(6px + 0.6vw), 12px);
    --romptn-cta-space-xxs: calc(var(--romptn-cta-space-base) * 0.25);
    --romptn-cta-space-xs: calc(var(--romptn-cta-space-base) * 0.5);
    --romptn-cta-space-sm: calc(var(--romptn-cta-space-base) * 0.75);
    --romptn-cta-space-md: var(--romptn-cta-space-base);
    --romptn-cta-space-lg: calc(var(--romptn-cta-space-base) * 1.5);
    --romptn-cta-space-xl: calc(var(--romptn-cta-space-base) * 2);
    /* タイポ */
    --romptn-cta-font-base: clamp(14px, calc(14px + 0.5vw), 16px);
    --romptn-cta-font-xs: calc(var(--romptn-cta-font-base) * 0.75);
    --romptn-cta-font-sm: calc(var(--romptn-cta-font-base) * 0.875);
    --romptn-cta-font-md: var(--romptn-cta-font-base);
    --romptn-cta-font-lg: calc(var(--romptn-cta-font-base) * 1.125);
    --romptn-cta-font-xl: calc(var(--romptn-cta-font-base) * 1.25);
    --romptn-cta-font-xxl: calc(var(--romptn-cta-font-base) * 1.5);
}

/* mania サイト用カラーパレット上書き（ダークパープル） */
.romptn-cta-scope--mania {
    --romptn-cta-color-primary: #9B4DFF;
    --romptn-cta-color-primary-dark: #B374FF;
    --romptn-cta-color-primary-soft: #1A0F28;
    --romptn-cta-color-accent: #00D4FF;
    --romptn-cta-color-accent-soft: #0E1B2E;
    --romptn-cta-color-accent-dark: #00B8E0;
    --romptn-cta-color-text: #FFFFFF;
    --romptn-cta-color-text-muted: #B0A0C0;
    --romptn-cta-color-border: rgba(155, 77, 255, 0.2);
    --romptn-cta-color-surface: #1A0F28;
    --romptn-cta-color-surface-muted: #0E0614;
    /* CTA固有 */
    --cta-bg: #0E0614;
    --cta-text: #FFFFFF;
    --cta-primary: #9B4DFF;
    --cta-primary-hover: #B374FF;
    --cta-accent: #00D4FF;
    --cta-border: rgba(155, 77, 255, 0.2);
    --cta-surface: #1A0F28;
    --cta-btn-radius: 980px;
    --cta-btn-shadow: 0 0 20px rgba(155, 77, 255, 0.3);
}

.romptn-cta-scope {
    font-family: inherit;
    color: inherit;
    line-height: 1.6;
    font-size: var(--romptn-cta-font-md);
}

.romptn-cta-scope,
.romptn-cta-scope * {
    box-sizing: border-box;
}

.romptn-cta-scope p {
    margin: 0;
    font-size: inherit;
    line-height: inherit;
}

.romptn-cta-scope ul,
.romptn-cta-scope ol {
    margin: 0;
    padding-left: 0;
}

.romptn-cta-scope ul {
    list-style: none;
}

.romptn-cta-scope ol {
    list-style: decimal;
}

.romptn-cta-scope li {
    margin: 0;
    font-size: inherit;
    line-height: inherit;
}

.romptn-cta-scope h1,
.romptn-cta-scope h2,
.romptn-cta-scope h3,
.romptn-cta-scope h4,
.romptn-cta-scope h5,
.romptn-cta-scope h6 {
    margin: 0;
    font-size: inherit;
    font-weight: inherit;
}

.romptn-cta-scope img {
    max-width: 100%;
    height: auto;
    display: block;
}
