/* Dreamnest reference parity — presentation only.
 * Loaded last on public Blade layouts, never on admin pages.
 * Keep existing IDs, utility classes and JS state classes intact.
 * Reference: LARAVEL_DESIGN_CONTENT_SPEC.md and docs/design-snapshots/.
 */
.dn-design {
    --dn-navy: #071b3d;
    --dn-blue: #0c47a9;
    --dn-cyan: #19afd8;
    --dn-muted: #62718a;
    --dn-line: #dfe8f3;
    --dn-gradient: linear-gradient(135deg, #0c47a9, #19afd8);
    color: var(--dn-navy);
    background: #fff;
    font-family: Jost, sans-serif;
}
.dn-design
    :is(
        h1,
        h2,
        h3,
        h4,
        h5,
        h6,
        p,
        a,
        button,
        input,
        textarea,
        select,
        label,
        summary,
        li,
        span,
        strong,
        small,
        td,
        th
    ) {
    font-family: Jost, sans-serif;
}
.dn-design
    :is(h1, h2, h3, h4, h5, h6, strong, b, .font-black, .font-extrabold) {
    font-weight: 700 !important;
}
.dn-design :is(.text-brand-primary, .text-blue-600, .text-blue-700) {
    color: var(--dn-blue);
}
.dn-design :is(.text-brand-secondary, .text-sky-500, .text-sky-600) {
    color: var(--dn-cyan);
}
.dn-design .bg-brand-primary {
    background: var(--dn-blue);
}
.dn-design .bg-brand-secondary {
    background: var(--dn-cyan);
}
.dn-design :is(.text-slate-900, .text-slate-800) {
    color: var(--dn-navy);
}
.dn-design :is(.text-slate-600, .text-slate-500) {
    color: var(--dn-muted);
}
.dn-design :is(.bg-slate-50, .bg-slate-100) {
    background-color: #f8fbfd;
}
.dn-design :is(.border-slate-200, .border-slate-300) {
    border-color: var(--dn-line);
}
.dn-design :is(.grid, .flex) > * {
    min-width: 0;
}
.dn-design #main-content > section {
    padding-block: clamp(40px, 5vw, 70px);
}
.dn-design #main-content > section > .myContainer {
    padding-inline: 0;
}
.dn-design #main-content :is(.rounded-3xl, .rounded-2xl) {
    border-radius: 20px;
}
.dn-design #main-content :is(.shadow-xl, .shadow-2xl) {
    box-shadow: 0 16px 36px rgb(12 71 169 / 10%);
}
.dn-design #main-content :is(p.text-xs, p.text-sm) {
    font-size: 14px;
    line-height: 1.7;
}
.dn-design #main-content :is(h2.text-3xl, h2.text-4xl) {
    font-size: clamp(27px, 3vw, 38px);
    line-height: 1.2;
}
.dn-design #main-content :is(h3.text-base, h3.text-lg) {
    font-size: 19px;
    line-height: 1.35;
}
.dn-design
    #main-content
    :is(.text-purple-600, .text-purple-700, .text-pink-600) {
    color: var(--dn-blue);
}
.dn-design #main-content :is(.bg-purple-50, .bg-pink-50) {
    background-color: #eef6ff;
}
.dn-design
    :is(button[type="submit"], .button-theme, .btn-theme, .dn-primary-action) {
    border-radius: 999px !important;
    color: #fff;
    background: var(--dn-gradient);
    border-color: transparent;
    font-weight: 700;
}

/* Shared header/actions: keep the small utility copy noticeably lighter than
   display headings, matching the legacy reference's medium-weight controls. */
.dn-design .dn-menu-item > a,
.dn-design .dn-menu-trigger,
.dn-design .dn-header-free-listing,
.dn-design .dn-menu-trigger span,
.dn-design .dn-button,
.dn-design
    :is(button[type="submit"], .button-theme, .btn-theme, .dn-primary-action) {
    font-weight: 500;
}

/* Property navigation mirrors the legacy two-panel selector: long state lists
   stay inside the viewport and can be scrolled without changing their links. */
.dn-design .dn-dropdown-menu a,
.dn-design .dn-submenu-trigger {
    font-weight: 500;
}
.dn-design .dn-submenu {
    max-height: min(610px, calc(100vh - 120px));
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: thin;
    scrollbar-color: #9ccfe4 transparent;
}
.dn-design .dn-submenu::-webkit-scrollbar {
    width: 7px;
}
.dn-design .dn-submenu::-webkit-scrollbar-track {
    margin: 10px 0;
    background: transparent;
}
.dn-design .dn-submenu::-webkit-scrollbar-thumb {
    border: 2px solid #fff;
    border-radius: 999px;
    background: #9ccfe4;
}
.dn-design :is(button[type="submit"], .button-theme, .btn-theme):hover {
    background: linear-gradient(135deg, #19afd8, #0c47a9);
}
.dn-design :is(a, button, input, select, textarea, summary):focus-visible {
    outline: 3px solid var(--dn-cyan);
    outline-offset: 3px;
}
.dn-design
    #main-content
    :is(
        input:not([type="checkbox"]):not([type="radio"]):not(
                [type="range"]
            ):not([type="hidden"]),
        select,
        textarea
    ) {
    max-width: 100%;
    min-height: 46px;
    font-size: 14px;
    color: var(--dn-navy);
    border-color: #d7e4f1;
    background-color: #fbfdff;
    border-radius: 12px;
    box-shadow: none;
}
.dn-design #main-content :is(input, select, textarea):focus {
    border-color: var(--dn-cyan);
}
.dn-design #main-content input:is([type="checkbox"], [type="radio"]) {
    accent-color: var(--dn-blue);
    flex-shrink: 0;
}
.dn-design #main-content label {
    color: #18335f;
    font-size: 12px;
}
.dn-design #main-content textarea {
    resize: vertical;
}

/* Inner headings replace the migration's generic dark banners. */
.dn-design .dn-parity-hero {
    position: relative;
    color: var(--dn-navy);
    background:
        radial-gradient(
            circle at 12% 16%,
            rgb(25 175 216 / 9%),
            transparent 340px
        ),
        #fff !important;
    border-color: var(--dn-line);
}
.dn-design .dn-parity-hero > .absolute {
    display: none;
}
.dn-design .dn-parity-hero h1 {
    max-width: 850px;
    margin-inline: auto;
    font-size: clamp(32px, 3.8vw, 48px);
    line-height: 1.13;
    letter-spacing: -0.8px;
    text-wrap: balance;
    color: var(--dn-navy) !important;
}
.dn-design .dn-parity-hero p {
    color: var(--dn-muted) !important;
    font-size: 15px !important;
    line-height: 1.7;
}
.dn-design .dn-parity-hero :is(nav, nav a, nav span) {
    color: var(--dn-muted);
}
.dn-design .dn-parity-hero .dn-parity-eyebrow,
.dn-design .dn-parity-eyebrow {
    display: inline-block;
    color: var(--dn-cyan) !important;
    background: transparent !important;
    border: 0;
    padding: 0;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 3px;
    text-transform: uppercase;
    margin-bottom: 14px;
}
.dn-design .dn-parity-hero .dn-parity-eyebrow i {
    display: none;
}
.dn-design .dn-parity-hero .btn-outline-light,
.dn-design .dn-parity-hero a[href="#roi-calculator"] {
    color: var(--dn-blue);
    background: #fff;
    border: 1px solid #d3e2f1;
}
.dn-design .dn-parity-hero form {
    margin-top: 20px;
}
.dn-design .dn-parity-hero form button {
    min-height: 34px;
}
.dn-design .dn-parity-hero form input {
    border-radius: 999px !important;
}
.dn-design :is(.dn-page-heading, .dn-parity-heading) h1 {
    font-size: clamp(30px, 3.5vw, 44px);
    line-height: 1.15;
}
.dn-design .dn-parity-heading {
    text-align: center;
    max-width: 870px;
    margin: 0 auto 60px;
}
.dn-design .dn-parity-heading p {
    color: var(--dn-muted);
    line-height: 1.7;
    margin-top: 18px;
}
.dn-design .dn-parity-heading h1 span {
    color: var(--dn-cyan);
}

