/*
 * DanangLuxe Brand System V3
 * Visual-only layer. Keeps Project / Zone / Property data and ACF structure intact.
 * Loaded last in the WPVibe draft so it can normalize Houzez/Elementor presentation safely.
 */
:root{
  --dnl-navy:#102436;
  --dnl-navy-deep:#081824;
  --dnl-navy-hover:#071520;
  --dnl-gold:#c3a15f;
  --dnl-gold-soft:#e6d6b4;
  --dnl-ivory:#f7f4ed;
  --dnl-paper:#fff;
  --dnl-ink:#17202a;
  --dnl-muted:#6e7478;
  --dnl-line:#e7e1d6;
  --dnl-radius:8px;
  --dnl-radius-lg:10px;
  --dnl-serif:"Playfair Display",Georgia,"Times New Roman",serif;
  --dnl-sans:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  --dnl-shadow:0 18px 46px rgba(16,36,54,.07);
}

body:not(.wp-admin){color:var(--dnl-ink);font-family:var(--dnl-sans)!important}
body:not(.wp-admin) button,
body:not(.wp-admin) input,
body:not(.wp-admin) select,
body:not(.wp-admin) textarea,
body:not(.wp-admin) .btn,
body:not(.wp-admin) .nav-link,
body:not(.wp-admin) .elementor-button,
body:not(.wp-admin) .form-control,
body:not(.wp-admin) .bootstrap-select>.dropdown-toggle,
body:not(.wp-admin) .item-price,
body:not(.wp-admin) .item-address,
body:not(.wp-admin) .property-overview-data,
body:not(.wp-admin) .dnl-prose{font-family:var(--dnl-sans)!important}
body:not(.wp-admin) h1,
body:not(.wp-admin) h2,
body:not(.wp-admin) h3,
body:not(.wp-admin) .elementor-heading-title,
body:not(.wp-admin) .houzez_section_title,
body:not(.wp-admin) .property_title,
body:not(.wp-admin) .item-title,
body:not(.wp-admin) .item-title a,
body:not(.wp-admin) .block-title-wrap h2{font-family:var(--dnl-serif)!important}
body:not(.wp-admin) a{transition:color .2s ease,background-color .2s ease,border-color .2s ease,opacity .2s ease,transform .2s ease}
body:not(.wp-admin) ::selection{background:var(--dnl-gold-soft);color:var(--dnl-navy-deep)}

/* Global header — one visual language, same builder #18468 */
#header-hz-elementor{
  background:rgba(255,255,255,.98)!important;
  border-bottom:1px solid rgba(16,36,54,.08)!important;
  box-shadow:none!important;
}
#header-hz-elementor .houzez-nav-menu-main .nav-link{
  color:var(--dnl-navy)!important;
  font-family:var(--dnl-sans)!important;
  font-size:14px;
  font-weight:600!important;
}
#header-hz-elementor .houzez-nav-menu-main .nav-link:hover,
#header-hz-elementor .houzez-nav-menu-main .current-menu-item>.nav-link{color:#000!important}
#header-hz-elementor .elementor-button{
  min-height:42px!important;
  padding:0 18px!important;
  border:1px solid var(--dnl-navy)!important;
  border-radius:6px!important;
  background:var(--dnl-navy)!important;
  color:#fff!important;
  box-shadow:none!important;
  font-weight:650!important;
}
#header-hz-elementor .elementor-button:hover{background:var(--dnl-navy-hover)!important;border-color:var(--dnl-navy-hover)!important}
#header-hz-elementor .houzez-menu-toggle-button{color:var(--dnl-navy)!important}

