:root {
  --brand-1: #0f766e;
  --brand-2: #155e75;
  --accent: #f59e0b;
  --ink: #0f172a;
  --muted: #64748b;
  --paper: #ffffff;
  --line: rgba(15, 23, 42, 0.12);
  --surface: #f8fafc;
}

html, body {
  background: radial-gradient(1200px 500px at 10% -10%, #e6fffb 0%, #f8fafc 45%, #f8fafc 100%);
  color: var(--ink);
}

body {
  letter-spacing: 0.1px;
}

header {
  background: rgba(255, 255, 255, 0.92);
  border-bottom: 1px solid var(--line);
  position: sticky;
  top: 0;
  z-index: 20;
  backdrop-filter: blur(8px);
}

header #logo a {
  color: #0b1324;
}

header .nav a {
  border-radius: 999px;
}

header .nav a:hover {
  border-color: var(--brand-1);
  color: var(--brand-1);
}

header .nav a.publish {
  background: linear-gradient(135deg, var(--brand-1), var(--brand-2));
  border-color: transparent;
  box-shadow: 0 10px 22px rgba(15, 118, 110, 0.26);
}

header .nav a.publish:hover {
  box-shadow: 0 12px 28px rgba(15, 118, 110, 0.35);
  transform: translateY(-1px);
}

body.home header,
body.home section.home-search,
body.home section.header-ad {
  background: transparent;
}

body.home section.home-search {
  padding-top: 14px;
  padding-bottom: 26px;
}

.home-search .search.nocsrf.box {
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 18px;
  box-shadow: 0 18px 45px rgba(15, 23, 42, 0.08);
  padding: 18px;
}

.home-search h1 {
  font-family: "Merriweather", serif;
  color: #0b1324;
  letter-spacing: -0.2px;
}

.btn.btn-primary {
  background: linear-gradient(135deg, var(--brand-1), var(--brand-2));
  border-color: transparent;
  box-shadow: 0 10px 22px rgba(21, 94, 117, 0.24);
}

.btn.btn-primary:hover,
a.btn.btn-primary:hover {
  background: linear-gradient(135deg, #0e665f, #124f63);
  border-color: transparent;
}

input[type="text"],
input[type="email"],
input[type="number"],
input[type="url"],
input[type="phone"],
input[type="date"],
select,
textarea {
  border-radius: 12px;
  border: 1px solid rgba(15, 23, 42, 0.2);
}

input:focus,
select:focus,
textarea:focus {
  outline: none;
  border-color: var(--brand-1);
  box-shadow: 0 0 0 3px rgba(15, 118, 110, 0.14);
}

.listing-grid .listing-card,
.listing-list .listing-card {
  border-color: var(--line);
  border-radius: 14px;
  overflow: hidden;
  transition: transform 0.22s ease, box-shadow 0.22s ease;
}

.listing-grid .listing-card:hover,
.listing-list .listing-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 28px rgba(15, 23, 42, 0.12);
}

.listing-card .currency-value {
  color: #0c4a6e;
}

#sidebar .box,
.user-account .box,
#main .box,
.form-container-box {
  border: 1px solid var(--line);
  border-radius: 14px;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.06);
}

footer {
  background: linear-gradient(180deg, #e2f3f2 0%, #d8eceb 100%);
  border-top: 1px solid var(--line);
}

footer .copy,
footer .language,
footer .box > a {
  color: rgba(15, 23, 42, 0.78);
}

@media (max-width: 768px) {
  header {
    position: relative;
    backdrop-filter: none;
  }

  .home-search .search.nocsrf.box {
    border-radius: 14px;
    padding: 14px;
  }

  .listing-grid .listing-card,
  .listing-list .listing-card {
    border-radius: 12px;
  }
}