/* Editorial hero compositions retain CMS title, introduction, images and CTAs. */
.dn-page-about .dn-parity-hero {
    padding-block: clamp(52px, 6vw, 88px) !important;
}
.dn-design .dn-parity-art {
    position: relative;
    min-height: 390px;
    max-width: 500px;
    width: 100%;
    margin: auto;
}
.dn-design .dn-parity-art .dn-parity-main-photo {
    position: absolute;
    top: 3px;
    right: 0;
    width: 76%;
    height: 325px;
    border: 7px solid white;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 23px 43px rgb(12 71 169 / 17%);
}
.dn-design .dn-parity-art img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.dn-design .dn-parity-small-photo {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 53%;
    height: 175px;
    overflow: hidden;
    border: 7px solid #fff;
    border-radius: 20px;
    box-shadow: 0 18px 30px rgb(12 71 169 / 15%);
}
.dn-design .dn-parity-trust {
    position: absolute;
    left: 1%;
    top: 14%;
    bottom: auto;
    width: 112px;
    height: 112px;
    min-height: 112px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    padding: 12px;
    border: 5px solid #fff;
    border-radius: 22px;
    background: linear-gradient(145deg, #09275b, #0c47a9);
    color: #fff;
    box-shadow: 0 14px 28px rgb(9 39 91 / 22%);
}
.dn-design .dn-parity-trust > :first-child {
    color: var(--dn-cyan);
    font-size: 29px;
    line-height: 1;
}
.dn-design .dn-parity-trust > :last-child {
    font-size: 9px;
    text-align: center;
    line-height: 1.3;
    letter-spacing: 0.8px;
}
.dn-page-about .dn-philosophy {
    background: #f8fbfd !important;
}
.dn-page-about .dn-philosophy-grid {
    max-width: 1050px;
    margin-inline: auto;
}
.dn-page-about .dn-philosophy-card {
    position: relative;
    background: #fff;
    border-color: #dceaf4;
    box-shadow: 0 12px 25px rgb(12 71 169 / 6%);
}
.dn-page-about .dn-philosophy-card:first-child {
    background: linear-gradient(145deg, #09275b, #0c47a9 65%, #1388bc);
}
.dn-page-about .dn-philosophy-card:first-child :is(h3, p, span) {
    color: #fff;
}
.dn-page-about .dn-philosophy-card:nth-child(2) {
    background: linear-gradient(135deg, #fff, #effbff);
}
.dn-page-about .dn-mission {
    background: #fff !important;
}
.dn-page-about .dn-mission .grid > div {
    background: linear-gradient(135deg, #fff, #f5fbff);
    border-color: var(--dn-line);
}
.dn-page-about .dn-team {
    background: #f8fbfd !important;
}
.dn-page-about .dn-team-grid {
    max-width: 840px;
    margin-inline: auto;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.dn-page-about .dn-team-grid > .group {
    background: #fff;
    border: 1px solid var(--dn-line);
    border-radius: 16px;
    overflow: hidden;
    padding-bottom: 22px;
}
.dn-page-about .dn-team-grid img {
    object-fit: contain;
    object-position: bottom;
}
.dn-design .dn-parity-editorial-grid {
    display: grid;
    grid-template-columns: 1.15fr 1fr;
    gap: 60px;
    align-items: center;
}
.dn-design .dn-parity-editorial-grid > .myContainer {
    width: 100% !important;
}
.dn-design .dn-career-art {
    position: relative;
}
.dn-design .dn-career-art img {
    display: block;
    width: 100%;
    border-radius: 22px;
}
.dn-design .dn-career-art .dn-hiring-badge {
    position: absolute;
    bottom: 15px;
    left: 15px;
    padding: 14px 22px;
    background: var(--dn-gradient);
    color: white;
    border: 4px solid white;
    border-radius: 16px;
    font-weight: 700;
}
.dn-page-career #main-content > section:last-child,
.dn-page-awards #main-content > section:last-child {
    min-height: 0;
}
.dn-page-career #main-content .grid > .bg-white {
    border-color: var(--dn-line);
    box-shadow: 0 12px 24px rgb(12 71 169 / 6%);
}
.dn-page-awards .dn-awards-art {
    display: grid;
    place-items: center;
    min-height: 320px;
    border-radius: 22px;
    background: radial-gradient(circle, #e0f5fc, transparent 70%);
}
.dn-page-awards .dn-awards-art > i {
    font-size: 150px;
    color: var(--dn-blue);
    filter: drop-shadow(0 16px 15px rgb(12 71 169 / 15%));
}
.dn-page-roi .dn-roi-yields {
    margin-top: 32px;
}
.dn-page-roi .dn-roi-yields > div {
    background: linear-gradient(145deg, #09275b, #0c47a9) !important;
}
.dn-page-roi .dn-roi-yields p {
    color: #d7e4f1 !important;
}

/* Contact: joined form and blue information panel, assurance strip, office map. */
.dn-page-contact #main-content > section {
    background: linear-gradient(135deg, #fff, #f5fbff);
}
.dn-page-contact .dn-contact-grid {
    max-width: 1100px;
    margin: 90px auto 0;
    gap: 0;
    align-items: stretch;
    border: 1px solid var(--dn-line);
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 18px 42px rgb(12 71 169 / 9%);
}
.dn-page-contact #main-content .dn-contact-form-card {
    overflow: visible !important;
    border: 0;
    box-shadow: none;
    padding: clamp(24px, 3.2vw, 46px);
}
.dn-page-contact .dn-contact-stamp {
    top: -80px;
    right: -5px;
    width: clamp(112px, 12vw, 165px);
    height: auto;
    opacity: 1;
    z-index: 2;
}
.dn-page-contact .dn-contact-stamp canvas {
    display: block;
    width: 100%;
    height: auto;
}
.dn-page-contact .dn-contact-form-card h2 {
    color: #111;
    font-size: clamp(25px, 2.5vw, 31px);
}
.dn-page-contact .dn-contact-panel {
    height: 100%;
    border: 0;
    padding: clamp(26px, 3.2vw, 46px);
    background: linear-gradient(145deg, #09275b, #0c47a9 62%, #19afd8);
    border-radius: 20px;
}
.dn-page-contact .dn-contact-panel :is(h3, h4, a) {
    color: #fff;
}
.dn-page-contact .dn-contact-panel :is(p, span) {
    color: #dbeaff;
}
.dn-page-contact .dn-contact-panel > .flex {
    padding-top: 18px;
    border-top: 1px solid rgb(255 255 255 / 18%);
}
.dn-page-contact .dn-contact-panel .flex-shrink-0 {
    color: #fff;
    background: rgb(255 255 255 / 14%);
    border: 0;
}
.dn-page-contact .dn-contact-panel p a {
    overflow-wrap: anywhere;
}
.dn-page-contact .dn-contact-panel > h3 {
    font-size: 30px;
    padding-bottom: 0;
    border: 0;
}
.dn-page-contact .dn-contact-assurances {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.dn-page-contact .dn-contact-assurance-visual img {
    visibility: visible;
    object-fit: contain;
}
.dn-page-contact .dn-contact-assurances h2 {
    color: #fff;
}
.dn-page-contact .dn-office-map {
    display: grid;
    grid-template-columns: 0.8fr 1.2fr;
    min-height: 380px;
    padding: 16px;
    gap: 16px;
    max-width: 1040px;
    margin: 36px auto 0;
    border: 1px solid var(--dn-line);
    background: #fff;
    border-radius: 22px;
    box-shadow: 0 16px 35px rgb(12 71 169 / 9%);
}
.dn-page-contact .dn-office-copy {
    padding: clamp(25px, 4vw, 54px);
    background: #f2faff;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.dn-page-contact .dn-office-copy h2 {
    text-align: left;
    font-size: 32px;
    color: var(--dn-navy);
}
.dn-page-contact .dn-office-copy p {
    text-align: left;
    color: var(--dn-muted);
}
.dn-page-contact .dn-office-map iframe {
    width: 100%;
    height: 100%;
    min-height: 340px;
    border-radius: 12px;
}

/* Contact social icons — visible on dark gradient panel */
.dn-page-contact .dn-contact-socials {
    border-top-color: rgba(255, 255, 255, 0.18) !important;
}
.dn-page-contact .dn-contact-socials > span {
    color: #fff !important;
}
.dn-page-contact .dn-contact-socials .dn-social-icon {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.16);
    color: #fff;
    border: 1px solid rgba(255, 255, 255, 0.28);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 15px;
    transition: all 0.22s ease;
}
.dn-page-contact .dn-contact-socials .dn-social-icon:hover {
    background: #fff;
    color: var(--dn-blue);
    border-color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.18);
}
.dn-page-contact .dn-contact-socials .dn-social-icon i {
    color: inherit !important;
}

/* Events page — override any remaining emerald → blue/cyan */
.dn-page-events-index .dn-events-category-tabs a[class*="bg-emerald"] {
    background: var(--dn-blue) !important;
}
.dn-page-events-index .dn-editorial-card a:hover,
.dn-page-events-index .dn-editorial-card h2 a:hover {
    color: var(--dn-blue) !important;
}

/* Wishlist page — text alignment */
.dn-page-user-wishlist
    #main-content
    :is(h1, h2, h3, h4, p, span, div, li, label) {
    text-align: left;
}
.dn-page-user-wishlist #main-content .text-center {
    text-align: center;
}

/* Global text-align: left for main content (preserve centered hero/headings) */
/* .dn-design #main-content :is(h1, h2, h3, h4, h5, h6) {
    text-align: left;
} */
/* .dn-design #main-content :is(p, li, label, td, th) {
    text-align: left;
} */
.dn-design #main-content .dn-parity-heading,
.dn-design #main-content .dn-parity-heading :is(h1, h2, p, span) {
    text-align: center;
}
.dn-design #main-content .dn-parity-hero.text-center,
.dn-design #main-content .dn-parity-hero.text-center :is(h1, p, span) {
    text-align: center;
}
.dn-design #main-content .text-center {
    text-align: center;
}
.dn-design #main-content .dn-editorial-pagination {
    text-align: center;
}

/* Property discovery and detail: same components, all existing controls retained. */
.dn-page-properties-index .dn-parity-hero,
.dn-page-properties-show .dn-parity-hero,
.dn-page-search .dn-parity-hero {
    background: #faf9f6 !important;
    padding-block: 30px !important;
}
.dn-page-properties-index .dn-parity-hero h1 {
    margin: 0;
    text-align: left;
    font-size: clamp(28px, 3vw, 38px);
}
.dn-page-properties-index .dn-parity-hero .backdrop-blur-sm {
    color: var(--dn-blue);
    background: #eef6ff;
    border-color: var(--dn-line);
}
.dn-design .dn-property-card {
    border-radius: 16px !important;
    border-color: var(--dn-line);
    box-shadow: 0 8px 20px rgb(12 71 169 / 6%);
}
.dn-design .dn-property-card > :first-child {
    aspect-ratio: 16/10;
}
.dn-design .dn-property-card h3 {
    text-align: left;
    font-size: 18px;
}
.dn-design .dn-property-card .text-rose-500 {
    color: var(--dn-blue);
}
.dn-design .fa-heart-o::before {
    content: "\f004";
    font-family: "Font Awesome 6 Free";
    font-weight: 400;
}
.dn-design .dn-property-card .top-3.left-3 > span {
    background: rgb(7 27 61 / 82%);
    color: #fff;
    border-radius: 8px;
}
.dn-design .dn-property-card .top-3.left-3 > span::before {
    content: "";
    display: inline-block;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--dn-cyan);
    margin-right: 6px;
}
.dn-design .dn-property-card :is(.gap-4, .justify-between) {
    flex-wrap: wrap;
}
.dn-page-properties-show .prop-nav-tab {
    min-height: 42px;
    color: var(--dn-navy);
}
.dn-page-properties-show .prop-nav-tab.active {
    background: var(--dn-gradient) !important;
    color: white;
}
.dn-page-properties-show .custom-slider::-webkit-slider-thumb {
    background: var(--dn-blue);
}
.dn-page-properties-show .custom-slider::-moz-range-thumb {
    background: var(--dn-blue);
    border: 2px solid white;
    border-radius: 50%;
}
.dn-page-properties-show
    #main-content
    :is(.text-rose-500, .text-rose-600):not(.fa-heart):not(.is-wishlisted) {
    color: var(--dn-blue);
}
.dn-page-properties-show .is-wishlisted .text-rose-600 {
    color: #e11d48 !important;
}
.dn-page-properties-show #main-content :is(.bg-rose-500, .bg-rose-600) {
    background: var(--dn-gradient);
}
.dn-page-properties-show #main-content .bg-purple-600 {
    background: var(--dn-blue);
}
.dn-page-properties-show #main-content > section:first-child {
    padding-block: 18px !important;
}
.dn-page-properties-show .prop-tab-content {
    max-width: 100%;
    overflow-x: auto;
}
.dn-page-properties-show .prop-tab-content :is(h2, h3, h4, p) {
    text-align: left;
}
.dn-page-properties-show .prop-tab-content h3 {
    color: var(--dn-navy);
    font-size: 21px;
}
.dn-page-properties-show .prop-tab-content table {
    width: 100%;
    min-width: 540px;
}
.dn-page-properties-show #propertyDetailsTabs {
    min-width: max-content;
}

/* Property detail: retain Laravel's tabs/forms but use the compact legacy
   Merlin Rise composition for the summary, gallery and enquiry column. */
.dn-page-properties-show #main-content > section:nth-child(2) {
    background: #f8fbfe;
    padding-block: 26px;
}
.dn-page-properties-show
    #main-content
    > section:nth-child(2)
    > .myContainer
    > .grid {
    gap: 16px;
}
.dn-page-properties-show
    #main-content
    > section:nth-child(2)
    > .myContainer
    > .grid
    > div:first-child {
    gap: 16px;
}
.dn-page-properties-show
    #main-content
    > section:nth-child(2)
    > .myContainer
    > .grid
    > div:first-child
    > .bg-white,
