.toc-nav{background:#eaeffa;border-radius:10px;font-family:inherit;font-size:14px;line-height:1.5;margin-bottom:24px;overflow:hidden} .toc-header{display:flex;align-items:center;padding:13px 18px;border-bottom:1px solid #d1d5db;user-select:none;-webkit-user-select:none;gap:8px;cursor:default} .toc-header-inner{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px} .toc-title{font-weight:600;font-size:1rem;white-space:nowrap;color:#6b7280} .toc-current-heading{display:none;font-size:13px;font-weight:500;color:#1250dc;white-space:nowrap;overflow:hidden;text-overflow:ellipsis} .toc-toggle-btn{flex-shrink:0;background:none;border:none;padding:4px 6px;cursor:pointer;border-radius:5px;display:flex;align-items:center;justify-content:center;color:#718096;transition:background .15s,color .15s;line-height:0} .toc-toggle-btn:hover{background:#e2e8f0} .toc-toggle-btn:focus-visible{outline:2px solid #667eea;outline-offset:2px} @media (min-width:992px){.toc-toggle-btn{display:none} } .toc-arrow{display:block;transition:transform .25s ease;pointer-events:none} .toc-arrow.toc-collapsed{transform:rotate(180deg)} .toc-body{overflow-y:auto;overflow-x:hidden;transition:max-height .3s ease,opacity .2s ease;scrollbar-width:thin;scrollbar-color:#cbd5e0 transparent} .toc-body::-webkit-scrollbar{width:4px} .toc-body::-webkit-scrollbar-track{background:transparent} .toc-body::-webkit-scrollbar-thumb{background:#cbd5e0;border-radius:2px} .toc-list{list-style:none;margin:0;padding:10px 0;counter-reset:toc-h2-counter} .toc-sublist{list-style:none;margin:0;padding:0} .toc-item{position:relative} .toc-h2{counter-increment:toc-h2-counter} .toc-link{display:block;padding:8px 18px 8px 16px;text-decoration:none;font-size:0.875rem;line-height:1.55;transition:color .15s,background .15s,border-left-color .15s;border-left:3px solid transparent;word-break:break-word} .toc-h2 > .toc-link{font-size:1rem;padding-left:14px} .toc-h2 > .toc-link::before{content:counter(toc-h2-counter) ". ";font-weight:600;color:#1250DC;min-width:20px;display:inline-block} .toc-h3 > .toc-link{padding-left:30px;font-size:1rem} .toc-h4 > .toc-link{padding-left:46px;font-size:12.5px;color:#a0aec0} .toc-link:hover{color:#1250DC;border-left-color:#1250DC;text-decoration:none} .toc-link.toc-active{font-weight:600;border-left-color:#1250DC;text-decoration:none} .toc-h2 > .toc-link.toc-active::before{color:#1250dc} .toc-article-wrap{display:flex;gap:28px} .toc-sidebar-col{flex:0 0 280px;max-width:280px;min-width:220px} .toc-nav.toc-sticky{position:sticky;top:88px;max-height:calc(100vh - 110px);overflow:visible;z-index:10} .toc-nav.toc-sticky .toc-body{max-height:calc(100vh - 180px);overflow-y:auto} .toc-main-content{flex:1 1 0;min-width:0} .blogpost-wrap{padding-top:28px;padding-bottom:20px} .blogpost-layout{display:flex !important;flex-wrap:wrap;margin-right:-15px;margin-left:-15px} .blogpost-layout > [class*="col-"]{float:none !important;padding-right:15px;padding-left:15px;box-sizing:border-box} .blogpost-layout .col-lg-3{flex:0 0 25%;max-width:25%} .blogpost-layout .col-lg-6{flex:0 0 50%;max-width:50%} .blogpost-layout > [class*="col-"]{min-width:0} .blogpost-sidebar-col{} .blogpost-toc-sticky{position:sticky;top:var(--ivd-header-h,60px);max-height:calc(100vh - 110px);overflow:visible;z-index:50} .blogpost-article-body .blogpost-toc-sticky{position:static} .blogpost-toc-sticky .toc-body{max-height:calc(100vh - 180px);overflow-y:auto} .blogpost-sidebar-col .toc-header{cursor:default} .blogpost-content-col{} .blogpost-article-body{counter-reset:bp-h2-counter;line-height:1.6} .blogpost-article-body img{max-width:100%;height:auto;border-radius:12px;display:block} .blogpost-article-body table{overflow-x:auto;display:block;width:100%} .blogpost-article-body .table-content table{display:table;overflow-x:visible} #news_detail .blogpost-article-body h2,#news_detail .blogpost-article-body h3,#news_detail .blogpost-article-body h4{scroll-margin-top:100px;font-weight:700} #news_detail .blogpost-article-body h2{margin-bottom:20px;font-size:1.5rem;font-weight:700;counter-increment:bp-h2-counter;display:flex;flex-direction:column;align-items:flex-start;gap:4px} #news_detail .blogpost-article-body h2::before{content:counter(bp-h2-counter,decimal-leading-zero) ".";font-size:2.5rem;font-weight:800;line-height:1;color:#ccc} #news_detail .blogpost-article-body h3{font-size:1.25rem} #news_detail .blogpost-article-body h4{font-size:1rem} .blogpost-article-body a{color:#1250dc} .blogpost-article-body a:hover{color:#1250dc;text-decoration:none} .blogpost-aside-col{} @media (min-width:992px) and (max-width:1199px){.blogpost-sidebar-col{display:none} .blogpost-layout .col-lg-6.blogpost-content-col{flex:0 0 66.6667%;max-width:66.6667%} .blogpost-layout .col-lg-3.blogpost-aside-col{flex:0 0 33.3333%;max-width:33.3333%} .blogpost-article-body .blogpost-toc-sticky{margin-bottom:24px} } .blogpost-toc-sticky.toc-stuck .toc-header{cursor:pointer} .blogpost-toc-sticky.toc-stuck .toc-toggle-btn{display:flex} .blogpost-toc-sticky.toc-stuck .toc-header-inner{flex-direction:row;align-items:center;overflow:hidden} .blogpost-toc-sticky.toc-stuck .toc-title{display:none} .blogpost-toc-sticky.toc-stuck .toc-current-heading{display:block;flex:1;min-width:0;font-size:1rem;font-weight:600} @media (max-width:991px){.toc-article-wrap{flex-direction:column;gap:0} .toc-sidebar-col{flex:none;max-width:100%;width:100%} .toc-nav.toc-sticky{position:static;max-height:none;overflow:hidden} .toc-nav.toc-sticky .toc-body{max-height:340px} .toc-sidebar-col .toc-header{cursor:pointer} .blogpost-layout{display:block !important} .blogpost-sidebar-col{display:none} .blogpost-content-col{width:100% !important;max-width:100% !important} .blogpost-aside-col{display:block !important;width:100% !important;max-width:100% !important;padding:8px 15px 20px} .toc-link{padding-top:8px;padding-bottom:8px;min-height:44px;display:flex;align-items:center} .toc-h3 > .toc-link{padding-left:26px;font-size:0.875rem} .toc-h4 > .toc-link{padding-left:40px;font-size:13px} .toc-header{padding:14px 16px} .toc-nav{border-radius:8px} } @media (max-width:575px){.toc-link,.toc-h2 > .toc-link{font-size:0.875rem} } @media print{.toc-nav,.toc-sidebar-col,.blogpost-sidebar-col{display:none !important} .toc-main-content,.blogpost-content-col{width:100% !important;max-width:100% !important} } #main_content:has(.bp-main){background:#fff} .bp-breadcrumb-band{background:linear-gradient(rgba(234,239,250,0.996) 0%,rgb(255,255,255) 100%)} .bp-article-header{padding-top:24px;border-bottom:1px solid #e5e7eb;padding-bottom:20px;margin-bottom:8px} .bp-article-title{font-size:2rem;font-weight:700;line-height:1.3;letter-spacing:-0.029em;} @media(max-width:767px){.bp-article-header{padding-top:10px} .bp-article-title{font-size:1.5rem} } .bp-meta-bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px} .bp-meta-bottom__left{display:flex;flex-wrap:wrap;align-items:center;gap:16px;font-size:0.875rem;color:#4a4f63} .bp-meta-bottom__item{display:inline-flex;align-items:center;gap:6px;color:inherit;text-decoration:none} a.bp-meta-bottom__item:hover{color:var(--ivd-brand,#1d52d7)} .bp-meta-bottom__item i{color:var(--ivd-brand,#1d52d7);font-size:1rem} .bp-copy-link-btn{background:none;padding:0;cursor:pointer;font-family:inherit} .bp-meta-date__info-wrap{position:relative;display:inline-flex;align-items:center} .bp-meta-date__info{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border:0;border-radius:50%;background:none;color:var(--ivd-brand,#1d52d7);font-size:11px;cursor:pointer;padding:0;line-height:1;transition:background .15s,color .15s} .bp-meta-date__info i{color:inherit;font-size:18px} .bp-meta-date__info:hover{background:var(--ivd-brand,#1d52d7);color:#fff;border:0} .bp-meta-date__tooltip{position:absolute;left:50%;bottom:calc(100% + 10px);transform:translateX(-50%);z-index:30;display:none;flex-direction:column;gap:6px;min-width:210px;background:#4a4f63;border-radius:10px;padding:12px 14px;box-shadow:0 8px 12px rgba(16,24,40,.18);font-size:0.875rem;font-weight:400;color:#fff;white-space:nowrap;text-align:left} .bp-meta-date__tooltip:before{content:'';position:absolute;left:50%;top:100%;transform:translateX(-50%);border:6px solid transparent;border-top-color:#4a4f63} .bp-meta-date__info-wrap.is-open .bp-meta-date__tooltip{display:flex} @media(max-width:480px){.bp-meta-date__tooltip{left:0;right:auto;transform:none;white-space:normal;min-width:0;width:max-content;max-width:75vw} .bp-meta-date__tooltip:before{left:9px;right:auto;transform:none} } .bp-related{max-width:1280px;margin:0 auto} .bp-related .title_box{padding:48px 0 20px} .bp-related-outer{position:relative} .bp-related-clip{overflow:hidden;border-radius:12px;padding:5px 0 30px} .bp-grid{display:flex;transition:transform .35s ease} .bp-related-nav-btn{position:absolute;top:50%;transform:translateY(-50%);z-index:20;background:rgba(255,255,255,.92);color:var(--ivd-brand,#1d52d7);border:none;border-radius:50%;width:36px;height:36px;font-size:24px;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;line-height:1;box-shadow:0 2px 8px rgba(0,0,0,.18);transition:background .15s,color .15s,opacity .15s} .bp-related-nav-btn:hover{background:var(--ivd-brand,#1d52d7);color:#fff} .bp-related-nav-btn:disabled{opacity:.2;cursor:default;pointer-events:none} .bp-related-nav-btn.is-hidden{display:none} #bpRelatedPrev{left:-10px} #bpRelatedNext{right:-10px} #pfRelatedPrev{left:-10px} #pfRelatedNext{right:-10px} .bp-related-dots-wrap{display:flex;justify-content:center} .bp-related-dots{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:22px} .bp-related-dot{width:6px;height:6px;padding:0;border:none;border-radius:50%;background:#cfe0fa;cursor:pointer;transition:background .2s,transform .2s} .bp-related-dot--active{background:var(--ivd-brand,#1d52d7);transform:scale(1.2);width:16px;border-radius:50px} .bp-card{flex-shrink:0;box-sizing:border-box;position:relative;border-radius:12px;overflow:hidden;background:linear-gradient(rgba(255,255,255,.2) 0%,#fff 100%);border:1px solid #D8E2E6;padding:12px;transition:box-shadow .2s,transform .2s} .bp-card:hover{box-shadow:0 8px 20px rgba(16,24,40,.1);transform:translateY(-2px)} .bp-card__link{display:flex;flex-direction:column;text-decoration:none;color:inherit} .bp-card__link:hover{text-decoration:none;color:inherit} .bp-card__img{position:relative;width:100%} .bp-card__img::before{content:'';display:block;padding-top:54.375%} .bp-card__img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;border-radius:8px} .bp-card__footer{padding-top:16px} .bp-card__text{min-width:0} .bp-card__title{margin:0;font-size:1rem;font-weight:600;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.5} .bp-card__bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin-top:8px} .bp-card__arrow{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;color:var(--ivd-brand,#1d52d7);background:#eef3fd;font-size:1rem;transition:background .2s,color .2s} .bp-card:hover .bp-card__arrow{background:var(--ivd-brand,#1d52d7);color:#fff} .bp-card__meta{display:flex;align-items:center;margin:0;font-size:0.75rem;color:#657384;white-space:nowrap;overflow:hidden;min-width:0;flex:1 1 auto} .bp-card__time{flex:0 0 auto} .bp-card__author{flex:0 1 auto;overflow:hidden;text-overflow:ellipsis;color:#657384;font-weight:500;text-decoration:none} .bp-card__author:hover{color:#1250DC} .bp-card__author::before{content:'•';display:inline-block;margin:0 6px;color:#cbd5e1} @media(max-width:991px){.bp-related .title_box{padding:0px 0 20px} .bp-related--pf .title_box{padding:48px 0 20px} } .bp-gallery{display:grid;grid-template-columns:1.6fr 1fr 1fr;grid-template-rows:1fr 1fr;gap:8px;height:420px;border-radius:12px;overflow:hidden} .bp-gallery__item{position:relative;overflow:hidden;cursor:pointer;display:block;background:#eef1f6} .bp-gallery__item img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s ease} .bp-gallery__item:hover img{transform:scale(1.05)} .bp-gallery__item--main{grid-row:1/3} .bp-gallery__more{position:absolute;inset:0;background:rgba(15,20,40,.6);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:#fff;font-weight:500;font-size:0.875rem;text-align:center;padding:8px} .bp-gallery__more i{font-size:1.5rem} .bp-gallery--few{display:flex;gap:8px;height:320px} .bp-gallery--few .bp-gallery__item{flex:1 1 0;border-radius:8px} .bp-gallery--few .bp-gallery__item--main{flex:2 1 0} .bp-gallery-mobile{display:none} @media(max-width:767px){.bp-gallery,.bp-gallery--few{display:none} .bp-gallery-mobile{display:block;position:relative;border-radius:12px;overflow:hidden;aspect-ratio:16/9;margin-bottom:24px;background:#111} .bp-gallery-mobile__slide{position:absolute;inset:0;opacity:0;transition:opacity .5s ease;overflow:hidden} .bp-gallery-mobile__slide.is-active{opacity:1;z-index:1} .bp-gallery-mobile__slide img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1);transition:transform 4.2s linear;will-change:transform} .bp-gallery-mobile__slide.is-zoom img{transform:scale(1.12)} .bp-gallery-mobile__viewall{position:absolute;right:12px;bottom:30px;z-index:3;display:inline-flex;align-items:center;gap:8px;background:rgba(15,20,40,.55);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);color:#fff;border:none;border-radius:50px;padding:10px 18px;font-size:0.875rem;font-weight:500;cursor:pointer} .bp-gallery-mobile__viewall i{font-size:1rem} .bp-gallery-mobile__dots{position:absolute;left:12px;right:12px;bottom:12px;z-index:3;display:flex;gap:4px} .bp-gallery-mobile__dot{flex:1;height:3px;border-radius:3px;background:rgba(255,255,255,.35);overflow:hidden} .bp-gallery-mobile__dot i{display:block;height:100%;width:0;background:#fff;border-radius:3px;transition:none} .bp-gallery-mobile__dot i.is-run{transition:width 4s linear;width:100%} .bp-gallery-mobile__dot i.is-filled{width:100%} } .bp-lightbox{position:fixed;inset:0;z-index:99999;display:none!important;align-items:center;justify-content:center;padding:24px} .bp-lightbox--open{display:flex!important} .bp-lightbox__backdrop{position:absolute;inset:0;background:rgba(10,14,28,.9);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)} .bp-lightbox__stage{position:relative;max-width:1100px;max-height:88vh;width:100%;display:flex;flex-direction:column;align-items:center} .bp-lightbox__imgwrap{position:relative;display:flex;max-width:100%} .bp-lightbox__imgwrap img{max-width:100%;max-height:calc(88vh - 92px);object-fit:contain;border-radius:6px;display:block;user-select:none} .bp-lightbox__close{position:absolute;top:18px;right:18px;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.92);color:#1a1a2e;border:none;font-size:24px;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:3;box-shadow:0 2px 10px rgba(0,0,0,.25);transition:background .2s,color .2s} .bp-lightbox__close:hover{background:#005EDB;color:#fff} .bp-lightbox__nav{position:absolute;top:50%;transform:translateY(-50%);width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.92);color:#1a1a2e;border:none;font-size:1rem;cursor:pointer;z-index:3;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 10px rgba(0,0,0,.25);transition:background .2s,color .2s;line-height:1} .bp-lightbox__nav:hover{background:#005EDB;color:#fff} .bp-lightbox__prev{left:-20px} .bp-lightbox__next{right:-20px} .bp-lightbox__counter{margin-top:12px;color:#fff;font-size:12px;font-weight:500;letter-spacing:.5px;pointer-events:none} .bp-lightbox__thumbs{display:flex;gap:8px;margin-top:10px;padding:2px;overflow-x:auto;max-width:100%;scroll-behavior:smooth;-webkit-overflow-scrolling:touch} .bp-lightbox__thumbs::-webkit-scrollbar{height:4px} .bp-lightbox__thumbs::-webkit-scrollbar-track{background:transparent} .bp-lightbox__thumbs::-webkit-scrollbar-thumb{background:rgba(255,255,255,.3);border-radius:4px} .bp-lightbox__thumb{width:56px;height:56px;border-radius:6px;overflow:hidden;cursor:pointer;flex-shrink:0;border:2px solid transparent;opacity:.5;transition:opacity .18s,border-color .18s,transform .18s,box-shadow .18s} .bp-lightbox__thumb:hover{opacity:.85;transform:scale(1.05)} .bp-lightbox__thumb--active{border-color:#fff;opacity:1;box-shadow:0 2px 10px rgba(0,0,0,.35)} .bp-lightbox__thumb img{width:100%;height:100%;object-fit:cover;display:block} @media(max-width:767px){.bp-lightbox__close{width:34px;height:34px;font-size:20px;top:10px;right:10px} .bp-lightbox__thumb{width:44px;height:44px} } .pd-sticky-col{align-self:flex-start} .pf-quote-sticky{position:sticky;top:150px} @media(max-width:991px){.pf-quote-sticky{position:static;margin-bottom:32px}} .pd-gallery-main{position:relative;border-radius:8px;overflow:hidden;background:#f1f5f9;cursor:zoom-in} #pdMainImg{position:static;display:block;width:100%;height:auto} .title-pro-des{font-weight:600} .pd-gallery-nav{position:absolute;top:50%;transform:translateY(-50%);width:36px;height:36px;border-radius:50%;border:none;background:rgba(255,255,255,0.9);color:var(--text-main,#1f2937);display:flex;align-items:center;justify-content:center;font-size:1rem;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,0.15);transition:background .15s ease;z-index:2} .pd-gallery-nav:hover{background:#005EDB;color:#fff} .pd-gallery-prev{left:12px} .pd-gallery-next{right:12px} .pd-gallery-counter{position:absolute;left:12px;bottom:12px;background:rgba(0,0,0,0.6);color:#fff;font-size:0.75rem;font-weight:600;padding:3px 10px;border-radius:20px;z-index:2} .pd-gallery-thumbs{display:flex;justify-content:center;gap:12px;margin-top:20px;flex-wrap:wrap} .pd-gallery-thumb{position:relative;width:84px;height:84px;border-radius:6px;overflow:hidden;border:1px solid #E5E7EB;cursor:pointer;flex-shrink:0;padding:5px} .pd-gallery-thumb.is-active{border-color:#005EDB} .pd-gallery-thumb img{width:100% !important;height:100% !important;object-fit:cover !important;display:block;border:0;border-radius:3px} .pd-gallery-thumb-more{position:absolute;inset:0;background:rgba(0,0,0,0.55);color:#fff;font-size:0.875rem;display:flex;align-items:center;justify-content:center} .thongso table{display:block;width:100%;margin:0} .thongso table tbody{display:flex;flex-wrap:wrap;gap:16px} .thongso table tr{display:flex;flex-direction:column;gap:3px;flex:1 1 calc(50% - 12px);min-width:130px} .thongso table tr td{display:block;white-space:normal;padding:0;border:none} .thongso table tr td:first-child{font-size:0.875rem;color:var(--text-muted,#6b7280)} .thongso table tr td:last-child{font-size:0.875rem;font-weight:600} @media (max-width:576px){.thongso table tr{flex-basis:100%} } .pd-meta-row{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin:6px 0 10px} .pd-sku{font-size:0.875rem;color:var(--text-muted,#6b7280)} .pd-rating{display:inline-flex;align-items:center;gap:4px;font-size:0.875rem;color:var(--text-main,#1f2937);text-decoration:none;cursor:pointer} .pd-rating:hover .pd-rating-value,.pd-rating:hover .pd-rating-count{color:#1250dc } .pd-rating-star{color:#f59e0b;font-size:1rem} .pd-rating-value{font-weight:700;color:var(--text-main,#1f2937)} .pd-rating-count{color:var(--text-muted,#6b7280)} .pd-price-box{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;background:linear-gradient(#eaeffa 0%,#ffffff 45%);border:1px solid #005EDB;border-radius:8px;padding:16px;margin-bottom:24px;background-origin:border-box;background-clip:padding-box,border-box} .pd-price-info{display:flex;flex-direction:column;gap:2px;min-width:0} .pd-price-label{font-size:0.75rem;color:var(--text-muted,#6b7280)} .pd-price-value{font-size:1.375rem;font-weight:800;color:var(--text-main,#1f2937);line-height:1.2} .pd-price-note{font-size:0.75rem;color:var(--text-muted,#6b7280)} .pd-price-divider{display:flex;flex-direction:column;align-items:center;gap:4px;flex-shrink:0;align-self:stretch;color:var(--text-muted,#6b7280);font-size:0.75rem} .pd-price-divider-line{flex:1;width:0;min-height:10px;border-left:1px dashed #c7ccd4} .pd-price-alt{display:flex;flex-direction:column;align-items:center;gap:6px;flex-shrink:0} .pd-price-alt-note{font-size:0.875rem;white-space:nowrap} .pd-price-cta span{background:#fff;border-radius:50%;display:inline-block;width:35px;height:35px;color:#005EDB;line-height:35px;margin-left:8px} .pd-price-cta{white-space:nowrap;width:auto !important;padding:8px 12px 8px 20px !important;border-radius:50px;font-weight:600;color:#fff} .pd-price-cta:hover{color:#fff} .pd-uudai-block{margin-bottom:24px;border-radius:8px;border:1px solid #e5e9f0;padding:16px} .pd-uudai-viewport{position:relative} .pd-uudai-track{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 2px;scrollbar-width:none} .pd-uudai-nav{position:absolute;top:50%;transform:translateY(-50%);width:36px;height:36px;border-radius:50%;border:1px solid #e2e8f0;background:#fff;color:var(--text-main,#1f2937);display:flex;align-items:center;justify-content:center;font-size:0.875rem;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,0.12);z-index:3;transition:opacity .15s ease} .pd-uudai-nav:hover{background:#005EDB;color:#fff} .pd-uudai-nav.is-hidden{display:none} .pd-uudai-prev{left:-30px} .pd-uudai-next{right:-30px} .pd-uudai-track::-webkit-scrollbar{display:none} .pd-uudai-card{scroll-snap-align:start;flex:0 0 auto;width:45%;position:relative;display:flex;align-items:center;gap:10px;padding:10px 14px;border:1px solid #eee;border-radius:12px;background:#fff;text-decoration:none;color:inherit;transition:box-shadow .15s ease,transform .15s ease} .pd-uudai-card::before,.pd-uudai-card::after{content:'';position:absolute;top:50%;width:16px;height:16px;border-radius:50%;background:#fff;border:1px solid #eee;z-index:2;pointer-events:none;box-sizing:border-box} .pd-uudai-card::before{left:-7px;transform:translateY(-50%);clip-path:inset(-4px 0 -4px 5px)} .pd-uudai-card::after{right:-7px;transform:translateY(-50%);clip-path:inset(-4px 5px -4px 0)} .pd-uudai-card-icon{width:34px;height:34px;border-radius:50px;background:#f8fafc;display:flex;align-items:center;justify-content:center;font-size:1.125rem;flex-shrink:0} .pd-uudai-card-icon img{width:34px;height:34px;border-radius:8px;object-fit:cover} .pd-uudai-card-icon svg{width:25px;height:25px} .pd-uudai-card-body{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1} .pd-uudai-card-title{font-size:0.875rem;font-weight:700;line-height:1.3;color:var(--text-main,#1f2937);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden} .pd-uudai-card-desc{font-size:0.75rem;color:var(--text-muted,#6b7280);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden} .pd-uudai-card-foot{display:flex;align-items:center;justify-content:space-between;gap:6px;flex-wrap:wrap} .pd-uudai-status{font-size:0.75rem;color:var(--text-muted,#6b7280);display:inline-flex;align-items:center;gap:4px} .pd-uudai-status--live{color:#059669} .pd-uudai-card-link{font-size:0.75rem;font-weight:600;color:var(--secondary,#0d6efd);display:inline-flex;align-items:center;gap:2px} .pd-uudai-dots{display:flex;justify-content:center;gap:6px;margin-top:8px} .pd-uudai-dot{width:6px;height:6px;border-radius:50%;background:#dbe0e6;cursor:pointer;transition:background .15s ease,width .15s ease} .pd-uudai-dot.is-active{background:#005EDB;width:16px;border-radius:4px} .pd-contact-box{border:1px solid #e5e9f0;border-radius:8px;background:#fff;padding:16px} .pd-contact-title{font-size:0.875rem;font-weight:600;display:flex;align-items:center;gap:6px;margin:0 0 12px} .pd-contact-title i{color:#005EDB} .pd-contact-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:10px} .pd-contact-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 12px;border:1.5px solid #005EDB;border-radius:8px;text-decoration:none;transition:background .15s ease} .pd-contact-btn:hover{background:#f0f6ff} .pd-contact-btn-icon{flex-shrink:0;width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.125rem;color:#005EDB} .pd-contact-btn-label{font-size:0.875rem;font-weight:600;color:#005EDB;white-space:nowrap;overflow:hidden;text-overflow:ellipsis} @media (min-width:650px) and (max-width:992px){.pd-uudai-card{width:35%}} @media (max-width:576px){.pd-uudai-card{width:70%}} @media (max-width:480px){.pd-contact-buttons{grid-template-columns:repeat(2,1fr)} .pd-contact-buttons .pd-contact-btn:nth-child(3){grid-column:1 / -1} .pd-gallery-thumb{width:56px;height:56px} .pd-price-box{flex-direction:column;align-items:stretch} .pd-price-cta{width:100%;justify-content:center} .pd-price-info{align-items:center;} .pd-price-divider{flex-direction:row;justify-content:center;align-self:stretch;width:100%} .pd-price-divider-line{flex:0 0 auto;width:20px;height:1px;min-height:0;border:none;background-image:repeating-linear-gradient(to right,#c7ccd4 0,#c7ccd4 3px,transparent 3px,transparent 6px)} } .pd-consult-block{background:linear-gradient(135deg,rgba(239,246,255,0.84),rgba(255,255,255,0.82));border-radius:8px;padding:16px;border:1px solid #b9d4fb} .pd-consult-viewport{position:relative} .pd-consult-track{--pd-consult-cols:2;--pd-consult-gap:12px;display:grid;grid-template-rows:repeat(2,1fr);grid-auto-flow:column;grid-auto-columns:calc((100% - (var(--pd-consult-cols) - 1) * var(--pd-consult-gap)) / var(--pd-consult-cols));gap:var(--pd-consult-gap);overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 2px;scrollbar-width:none} .pd-consult-track::-webkit-scrollbar{display:none} .pd-consult-track .ivd-consult-card{scroll-snap-align:start;width:100%;min-width:0;background:#fff;border:1px solid #c9dffb} @media (max-width:991px){.pd-consult-track{--pd-consult-cols:3} } @media (max-width:575px){.pd-consult-track{--pd-consult-cols:2} } pf-modal* trong search.css. KHONG lien quan project-marquee.css (.prjm-*) — marquee trang chu la he thong rieng,doc lap,khong gop vao day. */ .pf-showcase{max-width:1200px;margin:0 auto;padding:0 32px} .pf-filters-wrap{position:relative;margin-bottom:20px} .pf-filters-wrap .pf-filters{margin-bottom:0} .pf-filters{display:flex;flex-wrap:nowrap;gap:8px;margin-bottom:20px;overflow-x:auto;scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none;-webkit-mask-image:linear-gradient(to right,transparent 0%,#000 8%,#000 92%,transparent 100%);mask-image:linear-gradient(to right,transparent 0%,#000 8%,#000 92%,transparent 100%);padding:5px 0} .pf-filters::-webkit-scrollbar{display:none} .pf-filters__btn{background:#fff;border:1px solid #D8E2E6;border-radius:4px;padding:8px 12px;font-size:0.875rem;cursor:pointer;transition:all .25s ease;flex:0 0 auto;white-space:nowrap;color:#333;-webkit-appearance:none;appearance:none;} .pf-filters__btn:hover{border-color:#293F7B;color:#293F7B} .pf-filters__btn--active{background:#293F7B;color:#fff;border-color:#293F7B} .pf-filters__btn--active:hover{color:#fff} .pf-filters__nav{position:absolute;top:50%;transform:translateY(-50%);z-index:2;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:#fff;border:1px solid #D8E2E6;color:#293F7B;cursor:pointer;font-size:1rem;line-height:1;padding:0;transition:background .2s ease,border-color .2s ease,color .2s ease,transform .15s ease,box-shadow .2s ease;box-shadow:0 1px 3px rgba(16,24,40,.06)} .pf-filters__nav--prev{left:0} .pf-filters__nav--next{right:0} .pf-filters__nav:hover{background:#293F7B;border-color:#293F7B;color:#fff;transform:translateY(calc(-50% - 1px));box-shadow:0 4px 10px rgba(41,63,123,.25)} .pf-filters__nav:active{transform:translateY(-50%)} .pf-filters__nav--hidden{opacity:0;visibility:hidden;pointer-events:none} .pf-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px} @media(min-width:768px){.pf-grid{grid-template-columns:repeat(3,1fr)}} @media(min-width:992px){.pf-grid{grid-template-columns:repeat(4,1fr)}} @media(min-width:1200px){.pf-grid{grid-template-columns:repeat(4,1fr);gap:16px}} .pf-card{display:block;background:linear-gradient(rgba(255,255,255,0.2) 0%,#fff 100%);border:1px solid #D8E2E6;border-radius:12px;overflow:hidden;padding:12px;text-decoration:none;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease} .pf-card:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(16,24,40,.1);text-decoration:none} .pf-card__img{position:relative;width:100%} .pf-card__img::before{content:'';display:block;padding-top:77.5%} .pf-card__img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;border-radius:8px} .pf-card__footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:16px} .pf-card__text{min-width:0} .pf-card__title{margin:0;font-size:0.875rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis} .pf-card__arrow{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;color:var(--ivd-brand,#1d52d7);background:#eef3fd;font-size:1rem;transition:background .2s,color .2s} .pf-card:hover .pf-card__arrow{background:var(--ivd-brand,#1d52d7);color:#fff} .pf-pagination{text-align:center;margin-top:40px} .pf-more-btn{display:none;color:#fff;border:none;border-radius:4px;padding:10px 24px;font-size:1rem;cursor:pointer;} .pf-spinner{display:none} .pf-spinner i{color:#F7941D} .pf-skeleton{border:1px solid #D8E2E6;border-radius:12px;overflow:hidden;background:#fff;padding:12px} .pf-skeleton__img{width:100%;aspect-ratio:1/1.29;border-radius:8px;background:linear-gradient(110deg,#ececec 8%,#f5f5f5 18%,#ececec 33%);background-size:200% 100%;animation:pfShine 1.5s linear infinite} .pf-skeleton__body{padding-top:16px} .pf-skeleton__line{height:14px;border-radius:3px;margin-bottom:8px;background:linear-gradient(110deg,#ececec 8%,#f5f5f5 18%,#ececec 33%);background-size:200% 100%;animation:pfShine 1.5s linear infinite} @keyframes pfShine{to{background-position-x:-200%}} .pf-modal{position:fixed;inset:0;z-index:99999;display:none!important;align-items:center;justify-content:center;padding:20px} .pf-modal--open{display:flex!important} .pf-modal__backdrop{position:absolute;inset:0;background:rgba(15,20,40,.72);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)} .pf-modal__content{position:relative;background:#fff;border-radius:12px;box-shadow:0 24px 60px rgba(0,0,0,.25);display:flex;max-width:980px;width:100%;max-height:88vh;overflow:hidden;animation:pfPopIn .3s cubic-bezier(.16,1,.3,1)} @keyframes pfPopIn{from{opacity:0;transform:scale(.94) translateY(16px)}to{opacity:1;transform:scale(1) translateY(0)}} .pf-modal__close{position:absolute;top:14px;right:14px;width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.92);color:inherit;border:none;font-size:22px;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:10;box-shadow:0 2px 8px rgba(0,0,0,.12);transition:background .2s,transform .2s} .pf-modal__close:hover{background:#fff;transform:scale(1.08)} .pf-modal__gallery{flex:0 0 56%;display:flex;flex-direction:column;background:#f7f7f9;overflow:hidden} .pf-modal__img-wrap{position:relative;flex:1;min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:16px} .pf-modal__main-img{max-width:100%;max-height:100%;object-fit:contain;border-radius:4px;display:block;transition:opacity .22s ease;user-select:none} .pf-modal__main-img.pf-fade{opacity:0} .pf-modal__nav{position:absolute;top:50%;transform:translateY(-50%);width:35px;height:35px;border-radius:50%;background:rgba(255,255,255,.9);border:none;cursor:pointer;z-index:3;display:flex;align-items:center;justify-content:center;font-size:22px;color:inherit;box-shadow:0 2px 10px rgba(0,0,0,.15);transition:background .18s,transform .18s,box-shadow .18s;line-height:1} .pf-modal__nav:hover{background:#fff;transform:translateY(-50%) scale(1.1);box-shadow:0 4px 16px rgba(0,0,0,.2)} .pf-modal__prev{left:5px}.pf-modal__next{right:5px} .pf-modal__nav--hidden{opacity:0;pointer-events:none} .pf-modal__counter{position:absolute;bottom:10px;left:50%;transform:translateX(-50%);background:rgba(0,0,0,.5);color:#fff;font-size:12px;font-weight:500;letter-spacing:.5px;padding:3px 10px;border-radius:20px;pointer-events:none;white-space:nowrap} .pf-modal__thumbs{display:flex;gap:6px;padding:10px 16px 16px;overflow-x:auto;flex-shrink:0;scroll-behavior:smooth;-webkit-overflow-scrolling:touch} .pf-modal__thumbs::-webkit-scrollbar{height:4px} .pf-modal__thumbs::-webkit-scrollbar-track{background:transparent} .pf-modal__thumbs::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px} .pf-modal__thumb{width:60px;height:60px;border-radius:6px;overflow:hidden;cursor:pointer;flex-shrink:0;border:2px solid transparent;opacity:.55;transition:opacity .18s,border-color .18s,transform .18s,box-shadow .18s} .pf-modal__thumb:hover{opacity:.85;transform:scale(1.06)} .pf-modal__thumb--active{border-color:var(--ivd-brand,#1d52d7);opacity:1;box-shadow:0 2px 8px rgba(29,82,215,.35)} .pf-modal__thumb img{width:100%;height:100%;object-fit:cover;display:block} .pf-modal__info{flex:0 0 44%;min-height:0;padding:16px;display:flex;flex-direction:column;overflow-y:auto} .pf-modal__tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px} .pf-modal__tag{background:#EEF4FF;color:#293F7B;font-size:0.75rem;padding:3px 9px;border-radius:3px;font-weight:500} .pf-modal__title{font-size:1.125rem;font-weight:700;color:#1a1a2e;margin:0 0 14px;line-height:1.3;letter-spacing:-.2px} .pf-modal__excerpt{font-size:0.875rem;color:#657384;margin:0 0 16px;flex:1} .pf-modal__divider{border:none;border-top:2px solid var(--ivd-brand,#1d52d7);margin:0 0 16px;opacity:.8} .pf-modal__cta{display:inline-flex;align-items:center;gap:8px;background:var(--ivd-brand,#1d52d7);color:#fff;border:none;border-radius:50px;padding:11px 22px;font-size:0.875rem;font-weight:600;cursor:pointer;text-decoration:none;transition:opacity .2s,transform .15s;align-self:flex-start} .pf-modal__cta:hover{opacity:.9;color:#fff;text-decoration:none;transform:translateY(-1px)} .pf-modal__cta svg{width:15px;height:15px} .pf-modal__loading{display:flex;align-items:center;justify-content:center;width:100%;padding:60px;color:#94a3b8;font-size:0.875rem} @media(max-width:991px){.pf-showcase{padding:0 20px} } @media(max-width:767px){.pf-showcase{padding:0 16px} .pf-modal__content{flex-direction:column;max-height:92vh;border-radius:8px} .pf-modal__gallery{flex:none} .pf-modal__img-wrap{height:52vw;min-height:200px} .pf-modal__info{flex:none} .pf-modal__title{font-size:18px} .pf-modal__thumb{width:50px;height:50px} .pf-filters__btn{font-size:0.875rem;padding:6px 12px;} .pf-filters__nav{width:28px;height:28px;font-size:0.875rem} } .pf-showcase--catpage{max-width:1280px;margin:0 auto;padding:0} .pf-showcase--catpage .pf-grid{grid-template-columns:repeat(1,1fr);gap:16px} @media(min-width:576px){.pf-showcase--catpage .pf-grid{grid-template-columns:repeat(2,1fr)}} @media(min-width:768px){.pf-showcase--catpage .pf-grid{grid-template-columns:repeat(3,1fr)}} @media(min-width:992px){.pf-showcase--catpage .pf-grid{grid-template-columns:repeat(4,1fr)}} @media(max-width:767px){.pf-showcase--catpage .pf-grid{gap:12px}} .pf-showcase--catpage .pf-filters__btn{border-radius:50px} .pf-showcase--catpage .pf-filters__btn:hover{border-color:var(--ivd-brand,#1d52d7);color:var(--ivd-brand,#1d52d7)} .pf-showcase--catpage .pf-filters__btn--active{background:var(--ivd-brand,#1d52d7);border-color:var(--ivd-brand,#1d52d7);color:#fff} .pf-showcase--catpage .pf-filters__btn--active:hover{color:#fff} .pf-showcase--catpage .pf-filters__nav{color:var(--ivd-brand,#1d52d7)} .pf-showcase--catpage .pf-filters__nav:hover{background:var(--ivd-brand,#1d52d7);border-color:var(--ivd-brand,#1d52d7);color:#fff} .pf-showcase--catpage .pf-more-btn{border-radius:50px;padding:16px 48px} .pf-showcase--catpage .pf-more-btn i{margin-right:4px} .pf-section-heading{font-size:1.5rem;font-weight:600;margin:0 0 24px;letter-spacing:-0.029em} @media(max-width:1200px){.pf-video-section{margin-top:24px} .pf-showcase--catpage{margin-top:24px} } @media(max-width:767px){.pf-section-heading{font-size:1.25rem} }