/* --- Página Detalhada de BSO (Troca) --- */
.bso-comparison { display: flex; align-items: stretch; justify-content: space-between; gap: 30px; margin-bottom: 100px; position: relative; }
.bso-vs-icon { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 60px; height: 60px; background: var(--bg-white); border: 2px solid var(--border-color); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 1.5rem; color: var(--text-muted); z-index: 2; box-shadow: var(--shadow-sm); }

.bso-box { flex: 1; padding: 50px 40px; border-radius: var(--radius-lg); position: relative; overflow: hidden; }
.before-box { background: var(--bg-white); border: 1px solid var(--border-color); box-shadow: var(--shadow-sm); }
.after-box { background: var(--color-primary); color: white; box-shadow: 0 20px 40px rgba(92, 26, 27, 0.15); border: 1px solid rgba(255, 255, 255, 0.1); }

.bso-box-header { display: flex; align-items: center; gap: 15px; margin-bottom: 30px; }
.before-box .bso-box-header i { font-size: 2rem; color: #dc3545; }
.after-box .bso-box-header { margin-bottom: 25px; }
.bso-logo-icon { height: 40px; filter: brightness(0) invert(1); }
.bso-box h3 { font-size: 1.8rem; margin: 0; }
.after-box h3 { color: var(--color-accent); font-family: 'Playfair Display', serif; }

.bso-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 20px; }
.bso-list li { display: flex; align-items: flex-start; gap: 15px; font-size: 1.05rem; line-height: 1.5; }
.before-list li { color: var(--text-dark); }
.before-list i { color: #dc3545; margin-top: 3px; font-size: 1.2rem; }
.after-list li { color: rgba(255, 255, 255, 0.9); }
.after-list i { color: var(--color-accent); margin-top: 3px; font-size: 1.2rem; }

/* Transição */
.bso-transition { display: flex; gap: 60px; align-items: center; background: var(--bg-cards); border: 1px solid var(--border-color); border-radius: var(--radius-lg); padding: 50px; box-shadow: var(--shadow-sm); }
.transition-text { flex: 1.2; }
.transition-text h2 { font-size: 2.2rem; color: var(--color-primary); margin-bottom: 15px; }
.transition-text > p { font-size: 1.1rem; color: var(--text-body); margin-bottom: 40px; }

.transition-steps { display: flex; flex-direction: column; gap: 25px; margin-bottom: 30px; }
.t-step { display: flex; gap: 20px; align-items: flex-start; }
.t-num { width: 45px; height: 45px; background: rgba(92, 26, 27, 0.05); border: 1px solid rgba(201, 161, 85, 0.3); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 800; font-size: 1.2rem; color: var(--color-primary); flex-shrink: 0; }
.t-step h4 { font-size: 1.15rem; color: var(--text-dark); margin-bottom: 5px; }
.t-step p { font-size: 0.95rem; color: var(--text-body); margin: 0; line-height: 1.5; }

.transition-img { flex: 1; }
.transition-img img { width: 100%; height: auto; border-radius: var(--radius-md); box-shadow: 0 15px 30px rgba(0,0,0,0.1); border: 3px solid white; }

@media (max-width: 1024px) {
  .bso-comparison { flex-direction: column; }
  .bso-vs-icon { top: 50%; transform: translate(-50%, -50%) rotate(90deg); }
  .bso-transition { flex-direction: column-reverse; padding: 40px 30px; }
}