.dn-page-properties-show
    #main-content
    > section:nth-child(2)
    > .myContainer
    > .grid
    > div:last-child
    > .bg-white {
    border-color: #dbe8f2;
    border-radius: 14px;
    box-shadow: 0 8px 20px rgb(12 71 169 / 6%);
}
.dn-page-properties-show
    #main-content
    > section:nth-child(2)
    > .myContainer
    > .grid
    > div:first-child
    > .bg-white:first-child {
    padding: 18px 20px;
}
.dn-page-properties-show
    #main-content
    > section:nth-child(2)
    > .myContainer
    > .grid
    > div:first-child
    > .bg-white:first-child
    h1 {
    margin: 0 0 4px;
    color: #072d67;
    font-size: 24px;
    font-weight: 600 !important;
    line-height: 1.15;
    text-align: left !important;
}
.dn-page-properties-show
    #main-content
    > section:nth-child(2)
    > .myContainer
    > .grid
    > div:first-child
    > .bg-white:first-child
    p {
    font-size: 12px;
    font-weight: 400;
    text-align: left;
}
.dn-page-properties-show
    #main-content
    > section:nth-child(2)
    > .myContainer
    > .grid
    > div:first-child
    > .bg-white:first-child
    .text-2xl {
    color: #072d67;
    font-size: 22px;
    font-weight: 600 !important;
}
.dn-page-properties-show
    #main-content
    > section:nth-child(2)
    > .myContainer
    > .grid
    > div:first-child
    > .bg-white:first-child
    .mt-6 {
    margin-top: 14px;
    padding-top: 12px;
}
.dn-page-properties-show
    #main-content
    > section:nth-child(2)
    > .myContainer
    > .grid
    > div:first-child
    > .bg-white:first-child
    .btn {
    min-height: 32px;
    padding: 0 15px;
    font-size: 10px;
    font-weight: 500 !important;
}
.dn-page-properties-show
    #main-content
    > section:nth-child(2)
    > .myContainer
    > .grid
    > div:first-child
    > .bg-white:nth-child(2) {
    padding: 6px;
}
.dn-page-properties-show
    #main-content
    > section:nth-child(2)
    > .myContainer
    > .grid
    > div:first-child
    > .bg-white:nth-child(2)
    .grid {
    gap: 6px;
}
.dn-page-properties-show
    #main-content
    > section:nth-child(2)
    > .myContainer
    > .grid
    > div:first-child
    > .bg-white:nth-child(2)
    :is(.rounded-xl, .rounded-2xl) {
    border-radius: 9px;
}
.dn-page-properties-show #propertyDetailsTabs {
    gap: 0;
    font-weight: 500;
}
.dn-page-properties-show .prop-nav-tab {
    min-height: 34px;
    padding: 0 11px !important;
    font-size: 10px;
    font-weight: 500 !important;
}
.dn-page-properties-show .prop-tab-content h3 {
    margin-bottom: 16px;
    color: #062d67;
    font-size: 18px;
    font-weight: 600 !important;
}
.dn-page-properties-show .prop-tab-content .p-4 {
    padding: 13px;
    border-color: #dce7f0;
}
.dn-page-properties-show .prop-tab-content strong {
    font-weight: 600 !important;
}
.dn-page-properties-show
    #main-content
    > section:nth-child(2)
    > .myContainer
    > .grid
    > div:last-child
    > .bg-white {
    padding: 16px;
    border-radius: 14px;
}
.dn-page-properties-show
    #main-content
    > section:nth-child(2)
    > .myContainer
    > .grid
    > div:last-child
    h3 {
    color: #062d67;
    font-size: 17px;
    font-weight: 600 !important;
    text-align: left;
}
.dn-page-properties-show #propInquiryForm {
    gap: 10px;
}
.dn-page-properties-show
    #propInquiryForm
    :is(input:not([type="checkbox"]), textarea) {
    min-height: 38px;
    padding: 9px 12px;
    border-color: #d7e4ef;
    border-radius: 9px;
    font-size: 11px;
}
.dn-page-properties-show #propInquiryForm textarea {
    min-height: 70px;
}
.dn-page-properties-show #inquiry_submit_btn {
    min-height: 38px;
    padding-block: 0;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 600 !important;
}

/* Detail-page continuation sections from the legacy property template. */
.dn-detail-similar-section {
    padding: 56px 0 60px;
    background: #faf9f5;
}
.dn-detail-developers-section {
    padding: 56px 0 44px;
    background: #fff;
}
.dn-detail-section-heading {
    margin-bottom: 28px;
    text-align: center;
}
.dn-detail-section-heading h2 {
    margin: 0;
    color: #062d67;
    font-size: clamp(24px, 2.5vw, 32px);
    font-weight: 600 !important;
}
.dn-detail-section-heading h2 span {
    color: #1aaed7;
}
.dn-detail-section-heading p {
    margin: 7px 0 0;
    color: #6d8098;
    font-size: 12px;
    font-weight: 400;
}
.dn-detail-similar-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    max-width: 880px;
    margin: 0 auto;
    gap: 18px;
}
.dn-detail-similar-card {
    overflow: hidden;
    border: 1px solid #d8e0e8;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 7px 18px rgb(12 71 169 / 5%);
}
.dn-detail-similar-image {
    position: relative;
    display: block;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: #edf3f7;
}
.dn-detail-similar-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.25s ease;
}
.dn-detail-similar-card:hover img {
    transform: scale(1.04);
}
.dn-detail-similar-image span {
    position: absolute;
    bottom: 8px;
    left: 8px;
    padding: 5px 9px;
    border-radius: 7px;
    background: rgb(7 38 82 / 88%);
    color: #fff;
    font-size: 9px;
    font-weight: 500;
}
.dn-detail-similar-body {
    padding: 11px 12px;
}
.dn-detail-similar-body h3 {
    overflow: hidden;
    margin: 0 0 5px;
    color: #0a2857;
    font-size: 14px;
    font-weight: 600 !important;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.dn-detail-similar-body h3 a {
    color: inherit;
}
.dn-detail-similar-body p {
    overflow: hidden;
    margin: 0 0 4px;
    color: #72829a;
    font-size: 10px;
    font-weight: 400;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.dn-detail-similar-body .dn-detail-similar-location {
    padding-bottom: 8px;
    border-bottom: 1px solid #e8edf2;
}
.dn-detail-similar-body > div {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    padding-bottom: 9px;
    color: #73849a;
    font-size: 10px;
}
.dn-detail-similar-body strong {
    display: block;
    color: #15243a;
    font-size: 12px;
    font-weight: 600 !important;
}
.dn-detail-developer-logos {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    max-width: 980px;
    margin: 0 auto;
    gap: 16px;
}
.dn-detail-developer-logo {
    display: grid;
    height: 96px;
    padding: 16px;
    border: 1px solid #e1e9f0;
    border-radius: 15px;
    background: #fff;
    box-shadow: 0 9px 19px rgb(12 71 169 / 6%);
    place-items: center;
}
.dn-detail-developer-logo img {
    width: 100%;
    height: 58px;
    object-fit: contain;
}
.dn-detail-developer-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    max-width: 830px;
    margin: 28px auto 0;
    padding: 16px;
    border: 1px solid #d8eaf4;
    border-radius: 15px;
    background: linear-gradient(105deg, #fff, #edfaff);
}
.dn-detail-developer-stats > div {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0 10px;
    text-align: center;
}
.dn-detail-developer-stats > div + div {
    border-left: 1px solid #d9e8f1;
}
.dn-detail-developer-stats strong {
    color: #19a9d6;
    font-size: 19px;
    font-weight: 500 !important;
}
.dn-detail-developer-stats span {
    margin-top: 3px;
    color: #718098;
    font-size: 9px;
    font-weight: 400;
}
.dn-detail-developer-action {
    display: flex;
    width: max-content;
    align-items: center;
    gap: 7px;
    margin: 18px auto 0;
    padding: 9px 16px;
    border: 1px solid #bce4f2;
    border-radius: 999px;
    color: #0c57b7;
    font-size: 10px;
    font-weight: 500;
    box-shadow: 0 5px 12px rgb(12 71 169 / 7%);
}
@media (max-width: 767.98px) {
    .dn-detail-similar-section,
    .dn-detail-developers-section {
        padding-block: 40px;
    }
    .dn-detail-similar-grid {
        grid-template-columns: 1fr;
        max-width: 360px;
    }
    .dn-detail-developer-logos {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 10px;
    }
    .dn-detail-developer-logo {
        height: 75px;
        padding: 10px;
        border-radius: 11px;
    }
    .dn-detail-developer-logo img {
        height: 45px;
    }
    .dn-detail-developer-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 14px 0;
    }
    .dn-detail-developer-stats > div:nth-child(3) {
        border-left: 0;
    }
}

/* Editorial cards, legal copy and all rich-text detail views. */
.dn-design .dn-editorial-card {
    border: none !important;
    border-radius: 16px;
    box-shadow: 0 8px 18px rgb(12 71 169 / 5%);
}
.dn-design .dn-editorial-card h3 {
    text-align: left;
    font-size: 21px;
}
.dn-design .dn-editorial-card p {
    text-align: left;
}
.dn-design .dn-editorial-date {
    top: 12px;
    right: 12px;
    bottom: auto;
    min-width: 54px;
    min-height: 54px;
    padding: 9px 8px;
    border-radius: 12px;
    background: var(--dn-gradient);
    color: #fff;
}
.dn-design .dn-editorial-date span {
    color: #fff;
}
.dn-design .dn-editorial-date span:first-child {
    font-size: 16px !important;
}
.dn-design .dn-editorial-date span:last-child {
    font-size: 10px !important;
}
.dn-design :is(.article-content, .dn-article-prose, .dn-legal-copy) {
    color: var(--dn-muted);
    font-size: 16px;
    line-height: 1.8;
    overflow-wrap: anywhere;
    text-align: left;
}
.dn-design
    :is(.article-content, .dn-article-prose, .dn-legal-copy)
    :is(h2, h3, h4) {
    color: var(--dn-navy);
    margin: 28px 0 14px;
    line-height: 1.3;
    text-align: left;
}
.dn-design :is(.article-content, .dn-article-prose, .dn-legal-copy) p {
    font-size: 16px !important;
    line-height: 1.8;
    margin-bottom: 16px;
    text-align: left;
}
.dn-design :is(.article-content, .dn-article-prose) :is(ul, ol) {
    padding-left: 24px;
    margin-block: 16px;
    list-style: revert;
}
.dn-design :is(.article-content, .dn-article-prose) li {
    margin-bottom: 8px;
}
.dn-design :is(.article-content, .dn-article-prose) a {
    color: var(--dn-blue);
    text-decoration: underline;
}
.dn-design :is(.article-content, .dn-article-prose) blockquote {
    padding: 20px 24px;
    margin-block: 24px;
    border-left: 4px solid var(--dn-cyan);
    background: #eef6ff;
    border-radius: 0 16px 16px 0;
}
.dn-design :is(.article-content, .dn-article-prose) :is(img, video, iframe) {
    max-width: 100%;
    border-radius: 12px;
}
.dn-design :is(.article-content, .dn-article-prose) img {
    height: auto;
}
.dn-design :is(.article-content, .dn-article-prose) :is(table, pre) {
    display: block;
    max-width: 100%;
    overflow-x: auto;
}
.dn-design :is(.article-content, .dn-article-prose) :is(td, th) {
    padding: 12px;
    border: 1px solid var(--dn-line);
}
.dn-design :is(.article-content, .dn-article-prose) figcaption {
    font-size: 13px;
    color: var(--dn-muted);
    margin-top: 8px;
}
.dn-design :is(.dn-page-privacy, .dn-page-terms) {
    color: var(--dn-navy);
}
:is(.dn-page-privacy, .dn-page-terms) #main-content > section > .myContainer {
    max-width: 920px;
}
.dn-page-faq .faq-item {
    border-radius: 16px;
    border-color: var(--dn-line);
    box-shadow: 0 5px 15px rgb(12 71 169 / 4%);
}
.dn-page-faq #main-content > section:last-child {
    min-height: 0;
}
.dn-page-faq .dn-faq-hero {
    min-height: 355px;
    background:
        radial-gradient(
            circle at 15% 8%,
            rgba(25, 175, 216, 0.18),
            transparent 30%
        ),
        linear-gradient(115deg, #061b43, #0c47a9);
}
.dn-page-faq .dn-faq-hero::after {
    position: absolute;
    right: -120px;
    bottom: -180px;
    width: 430px;
    height: 430px;
    border: 1px solid rgb(255 255 255 / 18%);
    border-radius: 50%;
    content: "";
}
.dn-page-faq .dn-faq-hero h1 {
    max-width: 760px;
    margin-inline: auto;
    letter-spacing: -0.045em;
}
.dn-page-faq .dn-faq-hero #faqSearchInput {
    min-height: 56px;
    border-color: rgb(255 255 255 / 28%);
    background: rgb(255 255 255 / 13%);
    box-shadow: 0 16px 34px rgb(3 22 56 / 24%);
}
.dn-page-faq .dn-faq-workspace {
    background: linear-gradient(180deg, #f5faff 0, #f8fafc 400px);
}
.dn-page-faq .dn-faq-topics-card {
    border-color: #dbe8f4;
    border-radius: 20px;
    box-shadow: 0 12px 26px rgb(12 71 169 / 6%);
}
.dn-page-faq .dn-faq-advisory-card {
    position: relative;
    overflow: hidden;
    border: 1px solid rgb(255 255 255 / 12%);
    border-radius: 20px;
    background: var(--dn-gradient);
    box-shadow: 0 16px 30px rgb(12 71 169 / 20%);
}
.dn-page-faq .dn-faq-advisory-card::after {
    position: absolute;
    right: -34px;
    bottom: -45px;
    width: 145px;
    height: 145px;
    border: 1px solid rgb(255 255 255 / 16%);
    border-radius: 50%;
    content: "";
}
.dn-page-faq .dn-faq-advisory-card > * {
    position: relative;
    z-index: 1;
}
.dn-page-faq .faq-cat-nav-btn {
    min-height: 43px;
    padding: 9px 13px;
    border-color: #dce8f4;
    color: #47617f;
    font-size: 12px;
    font-weight: 500;
}
.dn-page-faq .faq-cat-nav-btn.active {
    box-shadow: 0 8px 18px rgb(12 71 169 / 19%) !important;
}
.dn-page-faq .faq-card {
    margin-bottom: 14px;
    border-color: #dce8f4;
    border-radius: 18px;
    box-shadow: 0 8px 18px rgb(12 71 169 / 4%);
}
.dn-page-faq .faq-card .faq-question-btn {
    min-height: 68px;
    padding: 17px 20px;
    color: #09275b;
    font-size: 14px;
    font-weight: 600;
}
.dn-page-faq .faq-card.is-active {
    border-color: #77c9e7 !important;
    background: #fff !important;
    box-shadow: 0 14px 28px rgb(12 71 169 / 9%) !important;
}

.dn-page-faq .faq-card .faq-answer-panel {
    padding: 18px 20px 22px;
    color: #526b88;
    background: #fff;
}
.dn-page-faq .dn-faq-results-meta {
    margin-bottom: 5px;
    color: #60728e;
}
@media (max-width: 991.98px) {
    .dn-page-faq .lg\\:col-span-4 {
        position: static;
    }
}
@media (max-width: 575.98px) {
    .dn-page-faq .dn-faq-hero {
        min-height: 0;
        padding-block: 52px 44px;
    }
    .dn-page-faq .dn-faq-hero h1 {
        font-size: 33px;
    }
    .dn-page-faq .dn-faq-hero #faqSearchInput {
        min-height: 50px;
    }
    .dn-page-faq .faq-card .faq-question-btn {
        padding: 15px;
        font-size: 13px;
    }
    .dn-page-faq .faq-card .faq-answer-panel {
        padding: 16px;
    }
}
.dn-page-not-found #main-content .myContainer {
    max-width: 620px;
}
.dn-page-thankyou #main-content .myContainer {
    max-width: 720px;
}

