/* ─── BCFSBO.ca Main Stylesheet ─── */

body { font-family: Arial, sans-serif; background-color: #fff; color: #333; }
a:link, a:visited { color: #0B0080; text-decoration: none; }
a:hover { color: #FF3300; text-decoration: none; }

.container-main { max-width: 960px; margin: 0 auto; padding: 0 15px; }

/* Logo */
.logo-box { text-align: center; padding: 15px 0; }
.logo-img { width: 325px; max-width: 100%; height: auto; }

/* Nav */
.site-nav { background-color: #ededed; padding: 0; margin-bottom: 20px; }
.site-nav .navbar-toggler { border-color: #999; margin: 6px 10px; }
.site-nav .navbar-toggler-icon { background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23333' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); }
.site-nav .nav-link { color: #0B0080; text-align: center; padding: 14px 19px; font-size: 15px; }
.site-nav .nav-link:hover { background-color: #D02129; color: #fff; }
.site-nav .nav-link.active { background-color: #D02129; color: #fff; }

/* Map */
.map-container { position: relative; }
.map-img { width: 100%; max-width: 400px; height: auto; border: 0; display: block; }
.map-highlight-canvas { position: absolute; top: 0; left: 0; pointer-events: none; }
.map-overlay {
    display: none; position: absolute;
    background: rgba(0,0,0,0.8); color: #fff;
    padding: 5px 12px; border-radius: 3px;
    font-size: 12px; font-weight: bold;
    pointer-events: none; white-space: nowrap; z-index: 10;
    transform: translate(-50%, -110%);
}

/* Sales pitch */
.sales-pitch h3 { color: #cc0000; font-weight: bold; font-size: 24px; margin-bottom: 15px; }
.sales-pitch p { line-height: 1.6; font-size: 15px; margin-bottom: 15px; }

/* Search */
.search-bar { background: #f5f5f5; border: 1px solid #ddd; border-radius: 4px; padding: 10px; margin-bottom: 20px; }
.search-bar input { border: 1px solid #ccc; border-radius: 3px; padding: 8px 12px; font-size: 14px; }
.search-bar input:focus { outline: none; border-color: #999; }
.search-bar select { border: 1px solid #ccc; border-radius: 3px; padding: 8px 10px; font-size: 14px; background: #fff; }
.search-bar button, .btn-bcfsbo { background: #D02129; color: #fff; border: none; border-radius: 3px; padding: 8px 20px; font-size: 14px; font-weight: bold; cursor: pointer; }
.search-bar button:hover, .btn-bcfsbo:hover { background: #b01c22; color: #fff; }

/* Regions */
.region-block { margin-bottom: 25px; }
.region-title { font-weight: bold; font-size: 16px; display: block; margin-bottom: 8px; border-bottom: 1px solid #eee; padding-bottom: 4px; }
.city-link { font-size: 15px; display: block; margin-bottom: 4px; }

/* Price badge */
.price-badge {
    background: #f8f8f8; border-left: 4px solid #2e7d32;
    padding: 12px 16px; margin-top: 15px;
}
.price-badge .amount { font-size: 22px; font-weight: bold; color: #2e7d32; }
.price-badge .details { font-size: 14px; font-weight: normal; color: #555; }
.price-badge .note { font-size: 13px; color: #777; margin-top: 2px; }

/* Listing Cards */
.listing-card {
    border: 1px solid #ddd; border-radius: 6px; overflow: hidden;
    margin-bottom: 20px; transition: box-shadow 0.2s;
}
.listing-card:hover { box-shadow: 0 2px 12px rgba(0,0,0,0.12); }
.listing-card img { width: 100%; height: 200px; object-fit: cover; }
.listing-card .card-body { padding: 12px 15px; }
.listing-card .card-price { font-size: 20px; font-weight: bold; color: #2e7d32; }
.listing-card .card-title { font-size: 16px; font-weight: bold; margin: 5px 0; }
.listing-card .card-meta { font-size: 13px; color: #777; }
.listing-card .card-location { font-size: 13px; color: #555; }

/* Listing Detail */
.listing-detail .main-image { width: 100%; max-height: 500px; object-fit: cover; border-radius: 6px; }
.listing-detail .thumb-row { display: flex; gap: 8px; margin-top: 10px; overflow-x: auto; }
.listing-detail .thumb-row img { width: 80px; height: 60px; object-fit: cover; border-radius: 4px; cursor: pointer; border: 2px solid transparent; }
.listing-detail .thumb-row img.active, .listing-detail .thumb-row img:hover { border-color: #D02129; }
.listing-detail .detail-label { font-weight: bold; color: #555; font-size: 14px; }
.listing-detail .detail-value { font-size: 15px; margin-bottom: 10px; }
.listing-price { font-size: 28px; font-weight: bold; color: #2e7d32; }
.listing-type-badge { background: #eee; padding: 3px 10px; border-radius: 12px; font-size: 12px; color: #555; }
.listing-status-badge { padding: 3px 10px; border-radius: 12px; font-size: 12px; color: #fff; }
.status-active { background: #2e7d32; }
.status-sold { background: #D02129; }
.status-draft { background: #888; }
.status-pending_payment { background: #e67e22; }
.status-expired { background: #555; }
.status-removed { background: #333; }

/* Dashboard */
.dash-card { background: #f9f9f9; border: 1px solid #e0e0e0; border-radius: 6px; padding: 20px; margin-bottom: 15px; }
.dash-card h4 { margin: 0 0 5px; }
.dash-stat { font-size: 28px; font-weight: bold; color: #D02129; }

/* Forms */
.form-section { background: #fafafa; border: 1px solid #e8e8e8; border-radius: 6px; padding: 20px; margin-bottom: 20px; }
.form-section h4 { color: #333; margin-bottom: 15px; border-bottom: 1px solid #e0e0e0; padding-bottom: 8px; }

/* Image upload */
.image-upload-zone {
    border: 2px dashed #ccc; border-radius: 6px; padding: 30px;
    text-align: center; color: #888; cursor: pointer; transition: border-color 0.2s;
}
.image-upload-zone:hover { border-color: #D02129; }
.image-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); gap: 10px; margin-top: 15px; }
.image-grid .img-wrap { position: relative; }
.image-grid .img-wrap img { width: 100%; height: 100px; object-fit: cover; border-radius: 4px; }
.image-grid .img-actions { position: absolute; top: 4px; right: 4px; display: flex; gap: 4px; }
.image-grid .img-btn { background: rgba(0,0,0,0.6); color: #fff; border: none; border-radius: 3px; padding: 2px 6px; font-size: 11px; cursor: pointer; }

/* Footer */
footer { text-align: center; padding: 40px 0; color: #555; }
.footer-line { width: 700px; height: 2px; max-width: 90%; margin: 0 auto 20px; }

/* Form Sections */
.form-section { margin-bottom: 30px; }
.section-header { background: #1a1a6e; color: #fff; font-size: 18px; font-weight: bold; padding: 10px 20px; border-radius: 4px; margin-bottom: 20px; }
.btn-bcfsbo { background-color: #D02129; color: #fff; border: none; padding: 12px 40px; font-size: 16px; border-radius: 4px; }
.btn-bcfsbo:hover { background-color: #b01c22; color: #fff; }

/* Responsive */
@media (max-width: 768px) {
    .site-nav .nav-link { text-align: left; padding: 12px 16px; border-top: 1px solid #ddd; }
    .sales-pitch { text-align: center; margin-top: 20px; }
    .logo-img { width: 280px; }
    .container-main { padding: 0 5px; }
    .map-img { max-width: 100%; margin: 0 auto; }
    .listing-card img { height: 160px; }
}

/* Button text fixes */
.btn-success { color: #fff !important; }
.btn-success:hover { color: #fff !important; }
.btn-outline-secondary { color: #555; }
.btn-outline-secondary:hover { color: #fff; }
.btn-bcfsbo, .btn-bcfsbo:hover, .btn-bcfsbo:focus { color: #fff !important; }
