/* Afrikaanse Markplek - Modern Premium Classifieds Stylesheet */

.afr-form,
.afr-dashboard,
.afr-listings-grid,
.afr-single-listing {
    max-width: 800px;
    margin: 2.2rem auto;
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 4px 22px rgba(34,78,52,0.12);
    padding: 2.2rem 2rem 2.2rem 2rem;
}

.afr-listings-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(270px, 1fr));
    gap: 1.4rem;
    margin-top: 2rem;
}

.afr-listing-card {
    background: #f8fff7;
    border: 1.5px solid #cde8d7;
    border-radius: 13px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(34,78,52,0.07);
    transition: box-shadow .2s, border .2s;
    text-decoration: none;
    color: #1c1c1c;
    display: flex;
    flex-direction: column;
    min-height: 340px;
    position: relative;
}
.afr-listing-card:hover {
    box-shadow: 0 8px 28px rgba(34,78,52,0.13);
    border: 1.5px solid #86a98b;
}

.afr-listing-thumb {
    background: #e6e6e6;
    text-align: center;
    height: 185px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}
.afr-listing-thumb-img {
    width: 100%;
    height: 185px;
    object-fit: cover;
    display: block;
    border-radius: 0 0 8px 8px;
    transition: transform .14s;
}
.afr-listing-card:hover .afr-listing-thumb-img {
    transform: scale(1.03);
}
.afr-no-thumb {
    color: #bbb;
    font-size: 1.12rem;
    font-style: italic;
}