/* Newsroom family: Blog, Events and News share one Dreamnest editorial system. */
:is(.dn-page-blog-index, .dn-page-events-index, .dn-page-news-index)
    .dn-parity-hero {
    min-height: 290px;
    background:
        radial-gradient(
            circle at 14% 12%,
            rgb(25 175 216 / 14%),
            transparent 26%
        ),
        linear-gradient(115deg, #fafdff, #fff 57%, #edf9fe) !important;
}
:is(.dn-page-blog-index, .dn-page-events-index, .dn-page-news-index)
    .dn-parity-hero
    h1 {
    color: var(--dn-navy) !important;
    letter-spacing: -0.045em;
}
:is(.dn-page-blog-index, .dn-page-events-index, .dn-page-news-index)
    .dn-parity-hero
    p {
    color: #60728e !important;
}
:is(.dn-page-blog-index, .dn-page-events-index, .dn-page-news-index)
    .dn-parity-hero
    input {
    color: var(--dn-navy) !important;
    background: #fff !important;
    border-color: #dce8f4 !important;
    box-shadow: 0 12px 27px rgb(12 71 169 / 8%);
}
:is(.dn-page-blog-index, .dn-page-events-index, .dn-page-news-index)
    .dn-parity-hero
    input::placeholder {
    color: #8fa0b5 !important;
}
:is(.dn-page-blog-index, .dn-page-events-index, .dn-page-news-index)
    .dn-parity-hero
    form
    button,
.dn-page-events-index .bg-emerald-600,
.dn-page-events-index .hover\\:bg-emerald-700:hover {
    background: var(--dn-gradient) !important;
}
:is(.dn-page-blog-index, .dn-page-events-index, .dn-page-news-index)
    #main-content
    > section:last-child {
    background: linear-gradient(180deg, #f5faff 0, #f8fafc 440px) !important;
}
:is(.dn-page-blog-index, .dn-page-events-index, .dn-page-news-index)
    .dn-editorial-card {
    border: none !important;
    border-radius: 18px;
    box-shadow: 0 10px 23px rgb(12 71 169 / 6%);
}
:is(.dn-page-blog-index, .dn-page-events-index, .dn-page-news-index)
    .dn-editorial-card:hover {
    border: none !important;
    box-shadow: 0 18px 34px rgb(12 71 169 / 13%);
    transform: translateY(-4px);
}
:is(.dn-page-blog-index, .dn-page-events-index, .dn-page-news-index)
    .dn-editorial-card
    :is(h2, h3) {
    color: #09275b;
    font-weight: 600 !important;
    letter-spacing: -0.015em;
}
:is(.dn-page-blog-index, .dn-page-events-index, .dn-page-news-index)
    .dn-editorial-card
    p {
    color: #627792;
}
:is(.dn-page-blog-index, .dn-page-events-index, .dn-page-news-index)
    .dn-editorial-card
    :is(.font-extrabold, .font-black) {
    font-weight: 600 !important;
}
.dn-editorial-tabs {
    width: fit-content;
    max-width: 1180px;
    margin-inline: auto;
    padding: 5px !important;
    overflow-x: auto;
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
    scrollbar-width: none;
    border: none !important;
}
.dn-editorial-tabs::-webkit-scrollbar {
    display: none;
}
.dn-editorial-tabs > a {
    flex: 0 0 auto;
    min-height: 38px;
    padding: 0 18px !important;
    border: none !important;
    color: #385370;
    background: #fff;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 0.12px;
    line-height: 36px;
    white-space: nowrap;
    box-shadow: 0 4px 12px rgba(12, 71, 169, 0.05);
}
.dn-editorial-tabs > a:is(.bg-blue-700, .bg-sky-500, .bg-emerald-600) {
    border-color: transparent;
    color: #fff !important;
    background: linear-gradient(135deg, #0c47a9, #19afd8) !important;
    box-shadow: 0 7px 16px rgb(12 71 169 / 23%) !important;
}
:is(.dn-page-blog-index, .dn-page-events-index, .dn-page-news-index)
    .dn-editorial-card
    .p-6,
:is(.dn-page-blog-index, .dn-page-events-index, .dn-page-news-index)
    .dn-editorial-card
    .p-6
    > * {
    text-align: left;
}
:is(.dn-page-blog-index, .dn-page-events-index, .dn-page-news-index)
    .dn-editorial-card
    .p-6
    .flex {
    justify-content: flex-start;
}
:is(.dn-page-blog-index, .dn-page-events-index, .dn-page-news-index)
    .dn-editorial-card
    .p-6
    .justify-between {
    justify-content: space-between;
}
.dn-editorial-pagination nav > div:first-child {
    display: none;
}
.dn-editorial-pagination nav > div:last-child {
    display: flex;
    align-items: center;
    gap: 4px;
}
.dn-editorial-pagination nav a,
.dn-editorial-pagination nav span {
    display: inline-grid;
    min-width: 38px;
    min-height: 38px;
    padding: 0 10px;
    place-items: center;
    border: 1px solid #d8e5f0;
    border-radius: 10px;
    color: #41617f;
    background: #fff;
    font-size: 12px;
    font-weight: 600;
    text-decoration: none;
    box-shadow: 0 4px 11px rgb(12 71 169 / 4%);
}
.dn-editorial-pagination nav [aria-current="page"] span,
.dn-editorial-pagination nav span[aria-current="page"] {
    border-color: transparent;
    color: #fff;
    background: linear-gradient(135deg, #0c47a9, #19afd8);
    box-shadow: 0 7px 16px rgb(12 71 169 / 22%);
}
.dn-editorial-pagination nav a:hover {
    border-color: #19afd8;
    color: #0c47a9;
}
.dn-page-events-index .text-emerald-600,
.dn-page-events-index .hover\\:text-emerald-600:hover {
    color: var(--dn-blue) !important;
}
.dn-page-events-index .bg-emerald-600.text-white {
    color: #fff !important;
}
.dn-page-events-index .dn-events-category-tabs > a.bg-emerald-600 {
    color: #fff !important;
    background: linear-gradient(135deg, #0c47a9 0%, #19afd8 100%) !important;
    box-shadow: 0 7px 16px rgb(12 71 169 / 26%) !important;
}

/* Property results follow the compact legacy card rhythm. */
@media (min-width: 1280px) {
    .dn-page-properties-index .dn-compact-property-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 20px;
    }
}
.dn-page-properties-index .dn-compact-property-card {
    border-color: #d8e0e8;
    border-radius: 16px;
    box-shadow: none;
    height: 100% !important;
    align-self: start;
}
.dn-page-properties-index .dn-compact-property-card:hover {
    border-color: #a9d8e9;
    box-shadow: 0 10px 22px rgb(12 71 169 / 10%);
    transform: translateY(-3px);
}

/* Padded image wrapper — creates the inset/card-in-card image look */
.dn-padded-photo-wrapper {
    padding: 10px 10px 0 10px !important;
}
.dn-padded-photo-wrapper > .relative {
    border-radius: 12px !important;
    overflow: hidden !important;
}
.dn-padded-photo-wrapper img {
    aspect-ratio: 16 / 10;
    width: 100%;
    height: auto;
    object-fit: cover;
    display: block;
}

/* Card body */
.dn-card-body {
    padding: 14px 14px 16px !important;
    overflow: hidden !important;
    min-width: 0 !important;
}

/* Title + RERA row — the wrapper flex row */
.dn-card-body > div > .flex {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
}

/* Title */
.dn-compact-property-card h3 {
    overflow: hidden !important;
    margin: 0 !important;
    min-width: 0 !important;
    color: #111 !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    flex: 1 1 0% !important;
}
.dn-compact-property-card h3 a {
    color: inherit !important;
    text-decoration: none !important;
}
.dn-compact-property-card:hover h3,
.dn-compact-property-card:hover h3 a {
    color: #0c47a9 !important;
}

/* RERA badge (inline with title) */
.dn-compact-property-card .dn-rera-badge {
    display: inline-flex !important;
    align-items: center !important;
    flex-shrink: 0 !important;
    gap: 4px !important;
    padding: 4px 6px !important;
    border-radius: 999px !important;
    color: #6d6d6d !important;
    background: #f2f2f2 !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    white-space: nowrap !important;
    line-height: 1 !important;
}
.dn-compact-property-card .dn-rera-badge i {
    color: #20a34a !important;
    font-size: 11px !important;
}

/* Developer */
.dn-compact-property-card .dn-compact-developer {
    overflow: hidden !important;
    margin: 6px 0 0 !important;
    padding: 0 !important;
    color: #0c7fba !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    text-align: left !important;
}

/* Location */
.dn-compact-property-card .dn-compact-location {
    overflow: hidden !important;
    margin: 2px 0 0 !important;
    padding: 0 !important;
    color: #47607b !important;
    font-size: 11px !important;
    line-height: 1.3 !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    text-align: left !important;
}

/* Meta row */
.dn-compact-property-card .dn-compact-meta {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    margin-top: 10px !important;
    padding: 9px 0 !important;
    border-top: 1px solid #e8e8e8 !important;
    border-bottom: none !important;
    color: #53657b !important;
    font-size: 11px !important;
    line-height: 1.25 !important;
}
.dn-compact-property-card .dn-compact-meta span:last-child {
    text-align: right !important;
}

/* Footer: price + contact */
.dn-compact-property-card .dn-compact-footer {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    margin-top: 0 !important;
    padding-top: 10px !important;
    border-top: 1px solid #e8e8e8 !important;
}
.dn-compact-property-card .dn-compact-footer .text-base {
    color: #111 !important;
    font-size: 15px !important;
    font-weight: 700 !important;
}

/* Contact button */
.dn-contact-btn {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 32px !important;
    padding: 0 16px !important;
    border-radius: 999px !important;
    color: #0c47a9 !important;
    background: #eef7fc !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    transition:
        color 0.2s,
        background 0.2s !important;
    white-space: nowrap !important;
    flex-shrink: 0 !important;
}
.dn-contact-btn:hover {
    color: #fff !important;
    background: linear-gradient(135deg, #0c47a9, #19afd8) !important;
    text-decoration: none !important;
}

/* Status badge on image */
.dn-compact-property-card .dn-property-status {
    display: inline-flex;
    min-height: 28px;
    align-items: center;
    gap: 6px;
    padding: 0 10px;
    border: 1px solid rgba(255, 255, 255, 0.26);
    border-radius: 8px;
    color: #fff;
    background: rgba(5, 27, 62, 0.84);
    box-shadow: 0 4px 12px rgba(5, 27, 62, 0.2);
    backdrop-filter: blur(9px);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.5px;
    line-height: 1;
    text-transform: uppercase;
}
.dn-compact-property-card .dn-status-dot {
    display: block;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #19afd8;
    box-shadow: 0 0 0 3px rgba(25, 175, 216, 0.16);
}

@media (max-width: 575.98px) {
    .dn-page-properties-index .dn-compact-property-card h3 {
        white-space: normal;
    }
}

/* Compact Advanced Search panel: follows the reference panel proportions without
   changing the Laravel query field names or submission flow. */
.dn-page-properties-index .dn-property-filter {
    padding: 20px;
    border: 1px solid #d9e7f3;
    border-radius: 18px;
    box-shadow: 0 10px 28px rgb(13 48 95 / 7%);
}
.dn-page-properties-index .dn-property-filter > div:first-child {
    justify-content: center;
    padding-bottom: 14px;
    border: 0;
}
.dn-page-properties-index .dn-property-filter h2 {
    color: #063d85;
    font-size: 18px;
    font-weight: 600 !important;
}
.dn-page-properties-index .dn-property-filter h2 i {
    display: none;
}
.dn-page-properties-index .dn-property-filter > div:first-child a {
    position: absolute;
    top: 22px;
    right: 20px;
    color: #0c57b7;
    font-size: 10px;
    font-weight: 500;
}
.dn-page-properties-index .dn-property-filter-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px 12px;
}
.dn-page-properties-index .dn-property-filter-form > div {
    min-width: 0;
    margin: 0;
}
.dn-page-properties-index .dn-property-filter-form > div:nth-child(-n + 5),
.dn-page-properties-index .dn-property-filter-form > div:nth-child(6),
.dn-page-properties-index .dn-property-filter-form > div:last-child {
    grid-column: 1 / -1;
}
.dn-page-properties-index .dn-property-filter label {
    margin: 0 0 5px;
    color: #25446f;
    font-size: 10px;
    font-weight: 500 !important;
}
.dn-page-properties-index .dn-property-filter :is(.form-control, .form-select) {
    min-height: 46px;
    padding: 0 13px;
    border: 1px solid #cfe0f3;
    border-radius: 12px;
    background-color: #fbfdff;
    color: #45628c;
    font-size: 12px;
    font-weight: 400;
    box-shadow: none;
}
.dn-page-properties-index .dn-property-filter .form-control {
    padding-left: 32px;
}
.dn-page-properties-index .dn-property-filter .fa-search {
    top: 17px;
    color: #7b99bc;
}
.dn-page-properties-index .dn-property-filter .btn {
    min-height: 42px;
    border-radius: 999px;
    background: linear-gradient(135deg, #0c4cae, #1aaed7);
    font-size: 11px;
    font-weight: 600 !important;
    box-shadow: 0 7px 16px rgb(12 71 169 / 16%);
}
.dn-page-properties-index .dn-property-filter .btn:hover {
    background: linear-gradient(135deg, #083887, #078eb8);
}
@media (max-width: 1023.98px) {
    .dn-page-properties-index .dn-property-filter-form {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 440px) {
    .dn-page-properties-index .dn-property-filter-form {
        grid-template-columns: 1fr;
    }
    .dn-page-properties-index .dn-property-filter-form > div {
        grid-column: auto !important;
    }
}
@media (max-width: 575.98px) {
    :is(.dn-page-blog-index, .dn-page-events-index, .dn-page-news-index)
        .dn-parity-hero {
        min-height: 0;
        padding-block: 48px 42px;
    }
}

/* Home already uses the reference components; repair migration-only gaps. */
.dn-page-home .testimonial-info-5 {
    height: 100%;
    padding: 26px;
    border: 1px solid var(--dn-line);
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 9px 22px rgb(12 71 169 / 6%);
}
.dn-page-home .testimonial-info-5 .intro {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 18px;
}
.dn-page-home .testimonial-info-5 .user-avatar {
    flex: 0 0 60px;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    overflow: hidden;
}
.dn-page-home .testimonial-info-5 .user-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.dn-page-home .testimonial-info-5 .user-name {
    min-width: 0;
}
.dn-page-home .testimonial-info-5 h5 {
    margin: 0;
    color: var(--dn-navy);
    font-size: 16px;
    text-align: left;
}
.dn-page-home .testimonial-info-5 .user-name p {
    margin: 5px 0 0;
    font-size: 12px;
    text-align: left;
}
.dn-page-home .testimonial-info-5 .dn-customer-header {
    flex-wrap: wrap;
}
.dn-page-home .testimonial-info-5 .dn-testimonial-quote {
    font-size: 14px;
    line-height: 1.75;
    color: var(--dn-muted);
    text-align: left;
}
.dn-page-home .dn-cta-section .bg-amber-400 {
    background: var(--dn-gradient);
    color: #fff;
}

/* Authentication stays standalone; recovery uses the same split-screen visual. */
.dn-auth .contact-section .bg-login-ing {
    background:
        linear-gradient(135deg, rgb(7 27 61 / 78%), rgb(12 71 169 / 65%)),
        url("../frontend/image/slider/img-4.jpg") center / cover !important;
}
.dn-auth .contact-section .login-inner-form .form-control,
.dn-auth-recovery .form-control {
    min-height: 48px;
    border-radius: 12px;
    border-color: var(--dn-line);
    background: #fbfdff;
    font-size: 14px;
}
.dn-auth .contact-section .login-inner-form .btn-theme {
    background: var(--dn-gradient);
    border-color: transparent;
    border-radius: 999px;
}
.dn-auth-recovery {
    padding: 32px;
    background:
        linear-gradient(135deg, rgb(7 27 61 / 80%), rgb(12 71 169 / 60%)),
        url("../frontend/image/slider/img-4.jpg") center / cover fixed;
}
.dn-auth-recovery > .bg-white {
    position: relative;
    max-width: 470px;
    border-radius: 22px;
    box-shadow: 0 24px 60px rgb(7 27 61 / 20%);
}
.dn-auth-recovery p.text-xs {
    font-size: 14px;
    line-height: 1.65;
}

@media (min-width: 1024px) {
    .dn-page-properties-index
        #main-content
        > section:nth-child(2)
        > .myContainer
        > .grid,
    .dn-page-properties-show
        #main-content
        > section:nth-child(2)
        > .myContainer
        > .grid {
        grid-template-columns: minmax(0, 1fr) 300px;
    }
    .dn-page-properties-index
        #main-content
        > section:nth-child(2)
        > .myContainer
        > .grid {
        grid-template-columns: 300px minmax(0, 1fr);
    }
    :is(.dn-page-properties-index, .dn-page-properties-show)
        #main-content
        > section:nth-child(2)
        > .myContainer
        > .grid
        > div {
        grid-column: auto;
    }
    .dn-page-properties-show
        #main-content
        > section:nth-child(2)
        > .myContainer
        > .grid
        > div:last-child {
        position: sticky;
        top: 84px;
    }
    .dn-auth-recovery {
        padding-left: calc(55% + 32px);
    }
    .dn-auth-recovery::before {
        content: "Dreamnest Realtors";
        position: absolute;
        left: 7%;
        top: 43%;
        width: 40%;
        color: #fff;
        font-size: clamp(36px, 4vw, 58px);
        font-weight: 700;
        line-height: 1.2;
    }
}
@media (max-width: 1023px) {
    .dn-design .dn-parity-editorial-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 36px;
    }
    .dn-design .dn-career-art {
        max-width: 560px;
        margin: auto;
    }
    .dn-page-contact .dn-contact-grid {
        gap: 0;
    }
    .dn-design #main-content .sticky {
        position: static;
    }
    .dn-page-about .dn-parity-hero .grid {
        gap: 40px;
    }
}
@media (max-width: 767px) {
    .dn-design #main-content > section {
        padding-block: 40px;
    }
    .dn-design #main-content :is(.p-8, .p-10, .p-12) {
        padding: 24px;
    }
    .dn-design
        #main-content
        :is(
            input:not([type="checkbox"]):not([type="radio"]):not(
                    [type="range"]
                ),
            select,
            textarea
        ) {
        font-size: 16px;
    }
    .dn-design #main-content nav {
        flex-wrap: wrap;
    }
    .dn-design .dn-parity-art {
        min-height: 290px;
        max-width: 390px;
    }
    .dn-design .dn-parity-art .dn-parity-main-photo {
        height: 245px;
        border-width: 5px;
    }
    .dn-design .dn-parity-small-photo {
        height: 135px;
        border-width: 5px;
    }
    .dn-design .dn-parity-trust {
        width: 84px;
        height: 86px;
        min-height: 86px;
        padding: 8px;
        border-width: 4px;
    }
    .dn-design .dn-parity-trust > :first-child {
        font-size: 25px;
    }
    .dn-design .dn-parity-trust > :last-child {
        font-size: 8px;
    }
    .dn-page-about .dn-team-grid {
        grid-template-columns: minmax(0, 1fr);
        max-width: 420px;
    }
    .dn-page-contact .dn-contact-grid {
        margin-top: 70px;
    }
    .dn-page-contact .dn-contact-form-card {
        padding-top: 48px !important;
    }
    .dn-page-contact .dn-contact-stamp {
        width: 116px;
        top: -66px;
        right: 10px;
    }
    .dn-page-contact :is(.dn-contact-assurances, .dn-office-map) {
        grid-template-columns: minmax(0, 1fr);
    }
    .dn-page-contact .dn-contact-assurance + .dn-contact-assurance {
        border-left: 0;
        border-top: 1px solid rgb(255 255 255 / 20%);
    }
    .dn-page-contact .dn-contact-assurance {
        padding: 24px 18px;
    }
    .dn-page-contact .dn-office-map iframe {
        min-height: 300px;
    }
    .dn-page-contact .dn-parity-heading {
        margin-bottom: 30px;
    }
    .dn-page-properties-show #main-content .items-center.gap-3.mt-6 {
        flex-wrap: wrap;
    }
    .dn-page-home .slick-list {
        max-width: 100%;
    }
    .dn-page-home .dn-featured-slider {
        margin-inline: 0;
    }
    .dn-design
        :is(
            .slick-slider,
            .dn-featured-slider,
            .dn-category-slider,
            .dn-city-slider,
            .dn-service-slider,
            .dn-partners-slider
        ) {
        overflow: visible;
    }
    .dn-design
        :is(
            .slick-slider,
            .dn-featured-slider,
            .dn-category-slider,
            .dn-city-slider,
            .dn-service-slider,
            .dn-partners-slider
        )
        > .slick-list {
        overflow: hidden;
    }
    .dn-design
        :is(
            .slick-arrow,
            .dn-service-arrow,
            .dn-city-arrow,
            .dn-category-arrow
        ) {
        max-width: 34px;
        max-height: 34px;
        z-index: 5;
    }
    .dn-design
        :is(
            .slick-next,
            .dn-service-arrow--next,
            .dn-city-arrow--next,
            .dn-category-arrow--next
        ) {
        right: -2px !important;
    }
    .dn-design
        :is(
            .slick-prev,
            .dn-service-arrow--prev,
            .dn-city-arrow--prev,
            .dn-category-arrow--prev
        ) {
        left: -2px !important;
    }
    .dn-design .enquire-floating {
        right: 12px;
        bottom: 16px;
        top: auto;
    }
    .dn-design .whatsapp-floating {
        left: 12px;
        bottom: 16px;
        top: auto;
    }
    .dn-auth-recovery {
        padding: 24px 20px;
    }
}
:is(html, body, #main-content, main, .dn-design) {
    max-width: 100%;
    overflow-x: clip;
}
@media (prefers-reduced-motion: reduce) {
    .dn-design
        :is(
            .dn-parity-art,
            .dn-property-card,
            .dn-editorial-card,
            .dn-career-art
        )
        * {
        transition: none !important;
        animation: none !important;
    }
}

/* =====================================================================
   Tailwind-wins spacing overrides
   =====================================================================
   Bootstrap 5 declares .mt-*, .mb-*, .p-*, etc. with !important, which
   blocks Tailwind's spacing utilities from taking effect.
   Because this stylesheet loads LAST, re-declaring the same selectors
   with !important + Tailwind's default spacing scale ensures Tailwind
   values always win.

   Tailwind default spacing scale (1 unit = 0.25rem):
     0 → 0        1 → 0.25rem   2 → 0.5rem    3 → 0.75rem
     4 → 1rem     5 → 1.25rem   auto → auto
   ===================================================================== */

/* --- margin (all sides) --- */
.m-0 {
    margin: 0 !important;
}
.m-1 {
    margin: 0.25rem !important;
}
.m-2 {
    margin: 0.5rem !important;
}
.m-3 {
    margin: 0.75rem !important;
}
.m-4 {
    margin: 1rem !important;
}
.m-5 {
    margin: 1.25rem !important;
}
.m-auto {
    margin: auto !important;
}

/* --- margin-x (left + right) --- */
.mx-0 {
    margin-left: 0 !important;
    margin-right: 0 !important;
}
.mx-1 {
    margin-left: 0.25rem !important;
    margin-right: 0.25rem !important;
}
.mx-2 {
    margin-left: 0.5rem !important;
    margin-right: 0.5rem !important;
}
.mx-3 {
    margin-left: 0.75rem !important;
    margin-right: 0.75rem !important;
}
.mx-4 {
    margin-left: 1rem !important;
    margin-right: 1rem !important;
}
.mx-5 {
    margin-left: 1.25rem !important;
    margin-right: 1.25rem !important;
}
.mx-auto {
    margin-left: auto !important;
    margin-right: auto !important;
}

/* --- margin-y (top + bottom) --- */
.my-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}
.my-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
}
.my-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
}
.my-3 {
    margin-top: 0.75rem !important;
    margin-bottom: 0.75rem !important;
}
.my-4 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
}
.my-5 {
    margin-top: 1.25rem !important;
    margin-bottom: 1.25rem !important;
}
.my-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
}

