    /* —— Regal Global Palette —— */
    :root {
        --bg: #F0F4F8;
        --header-bg: #003366;
        --panel-bg: #FFFFFF;
        --text-primary: #1F2937;
        --text-secondary: #475569;
        --border: #CBD5E1;
        --accent: #FFD700;
        --accent-hover: #E6C200;
      }
  
      /* —— Reset & Base —— */
      * { box-sizing: border-box; margin:0; padding:0 }
      body {
        font-family:'Inter',sans-serif;
        background:var(--bg);
        color:var(--text-primary);
        line-height:1.6;
      }
      a { text-decoration:none; color:inherit }
      .wrapper { width:74%; margin:0 auto }
  
      /* —— HEADER —— */
      header {
        position: fixed;
        top: 0;
        z-index: 9999 !important;
        background: var(--header-bg);
        color: var(--panel-bg);
        padding: 5px 10px;
        box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
      
        width: 100%;
      }
      
      /* Desktop: center and limit width to 74% */
      @media (min-width: 1143px) {
        header {
          width: 74%;
          left: 50%;
          transform: translateX(-50%);
        }
      }
      
      .header-top {
        display:flex; align-items:center;
        justify-content:space-between; gap:10px;
        flex-wrap:nowrap;
      }
      .header-left {
        display:flex; align-items:center; gap:10px;
      }
      .hamburger {
        display:none; flex-direction:column; gap:4px; cursor:pointer;
      }
      .hamburger div {
        width:25px; height:3px; background:var(--panel-bg);
      }
      .hamburger i {
        font-size: 1.5rem;
        cursor: pointer;
        color: var(--panel-bg);
                    }
      .logo {
        font-size:22px; font-weight:600; white-space:nowrap;
      }
  
  /* —— COMPOUND SEARCH BAR —— */
  .search-bar {
    display: flex;
    align-items: center;
    border: 1px solid var(--border);
    border-radius: 6px;
    overflow: visible;
    background: var(--panel-bg);
  }
  
  /* desktop version */
  .search-bar.search-desktop {
    margin-left: 0;
    width: 40%;
    min-width: 260px;
  }
  
  /* the text input fills all available space */
  .search-bar input {
    flex: 1;
    border: none;
    padding: 8px;
    font-size: 16px;
    background: var(--panel-bg);
    color: var(--text-primary);
  }
  
  /* the search button (desktop & mobile) */
  .search-bar button {
    background: var(--accent);      /* yellow bg */
    padding: 8px 12px;
    border: none;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s;
  }
  
  .search-bar button:hover {
    background: var(--accent-hover);
  }
  
  /* make the magnifier icon white */
  .search-bar button svg {
    width: 24px;
    height: 24px;
    stroke: var(--panel-bg);        /* white stroke */
  }
  
  
  /* —— MOBILE SEARCH —— */
  .search-mobile {
    width: 100%;
    margin-left: 0;
    display:none; margin-top:5px;
  }
  
  .search-mobile .search-bar {
        margin-left:0; width:100%;
      }
  
      /* —— CONTROLS —— */
      .header-right {
        display:flex; align-items:center; gap:8px;
      }
      .header-right select,
      .header-right button {
        font-size:14px; padding:6px 10px;
        border:1px solid var(--border); border-radius:6px;
        background:var(--panel-bg); color:var(--text-primary);
      }
      .header-right button {
        background:var(--accent); color:var(--header-bg);
        border:none; font-weight:600;
      }
      .header-right button:hover {
        background:var(--accent-hover);
      }
  
      /* —— NAVIGATION —— */
      .nav-menu {
        display:flex; justify-content:space-around;
        background:var(--header-bg); padding:12px 0;
        border-bottom:1px solid var(--border);
        margin-top:10px; flex-wrap:wrap;
      }
      .nav-menu a {
        font-weight:600; color:var(--panel-bg);
      }
      .nav-menu a:hover {
        color:var(--accent);
      }
  
      /* —— BODY —— */
      .body-container {
        display:flex; gap:20px; margin-top:95px;
      }
      .sidebar {
        width:20%; background:var(--panel-bg);
        padding:15px; border-radius:10px;
        box-shadow:0 1px 3px rgba(0,0,0,0.1);
      }
      .sidebar ul { list-style:none; margin: 0; padding: 0;}
      /* remove the old borders */
  .sidebar li {
    border-bottom: none;
    margin: 0;
    padding: 0;
  }
  
  /* MAIN category style */
  .navigationbold {
    display: block;
    font-weight: 600;
    background-color: #E2E8F0;    /* a slightly darker panel */
    color: var(--text-primary);
    padding: 8px 12px;            /* tighter vertical padding */
    text-transform: uppercase;
  }
  
  /* Sub‑item style */
  .navigationwhite {
    display: block;
    font-weight: 400;
    color: var(--text-secondary);
    padding: 4px 12px 4px 24px;   /* less top/bottom padding, indented */
  }
  
  /* Optional: a thin separator between groups of sub‑items */
  .navigationwhite + .navigationbold,
  .navigationbold + .navigationbold {
    margin-top: 8px;
  }
  
  /* Hover states */
  .navigationwhite:hover {
    background: rgba(0,0,0,0.03);
    color: var(--text-primary);
  }
      .content {
        flex:1; background:var(--panel-bg);
        padding:6px; border-radius:10px;
        box-shadow:0 1px 3px rgba(0,0,0,0.1);
      }
  
      /* —— FOOTER —— */
      footer {
        background:var(--panel-bg);
        color:var(--text-secondary);
        text-align:center; padding:20px;
        margin-top:40px; border-top:1px solid var(--border);
        border-radius:10px; font-size:14px;
      }
      footer p { margin:6px 0; line-height:1.5 }
  
      /* —— FULL MOBILE SWITCH @≤1144px —— */
      @media (max-width:1144px) {
        .wrapper { width:100% }
        .hamburger { display:flex }
        /* hide the desktop bar and show the mobile bar */
    .search-bar.search-desktop { display: none; }
    .search-mobile             { display: block; }
  
    /* style the mobile input exactly like the desktop one */
    .search-mobile .search-bar input {
      padding: 4px 8px;         /* Reduce vertical and horizontal padding */
      font-size: 14px;          /* Slightly smaller font */
      height: 32px;             /* Set fixed height */
      border-radius: 6px 0 0 6px;
      border: 0px solid var(--border);
    }
  
    /* now target your .search-btn instead of the generic button */
    .search-mobile .search-bar .search-btn {
      padding: 4px 8px;         /* Reduce button padding */
      height: 32px;             /* Match input height */
      background: var(--accent);
      color: var(--panel-bg);
      border: none;
      border-radius: 0 6px 6px 0;
    }
  
    /* and make sure the icon inside is sized the same: */
    .search-mobile .search-bar .search-icon {
      width: 20px;
      height: 20px;
      stroke: var(--panel-bg);  /* white on your yellow button */
    }
        .header-top { flex-wrap:nowrap }
        .logo { font-size:18px }
        .header-right {
          gap:5px; width:100%; justify-content:flex-end;
        }
        .header-right select,
        .header-right button {
          font-size:10px; padding:5px 8px;
        }
        .nav-menu { font-size:14px }
        .body-container { flex-direction:column }
        .sidebar { display:none; width:100% }
        .sidebar.active { display:block }
        .content { width:100% }
  
          /* make the section headers a bit smaller */
    .top-posts__marketplace .section-header h3,
    .top-posts__discussion .section-header h3 {
      font-size: 1rem;       /* down from whatever your desktop size is */
    }
  
    /* and the list items too */
    .top-posts__marketplace li,
    .top-posts__discussion li {
      font-size: 0.85rem;    /* adjust to taste */
    }
  
    /* —————— FULL‑BLEED PANELS —————— */
    .top-posts__marketplace,
    .top-posts__discussion,
    .top-posts__featured {
      position: relative;
      left: 50%;
      width: 100vw;
      margin-left: -50vw;
      /* restore your normal gutter inside the panel */
      padding-left: 16px;
      padding-right: 16px;
    }
      }
  
      /* —— GRID LAYOUT —— */
      .row {
        display: grid;
        grid-template-columns: repeat(3,1fr);
        gap: 5px;
      }
      @media (max-width:1144px) {
        .row {
          grid-template-columns: repeat(2,1fr);
        }
      }
  
      /* —— CARD —— */
      .column {
        background: #FFF;
        border-radius: 8px;
        overflow: hidden;
        box-shadow: 0 2px 6px rgba(0,0,0,0.15);
        display: flex;
        flex-direction: column;
      }
  
      .column img.displaypost {
    width: 100%;
    aspect-ratio: 4 / 3;   /* slightly wider than tall */
    object-fit: cover;
  }
  
      .info {
        padding: 8px;
        flex: 1;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
      }
  
      .company {
        font-weight: 600;
        font-size: 0.875rem;     /* ≈14px */
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        max-width: 100%;         /* responsive: takes up full width of its container */
        display: block;          /* required for max-width to apply correctly */
      }
      
      
  
      .keyword {
        margin-bottom: 8px;
      }
      .keyword .category {
        background: #FFD700;
        color: #003366;
        border: none;
        border-radius: 4px;
        padding: 4px 8px;
        font-size: 0.8rem;
        cursor: pointer;
      }

      /* Image Credit Styling */
