
/*
 * MahaEstate Marketplace UI Polish — mobile-first additive layer.
 * UI/CSS only. No business logic, data, forms, URLs or API behavior changed.
 */
.marketplace-public{
  --me-ui-primary:#1769e8;
  --me-ui-primary-2:#2d83ff;
  --me-ui-navy:#122746;
  --me-ui-ink:#172b49;
  --me-ui-muted:#71839e;
  --me-ui-bg:#f5f8fc;
  --me-ui-line:#e3eaf3;
  --me-ui-card:#fff;
  --me-ui-radius:18px;
  --me-ui-shadow:0 10px 28px rgba(20,45,80,.065);
  --me-ui-shadow-hover:0 18px 42px rgba(20,45,80,.12);
}

/* ---------- Global polish ---------- */
.marketplace-public{
  background:
    radial-gradient(circle at 8% -5%,rgba(45,131,255,.045),transparent 26rem),
    var(--me-ui-bg);
  color:var(--me-ui-ink);
}
.marketplace-public .container{max-width:1200px}
.marketplace-public .btn{
  min-height:44px;
  border-radius:11px;
  font-weight:750;
  letter-spacing:-.01em;
  transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease,border-color .18s ease;
}
.marketplace-public .btn:active{transform:scale(.98)}
.marketplace-public .me-section,
.marketplace-public .market-page,
.marketplace-public .property-detail,
.marketplace-public .partners-page,
.marketplace-public .plans-page{scroll-margin-top:80px}

/* ---------- Header ---------- */
.marketplace-public .me-public-header{
  box-shadow:0 5px 24px rgba(18,39,70,.055);
}
.marketplace-public .me-header-inner{min-height:74px}
.marketplace-public .me-brand-logo{
  height:48px;
  max-width:220px;
  transition:transform .2s ease;
}
.marketplace-public .me-brand-logo:hover{transform:translateY(-1px)}
.marketplace-public .me-mobile-toggle{
  width:44px;
  height:44px;
  border-radius:13px;
  box-shadow:0 5px 15px rgba(18,39,70,.06);
}
.marketplace-public .me-mobile-toggle:active{transform:scale(.96)}

