/* ============================================================
   NEWS CONTINUOUS CLASSIFIED ADS
============================================================ */

.kapol-classified-page {
    background:#fff;
    color:#222;
}

.kapol-classified-page .container {
    width:min(1180px,calc(100% - 40px));
    margin-left:auto;
    margin-right:auto;
}


/* ============================================================
   HERO
============================================================ */

.kapol-classified-hero {
    position:relative;
    overflow:hidden;
    padding:50px 0 28px;
    background:
        linear-gradient(
            120deg,
            #fff7f7,
            #fff1f2
        );
}

.kapol-classified-hero:after {
    content:"";
    position:absolute;
    width:280px;
    height:280px;
    right:-70px;
    top:-120px;
    border-radius:50%;
    background:
        radial-gradient(
            circle,
            rgba(185,26,32,.10),
            transparent 70%
        );
}

.kapol-classified-label {
    position:relative;
    z-index:2;
    display:block;
    margin-bottom:8px;
    color:#b91a20;
    font-size:12px;
    font-weight:700;
    letter-spacing:.13em;
    text-transform:uppercase;
}

.kapol-classified-hero h1 {
    position:relative;
    z-index:2;
    margin:0;
    color:#161616;
    font-size:42px;
    line-height:1.1;
    font-weight:800;
}

.kapol-classified-hero p {
    position:relative;
    z-index:2;
    max-width:650px;
    margin:13px 0 0;
    color:#666;
    line-height:1.6;
}


/* ============================================================
   CATEGORY FILTERS
============================================================ */

.kapol-classified-filters {
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    padding:22px 0;
}

.kapol-classified-filters a {
    min-height:38px;
    padding:0 20px;

    display:inline-flex;
    align-items:center;
    justify-content:center;

    border:1px solid #b91a20;
    border-radius:999px;

    background:#fff;

    color:#b91a20;

    font-size:13px;
    font-weight:700;

    text-decoration:none;

    transition:.2s ease;
}

.kapol-classified-filters a:hover,
.kapol-classified-filters a.is-active {
    background:#b91a20;
    border-color:#b91a20;
    color:#fff;
}


/* ============================================================
   LAYOUT
============================================================ */

.kapol-classified-layout {
    display:grid;
    grid-template-columns:minmax(0,1fr) 320px;
    gap:32px;
    align-items:start;
    padding-bottom:55px;
}

.kapol-classified-main {
    min-width:0;
}


/* ============================================================
   GRID
============================================================ */

.kapol-classified-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:22px;
}


/* ============================================================
   CARD
============================================================ */

.kapol-classified-card {
    overflow:hidden;
    min-width:0;

    border:1px solid #ead7d8;
    border-radius:10px;

    background:#fff;

    box-shadow:
        0 8px 25px
        rgba(60,20,20,.06);

    transition:
        transform .25s ease,
        box-shadow .25s ease;
}

.kapol-classified-card:hover {
    transform:translateY(-4px);

    box-shadow:
        0 15px 35px
        rgba(60,20,20,.12);
}


/* ============================================================
   IMAGE
============================================================ */

.kapol-classified-image {
    display:block;
    overflow:hidden;
    width:100%;
    aspect-ratio:16/7;
    background:#fff3f4;
}

.kapol-classified-image img {
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    transition:transform .4s ease;
}

.kapol-classified-card:hover
.kapol-classified-image img {
    transform:scale(1.04);
}

.kapol-classified-placeholder {
    width:100%;
    height:100%;

    display:grid;
    place-items:center;

    background:
        linear-gradient(
            135deg,
            #d4363e,
            #a9151b
        );

    color:#fff;

    font-size:20px;
    font-weight:700;
}


/* ============================================================
   CARD CONTENT
============================================================ */

.kapol-classified-card-content {
    padding:14px 16px 0;
}

.kapol-classified-card h2 {
    margin:0;
    font-size:19px;
    line-height:1.3;
}

.kapol-classified-card h2 a {
    color:#b91a20;
    text-decoration:none;
}

.kapol-classified-card h2 a:hover {
    color:#941218;
}

.kapol-classified-card h3 {
    margin:3px 0 0;
    color:#353535;
    font-size:14px;
    line-height:1.4;
    font-weight:600;
}

.kapol-classified-description {
    margin:9px 0 12px;
    color:#606060;
    font-size:13px;
    line-height:1.55;
}


/* ============================================================
   META
============================================================ */

