.client-page{--client-green:#1d5748;background:#f7f8f3;color:#183b31}
.client-page .object-header{max-width:none;padding:22px max(24px,calc((100vw - 1320px)/2));border-bottom:1px solid #dce4da;background:#fff;display:flex;justify-content:space-between;align-items:center;gap:20px}
.client-page .client-header-note{font-size:13px;letter-spacing:.02em;color:#77877d}
.client-main{max-width:1320px;margin:auto;padding:36px 24px 64px}
.client-page .object-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:48px;align-items:start;padding:0;max-width:none;margin:0}
.client-page .object-info{padding:0;min-width:0}.client-page .eyebrow{margin:0 0 12px;color:#748573;font-size:12px;letter-spacing:.13em}
.client-page h1{font-size:clamp(28px,3vw,40px);line-height:1.15;margin:0 0 24px;letter-spacing:-.03em}
.client-page .client-quick-contact{margin:20px 0 30px}
.client-gallery{min-width:0;position:sticky;top:24px}
.client-carousel{position:relative;border-radius:20px;overflow:hidden;background:#e7ece2;isolation:isolate}
#client-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;aspect-ratio:4/3}
#client-track::-webkit-scrollbar,.client-thumbs::-webkit-scrollbar{display:none}
.client-slide{flex:0 0 100%;width:100%;height:100%;scroll-snap-align:center;border:0;padding:0;background:transparent;cursor:zoom-in;border-radius:0;overflow:hidden;touch-action:pan-x pan-y pinch-zoom}
.client-slide img{display:block;width:100%;height:100%;object-fit:contain;user-select:none;-webkit-user-drag:none}
.client-page button{font-family:inherit}.gallery-arrow,.gallery-expand,.gallery-count{position:absolute;z-index:2;background:#fffef6ed;border:1px solid #ffffff80;color:#183b31;box-shadow:0 2px 12px #183b311c;backdrop-filter:blur(10px)}
.gallery-arrow{width:44px;height:44px;border-radius:50%;top:calc(50% - 22px);font-size:30px;line-height:1;display:grid;place-items:center;cursor:pointer}.gallery-prev{left:12px}.gallery-next{right:12px}
.gallery-expand{left:16px;bottom:16px;padding:10px 14px;border-radius:30px;font-size:12px;font-weight:600;cursor:pointer;min-height:40px}.gallery-count{right:16px;bottom:16px;border-radius:24px;padding:9px 13px;font-size:12px;font-variant-numeric:tabular-nums;pointer-events:none}
.client-thumbs{display:flex;gap:10px;overflow:auto;padding:12px 2px 4px;scrollbar-width:none}.client-thumbs button{flex:0 0 82px;aspect-ratio:4/3;border-radius:10px;overflow:hidden;padding:2px;border:2px solid transparent;background:#fff;cursor:pointer}.client-thumbs button[aria-pressed=true]{border-color:#1d5748}.client-thumbs img{display:block;width:100%;height:100%;object-fit:cover;border-radius:6px}.gallery-hint{font-size:12px;line-height:1.5;color:#798677;margin:12px 0 0;max-width:420px}
.client-page .housing-prices{margin:0 0 20px;gap:10px;display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.client-page .price-lane{background:#edf2e8;border:1px solid #dbe4d5;padding:18px 20px;border-radius:14px}.client-page .price-lane small{color:#536e5e;display:block;font-size:12px;margin-bottom:8px}.client-page .price-lane b{font-size:30px;line-height:1.15;letter-spacing:-.03em;display:block;color:#183b31}.client-page .price-lane b.price-on-request{font-size:18px;line-height:1.4;letter-spacing:0}
.client-features{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 28px}.client-features span{background:#fff;border:1px solid #dae4d7;padding:8px 12px;border-radius:30px;font-size:12px;color:#335b47}
.client-page h2{font-size:21px;line-height:1.3;letter-spacing:-.02em;margin:0 0 16px}.client-about{margin-top:30px}.client-page dl{margin:0}.client-page dl>div{display:grid;grid-template-columns:minmax(120px,1fr) minmax(0,1.2fr);gap:20px;padding:13px 0;border-bottom:1px solid #e0e6dc;font-size:14px;line-height:1.5}.client-page dt{color:#748473}.client-page dd{margin:0;color:#234637;font-weight:500;overflow-wrap:anywhere}.client-conditions{margin-top:30px}.client-page .client-conditions dd{font-weight:400;font-size:13px;color:#758573}
.client-page .client-viewing{background:#fff;border:1px solid #dbe4d5;border-radius:18px;padding:24px;margin:32px 0 0}.client-viewing p{font-size:14px;line-height:1.6;color:#6d7e6f;margin:0 0 20px}.client-viewing small{display:block;font-size:11px;color:#7c897d;line-height:1.6;margin-top:12px}.client-whatsapp{display:flex;justify-content:center;align-items:center;gap:12px;border-radius:12px;background:#1d5748;color:white!important;text-decoration:none;padding:15px 18px;font-size:14px;font-weight:600;min-height:52px;transition:background .15s}.client-whatsapp:hover{background:#164334}.client-whatsapp svg{width:22px;height:22px;flex:none}.client-whatsapp span{margin-left:auto}.client-no-photo{border:1px solid #dde5d9;border-radius:20px;min-height:240px;display:grid;align-content:center;padding:32px;color:#7c897d;line-height:1.6}
.client-page :is(button,a):focus-visible{outline:3px solid #b79b56;outline-offset:3px}.client-page .object-footer{padding:24px;text-align:center;border-top:1px solid #e0e6dc;font-size:11px}
.client-page #client-photo-dialog,.object-page #object-photo-dialog{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;border-radius:0;background:#111a17;color:#fff;overflow:hidden;box-sizing:border-box}
#client-photo-dialog::backdrop,#object-photo-dialog::backdrop{background:#111a17}.photo-toolbar{position:absolute;inset:0 0 auto;z-index:5;height:72px;padding:12px max(16px,env(safe-area-inset-right));display:flex;align-items:center;gap:16px;background:linear-gradient(#07100dcc,transparent)}
#photo-count{font-size:14px;font-variant-numeric:tabular-nums;min-width:44px}.photo-zoom{display:flex;align-items:center;margin-left:auto;background:#ffffff14;border:1px solid #ffffff25;border-radius:28px;overflow:hidden}.photo-toolbar button{min-width:44px;height:44px;padding:0;border:0;background:transparent;color:#fff;font-size:22px;cursor:pointer;display:grid;place-items:center}.photo-toolbar #photo-reset{font-size:12px;min-width:56px;font-variant-numeric:tabular-nums}.photo-toolbar #client-photo-close,.photo-toolbar #close-object-photo{position:static;inset:auto;width:44px;border-radius:50%;background:#ffffff14;border:1px solid #ffffff25;font-size:30px;line-height:1}
#photo-stage{position:absolute;inset:72px 0 50px;overflow:hidden;touch-action:none;user-select:none;display:flex;align-items:center;justify-content:center;cursor:zoom-in}
.client-page #client-photo,.object-page #object-large-photo{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;transform-origin:center center;will-change:transform;user-select:none;-webkit-user-drag:none;pointer-events:none;flex:none}
#photo-stage.is-zoomed{cursor:grab}#photo-stage.is-dragging{cursor:grabbing}.photo-nav{position:absolute;top:calc(50% - 24px);z-index:3;width:48px;height:48px;border:1px solid #ffffff30;background:#10251b80;backdrop-filter:blur(8px);color:#fff;font-size:32px;border-radius:50%;cursor:pointer;display:grid;place-items:center}.photo-prev{left:20px}.photo-next{right:20px}.photo-help{position:absolute;inset:auto 16px max(14px,env(safe-area-inset-bottom));font-size:11px;line-height:1.5;text-align:center;margin:0;color:#b0bfb6;pointer-events:none}.client-page button:disabled{opacity:.4;cursor:default}
@media(max-width:850px){.client-page .object-layout{grid-template-columns:1fr;gap:30px}.client-page .client-quick-contact{margin:20px 0 30px}
.client-gallery{position:static}.client-main{padding:24px 20px 40px;max-width:680px}.client-page .object-header{padding:18px 20px}.client-header-note{display:none}.client-page h1{font-size:32px}.client-page .client-viewing{padding:22px}.client-slide img{object-fit:cover}.gallery-arrow{background:#fffef6cc}}
@media(max-width:480px){.client-main{padding:18px 16px 32px}.client-page .object-header{padding:18px 16px}.client-carousel{border-radius:16px}#client-track{aspect-ratio:1.15}.client-thumbs button{flex-basis:70px}.gallery-arrow{width:40px;height:40px}.gallery-prev{left:8px}.gallery-next{right:8px}.gallery-expand{left:12px;bottom:12px;font-size:11px}.gallery-count{right:12px;bottom:12px}.gallery-hint{font-size:11px;margin-top:8px}.client-page .object-layout{gap:26px}.client-page h1{font-size:30px;margin-bottom:20px}.client-page .price-lane{padding:18px}.client-page .price-lane b{font-size:30px}.client-page dl>div{gap:16px;grid-template-columns:1fr 1.12fr;font-size:13px}.client-page .client-conditions dd{font-size:12px}.photo-nav{width:42px;height:42px}.photo-prev{left:8px}.photo-next{right:8px}.photo-help{font-size:10px}#photo-stage{inset:72px 0 64px}.photo-toolbar{gap:10px}.client-page .client-viewing{padding:20px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

.client-page [hidden]{display:none!important}

/* Match agent controls to the shared fullscreen viewer, overriding page buttons. */
.object-page #object-photo-dialog button{padding:0;margin:0;min-height:0;flex-shrink:0}
.object-page #object-photo-dialog [hidden]{display:none!important}
:is(#object-photo-dialog,#client-photo-dialog) button:focus-visible{outline:2px solid #fff;outline-offset:3px}
.object-page #object-photo-dialog .photo-nav{border:1px solid #ffffff30;background:#10251b80;color:#fff;border-radius:50%}

.photo-nav svg{display:block;width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.object-page #object-photo-dialog .photo-nav{width:48px;height:48px;box-shadow:0 4px 20px #0003;background:#ffffff12}
:is(#object-photo-dialog,#client-photo-dialog) .photo-nav:hover:not(:disabled){background:#ffffff26;transform:none}
