/*
Theme Name: D Plus Home
Theme URI: https://dplushome.vn
Author: D Plus Home
Author URI: https://dplushome.vn
Description: Theme WordPress cho cong ty xay dung - thiet ke - noi that - sua chua. Toi uu toc do, SEO, co CPT Du an, quy trinh, form tu van. Tong xanh duong chuyen nghiep.
Version: 1.0.11
Requires at least: 5.9
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: dplushome
*/
:root {
  /* Nen xanh giay than dam (toi hon #102A4C ~58%) */ --dph-bg:#0A192F;
  --dph-bg-alt:#0D2039;
  /* section xen ke */ --dph-bg-card:#102542;
  /* card noi tren nen */ --dph-bg-soft:#061120;
  /* vung lot (input, chip) */ --dph-bg-dark:#050D18;
  /* header/footer/page-hero */ --dph-bg-deep:#050D18;
  /* Chu */ --dph-ink:#F2F6FF;
  --dph-body:#D5E0F0;
  --dph-muted:#93A8C6;
  /* Vang anh kim: 3 diem dung = 3 stop cua gradient */ --dph-gold-soft:#F1E075;
  --dph-gold:#CFB05B;
  --dph-gold-deep:#AE7F41;
  --dph-gold-grad:linear-gradient(to right,#F1E075 0%,#AE7F41 100%);
  --dph-gold-grad-hover:linear-gradient(to right,#D9C55F 0%,#8F6732 100%);
  --dph-on-gold:#0A192F;
  /* chu dat tren nen vang */ --dph-gold-line:rgba(207,176,91,.24);
  --dph-gold-tint:rgba(207,176,91,.12);
  --dph-primary:#CFB05B;
  --dph-primary-dark:#AE7F41;
  --dph-primary-light:#F1E075;
  --dph-accent:#CFB05B;
  --dph-line:rgba(207,176,91,.24);
  --dph-radius:14px;
  --dph-radius-sm:8px;
  --dph-shadow:0 12px 34px rgba(0,0,0,.50);
  --dph-shadow-sm:0 6px 18px rgba(0,0,0,.40);
  --dph-wrap:1200px;
  --dph-font:"Be Vietnam Pro",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  --dph-h:"Be Vietnam Pro",sans-serif;
}

*,*::before,*::after {
  box-sizing:border-box;
}
html {
  scroll-behavior:smooth;
}
body {
  margin:0;
  font-family:var(--dph-font);
  color:var(--dph-body);
  font-size:16px;
  line-height:1.7;
  background:var(--dph-bg);
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4,h5,h6 {
  font-family:var(--dph-h);
  color:var(--dph-gold);
  line-height:1.25;
  margin:0 0 .5em;
  font-weight:700;
}
h1 {
  font-size:2.4rem;
}
h2 {
  font-size:1.9rem;
}
h3 {
  font-size:1.3rem;
}
p {
  margin:0 0 1em;
}
a {
  color:var(--dph-primary);
  text-decoration:none;
  transition:color .2s;
}
a:hover {
  color:var(--dph-primary-dark);
}
img {
  max-width:100%;
  height:auto;
  display:block;
}
ul {
  margin:0 0 1em;
  padding-left:1.2em;
}
.wrap {
  max-width:var(--dph-wrap);
  margin:0 auto;
  padding:0 20px;
}
.text-center {
  text-align:center;
}
.btn {
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:13px 28px;
  border-radius:50px;
  font-weight:600;
  font-size:.98rem;
  cursor:pointer;
  border:2px solid transparent;
  transition:.25s;
  line-height:1;
}
.btn-primary {
  background:var(--dph-gold-grad);
  color:var(--dph-on-gold);
  border-color:var(--dph-gold-deep);
}
.btn-primary:hover {
  background:var(--dph-gold-grad-hover);
  color:var(--dph-on-gold);
  border-color:var(--dph-primary-dark);
  transform:translateY(-2px);
}
.btn-accent {
  background:var(--dph-gold-grad);
  color:var(--dph-on-gold);
  border-color:var(--dph-gold-deep);
}
.btn-accent:hover {
  background:var(--dph-gold-grad-hover);
  color:var(--dph-on-gold);
  border-color:var(--dph-primary-dark);
  transform:translateY(-2px);
}
.btn-outline {
  border-color:#fff;
  color:#fff;
}
.btn-outline:hover {
  background:var(--dph-gold-grad);
  color:var(--dph-on-gold);
  border-color:var(--dph-gold-deep);
}
.btn-ghost {
  border-color:var(--dph-primary);
  color:var(--dph-primary);
}
.btn-ghost:hover {
  background:var(--dph-gold-grad);
  color:var(--dph-on-gold);
  border-color:var(--dph-gold-deep);
}
.section {
  padding:72px 0;
}
.section-soft {
  background:var(--dph-bg-alt);
}
.section-dark {
  background:var(--dph-bg-dark);
  color:var(--dph-body);
}
.section-dark h2,.section-dark h3 {
  color:#fff;
}
.eyebrow {
  display:block;
  color:var(--dph-primary);
  font-weight:700;
  letter-spacing:2px;
  text-transform:uppercase;
  font-size:.82rem;
  margin-bottom:10px;
}
.section-head {
  margin-bottom:44px;
}
.section-head h2 {
  position:relative;
  display:inline-block;
}
.section-head.center {
  text-align:center;
}
.section-head .lead {
  max-width:680px;
  margin:14px auto 0;
  color:var(--dph-body);
}
.divider {
  width:70px;
  height:4px;
  background:var(--dph-gold-grad);
  border-radius:4px;
  margin:14px 0;
}
.section-head.center .divider {
  margin:14px auto;
}
.topbar {
  background:var(--dph-bg-deep);
  color:var(--dph-muted);
  font-size:.86rem;
}
.topbar .wrap {
  display:flex;
  justify-content:space-between;
  align-items:center;
  min-height:40px;
  flex-wrap:wrap;
  gap:6px;
}
.topbar a {
  color:var(--dph-body);
}
.topbar a:hover {
  color:var(--dph-gold-soft);
}
.topbar .tb-left span {
  margin-right:18px;
  display:inline-flex;
  align-items:center;
  gap:6px;
}
.topbar .tb-left span .ti {
  font-size:1.05rem;
  flex:0 0 auto;
}
.topbar .tb-social a {
  margin-left:14px;
  display:inline-flex;
  align-items:center;
  font-size:1.05rem;
  line-height:1;
}
.site-header {
  position:sticky;
  top:0;
  z-index:900;
  background:var(--dph-bg-deep);
  border-bottom:1px solid var(--dph-gold-line);
  box-shadow:var(--dph-shadow-sm);
}
.admin-bar .site-header {
  top:32px;
}
@media (max-width:782px) {
  .admin-bar .site-header {
    top:46px;
  }
}
.site-header .wrap {
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:76px;
  padding:5px 20px;
  width:100%;
}
.main-nav-wrap {
  display:grid;
  grid-template-columns:1fr auto 1fr;
  grid-template-rows:1fr;
  align-items:center;
  gap:20px;
  width:100%;
}
.main-nav--left {
  grid-column:1;
  grid-row:1;
  justify-self:start;
  display:flex;
  align-items:center;
}
.main-nav-wrap .site-logo {
  grid-column:2;
  grid-row:1;
  justify-self:center;
  text-align:center;
  display:flex;
  justify-content:center;
  align-items:center;
  margin:0 auto;
}
.site-logo a {
  display:inline-flex;
  justify-content:center;
  align-items:center;
}
.main-nav--right {
  grid-column:3;
  grid-row:1;
  justify-self:end;
  display:flex;
  justify-content:flex-end;
  align-items:center;
}
.nav-toggle {
  display:none;
}
.site-logo-bar {
  display:none;
}
.site-logo img {
  max-height:82px;
  width:auto;
  display:block;
  margin:0 auto;
}
.site-logo .txt {
  font-size:1.4rem;
  font-weight:800;
  color:var(--dph-primary);
}
.site-logo .txt small {
  display:block;
  font-size:.62rem;
  font-weight:500;
  color:var(--dph-muted);
  letter-spacing:1px;
}
.main-nav ul {
  display:flex;
  gap:4px;
  list-style:none;
  margin:0;
  padding:0;
}
.main-nav a {
  display:block;
  padding:12px 16px;
  color:var(--dph-ink);
  font-weight:600;
  font-size:1.1rem;
  border-radius:8px;
}
.main-nav a:hover,.main-nav .current-menu-item>a {
  color:var(--dph-primary);
  background:var(--dph-bg-soft);
}
.main-nav li {
  position:relative;
}
.main-nav .sub-menu {
  position:absolute;
  top:100%;
  left:0;
  min-width:260px;
  background:var(--dph-bg-card);
  border:1px solid var(--dph-gold-line);
  box-shadow:var(--dph-shadow);
  border-radius:10px;
  padding:8px;
  display:none;
  list-style:none;
  z-index:50;
  white-space:nowrap;
}
.main-nav li:hover>.sub-menu {
  display:block;
}
.main-nav .sub-menu a {
  padding:10px 14px;
  font-weight:500;
}
.menu-item-has-children>a::after {
  content:"\ea5f";
  font-family:'tabler-icons';
  margin-left:5px;
  font-size:.85rem;
  color:var(--dph-muted);
}
.header-cta {
  display:flex;
  align-items:center;
  gap:14px;
}
.header-phone {
  display:flex;
  align-items:center;
  gap:10px;
  font-weight:700;
  color:var(--dph-primary);
}
.header-phone .ic {
  width:38px;
  height:38px;
  background:var(--dph-bg-soft);
  border-radius:50%;
  display:grid;
  place-items:center;
  color:var(--dph-primary);
}
.header-phone small {
  display:block;
  font-size:.68rem;
  color:var(--dph-muted);
  font-weight:500;
}
.nav-toggle {
  display:none;
  background:none;
  border:0;
  cursor:pointer;
  padding:8px;
  flex-direction:column;
  gap:5px;
}
.nav-toggle span {
  width:26px;
  height:3px;
  background:var(--dph-ink);
  border-radius:3px;
  transition:.3s;
}
.nav-toggle.open span:nth-child(1) {
  transform:translateY(8px) rotate(45deg);
}
.nav-toggle.open span:nth-child(2) {
  opacity:0;
}
.nav-toggle.open span:nth-child(3) {
  transform:translateY(-8px) rotate(-45deg);
}
.hero {
  position:relative;
  color:#fff;
  overflow:hidden;
}
.hero-slides {
  position:relative;
  min-height:min(88vh,720px);
  display:flex;
  align-items:stretch;
}
.hero-slide {
  position:absolute;
  inset:0;
  opacity:0;
  transition:opacity 1s ease;
  background-size:cover;
  background-position:center;
}
.hero-slide.active {
  opacity:1;
}
.hero-slide::after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(10,25,47,.92) 0%,rgba(10,25,47,.78) 55%,rgba(10,25,47,.60) 100%);
}
.hero-inner {
  position:relative;
  width:100%;
  display:flex;
  align-items:center;
  z-index:3;
  padding:50px 0 65px;
}
.hero-inner .wrap {
  width:100%;
}
.hero-grid {
  display:grid;
  grid-template-columns:1.15fr 0.95fr;
  gap:40px;
  align-items:center;
}
.hero-content {
  max-width:600px;
}
.hero-content .kicker {
  display:inline-block;
  background:var(--dph-gold-tint);
  color:var(--dph-gold-soft);
  border:1px solid rgba(207,176,91,.45);
  padding:6px 16px;
  border-radius:50px;
  font-weight:600;
  font-size:.85rem;
  margin-bottom:18px;
}
.hero-content h1 {
  color:#fff;
  font-size:clamp(2rem,4.5vw,3rem);
  margin-bottom:16px;
  text-shadow:0 2px 20px rgba(0,0,0,.3);
}
.hero-content p {
  font-size:1.12rem;
  color:#e2e9f5;
  margin-bottom:28px;
}
.hero-actions {
  display:flex;
  gap:14px;
  flex-wrap:wrap;
}

/* ============================================================
   BẢNG TÍNH CHI PHÍ XÂY NHÀ (HERO CALCULATOR CARD)
   ============================================================ */
.hero-calc-card {
  background:rgba(11, 26, 47, 0.94);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border:1.5px solid rgba(200, 162, 81, 0.45);
  border-radius:16px;
  padding:22px 24px;
  box-shadow:0 18px 45px rgba(0, 0, 0, 0.5);
  color:#fff;
  position:relative;
  transition:border-color .3s ease;
}
.hero-calc-card:hover {
  border-color:rgba(200, 162, 81, 0.75);
}
.hcc-head {
  text-align:center;
  margin-bottom:14px;
  border-bottom:1px solid rgba(255, 255, 255, 0.1);
  padding-bottom:12px;
}
.hcc-title {
  color:#fff;
  font-size:1.2rem;
  font-weight:800;
  letter-spacing:.5px;
  margin:2px 0 4px;
  text-transform:uppercase;
  background:linear-gradient(135deg, #fff 40%, #e8c67c 100%);
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
}
.hcc-sub {
  color:#b0c4de;
  font-size:.8rem;
  margin:0;
}
.hcc-inputs {
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:10px;
  margin-bottom:14px;
}
.hcc-field label {
  display:block;
  font-size:.76rem;
  font-weight:600;
  color:#d4e2f5;
  margin-bottom:4px;
  white-space:nowrap;
}
.hcc-field label .unit {
  font-size:.7rem;
  color:#94a3b8;
  font-weight:400;
}
.hcc-input-wrap {
  position:relative;
  display:flex;
  align-items:center;
}
.hcc-input-wrap input {
  width:100%;
  padding:8px 38px 8px 12px;
  background:rgba(255, 255, 255, 0.08);
  border:1px solid rgba(255, 255, 255, 0.22);
  border-radius:8px;
  color:#fff;
  font-size:.95rem;
  font-weight:700;
  text-align:left;
  outline:none;
  transition:all .2s ease;
  -moz-appearance:textfield;
}
.hcc-input-wrap input::-webkit-outer-spin-button,
.hcc-input-wrap input::-webkit-inner-spin-button {
  -webkit-appearance:none;
  margin:0;
}
.hcc-input-wrap input:focus {
  background:rgba(255, 255, 255, 0.14);
  border-color:var(--dph-gold);
  box-shadow:0 0 0 3px rgba(200, 162, 81, 0.25);
}
.hcc-input-wrap .input-suffix {
  position:absolute;
  right:10px;
  font-size:.74rem;
  color:#94a3b8;
  pointer-events:none;
  font-weight:600;
}

/* Ô NHẬP SĐT */
.hcc-phone-section {
  margin-bottom:14px;
  background:rgba(255, 255, 255, 0.04);
  border:1px dashed rgba(200, 162, 81, 0.35);
  border-radius:10px;
  padding:10px 12px;
}
.hcc-phone-section label {
  display:block;
  font-size:.76rem;
  font-weight:700;
  color:#e8c67c;
  margin-bottom:6px;
}
.hcc-phone-section label .req {
  color:#ef4444;
}
.hcc-phone-row {
  display:flex;
  gap:8px;
  align-items:flex-start;
}
.hcc-phone-input-wrap {
  position:relative;
  flex:1;
  display:flex;
  flex-direction:column;
}
.hcc-phone-input-wrap i {
  position:absolute;
  left:10px;
  top:11px;
  color:#94a3b8;
  font-size:.9rem;
  pointer-events:none;
  z-index:2;
}
.hcc-phone-input-wrap input {
  width:100%;
  padding:8px 10px 8px 30px;
  background:rgba(255, 255, 255, 0.1);
  border:1px solid rgba(255, 255, 255, 0.25);
  border-radius:8px;
  color:#fff;
  font-size:.88rem;
  font-weight:600;
  outline:none;
  transition:all .2s ease;
}
.hcc-phone-input-wrap input:focus {
  background:rgba(255, 255, 255, 0.16);
  border-color:var(--dph-gold);
  box-shadow:0 0 0 3px rgba(200, 162, 81, 0.25);
}
.hcc-phone-input-wrap input.err {
  border-color:#ef4444;
  box-shadow:0 0 0 3px rgba(239, 68, 68, 0.3);
}
.hcc-phone-row .btn,
.hcc-phone-row .wpcf7-submit,
.hcc-phone-row input[type="submit"] {
  height:38px;
  min-height:38px;
  padding:0 14px;
  font-size:.84rem;
  font-weight:700;
  white-space:nowrap;
  flex-shrink:0;
  border-radius:8px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  cursor:pointer;
  border:none;
  background:var(--dph-gold, #c8a251);
  color:#061120;
  width:auto;
  margin:0;
  box-sizing:border-box;
  transition:all .2s ease;
}
.hcc-phone-row .btn:hover,
.hcc-phone-row .wpcf7-submit:hover,
.hcc-phone-row input[type="submit"]:hover {
  background:var(--dph-gold-soft, #dfbe76);
  transform:translateY(-1px);
}
.hcc-phone-section .wpcf7 {
  margin:0;
  padding:0;
}
.hcc-phone-section .wpcf7-form {
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  padding:0 !important;
  margin:0 !important;
}
.hcc-phone-section .wpcf7-form-control-wrap {
  width:100% !important;
  flex:1 !important;
  margin:0 !important;
  display:block !important;
}
.hcc-phone-section .wpcf7-form-control-wrap input[type="tel"] {
  width:100% !important;
  height:38px !important;
  padding:0 10px 0 30px !important;
  background:rgba(255, 255, 255, 0.1) !important;
  border:1px solid rgba(255, 255, 255, 0.25) !important;
  border-radius:8px !important;
  color:#fff !important;
  font-size:.88rem !important;
  font-weight:600 !important;
  margin-bottom:0 !important;
  box-sizing:border-box !important;
  outline:none !important;
}
.hcc-phone-section .wpcf7-form-control-wrap input[type="tel"]:focus {
  background:rgba(255, 255, 255, 0.16) !important;
  border-color:var(--dph-gold) !important;
  box-shadow:0 0 0 3px rgba(200, 162, 81, 0.25) !important;
}
.hcc-phone-section .wpcf7-not-valid-tip {
  margin-top:4px !important;
  margin-bottom:0 !important;
  font-size:.72rem !important;
  color:#f87171 !important;
}
.hcc-phone-section .wpcf7-response-output {
  display:none !important;
}
.hcc-phone-section .wpcf7-spinner {
  visibility:hidden;
  display:none !important;
  width:18px !important;
  height:18px !important;
  min-width:18px !important;
  min-height:18px !important;
  border:2px solid rgba(200, 162, 81, 0.25) !important;
  border-top-color:var(--dph-gold, #c8a251) !important;
  border-radius:50% !important;
  background:transparent !important;
  margin:0 0 0 8px !important;
  padding:0 !important;
  align-self:center !important;
  animation:dphSpin 0.75s linear infinite !important;
  box-sizing:border-box !important;
}
.hcc-phone-section .wpcf7-spinner::before {
  display:none !important;
}
.hcc-phone-section form.submitting .wpcf7-spinner {
  visibility:visible !important;
  display:inline-block !important;
}
.hcc-phone-msg {
  font-size:.74rem;
  margin-top:5px;
  min-height:16px;
  line-height:1.4;
}
.hcc-phone-msg .err {
  color:#f87171;
  display:inline-flex;
  align-items:center;
  gap:4px;
}
.hcc-phone-msg .ok {
  color:#4ade80;
  display:inline-flex;
  align-items:center;
  gap:4px;
  font-weight:600;
}

/* BẢNG KẾT QUẢ DỰ TOÁN */
.hcc-results {
  background:rgba(0, 0, 0, 0.32);
  border-radius:12px;
  padding:12px 14px;
  margin-bottom:0;
  border:1px solid rgba(200, 162, 81, 0.35);
  animation:dph-fade-in .35s ease;
}
.hcc-highlight-box {
  background:linear-gradient(135deg, rgba(200, 162, 81, 0.25) 0%, rgba(200, 162, 81, 0.1) 100%);
  border:1.5px solid rgba(200, 162, 81, 0.6);
  border-radius:10px;
  padding:12px 14px;
  margin-bottom:10px;
  text-align:center;
}
.hhb-title {
  font-size:.78rem;
  font-weight:800;
  color:#e8c67c;
  letter-spacing:.8px;
  text-transform:uppercase;
}
.hhb-price {
  font-size:1.45rem;
  font-weight:900;
  color:#fff;
  letter-spacing:.3px;
  margin:4px 0;
  text-shadow:0 2px 10px rgba(200, 162, 81, 0.4);
}
.hhb-price .unit {
  font-size:.85rem;
  color:#e8c67c;
  font-weight:700;
}
.hhb-note {
  font-size:.72rem;
  color:#cbd5e1;
}
.hhb-note strong {
  color:#e8c67c;
}
.hcc-action {
  margin-bottom:0;
}
.hcc-action .btn-block {
  width:100%;
  display:flex;
  justify-content:center;
  align-items:center;
  gap:8px;
  font-size:.88rem;
  font-weight:700;
  padding:10px 14px;
  border-radius:8px;
  box-shadow:0 6px 18px rgba(200, 162, 81, 0.35);
}

@media (max-width: 1024px) {
  .hero-slides {
    min-height:auto;
  }
  .hero-inner {
    padding:40px 0 60px;
  }
  .hero-grid {
    grid-template-columns:1fr;
    gap:30px;
  }
  .hero-content {
    max-width:100%;
    text-align:center;
  }
  .hero-actions {
    justify-content:center;
  }
  .hero-calc-card {
    max-width:540px;
    margin:0 auto;
    width:100%;
  }
}
@media (max-width: 540px) {
  .hcc-inputs {
    grid-template-columns:1fr;
    gap:8px;
  }
  .hcc-phone-row {
    flex-direction:column;
    align-items:stretch;
  }
  .hcc-phone-row .btn {
    width:100%;
    justify-content:center;
  }
  .hhb-price {
    font-size:1.25rem;
  }
}
.hero-content .kicker {
  display:inline-block;
  background:var(--dph-gold-tint);
  color:var(--dph-gold-soft);
  border:1px solid rgba(207,176,91,.45);
  padding:6px 16px;
  border-radius:50px;
  font-weight:600;
  font-size:.85rem;
  margin-bottom:18px;
}
.hero-content h1 {
  color:#fff;
  font-size:clamp(2rem,4.5vw,3rem);
  margin-bottom:16px;
  text-shadow:0 2px 20px rgba(0,0,0,.3);
}
.hero-content p {
  font-size:1.12rem;
  color:#e2e9f5;
  margin-bottom:28px;
}
.hero-actions {
  display:flex;
  gap:14px;
  flex-wrap:wrap;
}
.hero-dots {
  position:absolute;
  bottom:24px;
  left:0;
  right:0;
  z-index:4;
  display:flex;
  gap:10px;
  justify-content:center;
}
.hero-dots button {
  width:12px;
  height:12px;
  border-radius:50%;
  border:0;
  background:rgba(255,255,255,.45);
  cursor:pointer;
  padding:0;
}
.hero-dots button.active {
  background:var(--dph-gold-grad);
  width:30px;
  border-radius:6px;
}
.hero-strip {
  background:var(--dph-bg-deep);
  color:var(--dph-body);
}
.hero-strip .wrap {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1px;
}
.hero-strip .cell {
  padding:22px 20px;
  display:flex;
  align-items:center;
  gap:14px;
}
.hero-strip .cell+.cell {
  box-shadow:-1px 0 0 rgba(207,176,91,.22);
}
.hero-strip .ic {
  width:44px;
  height:44px;
  background:var(--dph-gold-tint);
  color:var(--dph-gold);
  border-radius:12px;
  display:grid;
  place-items:center;
  font-size:1.3rem;
  flex:0 0 auto;
}
.hero-strip b {
  display:block;
  font-size:1.02rem;
}
.hero-strip span {
  font-size:.85rem;
  color:var(--dph-muted);
}
.about-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:50px;
  align-items:center;
}
.about-media {
  position:relative;
}
.about-media img {
  border-radius:var(--dph-radius);
  box-shadow:var(--dph-shadow);
}
.about-badge {
  position:absolute;
  right:-10px;
  bottom:-10px;
  background:var(--dph-gold-grad);
  color:var(--dph-on-gold);
  padding:20px 26px;
  border-radius:var(--dph-radius);
  box-shadow:var(--dph-shadow);
  text-align:center;
}
.about-badge b {
  font-size:2.4rem;
  display:block;
  line-height:1;
}
.about-badge span {
  font-size:.82rem;
  text-transform:uppercase;
  letter-spacing:1px;
}
.about-text p {
  text-align:justify;
}
.about-list {
  list-style:none;
  padding:0;
  margin:18px 0;
}
.about-list li {
  padding:7px 0 7px 32px;
  position:relative;
  text-align:justify;
}
.about-list li::before {
  content:"\ea5e";
  font-family:'tabler-icons';
  position:absolute;
  left:0;
  top:7px;
  width:22px;
  height:22px;
  background:var(--dph-gold-grad);
  color:var(--dph-on-gold);
  border-radius:50%;
  display:grid;
  place-items:center;
  font-size:.8rem;
}
.svc-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:26px;
}
.svc-card {
  background:var(--dph-bg-card);
  border:1px solid var(--dph-line);
  border-radius:var(--dph-radius);
  overflow:hidden;
  transition:.3s;
  display:flex;
  flex-direction:column;
}
.svc-card:hover {
  transform:translateY(-6px);
  box-shadow:var(--dph-shadow);
  border-color:var(--dph-gold-deep);
}
.svc-thumb {
  aspect-ratio:16/10;
  overflow:hidden;
}
.svc-thumb img {
  width:100%;
  height:100%;
  object-fit:cover;
  transition:.4s;
}
.svc-card:hover .svc-thumb img {
  transform:scale(1.06);
}
.svc-body {
  padding:22px;
  flex:1;
  display:flex;
  flex-direction:column;
}
.svc-body h3 {
  font-size:1.18rem;
}
.svc-body h3 a {
  color:var(--dph-gold);
}
.svc-card:hover h3 a {
  color:var(--dph-gold-soft);
}
.svc-body p {
  font-size:.94rem;
  flex:1;
}
.svc-more {
  color:var(--dph-primary);
  font-weight:600;
  font-size:.92rem;
}
.proc-grid {
  display:grid;
  grid-template-columns:repeat(3,2fr);
  gap:16px;
}
.proc-card {
  background:var(--dph-bg-card);
  border-radius:var(--dph-radius);
  padding:28px 20px;
  text-align:center;
  border:1px solid var(--dph-line);
  position:relative;
  transition:.3s;
}
.proc-card:hover {
  background:var(--dph-gold-grad);
  border-color:var(--dph-primary);
  transform:translateY(-6px);
}
.proc-card:hover h3,.proc-card:hover p {
  color:var(--dph-on-gold);
}
.proc-num {
  width:56px;
  height:56px;
  margin:0 auto 16px;
  border-radius:50%;
  background:var(--dph-gold-tint);
  color:var(--dph-gold);
  display:grid;
  place-items:center;
  font-size:1.5rem;
  font-weight:800;
}
.proc-card:hover .proc-num {
  background:rgba(10,25,47,.18);
  color:var(--dph-on-gold);
}
.proc-card h3 {
  font-size:1.05rem;
}
.proc-card p {
  font-size:.88rem;
  margin:0;
}
.proj-filter {
  display:flex;
  gap:10px;
  justify-content:center;
  flex-wrap:wrap;
  margin-bottom:34px;
}
.proj-filter button {
  border:1px solid var(--dph-line);
  background:var(--dph-bg-card);
  color:var(--dph-body);
  padding:10px 22px;
  border-radius:50px;
  font-weight:600;
  cursor:pointer;
  transition:.25s;
  font-size:.92rem;
  font-family:inherit;
}
.proj-filter button.active,.proj-filter button:hover {
  background:var(--dph-gold-grad);
  color:var(--dph-on-gold);
  border-color:var(--dph-primary);
}
.proj-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}
.proj-card {
  position:relative;
  border-radius:var(--dph-radius);
  overflow:hidden;
  box-shadow:var(--dph-shadow-sm);
  background:#000;
}
.proj-card img {
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  transition:.5s;
}
.proj-card:hover img {
  transform:scale(1.08);
  opacity:.75;
}
.proj-overlay {
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:22px;
  background:linear-gradient(transparent 40%,rgba(5,13,24,.94));
}
.proj-overlay .cat {
  color:var(--dph-accent);
  font-size:.78rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:1px;
}
.proj-overlay h3 {
  color:#fff;
  font-size:1.08rem;
  margin:6px 0 0;
}
.proj-overlay h3 a {
  color:#fff;
}
.proj-overlay h3 a:hover {
  color:var(--dph-accent);
}
.proj-hidden {
  display:none!important;
}
.stats-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:24px;
  text-align:center;
}
.stat b {
  font-size:2.8rem;
  color:var(--dph-accent);
  font-weight:800;
  display:inline-block;
  line-height:1;
}
.stat .stat-suffix{
    font-size:2.8rem;
  color:var(--dph-accent);
  font-weight:800;
  line-height:1;
}
.stat span {
  color:var(--dph-muted);
  font-size:.95rem;
}
.team-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:24px;
}
.team-card {
  text-align:center;
}
.team-photo {
  aspect-ratio:1;
  border-radius:var(--dph-radius);
  overflow:hidden;
  margin-bottom:14px;
  box-shadow:var(--dph-shadow-sm);
}
.team-photo img {
  width:100%;
  height:100%;
  object-fit:cover;
  transition:.4s;
}
.team-card:hover .team-photo img {
  transform:scale(1.05);
}
.team-card h3 {
  font-size:1.1rem;
  margin:0;
}
.team-card span {
  color:var(--dph-primary);
  font-size:.9rem;
  font-weight:600;
}
.feat-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:26px;
}
.feat-card {
  display:flex;
  gap:18px;
  padding:26px;
  background:var(--dph-bg-card);
  border-radius:var(--dph-radius);
  border:1px solid var(--dph-line);
}
.feat-ic {
  width:56px;
  height:56px;
  flex:0 0 auto;
  border-radius:14px;
  background:var(--dph-gold-tint);
  color:var(--dph-gold);
  display:grid;
  place-items:center;
  font-size:1.6rem;
}
.feat-card h3 {
  font-size:1.12rem;
}
.feat-card p {
  margin:0;
  font-size:.92rem;
}
.cta-band {
  background:linear-gradient(120deg,#102542,#0B1D33);
  border:1px solid var(--dph-gold-line);
  color:var(--dph-body);
  border-radius:var(--dph-radius);
  padding:44px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  flex-wrap:wrap;
}
.cta-band h2 {
  color:var(--dph-gold);
  margin:0;
}
.cta-band p {
  margin:6px 0 0;
  color:var(--dph-body);
}
.lead-form {
  background:var(--dph-bg-card);
  border-radius:var(--dph-radius);
  box-shadow:var(--dph-shadow);
  padding:34px;
}
.lead-form .row {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}
.lead-form label {
  font-weight:600;
  font-size:.9rem;
  color:var(--dph-ink);
  display:block;
  margin-bottom:6px;
}
.lead-form input,.lead-form select,.lead-form textarea {
  width:100%;
  padding:12px 14px;
  border:1px solid var(--dph-line);
  border-radius:var(--dph-radius-sm);
  font-family:inherit;
  font-size:.95rem;
  margin-bottom:16px;
  background:var(--dph-bg-soft);
  color:var(--dph-ink);
}
.lead-form input:focus,.lead-form select:focus,.lead-form textarea:focus {
  outline:none;
  border-color:var(--dph-primary);
  background:rgba(6,17,32,.78);
  box-shadow:0 0 0 3px var(--dph-gold-tint);
}
.lead-form textarea {
  min-height:110px;
  resize:vertical;
}
.form-note {
  font-size:.82rem;
  color:var(--dph-muted);
  margin-top:4px;
}
.sidebar .lead-form {
  box-shadow:none;
  padding:0;
  border-radius:0;
}
.sidebar .lead-form .row {
  grid-template-columns:1fr;
  gap:0;
}
.sidebar .lead-form .btn {
  width:100%;
  justify-content:center;
}

/* ============================================================
   Contact Form 7 integration
   ============================================================ */
.wpcf7-form {
  background:var(--dph-bg-card);
  border-radius:var(--dph-radius);
  box-shadow:var(--dph-shadow);
  padding:34px;
}
.wpcf7 form br,
.wpcf7-form br,
.hcc-phone-section br {
  display:none !important;
}
.wpcf7 form p:empty,
.wpcf7-form p:empty,
.hcc-phone-section p:empty {
  display:none !important;
}
.hcc-phone-section .wpcf7-form p {
  margin:0 !important;
  display:contents !important;
}
.sidebar .wpcf7-form {
  box-shadow:none;
  padding:0;
  border-radius:0;
}
.wpcf7-form .row {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  margin-bottom:0;
}
.sidebar .wpcf7-form .row {
  grid-template-columns:1fr;
  gap:0;
}
.sidebar .wpcf7-form label,
.sidebar .lead-form label {
  font-size:.82rem;
  margin-bottom:3px;
}
.sidebar .wpcf7-form input[type=text],
.sidebar .wpcf7-form input[type=tel],
.sidebar .wpcf7-form input[type=email],
.sidebar .wpcf7-form select,
.sidebar .lead-form input,
.sidebar .lead-form select {
  padding:8px 11px;
  font-size:.86rem;
  margin-bottom:8px;
}
.sidebar .wpcf7-form textarea,
.sidebar .lead-form textarea {
  padding:8px 11px;
  min-height:54px;
  height:54px;
  font-size:.86rem;
  margin-bottom:8px;
  resize:none;
}
.sidebar .wpcf7-form .btn,
.sidebar .wpcf7-form input[type=submit],
.sidebar .lead-form .btn {
  padding:9px 16px;
  font-size:.9rem;
  width:100%;
  justify-content:center;
}
.sidebar .form-note {
  margin-top:6px;
  margin-bottom:0;
  font-size:.75rem;
}
.wpcf7-form label {
  font-weight:600;
  font-size:.9rem;
  color:var(--dph-ink);
  display:block;
  margin-bottom:6px;
}
.wpcf7-form label .req {
  color:#ef4444;
}
.wpcf7-form input[type=text],
.wpcf7-form input[type=tel],
.wpcf7-form input[type=email],
.wpcf7-form select,
.wpcf7-form textarea {
  width:100%;
  padding:12px 14px;
  border:1px solid var(--dph-line);
  border-radius:var(--dph-radius-sm);
  font-family:inherit;
  font-size:.95rem;
  margin-bottom:14px;
  background:var(--dph-bg-soft);
  color:var(--dph-ink);
  box-sizing:border-box;
}
.wpcf7-form input:focus,
.wpcf7-form select:focus,
.wpcf7-form textarea:focus {
  outline:none;
  border-color:var(--dph-primary);
  background:rgba(6,17,32,.78);
  box-shadow:0 0 0 3px var(--dph-gold-tint);
}
.wpcf7-form textarea {
  min-height:110px;
  resize:vertical;
}
.wpcf7-form-control-wrap {
  display:block;
  position:relative;
  margin-bottom:2px;
}
.wpcf7-not-valid-tip {
  color:#f87171;
  font-size:.78rem;
  margin-top:-10px;
  margin-bottom:12px;
  display:block;
}
.wpcf7-response-output {
  border-radius:8px !important;
  padding:12px 16px !important;
  margin:16px 0 0 !important;
  font-size:.9rem !important;
  font-weight:600 !important;
  border:1.5px solid transparent !important;
}
.wpcf7 form.sent .wpcf7-response-output {
  background:rgba(74,222,128,.12) !important;
  border-color:#4ade80 !important;
  color:#4ade80 !important;
}
.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output,
.wpcf7 form.invalid .wpcf7-response-output {
  background:rgba(239,68,68,.12) !important;
  border-color:#ef4444 !important;
  color:#f87171 !important;
}
.wpcf7-spinner {
  visibility:hidden;
  display:none !important;
  width:24px !important;
  height:24px !important;
  min-width:24px !important;
  min-height:24px !important;
  border:2.5px solid rgba(200, 162, 81, 0.25) !important;
  border-top-color:var(--dph-gold, #c8a251) !important;
  border-radius:50% !important;
  background:transparent !important;
  background-color:transparent !important;
  padding:0 !important;
  margin:14px auto 0 !important;
  animation:dphSpin 0.75s linear infinite !important;
  opacity:1 !important;
  box-sizing:border-box !important;
  position:relative !important;
}
.wpcf7-spinner::before {
  display:none !important;
  content:none !important;
}
form.submitting .wpcf7-spinner,
.wpcf7 form.submitting .wpcf7-spinner {
  visibility:visible !important;
  display:block !important;
}

/* Ngăn nút bị biến thành màu đen khi bấm gửi / submitting */
.wpcf7 input[type="submit"]:disabled,
.wpcf7 input[type="submit"]:active,
.wpcf7 input[type="submit"]:focus,
.wpcf7 form.submitting input[type="submit"],
.lead-form button[type="submit"]:disabled,
.btn:disabled,
button:disabled {
  background:var(--dph-gold-grad) !important;
  color:var(--dph-on-gold) !important;
  border-color:var(--dph-gold-deep) !important;
  opacity:0.9 !important;
  cursor:wait !important;
  transform:none !important;
}

.dph-btn-spinner {
  display:inline-block;
  width:15px;
  height:15px;
  border:2px solid rgba(6, 17, 32, 0.25);
  border-top-color:#061120;
  border-radius:50%;
  animation:dphSpin 0.75s linear infinite;
  margin-right:6px;
  vertical-align:middle;
}

@keyframes dphSpin {
  0% { transform:rotate(0deg); }
  100% { transform:rotate(360deg); }
}

.wpcf7-submit {
  width:100%;
  display:flex;
  justify-content:center;
  align-items:center;
}
@media (max-width:768px) {
  .wpcf7-form {
    padding:24px 20px;
  }
  .wpcf7-form .row {
    grid-template-columns:1fr;
    gap:0;
  }
}
.form-msg {
  padding:12px 16px;
  border-radius:8px;
  margin-bottom:16px;
  font-size:.92rem;
  display:none;
}
.form-msg.ok {
  display:block;
  background:rgba(34,197,94,.14);
  color:#8FE3B0;
  border:1px solid rgba(34,197,94,.38);
}
.form-msg.err {
  display:block;
  background:rgba(239,68,68,.14);
  color:#FFAEAD;
  border:1px solid rgba(239,68,68,.38);
}
.post-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:26px;
}
.post-card {
  background:var(--dph-bg-card);
  border:1px solid var(--dph-line);
  border-radius:var(--dph-radius);
  overflow:hidden;
  transition:.3s;
  display:flex;
  flex-direction:column;
}
.post-card:hover {
  box-shadow:var(--dph-shadow);
  transform:translateY(-4px);
}
.post-thumb {
  aspect-ratio:16/10;
  overflow:hidden;
}
.post-thumb img {
  width:100%;
  height:100%;
  object-fit:cover;
  transition:.4s;
}
.post-card:hover .post-thumb img {
  transform:scale(1.05);
}
.post-body {
  padding:20px;
  flex:1;
  display:flex;
  flex-direction:column;
}
.post-meta {
  font-size:.8rem;
  color:var(--dph-muted);
  margin-bottom:8px;
}
.post-body h3 {
  font-size:1.08rem;
}
.post-body h3 a {
  color:var(--dph-gold);
}
.post-card:hover h3 a {
  color:var(--dph-gold-soft);
}
.post-body p {
  font-size:.9rem;
  flex:1;
}
.page-hero {
  background:var(--dph-bg-dark);
  color:#fff;
  padding:56px 0;
  position:relative;
}
.page-hero h1 {
  color:#fff;
  margin:0;
}
.breadcrumb {
  font-size:.88rem;
  color:var(--dph-muted);
  margin-bottom:10px;
}
.breadcrumb a {
  color:var(--dph-body);
}
.breadcrumb span {
  color:var(--dph-accent);
}
.content-area {
  padding:60px 0;
}
.layout {
  display:grid;
  grid-template-columns:1fr 320px;
  gap:40px;
  align-items:start;
}
.layout .main {
  min-width:0;
  max-width:100%;
}
.layout .sidebar,
.sidebar {
  min-width:0;
  max-width:100%;
  position:-webkit-sticky !important;
  position:sticky !important;
  top:96px !important;
  align-self:flex-start !important;
  z-index:80;
  max-height:calc(100vh - 110px);
  overflow-y:auto;
  scrollbar-width:none;
  -ms-overflow-style:none;
}
.layout .sidebar::-webkit-scrollbar,
.sidebar::-webkit-scrollbar {
  display:none;
}
.admin-bar .layout .sidebar,
.admin-bar .sidebar {
  top:128px !important;
  max-height:calc(100vh - 144px);
}
.entry-content {
  overflow-wrap:break-word;
  word-wrap:break-word;
  word-break:break-word;
}
/* Chuẩn hóa typography trong bài viết: ghi đè inline font-family từ editor/copy-paste */
.entry-content,
.entry-content p,
.entry-content span,
.entry-content b,
.entry-content strong,
.entry-content em,
.entry-content i,
.entry-content u,
.entry-content li,
.entry-content div,
.entry-content a,
.entry-content blockquote,
.entry-content td,
.entry-content th,
.entry-content [style*="font-family"] {
  font-family:var(--dph-font) !important;
}
.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4,
.entry-content h5,
.entry-content h6,
.entry-content h1 *,
.entry-content h2 *,
.entry-content h3 *,
.entry-content h4 *,
.entry-content h5 *,
.entry-content h6 * {
  font-family:var(--dph-h) !important;
}
.entry-content .ti,
.entry-content [class*="ti-"] {
  font-family:'tabler-icons' !important;
}
.entry-content pre,
.entry-content code,
.entry-content kbd,
.entry-content samp,
.entry-content pre *,
.entry-content code * {
  font-family:Consolas,Monaco,monospace !important;
}
.entry-content h2 {
  margin-top:1.6em;
}
.entry-content h3 {
  margin-top:1.4em;
}
.entry-content img,
.entry-content figure img {
  max-width:100% !important;
  height:auto !important;
  border-radius:var(--dph-radius);
  margin:1.2em auto;
  display:block;
}
.entry-content figure {
  max-width:100% !important;
  margin:1.4em 0;
}
.entry-content iframe,
.entry-content video,
.entry-content object,
.entry-content embed {
  max-width:100% !important;
  border-radius:var(--dph-radius-sm);
}
.entry-content pre,
.entry-content code {
  max-width:100%;
  overflow-x:auto;
}
/* Responsive table container & modern styles */
.table-responsive,
.wp-block-table {
  width:100%;
  margin:1.6em 0;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  border-radius:10px;
  border:1px solid var(--dph-gold-line);
  background:var(--dph-bg-card);
}
.entry-content table {
  width:100%;
  min-width:560px;
  border-collapse:collapse;
  margin:0;
  font-size:.95rem;
  line-height:1.6;
  text-align:left;
}
.entry-content th {
  background:#162f55;
  color:var(--dph-gold-soft);
  font-weight:700;
  font-size:.9rem;
  text-transform:uppercase;
  letter-spacing:.5px;
  padding:14px 16px;
  border-bottom:2px solid var(--dph-gold);
  border-top:0;
  white-space:nowrap;
}
.entry-content td {
  padding:12px 16px;
  border-bottom:1px solid rgba(207,176,91,.14);
  border-left:1px solid rgba(207,176,91,.08);
  border-right:1px solid rgba(207,176,91,.08);
  color:var(--dph-body);
}
.entry-content td:first-child {
  border-left:0;
}
.entry-content td:last-child {
  border-right:0;
}
.entry-content tbody tr:nth-child(even) {
  background:rgba(255,255,255,.02);
}
.entry-content tbody tr:hover {
  background:rgba(207,176,91,.06);
}
.entry-content tbody tr:last-child td {
  border-bottom:0;
}

/* Blockquote - Nen sang hon */
.entry-content blockquote {
  border-left:4px solid var(--dph-gold);
  background:#142a4a;
  color:var(--dph-ink);
  margin:1.6em 0;
  padding:18px 24px;
  border-radius:0 10px 10px 0;
  font-style:italic;
  box-shadow:0 4px 16px rgba(0,0,0,.15);
}
.entry-content blockquote p {
  margin:0;
  color:#e2e8f0;
}
.entry-content blockquote cite {
  display:block;
  margin-top:8px;
  font-size:.88rem;
  font-style:normal;
  color:var(--dph-gold-soft);
  font-weight:600;
}
.sidebar .widget {
  background:var(--dph-bg-card);
  border:1px solid var(--dph-line);
  border-radius:var(--dph-radius);
  padding:16px 18px;
  margin-bottom:18px;
}
.sidebar .widget-title {
  font-size:1rem;
  margin-bottom:12px;
  padding-bottom:8px;
  border-bottom:2px solid var(--dph-primary);
}
.sidebar ul {
  list-style:none;
  padding:0;
  margin:0;
}
.sidebar li {
  padding:8px 0;
  border-bottom:1px dashed var(--dph-line);
}
.sidebar li:last-child {
  border:0;
}
.spec-grid {
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:14px;
  margin:24px 0;
}
.spec {
  display:flex;
  gap:12px;
  align-items:center;
  background:var(--dph-bg-soft);
  padding:14px 16px;
  border-radius:var(--dph-radius-sm);
}
.spec b {
  color:var(--dph-ink);
}
.spec span {
  color:var(--dph-muted);
  font-size:.85rem;
  display:block;
}
.site-footer {
  background:var(--dph-bg-dark);
  color:var(--dph-muted);
  padding:60px 0 0;
  border-top:1px solid var(--dph-gold-line);
}
.footer-grid {
  display:grid;
  grid-template-columns:1.4fr 1fr 1fr 1.3fr;
  gap:34px;
  padding-bottom:40px;
}
.site-footer h4 {
  color:var(--dph-gold);
  font-size:1.05rem;
  margin-bottom:18px;
}
.site-footer a {
  color:var(--dph-muted);
}
.site-footer a:hover {
  color:var(--dph-gold-soft);
}
.site-footer ul {
  list-style:none;
  padding:0;
  margin:0;
}
.site-footer li {
  padding:5px 0;
}
.footer-brand {
  display:flex;
  flex-direction:column;
}
.footer-logo-wrap,
.footer-brand .custom-logo-link,
.footer-brand a {
  display:flex;
  justify-content:center;
  align-items:center;
}
.footer-brand img {
  max-height:85px;
  width:auto;
  height:auto;
  max-width:220px;
  object-fit:contain;
  margin:0 auto 12px;
  display:block;
}
.site-logo img {
  object-fit:contain;
}
.footer-slogan {
  font-size:1.05rem;
  font-weight:800;
  text-transform:uppercase;
  color:var(--dph-gold, #c8a251);
  letter-spacing:.8px;
  text-align:center;
  margin:0 0 14px;
  line-height:1.4;
}
.footer-brand .footer-social {
  display:flex;
  justify-content:center;
  gap:10px;
  margin-top:0;
  margin-bottom:16px;
}
.footer-contact-block {
  background:rgba(255,255,255,.03);
  border:1px solid rgba(200,162,81,.2);
  border-radius:10px;
  padding:14px 16px;
}
.footer-contact-block .footer-contact-item:last-child {
  margin-bottom:0;
}
.footer-social a svg {
  width:18px;
  height:18px;
  fill:currentColor;
}
.footer-social a .ti {
  font-size:18px;
}
.footer-map {
  border-radius:12px;
  overflow:hidden;
  margin-top:6px;
  border:1px solid var(--dph-gold-line);
}
.footer-badges {
  display:flex;
  align-items:center;
  gap:12px;
  margin-top:14px;
  flex-wrap:wrap;
}
.footer-badges img {
  max-height:36px;
  height:36px;
  width:auto;
  max-width:130px;
  object-fit:contain;
  margin-bottom:0;
  transition:opacity var(--dph-transition, .2s);
}
.footer-badges img:hover {
  opacity:.85;
}
.widget-banner-ad {
  padding:0 !important;
  overflow:hidden;
  border-radius:12px;
  border:1px solid var(--dph-gold-line);
  background:transparent !important;
}
.widget-banner-ad a {
  display:block;
  overflow:hidden;
}
.widget-banner-ad img {
  width:100%;
  height:auto;
  display:block;
  transition:transform var(--dph-transition, .3s);
}
.widget-banner-ad a:hover img {
  transform:scale(1.03);
}
.menu-non-clickable > a {
  cursor:default;
}
.footer-social {
  display:flex;
  gap:10px;
  margin-top:16px;
}
.footer-social a {
  width:38px;
  height:38px;
  border-radius:50%;
  background:var(--dph-gold-tint);
  display:grid;
  place-items:center;
  color:var(--dph-gold);
}
.footer-social a:hover {
  background:var(--dph-gold-grad);
  color:var(--dph-on-gold);
}
.footer-social a img {
  width:20px;
  height:20px;
  display:block;
  object-fit:contain;
  border-radius:4px;
}
.footer-bottom {
  border-top:1px solid var(--dph-gold-line);
  padding:20px 0;
  font-size:.86rem;
  text-align:center;
}
.footer-contact-item {
  display:flex;
  gap:10px;
  margin-bottom:12px;
  font-size:.9rem;
}
.footer-contact-item .ic {
  color:var(--dph-accent);
  flex:0 0 auto;
}
.footer-contact-item .ic .ti {
  font-size:1.05rem;
}
.float-contact {
  position:fixed;
  right:16px;
  bottom:16px;
  z-index:950;
  display:flex;
  flex-direction:column;
  gap:12px;
}
.float-contact a,
.float-contact button {
  width:52px;
  height:52px;
  border-radius:50%;
  display:grid;
  place-items:center;
  color:var(--dph-on-gold);
  box-shadow:var(--dph-shadow);
  font-size:1.4rem;
  position:relative;
  border:0;
  cursor:pointer;
  padding:0;
  transition:.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.float-contact .fc-phone {
  background:var(--dph-gold-grad);
  animation:pulse 2s infinite;
}
.float-contact .fc-zalo {
  background:#0068ff;
  font-size:.8rem;
  font-weight:800;
  color:#fff;
  overflow:hidden;
}
.float-contact .fc-zalo img {
  width:32px;
  height:32px;
  display:block;
  object-fit:contain;
  border-radius:6px;
}
.float-contact .fc-mess {
  background:#7b2ff7;
  color:#fff;
}
.float-contact .fc-backtotop {
  background:var(--dph-bg-card);
  color:var(--dph-gold);
  border:0 !important;
  outline:none !important;
  box-shadow:0 0 0 1.5px var(--dph-gold-line), var(--dph-shadow);
  opacity:0;
  visibility:hidden;
  transform:translateY(10px);
  overflow:hidden !important;
  background-repeat:no-repeat !important;
  background-size:100% 100% !important;
  -webkit-appearance:none;
  appearance:none;
}
.float-contact .fc-backtotop.show {
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}
.float-contact .fc-backtotop:hover,
.float-contact .fc-backtotop:focus,
.float-contact .fc-backtotop:active {
  background:var(--dph-gold-grad) !important;
  background-repeat:no-repeat !important;
  background-size:100% 100% !important;
  color:var(--dph-on-gold) !important;
  border:0 !important;
  outline:none !important;
  box-shadow:0 6px 20px rgba(207,176,91,.45) !important;
  transform:translateY(-3px);
}
@keyframes pulse {
  0% {
    box-shadow:0 0 0 0 rgba(207,176,91,.55);
  }
  70% {
    box-shadow:0 0 0 16px rgba(207,176,91,0);
  }
  100% {
    box-shadow:0 0 0 0 rgba(207,176,91,0);
  }
}
.pagination {
  display:flex;
  gap:8px;
  justify-content:center;
  margin-top:40px;
  flex-wrap:wrap;
}
.pagination .page-numbers {
  padding:10px 16px;
  border:1px solid var(--dph-line);
  border-radius:8px;
  color:var(--dph-ink);
  font-weight:600;
}
.pagination .page-numbers.current,.pagination .page-numbers:hover {
  background:var(--dph-gold-grad);
  color:var(--dph-on-gold);
  border-color:var(--dph-primary);
}

/* Header 3 phần trên desktop (1025px - 1100px): siết nhẹ menu */
@media(max-width:1100px) and (min-width:1025px) {
  .site-header .wrap {
    gap:12px;
  }
  .main-nav a {
    padding:10px 10px;
    font-size:.9rem;
  }
}

/* Header trên 1024px: Logo BẮT BUỘC nằm chính giữa, cùng hàng với 2 nav (Row 1) */
@media(min-width:1025px) {
  .site-header .wrap {
    display:flex;
    align-items:center;
    width:100%;
  }
  .main-nav-wrap {
    display:grid !important;
    grid-template-columns:1fr auto 1fr !important;
    grid-template-rows:1fr !important;
    align-items:center !important;
    gap:20px !important;
    width:100% !important;
  }
  .main-nav--left {
    grid-column:1 !important;
    grid-row:1 !important;
    justify-self:start !important;
    display:flex !important;
    align-items:center !important;
  }
  .main-nav-wrap .site-logo {
    grid-column:2 !important;
    grid-row:1 !important;
    justify-self:center !important;
    text-align:center !important;
    margin:0 auto !important;
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
  }
  .main-nav--right {
    grid-column:3 !important;
    grid-row:1 !important;
    justify-self:end !important;
    display:flex !important;
    justify-content:flex-end !important;
    align-items:center !important;
  }
  .site-logo a {
    display:inline-flex;
    justify-content:center;
    align-items:center;
  }
  .site-logo img {
    display:block;
    margin:0 auto;
  }
  .site-logo-bar {
    display:none !important;
  }
  .nav-toggle {
    display:none !important;
  }
}

/* Tablet & SP (<=1024px): Logo nằm sát bên trái ngoài cùng, burger menu bên phải ngoài cùng.
   Drawer CHỈ chứa menu; logo nằm NGOÀI drawer (.site-logo-bar trên thanh header), logo trong khối nav bị ẩn. */
@media(max-width:1024px) {
  .site-header .wrap {
    display:flex;
    justify-content:space-between;
    align-items:center;
    min-height:68px;
    padding:5px 16px;
  }
  .site-logo-bar {
    display:block;
    margin-right:auto;
    position:relative;
    z-index:907;
  }
  .site-logo img {
    max-height:68px;
  }
  .site-header {
    z-index:906;
  }
  .main-nav-wrap {
    display:none;
  }
  .main-nav-wrap.open {
    display:flex !important;
    flex-direction:column !important;
    position:fixed !important;
    top:68px !important;
    right:0 !important;
    left:0 !important;
    bottom:0 !important;
    width:100% !important;
    height:calc(100vh - 68px) !important;
    background:var(--dph-bg-deep) !important;
    border-top:1px solid var(--dph-gold-line) !important;
    box-shadow:0 10px 40px rgba(0,0,0,.45) !important;
    padding:16px 20px 40px !important;
    overflow-y:auto !important;
    z-index:905 !important;
    animation:dph-drawer-in .3s ease !important;
  }
  .admin-bar .main-nav-wrap.open {
    top:calc(68px + 32px) !important;
    height:calc(100vh - 68px - 32px) !important;
  }
  .main-nav-wrap .site-logo {
    display:none !important;
  }

  /* Trong drawer: 2 nhóm menu là block xếp dọc full width, căn lề trái chuẩn xác */
  .main-nav,
  .main-nav--left,
  .main-nav--right {
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    justify-content:flex-start !important;
    align-items:stretch !important;
    justify-self:stretch !important;
    margin:0 !important;
    padding:0 !important;
    float:none !important;
    clear:both !important;
  }
  .main-nav ul,
  .main-nav--left ul,
  .main-nav--right ul,
  .main-nav .nav-menu {
    display:flex !important;
    flex-direction:column !important;
    width:100% !important;
    max-width:100% !important;
    padding:0 !important;
    margin:0 !important;
    gap:0 !important;
    list-style:none !important;
    float:none !important;
  }
  .main-nav li,
  .main-nav--left li,
  .main-nav--right li {
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    float:none !important;
  }
  .main-nav a,
  .main-nav--left a,
  .main-nav--right a {
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    width:100% !important;
    padding:14px 6px !important;
    border-bottom:1px solid rgba(255,255,255,.08) !important;
    border-radius:0 !important;
    color:var(--dph-ink) !important;
    font-size:1.05rem !important;
    font-weight:600 !important;
    text-align:left !important;
    box-sizing:border-box !important;
  }
  .main-nav a:hover,
  .main-nav .current-menu-item > a {
    color:var(--dph-gold) !important;
  }
  .main-nav .sub-menu {
    position:static !important;
    display:none;
    width:100% !important;
    background:rgba(0,0,0,.25) !important;
    border:0 !important;
    box-shadow:none !important;
    padding:0 0 0 16px !important;
    margin:0 !important;
    min-width:0 !important;
    box-sizing:border-box !important;
  }
  .main-nav .sub-menu a {
    font-size:.95rem !important;
    padding:11px 6px !important;
    border-bottom:1px dashed rgba(255,255,255,.06) !important;
    color:var(--dph-muted) !important;
  }
  .main-nav .sub-menu li:last-child a {
    border-bottom:none !important;
  }
  .menu-item-has-children>a::after {
    float:none;
    margin-left:auto;
  }
  @keyframes dph-drawer-in {
    from {
      transform:translateX(100%);
    }
    to {
      transform:translateX(0);
    }
  }
  .nav-toggle {
    display:flex;
    margin-left:auto;
    position:relative;
    z-index:907;
  }
  .nav-backdrop {
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.6);
    z-index:904;
    opacity:0;
    visibility:hidden;
    transition:.3s;
  }
  .nav-backdrop.show {
    opacity:1;
    z-index: 1;
    visibility:visible;
  }
}
@media(max-width:992px) {
  .about-grid {
    grid-template-columns:1fr;
    gap:34px;
  }
  .layout {
    grid-template-columns:1fr 290px;
    gap:28px;
  }
  .svc-grid,.proj-grid,.post-grid,.feat-grid {
    grid-template-columns:repeat(2,1fr);
  }
  .proc-grid {
    grid-template-columns:repeat(2,1fr);
  }
  .team-grid {
    grid-template-columns:repeat(2,1fr);
  }
  .stats-grid {
    grid-template-columns:repeat(2,1fr);
    gap:30px;
  }
  .hero-strip .wrap {
    grid-template-columns:repeat(2,1fr);
  }
  .hero-strip .cell+.cell {
    box-shadow:none;
  }
}
@media(max-width:860px) {
  .layout {
    grid-template-columns:1fr;
    gap:30px;
  }
  .layout .sidebar,
  .sidebar {
    position:static !important;
    top:auto !important;
    order:2;
    max-height:none !important;
    overflow-y:visible !important;
  }
}
@media(max-width:768px) {
  .section {
    padding:52px 0;
  }
  h1 {
    font-size:1.9rem;
  }
  h2 {
    font-size:1.55rem;
  }

  .header-phone small {
    display:none;
  }
  .lead-form .row {
    grid-template-columns:1fr;
  }
  .cta-band {
    padding:24px 20px;
    text-align:center;
    justify-content:center;
    flex-direction:column;
    gap:16px;
  }
  .cta-band h2 {
    font-size:1.22rem;
    line-height:1.35;
  }
  .cta-band p {
    font-size:.88rem;
  }
  .cta-band a.btn {
    width:100%;
    justify-content:center;
  }
  .footer-grid {
    grid-template-columns:1fr 1fr;
    gap:28px;
  }
  .spec-grid {
    grid-template-columns:1fr;
  }

  /* Single Post Responsive Fixes */
  .content-area {
    padding:30px 0 46px;
  }
  .page-hero {
    padding:36px 0 28px;
  }
  .page-hero h1 {
    font-size:1.45rem;
    line-height:1.35;
    margin-bottom:8px;
    word-break:break-word;
  }
  .page-hero .post-meta {
    font-size:.82rem;
  }
  .layout {
    gap:26px;
  }
  .entry-content {
    font-size:.95rem;
    line-height:1.7;
  }
  .entry-content h2 {
    font-size:1.32rem;
    margin-top:1.3em;
    margin-bottom:.5em;
    line-height:1.35;
  }
  .entry-content h3 {
    font-size:1.15rem;
    margin-top:1.1em;
    margin-bottom:.4em;
    line-height:1.35;
  }
  .entry-content blockquote {
    padding:14px 18px;
    margin:1.2em 0;
    font-size:.92rem;
  }
  .table-responsive {
    margin:1.2em 0;
  }
  .entry-content table {
    min-width:480px;
    font-size:.88rem;
  }
  .entry-content th,
  .entry-content td {
    padding:10px 12px;
  }
  .post-author-box {
    margin:28px 0 20px;
  }
  .pab-intro {
    font-size:.92rem;
    line-height:1.65;
    margin-bottom:14px;
  }
  .pab-card {
    padding:16px 18px;
    border-radius:10px;
    margin-bottom:18px;
  }
  .pab-card li {
    font-size:.88rem;
    line-height:1.55;
    padding:4px 0;
  }
  .sidebar .widget {
    padding:18px 16px;
    margin-bottom:20px;
    border-radius:12px;
  }
  .sidebar .widget-title {
    font-size:1rem;
    margin-bottom:12px;
  }
}
@media(max-width:520px) {
  .svc-grid,.proj-grid,.post-grid,.feat-grid,.proc-grid,.team-grid,.stats-grid,.footer-grid,.hero-strip .wrap {
    grid-template-columns:1fr;
  }
  .page-hero h1 {
    font-size:1.28rem;
  }
  .pab-card {
    padding:14px;
  }
  .footer-contact-block {
    padding:12px 14px;
  }
  .footer-slogan {
    font-size:.95rem;
  }
  .topbar .tb-left span {
    display:none;
  }
  .topbar .tb-left span:first-child {
    display:inline-flex;
  }
}

/* ==== Trang lien he ==== */
.lh-cards {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:20px;
}

.lh-card {
  background:var(--dph-bg-card);
  border:1px solid var(--dph-line);
  border-radius:var(--dph-radius);
  padding:26px 20px;
  text-align:center;
  transition:.3s;
  display:block;
  color:var(--dph-body);
}
.lh-card:hover {
  transform:translateY(-5px);
  box-shadow:var(--dph-shadow);
  color:var(--dph-body);
}
.lh-ic {
  width:52px;
  height:52px;
  border-radius:50%;
  background:var(--dph-gold-tint);
  color:var(--dph-gold);
  display:grid;
  place-items:center;
  font-size:1.4rem;
  margin:0 auto 12px;
}
.lh-card b {
  display:block;
  color:var(--dph-ink);
  font-size:1.02rem;
  margin-bottom:5px;
}
.lh-card span:last-child {
  font-size:.9rem;
  line-height:1.5;
  display:block;
}
.lh-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:40px;
  align-items:stretch;
}
.lh-map {
  border-radius:var(--dph-radius);
  overflow:hidden;
  min-height:420px;
  height:100%;
  box-shadow:var(--dph-shadow-sm);
}
.lh-map-empty {
  display:grid;
  place-items:center;
  background:var(--dph-bg-card);
  border:1px dashed var(--dph-line);
  color:var(--dph-muted);
  font-size:.9rem;
  padding:20px;
  text-align:center;
}
.lh-social {
  display:flex;
  gap:12px;
  margin-top:20px;
  flex-wrap:wrap;
}
.lh-social a {
  border:1px solid var(--dph-line);
  border-radius:50px;
  padding:8px 20px;
  font-size:.9rem;
  font-weight:600;
  background:var(--dph-bg-card);
}
.lh-social a:hover {
  background:var(--dph-gold-grad);
  color:var(--dph-on-gold);
  border-color:var(--dph-primary);
}
@media(max-width:992px) {
  .lh-cards {
    grid-template-columns:repeat(2,1fr);
  }
  .lh-grid {
    grid-template-columns:1fr;
  }
  .lh-map {
    min-height:300px;
  }
}
@media(max-width:520px) {
  .lh-cards {
    grid-template-columns:1fr;
  }
}

/* ==== Landing dich vu ==== */
.svc-hero {
  position:relative;
  background-size:cover;
  background-position:center;
  color:#fff;
}

.svc-hero-inner {
  background:linear-gradient(90deg,rgba(10,25,47,.92) 0%,rgba(10,25,47,.64) 60%,rgba(10,25,47,.40) 100%);
  padding:90px 0;
}
.svc-hero h1 {
  color:#fff;
  font-size:clamp(1.8rem,3.6vw,2.8rem);
  max-width:700px;
}
.svc-hero-sub {
  font-size:1.1rem;
  color:var(--dph-body);
  max-width:620px;
  margin-bottom:26px;
}
.svc-hero .breadcrumb {
  color:var(--dph-muted);
}

/* ==== Trang gioi thieu ==== */
.gt-hero {
  background:var(--dph-bg-dark);
  padding:80px 0;
  text-align:center;
}

.gt-kicker {
  display:inline-block;
  border:1px solid var(--dph-accent);
  color:var(--dph-accent);
  font-size:.78rem;
  letter-spacing:2px;
  text-transform:uppercase;
  padding:5px 16px;
  border-radius:20px;
  margin-bottom:18px;
}
.gt-line {
  color:#fff;
  font-size:clamp(1.3rem,2.6vw,1.9rem);
  font-weight:600;
  max-width:720px;
  margin:0 auto;
  line-height:1.5;
}
.gt-dph-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}
.gt-dph-card {
  background:var(--dph-bg-card);
  border:1px solid var(--dph-line);
  border-radius:var(--dph-radius);
  padding:34px 26px;
  text-align:center;
  transition:.3s;
}
.gt-dph-card:hover {
  transform:translateY(-6px);
  box-shadow:var(--dph-shadow);
}
.gt-letter {
  font-size:3rem;
  font-weight:800;
  color:var(--dph-primary);
  line-height:1;
  margin-bottom:12px;
}
.gt-dph-card h3 {
  font-size:1.1rem;
  color:var(--dph-gold);
}
.gt-dph-card p {
  font-size:.92rem;
  margin:0;
}
.gt-avatar {
  width:96px;
  height:96px;
  border-radius:50%;
  background:var(--dph-gold-tint);
  color:var(--dph-gold);
  display:grid;
  place-items:center;
  font-size:1.6rem;
  font-weight:700;
  margin:0 auto 14px;
  border:2px solid var(--dph-line);
}
.gt-avatar-img {
  overflow:hidden;
  padding:0;
}
.gt-avatar-img img {
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:50%;
}
.gt-quote {
  font-size:.86rem;
  font-style:italic;
  color:var(--dph-muted);
  margin:8px 0 0;
}
.gt-two-col {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:44px;
}
.gt-sub {
  font-size:1.2rem;
  margin-bottom:18px;
  padding-bottom:10px;
  border-bottom:2px solid var(--dph-primary);
  display:inline-block;
}
.gt-cert-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
}
.gt-cert {
  background:var(--dph-bg-card);
  border:1px solid var(--dph-line);
  border-radius:var(--dph-radius-sm);
  padding:14px;
  text-align:center;
}
.gt-cert img {
  border-radius:6px;
  margin-bottom:8px;
  aspect-ratio:3/4;
  object-fit:cover;
  width:100%;
}
.gt-cert-ph {
  font-size:2rem;
  display:block;
  margin-bottom:8px;
  opacity:.5;
}
.gt-cert small {
  font-size:.78rem;
  color:var(--dph-body);
  line-height:1.4;
  display:block;
}
.gt-timeline {
  border-left:3px solid var(--dph-primary);
  padding-left:22px;
}
.gt-tl-item {
  position:relative;
  padding-bottom:20px;
}
.gt-tl-item::before {
  content:"";
  position:absolute;
  left:-29px;
  top:6px;
  width:11px;
  height:11px;
  border-radius:50%;
  background:var(--dph-gold-grad);
  border:2px solid var(--dph-bg);
  box-shadow:0 0 0 2px var(--dph-primary);
}
.gt-tl-item b {
  color:var(--dph-ink);
  display:block;
}
.gt-tl-item span {
  font-size:.92rem;
}
@media(max-width:768px) {
  .gt-dph-grid,.gt-two-col {
    grid-template-columns:1fr;
  }
}