.kapol-classified-meta {
    display:flex;
    justify-content:space-between;
    flex-wrap:wrap;

    gap:10px;

    padding:10px 0;

    border-top:
        1px solid #eeeaf6;

    font-size:11px;
}

.kapol-valid-date {
    display:flex;
    align-items:center;
    gap:5px;
}

.kapol-valid-date
.dashicons {
    width:auto;
    height:auto;
    font-size:15px;
}

.kapol-note {
    color:#666;
}

.kapol-note strong {
    color:#b91a20;
}

.kapol-expired {
    color:#d31f38;
}


/* ============================================================
   CARD FOOTER
============================================================ */

.kapol-classified-card-footer {
    margin:0 -16px;

    padding:10px 16px;

    display:flex;
    align-items:center;
    justify-content:space-between;

    border-top:
        1px solid #eeeaf6;
}

.kapol-share-buttons {
    display:flex;
    align-items:center;
    gap:12px;
}

.kapol-share-btn {
    width:34px;
    height:34px;
    flex:0 0 34px;

    display:inline-flex;
    align-items:center;
    justify-content:center;

    padding:0 !important;
    margin:0;

    border-radius:50%;

    text-decoration:none !important;
    line-height:1;

    cursor:pointer;

    transition:
        transform .2s ease,
        box-shadow .2s ease,
        background .2s ease,
        border-color .2s ease;
}

.kapol-share-btn svg {
    width:17px;
    height:17px;
    display:block;
    pointer-events:none;
}

/* WhatsApp */
.kapol-share-whatsapp {
    background:#25D366 !important;
    border:1px solid #25D366 !important;
    color:#fff !important;
}

.kapol-share-whatsapp svg {
    fill:#fff;
}

.kapol-share-whatsapp:hover {
    background:#1ebe5d !important;
    border-color:#1ebe5d !important;
    transform:translateY(-2px);
    box-shadow:0 5px 12px rgba(37,211,102,.25);
}

/* Facebook */
.kapol-share-facebook {
    background:#1877F2 !important;
    border:1px solid #1877F2 !important;
    color:#fff !important;
}

.kapol-share-facebook svg {
    fill:#fff;
}

.kapol-share-facebook:hover {
    background:#1268d3 !important;
    border-color:#1268d3 !important;
    transform:translateY(-2px);
    box-shadow:0 5px 12px rgba(24,119,242,.25);
}

/* Share / Copy fallback */
.kapol-copy-link {
    background:#f7f7f7 !important;
    border:1px solid #dddddd !important;
    color:#555555 !important;
}

.kapol-copy-link svg {
    fill:#555555;
}

.kapol-copy-link:hover,
.kapol-copy-link.is-copied {
    background:#5114b8 !important;
    border-color:#5114b8 !important;
    transform:translateY(-2px);
}

.kapol-copy-link:hover svg,
.kapol-copy-link.is-copied svg {
    fill:#fff;
}

.kapol-view-details {
    color:#b91a20;
    text-decoration:none;
    font-size:12px;
    font-weight:700;
}

.kapol-view-details span {
    margin-left:4px;
    transition:.2s;
}

.kapol-view-details:hover span {
    margin-left:8px;
}


/* ============================================================
   SIDEBAR
============================================================ */

.kapol-classified-sidebar {
    display:grid;
    gap:16px;

    position:sticky;
    top:110px;
}

.kapol-sidebar-card {
    padding:18px;

    border:1px solid #ead7d8;
    border-radius:10px;

    background:#fff;

    box-shadow:
        0 6px 20px
        rgba(60,20,20,.05);
}

.kapol-sidebar-card h3 {
    margin:0 0 15px;

    color:#b91a20;

    font-size:18px;
    font-weight:700;
}


/* ============================================================
   SEARCH
============================================================ */

.kapol-search-box {
    display:flex;
}

.kapol-search-box input {
    width:100%;
    min-width:0;

    height:42px;

    padding:0 12px;

    border:1px solid #e3cfd0;
    border-right:0;

    border-radius:
        6px 0 0 6px;

    outline:none;
}

.kapol-search-box input:focus {
    border-color:#b91a20;
}

.kapol-search-box button {
    width:45px;

    border:0;

    border-radius:
        0 6px 6px 0;

    background:#5114b8;

    color:#fff;

    display:flex;
    align-items:center;
    justify-content:center;

    cursor:pointer;
}

.kapol-search-box button svg {
    width:18px;
    height:18px;
    display:block;
    fill:#fff;
    pointer-events:none;
}


/* ============================================================
   CATEGORY SIDEBAR
============================================================ */

