/* Lodhi Real Estate | four-panel property category showcase v2.
   Scoped entirely to the custom Elementor widget, not to the site's other image or container widgets. */
/* Allow edge-to-edge panels even when the theme constrains page content width.
   The Elementor section itself remains a normal, editable Flexbox container. */
.lre-categories-exact-v2-section {
  position:relative !important;
  left:50% !important;
  width:100vw !important;
  max-width:100vw !important;
  margin-left:-50vw !important;
  margin-right:0 !important;
  padding:0 !important;
  overflow:hidden;
}
.lre-categories-exact-v2-section > .elementor-element,
.lre-categories-exact-v2-widget {
  width:100% !important;
  max-width:100% !important;
  padding:0 !important;
  margin:0 !important;
}
.lre-cat-v2,
.lre-cat-v2 * { box-sizing:border-box; }
.lre-cat-v2 {
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:0 !important;
  width:100%; max-width:100%; margin:0; padding:0;
  overflow:hidden;
  font-family:inherit;
}
.lre-cat-v2__panel,
.lre-cat-v2__panel:link,
.lre-cat-v2__panel:visited {
  position:relative !important;
  isolation:isolate;
  display:block !important;
  width:100%; min-width:0;
  height:clamp(540px,43vw,817px);
  overflow:hidden;
  background-color:#fff;
  border:0; border-radius:0;
  padding:0; margin:0;
  color:#fff;
  text-align:center;
  text-decoration:none !important;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
}
.lre-cat-v2__photo {
  display:block !important;
  position:absolute;
  inset:0;
  width:100%; height:100%;
  background-repeat:no-repeat !important;
  background-position:center center !important;
  background-size:cover !important;
  transform:translate3d(0,0,0);
  transition:transform .56s cubic-bezier(.22,.75,.2,1);
  will-change:transform;
  z-index:1;
  pointer-events:none;
}
/* A restrained top shade ensures white type remains legible against lighter architecture. */
.lre-cat-v2__photo::before {
  content:''; position:absolute; inset:0;
  background:linear-gradient(to bottom,rgba(0,0,0,.18) 0%,rgba(0,0,0,0) 26%);
  pointer-events:none;
}
.lre-cat-v2__label {
  display:flex !important;
  position:absolute;
  top:0; left:0;
  z-index:2;
  flex-direction:column;
  justify-content:flex-start;
  align-items:center;
  gap:10px;
  width:100%; height:146px;
  padding:33px 10px 10px;
  margin:0;
  background:transparent;
  color:#fff;
  pointer-events:none;
  transition:background-color .3s ease,color .25s ease;
}
.lre-cat-v2__count {
  display:block;
  width:100%;
  font-family:inherit !important;
  font-size:16px;
  font-weight:400;
  line-height:1.3;
  letter-spacing:4px;
  text-align:center;
  color:inherit !important;
  text-decoration:none;
  margin:0;
}
.lre-cat-v2__name {
  display:block;
  font-family:inherit !important;
  font-size:26px;
  font-weight:400;
  line-height:1.15;
  letter-spacing:-.4px;
  color:inherit !important;
  text-decoration:none;
  margin:0;
}
@media (hover:hover) and (pointer:fine) {
  .lre-cat-v2__panel:hover > .lre-cat-v2__photo {transform:translate3d(0,146px,0);}
  .lre-cat-v2__panel:hover > .lre-cat-v2__label {background:#fff; color:#171717;}
}
.lre-cat-v2__panel:focus-visible > .lre-cat-v2__photo {transform:translate3d(0,146px,0);}
.lre-cat-v2__panel:focus-visible > .lre-cat-v2__label {background:#fff; color:#171717;}
.lre-cat-v2__panel:focus-visible {outline:3px solid #bc8b37; outline-offset:-3px;}
@media (max-width:1024px) {
  .lre-cat-v2 {grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  .lre-cat-v2__panel {height:520px !important;}
}
@media (max-width:767px) {
  .lre-cat-v2__panel {height:350px !important;}
  .lre-cat-v2__label {height:110px; padding:24px 4px 5px; gap:7px;}
  .lre-cat-v2__count {font-size:12px; letter-spacing:2px;}
  .lre-cat-v2__name {font-size:20px;}
  .lre-cat-v2__panel:focus-visible > .lre-cat-v2__photo {transform:translate3d(0,110px,0);}
  /* Touch phones have no hover; tapping opens the filtered property page immediately. */
}
@media (max-width:359px) {
  .lre-cat-v2__panel {height:310px !important;}
  .lre-cat-v2__name {font-size:18px;}
}
@media (prefers-reduced-motion:reduce) {
  .lre-cat-v2__photo,.lre-cat-v2__label {transition:none !important;}
}
