/**
 * LIBS.CSS — Bundle: Bootstrap Grid + Swiper CSS
 * 
 * Cách tạo: Copy nội dung từ:
 * 1. Bootstrap 4.6.2 Grid only (hoặc full): https://cdn.jsdelivr.net/npm/bootstrap@4.6.2/dist/css/bootstrap-grid.min.css
 * 2. swiper.min.css (đã download riêng)
 * 
 * Hoặc giữ nguyên và load riêng.
 */

/* === BOOTSTRAP GRID (minimal) === */
.row{display:flex;flex-wrap:wrap;margin-right:-8px;margin-left:-8px}
.col,.col-1,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-10,.col-11,.col-12{position:relative;width:100%;padding-right:8px;padding-left:8px}
.col{flex-basis:0;flex-grow:1;max-width:100%}
.col-1{flex:0 0 8.333%;max-width:8.333%}
.col-2{flex:0 0 16.667%;max-width:16.667%}
.col-3{flex:0 0 25%;max-width:25%}
.col-4{flex:0 0 33.333%;max-width:33.333%}
.col-5{flex:0 0 41.667%;max-width:41.667%}
.col-6{flex:0 0 50%;max-width:50%}
.col-7{flex:0 0 58.333%;max-width:58.333%}
.col-8{flex:0 0 66.667%;max-width:66.667%}
.col-9{flex:0 0 75%;max-width:75%}
.col-10{flex:0 0 83.333%;max-width:83.333%}
.col-11{flex:0 0 91.667%;max-width:91.667%}
.col-12{flex:0 0 100%;max-width:100%}
@media(min-width:576px){.col-sm-1{flex:0 0 8.333%;max-width:8.333%}.col-sm-2{flex:0 0 16.667%;max-width:16.667%}.col-sm-3{flex:0 0 25%;max-width:25%}.col-sm-4{flex:0 0 33.333%;max-width:33.333%}.col-sm-5{flex:0 0 41.667%;max-width:41.667%}.col-sm-6{flex:0 0 50%;max-width:50%}.col-sm-7{flex:0 0 58.333%;max-width:58.333%}.col-sm-8{flex:0 0 66.667%;max-width:66.667%}.col-sm-9{flex:0 0 75%;max-width:75%}.col-sm-10{flex:0 0 83.333%;max-width:83.333%}.col-sm-11{flex:0 0 91.667%;max-width:91.667%}.col-sm-12{flex:0 0 100%;max-width:100%}}
@media(min-width:768px){.col-md-1{flex:0 0 8.333%;max-width:8.333%}.col-md-2{flex:0 0 16.667%;max-width:16.667%}.col-md-3{flex:0 0 25%;max-width:25%}.col-md-4{flex:0 0 33.333%;max-width:33.333%}.col-md-5{flex:0 0 41.667%;max-width:41.667%}.col-md-6{flex:0 0 50%;max-width:50%}.col-md-7{flex:0 0 58.333%;max-width:58.333%}.col-md-8{flex:0 0 66.667%;max-width:66.667%}.col-md-9{flex:0 0 75%;max-width:75%}.col-md-10{flex:0 0 83.333%;max-width:83.333%}.col-md-11{flex:0 0 91.667%;max-width:91.667%}.col-md-12{flex:0 0 100%;max-width:100%}}
@media(min-width:992px){.col-lg-1{flex:0 0 8.333%;max-width:8.333%}.col-lg-2{flex:0 0 16.667%;max-width:16.667%}.col-lg-3{flex:0 0 25%;max-width:25%}.col-lg-4{flex:0 0 33.333%;max-width:33.333%}.col-lg-5{flex:0 0 41.667%;max-width:41.667%}.col-lg-6{flex:0 0 50%;max-width:50%}.col-lg-7{flex:0 0 58.333%;max-width:58.333%}.col-lg-8{flex:0 0 66.667%;max-width:66.667%}.col-lg-9{flex:0 0 75%;max-width:75%}.col-lg-10{flex:0 0 83.333%;max-width:83.333%}.col-lg-11{flex:0 0 91.667%;max-width:91.667%}.col-lg-12{flex:0 0 100%;max-width:100%}}
@media(min-width:1200px){.col-xl-1{flex:0 0 8.333%;max-width:8.333%}.col-xl-2{flex:0 0 16.667%;max-width:16.667%}.col-xl-3{flex:0 0 25%;max-width:25%}.col-xl-4{flex:0 0 33.333%;max-width:33.333%}.col-xl-5{flex:0 0 41.667%;max-width:41.667%}.col-xl-6{flex:0 0 50%;max-width:50%}.col-xl-7{flex:0 0 58.333%;max-width:58.333%}.col-xl-8{flex:0 0 66.667%;max-width:66.667%}.col-xl-9{flex:0 0 75%;max-width:75%}.col-xl-10{flex:0 0 83.333%;max-width:83.333%}.col-xl-11{flex:0 0 91.667%;max-width:91.667%}.col-xl-12{flex:0 0 100%;max-width:100%}}
.d-none{display:none!important}.d-block{display:block!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}
@media(min-width:576px){.d-sm-none{display:none!important}.d-sm-block{display:block!important}.d-sm-flex{display:flex!important}}
@media(min-width:768px){.d-md-none{display:none!important}.d-md-block{display:block!important}.d-md-flex{display:flex!important}}
@media(min-width:992px){.d-lg-none{display:none!important}.d-lg-block{display:block!important}.d-lg-flex{display:flex!important}}
.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}
.clearfix::after{display:block;clear:both;content:""}
