/* === rcip_add_cta_visual_enhancement === */
/* ボタンサイズ拡大・視認性向上 */
    .tf-btn-primary {
        padding: 16px 32px !important;
        font-size: 16px !important;
        min-width: 200px;
        text-align: center;
        position: relative;
        overflow: hidden;
    }
    .tf-btn-secondary {
        padding: 14px 28px !important;
        font-size: 15px !important;
    }

    /* ホバーエフェクト強化 */
    .tf-btn-primary:hover {
        transform: translateY(-4px) scale(1.02) !important;
        box-shadow: 0 10px 30px rgba(249,115,22,.5) !important;
    }
    .tf-btn-secondary:hover {
        transform: translateY(-3px) !important;
        box-shadow: 0 6px 20px rgba(255,255,255,.2) !important;
    }

    /* パルスアニメーション強化 */
    @keyframes tf-pulse-enhanced {
        0%, 100% { box-shadow: 0 0 0 0 rgba(249,115,22,.6); }
        50% { box-shadow: 0 0 0 15px rgba(249,115,22,0); }
    }
    .tf-btn-primary {
        animation: tf-pulse-enhanced 2s infinite !important;
    }
    .tf-btn-primary:hover {
        animation: none !important;
    }

    /* 矢印アニメーション */
    .tf-btn-primary::after {
        content: ' →';
        display: inline-block;
        transition: transform 0.3s ease;
    }
    .tf-btn-primary:hover::after {
        transform: translateX(5px);
    }

    /* CTAボックス全体の強調 */
    .tf-cta-box {
        border: 2px solid rgba(255,255,255,.2) !important;
        transition: all 0.3s ease !important;
    }
    .tf-cta-box:hover {
        border-color: rgba(255,255,255,.4) !important;
        transform: translateY(-2px);
        box-shadow: 0 8px 30px var(--tf-shadow) !important;
    }

    /* バッジの視認性向上 */
    .tf-cta-box .tf-badge {
        font-weight: bold !important;
        letter-spacing: 0.5px;
    }

    /* 見出しの強調 */
    .tf-cta-box h4 {
        font-size: 22px !important;
        line-height: 1.4 !important;
        text-shadow: 0 2px 4px rgba(0,0,0,.2);
    }

    /* 緊急性バッジ（新規追加） */
    .tf-urgency {
        display: inline-block;
        background: linear-gradient(135deg, #EF4444 0%, #DC2626 100%);
        color: #fff;
        padding: 6px 14px;
        border-radius: 20px;
        font-size: 13px;
        font-weight: bold;
        margin-bottom: 12px;
        animation: tf-urgency-pulse 1.5s infinite;
    }
    @keyframes tf-urgency-pulse {
        0%, 100% { opacity: 1; }
        50% { opacity: 0.85; }
    }

    /* 中間CTA（インライン型）スタイル */
    .tf-inline-cta {
        background: linear-gradient(135deg, #F0F9FF 0%, #E0F2FE 100%);
        border-left: 4px solid #0EA5E9;
        padding: 16px 20px;
        margin: 25px 0;
        border-radius: 0 8px 8px 0;
        font-size: 15px;
        line-height: 1.7;
    }
    .tf-inline-cta a {
        color: #0369A1;
        font-weight: bold;
        text-decoration: none;
        white-space: nowrap;
    }
    .tf-inline-cta a:hover {
        text-decoration: underline;
        color: #0284C7;
    }
    .tf-inline-cta strong {
        color: #0369A1;
    }


    /* シマーエフェクト（光が流れるアニメーション）*/
    .tf-btn-primary {
        position: relative;
        overflow: hidden;
    }
    .tf-btn-primary::before {
        content: '';
        position: absolute;
        top: 0;
        left: -100%;
        width: 100%;
        height: 100%;
        background: linear-gradient(
            90deg,
            transparent,
            rgba(255,255,255,0.4),
            transparent
        );
        animation: tf-shimmer 3s infinite;
        pointer-events: none;
    }
    @keyframes tf-shimmer {
        0% { left: -100%; }
        50% { left: 100%; }
        100% { left: 100%; }
    }
    .tf-btn-primary:hover::before {
        animation: none;
        left: -100%;
    }

    /* モバイル最適化 */
    @media (max-width: 600px) {
        .tf-btn-primary, .tf-btn-secondary {
            width: 100% !important;
            padding: 18px 24px !important;
            font-size: 17px !important;
        }
        .tf-cta-box h4 {
            font-size: 19px !important;
        }
        .tf-inline-cta {
            padding: 14px 16px;
            font-size: 14px;
        }
    }

/* === rcip_add_cta_improvement_css === */
/* 社会的証明 */
    .tf-social-proof{background:#ffffff;border:2px solid #3b82f6;border-radius:8px;padding:12px 16px;margin:16px 0;font-size:.95em;color:#1e3a5f;box-shadow:0 2px 6px rgba(59,1.0.346,0.15)}
    .tf-social-proof strong{color:#2563eb;font-weight:700;font-size:1.2em}
    /* 不安解消マイクロコピー */
    .tf-microcopy{font-size:.85em;opacity:1;margin-top:12px;text-align:center;color:#374151;font-weight:500}

/* === rcip_cta_integration_styles === */
/* CTA共通スタイル */
    .tf-cta-modal {
        font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    }

    /* モバイル最適化 */
    @media (max-width: 768px) {
        /* パーソナライズCTA - フルワイド表示 */
        #tf-personalized-modal {
            bottom: 0 !important;
            right: 0 !important;
            left: 0 !important;
            max-width: 100% !important;
            width: 100% !important;
            border-radius: 16px 16px 0 0 !important;
            padding: 20px !important;
        }

        /* Exit-Intent CTA - センター配置調整 */
        #tf-exit-modal > div {
            max-width: 95% !important;
            padding: 24px 20px !important;
        }

        /* タップターゲット最小サイズ確保 */
        .tf-cta-modal a,
        .tf-cta-modal button {
            min-height: 44px;
            min-width: 44px;
        }

        /* 閉じるボタン拡大 */
        #tf-exit-close,
        #tf-personalized-close {
            font-size: 28px !important;
            padding: 8px !important;
        }
    }

    /* ダウンロード直下CTA モバイル対応 */
    @media (max-width: 480px) {
        .tf-download-cta {
            flex-direction: column !important;
            gap: 8px !important;
            text-align: center;
        }

        .tf-download-cta a {
            display: block !important;
            padding: 12px !important;
        }
    }

    /* CTA表示アニメーション */
    @keyframes slideUp {
        from {
            opacity: 0;
            transform: translateY(20px);
        }
        to {
            opacity: 1;
            transform: translateY(0);
        }
    }

    @keyframes fadeIn {
        from { opacity: 0; }
        to { opacity: 1; }
    }

    .tf-cta-animate-slide {
        animation: slideUp 0.3s ease-out;
    }

    .tf-cta-animate-fade {
        animation: fadeIn 0.3s ease-out;
    }