/* ==== Chi tiết dự án & bài viết ==== */
.page-hero .post-meta {
  color:var(--dph-muted);
  margin:8px 0 0;
}

.post-media {
  border-radius:var(--dph-radius);
  overflow:hidden;
  margin-bottom:24px;
}
.post-media img {
  width:100%;
  height:auto;
}
.comments-area {
  margin-top:44px;
  padding-top:28px;
  border-top:1px solid var(--dph-line);
}
.comments-area .widget-title {
  font-size:1.05rem;
  margin-bottom:16px;
  padding-bottom:10px;
  border-bottom:2px solid var(--dph-primary);
}
.comment-list,.comment-list .children {
  list-style:none;
  padding:0;
  margin:0;
}
.comment-list .children {
  padding-left:28px;
  margin-top:16px;
}
.comment-body {
  background:var(--dph-bg-card);
  border:1px solid var(--dph-line);
  border-radius:var(--dph-radius-sm);
  padding:18px;
  margin-bottom:16px;
}
.comment-author {
  display:flex;
  align-items:center;
  gap:10px;
  font-weight:700;
  color:var(--dph-ink);
}
.comment-author img {
  border-radius:50%;
  margin:0;
  flex:0 0 auto;
}
.comment-meta {
  font-size:.8rem;
  color:var(--dph-muted);
  margin:6px 0 10px;
}
.comment-content {
  margin:0;
}
.comment-reply-link {
  font-size:.85rem;
  font-weight:600;
}
.comment-respond {
  margin-top:30px;
}
.comment-respond .comment-reply-title {
  display:block;
  font-size:1.05rem;
  margin-bottom:14px;
  padding-bottom:10px;
  border-bottom:2px solid var(--dph-primary);
}
.comment-respond p {
  margin:0 0 14px;
}
.comment-respond label {
  display:block;
  font-weight:600;
  font-size:.9rem;
  color:var(--dph-ink);
  margin-bottom:6px;
}
.comment-respond input[type="text"],.comment-respond input[type="email"],.comment-respond input[type="url"],.comment-respond textarea {
  width:100%;
  padding:12px 14px;
  border:1px solid var(--dph-line);
  border-radius:var(--dph-radius-sm);
  font-family:inherit;
  font-size:.95rem;
  background:var(--dph-bg-soft);
  color:var(--dph-ink);
}
.comment-respond input:focus,.comment-respond textarea:focus {
  outline:none;
  border-color:var(--dph-primary);
  background:rgba(6,17,32,.78);
}
.comment-respond textarea {
  min-height:120px;
  resize:vertical;
}
.comment-respond .form-submit input#submit {
  background:var(--dph-gold-grad);
  color:var(--dph-on-gold);
  border:0;
  padding:13px 28px;
  border-radius:50px;
  font-weight:600;
  font-size:.98rem;
  font-family:inherit;
  cursor:pointer;
  transition:.25s;
}
.comment-respond .form-submit input#submit:hover {
  background:var(--dph-gold-grad-hover);
}
.comment-form-cookies-consent {
  display:flex;
  align-items:flex-start;
  gap:8px;
  font-size:.86rem;
  color:var(--dph-muted);
}
.comment-form-cookies-consent input {
  margin-top:5px;
}
.comment-form-cookies-consent label {
  font-weight:400;
  color:var(--dph-muted);
  margin:0;
}