.kapol-category-list {
    padding:0;
    margin:0;
    list-style:none;
}

.kapol-category-list li {
    border-top:
        1px solid #f1dddd;
}

.kapol-category-list li:first-child {
    border-top:0;
}

.kapol-category-list a {
    padding:11px 0;

    display:flex;
    align-items:center;
    justify-content:space-between;

    color:#444;

    text-decoration:none;

    font-size:13px;
}

.kapol-category-name {
    display:inline-flex;
    align-items:center;
    gap:9px;
    min-width:0;
}

.kapol-category-icon {
    width:18px;
    height:18px;
    flex:0 0 18px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    color:#b91a20;
}

.kapol-category-icon svg {
    width:17px;
    height:17px;
    display:block;
    fill:currentColor;
}

.kapol-category-list a:hover {
    color:#5114b8;
}

.kapol-category-list strong {
    min-width:26px;
    height:23px;

    padding:0 7px;

    display:grid;
    place-items:center;

    border-radius:20px;

    background:#fff0f1;

    color:#5114b8;

    font-size:10px;
}


/* ============================================================
   RECENT LISTINGS
============================================================ */

.kapol-recent-listings {
    display:grid;
    gap:14px;
}

.kapol-recent-listing {
    display:grid;
    grid-template-columns:68px 1fr;
    gap:11px;

    align-items:center;
}

.kapol-recent-image {
    width:68px;
    height:52px;

    overflow:hidden;

    display:grid;
    place-items:center;

    border-radius:6px;

    background:#fff1f2;

    text-decoration:none;
}

.kapol-recent-image img {
    width:100%;
    height:100%;
    object-fit:cover;
}

.kapol-recent-image span {
    color:#b91a20;
    font-weight:700;
}

.kapol-recent-listing h4 {
    margin:0;

    font-size:12px;
    line-height:1.4;
}

.kapol-recent-listing h4 a {
    color:#222;
    text-decoration:none;
}

.kapol-recent-listing h4 a:hover {
    color:#b91a20;
}

.kapol-recent-listing time {
    display:block;
    margin-top:3px;

    color:#888;

    font-size:10px;
}


/* ============================================================
   PAGINATION
============================================================ */

.kapol-classified-pagination {
    margin-top:35px;
}

.kapol-classified-pagination ul {
    display:flex;
    justify-content:center;
    flex-wrap:wrap;

    gap:8px;

    padding:0;
    margin:0;

    list-style:none;
}

.kapol-classified-pagination a,
.kapol-classified-pagination span {
    min-width:40px;
    height:40px;

    padding:0 12px;

    display:flex;
    align-items:center;
    justify-content:center;

    border:
        1px solid #e5cfd0;

    border-radius:7px;

    background:#fff;

    color:#5114b8;

    text-decoration:none;

    font-weight:600;
}

.kapol-classified-pagination
.current,
.kapol-classified-pagination
a:hover {
    border-color:#5114b8;

    background:#5114b8;

    color:#fff;
}


/* ============================================================
   EMPTY STATE
============================================================ */

.kapol-no-classifieds {
    padding:50px 25px;

    border:
        1px solid #ead7d8;

    border-radius:10px;

    text-align:center;
}

.kapol-no-classifieds h2 {
    margin:0;
    color:#5114b8;
}

.kapol-no-classifieds p {
    margin:10px 0 0;
    color:#777;
}


/* ============================================================
   TABLET
============================================================ */

@media(max-width:1000px) {

    .kapol-classified-layout {
        grid-template-columns:1fr;
    }

    .kapol-classified-sidebar {
        position:static;

        grid-template-columns:
            repeat(
                2,
                minmax(0,1fr)
            );
    }

}


/* ============================================================
   MOBILE
============================================================ */

@media(max-width:700px) {

    .kapol-classified-hero {
        padding:38px 0 22px;
    }

    .kapol-classified-hero h1 {
        font-size:32px;
    }

    .kapol-classified-grid {
        grid-template-columns:1fr;
    }

    .kapol-classified-sidebar {
        grid-template-columns:1fr;
    }

    .kapol-classified-page .container {
        width:
            calc(100% - 28px);
    }

    .kapol-classified-meta {
        display:block;
    }

    .kapol-note {
        margin-top:8px;
    }

}

/* ============================================================
   SOLEDAD THEME COMPATIBILITY / FINAL POLISH
============================================================ */
.kapol-classified-hero .container {
    display:block !important;
}