/* ---------- Buttons / pills ---------- */
.marketplace-public .me-btn-primary,
.marketplace-public .me-search-btn,
.marketplace-public .me-search-submit,
.marketplace-public .market-submit{
  background:linear-gradient(135deg,var(--me-ui-primary),#0f61d8);
}
.marketplace-public .me-btn-primary:hover,
.marketplace-public .me-search-btn:hover,
.marketplace-public .me-search-submit:hover,
.marketplace-public .market-submit:hover{
  box-shadow:0 12px 26px rgba(23,105,232,.23);
}

/* ---------- Home hero ---------- */
.marketplace-public .me-home-hero{
  overflow:hidden;
}
.marketplace-public .me-home-hero h1{
  text-wrap:balance;
}
.marketplace-public .me-hero-copy{
  text-wrap:pretty;
}
.marketplace-public .me-hero-points span{
  min-height:30px;
}
.marketplace-public .me-search-card{
  border:1px solid rgba(219,228,240,.95)!important;
  box-shadow:0 20px 55px rgba(20,55,100,.12)!important;
}

/* ---------- Property cards: cleaner premium marketplace style ---------- */
.marketplace-public .property-market-card,
.marketplace-public .me-property-grid .card{
  border:1px solid var(--me-ui-line)!important;
  border-radius:var(--me-ui-radius)!important;
  background:#fff;
  box-shadow:var(--me-ui-shadow)!important;
  overflow:hidden;
  transform:translateZ(0);
}
.marketplace-public .property-market-card:hover,
.marketplace-public .me-property-grid .card:hover{
  transform:translateY(-4px)!important;
  box-shadow:var(--me-ui-shadow-hover)!important;
  border-color:#d3e1f4!important;
}
.marketplace-public .property-card-media{
  position:relative;
  height:230px!important;
  background:linear-gradient(135deg,#edf2f8,#e5edf7);
}
.marketplace-public .property-card-media:after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(to bottom,rgba(8,25,49,.10),transparent 28%,transparent 68%,rgba(8,25,49,.18));
}
.marketplace-public .property-card-media .property-img{
  position:relative;
  z-index:0;
}
.marketplace-public .property-card-top,
.marketplace-public .property-card-type{
  z-index:2;
}
.marketplace-public .property-card-top .badge{
  backdrop-filter:blur(8px);
  box-shadow:0 4px 12px rgba(0,0,0,.10);
}
.marketplace-public .property-save{
  width:38px;height:38px;
  border:1px solid rgba(255,255,255,.75);
  transition:transform .18s ease,color .18s ease,background .18s ease;
}
.marketplace-public .property-save:hover{
  transform:scale(1.06);
  color:var(--me-ui-primary);
}
.marketplace-public .property-card-type{
  border-radius:999px;
  padding:7px 11px;
  backdrop-filter:blur(8px);
}
.marketplace-public .property-market-card .card-body{
  padding:18px!important;
}
.marketplace-public .property-card-title{
  font-family:var(--me-font-display,Manrope,sans-serif);
  font-size:17px;
  line-height:1.28;
  letter-spacing:-.025em;
}
.marketplace-public .property-card-price{
  font-family:var(--me-font-display,Manrope,sans-serif);
  font-size:21px;
  letter-spacing:-.03em;
}
.marketplace-public .property-card-meta{
  gap:7px;
  margin-top:2px;
}
.marketplace-public .property-card-meta span{
  border:0;
  padding:5px 8px;
  border-radius:8px;
  background:#f5f8fc;
  color:#61748f;
}
.marketplace-public .property-market-card .btn-primary{
  border:0;
  box-shadow:0 7px 17px rgba(23,105,232,.16);
}

/* ---------- Search/filter surfaces ---------- */
.marketplace-public .market-filter-card,
.marketplace-public .me-search-card{
  background:rgba(255,255,255,.98)!important;
}
.marketplace-public .market-filter-heading{
  gap:10px;
}
.marketplace-public .market-filter-heading-icon{
  box-shadow:0 6px 15px rgba(23,105,232,.12);
}
.marketplace-public .market-filter-control,
.marketplace-public .me-field .form-control,
.marketplace-public .me-field .form-select{
  min-height:48px;
  border-radius:11px!important;
  background:#fbfcfe;
}
.marketplace-public .market-filter-control:hover,
.marketplace-public .me-field .form-control:hover,
.marketplace-public .me-field .form-select:hover{
  border-color:#c5d5e9;
  background:#fff;
}

/* ---------- Section hierarchy ---------- */
.marketplace-public .me-section-head h2,
.marketplace-public .market-page-head h1,
.marketplace-public .partners-hero h1,
.marketplace-public .me-plans-hero h1{
  text-wrap:balance;
}
.marketplace-public .me-section-head p,
.marketplace-public .market-page-head p{
  max-width:700px;
}
.marketplace-public .me-location{
  box-shadow:0 7px 22px rgba(20,45,80,.04);
}
.marketplace-public .me-location:hover{
  box-shadow:0 14px 30px rgba(20,45,80,.09);
}

/* ---------- Property detail ---------- */
.marketplace-public .property-gallery,
.marketplace-public .property-main-card,
.marketplace-public .info-panel{
  border-color:var(--me-ui-line)!important;
  box-shadow:var(--me-ui-shadow)!important;
}
.marketplace-public .property-gallery{
  overflow:hidden;
  border-radius:20px;
}
.marketplace-public .property-gallery-main img{
  display:block;
  width:100%;
  object-fit:cover;
}
.marketplace-public .property-gallery-thumb{
  border-radius:10px;
  overflow:hidden;
}
.marketplace-public .property-price{
  font-family:var(--me-font-display,Manrope,sans-serif);
  letter-spacing:-.035em;
}

/* ---------- Partners / plans ---------- */
.marketplace-public .partner-card,
.marketplace-public .me-plan-card{
  border:1px solid var(--me-ui-line)!important;
  box-shadow:var(--me-ui-shadow)!important;
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.marketplace-public .partner-card:hover,
.marketplace-public .me-plan-card:hover{
  transform:translateY(-4px);
  box-shadow:var(--me-ui-shadow-hover)!important;
  border-color:#cfe0f6!important;
}

/* ---------- Footer ---------- */
.marketplace-public .me-public-footer{
  border-top:1px solid rgba(255,255,255,.04);
}
.marketplace-public .me-footer-links a{
  min-height:32px;
}
.marketplace-public .me-social-link{
  border-radius:12px;
}

/* ---------- Small motion, respects accessibility ---------- */
@keyframes meSoftRise{
  from{opacity:0;transform:translateY(8px)}
  to{opacity:1;transform:translateY(0)}
}
.marketplace-public .me-category,
.marketplace-public .me-location{
  animation:meSoftRise .45s ease both;
}
@media(prefers-reduced-motion:reduce){
  .marketplace-public .me-category,
  .marketplace-public .me-location{animation:none!important}
}

/* =========================================================
   MOBILE — app-like marketplace UI
   ========================================================= */
@media(max-width:800px){
  .marketplace-public{
    font-size:14px;
    padding-bottom:calc(var(--me-mobile-nav-height,72px) + env(safe-area-inset-bottom,0px) + 8px)!important;
  }
  .marketplace-public .container{
    width:min(100% - 28px,1200px);
  }

  /* Header */
  .marketplace-public .me-public-header{
    position:sticky;
    top:0;
    z-index:1250;
  }
  .marketplace-public .me-header-inner{
    min-height:64px;
    gap:10px;
  }
  .marketplace-public .me-brand-logo{
    height:42px;
    max-width:166px;
  }
  .marketplace-public .me-mobile-toggle{
    margin-left:auto;
  }
  .marketplace-public .me-public-header .me-nav{
    position:absolute;
    top:calc(100% + 8px);
    left:14px;
    right:14px;
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:4px;
    padding:10px;
    background:rgba(255,255,255,.985);
    border:1px solid #e1e8f1;
    border-radius:18px;
    box-shadow:0 22px 55px rgba(18,39,70,.18);
    opacity:0;
    visibility:hidden;
    transform:translateY(-8px) scale(.985);
    transform-origin:top right;
    transition:opacity .18s ease,visibility .18s ease,transform .18s ease;
  }
  .marketplace-public .me-public-header.is-menu-open .me-nav{
    opacity:1;
    visibility:visible;
    transform:none;
  }
  .marketplace-public .me-public-header .me-nav>a{
    display:flex;
    align-items:center;
    min-height:46px;
    padding:0 13px;
    border-radius:11px;
    font-size:14px;
  }
  .marketplace-public .me-public-header .me-nav>a.active{
    background:#edf4ff;
  }
  .marketplace-public .me-mobile-nav-actions{
    display:grid!important;
    grid-template-columns:1fr 1fr;
    gap:8px;
    padding:8px 0 2px;
    margin-top:4px;
    border-top:1px solid #edf1f6;
  }
  .marketplace-public .me-mobile-nav-actions .me-btn{
    width:100%;
    min-height:44px;
  }
  .marketplace-public .me-header-actions{
    display:none!important;
  }

  /* Home hero */
  .marketplace-public .me-home-hero{
    min-height:auto!important;
    padding:34px 0 74px!important;
  }
  .marketplace-public .me-hero-copy{
    font-size:15px!important;
    line-height:1.68!important;
  }
  .marketplace-public .me-hero-copy h1,
  .marketplace-public .me-home h1{
    max-width:100%;
    margin:15px 0 13px!important;
    font-size:clamp(35px,10vw,46px)!important;
    line-height:1.02!important;
    letter-spacing:-.055em!important;
  }
  .marketplace-public .me-hero-kicker,
  .marketplace-public .me-eyebrow{
    font-size:9px!important;
    letter-spacing:.12em!important;
    padding:7px 10px!important;
  }
  .marketplace-public .me-hero-points{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:7px!important;
    margin-top:18px!important;
  }
  .marketplace-public .me-hero-points span{
    font-size:12px!important;
  }
  .marketplace-public .me-hero-visual{
    display:none!important;
  }

  /* Search */
  .marketplace-public .me-search-wrap{
    margin-top:30px!important;
  }
  .marketplace-public .me-search-card{
    padding:8px!important;
    border-radius:18px!important;
    box-shadow:0 15px 38px rgba(20,55,100,.13)!important;
  }
  .marketplace-public .me-search-tabs{
    gap:2px!important;
    margin-bottom:6px!important;
    padding:3px!important;
    overflow-x:auto;
    scrollbar-width:none;
  }
  .marketplace-public .me-search-tabs::-webkit-scrollbar{display:none}
  .marketplace-public .me-search-tab{
    flex:0 0 auto;
    min-height:42px;
    padding:9px 13px!important;
    font-size:12px!important;
  }
  .marketplace-public .me-search-form{
    grid-template-columns:1fr!important;
    gap:8px!important;
    padding:7px!important;
  }
  .marketplace-public .me-field label{
    font-size:9px!important;
    margin-bottom:5px!important;
  }
  .marketplace-public .me-field .form-control,
  .marketplace-public .me-field .form-select,
  .marketplace-public .me-search-btn{
    min-height:48px!important;
    height:48px!important;
    font-size:14px!important;
  }
  .marketplace-public .me-search-btn{
    width:100%!important;
  }

  /* Sections */
  .marketplace-public .me-section{
    padding:42px 0!important;
  }
  .marketplace-public .me-section-head{
    margin-bottom:18px!important;
  }
  .marketplace-public .me-section-head h2{
    font-size:25px!important;
    line-height:1.12!important;
  }
  .marketplace-public .me-section-head p{
    font-size:13px!important;
    line-height:1.55!important;
  }

  /* Property grid */
  .marketplace-public .me-property-grid{
    grid-template-columns:1fr!important;
    gap:14px!important;
  }
  .marketplace-public .me-property-grid>[class*="col-"]{
    width:100%!important;
    max-width:none!important;
    padding:0!important;
  }
  .marketplace-public .property-market-card,
  .marketplace-public .me-property-grid .card{
    border-radius:17px!important;
  }
  .marketplace-public .property-card-media{
    height:205px!important;
  }
  .marketplace-public .property-market-card .card-body{
    padding:15px!important;
  }
  .marketplace-public .property-card-title{
    font-size:16px!important;
  }
  .marketplace-public .property-card-price{
    font-size:20px!important;
  }
  .marketplace-public .property-card-meta{
    font-size:10px!important;
  }
  .marketplace-public .property-market-card .btn{
    min-height:45px;
    font-size:13px;
  }

  /* Category / location grids */
  .marketplace-public .me-categories{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:9px!important;
  }
  .marketplace-public .me-location-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:9px!important;
  }
  .marketplace-public .me-location{
    min-height:108px!important;
    padding:14px!important;
    border-radius:15px!important;
  }
  .marketplace-public .me-location b{font-size:14px!important}
  .marketplace-public .me-location span{font-size:11px!important}

  /* Trust / CTA */
  .marketplace-public .me-trust-strip{
    grid-template-columns:1fr!important;
    gap:10px!important;
  }
  .marketplace-public .me-trust-item{
    padding:15px!important;
    border-radius:15px!important;
  }
  .marketplace-public .me-partner{
    padding:30px 20px!important;
    border-radius:20px!important;
  }
  .marketplace-public .me-partner h2{
    font-size:27px!important;
    line-height:1.1!important;
  }

  /* Results/filter page */
  .marketplace-public .market-page-head h1{
    font-size:31px!important;
    line-height:1.08!important;
  }
  .marketplace-public .market-page-head p{
    font-size:13px!important;
  }
  .marketplace-public .market-filter-card{
    border-radius:17px!important;
  }
  .marketplace-public .market-filter-grid{
    grid-template-columns:1fr!important;
    gap:9px!important;
  }
  .marketplace-public .market-filter-control{
    min-height:48px!important;
  }

  /* Property detail */
  .marketplace-public .property-detail{
    width:min(100% - 24px,1200px)!important;
  }
  .marketplace-public .property-gallery{
    border-radius:17px!important;
  }
  .marketplace-public .property-gallery-main{
    min-height:245px!important;
  }
  .marketplace-public .property-gallery-thumbs{
    gap:6px!important;
    overflow-x:auto!important;
    padding-bottom:3px;
  }
  .marketplace-public .property-gallery-thumb{
    flex:0 0 64px!important;
  }
  .marketplace-public .property-main-card{
    border-radius:17px!important;
    padding:18px!important;
  }

  /* Partners / plans */
  .marketplace-public .partners-hero h1,
  .marketplace-public .me-plans-hero h1{
    font-size:32px!important;
    line-height:1.08!important;
  }
  .marketplace-public .partner-card,
  .marketplace-public .me-plan-card{
    border-radius:17px!important;
  }

  /* Footer */
  .marketplace-public .me-public-footer{
    margin-top:40px!important;
    padding:42px 0 calc(22px + env(safe-area-inset-bottom,0px))!important;
  }
  .marketplace-public .me-footer-grid{
    grid-template-columns:1fr 1fr!important;
    gap:24px 15px!important;
  }
  .marketplace-public .me-footer-grid>div:first-child{
    grid-column:1/-1;
  }
  .marketplace-public .me-footer-brand img{
    width:185px!important;
  }
  .marketplace-public .me-footer-copy{
    max-width:100%;
    font-size:12px!important;
    line-height:1.65!important;
  }
  .marketplace-public .me-footer-title{
    margin-bottom:10px!important;
    font-size:10px!important;
  }
  .marketplace-public .me-footer-links{
    gap:4px!important;
  }
  .marketplace-public .me-footer-links a{
    min-height:30px;
    font-size:11px!important;
  }
  .marketplace-public .me-footer-bottom{
    display:flex;
    flex-direction:column;
    gap:6px;
    font-size:10px!important;
    line-height:1.45;
  }

  /* Keep floating chat clear of the app nav */
  .marketplace-public .chat-widget-trigger,
  .marketplace-public .chat-float,
  .marketplace-public .me-chat-float{
    bottom:calc(var(--me-mobile-nav-height,72px) + env(safe-area-inset-bottom,0px) + 12px)!important;
  }
}

/* Very small devices */
@media(max-width:380px){
  .marketplace-public .container{width:min(100% - 22px,1200px)}
  .marketplace-public .me-brand-logo{max-width:145px;height:40px}
  .marketplace-public .me-home-hero{padding-top:29px!important}
  .marketplace-public .me-home h1{font-size:34px!important}
  .marketplace-public .me-property-grid{gap:12px!important}
  .marketplace-public .property-card-media{height:190px!important}
  .marketplace-public .me-categories,
  .marketplace-public .me-location-grid{grid-template-columns:1fr!important}
}

/* Tablet: retain density without desktop crowding */
@media(min-width:801px) and (max-width:1050px){
  .marketplace-public .me-header-inner{min-height:70px}
  .marketplace-public .me-brand-logo{max-width:180px}
  .marketplace-public .me-nav a{font-size:12px;padding-inline:7px}
  .marketplace-public .me-property-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