/* ==== Trang giới thiệu (khối nội dung tĩnh) ==== */
.dph-story {
  font-family:'Segoe UI',Arial,sans-serif;
  padding:0 20px;
  background:var(--dph-bg);
  color:var(--dph-body);
}

.dph-story * {
  box-sizing:border-box;
}
.dph-story-wrap {
  max-width:1140px;
  margin:0 auto;
}
.dph-story-title {
  font-size:30px;
  font-weight:800;
  color:var(--dph-ink);
  line-height:1.35;
  margin:0 0 14px;
}
.dph-story-title span {
  color:var(--dph-gold);
}
.dph-story-line {
  width:60px;
  height:3px;
  background:var(--dph-gold-grad);
  border-radius:2px;
  margin:0 0 44px;
}
.dph-story-hero {
  display:flex;
  flex-wrap:wrap;
  gap:44px;
  align-items:center;
  margin-bottom:64px;
}
.dph-story-text {
  flex:1 1 460px;
  min-width:300px;
}
.dph-story-kicker {
  display:inline-block;
  font-size:13px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:1px;
  color:var(--dph-gold);
  margin-bottom:12px;
}
.dph-story-text h3 {
  font-size:20px;
  font-weight:700;
  color:var(--dph-gold);
  margin:0 0 14px;
}
.dph-story-text p {
  font-size:15px;
  line-height:1.75;
  margin:0 0 14px;
}
.dph-story-media {
  flex:1 1 380px;
  min-width:280px;
  position:relative;
}
.dph-story-media::before {
  content:"";
  position:absolute;
  top:-14px;
  left:-14px;
  width:120px;
  height:120px;
  border-top:4px solid var(--dph-gold);
  border-left:4px solid var(--dph-gold);
  border-radius:14px 0 0 0;
}
.dph-story-media img {
  position:relative;
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  border-radius:14px;
  box-shadow:0 16px 36px rgba(0,0,0,.45);
  display:block;
}
.dph-story-mission h3 {
  text-align:center;
  font-size:22px;
  font-weight:700;
  color:var(--dph-gold);
  margin:0 0 8px;
}
.dph-story-mission .dph-story-sub {
  text-align:center;
  font-size:15px;
  color:var(--dph-muted);
  margin:0 0 36px;
}
.dph-value-grid {
  display:flex;
  flex-wrap:wrap;
  gap:22px;
  margin-bottom:64px;
}
.dph-value {
  flex:1 1 46%;
  min-width:280px;
  background:var(--dph-bg-card);
  border-radius:14px;
  padding:24px 26px;
  display:flex;
  gap:18px;
  align-items:flex-start;
  border-left:4px solid var(--dph-gold);
  transition:transform .3s,box-shadow .3s;
}
.dph-value:hover {
  transform:translateY(-4px);
  box-shadow:0 10px 24px rgba(0,0,0,.40);
}
.dph-value-num {
  flex-shrink:0;
  width:40px;
  height:40px;
  border-radius:50%;
  background:var(--dph-gold-grad);
  color:var(--dph-on-gold);
  font-size:16px;
  font-weight:800;
  display:flex;
  align-items:center;
  justify-content:center;
}
.dph-value h4 {
  font-size:16px;
  font-weight:700;
  color:var(--dph-gold);
  margin:0 0 6px;
}
.dph-value p {
  font-size:14px;
  line-height:1.65;
  color:var(--dph-body);
  margin:0;
}
.dph-story-today {
  display:flex;
  flex-wrap:wrap;
  gap:36px;
  align-items:stretch;
}
.dph-today-text {
  flex:1 1 480px;
  min-width:300px;
}
.dph-today-text h3 {
  font-size:20px;
  font-weight:700;
  color:var(--dph-gold);
  margin:0 0 14px;
}
.dph-today-text p {
  font-size:15px;
  line-height:1.75;
  margin:0 0 14px;
}
.dph-commit {
  flex:1 1 340px;
  min-width:280px;
  background:var(--dph-bg-deep);
  border:1px solid var(--dph-gold-line);
  border-radius:16px;
  padding:38px 32px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  position:relative;
  overflow:hidden;
}
.dph-commit::before {
  content:"\201C";
  position:absolute;
  top:-30px;
  left:14px;
  font-size:150px;
  font-weight:800;
  color:var(--dph-gold);
  opacity:.22;
  line-height:1;
}
.dph-commit-label {
  font-size:12px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:1.5px;
  color:var(--dph-gold);
  margin-bottom:14px;
}
.dph-commit-quote {
  font-size:19px;
  font-weight:700;
  color:var(--dph-ink);
  line-height:1.55;
  margin:0;
}
.dph-commit-quote em {
  color:var(--dph-gold);
  font-style:normal;
}
.dn-spacer {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  padding:48px 20px;
}
.dn-spacer-line {
  height:1px;
  width:120px;
  max-width:28vw;
  background:linear-gradient(90deg,transparent,rgba(207,176,91,.5));
}
.dn-spacer-line:last-child {
  background:linear-gradient(90deg,rgba(207,176,91,.5),transparent);
}
.dn-spacer-diamond {
  width:9px;
  height:9px;
  background:var(--dph-gold-grad);
  transform:rotate(45deg);
  border-radius:2px;
  flex-shrink:0;
}
.dn-spacer-dot {
  width:5px;
  height:5px;
  background:var(--dph-gold-deep);
  border-radius:50%;
  flex-shrink:0;
}
.dph-section {
  font-family:'Segoe UI',Arial,sans-serif;
  padding:64px 20px;
  background:var(--dph-bg-alt);
}
.dph-title {
  text-align:center;
  font-size:28px;
  font-weight:700;
  color:var(--dph-ink);
  margin:0 0 12px;
}
.dph-title-line {
  width:60px;
  height:3px;
  background:var(--dph-gold-grad);
  margin:0 auto 48px;
  border-radius:2px;
}
.dph-grid {
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:24px;
  max-width:1140px;
  margin:0 auto;
}
.dph-card {
  position:relative;
  flex:1 1 260px;
  max-width:340px;
  background:var(--dph-bg-card);
  border:1px solid var(--dph-gold-line);
  border-radius:16px;
  padding:36px 26px 30px;
  text-align:center;
  box-shadow:0 4px 18px rgba(0,0,0,.35);
  overflow:hidden;
  transition:transform .3s,box-shadow .3s;
}
.dph-card:hover {
  transform:translateY(-6px);
  box-shadow:0 14px 30px rgba(0,0,0,.5);
}
.dph-card::before {
  content:attr(data-letter);
  position:absolute;
  top:-18px;
  right:-6px;
  font-size:110px;
  font-weight:800;
  color:var(--dph-gold);
  opacity:.08;
  line-height:1;
  pointer-events:none;
}
.dph-icon {
  width:84px;
  height:84px;
  margin:0 auto 18px;
  background:var(--dph-gold-tint);
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:background .3s;
}
.dph-card:hover .dph-icon {
  background:rgba(207,176,91,.2);
}
.dph-icon svg {
  width:44px;
  height:44px;
}
.dph-letter {
  display:inline-block;
  font-size:30px;
  font-weight:800;
  color:var(--dph-gold);
  line-height:1;
  margin-bottom:6px;
  position:relative;
}
.dph-letter::after {
  content:"";
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  bottom:-6px;
  width:22px;
  height:3px;
  background:var(--dph-gold-grad);
  border-radius:2px;
}
.dph-name {
  font-size:17px;
  font-weight:700;
  color:var(--dph-gold);
  margin:16px 0 8px;
}
.dph-desc {
  font-size:13.5px;
  color:var(--dph-muted);
  line-height:1.6;
  margin:0;
}
.dn-team-section {
  font-family:'Segoe UI',Arial,sans-serif;
  padding:0 20px;
  background:var(--dph-bg);
}
.dn-team-title {
  text-align:center;
  font-size:28px;
  font-weight:700;
  color:var(--dph-ink);
  margin:0 0 12px;
}
.dn-team-title-line {
  width:60px;
  height:3px;
  background:var(--dph-gold-grad);
  margin:0 auto 50px;
  border-radius:2px;
}
.dn-team-grid {
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:24px;
  max-width:1140px;
  margin:0 auto;
}
.dn-team-card {
  flex:1 1 220px;
  max-width:260px;
  background:var(--dph-bg-card);
  border:1px solid var(--dph-gold-line);
  border-radius:14px;
  overflow:hidden;
  box-shadow:0 4px 18px rgba(0,0,0,.35);
  transition:transform .3s,box-shadow .3s;
}
.dn-team-card:hover {
  transform:translateY(-6px);
  box-shadow:0 12px 28px rgba(0,0,0,.5);
}
.dn-team-photo {
  position:relative;
  width:100%;
  aspect-ratio:3/4;
  background:var(--dph-bg-alt);
  overflow:hidden;
}
.dn-team-photo img {
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .4s;
}
.dn-team-card:hover .dn-team-photo img {
  transform:scale(1.05);
}
.dn-team-photo::after {
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:4px;
  background:var(--dph-gold-grad);
}
.dn-team-info {
  padding:18px 16px 22px;
  text-align:center;
}
.dn-team-name {
  font-size:17px;
  font-weight:700;
  color:var(--dph-gold);
  margin:0 0 4px;
}
.dn-team-role {
  font-size:13px;
  font-weight:600;
  color:var(--dph-gold);
  text-transform:uppercase;
  letter-spacing:.5px;
  margin:0 0 12px;
}
.dn-team-quote {
  font-size:13px;
  font-style:italic;
  color:var(--dph-muted);
  margin:0;
  line-height:1.55;
  position:relative;
  padding-top:12px;
}
.dn-team-quote::before {
  content:"";
  position:absolute;
  top:0;
  left:50%;
  transform:translateX(-50%);
  width:30px;
  height:1px;
  background:rgba(207,176,91,.25);
}
@media(max-width:767px) {
  .dph-story-title {
    font-size:24px;
  }
  .dph-value {
    flex:1 1 100%;
  }
  .dph-card {
    flex:1 1 100%;
    max-width:360px;
  }
  .dn-team-card {
    flex:1 1 42%;
  }
}
@media(max-width:480px) {
  .dn-team-card {
    flex:1 1 100%;
    max-width:300px;
  }
}