.afr-listing-content {
    flex: 1;
    padding: 1.1rem 1rem 0.8rem 1rem;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.afr-listing-meta {
    display: flex;
    gap: 1.7rem;
    margin: 0.5rem 0 0.6rem 0;
    font-size: 1.07rem;
}
.afr-listing-date {
    font-size: 0.97rem;
    color: #99ac9b;
}
.afr-listing-card h3 {
    font-size: 1.15rem;
    font-weight: 700;
    margin: 0 0 0.4rem 0;
    color: #1c4230;
}

.afr-single-listing {
    padding-top: 2.8rem;
    padding-bottom: 2.8rem;
}
.afr-single-header h1 {
    font-size: 2.1rem;
    color: #214e34;
    margin-bottom: 0.7rem;
    font-weight: 800;
}
.afr-meta {
    font-size: 1.13rem;
    display: flex;
    gap: 2.1rem;
    margin-bottom: 0.3rem;
}
.afr-meta-prys {
    color: #2d6a4f;
    font-weight: 800;
    font-size: 1.22rem;
    margin-right: 1.5rem;
}
.afr-meta-ligging { color: #476153; font-weight: 500; }
.afr-meta-datum { color: #888; font-size: 0.99em; }
.afr-meta-tax span { font-size: 1em; color: #388067; margin-right: 0.9em; }

.afr-single-gallery {
    display: flex;
    gap: 1.5rem;
    overflow-x: auto;
    margin: 1.5rem 0 2rem 0;
    padding-bottom: 0.4rem;
}
.afr-single-image {
    height: 235px;
    min-width: 270px;
    border-radius: 12px;
    box-shadow: 0 4px 24px rgba(34,78,52,0.13);
    object-fit: cover;
    background: #f7faf7;
}
.afr-listing-no-image {
    color: #bdbdbd;
    font-size: 1.15rem;
    font-style: italic;
    padding: 2.3rem 3rem;
    background: #f2f2f2;
    border-radius: 11px;
    min-width: 230px;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
}

.afr-btn,
.afr-btn-primary {
    background: #214e34;
    color: #fff;
    border: none;
    padding: 0.77rem 1.55rem;
    border-radius: 7px;
    font-size: 1.08rem;
    cursor: pointer;
    font-weight: 700;
    transition: background .2s, box-shadow .2s;
    box-shadow: 0 2px 8px rgba(34,78,52,0.08);
}
.afr-btn:hover,
.afr-btn-primary:hover {
    background: #1a3e29;
}
.afr-btn-primary { background: #2d6a4f; }
.afr-btn-danger { background: #c1121f; }
.afr-btn-sm { font-size: 0.98rem; padding: 0.48rem 1rem; }
.afr-btn-renew { background: #ffb703; color: #222; }

.afr-badge {
    display: inline-block;
    padding: 0.17em 0.9em;
    border-radius: 6px;
    font-size: 1em;
    font-weight: 600;
    margin-right: 0.6em;
    background: #e7fff6;
    color: #234a30;
    box-shadow: 0 1px 2px #0001;
}
.afr-badge-warning { background: #fff3cd; color: #a95c00; }
.afr-badge-live { background: #cdfadb; color: #216a4f; }
.afr-badge-draft { background: #f0f0f0; color: #888; }
.afr-badge-expired { background: #ffe0e0; color: #990000; }
.afr-badge-rep { background: #e9ecef; color: #123; }
.afr-badge-verified { background: #9fffc2; color: #184d1f; }

.afr-pagination { margin-top: 2rem; }
.afr-pagination ul {
    list-style: none;
    display: flex;
    gap: 0.7rem;
    justify-content: center;
    padding: 0;
}
.afr-pagination a,
.afr-pagination span {
    display: inline-block;
    padding: 0.65em 1.25em;
    border-radius: 7px;
    background: #e3f9ee;
    color: #276b44;
    text-decoration: none;
    font-weight: 600;
    transition: background .13s;
}
.afr-pagination .current {
    background: #2d6a4f;
    color: #fff;
    font-weight: 800;
}

.afr-alert {
    margin: 1.2rem 0;
    padding: 1rem;
    border-radius: 7px;
    font-weight: 500;
}
.afr-alert-warning { background: #fff3cd; color: #9f6200; }
.afr-alert-info { background: #e8f0fe; color: #0b3d91; }
.afr-alert-error { background: #ffcccc; color: #900; }

/* Contact form */
.afr-single-contact textarea { width: 100%; }
.afr-single-contact input, .afr-single-contact button { margin-top: 0.6rem; }
.afr-contact-status { margin-top: 0.6rem; min-height: 1.2rem; }

/* Seller info */
.afr-single-seller {
    background: #e7fff3;
    border-radius: 10px;
    padding: 1.2rem;
    margin-top: 2rem;
}
.afr-seller-info { display: flex; align-items: center; gap: 1.1rem; font-size: 1.04rem; }
.afr-seller-badge { margin-left: 0.5em; }
.afr-seller-name { font-weight: 600; color: #16544d; }

/* Filters */
.afr-listings-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 0.7rem;
    margin-bottom: 2.1rem;
    align-items: center;
}
.afr-listings-filters input[type="text"],
.afr-listings-filters select {
    font-size: 1rem;
    border: 1px solid #cde8d7;
    border-radius: 5px;
    padding: 0.6rem 1rem;
}

/* Responsive improvements */
@media (max-width: 700px) {
    .afr-form,
    .afr-dashboard,
    .afr-listings-grid,
    .afr-single-listing {
        padding: 1rem 0.5rem;
        max-width: 98vw;
    }
    .afr-listing-thumb img,
    .afr-listing-thumb,
    .afr-listing-thumb-img { height: 110px !important; }
    .afr-single-image { height: 120px; min-width: 110px; }
    .afr-gallery-img { height: 80px; }
    .afr-single-header h1 { font-size: 1.25rem; }
    .afr-meta { font-size: 1rem; gap: 0.9rem; }
}

@media (max-width: 440px) {
    .afr-listing-card { min-height: 220px; }
    .afr-single-image, .afr-gallery-img { height: 60px; min-width: 60px; }
}

.afr-listing-meta-big { font-size: 1.13rem; font-weight: 600; gap: 1.3em; }
.afr-listing-title { font-size: 1.22em !important; font-weight: 700 !important; }
.afr-listing-meta .afr-badge-rep { background: #e3ffe3; color: #218838; padding: 2px 10px; margin-left:.6em;}
.afr-meta-tel, .afr-meta-wa { display: inline-block; margin-right: 0.7em; font-size:1.06em;}
.afr-single-gumtree .afr-single-header h1 { margin-bottom: 0.4em; }
.afr-single-gumtree .afr-single-header { border-bottom: 1px solid #f2f2f2; }