/* --- margin-top --- */
.mt-0 {
    margin-top: 0 !important;
}
.mt-1 {
    margin-top: 0.25rem !important;
}
.mt-2 {
    margin-top: 0.5rem !important;
}
.mt-3 {
    margin-top: 0.75rem !important;
}
.mt-4 {
    margin-top: 1rem !important;
}
.mt-5 {
    margin-top: 1.25rem !important;
}
.mt-auto {
    margin-top: auto !important;
}

/* --- margin-bottom --- */
.mb-0 {
    margin-bottom: 0 !important;
}
.mb-1 {
    margin-bottom: 0.25rem !important;
}
.mb-2 {
    margin-bottom: 0.5rem !important;
}
.mb-3 {
    margin-bottom: 0.75rem !important;
}
.mb-4 {
    margin-bottom: 1rem !important;
}
.mb-5 {
    margin-bottom: 1.25rem !important;
}
.mb-auto {
    margin-bottom: auto !important;
}

/* --- margin-inline-end (Bootstrap: me-*) --- */
.me-0 {
    margin-right: 0 !important;
}
.me-1 {
    margin-right: 0.25rem !important;
}
.me-2 {
    margin-right: 0.5rem !important;
}
.me-3 {
    margin-right: 0.75rem !important;
}
.me-4 {
    margin-right: 1rem !important;
}
.me-5 {
    margin-right: 1.25rem !important;
}
.me-auto {
    margin-right: auto !important;
}

