/* ============================================================================
   BT SHORTCODES - Stylesheet
   Version: 4.0.0
============================================================================ */

/* --- GRID --- */
.bt-sc-col { box-sizing:border-box; min-height:1px; margin-bottom:20px; float:left; margin-right:24px; }
.bt-sc-col--1-2 { width:calc(50% - 12px); }
.bt-sc-col--2-3 { width:calc(66.666% - 8px); }
.bt-sc-col--1-3 { width:calc(33.333% - 16px); }
.bt-sc-col--1-4 { width:calc(25% - 18px); }
.bt-sc-col--3-4 { width:calc(75% - 6px); }
.bt-sc-col:last-of-type { margin-right:0; }
.bt-sc-col + :not(.bt-sc-col) { clear:both; }
@media(max-width:768px) { .bt-sc-col { width:100%; float:none; margin-right:0; } }

/* --- BUTTONS --- */
.bt-sc-btn-wrap { margin: 20px 0; }
.bt-sc-btn-wrap--center { text-align: center; }
.bt-sc-btn-wrap--right { text-align: right; }
.bt-sc-btn { display: inline-flex; align-items: center; gap: 8px; padding: 12px 24px; font-weight: bold; text-decoration: none; border-radius: 4px; transition: all 0.2s; }
.bt-sc-btn--primary { background: var(--accent-color, #1f75bf); color: #fff; }
.bt-sc-btn--secondary { background: #e2e8f0; color: #1e293b; }
.bt-sc-btn--red { background: #dc3545; color: #fff; }
.bt-sc-btn--green { background: #28a745; color: #fff; }
.bt-sc-btn--blue { background: #007bff; color: #fff; }
.bt-sc-btn--orange { background: #fd7e14; color: #fff; }
.bt-sc-btn--black { background: #343a40; color: #fff; }
.bt-sc-btn--small { padding: 8px 16px; font-size: 0.9em; }
.bt-sc-btn--big { padding: 16px 32px; font-size: 1.1em; }

/* --- TABS --- */
.bt-sc-tabs { margin: 24px 0; border: 1px solid #e8e8e8; }
.bt-sc-tab-nav { display: flex; background: #f8f9fa; border-bottom: 1px solid #e8e8e8; overflow-x: auto; }
.bt-sc-tab-btn { padding: 14px 24px; background: none; border: none; border-bottom: 3px solid transparent; cursor: pointer; font-weight: 600; color: #666; transition: 0.2s; white-space: nowrap; }
.bt-sc-tab-btn:hover { color: #1a1a1a; background: #f1f3f5; }
.bt-sc-tab-btn.is-active { color: var(--accent-color, #1f75bf); border-bottom-color: var(--accent-color, #1f75bf); background: #fff; }
.bt-sc-tab-pane { display: none; padding: 24px; }
.bt-sc-tab-pane.is-active { display: block; animation: btFadeIn 0.3s ease; }
@keyframes btFadeIn { from { opacity: 0; } to { opacity: 1; } }

/* --- BOXES --- */
.bt-sc-box { display: flex; align-items: flex-start; gap: 16px; padding: 20px; margin: 24px 0; border-radius: 6px; background: #f8f9fa; border: 1px solid #e9ecef; clear: both; }
.bt-sc-box.alignleft { float: left; margin: 5px 20px 20px 0; max-width: 50%; }
.bt-sc-box.alignright { float: right; margin: 5px 0 20px 20px; max-width: 50%; }
.bt-sc-box.aligncenter { margin-left: auto; margin-right: auto; }
.bt-sc-box__icon { flex-shrink: 0; width: 24px; height: 24px; display: flex; align-items: center; justify-content: center; border-radius: 50%; color: #fff; font-weight: bold; font-family: monospace; font-size: 14px; }
.bt-sc-box__content { flex: 1; min-width: 0; font-size: 15px; line-height: 1.6; }
.bt-sc-box__content > *:first-child { margin-top: 0; }
.bt-sc-box__content > *:last-child { margin-bottom: 0; }

.bt-sc-box--info { background: #e7f3ff; border-color: #b8daff; }
.bt-sc-box--info .bt-sc-box__icon { background: #0073aa; }
.bt-sc-box--success { background: #d4edda; border-color: #c3e6cb; }
.bt-sc-box--success .bt-sc-box__icon { background: #28a745; }
.bt-sc-box--warning { background: #fff3cd; border-color: #ffeeba; }
.bt-sc-box--warning .bt-sc-box__icon { background: #ffc107; color: #333; }
.bt-sc-box--error { background: #f8d7da; border-color: #f5c6cb; }
.bt-sc-box--error .bt-sc-box__icon { background: #dc3545; }
.bt-sc-box--shadow { background: #fff; border: none; box-shadow: 0 4px 15px rgba(0,0,0,0.08); }
.bt-sc-box--shadow .bt-sc-box__icon { background: #6c757d; }
.bt-sc-box--download { background: #f8f9fa; border-color: #e9ecef; }
.bt-sc-box--download .bt-sc-box__icon { background: #28a745; }
.bt-sc-box--note { background: #fdfdfe; border-color: #e9ecef; }
.bt-sc-box--note .bt-sc-box__icon { background: #6c757d; }

/* --- LISTS --- */
.bt-sc-list ul { list-style: none !important; padding-left: 0 !important; margin-left: 0 !important; }
.bt-sc-list ul li { position: relative; padding-left: 28px; margin-bottom: 10px; line-height: 1.6; }
.bt-sc-list ul li::before { content: ''; position: absolute; left: 0; top: 4px; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 14px; font-weight: bold; }
.bt-sc-list--checklist ul li::before, .bt-sc-list--check ul li::before { content: '✓'; color: #28a745; }
.bt-sc-list--starlist ul li::before, .bt-sc-list--star ul li::before { content: '★'; color: #ffc107; font-size: 18px; top: 2px;}
.bt-sc-list--plus ul li::before, .bt-sc-list--pluslist ul li::before { content: '+'; color: #0073aa; font-size: 20px; top: 1px;}
.bt-sc-list--minus ul li::before, .bt-sc-list--minuslist ul li::before { content: '-'; color: #dc3545; font-size: 20px; top: 0;}
.bt-sc-list--arrow ul li::before, .bt-sc-list--arrowlist ul li::before { content: '➔'; color: #6c757d; font-size: 12px; top: 6px;}

/* --- WIDGETS --- */
.bt-sc-author{display:flex;gap:20px;align-items:flex-start;margin:32px 0;padding:24px;background:#f8fafc;border:1px solid #e8e8e8;border-left:4px solid var(--accent-color,#1f75bf)}
.bt-sc-author__avatar{flex-shrink:0;width:80px;height:80px;border-radius:50%;object-fit:cover;background:#e5e7eb}
.bt-sc-author__content{flex:1;min-width:0}
.bt-sc-author__label{font-size:10px;font-weight:700;text-transform:uppercase;color:#888;margin:0 0 4px}
.bt-sc-author__name{font-size:18px;font-weight:800;margin:0 0 8px}

.bt-sc-toggle{margin:24px 0;border:1px solid #e8e8e8;background:#fff}
.bt-sc-toggle__header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:#f8f9fa;cursor:pointer;}
.bt-sc-toggle__icon{width:24px;height:24px;display:flex;align-items:center;justify-content:center;transition:transform 0.3s}
.bt-sc-toggle.is-open .bt-sc-toggle__icon{transform:rotate(180deg)}
.bt-sc-toggle__content{display:none;padding:20px;border-top:1px solid #e8e8e8;}
.bt-sc-toggle.is-open .bt-sc-toggle__content{display:block}

.bt-sc-code{margin:24px 0;background:#1e293b;overflow:hidden}
.bt-sc-code__header{display:flex;justify-content:space-between;padding:10px 16px;background:rgba(0,0,0,0.2);border-bottom:1px solid rgba(255,255,255,0.1)}
.bt-sc-code__lang{font-size:11px;font-weight:700;text-transform:uppercase;color:var(--accent-color,#1f75bf)}
.bt-sc-code__copy{appearance:none;border:1px solid rgba(255,255,255,0.2);background:transparent;color:#888;font-size:11px;padding:4px 10px;cursor:pointer;}
.bt-sc-code pre{margin:0;padding:20px;overflow-x:auto;color:#e2e8f0;font-size:13px;}

/* --- TYPOGRAPHIE --- */
.bt-sc-divider { border: 0; border-top: 1px solid #e8e8e8; margin: 32px 0; }
.bt-sc-highlight { padding: 2px 6px; border-radius: 3px; font-weight: 600; }
.bt-sc-highlight--yellow { background: #fff3cd; color: #856404; }
.bt-sc-highlight--green { background: #d4edda; color: #155724; }
.bt-sc-highlight--blue { background: #cce5ff; color: #004085; }
.bt-sc-highlight--red { background: #f8d7da; color: #721c24; }
.bt-sc-dropcap { float: left; font-size: 3.5em; line-height: 0.8; margin: 0 8px 0 0; font-weight: bold; color: var(--accent-color, #1f75bf); }