/* Trang xổ số FB55 - phong cách Blue White, BEM, responsive đầy đủ */
.page-xo-so{background:#F4F7FB;color:#1F2D3D;font-family:Arial,Helvetica,sans-serif;line-height:1.65;width:100%;overflow-x:hidden}
.page-xo-so__container{width:100%;max-width:1200px;margin:0 auto;padding:0 16px;box-sizing:border-box}
.page-xo-so__hero-section{padding-top:10px;margin-top:0;width:100%;display:flex;flex-direction:column;align-items:center;box-sizing:border-box}
.page-xo-so__hero-image-wrap{width:100%;max-width:1200px;margin:0 auto;padding:0 16px;box-sizing:border-box}
.page-xo-so__hero-image{width:100%;height:auto;display:block;border-radius:18px;box-shadow:0 10px 30px rgba(47,107,255,0.18);object-fit:cover}
.page-xo-so__hero-content{width:100%;max-width:900px;margin:20px auto 0;padding:0 16px;box-sizing:border-box;text-align:center}
.page-xo-so__hero-title{margin:0 0 12px;color:#2F6BFF;font-weight:800;line-height:1.25;letter-spacing:-0.2px}
.page-xo-so__hero-desc{margin:0 auto 20px;color:#1F2D3D;max-width:760px}
.page-xo-so__hero-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;width:100%;max-width:100%;overflow:hidden;box-sizing:border-box}
.page-xo-so__btn{display:inline-block;padding:12px 22px;border-radius:999px;font-weight:700;text-decoration:none;text-align:center;line-height:1.3;transition:opacity .2s ease,transform .2s ease;max-width:100%;box-sizing:border-box;white-space:normal;word-wrap:break-word}
.page-xo-so__btn--primary{background:linear-gradient(180deg,#4A8BFF 0%,#2F6BFF 100%);color:#FFFFFF;box-shadow:0 8px 20px rgba(47,107,255,0.28);border:1px solid #2F6BFF}
.page-xo-so__btn--outline{background:#FFFFFF;color:#2F6BFF;border:1px solid #2F6BFF}
.page-xo-so__btn--ghost{background:#FFFFFF;color:#1F2D3D;border:1px solid #D6E2FF}
.page-xo-so__btn:hover{opacity:.92;transform:translateY(-1px)}
.page-xo-so__intro-section,.page-xo-so__features-section,.page-xo-so__types-section,.page-xo-so__promo-section,.page-xo-so__guide-section,.page-xo-so__tips-section,.page-xo-so__blog-section,.page-xo-so__faq-section,.page-xo-so__cta-section{padding:38px 0}
.page-xo-so__section-title{color:#2F6BFF;font-weight:800;margin:0 0 16px;line-height:1.3;padding-bottom:10px;border-bottom:3px solid #D6E2FF;display:inline-block}
.page-xo-so__text{color:#1F2D3D;margin:0 0 14px}
.page-xo-so__features-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.page-xo-so__feature-card{background:#FFFFFF;border:1px solid #D6E2FF;border-radius:16px;padding:22px;box-shadow:0 6px 18px rgba(47,107,255,0.08);box-sizing:border-box}
.page-xo-so__feature-title{color:#2F6BFF;font-weight:700;margin:0 0 10px;line-height:1.35}
.page-xo-so__types-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.page-xo-so__type-card{background:#FFFFFF;border:1px solid #D6E2FF;border-radius:16px;padding:22px;box-shadow:0 6px 18px rgba(47,107,255,0.08);box-sizing:border-box}
.page-xo-so__type-title{color:#1F2D3D;font-weight:700;margin:0 0 10px}
.page-xo-so__promo-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.page-xo-so__promo-card{background:#FFFFFF;border:1px solid #D6E2FF;border-radius:16px;padding:18px;box-shadow:0 6px 18px rgba(47,107,255,0.08);box-sizing:border-box}
.page-xo-so__promo-image{width:100%;height:auto;display:block;border-radius:12px;margin-bottom:14px;object-fit:cover}
.page-xo-so__promo-title{color:#2F6BFF;font-weight:700;margin:0 0 10px}
.page-xo-so__table-wrap{width:100%;overflow-x:auto;margin:0 0 16px;border-radius:14px;border:1px solid #D6E2FF;background:#FFFFFF}
.page-xo-so__guide-table{width:100%;border-collapse:collapse;min-width:560px}
.page-xo-so__guide-table th,.page-xo-so__guide-table td{border-bottom:1px solid #D6E2FF;padding:12px 14px;text-align:left;color:#1F2D3D;vertical-align:top}
.page-xo-so__guide-table th{background:#F4F7FB;color:#2F6BFF;font-weight:700}
.page-xo-so__tips-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.page-xo-so__tip-card{background:#FFFFFF;border-left:5px solid #6FA3FF;border-radius:14px;padding:20px;box-shadow:0 6px 18px rgba(47,107,255,0.08);box-sizing:border-box}
.page-xo-so__tip-title{color:#2F6BFF;font-weight:700;margin:0 0 10px}
.page-xo-so__blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.page-xo-so__blog-card{background:#FFFFFF;border:1px solid #D6E2FF;border-radius:16px;padding:16px;box-shadow:0 6px 18px rgba(47,107,255,0.08);box-sizing:border-box}
.page-xo-so__blog-link{text-decoration:none;display:block}
.page-xo-so__blog-image{width:100%;height:auto;display:block;border-radius:12px;margin-bottom:12px;object-fit:cover}
.page-xo-so__blog-title{color:#2F6BFF;font-weight:700;margin:0 0 8px;line-height:1.35}
.page-xo-so__faq-list{display:flex;flex-direction:column;gap:12px}
.page-xo-so__faq-item{background:#FFFFFF;border:1px solid #D6E2FF;border-radius:14px;overflow:hidden;box-shadow:0 6px 18px rgba(47,107,255,0.08)}
.page-xo-so__faq-question{width:100%;text-align:left;background:#FFFFFF;color:#1F2D3D;font-weight:700;border:0;padding:16px 18px;cursor:pointer;font-size:16px;line-height:1.4}
.page-xo-so__faq-answer{display:none;padding:0 18px 16px}
.page-xo-so__faq-item.is-open .page-xo-so__faq-answer{display:block}
.page-xo-so__cta-section{background:linear-gradient(180deg,#FFFFFF 0%,#F4F7FB 100%);border-top:1px solid #D6E2FF;border-bottom:1px solid #D6E2FF}
.page-xo-so__cta-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-start;width:100%;max-width:100%;overflow:hidden;box-sizing:border-box}
@media (max-width:768px){
.page-xo-so{max-width:100%;overflow-x:hidden}
.page-xo-so__container{padding:0 12px}
.page-xo-so__hero-section{padding-top:8px}
.page-xo-so__hero-image-wrap{padding:0 12px}
.page-xo-so__hero-content{padding:0 12px;margin-top:14px}
.page-xo-so__hero-actions{flex-direction:column;align-items:stretch}
.page-xo-so__btn{width:100%;max-width:100%;box-sizing:border-box;white-space:normal;word-wrap:break-word}
.page-xo-so__features-grid,.page-xo-so__types-grid,.page-xo-so__promo-grid,.page-xo-so__tips-grid,.page-xo-so__blog-grid{grid-template-columns:1fr}
.page-xo-so__intro-section,.page-xo-so__features-section,.page-xo-so__types-section,.page-xo-so__promo-section,.page-xo-so__guide-section,.page-xo-so__tips-section,.page-xo-so__blog-section,.page-xo-so__faq-section,.page-xo-so__cta-section{padding:26px 0}
.page-xo-so__cta-actions{flex-direction:column;align-items:stretch}
.page-xo-so img{max-width:100%!important;height:auto!important}
.page-xo-so__feature-card,.page-xo-so__type-card,.page-xo-so__promo-card,.page-xo-so__tip-card,.page-xo-so__blog-card{padding:16px}
}