/* Property details owns its layout; legacy hooks remain only for editing and galleries. */
.pd-page { --pd-ink:#253f31; --pd-green:#345b3d; --pd-muted:#74806f; --pd-line:#e1e7da; box-sizing:border-box; width:min(1240px,100%); margin:0 auto; padding-inline:24px; padding-bottom:48px; color:var(--pd-ink); font:400 15px/1.8 Tajawal,Arial,sans-serif; }
.pd-page *, .pd-page *::before, .pd-page *::after { box-sizing:border-box; }
.pd-page .hidden, .pd-page [hidden] { display:none !important; }
.pd-page .seo-breadcrumbs { margin:24px 0 20px; padding:0; max-width:none; }
.pd-page :is(h1,h2,h3,p,dl,dd) { margin:0; }
.pd-page h1 { max-width:950px; font-size:clamp(23px,2.4vw,34px); font-weight:800; line-height:1.65; color:var(--pd-ink); overflow-wrap:anywhere; }
.pd-page h2 { font-size:21px; line-height:1.6; font-weight:800; color:var(--pd-ink); }
.pd-page h3 { font-size:16px; font-weight:700; color:var(--pd-ink); }
.pd-heading { display:flex; align-items:center; justify-content:space-between; gap:24px; padding-bottom:24px; }
.pd-page .pd-eyebrow { color:var(--pd-muted); font-size:13px; font-weight:500; margin-bottom:5px; }
.pd-page .pd-code { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; flex:none; gap:6px 10px; min-width:130px; min-height:64px; border:1px solid var(--pd-line); border-radius:12px; padding:10px 14px; background:#fff; color:var(--pd-green); font:700 14px/1.5 Tajawal,Arial,sans-serif; cursor:pointer; }
.pd-code > span:first-child { width:100%; text-align:center; color:var(--pd-muted); font-size:12px; }
.pd-code bdi { font-size:20px; font-weight:800; }
.pd-nav { display:flex; flex-wrap:wrap; gap:5px 10px; padding:10px 0 20px; margin-bottom:6px; border-bottom:1px solid var(--pd-line); }
.pd-nav a { display:flex; align-items:center; min-height:44px; padding:8px 16px; border-radius:9px; background:#f0f5e9; color:var(--pd-green); font-weight:700; font-size:14px; text-decoration:none; }
.pd-nav a:hover { background:#e1ecd7; }
.pd-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(300px,340px); align-items:start; gap:24px; margin-top:24px; }
.pd-content, .pd-sidebar { display:flex; flex-direction:column; gap:22px; min-width:0; }
.pd-sidebar { align-self:start; }
.pd-panel { min-width:0; padding:26px; border:1px solid var(--pd-line); border-radius:18px; background:#fff; box-shadow:0 4px 18px rgb(31 54 35 / 3%); }
.pd-section-heading { display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap; margin-bottom:18px; }
.pd-section-icon { color:#91a383; font-size:22px; }
.pd-muted, .pd-page .pd-caption { color:var(--pd-muted); font-size:13px; line-height:1.8; }
.pd-page .pd-caption { margin:12px 0; }
.pd-page .sss_images { display:block; width:100%; margin:0; padding:0; border:0; background:none; }
.pd-page .res_2 { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; width:100%; max-height:none; padding:0; margin:0; overflow:visible; }
.pd-page .res_2 a { display:block; position:relative; width:auto; height:auto; margin:0; padding:0; aspect-ratio:4/3; border:1px solid var(--pd-line); border-radius:10px; overflow:hidden; background:#f1f5eb; }
.pd-page .res_2 a:first-child { grid-column:1/-1; aspect-ratio:16/10; border-radius:12px; }
.pd-page .res_2 img { display:block; position:static; width:100%; height:100%; max-height:none; margin:0; object-fit:contain; background:#f3f6ee; }
.pd-page .res_2 a:has(.pd-placeholder) { display:flex; align-items:center; justify-content:center; aspect-ratio:auto; height:clamp(220px,25vw,340px); min-width:0; }
.pd-page .res_2 img.pd-placeholder { width:min(50%,220px); height:auto; max-height:220px; }
.pd-photo-open { position:absolute; bottom:12px; inset-inline-start:12px; display:flex; align-items:center; gap:7px; padding:5px 11px; background:rgb(255 255 255 / 94%); color:var(--pd-green); border-radius:7px; font-size:12px; font-weight:700; }
.pd-page .res_2 a:not(:first-child) .pd-photo-open { display:none; }
.pd-page .pd-model-link { display:flex; align-items:center; gap:12px; padding:14px; margin-top:18px; border:1px solid #dce6d0; border-radius:10px; background:#f5f8ef; color:var(--pd-green); font-size:14px; text-decoration:none; }
.pd-model-link span { flex:1; }
.pd-description, .pd-notes { white-space:pre-line; overflow-wrap:anywhere; font-size:15px; line-height:2; }
.pd-edit-help { padding:10px 14px; margin-bottom:20px !important; border-radius:9px; background:#f6f8f1; color:#74816b; font-size:13px; }
.pd-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 22px; }
.pd-fields > span { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:6px 12px; min-width:0; align-self:start; min-height:62px; padding:13px 0; border-bottom:1px solid #eaf0e3; }
.pd-fields > span > bdi { color:var(--pd-muted); font-size:13px; font-weight:500; }
.pd-fields > span > span { min-width:0; max-width:100%; color:var(--pd-ink); font-size:14px; font-weight:700; overflow-wrap:anywhere; }
.pd-page .editable, .pd-page #edit_aim_call { cursor:pointer; border-bottom:1px dashed #a3b494; padding:3px 0; }
.pd-page .editable:hover, .pd-page #edit_aim_call:hover { color:#467136; }
/* Frame the existing edit siblings together without changing their legacy ancestry. */
.pd-fields > span:has(> .editable.hidden), .pd-fields > #aim_container:has(> #edit_aim:not(.hidden)), .pd-notes:has(> .editable.hidden) { padding:14px; border:1px solid #9fb58e; border-radius:11px; background:#f6f9f1; box-shadow:0 0 0 3px rgb(159 181 142 / 10%); }
.pd-fields > span:has(> .editable.hidden), .pd-fields > #aim_container:has(> #edit_aim:not(.hidden)) { margin-block:6px; align-content:start; gap:8px 6px; }
.pd-fields > span:has(> .editable.hidden) > bdi, .pd-fields > #aim_container:has(> #edit_aim:not(.hidden)) > bdi { width:100%; margin-bottom:4px; color:#49653e; font-weight:700; }
.pd-notes:has(> .editable.hidden) { display:flex; flex-wrap:wrap; gap:8px; }
.pd-page #edit_aim:not(.hidden) { display:flex; align-items:center; flex-wrap:wrap; gap:8px; width:100%; }
.pd-page :is(input,select,textarea) { max-width:100%; min-width:0; min-height:44px; padding:9px 10px; border:1px solid #cbd8c0; border-radius:8px; font:400 14px/1.6 Tajawal,Arial,sans-serif; color:var(--pd-ink); background:#fff; }
.pd-page .pd-fields :is(input,select,textarea) { flex:1; width:100%; }
.pd-page button { cursor:pointer; }
.pd-page .pd-fields button, .pd-page .pd-notes button { display:inline-flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; margin:0; padding:8px; border:1px solid #d1ddc5; border-radius:8px; background:#f0f6e9; color:var(--pd-green); }
.pd-page .pd-notes textarea { width:100%; min-height:130px; }
.pd-page .pd-button { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; padding:10px 14px; margin:0; border:1px solid #d6e0cd; border-radius:9px; color:var(--pd-green); background:#fff; font:700 14px/1.5 Tajawal,Arial,sans-serif; text-decoration:none; cursor:pointer; }
.pd-page .pd-button:hover { background:#edf4e5; border-color:#a8be95; }
.pd-page .pd-small { font-size:12px; padding-inline:10px; }
.pd-page .pd-wide { display:flex; width:100%; margin-top:10px; }
/* Aspect cards own both read and edit modes, without legacy checkbox layout. */
.pd-aspects { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-top:28px; }
.pd-aspect { min-width:0; align-self:start; padding:18px; border:1px solid var(--pd-line); border-radius:13px; background:#fafcf7; }
.pd-aspect-heading { display:flex; align-items:center; gap:10px; margin-bottom:16px; }
.pd-aspect-icon { display:flex; align-items:center; justify-content:center; flex:none; width:40px; height:40px; border-radius:11px; color:#557348; background:#edf3e6; font-size:18px; }
.pd-aspect-heading > div { flex:1; min-width:0; }
.pd-aspect-heading h3 { font-size:16px; line-height:1.6; }
.pd-aspect-count { color:var(--pd-muted); font-size:12px; }
.pd-page .pd-aspect-toggle { flex:none; width:auto; min-width:88px; white-space:nowrap; }
.pd-page .pd-aspect-toggle > span { font:inherit; }
.pd-page .pd-aspect-toggle > i { flex:none; font-size:14px; line-height:1; }
.pd-page .pd-aspect-toggle:focus-visible { outline:3px solid #9db58d; outline-offset:3px; }
.pd-aspect-selected { display:flex; flex-wrap:wrap; gap:8px; }
.pd-aspect-chip { display:inline-flex; align-items:center; gap:7px; padding:6px 10px; border:1px solid #dce7d2; border-radius:7px; color:#3d6339; background:#eff5e8; font-size:13px; line-height:1.7; }
.pd-aspect-chip b { font-size:18px; line-height:1; }
.pd-page .pd-aspect-empty { padding:4px 0; color:#899280; font-size:13px; line-height:1.9; }
.pd-page .pd-aspect-help { margin:0 0 12px; color:var(--pd-muted); font-size:12px; line-height:1.8; }
.pd-page .pd-aspect-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; padding:0; margin:0; min-width:0; border:0; }
.pd-aspect-option { position:relative; display:flex; align-items:center; gap:8px; min-width:0; min-height:50px; margin:0; padding:10px; border:1px solid #dfe6d6; border-radius:9px; color:#65765a; background:#fff; cursor:pointer; font-size:13px; line-height:1.6; }
.pd-aspect-option > span:last-child { overflow-wrap:anywhere; }
.pd-page .pd-aspect-option input { display:block; position:absolute; width:1px; height:1px; min-height:0; margin:0; padding:0; border:0; opacity:0; appearance:auto; }
.pd-aspect-option-mark { display:flex; align-items:center; justify-content:center; flex:none; width:24px; height:24px; border:1px solid #d3dec9; border-radius:6px; font-size:18px; color:#6a8259; }
[data-aspect=views] .pd-aspect-option:not(:has(input:checked)) .pd-aspect-option-mark { color:transparent; }
.pd-aspect-option:has(input:checked) { border-color:#92ad7d; background:#edf5e5; color:#36592f; }
.pd-aspect-option:has(input:checked) .pd-aspect-option-mark { color:#fff; border-color:#4b7140; background:#4b7140; }
.pd-aspect-option:has(input:focus-visible) { outline:3px solid #9db58d; outline-offset:2px; }
.pd-aspect-option:has(input:disabled) { opacity:.6; cursor:wait; }
.pd-aspect-toggle:disabled, .pd-aspect-retry:disabled { opacity:.6; cursor:wait; }
.pd-page .pd-aspect-feedback { margin-top:12px; padding-top:10px; border-top:1px solid var(--pd-line); font-size:12px; line-height:1.8; color:#657b57; }
.pd-aspect-feedback[data-type=success] { color:#3c6736; }
.pd-aspect-feedback[data-type=error] { color:#a14d3a; }
.pd-page .pd-aspect-retry { width:100%; min-height:44px; padding:8px; margin-top:8px; border:1px solid #e2c9b9; border-radius:8px; color:#8e523a; background:#fff9f4; font:700 12px/1.6 Tajawal,Arial,sans-serif; }
.pd-page .pd-price { display:flex; align-items:baseline; flex-wrap:wrap; gap:8px; margin:10px 0 18px; }
.pd-price strong { font-size:30px; font-weight:800; line-height:1.6; }
.pd-price > span { color:var(--pd-muted); font-size:14px; }
.pd-availability { display:flex; align-items:center; gap:8px; padding:11px 13px; border-radius:9px; background:#edf4e5; color:#416135; font-size:14px; }
.pd-summary-specs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin:22px 0 !important; }
.pd-summary-specs > div { display:flex; flex-direction:column; align-items:center; gap:5px; border-inline-end:1px solid var(--pd-line); }
.pd-summary-specs > div:last-child { border:0; }
.pd-summary-specs dt { color:var(--pd-muted); font-size:12px; }
.pd-summary-specs dd { font-size:16px; font-weight:800; }
.pd-page .pd-modified { font-size:12px; text-align:center; color:var(--pd-muted); }
.pd-address { margin-top:22px; padding-top:18px; border-top:1px solid var(--pd-line); font-size:14px; }
.pd-address > span { color:var(--pd-muted); font-size:12px; }
.pd-address p { margin-top:5px; font-weight:700; }
#pd-management .pc-admin { grid-template-columns:repeat(2,minmax(0,1fr)); padding-top:0; border:0; }
#pd-management .pc-admin > :is(button,a), #pd-management .pc-comments { min-height:48px; font-size:12px; }
.pd-log-results { max-height:380px; overflow:auto; font-size:12px; overflow-wrap:anywhere; }
.pd-agent { display:flex; flex-direction:column; gap:6px; padding:16px 0; border-top:1px solid var(--pd-line); }
.pd-agent > span { font-size:14px; font-weight:700; }
.pd-agent > bdi { max-width:100%; overflow-wrap:anywhere; align-self:flex-start; color:var(--pd-muted); font-size:15px; }
.pd-agent > div { display:flex; gap:8px; margin-top:4px; }
.pd-agent .pd-button { flex:1; }
.pd-page .pd-whatsapp { background:var(--pd-green); border-color:var(--pd-green); color:#fff; }
.pd-share { display:flex; flex-wrap:wrap; gap:8px; }
.pd-share a { display:flex; align-items:center; gap:7px; padding:9px 13px; min-height:44px; border:1px solid var(--pd-line); border-radius:8px; color:var(--pd-green); font-size:13px; cursor:pointer; }
.pd-share a:hover { background:#f0f5e9; }
.pd-share .a2a_svg { display:none; }
.pd-related { margin-top:36px; }
.pd-related-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.pd-related-card { display:block; min-width:0; border:1px solid var(--pd-line); border-radius:14px; overflow:hidden; color:var(--pd-ink); background:#fff; text-decoration:none; }
.pd-related-card img { display:block; width:100%; aspect-ratio:16/10; object-fit:contain; background:#f1f5e9; }
.pd-related-card > div { padding:18px; }
.pd-related-card h3 { font-size:16px; line-height:1.9; margin:8px 0 12px; }
.pd-related-card p { color:var(--pd-green); font-size:18px; font-weight:800; }
.pd-unavailable { padding:14px 18px; margin:0 0 18px !important; border:1px solid #e9d8ad; border-radius:10px; background:#fff8e8; color:#826126; }
.pd-page :is(section,aside)[id] { scroll-margin-top:calc(var(--site-header-height,100px) + 20px); }
.pd-page :is(button,a,input,select,textarea,[role=button]):focus-visible { outline:3px solid #9db58d; outline-offset:3px; }
.pd-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media (max-width:1024px) {
    .pd-layout { grid-template-columns:minmax(0,1fr) 290px; gap:18px; }
    .pd-panel { padding:20px; }
    .pd-price strong { font-size:25px; }
}
@media (max-width:760px) {
    .pd-page { padding-inline:16px; }
    .pd-heading { align-items:flex-start; flex-direction:column; gap:14px; padding-bottom:10px; }
    .pd-page .pd-code { min-width:0; min-height:44px; flex-wrap:nowrap; padding:8px 12px; }
    .pd-code > span:first-child { width:auto; }
    .pd-code bdi { font-size:17px; }
    .pd-nav { gap:7px; padding-bottom:16px; }
    .pd-nav a { padding:8px 12px; font-size:13px; }
    .pd-layout { display:flex; flex-direction:column; margin-top:18px; gap:18px; }
    .pd-content { display:contents; }
    .pd-sidebar { display:contents; }
    .pd-panel { width:100%; padding:18px; border-radius:13px; }
    .pd-summary { order:-3; }
    .pd-gallery { order:-2; }
    .pd-management { order:-1; }
    #pd-management .pc-admin { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .pd-fields { gap:0 16px; }
    .pd-fields > span { align-items:flex-start; flex-direction:column; justify-content:center; gap:5px; }
    .pd-fields > span:has(> .editable.hidden), .pd-fields > #aim_container:has(> #edit_aim:not(.hidden)) { flex-direction:row; align-items:center; justify-content:flex-start; }
    .pd-fields > span:has(> .editable.hidden) > :is(input,select,textarea) { flex-basis:100%; }
    .pd-aspects { grid-template-columns:1fr; }
    .pd-page h2 { font-size:19px; }
    .pd-section-heading { gap:10px; }
    .pd-related-grid { grid-template-columns:1fr; gap:16px; }
    .pd-related-card { display:grid; grid-template-columns:120px minmax(0,1fr); }
    .pd-related-card img { width:100%; height:100%; aspect-ratio:auto; min-height:150px; }
    .pd-related-card > div { padding:14px; }
    .pd-related-card h3 { font-size:14px; }
    .pd-price strong { font-size:28px; }
    .pd-summary-specs { margin:16px 0 !important; }
    .pd-agent { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:5px 12px; }
    .pd-agent > bdi { grid-column:1; }
    .pd-agent > div { grid-column:2; grid-row:1/3; flex-direction:column; margin:0; }
}
@media (max-width:360px) {
    .pd-page { padding-inline:12px; }
    .pd-panel { padding:15px; }
    #pd-management .pc-admin { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .pd-nav a { font-size:12px; padding-inline:10px; }
    .pd-share a { flex:1 1 40%; justify-content:center; }
}