.image-credit {
  text-align: center;
  font-size: 0.8rem;
  color: #888;
  margin-top: 5px;
}

/* Call Now Button Styling at the bottom */
.call-now-footer {
  text-align: center;
  margin-top: 20px;
}
  
      .call-btn {
        display: inline-flex;
        align-items: center;
        background: #007BFF;
        color: #FFF;
        border: none;
        border-radius: 4px;
        padding: 6px 10px;
        font-size: 0.8rem;
        justify-content: center;  /* horizontal center of icon + text */
      }
      .call-btn i {
        margin-right: 6px;
      }

      .call-btn:hover {
        background-color: #0056b3;
      }
  
      /* container for the two buttons */
  .section-header__actions {
    display: flex;
    gap: 8px;
  }
  

  
  
  
  
  /* —— POST BUTTON (blue tone) —— */
  .post-btn {
    background: #007BFF;               /* matching your “Call Now” blue */
    color: #fff;                       /* white text */
    border: 1px solid #007BFF;
    border-radius: 4px;
    padding: 6px 12px;
    font-size: 0.85rem;
    cursor: pointer;
    transition: background 0.2s, border-color 0.2s;
  }
  
  .post-btn:hover {
    background: #0056b3;               /* darker blue on hover */
    border-color: #0056b3;
  }
  
  
  
  /* —— SECTION HEADER FLEX —— */
  .section-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px; /* space under header */
  }
  .section-header h3 {
    margin: 0; /* reset default */
    color: #003366;
  }
  
  /* Base badge styling */
