/* Manava Widget — Property Categories base styles
   This mirrors the original design exactly. Elementor injects each
   widget instance's Style-tab overrides after this file, so nothing
   here needs to change for the content to stay editable. */

/* Global guard: nothing inside this widget ever shows an underline,
   no matter what the active theme's own link styles try to force. */
.mh-cat-section,
.mh-cat-section *,
.mh-cat-section *:hover,
.mh-cat-section *:focus,
.mh-cat-section *:active,
.mh-cat-section *:visited{
  text-decoration:none !important;
}

.mh-cat-section{
  --mh-cream:#F5F1E8;
  --mh-cream-2:#EFEADD;
  --mh-green:#1E3A2E;
  --mh-green-2:#284A3A;
  --mh-terracotta:#C1794A;
  --mh-terracotta-dark:#A8632F;
  --mh-sage:#8CA089;
  --mh-gray:#6E7268;
  --mh-line:#E2DBC8;

  background:#FFFFFF;
  padding:72px 24px;
  font-family:'Segoe UI', Helvetica, Arial, sans-serif;
  box-sizing:border-box;
}
.mh-cat-section *{box-sizing:border-box;}

.mh-cat-inner{
  max-width:1160px;
  margin:0 auto;
  text-align:center;
}

.mh-cat-eyebrow{
  font-size:12px;
  font-weight:700;
  letter-spacing:3px;
  color:var(--mh-terracotta-dark);
  margin:0 0 14px;
  text-transform:uppercase;
}

.mh-cat-title{
  font-family:Georgia, 'Times New Roman', serif;
  font-size:36px;
  color:var(--mh-green);
  margin:0 0 14px;
  font-weight:700;
}

.mh-cat-subline{
  font-size:15.5px;
  color:var(--mh-gray);
  max-width:520px;
  margin:0 auto 44px;
  line-height:1.6;
}

.mh-cat-grid{
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap:22px;
}

.mh-cat-card{
  position:relative;
  display:block;
  height:300px;
  border-radius:16px;
  overflow:hidden;
  text-decoration:none !important;
  isolation:isolate;
  box-shadow:0 6px 18px rgba(30,58,46,0.10);
  transition:transform .3s ease, box-shadow .3s ease;
}

.mh-cat-card,
.mh-cat-card:hover,
.mh-cat-card:focus,
.mh-cat-card:active,
.mh-cat-card *{
  text-decoration:none !important;
}

.mh-cat-card:hover{
  transform:translateY(-5px);
  box-shadow:0 18px 34px rgba(30,58,46,0.22);
}

.mh-cat-img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  z-index:0;
  transition:transform .5s ease;
}
.mh-cat-card:hover .mh-cat-img{
  transform:scale(1.08);
}

.mh-cat-overlay{
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(180deg, rgba(15,28,22,0.15) 0%, rgba(15,28,22,0.35) 55%, rgba(15,28,22,0.88) 100%);
  transition:background .3s ease;
}
.mh-cat-card:hover .mh-cat-overlay{
  background:linear-gradient(180deg, rgba(15,28,22,0.25) 0%, rgba(193,121,74,0.35) 55%, rgba(15,28,22,0.92) 100%);
}

.mh-cat-icon{
  position:absolute;
  top:18px;
  left:18px;
  z-index:2;
  width:44px;
  height:44px;
  border-radius:11px;
  background:rgba(255,255,255,0.92);
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--mh-terracotta-dark);
  backdrop-filter:blur(4px);
  transition:background .25s ease, color .25s ease;
}
.mh-cat-card:hover .mh-cat-icon{
  background:var(--mh-terracotta);
  color:#fff;
}
.mh-cat-icon svg{
  width:22px;
  height:22px;
}

.mh-cat-text{
  position:absolute;
  left:0; right:0; bottom:0;
  z-index:2;
  padding:20px;
  text-align:left;
}

.mh-cat-text h3{
  font-size:17px;
  font-weight:700;
  color:#fff;
  margin:0 0 5px;
}

.mh-cat-text p{
  font-size:13px;
  color:rgba(255,255,255,0.82);
  margin:0 0 12px;
  line-height:1.5;
}

.mh-cat-link{
  font-size:13px;
  font-weight:700;
  color:#fff;
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding-bottom:2px;
  border-bottom:1.5px solid rgba(255,255,255,0.5);
}
.mh-cat-link i{
  font-style:normal;
  transition:transform .22s ease;
}
.mh-cat-card:hover .mh-cat-link i{
  transform:translateX(4px);
}
.mh-cat-card:hover .mh-cat-link{
  border-color:#fff;
}

/* ---------- TABLET ---------- */
@media (max-width: 980px){
  .mh-cat-grid{
    grid-template-columns: repeat(2, 1fr);
  }
}

/* ---------- MOBILE ---------- */
@media (max-width: 560px){
  .mh-cat-section{padding:52px 16px;}
  .mh-cat-title{font-size:28px;}
  .mh-cat-grid{
    grid-template-columns: 1fr;
    gap:16px;
  }
  .mh-cat-card{height:260px;}
}
