/* Custom CSS for die-immobilien.com */
/* Updated: 2026-05-07 02:54 - Added di-destination-card-simple, removed margin-top from di-home-trust */
.main-header .main-box {display: flex;align-items: center;justify-content: space-between;gap: 24px;min-height: 92px;}
.main-header .logo-box {padding: 0px 0px;display: flex;align-items: center;gap: 14px;flex: 0 0 auto;}
.main-header .logo-box .logo {margin: 0;}
.main-header .logo-box .mobile-top {max-width: 150px;margin: 0 !important;height: 38px;padding: 6px 10px;font-size: 12px;}
.main-header .logo-box a.form-control {width: auto !important;display: inline-flex;align-items: center;justify-content: center;}
.main-header .menu-area {display: flex;align-items: center;justify-content: flex-end;flex: 1 1 auto;}
.main-menu .navigation {display: flex;align-items: center;justify-content: flex-end;flex-wrap: nowrap;}
.main-menu .navigation > li {padding: 0px 0px;margin-left: 18px;}
.main-menu .navigation > li > a {padding: 11px 0px;border: 0 !important;background: transparent !important;box-shadow: none !important;}
.main-menu .navigation > li > a span {border: 0 !important;background: transparent !important;box-shadow: none !important;}
.main-menu .navigation > li.current > a span, .main-menu .navigation > li > a:hover span {color: #762638;}
.main-menu .navigation > li .btn {border-radius: 999px;border: 0 !important;box-shadow: none !important;padding: 9px 14px;}
.main-menu .navigation > li .ms-4 {margin-left: 0 !important;}
.langdropmenu{min-width:auto;width:52px;padding: 0.1rem 0;}
.mobile-menu .navigation li.langcaret ul li > a {margin-left: 0px;padding:0;}
.mobile-menu .contact-info {padding: 40px 30px 20px 30px;}
.mobile-menu .nav-logo {position: relative;padding: 50px 25px;text-align: left;
  padding-bottom: 40px;}
.sticky-header {box-shadow: 0 10px 20px 0px rgb(0 0 0 / 7%);border-bottom:solid 3px #762638;}
.subscribe-section .pattern-layer {top: 0px;}
.subscribe-section {padding: 40px 0px 40px 0px;}
.fontnews{font-size:24px;}
.newsform img {height:52px;}
.loginform img {height:50px;width:150px !important;max-width:150px !important;min-width:150px !important;}
.btncustom:hover, .scroll-top:hover {background-color:#762638 !important;color:#000 !important;}
.main-footer {background: #171717;border-top: 4px solid #762638;}
.footer-bottom {padding: 24px 0px;}
.footer-bottom p, .footer-bottom a, .footer-nav li a {color: rgba(255,255,255,.82) !important;}
.searchlist .list {max-height:200px;overflow-y:auto;}
.search-field .top-search .form-group i {left: 10px;}
.search-field .top-search .nice-select {padding: 0px 30px;}
.nice-select {text-transform:none;}
.nice-select .option {overflow-x: hidden;padding: 5px 5px 2px 5px !important;}
.nice-select::after {right: 15px;}
.nice-select .current {width:100%;overflow:hidden;display: block;}
.search-field .top-search .form-group input[type="search"] {padding: 10px 20px 10px 30px;}
.property-page-section {position: relative;padding: inherit;}
.main-menu .navigation > li > a {text-transform:uppercase;}
.banner-section .content-box h2 {text-shadow: 0 16px 40px rgba(0,0,0,.35);}
.di-hero-search {background: transparent !important;padding: 0 !important;}
.di-search-glass {background: rgba(255,255,255,.96);border: 1px solid rgba(255,255,255,.55);border-radius: 30px;padding: 24px;box-shadow: 0 28px 90px rgba(15,23,42,.25);backdrop-filter: blur(18px);}
.di-search-glass .form-group {margin-bottom: 0;}
.di-search-glass label {font-size: 12px;font-weight: 900;letter-spacing: .06em;text-transform: uppercase;color: #666666;margin-bottom: 8px;}
.di-search-glass .field-input, .di-search-glass .nice-select, .di-search-glass .form-control {height: 56px;border: 1px solid #e5e3e0;border-radius: 16px;background: #f5f4f3;color: #171717;font-weight: 700;}
.di-search-glass .field-input input {height: 56px;border: 0;background: transparent;color: #171717;font-weight: 800;padding-left: 38px;}
.di-search-glass .field-input i {top: 18px;color: #762638;}
.di-search-glass .nice-select {line-height: 56px;padding-left: 18px;padding-right: 34px;}
.di-search-glass .nice-select .current {line-height: 56px;color: #171717;}
.di-main-search-btn button {height: 56px;width: 100%;border-radius: 18px;background: #762638;color: #fff;font-weight: 900;text-transform: uppercase;letter-spacing: .04em;box-shadow: 0 18px 34px rgba(118,38,56,.34);}
.di-main-search-btn button:hover {background: #762638;color: #222222;}
.di-main-search-btn button i {margin-right: 8px;}
.di-advanced-row {margin-top: 18px;padding-top: 18px;border-top: 1px solid #e9e8e6;}
.di-advanced-row .column {margin-bottom: 0;}
.di-advanced-row .form-control {font-size: 14px;padding: 0 14px;box-shadow: none;}
.di-advanced-row select.form-control {appearance: auto;}
.di-home-trust {position: relative;padding-bottom: 55px;}
.di-trust-card {background: #fff;border: 1px solid #e9e8e6;border-radius: 24px;padding: 26px;text-align: center;box-shadow: 0 24px 70px rgba(15,23,42,.12);height: 100%;}
.di-trust-card strong {display: block;color: #171717;font-size: 34px;font-weight: 900;line-height: 1;}
.di-trust-card span {display: block;color: #666666;font-weight: 800;margin-top: 8px;text-transform: uppercase;font-size: 12px;letter-spacing: .06em;}
.di-section-heading {max-width: 760px;margin: 0 auto 42px;}
.di-section-heading span {display: inline-block;color: #762638;font-size: 13px;font-weight: 900;text-transform: uppercase;letter-spacing: .1em;margin-bottom: 10px;}
.di-section-heading h2 {font-size: 42px;line-height: 1.15;font-weight: 900;color: #171717;margin-bottom: 14px;}
.di-section-heading p {font-size: 17px;color: #666666;line-height: 1.8;}
.di-category-tile {display: flex;align-items: center;gap: 18px;background: #fff;border: 1px solid #e9e8e6;border-radius: 26px;padding: 24px;box-shadow: 0 18px 50px rgba(15,23,42,.06);height: 100%;transition: all .25s ease;}
.di-category-tile:hover {transform: translateY(-6px);box-shadow: 0 28px 70px rgba(15,23,42,.12);}
.di-category-tile i {width: 58px;height: 58px;display: inline-flex;align-items: center;justify-content: center;border-radius: 18px;background: #f3ecde;color: #762638;font-size: 24px;}
.di-category-tile h4 {font-size: 20px;font-weight: 900;color: #171717;margin: 0 0 4px;}
.di-category-tile p {color: #666666;font-weight: 800;margin: 0;}
.di-home-featured {position: relative;overflow: hidden;}
.di-home-destinations {background: #fff;}
.di-destination-card {position: relative;display: flex;flex-direction: column;justify-content: flex-end;min-height: 320px;border-radius: 30px;overflow: hidden;background-size: cover;background-position: center;padding: 24px;color: #fff;box-shadow: 0 24px 70px rgba(15,23,42,.16);}
.di-destination-card:before {content: '';position: absolute;inset: 0;background: linear-gradient(180deg,rgba(15,23,42,.08),rgba(15,23,42,.82));}
.di-destination-card span, .di-destination-card h4 {position: relative;z-index: 1;color: #fff;}
.di-destination-card span {font-weight: 900;text-transform: uppercase;letter-spacing: .08em;font-size: 12px;color: #762638;}
.di-destination-card h4 {font-size: 28px;font-weight: 900;margin: 6px 0 0;}
.di-home-experience {padding: 70px 0 70px;background: linear-gradient(135deg,#222222,#252525);}
.di-experience-box {background: linear-gradient(135deg,#222222,#252525);border-radius: 36px;padding: 48px;box-shadow: 0 34px 90px rgba(15,23,42,.22);margin-bottom: 0;}
.di-experience-box span {display: inline-block;color: #762638;font-weight: 900;text-transform: uppercase;letter-spacing: .08em;margin-bottom: 12px;}
.di-experience-box h2 {color: #fff;font-size: 40px;line-height: 1.18;font-weight: 900;margin-bottom: 16px;}
.di-experience-box p {color: rgba(255,255,255,.72);font-size: 17px;line-height: 1.8;margin-bottom: 24px;}
.di-experience-grid {display: grid;grid-template-columns: repeat(2,1fr);gap: 16px;}
.di-experience-grid div {background: rgba(255,255,255,.08);border: 1px solid rgba(255,255,255,.12);border-radius: 24px;padding: 28px;color: #fff;}
.di-experience-grid i {font-size: 28px;color: #762638;margin-bottom: 14px;}
.di-experience-grid h4 {color: #fff;font-size: 18px;font-weight: 900;margin: 0;}
.di-info-card, .di-step-card, .di-faq-card {background: #fff;border: 1px solid #e9e8e6;border-radius: 26px;padding: 28px;height: 100%;box-shadow: 0 18px 50px rgba(15,23,42,.06);}
.di-info-card i {width: 58px;height: 58px;border-radius: 18px;background: #f3ecde;color: #762638;display: inline-flex;align-items: center;justify-content: center;font-size: 24px;margin-bottom: 18px;}
.di-info-card h4, .di-step-card h4, .di-faq-card h4 {font-size: 20px;font-weight: 900;color: #171717;margin-bottom: 10px;}
.di-info-card p, .di-step-card p, .di-faq-card p {color: #666666;line-height: 1.75;margin: 0;}
.di-split-card {min-height: 100%;border-radius: 34px;padding: 38px;background: #fff;border: 1px solid #e9e8e6;box-shadow: 0 24px 70px rgba(15,23,42,.08);}
.di-split-card span {display: inline-block;color: #762638;font-size: 12px;font-weight: 900;text-transform: uppercase;letter-spacing: .08em;margin-bottom: 12px;}
.di-split-card h3 {font-size: 30px;line-height: 1.22;font-weight: 900;color: #171717;margin-bottom: 20px;}
.di-split-card ul {margin: 0 0 26px;padding: 0;}
.di-split-card li {display: flex;gap: 10px;align-items: flex-start;color: #515151;font-weight: 700;margin-bottom: 12px;}
.di-split-card li i {color: #626262;margin-top: 4px;}
.di-split-buyers {background: linear-gradient(180deg,#fff,#f5f4f3);}
.di-split-owners {background: linear-gradient(135deg,#222222,#252525);}
.di-split-owners h3, .di-split-owners li {color: #fff;}
.di-split-owners span {color: #762638;}
.di-step-card strong {display: inline-flex;width: 54px;height: 54px;border-radius: 50%;align-items: center;justify-content: center;background: #762638;color: #fff;font-weight: 900;margin-bottom: 18px;}
.di-faq-card {padding: 24px 28px;}
.di-listing-sidebar {position: sticky;top: 105px;background: #fff;border: 1px solid #e9e8e6;border-radius: 28px;padding: 18px;box-shadow: 0 24px 70px rgba(15,23,42,.08);}
.di-filter-head {display: flex;align-items: center;justify-content: space-between;gap: 14px;background: linear-gradient(135deg,#222222,#252525);border-radius: 22px;padding: 22px;margin-bottom: 16px;}
.di-filter-head span {display: block;color: #762638;font-size: 12px;font-weight: 900;text-transform: uppercase;letter-spacing: .08em;margin-bottom: 4px;}
.di-filter-head h4 {color: #fff;font-size: 20px;line-height: 1.25;margin: 0;}
.di-filter-head a {color: #222222;background: #762638;border-radius: 999px;padding: 9px 14px;font-weight: 900;}
.di-filter-card {border: 1px solid #e9e8e6 !important;border-radius: 22px !important;padding: 20px !important;margin-bottom: 16px !important;background: #fff !important;box-shadow: 0 14px 35px rgba(15,23,42,.05);}
.di-filter-card .widget-title h5 {font-size: 15px;font-weight: 900;color: #171717;margin-bottom: 14px;}
.di-filter-card .select-box, .di-filter-card .form-group {margin-bottom: 12px;}
.di-filter-card .nice-select, .di-filter-card .form-control {height: 50px;border: 1px solid #e5e3e0;border-radius: 15px;background: #f5f4f3;color: #171717;font-weight: 700;box-shadow: none;}
.di-filter-card .nice-select {line-height: 50px;padding-left: 16px;}
.di-filter-card .filter-btn button {width: 100%;border-radius: 16px;padding: 14px 18px !important;font-weight: 900;}
.di-results-toolbar {display: flex;align-items: center;justify-content: space-between;gap: 16px;background: #fff;border: 1px solid #e9e8e6;border-radius: 24px;padding: 20px 22px;margin-bottom: 28px;box-shadow: 0 18px 45px rgba(15,23,42,.06);}
.di-results-toolbar .left-column span {display: block;color: #666666;font-size: 12px;font-weight: 900;letter-spacing: .08em;text-transform: uppercase;margin-bottom: 4px;}
.di-results-toolbar .left-column h5 {font-size: 24px;font-weight: 900;color: #171717;margin: 0;}
.di-results-toolbar .right-column {display: flex;align-items: center;gap: 12px;}
.di-results-toolbar .nice-select {height: 46px;line-height: 46px;border-radius: 14px;border: 1px solid #e5e3e0;background: #f5f4f3;font-weight: 800;}
.di-results-toolbar .short-menu button {width: 46px;height: 46px;border-radius: 14px;background: #f5f4f3;border: 1px solid #e5e3e0;color: #171717;}
.di-results-toolbar .short-menu button.on, .di-results-toolbar .short-menu button:hover {background: #762638;color: #fff;border-color: #762638;}
.di-empty-state {background: #fff;border: 1px dashed #d2d0cd;border-radius: 28px;padding: 70px 24px !important;box-shadow: 0 18px 45px rgba(15,23,42,.05);}
.di-empty-state i {font-size: 52px;color: #762638;margin-bottom: 18px;}
.di-empty-state h4 {font-size: 26px;font-weight: 900;color: #171717;margin-bottom: 8px;}
.di-empty-state p {color: #666666;margin-bottom: 24px;}
.di-detail-page {padding: 70px 0;background: #f5f4f3;}
.di-detail-hero {display: flex;align-items: flex-end;justify-content: space-between;gap: 24px;background: linear-gradient(135deg,#222222,#252525);border-radius: 32px;padding: 34px;margin-bottom: 30px;box-shadow: 0 28px 80px rgba(15,23,42,.18);}
.di-detail-badge {display: inline-block;background: #762638;color: #222222;border-radius: 999px;padding: 8px 16px;font-weight: 900;text-transform: uppercase;font-size: 12px;letter-spacing: .08em;margin-bottom: 14px;}
.di-detail-hero h1 {color: #fff;font-size: 42px;line-height: 1.15;font-weight: 900;margin: 0 0 14px;}
.di-detail-meta {display: flex;flex-wrap: wrap;gap: 12px;color: rgba(255,255,255,.78);font-weight: 700;}
.di-detail-meta i {color: #762638;margin-right: 6px;}
.di-detail-price {background: #fff;color: #762638;border-radius: 24px;padding: 18px 24px;font-size: 28px;font-weight: 900;white-space: nowrap;box-shadow: 0 18px 45px rgba(0,0,0,.18);}
.di-detail-gallery {background: #fff;border-radius: 30px;padding: 14px;box-shadow: 0 24px 70px rgba(15,23,42,.08);margin-bottom: 24px;}
.di-detail-gallery > a > img {width: 100%;height: 520px;object-fit: cover;border-radius: 22px;}
.di-detail-thumbs {display: grid;grid-template-columns: repeat(4,1fr);gap: 12px;margin-top: 12px;}
.di-detail-thumbs img {width: 100%;height: 120px;object-fit: cover;border-radius: 16px;}
.di-detail-stats {display: grid;grid-template-columns: repeat(4,1fr);gap: 14px;margin-bottom: 24px;}
.di-detail-stats div {background: #fff;border: 1px solid #e9e8e6;border-radius: 22px;padding: 20px;text-align: center;box-shadow: 0 16px 40px rgba(15,23,42,.05);}
.di-detail-stats i {display: block;color: #762638;font-size: 26px;margin-bottom: 10px;}
.di-detail-stats strong {display: block;color: #171717;font-size: 21px;font-weight: 900;}
.di-detail-stats span {color: #666666;font-size: 12px;font-weight: 900;text-transform: uppercase;letter-spacing: .06em;}
.di-detail-card {background: #fff;border: 1px solid #e9e8e6;border-radius: 28px;padding: 30px !important;margin-bottom: 24px !important;box-shadow: 0 18px 50px rgba(15,23,42,.06);}
.di-detail-card .title-box h4 {font-size: 24px;font-weight: 900;color: #171717;}
.di-detail-card .text p {color: #515151;line-height: 1.9;}
.di-detail-card .list li {background: #f5f4f3;border-radius: 14px;padding: 12px 14px;margin-bottom: 10px;color: #666666;font-weight: 700;}
.di-detail-card .list li span {float: right;color: #171717;font-weight: 900;}
.di-detail-sidebar {position: sticky;top: 105px;}
.di-contact-card {border-radius: 30px !important;overflow: hidden;background: #fff !important;border: 1px solid #e9e8e6 !important;box-shadow: 0 24px 70px rgba(15,23,42,.1);}
.di-contact-card .author-box {background: linear-gradient(135deg,#762638,#5e1d2d);padding: 28px !important;color: #fff;}
.di-contact-card .author-box h4, .di-contact-card .author-box li, .di-contact-card .author-box a {color: #fff !important;}
.di-contact-card .form-inner {padding: 24px !important;}
.di-contact-card input, .di-contact-card textarea {border-radius: 16px !important;background: #f5f4f3 !important;border: 1px solid #e5e3e0 !important;font-weight: 700;}
.di-contact-card button {width: 100%;border-radius: 16px !important;font-weight: 900;}
.di-similar-properties {margin-top: 48px;}
.di-similar-properties .title h4 {font-size: 30px;font-weight: 900;color: #171717;margin-bottom: 24px;}
.di-property-card .inner-box {border: 1px solid rgba(15, 23, 42, 0.08);border-radius: 24px;overflow: hidden;background: #fff;box-shadow: 0 18px 45px rgba(15, 23, 42, 0.08);transition: all 0.25s ease;}
.di-property-card .inner-box:hover {transform: translateY(-6px);box-shadow: 0 24px 60px rgba(15, 23, 42, 0.14);}
.di-property-media {position: relative;overflow: hidden;background: #f3f2f0;}
.di-property-media figure {margin: 0;}
.di-property-media img {width: 100%;height: 270px;object-fit: cover;transition: transform 0.35s ease;}
.di-property-card .inner-box:hover .di-property-media img {transform: scale(1.06);}
.di-property-badge {position: absolute;top: 18px;left: 18px;border-radius: 999px;background: #762638 !important;color: #fff !important;padding: 7px 14px;font-size: 12px;font-weight: 800;letter-spacing: .04em;text-transform: uppercase;box-shadow: 0 10px 25px rgba(118, 38, 56, .32);}
.di-card-fresh-badge {position:absolute;top:18px;right:18px;z-index:4;border-radius:999px;padding:6px 12px;font-size:11px;font-weight:900;letter-spacing:.05em;text-transform:uppercase;box-shadow:0 10px 24px rgba(15,23,42,.15);}
.di-card-fresh-badge.di-fresh-new {background:#626262;color:#fff;}
.di-card-fresh-badge.di-fresh-updated { background: #5e1d2d; color: white; }
.di-filter-helper { font-size: 0.75rem; color: #5b5b5b; margin-top: 4px; }

.di-active-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 12px 16px;
  background: #f7f6f4;
  border: 1px solid #e5e3e0;
  border-radius: 8px;
  margin-bottom: 16px;
  align-items: center;
}
.di-active-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  background: white;
  border: 1px solid #d2d0cd;
  border-radius: 20px;
  font-size: 0.85rem;
  color: #444444;
  text-decoration: none;
  transition: all 0.2s ease;
}
.di-active-chip:hover {
  border-color: #777777;
  background: #f3f2f0;
  color: #222222;
}
.di-active-chip i { font-size: 0.75rem; color: #5b5b5b; }
.di-active-chip:hover i { color: #444444; }
.di-active-chip-reset {
  display: inline-flex;
  align-items: center;
  padding: 6px 12px;
  background: #f5f4f3;
  color: #545454;
  border: 1px solid #eeedeb;
  border-radius: 20px;
  font-size: 0.85rem;
  text-decoration: none;
  margin-left: auto;
  transition: all 0.2s ease;
}
.di-active-chip-reset:hover {
  background: #eeedeb;
  border-color: #a9a6a3;
  color: #4b4b4b;
}
.di-save-search-wrapper {
  display: flex;
  align-items: center;
  gap: 12px;
}
.di-save-search-btn {
  display: inline-flex;
  align-items: center;
  padding: 8px 16px;
  background: #171717;
  color: white;
  border: none;
  border-radius: 8px;
  font-size: 0.9rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
}
.di-save-search-btn:hover {
  background: #2c2c2c;
  transform: translateY(-1px);
}
.di-save-search-helper {
  font-size: 0.8rem;
  color: #5b5b5b;
}
.di-price-history-chart {
  padding-top: 12px;
  border-top: 1px solid #f3f2f0;
}
.di-chart-title {
  font-size: 0.85rem;
  font-weight: 600;
  color: #444444;
  margin-bottom: 8px;
}
.di-destination-card-simple {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg,#222222,#252525);
  border: none;
  border-radius: 12px;
  padding: 24px 20px;
  text-align: center;
  transition: all 0.2s ease;
  text-decoration: none;
  color: #fff;
}
.di-destination-card-simple:hover {
  background: linear-gradient(135deg,#2c2c2c,#3a3a3a);
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.3);
  transform: translateY(-2px);
}
.di-destination-card-simple i {
  font-size: 32px;
  color: #fff;
  margin-bottom: 12px;
}
.di-destination-card-simple span {
  display: inline-block;
  background: rgba(255,255,255,0.2);
  color: #fff;
  padding: 4px 12px;
  border-radius: 20px;
  font-size: 0.75rem;
  font-weight: 600;
  margin-bottom: 12px;
}
.di-destination-card-simple h4 {
  font-size: 1rem;
  font-weight: 600;
  color: #fff;
  margin: 0;
}
.di-property-actions {position: absolute;top: 16px;right: 16px;display: flex;gap: 8px;}
.di-property-actions a {width: 40px;height: 40px;border-radius: 50%;display: inline-flex;align-items: center;justify-content: center;background: rgba(255,255,255,.94);color: #222222;box-shadow: 0 10px 24px rgba(15,23,42,.18);}
.di-property-actions a:hover {background: #762638;color: #222222;}
.di-property-body {padding: 24px !important;}
.di-property-topline {display: flex;align-items: center;justify-content: space-between;gap: 12px;margin-bottom: 12px;color: #666666;font-size: 13px;font-weight: 700;}
.di-property-topline i {color: #762638;margin-right: 6px;}
.di-property-card .title-text h4 {font-size: 21px;line-height: 1.3;margin-bottom: 14px;}
.di-property-card .title-text h4 a {color: #171717;}
.di-property-card .title-text h4 a:hover {color: #762638;}
.di-property-pricebox {display: flex;align-items: center;justify-content: space-between;margin-bottom: 14px;}
.di-property-pricebox .price-info h6 {font-size: 12px;color: #777777;text-transform: uppercase;letter-spacing: .08em;margin-bottom: 3px;}
.di-property-pricebox .price-info h4 {font-size: 24px;color: #762638;font-weight: 900;}
.di-property-text {min-height: 52px;color: #666666;line-height: 1.7;margin-bottom: 18px;}
.di-property-details {display: grid !important;grid-template-columns: repeat(2, minmax(0, 1fr));gap: 10px;margin-bottom: 20px !important;}
.di-property-details li {display: flex !important;align-items: center;gap: 8px;background: #f5f4f3;border-radius: 14px;padding: 10px 12px !important;color: #3a3a3a;font-weight: 700;font-size: 13px;}
.di-property-details li i {color: #762638;}
.di-property-footer {display: flex;align-items: center;justify-content: space-between;border-top: 1px solid #e9e8e6;padding-top: 18px;}
.di-property-footer .theme-btn {border-radius: 999px;padding: 11px 18px !important;}
.di-property-social {font-weight: 800;color: #666666;padding-top: 10px;}
.di-property-social i {color: #762638;margin-right: 5px;}
/* ===== LISTING SIDEBAR & TOOLBAR ===== */
.di-listing-sidebar {position: sticky;top: 100px;}
.di-filter-head {display: flex;align-items: flex-start;justify-content: space-between;margin-bottom: 20px;}
.di-filter-head span {color: #762638;font-size: 12px;font-weight: 900;text-transform: uppercase;letter-spacing: .08em;}
.di-filter-head h4 {font-size: 18px;font-weight: 900;color: #171717;margin: 4px 0 0;}
.di-filter-head > a {color: #777777;font-size: 13px;font-weight: 800;text-decoration: none;white-space: nowrap;margin-top: 4px;}
.di-filter-head > a:hover {color: #762638;}
.di-filter-card {background: #fff;border: 1px solid #e9e8e6;border-radius: 20px;padding: 20px;margin-bottom: 14px;box-shadow: 0 8px 24px rgba(15,23,42,.05);}
.di-filter-card .widget-title h5 {font-size: 14px;font-weight: 900;color: #171717;margin-bottom: 12px;text-transform: uppercase;letter-spacing: .06em;}
.di-filter-card .form-control {height: 46px;border-radius: 12px;border: 1px solid #e5e3e0;background: #f5f4f3;font-weight: 700;box-shadow: none;}
.di-results-toolbar {display: flex;align-items: center;justify-content: space-between;gap: 16px;flex-wrap: wrap;background: #fff;border: 1px solid #e9e8e6;border-radius: 20px;padding: 16px 22px;box-shadow: 0 8px 24px rgba(15,23,42,.05);}
.di-results-toolbar .left-column span {color: #762638;font-size: 12px;font-weight: 900;text-transform: uppercase;letter-spacing: .06em;}
.di-results-toolbar .left-column h5 {font-size: 20px;font-weight: 900;color: #171717;margin: 2px 0 0;}
.di-results-toolbar .right-column {display: flex;align-items: center;gap: 12px;}
/* ===== RICH FOOTER ===== */
.di-footer {background: #171717;border-top: 4px solid #762638;}
.di-footer-top {padding: 70px 0 40px;}
.di-footer-brand img {max-height: 48px;margin-bottom: 20px;filter: brightness(0) invert(1);}
.di-footer-brand p {color: rgba(255,255,255,.62);line-height: 1.8;margin-bottom: 22px;font-size: 15px;}
.di-footer-social {display: flex;gap: 10px;}
.di-footer-social a {width: 40px;height: 40px;border-radius: 50%;background: rgba(255,255,255,.08);color: rgba(255,255,255,.72);display: inline-flex;align-items: center;justify-content: center;transition: all .22s ease;border: 1px solid rgba(255,255,255,.1);}
.di-footer-social a:hover {background: #762638;color: #fff;border-color: #762638;}
.di-footer-heading {color: #fff;font-size: 16px;font-weight: 900;text-transform: uppercase;letter-spacing: .08em;margin-bottom: 22px;position: relative;padding-bottom: 12px;}
.di-footer-heading::after {content: '';position: absolute;left: 0;bottom: 0;width: 36px;height: 3px;background: #762638;border-radius: 3px;}
.di-footer-links {list-style: none;padding: 0;margin: 0;}
.di-footer-links li {margin-bottom: 10px;}
.di-footer-links a {color: rgba(255,255,255,.62);text-decoration: none;transition: color .2s ease;font-size: 14px;font-weight: 600;}
.di-footer-links a:hover {color: #762638;}
.di-footer-links i {font-size: 10px;margin-right: 8px;color: #762638;}
.di-footer-nl-text {color: rgba(255,255,255,.55);font-size: 14px;margin-bottom: 16px;line-height: 1.7;}
.di-footer-newsletter .form-control {background: rgba(255,255,255,.08);border: 1px solid rgba(255,255,255,.15);color: #fff;border-radius: 14px 0 0 14px;height: 50px;}
.di-footer-newsletter .form-control::placeholder {color: rgba(255,255,255,.4);}
.di-footer-newsletter .btn {background: #762638;color: #fff;border-radius: 0 14px 14px 0;padding: 0 20px;height: 50px;border: 0;}
.di-footer-newsletter .btn:hover {background: #762638;color: #111;}
.di-footer-contact-info {margin-top: 18px;}
.di-footer-contact-info a {display: block;color: rgba(255,255,255,.6);font-size: 14px;margin-bottom: 8px;text-decoration: none;transition: color .2s;}
.di-footer-contact-info a:hover {color: #762638;}
.di-footer-contact-info i {color: #762638;margin-right: 8px;}
.di-footer-bottom {border-top: 1px solid rgba(255,255,255,.08);padding: 22px 0;}
.di-footer-bottom p {color: rgba(255,255,255,.5);margin: 0;font-size: 13px;}
.di-footer-bottom a {color: rgba(255,255,255,.7);text-decoration: none;}
.di-footer-bottom a:hover {color: #762638;}
.di-footer-bottom-links {list-style: none;padding: 0;margin: 0;display: flex;flex-wrap: wrap;gap: 6px 20px;}
.di-footer-bottom-links a {color: rgba(255,255,255,.5);font-size: 13px;text-decoration: none;}
.di-footer-bottom-links a:hover {color: #762638;}
/* ===== PAGE HERO BREADCRUMB ===== */
.di-page-hero {background: linear-gradient(135deg,#222222,#252525);padding: 32px 0 28px;margin-bottom: 0;}
.di-page-hero h1 {color: #fff;font-size: 38px;font-weight: 900;margin: 0 0 10px;}
.di-page-hero .di-breadcrumb {display: flex;flex-wrap: wrap;gap: 6px;list-style: none;padding: 0;margin: 0;}
.di-page-hero .di-breadcrumb li {color: rgba(255,255,255,.55);font-size: 14px;font-weight: 700;}
.di-page-hero .di-breadcrumb li a {color: rgba(255,255,255,.72);text-decoration: none;}
.di-page-hero .di-breadcrumb li a:hover {color: #762638;}
.di-page-hero .di-breadcrumb li:not(:last-child)::after {content: '/';margin-left: 6px;color: rgba(255,255,255,.3);}
/* ===== ABOUT PAGE ===== */
.di-about-lead {font-size: 19px;color: #515151;line-height: 1.85;margin-bottom: 28px;}
.di-stat-box {text-align: center;background: #fff;border: 1px solid #e9e8e6;border-radius: 26px;padding: 30px 20px;box-shadow: 0 18px 50px rgba(15,23,42,.07);height: 100%;}
.di-stat-box strong {display: block;font-size: 40px;font-weight: 900;color: #762638;line-height: 1;}
.di-stat-box span {display: block;color: #666666;font-weight: 800;margin-top: 8px;text-transform: uppercase;font-size: 12px;letter-spacing: .06em;}
.di-value-card {background: #fff;border: 1px solid #e9e8e6;border-radius: 26px;padding: 30px;box-shadow: 0 18px 50px rgba(15,23,42,.06);height: 100%;text-align: center;}
.di-value-card i {width: 64px;height: 64px;border-radius: 20px;background: #f3ecde;color: #762638;display: inline-flex;align-items: center;justify-content: center;font-size: 26px;margin-bottom: 18px;}
.di-value-card h4 {font-size: 20px;font-weight: 900;color: #171717;margin-bottom: 10px;}
.di-value-card p {color: #666666;line-height: 1.75;margin: 0;}
.di-team-card {background: #fff;border: 1px solid #e9e8e6;border-radius: 26px;padding: 30px;box-shadow: 0 18px 50px rgba(15,23,42,.06);text-align: center;}
.di-team-card img {width: 90px;height: 90px;border-radius: 50%;object-fit: cover;margin-bottom: 16px;border: 3px solid #762638;}
.di-team-card h4 {font-size: 18px;font-weight: 900;color: #171717;margin-bottom: 4px;}
.di-team-card span {color: #762638;font-size: 13px;font-weight: 800;text-transform: uppercase;letter-spacing: .06em;}
/* ===== CONTACT PAGE ===== */
.di-contact-info-card {background: #fff;border: 1px solid #e9e8e6;border-radius: 26px;padding: 28px;box-shadow: 0 18px 50px rgba(15,23,42,.07);height: 100%;text-align: center;}
.di-contact-info-card i {width: 58px;height: 58px;border-radius: 18px;background: #f3ecde;color: #762638;display: inline-flex;align-items: center;justify-content: center;font-size: 24px;margin: 0 auto 16px;}
.di-contact-info-card h4 {font-size: 18px;font-weight: 900;color: #171717;margin-bottom: 8px;}
.di-contact-info-card p, .di-contact-info-card a {color: #666666;font-size: 15px;line-height: 1.7;text-decoration: none;display: block;}
.di-contact-info-card a:hover {color: #762638;}
.di-contact-form-card {background: #fff;border: 1px solid #e9e8e6;border-radius: 30px;padding: 40px;box-shadow: 0 24px 70px rgba(15,23,42,.09);}
.di-contact-form-card h3 {font-size: 28px;font-weight: 900;color: #171717;margin-bottom: 6px;}
.di-contact-form-card p {color: #666666;margin-bottom: 28px;}
.di-contact-form-card .form-control, .di-contact-form-card select {height: 54px;border: 1px solid #e5e3e0;border-radius: 16px;background: #f5f4f3;color: #171717;font-weight: 700;box-shadow: none;}
.di-contact-form-card textarea.form-control {height: auto;}
.di-contact-map iframe {width: 100%;height: 400px;border: 0;border-radius: 26px;box-shadow: 0 24px 70px rgba(15,23,42,.09);}
/* ===== LEGAL PAGES ===== */
.di-legal-card {background: #fff;border: 1px solid #e9e8e6;border-radius: 28px;padding: 48px;box-shadow: 0 24px 70px rgba(15,23,42,.07);}
.di-legal-card h2 {font-size: 26px;font-weight: 900;color: #171717;margin: 32px 0 12px;}
.di-legal-card h2:first-child {margin-top: 0;}
.di-legal-card p, .di-legal-card li {color: #515151;line-height: 1.85;font-size: 15px;}
.di-legal-card ul {padding-left: 20px;}
/* ===== AUTH PAGES ===== */
.di-auth-page {min-height: 100vh;background: linear-gradient(135deg,#171717 0%,#2c2c2c 100%);display: flex;align-items: center;padding: 60px 0;}
.di-auth-card {background: #fff;border-radius: 32px;padding: 48px;box-shadow: 0 34px 90px rgba(15,23,42,.22);max-width: 480px;margin: 0 auto;}
.di-auth-card .logo img {max-height: 48px;margin-bottom: 28px;}
.di-auth-card h2 {font-size: 30px;font-weight: 900;color: #171717;margin-bottom: 6px;}
.di-auth-card p.sub {color: #666666;margin-bottom: 28px;}
.di-auth-card .form-control {height: 52px;border: 1px solid #e5e3e0;border-radius: 16px;background: #f5f4f3;font-weight: 700;box-shadow: none;}
.di-auth-card .btn-auth {width: 100%;height: 52px;border-radius: 16px;font-weight: 900;font-size: 16px;background: #762638;color: #fff;border: 0;margin-top: 8px;}
.di-auth-card .btn-auth:hover {background: #762638;color: #111;}
.di-auth-divider {text-align: center;color: #777777;font-size: 13px;margin: 18px 0;}
.di-auth-links {text-align: center;margin-top: 18px;color: #666666;font-size: 14px;}
.di-auth-links a {color: #762638;font-weight: 800;}
@media (max-width:768px){
.di-footer-top {padding: 40px 0 20px;}
.di-page-hero h1 {font-size: 28px;}
.di-contact-form-card {padding: 24px;}
.di-legal-card {padding: 24px;}
.di-auth-card {padding: 28px;}
}
/* ===== AUCTION & EXCHANGE DETAIL COMPONENTS ===== */
.di-auction-live-badge {display:inline-flex;align-items:center;gap:8px;background:#5e1d2d;color:#222222;border-radius:999px;padding:8px 18px;font-weight:900;font-size:13px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:16px;}
.di-auction-live-badge .di-pulse {width:10px;height:10px;border-radius:50%;background:#5e1d2d;box-shadow:0 0 0 0 rgba(239,68,68,.4);animation:diPulse 1.4s infinite;}
@keyframes diPulse{0%{box-shadow:0 0 0 0 rgba(239,68,68,.5)}70%{box-shadow:0 0 0 10px rgba(239,68,68,0)}100%{box-shadow:0 0 0 0 rgba(239,68,68,0)}}
.di-auction-ended-badge {display:inline-flex;align-items:center;gap:8px;background:#5e1d2d;color:#fff;border-radius:999px;padding:8px 18px;font-weight:900;font-size:13px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:16px;}
.di-auction-block {background:#f5f4f3;border:2px solid #5e1d2d;border-radius:28px;padding:28px;margin-bottom:24px;}
.di-auction-block .di-auction-stat-row {display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin:18px 0;}
.di-auction-block .di-auction-stat {background:#fff;border:1px solid #e4e2df;border-radius:18px;padding:16px;text-align:center;}
.di-auction-block .di-auction-stat strong {display:block;font-size:22px;font-weight:900;color:#4a4a4a;}
.di-auction-block .di-auction-stat span {color:#4a4a4a;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;}
.di-bid-box {background:#fff;border:2px solid #5e1d2d;border-radius:22px;padding:22px;margin-top:18px;}
.di-bid-box label {font-weight:900;color:#171717;font-size:14px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:10px;display:block;}
.di-bid-box input {height:54px;border:2px solid #5e1d2d;border-radius:14px;font-size:20px;font-weight:900;color:#171717;background:#f5f4f3;padding:0 18px;width:100%;box-shadow:none;}
.di-bid-box input:focus {outline:none;border-color:#5e1d2d;}
.di-bid-btn {width:100%;margin-top:12px;height:52px;border-radius:14px;background:#5e1d2d;color:#222222;font-weight:900;font-size:16px;border:0;transition:background .2s;}
.di-bid-btn:hover {background:#5e1d2d;}
.di-bid-history {margin-top:18px;}
.di-bid-history h6 {font-size:13px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:#4a4a4a;margin-bottom:10px;}
.di-bid-history ul {list-style:none;padding:0;margin:0;max-height:180px;overflow-y:auto;}
.di-bid-history li {display:flex;justify-content:space-between;gap:10px;padding:8px 12px;border-radius:12px;background:#fff;border:1px solid #e4e2df;margin-bottom:6px;font-size:13px;font-weight:700;}
.di-bid-history li span:last-child {color:#4a4a4a;font-weight:800;}
.di-exchange-block {background:#f5f4f3;border:2px solid #626262;border-radius:28px;padding:28px;margin-bottom:24px;}
.di-exchange-block h5 {font-size:18px;font-weight:900;color:#4a4a4a;margin-bottom:14px;display:flex;align-items:center;gap:10px;}
.di-exchange-block h5 i {color:#626262;}
.di-exchange-block .di-wishlist-text {background:#fff;border:1px solid #e4e2df;border-radius:18px;padding:18px;color:#4a4a4a;font-weight:700;line-height:1.75;font-size:15px;}
.di-exchange-info-grid {display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:16px;}
.di-exchange-info-item {background:#fff;border:1px solid #e4e2df;border-radius:16px;padding:14px;text-align:center;}
.di-exchange-info-item i {color:#626262;font-size:20px;margin-bottom:8px;display:block;}
.di-exchange-info-item span {color:#4a4a4a;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;}
/* ===== END ADDITIONS ===== */

/* ============================================================
   PREMIUM NAVIGATION — di-nav
   ============================================================ */
:root {
  --di-primary:   #762638;
  --di-amber:     #5e1d2d;
  --di-dark:      #171717;
  --di-slate:     #2c2c2c;
  --di-muted:     #666666;
  --di-light:     #f5f4f3;
  --di-white:     #ffffff;
  --di-indigo:    #626262;
  --di-green:     #545454;
  --di-radius:    4px;
  --di-nav-h:     50px;
}

/* Reset old header styles */
.main-header, .sticky-header { display: none !important; }
.mobile-menu { display: none !important; }

/* Reset old theme boxed_wrapper so it doesn't constrain the fixed nav */
.boxed_wrapper {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  box-shadow: none !important;
  position: static !important;
}

/* Body offset handled per-section (hero-wrap, page-hero, etc.) */
body { padding-top: var(--di-nav-h); }
body.di-home { padding-top: 0; }

/* Force all nav content visible — override any theme header/a/img resets */
#diNav, #diNav * { box-sizing: border-box; }
#diNav { display: block !important; visibility: visible !important; opacity: 1 !important; }
#diNav .container-fluid { width: 100% !important; padding-left: 24px !important; padding-right: 24px !important; }
#diNav .di-nav-inner { display: flex !important; flex-wrap: nowrap !important; }
#diNav img { display: block !important; visibility: visible !important; opacity: 1 !important; max-width: none !important; }
#diNav a, #diNav button, #diNav span { color: inherit; visibility: visible !important; opacity: 1 !important; }
#diNav a.di-nav-link { color: #171717 !important; font-weight: 700 !important; }
#diNav a.di-nav-link:hover, #diNav a.di-nav-link.active { color: #762638 !important; }
#diNav .di-nav-cta { color: #fff !important; background: #762638 !important; }
#diNav .di-nav-cta:hover { background: #5e1d2d !important; }

.di-nav {
  position: fixed !important;
  top: 0 !important; left: 0 !important; right: 0 !important;
  z-index: 99999 !important;
  min-height: var(--di-nav-h) !important;
  height: auto !important;
  background: rgba(255,255,255,0.97) !important;
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-bottom: 1px solid rgba(15,23,42,0) !important;
  transition: background .3s ease, box-shadow .3s ease;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}
.di-nav.scrolled {
  background: rgba(255,255,255,0.98);
  box-shadow: 0 8px 32px rgba(15,23,42,0.10);
}
.di-nav-inner {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  height: var(--di-nav-h) !important;
  padding: 0 !important;
  gap: 8px;
  width: 100%;
}
.di-nav-logo { display: flex !important; align-items: center; flex-shrink: 0; text-decoration: none; }
.di-nav-logo img { height: 40px !important; width: auto !important; display: block !important; visibility: visible !important; opacity: 1 !important; }

/* Nav menu — ul li a structure */
.di-nav-menu {
  display: flex;
  align-items: center;
  gap: 2px;
  list-style: none;
  margin: 0;
  padding: 0;
  flex-wrap: nowrap;
}
.di-nav-menu li {
  position: relative;
  display: flex;
  align-items: center;
}
.di-nav-link {
  display: inline-flex;
  align-items: center;
  padding: 8px 14px;
  border-radius: 12px;
  font-size: 14px;
  font-weight: 700;
  color: var(--di-dark);
  text-decoration: none;
  white-space: nowrap;
  transition: background .18s, color .18s;
}
.di-nav-link:hover, .di-nav-link.active {
  background: #f3ecde;
  color: var(--di-primary);
  text-decoration: none;
}

/* Dropdown — CSS :hover on li only */
.di-has-dropdown { position: relative; }
.di-dropdown {
  display: block;
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 240px;
  background: #fff;
  border: 1px solid #e9e8e6;
  border-radius: 22px;
  padding: 8px;
  box-shadow: 0 24px 60px rgba(15,23,42,0.14);
  z-index: 10000;
  list-style: none;
  margin: 0;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.18s ease, visibility 0.18s ease;
}
.di-dropdown-right { left: auto; right: 0; }
.di-has-dropdown:hover > .di-dropdown {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.di-nav-dd-scroll { max-height: 300px; overflow-y: auto; }
.di-nav-dd-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 11px 14px;
  border-radius: 14px;
  text-decoration: none;
  color: var(--di-dark);
  transition: background .15s;
  font-size: 14px;
}
.di-nav-dd-item:hover { background: #f5f4f3; color: var(--di-primary); text-decoration: none; }
.di-nav-dd-item.active { background: #f3ecde; color: var(--di-primary); }
.di-nav-dd-item > i:first-child { width: 32px; height: 32px; border-radius: 10px; background: #f5f4f3; display: inline-flex; align-items: center; justify-content: center; color: var(--di-primary); font-size: 14px; flex-shrink: 0; }
.di-nav-dd-item > div strong { display: block; font-weight: 800; font-size: 14px; line-height: 1.3; }
.di-nav-dd-item > div span { display: block; font-size: 12px; color: var(--di-muted); font-weight: 600; }

/* Right actions */
.di-nav-actions { align-items: center; gap: 8px; flex-shrink: 0; align-self: center; }
.di-nav-icon-btn {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 7px 12px;
  border-radius: 12px;
  border: 1px solid #e5e3e0;
  background: #f5f4f3;
  color: var(--di-dark);
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  transition: background .18s, border-color .18s;
}
.di-nav-icon-btn:hover { background: #f3ecde; border-color: var(--di-primary); color: var(--di-primary); }
.di-nav-user-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 14px 6px 6px;
  border-radius: 14px;
  border: 1px solid #e5e3e0;
  background: #f5f4f3;
  color: var(--di-dark);
  cursor: pointer;
  font-size: 14px;
  font-weight: 700;
  transition: background .18s;
}
.di-nav-user-btn:hover { background: #f3ecde; border-color: var(--di-primary); }
.di-nav-avatar {
  width: 32px; height: 32px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--di-primary), #5e1d2d);
  color: #fff;
  font-size: 13px;
  font-weight: 900;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.di-nav-username { font-weight: 800; }
.di-nav-login-btn {
  display: inline-flex;
  align-items: center;
  padding: 9px 18px;
  border-radius: 12px;
  border: 1px solid #e5e3e0;
  background: transparent;
  color: var(--di-dark);
  font-size: 14px;
  font-weight: 800;
  text-decoration: none;
  transition: all .18s;
}
.di-nav-login-btn:hover { background: #f5f4f3; color: var(--di-primary); border-color: var(--di-primary); text-decoration: none; }
.di-nav-cta {
  display: inline-flex;
  align-items: center;
  padding: 10px 20px;
  border-radius: 12px;
  background: var(--di-primary);
  color: #fff !important;
  font-size: 14px;
  font-weight: 900;
  text-decoration: none;
  white-space: nowrap;
  transition: background .18s, transform .18s, box-shadow .18s;
  box-shadow: 0 8px 24px rgba(118,38,56,0.28);
}
.di-nav-cta:hover {
  background: #5e1d2d;
  transform: translateY(-1px);
  box-shadow: 0 12px 30px rgba(118,38,56,0.36);
  text-decoration: none;
  color: #fff !important;
}

/* Mobile toggle */
.di-nav-mobile-toggle {
  width: 42px; height: 42px;
  border-radius: 12px;
  border: 1px solid #e5e3e0;
  background: #f5f4f3;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
  cursor: pointer;
  padding: 0;
}
.di-nav-mobile-toggle span {
  display: block;
  width: 20px; height: 2px;
  background: var(--di-dark);
  border-radius: 2px;
  transition: all .22s;
}

/* Offcanvas */
.di-nav-offcanvas {
  position: fixed;
  top: 0; right: -340px;
  width: 320px; height: 100vh;
  background: #fff;
  z-index: 100000;
  box-shadow: -10px 0 40px rgba(15,23,42,0.14);
  transition: right .3s cubic-bezier(.4,0,.2,1);
  display: flex;
  flex-direction: column;
  overflow-y: auto;
}
.di-nav-offcanvas.open { right: 0; }
.di-nav-offcanvas-inner { display: flex; flex-direction: column; height: 100%; padding: 0; }
.di-nav-offcanvas-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 24px;
  border-bottom: 1px solid #f3f2f0;
}
.di-nav-offcanvas-close {
  width: 36px; height: 36px;
  border-radius: 10px;
  border: 1px solid #e5e3e0;
  background: #f5f4f3;
  color: var(--di-dark);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 16px;
}
.di-nav-offcanvas-nav {
  display: flex;
  flex-direction: column;
  padding: 16px;
  flex: 1;
}
.di-nav-mob-link {
  display: flex;
  align-items: center;
  padding: 13px 16px;
  border-radius: 14px;
  color: var(--di-dark);
  font-size: 15px;
  font-weight: 700;
  text-decoration: none;
  transition: background .15s;
  margin-bottom: 2px;
}
.di-nav-mob-link:hover { background: #f5f4f3; color: var(--di-primary); text-decoration: none; }
.di-nav-offcanvas-actions { padding: 16px 16px 24px; border-top: 1px solid #f3f2f0; }
.di-nav-overlay {
  display: none;
  position: fixed; inset: 0;
  background: rgba(15,23,42,0.38);
  z-index: 99999;
  backdrop-filter: blur(2px);
}
.di-nav-overlay.open { display: block; }

/* Body offset for fixed nav — canonical rule is in :root block above */

/* ============================================================
   HERO SECTION — premium redesign
   ============================================================ */
.di-hero-content { position: relative; z-index: 2; }
.di-hero-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.15);
  border-radius: 999px;
  padding: 8px 18px;
  color: #762638;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .1em;
  margin-bottom: 24px;
}
.di-hero-eyebrow span { width: 8px; height: 8px; border-radius: 50%; background: #762638; display: inline-block; }
.di-hero-title {
  font-size: clamp(38px, 5.5vw, 72px);
  font-weight: 900;
  color: #fff;
  line-height: 1.1;
  margin-bottom: 22px;
  letter-spacing: -.02em;
}
.di-hero-title em { font-style: normal; color: var(--di-primary); }
.di-hero-subtitle {
  font-size: 18px;
  color: rgba(255,255,255,0.65);
  line-height: 1.8;
  margin-bottom: 40px;
  max-width: 560px;
}
.di-hero-cta-row { display: flex; flex-wrap: wrap; gap: 14px; }
.di-hero-btn-primary {
  display: inline-flex; align-items: center; gap: 10px;
  background: var(--di-primary);
  color: #fff; font-weight: 900; font-size: 16px;
  padding: 16px 32px; border-radius: 16px;
  text-decoration: none;
  box-shadow: 0 18px 40px rgba(118,38,56,0.35);
  transition: all .22s;
}
.di-hero-btn-primary:hover { background: #5e1d2d; transform: translateY(-2px); color: #fff; text-decoration: none; }
.di-hero-btn-secondary {
  display: inline-flex; align-items: center; gap: 10px;
  background: rgba(255,255,255,0.1);
  border: 1px solid rgba(255,255,255,0.22);
  color: #fff; font-weight: 800; font-size: 15px;
  padding: 16px 28px; border-radius: 16px;
  text-decoration: none;
  backdrop-filter: blur(8px);
  transition: all .22s;
}
.di-hero-btn-secondary:hover { background: rgba(255,255,255,0.18); color: #fff; text-decoration: none; }
.di-hero-stats-row {
  display: flex; flex-wrap: wrap; gap: 28px;
  margin-top: 52px;
  padding-top: 40px;
  border-top: 1px solid rgba(255,255,255,0.1);
}
.di-hero-stat strong { display: block; font-size: 32px; font-weight: 900; color: #fff; line-height: 1; }
.di-hero-stat span { display: block; font-size: 12px; font-weight: 800; color: rgba(255,255,255,0.5); text-transform: uppercase; letter-spacing: .08em; margin-top: 6px; }
.di-hero-right { position: relative; z-index: 2; }
.di-hero-img-wrap {
  position: relative;
  border-radius: 36px;
  overflow: hidden;
  box-shadow: 0 40px 100px rgba(0,0,0,0.4);
}
.di-hero-img-wrap img { width: 100%; height: 560px; object-fit: cover; display: block; }
.di-hero-badge-float {
  position: absolute;
  background: #fff;
  border-radius: 22px;
  padding: 16px 22px;
  box-shadow: 0 20px 50px rgba(15,23,42,0.18);
  display: flex; align-items: center; gap: 14px;
}
.di-hero-badge-float.top-left { top: 28px; left: -24px; }
.di-hero-badge-float.bottom-right { bottom: 28px; right: -24px; }
.di-hero-badge-float i { width: 44px; height: 44px; border-radius: 14px; background: #f3ecde; color: var(--di-primary); font-size: 20px; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; }
.di-hero-badge-float strong { display: block; font-size: 22px; font-weight: 900; color: var(--di-dark); }
.di-hero-badge-float span { display: block; font-size: 12px; color: var(--di-muted); font-weight: 700; }

/* Search tabs inside hero */
.di-hero-search-wrap {
  position: relative; z-index: 2;
  margin-top: 40px;
}
.di-hero-search-tabs {
  display: flex;
  background: transparent;
  border: none;
  border-radius: 0;
  padding: 0;
  margin-bottom: -1px;
  gap: 4px;
}
.di-hero-tab-btn {
  padding: 12px 26px;
  border-radius: 12px 12px 0 0;
  border: 0;
  background: rgba(255,255,255,0.08);
  color: rgba(255,255,255,0.6);
  font-size: 14px;
  font-weight: 800;
  cursor: pointer;
  transition: all .2s;
  border-bottom: 2px solid transparent;
}
.di-hero-tab-btn:hover {
  background: rgba(255,255,255,0.14);
  color: rgba(255,255,255,0.9);
}
.di-hero-tab-btn.active {
  background: rgba(255,255,255,0.96);
  color: var(--di-primary);
  border-bottom-color: rgba(255,255,255,0.96);
}
.di-hero-search-glass {
  background: rgba(255,255,255,0.96);
  border-radius: 0 24px 24px 24px;
  padding: 28px 32px;
  box-shadow: 0 32px 80px rgba(15,23,42,0.22);
  backdrop-filter: blur(18px);
}
.di-hero-search-glass .row { align-items: flex-end; }
.di-search-lbl { font-size: 11px; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; color: var(--di-muted); margin-bottom: 7px; display: block; }
.di-search-input {
  height: 54px;
  border: 1.5px solid #e5e3e0;
  border-radius: 14px;
  background: #f5f4f3;
  font-weight: 700;
  color: var(--di-dark);
  padding: 0 16px;
  width: 100%;
  font-size: 14px;
  transition: border-color .18s;
  appearance: auto;
}
.di-search-input:focus { outline: none; border-color: var(--di-primary); background: #fff; }
.di-search-input-icon { position: relative; }
.di-search-input-icon i { position: absolute; left: 14px; top: 50%; transform: translateY(-50%); color: var(--di-primary); font-size: 14px; pointer-events: none; }
.di-search-input-icon .di-search-input { padding-left: 40px; }
.di-search-btn-main {
  height: 54px; width: 100%;
  border-radius: 14px;
  background: var(--di-primary);
  color: #fff;
  border: 0;
  font-weight: 900;
  font-size: 15px;
  letter-spacing: .03em;
  cursor: pointer;
  transition: background .18s, box-shadow .18s;
  box-shadow: 0 12px 28px rgba(118,38,56,0.32);
}
.di-search-btn-main:hover { background: #5e1d2d; box-shadow: 0 16px 34px rgba(118,38,56,0.4); }
.di-search-advanced-toggle {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 13px; font-weight: 800; color: var(--di-muted);
  cursor: pointer; padding: 0; background: transparent; border: 0;
  margin-top: 12px;
}
.di-search-advanced-toggle:hover { color: var(--di-primary); }
.di-search-advanced-panel { display: none; margin-top: 20px; padding-top: 20px; border-top: 1px solid #f3f2f0; }
.di-search-advanced-panel.open { display: block; }

/* ============================================================
   DEAL TYPE TABS PILLS  (listing pages)
   ============================================================ */
.di-deal-pills {
  display: flex; flex-wrap: wrap; gap: 8px;
  margin-bottom: 24px;
}
.di-deal-pill {
  display: inline-flex; align-items: center; gap: 7px;
  padding: 9px 18px; border-radius: 999px;
  border: 1.5px solid #e5e3e0;
  background: #fff;
  color: var(--di-dark);
  font-size: 13px; font-weight: 800;
  text-decoration: none;
  transition: all .18s;
}
.di-deal-pill:hover { border-color: var(--di-primary); color: var(--di-primary); text-decoration: none; }
.di-deal-pill.active { background: var(--di-primary); border-color: var(--di-primary); color: #fff; box-shadow: 0 8px 20px rgba(118,38,56,0.28); }
.di-deal-pill.auction.active { background: var(--di-amber); border-color: var(--di-amber); color: #111; box-shadow: 0 8px 20px rgba(245,158,11,0.28); }
.di-deal-pill.exchange.active { background: var(--di-indigo); border-color: var(--di-indigo); color: #fff; box-shadow: 0 8px 20px rgba(99,102,241,0.28); }
.di-deal-pill.rent.active { background: var(--di-green); border-color: var(--di-green); color: #fff; box-shadow: 0 8px 20px rgba(16,185,129,0.28); }

/* ============================================================
   PROPERTY CARD v2 — grid & list variants
   ============================================================ */
.di-card-v2 {
  background: #fff;
  border-radius: 24px;
  overflow: hidden;
  border: 1px solid rgba(15,23,42,0.07);
  box-shadow: 0 10px 32px rgba(15,23,42,0.07);
  transition: transform .25s, box-shadow .25s;
  height: 100%;
}
.di-card-v2:hover { transform: translateY(-5px); box-shadow: 0 22px 55px rgba(15,23,42,0.13); }
.di-card-v2 .di-card-img { position: relative; overflow: hidden; background: #f3f2f0; }
.di-card-v2 .di-card-img img { width: 100%; height: 260px; object-fit: cover; display: block; transition: transform .35s ease; }
.di-card-v2:hover .di-card-img img { transform: scale(1.05); }
.di-card-v2 .di-card-badge {
  position: absolute; top: 16px; left: 16px;
  padding: 6px 14px; border-radius: 999px;
  font-size: 11px; font-weight: 900; text-transform: uppercase; letter-spacing: .05em;
  box-shadow: 0 6px 18px rgba(0,0,0,0.18);
}
.di-card-v2 .di-card-actions {
  position: absolute; top: 14px; right: 14px;
  display: flex; gap: 7px;
}
.di-card-v2 .di-card-action-btn {
  width: 36px; height: 36px; border-radius: 50%;
  background: rgba(255,255,255,0.92);
  border: 0; color: var(--di-dark);
  display: inline-flex; align-items: center; justify-content: center;
  cursor: pointer; font-size: 14px;
  box-shadow: 0 4px 14px rgba(15,23,42,0.14);
  transition: background .18s, color .18s;
}
.di-card-v2 .di-card-action-btn:hover { background: #762638; color: #111; }
.di-card-v2 .di-card-action-btn.active { background: var(--di-primary); color: #fff; }
.di-card-v2 .di-card-overlay-info {
  position: absolute; bottom: 14px; left: 14px;
  background: rgba(15,23,42,0.78);
  backdrop-filter: blur(6px);
  border-radius: 12px;
  padding: 5px 12px;
  font-size: 11px; font-weight: 800; color: #fff;
  display: flex; align-items: center; gap: 6px;
}
.di-card-v2 .di-card-body { padding: 22px; }
.di-card-v2 .di-card-cat {
  font-size: 11px; font-weight: 900; text-transform: uppercase; letter-spacing: .08em;
  color: var(--di-primary); margin-bottom: 8px;
  display: flex; align-items: center; gap: 6px;
}
.di-card-v2 .di-card-title { font-size: 18px; font-weight: 900; color: var(--di-dark); line-height: 1.3; margin-bottom: 10px; }
.di-card-v2 .di-card-title a { color: inherit; text-decoration: none; }
.di-card-v2 .di-card-title a:hover { color: var(--di-primary); }
.di-card-v2 .di-card-address { font-size: 13px; color: var(--di-muted); font-weight: 600; margin-bottom: 16px; display: flex; align-items: center; gap: 5px; }
.di-card-v2 .di-card-address i { color: var(--di-primary); font-size: 12px; }
.di-card-v2 .di-card-specs {
  display: flex; flex-wrap: wrap; gap: 8px;
  padding: 14px 0;
  border-top: 1px solid #f3f2f0;
  border-bottom: 1px solid #f3f2f0;
  margin-bottom: 16px;
}
.di-card-v2 .di-spec-item {
  display: flex; align-items: center; gap: 6px;
  font-size: 12px; font-weight: 700; color: #515151;
  background: #f5f4f3; border-radius: 10px; padding: 6px 10px;
}
.di-card-v2 .di-spec-item i { color: var(--di-primary); font-size: 11px; }
.di-card-v2 .di-card-footer { display: flex; align-items: center; justify-content: space-between; }
.di-card-v2 .di-card-price { font-size: 22px; font-weight: 900; color: var(--di-primary); line-height: 1; }
.di-card-v2 .di-card-price small { font-size: 12px; color: var(--di-muted); font-weight: 700; display: block; margin-top: 3px; }
.di-card-v2 .di-card-detail-btn {
  display: inline-flex; align-items: center; gap: 7px;
  padding: 9px 16px; border-radius: 12px;
  background: #f3ecde; color: var(--di-primary);
  font-size: 13px; font-weight: 800;
  text-decoration: none; border: 0;
  transition: background .18s;
}
.di-card-v2 .di-card-detail-btn:hover { background: var(--di-primary); color: #fff; text-decoration: none; }

/* LIST VIEW variant */
.di-listing-list .di-card-v2 .di-card-img img { height: 100%; min-height: 200px; }
.di-listing-list .col-lg-4 { flex: 0 0 100%; max-width: 100%; }
.di-listing-list .di-card-v2 { display: flex; flex-direction: row; }
.di-listing-list .di-card-v2 .di-card-img { flex: 0 0 280px; }
.di-listing-list .di-card-v2 .di-card-body { flex: 1; display: flex; flex-direction: column; justify-content: space-between; }

/* View toggle buttons */
.di-view-toggle { display: flex; gap: 4px; }
.di-view-btn {
  width: 40px; height: 40px; border-radius: 12px;
  border: 1.5px solid #e5e3e0; background: #fff;
  color: var(--di-muted); font-size: 15px;
  display: inline-flex; align-items: center; justify-content: center;
  cursor: pointer; transition: all .18s;
}
.di-view-btn:hover, .di-view-btn.active { background: var(--di-primary); border-color: var(--di-primary); color: #fff; }

/* ============================================================
   LISTING PAGE FILTER SIDEBAR v2
   ============================================================ */
.di-sidebar-v2 {
  position: sticky; top: calc(var(--di-nav-h) + 16px);
  background: #fff;
  border: 1px solid #e9e8e6;
  border-radius: 26px;
  overflow: hidden;
  box-shadow: 0 18px 50px rgba(15,23,42,0.07);
}
.di-sidebar-header {
  background: linear-gradient(135deg, var(--di-dark), var(--di-slate));
  padding: 22px 24px;
  display: flex; align-items: center; justify-content: space-between;
}
.di-sidebar-header h4 { color: #fff; font-size: 18px; font-weight: 900; margin: 0; }
.di-sidebar-header a { color: var(--di-amber); font-size: 12px; font-weight: 800; text-decoration: none; }
.di-sidebar-header a:hover { color: #fff; }
.di-sidebar-body { padding: 20px; }
.di-filter-group { margin-bottom: 20px; }
.di-filter-group:last-child { margin-bottom: 0; }
.di-filter-label { font-size: 11px; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; color: var(--di-muted); margin-bottom: 10px; display: block; }
.di-filter-input {
  height: 48px; width: 100%;
  border: 1.5px solid #e5e3e0; border-radius: 14px;
  background: #f5f4f3; color: var(--di-dark);
  font-weight: 700; font-size: 14px; padding: 0 14px;
  appearance: auto; transition: border-color .18s;
}
.di-filter-input:focus { outline: none; border-color: var(--di-primary); background: #fff; }
.di-filter-input-row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.di-filter-apply-btn {
  width: 100%; height: 50px; border-radius: 14px;
  background: var(--di-primary); color: #fff;
  border: 0; font-weight: 900; font-size: 15px;
  cursor: pointer; transition: background .18s;
  box-shadow: 0 10px 26px rgba(118,38,56,0.28);
  margin-top: 8px;
}
.di-filter-apply-btn:hover { background: #5e1d2d; }

/* Sort bar */
.di-sort-bar {
  display: flex; align-items: center; justify-content: space-between;
  flex-wrap: wrap; gap: 14px;
  background: #fff; border: 1px solid #e9e8e6;
  border-radius: 20px; padding: 16px 22px;
  margin-bottom: 24px;
  box-shadow: 0 6px 20px rgba(15,23,42,0.05);
}
.di-sort-bar .di-results-count { font-size: 14px; font-weight: 800; color: var(--di-muted); }
.di-sort-bar .di-results-count strong { color: var(--di-dark); }
.di-sort-select {
  height: 40px; border-radius: 12px;
  border: 1.5px solid #e5e3e0; background: #f5f4f3;
  color: var(--di-dark); font-weight: 700; font-size: 13px;
  padding: 0 12px; appearance: auto;
}

/* ============================================================
   PROPERTY DETAIL v2 — gallery, tabs, mortgage calc
   ============================================================ */
.di-detail-v2 { padding: 0 0 70px; background: var(--di-light); }
.di-detail-hero-v2 {
  background: linear-gradient(135deg, var(--di-dark) 0%, var(--di-slate) 100%);
  padding: 40px 0 60px;
  margin-bottom: -30px;
}
.di-detail-hero-v2 .di-dh-badge { display: inline-flex; align-items: center; gap: 8px; background: rgba(255,255,255,0.1); border: 1px solid rgba(255,255,255,0.18); border-radius: 999px; padding: 7px 16px; color: #762638; font-size: 12px; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; margin-bottom: 16px; }
.di-detail-hero-v2 h1 { color: #fff; font-size: clamp(26px, 3.5vw, 46px); font-weight: 900; line-height: 1.15; margin-bottom: 14px; }
.di-detail-hero-v2 .di-dh-meta { display: flex; flex-wrap: wrap; gap: 16px; color: rgba(255,255,255,0.65); font-size: 14px; font-weight: 700; }
.di-detail-hero-v2 .di-dh-meta i { color: var(--di-amber); margin-right: 5px; }
.di-detail-hero-v2 .di-dh-price { color: var(--di-primary); font-size: 36px; font-weight: 900; }
.di-detail-gallery-v2 {
  background: #fff; border-radius: 28px; padding: 16px;
  box-shadow: 0 24px 70px rgba(15,23,42,0.09); margin-bottom: 24px;
}
.di-gallery-main { position: relative; border-radius: 20px; overflow: hidden; margin-bottom: 12px; }
.di-gallery-main img { width: 100%; height: 500px; object-fit: cover; display: block; }
.di-gallery-count {
  position: absolute; bottom: 16px; right: 16px;
  background: rgba(15,23,42,0.78); backdrop-filter: blur(8px);
  border-radius: 12px; padding: 8px 16px;
  color: #fff; font-size: 13px; font-weight: 800;
  display: flex; align-items: center; gap: 7px;
}
.di-gallery-thumbs { display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px; }
.di-gallery-thumbs a { display: block; border-radius: 14px; overflow: hidden; position: relative; }
.di-gallery-thumbs img { width: 100%; height: 90px; object-fit: cover; display: block; transition: transform .25s; }
.di-gallery-thumbs a:hover img { transform: scale(1.06); }
.di-gallery-thumbs a.active::after { content: ''; position: absolute; inset: 0; border-radius: 14px; border: 3px solid var(--di-primary); }

/* Detail tabs */
.di-detail-tabs {
  display: flex; gap: 4px;
  background: #fff; border: 1px solid #e9e8e6;
  border-radius: 18px; padding: 6px;
  margin-bottom: 24px;
  box-shadow: 0 4px 16px rgba(15,23,42,0.05);
  flex-wrap: wrap;
}
.di-detail-tab-btn {
  flex: 1; min-width: 100px;
  padding: 11px 16px; border-radius: 14px; border: 0;
  background: transparent; color: var(--di-muted);
  font-size: 13px; font-weight: 800; cursor: pointer;
  transition: all .18s; white-space: nowrap;
  text-align: center;
}
.di-detail-tab-btn.active { background: var(--di-primary); color: #fff; box-shadow: 0 6px 18px rgba(118,38,56,0.28); }
.di-detail-tab-pane { display: none; }
.di-detail-tab-pane.active { display: block; }

/* Specs grid */
.di-specs-grid {
  display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px;
  margin-bottom: 24px;
}
.di-spec-row {
  display: flex; align-items: center; gap: 12px;
  background: #f5f4f3; border: 1px solid #e9e8e6;
  border-radius: 16px; padding: 14px 16px;
}
.di-spec-row i { width: 36px; height: 36px; border-radius: 10px; background: #f3ecde; color: var(--di-primary); display: inline-flex; align-items: center; justify-content: center; font-size: 15px; flex-shrink: 0; }
.di-spec-row span { font-size: 12px; color: var(--di-muted); font-weight: 700; display: block; }
.di-spec-row strong { font-size: 15px; color: var(--di-dark); font-weight: 900; display: block; }

/* Mortgage calculator */
.di-mortgage-calc {
  background: #fff; border: 1px solid #e9e8e6;
  border-radius: 28px; padding: 28px;
  box-shadow: 0 18px 50px rgba(15,23,42,0.06);
  margin-bottom: 24px;
}
.di-mortgage-calc h5 { font-size: 18px; font-weight: 900; color: var(--di-dark); margin-bottom: 20px; display: flex; align-items: center; gap: 10px; }
.di-mortgage-calc h5 i { color: var(--di-primary); }
.di-calc-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-bottom: 18px; }
.di-calc-lbl { font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; color: var(--di-muted); margin-bottom: 7px; display: block; }
.di-calc-input {
  height: 48px; width: 100%;
  border: 1.5px solid #e5e3e0; border-radius: 14px;
  background: #f5f4f3; color: var(--di-dark);
  font-weight: 700; font-size: 15px; padding: 0 14px;
  transition: border-color .18s;
}
.di-calc-input:focus { outline: none; border-color: var(--di-primary); background: #fff; }
.di-calc-result {
  background: linear-gradient(135deg, var(--di-dark), var(--di-slate));
  border-radius: 20px; padding: 22px; text-align: center;
}
.di-calc-result span { display: block; color: rgba(255,255,255,0.6); font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; margin-bottom: 8px; }
.di-calc-result strong { display: block; color: #fff; font-size: 32px; font-weight: 900; }
.di-calc-result small { display: block; color: rgba(255,255,255,0.5); font-size: 12px; margin-top: 6px; }
.di-calc-btn {
  width: 100%; height: 48px; border-radius: 14px;
  background: var(--di-primary); color: #fff;
  border: 0; font-weight: 900; font-size: 14px;
  cursor: pointer; margin-top: 16px;
  transition: background .18s;
}
.di-calc-btn:hover { background: #5e1d2d; }

/* Agent card v2 */
.di-agent-card-v2 {
  background: #fff; border: 1px solid #e9e8e6;
  border-radius: 28px; padding: 28px;
  box-shadow: 0 18px 50px rgba(15,23,42,0.06);
  margin-bottom: 24px;
}
.di-agent-card-v2 .di-agent-top { display: flex; align-items: center; gap: 16px; margin-bottom: 20px; }
.di-agent-card-v2 .di-agent-avatar { width: 64px; height: 64px; border-radius: 50%; object-fit: cover; border: 3px solid var(--di-primary); flex-shrink: 0; }
.di-agent-card-v2 .di-agent-avatar-placeholder { width: 64px; height: 64px; border-radius: 50%; background: linear-gradient(135deg, var(--di-primary), #5e1d2d); color: #fff; font-size: 26px; font-weight: 900; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; }
.di-agent-card-v2 .di-agent-name { font-size: 18px; font-weight: 900; color: var(--di-dark); margin-bottom: 3px; }
.di-agent-card-v2 .di-agent-role { font-size: 12px; color: var(--di-muted); font-weight: 700; text-transform: uppercase; letter-spacing: .06em; }
.di-agent-contact-grid { display: grid; gap: 10px; margin-bottom: 20px; }
.di-agent-contact-row {
  display: flex; align-items: center; gap: 12px;
  padding: 11px 14px; border-radius: 14px;
  background: #f5f4f3; border: 1px solid #e9e8e6;
  text-decoration: none; color: var(--di-dark); font-weight: 700; font-size: 14px;
  transition: background .15s;
}
.di-agent-contact-row i { color: var(--di-primary); width: 20px; text-align: center; }
.di-agent-contact-row:hover { background: #f3ecde; color: var(--di-primary); text-decoration: none; }

/* ============================================================
   PAGINATION v2
   ============================================================ */
.di-pagination {
  display: flex; align-items: center; justify-content: center;
  flex-wrap: wrap; gap: 6px; margin-top: 40px;
}
.di-page-item {
  width: 44px; height: 44px; border-radius: 12px;
  display: inline-flex; align-items: center; justify-content: center;
  border: 1.5px solid #e5e3e0; background: #fff;
  color: var(--di-dark); font-weight: 800; font-size: 14px;
  text-decoration: none; transition: all .18s;
}
.di-page-item:hover { border-color: var(--di-primary); color: var(--di-primary); text-decoration: none; }
.di-page-item.active { background: var(--di-primary); border-color: var(--di-primary); color: #fff; box-shadow: 0 6px 18px rgba(118,38,56,0.28); }
.di-page-item.disabled { opacity: .4; pointer-events: none; }

/* ============================================================
   TOAST NOTIFICATION
   ============================================================ */
#di-toast-container {
  position: fixed; bottom: 24px; right: 24px;
  z-index: 99999;
  display: flex; flex-direction: column; gap: 10px;
  pointer-events: none;
}
.di-toast {
  background: var(--di-dark);
  color: #fff; border-radius: 16px; padding: 14px 20px;
  display: flex; align-items: center; gap: 12px;
  font-size: 14px; font-weight: 700;
  box-shadow: 0 14px 40px rgba(15,23,42,0.22);
  pointer-events: all;
  opacity: 0; transform: translateX(20px);
  animation: diToastIn .3s ease forwards, diToastOut .3s ease 3.5s forwards;
  max-width: 320px;
}
.di-toast.success i { color: #626262; }
.di-toast.error i { color: #5e1d2d; }
.di-toast.info i { color: var(--di-amber); }
@keyframes diToastIn { to { opacity: 1; transform: translateX(0); } }
@keyframes diToastOut { to { opacity: 0; transform: translateX(20px); } }

/* ============================================================
   SCROLL TO TOP v2
   ============================================================ */
.scroll-top {
  position: fixed; bottom: 28px; left: 28px;
  width: 48px; height: 48px; border-radius: 14px;
  background: var(--di-primary); color: #fff;
  border: 0; font-size: 18px;
  display: none; align-items: center; justify-content: center;
  cursor: pointer; z-index: 9998;
  box-shadow: 0 10px 28px rgba(118,38,56,0.32);
  transition: background .18s, transform .18s;
}
.scroll-top.visible { display: flex; }
.scroll-top:hover { background: #5e1d2d; transform: translateY(-3px); }

/* ============================================================
   SECTION UTILITY CLASSES
   ============================================================ */
.di-section { padding: 80px 0; }
.di-section-sm { padding: 50px 0; }
.di-section-dark { background: var(--di-dark); }
.di-section-light { background: var(--di-light); }
.di-section-white { background: #fff; }
.di-divider { border: 0; border-top: 1px solid #e9e8e6; margin: 0; }
.di-badge-hot { display: inline-flex; align-items: center; gap: 5px; background: #f3ecde; color: var(--di-primary); border: 1px solid #e4dccd; border-radius: 999px; padding: 5px 12px; font-size: 11px; font-weight: 900; text-transform: uppercase; letter-spacing: .06em; }
.di-badge-new { background: #f5f4f3; color: #626262; border-color: #e4e2df; }
.di-badge-premium { background: #f5f4f3; color: #626262; border-color: #e4e2df; }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media only screen and (max-width: 1199px) {
  .main-menu, .sticky-header { display: none !important; }
  .menu-area .mobile-nav-toggler { display: block; }
}
@media (max-width: 1200px) {
  .di-hero-badge-float { display: none; }
}
@media (max-width: 991px) {
  .di-hero-wrap { min-height: auto; padding: calc(var(--di-nav-h) + 50px) 0 50px; }
  .di-hero-right { display: none; }
  .di-hero-title { font-size: clamp(32px, 7vw, 52px); }
  .di-gallery-main img { height: 360px; }
  .di-gallery-thumbs { grid-template-columns: repeat(4, 1fr); }
  .di-specs-grid { grid-template-columns: 1fr; }
  .di-calc-row { grid-template-columns: 1fr; }
  .di-listing-list .di-card-v2 { flex-direction: column; }
  .di-listing-list .di-card-v2 .di-card-img { flex: none; }
}
@media (max-width: 768px) {
  :root { --di-nav-h: 40px; }
  .di-hero-search-glass { padding: 18px; border-radius: 20px; }
  .di-hero-stats-row { gap: 20px; }
  .di-hero-stat strong { font-size: 26px; }
  .di-gallery-main img { height: 260px; }
  .di-gallery-thumbs { grid-template-columns: repeat(3, 1fr); }
  .di-gallery-thumbs img { height: 70px; }
  .di-detail-tabs { flex-wrap: nowrap; overflow-x: auto; }
  .di-detail-tab-btn { flex: 0 0 auto; }
  .di-sidebar-v2 { position: relative; top: auto; }
  .di-sort-bar { flex-direction: column; align-items: flex-start; }
  .di-pagination .di-page-item { width: 38px; height: 38px; border-radius: 10px; font-size: 13px; }
  .di-section { padding: 50px 0; }
  .di-section-heading h2 { font-size: 28px; }
  .di-loader-wrap .preloader .letters-loading { font-size: 10px !important; }
  .di-search-glass { padding: 18px; border-radius: 22px; }
  .di-search-glass .column { margin-bottom: 14px; }
  .di-footer-top { padding: 40px 0 20px; }
  .di-page-hero h1 { font-size: 28px; }
  .di-contact-form-card { padding: 24px; }
  .di-legal-card { padding: 24px; }
  .di-auth-card { padding: 28px; }
  .di-detail-hero { display: block; padding: 24px; }
  .di-detail-hero h1 { font-size: 28px; }
  .di-detail-price { display: inline-block; margin-top: 18px; font-size: 22px; }
  .di-detail-gallery > a > img { height: 280px; }
  .di-detail-thumbs, .di-detail-stats { grid-template-columns: repeat(2,1fr); }
  .di-detail-sidebar { position: relative; top: auto; }
  .di-property-media img { height: 210px; }
  .di-property-body { padding: 16px !important; }
  .di-property-pricebox, .di-property-footer { display: block; }
  .di-property-details { grid-template-columns: 1fr; }
  .di-experience-grid { grid-template-columns: 1fr; }
  .di-nav-actions { gap: 4px; }
}

/* ============================================================
   DI-CARD-V2 — Premium property card
   ============================================================ */
.di-card-v2 {
  background: #fff;
  border-radius: 22px;
  overflow: hidden;
  box-shadow: 0 4px 24px rgba(15,23,42,.07);
  transition: transform .22s ease, box-shadow .22s ease;
  display: flex;
  flex-direction: column;
  height: 100%;
}
.di-card-v2:hover {
  transform: translateY(-5px);
  box-shadow: 0 16px 48px rgba(15,23,42,.13);
}

/* Image area */
.di-card-img {
  position: relative;
  overflow: hidden;
  aspect-ratio: 16/10;
  flex-shrink: 0;
}
.di-card-img a { display: block; height: 100%; }
.di-card-img img {
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform .38s ease;
  display: block;
}
.di-card-v2:hover .di-card-img img { transform: scale(1.05); }

/* Badge */
.di-card-badge {
  position: absolute;
  top: 14px; left: 14px;
  padding: 5px 13px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .05em;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  z-index: 2;
}

/* Action buttons (heart + hide) */
.di-card-actions {
  position: absolute;
  top: 14px; right: 14px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  z-index: 2;
}
.di-card-action-btn {
  width: 36px; height: 36px;
  border-radius: 50%;
  background: rgba(255,255,255,.92);
  backdrop-filter: blur(8px);
  border: none;
  display: flex; align-items: center; justify-content: center;
  color: #666666;
  font-size: 14px;
  cursor: pointer;
  transition: background .18s, color .18s, transform .18s;
  box-shadow: 0 2px 8px rgba(15,23,42,.12);
}
.di-card-action-btn:hover { background: #f3ecde; color: var(--di-primary); transform: scale(1.12); }
.di-card-action-btn.active { background: #f3ecde; color: var(--di-primary); }
.di-card-action-btn.active i.far { display: none; }

/* Bottom overlay (countdown / photo count / exchange) */
.di-card-overlay-info {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  background: linear-gradient(0deg, rgba(15,23,42,.72) 0%, transparent 100%);
  padding: 28px 14px 12px;
  display: flex;
  align-items: center;
  gap: 7px;
  color: #fff;
  font-size: 12px;
  font-weight: 800;
}
.di-card-overlay-info i { font-size: 13px; opacity: .85; }

/* Card body */
.di-card-body {
  padding: 18px 20px 20px;
  display: flex;
  flex-direction: column;
  flex: 1;
  gap: 8px;
}
.di-card-cat {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .05em;
  color: var(--di-muted);
}
.di-card-cat i { color: var(--di-primary); font-size: 11px; }
.di-card-title {
  font-size: 15px;
  font-weight: 900;
  color: var(--di-dark);
  line-height: 1.35;
}
.di-card-title a { color: inherit; text-decoration: none; }
.di-card-title a:hover { color: var(--di-primary); }
.di-card-address {
  font-size: 12px;
  color: var(--di-muted);
  line-height: 1.5;
}

/* Specs row */
.di-card-specs {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 4px;
}
.di-spec-item {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 12px;
  font-weight: 700;
  color: var(--di-dark);
  background: #f5f4f3;
  border: 1px solid #e9e8e6;
  border-radius: 8px;
  padding: 4px 9px;
}
.di-spec-item i { color: var(--di-primary); font-size: 11px; }

/* Card footer */
.di-card-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: auto;
  padding-top: 14px;
  border-top: 1px solid #f3f2f0;
}
.di-card-price {
  font-size: 17px;
  font-weight: 900;
  color: var(--di-primary);
  display: flex;
  flex-direction: column;
  line-height: 1.2;
}
.di-card-price small {
  font-size: 10px;
  font-weight: 700;
  color: var(--di-muted);
  text-transform: uppercase;
  letter-spacing: .05em;
}
.di-card-detail-btn {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 8px 16px;
  border-radius: 12px;
  background: var(--di-primary);
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: .04em;
  transition: background .18s, transform .18s;
}
.di-card-detail-btn:hover { background: #5e1d2d; color: #fff; text-decoration: none; transform: translateX(2px); }

/* ============================================================
   LIST MODE — di-listing-list
   ============================================================ */
#diListingsGrid.di-listing-list > [class*="col-"] {
  flex: 0 0 100%;
  max-width: 100%;
}
#diListingsGrid.di-listing-list .di-card-v2 {
  flex-direction: row;
  max-height: 200px;
  border-radius: 18px;
}
#diListingsGrid.di-listing-list .di-card-img {
  flex: 0 0 260px;
  aspect-ratio: unset;
  height: 200px;
}
#diListingsGrid.di-listing-list .di-card-body {
  padding: 16px 20px;
  gap: 6px;
  flex-direction: column;
  justify-content: center;
}
#diListingsGrid.di-listing-list .di-card-title { font-size: 16px; }
#diListingsGrid.di-listing-list .di-card-address { display: block; }
#diListingsGrid.di-listing-list .di-card-footer { border-top: 0; padding-top: 8px; }
@media (max-width: 768px) {
  #diListingsGrid.di-listing-list .di-card-v2 { flex-direction: column; max-height: unset; }
  #diListingsGrid.di-listing-list .di-card-img { flex: none; height: 200px; }
}

/* ============================================================
   HERO V2 — di-hero-wrap (canonical, single definition)
   ============================================================ */
.di-hero-wrap {
  background: linear-gradient(135deg, var(--di-dark) 0%, #252525 60%, #171717 100%);
  min-height: 100vh;
  display: flex;
  align-items: center;
  padding: calc(var(--di-nav-h) + 60px) 0 80px;
  position: relative;
  overflow: hidden;
  margin-top: 0;
}
.di-hero-wrap::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 70% 60% at 80% 50%, rgba(118,38,56,.18) 0%, transparent 60%),
              radial-gradient(ellipse 50% 50% at 20% 80%, rgba(99,102,241,.12) 0%, transparent 55%);
}
.di-hero-content { position: relative; z-index: 2; }

.di-hero-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 999px;
  padding: 7px 16px;
  font-size: 13px;
  font-weight: 700;
  color: rgba(255,255,255,.85);
  margin-bottom: 24px;
}
.di-hero-eyebrow span {
  width: 8px; height: 8px;
  border-radius: 50%;
  background: var(--di-primary);
  display: inline-block;
  animation: di-pulse 2s infinite;
}
.di-hero-title {
  font-size: clamp(38px, 5vw, 62px);
  font-weight: 900;
  color: #fff;
  line-height: 1.12;
  margin-bottom: 20px;
  letter-spacing: -.02em;
}
.di-hero-title em {
  font-style: normal;
  background: linear-gradient(90deg, var(--di-primary), #762638);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
.di-hero-subtitle {
  font-size: 17px;
  color: rgba(255,255,255,.72);
  line-height: 1.65;
  margin-bottom: 32px;
  max-width: 540px;
}
.di-hero-cta-row {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-bottom: 36px;
}
.di-hero-btn-primary {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 14px 28px;
  border-radius: 16px;
  background: var(--di-primary);
  color: #fff;
  font-weight: 900;
  font-size: 15px;
  text-decoration: none;
  transition: background .18s, transform .18s, box-shadow .18s;
  box-shadow: 0 12px 32px rgba(118,38,56,.35);
}
.di-hero-btn-primary:hover { background: #5e1d2d; color: #fff; text-decoration: none; transform: translateY(-2px); box-shadow: 0 18px 40px rgba(118,38,56,.45); }
.di-hero-btn-secondary {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 14px 28px;
  border-radius: 16px;
  background: rgba(255,255,255,.1);
  border: 1px solid rgba(255,255,255,.2);
  color: #fff;
  font-weight: 800;
  font-size: 15px;
  text-decoration: none;
  transition: background .18s;
}
.di-hero-btn-secondary:hover { background: rgba(255,255,255,.18); color: #fff; text-decoration: none; }

/* Hero search */
.di-hero-search-wrap { margin-bottom: 36px; }
.di-hero-search-tabs {
  display: flex;
  gap: 6px;
  margin-bottom: -1px;
  position: relative;
  z-index: 1;
}
.di-hero-tab-btn {
  padding: 10px 20px;
  border-radius: 14px 14px 0 0;
  border: none;
  background: rgba(255,255,255,.1);
  color: rgba(255,255,255,.75);
  font-weight: 800;
  font-size: 13px;
  cursor: pointer;
  transition: background .18s, color .18s;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.di-hero-tab-btn.active,
.di-hero-tab-btn:hover {
  background: rgba(255,255,255,.95);
  color: var(--di-dark);
}
.di-hero-search-glass {
  background: rgba(255,255,255,.97);
  border-radius: 0 22px 22px 22px;
  padding: 22px 24px;
  box-shadow: 0 20px 60px rgba(15,23,42,.25);
}
.di-search-lbl {
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--di-muted);
  margin-bottom: 6px;
  display: block;
}
.di-search-input-icon { position: relative; }
.di-search-input-icon i { position: absolute; top: 50%; left: 13px; transform: translateY(-50%); color: var(--di-muted); font-size: 13px; pointer-events: none; }
.di-search-input-icon .di-search-input { padding-left: 36px; }
.di-search-input {
  width: 100%;
  height: 46px;
  padding: 0 14px;
  border: 1px solid #e4e2df;
  border-radius: 12px;
  background: #f5f4f3;
  font-size: 14px;
  font-weight: 700;
  color: var(--di-dark);
  outline: none;
  transition: border-color .18s, box-shadow .18s;
  display: block;
}
.di-search-input:focus { border-color: var(--di-primary); box-shadow: 0 0 0 3px rgba(118,38,56,.1); }
.di-search-btn-main {
  width: 100%;
  height: 46px;
  border-radius: 12px;
  background: var(--di-primary);
  color: #fff;
  border: none;
  font-weight: 900;
  font-size: 14px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  transition: background .18s;
}
.di-search-btn-main:hover { background: #5e1d2d; }

/* Hero stats */
.di-hero-stats-row {
  display: flex;
  gap: 32px;
  flex-wrap: wrap;
}
.di-hero-stat { display: flex; flex-direction: column; gap: 2px; }
.di-hero-stat strong { font-size: 30px; font-weight: 900; color: #fff; line-height: 1; }
.di-hero-stat span { font-size: 12px; color: rgba(255,255,255,.6); font-weight: 600; }

/* Hero right image panel */
.di-hero-right { position: relative; z-index: 2; }
.di-hero-img-wrap {
  border-radius: 28px;
  overflow: hidden;
  box-shadow: 0 32px 80px rgba(15,23,42,.4);
  aspect-ratio: 4/3;
}
.di-hero-img-wrap img { width: 100%; height: 100%; object-fit: cover; display: block; }
.di-hero-badge-float {
  position: absolute;
  display: flex;
  align-items: center;
  gap: 12px;
  background: #fff;
  border-radius: 18px;
  padding: 12px 18px;
  box-shadow: 0 12px 32px rgba(15,23,42,.18);
  z-index: 3;
  white-space: nowrap;
}
.di-hero-badge-float.top-left { top: -20px; left: -20px; }
.di-hero-badge-float.bottom-right { bottom: -20px; right: -20px; }
.di-hero-badge-float i {
  width: 40px; height: 40px;
  border-radius: 12px;
  background: #f3ecde;
  color: var(--di-primary);
  display: flex; align-items: center; justify-content: center;
  font-size: 18px;
}
.di-hero-badge-float div { display: flex; flex-direction: column; gap: 1px; }
.di-hero-badge-float strong { font-size: 16px; font-weight: 900; color: var(--di-dark); }
.di-hero-badge-float span { font-size: 11px; color: var(--di-muted); font-weight: 600; }

/* ============================================================
   DI-SIDEBAR-V2 — Filter sidebar
   ============================================================ */
.di-sidebar-v2 {
  background: #fff;
  border-radius: 22px;
  box-shadow: 0 4px 24px rgba(15,23,42,.07);
  overflow: hidden;
  position: sticky;
  top: calc(var(--di-nav-h) + 20px);
}
.di-sidebar-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 18px 20px;
  border-bottom: 1px solid #f3f2f0;
}
.di-sidebar-header h4 {
  font-size: 15px;
  font-weight: 900;
  color: var(--di-dark);
  margin: 0;
  display: flex;
  align-items: center;
}
.di-sidebar-header h4 i { color: var(--di-primary); }
.di-sidebar-header a {
  font-size: 12px;
  font-weight: 700;
  color: var(--di-primary);
  text-decoration: none;
  padding: 5px 10px;
  border-radius: 8px;
  background: #f3ecde;
  transition: background .15s;
}
.di-sidebar-header a:hover { background: #e4dccd; }
.di-sidebar-body { padding: 18px 20px; }

/* Filter group */
.di-filter-group { margin-bottom: 16px; }
.di-filter-label {
  display: block;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--di-muted);
  margin-bottom: 7px;
}
.di-filter-input {
  width: 100%;
  height: 42px;
  padding: 0 13px;
  border: 1px solid #e4e2df;
  border-radius: 11px;
  background: #f5f4f3;
  font-size: 13px;
  font-weight: 700;
  color: var(--di-dark);
  outline: none;
  transition: border-color .18s, box-shadow .18s;
  appearance: auto;
  display: block;
}
.di-filter-input:focus { border-color: var(--di-primary); box-shadow: 0 0 0 3px rgba(118,38,56,.08); }
.di-filter-input-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}
.di-filter-apply-btn {
  width: 100%;
  height: 46px;
  border-radius: 13px;
  background: var(--di-primary);
  color: #fff;
  border: none;
  font-weight: 900;
  font-size: 14px;
}

/* Filter button groups (rooms/bedrooms/bathrooms) */
.di-btn-group-filter {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.di-btn-filter {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 34px;
  padding: 0 10px;
  border-radius: 9px;
  border: 1px solid #e4e2df;
  background: #fff;
  font-size: 12px;
  font-weight: 800;
  color: var(--di-dark);
  text-decoration: none;
  transition: all .16s;
}
.di-btn-filter:hover { border-color: var(--di-primary); color: var(--di-primary); }
.di-btn-filter.active { background: var(--di-primary); border-color: var(--di-primary); color: #fff; }

/* Energy chip buttons */
.di-filter-btn-group {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}
.di-filter-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 34px;
  height: 32px;
  padding: 0 9px;
  border-radius: 8px;
  border: 1px solid #e4e2df;
  background: #fff;
  font-size: 12px;
  font-weight: 900;
  color: var(--di-dark);
  cursor: pointer;
  transition: all .16s;
}
.di-filter-chip:hover { border-color: var(--di-primary); }
.di-filter-chip.active { border-color: var(--di-primary); background: var(--di-primary); color: #fff; }
.di-energy-chip.di-energy-aplus.active { background: #626262; border-color: #626262; }
.di-energy-chip.di-energy-a.active { background: #626262; border-color: #626262; }
.di-energy-chip.di-energy-b.active { background: #626262; border-color: #626262; }
.di-energy-chip.di-energy-c.active { background: #8a3b40; border-color: #8a3b40; }
.di-energy-chip.di-energy-d.active { background: #8a3b40; border-color: #8a3b40; }
.di-energy-chip.di-energy-e.active { background: #5e1d2d; border-color: #5e1d2d; }
.di-energy-chip.di-energy-f.active { background: #b91c1c; border-color: #b91c1c; }
.di-energy-chip.di-energy-g.active { background: #6b252d; border-color: #6b252d; }

/* Amenity checkboxes grid */
.di-filter-checks {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
}
.di-filter-check-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  border-radius: 10px;
  border: 1px solid #e4e2df;
  background: #fff;
  cursor: pointer;
  transition: all .16s;
  font-size: 12px;
  font-weight: 700;
  color: var(--di-dark);
}
.di-filter-check-item:hover { border-color: var(--di-primary); }
.di-filter-check-item.checked { background: #f3ecde; border-color: var(--di-primary); color: var(--di-primary); }
.di-filter-check-item input { display: none; }
.di-filter-check-item i { font-size: 14px; color: var(--di-muted); flex-shrink: 0; }
.di-filter-check-item.checked i { color: var(--di-primary); }
.di-filter-apply-btn:hover { background: #5e1d2d; transform: translateY(-1px); }

/* ============================================================
   SORT BAR + VIEW TOGGLE + DEAL PILLS
   ============================================================ */
.di-sort-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 18px;
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 2px 12px rgba(15,23,42,.06);
  margin-bottom: 22px;
  gap: 16px;
  flex-wrap: wrap;
}
.di-results-count { font-size: 14px; font-weight: 700; color: var(--di-dark); }
.di-results-count strong { font-weight: 900; color: var(--di-primary); font-size: 16px; }
.di-sort-select {
  height: 38px;
  padding: 0 12px;
  border: 1px solid #e4e2df;
  border-radius: 10px;
  background: #f5f4f3;
  font-size: 13px;
  font-weight: 700;
  color: var(--di-dark);
  cursor: pointer;
  outline: none;
  min-width: 140px;
  transition: border-color .18s;
}
.di-sort-select:focus { border-color: var(--di-primary); }

.di-view-toggle { display: flex; gap: 5px; }
.di-view-btn {
  width: 38px; height: 38px;
  border-radius: 10px;
  background: #f5f4f3;
  border: 1px solid #e4e2df;
  color: var(--di-muted);
  font-size: 14px;
  cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  transition: background .15s, color .15s, border-color .15s;
}
.di-view-btn.active, .di-view-btn:hover {
  background: #f3ecde;
  border-color: var(--di-primary);
  color: var(--di-primary);
}

/* Deal pills */
.di-deal-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 24px;
}
.di-deal-pill {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 8px 18px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 800;
  color: var(--di-muted);
  background: #fff;
  border: 2px solid #e4e2df;
  text-decoration: none;
  transition: background .18s, color .18s, border-color .18s;
}
.di-deal-pill:hover { color: var(--di-primary); border-color: var(--di-primary); text-decoration: none; }
.di-deal-pill.active { color: #fff; background: var(--di-primary); border-color: var(--di-primary); }
.di-deal-pill.auction { color: #7a252f; border-color: #e4e2df; background: #f5f4f3; }
.di-deal-pill.auction.active { color: #fff; background: var(--di-amber); border-color: var(--di-amber); }
.di-deal-pill.exchange { color: #4a4a4a; border-color: #e4e2df; background: #f5f4f3; }
.di-deal-pill.exchange.active { color: #fff; background: var(--di-indigo); border-color: var(--di-indigo); }
.di-deal-pill.rent { color: #4a4a4a; border-color: #e4e2df; background: #f5f4f3; }
.di-deal-pill.rent.active { color: #fff; background: var(--di-green); border-color: var(--di-green); }

/* ============================================================
   PAGINATION V2
   ============================================================ */
.di-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  margin-top: 40px;
  flex-wrap: wrap;
}
.di-page-item {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px; height: 44px;
  padding: 0 10px;
  border-radius: 13px;
  background: #fff;
  border: 1px solid #e4e2df;
  color: var(--di-dark);
  font-size: 14px;
  font-weight: 800;
  text-decoration: none;
  transition: background .15s, color .15s, border-color .15s, transform .15s;
}
.di-page-item:hover { background: #f3ecde; border-color: var(--di-primary); color: var(--di-primary); transform: translateY(-1px); text-decoration: none; }
.di-page-item.active { background: var(--di-primary); border-color: var(--di-primary); color: #fff; }
.di-page-item.disabled { color: #d2d0cd; pointer-events: none; background: #f5f4f3; }

/* ============================================================
   TOAST NOTIFICATIONS
   ============================================================ */
#di-toast-container {
  position: fixed;
  bottom: 28px;
  right: 24px;
  z-index: 99999;
  display: flex;
  flex-direction: column;
  gap: 10px;
  pointer-events: none;
}
.di-toast {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 20px;
  border-radius: 16px;
  background: #171717;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  box-shadow: 0 16px 40px rgba(15,23,42,.22);
  min-width: 240px;
  max-width: 340px;
  animation: diToastIn .3s ease;
  pointer-events: auto;
}
.di-toast.success { background: #4a4a4a; }
.di-toast.error { background: #6b252d; }
.di-toast.info { background: #252525; }
.di-toast i { font-size: 18px; flex-shrink: 0; }
@keyframes diToastIn {
  from { opacity: 0; transform: translateY(18px) scale(.94); }
  to   { opacity: 1; transform: translateY(0) scale(1); }
}

/* ============================================================
   SCROLL-TO-TOP V2
   ============================================================ */
.scroll-top {
  position: fixed;
  bottom: 28px;
  left: 28px;
  width: 48px; height: 48px;
  border-radius: 14px;
  background: var(--di-primary);
  color: #fff;
  display: flex; align-items: center; justify-content: center;
  font-size: 18px;
  box-shadow: 0 8px 24px rgba(118,38,56,.35);
  cursor: pointer;
  opacity: 0;
  transform: translateY(16px);
  transition: opacity .3s, transform .3s, background .18s;
  z-index: 9990;
  border: none;
  text-decoration: none;
}
.scroll-top.visible { opacity: 1; transform: translateY(0); }
.scroll-top:hover { background: #5e1d2d; color: #fff; }

/* ============================================================
   DI-SECTION utility
   ============================================================ */
.di-section { padding: 80px 0; }
.di-section-light { background: var(--di-light) !important; }

/* ============================================================
   PAGE HERO (listing + detail pages)
   ============================================================ */
.di-page-hero {
  background: linear-gradient(135deg, var(--di-dark) 0%, var(--di-slate) 100%);
  padding: calc(var(--di-nav-h) + 32px) 0 36px;
  position: relative;
  overflow: hidden;
}
.di-page-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 60% 80% at 90% 50%, rgba(118,38,56,.14) 0%, transparent 60%);
}
.di-page-hero h1 {
  font-size: clamp(26px, 4vw, 40px);
  font-weight: 900;
  color: #fff;
  margin: 0 0 12px;
  position: relative;
  z-index: 1;
}
.di-breadcrumb {
  display: flex;
  align-items: center;
  gap: 10px;
  list-style: none;
  padding: 0; margin: 0;
  position: relative; z-index: 1;
}
.di-breadcrumb li { font-size: 13px; font-weight: 700; color: rgba(255,255,255,.6); }
.di-breadcrumb li + li::before { content: '/'; margin-right: 10px; opacity: .4; }
.di-breadcrumb li a { color: rgba(255,255,255,.75); text-decoration: none; }
.di-breadcrumb li a:hover { color: #fff; }

/* ============================================================
   PULSE ANIMATION (reused from auction badge)
   ============================================================ */
@keyframes di-pulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(118,38,56,.5); }
  50% { box-shadow: 0 0 0 6px rgba(118,38,56,0); }
}

/* ============================================================
   DETAIL PAGE V2
   ============================================================ */

/* Hero bar in page-hero */
.di-detail-hero-bar {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
  margin-bottom: 18px;
  position: relative; z-index: 1;
}
.di-detail-hero-left { flex: 1; min-width: 0; }
.di-detail-hero-badges { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; }
.di-detail-deal-badge {
  display: inline-flex; align-items: center; gap: 5px;
  padding: 5px 14px; border-radius: 999px;
  font-size: 12px; font-weight: 900; text-transform: uppercase; letter-spacing: .05em;
  background: var(--di-primary); color: #fff;
}
.di-detail-deal-badge.rent { background: var(--di-green); }
.di-detail-deal-badge.auction { background: var(--di-amber); color: #2b2b2b; }
.di-detail-deal-badge.exchange { background: var(--di-indigo); }
.di-detail-deal-badge.featured { background: #762638; color: #2b2b2b; }
.di-detail-deal-badge.premium { background: #626262; }
.di-detail-h1 {
  font-size: clamp(22px, 3vw, 34px); font-weight: 900; color: #fff;
  margin: 0 0 12px; line-height: 1.25;
}
.di-detail-meta-row {
  display: flex; flex-wrap: wrap; gap: 12px;
  font-size: 13px; font-weight: 700; color: rgba(255,255,255,.75);
}
.di-detail-meta-row i { color: rgba(255,255,255,.5); margin-right: 5px; font-size: 12px; }
.di-ref-pill {
  background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.2);
  border-radius: 999px; padding: 2px 10px; font-size: 11px; font-weight: 800;
  color: rgba(255,255,255,.65);
}
.di-detail-hero-price {
  font-size: clamp(26px, 3.5vw, 40px); font-weight: 900; color: #fff;
  white-space: nowrap; line-height: 1.1;
  text-shadow: 0 4px 16px rgba(0,0,0,.25);
}
.di-detail-hero-price small {
  display: block; font-size: 13px; font-weight: 700;
  color: rgba(255,255,255,.6); margin-top: 4px;
}

/* Gallery V2 */
.di-gallery-v2 {
  border-radius: 22px;
  overflow: hidden;
  background: #171717;
}
.di-gallery-main-img {
  display: block; position: relative;
  aspect-ratio: 16/9; overflow: hidden;
}
.di-gallery-main-img img {
  width: 100%; height: 100%; object-fit: cover;
  transition: transform .4s ease; display: block;
}
.di-gallery-main-img:hover img { transform: scale(1.03); }
.di-gallery-count-badge {
  position: absolute; bottom: 14px; right: 14px;
  background: rgba(15,23,42,.75); backdrop-filter: blur(8px);
  color: #fff; border-radius: 999px;
  padding: 5px 12px; font-size: 12px; font-weight: 800;
  display: flex; align-items: center; gap: 6px;
}
.di-gallery-thumbs-row {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 3px;
  margin-top: 3px;
}
.di-gallery-thumb {
  display: block; position: relative; overflow: hidden;
  aspect-ratio: 4/3;
}
.di-gallery-thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s; display: block; }
.di-gallery-thumb:hover img { transform: scale(1.08); }
.di-gallery-more-overlay {
  position: absolute; inset: 0;
  background: rgba(15,23,42,.62); backdrop-filter: blur(3px);
  display: flex; align-items: center; justify-content: center;
  color: #fff; font-size: 20px; font-weight: 900;
}

/* Stats row */
.di-detail-stats-row {
  display: flex; flex-wrap: wrap; gap: 10px;
}
.di-dstat {
  display: flex; flex-direction: column; align-items: center;
  gap: 4px; padding: 16px 18px;
  background: #fff; border-radius: 16px;
  box-shadow: 0 2px 12px rgba(15,23,42,.06);
  min-width: 88px; flex: 1;
}
.di-dstat i { color: var(--di-primary); font-size: 18px; }
.di-dstat strong { font-size: 18px; font-weight: 900; color: var(--di-dark); }
.di-dstat span { font-size: 11px; color: var(--di-muted); font-weight: 700; text-transform: uppercase; letter-spacing: .04em; }

/* Detail blocks (cards) */
.di-detail-block {
  background: #fff;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 2px 16px rgba(15,23,42,.06);
}
.di-block-title {
  display: flex; align-items: center; gap: 10px;
  font-size: 16px; font-weight: 900; color: var(--di-dark);
  padding: 18px 22px;
  border-bottom: 1px solid #f3f2f0;
  margin: 0;
}
.di-block-title i { color: var(--di-primary); font-size: 15px; }
.di-block-body { padding: 22px; }
.di-description { font-size: 15px; line-height: 1.75; color: #515151; font-weight: 500; }

/* Details grid (key-value pairs) */
.di-details-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0; }
.di-detail-row {
  display: flex; justify-content: space-between; align-items: center;
  padding: 11px 14px; border-bottom: 1px solid #f5f4f3;
  font-size: 13px;
}
.di-detail-row:nth-child(even) { background: #f7f6f4; }
.di-detail-row span { color: var(--di-muted); font-weight: 700; }
.di-detail-row strong { color: var(--di-dark); font-weight: 900; text-align: right; }

/* Amenities grid */
.di-amenities-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}
.di-amenity-item {
  display: flex; align-items: center; gap: 8px;
  padding: 10px 14px;
  background: #f5f4f3; border-radius: 12px;
  font-size: 13px; font-weight: 700; color: #3a3a3a;
  border: 1px solid #e9e8e6;
}
.di-amenity-item i { color: var(--di-primary); font-size: 12px; flex-shrink: 0; }

/* Map embed */
.di-map-embed { width: 100%; height: 300px; }
.di-map-embed iframe { width: 100%; height: 100%; border: 0; display: block; }

/* Mortgage calc */
.di-calc-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-bottom: 18px; }
.di-calc-field label { display: block; font-size: 11px; font-weight: 900; text-transform: uppercase; letter-spacing: .05em; color: var(--di-muted); margin-bottom: 6px; }
.di-calc-result-box {
  display: flex; align-items: center; justify-content: space-between;
  background: linear-gradient(135deg, var(--di-dark), var(--di-slate));
  border-radius: 14px; padding: 16px 22px; color: #fff;
}
.di-calc-result-box span { font-size: 13px; font-weight: 700; color: rgba(255,255,255,.7); }
.di-calc-result-box strong { font-size: 24px; font-weight: 900; color: #fff; }

/* Sticky sidebar */
.di-detail-sidebar-sticky {
  position: sticky;
  top: calc(var(--di-nav-h) + 20px);
}

/* Sidebar contact card */
.di-sidebar-contact-card {
  background: #fff;
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 8px 32px rgba(15,23,42,.1);
}
.di-sidebar-price-head {
  background: linear-gradient(135deg, var(--di-primary), #5e1d2d);
  padding: 24px;
  display: flex; flex-direction: column; gap: 8px;
}
.di-sidebar-price {
  font-size: 28px; font-weight: 900; color: #fff; line-height: 1.1;
}
.di-sidebar-price small { font-size: 13px; font-weight: 700; color: rgba(255,255,255,.75); }
.di-sidebar-deal-badge {
  display: inline-flex; align-items: center; gap: 5px;
  padding: 5px 14px; border-radius: 999px;
  font-size: 12px; font-weight: 900; text-transform: uppercase;
  background: rgba(255,255,255,.2); color: #fff;
  width: fit-content;
}
.di-sidebar-contact-body { padding: 22px; }
.di-sidebar-contact-body h4 { font-size: 16px; font-weight: 900; color: var(--di-dark); margin: 0 0 6px; }
.di-sidebar-contact-body p { font-size: 13px; color: var(--di-muted); margin: 0 0 18px; }

/* Sidebar actions card */
.di-sidebar-actions-card {
  background: #fff;
  border-radius: 20px;
  box-shadow: 0 4px 20px rgba(15,23,42,.07);
  padding: 18px;
  display: flex; flex-direction: column; gap: 12px;
}
.di-sidebar-btn-row { display: flex; gap: 10px; }
.di-sidebar-action-btn {
  flex: 1;
  display: inline-flex; align-items: center; justify-content: center; gap: 7px;
  padding: 11px 14px; border-radius: 13px;
  border: 2px solid #e4e2df; background: #f5f4f3;
  color: var(--di-muted); font-size: 13px; font-weight: 800;
  cursor: pointer; transition: all .18s;
}
.di-sidebar-action-btn:hover { border-color: var(--di-primary); color: var(--di-primary); background: #f3ecde; }
.di-sidebar-action-btn.active { border-color: var(--di-primary); color: var(--di-primary); background: #f3ecde; }
.di-sidebar-action-btn i { font-size: 15px; }
.di-sidebar-back-btn {
  display: flex; align-items: center; justify-content: center; gap: 7px;
  padding: 11px 14px; border-radius: 13px;
  background: var(--di-dark); color: #fff;
  font-size: 13px; font-weight: 800;
  text-decoration: none; transition: background .18s;
}
.di-sidebar-back-btn:hover { background: var(--di-slate); color: #fff; text-decoration: none; }

/* Share buttons */
.di-sidebar-share {
  display: flex; align-items: center; justify-content: center; gap: 10px;
  padding-top: 4px; border-top: 1px solid #f3f2f0;
}
.di-share-btn {
  width: 40px; height: 40px; border-radius: 12px;
  display: flex; align-items: center; justify-content: center;
  font-size: 15px; text-decoration: none;
  transition: transform .18s, background .18s;
}
.di-share-btn:hover { transform: translateY(-2px); text-decoration: none; }
.di-share-btn.fb { background: #f5f4f3; color: #545454; }
.di-share-btn.tw { background: #f5f4f3; color: #545454; }
.di-share-btn.wa { background: #f5f4f3; color: #25d366; }
.di-share-btn.em { background: #f3f2f0; color: #666666; }

/* Auction end row */
.di-auction-end-row {
  font-size: 13px; color: #4a4a4a; font-weight: 700; margin-bottom: 4px;
  display: flex; align-items: center; gap: 6px;
}

/* Similar section */
.di-similar-section { margin-top: 56px; }
.di-section-heading h2 { font-size: clamp(24px, 3vw, 36px); font-weight: 900; color: var(--di-dark); margin: 0 0 10px; }
.di-section-heading p { font-size: 15px; color: var(--di-muted); margin: 0; }

/* Responsive overrides for detail page */
@media (max-width: 991px) {
  .di-detail-sidebar-sticky { position: relative; top: auto; }
  .di-amenities-grid { grid-template-columns: repeat(2, 1fr); }
  .di-calc-grid { grid-template-columns: 1fr; }
  .di-gallery-thumbs-row { grid-template-columns: repeat(3, 1fr); }
  .di-detail-hero-bar { flex-direction: column; }
  .di-detail-hero-price { font-size: 28px; }
}
@media (max-width: 576px) {
  .di-details-grid { grid-template-columns: 1fr; }
  .di-amenities-grid { grid-template-columns: 1fr 1fr; }
  .di-gallery-thumbs-row { grid-template-columns: repeat(2, 1fr); }
  .di-sidebar-btn-row { flex-direction: column; }
}

/* ============================================================
   PREMIUM FOOTER
   ============================================================ */

/* Stats bar (above footer) */
.di-footer-stats-bar {
  background: var(--di-primary);
  padding: 24px 0;
}
.di-footer-stats-inner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  flex-wrap: wrap;
}
.di-footer-stat {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 10px 36px;
  color: #fff;
}
.di-footer-stat > i { font-size: 28px; opacity: .85; }
.di-footer-stat div { display: flex; flex-direction: column; gap: 2px; }
.di-footer-stat strong { font-size: 26px; font-weight: 900; color: #fff; line-height: 1; }
.di-footer-stat span { font-size: 12px; color: rgba(255,255,255,.75); font-weight: 700; }
.di-footer-stat-divider {
  width: 1px; height: 40px;
  background: rgba(255,255,255,.25);
  flex-shrink: 0;
}

/* Main footer */
.di-footer {
  background: var(--di-dark);
  color: rgba(255,255,255,.75);
}

/* Trust badges row */
.di-footer-trust-bar {
  border-bottom: 1px solid rgba(255,255,255,.07);
  padding: 18px 0;
}
.di-footer-trust-inner {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px 32px;
}
.di-trust-badge {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 700;
  color: rgba(255,255,255,.65);
}
.di-trust-badge i { color: var(--di-primary); font-size: 15px; }

/* Footer top */
.di-footer-top { padding: 56px 0 40px; }

/* Brand */
.di-footer-brand { max-width: 320px; }
.di-footer-logo img { height: 40px; width: auto; display: block; margin-bottom: 16px; filter: brightness(0) invert(1); }
.di-footer-brand p { font-size: 14px; line-height: 1.7; color: rgba(255,255,255,.6); margin: 0 0 20px; }

/* Social buttons */
.di-footer-social { display: flex; flex-wrap: wrap; gap: 10px; }
.di-fsoc-btn {
  width: 38px; height: 38px;
  border-radius: 12px;
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.1);
  color: rgba(255,255,255,.7);
  display: flex; align-items: center; justify-content: center;
  font-size: 14px;
  text-decoration: none;
  transition: background .18s, color .18s;
}
.di-fsoc-btn:hover { background: var(--di-primary); border-color: var(--di-primary); color: #fff; text-decoration: none; }

/* Footer headings */
.di-footer-heading {
  font-size: 13px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: #fff;
  margin: 0 0 18px;
  padding-bottom: 10px;
  border-bottom: 2px solid var(--di-primary);
  display: inline-block;
}

/* Footer links */
.di-footer-links {
  list-style: none;
  padding: 0; margin: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.di-footer-links li a {
  font-size: 13px;
  font-weight: 700;
  color: rgba(255,255,255,.6);
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 8px;
  transition: color .15s;
}
.di-footer-links li a i { font-size: 9px; color: var(--di-primary); }
.di-footer-links li a:hover { color: #fff; text-decoration: none; }

/* Newsletter */
.di-footer-nl-text { font-size: 13px; color: rgba(255,255,255,.6); margin: 0 0 14px; line-height: 1.6; }
.di-footer-newsletter-form {
  display: flex;
  height: 48px;
  border-radius: 13px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.15);
  margin-bottom: 16px;
}
.di-footer-newsletter-form input {
  flex: 1;
  background: rgba(255,255,255,.06);
  border: none;
  padding: 0 16px;
  color: #fff;
  font-size: 13px;
  font-weight: 600;
  outline: none;
}
.di-footer-newsletter-form input::placeholder { color: rgba(255,255,255,.4); }
.di-footer-newsletter-form button {
  width: 52px;
  background: var(--di-primary);
  border: none;
  color: #fff;
  font-size: 14px;
  cursor: pointer;
  transition: background .18s;
  flex-shrink: 0;
}
.di-footer-newsletter-form button:hover { background: #5e1d2d; }

/* Newsletter form v2 (with captcha) */
.di-footer-newsletter-form-v2 { margin-bottom: 16px; }
.di-footer-nl-input {
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 8px;
  color: #fff;
  font-size: 13px;
  font-weight: 500;
  height: 36px;
  padding: 0 12px;
  outline: none;
  width: 100%;
  transition: border-color .18s;
}
.di-footer-nl-input::placeholder { color: rgba(255,255,255,.4); }
.di-footer-nl-input:focus { border-color: var(--di-primary); }
.di-footer-nl-btn {
  height: 36px;
  width: 42px;
  background: var(--di-primary);
  border: none;
  border-radius: 8px;
  color: #fff;
  font-size: 13px;
  cursor: pointer;
  flex-shrink: 0;
  transition: background .18s;
}
.di-footer-nl-btn:hover { background: #5e1d2d; }

/* Contact info */
.di-footer-contact-info { display: flex; flex-direction: column; gap: 8px; }
.di-footer-contact-info a {
  font-size: 13px;
  font-weight: 700;
  color: rgba(255,255,255,.6);
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 9px;
  transition: color .15s;
}
.di-footer-contact-info a i { color: var(--di-primary); font-size: 13px; }
.di-footer-contact-info a:hover { color: #fff; text-decoration: none; }

/* Footer bottom */
.di-footer-bottom {
  border-top: 1px solid rgba(255,255,255,.07);
  padding: 20px 0;
}
.di-footer-bottom p {
  font-size: 13px;
  color: rgba(255,255,255,.5);
  margin: 0;
  font-weight: 600;
}
.di-footer-bottom p a { color: rgba(255,255,255,.7); text-decoration: none; }
.di-footer-bottom p a:hover { color: #fff; }
.di-footer-bottom-links {
  display: flex;
  gap: 20px;
  list-style: none;
  padding: 0; margin: 0;
}
.di-footer-bottom-links li a {
  font-size: 12px;
  font-weight: 700;
  color: rgba(255,255,255,.5);
  text-decoration: none;
  transition: color .15s;
}
.di-footer-bottom-links li a:hover { color: #fff; }

/* Footer responsive */
@media (max-width: 768px) {
  .di-footer-stats-inner { gap: 0; }
  .di-footer-stat { padding: 10px 18px; }
  .di-footer-stat-divider { display: none; }
  .di-footer-trust-inner { gap: 8px 20px; }
  .di-footer-top { padding: 40px 0 24px; }
  .di-footer-brand { max-width: 100%; }
  .di-footer-bottom-links { gap: 12px; }
}

/* Nav additional styles */
.di-nav-icon-btn {
  display: inline-flex; align-items: center; gap: 4px;
  background: transparent; border: 1px solid #e9e8e6; border-radius: 10px;
  padding: 6px 10px; cursor: pointer; color: var(--di-dark);
  font-size: 13px; font-weight: 700; transition: background .15s;
}
.di-nav-icon-btn:hover { background: #f5f4f3; }
.di-nav-login-btn {
  display: inline-flex; align-items: center; padding: 8px 16px;
  border-radius: 12px; font-size: 14px; font-weight: 800;
  border: 2px solid #e4e2df; color: var(--di-dark); text-decoration: none;
  transition: border-color .15s, color .15s;
}
.di-nav-login-btn:hover { border-color: var(--di-primary); color: var(--di-primary); text-decoration: none; }
.di-nav-cta {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 9px 18px; border-radius: 12px;
  background: var(--di-primary); color: #fff;
  font-size: 13px; font-weight: 900; text-decoration: none;
  transition: background .18s;
  white-space: nowrap;
}
.di-nav-cta:hover { background: #5e1d2d; color: #fff; text-decoration: none; }
.di-nav-user-btn {
  display: inline-flex; align-items: center; gap: 8px;
  background: transparent; border: 1px solid #e9e8e6; border-radius: 12px;
  padding: 6px 12px; cursor: pointer; font-size: 14px; font-weight: 700;
  color: var(--di-dark); transition: background .15s;
}
.di-nav-user-btn:hover { background: #f5f4f3; }
.di-nav-avatar {
  width: 28px; height: 28px; border-radius: 50%;
  background: var(--di-primary); color: #fff;
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 12px; font-weight: 900; flex-shrink: 0;
}
.di-nav-dd-scroll { max-height: 340px; overflow-y: auto; }
.di-nav-mobile-toggle {
  width: 42px; height: 42px; border-radius: 12px;
  border: 1px solid #e4e2df; background: #f5f4f3;
  cursor: pointer; display: flex; flex-direction: column;
  align-items: center; justify-content: center; gap: 5px; padding: 10px;
}
.di-nav-mobile-toggle span {
  display: block; width: 22px; height: 2px;
  background: var(--di-dark); border-radius: 2px; transition: .2s;
}
.di-nav-offcanvas {
  position: fixed; top: 0; left: -100%; width: 300px; height: 100%;
  background: #fff; z-index: 99999; overflow-y: auto;
  transition: left .3s ease; box-shadow: 8px 0 40px rgba(15,23,42,.18);
}
.di-nav-offcanvas.open { left: 0; }
.di-nav-offcanvas-inner { padding: 0 0 40px; }
.di-nav-offcanvas-header {
  display: flex; align-items: center; justify-content: space-between;
  padding: 20px 22px; border-bottom: 1px solid #f3f2f0;
}
.di-nav-offcanvas-header img { height: 36px; }
.di-nav-offcanvas-close {
  width: 36px; height: 36px; border-radius: 10px; border: 1px solid #e4e2df;
  background: #f5f4f3; cursor: pointer; color: var(--di-dark); font-size: 15px;
}
.di-nav-offcanvas-nav, .di-nav-offcanvas-actions { padding: 16px 22px; display: flex; flex-direction: column; gap: 4px; }
.di-nav-mob-link {
  display: flex; align-items: center; gap: 8px;
  padding: 11px 14px; border-radius: 12px;
  font-size: 14px; font-weight: 800; color: var(--di-dark); text-decoration: none;
  transition: background .15s;
}
.di-nav-mob-link:hover { background: #f5f4f3; color: var(--di-primary); text-decoration: none; }
.di-nav-overlay {
  position: fixed; inset: 0; background: rgba(15,23,42,.5);
  z-index: 99998; opacity: 0; pointer-events: none; transition: opacity .3s;
}
.di-nav-overlay.open { opacity: 1; pointer-events: auto; }

/* ============================================================
   AUTH PAGES — SPLIT LAYOUT
   ============================================================ */

.di-auth-body {
  padding-top: 0 !important;
  background: #f3f2f0;
  min-height: 100vh;
}

.di-auth-split {
  display: flex;
  min-height: 100vh;
}

/* Brand panel (left) */
.di-auth-brand-panel {
  flex: 0 0 42%;
  background: linear-gradient(155deg, var(--di-dark) 0%, #252525 60%, var(--di-slate) 100%);
  padding: 48px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  position: relative;
  overflow: hidden;
}
.di-auth-brand-panel::before {
  content: '';
  position: absolute;
  top: -80px; right: -80px;
  width: 320px; height: 320px;
  border-radius: 50%;
  background: rgba(118,38,56,.12);
  pointer-events: none;
}
.di-auth-brand-panel::after {
  content: '';
  position: absolute;
  bottom: -60px; left: -60px;
  width: 240px; height: 240px;
  border-radius: 50%;
  background: rgba(99,102,241,.1);
  pointer-events: none;
}
.di-auth-brand-logo img {
  height: 40px; width: auto;
  filter: brightness(0) invert(1);
  display: block;
}
.di-auth-brand-content { flex: 1; display: flex; flex-direction: column; justify-content: center; padding: 40px 0; position: relative; z-index: 1; }
.di-auth-brand-content h2 { font-size: clamp(24px, 2.5vw, 36px); font-weight: 900; color: #fff; margin: 0 0 16px; line-height: 1.25; }
.di-auth-brand-content p { font-size: 15px; color: rgba(255,255,255,.7); line-height: 1.7; margin: 0 0 32px; }

.di-auth-brand-stats {
  display: flex;
  gap: 24px;
  flex-wrap: wrap;
}
.di-auth-brand-stats div {
  display: flex; flex-direction: column; gap: 3px;
}
.di-auth-brand-stats strong { font-size: 28px; font-weight: 900; color: #fff; line-height: 1; }
.di-auth-brand-stats span { font-size: 12px; font-weight: 700; color: rgba(255,255,255,.6); }

.di-auth-trust-list { display: flex; flex-direction: column; gap: 14px; }
.di-auth-trust-item {
  display: flex; align-items: center; gap: 12px;
  font-size: 14px; font-weight: 700; color: rgba(255,255,255,.85);
}
.di-auth-trust-item i { color: #4ade80; font-size: 16px; flex-shrink: 0; }

.di-auth-brand-footer a {
  font-size: 13px; font-weight: 700; color: rgba(255,255,255,.55);
  text-decoration: none; transition: color .15s;
  position: relative; z-index: 1;
}
.di-auth-brand-footer a:hover { color: #fff; }

/* Form panel (right) */
.di-auth-form-panel {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 40px 24px;
  overflow-y: auto;
}

.di-auth-card {
  background: #fff;
  border-radius: 28px;
  box-shadow: 0 8px 40px rgba(15,23,42,.1);
  padding: 40px;
  width: 100%;
  max-width: 440px;
}

.di-auth-card-logo { margin-bottom: 24px; display: none; }
.di-auth-card-logo img { height: 34px; }

.di-auth-title {
  font-size: 26px; font-weight: 900; color: var(--di-dark);
  margin: 0 0 8px;
}
.di-auth-subtitle {
  font-size: 14px; color: var(--di-muted); margin: 0 0 24px; line-height: 1.5;
}

/* Alert */
.di-auth-alert {
  display: flex; align-items: flex-start; gap: 10px;
  padding: 13px 16px; border-radius: 14px;
  font-size: 13px; font-weight: 700; margin-bottom: 20px;
}
.di-auth-alert i { font-size: 15px; flex-shrink: 0; margin-top: 1px; }
.di-auth-alert.error { background: #f3ecde; color: #5e1d2d; border: 1px solid #e4dccd; }
.di-auth-alert.success { background: #f5f4f3; color: #4a4a4a; border: 1px solid #e4e2df; }

/* Form fields */
.di-auth-form { display: flex; flex-direction: column; gap: 16px; }
.di-auth-field { display: flex; flex-direction: column; gap: 6px; }
.di-auth-field label {
  font-size: 12px; font-weight: 900; text-transform: uppercase;
  letter-spacing: .05em; color: var(--di-muted);
}
.di-auth-field label small { font-size: 11px; font-weight: 600; text-transform: none; letter-spacing: 0; }
.di-auth-field-row { display: flex; gap: 12px; }
.di-auth-field-row .di-auth-field { flex: 1; }
.di-auth-input-wrap {
  position: relative;
  display: flex;
  align-items: center;
}
.di-auth-input-wrap i {
  position: absolute; left: 14px;
  color: var(--di-muted); font-size: 14px;
  pointer-events: none;
}
.di-auth-input-wrap input {
  width: 100%;
  height: 48px;
  padding: 0 16px 0 42px;
  border: 2px solid #e4e2df;
  border-radius: 13px;
  background: #f5f4f3;
  font-size: 14px; font-weight: 600;
  color: var(--di-dark);
  outline: none;
  transition: border-color .15s, background .15s;
}
.di-auth-input-wrap input:focus {
  border-color: var(--di-primary);
  background: #fff;
}
.di-auth-input-wrap input::placeholder { color: #d2d0cd; }

/* Captcha row */
.di-auth-captcha-row { display: flex; align-items: center; gap: 10px; }
.di-auth-captcha-img { height: 48px; border-radius: 12px; border: 2px solid #e4e2df; flex-shrink: 0; }

/* Submit button */
.di-auth-submit-btn {
  width: 100%;
  height: 50px;
  border-radius: 14px;
  border: none;
  background: var(--di-primary);
  color: #fff;
  font-size: 15px;
  font-weight: 900;
  cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  transition: background .18s;
  margin-top: 4px;
}
.di-auth-submit-btn:hover { background: #5e1d2d; }

/* Divider */
.di-auth-divider {
  display: flex; align-items: center; gap: 12px;
  font-size: 12px; color: var(--di-muted); font-weight: 700;
  text-transform: uppercase; letter-spacing: .06em;
  margin: 20px 0 16px;
}
.di-auth-divider::before, .di-auth-divider::after {
  content: ''; flex: 1; height: 1px; background: #e4e2df;
}

/* Links */
.di-auth-links { text-align: center; font-size: 14px; color: var(--di-muted); font-weight: 700; }
.di-auth-links a { color: var(--di-primary); text-decoration: none; font-weight: 800; }
.di-auth-links a:hover { text-decoration: underline; }

/* Terms */
.di-auth-terms { font-size: 12px; color: #777777; line-height: 1.5; margin: 0; }
.di-auth-terms a { color: var(--di-primary); text-decoration: none; font-weight: 800; }

/* Auth responsive */
@media (max-width: 900px) {
  .di-auth-brand-panel { display: none; }
  .di-auth-form-panel { padding: 24px 16px; min-height: 100vh; }
  .di-auth-card-logo { display: block; }
  .di-auth-card { max-width: 100%; padding: 28px 24px; }
  .di-auth-field-row { flex-direction: column; gap: 0; }
}

/* ============================================================
   INDEX PAGE SECTIONS
   ============================================================ */

/* Trust bar */
.di-home-trust {
  background: #fff;
  border-bottom: 1px solid #f3f2f0;
  padding: 28px 0;
}
.di-trust-card {
  display: flex; flex-direction: column; align-items: center; text-align: center;
  padding: 16px 8px; gap: 4px;
}
.di-trust-card strong { font-size: 28px; font-weight: 900; color: var(--di-dark); line-height: 1; }
.di-trust-card span { font-size: 13px; font-weight: 600; color: var(--di-muted); }

/* Section heading (centred variant) */
.di-section-heading { margin-bottom: 40px; }
.di-section-heading.centred { text-align: center; }
.di-section-heading span {
  display: inline-block; font-size: 12px; font-weight: 900; text-transform: uppercase;
  letter-spacing: .1em; color: var(--di-primary); background: rgba(118,38,56,.08);
  border-radius: 20px; padding: 4px 14px; margin-bottom: 12px;
}
.di-section-heading h2 {
  font-size: clamp(22px, 3vw, 36px); font-weight: 900; color: var(--di-dark);
  margin: 0 0 14px; line-height: 1.25;
}
.di-section-heading p { font-size: 15px; color: var(--di-muted); line-height: 1.7; max-width: 620px; }
.di-section-heading.centred p { margin: 0 auto; }

/* Category tiles */
.di-home-categories { padding: 72px 0; }
.di-category-tile {
  display: flex; align-items: center; gap: 18px;
  background: #fff; border: 1px solid #e4e2df; border-radius: 20px;
  padding: 24px 22px; text-decoration: none; color: var(--di-dark);
  transition: box-shadow .18s, transform .18s, border-color .18s;
}
.di-category-tile:hover { box-shadow: 0 8px 32px rgba(15,23,42,.1); transform: translateY(-3px); border-color: var(--di-primary); text-decoration: none; color: var(--di-dark); }
.di-category-tile > i {
  width: 52px; height: 52px; border-radius: 16px; flex-shrink: 0;
  background: rgba(118,38,56,.08); color: var(--di-primary); font-size: 20px;
  display: flex; align-items: center; justify-content: center;
}
.di-category-tile h4 { font-size: 16px; font-weight: 900; color: var(--di-dark); margin: 0 0 4px; }
.di-category-tile p { font-size: 13px; color: var(--di-muted); margin: 0; font-weight: 600; }

/* Destination cards */
.di-home-destinations { padding: 72px 0; }
.di-destination-card {
  display: flex; flex-direction: column; justify-content: flex-end;
  min-height: 240px; border-radius: 22px; overflow: hidden;
  text-decoration: none; background-size: cover; background-position: center;
  position: relative; padding: 20px;
  transition: transform .2s;
}
.di-destination-card::before {
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(15,23,42,.75) 0%, transparent 60%);
}
.di-destination-card:hover { transform: translateY(-4px); text-decoration: none; }
.di-destination-card span {
  position: relative; z-index: 1; font-size: 12px; font-weight: 700;
  color: rgba(255,255,255,.8); margin-bottom: 4px;
}
.di-destination-card h4 {
  position: relative; z-index: 1; font-size: 20px; font-weight: 900;
  color: #fff; margin: 0;
}

/* Info cards */
.di-home-intelligence { padding: 72px 0; }
.di-info-card {
  background: #fff; border: 1px solid #e4e2df; border-radius: 20px;
  padding: 28px 24px; height: 100%;
  transition: box-shadow .18s, transform .18s;
}
.di-info-card:hover { box-shadow: 0 8px 28px rgba(15,23,42,.08); transform: translateY(-3px); }
.di-info-card > i {
  font-size: 22px; color: var(--di-primary);
  background: rgba(118,38,56,.08); width: 48px; height: 48px;
  border-radius: 14px; display: flex; align-items: center; justify-content: center;
  margin-bottom: 16px;
}
.di-info-card h4 { font-size: 16px; font-weight: 900; color: var(--di-dark); margin: 0 0 8px; }
.di-info-card p { font-size: 14px; color: var(--di-muted); line-height: 1.7; margin: 0; }

/* Split cards */
.di-home-split { padding: 72px 0; }
.di-split-card {
  border-radius: 24px; padding: 44px 36px; height: 100%;
}
.di-split-buyers {
  background: linear-gradient(135deg, var(--di-dark) 0%, #252525 100%);
}
.di-split-owners {
  background: linear-gradient(135deg, #222222 0%, #252525 50%, #303030 100%);
}
.di-split-card > span {
  display: inline-block; font-size: 11px; font-weight: 900; text-transform: uppercase;
  letter-spacing: .1em; color: var(--di-primary); background: rgba(118,38,56,.15);
  border-radius: 20px; padding: 4px 12px; margin-bottom: 16px;
}
.di-split-card h3 { font-size: 22px; font-weight: 900; color: #fff; margin: 0 0 20px; line-height: 1.3; }
.di-split-card ul { list-style: none; padding: 0; margin: 0 0 24px; }
.di-split-card ul li {
  display: flex; align-items: center; gap: 10px;
  font-size: 14px; color: rgba(255,255,255,.8); font-weight: 600; margin-bottom: 10px;
}
.di-split-card ul li i { color: var(--di-primary); font-size: 13px; flex-shrink: 0; }

/* Steps */
.di-home-steps { padding: 72px 0; }

/* FAQ */
.di-home-faq { padding: 72px 0; }
.di-faq-card {
  background: #fff; border: 1px solid #e4e2df; border-radius: 20px;
  padding: 28px 24px; height: 100%;
}
.di-faq-card h4 { font-size: 16px; font-weight: 900; color: var(--di-dark); margin: 0 0 10px; }
.di-faq-card p { font-size: 14px; color: var(--di-muted); line-height: 1.7; margin: 0; }

/* Experience box */
.di-home-experience { padding: 72px 0; }
.di-experience-box {
  background: linear-gradient(135deg, var(--di-dark) 0%, #252525 100%);
  border-radius: 28px; padding: 56px 48px;
}
.di-experience-box > .row > div:first-child > span {
  display: inline-block; font-size: 11px; font-weight: 900; text-transform: uppercase;
  letter-spacing: .1em; color: var(--di-primary); margin-bottom: 14px;
}
.di-experience-box h2 { font-size: clamp(20px, 2.5vw, 30px); font-weight: 900; color: #fff; margin: 0 0 16px; line-height: 1.3; }
.di-experience-box p { font-size: 15px; color: rgba(255,255,255,.7); line-height: 1.7; margin: 0 0 24px; }
.di-experience-grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: 16px;
}
.di-experience-grid > div {
  background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.1);
  border-radius: 18px; padding: 24px 20px; display: flex; flex-direction: column; gap: 10px;
}
.di-experience-grid > div i {
  font-size: 20px; color: var(--di-primary);
}
.di-experience-grid > div h4 { font-size: 14px; font-weight: 900; color: #fff; margin: 0; }

/* Empty state */
.di-empty-state { text-align: center; padding: 48px 24px; color: var(--di-muted); }
.di-empty-state i { font-size: 40px; margin-bottom: 16px; display: block; opacity: .3; }
.di-empty-state h4 { font-size: 18px; font-weight: 800; color: var(--di-dark); margin: 0 0 8px; }
.di-empty-state p { font-size: 14px; margin: 0; }

/* Utility */
.sec-pad { padding: 72px 0; }
.bg-color-1 { background: linear-gradient(135deg,#222222,#252525); }
.bg-color-1 .di-section-heading h2, .bg-color-1 .di-section-heading p, .bg-color-1 .di-section-heading span { color: #fff; }
.bg-color-1 .di-section-heading p { color: rgba(255,255,255,.72); }
.bg-color-1 .di-info-card, .bg-color-1 .di-step-card, .bg-color-1 .di-faq-card { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.12); }
.bg-color-1 .di-info-card h4, .bg-color-1 .di-step-card h4, .bg-color-1 .di-faq-card h4 { color: #fff; }
.bg-color-1 .di-info-card p, .bg-color-1 .di-step-card p, .bg-color-1 .di-faq-card p { color: rgba(255,255,255,.72); }
.bg-color-1 .di-info-card i, .bg-color-1 .di-step-card i { background: rgba(118,38,56,.2); color: #fff; }

/* Index responsive */
@media (max-width: 768px) {
  .di-split-card { padding: 32px 24px; }
  .di-experience-box { padding: 36px 24px; }
  .di-experience-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
  .di-destination-card { min-height: 180px; }
}

/* ============================================================
   PAGE HERO (inner pages)
   ============================================================ */
.di-page-hero {
  background: linear-gradient(135deg, var(--di-dark) 0%, #252525 100%);
  padding: 72px 0 48px;
  position: relative;
  overflow: hidden;
}
.di-page-hero::after {
  content: '';
  position: absolute; inset: 0;
  background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E") repeat;
  pointer-events: none;
}
.di-page-hero-title {
  font-size: clamp(28px, 4vw, 44px);
  font-weight: 900;
  color: #fff;
  margin: 0 0 14px;
  position: relative; z-index: 1;
}
.di-breadcrumb {
  display: flex; gap: 8px; align-items: center;
  list-style: none; padding: 0; margin: 0;
  position: relative; z-index: 1;
}
.di-breadcrumb li { font-size: 14px; font-weight: 700; color: rgba(255,255,255,.6); }
.di-breadcrumb li::after { content: '/'; margin-left: 8px; color: rgba(255,255,255,.3); }
.di-breadcrumb li:last-child::after { display: none; }
.di-breadcrumb li a { color: rgba(255,255,255,.75); text-decoration: none; transition: color .15s; }
.di-breadcrumb li a:hover { color: #fff; }

/* ============================================================
   DI-SECTION utility
   ============================================================ */
.di-section { padding: 72px 0; }
.di-section-light { background: #f5f4f3; }

/* ============================================================
   ABOUT PAGE
   ============================================================ */
.di-about-label {
  display: inline-block;
  font-size: 12px; font-weight: 900; text-transform: uppercase;
  letter-spacing: .1em; color: var(--di-primary);
  background: rgba(118,38,56,.08); border-radius: 20px;
  padding: 4px 14px; margin-bottom: 14px;
}
.di-about-h2 {
  font-size: clamp(24px, 3vw, 36px);
  font-weight: 900; color: var(--di-dark);
  margin: 0 0 18px; line-height: 1.25;
}
.di-about-lead { font-size: 17px; font-weight: 600; color: var(--di-dark); line-height: 1.7; margin: 0 0 14px; }
.di-about-body { font-size: 15px; color: #515151; line-height: 1.85; margin: 0 0 28px; }
.di-about-ctas { display: flex; flex-wrap: wrap; gap: 12px; }
.di-about-btn-primary {
  display: inline-flex; align-items: center;
  padding: 12px 24px; border-radius: 14px;
  background: var(--di-primary); color: #fff;
  font-size: 14px; font-weight: 900; text-decoration: none;
  transition: background .18s;
}
.di-about-btn-primary:hover { background: #5e1d2d; color: #fff; text-decoration: none; }
.di-about-btn-secondary {
  display: inline-flex; align-items: center;
  padding: 12px 24px; border-radius: 14px;
  border: 2px solid #e4e2df; color: var(--di-dark);
  font-size: 14px; font-weight: 900; text-decoration: none;
  transition: border-color .15s, color .15s;
}
.di-about-btn-secondary:hover { border-color: var(--di-primary); color: var(--di-primary); text-decoration: none; }

/* About stats grid */
.di-about-stats-grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: 20px;
}
.di-about-stat {
  background: #fff; border: 1px solid #e4e2df;
  border-radius: 20px; padding: 28px 24px;
  display: flex; flex-direction: column; gap: 8px;
  box-shadow: 0 2px 12px rgba(15,23,42,.05);
  transition: box-shadow .18s, transform .18s;
}
.di-about-stat:hover { box-shadow: 0 8px 32px rgba(15,23,42,.1); transform: translateY(-3px); }
.di-about-stat-icon {
  width: 44px; height: 44px; border-radius: 14px;
  background: rgba(118,38,56,.08);
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 4px;
}
.di-about-stat-icon i { font-size: 18px; color: var(--di-primary); }
.di-about-stat strong { font-size: 32px; font-weight: 900; color: var(--di-dark); line-height: 1; }
.di-about-stat span { font-size: 13px; font-weight: 700; color: var(--di-muted); }

/* Value cards */
.di-value-card {
  background: #fff; border: 1px solid #e4e2df;
  border-radius: 20px; padding: 32px 24px;
  height: 100%;
  transition: box-shadow .2s, transform .2s;
}
.di-value-card:hover { box-shadow: 0 8px 32px rgba(15,23,42,.1); transform: translateY(-4px); }
.di-value-icon {
  width: 52px; height: 52px; border-radius: 16px;
  background: linear-gradient(135deg, var(--di-primary) 0%, #5e1d2d 100%);
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 18px;
}
.di-value-icon i { font-size: 20px; color: #fff; }
.di-value-card h4 { font-size: 17px; font-weight: 900; color: var(--di-dark); margin: 0 0 10px; }
.di-value-card p { font-size: 14px; color: var(--di-muted); line-height: 1.7; margin: 0; }

/* Step cards */
.di-step-card {
  background: #fff; border: 1px solid #e4e2df;
  border-radius: 20px; padding: 36px 28px;
  height: 100%;
  transition: box-shadow .2s, transform .2s;
}
.di-step-card:hover { box-shadow: 0 8px 32px rgba(15,23,42,.1); transform: translateY(-4px); }
.di-step-num {
  font-size: 48px; font-weight: 900; line-height: 1;
  background: linear-gradient(135deg, var(--di-primary), #5e1d2d);
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent;
  margin-bottom: 16px; display: block;
}
.di-step-card h4 { font-size: 18px; font-weight: 900; color: var(--di-dark); margin: 0 0 10px; }
.di-step-card p { font-size: 14px; color: var(--di-muted); line-height: 1.7; margin: 0; }

/* Section heading */
.di-section-heading h2 {
  font-size: clamp(22px, 3vw, 34px);
  font-weight: 900; color: var(--di-dark);
  margin: 12px 0 14px;
}
.di-section-heading p { font-size: 15px; color: var(--di-muted); line-height: 1.7; max-width: 600px; margin: 0 auto; }
.di-section-heading.text-center p { margin: 0 auto; }

/* CTA Banner */
.di-cta-banner {
  background: linear-gradient(135deg, var(--di-dark) 0%, #303030 50%, var(--di-slate) 100%);
  padding: 64px 0;
  position: relative; overflow: hidden;
}
.di-cta-banner::before {
  content: '';
  position: absolute; top: -100px; right: -100px;
  width: 400px; height: 400px; border-radius: 50%;
  background: rgba(118,38,56,.1); pointer-events: none;
}
.di-cta-banner-inner {
  display: flex; align-items: center; justify-content: space-between;
  gap: 32px; flex-wrap: wrap;
  position: relative; z-index: 1;
}
.di-cta-banner-text span {
  display: inline-block; font-size: 12px; font-weight: 900;
  text-transform: uppercase; letter-spacing: .1em;
  color: var(--di-primary); margin-bottom: 10px;
}
.di-cta-banner-text h2 {
  font-size: clamp(22px, 3vw, 36px); font-weight: 900; color: #fff;
  margin: 0 0 10px; line-height: 1.25;
}
.di-cta-banner-text p { font-size: 15px; color: rgba(255,255,255,.7); margin: 0; line-height: 1.6; }
.di-cta-banner-actions { display: flex; gap: 12px; flex-wrap: wrap; flex-shrink: 0; }
.di-cta-banner-btn-primary {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 13px 26px; border-radius: 14px;
  background: var(--di-primary); color: #fff;
  font-size: 14px; font-weight: 900; text-decoration: none;
  transition: background .18s;
  white-space: nowrap;
}
.di-cta-banner-btn-primary:hover { background: #5e1d2d; color: #fff; text-decoration: none; }
.di-cta-banner-btn-secondary {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 13px 26px; border-radius: 14px;
  border: 2px solid rgba(255,255,255,.25); color: #fff;
  font-size: 14px; font-weight: 900; text-decoration: none;
  transition: border-color .15s, background .15s;
  white-space: nowrap;
}
.di-cta-banner-btn-secondary:hover { border-color: #fff; background: rgba(255,255,255,.08); text-decoration: none; color: #fff; }

/* ============================================================
   CONTACT PAGE
   ============================================================ */
.di-contact-info-card-v2 {
  background: #fff; border: 1px solid #e4e2df;
  border-radius: 20px; padding: 28px 24px;
  display: flex; align-items: flex-start; gap: 18px;
  height: 100%;
  transition: box-shadow .18s, transform .18s;
}
.di-contact-info-card-v2:hover { box-shadow: 0 6px 28px rgba(15,23,42,.08); transform: translateY(-2px); }
.di-contact-info-icon {
  width: 48px; height: 48px; border-radius: 14px;
  background: rgba(118,38,56,.08);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.di-contact-info-icon i { font-size: 18px; color: var(--di-primary); }
.di-contact-info-card-v2 h4 { font-size: 15px; font-weight: 900; color: var(--di-dark); margin: 0 0 8px; }
.di-contact-info-card-v2 p { font-size: 14px; color: var(--di-muted); line-height: 1.6; margin: 0; }
.di-contact-info-card-v2 a {
  display: block; font-size: 14px; font-weight: 700;
  color: var(--di-dark); text-decoration: none; margin-bottom: 4px;
  transition: color .15s;
}
.di-contact-info-card-v2 a:hover { color: var(--di-primary); }
.di-contact-hours { display: block; font-size: 12px; font-weight: 700; color: var(--di-muted); margin-top: 6px; }

.di-contact-form-card-v2 {
  background: #fff; border: 1px solid #e4e2df;
  border-radius: 24px; padding: 36px;
  box-shadow: 0 4px 24px rgba(15,23,42,.06);
}
.di-contact-form-card-v2 h3 { font-size: 22px; font-weight: 900; color: var(--di-dark); margin: 0 0 8px; }
.di-contact-form-card-v2 > p { font-size: 14px; color: var(--di-muted); margin: 0 0 24px; }

.di-contact-map-v2 {
  border-radius: 20px; overflow: hidden;
  border: 1px solid #e4e2df;
  box-shadow: 0 4px 20px rgba(15,23,42,.06);
  height: 280px;
}
.di-contact-map-v2 iframe { width: 100%; height: 100%; display: block; border: none; }

/* Responsive about/contact */
@media (max-width: 768px) {
  .di-about-stats-grid { grid-template-columns: 1fr 1fr; }
  .di-cta-banner-inner { flex-direction: column; text-align: center; }
  .di-cta-banner-actions { justify-content: center; }
  .di-contact-form-card-v2 { padding: 24px; }
  .di-page-hero { padding: 52px 0 36px; }
  .di-section { padding: 48px 0; }
}

/* Preloader close button fix */
.preloader-close {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
}

/* Navigation dropdown spacing fix */
.di-nav-links .di-nav-dropdown .di-nav-dropdown-menu {
  top: 100% !important;
}

/* ============================================================
   RESPONSIVE – PREMIUM DESIGN
   Target: All di-* components that lack responsive rules
   ============================================================ */

/* --- 1400px and below --- */
@media (max-width: 1400px) {
  .di-hero-title { font-size: clamp(32px, 4.5vw, 56px); }
  .di-experience-box h2 { font-size: 34px; }
  .di-detail-hero h1 { font-size: 34px; }
}

/* --- 1200px and below (tablet landscape) --- */
@media (max-width: 1199px) {
  /* Section headings */
  .di-section-heading h2 { font-size: 32px; }
  .di-section-heading { max-width: 600px; }

  /* Hero */
  .di-hero-wrap { min-height: auto; padding: calc(var(--di-nav-h) + 40px) 0 40px; }
  .di-hero-title { font-size: 36px; }
  .di-hero-subtitle { font-size: 16px; }

  /* Search glass */
  .di-search-glass { padding: 20px; }
  .di-search-glass .row > div { margin-bottom: 12px; }

  /* Category tiles */
  .di-category-tile { padding: 18px; }
  .di-category-tile h4 { font-size: 17px; }

  /* Trust cards */
  .di-trust-card strong { font-size: 28px; }

  /* Split cards */
  .di-split-card h3 { font-size: 24px; }
  .di-split-card { padding: 30px 24px; }

  /* Experience */
  .di-experience-box { padding: 36px 28px; }
  .di-experience-box h2 { font-size: 30px; }

  /* Detail page */
  .di-detail-hero { flex-direction: column; align-items: flex-start; }
  .di-detail-price { font-size: 22px; padding: 14px 20px; align-self: flex-start; }
  .di-detail-stats { grid-template-columns: repeat(2, 1fr); }
  .di-detail-gallery > a > img { height: 360px; }

  /* Listing toolbar */
  .di-results-toolbar { flex-wrap: wrap; }
  .di-results-toolbar .left-column h5 { font-size: 20px; }

  /* CTA banner */
  .di-cta-banner-inner { flex-direction: column; text-align: center; }
  .di-cta-banner-actions { justify-content: center; }
}

/* --- 991px and below (tablet portrait) --- */
@media (max-width: 991px) {
  /* Navigation – mobile offcanvas improvements */
  .di-nav-inner { height: var(--di-nav-h, 80px); }
  .di-nav-logo img { max-height: 38px; }
  .di-nav .container-fluid { padding-left: 16px; padding-right: 16px; }

  /* Hero */
  .di-hero-wrap { padding: calc(var(--di-nav-h) + 30px) 0 40px; }
  .di-hero-title { font-size: 30px; }
  .di-hero-subtitle { font-size: 15px; margin-bottom: 24px; }
  .di-hero-tabs { overflow-x: auto; flex-wrap: nowrap; gap: 6px; padding-bottom: 4px; }
  .di-hero-tab-btn { white-space: nowrap; font-size: 13px; padding: 10px 16px; }

  /* Search glass – full width on tablet */
  .di-search-glass { border-radius: 20px; padding: 18px; }
  .di-search-glass .field-input input { font-size: 14px; }
  .di-main-search-btn button { height: 50px; font-size: 13px; }

  /* Section padding */
  .sec-pad { padding: 50px 0; }
  .di-section-heading { margin-bottom: 32px; }
  .di-section-heading h2 { font-size: 28px; }
  .di-section-heading p { font-size: 15px; }

  /* Trust section */
  .di-home-trust { padding-bottom: 40px; }
  .di-trust-card { padding: 20px; }
  .di-trust-card strong { font-size: 26px; }

  /* Category tiles */
  .di-category-tile { padding: 16px; gap: 14px; }
  .di-category-tile i { width: 48px; height: 48px; font-size: 20px; }
  .di-category-tile h4 { font-size: 16px; }

  /* Property cards */
  .di-card-v2 { border-radius: 18px; }
  .di-card-img img { height: 200px; }
  .di-card-title { font-size: 15px; }
  .di-card-price { font-size: 18px; }

  /* Split section */
  .di-split-card { border-radius: 24px; padding: 28px 20px; }
  .di-split-card h3 { font-size: 22px; }

  /* Experience */
  .di-experience-box { border-radius: 24px; padding: 28px 20px; }
  .di-experience-box h2 { font-size: 26px; }
  .di-experience-grid { gap: 12px; }
  .di-experience-grid div { padding: 20px; }
  .di-experience-grid i { font-size: 22px; }
  .di-experience-grid h4 { font-size: 15px; }

  /* Info / Step / FAQ cards */
  .di-info-card, .di-step-card, .di-faq-card { padding: 22px; }
  .di-info-card h4, .di-step-card h4, .di-faq-card h4 { font-size: 17px; }

  /* Destination cards */
  .di-destination-card { min-height: 240px; }
  .di-destination-card h4 { font-size: 22px; }

  /* Detail page */
  .di-detail-page { padding: 40px 0; }
  .di-detail-hero { padding: 24px; border-radius: 24px; }
  .di-detail-hero h1 { font-size: 28px; }
  .di-detail-gallery > a > img { height: 280px; }
  .di-detail-thumbs { grid-template-columns: repeat(2, 1fr); }
  .di-detail-thumbs img { height: 80px; }
  .di-detail-stats { grid-template-columns: repeat(2, 1fr); gap: 10px; }
  .di-detail-stats div { padding: 14px; }
  .di-detail-stats strong { font-size: 18px; }

  /* Listing sidebar – becomes top filter bar */
  .di-listing-sidebar { position: relative; top: auto; margin-bottom: 24px; }
  .di-filter-head { padding: 16px; }
  .di-filter-head h4 { font-size: 17px; }

  /* Results toolbar */
  .di-results-toolbar { padding: 16px; }
  .di-results-toolbar .left-column h5 { font-size: 18px; }

  /* Footer */
  .di-footer-top { padding: 40px 0 20px; }
  .di-footer-heading { font-size: 16px; margin-bottom: 14px; }
  .di-footer-stats-inner { gap: 0; flex-wrap: wrap; justify-content: center; }
  .di-footer-stat { padding: 10px 16px; }
  .di-footer-stat strong { font-size: 22px; }
  .di-footer-trust-inner { gap: 12px; }
  .di-trust-badge { font-size: 12px; padding: 6px 12px; }

  /* Auth pages */
  .di-auth-form-panel { padding: 32px 20px; }

  /* Page hero */
  .di-page-hero { padding: 60px 0 40px; }
  .di-page-hero h1 { font-size: 30px; }

  /* About page */
  .di-about-stats-grid { grid-template-columns: 1fr 1fr; gap: 14px; }

  /* Contact page */
  .di-contact-form-card-v2 { padding: 24px; }
  .di-contact-map-v2 { height: 220px; }

  /* CTA banner */
  .di-cta-banner { padding: 36px 24px; }
  .di-cta-banner-text h2 { font-size: 24px; }
}

/* --- 767px and below (mobile large) --- */
@media (max-width: 767px) {
  /* Navigation */
  :root { --di-nav-h: 36px; }
  .di-nav .container-fluid { padding-left: 12px; padding-right: 12px; }
  .di-nav-logo img { max-height: 32px; }
  .di-nav-logo span { font-size: 16px !important; }

  /* Hero */
  .di-hero-wrap { padding: calc(var(--di-nav-h) + 24px) 0 32px; }
  .di-hero-title { font-size: 26px; }
  .di-hero-subtitle { font-size: 14px; margin-bottom: 20px; }
  .di-hero-tab-btn { font-size: 12px; padding: 8px 14px; }
  .di-hero-buttons { flex-direction: column; gap: 10px; }
  .di-hero-btn-primary, .di-hero-btn-secondary { width: 100%; justify-content: center; }

  /* Search glass */
  .di-search-glass { border-radius: 16px; padding: 16px; }
  .di-search-glass label { font-size: 10px; }
  .di-search-glass .field-input, .di-search-glass .nice-select, .di-search-glass .form-control { height: 48px; }
  .di-search-glass .field-input input { height: 48px; font-size: 13px; padding-left: 32px; }
  .di-search-glass .field-input i { top: 14px; font-size: 14px; }
  .di-search-glass .nice-select { line-height: 48px; font-size: 13px; }
  .di-main-search-btn button { height: 48px; font-size: 12px; border-radius: 14px; }

  /* Section headings */
  .di-section-heading h2 { font-size: 24px; }
  .di-section-heading p { font-size: 14px; }
  .di-section-heading span { font-size: 11px; }

  /* Section padding */
  .sec-pad { padding: 40px 0; }

  /* Trust cards */
  .di-trust-card { padding: 16px; }
  .di-trust-card strong { font-size: 22px; }
  .di-trust-card span { font-size: 10px; }

  /* Category tiles */
  .di-category-tile { padding: 14px; gap: 12px; border-radius: 18px; }
  .di-category-tile i { width: 42px; height: 42px; font-size: 18px; border-radius: 14px; }
  .di-category-tile h4 { font-size: 15px; }
  .di-category-tile p { font-size: 12px; }

  /* Property cards */
  .di-card-v2 { border-radius: 16px; }
  .di-card-img img { height: 180px; }
  .di-card-badge { font-size: 10px; padding: 5px 10px; top: 10px; left: 10px; }
  .di-card-fresh-badge { font-size: 9px; padding: 4px 8px; top: 10px; right: 10px; }
  .di-card-actions { top: 10px; right: 10px; gap: 6px; }
  .di-card-action-btn { width: 32px; height: 32px; font-size: 12px; }
  .di-card-body { padding: 14px; }
  .di-card-cat { font-size: 11px; margin-bottom: 6px; }
  .di-card-title { font-size: 14px; }
  .di-card-address { font-size: 12px; }
  .di-card-specs { gap: 6px; }
  .di-card-specs span { font-size: 11px; padding: 4px 8px; }
  .di-card-footer { padding-top: 10px; }
  .di-card-price { font-size: 16px; }
  .di-card-detail-btn { font-size: 12px; padding: 8px 14px; }

  /* Split section */
  .di-split-card { border-radius: 20px; padding: 24px 18px; }
  .di-split-card h3 { font-size: 20px; }
  .di-split-card li { font-size: 14px; }

  /* Experience */
  .di-home-experience { padding: 40px 0; }
  .di-experience-box { border-radius: 20px; padding: 24px 16px; }
  .di-experience-box h2 { font-size: 22px; }
  .di-experience-box p { font-size: 14px; }
  .di-experience-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
  .di-experience-grid div { padding: 16px; border-radius: 16px; }
  .di-experience-grid i { font-size: 20px; margin-bottom: 8px; }
  .di-experience-grid h4 { font-size: 13px; }

  /* Info / Step / FAQ cards */
  .di-info-card, .di-step-card, .di-faq-card { padding: 18px; border-radius: 18px; }
  .di-info-card i { width: 44px; height: 44px; font-size: 18px; }
  .di-info-card h4, .di-step-card h4, .di-faq-card h4 { font-size: 16px; }
  .di-step-card strong { width: 44px; height: 44px; font-size: 16px; }

  /* Destination cards */
  .di-destination-card { min-height: 200px; border-radius: 20px; padding: 18px; }
  .di-destination-card h4 { font-size: 20px; }

  /* Detail page */
  .di-detail-page { padding: 24px 0; }
  .di-detail-hero { padding: 20px; border-radius: 20px; flex-direction: column; }
  .di-detail-hero h1 { font-size: 24px; }
  .di-detail-meta { font-size: 13px; }
  .di-detail-price { font-size: 20px; padding: 12px 18px; }
  .di-detail-gallery { padding: 10px; border-radius: 20px; }
  .di-detail-gallery > a > img { height: 220px; border-radius: 16px; }
  .di-detail-thumbs { grid-template-columns: repeat(2, 1fr); gap: 8px; }
  .di-detail-thumbs img { height: 70px; border-radius: 12px; }
  .di-detail-stats { grid-template-columns: repeat(2, 1fr); gap: 8px; }
  .di-detail-stats div { padding: 12px; border-radius: 16px; }
  .di-detail-stats i { font-size: 20px; }
  .di-detail-stats strong { font-size: 16px; }
  .di-detail-card { padding: 20px !important; border-radius: 20px; }
  .di-detail-card .title-box h4 { font-size: 20px; }

  /* Listing sidebar */
  .di-listing-sidebar { padding: 14px; border-radius: 20px; }
  .di-filter-head { padding: 14px; border-radius: 16px; }
  .di-filter-head h4 { font-size: 15px; }
  .di-filter-card { padding: 16px !important; border-radius: 16px !important; }

  /* Results toolbar */
  .di-results-toolbar { padding: 14px; border-radius: 18px; flex-direction: column; align-items: flex-start; }
  .di-results-toolbar .left-column h5 { font-size: 16px; }
  .di-results-toolbar .right-column { width: 100%; justify-content: flex-start; }

  /* Empty state */
  .di-empty-state { padding: 40px 16px !important; }
  .di-empty-state h4 { font-size: 20px; }
  .di-empty-state i { font-size: 40px; }

  /* Footer */
  .di-footer-top { padding: 32px 0 16px; }
  .di-footer-brand p { font-size: 13px; }
  .di-footer-heading { font-size: 15px; }
  .di-footer-links li a { font-size: 13px; }
  .di-footer-newsletter-form input { font-size: 13px; }
  .di-footer-stat { padding: 8px 12px; }
  .di-footer-stat strong { font-size: 18px; }
  .di-footer-stat span { font-size: 10px; }
  .di-footer-stat i { font-size: 18px; }
  .di-footer-trust-inner { gap: 8px; flex-wrap: wrap; justify-content: center; }
  .di-trust-badge { font-size: 11px; padding: 5px 10px; }
  .di-footer-bottom p { font-size: 12px; }
  .di-footer-bottom-links { gap: 10px; }
  .di-footer-bottom-links li a { font-size: 12px; }

  /* Page hero */
  .di-page-hero { padding: 44px 0 28px; }
  .di-page-hero h1 { font-size: 26px; }

  /* Contact page */
  .di-contact-info-card-v2 { padding: 20px; gap: 14px; }
  .di-contact-form-card-v2 { padding: 20px; }
  .di-contact-form-card-v2 h3 { font-size: 18px; }
  .di-contact-map-v2 { height: 180px; }

  /* CTA banner */
  .di-cta-banner { padding: 28px 18px; border-radius: 20px; }
  .di-cta-banner-text h2 { font-size: 20px; }
  .di-cta-banner-text p { font-size: 13px; }
  .di-cta-banner-btn-primary,
  .di-cta-banner-btn-secondary { width: 100%; justify-content: center; font-size: 13px; padding: 12px 20px; }

  /* Scroll to top */
  .scroll-top { width: 40px; height: 40px; font-size: 16px; bottom: 16px; right: 16px; }

  /* GDPR banner */
  #di-gdpr-banner .di-gdpr-content { flex-direction: column; text-align: center; }
  #di-gdpr-banner p { font-size: 12px; }
  #di-gdpr-banner .di-gdpr-btn { width: 100%; }
}

/* --- 575px and below (mobile small) --- */
@media (max-width: 575px) {
  /* Hero */
  .di-hero-title { font-size: 22px; }
  .di-hero-tabs { gap: 4px; }
  .di-hero-tab-btn { font-size: 11px; padding: 6px 12px; }

  /* Search glass */
  .di-search-glass { padding: 12px; }
  .di-search-glass .field-input, .di-search-glass .nice-select, .di-search-glass .form-control { height: 44px; }
  .di-search-glass .field-input input { height: 44px; font-size: 12px; }
  .di-search-glass .nice-select { line-height: 44px; font-size: 12px; }
  .di-main-search-btn button { height: 44px; font-size: 11px; }

  /* Section headings */
  .di-section-heading h2 { font-size: 20px; }

  /* Trust cards */
  .di-trust-card strong { font-size: 20px; }

  /* Property cards */
  .di-card-img img { height: 160px; }
  .di-card-title { font-size: 13px; }
  .di-card-price { font-size: 15px; }

  /* Detail page */
  .di-detail-hero h1 { font-size: 20px; }
  .di-detail-price { font-size: 18px; padding: 10px 16px; }
  .di-detail-gallery > a > img { height: 180px; }
  .di-detail-stats { grid-template-columns: 1fr 1fr; }
  .di-detail-stats div { padding: 10px; }
  .di-detail-stats strong { font-size: 14px; }

  /* Experience */
  .di-experience-grid { grid-template-columns: 1fr; }

  /* Footer stats */
  .di-footer-stats-inner { flex-direction: column; gap: 8px; }
  .di-footer-stat-divider { display: none; }

  /* Auth pages */
  .di-auth-form-panel { padding: 24px 16px; }

  /* About stats */
  .di-about-stats-grid { grid-template-columns: 1fr; }
}

/* --- 399px and below (very small mobile) --- */
@media (max-width: 399px) {
  .di-hero-title { font-size: 20px; }
  .di-section-heading h2 { font-size: 18px; }
  .di-card-img img { height: 140px; }
  .di-card-body { padding: 12px; }
  .di-card-title { font-size: 12px; }
  .di-detail-hero h1 { font-size: 18px; }
  .di-detail-stats { grid-template-columns: 1fr; }
  .di-detail-thumbs { grid-template-columns: 1fr; }
  .di-experience-grid { grid-template-columns: 1fr; }
  .di-footer-stat { padding: 6px 10px; }
  .di-footer-stat strong { font-size: 16px; }
  .di-page-hero h1 { font-size: 22px; }
}


/* Windows desktop fit: keep the full navigation legible between 1400px and 1599px. */
@media (min-width: 1400px) and (max-width: 1599px) {
  #diNav .container-fluid { padding-left: 16px !important; padding-right: 16px !important; }
  #diNav .di-nav-logo img { height: 36px !important; }
  #diNav .di-nav-inner { gap: 4px; }
  #diNav .di-nav-menu { gap: 0; }
  #diNav a.di-nav-link { padding: 8px 9px; font-size: 13px !important; }
  #diNav .di-nav-actions { gap: 4px; }
  #diNav .di-nav-icon-btn { padding: 7px 9px; }
  #diNav .di-nav-login-btn { padding: 8px 12px; font-size: 13px; }
  #diNav .di-nav-cta { padding: 9px 14px; font-size: 13px; }
}


/* Map and listing-filter repair, added 2026-09-25 */
.di-sidebar-v2,.di-sidebar-v2 * { box-sizing: border-box; }
.di-sidebar-v2 { min-width: 0; max-width: 100%; }
.di-sidebar-header { min-width: 0; flex-wrap: wrap; gap: 8px 12px; }
.di-sidebar-header h4 { min-width: 0; flex: 1 1 110px; }
.di-sidebar-header a { flex: 0 0 auto; white-space: nowrap; }
.di-sidebar-body { min-width: 0; padding-inline: clamp(12px, 1.45vw, 20px); }
.di-sidebar-v2 form,.di-filter-group,.di-filter-input-row,.di-filter-checks { min-width: 0; max-width: 100%; }
.di-sidebar-v2 .di-filter-input { width: 100%; max-width: 100%; min-width: 0; box-sizing: border-box; }
.di-filter-input-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.di-btn-group-filter,.di-filter-btn-group { min-width: 0; max-width: 100%; flex-wrap: wrap; }
.di-filter-checks { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.di-filter-check-item { min-width: 0; overflow-wrap: anywhere; }
.di-leaflet { width: 100%; min-height: 280px; }
.di-leaflet-results { min-height: 320px; }
.di-map-load { min-height: 48px; }
@media (max-width: 1199.98px) {
  .di-sidebar-body { padding-inline: 14px; }
  .di-filter-checks { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 991.98px) {
  .di-filter-checks { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 479.98px) {
  .di-filter-checks { grid-template-columns: minmax(0, 1fr); }
  .di-map-disclosure,.di-map-load,.di-map-note,.di-map-status { margin-left: 12px; margin-right: 12px; }
}

/* Explicit map request: unloaded maps occupy no page space. */
.di-leaflet[hidden] { display: none !important; }
/* Listing cards: price first, action second, with a reliable tap target. */
.di-card-v2 .di-card-footer { flex-direction: column; align-items: stretch; justify-content: flex-start; gap: 12px; }
.di-card-v2 .di-card-price { width: 100%; }
.di-card-v2 .di-card-detail-btn { width: 100%; min-height: 44px; justify-content: center; }


/* Focused visual pass: restrained charcoal, paper, and brand red */
:root {
  --di-light: oklch(98% 0.004 18);
  --di-slate: oklch(26% 0.012 18);
}
.di-section-light { background: oklch(98% 0.004 18) !important; }
.di-page-hero {
  background: oklch(22% 0.012 18);
  padding: 20px 0 18px !important;
}
.di-page-hero::before,
.di-page-hero::after { opacity: .18; }
.di-page-hero h1,.di-page-hero-title { margin-bottom: 6px !important; }
.di-page-hero .di-breadcrumb { gap: 5px; }
.di-page-hero .di-breadcrumb li + li::before { content: none !important; }
.di-page-hero .di-breadcrumb li:not(:last-child)::after { content: "/"; margin-left: 5px; color: oklch(78% 0.008 18); }
.di-page-hero .di-breadcrumb li { font-size: 13px; }

/* Horizontal results: let content define row height instead of cropping it. */
#diListingsGrid.di-listing-list > [class*="col-"] { min-width: 0; }
#diListingsGrid.di-listing-list .di-card-v2 {
  min-width: 0;
  max-height: none;
  height: auto;
  align-items: stretch;
  border: 1px solid oklch(92% 0.006 18);
  box-shadow: 0 2px 12px oklch(22% 0.012 18 / 6%);
}
#diListingsGrid.di-listing-list .di-card-img {
  flex: 0 0 clamp(210px, 28%, 300px);
  height: auto;
  min-height: 220px;
  align-self: stretch;
}
#diListingsGrid.di-listing-list .di-card-img img { min-height: 220px; height: 100%; object-fit: cover; }
#diListingsGrid.di-listing-list .di-card-body {
  flex: 1 1 0;
  min-width: 0;
  padding: clamp(16px, 2vw, 24px);
  gap: 10px;
  justify-content: flex-start;
}
#diListingsGrid.di-listing-list .di-card-title { min-width: 0; line-height: 1.35; overflow-wrap: anywhere; }
#diListingsGrid.di-listing-list .di-card-title a { display: block; white-space: normal; overflow-wrap: anywhere; }
#diListingsGrid.di-listing-list .di-card-address[style] { display: flex !important; flex-wrap: wrap; justify-content: flex-start !important; gap: 4px 14px !important; }
#diListingsGrid.di-listing-list .di-card-address { min-width: 0; overflow-wrap: anywhere; line-height: 1.5; }
#diListingsGrid.di-listing-list .di-card-specs { gap: 8px; margin: 4px 0; }
#diListingsGrid.di-listing-list .di-card-footer {
  min-width: 0;
  margin-top: auto;
  padding-top: 12px;
  gap: 10px;
  flex-direction: column;
  align-items: stretch;
}
#diListingsGrid.di-listing-list .di-card-price { width: 100%; line-height: 1.2; overflow-wrap: anywhere; }
#diListingsGrid.di-listing-list .di-card-detail-btn { width: 100%; min-height: 44px; justify-content: center; }
@media (max-width: 767.98px) {
  #diListingsGrid.di-listing-list .di-card-v2 { flex-direction: column; }
  #diListingsGrid.di-listing-list .di-card-img { flex: none; width: 100%; height: auto; min-height: 0; aspect-ratio: 16 / 9; }
  #diListingsGrid.di-listing-list .di-card-img img { min-height: 0; }
}

/* Contact page: quiet surfaces, legible form, useful map action. */
.di-contact-info-card-v2,
.di-contact-form-card-v2 {
  background: #fff;
  border-color: oklch(92% 0.006 18);
  border-radius: 16px;
  box-shadow: 0 2px 12px oklch(22% 0.012 18 / 5%);
}
.di-contact-info-card-v2 { padding: 24px; }
.di-contact-info-icon { background: oklch(96% 0.018 18); border-radius: 12px; }
.di-contact-info-icon i { color: var(--di-primary); }
.di-contact-form-card-v2 { padding: clamp(22px, 3vw, 34px); }
.di-contact-form-card-v2 .di-filter-input {
  background: oklch(99% 0.003 18);
  border-color: oklch(88% 0.008 18);
  border-radius: 10px;
  color: oklch(24% 0.012 18);
}
.di-contact-form-card-v2 .di-filter-input:focus { border-color: var(--di-primary); box-shadow: 0 0 0 3px oklch(58% 0.2 20 / 14%); }
.di-contact-form-card-v2 textarea { min-height: 140px; }
.di-contact-form-card-v2 .di-filter-apply-btn { max-width: 260px; border-radius: 10px; background: var(--di-primary); }
.di-contact-map-v2 {
  height: auto;
  min-height: 0;
  border: 1px solid oklch(92% 0.006 18);
  border-radius: 16px;
  background: oklch(98% 0.004 18);
  box-shadow: none;
}
.di-contact-map-v2 > div {
  min-height: 0 !important;
  display: grid !important;
  gap: 12px;
  padding: 24px !important;
  background: transparent !important;
}
.di-contact-map-v2 > div p { max-width: 42ch; margin: 0 auto; color: oklch(43% 0.012 18); line-height: 1.55; }
.di-contact-map-v2 .di-filter-apply-btn { width: fit-content; min-width: 190px; justify-self: center; border-radius: 10px; }
.di-contact-map-v2 + .di-contact-info-card-v2 { border-radius: 16px; }

/* Shared red / charcoal palette for listing controls, not semantic statuses. */
.di-deal-pill.rent.active,
.di-deal-pill.auction.active,
.di-deal-pill.exchange.active { background: var(--di-primary); border-color: var(--di-primary); color: #fff; box-shadow: none; }
.di-card-v2 .di-card-detail-btn { background: oklch(97% 0.012 18); }
.di-card-v2 .di-card-detail-btn:hover { background: var(--di-primary); }
.di-card-v2 .di-spec-item { background: oklch(97.5% 0.003 18); border-color: oklch(93% 0.005 18); color: oklch(34% 0.01 18); }
.di-card-v2 .di-spec-item i { color: var(--di-primary); }
.di-card-v2 .di-card-cat { color: oklch(44% 0.14 20); }
.di-sort-bar,.di-sidebar-v2 { box-shadow: 0 2px 12px oklch(22% 0.012 18 / 5%); }
.di-filter-input { background: oklch(99% 0.003 18); }

/* Site-wide visual preference: crisp geometry, warm neutrals, charcoal, brand red. */
:root { --di-radius: 4px; --di-light: #f5f4f3; --di-dark: #171717; --di-slate: #2c2c2c; --di-muted: #666666; --di-amber: #5e1d2d; --di-indigo: #626262; --di-green: #626262; }
*, *::before, *::after { border-radius: 4px !important; }
/* Keep only intentional circular identity/status marks circular. */
.di-nav-avatar,.di-agent-avatar-v2,.di-agent-avatar-placeholder,.di-user-avatar,.avatar,.rounded-circle { border-radius: 50% !important; }
/* Brand actions stay red, surfaces stay paper/white, page chrome stays charcoal. */
.di-page-hero,.di-agency-hero,.di-cta-banner,.di-experience-box,.di-cta-final { background-color: #222222; }
.di-section-light,.di-detail-v2 { background-color: #f5f4f3 !important; }
.di-filter-input,.di-calc-input,.di-search-glass .form-control,.di-search-glass .field-input,.di-search-glass .nice-select { background-color: #f7f6f4; }
.di-deal-pill.rent.active,.di-deal-pill.auction.active,.di-deal-pill.exchange.active { color: #fff; }


/* Light-surface pass: keep charcoal as text/anchor, not as a page-sized fill. */
.di-page-hero {
  background: #f3f2f0 !important;
  border-bottom: 1px solid #e4e2df;
}
.di-page-hero::before,.di-page-hero::after { opacity: 0 !important; }
.di-page-hero h1,.di-page-hero-title { color: #171717 !important; }
.di-page-hero .di-breadcrumb li { color: #666 !important; }
.di-page-hero .di-breadcrumb li a { color: #515151 !important; }
.di-page-hero .di-breadcrumb li:not(:last-child)::after { color: #888 !important; }
.di-hero-wrap,.di-home-experience,.bg-color-1 { background: #f5f4f3 !important; }
.di-hero-wrap .di-hero-title,.di-hero-wrap .di-hero-subtitle,
.di-hero-wrap .di-hero-stat strong,.di-hero-wrap .di-hero-stat span,
.di-home-experience .di-section-heading h2,.di-home-experience .di-section-heading p,
.di-home-experience .di-section-heading span,
.bg-color-1 .di-section-heading h2,.bg-color-1 .di-section-heading p,.bg-color-1 .di-section-heading span { color: #171717 !important; }
.di-hero-wrap .di-hero-subtitle,.di-home-experience .di-section-heading p,.bg-color-1 .di-section-heading p { color: #5b5b5b !important; }
.di-hero-wrap .di-hero-badge-float,.di-hero-wrap .di-search-glass { background: #fff !important; border-color: #e4e2df !important; }
.di-experience-box,.di-split-owners,.di-detail-hero,.di-detail-hero-v2,
.di-filter-head,.di-calc-result-box,.di-calc-result-box,
.di-sidebar-price-head,.di-sidebar-back-btn { background: #f3f2f0 !important; box-shadow: none !important; }
.di-experience-box h2,.di-experience-box p,.di-experience-box span,
.di-experience-box h4,.di-experience-grid div,
.di-split-owners h3,.di-split-owners li,.di-split-owners span,
.di-detail-hero h1,.di-detail-hero .di-detail-meta-row,
.di-detail-hero-v2 h1,.di-detail-hero-v2 .di-detail-meta-row,
.di-filter-head h4,.di-calc-result-box,.di-calc-result-box strong,
.di-sidebar-price-head,.di-sidebar-price,.di-sidebar-price small,
.di-sidebar-deal-badge,.di-sidebar-back-btn { color: #222 !important; }
.di-experience-grid div { background: #fff; border-color: #e4e2df; }
.di-experience-grid i,.di-experience-box span,.di-split-owners span { color: #5e1d2d !important; }
.di-detail-hero .di-detail-badge,.di-detail-hero-v2 .di-detail-deal-badge { color: #fff !important; }
.di-detail-hero .di-detail-hero-price,.di-detail-hero-v2 .di-dh-price { color: #5e1d2d !important; text-shadow: none !important; }
.di-detail-hero .di-detail-hero-price small,.di-detail-hero-v2 .di-detail-hero-price small { color: #666 !important; }
.di-sidebar-price-head { border-bottom: 1px solid #e4e2df; }
.di-sidebar-deal-badge { background: #e4e2df; }
.di-auth-page { background: #f3f2f0 !important; }
.di-auth-brand-panel,.di-auth-brand { background: #e9e8e6 !important; color: #222 !important; }
.di-auth-brand-panel h1,.di-auth-brand-panel h2,.di-auth-brand h1,.di-auth-brand h2 { color: #171717 !important; }
.di-auth-brand-panel p,.di-auth-brand p,.di-auth-brand-footer { color: #555 !important; }
.di-auth-brand-panel .di-auth-brand-stats strong,.di-auth-brand .di-auth-brand-stats strong { color: #171717 !important; }
.ag-hero,.ag-cta-final { background: #f3f2f0 !important; color: #171717 !important; }
.ag-hero h1,.ag-cta-final h2 { color: #171717 !important; }
.ag-hero p,.ag-cta-final p,.ag-hero-sub { color: #515151 !important; }
.ag-hero-badge { background: #f3ecde !important; color: #8d1d34 !important; border-color: #d9c89f !important; }
.ag-cta-final a:not(.ag-btn-primary) { color: #444 !important; }

/* Footer lightening requested 2026-09-25 */
.di-footer {
  background: #f3f2f0 !important;
  color: #444 !important;
  border-top: 1px solid #e4e2df !important;
}
.di-footer-stats-bar { background: #f3ecde !important; }
.di-footer-stat,.di-footer-stat strong { color: #222 !important; }
.di-footer-stat span { color: #555 !important; }
.di-footer-stat-divider { background: #d2d0cd !important; }
.di-footer-trust-bar { border-color: #e4e2df !important; }
.di-trust-badge { color: #515151 !important; }
.di-footer-brand img,.di-footer-logo img { filter: none !important; }
.di-footer-brand p,.di-footer-nl-text { color: #515151 !important; }
.di-footer-heading { color: #222 !important; }
.di-footer-links li a,.di-footer-links a,.di-footer-contact-info a { color: #515151 !important; }
.di-footer-links li a:hover,.di-footer-links a:hover,.di-footer-contact-info a:hover { color: #5e1d2d !important; }
.di-footer-bottom { border-color: #e4e2df !important; }
.di-footer-bottom p,.di-footer-bottom-links li a,.di-footer-bottom-links a { color: #666 !important; }
.di-footer-bottom p a:hover,.di-footer-bottom-links li a:hover,.di-footer-bottom-links a:hover { color: #5e1d2d !important; }
.di-fsoc-btn,.di-footer-social a { color: #4b4b4b !important; background: #fff !important; border-color: #e4e2df !important; }
.di-fsoc-btn:hover,.di-footer-social a:hover { color: #fff !important; background: #762638 !important; border-color: #762638 !important; }
.di-footer-newsletter-form,.di-footer-nl-input { border-color: #d2d0cd !important; background: #fff !important; }
.di-footer-newsletter-form input,.di-footer-nl-input { color: #222 !important; }
.di-footer-newsletter-form input::placeholder,.di-footer-nl-input::placeholder { color: #777 !important; }
.di-footer-newsletter .form-control { background: #fff !important; color: #222 !important; border-color: #d2d0cd !important; }
.di-footer-newsletter .form-control::placeholder { color: #777 !important; }

/* Palette refinement: warm gold + burgundy, brighter charcoal surfaces */
:root {
  --di-primary: #7b2638;
  --di-amber: #b28a43;
  --di-dark: #34312f;
  --di-slate: #4a4541;
  --di-muted: #66615d;
  --di-light: #f7f5f1;
  --di-indigo: #66615d;
  --di-green: #66615d;
}
/* Unified burgundy actions, warmer than the old pink-red. */
.di-nav-cta,.di-main-search-btn button,.di-search-btn-main,.di-filter-apply-btn,
.di-auth-card .btn-auth,.di-detail-badge,.di-property-badge,.di-card-v2 .di-card-detail-btn:hover,
.di-footer-newsletter-form button,.di-footer-nl-btn,.di-footer-newsletter .btn,
.di-hero-btn-primary,.ag-hero-cta,.ag-btn-primary { background:#7b2638 !important; border-color:#7b2638 !important; color:#fff !important; }
.di-nav-cta:hover,.di-main-search-btn button:hover,.di-search-btn-main:hover,.di-filter-apply-btn:hover,
.di-auth-card .btn-auth:hover,.di-footer-newsletter-form button:hover,.di-footer-nl-btn:hover,
.di-footer-newsletter .btn:hover,.di-hero-btn-primary:hover,.ag-hero-cta:hover,.ag-btn-primary:hover { background:#632031 !important; border-color:#632031 !important; color:#fff !important; }
.di-primary-text,.di-card-price,.di-property-pricebox .price-info h4 { color:#7b2638 !important; }
.di-nav a:hover,.di-nav a.active,.di-footer-links a:hover,.di-footer-contact-info a:hover,
.di-footer-bottom a:hover,.di-card-title a:hover { color:#7b2638 !important; }
.di-hero-eyebrow,.di-destination-card-simple i,.di-stat-box strong,.di-results-toolbar .left-column span { color:#9a7536 !important; }
.di-category-tile i,.di-info-card i,.di-value-card i,.di-hero-badge-float i,.di-spec-row i { background:#f3ecde !important; color:#9a7536 !important; }
.di-destination-card-simple,.di-filter-head,.di-sidebar-header,.di-filter-head h4 { background:#f2eee6 !important; color:#34312f !important; }
.di-destination-card-simple h4,.di-filter-head h4,.di-sidebar-header h4 { color:#34312f !important; }
.di-destination-card-simple span,.di-filter-head span { color:#87652d !important; }
.di-destination-card-simple .di-destination-count { background:#e6dfd2 !important; color:#4a4541 !important; }
.di-sidebar-v2 .di-filter-label,.di-filter-label { color:#5d5853 !important; }
.di-filter-input,.di-sidebar-v2 .di-filter-input,.di-search-glass .field-input,.di-search-glass .form-control,.di-search-glass .nice-select { background:#fff !important; border-color:#ded9d0 !important; }
.di-deal-pill.rent.active,.di-deal-pill.auction.active,.di-deal-pill.exchange.active { background:#7b2638 !important; border-color:#7b2638 !important; }
.di-sidebar-price-head { background:#f3ecde !important; }
.di-sidebar-price { color:#7b2638 !important; }
.di-sidebar-deal-badge { background:#e4ded4 !important; color:#4a4541 !important; }
.di-agency-card,.ag-lead-visual { background:#4a4541 !important; color:#fff !important; }

/* City/property tiles: warm light cards instead of charcoal blocks. */
.di-destination-card-simple {
  background: #f3ecde !important;
  border: 1px solid #e4dccd !important;
  color: #34312f !important;
  box-shadow: none !important;
}
.di-destination-card-simple:hover { background:#ece3d4 !important; }
.di-destination-card-simple i { color:#9a7536 !important; }
.di-destination-card-simple .di-destination-count { background:#e4dccd !important; color:#4a4541 !important; }
.di-destination-card-simple h4,.di-destination-card-simple span { color:#34312f !important; }
.di-filter-head,.di-sidebar-header { background:#f3ecde !important; }
.di-filter-head h4,.di-sidebar-header h4 { color:#34312f !important; }
.di-filter-head > a,.di-sidebar-header a { background:#7b2638 !important; color:#fff !important; }
.di-filter-head > a:hover,.di-sidebar-header a:hover { background:#632031 !important; }
.di-agency-card,.ag-lead-visual { background:#4a4541 !important; color:#fff !important; }
.di-agency-card *,.ag-lead-visual * { color:#fff; }
.ag-hero { background:#4a4541 !important; }
.ag-hero h1,.ag-hero p,.ag-hero-sub { color:#fff !important; }
.ag-cta-final { background:#f3f2f0 !important; }
.ag-cta-final h2 { color:#34312f !important; }
.ag-cta-final p,.ag-cta-final > .auto-container > div:last-child { color:#555 !important; }

/* Homepage contrast + consistent burgundy actions */
.di-hero-wrap { background:#f5f4f3 !important; }
.di-hero-wrap::before { display:none !important; }
.di-hero-wrap .di-hero-title,.di-hero-wrap .di-hero-title em { color:#34312f !important; background:none !important; -webkit-text-fill-color:#34312f !important; }
.di-hero-wrap .di-hero-subtitle { color:#515151 !important; }
.di-hero-wrap .di-hero-eyebrow { color:#755a2b !important; background:#f3ecde !important; border-color:#e4dccd !important; }
.di-hero-wrap .di-hero-eyebrow span { background:#9a7536 !important; }
.di-hero-wrap .di-hero-stat strong { color:#34312f !important; }
.di-hero-wrap .di-hero-stat span { color:#5b5853 !important; }
.di-hero-wrap .di-hero-stats-row { border-color:#ded9d0 !important; }
.di-hero-wrap .di-hero-btn-primary,.di-hero-wrap .di-hero-btn-secondary {
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  min-height:58px; padding:14px 28px; border:1px solid #7b2638 !important;
  border-radius:4px !important; background:#7b2638 !important; color:#fff !important;
  box-shadow:0 4px 12px rgba(65,25,34,.16); text-shadow:none !important;
}
.di-hero-wrap .di-hero-btn-primary:hover,.di-hero-wrap .di-hero-btn-secondary:hover,
.di-hero-wrap .di-hero-btn-primary:focus-visible,.di-hero-wrap .di-hero-btn-secondary:focus-visible {
  background:#632031 !important; border-color:#632031 !important; color:#fff !important;
}
.di-hero-wrap .di-hero-btn-primary:focus-visible,.di-hero-wrap .di-hero-btn-secondary:focus-visible { outline:3px solid #b28a43 !important; outline-offset:3px; }
#diNav .di-nav-cta { background:#7b2638 !important; border-color:#7b2638 !important; color:#fff !important; }
#diNav .di-nav-cta:hover,#diNav .di-nav-cta:focus-visible { background:#632031 !important; border-color:#632031 !important; color:#fff !important; }
/* The homepage market-analysis cards are light, so their copy must be dark. */
.bg-color-1 .di-info-card,.bg-color-1 .di-step-card,.bg-color-1 .di-faq-card { background:#fff !important; border-color:#e4e2df !important; }
.bg-color-1 .di-info-card h4,.bg-color-1 .di-step-card h4,.bg-color-1 .di-faq-card h4 { color:#34312f !important; }
.bg-color-1 .di-info-card p,.bg-color-1 .di-step-card p,.bg-color-1 .di-faq-card p { color:#515151 !important; }
.bg-color-1 .di-info-card i,.bg-color-1 .di-step-card i { color:#9a7536 !important; background:#f3ecde !important; }
.bg-color-1 .di-step-card strong { background:#7b2638 !important; color:#fff !important; }
/* Replace theme's empty box/ring with an animated branded house. */
.handle-preloader { background:#f3f2f0 !important; }
.handle-preloader .animation-preloader .spinner.di-house-spinner {
  position:relative; display:grid; place-items:center; width:82px; height:82px;
  margin:0 auto 28px; border:0 !important; border-radius:50% !important;
  color:#7b2638; animation:none !important; background:transparent !important;
}
.spinner.di-house-spinner::before {
  content:""; position:absolute; inset:0; border:3px solid #e1dcd4;
  border-top-color:#7b2638; border-right-color:#b28a43; border-radius:50% !important;
  animation:diHouseRing 1.2s linear infinite;
}
.spinner.di-house-spinner i { position:relative; z-index:1; font-size:36px; color:#7b2638; animation:diHouseLift 1.2s ease-in-out infinite; }
.handle-preloader .animation-preloader .txt-loading .letters-loading,
.handle-preloader .animation-preloader .txt-loading .letters-loading:before { color:#34312f !important; }
@keyframes diHouseRing { to { transform:rotate(360deg); } }
@keyframes diHouseLift { 0%,100% { transform:translateY(1px) scale(.96); } 50% { transform:translateY(-3px) scale(1.04); } }
@media (prefers-reduced-motion: reduce) {
  .spinner.di-house-spinner::before,.spinner.di-house-spinner i { animation:none !important; }
}

/* FINAL BRAND SYSTEM: paper neutrals, deep burgundy, muted architectural gold */
:root {
  --di-primary:#762638;
  --di-amber:#9a7536;
  --di-dark:#302d2a;
  --di-slate:#49433e;
  --di-muted:#625d57;
  --di-light:#f6f4f0;
  --di-indigo:#625d57;
  --di-green:#625d57;
}
body { color:#403c38; background:#fff; }
/* Consistent links, active states and brand actions */
#diNav a.di-nav-link:hover,#diNav a.di-nav-link.active { color:#762638 !important; background:#f3ecde !important; }
#diNav .di-nav-cta,#diNav .di-nav-cta:hover,#diNav .di-nav-cta:focus-visible,
.di-hero-btn-primary,.di-hero-btn-secondary,.di-filter-apply-btn,.di-card-detail-btn,
.di-auth-card .btn-auth,.di-main-search-btn button,.di-search-btn-main,.di-footer-newsletter-form button,
.di-footer-nl-btn,.di-footer-newsletter .btn,.di-cta-banner-btn-primary,.ag-hero-cta,.ag-btn-primary,
.di-sidebar-contact-card .di-filter-apply-btn {
  background:#762638 !important; border-color:#762638 !important; color:#fff !important;
}
#diNav .di-nav-cta:hover,.di-hero-btn-primary:hover,.di-hero-btn-secondary:hover,.di-filter-apply-btn:hover,
.di-card-detail-btn:hover,.di-auth-card .btn-auth:hover,.di-main-search-btn button:hover,.di-search-btn-main:hover,
.di-footer-newsletter-form button:hover,.di-footer-nl-btn:hover,.di-footer-newsletter .btn:hover,
.di-cta-banner-btn-primary:hover,.ag-hero-cta:hover,.ag-btn-primary:hover {
  background:#5e1d2d !important; border-color:#5e1d2d !important; color:#fff !important;
}
.di-nav-login-btn { color:#403c38 !important; border-color:#d9d4cc !important; background:#fff !important; }
.di-nav-login-btn:hover { color:#762638 !important; border-color:#762638 !important; }
#diNav .di-nav-menu i,.di-nav-offcanvas-nav i { color:#8b6c38 !important; }
/* Calm section backgrounds and keep all text legible on the resulting surface. */
.di-home-intelligence,.di-home-steps,.di-home-featured,.feature-section.bg-color-1,
.bg-color-1,.di-home-experience,.di-section-light { background:#f6f4f0 !important; }
.di-section-heading h2,.di-section-heading p,.di-section-heading span,
.bg-color-1 .di-section-heading h2,.bg-color-1 .di-section-heading p,.bg-color-1 .di-section-heading span,
.feature-section.bg-color-1 .di-section-heading h2,.feature-section.bg-color-1 .di-section-heading p,
.feature-section.bg-color-1 .di-section-heading span { color:#302d2a !important; }
.bg-color-1 .di-section-heading p,.feature-section.bg-color-1 .di-section-heading p { color:#625d57 !important; }
/* Market intelligence, process and FAQ cards: white surface, dark copy, gold icon. */
.bg-color-1 .di-info-card,.bg-color-1 .di-step-card,.bg-color-1 .di-faq-card,
.feature-section.bg-color-1 .di-card-v2 {
  background:#fff !important; color:#403c38 !important; border:1px solid #e5e0d7 !important;
  box-shadow:0 3px 14px rgba(48,45,42,.045) !important;
}
.bg-color-1 .di-info-card h4,.bg-color-1 .di-step-card h4,.bg-color-1 .di-faq-card h4,
.feature-section.bg-color-1 .di-card-v2 .di-card-title,
.feature-section.bg-color-1 .di-card-v2 .di-card-title a { color:#302d2a !important; }
.bg-color-1 .di-info-card p,.bg-color-1 .di-step-card p,.bg-color-1 .di-faq-card p,
.feature-section.bg-color-1 .di-card-v2 .di-card-address { color:#625d57 !important; }
.bg-color-1 .di-info-card > i,.bg-color-1 .di-step-card > i { background:#f3ecde !important; color:#8b6c38 !important; }
.bg-color-1 .di-step-card strong { background:#762638 !important; color:#fff !important; }
/* The split panels now share one light surface; no white copy floating on pale fill. */
.di-split-card,.di-split-buyers,.di-split-owners {
  background:#fff !important; color:#403c38 !important; border:1px solid #e5e0d7 !important;
  box-shadow:0 3px 14px rgba(48,45,42,.045) !important;
}
.di-split-card h3,.di-split-owners h3 { color:#302d2a !important; }
.di-split-card li,.di-split-owners li { color:#514c46 !important; }
.di-split-card li i,.di-split-owners li i { color:#8b6c38 !important; }
.di-split-card > span,.di-split-owners > span { color:#755a2b !important; background:#f3ecde !important; }
.di-split-card .di-hero-btn-primary,.di-split-card .di-hero-btn-secondary {
  background:#762638 !important; border:1px solid #762638 !important; color:#fff !important;
}
/* Search tabs on light homepage: readable inactive state, clear burgundy active state. */
.di-hero-search-tabs { gap:6px !important; margin-bottom:8px !important; }
.di-hero-tab-btn,.di-hero-tab-btn:hover {
  background:#ebe7df !important; color:#403c38 !important; border:1px solid #ded8ce !important;
  border-radius:4px !important; box-shadow:none !important;
}
.di-hero-tab-btn.active,.di-hero-tab-btn.active:hover {
  background:#762638 !important; border-color:#762638 !important; color:#fff !important;
}
.di-hero-search-glass { background:#fff !important; border:1px solid #e5e0d7 !important; box-shadow:0 4px 16px rgba(48,45,42,.06) !important; }
/* Listing cards and labels: remove vivid orange, yellow, blue, purple, and green accents. */
.di-card-v2 .di-card-badge,.di-property-badge { background:#762638 !important; color:#fff !important; box-shadow:none !important; }
.di-card-v2 .di-card-fresh-badge.di-fresh-new { background:#e9dfc9 !important; color:#4e4026 !important; box-shadow:none !important; }
.di-card-v2 .di-card-fresh-badge.di-fresh-updated { background:#762638 !important; color:#fff !important; box-shadow:none !important; }
.di-card-v2 .di-card-action-btn,.di-property-actions a { background:#fff !important; border:1px solid #ded8ce !important; color:#4c4741 !important; box-shadow:none !important; }
.di-card-v2 .di-card-action-btn.active,.di-card-v2 .di-card-action-btn:hover,.di-property-actions a:hover { background:#762638 !important; color:#fff !important; border-color:#762638 !important; }
.di-card-v2 .di-card-price,.di-property-pricebox .price-info h4,.di-detail-hero-price { color:#762638 !important; }
.di-card-v2 .di-spec-item { background:#f7f5f1 !important; border-color:#ebe6dd !important; color:#403c38 !important; }
.di-card-v2 .di-spec-item i { color:#8b6c38 !important; }
.di-deal-pill.rent.active,.di-deal-pill.auction.active,.di-deal-pill.exchange.active,
.di-deal-pill.active { background:#762638 !important; border-color:#762638 !important; color:#fff !important; box-shadow:none !important; }
.di-filter-head,.di-sidebar-header { background:#f3ecde !important; }
.di-filter-head h4,.di-sidebar-header h4 { color:#302d2a !important; }
.di-filter-head span { color:#755a2b !important; }
.di-filter-head > a,.di-sidebar-header a { color:#fff !important; background:#762638 !important; }
/* One consistent burgundy/gold logo and navigation accent treatment. */
.di-footer-stats-bar { background:#762638 !important; }
.di-footer-heading,.di-footer-heading::after { border-color:#9a7536 !important; }
.di-footer-heading::after { background:#9a7536 !important; }
.di-footer-links li a i,.di-footer-contact-info a i,.di-trust-badge i { color:#8b6c38 !important; }

/* Remaining high-contrast edge cases from screenshot review */
.di-demo-badge {
  position:absolute; z-index:3; top:12px; left:12px; max-width:calc(100% - 24px);
  padding:5px 10px; background:#762638; color:#fff; border-radius:4px;
  font-size:11px; line-height:1.35; font-weight:800; letter-spacing:.035em;
}
.di-destination-card-simple { background:#f3ecde !important; border:1px solid #e5dccb !important; color:#302d2a !important; box-shadow:none !important; }
.di-destination-card-simple:hover { background:#ebe2d3 !important; }
.di-destination-card-simple i { color:#8b6c38 !important; }
.di-destination-card-simple h4,.di-destination-card-simple span { color:#302d2a !important; }
.di-destination-card-simple span { background:#e7dfd2 !important; }
.di-destination-card-simple .di-destination-count { background:#e7dfd2 !important; color:#4e4026 !important; }
.di-card-v2 .di-card-img .di-card-badge { background:#762638 !important; color:#fff !important; }
.di-card-v2 .di-card-img .di-card-badge[style*="9a7536"] { background:#9a7536 !important; color:#fff !important; }
.di-card-v2 .di-card-img .di-card-badge[style*="6f675d"] { background:#6f675d !important; color:#fff !important; }
/* Header icon accents all use one quiet gold, never blue/purple/orange. */
#diNav .di-nav-link i,#diNav .di-nav-menu button i,
.di-nav-offcanvas-nav i { color:#8b6c38 !important; }
/* Buttons on white or warm-light sections always get a filled brand surface. */
.di-section-light .di-hero-btn-secondary,.di-home-faq .di-hero-btn-secondary,
.di-home-split .di-hero-btn-secondary,.di-home-split .di-hero-btn-primary,
.di-home-experience .di-hero-btn-secondary,.di-home-experience .di-hero-btn-primary {
  background:#762638 !important; border:1px solid #762638 !important; color:#fff !important;
}
.di-section-light .di-hero-btn-secondary:hover,.di-home-faq .di-hero-btn-secondary:hover,
.di-home-split .di-hero-btn-secondary:hover,.di-home-split .di-hero-btn-primary:hover,
.di-home-experience .di-hero-btn-secondary:hover,.di-home-experience .di-hero-btn-primary:hover { background:#5e1d2d !important; color:#fff !important; }
.di-card-v2 .di-card-title a,.di-card-v2 .di-card-address,.di-card-v2 .di-card-cat { color:#514c46; }
.di-card-v2 .di-card-title a { color:#302d2a; }
.di-card-v2 .di-card-footer { border-color:#ebe6dd !important; }
.di-card-v2 .di-card-price { color:#762638 !important; }
.di-card-v2 .di-card-detail-btn { background:#762638 !important; color:#fff !important; }
.di-card-v2 .di-card-detail-btn:hover { background:#5e1d2d !important; color:#fff !important; }
.di-price-history-chart,.di-sidebar-contact-card,.di-auth-card { border-color:#e5e0d7 !important; }
.di-auction-block,.di-bid-box,.di-exchange-block { border-color:#d9c89f !important; }
.di-auction-live-badge,.di-auction-ended-badge { background:#9a7536 !important; color:#fff !important; }
.di-auction-block .di-auction-stat strong,.di-auction-block h5 i { color:#755a2b !important; }

.di-card-v2 .di-card-img .di-card-badge[style*="9a7536"] { color:#302d2a !important; background:#d9c89f !important; }

/* Strict no-pink brand rule: headings, badges, links and decorative fills */
:root { --di-primary:#762638; --di-amber:#9a7536; }
.di-hero-title em,.di-hero-title span,.di-section-heading span,
.di-page-hero h1 span,.di-detail-hero h1 span,.di-detail-hero-v2 h1 span,
.di-agency-hero h1 span,.ag-hero h1 span,.di-split-card > span,.di-agency-eyebrow {
  color:#762638 !important; background:none !important;
  -webkit-text-fill-color:#762638 !important;
}
.di-hero-title em { background-image:none !important; }
.di-page-hero,.di-agency-hero { color:#302d2a; }
.di-page-hero .di-breadcrumb li:not(:last-child)::after { color:#9a7536 !important; }
.di-nav a.di-nav-link.active,#diNav a.di-nav-link.active,
.di-auth-links a,.di-auth-terms a,.di-footer-links a:hover,
.di-footer-contact-info a:hover,.di-footer-bottom a:hover { color:#762638 !important; }
.di-search-tabs .active,.di-hero-tab-btn.active { background:#762638 !important; border-color:#762638 !important; color:#fff !important; }
.di-demo-badge,.di-card-v2 .di-card-badge { background:#762638 !important; color:#fff !important; }
.di-agency-badge,.ag-hero-badge { background:#f3ecde !important; border-color:#d9c89f !important; color:#5e1d2d !important; }

/* Consistent control rhythm: one 48px desktop control, compact mobile fallback. */
:root { --di-control-h:48px; }
#diNav .di-nav-icon-btn,#diNav .di-nav-user-btn,#diNav .di-nav-login-btn,#diNav .di-nav-cta,
.di-hero-btn-primary,.di-hero-btn-secondary,.di-filter-apply-btn,.di-card-detail-btn,
.di-search-input,.di-search-btn-main,.di-main-search-btn button,.di-sort-select,.di-sort-bar select,
.di-sort-bar .nice-select,.di-results-toolbar .nice-select,.di-results-toolbar .short-menu button,
.di-filter-input,.di-filter-card .form-control,.di-filter-card .nice-select,.di-sidebar-v2 .di-filter-input,
.di-calc-input,.di-detail-tab-btn,.di-sidebar-action-btn,.di-sidebar-back-btn,.di-sidebar-contact-btn,
.di-footer-newsletter-form,.di-footer-newsletter-form input,.di-footer-newsletter-form button,
.di-footer-nl-input,.di-footer-nl-btn,.di-contact-form-card-v2 .di-filter-input,
.di-auth-card .form-control,.di-auth-card .btn-auth,.di-auth-submit-btn,
.di-search-glass .field-input,.di-search-glass .nice-select,.di-search-glass .form-control,
.di-search-glass .field-input input,.di-deal-pill,.di-hero-tab-btn {
  min-height:var(--di-control-h);
  box-sizing:border-box;
}
.di-sort-bar .nice-select,.di-results-toolbar .nice-select,.di-filter-card .nice-select,
.di-search-glass .nice-select { height:var(--di-control-h); line-height:calc(var(--di-control-h) - 2px); }
.di-filter-input,.di-filter-card .form-control,.di-sidebar-v2 .di-filter-input,
.di-contact-form-card-v2 .di-filter-input,.di-auth-card .form-control,.di-search-input,
.di-sort-select,.di-calc-input,.di-search-glass .form-control {
  height:var(--di-control-h); padding-top:0; padding-bottom:0;
}
.di-search-glass .field-input input { height:var(--di-control-h); }
.di-footer-newsletter-form { height:var(--di-control-h); }
.di-footer-newsletter-form input,.di-footer-newsletter-form button { height:var(--di-control-h); }
.di-footer-nl-input,.di-footer-nl-btn { height:var(--di-control-h); }
.di-contact-form-card-v2 textarea.di-filter-input { height:auto; min-height:140px; padding:12px 14px; }
.di-deal-pill,.di-hero-tab-btn { display:inline-flex; align-items:center; justify-content:center; }
#diNav .di-nav-icon-btn,#diNav .di-nav-user-btn,#diNav .di-nav-login-btn,#diNav .di-nav-cta { padding-top:0; padding-bottom:0; }
.di-footer-newsletter-form button,.di-footer-nl-btn { min-width:48px; }
@media (max-width:575.98px) {
  :root { --di-control-h:44px; }
  .di-nav-mobile-toggle { width:44px; height:44px; }
  .di-hero-btn-primary,.di-hero-btn-secondary { width:100%; }
}

/* Tighter, deliberate section rhythm instead of oversized blank bands. */
.di-section,.di-home-categories,.di-home-destinations,.di-home-intelligence,
.di-home-split,.di-home-steps,.di-home-faq,.di-home-experience,.di-detail-page,
.di-legal-section,.di-about-section,.di-contact-section,.sec-pad {
  padding-top:36px !important; padding-bottom:36px !important;
}
.di-page-hero { padding-top:20px !important; padding-bottom:18px !important; }
.di-home-trust { padding-bottom:36px !important; }
.di-section-heading { margin-top:0 !important; margin-bottom:22px !important; }
.di-home-experience .di-experience-box { padding:36px 32px !important; }
.di-home-split .di-split-card { padding:30px 28px !important; }
.di-home-featured .di-empty-state { padding:42px 20px !important; }
.di-footer-top { padding-top:36px !important; padding-bottom:28px !important; }
.di-footer-bottom { padding-top:14px !important; padding-bottom:14px !important; }
.di-footer-stats-bar { padding:16px 0 !important; }
.di-footer-trust-bar { padding:12px 0 !important; }
@media (max-width:767.98px) {
  .di-section,.di-home-categories,.di-home-destinations,.di-home-intelligence,
  .di-home-split,.di-home-steps,.di-home-faq,.di-home-experience,.di-detail-page,
  .di-legal-section,.di-about-section,.di-contact-section,.sec-pad {
    padding-top:28px !important; padding-bottom:28px !important;
  }
  .di-home-experience .di-experience-box { padding:24px 18px !important; }
  .di-home-split .di-split-card { padding:24px 20px !important; }
}

/* Precision pass: fixed control heights and footer contrast */
:root { --di-control-h:48px; }
#diNav .di-nav-icon-btn,#diNav .di-nav-user-btn,#diNav .di-nav-login-btn,#diNav .di-nav-cta,
.di-hero-btn-primary,.di-hero-btn-secondary,.di-filter-apply-btn,.di-card-detail-btn,
.di-search-input,.di-search-btn-main,.di-main-search-btn button,.di-sort-select,.di-sort-bar select,
.di-sort-bar .nice-select,.di-results-toolbar .nice-select,.di-results-toolbar .short-menu button,
.di-filter-input,.di-filter-card .form-control,.di-filter-card .nice-select,.di-sidebar-v2 .di-filter-input,
.di-calc-input,.di-detail-tab-btn,.di-sidebar-action-btn,.di-sidebar-back-btn,
.di-footer-newsletter-form,.di-footer-newsletter-form input,.di-footer-newsletter-form button,
.di-footer-nl-input,.di-footer-nl-btn,.di-contact-form-card-v2 .di-filter-input,
.di-auth-card .form-control,.di-auth-card .btn-auth,.di-auth-submit-btn,
.di-search-glass .field-input,.di-search-glass .nice-select,.di-search-glass .form-control,
.di-search-glass .field-input input,.di-deal-pill,.di-hero-tab-btn {
  height:var(--di-control-h) !important;
  min-height:var(--di-control-h) !important;
  box-sizing:border-box !important;
}
.di-contact-form-card-v2 textarea.di-filter-input { height:auto !important; min-height:140px !important; }
.di-footer-stats-bar { background:#762638 !important; }
.di-footer-stats-bar .di-footer-stat,
.di-footer-stats-bar .di-footer-stat strong,
.di-footer-stats-bar .di-footer-stat span,
.di-footer-stats-bar .di-footer-stat > i { color:#fff !important; }
.di-footer-stats-bar .di-footer-stat span { color:rgba(255,255,255,.9) !important; }
.di-footer-stats-bar .di-footer-stat-divider { background:rgba(255,255,255,.38) !important; }
.di-footer-trust-bar,.di-footer-top,.di-footer-bottom { background:#f6f4f0 !important; }
.di-footer-trust-badge,.di-footer-trust-inner,.di-trust-badge { color:#403c38 !important; }
.di-footer-bottom,.di-footer-bottom .container,.di-footer-bottom .container p,
.di-footer-bottom .container p a,.di-footer-bottom .container .mb-0,
.di-footer-bottom .container .mb-0 a { color:#514c46 !important; }
.di-footer-bottom .container p a { color:#762638 !important; }
.di-footer-bottom .container p a:hover,.di-footer-bottom .container .mb-0 a:hover { color:#5e1d2d !important; }
.di-footer-newsletter-form-v2 label,.di-footer-newsletter-form-v2 label span,
.di-footer-newsletter-form-v2 label a { color:#514c46 !important; }
.di-footer-newsletter-form-v2 label a { text-decoration:underline; text-underline-offset:2px; }
.di-footer-newsletter-form-v2 label input[type="checkbox"] { width:16px; height:16px; min-height:16px; flex:0 0 16px; accent-color:#762638; }
.di-footer-newsletter-form-v2 > div img { height:48px !important; width:auto; object-fit:contain; border:1px solid #d9d4cc !important; background:#fff; }
.di-footer-logo img { filter:none !important; }


/* Extracted presentation rules from PHP templates. */
/* extracted from abonnement-bestaetigung.php */

.di-confirm-wrap { max-width:600px; margin:0 auto; }
.di-confirm-card { background:#fff; border:1px solid #eef2f7; border-radius:24px; padding:52px 40px; text-align:center; box-shadow:0 20px 60px rgba(15,23,42,.07); }
.di-confirm-icon { width:80px; height:80px; background:#f0fdf4; border-radius:50%; display:flex; align-items:center; justify-content:center; margin:0 auto 24px; }
.di-confirm-icon i { font-size:38px; color:#22c55e; }
.di-confirm-card h1 { font-size:28px; font-weight:900; color:#0f172a; margin:0 0 10px; }
.di-confirm-card p { color:#64748b; font-size:15px; margin:0 0 28px; }
.di-plan-summary { background:#f8fafc; border:1px solid #eef2f7; border-radius:14px; padding:20px 24px; text-align:left; margin-bottom:28px; }
.di-plan-summary .row-item { display:flex; justify-content:space-between; padding:8px 0; border-bottom:1px solid #f1f5f9; font-size:14px; }
.di-plan-summary .row-item:last-child { border:none; }
.di-plan-summary .row-item span:first-child { color:#64748b; font-weight:700; }
.di-plan-summary .row-item span:last-child { color:#0f172a; font-weight:800; }
.di-btn-group { display:flex; gap:12px; flex-wrap:wrap; justify-content:center; }
.di-cta-btn { padding:13px 28px; border-radius:12px; font-size:15px; font-weight:900; text-decoration:none; display:inline-block; }
.di-cta-primary { background:linear-gradient(135deg,#762638,#5e1d2d); color:#fff; }
.di-cta-outline { border:2px solid #762638; color:#762638; background:#fff; }

.di-css-6fe47583b2b8{color:#22c55e;}
.di-css-7623f0554520{flex:1;}
.di-css-397e433fc19a{color:#94a3b8;font-size:13px;margin-bottom:32px;}
.di-css-19e96a1c17ed{font-size:48px;color:#cbd5e1;margin-bottom:16px;}
.di-css-9d8a86559b3b{font-weight:900;color:#0f172a;}
.di-css-93e6231cbbf3{color:#64748b;}
/* extracted from fuer-agenturen.php */

/* ── Hero ── */
.ag-hero{background:linear-gradient(135deg,#0f172a 0%,#1e3a5f 60%,#762638 100%);color:#fff;padding:100px 0 80px;text-align:center;position:relative;overflow:hidden;}
.ag-hero::before{content:'';position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");}
.ag-hero-badge{display:inline-block;background:rgba(118,38,56,.2);border:1px solid rgba(118,38,56,.4);color:#762638;padding:6px 18px;border-radius:50px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:1px;margin-bottom:20px;}
.ag-hero h1{font-size:clamp(32px,5vw,58px);font-weight:900;line-height:1.1;margin:0 0 16px;}
.ag-hero h1 span{color:#762638;}
.ag-hero p{font-size:18px;color:rgba(255,255,255,.75);max-width:640px;margin:0 auto 36px;}
.ag-hero-cta{display:inline-flex;align-items:center;gap:10px;background:linear-gradient(135deg,#762638,#5e1d2d);color:#fff;text-decoration:none;padding:16px 36px;border-radius:50px;font-size:16px;font-weight:900;box-shadow:0 8px 30px rgba(118,38,56,.4);transition:transform .2s,box-shadow .2s;}
.ag-hero-cta:hover{transform:translateY(-2px);box-shadow:0 12px 40px rgba(118,38,56,.5);color:#fff;}
.ag-hero-sub{margin-top:14px;font-size:13px;color:rgba(255,255,255,.5);}

/* ── Stats bar ── */
.ag-stats{background:#fff;border-bottom:1px solid #f1f5f9;padding:28px 0;}
.ag-stats-grid{display:flex;justify-content:center;gap:60px;flex-wrap:wrap;}
.ag-stat{text-align:center;}
.ag-stat-num{font-size:32px;font-weight:900;color:#0f172a;}
.ag-stat-label{font-size:12px;color:#94a3b8;font-weight:700;text-transform:uppercase;letter-spacing:.5px;}

/* ── How it works ── */
.ag-steps{padding:80px 0;background:#f8fafc;}
.ag-section-label{font-size:12px;font-weight:900;color:#762638;text-transform:uppercase;letter-spacing:2px;margin-bottom:10px;text-align:center;}
.ag-section-title{font-size:clamp(24px,3.5vw,38px);font-weight:900;color:#0f172a;text-align:center;margin:0 0 50px;}
.ag-step-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px;max-width:960px;margin:0 auto;}
.ag-step{background:#fff;border-radius:20px;padding:32px 28px;text-align:center;border:1px solid #eef2f7;transition:box-shadow .2s;}
.ag-step:hover{box-shadow:0 20px 50px rgba(15,23,42,.08);}
.ag-step-num{width:56px;height:56px;background:linear-gradient(135deg,#762638,#5e1d2d);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:900;margin:0 auto 18px;}
.ag-step h3{font-size:16px;font-weight:900;color:#0f172a;margin:0 0 8px;}
.ag-step p{font-size:13px;color:#64748b;margin:0;line-height:1.6;}

/* ── Lead model ── */
.ag-lead{padding:80px 0;background:#fff;}
.ag-lead-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;max-width:1000px;margin:0 auto;}
@media(max-width:768px){.ag-lead-grid{grid-template-columns:1fr;}}
.ag-lead-visual{background:linear-gradient(135deg,#0f172a,#1e3a5f);border-radius:24px;padding:36px;color:#fff;}
.ag-lead-visual h3{font-size:18px;font-weight:900;margin:0 0 20px;color:#762638;}
.ag-lead-item{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.08);font-size:14px;}
.ag-lead-item:last-child{border:none;}
.ag-lead-item span:first-child{color:rgba(255,255,255,.7);}
.ag-lead-item span:last-child{font-weight:900;color:#fff;}
.ag-lead-highlight{background:rgba(118,38,56,.15);border:1px solid rgba(118,38,56,.3);border-radius:8px;padding:3px 10px;}
.ag-features{list-style:none;padding:0;margin:0;}
.ag-features li{display:flex;align-items:flex-start;gap:12px;margin-bottom:16px;font-size:15px;color:#374151;}
.ag-features li i{color:#22c55e;font-size:16px;margin-top:2px;flex-shrink:0;}

/* ── OpenImmo section ── */
.ag-openimmo{padding:80px 0;background:#f8fafc;}
.ag-oi-card{background:#fff;border-radius:24px;padding:40px;border:1px solid #eef2f7;max-width:860px;margin:0 auto;}
.ag-oi-methods{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:32px;}
@media(max-width:600px){.ag-oi-methods{grid-template-columns:1fr;}}
.ag-oi-method{background:#f8fafc;border-radius:16px;padding:24px;border:2px solid transparent;transition:border .2s;}
.ag-oi-method:hover{border-color:#762638;}
.ag-oi-method h4{font-size:15px;font-weight:900;color:#0f172a;margin:0 0 8px;}
.ag-oi-method p{font-size:13px;color:#64748b;margin:0;line-height:1.6;}
.ag-oi-method .ag-oi-icon{font-size:28px;margin-bottom:12px;display:block;}
code{background:#f1f5f9;padding:2px 8px;border-radius:6px;font-size:12px;color:#762638;}

/* ── CRM ── */
.ag-crm{padding:60px 0;background:#fff;}
.ag-crm-grid{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:24px;}
.ag-crm-tag{background:#f8fafc;border:1px solid #e2e8f0;border-radius:50px;padding:8px 20px;font-size:13px;font-weight:700;color:#475569;}

/* ── Pricing comparison ── */
.ag-compare{padding:80px 0;background:#f8fafc;}
.ag-compare-table{max-width:760px;margin:0 auto;background:#fff;border-radius:20px;overflow:hidden;border:1px solid #eef2f7;}
.ag-compare-table table{width:100%;border-collapse:collapse;}
.ag-compare-table th{padding:16px 20px;text-align:left;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.5px;color:#94a3b8;background:#f8fafc;border-bottom:2px solid #f1f5f9;}
.ag-compare-table td{padding:14px 20px;border-bottom:1px solid #f8fafc;font-size:14px;color:#374151;}
.ag-compare-table tr:last-child td{border:none;}
.ag-compare-table .ag-winner{font-weight:900;color:#22c55e;}
.ag-compare-table .ag-loser{color:#ef4444;}

/* ── Contact CTA ── */
.ag-cta-final{padding:80px 0;background:linear-gradient(135deg,#0f172a,#1e3a5f);text-align:center;color:#fff;}
.ag-cta-final h2{font-size:clamp(26px,4vw,42px);font-weight:900;margin:0 0 14px;}
.ag-cta-final p{font-size:16px;color:rgba(255,255,255,.7);margin:0 0 36px;}
.ag-cta-btns{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;}
.ag-btn-primary{background:linear-gradient(135deg,#762638,#5e1d2d);color:#fff;text-decoration:none;padding:16px 36px;border-radius:50px;font-weight:900;font-size:15px;transition:transform .2s;}
.ag-btn-primary:hover{transform:translateY(-2px);color:#fff;}
.ag-btn-outline{background:transparent;color:#fff;text-decoration:none;padding:16px 36px;border-radius:50px;font-weight:900;font-size:15px;border:2px solid rgba(255,255,255,.3);transition:border-color .2s;}
.ag-btn-outline:hover{border-color:#fff;color:#fff;}

.auto-container{max-width:1200px;margin:0 auto;padding:0 20px;}

/* Accessible restrained theme overrides */
.ag-hero { background: oklch(22% 0.012 18); padding: 66px 0 54px; }
.ag-hero::before { display: none; }
.ag-hero-badge { background: oklch(31% 0.09 20); border-color: oklch(46% 0.16 20); color: oklch(94% 0.04 20); }
.ag-hero h1 { color: #fff !important; max-width: 900px; margin-inline: auto; text-wrap: balance; }
.ag-hero p { color: oklch(91% 0.008 18); }
.ag-hero-cta,.ag-btn-primary { background: var(--di-primary); border-radius: 10px; box-shadow: none; }
.ag-hero-cta:hover,.ag-btn-primary:hover { background: oklch(48% 0.19 20); }
.ag-hero-sub { color: oklch(82% 0.008 18); }
.ag-stats,.ag-crm { background: #fff; }
.ag-stat-num { color: oklch(24% 0.012 18); }
.ag-stat-label { color: oklch(48% 0.01 18); }
.ag-steps,.ag-openimmo,.ag-compare { background: oklch(98% 0.004 18); }
.ag-section-label { color: var(--di-primary); }
.ag-section-title { color: oklch(22% 0.012 18); }
.ag-step,.ag-oi-card,.ag-compare-table { border-color: oklch(92% 0.006 18); border-radius: 14px; box-shadow: 0 2px 12px oklch(22% 0.012 18 / 5%); }
.ag-step-num { background: var(--di-primary); }
.ag-oi-method { background: oklch(98% 0.004 18); }
.ag-cta-final { background: oklch(22% 0.012 18); }
.ag-cta-final h2 { color: #fff; }
.ag-cta-final p { color: oklch(90% 0.008 18); }
.ag-btn-outline { border-radius: 10px; border-color: oklch(75% 0.008 18); }

.ag-hero,.ag-cta-final { background:#f3f2f0 !important; color:#171717 !important; }
.ag-hero h1,.ag-cta-final h2 { color:#171717 !important; }
.ag-hero p,.ag-cta-final p,.ag-hero-sub { color:#515151 !important; }
.ag-hero-badge { background:#f3ecde !important; color:#5e1d2d !important; border-color:#d9c89f !important; }
.ag-cta-final a:not(.ag-btn-primary) { color:#444 !important; }

/* Palette refinement: warm gold and burgundy */
.ag-hero-cta,.ag-btn-primary { background:#7b2638 !important; }
.ag-hero-cta:hover,.ag-btn-primary:hover { background:#632031 !important; }
.ag-section-label { color:#9a7536 !important; }
.ag-step-num { background:#9a7536 !important; }
.ag-hero-badge { color:#7b2638 !important; background:#f3ecde !important; border-color:#ded2ba !important; }
.ag-lead-visual,.ag-cta-final { background:#4a4541 !important; }

.ag-hero { background:#4a4541 !important; }
.ag-hero h1,.ag-hero p,.ag-hero-sub { color:#fff !important; }
.ag-cta-final { background:#f3f2f0 !important; }
.ag-cta-final h2 { color:#34312f !important; }
.ag-cta-final p,.ag-cta-final > .auto-container > div:last-child { color:#555 !important; }
.ag-section-label { color:#9a7536 !important; }
.ag-step-num { background:#9a7536 !important; }
.ag-lead-visual { background:#4a4541 !important; }

.di-css-9a69f6b4365f{max-width:900px;margin:0 auto;padding:30px;text-align:center;}
.di-css-533e0c32f27e{font-size:15px;color:#475569;text-align:center;max-width:620px;margin:0 auto;}
.di-css-dac4fe6c9b25{text-align:center;}
.di-css-c822565d6e95{margin-top:20px;font-size:13px;color:#94a3b8;}
.di-css-e2e134b111b5{max-width:760px;margin:0 auto;padding:28px;text-align:center;}
.di-css-d5ab5fdf0cd2{margin-top:20px;font-size:13px;color:rgba(255,255,255,.4);}
/* extracted from immobilie-aufgeben.php */

.di-submit-wrap { max-width:860px; margin:0 auto; }
.di-submit-card { background:#fff; border:1px solid #eef2f7; border-radius:24px; padding:40px; box-shadow:0 20px 60px rgba(15,23,42,.07); margin-bottom:28px; }
.di-submit-card h3 { font-size:17px; font-weight:900; color:#0f172a; margin:0 0 22px; padding-bottom:12px; border-bottom:2px solid #f1f5f9; }
.di-submit-card h3 i { color:#762638; margin-right:8px; }
.di-field { margin-bottom:18px; }
.di-field label { display:block; font-size:13px; font-weight:800; color:#374151; margin-bottom:6px; }
.di-field label span { color:#762638; }
.di-field input, .di-field select, .di-field textarea {
    width:100%; padding:11px 14px; border:1.5px solid #e2e8f0; border-radius:10px;
    font-size:14px; color:#0f172a; background:#fff; transition:border .15s;
    font-family:inherit;
}
.di-field input:focus, .di-field select:focus, .di-field textarea:focus {
    outline:none; border-color:#762638; box-shadow:0 0 0 3px rgba(118,38,56,.12);
}
.di-field textarea { resize:vertical; min-height:110px; }
.di-deal-tabs { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:22px; }
.di-deal-tab { padding:8px 18px; border-radius:8px; border:2px solid #e2e8f0; background:#fff;
    font-size:13px; font-weight:800; color:#64748b; cursor:pointer; transition:all .15s; }
.di-deal-tab.active { border-color:#762638; background:#762638; color:#fff; }
.di-deal-section { display:none; }
.di-img-preview { display:flex; flex-wrap:wrap; gap:10px; margin-top:12px; }
.di-img-card { position:relative; width:110px; }
.di-img-card img { width:110px; height:80px; object-fit:cover; border-radius:10px; border:1.5px solid #e2e8f0; }
.di-img-del { position:absolute; top:-6px; right:-6px; width:20px; height:20px; background:#762638; border-radius:50%;
    display:flex; align-items:center; justify-content:center; cursor:pointer; color:#fff; font-size:10px; }
.di-img-card input { margin-top:4px; width:100%; font-size:10px; padding:3px 6px; border:1px solid #e2e8f0; border-radius:6px; }
.di-submit-btn { background:linear-gradient(135deg,#762638,#5e1d2d); color:#fff; border:none; padding:14px 40px;
    border-radius:12px; font-size:16px; font-weight:900; cursor:pointer; width:100%; transition:opacity .15s; }
.di-submit-btn:hover { opacity:.9; }
.di-success-box { text-align:center; padding:60px 40px; }
.di-success-box i { font-size:60px; color:#22c55e; margin-bottom:20px; display:block; }
.di-success-box h2 { font-size:28px; font-weight:900; color:#0f172a; margin-bottom:10px; }
.di-success-box p { color:#64748b; font-size:16px; margin-bottom:28px; }
@media(max-width:640px){ .di-submit-card { padding:22px; } }

.di-css-6eaf1c208f84{color:#762638;font-size:.7em;}
.di-css-93daa677b36f{display:inline-block;width:auto;background:linear-gradient(135deg,#0f172a,#1e293b);text-decoration:none;}
.di-css-eabc464ece3d{border-radius:12px;}
.di-css-dacc864d077f{color:#64748b;font-size:13px;margin-bottom:14px;}
.di-css-c8be1ccba60b{display:none;}
.di-css-5952d3f98db8{padding:10px 22px;border-radius:10px;border:2px dashed #762638;background:#fff8f9;color:#762638;font-weight:800;font-size:13px;cursor:pointer;}
.di-css-37df5d8b74dd{border-radius:10px;font-size:13px;}
.di-css-a82c58dfa07a{display:flex;align-items:flex-start;gap:10px;margin-bottom:22px;}
.di-css-3af6cae6416c{width:18px;height:18px;margin-top:2px;flex-shrink:0;}
.di-css-6dbaaf96b9eb{font-size:13px;color:#475569;cursor:pointer;}
.di-css-c1d05ad8598c{color:#762638;font-weight:800;}
.di-css-dc5496d89719{margin:20px 0;}
/* extracted from immobilie-melden.php */

.di-report-wrap { max-width:560px; margin:0 auto; }
.di-report-card { background:#fff; border:1px solid #eef2f7; border-radius:24px; padding:40px; box-shadow:0 20px 60px rgba(15,23,42,.07); }
.di-report-card h3 { font-size:18px; font-weight:900; color:#0f172a; margin:0 0 6px; }
.di-report-card .di-listing-ref { background:#f8fafc; border:1px solid #e2e8f0; border-radius:10px; padding:12px 16px; margin-bottom:24px; font-size:14px; color:#475569; }
.di-report-card .di-listing-ref strong { color:#0f172a; display:block; font-size:15px; }
.di-field { margin-bottom:16px; }
.di-field label { display:block; font-size:13px; font-weight:800; color:#374151; margin-bottom:6px; }
.di-field label span { color:#762638; }
.di-field input, .di-field select, .di-field textarea {
    width:100%; padding:10px 14px; border:1.5px solid #e2e8f0; border-radius:10px;
    font-size:14px; color:#0f172a; background:#fff; transition:border .15s; font-family:inherit;
}
.di-field input:focus, .di-field select:focus, .di-field textarea:focus { outline:none; border-color:#762638; box-shadow:0 0 0 3px rgba(118,38,56,.12); }
.di-field textarea { min-height:100px; resize:vertical; }
.di-report-btn { background:linear-gradient(135deg,#762638,#5e1d2d); color:#fff; border:none; padding:13px 30px; border-radius:12px; font-size:15px; font-weight:900; cursor:pointer; width:100%; }
.di-report-btn:hover { opacity:.9; }
.di-success-box { text-align:center; padding:20px 0; }
.di-success-box i { font-size:48px; color:#22c55e; display:block; margin-bottom:16px; }
@media(max-width:640px){ .di-report-card { padding:22px; } }

.di-css-3712aa1c918a{border-radius:10px;}
.di-css-0f62977319d3{color:#64748b;margin:10px 0 24px;}
.di-css-fc454503b8b0{color:#64748b;font-size:13px;margin-bottom:18px;}
.di-css-cdc7c9a50281{font-size:11px;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px;}
.di-css-38e94694f5ca{display:flex;flex-wrap:wrap;gap:18px;align-items:center;margin-bottom:16px;}
.di-css-42017c30c37d{font-size:36px;font-weight:900;color:#0f172a;line-height:1;}
.di-css-7bac2dae3f1a{font-size:12px;color:#64748b;}
.di-css-c2fb58dd4885{display:grid;grid-template-columns:repeat(2,minmax(140px,1fr));gap:4px 18px;font-size:13px;color:#475569;margin-left:auto;}
.di-css-6a8cb9895ac8{border-top:1px solid #f1f5f9;padding:14px 0;}
.di-css-15e1ee097cd4{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;}
.di-css-13daa0015851{color:#0f172a;}
.di-css-fc725cfdc386{color:#94a3b8;margin-left:6px;}
.di-css-8be3fb7d6bf5{margin:8px 0 0;color:#475569;}
.di-css-60bf7f1ac3cc{margin-top:8px;background:#f8fafc;border-left:3px solid #762638;padding:8px 12px;font-size:13px;color:#475569;}
.di-css-a73fd8a8f04f{padding:0;overflow:hidden;}
.di-css-c614de27744e{padding:16px 20px;border-bottom:1px solid #f1f5f9;font-weight:700;color:#475569;font-size:14px;}
.di-css-e9109faa2f73{color:#762638;margin-right:8px;}
.di-css-4edeb9e71d86{text-decoration:none;}
.di-css-453e7b13e9c7{justify-content:center;color:#92400e;}
.di-css-f7ec1681b048{color:#762638;}
.di-css-40671d7542b4{font-size:12px;font-weight:700;color:#64748b;}
.di-css-014abc2bec4d{display:flex;align-items:flex-end;}
.di-css-113b85b04009{font-size:15px;color:#0f172a;}
.di-css-9d76ff4a89d2{display:flex;gap:8px;align-items:flex-start;font-size:12px;}
.di-css-b7ecdfaf5aa3{margin-top:3px;}
.di-css-78cead6503f9{display:flex;gap:8px;align-items:center;}
.di-css-6163e4a95dd5{display:inline-flex;}
.di-css-84302aa2ab6f{display:inline-flex;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);}
.di-css-d618cfc23dc1{font-size:13px;font-weight:700;color:var(--di-primary);text-decoration:none;}
.di-css-1a76ba37f3bd{display:flex; gap:10px; align-items:flex-start;}
.di-css-7515ace9a25a{min-height:260px;display:grid;place-content:center;text-align:center;background:#f1f4f7;padding:24px;}
.di-css-5dc3592686e4{height:auto; max-height:none;}
.di-css-2e9c9db5d032{margin:0; font-size:13px; line-height:1.4;}
/* extracted from lead-anfrage.php */

.di-lead-wrap{max-width:560px;margin:0 auto;}
.di-lead-card{background:#fff;border:1px solid #eef2f7;border-radius:24px;padding:40px;box-shadow:0 20px 60px rgba(15,23,42,.07);}
.di-lead-card h2{font-size:20px;font-weight:900;color:#0f172a;margin:0 0 6px;}
.di-lead-field{margin-bottom:16px;}
.di-lead-field label{display:block;font-size:13px;font-weight:800;color:#374151;margin-bottom:5px;}
.di-lead-field input,.di-lead-field textarea{width:100%;padding:10px 14px;border:1.5px solid #e2e8f0;border-radius:10px;font-size:14px;font-family:inherit;transition:border .15s;}
.di-lead-field input:focus,.di-lead-field textarea:focus{outline:none;border-color:#762638;box-shadow:0 0 0 3px rgba(118,38,56,.12);}
.di-lead-field textarea{min-height:100px;resize:vertical;}
.di-lead-btn{background:linear-gradient(135deg,#762638,#5e1d2d);color:#fff;border:none;padding:13px;border-radius:12px;font-size:15px;font-weight:900;cursor:pointer;width:100%;}
.di-listing-ref{background:#f8fafc;border:1px solid #eef2f7;border-radius:10px;padding:12px 16px;margin-bottom:20px;font-size:13px;color:#475569;}
.di-listing-ref strong{display:block;color:#0f172a;font-size:15px;margin-bottom:2px;}

.di-css-0b139ac77b03{font-size:52px;color:#22c55e;display:block;margin-bottom:16px;}
.di-css-98dccbcf91de{color:#64748b;font-size:14px;margin:8px 0 24px;}
.di-css-0f02ac004d53{color:#64748b;font-size:13px;margin:4px 0 18px;}
.di-css-5cee48990acb{display:flex;align-items:flex-start;gap:8px;margin:14px 0 18px;}
.di-css-07375fb77dad{width:16px;height:16px;margin-top:2px;flex-shrink:0;}
.di-css-5f372fbc1e23{font-size:12px;color:#64748b;cursor:pointer;}
.di-css-79fe89a48869{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;flex-wrap:wrap;gap:12px;}
.di-css-19eab59ec7d3{font-size:22px;font-weight:900;color:#0f172a;margin:0;}
.di-css-8a20f05f3842{font-size:13px;color:#64748b;margin-bottom:16px;}
.di-css-a810d9b424b2{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:16px;font-size:13px;color:#475569;}
.di-css-9f49132c9a45{display:block;margin-bottom:8px;color:#0f172a;}
.di-css-1d77e476f8c0{font-size:12px;word-break:break-all;}
.di-css-f27a7bdfe7c0{margin-top:8px;margin-bottom:0;}
.di-css-ed6cf22b7433{font-weight:900;color:#762638;}
.di-css-e71ae94b5544{font-size:12px;}
.di-css-7b027640c0ee{color:#22c55e;font-weight:800;}
.di-css-a63b17af4dcd{color:#f59e0b;font-weight:800;}
.di-css-460b73c33a95{color:#ef4444;font-weight:800;}
.di-css-4b1883c8a47c{font-size:11px;color:#94a3b8;}
.di-css-e2b50d30b946{color:#94a3b8;font-size:13px;}
/* extracted from preise.php */

:root { --di-primary:#762638; }
/* ---- Hero ---- */
.di-pricing-hero { text-align:center; padding:60px 0 20px; }
.di-pricing-hero h1 { font-size:clamp(28px,4vw,46px); font-weight:900; color:#0f172a; margin:0 0 12px; }
.di-pricing-hero p { font-size:17px; color:#64748b; max-width:540px; margin:0 auto 28px; }
/* ---- Period toggle ---- */
.di-period-toggle { display:inline-flex; background:#f1f5f9; border-radius:12px; padding:4px; gap:4px; }
.di-period-btn { padding:8px 22px; border-radius:9px; border:none; background:transparent;
    font-size:14px; font-weight:800; color:#64748b; cursor:pointer; transition:all .15s; }
.di-period-btn.active { background:#fff; color:#0f172a; box-shadow:0 2px 8px rgba(15,23,42,.10); }
.di-save-badge { background:#22c55e; color:#fff; font-size:10px; font-weight:900; padding:2px 7px; border-radius:20px; margin-left:6px; vertical-align:middle; }
/* ---- Grid ---- */
.di-plans-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(270px,1fr)); gap:22px; margin-top:40px; }
/* ---- Plan Card ---- */
.di-plan-card { background:#fff; border:2px solid #eef2f7; border-radius:22px; padding:32px 28px; position:relative; transition:all .2s; display:flex; flex-direction:column; }
.di-plan-card:hover { box-shadow:0 20px 50px rgba(15,23,42,.09); transform:translateY(-3px); }
.di-plan-card.popular { border-color:var(--di-primary); box-shadow:0 20px 50px rgba(118,38,56,.12); }
.di-plan-badge { position:absolute; top:-12px; left:50%; transform:translateX(-50%);
    background:var(--di-primary); color:#fff; font-size:11px; font-weight:900;
    padding:4px 14px; border-radius:20px; white-space:nowrap; }
.di-plan-icon { width:48px; height:48px; border-radius:14px; display:flex; align-items:center; justify-content:center;
    font-size:20px; margin-bottom:16px; }
.di-plan-name { font-size:20px; font-weight:900; color:#0f172a; margin:0 0 4px; }
.di-plan-desc { font-size:13px; color:#64748b; margin:0 0 20px; }
.di-plan-price { margin-bottom:20px; }
.di-plan-price .amount { font-size:38px; font-weight:900; color:#0f172a; }
.di-plan-price .cent { font-size:20px; font-weight:900; vertical-align:super; }
.di-plan-price .period { font-size:13px; color:#94a3b8; font-weight:700; }
.di-plan-price .yearly-note { display:block; font-size:12px; color:#22c55e; font-weight:800; margin-top:2px; }
.di-plan-features { list-style:none; padding:0; margin:0 0 24px; flex:1; }
.di-plan-features li { padding:7px 0; font-size:13px; color:#475569; border-bottom:1px solid #f8fafc; display:flex; align-items:center; gap:8px; }
.di-plan-features li:last-child { border:none; }
.di-plan-features li i.ok { color:#22c55e; }
.di-plan-features li i.no { color:#cbd5e1; }
.di-plan-btn { display:block; text-align:center; padding:13px; border-radius:12px; font-size:15px; font-weight:900;
    border:2px solid var(--di-primary); color:var(--di-primary); background:#fff; cursor:pointer; text-decoration:none; transition:all .15s; }
.di-plan-btn:hover, .di-plan-btn.primary { background:var(--di-primary); color:#fff; }
.di-plan-btn.current { background:#f1f5f9; border-color:#e2e8f0; color:#64748b; cursor:default; }
/* ---- Section heading ---- */
.di-section-heading { text-align:center; margin:60px 0 8px; }
.di-section-heading h2 { font-size:28px; font-weight:900; color:#0f172a; }
.di-section-heading p { color:#64748b; font-size:15px; }
/* ---- Boost cards ---- */
.di-boost-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:18px; margin-top:28px; }
.di-boost-card { background:#fff; border:2px solid #eef2f7; border-radius:18px; padding:24px 20px; text-align:center; cursor:pointer; transition:all .15s; }
.di-boost-card:hover { border-color:var(--di-primary); transform:translateY(-2px); box-shadow:0 12px 30px rgba(118,38,56,.09); }
.di-boost-card i { font-size:28px; margin-bottom:12px; display:block; }
.di-boost-card h4 { font-size:15px; font-weight:900; color:#0f172a; margin:0 0 4px; }
.di-boost-card .price { font-size:22px; font-weight:900; color:var(--di-primary); }
.di-boost-card p { font-size:12px; color:#94a3b8; margin:4px 0 16px; }
/* ---- FAQ ---- */
.di-faq-list { max-width:700px; margin:28px auto 0; }
.di-faq-item { border-bottom:1px solid #eef2f7; padding:18px 0; }
.di-faq-item summary { font-size:15px; font-weight:800; color:#0f172a; cursor:pointer; list-style:none; display:flex; justify-content:space-between; }
.di-faq-item summary::-webkit-details-marker { display:none; }
.di-faq-item summary::after { content:'+'; font-size:20px; color:var(--di-primary); }
details[open] .di-faq-item summary::after { content:'−'; }
.di-faq-item p { color:#64748b; font-size:14px; margin:10px 0 0; line-height:1.7; }
/* ---- Compare table ---- */
.di-compare { width:100%; border-collapse:collapse; margin-top:28px; font-size:14px; }
.di-compare th { background:#0f172a; color:#fff; padding:14px 16px; font-weight:800; text-align:left; }
.di-compare th:first-child { border-radius:12px 0 0 0; }
.di-compare th:last-child { border-radius:0 12px 0 0; }
.di-compare td { padding:12px 16px; border-bottom:1px solid #f1f5f9; color:#475569; }
.di-compare tr:hover td { background:#f8fafc; }
.di-compare td:first-child { font-weight:700; color:#0f172a; }
.di-compare .yes { color:#22c55e; font-weight:900; }
.di-compare .no  { color:#cbd5e1; }
@media(max-width:640px){ .di-plan-card{padding:22px 18px;} .di-plans-grid{grid-template-columns:1fr;} }

.di-css-dc8673f93be8{display:block;color:#64748b;}
.di-css-00ca6230dca0{margin-top:72px;}
.di-css-d65e02d49944{color:#3b82f6;}
.di-css-cfc294ffc20f{color:#f59e0b;}
.di-css-e874faf5d483{color:#8b5cf6;}
.di-css-b4d3f106df5a{overflow-x:auto;margin-top:20px;}
.di-css-09e58a49bc54{background:linear-gradient(135deg,#0f172a,#1e293b);border-radius:24px;padding:48px;text-align:center;margin-top:64px;}
.di-css-f8c5c2ce7c83{color:#fff;font-size:28px;font-weight:900;margin:0 0 10px;}
.di-css-3229ceffe078{color:rgba(255,255,255,.65);font-size:15px;margin:0 0 28px;}
.di-css-bb5e3884d860{background:linear-gradient(135deg,#762638,#5e1d2d);color:#fff;padding:14px 36px;border-radius:12px;font-size:16px;font-weight:900;text-decoration:none;display:inline-block;}
.di-css-c545301d4bc1{display:none;position:fixed;inset:0;background:rgba(15,23,42,.6);z-index:9999;align-items:center;justify-content:center;}
.di-css-125ae3dec3bd{background:#fff;border-radius:20px;padding:36px;max-width:440px;width:90%;position:relative;}
.di-css-899aa125bfb4{position:absolute;top:14px;right:16px;background:none;border:none;font-size:20px;cursor:pointer;color:#94a3b8;}
.di-css-42d073123bb7{font-size:20px;font-weight:900;margin:0 0 10px;}
.di-css-d14a95d7c34b{color:#64748b;font-size:14px;margin:0 0 20px;}
.di-css-df3ea45e65ef{font-size:13px;font-weight:800;color:#374151;display:block;margin-bottom:6px;}
.di-css-7349add5ddd5{width:100%;padding:10px 14px;border:1.5px solid #e2e8f0;border-radius:10px;font-size:14px;}
.di-css-04df4597eea0{background:linear-gradient(135deg,#762638,#5e1d2d);color:#fff;border:none;padding:13px;border-radius:12px;font-size:15px;font-weight:900;cursor:pointer;width:100%;margin-top:8px;}
.di-css-99d7ac1f304e{display:block;text-align:center;background:linear-gradient(135deg,#762638,#5e1d2d);color:#fff;padding:13px;border-radius:12px;font-size:15px;font-weight:900;text-decoration:none;margin-top:8px;}
.di-css-10d925902700{color:#762638;font-size:13px;margin-top:10px;display:none;}
.di-css-3d6e4db5cbcb{font-family: Arial, sans-serif;}
.di-css-54a69c7d543c{color: #0f172a;}
.di-css-1ca1d5cdd2b6{border: 1px solid #e5e7eb; border-radius: 8px; padding: 16px; margin-bottom: 12px;}
.di-css-ee3d7719a8ac{margin: 0 0 8px 0;}
.di-css-52be5d925a73{color: #762638; text-decoration: none;}
.di-css-b6c0800065b4{margin: 4px 0; color: #6b7280;}
.di-css-83fd437c6e1a{margin: 4px 0; font-size: 0.85rem; color: #9ca3af;}
.di-css-5fa693f3d454{margin-top: 20px;}
.di-css-dafb12a3f7bf{background: #762638; color: white; padding: 10px 20px; text-decoration: none; border-radius: 6px;}
.di-css-bfaf4c6bafed{font-size: 0.8rem; color: #9ca3af; margin-top: 30px;}
.di-css-628f4163cceb{max-width:720px;padding:72px 24px;}
.di-css-9d0e38ca1af3{background-image: url(assets/images/shape/city-bg.png);}
.di-css-4cfd81ddd877{display:flex;gap:6px;margin-bottom:8px;}
.di-css-b23fd67e6064{display:flex;gap:8px;align-items:flex-start;font-size:12px;margin:0 0 8px;color:rgba(255,255,255,.8);}
.di-css-babd7118ddbf{display:flex;gap:6px;align-items:center;}
.di-css-603db022b4c3{margin-left:auto;color:#94a3b8;font-weight:600;font-size:11px;}
.di-css-f4fd82bd30a7{display:flex;justify-content:space-between;gap:10px;font-size:12px;color:#64748b;}
.di-css-8c631a0f85fa{margin-right:6px;color:#10b981;font-weight:700;}
.di-css-e48b05836ae4{font-size:11px;}
.di-css-9e97c875cac3{display:none;font-size:18px;font-weight:900;color:var(--di-primary);}
.di-css-0c8a27e10396{font-size:10px;}
.di-css-667cdd0fc6fa{color:#9a7536;font-size:12px;}
.di-css-e63f1e231e40{font-size:15px;}
.di-css-84f6ffed20b3{font-size:11px;font-weight:800;margin-left:4px;}
.di-css-cbb0e3c92ed5{font-weight:900;font-size:12px;min-width:28px;text-align:center;display:inline-block;}
.di-css-b450225efdf6{min-width:200px;}
.di-css-20db405c8d89{border-top:1px solid #f1f5f9;margin:6px 0;}
.di-css-9dd1207e5849{color:#ef4444;}
.di-css-766e77f2d4b6{font-size:16px;font-weight:900;color:var(--di-primary);}
.di-css-72928ca32507{color:#9a7536;}
.di-css-4152f3f93958{color:#6366f1;}

/* Card image labels use separate safe zones; demo/type/freshness/actions never stack on top of each other. */
.di-card-demo .di-demo-badge { top:12px; left:12px; right:auto; max-width:calc(100% - 72px); }
.di-card-demo .di-card-badge { top:48px !important; left:12px !important; right:auto !important; max-width:calc(100% - 24px); }
.di-card-demo .di-card-fresh-badge { top:12px !important; right:12px !important; }
.di-card-demo .di-card-actions { top:48px !important; right:12px !important; }
.di-card-demo .di-card-action-btn { width:34px; height:34px; }
.di-card-v2 .di-badge-primary,.di-card-v2 .di-badge-demo { background:#762638 !important; color:#fff !important; }
.di-card-v2 .di-badge-gold { background:#d9c89f !important; color:#302d2a !important; }
.di-card-v2 .di-badge-neutral { background:#6f675d !important; color:#fff !important; }
.di-card-views { margin-left:auto; color:#777; font-size:11px; font-weight:600; }
.di-card-date-row { display:flex; flex-wrap:wrap; justify-content:space-between; gap:4px 10px; font-size:12px; color:#625d57; }
.di-recent-label { margin-right:6px; color:#8b6c38; font-weight:700; }
.di-card-arrow { font-size:11px; }
.di-footer-form-status { font-size:13px; padding:8px 10px; border-radius:4px; margin-bottom:10px; }
.di-footer-form-status.is-error { background:#f3e8e8; color:#762638; }
.di-footer-form-status.is-success { background:#e9eee7; color:#445b3c; }
.di-footer-nl-row,.di-footer-nl-captcha-row { display:flex; gap:6px; align-items:center; margin-bottom:8px; }
.di-footer-nl-row .di-nl-email,.di-footer-nl-captcha-row .di-nl-captcha-input { flex:1; min-width:0; }
.di-footer-nl-consent { display:flex; gap:8px; align-items:flex-start; font-size:12px; margin:0 0 8px; color:#514c46; }
.di-footer-nl-checkbox { margin-top:3px; }
.di-footer-nl-captcha { height:48px; width:auto; border-radius:4px; border:1px solid #d9d4cc; flex-shrink:0; background:#fff; }
.di-nav-fallback-title { display:none; font-size:18px; font-weight:900; color:#762638; }
.di-nav-logo-fallback { height:36px; width:auto; }
.di-nav-caret { font-size:10px; }
.di-nav-accent-icon { color:#9a7536; font-size:12px; }
.di-nav-agency-icon { font-size:11px; }
.di-flag-current { width:20px; height:14px; border-radius:2px; vertical-align:middle; }
.di-flag-option { width:22px; height:15px; border-radius:2px; }
.di-nav-globe { font-size:15px; }
.di-nav-lang-label { font-size:11px; font-weight:800; margin-left:4px; }
.di-nav-lang-code { font-weight:900; font-size:12px; min-width:28px; text-align:center; display:inline-block; }
.di-nav-user-menu { min-width:200px; }
.di-nav-separator { border-top:1px solid #e5e0d7; margin:6px 0; }
.di-nav-logout { color:#762638 !important; }
.di-nav-mobile-logo { height:36px; width:auto; }
.di-hero-tab-pane.is-hidden { display:none !important; }
.di-plan-btn-spaced { margin-top:12px; }
.di-plan-icon-free,.di-plan-icon-agency_s { background:#f3ecde; color:#8b6c38; }
.di-plan-icon-starter,.di-plan-icon-agency_m { background:#eeeae3; color:#6f675d; }
.di-plan-icon-pro,.di-plan-icon-agency_l { background:#e9dfc9; color:#762638; }
.di-plan-icon-agency_s { background:#f3ecde; color:#8b6c38; }
.di-boost-card.popular { border-color:#762638 !important; }
.di-import-alert { border-radius:4px; }
.di-import-filename { font-size:12px; max-width:140px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.di-import-status { display:inline-flex; align-items:center; padding:3px 9px; border-radius:4px; color:#302d2a; background:#e9e6df; font-size:11px; font-weight:800; }
.di-import-status-done,.di-import-status-complete { background:#e9eee7; color:#445b3c; }
.di-import-status-error,.di-import-status-failed { background:#f3e8e8; color:#762638; }
.di-import-status-pending,.di-import-status-processing { background:#f3ecde; color:#5e4a24; }
.di-listing-captcha { display:block; height:48px; border:1px solid #e2e8f0; border-radius:4px; margin-bottom:8px; }
.di-form-captcha { height:48px; border-radius:4px; border:1px solid #d9d4cc; flex-shrink:0; background:#fff; }
.di-review-verified { color:#8b6c38; font-size:12px; }
.di-review-report { color:#777; margin-left:8px; font-size:12px; }
.di-message-textarea { height:auto !important; min-height:88px; padding:12px 13px; }
.di-detail-captcha { height:40px; border-radius:4px; border:1px solid #d9d4cc; }
.di-sidebar-message-btn { background:#302d2a !important; color:#fff !important; margin-bottom:10px; }
.di-back-listing-link { color:#762638; font-weight:800; font-size:14px; }
.di-full-width { width:100%; }
.di-auth-captcha { height:48px; border-radius:4px; }
.di-contact-captcha-input { margin:0; }
.ag-contact-email { color:#625d57; }

/* Never place card actions on top of freshness labels. */
.di-card-v2 .di-card-actions { top:52px !important; right:12px !important; z-index:5; }
.di-card-v2 .di-card-fresh-badge { top:12px !important; right:12px !important; z-index:4; }
.di-card-demo .di-card-actions { top:52px !important; }
.di-card-demo .di-card-fresh-badge { top:12px !important; }

/* 2026-09 visual refinement: nav menus, contact layout, About values and standard typography */
:root { --di-font-ui: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif; }
html,body,body p,body a,body button,body input,body select,body textarea,body label,body li,body span,
body .di-nav-link,body .di-nav-dd-item,body .di-card-v2,body .di-filter-input {
  font-family:var(--di-font-ui) !important;
  font-optical-sizing:auto;
}
h1,h2,h3,h4,h5,h6,.di-hero-title,.di-section-heading h2,.di-page-hero-title,
.di-about-h2,.di-contact-form-card-v2 h3,.di-detail-h1,.di-detail-hero-v2 h1 {
  font-family:var(--di-font-ui) !important;
  font-weight:700 !important;
  letter-spacing:-.015em;
  text-wrap:balance;
}
.di-dropdown {
  width:340px;
  min-width:340px;
  max-width:min(380px,calc(100vw - 24px));
  padding:8px;
}
.di-dropdown-right { left:auto; right:0; }
.di-nav-dd-item { align-items:flex-start; gap:12px; min-width:0; padding:12px; }
.di-nav-dd-item > i:first-child { flex:0 0 36px; width:36px; height:36px; }
.di-nav-dd-item > div { flex:1 1 auto; min-width:0; }
.di-nav-dd-item > div strong { font-size:14px; line-height:1.35; overflow-wrap:normal; word-break:normal; }
.di-nav-dd-item > div span { display:block; max-width:100%; margin-top:3px; font-size:12px; line-height:1.45; color:#625d57; overflow-wrap:break-word; word-break:normal; }
.di-about-value-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; width:100%; margin-left:0; margin-right:0; }
.di-about-value-grid > [class*="col-"] { width:auto; max-width:none; min-width:0; padding-left:0; padding-right:0; }
.di-about-value-card,.di-value-card { width:100%; min-width:0; height:100%; padding:26px 22px; overflow-wrap:anywhere; }
.di-value-card h4 { font-size:18px; line-height:1.3; }
.di-value-card p { line-height:1.65; }
@media (max-width:991.98px) { .di-about-value-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; } }
@media (max-width:575.98px) { .di-about-value-grid { grid-template-columns:minmax(0,1fr); gap:12px; } }
/* Contact: three aligned info cards, map prompt/button centered as one intentional panel. */
.di-contact-info-card-v2 { height:100%; min-height:150px; align-items:flex-start; }
.di-contact-top-card { display:flex; }
.di-contact-top-card .di-contact-info-card-v2 { width:100%; min-height:100%; }
.di-contact-info-card-v2 > div:last-child { min-width:0; }
.di-contact-info-card-v2 a { overflow-wrap:anywhere; }
.di-contact-map-v2 { height:auto; min-height:0; }
.di-contact-map-v2 > .di-css-7515ace9a25a {
  min-height:220px; display:flex; flex-direction:column; justify-content:center; align-items:center;
  gap:16px; padding:28px; text-align:center; background:#f3f1ed;
}
.di-contact-map-v2 > div p { max-width:42ch; margin:0 auto; text-align:center; line-height:1.55; }
.di-contact-map-link {
  min-height:48px; display:inline-flex; align-items:center; justify-content:center; gap:9px;
  padding:0 22px; background:#762638; border:1px solid #762638; border-radius:4px;
  color:#fff !important; font:600 14px/1 var(--di-font-ui); text-align:center; text-decoration:none;
  box-shadow:none; transition:background .15s,border-color .15s;
}
.di-contact-map-link:hover,.di-contact-map-link:focus-visible { background:#5e1d2d; border-color:#5e1d2d; color:#fff !important; }
.di-contact-map-link:focus-visible { outline:3px solid #9a7536; outline-offset:3px; }
@media (max-width:991.98px) { .di-contact-info-card-v2 { min-height:136px; } }

/* Screenshot refinement: homepage search guidance, image balance, pricing alignment, section-heading rhythm */
.di-hero-wrap > .container > .row:first-child { align-items:stretch !important; }
.di-hero-wrap .di-hero-content { display:flex; flex-direction:column; justify-content:center; }
.di-hero-right { display:flex; align-items:stretch; justify-content:center; min-height:0; }
.di-hero-img-wrap { width:100%; height:100%; min-height:520px; display:flex; }
.di-hero-img-wrap img { width:100%; height:100%; min-height:520px; object-fit:cover; }
.di-hero-search-wrap { margin-top:30px; }
.di-search-tab-help { color:#625d57; font-size:13px; line-height:1.5; margin:0 0 14px; }
.di-plan-price { width:100%; display:flex; flex-wrap:wrap; justify-content:center; align-items:baseline; column-gap:5px; text-align:center; min-height:76px; }
.di-plan-price .amount { font-size:38px; font-weight:800; color:#302d2a; font-variant-numeric:tabular-nums; }
.di-plan-price .cent { font-size:20px; color:#762638; }
.di-plan-price .period,.di-plan-price .yearly-note { flex:0 0 100%; display:block; text-align:center; margin-top:5px; line-height:1.4; }
.di-plan-price .cent { flex:0 0 auto; vertical-align:baseline; align-self:flex-start; margin-top:6px; }
.di-plan-price .amount { flex:0 0 auto; }
.di-plan-card .di-plan-name,.di-plan-card .di-plan-desc { text-align:center; }
.di-pricing-hero,.di-pricing-hero h1,.di-pricing-hero p,.di-pricing-hero .di-section-heading,
.di-plan-section-heading,.di-section-heading.di-css-00ca6230dca0 { text-align:center !important; }
.di-pricing-hero p,.di-section-heading.di-css-00ca6230dca0 p { margin-inline:auto; max-width:62ch; }
.di-section-heading.di-css-00ca6230dca0 { margin-top:40px !important; margin-bottom:24px !important; }
/* Pricing intro should align its heading and explainer as a centered pair. */
.di-pricing-hero { max-width:760px; margin:0 auto 32px; }
/* Demo labels: one type badge plus one demo notice, never three piled in a single corner. */
.di-card-demo .di-demo-badge { top:12px; left:12px; right:72px; width:max-content; max-width:calc(100% - 96px); }
.di-card-demo .di-card-badge { top:auto !important; bottom:12px !important; left:12px !important; right:auto !important; max-width:calc(100% - 24px); }
.di-card-demo .di-card-fresh-badge { top:12px !important; right:12px !important; }
.di-card-demo .di-card-actions { top:52px !important; right:12px !important; }
.di-card-demo .di-card-img > a img { display:block; }
.di-card-v2 .di-card-badge { z-index:3; }
.di-demo-badge { z-index:4; }

/* Final composition corrections */
.di-hero-wrap > .container > .row:first-child { align-items:stretch !important; }
.di-hero-wrap > .container > .row:first-child > .di-hero-content { padding-top:8px; padding-bottom:8px; }
.di-hero-right { align-self:stretch; }
.di-hero-img-wrap { min-height:0; height:100%; max-height:500px; }
.di-hero-img-wrap img { min-height:0; height:100%; max-height:500px; object-fit:cover; }
/* Image starts below the eyebrow strip; its floating listing badge stays below that strip too. */
.di-hero-right { padding-top:58px; }
.di-hero-badge-float.top-left { top:72px !important; left:-18px !important; }
@media (min-width:992px) { .di-hero-right { min-height:0; } .di-hero-img-wrap,.di-hero-img-wrap img { min-height:0; height:100%; max-height:500px; } }
@media (max-width:1199.98px) and (min-width:992px) { .di-hero-right,.di-hero-img-wrap,.di-hero-img-wrap img { min-height:0; max-height:440px; } }
@media (max-width:991.98px) { .di-hero-right { padding-top:0; } .di-hero-badge-float.top-left { top:12px !important; left:12px !important; } }
@media (max-width:767.98px) { .di-hero-img-wrap,.di-hero-img-wrap img { min-height:0; max-height:360px; } }
.di-plan-price .amount { color:#302d2a !important; }
.di-plan-price .cent { color:#302d2a !important; }
.di-plan-price .yearly-note { color:#71592e !important; }
.di-plan-card.popular { border-color:#9a7536; box-shadow:0 12px 30px rgba(48,45,42,.07); }

/* Keep section-heading blocks centered; an older global margin rule reset
   the auto side margins and made centered headings sit at the left edge. */
.di-section-heading { margin-left:auto !important; margin-right:auto !important; }


/* Compact section rhythm: prevent legacy heading margins from adding a second top gap. */
.di-section,.di-home-categories,.di-home-destinations,.di-home-intelligence,
.di-home-split,.di-home-steps,.di-home-faq,.di-home-experience,.di-detail-page,
.di-legal-section,.di-about-section,.di-contact-section,.sec-pad {
  padding-block:36px !important;
}
.di-section-heading { margin-top:0 !important; margin-bottom:22px !important; }
@media (max-width:767.98px) {
  .di-section,.di-home-categories,.di-home-destinations,.di-home-intelligence,
  .di-home-split,.di-home-steps,.di-home-faq,.di-home-experience,.di-detail-page,
  .di-legal-section,.di-about-section,.di-contact-section,.sec-pad { padding-block:28px !important; }
  .di-section-heading { margin-bottom:18px !important; }
}


/* Category dropdown helper text visibility */
.di-nav-dd-item > div strong { color:#302d2a !important; }
.di-nav-dd-item > div span { color:#625d57 !important; }


/* Listing-page polish: keep the desktop header aligned with the site's content grid. */
@media (min-width:1200px) {
  #diNav .container-fluid {
    width:100% !important; max-width:1232px !important; margin-inline:auto !important;
    padding-left:16px !important; padding-right:16px !important;
  }
  #diNav .di-nav-inner { gap:5px !important; }
  #diNav .di-nav-logo img { height:36px !important; }
  #diNav .di-nav-menu { gap:0 !important; }
  #diNav a.di-nav-link { padding:7px 6px !important; font-size:12px !important; border-radius:4px !important; }
  #diNav .di-nav-actions { gap:4px !important; }
  #diNav .di-nav-icon-btn { padding:6px 7px !important; }
  #diNav .di-nav-login-btn { padding:7px 9px !important; font-size:12px !important; }
  #diNav .di-nav-cta { padding:8px 10px !important; font-size:12px !important; white-space:nowrap; }
}
/* One burgundy active state throughout the listing navigation and pagination. */
.di-deal-pill.active,.di-deal-pill.auction.active,.di-deal-pill.exchange.active,.di-deal-pill.rent.active,
.di-page-item.active,.pagination .active > a,.pagination .active > span,
#diNav a.di-nav-link.active,#diNav a.di-nav-link:hover {
  background:#762638 !important; border-color:#762638 !important; color:#fff !important; box-shadow:none !important;
}
.di-page-item:hover,.pagination a:hover { color:#762638 !important; border-color:#762638 !important; background:#f3ecde !important; }


/* Category menu: explicit click state, viewport-contained panel, sticky search, scrollable results. */
#diNav .di-category-toggle {
  appearance:none; border:0; background:transparent; font:inherit; cursor:pointer;
}
#diNav .di-category-menu:hover > .di-category-dropdown { visibility:hidden; opacity:0; pointer-events:none; }
#diNav .di-category-menu.is-open > .di-category-dropdown { visibility:visible !important; opacity:1 !important; pointer-events:auto !important; }
#diNav .di-category-dropdown {
  position:fixed !important; left:12px; top:70px; width:min(420px,calc(100vw - 24px)); min-width:0 !important;
  max-width:calc(100vw - 24px) !important; max-height:min(72vh,560px); overflow-x:hidden; overflow-y:auto;
  overscroll-behavior:contain; padding:8px; margin:0; border:1px solid #e5e0d7; border-radius:4px;
  background:#fff; box-shadow:0 14px 36px rgba(48,45,42,.16); z-index:100001;
}
#diNav .di-category-dropdown > li { display:block; width:100%; min-width:0; }
#diNav .di-category-dropdown .di-category-search-row {
  position:sticky; top:-8px; z-index:2; display:flex; align-items:center; gap:10px;
  padding:10px; margin:-8px -8px 6px; width:calc(100% + 16px); background:#fff; border-bottom:1px solid #eee9e0;
}
#diNav .di-category-search-row > i { color:#8b6c38; flex:0 0 auto; }
#diNav .di-category-search-row input {
  width:100%; min-width:0; height:42px; padding:0 12px; border:1px solid #ded8ce; border-radius:4px;
  outline:none; background:#fff; color:#302d2a; font:14px/1.3 var(--di-font-ui);
}
#diNav .di-category-search-row input:focus { border-color:#762638; box-shadow:0 0 0 2px rgba(118,38,56,.12); }
#diNav .di-category-dropdown .di-nav-dd-item { border-radius:3px; padding:10px; }
#diNav .di-category-dropdown .di-nav-dd-item:hover { background:#f6f4f0; }
#diNav .di-category-no-results { padding:16px 12px; color:#625d57; font-size:13px; }

/* Listing controls share the site's burgundy accent, including icons and selected chips. */
.di-deal-pills .di-deal-pill.active,.di-deal-pills .di-deal-pill.auction.active,
.di-deal-pills .di-deal-pill.exchange.active,.di-deal-pills .di-deal-pill.rent.active,
.di-btn-filter.active,.di-filter-chip.active,.di-view-btn.active,.di-page-item.active,
.di-results-toolbar .short-menu button.on,.di-results-toolbar .short-menu button:hover {
  color:#fff !important; background:#762638 !important; border-color:#762638 !important; box-shadow:none !important;
}
.di-filter-label i,.di-filter-head i,.di-filter-group > label i,.di-view-btn i { color:#8b6c38 !important; }
.di-filter-input:focus,.di-filter-card .form-control:focus { border-color:#762638 !important; box-shadow:0 0 0 2px rgba(118,38,56,.12) !important; }
@media (max-width:575.98px) { #diNav .di-category-dropdown { width:calc(100vw - 24px) !important; max-height:68vh; } }


/* Desktop header: logo, always-visible hamburger, universal listing search, account actions. */
@media (min-width:1200px) {
  #diNav > .container-fluid { max-width:1428px !important; width:100% !important; margin-inline:auto !important; padding:0 16px !important; }
  #diNav .di-nav-inner { display:flex !important; gap:16px !important; justify-content:space-between !important; }
  #diNav .di-nav-inner > nav.d-none.d-xl-flex { display:none !important; }
  #diNav .di-nav-actions.d-none.d-xl-flex { display:flex !important; gap:6px !important; }
  #diNav .di-desktop-header-tools { display:flex !important; flex:1 1 auto; align-items:center; min-width:0; gap:0; max-width:670px; }
  #diNav .di-desktop-menu-toggle {
    flex:0 0 auto; height:48px; display:inline-flex; align-items:center; justify-content:center; gap:9px;
    padding:0 16px; border:1px solid #762638; border-radius:4px 0 0 4px; background:#762638;
    color:#fff; font:700 14px/1 var(--di-font-ui); cursor:pointer; white-space:nowrap;
  }
  #diNav .di-desktop-menu-toggle:hover,#diNav .di-desktop-menu-toggle[aria-expanded="true"] { background:#5e1d2d; border-color:#5e1d2d; }
  #diNav .di-global-search { flex:1 1 auto; display:flex; align-items:center; min-width:0; height:48px; margin:0; }
  #diNav .di-global-search input[type="search"] {
    flex:1 1 auto; width:100%; min-width:0; height:48px; padding:0 16px; border:1px solid #ded8ce;
    border-left:0; border-right:0; border-radius:0; outline:none; background:#fff; color:#302d2a; font:14px/1.3 var(--di-font-ui);
  }
  #diNav .di-global-search input[type="search"]:focus { border-color:#b9aa91; box-shadow:inset 0 0 0 1px #b9aa91; }
  #diNav .di-global-search button {
    flex:0 0 48px; width:48px; height:48px; display:inline-flex; align-items:center; justify-content:center;
    border:1px solid #302d2a; border-radius:0 4px 4px 0; background:#302d2a; color:#fff; font-size:16px; cursor:pointer;
  }
  #diNav .di-global-search button:hover { background:#171615; border-color:#171615; }
  #diNav .di-nav-login-btn { white-space:nowrap; padding:8px 10px !important; font-size:12px !important; border-radius:4px !important; }
  #diNav .di-nav-cta { white-space:nowrap; padding:9px 12px !important; font-size:12px !important; border-radius:4px !important; }
  #diNav .di-nav-cta i { margin-right:4px; }
  #diNav .di-nav-logo img { height:36px !important; }
  .di-nav-offcanvas { width:360px !important; left:-380px !important; right:auto !important; height:100vh !important; }
  .di-nav-offcanvas.open { left:0 !important; }
}
@media (min-width:1200px) and (max-width:1399.98px) {
  #diNav .di-nav-inner { gap:10px !important; }
  #diNav .di-nav-logo img { height:32px !important; }
  #diNav .di-desktop-header-tools { max-width:610px; }
  #diNav .di-nav-login-btn { padding:7px 8px !important; }
  #diNav .di-nav-cta { padding:8px 9px !important; }
}
@media (max-width:1199.98px) { #diNav .di-desktop-header-tools,#diNav .di-desktop-menu-toggle { display:none !important; } }


/* Align desktop header edges with the wide page container. */
@media (min-width:1200px) { #diNav > .container-fluid { max-width:1428px !important; } }
/* Amenity options: one readable, icon-led row per filter. */
.di-filter-checks { grid-template-columns:minmax(0,1fr) !important; gap:6px !important; }
.di-filter-check-item { width:100%; min-height:40px; display:flex; align-items:center; gap:10px; padding:8px 10px; line-height:1.35; }
.di-filter-check-item input { display:inline-block; width:16px; height:16px; margin:0; flex:0 0 16px; accent-color:#762638; }
.di-filter-check-item > i { width:18px; text-align:center; }
/* Compact, consistently icon-led mobile drawer navigation. */
.di-nav-offcanvas-nav { justify-content:flex-start !important; gap:6px !important; padding:14px 18px !important; }
.di-nav-offcanvas-nav .di-nav-mob-link { min-height:46px; margin:0 !important; padding:10px 12px !important; gap:12px !important; border-radius:4px !important; }
.di-nav-mob-link > i:first-child { width:20px; flex:0 0 20px; text-align:center; color:#8b6c38 !important; }
.di-nav-offcanvas-actions { gap:8px !important; }

.di-map-icon-btn {
  width:46px; height:46px; flex:0 0 46px; display:inline-flex; align-items:center; justify-content:center;
  border:1px solid #ded8ce; border-radius:4px; background:#fff; color:#762638; font-size:16px; cursor:pointer;
  transition:background .16s,border-color .16s,color .16s;
}
.di-map-icon-btn:hover,.di-map-icon-btn:focus-visible { background:#f3ecde; border-color:#9a7536; color:#5e1d2d; outline:2px solid transparent; }
.di-map-icon-btn:disabled { opacity:.65; cursor:wait; }
.di-sort-bar > .d-flex { flex-wrap:wrap; }
@media (max-width:575.98px) { .di-sort-bar > .d-flex { width:100%; gap:8px !important; } .di-sort-select { flex:1 1 120px; min-width:0; } }


/* Final geometry pass from the latest screenshots: align to .container, not viewport. */
@media (min-width:1200px) {
  #diNav > .container-fluid {
    box-sizing:border-box !important; width:100% !important; max-width:1200px !important;
    margin-left:auto !important; margin-right:auto !important; padding-left:15px !important; padding-right:15px !important;
  }
  #diNav .di-nav-inner { min-width:0 !important; gap:10px !important; }
  #diNav .di-nav-logo { flex:0 0 auto; max-width:160px; }
  #diNav .di-nav-logo img { max-width:160px !important; height:34px !important; }
  #diNav .di-desktop-header-tools { flex:1 1 420px !important; width:auto !important; max-width:none !important; min-width:220px !important; }
  #diNav .di-nav-actions { flex:0 0 auto; gap:4px !important; min-width:0; }
  #diNav .di-nav-actions > ul { margin:0; }
  #diNav .di-nav-icon-btn { padding:5px 6px !important; }
  #diNav .di-nav-login-btn { padding:7px 8px !important; font-size:11px !important; }
  #diNav .di-nav-cta { padding:8px 9px !important; font-size:11px !important; }
}
@media (min-width:1200px) and (max-width:1320px) {
  #diNav .di-nav-logo { max-width:132px; }
  #diNav .di-nav-logo img { max-width:132px !important; height:30px !important; }
  #diNav .di-nav-inner { gap:6px !important; }
  #diNav .di-desktop-menu-toggle { padding-inline:10px !important; }
  #diNav .di-global-search input[type="search"] { padding-inline:10px !important; }
  #diNav .di-nav-cta { padding-inline:7px !important; }
}
/* Footer rows spread across the same content width as page sections. */
.di-footer-stats-inner,.di-footer-trust-inner { width:100%; justify-content:space-between !important; gap:0 !important; }
.di-footer-stat { flex:1 1 0; justify-content:center; min-width:0; padding:8px 18px !important; }
.di-footer-stat-divider { flex:0 0 1px; }
.di-footer-trust-inner { flex-wrap:nowrap !important; }
.di-trust-badge { flex:1 1 0; justify-content:center; min-width:0; padding:4px 14px; text-align:center; }
@media (max-width:767.98px) {
  .di-footer-stats-inner,.di-footer-trust-inner { flex-wrap:wrap !important; justify-content:center !important; gap:8px 12px !important; }
  .di-footer-stat { flex:1 1 100%; }
  .di-footer-trust-inner .di-trust-badge { flex:1 1 100%; }
}
/* Filter panel fills the full results column height, while retaining its own minimum height. */
@media (min-width:992px) {
  .di-section .row.g-4 { align-items:stretch; }
  .di-section .row.g-4 > .col-lg-3 { display:flex; min-height:0; }
  .di-section .row.g-4 > .col-lg-3 > .di-sidebar-v2 { display:flex; flex:1 1 auto; flex-direction:column; align-self:stretch; min-height:100%; height:auto; }
  .di-section .row.g-4 > .col-lg-3 > .di-sidebar-v2 .di-sidebar-body { flex:1 1 auto; }
}
@media (max-width:991.98px) { .di-section .row.g-4 > .col-lg-3 > .di-sidebar-v2 { min-height:0; height:auto; } }


/* Match the desktop header to the exact Bootstrap .container used by page content. */
@media (min-width:1200px) {
  #diNav > .container { width:100% !important; padding-left:15px !important; padding-right:15px !important; box-sizing:border-box !important; }
  #diNav .di-nav-inner { width:100%; min-width:0; gap:8px !important; }
  #diNav .di-nav-logo { flex:0 0 auto; width:150px; max-width:150px; }
  #diNav .di-nav-logo img { display:block; width:100% !important; max-width:150px !important; height:auto !important; max-height:38px; object-fit:contain; }
  #diNav .di-desktop-header-tools { flex:1 1 auto !important; max-width:none !important; min-width:180px !important; }
  #diNav .di-nav-actions { flex:0 0 auto; gap:4px !important; }
  #diNav .di-nav-actions > ul { flex:0 0 auto; }
  #diNav .di-nav-icon-btn { padding:5px 6px !important; }
  #diNav .di-nav-login-btn { padding:7px 8px !important; font-size:11px !important; }
  #diNav .di-nav-cta { padding:8px 9px !important; font-size:11px !important; }
}
@media (min-width:1200px) and (max-width:1399.98px) {
  #diNav .di-nav-logo { width:128px; max-width:128px; }
  #diNav .di-nav-logo img { max-width:128px !important; }
  #diNav .di-desktop-menu-toggle { padding-inline:9px !important; }
  #diNav .di-nav-cta { padding-inline:7px !important; }
}
/* The two footer information rows use three equal tracks across the site's content width. */
@media (min-width:768px) {
  .di-footer-stats-inner { display:grid !important; grid-template-columns:minmax(0,1fr) 1px minmax(0,1fr) 1px minmax(0,1fr); align-items:center; width:100%; gap:0 !important; }
  .di-footer-stats-inner .di-footer-stat { width:100%; min-width:0; justify-content:center; padding:8px 10px !important; }
  .di-footer-stats-inner .di-footer-stat-divider { width:1px; height:40px; }
  .di-footer-trust-inner { display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:center; width:100%; gap:0 !important; }
  .di-footer-trust-inner .di-trust-badge { min-width:0; justify-content:center; padding:4px 10px; text-align:center; font-size:12px; line-height:1.4; }
}
@media (max-width:767.98px) {
  .di-footer-stats-inner { display:flex !important; }
  .di-footer-trust-inner { display:flex !important; }
}
/* Results sidebar stretches with the adjacent results column, while its own content sets the minimum. */
@media (min-width:992px) {
  .di-section .row.g-4 { align-items:stretch !important; }
  .di-section .row.g-4 > .col-lg-3 { display:flex !important; align-items:stretch; }
  .di-section .row.g-4 > .col-lg-3 > .di-sidebar-v2 {
    position:relative !important; top:auto !important; display:flex; flex:1 1 auto; flex-direction:column;
    align-self:stretch; width:100%; min-height:100%; height:auto;
  }
  .di-section .row.g-4 > .col-lg-3 > .di-sidebar-v2 > .di-sidebar-body { flex:1 1 auto; }
}


/* Filter header controls: title left, reset action right on one line. */
.di-sidebar-header { display:flex !important; flex-wrap:nowrap !important; align-items:center !important; justify-content:space-between !important; gap:10px !important; }
.di-sidebar-header h4 { flex:0 1 auto !important; min-width:0; margin:0 !important; }
.di-sidebar-header > a { flex:0 0 auto !important; margin-left:auto; white-space:nowrap; }
@media (max-width:360px) { .di-sidebar-header { gap:6px !important; } .di-sidebar-header h4 { font-size:14px !important; } .di-sidebar-header > a { padding:5px 7px !important; font-size:11px !important; } }


/* Results summary, sort, grid/list, and map controls stay on one line. */
.di-sort-bar { display:flex !important; flex-flow:row nowrap !important; align-items:center !important; justify-content:space-between !important; gap:12px !important; }
.di-sort-bar .di-results-count { flex:1 1 auto; min-width:0; white-space:nowrap; }
.di-sort-bar > .d-flex { display:flex !important; flex:0 0 auto; flex-flow:row nowrap !important; align-items:center !important; gap:8px !important; width:auto !important; }
.di-sort-bar .di-sort-select { flex:0 0 150px; min-width:0; width:150px; }
.di-sort-bar .di-view-toggle { flex:0 0 auto; }
.di-sort-bar .di-map-icon-btn { flex:0 0 44px; width:44px; height:44px; }
@media (max-width:767.98px) {
  .di-sort-bar { gap:8px !important; padding:10px 12px !important; }
  .di-sort-bar .di-results-count { font-size:12px !important; }
  .di-sort-bar .di-results-count strong { font-size:14px !important; }
  .di-sort-bar > .d-flex { gap:5px !important; }
  .di-sort-bar .di-sort-select { flex-basis:102px; width:102px; height:40px !important; font-size:11px !important; padding-inline:7px !important; }
  .di-sort-bar .di-view-btn,.di-sort-bar .di-map-icon-btn { width:36px; height:36px; flex-basis:36px; }
}
@media (max-width:420px) {
  .di-sort-bar { gap:4px !important; padding:8px !important; }
  .di-sort-bar .di-results-count { font-size:11px !important; }
  .di-sort-bar .di-results-count strong { font-size:13px !important; }
  .di-sort-bar > .d-flex { gap:3px !important; }
  .di-sort-bar .di-sort-select { flex-basis:88px; width:88px; }
  .di-sort-bar .di-view-btn,.di-sort-bar .di-map-icon-btn { width:32px; height:32px; flex-basis:32px; }
}


/* Mobile drawer: reserve the same icon column for every navigation label. */
.di-nav-offcanvas-nav .di-nav-mob-link { display:grid !important; grid-template-columns:20px minmax(0,1fr); justify-content:start !important; align-items:center !important; column-gap:12px !important; text-align:left !important; }
.di-nav-offcanvas-nav .di-nav-mob-link > i:first-child { display:inline-flex !important; width:20px; min-width:20px; align-items:center; justify-content:center; margin:0 !important; }
.di-nav-offcanvas-actions > .di-nav-cta.w-100 { display:flex !important; width:100% !important; justify-content:center !important; align-items:center !important; text-align:center !important; padding-inline:16px !important; }


/* Leave a clear, deliberate gap between the results map and listing cards. */
#diResultsMap:not([hidden]) { display:block; margin:18px 0 28px !important; border-radius:4px; overflow:hidden; }
#diResultsMapStatus:empty { display:none !important; }
#diResultsMapStatus:not(:empty) { margin:0 0 18px; padding:10px 12px; border:1px solid #e5e0d7; background:#f6f4f0; color:#514c46; }
/* Market stats align to the same outer edges as the footer content: left, center, right. */
@media (min-width:768px) {
  .di-footer-stats-inner .di-footer-stat:nth-of-type(1) { justify-content:flex-start !important; padding-left:0 !important; }
  .di-footer-stats-inner .di-footer-stat:nth-of-type(3) { justify-content:center !important; }
  .di-footer-stats-inner .di-footer-stat:nth-of-type(5) { justify-content:flex-end !important; padding-right:0 !important; }
  .di-footer-trust-inner .di-trust-badge:first-child { justify-content:flex-start !important; padding-left:0 !important; }
  .di-footer-trust-inner .di-trust-badge:nth-child(2) { justify-content:center !important; }
  .di-footer-trust-inner .di-trust-badge:last-child { justify-content:flex-end !important; padding-right:0 !important; }
}


.di-plan-cap-note { margin-top:-6px; color:#625d57; font-size:12px; line-height:1.45; }
.di-plan-cap-note small { font-size:inherit; }
/* Keep custom layout fixes last in the cascade and share one content width
   between page titles and the main form cards. */
.di-page-hero > .auto-container {
  box-sizing:border-box;
  width:100%;
  max-width:1140px;
  margin-inline:auto;
  padding-inline:15px;
}
.di-page-hero h1,
.di-page-hero-title {
  box-sizing:border-box;
  max-width:100%;
  min-width:0;
  overflow-wrap:anywhere;
  text-wrap:balance;
}
.di-submit-wrap {
  width:100%;
  max-width:1110px;
  min-width:0;
  margin-inline:auto;
}
.di-submit-wrap form,
.di-submit-card {
  box-sizing:border-box;
  width:100%;
  min-width:0;
}
.di-report-wrap,
.di-lead-wrap {
  width:100%;
  max-width:760px;
  min-width:0;
  margin-inline:auto;
}
.di-report-card,
.di-lead-card,
.di-contact-form-card-v2 {
  box-sizing:border-box;
  width:100%;
  min-width:0;
}
.di-contact-form-card-v2 form { width:100%; min-width:0; }
h1,h2,h3,h4,h5,h6 {
  min-width:0;
  max-width:100%;
  overflow-wrap:anywhere;
  text-wrap:balance;
}
input,select,textarea,button {
  max-width:100%;
}
@media (max-width:767.98px) {
  .di-page-hero > .auto-container,
  .di-submit-wrap,
  .di-report-wrap,
  .di-lead-wrap {
    max-width:100%;
  }
  .di-page-hero > .auto-container { padding-inline:15px; }
  .di-submit-card,
  .di-report-card,
  .di-lead-card {
    padding:22px;
  }
  .di-page-hero h1,
  .di-page-hero-title {
    font-size:clamp(22px,6vw,30px);
    line-height:1.2;
  }
}
/* Final alignment: Login and Register share exact control metrics. */
@media (min-width:1200px) {
  #diNav .di-nav-login-btn,#diNav .di-nav-register-btn {
    box-sizing:border-box; display:inline-flex; align-items:center; justify-content:center; gap:5px;
    height:38px; min-height:38px; padding:0 10px; white-space:nowrap;
    border:1px solid #d9d4cc; border-radius:4px; background:#fff; color:#403c38;
    font-size:12px; line-height:1; font-weight:800; text-decoration:none;
  }
  #diNav .di-nav-register-btn { border-color:#762638; background:#762638; color:#fff; }
  #diNav .di-nav-login-btn:hover,#diNav .di-nav-login-btn:focus-visible { border-color:#762638; color:#762638; }
  #diNav .di-nav-register-btn:hover,#diNav .di-nav-register-btn:focus-visible { background:#5e1d2d; border-color:#5e1d2d; color:#fff; }
}
@media (max-width:1399.98px) and (min-width:1200px) {
  #diNav .di-nav-login-btn,#diNav .di-nav-register-btn { height:34px; min-height:34px; padding-inline:7px; font-size:11px; }
}

/* Equalize all desktop account/listing action controls, including the longer Register label. */
@media (min-width:1200px) {
  #diNav .di-nav-login-btn,
  #diNav .di-nav-register-btn,
  #diNav .di-nav-cta {
    box-sizing:border-box !important;
    display:inline-flex !important; align-items:center !important; justify-content:center !important;
    gap:6px !important; height:44px !important; min-height:44px !important; max-height:44px !important;
    padding-block:0 !important; line-height:1 !important; white-space:nowrap !important;
    vertical-align:middle;
  }
  #diNav .di-nav-login-btn,#diNav .di-nav-register-btn { font-size:12px !important; }
  #diNav .di-nav-register-btn { padding-inline:12px !important; }
  #diNav .di-nav-login-btn { padding-inline:12px !important; }
  #diNav .di-nav-cta { padding-inline:14px !important; }
}
/* Sitewide contrast correction: text on burgundy controls must never inherit dark theme text. */
:root { --di-gold-contrast:#f2d58a; --di-burgundy-contrast:#5e1d2d; }
#diNav .di-nav-register-btn,
#diNav .di-nav-register-btn:link,
#diNav .di-nav-register-btn:visited,
#diNav .di-nav-register-btn:hover,
#diNav .di-nav-register-btn:focus,
#diNav .di-nav-register-btn:focus-visible,
#diNav .di-nav-register-btn:active {
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}
#diNav .di-nav-register-btn { background:#762638 !important; border-color:#762638 !important; }
#diNav .di-nav-register-btn:hover,
#diNav .di-nav-register-btn:focus-visible { background:#5e1d2d !important; border-color:#5e1d2d !important; }

/* Card CTA: keep hover/focus copy and the NEW marker clearly legible on the dark fill. */
.di-card-v2 .di-card-detail-btn:hover,
.di-card-v2 .di-card-detail-btn:focus-visible,
.di-card-v2 .di-card-detail-btn:hover .di-recent-label,
.di-card-v2 .di-card-detail-btn:focus-visible .di-recent-label {
  color:var(--di-gold-contrast) !important;
  -webkit-text-fill-color:var(--di-gold-contrast) !important;
}
.di-card-v2 .di-card-detail-btn { color:#fff !important; }
.di-card-v2 .di-card-detail-btn .di-recent-label { color:var(--di-gold-contrast) !important; }

/* Repair dark foreground declarations from legacy theme rules on burgundy fills. */
.btncustom:hover,.scroll-top:hover,
.di-main-search-btn button:hover,.di-property-actions a:hover,
.di-detail-badge,.di-detail-deal-badge.featured,
.di-auction-live-badge,.di-bid-btn,.di-filter-head > a,
.di-nav-cta,.di-nav-cta:hover,.di-nav-offcanvas-actions .di-nav-cta,
.di-hero-btn-primary,.di-hero-btn-secondary,.di-filter-apply-btn,
.di-card-detail-btn,.di-auth-card .btn-auth,.di-auth-submit-btn,
.di-footer-newsletter-form button,.di-footer-nl-btn,.di-footer-newsletter .btn,
.di-about-btn-primary,.di-cta-banner-btn-primary,.ag-hero-cta,.ag-btn-primary,
.di-sidebar-contact-card .di-filter-apply-btn {
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}
.btncustom:hover,.scroll-top:hover,
.di-main-search-btn button:hover,.di-property-actions a:hover,
.di-card-detail-btn:hover,.di-card-detail-btn:focus-visible,
.di-auth-card .btn-auth:hover,.di-auth-submit-btn:hover,
.di-footer-newsletter-form button:hover,.di-footer-nl-btn:hover,
.di-footer-newsletter .btn:hover,.di-about-btn-primary:hover,
.di-cta-banner-btn-primary:hover,.ag-hero-cta:hover,.ag-btn-primary:hover {
  color:var(--di-gold-contrast) !important;
  -webkit-text-fill-color:var(--di-gold-contrast) !important;
}
.di-filter-head > a:hover,.di-sidebar-header > a:hover { color:var(--di-gold-contrast) !important; }
.di-detail-badge,.di-detail-deal-badge.featured,.di-auction-live-badge,.di-bid-btn {
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}
/* Country/language switchers: content-based width, viewport-contained, forgiving pointer path. */
@media (min-width:1200px) {
  #diNav .di-nav-switcher > .di-has-dropdown { position:relative; }
  #diNav .di-nav-switcher > .di-has-dropdown > .di-nav-dd-scroll {
    box-sizing:border-box; width:max-content !important; min-width:0 !important;
    max-width:min(360px,calc(100vw - 24px)) !important; max-height:min(70vh,360px);
    padding:8px; white-space:nowrap; overflow-x:hidden; overflow-y:auto;
    inset-inline-end:0; inset-inline-start:auto;
    border-radius:4px; z-index:100020;
  }
  #diNav .di-nav-switcher > .di-has-dropdown > .di-nav-dd-scroll .di-nav-dd-item {
    display:flex; width:max-content; min-width:100%; max-width:100%; box-sizing:border-box;
    align-items:center; white-space:nowrap; gap:12px; padding:10px 12px; border-radius:3px;
  }
  #diNav .di-nav-switcher > .di-has-dropdown > .di-nav-dd-scroll .di-nav-dd-item > div {
    flex:0 0 auto; min-width:0; width:max-content; max-width:calc(100vw - 100px);
  }
  #diNav .di-nav-switcher > .di-has-dropdown > .di-nav-dd-scroll .di-nav-dd-item strong {
    white-space:nowrap; overflow-wrap:normal; word-break:normal;
  }
  #diNav .di-nav-switcher > .di-has-dropdown:hover > .di-nav-dd-scroll,
  #diNav .di-nav-switcher > .di-has-dropdown.is-open > .di-nav-dd-scroll,
  #diNav .di-nav-switcher > .di-has-dropdown:focus-within > .di-nav-dd-scroll {
    opacity:1; visibility:visible; pointer-events:auto;
  }
  #diNav .di-nav-switcher > .di-has-dropdown.is-open > .di-nav-icon-btn,
  #diNav .di-nav-switcher > .di-has-dropdown:focus-within > .di-nav-icon-btn {
    border-color:#9a7536; background:#f3ecde;
  }
}
/* One shared 48px desktop header control height, matching the menu button. */
@media (min-width:1200px) {
  #diNav .di-global-search input[type="search"],
  #diNav .di-global-search button,
  #diNav .di-nav-icon-btn,
  #diNav .di-nav-login-btn,
  #diNav .di-nav-register-btn,
  #diNav .di-nav-cta {
    box-sizing:border-box !important;
    height:48px !important; min-height:48px !important; max-height:48px !important;
    align-self:center !important; display:inline-flex !important; align-items:center !important;
    justify-content:center !important; padding-block:0 !important; line-height:1 !important;
  }
  #diNav .di-global-search { align-self:center; }
  #diNav .di-global-search input[type="search"] { height:48px !important; min-height:48px !important; }
  #diNav .di-global-search button { flex:0 0 48px; width:48px; }
  #diNav .di-nav-icon-btn { min-width:48px; }
  #diNav .di-nav-login-btn,#diNav .di-nav-register-btn,#diNav .di-nav-cta { gap:7px !important; }
}
@media (max-width:1399.98px) and (min-width:1200px) {
  #diNav .di-global-search input[type="search"],#diNav .di-global-search button,
  #diNav .di-nav-icon-btn,#diNav .di-nav-login-btn,#diNav .di-nav-register-btn,#diNav .di-nav-cta {
    height:48px !important; min-height:48px !important; max-height:48px !important;
  }
}


/* Final contrast fix: match the site CTA palette across every scroll-to-top state. */
.scroll-top,
.scroll-top:link,
.scroll-top:visited,
.scroll-top:active {
  background: #762638 !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  border-color: #762638 !important;
}
.scroll-top:hover,
.scroll-top:focus,
.scroll-top:focus-visible {
  background: #5e1d2d !important;
  color: #f2d58a !important;
  -webkit-text-fill-color: #f2d58a !important;
  border-color: #5e1d2d !important;
}
.scroll-top:focus-visible {
  outline: 3px solid #f2d58a;
  outline-offset: 3px;
}


/* 2026-09 design pass: restore a confident property-brand identity across public pages. */
:root {
  --di-primary: #762638;
  --di-primary-hover: #5e1d2d;
  --di-gold: #9a7536;
  --di-paper: #f6f4f0;
}

/* Registration/login: replace the washed-out blank panel with a real branded welcome surface. */
.di-auth-body { background: var(--di-paper) !important; }
.di-auth-split { min-height: 100svh; }
.di-auth-brand-panel {
  flex-basis: 44%;
  min-height: 100svh;
  padding: clamp(32px, 5vw, 72px);
  background:
    linear-gradient(145deg, rgba(40, 25, 28, .91), rgba(83, 30, 43, .87)),
    url('../images/die-immobilien-stadt.jpg') center / cover no-repeat !important;
  color: #fff !important;
}
.di-auth-brand-panel::before {
  top: -170px; right: -155px; width: 430px; height: 430px;
  border: 1px solid rgba(242,213,138,.22);
  background: transparent;
}
.di-auth-brand-panel::after {
  bottom: 12%; left: -120px; width: 250px; height: 250px;
  border: 1px solid rgba(255,255,255,.12);
  background: transparent;
}
.di-auth-brand-logo, .di-auth-brand-content, .di-auth-brand-footer { z-index: 1; }
.di-auth-brand-logo img { height: 42px; }
.di-auth-brand-content { max-width: 620px; padding: 48px 0; }
.di-auth-brand-content h2 {
  max-width: 12ch; font-size: clamp(34px, 4vw, 52px); line-height: 1.08;
  letter-spacing: -.035em; color: #fff !important; text-wrap: balance;
}
.di-auth-brand-content p {
  max-width: 48ch; margin-bottom: 34px; font-size: 16px; line-height: 1.65;
  color: rgba(255,255,255,.82) !important;
}
.di-auth-trust-list { gap: 12px; }
.di-auth-trust-item {
  min-height: 42px; gap: 12px; color: rgba(255,255,255,.94) !important;
  font-size: 14px; font-weight: 650;
}
.di-auth-trust-item i {
  width: 28px; height: 28px; display: inline-flex; align-items: center; justify-content: center;
  border-radius: 50% !important; background: rgba(242,213,138,.16); color: #f2d58a !important;
  font-size: 13px;
}
.di-auth-brand-footer a {
  display: inline-flex; align-items: center; min-height: 42px; padding: 0 14px;
  border: 1px solid rgba(255,255,255,.28); color: rgba(255,255,255,.9) !important;
  text-decoration: none; transition: background .18s, border-color .18s;
}
.di-auth-brand-footer a:hover,.di-auth-brand-footer a:focus-visible {
  background: rgba(255,255,255,.1); border-color: rgba(255,255,255,.62); color: #fff !important;
}
.di-auth-form-panel { background: var(--di-paper); padding: clamp(24px, 4vw, 64px); }
.di-auth-card {
  max-width: 488px; padding: clamp(28px, 3.4vw, 44px);
  border: 1px solid #e8e1d8; background: #fff;
  box-shadow: 0 18px 54px rgba(45,31,28,.09);
}
.di-auth-title { font-size: clamp(28px, 2.3vw, 34px); letter-spacing: -.03em; color: #292321; }
.di-auth-subtitle { max-width: 48ch; color: #6d625c; font-size: 15px; line-height: 1.55; }
.di-auth-field label { color: #524844; letter-spacing: .065em; }
.di-auth-input-wrap input {
  background: #fbfaf8; border: 1px solid #ddd5cc; color: #302925;
  border-radius: 8px !important; font-weight: 500;
}
.di-auth-input-wrap input::placeholder { color: #847a74; opacity: 1; }
.di-auth-input-wrap input:focus {
  border-color: var(--di-primary); background: #fff;
  box-shadow: 0 0 0 3px rgba(118,38,56,.13); outline: none;
}
.di-auth-captcha-img { border-radius: 8px !important; border-color: #ddd5cc; }
.di-auth-submit-btn,
.di-lead-btn,.di-report-btn,.di-submit-btn,
.di-plan-btn.primary,.di-css-bb5e3884d860,.di-css-04df4597eea0,.di-css-99d7ac1f304e {
  background: var(--di-primary) !important; border-color: var(--di-primary) !important;
  box-shadow: none; transition: background .18s, transform .18s;
}
.di-auth-submit-btn:hover,.di-auth-submit-btn:focus-visible,
.di-lead-btn:hover,.di-report-btn:hover,.di-submit-btn:hover,
.di-plan-btn.primary:hover,.di-css-bb5e3884d860:hover,.di-css-04df4597eea0:hover,.di-css-99d7ac1f304e:hover {
  background: var(--di-primary-hover) !important; border-color: var(--di-primary-hover) !important;
  color: #f2d58a !important; -webkit-text-fill-color: #f2d58a !important;
}
.di-auth-submit-btn:focus-visible,.di-lead-btn:focus-visible,.di-report-btn:focus-visible,.di-submit-btn:focus-visible {
  outline: 3px solid #9a7536; outline-offset: 3px;
}
.di-auth-terms { color: #6d625c; line-height: 1.6; }
.di-auth-terms a,.di-auth-links a { color: var(--di-primary) !important; }
.di-auth-divider { color: #756a64; }

/* Give repeated public page patterns a shared rhythm and clear interaction states. */
.di-page-hero {
  padding: 34px 0 24px !important;
  background: #f6f4f0 !important;
  border-bottom: 1px solid #e5ded5;
}
.di-page-hero h1,.di-page-hero-title {
  max-width: 24ch; font-size: clamp(30px, 3.5vw, 44px); line-height: 1.12;
  letter-spacing: -.03em; color: #282320 !important;
}
.di-page-hero .di-breadcrumb li { color: #6c625d !important; }
.di-page-hero .di-breadcrumb li a { color: #5d514a !important; }
.di-page-hero .di-breadcrumb li:last-child { color: var(--di-primary) !important; }
.di-section-heading h2,.di-pricing-hero h1,.di-about-h2,.di-detail-h1 {
  color: #282320; letter-spacing: -.025em;
}
.di-section-heading p,.di-pricing-hero p { max-width: 66ch; line-height: 1.65; }
.di-card-v2,.di-info-card,.di-step-card,.di-faq-card,.di-category-tile,
.di-plan-card,.di-submit-card,.di-report-card,.di-lead-card,.di-legal-card,
.di-contact-info-card-v2,.di-contact-form-card-v2 {
  border-color: #e8e1d8 !important;
  box-shadow: 0 3px 14px rgba(45,31,28,.055);
}
.di-card-v2,.di-category-tile,.di-plan-card,.di-info-card,.di-step-card,.di-faq-card {
  transition: transform .22s cubic-bezier(.16,1,.3,1), box-shadow .22s cubic-bezier(.16,1,.3,1), border-color .18s;
}
.di-card-v2:hover,.di-category-tile:hover,.di-plan-card:hover,
.di-info-card:hover,.di-step-card:hover,.di-faq-card:hover {
  transform: translateY(-3px); border-color: #d8c5b9 !important;
  box-shadow: 0 12px 28px rgba(45,31,28,.10);
}
.di-field input:focus,.di-field select:focus,.di-field textarea:focus,
.di-lead-field input:focus,.di-lead-field textarea:focus,
.di-contact-form-card-v2 .di-filter-input:focus {
  border-color: var(--di-primary) !important;
  box-shadow: 0 0 0 3px rgba(118,38,56,.13) !important; outline: none;
}
.di-deal-tab.active { background: var(--di-primary) !important; border-color: var(--di-primary) !important; }
.di-plan-card.featured,.di-plan-card.popular { border-color: var(--di-primary) !important; }
.di-legal-card { max-width: 920px; margin-inline: auto; line-height: 1.75; }
.di-legal-card h2,.di-legal-card h3 { margin-top: 1.5em; }
.di-legal-card p,.di-legal-card li { color: #504842; }

@media (max-width: 900px) {
  .di-auth-split { flex-direction: column; }
  .di-auth-brand-panel { display: flex; flex: 0 0 auto; min-height: auto; padding: 28px 28px 0; }
  .di-auth-brand-logo { align-self: flex-start; }
  .di-auth-brand-content { padding: 34px 0 30px; }
  .di-auth-brand-content h2 { max-width: 16ch; font-size: clamp(30px, 6vw, 42px); }
  .di-auth-brand-content p { margin-bottom: 22px; }
  .di-auth-trust-list { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 8px 16px; }
  .di-auth-brand-footer { padding-bottom: 22px; }
  .di-auth-form-panel { min-height: auto; padding: 28px 20px 40px; }
  .di-auth-card { max-width: 560px; }
  .di-auth-card-logo { display: none; }
  .di-auth-field-row { flex-direction: row; gap: 12px; }
}
@media (max-width: 560px) {
  .di-auth-brand-panel { padding: 24px 20px 0; }
  .di-auth-brand-content { padding: 28px 0 22px; }
  .di-auth-brand-content h2 { font-size: 32px; }
  .di-auth-trust-list { grid-template-columns: 1fr; gap: 6px; }
  .di-auth-trust-item { min-height: 36px; }
  .di-auth-form-panel { padding: 20px 14px 30px; }
  .di-auth-card { padding: 26px 20px; }
  .di-auth-field-row { flex-direction: column; gap: 0; }
  .di-auth-captcha-row { align-items: stretch; }
  .di-auth-captcha-row .di-auth-input-wrap { flex: 1 1 auto; min-width: 0; }
  .di-auth-captcha-img { width: 102px; object-fit: cover; }
  .di-page-hero { padding: 24px 0 18px !important; }
  .di-page-hero h1,.di-page-hero-title { font-size: 28px; }
}
@media (prefers-reduced-motion: reduce) {
  .di-card-v2,.di-category-tile,.di-plan-card,.di-info-card,.di-step-card,.di-faq-card,
  .di-auth-submit-btn,.di-lead-btn,.di-report-btn,.di-submit-btn { transition: none !important; }
}


/* Final auth contrast cleanup: every element on the burgundy/photo panel must read. */
.di-auth-brand-panel,
.di-auth-brand-panel h1,.di-auth-brand-panel h2,.di-auth-brand-panel h3,
.di-auth-brand-panel p,.di-auth-brand-panel span,.di-auth-brand-panel strong,
.di-auth-brand-panel .di-auth-brand-stats strong,
.di-auth-brand-panel .di-auth-brand-stats span {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}
.di-auth-brand-panel .di-auth-brand-stats strong { color: #f2d58a !important; -webkit-text-fill-color: #f2d58a !important; }
.di-auth-brand-panel .di-auth-brand-stats span { color: rgba(255,255,255,.88) !important; -webkit-text-fill-color: rgba(255,255,255,.88) !important; }
.di-auth-brand-panel .di-auth-brand-content p { color: rgba(255,255,255,.9) !important; -webkit-text-fill-color: rgba(255,255,255,.9) !important; }
.di-auth-brand-panel .di-auth-brand-footer a,
.di-auth-brand-panel .di-auth-brand-footer a:visited { color: #f2d58a !important; -webkit-text-fill-color: #f2d58a !important; }
.di-auth-brand-panel .di-auth-brand-footer a:hover,
.di-auth-brand-panel .di-auth-brand-footer a:focus-visible { color: #fff !important; -webkit-text-fill-color: #fff !important; }
.di-auth-brand-panel::before,.di-auth-brand-panel::after { display: none !important; content: none !important; }
.di-auth-brand-panel { background-image: linear-gradient(145deg, rgba(40,25,28,.86), rgba(83,30,43,.82)), url('../images/die-immobilien-stadt.jpg') !important; }
.di-auth-brand-stats { gap: 30px; }
.di-auth-brand-stats > div { min-width: 0; padding: 0; border: 0 !important; background: transparent !important; box-shadow: none !important; }
.di-auth-brand-panel .di-auth-brand-stats > div::before,
.di-auth-brand-panel .di-auth-brand-stats > div::after { display: none !important; content: none !important; }
.di-auth-brand-panel .di-auth-brand-footer a { background: transparent !important; }
@media (max-width: 900px) {
  .di-auth-brand-panel { background-position: center 58% !important; }
}
@media (max-width: 560px) {
  .di-auth-brand-stats { gap: 12px 24px; }
  .di-auth-brand-stats strong { font-size: 24px; }
}

/* Auth topbar: market controls sit beside the logo on login, signup, and reset pages. */
.di-auth-card-logo.di-auth-topbar {
  display:flex !important; align-items:center; justify-content:space-between; gap:14px;
  width:100%; margin:0 0 28px; min-width:0;
}
.di-auth-topbar-logo { display:inline-flex; align-items:center; flex:0 1 auto; min-width:0; }
.di-auth-topbar-logo img { display:block; width:auto; height:34px; max-width:min(155px,38vw); object-fit:contain; }
.di-auth-market-switcher { display:flex; flex:0 0 auto; align-items:center; gap:6px; position:relative; z-index:20; }
.di-auth-market-menu { position:relative; }
.di-auth-market-menu > summary {
  display:inline-flex; align-items:center; justify-content:center; gap:6px;
  min-width:48px; height:36px; padding:0 8px; list-style:none; cursor:pointer;
  border:1px solid #e4ddd5; border-radius:6px !important; background:#fbfaf8;
  color:#514842; font-size:11px; line-height:1; font-weight:800; user-select:none;
}
.di-auth-market-menu > summary::-webkit-details-marker { display:none; }
.di-auth-market-menu > summary::marker { content:""; }
.di-auth-market-menu > summary:hover,
.di-auth-market-menu > summary:focus-visible,
.di-auth-market-menu[open] > summary {
  border-color:#9a7536; background:#f3ecde; color:#5e1d2d; outline:none;
}
.di-auth-market-menu > summary:focus-visible { outline:2px solid #9a7536; outline-offset:2px; }
.di-auth-market-menu > summary > i:first-child { color:#9a7536; }
.di-auth-market-menu > summary > i:last-child { font-size:9px; }
.di-auth-market-flag,.di-auth-market-options img {
  display:block; width:18px; height:13px; object-fit:cover; border:1px solid #e4ddd5;
}
.di-auth-market-options {
  position:absolute; top:calc(100% + 7px); right:0; z-index:100050;
  width:max-content; min-width:190px; max-width:min(270px,calc(100vw - 36px));
  max-height:min(55vh,320px); overflow:auto; padding:5px;
  background:#fff; border:1px solid #e4ddd5; border-radius:8px !important;
  box-shadow:0 12px 30px rgba(45,31,28,.15);
}
.di-auth-market-options a {
  display:flex; align-items:center; gap:9px; min-height:38px; padding:7px 9px;
  border-radius:5px !important; color:#403832 !important; text-decoration:none !important;
  font-size:13px; font-weight:600; line-height:1.25; white-space:nowrap;
}
.di-auth-market-options a:hover,
.di-auth-market-options a:focus-visible,
.di-auth-market-options a[aria-current="true"] { background:#f6f2eb; color:#5e1d2d !important; outline:none; }
.di-auth-market-options a:focus-visible { box-shadow:0 0 0 2px #9a7536 inset; }
.di-auth-market-options a > span:nth-child(2) { flex:1 1 auto; }
.di-auth-market-options a > i { margin-left:auto; color:#9a7536; font-size:11px; }
.di-auth-language-code { min-width:30px; color:#762638; font-size:11px; font-weight:900; letter-spacing:.04em; }
@media (max-width:560px) {
  .di-auth-card-logo.di-auth-topbar { gap:8px; margin-bottom:24px; }
  .di-auth-topbar-logo img { height:30px; max-width:120px; }
  .di-auth-market-switcher { gap:4px; }
  .di-auth-market-menu > summary { min-width:42px; height:34px; gap:4px; padding-inline:6px; }
}

/* Market controls belong beside the logo in the left auth panel, never in the form panel. */
.di-auth-brand-topbar {
  position:relative; z-index:5; display:flex; align-items:center; justify-content:space-between;
  gap:20px; width:100%; min-width:0;
}
.di-auth-brand-topbar .di-auth-brand-logo { flex:0 1 auto; min-width:0; }
.di-auth-brand-topbar .di-auth-brand-logo img { max-width:min(230px,42vw); }
.di-auth-brand-topbar .di-auth-market-switcher { margin-left:auto; }
.di-auth-card-logo.di-auth-topbar { display:none !important; }
.di-auth-brand-panel .di-auth-market-menu > summary {
  background:rgba(255,255,255,.10); border-color:rgba(255,255,255,.38);
  color:#fff; backdrop-filter:none;
}
.di-auth-brand-panel .di-auth-market-menu > summary:hover,
.di-auth-brand-panel .di-auth-market-menu > summary:focus-visible,
.di-auth-brand-panel .di-auth-market-menu[open] > summary {
  background:rgba(255,255,255,.18); border-color:#f2d58a; color:#f2d58a;
}
.di-auth-brand-panel .di-auth-market-menu > summary > i:first-child { color:#f2d58a; }
.di-auth-brand-panel .di-auth-market-options { color:#403832; }
@media (max-width:900px) {
  .di-auth-brand-topbar { gap:16px; }
  .di-auth-brand-topbar .di-auth-brand-logo img { max-width:min(210px,42vw); }
}
@media (max-width:560px) {
  .di-auth-brand-topbar { gap:10px; }
  .di-auth-brand-topbar .di-auth-brand-logo img { max-width:min(165px,42vw); height:34px; }
}

/* Dropdowns are light surfaces inside the dark brand panel: reset inherited panel text colors. */
.di-auth-brand-panel .di-auth-market-options,
.di-auth-brand-panel .di-auth-market-options a,
.di-auth-brand-panel .di-auth-market-options a:visited,
.di-auth-brand-panel .di-auth-market-options a span,
.di-auth-brand-panel .di-auth-market-options a i {
  color:#403832 !important;
  -webkit-text-fill-color:#403832 !important;
}
.di-auth-brand-panel .di-auth-market-options a:hover,
.di-auth-brand-panel .di-auth-market-options a:focus-visible,
.di-auth-brand-panel .di-auth-market-options a[aria-current="true"],
.di-auth-brand-panel .di-auth-market-options a:hover span,
.di-auth-brand-panel .di-auth-market-options a:focus-visible span,
.di-auth-brand-panel .di-auth-market-options a[aria-current="true"] span {
  color:#5e1d2d !important;
  -webkit-text-fill-color:#5e1d2d !important;
}
.di-auth-brand-panel .di-auth-market-options a > i { color:#9a7536 !important; -webkit-text-fill-color:#9a7536 !important; }
.di-auth-brand-panel .di-auth-market-options a .di-auth-language-code { color:#762638 !important; -webkit-text-fill-color:#762638 !important; }

/* Property-detail map consent: readable privacy copy and a deliberate branded load action. */
.di-detail-block .di-map-consent {
  display:flex; align-items:center; justify-content:space-between; gap:20px;
  margin:0; padding:18px 20px; background:#f6f4f0;
  border-top:1px solid #e8e1d8;
}
.di-detail-block .di-map-consent-copy { display:flex; align-items:flex-start; gap:12px; min-width:0; }
.di-detail-block .di-map-consent-icon {
  display:inline-flex; flex:0 0 38px; width:38px; height:38px; align-items:center; justify-content:center;
  background:#f3ecde; color:#762638; border:1px solid #e8ddc9; border-radius:8px !important;
}
.di-detail-block .di-map-consent-copy strong { display:block; margin:0 0 4px; color:#302d2a; font-size:14px; font-weight:800; }
.di-detail-block .di-map-consent-copy p { max-width:60ch; margin:0; color:#625d57; font-size:13px; line-height:1.5; }
.di-detail-block .di-map-load {
  display:inline-flex; flex:0 0 auto; align-items:center; justify-content:center; gap:9px;
  min-height:46px; padding:0 18px; border:1px solid #762638; border-radius:6px !important;
  background:#762638; color:#fff; font-size:14px; font-weight:800; line-height:1.2;
  cursor:pointer; white-space:nowrap; box-shadow:none;
  transition:background .16s,border-color .16s,color .16s,transform .16s;
}
.di-detail-block .di-map-load:hover:not(:disabled),
.di-detail-block .di-map-load:focus-visible {
  background:#5e1d2d; border-color:#5e1d2d; color:#f2d58a; outline:none;
}
.di-detail-block .di-map-load:focus-visible { outline:3px solid #9a7536; outline-offset:3px; }
.di-detail-block .di-map-load:active:not(:disabled) { transform:translateY(1px); }
.di-detail-block .di-map-load:disabled { opacity:.72; cursor:wait; }
.di-detail-block .di-map-status:not(:empty) { padding:10px 18px; color:#5e1d2d; background:#fbf8f2; font-size:13px; }
.di-detail-block .di-map-note { padding:8px 18px 12px; color:#756b63; font-size:12px; }
@media (max-width:640px) {
  .di-detail-block .di-map-consent { align-items:stretch; flex-direction:column; gap:14px; padding:16px; }
  .di-detail-block .di-map-load { width:100%; min-height:48px; }
  .di-detail-block .di-map-note { padding-inline:16px; }
}

/* Property-detail hero: concise, readable, and consistent with the site's light page headers. */
.di-page-hero:has(.di-detail-hero-bar) {
  padding:16px 0 14px !important;
  background:#f6f4f0 !important;
  border-bottom:1px solid #e5ded5;
}
.di-detail-hero-bar {
  align-items:center;
  flex-wrap:nowrap;
  gap:28px;
  margin-bottom:10px;
}
.di-detail-hero-left { min-width:0; }
.di-detail-hero-badges { gap:7px; margin-bottom:8px; }
.di-detail-deal-badge { min-height:32px; padding:6px 12px; border-radius:4px !important; color:#fff !important; }
.di-detail-deal-badge.featured { background:#762638 !important; color:#fff !important; }
.di-detail-deal-badge.auction { color:#fff !important; }
.di-detail-h1 {
  max-width:100%; margin:0 0 7px; font-size:clamp(26px,2.6vw,36px);
  line-height:1.12; letter-spacing:-.025em; color:#282320 !important;
}
.di-detail-meta-row { gap:7px 14px; color:#5c534d !important; font-size:12px; line-height:1.45; }
.di-detail-meta-row i { color:#9a7536 !important; }
.di-ref-pill { background:#f3ecde; border:1px solid #e7dcc8; color:#5e1d2d !important; border-radius:4px !important; }
.di-detail-hero-price {
  flex:0 0 auto; color:#762638 !important; font-size:clamp(24px,2.8vw,36px);
  text-shadow:none !important; line-height:1.1;
}
.di-detail-hero-price small { color:#665c56 !important; }
.di-page-hero:has(.di-detail-hero-bar) .di-breadcrumb { gap:6px; margin-top:0; }
.di-page-hero:has(.di-detail-hero-bar) .di-breadcrumb li { color:#6c625d !important; font-size:12px; }
.di-page-hero:has(.di-detail-hero-bar) .di-breadcrumb li a { color:#5d514a !important; }
.di-page-hero:has(.di-detail-hero-bar) .di-breadcrumb li:last-child { color:#762638 !important; }
@media (max-width:767.98px) {
  .di-page-hero:has(.di-detail-hero-bar) { padding:14px 0 12px !important; }
  .di-detail-hero-bar { align-items:flex-start; flex-direction:column; gap:10px; margin-bottom:10px; }
  .di-detail-hero-price { font-size:26px; }
  .di-detail-h1 { font-size:clamp(24px,6vw,32px); }
}

/* Detail hero final spacing: a little more breathing room on a clean white surface. */
.di-page-hero:has(.di-detail-hero-bar) {
  padding:24px 0 18px !important;
  background:#fff !important;
  border-bottom:1px solid #e8e1d8;
}
@media (max-width:767.98px) {
  .di-page-hero:has(.di-detail-hero-bar) { padding:20px 0 16px !important; }
}

/* Mortgage result must remain legible on its light panel. */
.di-calc-result-box {
  background:#f4f1ec !important;
  border:1px solid #e4ddd3;
  color:#302d2a !important;
}
.di-calc-result-box span { color:#514941 !important; }
.di-calc-result-box strong { color:#762638 !important; }