/* SECTION + HEADER */
.marketplace-card {
  border: 1px solid #ddd;
  border-radius: 8px;
  padding: 16px;
  margin-bottom: 16px;
  background-color: #fff;
  transition: box-shadow 0.2s ease;
  text-decoration: none;
  display: block;
}

.marketplace-card:hover {
  box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}

.marketplace-title-row {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: nowrap;
  margin-bottom: 8px;
}

.marketplace-badge {
  padding: 4px 10px;
  font-size: 11px;
  font-weight: bold;
  border-radius: 20px;
  color: white;
  line-height: 1;
  flex-shrink: 0;
}

.badge {
  display: inline-block;
  padding: 3px 8px;
  border-radius: 4px;
  font-size: 12px;
  font-weight: bold;
  color: white;
  margin-bottom: 6px;
}

.badge-buy { background-color: #28a745; }
.badge-sell { background-color: #dc3545; }
.badge-rent { background-color: #007bff; }
.badge-ask  { background-color: #ffc107; color: #333; }

@media (max-width: 600px) {
  /* Shrink the “Marketplace” heading */
  .marketplace-header h3 {
    font-size: 16px;   /* down from 18px */
    margin-right: 8px; /* a little space before the buttons */
  }

  /* Shrink & tighten up all the buttons */
  .marketplace-header .marketplace-btn {
    font-size: 14px;         /* smaller text */
    padding: 4px 8px;        /* less padding */
    line-height: 1.2;        /* tighter line-height */
  }

  /* Keep them on one line (they’ll scroll horizontally if they still overflow) */
  .marketplace-header {
    flex-wrap: nowrap;
    overflow-x: auto;
  }
}

.marketplace-title-text {
  font-weight: 600;
  font-size: 15px;
  color: #111;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  flex: 1;
  line-height: 1.3;
}

.marketplace-desc {
  font-size: 14px;
  color: #333;
  margin-bottom: 10px;
}

.marketplace-meta-row {
  display: flex;
  justify-content: space-between;
  font-size: 13px;
  color: #555;
  align-items: center;
}

.marketplace-more-link {
  font-weight: bold;
  color: #007bff;
  font-size: 13px;
  text-decoration: none;
}

.marketplace-more-link:hover {
  text-decoration: underline;
}

.marketplace-section-wrapper {
  background-color: #FFF;
  border: 0px solid #ddd;
  border-radius: 12px;
  padding: 0px;
  margin: 0 0 0px 0; /* top right bottom left */
}

  
  /* DETAIL PANEL */
/* --- Header: name + image centered --- */
.supplier-header {
    text-align: center;
    margin: 40px 0 32px;
  }
  .supplier-header h1 {
    font-size: 2rem;
    color: var(--header-bg); /* navy */
    font-weight: 600;
    margin-bottom: 24px;
  }
  .supplier-img {
    width: 80%;
    max-width: 350px;
    height: auto;
    border-radius: 6px;
    object-fit: cover;
    display: block;
    margin: 0 auto;
    box-shadow: 0 4px 12px rgba(0,0,0,0.08);
  }

  @media (max-width: 1143px) {
    .supplier-header h1 {
      font-size: 1.4rem; /* adjust as needed for mobile */
      margin-bottom: 16px; /* optional: tighter spacing */
    }
  }
  
  /* --- Body: left aligned, constrained width --- */
  .supplier-body {
    max-width: 800px;
    margin: 0 auto 60px;
    text-align: left;
  }
  .supplier-body p {
    color: var(--text-secondary);
    margin-bottom: 16px;
  }
  .supplier-body h3 {
    color: var(--header-bg);
    margin-top: 32px;
    margin-bottom: 8px;
    font-size: 1.1rem;
    font-weight: 600;
  }
  .supplier-body ul {
    list-style: disc;
    margin-left: 20px;
    margin-bottom: 16px;
  }
  .supplier-body ul li {
    margin-bottom: 6px;
  }
  .supplier-body p strong {
    color: var(--header-bg);
  }
  
  /* --- Mobile stack --- */
  @media (max-width: 1143px) {
    .supplier-img {
      width: 90%;
    }
    .supplier-header {
      margin: 32px 0 24px;
    }
  }
  
  /* Footer — blend with site color tone */
  .feet {
    background: var(--panel-bg);      /* white card background */
    color: var(--text-secondary);     /* soft grey text */
    padding: 40px 16px;               /* generous padding */
    text-align: center;               /* center everything */
    border-top: 1px solid var(--border);
    font-size: 0.9rem;
    line-height: 1.6;
  }
  
  /* Logo/title */
  .feet .one1 {
    display: inline-block;
    font-size: 1.5rem;
    font-weight: 600;
    color: var(--header-bg);          /* navy */
    text-decoration: none;
    margin-bottom: 16px;
  }
  
  /* Body copy */
  .feet p {
    max-width: 800px;
    margin: 0 auto 24px;
    color: var(--text-secondary);
  }
  
  /* Social icons */
  .feet a img {
    filter: none; /* in case you previously inverted them */
    margin: 0 8px;
    vertical-align: middle;
    transition: opacity 0.2s;
  }
  .feet a img:hover {
    opacity: 0.8;
  }
  
  /* Footer links */
  .feet p a {
    color: var(--header-bg);          /* navy links */
    text-decoration: none;
    margin: 0 6px;
    transition: color 0.2s;
  }
  .feet p a:hover {
    color: var(--accent);             /* gold on hover */
  }
  
  /* Copyright */
  .feet > p:last-of-type {
    margin-top: 32px;
    color: var(--text-secondary);
    font-size: 0.85rem;
  }
  /* Regular‑sized social icons in footer */
  .feet .social-icons a,
  .feet a i.fab {
    font-size: 1.25rem;    /* ≈20px */
    margin: 0 8px;         /* nice, even spacing */
    transition: color 0.2s;
  }
  
  .feet .social-icons a:hover,
  .feet a i.fab:hover {
    color: var(--accent);  /* gold on hover */
  }
  
  .search-bar { position: relative; overflow: visible; }

/* our unified dropdown class */
.search-suggestions {
  position: absolute;
  top: 100%;
  left: 0; right: 0;
  background: #fff;
  border: 1px solid #ccc;
  border-top: none;
  max-height: 240px;
  overflow-y: auto;
  z-index: 1000;
  font-size: 0.9rem;
}
.search-suggestions a {
  display: block;
  padding: 8px 12px;
  color: #333;
  text-decoration: none;
}
.search-suggestions a:hover {
  background: #f5f5f5;
}
/* —— Forms & Alerts —— */
form p {
  margin-bottom: 16px;
}
label {
  display: block;
  margin-bottom: 6px;
  font-weight: 600;
}
input,
select,
textarea {
  width: 100%;
  padding: 10px;
  border: 1px solid #CBD5E1;
  border-radius: 4px;
  font-size: 1rem;
  color: var(--text-primary);
}
textarea {
  resize: vertical;
  min-height: 120px;
}
button {
  background: var(--accent);
  color: #fff;
  border: none;
  padding: 12px 20px;
  font-size: 1rem;
  border-radius: 4px;
  cursor: pointer;
}
button:hover {
  background: #E6C200;
}

/* Alerts */
.alert {
  padding: 12px;
  margin-bottom: 16px;
  border-radius: 4px;
}
.alert-success {
  background: #E6FFFA;
  color: #2C7A7B;
}
.alert-error {
  background: #FFF5F5;
  color: #C53030;
}
.field-error {
  color: #C53030;
  margin-top: 4px;
  font-size: 0.875rem;
}

/* Footer override */
footer.site-footer {
  text-align: center;
  color: var(--text-secondary);
  padding: 24px 0;
}

.loading {
  text-align: center;
  padding: 20px;
}

/* Force the ad not to float above */
.adsbygoogle,
.adsbygoogle iframe,
.adsbygoogle ins {
  position: relative !important;
  z-index: 1 !important;
  display: block !important;
  overflow: hidden !important;
}


.fnb-auth-container {
  max-width: 440px;
  margin: 60px auto;
  background: white;
  padding: 28px;
  border-radius: 10px;
  box-shadow: 0 0 12px rgba(0,0,0,0.08);
}

.fnb-auth-tabs {
  display: flex;
  margin-bottom: 20px;
}

.fnb-auth-tab {
  flex: 1;
  text-align: center;
  padding: 10px;
  cursor: pointer;
  font-weight: bold;
  background: #f0f0f0;
  border-radius: 6px 6px 0 0;
  transition: background 0.2s;
}

.fnb-auth-tab.active {
  background: #007bff;
  color: white;
}

.fnb-auth-form {
  display: none;
}

.fnb-auth-form.active {
  display: block;
}

.fnb-auth-input, .fnb-auth-select {
  width: 100%;
  padding: 10px;
  margin: 10px 0 18px;
  border: 1px solid #ccc;
  border-radius: 5px;
  font-size: 14px;
}

.fnb-auth-btn {
  width: 100%;
  padding: 10px;
  background: #007bff;
  color: white;
  font-size: 15px;
  font-weight: bold;
  border: none;
  border-radius: 5px;
  cursor: pointer;
}

.fnb-auth-btn:hover {
  background: #0056b3;
}

.fnb-auth-section {
  font-weight: 600;
  margin: 12px 0 6px;
  font-size: 15px;
  color: #333;
}

/* marketplace-post.css */

.mp-container {
  margin: auto;
  font-family: Arial, sans-serif;
  background: #fff;
}

.mp-title {
  font-size: 24px;
  margin-bottom: 10px;
}

.mp-meta {
  font-size: 14px;
  color: #666;
  margin-bottom: 20px;
}

.mp-badge {
  display: inline-block;
  padding: 4px 10px;
  font-size: 12px;
  font-weight: bold;
  border-radius: 20px;
  color: white;
  margin-right: 8px;
}

.mp-badge-buy {
  background: #007bff;
}

.mp-badge-sell {
  background: #28a745;
}

.mp-badge-rent {
  background: #fd7e14;
}

.mp-badge-ask {
  background-color: #ffc107; 
  color: #333;
}

.mp-content {
  font-size: 15px;
  line-height: 1.6;
  color: #333;
  margin-bottom: 20px;
  white-space: pre-wrap;
}

.mp-action-bar {
  display: flex;
  gap: 12px;
  margin-bottom: 30px;
  flex-wrap: wrap;
}

.mp-action-btn {
  background: #f1f1f1;
  padding: 6px 12px;
  border-radius: 6px;
  font-size: 13px;
  cursor: pointer;
  transition: background 0.2s;
}

.mp-action-btn:hover {
  background: #e0e0e0;
}

.mp-comments-heading {
  margin-top: 30px;
  font-size: 18px;
  border-top: 1px solid #ddd;
  padding-top: 16px;
  margin-bottom: 10px;
}

.mp-comment {
  border-top: 1px solid #eee;
  padding: 12px 0;
  font-size: 14px;
  color: #444;
}

.mp-comment strong {
  color: #222;
}

.mp-comment small {
  color: #888;
  font-size: 12px;
}

.mp-comment-form {
  margin-top: 20px;
}

.mp-comment-form textarea {
  width: 100%;
  height: 100px;
  padding: 10px;
  font-size: 14px;
  border: 1px solid #ccc;
  border-radius: 4px;
  resize: vertical;
}

.mp-comment-form button {
  margin-top: 10px;
  background-color: #007bff;
  color: white;
  border: none;
  padding: 8px 16px;
  border-radius: 4px;
  font-size: 14px;
  cursor: pointer;
}

.mp-comment-form button:hover {
  background-color: #0056b3;
}

.marketplace-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 16px;
  padding: 20px;
}

.marketplace-card-link {
  text-decoration: none;
  color: inherit;
}

.marketplace-card {
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 2px 5px rgba(0,0,0,0.1);
  transition: transform 0.2s, box-shadow 0.2s;
  cursor: pointer;
  display: flex;
  flex-direction: column;
}

.marketplace-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 4px 10px rgba(0,0,0,0.15);
}

.marketplace-img {
  width: 100%;
  height: 180px;
  object-fit: cover;
}

.marketplace-info {
  padding: 12px;
}

.marketplace-title {
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 8px;
}

.marketplace-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.marketplace-name {
  font-size: 14px;
  color: #333;
}

.like-btn {
  background-color: #007bff;
  border: none;
  color: white;
  padding: 5px 10px;
  border-radius: 5px;
  font-size: 13px;
  cursor: pointer;
  transition: background-color 0.3s;
}

.like-btn.liked {
  background-color: #28a745; /* green if already liked */
}

.marketplace-post-form {
  max-width: 600px;
  margin: 40px auto;
  padding: 30px;
  border: 1px solid #ddd;
  border-radius: 12px;
  background-color: #ffffff;
  box-shadow: 0 4px 12px rgba(0,0,0,0.05);
  font-family: 'Segoe UI', sans-serif;
}

.marketplace-post-form h2 {
  text-align: center;
  margin-bottom: 20px;
  font-size: 24px;
  color: #333;
}

.marketplace-post-form label {
  display: block;
  margin-top: 15px;
  margin-bottom: 5px;
  font-weight: 600;
  color: #555;
}

.marketplace-post-form input[type="text"],
.marketplace-post-form select,
.marketplace-post-form textarea,
.marketplace-post-form input[type="file"] {
  width: 100%;
  padding: 10px;
  font-size: 14px;
  border: 1px solid #ccc;
  border-radius: 6px;
  box-sizing: border-box;
}

.marketplace-post-form textarea {
  resize: vertical;
}

.marketplace-post-form button {
  width: 100%;
  margin-top: 20px;
  padding: 12px;
  font-size: 16px;
  font-weight: bold;
  color: white;
  background-color: #007bff;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  transition: background-color 0.2s ease-in-out;
}

.marketplace-post-form button:hover {
  background-color: #0056b3;
}

.modal {
  display: block; /* Show by default */
  position: fixed;
  z-index: 9999;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  background-color: rgba(0,0,0,0.7);
}
.modal-content {
  background: #fff;
  padding: 30px;
  border-radius: 10px;
  width: 90%;
  max-width: 400px;
  margin: 15% auto;
  text-align: center;
  position: relative;
  top: 10%;
}

/* Lower the modal more on smaller screens */
@media (max-width: 1143px) {
  .modal-content {
    top: 30%;
  }
}

.country-btn {
  display: block;
  margin: 10px 0;
  padding: 10px;
  background-color: #007bff;
  color: white;
  border: none;
  border-radius: 5px;
  cursor: pointer;
  width: 100%;
}
.country-btn:hover {
  background-color: #0056b3;
}

.close-modal {
  position: absolute;
  top: 10px;
  right: 15px;
  font-size: 24px;
  font-weight: bold;
  color: #888;
  cursor: pointer;
}
.close-modal:hover {
  color: #000;
}

.faq-container {
  max-width: 800px;
  margin: 0 auto;
  font-family: Arial, sans-serif;
}

.question {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background-color: #f4f4f4;
  padding: 15px;
  cursor: pointer;
  border-bottom: 1px solid #ccc;
  transition: background-color 0.3s ease;
}

.question:hover {
  background-color: #eaeaea;
}

.buttonexpandable {
  font-size: 20px;
  line-height: 1;
  padding-left: 10px;
  font-weight: bold;
  transition: transform 0.3s ease;
}

.answer {
  display: none;
  padding: 15px;
  background-color: #fff;
  border-left: 4px solid #ccc;
  border-bottom: 1px solid #ccc;
}


.user-menu-wrapper {
  position: relative;
  display: inline-block;
}

.user-button {
  background-color: #FF8C42;
  color: white;
  padding: 8px 12px;
  border: none;
  cursor: pointer;
  font-weight: bold;
  border-radius: 5px;
}

.user-dropdown {
  display: none;
  position: absolute;
  right: 0;
  background-color: white;
  border: 1px solid #ccc;
  min-width: 120px;
  z-index: 1000;
  border-radius: 5px;
  box-shadow: 0 4px 6px rgba(0,0,0,0.1);
}

.user-dropdown a {
  display: block;
  padding: 10px;
  color: #333;
  text-decoration: none;
}

.user-dropdown a:hover {
  background-color: #f4f4f4;
}


.mp-button-row {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-top: 10px;
}

.view-more-btn,
.contact-btn {
  flex: 1;
  text-align: center;
  padding: 10px;
  border: none;
  border-radius: 6px;
  font-weight: bold;
  font-size: 14px;
  text-decoration: none;
  color: white;
}

.view-more-btn {
  background-color: #ffc107;
}

.fnb-auth-container p {
  animation: fadeIn 1s ease;
}

@keyframes fadeIn {
  from { opacity: 0; transform: translateY(-5px); }
  to { opacity: 1; transform: translateY(0); }
}

.floating-post-wrapper {
  position: fixed;
  bottom: 30px;
  right: 20px;
  z-index: 999999;
}

@media (min-width: 1143px) {
  .floating-post-wrapper {
    right: 40px; /* slightly inset on desktop */
  }
}

.floating-add-post {
  background: linear-gradient(135deg, #0056b3 80%, #007bff 100%);
  color: white;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 28px;
  box-shadow: 0 6px 14px rgba(0, 0, 0, 0.25);
  cursor: pointer;
  transition: transform 0.2s;
}

.floating-add-post:hover {
  transform: scale(1.1);
}

.floating-post-options {
  display: none;
  flex-direction: column;
  align-items: flex-end;
  margin-bottom: 10px;
}

.floating-sub-button {
  color: white;
  width: 50px;
  height: 50px;
  margin-bottom: 10px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  text-decoration: none;
  box-shadow: 0 4px 10px rgba(0,0,0,0.2);
  transition: transform 0.2s;
}

.post-btn {
  background: #28a745;
}

.whatsapp-btn {
  background: #25D366;
}
.top-searches-bar {
  background: #003366;
  padding: 1px 0;
  position: sticky;
  top: 52px;
  z-index: 999;
  overflow: hidden;
}

.scrolling-track {
  overflow-x: auto;
  white-space: nowrap;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}

.scrolling-track::-webkit-scrollbar {
  display: none;
}

.scrolling-tags {
  display: inline-flex;
  gap: 8px;
}

.tag {
  background-color: #003366;
  padding: 0px 5px;
  border-radius: 3px;
  font-size: 0.75rem;
  text-decoration: none;
  white-space: nowrap;
  flex-shrink: 0;
  color: #FFFFFF;
  transition: background 0.2s, color 0.2s, border 0.2s;
}

.tag:hover {
  background-color: #FFD700;
  color: #003366;
  border-color: #FFD700;
}

/* Show only on mobile */
@media (max-width: 1143px) {
  .bottom-nav-mobile {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    background: #003366;
    display: flex;
    justify-content: space-around;
    align-items: center;
    padding: 4px 4px;
    z-index: 1000;
    font-family: sans-serif;
    height: 58px;
  }

  .bottom-nav-mobile .nav-item {
    flex: 1;
    text-align: center;
    color: #ffffff;
    font-size: 12px;
    text-decoration: none;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    line-height: 1.1;
  }

  .bottom-nav-mobile .nav-item i {
    font-size: 18px;
    margin-bottom: 2px;
  }

  .bottom-nav-mobile .nav-item span {
    font-size: 11px;
    opacity: 0.95;
    white-space: nowrap;
  }

  /* Special styling for Post Marketplace */
  .bottom-nav-mobile .nav-item.sell {
    background: #28a745;
    color: #ffffff;
    flex: 1.2;
    height: 46px;
    margin: 0 3px;
    text-align: center;
    font-weight: bold;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    border-radius: 10px;
    padding: 2px 8px;
    gap: 6px;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
  }

  .bottom-nav-mobile .nav-item.sell i {
    font-size: 18px;
    color: #FFD700;
    margin: 0;
  }

  .bottom-nav-mobile .nav-item.sell span {
    font-size: 13px;
    font-weight: 600;
    margin: 0;
    white-space: nowrap;
  }

  /* Special styling for Request Quote */
  .bottom-nav-mobile .nav-item.quote {
    background: #007bff;
    color: #ffffff;
    flex: 1.2;
    height: 46px;
    margin: 0 3px;
    text-align: center;
    font-weight: bold;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    border-radius: 10px;
    padding: 2px 8px;
    gap: 6px;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
  }

  .bottom-nav-mobile .nav-item.quote i {
    font-size: 18px;
    color: #FFD700;
    margin: 0;
  }

  .bottom-nav-mobile .nav-item.quote span {
    font-size: 13px;
    font-weight: 600;
    margin: 0;
    white-space: nowrap;
  }

  .bottom-nav-mobile .dot {
    position: absolute;
    top: 2px;
    right: 28%;
    width: 6px;
    height: 6px;
    background-color: #ffffff;
    border-radius: 50%;
    border: 1px solid #003366;
  }
}

@media (min-width: 1144px) {
  .bottom-nav-mobile {
    display: none;
  }
}

  


  .bottom-nav-mobile .dot {
    position: absolute;
    top: 0px;
    right: 28%;
    width: 6px;
    height: 6px;
    background-color: #ffffff;
    border-radius: 50%;
    border: 1px solid #003366;
  }

  @keyframes pulsePlus {
    0% { transform: scale(1); }
    50% { transform: scale(1.12); }
    100% { transform: scale(1); }
  }
}
@media (min-width: 1143px) {
  .bottom-nav-mobile {
    display: none;
  }
}
/* Profile section */
.profile-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  background: #ffffff;
  padding: 20px;
  border-radius: 10px;
  margin-bottom: 24px;
  border: 1px solid #e2e8f0; /* Light gray border */
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05); /* Subtle shadow */
  flex-wrap: wrap;
}

