/*
Theme Name: AP Build
Theme URI: https://example.com/
Author: AP Build
Description: Giao diện website xây dựng nhiều trang, quản trị được dịch vụ, mẫu nhà, công trình, bài viết, ảnh và video.
Version: 1.3.1
Requires at least: 6.2
Tested up to: 6.8
Requires PHP: 7.4
Text Domain: apbuild
*/

:root{--ink:#142333;--navy:#10283a;--muted:#63717d;--paper:#f7f5f0;--white:#fff;--line:#e5e7e7;--accent:#b9512d;--accent-dark:#963d20;--green:#50684e;--radius:16px;--shadow:0 14px 38px rgba(19,37,49,.1)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font-family:Inter,"Segoe UI",Arial,sans-serif;font-size:16px;line-height:1.65}img{max-width:100%;height:auto}a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}button,input,textarea,select{font:inherit}.wrap{width:min(1160px,calc(100% - 48px));margin-inline:auto}.section{padding:84px 0}.section--paper{background:var(--paper)}.section--navy{background:var(--navy);color:#fff}.section-heading{max-width:720px;margin:0 auto 38px;text-align:center}.section-heading h2,.about-copy h2,.contact-copy h2{margin:5px 0 12px;font-size:clamp(29px,4vw,42px);line-height:1.16;letter-spacing:-.035em}.section-heading p{color:var(--muted);margin:8px 0}.section--navy .section-heading p{color:#c8d2d9}.eyebrow{margin:0 0 10px;color:var(--accent);font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.site-header{position:relative;z-index:20;background:#fff;border-bottom:1px solid rgba(20,35,51,.08)}.header-row{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:26px}.brand{display:inline-flex;align-items:center;gap:10px;font-size:21px;font-weight:900;letter-spacing:.045em;white-space:nowrap}.brand:hover{color:var(--ink)}.brand-mark{display:grid;width:40px;height:40px;place-items:center;border-radius:12px;background:var(--navy);color:#fff;font-size:25px}.brand-logo{max-height:48px;width:auto}.primary-nav{margin-left:auto}.primary-nav ul,.footer-links ul{display:flex;align-items:center;gap:24px;margin:0;padding:0;list-style:none}.primary-nav a{font-size:14px;font-weight:650}.header-contact{display:flex;align-items:center;gap:18px}.header-phone{font-weight:750;white-space:nowrap}.apb-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:11px 19px;border:1px solid var(--accent);border-radius:7px;background:var(--accent);color:#fff;font-weight:750;line-height:1.2;transition:.2s}.apb-button:hover{background:var(--accent-dark);border-color:var(--accent-dark);color:#fff;transform:translateY(-1px)}.apb-button--outline{background:transparent;color:var(--accent)}.apb-button--outline:hover{color:#fff}.apb-link{display:inline-flex;align-items:center;gap:7px;color:var(--accent);font-weight:750}.menu-toggle{display:none;border:0;background:none;color:var(--ink);font-size:25px;cursor:pointer}
.hero{position:relative;isolation:isolate;display:flex;min-height:600px;align-items:center;overflow:hidden;background:#e8e6df}.hero:after{position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(247,245,240,.98) 0%,rgba(247,245,240,.94) 38%,rgba(247,245,240,.60) 58%,rgba(247,245,240,.04) 100%);content:""}.hero-image{position:absolute;z-index:-2;inset:0 0 0 auto;width:74%;height:100%;object-fit:cover;object-position:center}.hero-content{max-width:600px;padding:72px 0}.hero h1{max-width:620px;margin:8px 0 18px;font-size:clamp(42px,6vw,70px);line-height:1.03;letter-spacing:-.055em}.hero-content>p:not(.eyebrow){max-width:510px;color:#46535c;font-size:18px}.hero-links{display:flex;align-items:center;gap:22px;margin-top:26px}.hero-note{font-size:13px!important;color:var(--muted)!important;margin-top:22px}.apb-link:hover{text-decoration:underline}.quick-facts{display:grid;grid-template-columns:repeat(3,1fr);margin-top:38px;border-top:1px solid var(--line)}.quick-facts div{padding:18px 14px 0 0}.quick-facts div+div{padding-left:18px;border-left:1px solid var(--line)}
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.card{overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:0 8px 24px rgba(20,35,51,.045)}.card-image{display:block;height:235px;overflow:hidden;background:#e8e8e3}.card-image img,.about-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s}.card:hover .card-image img{transform:scale(1.035)}.card-body{padding:23px}.card-body h3{margin:5px 0 8px;font-size:21px;line-height:1.25}.card-body p{margin:0 0 17px;color:var(--muted)}.service-icon{color:var(--accent);font-size:22px}.image-note{display:inline-block;padding:4px 9px;border-radius:99px;background:#f3eee8;color:#79543e;font-size:12px;font-weight:700}.about-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:64px}.about-copy{max-width:520px}.about-copy p:not(.eyebrow){color:var(--muted)}.about-image{height:390px;overflow:hidden;border-radius:var(--radius);background:#e9e6df;box-shadow:var(--shadow)}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;counter-reset:step}.process-step{position:relative;padding:62px 20px 8px 0;border-top:1px solid var(--line);counter-increment:step}.process-step:before{position:absolute;top:16px;left:0;color:var(--accent);font-size:13px;font-weight:900;letter-spacing:.1em;content:"0" counter(step)}.process-step h3{margin:0 0 8px;font-size:18px}.process-step p{margin:0;color:var(--muted);font-size:14px}
.project-card{position:relative;display:block;min-height:330px;overflow:hidden;border-radius:var(--radius);background:#263b48;color:#fff}.project-card>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .35s}.project-card:after{position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(8,20,29,.84));content:""}.project-card:hover{color:#fff}.project-card:hover>img{transform:scale(1.04)}.project-caption{position:absolute;z-index:1;right:22px;bottom:20px;left:22px}.project-caption h3{margin:0 0 4px;font-size:21px}.project-caption p{margin:0;color:#e0e5e8;font-size:14px}.section--navy .apb-button--outline{border-color:#fff;color:#fff}.section--navy .apb-button--outline:hover{background:#fff;color:var(--navy)}.news-meta,.entry-meta{color:var(--muted);font-size:13px}.faq-list{max-width:820px;margin:auto}.faq-item{padding:18px 2px;border-bottom:1px solid var(--line)}.faq-item summary{font-weight:750;cursor:pointer}.faq-answer{padding-top:10px;color:var(--muted)}
.contact-band{background:#eeeae1}.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:start}.contact-copy>p:not(.eyebrow){color:var(--muted)}.contact-ways{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.contact-way{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border:1px solid #d8d2c8;border-radius:7px;background:#fff;font-weight:700}.apb-form{padding:26px;border:1px solid #e0ddd6;border-radius:var(--radius);background:#fff;box-shadow:var(--shadow)}.apb-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.apb-form-grid .full{grid-column:1/-1}.apb-form label{display:block;margin-bottom:6px;font-size:13px;font-weight:750}.apb-form input,.apb-form textarea,.apb-form select{width:100%;padding:12px;border:1px solid #d8dcde;border-radius:6px;background:#fff}.apb-form textarea{min-height:120px;resize:vertical}.apb-form input:focus,.apb-form textarea:focus{outline:2px solid rgba(185,81,45,.24);border-color:var(--accent)}
.site-footer{padding:58px 0 20px;background:#0d2231;color:#e5ebef}.site-footer .brand{color:#fff}.site-footer .brand-mark{background:var(--accent)}.site-footer p{color:#bbc7ce}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:56px;padding-bottom:36px}.footer-grid h3{margin:5px 0 15px;color:#fff;font-size:15px}.footer-links ul{display:grid;align-items:start;gap:8px}.footer-grid a:hover{color:#fff;text-decoration:underline}.footer-bottom{display:flex;justify-content:space-between;gap:18px;padding-top:18px;border-top:1px solid rgba(255,255,255,.15);color:#9cabb4;font-size:12px}.floating-actions{position:fixed;z-index:100;right:22px;bottom:22px;display:grid;gap:10px}.floating-actions a{display:flex;align-items:center;justify-content:flex-start;gap:10px;width:148px;min-height:48px;padding:0 15px;border-radius:28px;background:#0866ff;color:#fff;font-size:14px;font-weight:750;line-height:1;box-shadow:0 8px 24px rgba(13,35,49,.22);transition:transform .18s,box-shadow .18s}.floating-actions a:hover{color:#fff;transform:translateY(-2px);box-shadow:0 12px 28px rgba(13,35,49,.3)}.floating-actions a:focus-visible{outline:3px solid #142333;outline-offset:3px}.floating-actions a svg{width:21px;height:21px;flex:0 0 21px}.floating-actions .zalo{background:#0068ff}.floating-actions .direct-message{background:var(--accent)}.floating-actions .phone-action{background:#16834d}.floating-actions .zalo-mark{display:grid;width:24px;height:24px;place-items:center;border:2px solid currentColor;border-radius:7px;font-size:10px;font-weight:900;letter-spacing:-.08em}
.apb-home-video-frame{width:min(100%,1000px);aspect-ratio:16/9;margin:0 auto;overflow:hidden;border-radius:14px;background:#0d2231;box-shadow:0 14px 38px rgba(19,37,49,.12)}.apb-home-video-frame iframe{display:block;width:100%;height:100%;border:0}
.page-hero{padding:56px 0 50px;background:var(--paper)}.page-hero h1{max-width:850px;margin:8px 0 0;font-size:clamp(34px,5vw,52px);line-height:1.1;letter-spacing:-.04em}.breadcrumbs{margin-bottom:18px;color:var(--muted);font-size:13px}.archive-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}.archive-toolbar p{font-weight:750}.search-form{display:flex;gap:8px}.search-field{max-width:260px;padding:10px;border:1px solid var(--line);border-radius:6px}.pagination{display:flex;justify-content:center;gap:12px;margin-top:36px}.pagination .page-numbers{padding:8px 12px;border:1px solid var(--line);border-radius:5px}.pagination .current{background:var(--navy);color:#fff}.content-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(250px,.8fr);gap:48px}.entry-content{min-width:0}.entry-content p{margin:0 0 1.25em}.entry-content h2,.entry-content h3{line-height:1.25}.entry-content img{border-radius:12px}.entry-featured{margin:0 0 28px}.entry-featured img{display:block;width:100%;height:auto}.entry-video{margin:22px 0}.entry-video iframe,.entry-video video{max-width:100%;border-radius:12px}.not-found{padding:45px;border-radius:var(--radius);background:var(--paper)}
@media(max-width:980px){.wrap{width:min(100% - 36px,760px)}.header-row{min-height:74px}.primary-nav{display:none;position:absolute;top:74px;right:0;left:0;padding:20px 24px;background:#fff;border-bottom:1px solid var(--line);box-shadow:var(--shadow)}.primary-nav.is-open{display:block}.primary-nav ul{display:grid;gap:14px}.menu-toggle{display:block}.header-phone{display:none}.hero{min-height:540px}.hero-image{width:78%;opacity:.82}.hero-content{max-width:520px}.cards{gap:16px}.card-body{padding:18px}.card-image{height:205px}.footer-grid{gap:28px}}
@media(max-width:700px){.wrap{width:min(100% - 30px,560px)}.section{padding:58px 0}.header-row{min-height:68px;gap:10px}.primary-nav{top:68px}.brand{font-size:18px}.brand-mark{width:36px;height:36px}.header-contact .apb-button{min-height:40px;padding:9px 11px;font-size:12px}.hero{min-height:650px;align-items:flex-start;background:#f7f5f0}.hero:after{background:linear-gradient(180deg,#f7f5f0 0%,rgba(247,245,240,.98) 38%,rgba(247,245,240,.08) 75%)}.hero-image{inset:auto 0 0;width:100%;height:58%;opacity:1;object-position:center}.hero-content{padding:54px 0 0}.hero h1{font-size:43px}.hero-content>p:not(.eyebrow){font-size:16px}.hero-links{align-items:flex-start;flex-direction:column;gap:13px}.quick-facts{grid-template-columns:1fr}.quick-facts div{padding:13px 0}.quick-facts div+div{padding-left:0;border-left:0;border-top:1px solid var(--line)}.cards{grid-template-columns:1fr}.card-image{height:235px}.process-grid{grid-template-columns:1fr 1fr;gap:22px 17px}.process-step{padding-right:0}.about-grid,.contact-grid,.content-layout{grid-template-columns:1fr;gap:26px}.about-grid .about-image{order:2;height:290px}.contact-grid{gap:25px}.apb-form{padding:20px}.apb-form-grid{grid-template-columns:1fr}.apb-form-grid .full{grid-column:auto}.footer-grid{grid-template-columns:1fr 1fr;gap:25px}.footer-grid>div:first-child{grid-column:1/-1}.footer-bottom{display:grid}.archive-toolbar{align-items:flex-start;flex-direction:column}.floating-actions{right:12px;bottom:14px;gap:9px}.floating-actions a{justify-content:center;width:48px;min-height:48px;padding:0;border-radius:50%}.floating-actions .floating-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.floating-actions a svg{width:22px;height:22px}.page-hero{padding:42px 0}.project-card{min-height:300px}}

/* Contact form markup is supplied by AP Build Core. */
.apb-contact-form{position:relative;padding:26px;border:1px solid #e0ddd6;border-radius:var(--radius);background:#fff;box-shadow:var(--shadow)}
.apb-contact-form .apb-honeypot{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.apb-contact-form .apb-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 16px}
.apb-contact-form .apb-form-grid>label{display:grid;align-content:start;gap:7px;margin:0;color:var(--ink);font-size:14px;font-weight:700;line-height:1.45}
.apb-contact-form .apb-form-grid>label.full{grid-column:1/-1}
.apb-contact-form input,.apb-contact-form textarea{display:block;width:100%;min-width:0;min-height:48px;padding:11px 13px;border:1px solid #cfd5d8;border-radius:7px;background:#fff;color:var(--ink);font:inherit;font-size:15px;line-height:1.45;box-shadow:0 1px 2px rgba(20,35,51,.04)}
.apb-contact-form textarea{min-height:132px;resize:vertical}
.apb-contact-form input::placeholder,.apb-contact-form textarea::placeholder{color:#7d8990;opacity:1}
.apb-contact-form input:focus,.apb-contact-form textarea:focus{outline:3px solid rgba(185,81,45,.17);border-color:var(--accent)}
.apb-contact-form .apb-button{margin-top:18px;cursor:pointer}
.apb-contact-form .apb-form-small{margin:14px 0 0;color:var(--muted);font-size:13px}
.apb-form-notice{padding:13px 16px;border-radius:8px;font-weight:650}
.apb-form-notice.success{border:1px solid #b6d9c4;background:#eff8f2;color:#205d38}
.apb-form-notice.error{border:1px solid #edc4b9;background:#fff4f0;color:#8e351c}
@media(max-width:700px){.apb-contact-form{padding:20px}.apb-contact-form .apb-form-grid{grid-template-columns:1fr;gap:15px}.apb-contact-form .apb-form-grid>label.full{grid-column:auto}.apb-contact-form textarea{min-height:120px}}
