/* =========================================================================
   Deecke Properties — Front-end
   ========================================================================= */
:root {
    --dp-navy:#0b2545; --dp-navy-2:#13315c; --dp-blue:#1a78d6; --dp-blue-d:#1466bd;
    --dp-bg:#f3f5f9; --dp-card:#fff; --dp-border:#e4e8f0; --dp-text:#16233d; --dp-muted:#6a7890;
    --dp-success:#15a34a; --dp-warn:#d97706; --dp-danger:#dc2626; --dp-info:#1a78d6;
    --dp-radius:16px; --dp-radius-sm:10px;
    --dp-shadow:0 1px 2px rgba(16,35,61,.05),0 12px 30px rgba(16,35,61,.08);
    --dp-shadow-sm:0 1px 3px rgba(16,35,61,.08);
    --dp-font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}
.dp-search,.dp-single,.dp-card-prop,.dp-agent-card,.dp-archive,.dp-grid-shortcode,.dp-agents{font-family:var(--dp-font);color:var(--dp-text);box-sizing:border-box;}
.dp-search *,.dp-single *,.dp-card-prop *,.dp-agent-card *{box-sizing:border-box;}

/* --- Results grid --- */
.dp-results{display:grid;grid-template-columns:repeat(var(--dp-cols,3),1fr);gap:22px;}
.dp-noresults{grid-column:1/-1;text-align:center;color:var(--dp-muted);padding:40px;font-size:15px;}

/* --- Property card (Figma: carousel · tags · title/price/by · call+wa) --- */
.dp-card-prop{display:flex;flex-direction:column;background:var(--dp-card);border-radius:0;overflow:hidden;box-shadow:var(--dp-shadow);transition:transform .15s ease,box-shadow .15s ease;}
.dp-card-prop:hover{transform:translateY(-4px);box-shadow:0 2px 4px rgba(16,35,61,.06),0 18px 40px rgba(16,35,61,.14);}

/* Carousel — the theme forces `img{height:auto}`, which left wide images
   floating in a half-empty tile, so every dimension is locked here. */