.profile-header:hover {
  box-shadow: 0 2px 6px rgba(0,0,0,0.08);
}



.profile-name {
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 8px;
}

.profile-details {
  list-style: none;
  padding: 0;
  font-size: 14px;
  color: #333;
}

.profile-details li {
  margin-bottom: 4px;
}

.logout-btn {
  background-color: #FFD700;
  color: #003366;
  font-weight: bold;
  padding: 6px 16px;
  border: none;
  border-radius: 6px;
  height: 40px;
  margin-top: 8px;
  cursor: pointer;
}

/* Post cards */
.post-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.post-card {
  display: flex;
  background: white;
  border: 1px solid #e1e1e1;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(0,0,0,0.05);
  max-height: 130px;
}

.post-card img {
  width: 100px;
  height: 100%;
  object-fit: cover;
}

.post-info {
  flex: 1;
  padding: 10px 12px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.badge {
  background: #007BFF;
  color: white;
  padding: 2px 8px;
  font-size: 11px;
  border-radius: 4px;
  display: inline-block;
  margin-bottom: 4px;
  width: fit-content;
}

.post-title {
  font-weight: bold;
  font-size: 15px;
  margin-bottom: 4px;
}

.post-content {
  font-size: 13px;
  color: #555;
  margin-bottom: 8px;
  line-height: 1.3;
  overflow: hidden;
  text-overflow: ellipsis;
}

.post-footer {
  display: flex;
  justify-content: space-between;
  font-size: 12px;
  color: #666;
}

.post-actions a {
  margin-left: 10px;
  text-decoration: none;
  font-weight: 600;
  font-size: 13px;
}

.edit-btn {
  color: #007BFF;
}
.delete-btn {
  color: red;
}

.dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  background-color: red;
  border-radius: 50%;
  margin-left: 4px;
}


