/* 早期適用: すべてのボタンとリンクの点線枠を無効化 */
*:focus,
*:focus-visible,
*:active,
button:focus,
button:focus-visible,
button:active,
a:focus,
a:focus-visible,
a:active,
.organization-detail-btn,
.organization-detail-btn:focus,
.organization-detail-btn:focus-visible,
.organization-detail-btn:active,
.organization-detail-btn:visited,
.organization-detail-btn:hover,
.organization-detail-btn:target {
    outline: 0 !important;
    outline: none !important;
    outline-width: 0 !important;
    outline-style: none !important;
    outline-color: transparent !important;
    outline-offset: 0 !important;
    border-style: solid !important;
    box-shadow: none !important;
    -webkit-tap-highlight-color: rgba(0,0,0,0) !important;
    -webkit-touch-callout: none !important;
    -webkit-focus-ring-color: rgba(0,0,0,0) !important;
    -moz-outline: 0 !important;
    -moz-outline: none !important;
}

/* CKEditorのリンクポップアップのスタイル修正 */
.cke_dialog_ui_button_ok {
    color: #000 !important;
    background-color: #007cba !important;
    border: 1px solid #007cba !important;
}

.cke_dialog_ui_button_ok:hover {
    background-color: #005a87 !important;
    border-color: #005a87 !important;
}

/* CKEditorのダイアログボタン全般のスタイル改善 */
.cke_dialog_ui_button {
    background-color: #f0f0f0 !important;
    border: 1px solid #ccc !important;
    color: #333 !important;
    padding: 6px 12px !important;
    border-radius: 4px !important;
}

.cke_dialog_ui_button:hover {
    background-color: #e0e0e0 !important;
    border-color: #bbb !important;
}

/* キャンセルボタンのスタイル */
.cke_dialog_ui_button_cancel {
    background-color: #f5f5f5 !important;
    border: 1px solid #ddd !important;
    color: #666 !important;
}

.cke_dialog_ui_button_cancel:hover {
    background-color: #e5e5e5 !important;
    border-color: #ccc !important;
}

/* 投稿詳細ページ - プロセコンテンツのスタイル */
.post-content {
    @apply max-w-none overflow-x-hidden;
    word-wrap: break-word;
    box-sizing: border-box;
    max-width: 100% !important;
}

/* プロセコンテンツ内のリンクスタイル */
.post-content a {
    @apply text-blue-600 underline hover:text-blue-800;
}

/* X（Twitter）埋め込みツイートのスタイル */
.post-content .twitter-tweet {
    @apply mx-auto my-5;
    max-width: 550px;
}

.post-content blockquote.twitter-tweet {
    @apply border-l-4 border-blue-400 p-4 my-6 bg-blue-50 rounded-lg;
    font-style: normal;
}

.post-content blockquote.twitter-tweet p {
    @apply my-2 text-gray-900;
}

.post-content blockquote.twitter-tweet a {
    @apply text-blue-400 no-underline hover:underline;
}

/* YouTube埋め込み用のシンプルなスタイル */
.post-content iframe[src*="youtube.com"],
.post-content iframe[src*="youtu.be"] {
    @apply rounded-lg block mx-auto;
    max-width: 100%;
    margin: 1rem 0;
    box-sizing: border-box;
}

/* CKEditor 5 figure要素の制御 */
.post-content figure.media,
.post-content figure[data-oembed-url],
.post-content .ck-media__wrapper {
    @apply mx-auto my-4;
    max-width: 100%;
    box-sizing: border-box;
    text-align: center;
}

.post-content figure.media iframe,
.post-content figure[data-oembed-url] iframe,
.post-content figure.media oembed,
.post-content figure[data-oembed-url] oembed,
.post-content .ck-media__wrapper iframe {
    @apply rounded-lg;
    max-width: 100%;
    box-sizing: border-box;
}

/* oembed要素の処理 */
.post-content oembed[url*="youtube.com"],
.post-content oembed[url*="youtu.be"] {
    @apply block;
    max-width: 100%;
}

/* モバイル画面での追加調整 */
@media (max-width: 768px) {
    /* メイン投稿コンテンツエリアの制限 */
    .post-container {
        @apply max-w-full px-2 overflow-x-hidden;
        margin: 0 auto;
    }
    
    /* 投稿コンテンツを含む白い背景のdiv */
    .post-content-card {
        @apply overflow-x-hidden mx-1 p-3;
        max-width: calc(100vw - 1rem);
    }
    
    /* プロセコンテナの制限 */
    .post-content {
        max-width: 100% !important;
        @apply overflow-x-hidden mx-auto;
        word-wrap: break-word;
        box-sizing: border-box;
    }
    
    /* 全てのメディア要素の制限 */
    .post-content figure.media,
    .post-content figure[data-oembed-url],
    .post-content .ck-media__wrapper {
        max-width: 100% !important;
        @apply mx-auto my-4;
        box-sizing: border-box;
    }
    
    /* YouTube iframe の制限 */
    .post-content iframe[src*="youtube.com"],
    .post-content iframe[src*="youtu.be"] {
        max-width: 100% !important;
        @apply relative;
        transform: none;
        box-sizing: border-box;
    }
    
    /* すべての要素の基本制限 */
    .post-content iframe,
    .post-content figure {
        max-width: 100% !important;
        @apply overflow-x-hidden;
        box-sizing: border-box;
    }
    




}

/* 全体の横スクロール防止 */
body, html {
    @apply overflow-x-hidden;
}

/* 組織詳細ボタンの点線枠削除 - 最高優先度 */
.organization-detail-btn,
.organization-detail-btn:focus,
.organization-detail-btn:focus-visible,
.organization-detail-btn:active,
.organization-detail-btn:visited,
.organization-detail-btn:hover,
.organization-detail-btn:target,
a.organization-detail-btn,
a.organization-detail-btn:focus,
a.organization-detail-btn:focus-visible,
a.organization-detail-btn:active,
a.organization-detail-btn:visited,
a.organization-detail-btn:hover,
a.organization-detail-btn:target {
    outline: 0 !important;
    outline: none !important;
    outline-width: 0 !important;
    outline-style: none !important;
    outline-color: transparent !important;
    outline-offset: 0 !important;
    border: 0 !important;
    border: none !important;
    border-style: none !important;
    border-width: 0 !important;
    border-color: transparent !important;
    box-shadow: 0 0 0 0 transparent !important;
    box-shadow: none !important;
    text-decoration: none !important;
    -webkit-tap-highlight-color: rgba(0,0,0,0) !important;
    -webkit-touch-callout: none !important;
    -webkit-focus-ring-color: rgba(0,0,0,0) !important;
    -moz-outline: 0 !important;
    -moz-outline: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
}

/* すべてのボタンとリンクの点線枠削除 - 全デバイス対応 */
button,
a,
input,
select,
textarea,
button:focus,
a:focus,
button:focus-visible,
a:focus-visible,
button:active,
a:active,
button:hover,
a:hover,
button:visited,
a:visited,
input:focus,
select:focus,
textarea:focus {
    outline: 0 !important;
    outline: none !important;
    outline-width: 0 !important;
    outline-style: none !important;
    outline-color: transparent !important;
    outline-offset: 0 !important;
    box-shadow: none !important;
    -webkit-tap-highlight-color: rgba(0,0,0,0) !important;
    -webkit-touch-callout: none !important;
    -webkit-focus-ring-color: rgba(0,0,0,0) !important;
    -moz-outline: 0 !important;
    -moz-outline: none !important;
}

/* すべての要素に対する最大幅制限 */
* {
    box-sizing: border-box;
} 