/* ==== Vang anh kim & lop hoan thien giao dien toi ==== */
.section-soft {
  position:relative;
}

.section-soft::before,.section-soft::after {
  content:"";
  position:absolute;
  left:0;
  right:0;
  height:1px;
  pointer-events:none;
  background:linear-gradient(to right,transparent 0%,rgba(207,176,91,.5) 26%,#F1E075 50%,rgba(207,176,91,.5) 74%,transparent 100%);
}
.section-soft::before {
  top:0;
}
.section-soft::after {
  bottom:0;
}
.lead-form input::placeholder,.lead-form textarea::placeholder, .comment-respond input::placeholder,.comment-respond textarea::placeholder {
  color:#7C93B3;
}
.lead-form select,.comment-respond select {
  color:var(--dph-ink);
}
.lead-form select option {
  background:var(--dph-bg-card);
  color:var(--dph-ink);
}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible {
  outline:2px solid var(--dph-gold);
  outline-offset:2px;
}
::selection {
  background-color:var(--dph-gold);
  color:#050D18;
}
::-moz-selection {
  background-color:var(--dph-gold);
  color:#050D18;
}
.entry-content a:not(.btn) {
  color:var(--dph-gold);
  text-decoration:underline;
  text-underline-offset:3px;
}
.entry-content a:not(.btn):hover {
  color:var(--dph-gold-soft);
}

/* ============================================================
   FAQ ACCORDION (HỎI ĐÁP THƯỜNG GẶP)
   ============================================================ */
.section-faq {
  background:var(--dph-bg);
}
.faq-accordion {
  max-width:920px;
  margin:0 auto;
  display:flex;
  flex-direction:column;
  gap:16px;
}
.faq-item {
  background:var(--dph-bg-card);
  border:1px solid var(--dph-line);
  border-radius:var(--dph-radius);
  overflow:hidden;
  transition:border-color .3s,box-shadow .3s;
}
.faq-item:hover,.faq-item.active {
  border-color:var(--dph-gold);
  box-shadow:var(--dph-shadow-sm);
}
.faq-question {
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:20px 24px;
  background:none;
  border:none;
  color:var(--dph-ink);
  font-family:var(--dph-font);
  font-size:1.05rem;
  font-weight:600;
  text-align:left;
  cursor:pointer;
  transition:color .25s,background .25s;
}
.faq-question:hover,.faq-item.active .faq-question {
  color:var(--dph-gold);
}
.faq-num {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  border-radius:8px;
  background:var(--dph-gold-tint);
  color:var(--dph-gold);
  font-size:0.85rem;
  font-weight:700;
  flex-shrink:0;
}
.faq-title {
  flex:1;
  line-height:1.45;
}
.faq-icon {
  width:32px;
  height:32px;
  border-radius:50%;
  background:var(--dph-bg-soft);
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--dph-gold);
  font-size:1rem;
  flex-shrink:0;
  transition:transform .3s ease,background-color .3s,color .3s;
}
.faq-item.active .faq-icon {
  transform:rotate(180deg);
  background:var(--dph-gold-grad);
  color:var(--dph-on-gold);
}
.faq-answer {
  max-height:0;
  overflow:hidden;
  transition:max-height .35s cubic-bezier(0.4,0,0.2,1);
}
.faq-answer-inner {
  padding:0 24px 24px 76px;
  color:var(--dph-body);
  font-size:0.96rem;
  line-height:1.75;
}
.faq-answer-inner p {
  margin:0 0 12px;
}
.faq-answer-inner p:last-child {
  margin-bottom:0;
}
.faq-answer-inner ul {
  margin:10px 0 14px 20px;
  padding:0;
  color:var(--dph-body);
}
.faq-answer-inner li {
  margin-bottom:6px;
  line-height:1.6;
}
.faq-answer-inner strong {
  color:var(--dph-gold-soft);
}
.faq-cta {
  max-width:920px;
  margin:40px auto 0;
  text-align:center;
  padding:32px;
  background:var(--dph-bg-card);
  border:1px dashed var(--dph-gold-line);
  border-radius:var(--dph-radius);
}
.faq-cta p {
  margin:0 0 20px;
  color:var(--dph-body);
  font-size:1.05rem;
  line-height:1.65;
}
@media (max-width:768px) {
  .faq-question {
    padding:16px;
    gap:12px;
    font-size:0.98rem;
  }
  .faq-num {
    display:none;
  }
  .faq-answer-inner {
    padding:0 16px 18px;
    font-size:0.92rem;
  }
  .faq-cta {
    padding:24px 16px;
  }
}

