:root{
  --navy:#1b2a4a;
  --orange:#f28c00;
  --gold:#d9a441;
  --purple:#6a4a9c;
  --blue-btn:#1a56c4;
  --page-bg:#e9edf3;
}

body{
  background:var(--page-bg);
  font-family:Arial, Helvetica, sans-serif;
  color:#222;
}

/* ---- Top banner ---- */
.im-banner{
  background:#fdf6d8;
  border-bottom:1px solid #e5d98a;
  color:#c0392b;
  font-weight:bold;
  padding:6px 0;
  font-size:.95rem;
}

/* ---- Nav bar ---- */
.im-nav{
  background:linear-gradient(#3a4a6b,#1b2a4a);
  padding:10px 0;
}
.im-nav-btn{
  color:#fff;
  background:transparent;
  border:1px solid transparent;
  padding:6px 14px;
  border-radius:4px;
  font-weight:bold;
  text-decoration:none;
  font-size:.92rem;
}
.im-nav-btn:hover{ background:rgba(255,255,255,.12); color:#fff; }
.im-nav-btn-active{
  background:var(--blue-btn);
  border:1px solid #0d3d91;
}

/* ---- Logo lockup ---- */
.im-logo{
  font-size:2.6rem;
  font-weight:900;
  letter-spacing:-1px;
  text-align:center;
}
.im-logo .c-navy{ color:var(--navy); }
.im-logo .c-orange{ color:var(--orange); }
.im-logo .c-black{ color:#111; }
.im-logo .c-gray{ color:#888; font-size:1.4rem; vertical-align:middle;}
.im-tagline{ text-align:center; font-weight:bold; margin-top:-4px; }

/* ---- Widget boxes (weather/classifieds/stocks/horoscope/radio/showtime) ---- */
.im-widget{ text-align:center; margin-bottom:24px; }
.im-widget-title{ font-weight:bold; font-size:.95rem; margin-bottom:6px; }
.im-widget-title i{ margin-right:4px; }

.im-flag{
  position:relative;
  color:#fff;
  padding:10px 8px 22px;
  font-weight:bold;
  font-size:.85rem;
}
.im-flag input.form-control{ font-size:.8rem; padding:4px 6px; margin-bottom:4px;}
.im-flag .btn{ font-size:.75rem; padding:2px 10px; }

.im-flag-orange{ background:var(--orange); }
.im-flag-orange::after{ content:""; position:absolute; left:0; bottom:-16px; width:0; height:0;
  border-left:80px solid var(--orange); border-right:80px solid transparent; border-bottom:16px solid transparent; }

.im-flag-purple{ background:var(--purple); }
.im-flag-purple::after{ content:""; position:absolute; left:0; bottom:-16px; width:0; height:0;
  border-left:80px solid var(--purple); border-right:80px solid transparent; border-bottom:16px solid transparent; }

.im-flag-gold{ background:var(--gold); }
.im-flag-gold::after{ content:""; position:absolute; left:0; bottom:-16px; width:0; height:0;
  border-left:80px solid var(--gold); border-right:80px solid transparent; border-bottom:16px solid transparent; }

.im-flag-gray{ background:#8a939f; }

/* ---- Search box ---- */
.im-searchbar{
  background:#111;
  border-radius:6px;
  padding:14px;
}
.im-searchbar input{
  border-radius:4px;
  border:none;
  padding:10px 12px;
  font-size:1rem;
}
.im-search-btn{
  background:var(--navy);
  color:#fff;
  font-weight:bold;
  border:none;
  padding:8px 20px;
  border-radius:4px;
}
.im-search-btn:hover{ background:#0f1a33; color:#fff; }

/* ---- Ad slot ---- */
.im-adslot{
  text-align:center;
  font-weight:bold;
  font-size:1.7rem;
  margin:26px 0 8px;
}
.im-adslot .price{ color:var(--blue-btn); }
.im-adslot-img{
  background:#111;
  height:70px;
  border-radius:4px;
}

/* ---- Special services ---- */
.im-services{ border-top:1px solid #ccc; padding-top:14px; margin-top:20px; }
.im-service-icon{
  width:60px; height:50px; background:#111; color:#fff; border-radius:6px;
  display:flex; align-items:center; justify-content:center; font-size:1.4rem;
}

/* ---- Footer ---- */
.im-footer{ background:#f3f3f3; padding:20px 0; margin-top:30px; border-top:1px solid #ddd; }
.im-footer a{ color:#333; text-decoration:underline; font-size:.85rem; }
.im-terms{ font-size:.75rem; color:#888; max-width:900px; margin:10px auto 0; }

.im-page-wrap{ background:#fff; padding:20px 24px 10px; border:1px solid #e2e2e2; border-radius:0 0 6px 6px; }

/* ---- Generic content cards used across modules ---- */
.im-card{ border:1px solid #e0e0e0; border-radius:6px; transition:box-shadow .15s ease, transform .15s ease; }
.im-card:hover{ box-shadow:0 6px 18px rgba(0,0,0,.08); transform:translateY(-2px); }
.im-badge-pending{ background:#f0ad4e; }
.im-badge-approved{ background:#5cb85c; }
.im-badge-rejected{ background:#d9534f; }

/* fade-in animation for lists loaded via AJAX */
@keyframes im-fadein{ from{opacity:0; transform:translateY(6px);} to{opacity:1; transform:translateY(0);} }
.im-fadein{ animation:im-fadein .35s ease both; }

/* like button pulse */
@keyframes im-pulse{ 0%{transform:scale(1);} 50%{transform:scale(1.3);} 100%{transform:scale(1);} }
.im-liked{ animation:im-pulse .3s ease; color:#d9534f !important; }

/* ---- Live search-as-you-type dropdown ---- */
.im-live-results{
  position:absolute; top:100%; left:0; right:0; z-index:1050;
  max-height:360px; overflow-y:auto; border-radius:0 0 6px 6px;
  box-shadow:0 8px 20px rgba(0,0,0,.15);
  display:none;
}
.im-live-results.show{ display:block; }
.im-live-results .list-group-item{ font-size:.9rem; }

.spin{ animation:im-spin 1s linear infinite; }
@keyframes im-spin{ from{transform:rotate(0);} to{transform:rotate(360deg);} }