.dp-card-media{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--dp-bg);}
.dp-card-track{display:flex;height:100%;transition:transform .35s cubic-bezier(.22,.61,.36,1);will-change:transform;}
.dp-card-slide{flex:0 0 100%;display:block;height:100%;overflow:hidden;text-decoration:none;}
.dp-card-prop .dp-card-media .dp-card-track img{width:100% !important;height:100% !important;min-height:100% !important;max-width:none !important;max-height:none !important;object-fit:cover !important;object-position:center center !important;display:block !important;margin:0 !important;padding:0 !important;border-radius:0 !important;aspect-ratio:auto !important;}
.dp-card-img--empty{width:100%;height:100%;display:grid;place-items:center;color:#c4cddd;}
.dp-card-img--empty svg{width:52px;height:52px;}
/* Arrows are <div role=button> so the theme's <button> styling can't touch them.
   Colours locked across every state to defeat theme hover/active overrides. */
.dp-card-nav,.dp-card-nav:hover,.dp-card-nav:focus,.dp-card-nav:active{background:#fff !important;color:#16233d !important;box-shadow:0 2px 8px rgba(16,35,61,.2) !important;border:0 !important;outline:0 !important;}
.dp-card-nav{position:absolute;top:50%;transform:translateY(-50%);width:30px;height:30px;display:grid;place-items:center;border-radius:999px;cursor:pointer;z-index:2;-webkit-user-select:none;user-select:none;}
.dp-card-nav svg{width:15px;height:15px;display:block;}
.dp-card-nav--prev{left:10px;}
.dp-card-nav--next{right:10px;}
.dp-card-dots{position:absolute;left:0;right:0;bottom:12px;display:flex;justify-content:center;gap:6px;z-index:2;}
.dp-card-dot,.dp-card-dot:hover,.dp-card-dot:focus,.dp-card-dot:active{border:0 !important;outline:0 !important;box-shadow:none !important;}
.dp-card-dot{width:22px;height:3px;border-radius:999px;background:rgba(255,255,255,.55);cursor:pointer;transition:background .15s ease;}
.dp-card-dot.is-active{background:#fff !important;}

/* Tag strip — Type · Completion · Status */
.dp-card-tags{display:flex;background:#fff;border-bottom:1px solid var(--dp-border);}
.dp-card-tag{flex:1;text-align:center;padding:12px 8px;font-size:14px;font-weight:500;color:var(--dp-text);}
.dp-card-tag:not(:first-child){border-left:1px solid var(--dp-border);}

/* Body */
.dp-card-body{flex:1;padding:16px 20px 18px;background:#e9ebec;}
.dp-card-title{margin:0 0 8px;font-size:19px;line-height:1.25;font-weight:700;}
.dp-card-title a{color:var(--dp-blue);text-decoration:none;}
.dp-card-title a:hover{color:var(--dp-blue-d);}
.dp-card-price{font-size:20px;font-weight:800;color:#101b2d;letter-spacing:-.01em;}
.dp-card-by{margin-top:3px;font-size:14px;color:#55606f;}

/* Call / WhatsApp bar — assigned agent */
.dp-card-contact{display:flex;background:#dcdfe2;border-top:1px solid #cbcfd3;}
.dp-card-cbtn{flex:1;display:flex;align-items:center;justify-content:center;gap:9px;padding:14px 10px;font-size:15px;font-weight:600;color:#1f2b3d !important;text-decoration:none !important;box-shadow:none !important;transition:background .15s ease;}
.dp-card-cbtn:hover,.dp-card-cbtn:focus,.dp-card-cbtn:active{color:#1f2b3d !important;background:rgba(16,35,61,.05);text-decoration:none !important;}
.dp-card-cbtn:not(:first-child){border-left:1px solid #cbcfd3;}
.dp-card-cbtn svg{width:19px;height:19px;flex:none;}

.dp-badge--success{background:#e7f6ed;color:#0f7a37;}
.dp-badge--warn{background:#fdf0dd;color:#9a5b06;}
.dp-badge--danger{background:#fde8e8;color:#b81d1d;}
.dp-badge--info{background:#e6f1fc;color:#135fa8;}
.dp-badge--muted{background:#eef1f6;color:#6a7890;}

/* --- Filter bar (Figma: sharp white chips on the section background) ---
   Buttons are neutralised against the theme's aggressive <button> styling. */
.dp-filterbar{margin-bottom:26px;}
.dp-fb-top{display:flex;justify-content:flex-end;margin-bottom:20px;}
.dp-fb-rows{display:flex;flex-wrap:wrap;align-items:flex-start;gap:14px 46px;}
.dp-fb-group{display:flex;align-items:flex-start;flex-wrap:wrap;gap:3px;}
.dp-fb-btn,.dp-fb-btn:hover,.dp-fb-btn:focus,.dp-fb-btn:active{border:0 !important;outline:0 !important;box-shadow:none !important;text-decoration:none !important;}
.dp-fb-btn{-webkit-appearance:none;appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:126px;padding:12px 20px;border-radius:0;background:#fff;color:#16233d !important;font-size:14px;font-weight:500;line-height:1.2;cursor:pointer;font-family:inherit;transition:background .12s ease,color .12s ease;}
.dp-fb-btn:hover{background:#eef1f5;}
.dp-fb-btn.is-active,.dp-fb-btn.is-active:hover,.dp-fb-btn.is-active:focus,.dp-fb-btn.is-active:active{background:var(--dp-blue) !important;color:#fff !important;}
.dp-fb-caret{width:13px;height:13px;flex:none;opacity:.85;}
.dp-fb-dd{position:relative;}
.dp-fb-dd.is-open .dp-fb-caret{transform:rotate(180deg);}
.dp-fb-menu{position:absolute;top:calc(100% + 3px);left:0;z-index:20;display:none;flex-direction:column;min-width:100%;background:#fff;box-shadow:0 10px 24px rgba(8,22,44,.18);}
.dp-fb-dd.is-open .dp-fb-menu{display:flex;}
.dp-fb-menu .dp-fb-btn{width:100%;white-space:nowrap;}
.dp-fb-maptoggle{display:inline-flex;align-items:center;gap:10px;font-size:16px;font-weight:700;color:#fff;cursor:pointer;user-select:none;}
.dp-on-light .dp-fb-maptoggle{color:var(--dp-text);}
.dp-fb-mapicon{width:22px;height:22px;flex:none;opacity:.9;}
.dp-map-switch{position:relative;display:inline-block;width:44px;height:25px;}
.dp-map-switch-input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer;}
.dp-map-switch-track{position:absolute;inset:0;background:#cdd5e4;border-radius:999px;transition:background .15s ease;}
.dp-map-switch-track::after{content:"";position:absolute;top:3px;left:3px;width:19px;height:19px;background:#fff;border-radius:50%;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform .15s ease;}
.dp-map-switch-input:checked+.dp-map-switch-track{background:var(--dp-blue);}
.dp-map-switch-input:checked+.dp-map-switch-track::after{transform:translateX(19px);}

/* --- Search meta + views --- */
.dp-search-meta{margin-bottom:16px;color:var(--dp-muted);font-size:14px;}
.dp-search-count strong{color:var(--dp-text);font-size:18px;}
.dp-on-dark .dp-search-meta{color:rgba(255,255,255,.75);}
.dp-on-dark .dp-search-count strong{color:#fff;}
.dp-on-dark .dp-noresults{color:rgba(255,255,255,.75);}
.dp-map-view{height:560px;border-radius:var(--dp-radius);overflow:hidden;border:1px solid var(--dp-border);}
.dp-fmap{width:100%;height:100%;}
.dp-loadmore-wrap{text-align:center;margin-top:26px;}
.dp-loadmore{padding:12px 30px;border-radius:999px;border:1px solid var(--dp-blue);background:#fff;color:var(--dp-blue);font-size:14px;font-weight:700;cursor:pointer;transition:all .12s ease;font-family:inherit;}
.dp-loadmore:hover{background:var(--dp-blue);color:#fff;}
.dp-loadmore[disabled]{opacity:.5;cursor:default;}
.dp-search.is-loading{opacity:.6;pointer-events:none;}

/* --- "View All" (grid → full listing page) --- */
.dp-seeall-wrap{display:flex;justify-content:center;margin-top:34px;}
.dp-seeall,.dp-seeall:hover,.dp-seeall:focus,.dp-seeall:active{border:0 !important;outline:0 !important;box-shadow:none !important;text-decoration:none !important;color:#fff !important;}
.dp-seeall{-webkit-appearance:none;appearance:none;display:inline-flex;align-items:center;justify-content:center;min-width:220px;padding:15px 40px;border-radius:0;background:var(--dp-blue);font-size:15px;font-weight:700;letter-spacing:.01em;line-height:1.2;cursor:pointer;font-family:inherit;transition:background .12s ease;}
.dp-seeall:hover{background:var(--dp-blue-d);}

/* --- Map popup card --- */
.dp-pin-pop{font-family:var(--dp-font);width:190px;}
.dp-pin-pop img{width:100%;height:104px;object-fit:cover;border-radius:8px;display:block;margin-bottom:8px;}
.dp-pin-pop .dp-pin-price{font-weight:800;color:var(--dp-navy);}
.dp-pin-pop .dp-pin-title{font-size:13px;}
.dp-pin-pop a{color:var(--dp-blue);text-decoration:none;font-weight:700;font-size:12.5px;}

/* =========================================================================
   Single property
   ========================================================================= */
.dp-single-wrap{max-width:1200px;margin:0 auto;padding:24px 20px 60px;}
.dp-hero-wrap{max-width:1200px;margin:0 auto;padding:24px 20px 30px;}
.dp-body-wrap{max-width:1200px;margin:0 auto;padding:44px 20px 60px;}
.dp-phead-band{background:#E9EBEC;box-shadow:0 0 0 100vmax #E9EBEC;clip-path:inset(0 -100vmax);}
.dp-band-inner{max-width:1200px;margin:0 auto;padding:44px 20px;}

/* --- Hero: bar + share + gallery + brochure --- */
.dp-hero{margin-bottom:30px;}
.dp-hero-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;}
.dp-back{display:inline-flex;align-items:center;gap:6px;text-decoration:none;color:var(--dp-text);font-weight:600;font-size:14px;}
.dp-back .dashicons{font-size:18px;width:18px;height:18px;}
.dp-back:hover{color:var(--dp-blue);}
.dp-share{position:relative;}
.dp-share-btn{display:inline-flex;align-items:center;gap:6px;background:transparent !important;-webkit-appearance:none;appearance:none;border:0 !important;outline:0 !important;box-shadow:none !important;color:var(--dp-text);font-weight:600;font-size:14px;cursor:pointer;font-family:var(--dp-font);}
.dp-share-btn:focus,.dp-share-btn:focus-visible{outline:0 !important;box-shadow:none !important;}
.dp-share-btn .dashicons,.dp-share-btn svg{font-size:18px;width:18px;height:18px;flex:none;}
.dp-share-btn:hover{color:var(--dp-blue);}
.dp-share-menu{position:absolute;right:0;top:calc(100% + 8px);z-index:30;min-width:200px;background:#fff;border:1px solid var(--dp-border);border-radius:12px;box-shadow:var(--dp-shadow);padding:6px;display:flex;flex-direction:column;animation:dpfade .15s ease;}
.dp-share-menu[hidden]{display:none;}
@keyframes dpfade{from{opacity:0;transform:translateY(-4px);}to{opacity:1;transform:none;}}
.dp-share-link,.dp-share-copy{display:flex;align-items:center;gap:13px;padding:11px 14px;border:0 !important;outline:0 !important;box-shadow:none !important;background:transparent !important;font-size:14.5px;font-weight:600;color:var(--dp-text);text-decoration:none;cursor:pointer;-webkit-appearance:none;appearance:none;font-family:var(--dp-font);text-align:left;width:100%;line-height:1;}
.dp-share-link:hover,.dp-share-copy:hover{background:var(--dp-bg) !important;color:var(--dp-blue);}
.dp-share-link svg,.dp-share-copy svg{width:20px;height:20px;flex:none;}
.dp-share-copy{margin-top:5px;padding-top:12px;box-shadow:inset 0 1px 0 var(--dp-border-2) !important;}
/* Lock share colours against the theme (pink / white-on-click) */
.dp-share-btn,.dp-share-btn:hover,.dp-share-btn:focus,.dp-share-btn:active,.dp-share-btn .dashicons,
.dp-share-link,.dp-share-link:focus,.dp-share-link:active,.dp-share-link .dashicons,
.dp-share-copy,.dp-share-copy:focus,.dp-share-copy:active,.dp-share-copy .dashicons{color:var(--dp-text) !important;}
.dp-share-btn:hover,.dp-share-link:hover,.dp-share-link:hover .dashicons,.dp-share-copy:hover,.dp-share-copy:hover .dashicons{color:var(--dp-blue) !important;}
.dp-share-copy.is-copied{color:var(--dp-success);}

.dp-hero-gallery{display:grid;gap:10px;}
.dp-hero-gallery:not(.dp-hg-has-side){grid-template-columns:1fr;}
.dp-hero-gallery:not(.dp-hg-has-side) .dp-hg-main{aspect-ratio:16/10;}
.dp-hg-has-side{grid-template-columns:1.7fr 1fr;grid-template-rows:1fr 1fr;aspect-ratio:1.78/1;}
.dp-hg-has-side .dp-hg-main{grid-column:1;grid-row:1 / span 2;}
.dp-hg-n2 .dp-hg-cell{grid-column:2;grid-row:1 / span 2;}
.dp-hg-main,.dp-hg-cell{position:relative;overflow:hidden;background:var(--dp-bg);cursor:pointer;border:0;outline:0;min-width:0;min-height:0;}
.dp-hg-main:focus,.dp-hg-cell:focus,.dp-hg-main:focus-visible,.dp-hg-cell:focus-visible{outline:0;box-shadow:none;}
.dp-hero-gallery img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease;}
.dp-hg-main:hover img,.dp-hg-cell:hover img{transform:scale(1.04);}
.dp-hg-count{position:absolute;right:12px;bottom:12px;display:inline-flex;align-items:center;gap:6px;background:rgba(16,35,61,.8);color:#fff;font-size:12.5px;font-weight:600;padding:6px 11px;border-radius:8px;backdrop-filter:blur(2px);}
.dp-hg-count .dashicons{font-size:15px;width:15px;height:15px;}

.dp-brochure{display:inline-flex;align-items:center;gap:9px;margin-top:18px;background:var(--dp-blue);color:#fff;text-decoration:none;font-weight:700;font-size:15px;padding:13px 26px;border-radius:6px;transition:background .12s ease;}
.dp-brochure:hover{background:var(--dp-blue-d);color:#fff;}
.dp-brochure-arrow{font-size:16px;width:16px;height:16px;transform:rotate(45deg);}

/* --- Property header (breadcrumb + title + specs + agent card) --- */
.dp-phead{display:grid;grid-template-columns:1fr 430px;gap:46px;align-items:start;margin:0;}
.dp-phead--noagent{grid-template-columns:1fr;}
.dp-breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:9px;color:var(--dp-muted);font-size:16px;margin-bottom:16px;}
.dp-breadcrumb a{color:var(--dp-muted);text-decoration:none;}
.dp-breadcrumb a:hover{color:var(--dp-blue);}
.dp-bc-sep{color:#b9c2d4;}
.dp-phead-title{font-size:40px;line-height:1.12;font-weight:800;color:var(--dp-blue);margin:0 0 12px;letter-spacing:-.01em;}
.dp-phead-price{font-size:32px;font-weight:800;color:var(--dp-text);margin:0 0 22px;}
.dp-phead-specs{display:flex;flex-wrap:wrap;gap:14px 28px;list-style:none;margin:0 0 16px;padding:0;}
.dp-phead-specs li{display:flex;align-items:center;gap:12px;font-size:17px;color:var(--dp-text);font-weight:500;}
.dp-spec-ic{display:grid;place-items:center;width:48px;height:48px;background:#fff;border:0;border-radius:50%;flex:none;color:var(--dp-text);}
.dp-spec-ic svg{width:23px;height:23px;}
.dp-phead-area{display:flex;align-items:center;gap:12px;font-size:17px;color:var(--dp-text);margin:0 0 24px;}
.dp-phead-map{display:inline-flex;align-items:center;gap:11px;background:var(--dp-blue);color:#fff;text-decoration:none;font-weight:700;font-size:17px;padding:16px 32px;}
.dp-phead-map:hover{background:var(--dp-blue-d);color:#fff;}
.dp-phead-map svg{width:20px;height:20px;}

.dp-agentcard{background:#fff;border:1px solid var(--dp-border);padding:32px 30px;text-align:center;}
.dp-ac-photo{width:132px;height:132px;border-radius:50%;overflow:hidden;margin:0 auto 18px;background:var(--dp-bg);}
.dp-ac-img{width:100%;height:100%;object-fit:cover;display:block;}
.dp-ac-img--empty{display:block;width:100%;height:100%;background:var(--dp-bg);}
.dp-ac-name{font-size:23px;font-weight:800;color:var(--dp-text);margin:0 0 20px;}
.dp-ac-btns{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px;}
.dp-ac-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--dp-border);background:#fff;color:var(--dp-text);text-decoration:none;font-weight:600;font-size:15px;padding:13px 10px;}
.dp-ac-btn:hover{border-color:var(--dp-blue);color:var(--dp-blue);}
.dp-ac-btn svg{width:18px;height:18px;flex:none;}
.dp-ac-request{display:block;width:100%;background:var(--dp-blue);color:#fff;text-decoration:none;text-align:center;font-weight:700;font-size:17px;padding:15px;}
.dp-ac-request:hover{background:var(--dp-blue-d);color:#fff;}
.dp-ac-langs{display:flex;align-items:center;justify-content:center;gap:11px;margin-top:22px;font-size:17px;color:var(--dp-text);}
.dp-ac-langs svg{width:24px;height:24px;flex:none;}
@media (max-width:900px){.dp-phead{grid-template-columns:1fr;gap:30px;}.dp-phead-title{font-size:30px;}}

/* --- Lightbox --- */
.dp-lightbox{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;background:rgba(8,15,30,.93);opacity:0;transition:opacity .2s ease;}
.dp-lightbox.is-open{opacity:1;}
.dp-lb-stage{margin:0;max-width:90vw;max-height:86vh;display:flex;align-items:center;justify-content:center;}
.dp-lb-img{max-width:90vw;max-height:86vh;object-fit:contain;border-radius:6px;opacity:0;transform:scale(.96);transition:opacity .25s ease,transform .25s ease;box-shadow:0 24px 70px rgba(0,0,0,.55);}
.dp-lb-img.is-in{opacity:1;transform:scale(1);}
.dp-lb-close,.dp-lb-prev,.dp-lb-next{position:fixed;background:rgba(255,255,255,.12);-webkit-appearance:none;appearance:none;border:0 !important;outline:0 !important;box-shadow:none !important;color:#fff;cursor:pointer;display:grid;place-items:center;border-radius:50%;transition:background .12s ease;line-height:1;}
.dp-lb-close{top:20px;right:24px;width:44px;height:44px;font-size:26px;}
.dp-lb-prev,.dp-lb-next{top:50%;transform:translateY(-50%);width:54px;height:54px;font-size:32px;}
.dp-lb-prev{left:24px;}
.dp-lb-next{right:24px;}
.dp-lb-close:hover,.dp-lb-prev:hover,.dp-lb-next:hover{background:rgba(255,255,255,.26);}
.dp-lb-counter{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);color:#fff;font-size:14px;font-weight:600;background:rgba(0,0,0,.4);padding:6px 14px;border-radius:999px;}
@media (max-width:680px){
    .dp-hero-gallery{grid-template-columns:1fr;}
    .dp-hg-main{aspect-ratio:4/3;}
    .dp-hg-side{grid-template-rows:none;grid-template-columns:1fr 1fr;}
    .dp-hg-cell{aspect-ratio:4/3;height:auto;}
    .dp-lb-prev,.dp-lb-next{width:44px;height:44px;font-size:26px;}
    .dp-lb-prev{left:8px;}
    .dp-lb-next{right:8px;}
}
.dp-gallery-hero{display:grid;grid-template-columns:2fr 1fr;gap:10px;margin-bottom:28px;border-radius:var(--dp-radius);overflow:hidden;}
.dp-gh-main{aspect-ratio:16/10;}
.dp-gh-img{width:100%;height:100%;object-fit:cover;display:block;}
.dp-gh-grid{display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:1fr;gap:10px;}
.dp-gh-link{display:block;overflow:hidden;border-radius:10px;}
.dp-gh-thumb{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s ease;}
.dp-gh-link:hover .dp-gh-thumb{transform:scale(1.06);}
.dp-single-cols{display:grid;grid-template-columns:1fr 340px;gap:34px;align-items:start;}
.dp-single-badges{display:flex;gap:8px;margin-bottom:12px;}
.dp-badge{display:inline-block;padding:4px 12px;border-radius:999px;font-size:12px;font-weight:700;}
.dp-single-title{font-size:32px;font-weight:800;line-height:1.15;margin:0 0 10px;letter-spacing:-.02em;}
.dp-single-loc{display:flex;align-items:center;gap:6px;color:var(--dp-muted);font-size:15px;margin:0 0 14px;}
.dp-single-price{font-size:30px;font-weight:800;color:var(--dp-blue);letter-spacing:-.02em;}
.dp-single-specs{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:14px;margin:26px 0;padding:0;list-style:none;}
.dp-single-specs li{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:16px;background:var(--dp-card);border:1px solid var(--dp-border);border-radius:var(--dp-radius-sm);}
.dp-single-specs .dashicons{color:var(--dp-blue);font-size:22px;width:22px;height:22px;}
.dp-single-specs strong{font-size:17px;font-weight:800;margin-top:4px;}
.dp-single-specs li{font-size:12.5px;color:var(--dp-muted);}
.dp-single-section{margin:30px 0;}
.dp-single-section h2{font-size:28px;font-weight:800;margin:0 0 18px;padding-bottom:0;border-bottom:0;color:var(--dp-text);letter-spacing:-.01em;}
.dp-desc{position:relative;overflow:hidden;transition:max-height .35s ease;}
.dp-desc p{margin:0 0 18px;font-size:16.5px;line-height:1.85;color:#4a5364;}
.dp-desc p:last-child{margin-bottom:0;}
.dp-desc--clamped::after{content:"";position:absolute;left:0;right:0;bottom:0;height:90px;background:linear-gradient(rgba(255,255,255,0),#fff);pointer-events:none;}
.dp-desc-toggle{align-items:center;gap:7px;margin-top:18px;background:none !important;border:0 !important;outline:0 !important;box-shadow:none !important;-webkit-appearance:none;appearance:none;color:var(--dp-blue) !important;font-weight:700;font-size:16px;cursor:pointer;padding:0;font-family:var(--dp-font);}
.dp-desc-pm{font-size:21px;line-height:1;}
.dp-amenities{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;margin:0;padding:0;list-style:none;}
.dp-amenities li{display:flex;align-items:center;gap:8px;font-size:14px;}
.dp-amenities .dashicons{color:var(--dp-success);}
.dp-amen-band{background:var(--dp-navy);box-shadow:0 0 0 100vmax var(--dp-navy);clip-path:inset(0 -100vmax);color:#fff;padding:48px 0;margin:36px 0;}
.dp-amen-band h2{color:#fff;font-size:28px;font-weight:800;margin:0 0 22px;letter-spacing:-.01em;}
.dp-amenities-list{column-count:3;column-gap:56px;list-style:none;margin:0;padding:0;}
.dp-amenities-list li{break-inside:avoid;padding:15px 2px;border-bottom:1px solid rgba(255,255,255,.18);font-size:16px;color:#dfe5ee;}
@media (max-width:780px){.dp-amenities-list{column-count:2;}}
@media (max-width:480px){.dp-amenities-list{column-count:1;}}

/* --- FAQ accordion --- */
.dp-faq-band{background:#E9EBEC;box-shadow:0 0 0 100vmax #E9EBEC;clip-path:inset(0 -100vmax);padding:50px 0;margin:44px 0 0;}
.dp-faq-band h2{font-size:28px;font-weight:800;color:var(--dp-text);margin:0 0 24px;letter-spacing:-.01em;}
.dp-faq-item{border-bottom:1px solid rgba(16,35,61,.13);}
.dp-faq-item:first-child{border-top:1px solid rgba(16,35,61,.13);}
.dp-faq-q{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;background:none !important;border:0 !important;outline:0 !important;box-shadow:none !important;-webkit-appearance:none;appearance:none;cursor:pointer;text-align:left;padding:18px 2px;font-family:var(--dp-font);font-size:16px;font-weight:600;color:var(--dp-text) !important;}
.dp-faq-ic{display:grid;place-items:center;width:30px;height:30px;border:1px solid rgba(16,35,61,.3);border-radius:50%;font-size:18px;font-weight:400;line-height:1;flex:none;transition:transform .25s ease;color:var(--dp-text);}
.dp-faq-item.is-open .dp-faq-ic{transform:rotate(45deg);}
.dp-faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease;}
.dp-faq-a-in{padding:0 2px 22px;font-size:15.5px;line-height:1.7;color:#4a5364;}
.dp-faq-a-in p{margin:0 0 12px;}
.dp-faq-a-in p:last-child{margin:0;}
.dp-detail-list{display:grid;grid-template-columns:repeat(2,1fr);gap:0;margin:0;border:1px solid var(--dp-border);border-radius:var(--dp-radius-sm);overflow:hidden;}
.dp-detail{display:flex;justify-content:space-between;gap:14px;padding:12px 16px;border-bottom:1px solid var(--dp-border-2,#eef1f6);}
.dp-detail:nth-last-child(-n+1){border-bottom:0;}
.dp-detail dt{margin:0;color:var(--dp-muted);font-size:13.5px;}
.dp-detail dd{margin:0;font-weight:700;font-size:13.5px;text-align:right;}
.dp-detail-block{margin-top:16px;padding:16px;background:var(--dp-bg);border-radius:var(--dp-radius-sm);}
.dp-detail-block h3{margin:0 0 6px;font-size:15px;font-weight:700;}
.dp-detail-block p{margin:0;line-height:1.6;font-size:14px;color:#33405a;}
@media (max-width:600px){.dp-detail-list{grid-template-columns:1fr;}}
.dp-single-videos{display:grid;gap:16px;}
.dp-video-embed{position:relative;}
.dp-video-embed iframe{width:100%;aspect-ratio:16/9;height:auto;border-radius:var(--dp-radius-sm);border:0;}
.dp-single-map{height:380px;border-radius:var(--dp-radius);overflow:hidden;border:1px solid var(--dp-border);}
/* "View on Map" popup */
.dp-map-modal{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;padding:28px;background:rgba(8,15,30,.7);opacity:0;transition:opacity .2s ease;}
.dp-map-modal.is-open{opacity:1;}
.dp-map-modal-panel{background:#fff;width:100%;max-width:920px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 24px 70px rgba(0,0,0,.45);transform:translateY(10px);transition:transform .2s ease;}
.dp-map-modal.is-open .dp-map-modal-panel{transform:none;}
.dp-map-modal-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 20px;border-bottom:1px solid var(--dp-border);}
.dp-map-modal-title{font-size:18px;font-weight:700;color:var(--dp-text);}
.dp-map-modal-close{-webkit-appearance:none;appearance:none;border:0 !important;outline:0 !important;box-shadow:none !important;background:transparent !important;color:var(--dp-text) !important;font-size:28px;line-height:1;cursor:pointer;padding:0 4px;font-family:var(--dp-font);flex:none;}
.dp-map-modal-close:hover{color:var(--dp-blue) !important;}
.dp-map-modal-map{width:100%;height:min(60vh,560px);min-height:360px;}
@media (max-width:600px){.dp-map-modal{padding:0;}.dp-map-modal-panel{max-width:100%;height:100%;}.dp-map-modal-map{flex:1 1 auto;height:auto;}}
.dp-side-card{background:var(--dp-card);border:1px solid var(--dp-border);border-radius:var(--dp-radius);padding:20px;box-shadow:var(--dp-shadow-sm);}
.dp-side-card+.dp-side-card{margin-top:18px;}
.dp-single-side{position:sticky;top:24px;}
.dp-side-title{margin:0 0 14px;font-size:16px;font-weight:700;}

/* --- Inquiry form --- */
.dp-inquiry-title{margin:0 0 14px;font-size:16px;font-weight:700;}
.dp-inq-field{margin-bottom:10px;}
.dp-inquiry input,.dp-inquiry textarea{width:100%;padding:11px 13px;border:1px solid #d6dded;border-radius:10px;font-size:14px;font-family:inherit;color:var(--dp-text);background:#fff;box-sizing:border-box;}
.dp-inquiry input:focus,.dp-inquiry textarea:focus{outline:none;border-color:var(--dp-blue);box-shadow:0 0 0 3px rgba(26,120,214,.16);}
.dp-inquiry textarea{resize:vertical;min-height:84px;}
.dp-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden;}
.dp-inq-submit{width:100%;margin-top:4px;padding:12px;border:0;border-radius:999px;background:var(--dp-blue);color:#fff;font-size:14.5px;font-weight:700;cursor:pointer;transition:background .12s ease;font-family:inherit;}
.dp-inq-submit:hover{background:var(--dp-blue-d);}
.dp-inq-submit[disabled]{opacity:.6;cursor:default;}
.dp-inquiry-msg{margin-top:12px;font-size:13.5px;font-weight:600;}
.dp-inquiry-msg.is-ok{color:var(--dp-success);}
.dp-inquiry-msg.is-err{color:var(--dp-danger);}

/* --- Enquire (two-column) --- */
.dp-enquire{margin:40px 0;border-top:1px solid var(--dp-border);border-bottom:1px solid var(--dp-border);}
.dp-enquire-grid{display:grid;grid-template-columns:240px 1fr;}
.dp-enquire-head{padding:42px 36px 42px 0;}
.dp-enquire-head h2{font-size:26px;font-weight:800;line-height:1.2;margin:0;display:flex;justify-content:space-between;align-items:flex-start;gap:12px;color:var(--dp-text);}
.dp-enquire-arrow{font-weight:400;flex:none;}
.dp-enquire-body{padding:42px 0 42px 46px;border-left:1px solid var(--dp-border);}
.dp-enquire-body h3{font-size:24px;font-weight:700;margin:0 0 8px;color:var(--dp-text);}
.dp-req-note{color:var(--dp-muted);font-size:13px;margin:0 0 22px;}
.dp-inq-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px;}
/* Field boxes: persistent label at the top-left, borderless input below */
.dp-fld{display:flex;flex-direction:column;gap:5px;border:1px solid #c4cbd6;background:#fff;padding:11px 14px;}
.dp-fld:focus-within{border-color:var(--dp-blue);}
.dp-fld-lbl{font-size:13px;font-weight:600;color:var(--dp-text);line-height:1.2;}
.dp-fld-lbl em{font-style:normal;}
.dp-inquiry .dp-fld input,.dp-inquiry .dp-fld textarea{border:0 !important;outline:0 !important;box-shadow:none !important;border-radius:0 !important;padding:0 !important;background:transparent;font-size:14px;font-family:inherit;color:var(--dp-text);width:100%;min-height:20px;}
.dp-inquiry .dp-fld textarea{resize:vertical;line-height:1.45;}
.dp-fld--full{margin-bottom:6px;}
.dp-consent-note{margin:20px 0 6px;}
.dp-collapse{min-width:0;}
.dp-collapse-text{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:13px;line-height:1.65;color:var(--dp-muted);margin:0;}
.dp-collapse-text a{color:var(--dp-blue);}
.dp-collapse.is-open .dp-collapse-text{-webkit-line-clamp:unset;display:block;overflow:visible;}
.dp-collapse-toggle{display:none;align-items:center;gap:6px;margin-top:6px;background:none !important;border:0 !important;outline:0 !important;box-shadow:none !important;-webkit-appearance:none;appearance:none;color:var(--dp-blue) !important;font-weight:700;font-size:13.5px;cursor:pointer;padding:0;font-family:var(--dp-font);}
.dp-send{width:auto !important;display:inline-flex;align-items:center;gap:9px;padding:13px 32px !important;}
.dp-send-arrow{font-size:16px;}
.dp-enquire-note{margin-top:22px;}
@media (max-width:820px){.dp-enquire-grid{grid-template-columns:1fr;}.dp-enquire-head{padding:30px 0 0;}.dp-enquire-body{padding:24px 0 36px;border-left:0;}.dp-inq-grid{grid-template-columns:1fr;}}

/* --- Agent bar (horizontal) --- */
.dp-agentbar-band{background:#E9EBEC;box-shadow:0 0 0 100vmax #E9EBEC;clip-path:inset(0 -100vmax);padding:44px 0;margin:44px 0 0;}
.dp-agentbar{background:#fff;display:flex;align-items:center;justify-content:space-between;gap:32px;padding:40px 48px;flex-wrap:wrap;}
.dp-ab-info{display:flex;align-items:center;gap:32px;min-width:0;}
.dp-ab-photo{width:150px;height:150px;border-radius:50%;overflow:hidden;flex:none;background:var(--dp-bg);}
.dp-ab-name{font-size:26px;font-weight:800;margin:0 0 8px;color:var(--dp-text);}
.dp-ab-langs{display:flex;align-items:center;gap:9px;color:var(--dp-muted);font-size:16px;}
.dp-ab-langs svg{width:22px;height:22px;flex:none;}
.dp-ab-actions{display:flex;flex-direction:column;gap:12px;flex:none;}
.dp-ab-actions .dp-ac-btn{min-width:170px;padding:13px 26px;justify-content:center;}
@media (max-width:560px){.dp-agentbar{flex-direction:column;align-items:stretch;padding:28px;}.dp-ab-photo{width:110px;height:110px;}.dp-ab-actions{width:100%;}.dp-ab-actions .dp-ac-btn{flex:1;}}

/* --- Agent card --- */
.dp-agent-card{background:var(--dp-card);border:1px solid var(--dp-border);border-radius:var(--dp-radius);padding:18px;box-shadow:var(--dp-shadow-sm);}
.dp-agent-top{display:flex;gap:14px;align-items:center;margin-bottom:14px;}
.dp-agent-photo{width:72px;height:72px;border-radius:50%;object-fit:cover;flex:none;}
.dp-agent-photo--empty{display:grid;place-items:center;background:var(--dp-bg);color:#b9c2d4;font-size:34px;width:72px;height:72px;}
.dp-agent-name{margin:0;font-size:17px;font-weight:700;}
.dp-agent-job{margin:2px 0 0;font-size:13px;color:var(--dp-muted);}
.dp-agent-langs{margin:6px 0 0;font-size:12px;color:var(--dp-muted);display:flex;align-items:center;gap:5px;}
.dp-agent-langs .dashicons{font-size:14px;width:14px;height:14px;}
.dp-agent-actions{display:flex;flex-wrap:wrap;gap:8px;}
.dp-agent-btn{display:inline-flex;align-items:center;gap:6px;padding:9px 14px;border-radius:10px;background:var(--dp-bg);color:var(--dp-text);text-decoration:none;font-size:13px;font-weight:600;transition:all .12s ease;}
.dp-agent-btn:hover{background:var(--dp-navy);color:#fff;}
.dp-agent-btn .dashicons{font-size:15px;width:15px;height:15px;}
.dp-agent-btn--wa:hover{background:#25d366;}
.dp-agents{display:grid;grid-template-columns:repeat(var(--dp-cols,3),1fr);gap:20px;}

/* --- Partners carousel --- */
.dp-partners{margin:30px 0;}
.dp-partners-title{font-size:26px;font-weight:800;margin:0 0 22px;letter-spacing:-.02em;}
.dp-partners-rail{display:flex;align-items:center;gap:8px;}
.dp-partners-track{flex:1 1 auto;display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none;padding:4px;min-width:0;}
.dp-partners-track::-webkit-scrollbar{display:none;}
.dp-partner{flex:0 0 calc((100% - (var(--dp-pv,4) - 1) * 18px) / var(--dp-pv,4));scroll-snap-align:start;display:grid;place-items:center;height:104px;padding:18px 24px;background:#fff;border:1px solid var(--dp-border);border-radius:0;box-shadow:var(--dp-shadow-sm);transition:box-shadow .15s ease,transform .15s ease;text-decoration:none;}
.dp-partner:hover{box-shadow:var(--dp-shadow);transform:translateY(-2px);}
.dp-partner-logo{max-width:100%;max-height:60px;width:auto;height:auto;object-fit:contain;display:block;}
.dp-partner-name{font-weight:700;color:var(--dp-text);text-align:center;}
.dp-partners-arrow{flex:none;border:0;background:transparent;box-shadow:none;color:var(--dp-navy);font-size:40px;line-height:1;cursor:pointer;padding:0;margin:0;width:auto;height:auto;transition:color .12s ease,transform .12s ease;}
.dp-partners-arrow.dp-partners-prev{margin-right:6px;margin-left:-14px;}
.dp-partners-arrow.dp-partners-next{margin-left:6px;margin-right:-14px;}
.dp-partners-arrow:hover{color:var(--dp-blue);background:transparent;transform:scale(1.15);}
.dp-no-scroll .dp-partners-arrow{display:none;}
/* Grid layout */
.dp-partners-grid{display:grid;grid-template-columns:repeat(var(--dp-pv,4),1fr);gap:18px;}
/* View All */
.dp-partners-foot{margin-top:20px;}
.dp-partners-foot--center{text-align:center;margin-top:26px;}
.dp-viewall{display:inline-flex;align-items:center;text-decoration:none;font-weight:700;font-family:var(--dp-font);transition:all .12s ease;}
.dp-viewall--btn{gap:8px;background:var(--dp-blue);color:#fff;padding:12px 22px;font-size:14px;}
.dp-viewall--btn:hover{background:var(--dp-blue-d);color:#fff;}
.dp-viewall--btn .dp-viewall-arrow{font-size:16px;}
.dp-viewall--grid{flex-direction:column;gap:6px;color:var(--dp-navy);align-items:center;}
.dp-viewall--grid .dp-viewall-icon{font-size:26px;width:26px;height:26px;}
.dp-viewall--grid:hover{color:var(--dp-blue);}
@media (max-width:900px){.dp-partner{flex-basis:calc((100% - 18px)/2);}.dp-partners-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.dp-partner{flex-basis:100%;}.dp-partners-grid{grid-template-columns:1fr;}}

/* --- Archive --- */
.dp-archive{max-width:1200px;margin:0 auto;padding:24px 20px 60px;}
.dp-archive-head h1{font-size:30px;font-weight:800;margin:0 0 20px;}

/* --- Responsive --- */
@media (max-width:1024px){
    .dp-single-cols{grid-template-columns:1fr;}
    .dp-side-card{position:static;}
    .dp-results,.dp-agents{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:680px){
    .dp-results,.dp-agents{grid-template-columns:1fr;}
    .dp-gallery-hero{grid-template-columns:1fr;}
    .dp-gh-grid{grid-template-columns:repeat(3,1fr);}
    .dp-single-title{font-size:26px;}
}
@media (max-width:780px){
    .dp-fb-rows{gap:16px 22px;}
    .dp-fb-btn{min-width:0;flex:1 1 auto;padding:11px 14px;font-size:13.5px;}
    .dp-fb-group{width:100%;}
    .dp-fb-dd{flex:1 1 auto;}
    .dp-fb-dd .dp-fb-btn--dd{width:100%;}
    .dp-seeall{width:100%;}
}

/* === Sharp corners — property page === */
.dp-hg-main,.dp-hg-cell,.dp-hg-count,.dp-brochure,
.dp-share-menu,.dp-share-link,.dp-share-copy,.dp-lb-img,
.dp-single-specs li,.dp-single-map,.dp-side-card,
.dp-detail-list,.dp-detail-block,
.dp-inquiry input,.dp-inquiry textarea,.dp-inq-submit,
.dp-single .dp-badge{border-radius:0 !important;}
