/* Property detail page (ported from legacy property-detail.php + dslider.php inline styles) */
/* ============================================================
   PROPERTY DETAIL PAGE — PROFESSIONAL REDESIGN
   ============================================================ */

section.gray-simple { background: #f4f6fb !important; }

/* ===== PROPERTY HEADER CARD (style-3) ===== */
.property_block_wrap.style-3 {
background: #fff !important;
border-radius: 18px !important;
box-shadow: 0 8px 40px rgba(0,0,0,0.11) !important;
border: none !important;
padding: 0 !important;
overflow: hidden !important;
display: flex !important;
align-items: stretch !important;
}
.pbw-flex-1 { flex-shrink: 0; width: 270px; }
.pbw-flex-thumb { width: 100% !important; height: 100% !important; overflow: hidden; }
.pbw-flex-thumb img {
width: 100% !important;
height: 100% !important;
min-height: 230px;
object-fit: cover !important;
display: block !important;
}
.pbw-flex {
flex: 1;
padding: 28px 32px !important;
background: linear-gradient(160deg, #f7fbff 0%, #ffffff 100%);
}
.prt-detail-title-desc h3 {
font-size: 22px !important;
font-weight: 800 !important;
color: #1a2c4e !important;
margin: 0 0 10px !important;
line-height: 1.35 !important;
}
/* ---- Price-tag badge: bold red, pointed left notch ---- */
.prt-detail-title-desc .prt-types.sale {
display: inline-block !important;
position: relative !important;
width: auto !important;
background: #6a0dad !important;
color: #FFE600 !important;
border: none !important;
border-radius: 0 6px 6px 0 !important;
padding: 7px 18px 7px 24px !important;
font-size: 12px !important;
font-weight: 900 !important;
letter-spacing: 1.5px !important;
text-transform: uppercase !important;
margin-bottom: 16px !important;
margin-left: 14px !important;
box-shadow: 3px 3px 12px rgba(106,13,173,0.45) !important;
line-height: 1.4 !important;
vertical-align: middle !important;
}
/* Left pointed notch (tag tail) */
.prt-detail-title-desc .prt-types.sale::before {
content: '' !important;
position: absolute !important;
left: -14px !important;
top: 0 !important;
bottom: 0 !important;
width: 0 !important;
height: 0 !important;
border-style: solid !important;
border-width: 17px 14px 17px 0 !important;
border-color: transparent #6a0dad transparent transparent !important;
}
/* Small hole on the left */
.prt-detail-title-desc .prt-types.sale::after {
content: '' !important;
position: absolute !important;
left: 7px !important;
top: 50% !important;
transform: translateY(-50%) !important;
width: 7px !important;
height: 7px !important;
border-radius: 50% !important;
background: rgba(255,255,255,0.65) !important;
box-shadow: inset 0 1px 2px rgba(0,0,0,0.25) !important;
}
.prt-detail-title-desc span:not(.prt-types) {
font-size: 14px !important;
color: #666 !important;
display: block !important;
margin-bottom: 6px !important;
}
/* Higher-specificity override so badges render as pills, not as the
   block-level plain-text span style above */
.prt-detail-title-desc span.cp-status-badge {
display: inline-flex !important;
align-items: center !important;
gap: 5px !important;
font-size: 11px !important;
font-weight: 800 !important;
letter-spacing: 0.4px !important;
text-transform: uppercase !important;
padding: 6px 14px !important;
border-radius: 20px !important;
margin: 0 0 16px 8px !important;
vertical-align: middle !important;
}
.cp-badge-verified { background: #ecfdf5 !important; color: #059669 !important; border: 1px solid #a7f3d0 !important; }
.cp-badge-new { background: #fff7ed !important; color: #ea580c !important; border: 1px solid #fed7aa !important; }
.prt-detail-title-desc .prt-price-fix {
font-size: 28px !important;
font-weight: 900 !important;
color: #0b2038 !important;
margin: 14px 0 8px !important;
line-height: 1.3 !important;
}
.prt-detail-title-desc .list-fx-features {
margin-top: 10px;
font-size: 13px;
color: #555;
}

/* ===== SECTION BLOCKS (style-2) ===== */
.property_block_wrap.style-2 {
background: #fff !important;
border-radius: 14px !important;
box-shadow: 0 4px 22px rgba(0,0,0,0.08) !important;
border: none !important;
margin-bottom: 26px !important;
overflow: hidden !important;
}
.property_block_wrap.style-2 .property_block_wrap_header {
position: relative !important;
background: linear-gradient(135deg, #0f8c9a 0%, #0a5b66 100%) !important;
padding: 0 !important;
border: none !important;
overflow: hidden !important;
}
/* gold accent bar on the left edge */
.property_block_wrap_header::before {
content: '' !important;
position: absolute !important;
left: 0; top: 0; bottom: 0;
width: 5px !important;
background: linear-gradient(180deg, #ffd166, #ffb703) !important;
z-index: 2;
}
/* subtle diagonal shine sweep on hover */
.property_block_wrap_header::after {
content: '' !important;
position: absolute !important;
top: 0; left: -60%;
width: 50%; height: 100%;
background: linear-gradient(120deg, transparent, rgba(255,255,255,0.18), transparent) !important;
transform: skewX(-20deg);
transition: left 0.6s ease;
z-index: 1;
}
.property_block_wrap_header:hover::after { left: 130%; }
.property_block_wrap_header a {
text-decoration: none !important;
display: flex !important;
align-items: center !important;
width: 100% !important;
padding: 15px 22px !important;
position: relative;
z-index: 2;
}
.property_block_wrap.style-2 .property_block_wrap_header h4.property_block_title {
display: flex !important;
align-items: center !important;
gap: 14px !important;
color: #fff !important;
font-size: 15px !important;
font-weight: 800 !important;
margin: 0 !important;
letter-spacing: 0.6px;
text-transform: uppercase;
}
.property_block_wrap_header h4.property_block_title i {
flex-shrink: 0;
width: 40px; height: 40px;
display: inline-flex !important;
align-items: center; justify-content: center;
background: rgba(255,255,255,0.16) !important;
border: 1px solid rgba(255,255,255,0.28) !important;
border-radius: 12px !important;
font-size: 16px !important;
color: #fff !important;
box-shadow: 0 4px 12px rgba(0,0,0,0.18);
}
.property_block_wrap_header:hover h4.property_block_title i {
background: rgba(255,255,255,0.28) !important;
transform: scale(1.06);
transition: all 0.25s ease;
}
/* collapse-toggle chevron (::after on h4) needs to stay visible on the dark gradient header */
.property_block_wrap.style-2 .property_block_wrap_header h4:after {
background: rgba(255,255,255,0.18) !important;
color: #fff !important;
}

/* Feature list: 2-column grid */
ul.deatil_features {
display: grid !important;
grid-template-columns: repeat(2, 1fr) !important;
list-style: none !important;
margin: 0 !important;
padding: 0 !important;
}
ul.deatil_features li {
width: 100% !important;
max-width: 100% !important;
flex: none !important;
padding: 12px 20px !important;
border-bottom: 1px solid #f0f3f7 !important;
font-size: 13px !important;
color: #555 !important;
display: flex !important;
gap: 8px !important;
align-items: baseline;
}
ul.deatil_features li:nth-child(odd) { border-right: 1px solid #f0f3f7 !important; }
ul.deatil_features li strong {
color: #1a2c4e !important;
font-weight: 600 !important;
white-space: nowrap;
flex-shrink: 0;
}

/* Amenities: icon card grid */
ul.avl-features {
display: grid !important;
grid-template-columns: repeat(3, 1fr) !important;
list-style: none !important;
padding: 18px !important;
margin: 0 !important;
gap: 12px !important;
}
ul.avl-features.third li {
width: 100% !important;
max-width: 100% !important;
flex: none !important;
display: flex !important;
align-items: center !important;
gap: 10px !important;
margin: 0 !important;
background: #fbf6e8 !important;
border: 1.5px solid #efe0b8 !important;
border-radius: 12px !important;
padding: 12px 14px !important;
font-size: 13px !important;
color: #1a2c4e !important;
font-weight: 600 !important;
transition: all 0.25s ease !important;
}
ul.avl-features.third li:hover {
background: #eefaf9 !important;
border-color: #0b2038 !important;
transform: translateY(-2px);
box-shadow: 0 8px 18px rgba(11,32,56,0.14);
}
ul.avl-features.third li::before {
content: '\f00c';
font-family: 'Font Awesome 6 Free';
font-weight: 900;
flex-shrink: 0;
width: 26px; height: 26px;
display: inline-flex;
align-items: center;
justify-content: center;
font-size: 11px;
color: #0b2038;
background: rgba(11,32,56,0.12);
border-radius: 50%;
}
@media (max-width: 767px) {
ul.avl-features { grid-template-columns: repeat(1, 1fr) !important; }
}

/* Generic Amenities & Features items — each with its own icon, not the shared checkmark */
ul.avl-features.third li.cp-amenity-item::before { content: none !important; }
ul.avl-features.third li.cp-amenity-item .cp-amenity-ic {
flex-shrink: 0;
width: 26px; height: 26px;
display: inline-flex;
align-items: center;
justify-content: center;
font-size: 12px;
color: #0b2038;
background: rgba(11,32,56,0.12);
border-radius: 50%;
}

.block-body p { font-size: 14px !important; line-height: 1.85 !important; color: #555 !important; }

/* ===== SIDEBAR ===== */
@media (min-width: 992px) {
.details-sidebar {
position: sticky !important;
top: 100px !important;
align-self: flex-start !important;
}
}
/* Like/Share/Print/Save row: base theme assumes 2 buttons (flex:0 0 50%), we render 3 */
.like_share_list {
flex-wrap: wrap !important;
}
.like_share_list li {
flex: 0 0 33.333% !important;
width: 33.333% !important;
}
.like_share_list li a {
padding: 10px 8px !important;
font-size: 12.5px !important;
white-space: nowrap;
display: flex !important;
align-items: center !important;
justify-content: center !important;
gap: 5px !important;
}
.like_share_list li a i { margin-right: 0 !important; }
@media (max-width: 420px) {
.like_share_list li a { font-size: 11.5px !important; padding: 9px 4px !important; }
}
.sides-widget {
background: #fff !important;
border-radius: 14px !important;
box-shadow: 0 6px 28px rgba(0,0,0,0.10) !important;
border: none !important;
overflow: hidden !important;
margin-bottom: 24px !important;
}
.sides-widget-header {
background: linear-gradient(135deg, #0b2038 0%, #0b2038 100%) !important;
padding: 20px !important;
display: flex !important;
align-items: center !important;
gap: 14px !important;
}
.sides-widget-header .agent-photo img {
width: 58px !important; height: 58px !important;
border-radius: 50% !important;
border: 3px solid rgba(255,255,255,0.4) !important;
object-fit: cover;
}
.sides-widget-header .sides-widget-details h4 a {
color: #fff !important; font-size: 15px !important; font-weight: 700 !important; text-decoration: none !important;
}
.sides-widget-header .sides-widget-details span {
color: rgba(255,255,255,0.85) !important; font-size: 13px !important;
display: flex !important; align-items: center !important; gap: 5px !important; margin-top: 5px !important;
}
.sides-widget-body.simple-form { padding: 22px !important; }
.sides-widget-body .form-group { margin-bottom: 14px !important; }
.sides-widget-body .form-group label {
font-size: 11px !important; font-weight: 700 !important; color: #1a2c4e !important;
text-transform: uppercase; letter-spacing: 0.6px; margin-bottom: 6px !important; display: block;
}
.sides-widget-body .form-control {
border-radius: 9px !important; border: 1.5px solid #dde2ec !important;
font-size: 13px !important; padding: 10px 14px !important;
background: #faf9f6 !important; transition: all 0.2s ease !important;
}
.sides-widget-body .form-control:focus {
border-color: #0b2038 !important;
box-shadow: 0 0 0 3px rgba(11,32,56,0.15) !important;
background: #fff !important; outline: none !important;
}
.sides-widget-body input[type=submit] {
background: linear-gradient(135deg, #0b2038, #0b2038) !important;
color: #fff !important; border: none !important; border-radius: 10px !important;
font-weight: 700 !important; font-size: 14px !important;
padding: 13px 20px !important; width: 100% !important; display: block !important;
box-shadow: 0 4px 16px rgba(11,32,56,0.35) !important;
transition: all 0.22s ease !important; cursor: pointer; margin-top: 6px;
}
.sides-widget-body input[type=submit]:hover {
background: linear-gradient(135deg, #0b2038, #0a5560) !important;
box-shadow: 0 7px 22px rgba(11,32,56,0.45) !important;
transform: translateY(-1px);
}
.like_share_wrap {
background: #fff !important; border-radius: 12px !important;
padding: 10px 18px !important; margin-bottom: 18px !important;
box-shadow: 0 2px 14px rgba(0,0,0,0.08) !important; border: none !important;
}
.sidebar-widgets {
background: #fff; border-radius: 14px;
box-shadow: 0 4px 22px rgba(0,0,0,0.09); padding: 20px 20px 8px;
}
.sidebar-widgets h4 {
font-size: 15px; font-weight: 800; color: #1a2c4e;
margin-bottom: 14px; padding-bottom: 10px; border-bottom: 2.5px solid #0b2038;
}
.sides_list_property {
display: flex !important; gap: 12px !important;
padding: 12px 0 !important; border-bottom: 1px solid #f0f3f7 !important; align-items: center !important;
}
.sides_list_property:last-child { border-bottom: none !important; padding-bottom: 4px !important; }
.sides_list_property_thumb img {
width: 80px !important; height: 70px !important;
object-fit: cover !important; border-radius: 10px !important; display: block;
}
.sides_list_property_detail h4 {
font-size: 13px !important; font-weight: 700 !important;
line-height: 1.45 !important; margin: 0 0 4px !important;
}
.sides_list_property_detail h4 a { color: #1a2c4e !important; text-decoration: none !important; }
.sides_list_property_detail h4 a:hover { color: #0b2038 !important; }
.sides_list_property_detail span { font-size: 12px !important; color: #888 !important; }
.property_types_vlix.sale {
display: inline-block; font-size: 11px; font-weight: 700;
background: #fff0f0; color: #E81C28; border: 1px solid #f5c6c6;
border-radius: 20px; padding: 2px 10px; margin-top: 5px;
}

@media (max-width: 991px) {
.property_block_wrap.style-3 { flex-direction: column !important; }
.pbw-flex-1 { width: 100% !important; }
.pbw-flex-thumb img { height: 220px !important; min-height: unset; }
.pbw-flex { padding: 20px !important; }
ul.deatil_features { grid-template-columns: 1fr !important; }
ul.deatil_features li:nth-child(odd) { border-right: none !important; }
}

/* ===== Image carousel (legacy dslider.php) ===== */
/* ── Carousel Container ──────────────────────────────────────── */
.cp-carousel{position:relative;width:100%;max-width:1400px !important;margin:24px auto;border-radius:18px;overflow:hidden;background:#f1f5f9;box-shadow:0 10px 40px rgba(0,0,0,.22)}
.cp-carousel-track{display:flex;transition:transform .45s cubic-bezier(.4,0,.2,1);will-change:transform}
.cp-carousel-slide{min-width:100%;position:relative}
.cp-carousel-slide img{display:block;width:100%;height:440px;object-fit:contain;object-position:center;cursor:pointer;-webkit-user-drag:none;image-rendering:auto}

/* ── Arrow Buttons ───────────────────────────────────────────── */
.cp-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:10;width:48px;height:48px;border:none;border-radius:50%;background:rgba(255,255,255,.85);color:#1a2c4e;font-size:22px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 12px rgba(0,0,0,.18);transition:all .2s;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);line-height:1}
.cp-arrow:hover{background:#fff;box-shadow:0 4px 18px rgba(0,0,0,.25);transform:translateY(-50%) scale(1.08)}
.cp-arrow-prev{left:16px}
.cp-arrow-next{right:16px}
.cp-arrow svg{width:20px;height:20px;stroke:currentColor;stroke-width:2.5;fill:none}

/* ── Dots ────────────────────────────────────────────────────── */
.cp-dots{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);display:flex;gap:8px;z-index:10;padding:6px 14px;border-radius:20px;background:rgba(0,0,0,.35);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.cp-dot{width:10px;height:10px;border-radius:50%;border:2px solid rgba(255,255,255,.7);background:transparent;cursor:pointer;transition:all .25s;padding:0}
.cp-dot.active{background:#fff;border-color:#fff;transform:scale(1.15)}
.cp-dot:hover{background:rgba(255,255,255,.5)}

/* ── Image Counter Badge ─────────────────────────────────────── */
.cp-counter{position:absolute;top:16px;left:16px;z-index:10;background:rgba(0,0,0,.5);color:#fff;font-size:13px;font-weight:600;padding:5px 14px;border-radius:20px;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);letter-spacing:.3px;pointer-events:none}

/* ── Watermark Text Overlay ──────────────────────────────────── */
.cp-watermark{position:absolute;bottom:48px;left:50%;transform:translateX(-50%);z-index:9;color:rgba(255,255,255,.45);font-size:20px;font-weight:800;font-family:'Montserrat','Poppins','Inter','Segoe UI',sans-serif;letter-spacing:1.5px;text-transform:lowercase;text-shadow:1px 1px 3px rgba(0,0,0,.55),0 0 8px rgba(0,0,0,.35);pointer-events:none;white-space:nowrap;user-select:none;-webkit-user-select:none}

/* ── Lightbox (fullscreen) ───────────────────────────────────── */
.cp-lightbox{display:none;position:fixed;inset:0;z-index:99999;background:rgba(0,0,0,.92);align-items:center;justify-content:center;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.cp-lightbox.open{display:flex}
.cp-lightbox img{max-width:92vw;max-height:90vh;object-fit:contain;border-radius:8px;box-shadow:0 0 60px rgba(0,0,0,.5)}
.cp-lightbox-close{position:absolute;top:20px;right:28px;z-index:10;background:rgba(255,255,255,.15);border:none;color:#fff;font-size:28px;width:44px;height:44px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}
.cp-lightbox-close:hover{background:rgba(255,255,255,.3)}
.cp-lb-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:10;width:52px;height:52px;border:none;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;font-size:24px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}
.cp-lb-arrow:hover{background:rgba(255,255,255,.25)}
.cp-lb-prev{left:20px}
.cp-lb-next{right:20px}

/* ── Thumbnail Strip ─────────────────────────────────────────── */
.cp-thumb-strip{display:flex;gap:10px;max-width:1400px;margin:14px auto 0;padding:0 4px;overflow-x:auto;scrollbar-width:thin}
.cp-thumb{flex:0 0 90px;width:90px;height:66px;border-radius:10px;overflow:hidden;cursor:pointer;border:2.5px solid transparent;opacity:.65;transition:all .2s ease;position:relative}
.cp-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.cp-thumb:hover{opacity:1;transform:translateY(-2px)}
.cp-thumb.active{border-color:#14304d;opacity:1;box-shadow:0 4px 14px rgba(20,48,77,.35)}
@media(max-width:768px){
  .cp-thumb-strip{margin-top:10px;gap:8px}
  .cp-thumb{flex-basis:70px;width:70px;height:52px;border-radius:8px}
}

/* ── Responsive ──────────────────────────────────────────────── */
@media(max-width:1024px){
  .cp-carousel-slide img{height:340px}
  .cp-carousel{border-radius:14px}
  .cp-arrow{width:42px;height:42px;font-size:18px}
  .cp-watermark{font-size:17px}
}
@media(max-width:768px){
  .cp-carousel{margin:12px 4px !important;border-radius:12px}
  .cp-carousel-slide img{height:280px}
  .cp-arrow{width:38px;height:38px}
  .cp-arrow-prev{left:10px}
  .cp-arrow-next{right:10px}
  .cp-dots{bottom:12px;gap:6px;padding:5px 10px}
  .cp-dot{width:8px;height:8px}
  .cp-counter{top:10px;left:10px;font-size:11px;padding:4px 10px}
  .cp-watermark{font-size:14px;bottom:40px}
  .cp-thumb-strip{margin-left:4px;margin-right:4px}
}
@media(max-width:480px){
  .cp-carousel{margin:8px 3px !important;border-radius:10px}
  .cp-carousel-slide img{height:230px}
  .cp-arrow{width:32px;height:32px;font-size:16px}
  .cp-arrow svg{width:14px;height:14px}
  .cp-dots{bottom:10px;padding:4px 8px}
  .cp-dot{width:7px;height:7px}
  .cp-counter{font-size:10px;padding:3px 8px}
  .cp-watermark{font-size:11px;bottom:34px}
  .cp-thumb-strip{margin-left:3px;margin-right:3px}
}

/* ===== Highlights strip ===== */
.cp-hl-strip {
max-width: 100%;
margin: -10px auto 24px;
background: #fff;
border-radius: 16px;
box-shadow: 0 4px 22px rgba(20,24,40,0.06);
padding: 20px 26px;
display: flex;
flex-wrap: wrap;
gap: 22px;
justify-content: space-between;
}
.cp-hl-item {
display: flex;
align-items: center;
gap: 12px;
flex: 1 1 150px;
min-width: 140px;
}
.cp-hl-icon {
width: 42px;
height: 42px;
border-radius: 12px;
background: rgba(20,48,77,0.09);
color: #14304d;
display: flex;
align-items: center;
justify-content: center;
font-size: 17px;
flex-shrink: 0;
}
.cp-hl-text { display: flex; flex-direction: column; line-height: 1.3; }
.cp-hl-label { font-size: 11.5px; color: #8a94a6; font-weight: 600; text-transform: uppercase; letter-spacing: 0.3px; }
.cp-hl-value { font-size: 15px; color: #1a2c4e; font-weight: 800; }
@media (max-width: 767px) {
.cp-hl-strip { padding: 16px 18px; gap: 14px; margin-top: 0; }
.cp-hl-item { flex: 1 1 45%; min-width: 45%; }
.cp-hl-icon { width: 36px; height: 36px; font-size: 14px; }
.cp-hl-value { font-size: 13.5px; }
}

/* ===== Description read-more ===== */
			.cp-desc-text {
				font-size: 15px;
				line-height: 1.85;
				color: #40495e;
				letter-spacing: 0.1px;
			}
			.cp-desc-text p { margin-bottom: 14px; }
			.cp-desc-wrap {
				position: relative;
				max-height: 165px;
				overflow: hidden;
				transition: max-height 0.35s ease;
			}
			.cp-desc-wrap.cp-desc-expanded { max-height: 4000px; }
			.cp-desc-fade {
				position: absolute;
				left: 0; right: 0; bottom: 0;
				height: 60px;
				background: linear-gradient(180deg, rgba(255,255,255,0) 0%, #fff 90%);
				pointer-events: none;
				transition: opacity 0.25s ease;
			}
			.cp-desc-wrap.cp-desc-expanded .cp-desc-fade { opacity: 0; }
			.cp-desc-toggle {
				margin-top: 14px;
				background: rgba(20,48,77,0.08);
				color: #14304d;
				border: none;
				padding: 9px 20px;
				border-radius: 30px;
				font-size: 13px;
				font-weight: 700;
				cursor: pointer;
				transition: all 0.25s ease;
			}
			.cp-desc-toggle:hover { background: #14304d; color: #fff; }
			.cp-desc-toggle i { margin-left: 4px; transition: transform 0.25s ease; }
			.cp-desc-toggle.cp-desc-open i { transform: rotate(180deg); }

/* ===== Location map ===== */
				.cp-map-container {
					position: relative;
					width: 100%;
					padding-bottom: 45%;
					border-radius: 12px;
					overflow: hidden;
					box-shadow: 0 6px 22px rgba(0,0,0,0.08);
				}
				.cp-map-container iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
				.cp-map-address {
					margin-top: 14px;
					font-size: 13.5px;
					color: #40495e;
					font-weight: 600;
				}
				.cp-map-address i { color: #14304d; margin-right: 6px; }

/* ===== Similar properties ===== */
.cp-similar-section { padding: 10px 0 40px; }

.cp-similar-info {
display: flex;
flex: 1 1 auto;
flex-direction: column;
gap: 8px;
width: 100%;
}
.cp-similar-info .cp-similar-title {
margin: 0 !important;
font-size: 15px !important;
font-weight: 700 !important;
line-height: 1.35 !important;
}
.cp-similar-info .cp-similar-title a {
color: #087f78 !important;
text-decoration: none !important;
}
.cp-similar-info .cp-similar-title a:hover { color: #075e59 !important; }
.cp-similar-location {
display: flex;
align-items: flex-start;
gap: 5px;
color: #64748b;
font-size: 12px;
line-height: 1.35;
}
.cp-similar-location i { color: #087f78; margin-top: 2px; }
.cp-similar-badges {
display: flex;
flex-wrap: wrap;
gap: 5px;
padding-bottom: 8px;
border-bottom: 1px solid #dce5ed;
}
.cp-similar-price {
display: flex;
align-items: center;
justify-content: space-between;
gap: 6px;
flex-wrap: wrap;
color: #172554;
font-size: 13px;
font-weight: 700;
line-height: 1.3;
}
.cp-similar-price-per-area {
padding: 4px 7px;
border-radius: 6px;
background: #e5f4f2;
color: #087f78;
font-size: 10px;
font-weight: 700;
white-space: nowrap;
}
.cp-similar-badge {
display: inline-flex;
align-items: center;
gap: 4px;
padding: 4px 7px;
border-radius: 6px;
background: #f1f5f9;
color: #475569;
font-size: 10px;
font-weight: 600;
line-height: 1.2;
}
.cp-similar-badge i { color: #64748b; font-size: 10px; }
.cp-similar-badge.cp-similar-dtcp {
background: #e8f8ef;
color: #15803d;
}
.cp-similar-badge.cp-similar-dtcp i { color: #15803d; }
.cp-similar-meta {
display: flex;
align-items: center;
justify-content: space-between;
gap: 8px;
padding-top: 1px;
color: #64748b;
font-size: 11px;
line-height: 1.3;
}
.cp-similar-meta .cp-similar-property-id {
color: #52657e;
font-size: 10px;
letter-spacing: .03em;
white-space: nowrap;
}
.cp-similar-card-actions {
display: flex !important;
align-items: center !important;
gap: 4px !important;
width: 100% !important;
margin-top: 2px;
}
.cp-similar-card-actions a {
display: inline-flex !important;
flex: 1 1 0 !important;
flex-direction: column !important;
align-items: center !important;
justify-content: center !important;
gap: 2px !important;
box-sizing: border-box !important;
height: 42px !important;
min-width: 0 !important;
min-height: 42px !important;
padding: 4px 3px !important;
border-radius: 8px !important;
color: #fff !important;
font-size: 8px !important;
font-weight: 700 !important;
line-height: 1.1 !important;
text-align: center !important;
text-decoration: none !important;
}
.cp-similar-card-actions a i { font-size: 12px !important; }
.cp-similar-card-actions a span {
font-size: inherit !important;
white-space: nowrap !important;
}
.cp-similar-card-actions .cp-similar-call { background: #1558a6 !important; }
.cp-similar-card-actions .cp-similar-whatsapp { background: #159447 !important; }
.cp-similar-card-actions .cp-similar-view { background: #0b2038 !important; }
.cp-similar-card-actions a:hover { filter: brightness(1.08); }

@media (min-width: 768px) {
.cp-similar-section .row.list-layout {
	display: flex !important;
	align-items: stretch !important;
}
.cp-similar-section .row.list-layout > [class*="col-"] {
	display: flex !important;
}
.cp-similar-section .property-listing.property-1 {
	display: flex !important;
	flex-direction: column !important;
	width: 100% !important;
	height: 100% !important;
}
.cp-similar-section .property-listing.property-1 .listing-img-wrapper {
	flex: 0 0 250px !important;
}
.cp-similar-section .property-listing.property-1 .listing-img-wrapper img {
	width: 100% !important;
	height: 250px !important;
	min-height: 0 !important;
	max-height: 250px !important;
	object-fit: contain !important;
	object-position: center !important;
	background: #f1f5f9 !important;
}
.cp-similar-section .property-listing.property-1 .listing-content {
	flex: 1 1 auto !important;
}
.cp-similar-section .property-listing.property-1 .listing-content {
	padding: 14px 16px !important;
}
.cp-similar-section .property-listing.property-1 .cp-card-fabs .cp-fab-btn {
	box-sizing: border-box !important;
	flex: 0 0 36px !important;
	width: 36px !important;
	height: 36px !important;
	min-width: 36px !important;
	min-height: 36px !important;
	padding: 0 !important;
	border-radius: 50% !important;
	aspect-ratio: 1 / 1 !important;
}
}

/* Mobile-only: compact horizontal list-card for Similar Properties.
   Selectors are prefixed with .cp-similar-section .property-listing.property-1 so they
   out-specificity the shared card rules in header.php. */
@media (max-width: 767px) {
.cp-similar-section .property-listing.property-1 {
	display: flex !important;
	flex-direction: row !important;
	align-items: stretch !important;
	height: auto !important;
	min-height: 0 !important;
	max-height: none !important;
	border-radius: 12px !important;
	overflow: hidden !important;
}
.cp-similar-section .property-listing.property-1 .listing-img-wrapper {
	flex: 0 0 112px !important;
	width: 112px !important;
	height: auto !important;
	align-self: stretch !important;
}
.cp-similar-section .property-listing.property-1 .listing-img-wrapper a,
.cp-similar-section .property-listing.property-1 .listing-img-wrapper img {
	width: 112px !important;
	height: 100% !important;
	min-height: 100% !important;
	max-height: none !important;
	object-fit: contain !important;
	object-position: center !important;
	background: #f1f5f9 !important;
}
.cp-similar-section .property-listing.property-1 .listing-img-wrapper .cp-card-fabs {
	top: 6px !important;
	right: 6px !important;
	gap: 5px !important;
	width: auto !important;
	height: auto !important;
}
.cp-similar-section .property-listing.property-1 .listing-img-wrapper .cp-fab-btn {
	box-sizing: border-box !important;
	flex: 0 0 28px !important;
	width: 28px !important;
	height: 28px !important;
	min-width: 28px !important;
	height: 28px !important;
	min-height: 28px !important;
	max-height: none !important;
	padding: 0 !important;
	border-radius: 50% !important;
	aspect-ratio: 1 / 1 !important;
	font-size: 10px !important;
}
.cp-similar-section .property-listing.property-1 .listing-content {
	flex: 1 1 auto !important;
	min-width: 0 !important;
	height: auto !important;
	min-height: 0 !important;
	padding: 10px 12px !important;
}
.cp-similar-card-actions {
	gap: 5px !important;
}
.cp-similar-card-actions a {
	min-height: 32px !important;
	padding: 6px 4px !important;
	font-size: 10px !important;
}
.cp-similar-card-actions a span {
	display: none !important;
}
}

/* =====================================================================
   RESPONSIVE PASS (phones / tablets / small laptops).
   Everything below is inside max-width (or bounded min/max) queries so
   the approved desktop layout at >= 1200px is unchanged.
   ===================================================================== */
@media (max-width: 1199px) {
/* Amenity check icon was painted on top of the label text */
ul.avl-features.third li::before {
	position: static !important;
	margin: 0 !important;
	left: auto !important;
	top: auto !important;
}
ul.avl-features.third li { overflow-wrap: anywhere; }
.prt-detail-title-desc h3,
.sides_list_property_detail h4,
.cp-similar-info .cp-similar-title { overflow-wrap: anywhere; }
}

/* Tablet: main column is full width, so keep 2 columns where they fit */
@media (min-width: 576px) and (max-width: 991px) {
ul.deatil_features { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
ul.deatil_features li:nth-child(odd) { border-right: 1px solid #f0f3f7 !important; }
ul.avl-features { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

/* Similar properties: cp-responsive.css stacks every .row as a column (<=768px, with a 15px gap),
   which left one half-width card per line on tablets -> 2 cards per row. Extra :not() for specificity. */
@media (min-width: 768px) and (max-width: 991px) {
.cp-similar-section .container-fluid .row.list-layout:not(.cp-x) {
	flex-direction: row !important;
	flex-wrap: wrap !important;
	gap: 0 !important;
}
}

@media (max-width: 991px) {
/* 16px fields: no iOS focus zoom; 44px tap targets */
.sides-widget-body .form-control {
	font-size: 16px !important;
	min-height: 44px;
}
.sides-widget-body #myCheck {
	width: 22px !important;
	height: 22px !important;
	vertical-align: middle;
	margin: 0 8px 0 0;
}
.sides-widget-body label[for="myCheck"] {
	display: inline !important;
	line-height: 1.5;
	cursor: pointer;
}
.sides-widget-body input[type=submit] { min-height: 48px; }
/* cp-responsive.css pins every .form-control to 46px on phones, squashing the message box */
.sides-widget-body textarea.form-control { min-height: 110px !important; }
.like_share_list li a { min-height: 44px; }
}

@media (max-width: 767px) {
/* Header block: thumbnail fills the card instead of a fixed 250px box */
.pbw-flex-thumb img {
	width: 100% !important;
	height: 200px !important;
	object-fit: cover !important;
}
.prt-detail-title-desc h3 { font-size: clamp(19px, 5.6vw, 24px) !important; line-height: 1.3 !important; }
.prt-detail-title-desc h3.prt-price-fix { font-size: clamp(22px, 6.5vw, 28px) !important; }

/* Detail & Features rows: let long labels wrap instead of squeezing the value */
ul.deatil_features li { padding: 12px 14px !important; font-size: 14px !important; }
ul.deatil_features li strong { white-space: normal !important; flex-shrink: 1; max-width: 55%; }
ul.deatil_features li { overflow-wrap: anywhere; }

/* Map a bit taller on narrow screens */
.cp-map-container { padding-bottom: 65%; }

/* Similar cards: fill the thumb column instead of a thin letterboxed strip */
.cp-similar-section .property-listing.property-1 .listing-img-wrapper a,
.cp-similar-section .property-listing.property-1 .listing-img-wrapper img {
	object-fit: cover !important;
}
.cp-similar-card-actions a { min-height: 40px !important; }
.cp-desc-toggle { min-height: 44px; }
}

/* Desktop bug fix (legacy): the amenity check icon overlapped its label at >= 1200px too. */
@media (min-width: 1200px) {
	ul.avl-features.third li::before {
		position: static !important;
		margin: 0 !important;
		left: auto !important;
		top: auto !important;
	}
}

/* Mobile property-detail layout */
.cp-availability-badge,
.cp-gallery-action,
.cp-price-per-area,
.cp-mobile-actions {
	display: none;
}

@media (max-width: 768px) {
    body:has(.cp-mobile-actions) {
        padding-bottom: calc(142px + env(safe-area-inset-bottom)) !important;
    }

    #property-information { scroll-margin-top: 80px; }
    #property-information > .container { padding-top: 12px !important; }

	    body:has(.cp-mobile-actions) .fab-stack {
	        display: none !important;
	    }

	    .cp-carousel {
	        margin: 0 !important;
	        border-radius: 0 !important;
	        box-shadow: none !important;
	    }

	    .cp-carousel-slide img {
	        height: min(62vw, 360px) !important;
	        min-height: 230px;
	        object-fit: cover;
	    }

	    .cp-availability-badge {
	        position: absolute;
	        top: 12px;
	        left: 12px;
	        z-index: 12;
	        display: inline-flex;
	        align-items: center;
	        gap: 6px;
	        border-radius: 20px;
	        padding: 7px 11px;
	        background: #e7f8ee;
	        color: #167443;
	        font-size: 11px;
	        font-weight: 800;
	        line-height: 1;
	    }

	    .cp-availability-badge.cp-availability-pending {
	        background: #fff7ed;
	        color: #b45309;
	    }

	    .cp-gallery-actions {
	        position: absolute;
	        top: 10px;
	        right: 12px;
	        z-index: 12;
	        display: flex;
	        gap: 8px;
	    }

	    .cp-gallery-action {
	        width: 38px;
	        height: 38px;
	        display: inline-flex;
	        align-items: center;
	        justify-content: center;
	        border: 0;
	        border-radius: 50%;
	        background: rgba(255, 255, 255, .95);
	        color: #1a2c4e;
	        box-shadow: 0 2px 9px rgba(0, 0, 0, .18);
	        text-decoration: none;
	        cursor: pointer;
	    }

	    .cp-gallery-saved { color: #e11d48; }

	    .property_block_wrap.style-3 {
	        display: block !important;
	        border-radius: 0 !important;
	        box-shadow: none !important;
	        border-bottom: 1px solid #e8edf3 !important;
	    }

	    .property_block_wrap.style-3 > .pbw-flex-1 { display: none !important; }

	    .property_block_wrap.style-3 .pbw-flex {
	        padding: 16px 16px 18px !important;
	        background: #fff !important;
	    }

	    .prt-detail-title-desc h3 {
	        margin-bottom: 7px !important;
	        font-size: 20px !important;
	        line-height: 1.3 !important;
	    }

	    .prt-detail-title-desc .prt-types.sale {
	        margin: 0 8px 8px 12px !important;
	        padding: 5px 12px 5px 18px !important;
	        font-size: 10px !important;
	    }

	    .prt-detail-title-desc .prt-types.sale::before {
	        left: -10px !important;
	        border-width: 14px 10px 14px 0 !important;
	    }

	    .prt-detail-title-desc .prt-types.sale::after { left: 5px !important; }

	    .prt-detail-title-desc span:not(.prt-types):not(.cp-status-badge) {
	        margin-bottom: 4px !important;
	        font-size: 12px !important;
	    }

	    .prt-detail-title-desc .prt-price-fix {
	        display: inline-block;
	        margin: 6px 8px 0 0 !important;
	        font-size: 21px !important;
	    }

	    .prt-detail-title-desc .prt-price-fix font {
	        color: #687386 !important;
	        font-size: 11px !important;
	    }

	    .cp-price-per-area {
	        display: inline-flex;
	        align-items: center;
	        padding: 6px 10px;
	        border: 1px solid #dce5ef;
	        border-radius: 20px;
	        background: #f5f8fc;
	        color: #1a2c4e;
	        font-size: 11px;
	        font-weight: 700;
	    }

	    .prt-detail-title-desc span.cp-price-per-area:not(.prt-types):not(.cp-status-badge) {
	        display: inline-flex !important;
	        margin: 0 !important;
	        color: #1a2c4e !important;
	        font-size: 11px !important;
	    }

	    .property_block_wrap.style-3 .list-fx-features { margin-top: 6px !important; }
	    .cp-hl-strip { margin: 0 auto 16px !important; padding: 14px 16px !important; }

	    .cp-mobile-actions {
	        position: fixed;
	        right: 0;
	        bottom: calc(64px + env(safe-area-inset-bottom));
	        left: 0;
	        z-index: 99996;
	        display: grid;
	        grid-template-columns: .8fr 1.2fr 1.2fr;
	        gap: 8px;
	        padding: 9px 12px;
	        border-top: 1px solid #e8edf3;
	        background: rgba(255, 255, 255, .98);
	        box-shadow: 0 -4px 16px rgba(15, 35, 65, .1);
	        backdrop-filter: blur(12px);
	    }

	    .cp-mobile-action {
	        min-height: 42px;
	        display: flex;
	        align-items: center;
	        justify-content: center;
	        gap: 7px;
	        border: 1px solid #0b4eaa;
	        border-radius: 8px;
	        background: #fff;
	        color: #0b4eaa;
	        font-size: 12px;
	        font-weight: 800;
	        text-decoration: none;
	    }

	    .cp-mobile-action:hover,
	    .cp-mobile-action:focus { color: #083c86; }

	    .cp-mobile-whatsapp {
	        border-color: #16834b;
	        background: #16834b;
	        color: #fff;
	    }

	    .cp-mobile-whatsapp:hover,
	    .cp-mobile-whatsapp:focus { color: #fff; background: #116c3d; }

	    .cp-mobile-details { border-color: #e0e6ee; color: #26384f; }
}

/* ===== Photo gallery: main photo 65% + the other three stacked at 35% =====
   Tablet and desktop only; phones keep the full-width photo with the
   thumbnail row below. The active photo's thumbnail is hidden, so the right
   column always shows the three photos that are not on the big view. */
@media (min-width: 769px) {
  .cp-gallery.cp-gallery-split {
    display: grid;
    grid-template-columns: minmax(0, 65fr) minmax(0, 35fr);
    gap: 12px;
    width: calc(100% - 32px);
    max-width: 1240px;
    margin: 24px auto;
    align-items: stretch;
  }
  .cp-gallery.cp-gallery-split .cp-carousel {
    margin: 0 !important;
    max-width: none !important;
  }
  .cp-gallery.cp-gallery-split .cp-thumb-strip {
    display: flex;
    flex-direction: column;
    gap: 12px;
    max-width: none;
    margin: 0;
    padding: 0;
    overflow: hidden;
    min-height: 0;
  }
  .cp-gallery.cp-gallery-split .cp-thumb {
    flex: 1 1 0;
    width: 100%;
    height: auto;
    min-height: 0;
    border: 0;
    border-radius: 14px;
    opacity: 1;
    background: #f1f5f9;
    box-shadow: 0 6px 20px rgba(0,0,0,.14);
  }
  .cp-gallery.cp-gallery-split .cp-thumb.active { display: none; }
  .cp-gallery.cp-gallery-split .cp-thumb img { transition: transform .35s ease; }
  .cp-gallery.cp-gallery-split .cp-thumb:hover { transform: none; }
  .cp-gallery.cp-gallery-split .cp-thumb:hover img { transform: scale(1.05); }
  .cp-gallery.cp-gallery-split .cp-thumb:focus-visible { outline: 3px solid #14304d; outline-offset: 2px; }
}
@media (min-width: 769px) and (prefers-reduced-motion: reduce) {
  .cp-gallery.cp-gallery-split .cp-thumb img { transition: none; }
}

/* "No photo yet" placeholders show whole (logo centred) instead of being cropped. */
.cp-carousel-slide.cp-slide-placeholder,
.cp-gallery .cp-thumb.cp-thumb-placeholder { background: #fff; }
.cp-gallery .cp-thumb.cp-thumb-placeholder img { object-fit: contain; }
