/* ===============================
   Metropolitan Classifieds — Premium Theme
   Drop-in replacement for your current CSS
   =============================== */

:root{
  --bg: #0f1115;              /* site background */
  --surface: #ffffff;         /* cards / content blocks */
  --surface-2: #f6f7f9;       /* subtle section bg */
  --border: #d9dde3;          /* light borders */
  --text: #1c2430;            /* body text on light surfaces */
  --muted: #5b6677;           /* secondary text */
  --header: #111318;          /* header/nav background */
  --header-2: #1a1d24;        /* header inner bands */
  --header-text: #ffffff;     /* header text */
  --link: #2b6cff;            /* brand blue */
  --link-hover: #7aa6ff;      /* hover blue */
  --accent: #f2c14e;          /* optional gold accent */
  --danger: #ff3b30;          /* red (sparingly) */
  --shadow: 0 8px 24px rgba(16,24,40,.08);
  --shadow-sm: 0 2px 10px rgba(16,24,40,.08);
  --radius: 12px;
}

/* Base */
*{
  font-family: Arial, Helvetica, sans-serif;
  font-size: 12px;
  box-sizing: border-box;
}

body{
  margin: 0;
  background: var(--bg);
  color: var(--text);
}

h1{ font-size: 24px; }
h2{ font-size: 20px; }
h3{ font-size: 16px; }

img{ vertical-align: middle; }

label, input{ display: inline-block; }

/* Links */
a{
  color: var(--link);
  text-decoration: none;
}
a:hover{
  color: var(--link-hover);
  text-decoration: underline;
}

nav a{ text-decoration: none; }

/* Container */
body > .container{
  width: 1140px;
  margin: 18px auto;
}

/* Utility */
.text-center{ text-align: center; }
.fs10{ font-size: 10px; }
.mt10{ margin-top: 10px; }
.mt20{ margin-top: 20px; }
.mb20{ margin-bottom: 20px; }
.mr10{ margin-right: 10px; }
.mr20{ margin-right: 20px; }
.mr30{ margin-right: 30px; }
.pt5{ padding-top: 5px; }
.w50{ width: 50px; }
.w200{ width: 200px; }
.block{ display: block; }
.fl{ float: left; }
.fr{ float: right; }
.clearfix{ clear: both; }

/* Collapsible (premium) */
.collapsible{
  background: var(--header-2);
  color: var(--header-text);
  cursor: pointer;
  padding: 14px 16px;
  width: 100%;
  border: 1px solid rgba(255,255,255,.10);
  text-align: left;
  outline: none;
  font-size: 15px;
  border-radius: 10px;
  transition: transform .08s ease, background .2s ease, border-color .2s ease;
}
.collapsible:hover{
  background: #232836;
  border-color: rgba(255,255,255,.18);
}
.active{
  background: #232836;
}
.content{
  padding: 12px 16px;
  max-height: 0;
  overflow: hidden;
  transition: max-height .2s ease-out;
  background: var(--surface-2);
  border: 1px solid var(--border);
  border-top: none;
  border-radius: 0 0 10px 10px;
}

/* Forms */
form .form-group{ padding-bottom: 8px; }
form .form-group label{ display: inline-block; color: var(--muted); }

input, select, textarea{
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 9px 10px;
  background: #fff;
  color: var(--text);
  outline: none;
}
input:focus, select:focus, textarea:focus{
  border-color: rgba(43,108,255,.55);
  box-shadow: 0 0 0 3px rgba(43,108,255,.15);
}

/* Boxes -> turn into clean cards */
.box{
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow-sm);
  overflow: hidden;
}
.box .box-header{
  background: #f1f3f6;
  border-bottom: 1px solid var(--border);
}
.box .box-body, .box .box-header{
  padding: 10px 12px;
}
.box .box-header h3.box-title{
  color: var(--text);
  font-weight: 800;
  margin: 0;
  font-size: 12px;
  letter-spacing: .2px;
}

/* Header (upper-echelon) */
#header{
  border: 1px solid rgba(255,255,255,.08);
  overflow: hidden;
  border-radius: 16px;
  background: var(--header);
  box-shadow: var(--shadow);
}

#header nav{
  background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02));
  padding: 10px 10px;
  border-bottom: 1px solid rgba(255,255,255,.08);
}

#header nav a,
#header nav span{
  margin: 0 10px;
  color: rgba(255,255,255,.92);
  font-weight: 700;
  letter-spacing: .2px;
}

#header nav a:hover{
  color: var(--link-hover);
  text-decoration: none;
}

#header .ads{
  overflow: hidden;
  padding: 10px;
}

/* Billboard/Leaderboard behavior preserved */
#header.billboard .logo{ margin-bottom: 20px; }
#header.billboard .ads a.close{
  position: absolute;
  margin-left: 1125px;
  margin-top: 3px;
  font-size: 16px;
  font-weight: bold;
  color: rgba(255,255,255,.85);
}
#header.billboard .ads a.close:hover{ color: #fff; }

#header.leaderboard{ min-height: 80px; }
#header.leaderboard .logo{ float: left; padding: 10px; }
#header.leaderboard .ads{ float: right; }

/* Breadcrumbs -> light surface card */
#breadcrumbs{
  margin: 14px 0;
  padding: 12px 14px;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow-sm);
  color: var(--muted);
}

/* Content layout */
#content{ overflow: hidden; }

/* Metro links (less “red”, more premium) */
#content nav.metro-links{
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow-sm);
  padding: 10px 12px;
  margin-bottom: 12px;
}
#content nav.metro-links span.current-metro{
  font-size: 18px;
  font-weight: 900;
  color: var(--text);
}
#content nav.metro-links a{ margin: 0 10px; }

/* Sidebars / Main columns */
#content aside{ width: 20%; }
#content aside.left{ float: left; }
#content aside.right{ float: right; }

#content main.three-columns{
  float: left;
  width: 60%;
  padding: 0 22px;
}

/* Column cards */
#content main.three-columns .column{
  width: 188px;
  float: left;
}

/* Sidebar nav links */
#content .box nav a{
  display: block;
  padding: 7px 0;
  color: var(--link);
  font-weight: 600;
}
#content .box nav a:hover{
  color: var(--link-hover);
}
#content aside.left .box nav a{
  font-weight: 800;
}

/* Footer */
#footer{
  margin-top: 18px;
  padding: 16px 0;
  color: rgba(255,255,255,.78);
}
#footer .social-icons img{
  width: 30px;
  height: 30px;
  filter: brightness(1.1);
}

/* Optional: make all white-surface blocks readable against dark bg */
#content aside .box,
#content main .box{
  margin-bottom: 12px;
}