/* --- margin-inline-start (Bootstrap: ms-*) --- */
.ms-0 {
    margin-left: 0 !important;
}
.ms-1 {
    margin-left: 0.25rem !important;
}
.ms-2 {
    margin-left: 0.5rem !important;
}
.ms-3 {
    margin-left: 0.75rem !important;
}
.ms-4 {
    margin-left: 1rem !important;
}
.ms-5 {
    margin-left: 1.25rem !important;
}
.ms-auto {
    margin-left: auto !important;
}

/* --- padding (all sides) --- */
.p-0 {
    padding: 0 !important;
}
.p-1 {
    padding: 0.25rem !important;
}
.p-2 {
    padding: 0.5rem !important;
}
.p-3 {
    padding: 0.75rem !important;
}
.p-4 {
    padding: 1rem !important;
}
.p-5 {
    padding: 1.25rem !important;
}

/* --- padding-x (left + right) --- */
.px-0 {
    padding-left: 0 !important;
    padding-right: 0 !important;
}
.px-1 {
    padding-left: 0.25rem !important;
    padding-right: 0.25rem !important;
}
.px-2 {
    padding-left: 0.5rem !important;
    padding-right: 0.5rem !important;
}
.px-3 {
    padding-left: 0.75rem !important;
    padding-right: 0.75rem !important;
}
.px-4 {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
}
.px-5 {
    padding-left: 1.25rem !important;
    padding-right: 1.25rem !important;
}