.desktop-header-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-left: 20px;
  position: relative;
  font-size: 0.88rem;
}

/* Common Button Style */
.action-btn, .nav-toggle {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 6px 14px;
  font-weight: 500;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  text-decoration: none;
  transition: all 0.2s ease-in-out;
  font-size: 0.88rem;
}

/* Button Colors */
.nav-toggle {
  background-color: #f1f1f1;
  color: #003366;
}

.action-btn.post {
  background-color: #ffcc00;
  color: #000;
  font-weight: 600;
}

.action-btn.post:hover {
  background-color: #ff9900;
  color: #fff;
}

.action-btn.contact {
  background-color: #003366;
  color: #fff;
}

.action-btn.contact:hover {
  background-color: #001f4d;
}

/* Dropdown Menu */
.dropdown-menu {
  display: none;
  position: absolute;
  top: 42px;
  left: 0;
  background-color: white;
  border: 1px solid #ccc;
  border-radius: 6px;
  box-shadow: 0 4px 10px rgba(0,0,0,0.1);
  min-width: 160px;
  z-index: 999;
}

.dropdown-menu a {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 16px;
  text-decoration: none;
  color: #003366;
  font-weight: 500;
}

.dropdown-menu a:hover {
  background-color: #f5f5f5;
}

/* Show on JS toggle */
.dropdown-nav.open .dropdown-menu {
  display: block;
}

