* { box-sizing: border-box; margin: 0; padding: 0; }
body { line-height: 1.6; }
.jboms-site-wrapper { width: 100%; min-height: 100vh; }
.jboms-container { max-width: 1200px; margin: 0 auto; padding: 0 20px; width: 100%; }
.jboms-container-fluid { width: 100%; padding: 0 20px; }

.jboms-grid { display: grid; gap: 30px; width: 100%; }
.jboms-grid-cols-1 { grid-template-columns: 1fr; }
.jboms-grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.jboms-grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.jboms-grid-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.jboms-module { margin-bottom: 24px; }
.jboms-module:last-child { margin-bottom: 0; }
.jboms-img-wrapper img { max-width: 100%; height: auto; }

.jboms-video-responsive { position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; border-radius: 8px; background: #000; }
.jboms-video-responsive iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0; }

.jboms-ticker-bar { display: flex; align-items: center; overflow: hidden; white-space: nowrap; padding: 10px 16px; border-radius: 6px; }
.jboms-ticker-badge { font-size: 11px; font-weight: 800; padding: 4px 8px; border-radius: 4px; margin-right: 14px; flex-shrink: 0; }
.jboms-ticker-track { display: flex; width: 100%; overflow: hidden; }
.jboms-ticker-item { display: inline-flex; align-items: center; white-space: nowrap; animation: jbomsTicker 22s linear infinite; }
.pause-hover:hover .jboms-ticker-item { animation-play-state: paused; }
.ticker-divider { margin: 0 20px; opacity: 0.5; }

@keyframes jbomsTicker { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } }

.jboms-social-bar { display: flex; gap: 10px; align-items: center; }
.jboms-social-btn { display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; border-radius: 50%; color: #fff; background: #334155; text-decoration: none; }
.jboms-btn { display: inline-block; padding: 12px 24px; font-weight: 600; text-decoration: none; }

.jboms-preview-banner { position: sticky; top: 0; z-index: 99999; background: #f59e0b; color: #78350f; padding: 10px 20px; display: flex; justify-content: space-between; align-items: center; font-size: 13px; }
.jboms-preview-btn { background: #78350f; color: #fff; text-decoration: none; padding: 4px 12px; border-radius: 4px; }

@media (max-width: 900px) {
    .jboms-grid-cols-3, .jboms-grid-cols-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 650px) {
    .jboms-grid-cols-2, .jboms-grid-cols-3, .jboms-grid-cols-4 { grid-template-columns: 1fr; }
}
