@import url('https://fonts.googleapis.com/css2?family=EB+Garamond:ital@0;1&display=swap');
/* Landora (giao diện cũ): chuyển trang & chuyển động mượt — chỉ bổ sung, không đổi bố cục gốc. */
@view-transition{navigation:auto}
::view-transition-old(root),::view-transition-new(root){animation-duration:.2s;animation-timing-function:ease}
@keyframes lnd-vt-out{to{opacity:0}}
@keyframes lnd-vt-in{from{opacity:0}}
html{overflow-y:scroll;scrollbar-gutter:stable;scroll-behavior:smooth;background:#fff;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
/* Thanh tải trang (màu vàng Landora) */
#lnd-bar{position:fixed;top:0;left:0;height:3px;width:0;z-index:2147483647;background:linear-gradient(90deg,#B99D30,#E2C76A);box-shadow:0 0 10px rgba(185,157,48,.6);opacity:0;transition:width .2s ease,opacity .3s ease;pointer-events:none}
#lnd-bar.run{opacity:1;width:82%;transition:width 2.2s cubic-bezier(.08,.82,.17,1),opacity .2s ease}
#lnd-bar.done{opacity:0;width:100%;transition:width .25s ease,opacity .45s ease .2s}
/* Trang mới hiện mờ dần (trình duyệt không hỗ trợ view-transition) */
html.lnd-enter body{animation:lnd-vt-in .2s ease both}
/* Băng chuyền: ẩn tới khi khởi tạo xong để không nhảy bố cục */
.owl-carousel:not(.owl-loaded){opacity:0}
.owl-carousel.owl-loaded{animation:lnd-fade .3s ease both}
@keyframes lnd-fade{from{opacity:0}}
.owl-carousel .owl-stage{transition-timing-function:cubic-bezier(.22,.61,.36,1)!important}
.owl-carousel .owl-item img{backface-visibility:hidden;transform:translateZ(0)}
.anh-sanpham img,#main04 img,.pop-post img,.main05 img{transition:transform .8s cubic-bezier(.22,.61,.36,1),filter .5s ease,opacity .6s ease!important}
.anh-sanpham:hover img{transform:scale(1.04)}
.js-reveal{opacity:0;transform:translate3d(0,24px,0);transition:opacity .8s cubic-bezier(.22,.61,.36,1),transform .8s cubic-bezier(.22,.61,.36,1)}
.js-reveal.is-visible{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}::view-transition-old(root),::view-transition-new(root),html.lnd-enter body{animation:none}.js-reveal,img[loading="lazy"],.owl-carousel{opacity:1!important;transform:none!important;transition:none!important;animation:none!important}#lnd-bar{display:none}}
/* Lazyload: giữ khung ảnh đúng tỉ lệ + hiệu ứng skeleton khi chờ + hiện mờ dần khi tải xong */
:where(img.lnd-img[width][height]){height:auto}
img.lnd-img{background-color:#efefef;background-image:linear-gradient(100deg,rgba(255,255,255,0) 30%,rgba(255,255,255,.65) 50%,rgba(255,255,255,0) 70%);background-size:220% 100%;background-repeat:no-repeat;animation:lnd-shimmer 1.3s linear infinite}
img.lnd-img.is-loaded{background:none;animation:lnd-img-in .55s cubic-bezier(.22,.61,.36,1) both}
@keyframes lnd-shimmer{from{background-position:120% 0}to{background-position:-120% 0}}
@keyframes lnd-img-in{from{opacity:0}to{opacity:1}}
@media (prefers-reduced-motion:reduce){img.lnd-img{animation:none!important}}
img.lnd-img.is-cached{background:none;animation:none}
/* Thẻ trong băng chuyền cao bằng nhau: ảnh cùng tỉ lệ (cắt gọn, không méo), khung chữ kéo dài bằng nhau */
.owl-carousel .owl-stage{display:flex}
.owl-carousel .owl-item{display:flex;float:none}
.owl-carousel .owl-item>.item{display:flex;flex-direction:column;width:100%}
.owl-carousel .owl-item .anh-sanpham{flex:none;overflow:hidden}
.main051 .anh-sanpham img.lnd-img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover}
.main051 .owl-item .nd-sanpham,.main021 .owl-item .nd-sanpham{flex:1 1 auto}
.main051 .nd-sanpham h3{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.main051 .nd-sanpham h5{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.main021 .anh-sanpham img.lnd-img{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover}
/* Nội dung bài viết/dự án: khoảng cách chữ – ảnh dễ đọc, ảnh không tràn, chú thích rõ ràng */
.container900 .content p{margin:0 0 1.05em;line-height:1.7}
.container900 .content img{max-width:100%;height:auto;display:block}
.container900 .content figure,.container900 .content .wp-block-image,.container900 .content .wp-block-gallery{margin:1.6em 0 1.8em!important;padding:0}
.container900 .content .wp-block-gallery{list-style:none}
.container900 .content .wp-block-gallery .blocks-gallery-item{margin:0!important;width:100%!important}
.container900 .content .wp-block-gallery figure{margin:0!important;display:block!important;height:auto!important}
.container900 .content .wp-block-gallery figure img{height:auto!important;width:100%!important;object-fit:contain!important}
.container900 .content figcaption,.container900 .content .wp-block-gallery figcaption{position:static!important;background:none!important;color:#6b6b6a!important;max-height:none!important;overflow:visible!important;padding:.6em 0 0!important;font-size:13px;line-height:1.5;text-align:center;font-style:italic}
.container900 .content h2,.container900 .content h3,.container900 .content h4{margin:1.6em 0 .7em;line-height:1.35}
.container900 .content ul:not(.wp-block-gallery),.container900 .content ol{margin:0 0 1.2em 1.4em}
/* ===== Sửa lỗi rà soát (QA) ===== */
/* Font Agara (AGaramondPro) thiếu 47 ký tự tiếng Việt (ề ầ ờ ế ơ ư…) → dấu rơi/lệch; dùng EB Garamond (đủ tiếng Việt, cùng dáng Garamond) */
footer ul li a,.ft4 p span,.ft4 p span input[type=email],.ft4 input::placeholder,.copyright,.mainpost-sp-header p,.post-maindmsp .col-md-5>div>div span{font-family:'EB Garamond',Agara,serif}
/* Video đầu trang chủ có sẵn viền đen trên/dưới (88px/720px): phóng khung video cao 134% để cắt viền ở mọi kích thước */
.banner-top #myVideo{position:absolute;left:0;top:50%;height:134%;transform:translateY(-50%)}
/* Bài viết: đoạn văn chỉ cách nhau 2px (luật main#post p của theme thắng) → thêm khoảng giữa các đoạn liền nhau */
main#post .container900 .content p+p,main#post .container900 .content p+ul,main#post .container900 .content p+ol{margin-top:1em}
/* Ảnh hẹp hơn cột: căn giữa ảnh để thẳng hàng với chú thích; khôi phục căn giữa cho figure.aligncenter (không co chú thích về 0 khi ảnh chưa tải) */
.container900 .content figure.wp-block-image img{margin-left:auto;margin-right:auto}
.container900 .content .wp-block-image .aligncenter{display:block;text-align:center}
.container900 .content .wp-block-image .aligncenter img{margin-left:auto;margin-right:auto}
.container900 .content .wp-block-image .aligncenter>figcaption{display:block}
/* Tiêu đề bài viết: tránh 1 chữ mồ côi; trên điện thoại về đúng cỡ 32px theme dự định + giãn dòng cho dấu chồng */
.post1 .mainpost-sp-header h1{text-wrap:balance}
@media (max-width:767px){main#post .mainpost-sp-header h1{font-size:32px;line-height:1.25}main#post .container900 .content>h2:first-child{font-size:21px;line-height:1.5}}
/* Dự án: tiêu đề phụ đậm không dính sát đoạn bên dưới; bỏ <p> rỗng do markup lồng <p> */
#mainpost-sp .mainpost-sp012 p:empty,#mainpost-sp .about_prop p:empty{display:none}
#mainpost-sp .mainpost-sp012 p:not(:empty)+p,#mainpost-sp .about_prop p:not(:empty):not(.justifyText)+p{margin-top:.6em}
@media (max-width:767px){#mainpost-sp .about_prop p{text-align:center}}
/* Danh sách tin tức/dự án trên điện thoại: thẻ chẵn không bị canh phải */
@media (max-width:767px){.post-maindmsp.postimg-right{text-align:left}}
/* Mở popup không làm trang giật 15px (thanh cuộn của html luôn hiện) */
body.modal-open{padding-right:0!important}
/* Giới thiệu: cây trang trí nằm SAU chữ (trước đây vẽ đè lên chữ); khoảng trống thừa trên điện thoại */
#gioithieu{overflow-x:clip}
#gioithieu .noidung-gt{isolation:isolate}
#gioithieu .noidung-gt::before{z-index:-1;pointer-events:none}
@media (max-width:767px){#gioithieu>.container{padding-top:30px}}
/* Liên hệ (điện thoại): "XEM VỊ TRÍ" tách khỏi giờ làm việc */
@media (max-width:767px){.lienhe22 .col-md-3>a{display:inline-block;margin-top:10px}}
/* Liên kết chân trang chưa có trang đích (href="#"): không nhảy lên đầu trang */
footer a[href="#"]{pointer-events:none;cursor:default}