/* Responsive: Hide on mobile */
@media (max-width: 1024px) {
  .desktop-header-actions {
    display: none;
  }
}

.contact-us {
  background: #007bff;
  color: white;
  font-size: 0.9em; /* Default desktop */
  padding: 4px 8px;
  font-weight: bold;
  border-radius: 4px;
  text-decoration: none;
}

@media (max-width: 1143px) {
  .contact-us {
    font-size: 0.7em;
  }
}

  .post-button {
    background: #28a745;
    color: white;
    font-size: 0.9em;
    padding: 4px 8px;
    font-weight: bold;
    border-radius: 4px;
    text-decoration: none;
  }

  @media (max-width: 1143px) {
    .post-button {
      display: none;
    }
  }

  .quote-button {
    background: #ffcc00;
    color: #007bff;
    font-size: 0.9em;
    padding: 4px 8px;
    font-weight: bold;
    border-radius: 4px;
    text-decoration: none;
  }

  @media (max-width: 1143px) {
    .quote-button {
      display: none;
    }
  }

  .form-container {
    max-width: 650px;
    margin: 30px auto;
    border: 1px solid #ccc;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 4px 12px rgba(0,0,0,0.06);
    overflow: hidden;
  }
  
  /* Tabs */
  .tab-header {
    display: flex;
    background: #f0f4fa;
    border-bottom: 1px solid #ccc;
  }
  
  .tab-btn {
    flex: 1;
    padding: 14px;
    background: transparent;
    border: none;
    font-weight: bold;
    color: #555;
    cursor: pointer;
    border-bottom: 3px solid transparent;
    transition: all 0.3s ease;
    font-size: 16px;
  }
  
  .tab-btn.active {
    background: #fff;
    border-bottom: 3px solid #007bff;
    color: #007bff;
    font-weight: bold;
  }
  
  /* Form content styling */
  .tab-content {
    padding: 24px;
    background: #fff;
  }
  
  .tab-content input,
  .tab-content select,
  .tab-content textarea {
    width: 100%;
    padding: 10px;
    margin-bottom: 16px;
    border-radius: 6px;
    border: 1px solid #ccc;
    font-size: 14px;
    box-sizing: border-box;
  }
  
  .tab-content button {
    width: 100%;
    padding: 12px;
    background: #007bff;
    color: white;
    border: none;
    border-radius: 6px;
    font-weight: bold;
    cursor: pointer;
    font-size: 16px;
  }