/* Mo9ef Simple Home - Moroccan colors (no header/footer) */
:root{
  --red:#C1272D;
  --green:#006233;
  --gold:#D4AF37;
  --bg:#fff8f2;
  --ink:#131416;
  --muted: rgba(19,20,22,.70);
  --card:#ffffff;
  --stroke: rgba(19,20,22,.12);
  --radius: 18px;
  --shadow: 0 14px 30px rgba(0,0,0,.10);
  --shadow2: 0 10px 22px rgba(0,0,0,.08);
}

body.mo9ef-home{
  margin:0;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, "Noto Sans", Arial;
  background:
    radial-gradient(700px 420px at 15% 10%, rgba(193,39,45,.12), transparent 62%),
    radial-gradient(700px 420px at 85% 14%, rgba(0,98,51,.10), transparent 62%),
    radial-gradient(560px 360px at 50% 95%, rgba(212,175,55,.10), transparent 60%),
    var(--bg);
  color: var(--ink);
}

.container{
  width:min(820px, 92vw);
  margin: 0 auto;
  padding: 22px 0 34px;
}

.logo{
  display:flex;
  justify-content:center;
  padding-top: 14px;
}
.logo img{
  height: 56px;
  width:auto;
  border-radius: 12px;
}

.h1{
  margin: 16px 0 8px;
  text-align:center;
  font-size: clamp(1.55rem, 4vw, 2.25rem);
  line-height: 1.15;
}
.subtitle{
  margin: 0 auto 16px;
  text-align:center;
  color: var(--muted);
  font-size: 1.02rem;
  max-width: 60ch;
}

.search{
  display:grid;
  grid-template-columns: 1fr auto;
  gap: 10px;
  background: rgba(255,255,255,.75);
  border: 1px solid var(--stroke);
  border-radius: calc(var(--radius) + 6px);
  box-shadow: var(--shadow);
  padding: 12px;
}
.search.has-city{
  grid-template-columns: 1fr 280px auto;
}
.input{
  width:100%;
  padding: 14px 14px;
  border-radius: 16px;
  border: 1px solid rgba(19,20,22,.14);
  font-size: 1.05rem;
}
.input:focus{
  outline: 3px solid rgba(0,98,51,.18);
  border-color: transparent;
}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 14px 14px;
  border-radius: 16px;
  font-weight: 900;
  text-decoration:none;
  border: 0;
  cursor:pointer;
  box-shadow: var(--shadow2);
  user-select:none;
}
.btn:hover{filter: brightness(1.02)}
.btn:focus{outline: 3px solid rgba(193,39,45,.20); outline-offset: 2px}
.btn-green{background: linear-gradient(135deg, var(--green), #22c55e); color: #fff;}
.btn-red{background: linear-gradient(135deg, var(--red), #ff4b55); color: #fff;}
.btn-gold{background: linear-gradient(135deg, #b8891e, var(--gold)); color: #1b1306;}

.actions{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin: 12px 0 18px;
}

.cats{
  margin-top: 12px;
}
.h2{
  margin: 0 0 12px;
  text-align:center;
  font-size: 1.18rem;
}
.grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.card{
  background: rgba(255,255,255,.88);
  border: 1px solid var(--stroke);
  border-radius: var(--radius);
  padding: 14px 12px;
  box-shadow: var(--shadow2);
  text-align:center;
  text-decoration:none;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap: 6px;
  min-height: 92px;
}
.card:focus{outline: 3px solid rgba(0,98,51,.18); outline-offset: 2px}
.emoji{font-size: 26px; line-height: 1}
.label{font-weight: 900; font-size: 1.02rem}

.note{
  margin: 14px auto 0;
  text-align:center;
  color: var(--muted);
  font-size: .95rem;
}

.wrap{
  padding-bottom: 24px;
}

/* Screen reader only label */
.sr-only{
  position:absolute;
  width:1px;height:1px;
  padding:0;margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;border:0;
}

@media (max-width: 860px){
  .grid{grid-template-columns: repeat(2, minmax(0, 1fr))}
}
@media (max-width: 560px){
  .search{
  display:grid;
  grid-template-columns: 1fr auto;
  gap: 10px;
  background: rgba(255,255,255,.75);
  border: 1px solid var(--stroke);
  border-radius: calc(var(--radius) + 6px);
  box-shadow: var(--shadow);
  padding: 12px;
}
.search.has-city{
  grid-template-columns: 1fr 280px auto;
}
  .actions{grid-template-columns: 1fr}
  .card{min-height: 82px}
}

.select{
  width:100%;
  padding: 14px 14px;
  border-radius: 16px;
  border: 1px solid rgba(19,20,22,.14);
  font-size: 1.05rem;
  background: #fff;
}

@media (max-width: 780px){
  .search{
  display:grid;
  grid-template-columns: 1fr auto;
  gap: 10px;
  background: rgba(255,255,255,.75);
  border: 1px solid var(--stroke);
  border-radius: calc(var(--radius) + 6px);
  box-shadow: var(--shadow);
  padding: 12px;
}
.search.has-city{
  grid-template-columns: 1fr 280px auto;
}
}

/* Mini cards (avantages) */
.mini{margin: 10px 0 18px; display:grid; gap: 12px;}
.mini-block{
  background: rgba(255,255,255,.78);
  border: 1px solid var(--stroke);
  border-radius: calc(var(--radius) + 6px);
  box-shadow: var(--shadow2);
  padding: 12px;
}
.mini-title{
  margin: 4px 0 10px;
  text-align:center;
  font-size: 1.05rem;
  font-weight: 900;
}
.mini-grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}
.mini-card{
  display:flex;
  gap: 10px;
  align-items:center;
  padding: 12px;
  border-radius: 16px;
  border: 1px solid rgba(19,20,22,.10);
  background: rgba(255,255,255,.92);
}
.mini-card.pro{
  border-color: rgba(0,98,51,.18);
  box-shadow: 0 0 0 3px rgba(0,98,51,.08) inset;
}
.mini-emoji{font-size: 26px; line-height: 1}
.mini-h{font-weight: 900; font-size: .98rem}
.mini-p{color: var(--muted); font-size: .9rem; margin-top:2px}