/* --- padding-y (top + bottom) --- */
.py-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}
.py-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
}
.py-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
}
.py-3 {
    padding-top: 0.75rem !important;
    padding-bottom: 0.75rem !important;
}
.py-4 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
}
.py-5 {
    padding-top: 1.25rem !important;
    padding-bottom: 1.25rem !important;
}

/* --- padding-top --- */
.pt-0 {
    padding-top: 0 !important;
}
.pt-1 {
    padding-top: 0.25rem !important;
}
.pt-2 {
    padding-top: 0.5rem !important;
}
.pt-3 {
    padding-top: 0.75rem !important;
}
.pt-4 {
    padding-top: 1rem !important;
}
.pt-5 {
    padding-top: 1.25rem !important;
}

/* --- padding-bottom --- */
.pb-0 {
    padding-bottom: 0 !important;
}
.pb-1 {
    padding-bottom: 0.25rem !important;
}
.pb-2 {
    padding-bottom: 0.5rem !important;
}
.pb-3 {
    padding-bottom: 0.75rem !important;
}
.pb-4 {
    padding-bottom: 1rem !important;
}
.pb-5 {
    padding-bottom: 1.25rem !important;
}

/* --- padding-inline-end (Bootstrap: pe-*) --- */
.pe-0 {
    padding-right: 0 !important;
}
.pe-1 {
    padding-right: 0.25rem !important;
}
.pe-2 {
    padding-right: 0.5rem !important;
}
.pe-3 {
    padding-right: 0.75rem !important;
}
.pe-4 {
    padding-right: 1rem !important;
}
.pe-5 {
    padding-right: 1.25rem !important;
}

/* --- padding-inline-start (Bootstrap: ps-*) --- */
.ps-0 {
    padding-left: 0 !important;
}
.ps-1 {
    padding-left: 0.25rem !important;
}
.ps-2 {
    padding-left: 0.5rem !important;
}
.ps-3 {
    padding-left: 0.75rem !important;
}
.ps-4 {
    padding-left: 1rem !important;
}
.ps-5 {
    padding-left: 1.25rem !important;
}

/* --- gap utilities (also conflict 3+) --- */
.gap-0 {
    gap: 0 !important;
}
.gap-1 {
    gap: 0.25rem !important;
}
.gap-2 {
    gap: 0.5rem !important;
}
.gap-3 {
    gap: 0.75rem !important;
}
.gap-4 {
    gap: 1rem !important;
}
.gap-5 {
    gap: 1.25rem !important;
}

/* Shared treatment for all eleven property detail tabs. */
.dn-page-properties-show #main-content .dn-detail-tab-rail {
    padding: 8px;
    border-radius: 16px;
    scrollbar-width: thin;
    scrollbar-color: #acd6eb transparent;
}
.dn-page-properties-show #propertyDetailsTabs .prop-nav-tab {
    min-height: 40px;
    padding: 0 14px !important;
    color: #426080;
    font-size: 12px;
    font-weight: 500 !important;
    white-space: nowrap;
}
.dn-page-properties-show #propertyDetailsTabs .prop-nav-tab.active {
    color: white !important;
    background: linear-gradient(110deg, #0c47a9, #19afd8) !important;
    box-shadow: 0 4px 10px rgb(12 71 169 / 16%);
}
.dn-page-properties-show .prop-nav-tab:focus-visible,
.dn-page-properties-show #faqAccordion button:focus-visible {
    outline: 2px solid #19afd8;
    outline-offset: -3px;
}
.dn-page-properties-show #main-content .dn-detail-tab-panel {
    min-height: 0;
    padding: 24px;
    border: 1px solid #dbe7f2;
    border-radius: 18px;
}
.dn-page-properties-show .prop-tab-content {
    color: #546b86;
    font-size: 14px;
    line-height: 1.75;
    text-align: left;
}
.dn-page-properties-show .prop-tab-content h3 {
    margin: 0 0 20px !important;
    padding-bottom: 12px;
    border-bottom: 1px solid #e5edf5;
    font-size: 21px !important;
    line-height: 1.35;
}
.dn-page-properties-show .prop-tab-content :is(p, .whitespace-pre-line) {
    font-family: inherit;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.85;
    text-align: left;
}
.dn-page-properties-show .prop-tab-content :is(table th, table td) {
    padding: 13px 16px;
    text-align: left;
    font-size: 13px;
    font-weight: 400;
}
.dn-page-properties-show .prop-tab-content table th {
    color: #0c47a9;
    background: #eef8fd;
    font-weight: 600;
}
.dn-page-properties-show .prop-tab-content tbody tr:nth-child(even) {
    background: #f8fbfe;
}
.dn-page-properties-show #tab_details > .grid {
    gap: 12px !important;
}
.dn-page-properties-show #tab_details > .grid > div {
    padding: 16px;
    background: #f7fbfe;
    text-align: left;
    box-shadow: none;
}
.dn-page-properties-show #tab_details > .grid > div span {
    font-size: 12px;
    color: #6e839d;
}
.dn-page-properties-show #tab_details > .grid > div strong {
    font-size: 14px;
    color: #143b6a;
}
.dn-page-properties-show #tab_details > .border-l-4 {
    background: #eefaff;
    border-left-color: #19afd8;
    text-align: left;
    font-weight: 400;
}
.dn-page-properties-show #tab_features > .grid > .flex {
    min-height: 66px;
    padding: 14px;
    background: #f8fcff;
    border: 1px solid #dfebf5;
    border-radius: 12px;
    font-size: 13px;
    font-weight: 500;
}
.dn-page-properties-show #tab_features i {
    display: grid;
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    border-radius: 9px;
    background: #e6f5fc;
    color: #139dc9;
    place-items: center;
}
.dn-page-properties-show
    :is(#tab_specification, #tab_payment)
    > .whitespace-pre-line {
    padding: 20px;
    border-left: 3px solid #19afd8;
    background: #f8fcff;
}
.dn-page-properties-show #tab_location .lg\:col-span-5 > div {
    justify-content: flex-start;
    padding: 13px 16px;
    border-radius: 12px;
    background: #f7fbfe;
    text-align: left;
    font-size: 13px;
    font-weight: 400;
}
.dn-page-properties-show #tab_emi .text-purple-600 {
    color: #0c47a9;
    font-weight: 500;
}
.dn-page-properties-show #tab_emi .custom-slider {
    margin: 12px 0;
    background: #d5e8f5;
}
.dn-page-properties-show #tab_emi .grid-cols-3 > div {
    padding: 12px;
    border: 1px solid #dce9f4;
    border-radius: 12px;
    background: #f6fbff;
    overflow-wrap: anywhere;
}
.dn-page-properties-show #label_monthly_emi {
    color: #0c47a9;
    font-size: 26px;
    font-weight: 600;
}
.dn-page-properties-show #tab_rating > .p-4 {
    padding: 20px;
    background: #f7fbfe;
    box-shadow: none;
}
.dn-page-properties-show #tab_developer > .p-6 {
    padding: 20px;
    background: #f8fcff;
}
.dn-page-properties-show #tab_developer h4 {
    font-size: 18px;
    letter-spacing: 0;
    text-transform: none;
    font-weight: 600;
}
.dn-page-properties-show #tab_developer .grid-cols-4 {
    gap: 12px !important;
}
.dn-page-properties-show #faqAccordion > div {
    border: 1px solid #d9e7f3;
    border-radius: 13px;
    box-shadow: none;
}
.dn-page-properties-show #faqAccordion button {
    gap: 14px;
    min-height: 58px;
    padding: 16px 18px;
    color: #173f70;
    background: #fafdff;
    text-align: left;
    font-size: 14px;
    font-weight: 500 !important;
    line-height: 1.5;
}
.dn-page-properties-show #faqAccordion button:hover {
    background: #eff8fd;
}
.dn-page-properties-show #faqAccordion button i {
    display: grid;
    flex-shrink: 0;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    color: #0c74b8;
    background: #eaf6fc;
    place-items: center;
}
.dn-page-properties-show #faqAccordion [id^="faq_"] {
    padding: 16px 18px;
    color: #546b86;
    font-size: 14px;
    line-height: 1.8;
    text-align: left;
}
.dn-page-properties-show #faqAccordion > div:has([id^="faq_"]:not(.hidden)) {
    border-color: #9ed6ec;
}
@media (max-width: 767.98px) {
    .dn-page-properties-show #main-content .dn-detail-tab-panel {
        padding: 18px 16px;
    }
    .dn-page-properties-show #tab_emi .grid-cols-3 {
        grid-template-columns: 1fr;
    }
    .dn-page-properties-show #tab_developer .grid-cols-4 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        width: 100%;
    }
    .dn-page-properties-show #tab_developer > .p-6 > .flex {
        flex-direction: column;
        align-items: flex-start;
    }
}

