
/* Member Deals - Public */
.mddeals-grid{
  display:grid;
  gap:16px;
  margin: 25px 0 18px;
}
.mddeals-cols-1{ grid-template-columns:1fr; }
.mddeals-cols-2{ grid-template-columns:repeat(2,1fr); }
.mddeals-cols-3{ grid-template-columns:repeat(3,1fr); }
.mddeals-cols-4{ grid-template-columns:repeat(4,1fr); }

.mddeals-card{
  border:1px solid rgba(0,0,0,.12);
  border-radius:14px;
  overflow:hidden;
  background:#fff;
}
.mddeals-card-link{
  display:block;
  padding:14px 14px 16px;
}
.mddeals-card-top{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:flex-start;
}
.mddeals-card-title{
  font-weight:700;
  font-size:1.05rem;
  line-height:1.2;
}
.mddeals-card-cost{
  font-weight:800;
  white-space:nowrap;
}
.mddeals-card-biz{
  margin-top:6px;
  opacity:.8;
  font-size:.95rem;
}
.mddeals-card-excerpt{
  margin-top:10px;
  opacity:.9;
  font-size:.95rem;
  line-height:1.35;
}
.mddeals-card-dates{
  margin-top:10px;
  font-size:.9rem;
  opacity:.75;
}
.mddeals-card-cta{
  margin-top:12px;
  font-weight:700;
  font-size:.95rem;
}

.mddeals-empty{
  padding:12px 14px;
  border:1px dashed rgba(0,0,0,.25);
  border-radius:12px;
}

/* Single */
.mddeals-wrap{
  max-width: 1200px;
  margin: 25px auto 0;
  padding: 24px 16px;
}

/* Disclaimer modal */
.mddeals-disclaimer{
  margin-top: 14px;
  font-size: .9rem;
}
.mddeals-disclaimer a{
  opacity: .8;
}
.mddeals-modal[hidden]{ display:none; }
.mddeals-modal{
  position: fixed;
  inset: 0;
  z-index: 9999;
}
.mddeals-modal-backdrop{
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.45);
}
.mddeals-modal-dialog{
  position: relative;
  max-width: 760px;
  margin: 8vh auto 0;
  background: #fff;
  border-radius: 16px;
  border: 1px solid rgba(0,0,0,.15);
  padding: 18px 18px 16px;
  box-shadow: 0 10px 30px rgba(0,0,0,.25);
}
.mddeals-modal-close{
  position: absolute;
  top: 10px;
  right: 10px;
}
.mddeals-modal-title{
  margin: 0 0 10px 0;
  font-size: 1.1rem;
  font-weight: 800;
}
.mddeals-modal-body{
  font-size: .95rem;
  line-height: 1.45;
}
.mddeals-toolbar{
  display:flex;
  gap:12px;
  align-items:center;
  position:relative;
  margin-bottom: 18px;
}
.mddeals-btn{
  gap:8px;
}
.mddeals-share-menu{
  position:absolute;
  top:48px;
  right:0;
  background:#fff;
  border:1px solid rgba(0,0,0,.12);
  border-radius:12px;
  padding:10px;
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  z-index:5;
}
.mddeals-head{
  margin-bottom: 14px;
}
.mddeals-title{
  margin: 0 0 10px 0;
  font-size: 2rem;
  line-height:1.15;
}
.mddeals-sub{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.mddeals-pill{
  display:inline-flex;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid rgba(0,0,0,.12);
  background:rgba(0,0,0,.03);
  font-weight:700;
  font-size:.9rem;
}
.mddeals-layout{
  display:grid;
  grid-template-columns: 2fr 1fr;
  gap:16px;
}
@media (max-width: 900px){
  .mddeals-layout{ grid-template-columns: 1fr; }
}
.mddeals-card{
  border:1px solid rgba(0,0,0,.12);
  border-radius:16px;
  background:#fff;
  padding: 16px;
}
.mddeals-content :where(p,ul,ol){ margin-bottom: 12px; }
.mddeals-side-title{
  font-weight:800;
  margin-bottom:10px;
}
.mddeals-biz-name{
  font-weight:800;
  font-size:1.15rem;
  margin-bottom: 10px;
}
.mddeals-map{
  width:100%;
  height: 190px;
  border-radius: 14px;
  overflow:hidden;
  border:1px solid rgba(0,0,0,.12);
  margin: 6px 0 10px;
}
.mddeals-address{ font-size:.95rem; opacity:.9; margin-bottom:8px; }
.mddeals-google{ display:inline-block; margin-bottom:12px; font-weight:700; }
.mddeals-lines{ display:flex; flex-direction:column; gap:10px; margin-top:8px; }
.mddeals-line{ display:flex; justify-content:space-between; gap:12px; align-items:center; }
.mddeals-line-label{
  display:inline-flex;
  gap:8px;
  align-items:center;
  text-decoration:none;
  font-weight:800;
}
.mddeals-line-value{ opacity:.9; overflow-wrap:anywhere; }
.mddeals-icon{ width:18px; display:inline-flex; justify-content:center; }
.mddeals-catlist{ display:flex; flex-wrap:wrap; gap:8px; margin-top:8px; }
.mddeals-cat{
  border:1px solid rgba(0,0,0,.12);
  border-radius:999px;
  padding:6px 10px;
  font-weight:700;
  font-size:.85rem;
  background:rgba(0,0,0,.03);
}


/* Business logo */
.mddeals-card-logo{padding:12px 12px 0 12px; display:flex; justify-content:flex-start;}
.mddeals-card-logo img{max-height:48px; max-width:160px; object-fit:contain;}
.mddeals-biz-logo-wrap{display:flex; justify-content:flex-end; margin-bottom:8px;}
.mddeals-biz-logo{max-height:70px; max-width:200px; object-fit:contain;}


/* === v7.1 tweaks: logo placement + fallbacks === */
.mddeals-side .mddeals-biz-logo-wrap{justify-content:center; text-align:center;}
.mddeals-side .mddeals-biz-logo-link{display:inline-block;}
.mddeals-card-logo--noimg{justify-content:center;}
.mddeals-card-logo-name{font-weight:700; text-align:center; width:100%;}
.mddeals-card-logo-link{display:inline-block;}


/* Logo size adjustments v7.2 */
.mddeals-list .mddeals-biz-logo { max-width: 150px; }
.mddeals-side .mddeals-biz-logo { max-width: 256px; }
