/* Universal Shortcodes Styles */
.site-tip { background: #f0f7f0; border-left: 4px solid #2C5F2D; padding: 16px 20px; border-radius: 0 8px 8px 0; margin: 2rem 0; font-size: 0.95rem; }
.site-tip p { margin: 0; }
.site-cta { display: flex; align-items: center; justify-content: space-between; gap: 16px; background: #f8f9fa; border: 1px solid #e0e0e0; border-radius: 12px; padding: 20px 24px; margin: 2rem 0; }
.site-cta strong { font-size: 1.05rem; }
.site-cta-btn { display: inline-block; padding: 10px 20px; background: #333; color: #fff !important; text-decoration: none; border-radius: 6px; font-weight: 600; font-size: 0.9rem; white-space: nowrap; }
.site-cta-btn:hover { background: #555; }
.site-brief { background: #fafafa; border: 1px solid #e0e0e0; border-radius: 12px; padding: 24px; margin: 2rem 0; }
.site-brief h3 { margin: 0 0 12px; font-size: 1.1rem; }
.site-brief ul { margin: 0; padding-left: 1.2rem; }
.site-brief li { margin-bottom: 6px; }
.site-faq { margin: 2rem 0; }
.site-faq-item { border-bottom: 1px solid #e0e0e0; }
.site-faq-item summary { cursor: pointer; padding: 16px 0; font-weight: 600; font-size: 1.05rem; list-style: none; }
.site-faq-item summary::-webkit-details-marker { display: none; }
.site-faq-item summary::after { content: "+"; float: right; font-size: 1.3rem; font-weight: 300; transition: transform 0.2s; }
.site-faq-item[open] summary::after { content: "\2212"; }
.site-faq-answer { padding: 0 0 16px; color: #555; line-height: 1.7; }
.site-faq-answer p { margin: 0; }
.site-checklist { background: #fff8f0; border: 1px solid #f0d8b0; border-radius: 12px; padding: 24px; margin: 2rem 0; }
.site-checklist h3 { margin: 0 0 12px; }
.site-checklist ul { margin: 0; padding-left: 1.2rem; }
.site-checklist li { margin-bottom: 6px; }
.site-toc { background: #fafafa; border: 1px solid #e0e0e0; border-radius: 12px; padding: 24px; margin: 0 0 2rem; }
.site-toc-title { font-weight: 700; font-size: 1.1rem; margin: 0 0 12px; }
.site-toc ol { margin: 0; padding-left: 1.2rem; }
.site-toc li { margin-bottom: 4px; }
.site-toc a { text-decoration: none; color: #333; }
.site-toc a:hover { text-decoration: underline; }
.site-author-box { display: flex; gap: 16px; align-items: flex-start; padding: 24px; background: #fafafa; border: 1px solid #e0e0e0; border-radius: 12px; margin: 3rem 0 1rem; }
.site-author-box img { border-radius: 50%; flex-shrink: 0; }
.site-author-box strong { font-size: 1.05rem; }
.site-author-box p { margin: 8px 0 0; font-size: 0.9rem; color: #666; line-height: 1.5; }
@media (max-width: 600px) {
    .site-cta { flex-direction: column; text-align: center; }
    .site-author-box { flex-direction: column; align-items: center; text-align: center; }
}