/* Match the legacy property summary without changing its action handlers. */
.dn-page-properties-show #main-content .dn-legacy-detail-summary {
    padding: 22px 24px 16px !important;
    border: 1px solid #d7e6f5 !important;
    border-left: 4px solid #19afd8 !important;
    border-radius: 20px !important;
    box-shadow: 0 12px 30px rgb(12 71 169 / 6%) !important;
}
.dn-page-properties-show #main-content .dn-legacy-detail-summary h1 {
    font-size: 32px !important;
    line-height: 1.18 !important;
    font-weight: 700 !important;
}
.dn-page-properties-show
    #main-content
    .dn-legacy-detail-summary
    .dn-summary-address {
    font-size: 14px !important;
    margin: 8px 0 !important;
}
.dn-page-properties-show .dn-summary-address i {
    color: #19afd8;
    margin-right: 5px;
}
.dn-page-properties-show #main-content .dn-summary-developer {
    font-size: 14px;
    font-weight: 400;
}
.dn-page-properties-show #main-content .dn-summary-developer > span {
    padding: 4px 12px;
    border: 1px solid #b7e2f3;
    border-radius: 999px;
    background: #effaff;
    color: #0c47a9;
    font-weight: 500 !important;
    cursor: pointer;
    transition:
        background 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease,
        box-shadow 0.25s ease;
}
.dn-page-properties-show #main-content .dn-summary-developer > span:hover {
    background: #ddf2fb;
    border-color: #19afd8;
    color: #082f6d;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(25, 175, 216, 0.18);
}
.dn-page-properties-show #main-content .dn-summary-pills {
    gap: 8px !important;
}
.dn-page-properties-show #main-content .dn-summary-pills > span {
    padding: 6px 12px;
    border: 1px solid #d1e5f8;
    border-radius: 999px;
    background: #f7fcff;
    color: #527196 !important;
    font-size: 11px;
    font-weight: 400 !important;
    transition:
        background 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease,
        box-shadow 0.25s ease;
}
.dn-page-properties-show #main-content .dn-summary-pills > span:hover {
    background: #e8f4fd;
    border-color: #19afd8;
    color: #0c47a9 !important;
    transform: translateY(-1px);
    box-shadow: 0 4px 10px rgba(12, 71, 169, 0.1);
}
.dn-page-properties-show .dn-summary-pills i {
    color: #19afd8;
}
.dn-page-properties-show #main-content .dn-summary-price-actions > div {
    font-size: 28px !important;
    font-weight: 700 !important;
    line-height: 1.2;
}
.dn-page-properties-show
    #main-content
    .dn-legacy-detail-summary
    .dn-summary-price-actions
    .btn {
    display: inline-flex;
    gap: 10px;
    min-height: 54px;
    padding: 7px 36px 7px 8px;
    border: 0;
    border-radius: 999px;
    background: linear-gradient(110deg, #0c47a9, #19afd8);
    color: #fff;
    font-size: 12px;
    font-weight: 600 !important;
    text-transform: uppercase;
    box-shadow: 0 12px 24px rgb(12 71 169 / 20%);
    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        filter 0.25s ease;
}
.dn-page-properties-show
    #main-content
    .dn-legacy-detail-summary
    .dn-summary-price-actions
    .btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 16px 32px rgba(12, 71, 169, 0.3);
    filter: brightness(1.08);
}
.dn-page-properties-show .dn-summary-price-actions .btn i {
    display: grid;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: rgb(255 255 255 / 18%);
    color: #fff;
    place-items: center;
    font-size: 15px;
}
.dn-page-properties-show
    #main-content
    .dn-legacy-detail-summary
    .dn-summary-small-actions {
    gap: 8px !important;
}
.dn-page-properties-show
    #main-content
    .dn-legacy-detail-summary
    .dn-summary-small-actions
    .btn {
    min-height: 33px;
    padding: 0 13px;
    border: 1px solid #d1e5f8;
    border-radius: 999px;
    background: #fff;
    color: #0c47a9;
    font-size: 10px;
    font-weight: 600 !important;
    text-transform: uppercase;
    box-shadow: none;
    transition:
        background 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease,
        box-shadow 0.25s ease;
}
.dn-page-properties-show
    #main-content
    .dn-legacy-detail-summary
    .dn-summary-small-actions
    .btn:hover {
    background: #f0f7ff;
    border-color: #19afd8;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(12, 71, 169, 0.12);
}
.dn-page-properties-show
    :is(.dn-detail-similar-grid, .dn-similar-slider, .dn-detail-similar-section)
    .dn-featured-card {
    min-width: 0;
    margin: 0;
    text-align: start !important;
}
.dn-page-properties-show
    :is(.dn-detail-similar-grid, .dn-similar-slider, .dn-detail-similar-section)
    .detail {
    text-align: start !important;
}
.dn-page-properties-show #main-content .dn-summary-small-actions .btn,
.dn-page-properties-show #main-content .dn-summary-small-actions .btn i {
    color: #0c47a9 !important;
}
.dn-page-properties-show #main-content .dn-summary-small-actions .btn {
    box-shadow: none !important;
}
.dn-page-properties-show .dn-summary-price-actions {
    flex-shrink: 0;
}
.dn-page-properties-show
    #main-content
    .dn-legacy-detail-summary
    .dn-summary-price-actions
    .btn {
    font-size: 14px;
}
.dn-page-properties-show
    :is(.dn-detail-similar-grid, .dn-similar-slider, .dn-detail-similar-section)
    .detail
    :is(h3, p, div, span, strong) {
    text-align: start !important;
}

/* Developer identity, metrics and profile have separate rows so long names
   and city lists do not compete for the same horizontal space. */
.dn-page-properties-show #tab_developer > .p-6 {
    padding: 22px;
    background: linear-gradient(135deg, #f5fbff, #fff);
    border-color: #d9e8f4;
    border-radius: 16px;
}
.dn-page-properties-show #tab_developer > .p-6 > .flex {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 22px !important;
    align-items: start;
}
.dn-page-properties-show #tab_developer > .p-6 > .flex > .flex {
    min-width: 0;
    gap: 16px !important;
}
.dn-page-properties-show #tab_developer .w-16.h-16 {
    width: 64px;
    height: 64px;
    background: linear-gradient(135deg, #0c47a9, #19afd8);
    border-radius: 16px;
    box-shadow: 0 8px 18px rgb(12 71 169 / 15%);
    font-weight: 600;
}
.dn-page-properties-show #tab_developer h4 {
    margin-top: 5px;
    font-size: 22px;
    line-height: 1.3;
    color: #10376b;
    overflow-wrap: anywhere;
}
.dn-page-properties-show #tab_developer .grid-cols-4 {
    display: grid;
    width: 100%;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px !important;
    align-items: stretch;
}
.dn-page-properties-show #tab_developer .grid-cols-4 > div {
    min-width: 0;
    padding: 16px 14px;
    border: 1px solid #dce9f4;
    border-radius: 12px;
    background: #fff;
    text-align: left;
}
.dn-page-properties-show #tab_developer .grid-cols-4 i {
    display: grid;
    width: 32px;
    height: 32px;
    margin-bottom: 10px;
    border-radius: 9px;
    background: #eaf7fd;
    color: #0c74b8 !important;
    place-items: center;
}
.dn-page-properties-show #tab_developer .grid-cols-4 span {
    color: #607793;
    font-size: 12px;
    line-height: 1.5;
}
.dn-page-properties-show #tab_developer .grid-cols-4 strong {
    display: block;
    margin-top: 5px;
    color: #143b6a;
    font-size: 15px;
    line-height: 1.5;
    overflow-wrap: anywhere;
}
.dn-page-properties-show #tab_developer .border-t {
    margin-top: 22px;
    padding-top: 18px;
    border-color: #dce9f4;
}
.dn-page-properties-show #tab_developer h5 {
    margin: 0 0 8px;
    font-size: 15px;
    font-weight: 600;
    text-align: left;
}
@media (max-width: 767.98px) {
    .dn-page-properties-show #tab_developer > .p-6 {
        padding: 16px;
    }
    .dn-page-properties-show #tab_developer .grid-cols-4 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .dn-page-properties-show #tab_developer .grid-cols-4 > div {
        padding: 12px;
    }
    .dn-page-properties-show #tab_developer h4 {
        font-size: 20px;
    }
}
@media (max-width: 767.98px) {
    .dn-page-properties-show #main-content .dn-legacy-detail-summary {
        padding: 0 !important;
        border: 0 !important;
        border-left: 0 !important;
        border-radius: 0px !important;
        box-shadow: none !important;
    }
    .dn-page-properties-show #main-content .dn-legacy-detail-summary h1 {
        font-size: 25px !important;
    }
    .dn-page-properties-show #main-content .dn-summary-price-actions > div {
        font-size: 24px !important;
    }
    .dn-page-properties-show .dn-summary-price-actions .btn i {
        display: grid;
        width: 28px;
        height: 28px;
        font-size: 12px;
    }
}

/* ==========================================================================
   GLOBAL BRAND RESTORATION: BORDER REMOVAL, THEME EYEBROWS & TEXT-ALIGN START
   ========================================================================== */

/* 1. Pure Dreamnest Eyebrow - Borderless, transparent background, cyan text */
.dn-design .dn-eyebrow,
.dn-design .dn-parity-eyebrow,
.dn-eyebrow,
.dn-parity-eyebrow {
    display: inline-flex !important;
    align-items: center !important;
    border: none !important;
    border-width: 0 !important;
    background: transparent !important;
    background-color: transparent !important;
    color: #19afd8 !important;
    font-family: "Jost", sans-serif !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 3px !important;
    line-height: 1.2 !important;
    text-transform: uppercase !important;
    box-shadow: none !important;
    padding: 0 !important;
}
.dn-design .dn-eyebrow i,
.dn-design .dn-parity-eyebrow i {
    color: #19afd8 !important;
    margin-right: 6px !important;
}

/* 2. Remove borders across all cards, panels, tabs, and details */
.dn-editorial-card,
.dn-editorial-tabs,
.dn-article-recent-card,
.dn-audit-article-aside > div,
.dn-audit-article-aside .group,
.dn-audit-article-aside img,
.dn-audit-article-aside .rounded-xl,
:is(
        .dn-page-events-index,
        .dn-page-events-show,
        .dn-page-blog-index,
        .dn-page-blog-show,
        .dn-page-news-index,
        .dn-page-news-show,
        .dn-page-user-wishlist
    )
    [class*="border-slate-200"],
:is(
        .dn-page-events-index,
        .dn-page-events-show,
        .dn-page-blog-index,
        .dn-page-blog-show,
        .dn-page-news-index,
        .dn-page-news-show,
        .dn-page-user-wishlist
    )
    [class*="border-slate-100"],
:is(
        .dn-page-events-index,
        .dn-page-events-show,
        .dn-page-blog-index,
        .dn-page-blog-show,
        .dn-page-news-index,
        .dn-page-news-show,
        .dn-page-user-wishlist
    )
    [class*="border-sky-200"],
:is(
        .dn-page-events-index,
        .dn-page-events-show,
        .dn-page-blog-index,
        .dn-page-blog-show,
        .dn-page-news-index,
        .dn-page-news-show,
        .dn-page-user-wishlist
    )
    [class*="border-rose-200"] {
    border: none !important;
    border-color: transparent !important;
}

/* 3. Excerpt box - clean background, no left border, text-align start */
.dn-article-excerpt,
.dn-audit-article-section [class*="border-l-4"],
.dn-audit-article-section [class*="border-sky-500"],
.dn-design :is(.article-content, .dn-article-prose) blockquote {
    border-left: none !important;
    border: none !important;
    text-align: left !important;
    text-align: start !important;
    background-color: #eef6ff !important;
    color: #1e3a5f !important;
}

/* 4. Enforce text-align start across article details, sidebar items, and cards */
.dn-audit-article-aside,
.dn-audit-article-aside *,
.dn-audit-article-aside .space-y-0\.5,
.dn-audit-article-aside .space-y-0\.5 *,
.dn-audit-article-aside h3,
.dn-audit-article-aside h4,
.dn-audit-article-aside span,
.dn-audit-article-aside time,
.dn-audit-article-aside a,
.dn-article-main,
.dn-article-main .article-content,
.dn-article-main .article-content *,
.dn-editorial-card,
.dn-editorial-card .p-6,
.dn-editorial-card .p-6 * {
    text-align: left !important;
    text-align: start !important;
}

/* 5. Button styles: Dreamnest brand gradient, no borders */
.dn-editorial-card .btn,
.dn-editorial-card button,
.dn-page-events-index .btn,
.dn-page-events-show .btn {
    border: none !important;
    background: linear-gradient(135deg, #0c47a9 0%, #19afd8 100%) !important;
    color: #fff !important;
    box-shadow: 0 4px 14px rgba(12, 71, 169, 0.2) !important;
}
.dn-editorial-card .btn:hover,
.dn-editorial-card button:hover,
.dn-page-events-index .btn:hover,
.dn-page-events-show .btn:hover {
    background: linear-gradient(135deg, #19afd8 0%, #0c47a9 100%) !important;
    color: #fff !important;
}
