/* Synthesis BioMed LMS — Tarjetas de ofertas [sb_lms_ofertas] y página /packs/ (v1.7.0).
   Mismo diseño que las tarjetas de la home (home-cards-4-columnas.html). */
.sb-of-grid { display: grid; grid-template-columns: repeat(var(--sb-of-cols, 4), minmax(0, 1fr)); gap: 20px; width: 100%; box-sizing: border-box; }
.sb-of-grid * { box-sizing: border-box; }
.sb-of-card { background: #0d0f2e; border: 1px solid rgba(255,255,255,.08); border-radius: 20px; overflow: hidden; display: flex; flex-direction: column; transition: transform .25s ease, border-color .25s ease; font-family: 'DM Sans', sans-serif; }
.sb-of-card:hover { transform: translateY(-6px); border-color: #00c2d4; }
.sb-of-head { position: relative; padding: 24px 24px 20px; overflow: hidden; min-height: 110px; }
.sb-of-head--cyan { background: linear-gradient(135deg, #00c2d4 0%, #080b87 100%); }
.sb-of-head--lavanda { background: linear-gradient(135deg, #655dc6 0%, #080b87 100%); }
.sb-of-head--dark { background: linear-gradient(135deg, #1a1fa8 0%, #07081a 100%); }
.sb-of-bgnum { position: absolute; right: -10px; top: 50%; transform: translateY(-50%); font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: 100px; line-height: 1; color: rgba(255,255,255,.12); pointer-events: none; }
.sb-of-head h3 { margin: 0; font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: 26px; line-height: 1.05; text-transform: uppercase; color: #fff; position: relative; z-index: 1; padding-right: 60px; }
.sb-of-sub { margin: 6px 0 0; font-size: 12px; color: rgba(255,255,255,.75); position: relative; z-index: 1; }
.sb-of-body { padding: 20px 24px; flex: 1; display: flex; flex-direction: column; gap: 16px; }
.sb-of-feats { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px 12px; }
.sb-of-feats li { display: flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 500; color: rgba(255,255,255,.8); }
.sb-of-feats li::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: #00c2d4; }
.sb-of-mods { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 7px; }
.sb-of-mods li { display: flex; align-items: baseline; gap: 8px; font-size: 13px; color: rgba(255,255,255,.8); line-height: 1.4; }
.sb-of-num { font-size: 11px; font-weight: 700; color: #a7a1ec; min-width: 18px; }
.sb-of-more { color: #a7a1ec !important; font-weight: 600; }
.sb-of-desc { margin: 0; font-size: 13px; color: rgba(255,255,255,.72); line-height: 1.65; }
.sb-of-notice { margin: 0; background: rgba(255,200,50,.08); border: 1px solid rgba(255,200,50,.25); border-radius: 10px; padding: 10px 14px; font-size: 12px; color: rgba(255,255,255,.85); }
.sb-of-foot { padding: 16px 24px 22px; display: flex; justify-content: space-between; align-items: center; border-top: 1px solid rgba(255,255,255,.06); gap: 12px; min-height: 112px; }
.sb-of-price { font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: 32px; color: #fff; line-height: 1; }
.sb-of-soon { font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: 24px; color: #a7a1ec; line-height: 1; }
.sb-of-note { font-size: 11px; color: rgba(255,255,255,.6); margin-top: 4px; }
.sb-of-btn { font-family: 'DM Sans', sans-serif; font-weight: 600; font-size: 13px; padding: 11px 22px; border-radius: 50px; white-space: nowrap; text-decoration: none; display: inline-block; background: linear-gradient(135deg, #00c2d4, #655dc6); color: #fff !important; transition: opacity .2s, transform .2s; }
.sb-of-btn:hover, .sb-of-btn:focus-visible { opacity: .88; transform: translateY(-1px); color: #fff; }
.sb-of-btn:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
.sb-of-btn--outline { background: transparent; border: 1px solid rgba(255,255,255,.4); color: rgba(255,255,255,.9) !important; }
@media (max-width: 1100px) { .sb-of-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .sb-of-grid { grid-template-columns: minmax(0, 1fr); } }

/* Página /packs/ a todo el ancho (igual que /modulos/) */
body.post-type-archive-sb_pack .site-content > .ast-container { max-width: 100% !important; width: 100% !important; margin: 0 !important; padding-left: 0 !important; padding-right: 0 !important; display: block !important; }
.sb-archive.sb-packs-page { background: #07081a; padding-bottom: 72px; }
.sb-packs-page .sb-archive-hero { margin: 0 0 40px !important; width: 100% !important; padding-left: clamp(16px, 4vw, 40px) !important; padding-right: clamp(16px, 4vw, 40px) !important; }
.sb-packs-page__grid { padding: 0 clamp(16px, 4vw, 40px); }
.sb-of-price { white-space: nowrap; } .sb-of-from { display: block; font-size: 13px; font-family: 'DM Sans', sans-serif; font-weight: 600; color: rgba(255,255,255,.7); margin-bottom: 2px; }
