/*
Theme Name: Dương Thành Lộc
Author: Dương Thành Lộc
Description: Giao diện kiến trúc xanh dương – cam, chỉnh sửa trực quan toàn bộ bằng WordPress Site Editor. Đi kèm bộ khởi tạo 7 trang và plugin DTL Toolkit.
Version: 1.1.0
Requires at least: 6.8
Requires PHP: 8.0
Text Domain: duong-thanh-loc
License: GPL-2.0-or-later
*/
:root{--dtl-gold:var(--wp--preset--color--bronze,#f68718);--dtl-muted:var(--wp--preset--color--muted,#c3d5e3);--dtl-line:rgba(246,135,24,.25)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;-webkit-font-smoothing:antialiased}img{max-width:100%;height:auto}a{transition:color .2s}a:hover{color:var(--dtl-gold)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--dtl-gold);outline-offset:5px}h1,h2,h3,p{overflow-wrap:break-word}h1 em,h2 em{color:var(--dtl-gold);font-weight:400}h1{font-size:clamp(42px,5.5vw,72px)}h2{font-size:clamp(30px,3.4vw,44px)}h3{font-size:24px}p{color:var(--dtl-muted)}.wp-site-blocks>*,.dtl-main,.dtl-main>.wp-block-post-content>*{margin-block-start:0}.dtl-main{min-height:65vh}.dtl-section{padding:96px max(24px,calc((100% - 1216px)/2));position:relative}.dtl-section>h2{max-width:850px;margin-top:16px;margin-bottom:40px}.dtl-section .wp-block-columns{gap:48px}.dtl-section .wp-block-image{margin:0}.dtl-section .wp-block-image img{width:100%;object-fit:cover}.dtl-alt{background:var(--wp--preset--color--panel,#103957)}.dtl-eyebrow{font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--dtl-gold);font-weight:500;margin-top:0}.dtl-hero-content>.dtl-eyebrow:before,.dtl-section>.dtl-eyebrow:before{content:'';display:inline-block;width:40px;height:1px;background:var(--dtl-gold);vertical-align:middle;margin-right:14px}.dtl-section-link{position:absolute;right:max(24px,calc((100% - 1216px)/2));top:155px;color:var(--dtl-gold);font-size:13px}.dtl-header{position:absolute;top:0;left:0;right:0;z-index:20;padding:16px max(24px,calc((100% - 1216px)/2));background:linear-gradient(#092b4755,transparent)}.admin-bar .dtl-header{top:32px}.dtl-header-inner{gap:24px}.dtl-brand{min-width:220px;gap:12px!important;align-items:center}.dtl-brand p{margin:0!important}.dtl-logo-mark{display:flex;justify-content:center;align-items:center;width:44px;height:44px;background:linear-gradient(135deg,#ffa541,#f68718,#db6810);color:#092b47;font:700 19px 'Playfair Display',serif;flex-shrink:0}.dtl-brand-name{font:600 16px 'Playfair Display',serif;color:#fff;white-space:nowrap}.dtl-brand-tagline{font-size:9px;letter-spacing:.22em;line-height:1.35;color:var(--dtl-gold)}.dtl-nav{font-size:13px;font-weight:500;flex:1}.dtl-nav .wp-block-navigation__container{gap:26px;flex-wrap:nowrap}.dtl-nav .wp-block-navigation-item__content{color:#ddd}.dtl-nav .current-menu-item>a{color:var(--dtl-gold)}.dtl-header .wp-block-button__link{font-size:12px;padding:14px 20px;line-height:1.35}.dtl-header-phones .wp-block-buttons{flex-wrap:nowrap;gap:12px}.dtl-header-phones .wp-block-button__link{min-width:130px}.dtl-header-inner>.wp-block-buttons{flex-shrink:0}.wp-block-button__link{border-radius:0;background:linear-gradient(110deg,#ffa541,var(--dtl-gold),#f68718);transition:filter .2s}.wp-block-button__link:hover{color:#092b47;filter:brightness(1.12)}.is-style-outline .wp-block-button__link{background:transparent;border:1px solid #ffffff40;color:#ffffff}.is-style-outline .wp-block-button__link:hover{border-color:var(--dtl-gold);color:var(--dtl-gold)}.wp-block-buttons{gap:16px}.dtl-hero{padding:170px max(24px,calc((100% - 1216px)/2)) 64px;align-items:flex-end}.dtl-hero .wp-block-cover__background{background:linear-gradient(180deg,#092b4744,#092b47a6 55%,#092b47)!important;opacity:1!important}.dtl-hero h1{max-width:900px;margin:24px 0 32px;line-height:1.04;letter-spacing:-.025em}.dtl-hero .wp-block-cover__inner-container{width:100%}.dtl-home-hero{align-items:center;padding-top:220px;padding-bottom:40px}.dtl-home-hero .wp-block-cover__background{background:linear-gradient(180deg,#092b4740,#092b4780 48%,#092b47fa)!important}.dtl-intro{max-width:580px;font-size:16px;line-height:1.8;color:#d6e4ef;margin:34px 0}.dtl-home-hero .wp-block-buttons{margin-top:34px}.dtl-stats{margin-top:64px;padding-top:30px;border-top:1px solid #ffffff20}.dtl-stats .wp-block-columns{gap:24px;margin:0}.dtl-stats h3{font-size:36px;color:var(--dtl-gold);margin:0}.dtl-stats .dtl-eyebrow{font-size:10px;color:#bfd0df;margin:0}.dtl-marquee{background:var(--dtl-gold);overflow:hidden;padding:18px 0;margin:0}.dtl-marquee-text{color:#092b47;white-space:nowrap;font-size:14px;font-weight:600;letter-spacing:.07em;margin:0;text-align:center}.dtl-services-grid{gap:20px!important;margin-top:48px}.dtl-service-card{height:100%;padding:32px 26px;background:#124363;border:1px solid var(--dtl-line);transition:transform .2s,border-color .2s}.dtl-service-card:hover{transform:translateY(-4px);border-color:var(--dtl-gold)}.dtl-service-card h3{font-size:23px;min-height:56px}.dtl-service-card p{font-size:13px;line-height:1.9}.dtl-service-card>p:last-child{color:var(--dtl-gold);font-size:11px;letter-spacing:.1em}.dtl-values{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.dtl-value{padding:20px 0;border-top:1px solid var(--dtl-line);margin:0!important}.dtl-value h3{font-size:23px}.dtl-value p{font-size:14px}.dtl-cta{text-align:center;background:radial-gradient(ellipse at top,#1c5c9166,transparent 75%),#103957;border-block:1px solid var(--dtl-line)}.dtl-cta>h2{margin-inline:auto}.dtl-cta>p:not(.dtl-eyebrow){max-width:680px;margin-inline:auto}.dtl-cta .wp-block-buttons{justify-content:center;margin-top:30px}.dtl-panel{border:1px solid var(--dtl-line);background:#124363;padding:28px;margin-top:24px}.dtl-monogram{background:#16476b;color:var(--dtl-gold);width:70px;height:70px;display:flex;align-items:center;justify-content:center}.dtl-service-detail .wp-block-columns{align-items:center;gap:64px}.dtl-service-detail img{aspect-ratio:4/3}.dtl-service-detail ul,.dtl-step ul{padding-left:20px;color:#bfd0df}.dtl-service-detail li,.dtl-step li{padding:5px 0}.dtl-service-detail li::marker,.dtl-step li::marker{color:var(--dtl-gold)}.dtl-step{border-top:1px solid var(--dtl-line);padding:40px 0;margin:0}.dtl-step .wp-block-column:first-child{flex-basis:15%;flex-grow:0}.dtl-step-num{font-size:76px!important;color:var(--dtl-gold);opacity:.5;margin:0}.dtl-note{font-size:12px;text-align:center;font-style:italic;margin-top:32px}.dtl-footer{background:#07233b}.dtl-footer-columns{padding-top:70px;padding-bottom:50px}.dtl-footer-columns .wp-block-columns{gap:36px}.dtl-footer p{font-size:12px}.dtl-footer .dtl-eyebrow{font-size:11px;color:var(--dtl-gold)}.dtl-footer .dtl-brand-name{font-size:16px}.dtl-footer .dtl-brand-tagline{font-size:9px}.dtl-footer .dtl-logo-mark{font-size:19px}.dtl-footer-columns .wp-block-column:first-child{flex-grow:1.35}.dtl-copyright{border-top:1px solid #ffffff12;margin:0;padding:18px 24px;text-align:center}.dtl-footer>.wp-block-buttons{position:fixed;right:24px;bottom:24px;z-index:30;margin:0}.dtl-footer>.wp-block-buttons .wp-block-button__link{width:56px;height:56px;border-radius:50%;padding:8px;font-size:27px;box-shadow:0 0 24px #f6871850}.dtl-article{padding-top:165px}.dtl-article>h1{max-width:1000px;font-size:clamp(36px,4.5vw,60px)}.dtl-article>.wp-block-post-featured-image{max-width:1216px;margin:40px auto}.dtl-article>.wp-block-post-featured-image img{max-height:650px;object-fit:cover;width:100%}.dtl-article .wp-block-post-content{max-width:820px;margin:auto}.dtl-article .wp-block-post-content h2{font-size:32px;margin-top:42px}.dtl-article blockquote{border-left:3px solid var(--dtl-gold);padding:10px 28px;font-style:italic}.dtl-article>.wp-block-post-date{color:var(--dtl-muted);font-size:13px}
/* Site Editor uses the same typography and components, but keeps all blocks reachable. */
.editor-styles-wrapper .dtl-header{position:relative;top:auto}.editor-styles-wrapper .dtl-section{padding:64px 32px}.editor-styles-wrapper .dtl-section-link{position:static}.editor-styles-wrapper .dtl-footer>.wp-block-buttons{position:static}.editor-styles-wrapper .dtl-header-phones{display:none}.editor-styles-wrapper .dtl-home-hero{padding-top:100px}.editor-styles-wrapper .dtl-service-card{height:auto}
@media(min-width:1440px){.dtl-header-inner{gap:28px}}
@media(max-width:1350px){.dtl-header-phones{display:none}.dtl-nav .wp-block-navigation__container{gap:24px}}
@media(max-width:1000px){.dtl-services-grid{flex-wrap:wrap!important}.dtl-services-grid>.wp-block-column{flex-basis:calc(50% - 20px)!important}.dtl-section-link{position:static;margin-bottom:30px}.dtl-section{padding:64px 28px}.dtl-header{padding-inline:28px}.dtl-section .wp-block-columns{gap:28px}.dtl-header-inner{gap:16px}.dtl-nav .wp-block-navigation__container{gap:15px}.dtl-header-inner>.wp-block-buttons{display:none}.dtl-hero{padding-inline:28px}.dtl-home-hero{min-height:800px!important;padding-top:180px}}
@media(max-width:781px){.dtl-section{padding:56px 22px}.dtl-header{padding:18px 22px}.dtl-hero{padding:145px 22px 50px;min-height:440px!important}.dtl-home-hero{padding-top:165px;min-height:820px!important}.dtl-hero h1{font-size:clamp(40px,8.8vw,62px)}.dtl-intro{font-size:14px}.dtl-stats .wp-block-columns{display:grid;grid-template-columns:1fr 1fr}.dtl-stats{margin-top:40px}.dtl-stats h3{font-size:30px}.dtl-stats .wp-block-column{margin:0!important}.dtl-service-detail .wp-block-columns{gap:24px}.dtl-footer-columns .wp-block-columns{display:grid;grid-template-columns:1fr 1fr}.dtl-section .wp-block-columns{margin-bottom:0}.dtl-article{padding-top:130px}.dtl-services-grid>.wp-block-column{flex-basis:100%!important}.dtl-nav .wp-block-navigation__responsive-container.is-menu-open{background:#092b47;color:#fff;padding:32px}.dtl-nav .is-menu-open .wp-block-navigation__container{gap:24px;font-size:20px}.dtl-nav .wp-block-navigation__responsive-container-open{display:flex}.dtl-nav .wp-block-navigation__responsive-container:not(.is-menu-open){display:none}.dtl-footer>.wp-block-buttons{right:16px;bottom:16px}.dtl-values{gap:20px}.dtl-value h3{font-size:21px}}
@media(max-width:480px){.dtl-footer-columns .wp-block-columns{grid-template-columns:1fr}.dtl-values{grid-template-columns:1fr}.dtl-home-hero .wp-block-buttons{flex-direction:column;align-items:stretch}.dtl-home-hero .wp-block-button__link{width:100%}.dtl-brand{min-width:200px}.dtl-stats .dtl-eyebrow{letter-spacing:.08em}.dtl-service-card{padding:24px}.dtl-step-num{font-size:54px!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Company identity: original blue/orange logo on white. */
.dtl-company-logo{width:68px;min-width:68px;margin:0!important;line-height:0;background:#fff;border-radius:4px;overflow:hidden}.dtl-company-logo img{display:block;width:68px;height:68px;object-fit:contain}.dtl-brand{gap:12px!important}.dtl-header{background:linear-gradient(180deg,#092b47ed,#092b4770,transparent)}.dtl-brand-tagline{color:#f68718}.dtl-logo-mark{display:none}.dtl-home-hero h1 em{color:#ff9b35}.dtl-company-logo a{display:block}@media(max-width:480px){.dtl-company-logo,.dtl-company-logo img{width:56px;min-width:56px;height:56px}.dtl-brand-name{font-size:15px}.dtl-brand{min-width:210px}}

/* DTL glass interaction layer. Solid fallbacks remain readable without backdrop-filter. */
:root{--dtl-glass:rgba(15,52,80,.86);--dtl-glass-line:rgba(255,255,255,.27);--dtl-ease:cubic-bezier(.2,.8,.2,1)}
.dtl-header{padding-top:14px;background:transparent}
.dtl-header-inner{padding:12px 18px;border:1px solid var(--dtl-glass-line);border-radius:30px;background:var(--dtl-glass);box-shadow:inset 0 1px 0 #ffffff30,0 12px 36px #00182933;gap:20px}
.dtl-company-logo{border-radius:18px}
.dtl-nav .wp-block-navigation__container{gap:4px}
.dtl-nav .wp-block-navigation-item__content{display:flex;align-items:center;min-height:44px;padding:9px 12px;border-radius:999px;transition:background .25s,color .25s,box-shadow .25s}
.dtl-nav .current-menu-item>.wp-block-navigation-item__content{background:#ffffff14;color:#ffae59;box-shadow:inset 0 1px 0 #ffffff18}
.wp-block-button__link,.dtl-contact button,.dtl-dialog-cta,.dtl-filters a,.dtl-pagination a,.dtl-dialog-close,.dtl-nav .wp-block-navigation__responsive-container-open,.dtl-nav .wp-block-navigation__responsive-container-close{
 position:relative;border-radius:999px;border:1px solid #ffffff40;min-height:44px;isolation:isolate;
 box-shadow:inset 0 1px 1px #ffffff65,inset 0 -1px 1px #00000015,0 5px 16px #00182926;
 transition:transform .28s var(--dtl-ease),box-shadow .28s var(--dtl-ease),background .28s,color .2s;transform:translateZ(0);-webkit-tap-highlight-color:transparent;
}
.wp-block-button__link,.dtl-contact button,.dtl-dialog-cta{background:linear-gradient(160deg,#ffc16d 0%,#ffa03c 38%,#f68718 100%);color:#092b47;font-weight:650}
.is-style-outline .wp-block-button__link,.dtl-filters a,.dtl-pagination a{background:var(--dtl-glass);color:#fff;border-color:var(--dtl-glass-line)}
.dtl-filters .is-active,.dtl-pagination [aria-current=page]{background:linear-gradient(160deg,#ffc16d,#f68718);color:#092b47;border-color:#ffffff60}
.dtl-header .wp-block-button__link{white-space:nowrap;padding:12px 18px}
.dtl-service-card,.dtl-panel{border-radius:28px;background:linear-gradient(145deg,#ffffff0e,#ffffff03),#103957;border-color:#ffffff20;box-shadow:inset 0 1px 0 #ffffff12;transition:transform .35s var(--dtl-ease),box-shadow .35s,border-color .3s}
.dtl-card-link{border-radius:24px;overflow:hidden;transition:transform .35s var(--dtl-ease),box-shadow .35s}
.dtl-news-grid .dtl-card-link{background:#ffffff05;border:1px solid #ffffff12}
.dtl-news-grid .dtl-card-body{padding:22px}
.dtl-card-link>img{border-radius:24px 24px 0 0}
.dtl-project-grid .dtl-card-link>img{border-radius:24px}
.dtl-project-grid .dtl-card-label{border-radius:999px;padding:6px 12px;background:#0b2d48cf;border-color:#ffffff38;box-shadow:inset 0 1px 0 #ffffff18}
.dtl-project-dialog{border-radius:32px;background:#103957ed;border-color:#ffffff45;box-shadow:inset 0 1px 0 #ffffff55,0 30px 90px #00132180}
.dtl-dialog-close{display:grid;place-items:center;min-width:44px;background:#092b47d9;z-index:2}
.dtl-contact input:not([type=checkbox]),.dtl-contact select,.dtl-contact textarea{border-radius:16px;background:#092b47b3;box-shadow:inset 0 1px 3px #00182930;transition:border-color .2s,box-shadow .2s}
.dtl-contact input:focus,.dtl-contact select:focus,.dtl-contact textarea:focus{border-color:#ffac54;box-shadow:0 0 0 3px #f687182b}
.dtl-contact button:disabled{cursor:default;opacity:.65;transform:none;filter:none}
.dtl-nav .wp-block-navigation__responsive-container-open,.dtl-nav .wp-block-navigation__responsive-container-close{padding:10px;background:#ffffff18;color:#fff;min-width:44px}
.dtl-footer>.wp-block-buttons .wp-block-button__link{box-shadow:inset 0 2px 2px #ffffff70,0 8px 25px #00182965;border:1px solid #ffffff60}
@supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
 .dtl-header-inner,.is-style-outline .wp-block-button__link,.dtl-filters a,.dtl-pagination a,.dtl-dialog-close{background-color:#123d5c73;-webkit-backdrop-filter:blur(22px) saturate(155%);backdrop-filter:blur(22px) saturate(155%)}
 .dtl-header-inner{background:linear-gradient(135deg,#ffffff16,#ffffff05),#092b477a}
 .is-style-outline .wp-block-button__link{background:#163b557a}
 .dtl-project-dialog{-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px)}
}
@media(hover:hover) and (pointer:fine){
 .wp-block-button__link:hover,.dtl-contact button:not(:disabled):hover,.dtl-dialog-cta:hover,.dtl-filters a:hover,.dtl-pagination a:hover{transform:translateY(-3px) scale(1.015);filter:none;box-shadow:inset 0 1px 2px #ffffffa6,0 10px 25px #00182955,0 0 0 1px #ffffff24}
 .is-style-outline .wp-block-button__link:hover{background:#ffffff25;color:white;border-color:#ffffff80}
 .dtl-nav .wp-block-navigation-item__content:hover{background:#ffffff20;color:#fff;box-shadow:inset 0 1px 0 #ffffff28}
 .dtl-service-card:hover{transform:translateY(-6px);border-color:#ffffff48;box-shadow:inset 0 1px 0 #ffffff35,0 18px 40px #00182938}
 .dtl-card-link:hover{transform:translateY(-5px);box-shadow:0 18px 40px #00182955}
 .dtl-dialog-close:hover{background:#315976;transform:scale(1.07)}
}
.wp-block-button__link:active,.dtl-dialog-cta:active,.dtl-filters a:active,.dtl-pagination a:active,.dtl-contact button:not(:disabled):active,.dtl-card-link:active{transform:scale(.97);transition-duration:.1s}
a:focus-visible,button:focus-visible{outline:3px solid #ffd3a1;outline-offset:4px}
@media(max-width:1350px){.dtl-nav .wp-block-navigation__container{gap:0}.dtl-nav .wp-block-navigation-item__content{padding-inline:9px}}
@media(max-width:1000px){.dtl-header-inner{gap:12px;padding:10px 14px}.dtl-nav .wp-block-navigation-item__content{padding-inline:7px}}
@media(max-width:781px){.dtl-header{padding:12px 16px}.dtl-header-inner{border-radius:26px;justify-content:space-between}.dtl-nav{flex:0}.dtl-nav .wp-block-navigation__responsive-container.is-menu-open{position:fixed;inset:12px;border-radius:28px;padding:30px;background:#0c304cf5;color:#fff;border:1px solid #ffffff40;box-shadow:0 20px 60px #00182980;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}.dtl-nav .is-menu-open .wp-block-navigation-item__content{padding:10px 20px}.dtl-nav .is-menu-open .wp-block-navigation__container{gap:8px}.dtl-project-dialog{border-radius:24px}.dtl-service-card{border-radius:24px}}
@media(prefers-reduced-motion:reduce){.wp-block-button__link,.dtl-card-link,.dtl-service-card,.dtl-dialog-close,.dtl-contact button,.dtl-dialog-cta,.dtl-filters a,.dtl-pagination a{transition:none!important;transform:none!important}.dtl-card-link>img{transform:none!important}}
@media(prefers-reduced-transparency:reduce){.dtl-header-inner,.is-style-outline .wp-block-button__link,.dtl-filters a,.dtl-pagination a,.dtl-project-dialog{backdrop-filter:none;-webkit-backdrop-filter:none;background-color:#103957}}
@media(forced-colors:active){.wp-block-button__link,.dtl-filters a,.dtl-pagination a,.dtl-header-inner,.dtl-service-card{border:1px solid ButtonText;box-shadow:none}}

@media(max-width:781px){.dtl-header-inner:has(.is-menu-open){backdrop-filter:none;-webkit-backdrop-filter:none}.dtl-nav .wp-block-navigation__responsive-container.is-menu-open{background:#0c304cf5!important;color:#fff!important;z-index:100000}.dtl-nav .is-menu-open .wp-block-navigation-item__content{color:#fff!important}}
.dtl-header:has(.is-menu-open){z-index:100}