/* Buttons / controls */
body:not(.wp-admin) .btn-primary,
body:not(.wp-admin) .btn-secondary,
body:not(.wp-admin) .houzez-ele-button,
body:not(.wp-admin) .advanced-search-btn,
body:not(.wp-admin) .save-search-btn,
body:not(.wp-admin) .reset-search-btn,
body:not(.wp-admin) button[type="submit"]{
  border-radius:6px!important;
  background:var(--dnl-navy)!important;
  border-color:var(--dnl-navy)!important;
  color:#fff!important;
  box-shadow:none!important;
}
body:not(.wp-admin) .btn-primary:hover,
body:not(.wp-admin) .btn-secondary:hover,
body:not(.wp-admin) .houzez-ele-button:hover,
body:not(.wp-admin) .advanced-search-btn:hover,
body:not(.wp-admin) .save-search-btn:hover,
body:not(.wp-admin) .reset-search-btn:hover,
body:not(.wp-admin) button[type="submit"]:hover{
  background:var(--dnl-navy-hover)!important;
  border-color:var(--dnl-navy-hover)!important;
  color:#fff!important;
}
body:not(.wp-admin) .btn-secondary-outlined{
  border:1px solid var(--dnl-navy)!important;
  border-radius:6px!important;
  background:#fff!important;
  color:var(--dnl-navy)!important;
}
body:not(.wp-admin) .btn-secondary-outlined:hover{background:var(--dnl-navy)!important;color:#fff!important}

/* Homepage: refine current structure, do not turn it into an archive */
.home .houzez_section_title,
.home .elementor-widget-heading h1.elementor-heading-title,
.home .elementor-widget-heading h2.elementor-heading-title{
  font-family:var(--dnl-serif)!important;
  color:var(--dnl-navy)!important;
  font-weight:500!important;
  letter-spacing:-.025em!important;
}
.home .houzez_section_subtitle{color:var(--dnl-muted)!important;line-height:1.7!important}
.home .houzez-search-builder-wrapper{
  border:1px solid rgba(16,36,54,.10)!important;
  border-radius:10px!important;
  background:#fff!important;
  box-shadow:0 20px 50px rgba(16,36,54,.08)!important;
}
.home .houzez-search-builder-wrapper .form-control,
.home .houzez-search-builder-wrapper .bootstrap-select>.dropdown-toggle{
  min-height:46px!important;
  border:1px solid var(--dnl-line)!important;
  border-radius:6px!important;
  background:#fff!important;
}
.home .houzez-status-tabs .nav-link{border-radius:4px!important;color:var(--dnl-navy)!important}
.home .houzez-status-tabs .nav-link.active{background:var(--dnl-navy)!important;color:#fff!important}
.home .item-wrap,
.home .property-item,
.home .blog-post-item,
.home .post-card{
  overflow:hidden!important;
  border:1px solid var(--dnl-line)!important;
  border-radius:var(--dnl-radius-lg)!important;
  background:#fff!important;
  box-shadow:none!important;
}
.home .item-wrap:hover,
.home .property-item:hover,
.home .blog-post-item:hover,
.home .post-card:hover{box-shadow:var(--dnl-shadow)!important;transform:translateY(-2px)}
.home .item-title a,.home .post-card-title a{color:var(--dnl-navy)!important}
.home .slick-prev,.home .slick-next,
.home .owl-prev,.home .owl-next,
.home .carousel-control-prev,.home .carousel-control-next{
  width:38px!important;height:38px!important;min-width:38px!important;min-height:38px!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  border:1px solid var(--dnl-navy)!important;border-radius:50%!important;
  background:var(--dnl-navy)!important;color:#fff!important;opacity:1!important;box-shadow:none!important;
}
.home .slick-prev:hover,.home .slick-next:hover,
.home .owl-prev:hover,.home .owl-next:hover,
.home .carousel-control-prev:hover,.home .carousel-control-next:hover{background:var(--dnl-navy-hover)!important;border-color:var(--dnl-navy-hover)!important;color:#fff!important}
.home .slick-prev:before,.home .slick-next:before{color:#fff!important;opacity:1!important}
.home .slick-list,.home .slick-track{padding-bottom:2px}
.home .item-body,.home .card-body,.home .elementor-widget-container{min-width:0}
.home .item-body a,.home .card-body a{overflow:visible!important;clip-path:none!important}
.home .label,.home .label-status,.home .item-labels-wrap .label{border-radius:4px!important}

/* Project + Zone: preserve ACF sequence/sections; visual normalization only */
.dnl-project-single,.dnl-zone-single{background:#fff;color:var(--dnl-ink);font-family:var(--dnl-sans)}
.dnl-project-hero{background-color:var(--dnl-navy-deep)}
.dnl-project-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,24,36,.70),rgba(8,24,36,.18) 62%,rgba(8,24,36,.08));pointer-events:none}
.dnl-project-hero{position:relative}
.dnl-project-hero .dnl-shell{position:relative;z-index:1}
.dnl-hero-copy h1{
  font-family:var(--dnl-serif)!important;
  font-weight:500!important;
  letter-spacing:-.025em!important;
  text-wrap:balance;
}
.dnl-hero-copy p{max-width:760px}
.dnl-project-nav{border-bottom:1px solid var(--dnl-line);background:rgba(255,255,255,.96)}
.dnl-project-nav a{color:#56606a}
.dnl-project-nav a:hover,.dnl-project-nav a.is-active{color:var(--dnl-navy)}
.dnl-project-nav a.is-active:after{background:var(--dnl-gold)}
.dnl-project-intro{gap:64px}
.dnl-project-intro>.dnl-prose{color:#39434b}
.dnl-facts,.dnl-zone-card,.dnl-faq-list details{
  border:1px solid var(--dnl-line)!important;
  border-radius:var(--dnl-radius-lg)!important;
  box-shadow:none!important;
}
.dnl-facts h2,.dnl-section-head h2,.dnl-section-heading h2,.dnl-prose h2,.dnl-prose h3,.dnl-zone-card h3{
  font-family:var(--dnl-serif)!important;
  color:var(--dnl-navy)!important;
  font-weight:500!important;
}
.dnl-section-no,.dnl-eyebrow{color:#9b7736}
.dnl-section-alt{background:var(--dnl-ivory)}
.dnl-prose a{color:#755721;border-bottom-color:#d8c18f}
.dnl-prose blockquote{background:#f4efe4;border-left-color:var(--dnl-gold)}
.dnl-zone-card{overflow:hidden;background:#fff;transition:transform .2s ease,box-shadow .2s ease}
.dnl-zone-card:hover{transform:translateY(-2px);box-shadow:var(--dnl-shadow)!important}
.dnl-zone-card-meta span{border-radius:4px;background:#f3eee3;color:#6e5930}
.dnl-gallery-grid a,.dnl-masterplan-image img,.dnl-prose img{border-radius:var(--dnl-radius-lg)}
.dnl-consult{background:var(--dnl-navy-deep)}
.dnl-consult h2{font-family:var(--dnl-serif)!important;font-weight:500!important}

/* Property Detail — keep Houzez/ACF layout, make it part of the same brand */
.single-property{
  --dnl-prop-line:var(--dnl-line);
  --dnl-prop-ink:var(--dnl-navy);
  --dnl-prop-muted:var(--dnl-muted);
  --dnl-prop-gold:var(--dnl-gold);
  --dnl-prop-radius:var(--dnl-radius-lg);
  background:#fff;
}
.single-property .property_title,
.single-property .page-title h1,
.single-property .block-title-wrap h2,
.single-property h2.elementor-heading-title,
.single-property .elementor-widget-houzez-property-content h2{
  font-family:var(--dnl-serif)!important;
  color:var(--dnl-navy)!important;
  font-weight:500!important;
  letter-spacing:-.02em!important;
}
.single-property .hz-ele-price .price,
.single-property .property-price-wrap .price{color:var(--dnl-navy)!important}
.single-property .property-section-wrap>.block-wrap,
.single-property .property-form-wrap,
.single-property .elementor-widget-houzez-property-section-similar .item-wrap{
  border:1px solid var(--dnl-line)!important;
  border-radius:var(--dnl-radius-lg)!important;
  box-shadow:none!important;
}
.single-property .property-overview-wrap-v2 i{color:var(--dnl-gold)!important}
.single-property .property-banner,
.single-property .top-gallery-section,
.single-property .listing-slider,
.single-property .tab-pane,
.single-property .block-map-wrap{border-radius:var(--dnl-radius-lg)!important}
.single-property .dnl-contact-form .houzez-ele-button,
.single-property .mobile-property-contact button.btn-secondary{
  background:var(--dnl-navy)!important;border-color:var(--dnl-navy)!important;color:#fff!important
}
.single-property .dnl-contact-form .houzez-ele-button:hover,
.single-property .mobile-property-contact button.btn-secondary:hover{background:var(--dnl-navy-hover)!important;border-color:var(--dnl-navy-hover)!important}
.single-property .dnl-contact-form .hz-btn-call,
.single-property .dnl-contact-form .hz-btn-whatsapp,
.single-property .mobile-property-contact a.btn-secondary-outlined{
  background:#fff!important;border:1px solid var(--dnl-navy)!important;color:var(--dnl-navy)!important
}

/* Agent */
.single-houzez_agent .agent-profile-header h1,
.single-houzez_agent .agent-profile-wrap h2,
.single-houzez_agent .agent-bio-wrap h2{
  font-family:var(--dnl-serif)!important;
  color:var(--dnl-navy)!important;
  font-weight:500!important;
}
.single-houzez_agent .agent-profile-wrap,
.single-houzez_agent .agent-stats-wrap,
.single-houzez_agent .agent-bio-wrap,
.single-houzez_agent .agent-profile-chart-wrap{
  border:1px solid var(--dnl-line)!important;
  border-radius:var(--dnl-radius-lg)!important;
  box-shadow:none!important;
}

/* Listing archives / half map */
.dnl-project-archive,.dnl-discovery,.houzez-halfmap-page,.listing-view{color:var(--dnl-ink)}
.dnl-archive-hero{background:var(--dnl-navy-deep)!important}
.dnl-archive-hero h1,.dnl-discovery-head h2{
  font-family:var(--dnl-serif)!important;
  font-weight:500!important;
  letter-spacing:-.02em!important;
}
.dnl-project-card,.dnl-property-card,
.houzez-halfmap-page .item-wrap,.listing-view .item-wrap{
  border:1px solid var(--dnl-line)!important;
  border-radius:var(--dnl-radius-lg)!important;
  box-shadow:none!important;
}
.dnl-project-card:hover,.dnl-property-card:hover,
.houzez-halfmap-page .item-wrap:hover,.listing-view .item-wrap:hover{box-shadow:var(--dnl-shadow)!important}
.dnl-chip{border-radius:4px!important;background:#f1eadb!important;color:#67532c!important}
.map-next-prev-actions .btn,.map-next-prev-actions .map-btn,
.map-zoom-actions .btn,.map-zoom-actions .map-btn,
.map-arrows-actions .map-btn,.mobile-map-switch .btn,
.leaflet-control-zoom a{
  background:var(--dnl-navy)!important;border-color:var(--dnl-navy)!important;color:#fff!important;box-shadow:none!important
}

/* Footer */
.dnl-footer-cta,.dnl-footer{background:var(--dnl-navy-deep)!important}
.dnl-footer-cta h2,.dnl-footer-brand strong{font-family:var(--dnl-serif)!important;font-weight:500!important}
.dnl-footer-cta a{border-radius:6px!important;background:#f3dca9!important;border-color:#f3dca9!important;color:var(--dnl-navy-deep)!important}
.dnl-footer-cta a:hover{background:#ffe7b5!important;border-color:#ffe7b5!important}
.dnl-footer-bottom{border-top-color:rgba(255,255,255,.12)!important}

/* Editorial scale refinement — Playfair Display needs more breathing room in Vietnamese */
.dnl-home-hero-copy h1{font-size:clamp(40px,4.7vw,60px)!important;line-height:1.12!important;letter-spacing:-.018em!important}
.dnl-home-section-head h2,.dnl-home-advisory-intro h2,.dnl-home-market-intro h2,.dnl-home-private h2{font-size:clamp(32px,3.6vw,46px)!important;line-height:1.16!important;letter-spacing:-.018em!important}
@media(max-width:767px){
  .dnl-home-hero-copy h1{font-size:38px!important;line-height:1.16!important}
  .dnl-home-section-head h2{font-size:34px!important;line-height:1.18!important}
  .dnl-home-advisory-intro h2{font-size:36px!important;line-height:1.18!important}
  .dnl-home-private h2{font-size:32px!important;line-height:1.18!important}
}
.dnl-home-project-copy h3{line-height:1.14!important}
.dnl-project-hero .dnl-hero-copy h1{font-size:clamp(40px,5vw,64px)!important;line-height:1.1!important;letter-spacing:-.018em!important}
.dnl-project-single .dnl-section-head h2,.dnl-zone-single .dnl-section-head h2,.dnl-consult h2{line-height:1.14!important}
.dnl-project-nav .dnl-shell{overflow-x:auto;scrollbar-width:none}
.dnl-project-nav .dnl-shell::-webkit-scrollbar{display:none}
.dnl-project-nav a{flex:0 0 auto;white-space:nowrap}

/* Homepage area cards — preserve contrast in every link interaction state */
.dnl-home-area-card,
.dnl-home-area-card:link,
.dnl-home-area-card:visited,
.dnl-home-area-card:hover,
.dnl-home-area-card:focus,
.dnl-home-area-card:focus-visible,
.dnl-home-area-card:active{color:#fff!important}
.dnl-home-area-card .dnl-home-area-copy strong{color:#fff!important}
.dnl-home-area-card .dnl-home-area-copy small{color:#e8d5a9!important}
.dnl-home-area-card:focus-visible{outline:2px solid #edcf91;outline-offset:3px}

/* Responsive */
@media(max-width:900px){
  .dnl-project-intro{gap:34px}
  .home .slick-prev,.home .slick-next,.home .owl-prev,.home .owl-next{width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important}
}
@media(max-width:767px){
  #header-hz-elementor .elementor-button{min-height:40px!important}
  .dnl-project-hero:before{background:linear-gradient(180deg,rgba(8,24,36,.18),rgba(8,24,36,.78))}
  .home .houzez-search-builder-wrapper{border-radius:8px!important;box-shadow:none!important}
  .home .item-wrap,.home .property-item,.home .blog-post-item,.home .post-card{border-radius:8px!important}
  .single-property .property-section-wrap>.block-wrap,
  .single-property .property-form-wrap{border-radius:8px!important}
}
