/*
Theme Name: Brotherhood Support Forum
Theme URI: https://example.com/
Author: OpenAI (generated)
Description: WordPress theme port of the Brotherhood Support Forum UI.
Version: 1.5.3
Requires at least: 6.0
Tested up to: 6.5
License: GPLv2 or later
Text Domain: brotherhood-support-forum
*/

/* Base typography */
body { font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji"; background-color: #f1f5f9; }

.prose-forum {
  line-height: 1.6;
  color: #334155;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.prose-forum p { margin: 0 0 0.9rem 0; }
.prose-forum ul, .prose-forum ol { margin: 0 0 0.9rem 1.25rem; padding-left: 1rem; }
.prose-forum ul { list-style: disc; }
.prose-forum ol { list-style: decimal; }
.prose-forum li { margin: 0.25rem 0; }
.prose-forum a { color: #2563eb; text-decoration: underline; }

/* Minimal editor styling to match the theme */
.bsf-editor .mce-tinymce { border: 1px solid #e2e8f0 !important; border-radius: 1rem !important; overflow: hidden; }
.bsf-editor .mce-panel { border: 0 !important; }
.bsf-editor .mce-toolbar-grp { background: #f8fafc; border-bottom: 1px solid #e2e8f0; }
.bsf-editor .wp-editor-container { border: 0; }
.bsf-editor textarea.wp-editor-area { background: #f8fafc; }

/* Tailwind CDN doesn't ship plugins like line-clamp; replicate minimal */
.line-clamp-1 { overflow: hidden; display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; }

/* Minimal shadcn-style animate-in helpers used in the original UI */
@keyframes bsf-fade-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes bsf-zoom-in { from { transform: scale(.98); } to { transform: scale(1); } }
@keyframes bsf-slide-in-top { from { transform: translateY(-4px); opacity: 0; } to { transform: translateY(0); opacity: 1; } }

.animate-in { animation-duration: .2s; animation-fill-mode: both; }
.fade-in { animation-name: bsf-fade-in; }
.zoom-in { animation-name: bsf-zoom-in; }
.slide-in-from-top-1 { animation-name: bsf-slide-in-top; }

/* WordPress default blocks sometimes add margins */
.entry-content > :first-child { margin-top: 0; }
.entry-content > :last-child { margin-bottom: 0; }



/* Tailwind CDN doesn't include the typography plugin; add minimal "prose" styling */
.prose { color: #0f172a; line-height: 1.8; }
.prose p { margin: 0 0 1rem 0; }
.prose h1, .prose h2, .prose h3, .prose h4 { margin: 1.6rem 0 .75rem; line-height: 1.25; font-weight: 900; }
.prose ul, .prose ol { margin: 0 0 1rem 1.25rem; padding: 0; }
.prose li { margin: .35rem 0; }
.prose a { color: #2563eb; text-decoration: underline; }
.prose blockquote { margin: 1rem 0; padding-left: 1rem; border-left: 3px solid #e2e8f0; color: #334155; }
.prose figure { margin: 1.25rem 0; }
.prose img { border-radius: 1rem; }



/* Prevent horizontal overflow on small screens (long URLs, long words, code blocks) */
.prose, .prose * { overflow-wrap: anywhere; word-break: break-word; }
.prose pre { overflow-x: auto; max-width: 100%; }
.entry-content .alignfull, .entry-content .alignwide { max-width: 100%; margin-left: 0; margin-right: 0; }

/* Hard guardrails for mobile layouts (Gutenberg blocks can sometimes break out of containers) */
html, body { max-width: 100%; overflow-x: hidden; }
.entry-content { overflow-x: hidden; }
.prose { max-width: 100%; }
.prose img, .prose video, .prose iframe, .prose embed, .prose object { max-width: 100%; height: auto; }
.prose figure, .prose .wp-block-image, .prose .wp-block-embed, .prose .wp-block-cover, .prose .wp-block-media-text { max-width: 100%; }
.prose .wp-block-table { display: block; max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.prose table { max-width: 100%; width: 100%; }

@media (max-width: 640px) {
  .prose .alignfull, .prose .alignwide,
  .prose .wp-block-group.alignfull, .prose .wp-block-group.alignwide,
  .prose .wp-block-image.alignfull, .prose .wp-block-image.alignwide {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

/* Gutenberg block defaults */
.entry-content .wp-block-paragraph { margin: 0 0 1rem 0; }
.entry-content .wp-block-heading { margin: 1.6rem 0 .75rem; }


/* Menus */
.bsf-primary-menu { list-style: none; margin: 0; padding: 0; }
.bsf-primary-menu li { margin: 0; padding: 0; }
.bsf-primary-menu a { color: #94a3b8; text-decoration: none; transition: color .15s ease; }
.bsf-primary-menu a:hover { color: #60a5fa; }
.bsf-primary-menu .current-menu-item > a,
.bsf-primary-menu .current_page_item > a,
.bsf-primary-menu .current-menu-ancestor > a { color: #60a5fa; }

.bsf-primary-menu a.bsf-crisis-link { color: #fca5a5; }
.bsf-primary-menu a.bsf-crisis-link:hover { color: #fecaca; }

.bsf-mobile-menu { list-style: none; margin: 0; padding: 0; }
.bsf-mobile-menu li { margin: 0; padding: 0; }
.bsf-mobile-menu a { color: #e2e8f0; text-decoration: none; padding: .75rem 1rem; border-radius: .75rem; display: block; }
.bsf-mobile-menu a:hover { background: rgba(148,163,184,.15); color: white; }

/* Custom logo */
.bsf-site-logo { display: block; width: auto; max-height: 36px; }