.kapol-classified-hero h1,
.kapol-classified-hero p,
.kapol-classified-label {
    visibility:visible !important;
    opacity:1 !important;
}

.kapol-classified-card-footer button {
    font-family:inherit;
    box-sizing:border-box;
}

@media(max-width:700px) {
    .kapol-share-btn {
        width:32px;
        height:32px;
        flex-basis:32px;
    }

    .kapol-share-btn svg {
        width:16px;
        height:16px;
    }
}

/* ============================================================
   NEWS CONTINUOUS THEME ALIGNMENT
   Live theme primary red sampled from the site footer/header.
============================================================ */

:root {
    --nc-red: #b91a20;
    --nc-red-dark: #941218;
    --nc-red-soft: #fff1f2;
    --nc-border: #ead7d8;
    --nc-text: #222;
    --nc-muted: #666;
}

/* Hero: clean white/red News Continuous treatment */
.kapol-classified-hero {
    border-top: 3px solid var(--nc-red);
    border-bottom: 1px solid #f1dddd;
    background: linear-gradient(120deg, #fff7f7 0%, #ffffff 72%) !important;
}

.kapol-classified-hero:after {
    background: radial-gradient(circle, rgba(185,26,32,.10), transparent 70%) !important;
}

.kapol-classified-label {
    color: var(--nc-red) !important;
}

.kapol-classified-hero h1 {
    color: #111 !important;
}

.kapol-classified-hero p {
    color: #666 !important;
}

/* Filter pills */
.kapol-classified-filters a {
    border-color: var(--nc-red) !important;
    color: var(--nc-red) !important;
    background: #fff !important;
}

.kapol-classified-filters a:hover,
.kapol-classified-filters a.is-active {
    background: var(--nc-red) !important;
    border-color: var(--nc-red) !important;
    color: #fff !important;
}

/* Listing card */
.kapol-classified-card {
    border-color: var(--nc-border) !important;
    box-shadow: 0 8px 24px rgba(0,0,0,.06) !important;
}

.kapol-classified-card:hover {
    box-shadow: 0 14px 32px rgba(0,0,0,.10) !important;
}

.kapol-classified-card h2 a,
.kapol-note strong,
.kapol-view-details {
    color: var(--nc-red) !important;
}

.kapol-classified-card h2 a:hover,
.kapol-view-details:hover {
    color: var(--nc-red-dark) !important;
}

/* Metadata dividers */
.kapol-classified-meta,
.kapol-classified-card-footer {
    border-color: #f0dddd !important;
}

/* Sidebar */
.kapol-sidebar-card {
    border-color: var(--nc-border) !important;
    box-shadow: 0 6px 18px rgba(0,0,0,.05) !important;
}

.kapol-sidebar-card h3 {
    color: var(--nc-red) !important;
}

/* Search */
.kapol-search-box input {
    border-color: #e3cfd0 !important;
}

.kapol-search-box input:focus {
    border-color: var(--nc-red) !important;
    box-shadow: 0 0 0 2px rgba(185,26,32,.08);
}

.kapol-search-box button {
    background: var(--nc-red) !important;
}

.kapol-search-box button:hover {
    background: var(--nc-red-dark) !important;
}

/* Category sidebar */
.kapol-category-icon {
    color: var(--nc-red) !important;
}

.kapol-category-list a:hover {
    color: var(--nc-red) !important;
}

.kapol-category-list strong {
    background: var(--nc-red-soft) !important;
    color: var(--nc-red) !important;
}

/* Recent listing links */
.kapol-recent-listing h4 a:hover {
    color: var(--nc-red) !important;
}

/* Share / copy neutral button follows the site accent */
.kapol-copy-link:hover,
.kapol-copy-link.is-copied {
    background: var(--nc-red) !important;
    border-color: var(--nc-red) !important;
}

/* Pagination */
.kapol-classified-pagination a,
.kapol-classified-pagination span {
    color: var(--nc-red) !important;
    border-color: #e5cfd0 !important;
}

.kapol-classified-pagination .current,
.kapol-classified-pagination a:hover {
    background: var(--nc-red) !important;
    border-color: var(--nc-red) !important;
    color: #fff !important;
}

/* Empty state */
.kapol-no-classifieds {
    border-color: var(--nc-border) !important;
}

.kapol-no-classifieds h2 {
    color: var(--nc-red) !important;
}

/* Keep the classified content visually separate from the red site footer */
.kapol-classified-layout {
    margin-top: 4px;
}

@media (max-width: 700px) {
    .kapol-classified-hero {
        border-top-width: 2px;
    }
}