/* Tieu de lon: chu vang kim gradient (co fallback mau phang cho trinh duyet cu) */
.section-head h2,.dph-title,.dn-team-title,.page-hero h1,.dph-story-title {
  color:var(--dph-gold);
}

@supports (-webkit-background-clip:text) or (background-clip:text) {
  .section-head h2,.dph-title,.dn-team-title,.page-hero h1,.dph-story-title {
    background:linear-gradient(to right,#F1E075 0%,#AE7F41 100%);
    -webkit-background-clip:text;
    background-clip:text;
    -webkit-text-fill-color:transparent;
  }
  .dph-story-title span {
    -webkit-text-fill-color:var(--dph-gold-soft);
  }
  .cta-band h2,.proc-card:hover h3,.proj-overlay h3,.site-footer h4,.hero-content h1,.entry-content th {
    -webkit-text-fill-color:currentColor;
  }
}

/* ============================================================
   BẢNG GIÁ THIẾT KẾ & THI CÔNG (PRICING TABS)
   ============================================================ */
.section-pricing {
  background:var(--dph-bg);
}
.pricing-tabs-nav {
  display:flex;
  justify-content:center;
  gap:16px;
  margin-bottom:28px;
}
.pricing-tab-btn {
  background:var(--dph-bg-card);
  color:var(--dph-ink);
  border:2px solid var(--dph-gold-line);
  font-family:var(--dph-font);
  font-weight:700;
  font-size:1.05rem;
  padding:13px 32px;
  border-radius:10px;
  cursor:pointer;
  transition:.3s;
  letter-spacing:.5px;
  outline:none;
  background-repeat:no-repeat !important;
  background-origin:border-box !important;
  background-clip:border-box !important;
}
.pricing-tab-btn:hover {
  border-color:var(--dph-gold);
  color:var(--dph-gold);
}
.pricing-tab-btn.active {
  background:var(--dph-gold-grad) no-repeat !important;
  background-repeat:no-repeat !important;
  background-origin:border-box !important;
  background-clip:border-box !important;
  color:var(--dph-on-gold);
  border:2px solid transparent !important;
  box-shadow:var(--dph-shadow-sm);
}

.pricing-tab-pane {
  display:none;
}
.pricing-tab-pane.active {
  display:block;
  animation:dph-fade-in .35s ease;
}
@keyframes dph-fade-in {
  from { opacity:0; transform:translateY(10px); }
  to   { opacity:1; transform:translateY(0); }
}

/* Pricing Group Head & Luxury Grid */
.pricing-group-head {
  text-align:center;
  margin:28px 0 20px;
}
.pricing-group-head .badge {
  display:inline-block;
  background:var(--dph-gold-tint);
  color:var(--dph-gold);
  border:1px solid var(--dph-gold-line);
  font-size:.78rem;
  font-weight:700;
  letter-spacing:1px;
  padding:4px 14px;
  border-radius:20px;
  text-transform:uppercase;
  margin-bottom:8px;
}
.pricing-group-head .badge-luxury {
  background:linear-gradient(135deg, #102542, #071529);
  color:#e8c67c;
  border-color:var(--dph-gold);
}
.pricing-group-head h3 {
  font-size:1.35rem;
  font-weight:800;
  color:var(--dph-ink);
  margin:0;
  letter-spacing:.3px;
}
.pricing-grid-luxury {
  max-width:820px;
  margin:24px auto 0;
}

/* TAB 1: 3 Cột Thiết kế */
.pricing-grid-3 {
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:24px;
  align-items:stretch;
  margin-top:24px;
}
.pricing-card {
  background:var(--dph-bg-card);
  border:1.5px solid var(--dph-line);
  border-radius:var(--dph-radius);
  padding:36px 26px 30px;
  display:flex;
  flex-direction:column;
  position:relative;
  transition:.3s;
}
.pricing-card:hover {
  transform:translateY(-6px);
  border-color:var(--dph-gold);
  box-shadow:var(--dph-shadow);
}
.pricing-card.featured {
  border:2px solid var(--dph-gold);
  box-shadow:0 0 28px rgba(207,176,91,.22);
}
.pricing-badge-popular {
  position:absolute;
  top:-14px;
  left:50%;
  transform:translateX(-50%);
  background:var(--dph-gold-grad);
  color:var(--dph-on-gold);
  font-size:.78rem;
  font-weight:800;
  padding:5px 18px;
  border-radius:20px;
  letter-spacing:.5px;
  text-transform:uppercase;
  white-space:nowrap;
  box-shadow:var(--dph-shadow-sm);
}
.pricing-ribbon {
  position:absolute;
  top:14px;
  right:14px;
  background:#e53935;
  color:#fff;
  font-size:.68rem;
  font-weight:800;
  padding:4px 10px;
  border-radius:4px;
  letter-spacing:.5px;
  text-transform:uppercase;
}
.pricing-card-head {
  text-align:center;
  margin-bottom:24px;
  padding-bottom:20px;
  border-bottom:1px solid var(--dph-gold-line);
}
.pricing-card-title {
  font-size:1.15rem;
  font-weight:800;
  color:var(--dph-ink);
  margin-bottom:12px;
  text-transform:uppercase;
  letter-spacing:.5px;
}
.pricing-card-price .num {
  font-size:2.3rem;
  font-weight:800;
  color:var(--dph-gold);
  line-height:1;
}
.pricing-card-price .unit {
  font-size:.85rem;
  font-weight:600;
  color:var(--dph-muted);
  margin-left:4px;
}
.pricing-features {
  list-style:none;
  padding:0;
  margin:0 0 30px;
  flex:1;
  display:flex;
  flex-direction:column;
  gap:14px;
}
.pricing-features li {
  display:flex;
  align-items:center;
  gap:12px;
  font-size:.95rem;
  color:var(--dph-body);
}
.pricing-features li.no-feature {
  color:var(--dph-muted);
  opacity:.65;
}
.feat-ic {
  width:22px;
  height:22px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  flex-shrink:0;
}
.feat-ic.check {
  color:var(--dph-gold);
  background:var(--dph-gold-tint);
  font-size:.95rem;
}
.feat-ic.cross {
  color:#e53935;
  background:rgba(229,57,53,.15);
  font-size:1.15rem;
  font-weight:800;
  line-height:1;
}
.pricing-card-footer .btn {
  width:100%;
  justify-content:center;
  font-weight:700;
  letter-spacing:.5px;
}

/* TAB 2: 2 Khối Đơn Giá Thi Công */
.pricing-grid-2 {
  display:grid;
  grid-template-columns:repeat(2, 1fr);
  gap:24px;
  max-width:960px;
  margin:36px auto 28px;
}
.pricing-box-construction {
  background:var(--dph-bg-card);
  border:2px solid var(--dph-gold);
  border-radius:var(--dph-radius);
  overflow:hidden;
  text-align:center;
  box-shadow:var(--dph-shadow-sm);
  transition:.3s;
}
.pricing-box-construction:hover {
  transform:translateY(-4px);
  box-shadow:var(--dph-shadow);
}
.pbc-header {
  background:var(--dph-gold-tint);
  border-bottom:1px solid var(--dph-gold-line);
  padding:16px 20px;
  font-size:1.2rem;
  font-weight:800;
  color:var(--dph-gold);
  text-transform:uppercase;
  letter-spacing:.5px;
}
.pbc-body {
  padding:28px 20px;
}
.pbc-sub {
  display:block;
  font-size:.92rem;
  color:var(--dph-muted);
  margin-bottom:8px;
}
.pbc-price .num {
  font-size:2.5rem;
  font-weight:800;
  color:var(--dph-gold);
  line-height:1;
}
.pbc-price .unit {
  font-size:.95rem;
  font-weight:600;
  color:var(--dph-muted);
  margin-left:6px;
}

/* Box Ưu Đãi */
.pricing-promo-box {
  max-width:960px;
  margin:0 auto;
  background:var(--dph-bg-card);
  border:2px solid var(--dph-gold);
  border-radius:var(--dph-radius);
  overflow:hidden;
  box-shadow:var(--dph-shadow-sm);
}
.ppb-header {
  background:var(--dph-gold-grad);
  color:var(--dph-on-gold);
  padding:18px 24px;
  text-align:center;
  font-size:1.25rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.5px;
}
.ppb-body {
  padding:32px 32px 36px;
}
.ppb-list {
  list-style:none;
  padding:0;
  margin:0 0 32px;
  display:flex;
  flex-direction:column;
  gap:16px;
}
.ppb-list li {
  display:flex;
  align-items:center;
  gap:14px;
  font-size:1.05rem;
  color:var(--dph-ink);
  font-weight:500;
}
.ppb-ic {
  color:var(--dph-gold);
  background:var(--dph-gold-tint);
  width:26px;
  height:26px;
  border-radius:50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:.9rem;
  flex-shrink:0;
}
.ppb-action {
  text-align:center;
}
.ppb-action .btn {
  padding:14px 40px;
  font-size:1.08rem;
  font-weight:700;
  letter-spacing:.5px;
}

/* Responsive */
@media (max-width:960px) {
  .pricing-grid-3 {
    grid-template-columns:1fr;
    max-width:460px;
    margin-left:auto;
    margin-right:auto;
  }
  .pricing-grid-2 {
    grid-template-columns:1fr;
    max-width:460px;
  }
  .pricing-tab-btn {
    padding:12px 20px;
    font-size:.95rem;
  }
  .pbc-price .num {
    font-size:2.1rem;
  }
  .ppb-body {
    padding:24px 18px;
  }
  .ppb-list li {
    font-size:.96rem;
  }
}

/* ============================================================
   Foot Tác giả & Chia sẻ bài viết (Blog Single)
   ============================================================ */
.post-author-box {
  margin:36px 0 24px;
}
.pab-intro {
  font-size:1.02rem;
  line-height:1.75;
  color:var(--dph-ink);
  margin-bottom:18px;
}
.pab-card {
  background:#f4f6fa;
  color:#1e293b;
  border-radius:14px;
  padding:22px 28px;
  box-shadow:0 6px 20px rgba(0,0,0,.15);
  margin-bottom:22px;
  border-left:5px solid var(--dph-gold);
}
.pab-card ul {
  list-style:disc inside;
  padding:0;
  margin:0;
}
.pab-card li {
  padding:6px 0;
  font-size:.98rem;
  line-height:1.65;
  color:#334155;
}
.pab-card li strong {
  color:#0f172a;
}
.pab-card a {
  color:#0f172a;
  text-decoration:none;
}
.pab-card a:hover {
  text-decoration:underline;
}
.pab-card .pab-phone {
  color:#e02424;
  font-weight:700;
}
.pab-card .pab-web {
  color:#d97706;
  text-decoration:underline;
  word-break:break-all;
}
.pab-share {
  border-top:1px solid var(--dph-gold-line);
  padding-top:18px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:16px;
  flex-wrap:wrap;
}
.pab-share-label {
  font-size:1.05rem;
  font-weight:600;
  color:var(--dph-ink);
}
.pab-share-buttons {
  display:flex;
  align-items:center;
  gap:8px;
}
.pab-share-btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:36px;
  height:36px;
  border:1.5px solid #cbd5e1;
  border-radius:4px;
  background:#ffffff;
  color:#334155;
  font-size:1.1rem;
  transition:all var(--dph-transition,.2s);
  text-decoration:none;
}
.pab-share-btn:hover {
  transform:translateY(-2px);
  box-shadow:0 4px 10px rgba(0,0,0,.15);
}
.pab-share-btn.share-fb {
  color:#1877f2;
  border-color:#1877f2;
}
.pab-share-btn.share-x {
  color:#0f1419;
  border-color:#0f1419;
}
.pab-share-btn.share-in {
  color:#0a66c2;
  border-color:#0a66c2;
}
.pab-share-btn.share-pin {
  color:#bd081c;
  border-color:#bd081c;
}

/* ============================================================
   Section: Đội ngũ nhân sự
   ============================================================ */
.team-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:24px;
  margin-top:36px;
}
.team-card {
  background:var(--dph-bg-card);
  border:1px solid var(--dph-gold-line);
  border-radius:var(--dph-radius);
  overflow:hidden;
  text-align:center;
  padding:30px 20px 24px;
  transition:transform var(--dph-transition,.25s),box-shadow var(--dph-transition,.25s),border-color var(--dph-transition,.25s);
  position:relative;
}
.team-card:hover {
  transform:translateY(-6px);
  border-color:var(--dph-gold);
  box-shadow:var(--dph-shadow);
}
.team-avatar-wrap {
  width:104px;
  height:104px;
  margin:0 auto 16px;
  border-radius:50%;
  padding:3px;
  background:var(--dph-gold-grad);
  display:flex;
  align-items:center;
  justify-content:center;
}
.team-avatar {
  width:100%;
  height:100%;
  border-radius:50%;
  overflow:hidden;
  background:#0d2039;
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--dph-gold-soft);
  font-size:2.2rem;
}
.team-avatar img {
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:50%;
  display:block;
}
.team-role {
  display:inline-block;
  font-size:.78rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.5px;
  color:var(--dph-gold-soft);
  background:var(--dph-gold-tint);
  border:1px solid var(--dph-gold-line);
  border-radius:999px;
  padding:4px 14px;
  margin-bottom:12px;
}
.team-name {
  font-size:1.15rem;
  font-weight:700;
  color:var(--dph-ink);
  margin:0 0 8px;
}
.team-desc {
  font-size:.88rem;
  color:var(--dph-muted);
  line-height:1.6;
  margin:0;
}
@media (max-width:992px) {
  .team-grid {
    grid-template-columns:repeat(2,1fr);
  }
}
@media (max-width:576px) {
  .team-grid {
    grid-template-columns:1fr;
    max-width:380px;
    margin-left:auto;
    margin-right:auto;
  }
}

