/* Lodhi Real Estate | Agent Carousel v1.0 — scoped to this section */
.lre-agents-section { background:linear-gradient(to bottom,#f4f4f4 0%,#f4f4f4 61.5%,#fff 61.5%,#fff 100%) !important; }
.lre-agents-section, .lre-agents-section * { box-sizing:border-box; }
.lre-agents-section .elementor-heading-title, .lre-agents-section .elementor-widget-text-editor { font-family:inherit; }
.lre-agents-carousel { width:100%; max-width:1100px; margin:0 auto; color:#151515; font-family:inherit; }
.lre-agents-toolbar { display:flex; gap:10px; justify-content:flex-end; align-items:center; padding:0 0 14px; }
.lre-agents-arrow { width:43px; height:43px; display:inline-flex; justify-content:center; align-items:center; border:1px solid #c6c6c6; background:#fff; color:#171717; border-radius:0; cursor:pointer; font:inherit; padding:0; transition:background .2s, color .2s, border-color .2s; }
.lre-agents-arrow svg { height:19px; width:19px; stroke:currentColor; stroke-width:1.7; fill:none; stroke-linecap:round; stroke-linejoin:round; }
.lre-agents-arrow:hover:not(:disabled),.lre-agents-arrow:focus-visible:not(:disabled) { background:#C49335; border-color:#C49335; color:white; }
.lre-agents-arrow:focus-visible { outline:2px solid #C49335; outline-offset:3px; }
.lre-agents-arrow:disabled { opacity:.3; cursor:not-allowed; }
.lre-agents-viewport { width:100%; overflow-x:auto; overflow-y:hidden; scroll-snap-type:x mandatory; scrollbar-width:none; -ms-overflow-style:none; overscroll-behavior-x:contain; -webkit-overflow-scrolling:touch; }
.lre-agents-viewport::-webkit-scrollbar { display:none; }
.lre-agents-track { display:flex; gap:38px; flex-wrap:nowrap; margin:0; padding:0; }
.lre-agent-card { position:relative; display:block; flex:0 0 calc((100% - 76px) / 3); aspect-ratio:333 / 438; overflow:hidden; scroll-snap-align:start; background:#e2e2e2; isolation:isolate; outline-offset:3px; }
.lre-agent-photo { display:block; width:100%; height:100%; object-fit:cover; object-position:center center; user-select:none; -webkit-user-drag:none; transition:transform .6s ease; }
.lre-agent-shade { z-index:1; position:absolute; inset:0; background:rgba(0,0,0,.62); opacity:0; transition:opacity .4s ease; pointer-events:none; }
.lre-agent-text { z-index:2; position:absolute; left:18px;right:18px;bottom:14%; color:#fff; text-align:center; opacity:0; transform:translateY(14px); transition:transform .4s ease, opacity .4s ease; pointer-events:none; }
.lre-agent-name { margin:0 0 2px; font-family:inherit; color:#fff; font-size:23px; font-weight:400; line-height:1.3; }
.lre-agent-role { margin:0; font-family:inherit; color:#f7f7f7; font-size:15px; font-weight:400; line-height:1.5; }
.lre-agent-card:hover .lre-agent-shade,.lre-agent-card:focus-within .lre-agent-shade,.lre-agent-card:focus-visible .lre-agent-shade { opacity:1; }
.lre-agent-card:hover .lre-agent-text,.lre-agent-card:focus-within .lre-agent-text,.lre-agent-card:focus-visible .lre-agent-text { opacity:1; transform:translateY(0); }
.lre-agent-card:hover .lre-agent-photo,.lre-agent-card:focus-within .lre-agent-photo { transform:scale(1.035); }
.lre-agent-full-link { position:absolute; inset:0; z-index:3; }
.lre-agent-full-link:focus-visible { outline:3px solid #C49335; outline-offset:-3px; }
@media (max-width:1024px) {
 .lre-agents-section { background:linear-gradient(to bottom,#f4f4f4 0%,#f4f4f4 49%,#fff 49%,#fff 100%) !important; }
 .lre-agents-track { gap:24px; }
 .lre-agent-card { flex-basis:calc((100% - 24px)/2); }
}
@media (max-width:767px) {
 .lre-agents-section { background:linear-gradient(to bottom,#f4f4f4 0%,#f4f4f4 44%,#fff 44%,#fff 100%) !important; }
 .lre-agents-track { gap:16px; }
 .lre-agent-card { flex-basis:100%; aspect-ratio:333 / 422; }
 .lre-agents-toolbar { padding-bottom:15px; }
 .lre-agents-arrow { width:44px; height:44px; }
 /* Hover is unavailable on touch: keep identities visible and readable. */
 .lre-agent-shade { opacity:1; background:linear-gradient(to top,rgba(0,0,0,.77) 0%,rgba(0,0,0,.13) 44%,transparent 65%); }
 .lre-agent-text { opacity:1; transform:none; bottom:9%; }
 .lre-agent-name { font-size:22px; }
 .lre-agent-role { font-size:14px; }
}
@media (prefers-reduced-motion:reduce) {
 .lre-agents-carousel *, .lre-agents-carousel *:before, .lre-agents-carousel *:after { transition:none !important; scroll-behavior:auto !important; }
}