/* ============================================================
   Section: Đối tác của chúng tôi
   ============================================================ */
.partners-grid {
  display:grid;
  grid-template-columns:repeat(5, 1fr);
  gap:16px;
  margin-top:36px;
}
.partner-card {
  background:#ffffff;
  border:1px solid rgba(207, 176, 91, 0.25);
  border-radius:12px;
  padding:14px 20px;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:92px;
  height:92px;
  transition:transform .25s ease, border-color .25s ease, box-shadow .25s ease;
  box-shadow:0 4px 14px rgba(0, 0, 0, 0.12);
}
.partner-card:hover {
  transform:translateY(-4px);
  border-color:var(--dph-gold);
  box-shadow:0 8px 24px rgba(207, 176, 91, 0.25);
}
.partner-card img {
  max-width:100%;
  max-height:56px;
  width:auto;
  height:auto;
  object-fit:contain;
  display:block;
  transition:transform .25s ease;
}
.partner-card:hover img {
  transform:scale(1.05);
}
@media (max-width:1100px) {
  .partners-grid {
    grid-template-columns:repeat(3, 1fr);
    gap:14px;
  }
}
@media (max-width:640px) {
  .partners-grid {
    grid-template-columns:repeat(2, 1fr);
    gap:12px;
  }
  .partner-card {
    min-height:80px;
    height:80px;
    padding:10px 14px;
  }
  .partner-card img {
    max-height:46px;
  }
}

