/* ============================================================
   Ogłoszenia PRO – frontend
   ============================================================ */
:root{
    --ogp-primary:#2a41e8;
    --ogp-primary-dark:#2135c4;
    --ogp-accent:#f97316;
    --ogp-success:#16a34a;
    --ogp-max-width:1240px;
    --ogp-bg:#f4f5f9;
    --ogp-card:#ffffff;
    --ogp-border:#e3e6ee;
    --ogp-text:#1a1d29;
    --ogp-muted:#6b7280;
    --ogp-radius:14px;
    --ogp-shadow:0 2px 8px rgba(20,25,60,.06);
    --ogp-shadow-lg:0 8px 30px rgba(20,25,60,.12);
}

.ogp-page{background:var(--ogp-bg);padding:24px 0 60px;}
.ogp-container{max-width:var(--ogp-max-width);margin:0 auto;padding:0 16px;color:var(--ogp-text);}
.ogp-container *{box-sizing:border-box;}

/* Breadcrumbs */
.ogp-breadcrumbs{font-size:13px;color:var(--ogp-muted);margin:0 0 16px;}
.ogp-breadcrumbs a{color:var(--ogp-muted);text-decoration:none;}
.ogp-breadcrumbs a:hover{color:var(--ogp-primary);}
.ogp-bc-sep{margin:0 6px;opacity:.6;}
.ogp-bc-current{color:var(--ogp-text);font-weight:600;}

/* Header */
.ogp-header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;flex-wrap:wrap;}
.ogp-title{font-size:28px;margin:0;font-weight:800;letter-spacing:-.02em;}
.ogp-subtitle{margin:2px 0 0;color:var(--ogp-muted);font-size:14px;}

/* Buttons */
.ogp-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:none;border-radius:10px;
    padding:11px 18px;font-size:14px;font-weight:600;cursor:pointer;text-decoration:none;transition:.15s;line-height:1;}
.ogp-btn:hover{transform:translateY(-1px);}
.ogp-btn-primary{background:var(--ogp-primary);color:#fff;}
.ogp-btn-primary:hover{background:var(--ogp-primary-dark);}
.ogp-btn-accent{background:var(--ogp-accent);color:#fff;}
.ogp-btn-accent:hover{filter:brightness(.95);}
.ogp-btn-success{background:var(--ogp-success);color:#fff;}
.ogp-btn-ghost{background:#fff;color:var(--ogp-text);border:1.5px solid var(--ogp-border);}
.ogp-btn-ghost:hover{border-color:var(--ogp-primary);color:var(--ogp-primary);}
.ogp-btn-danger{background:#fee2e2;color:#b91c1c;}
.ogp-btn-lg{padding:14px 26px;font-size:15px;}
.ogp-btn-sm{padding:7px 12px;font-size:13px;}

/* Search bar */
.ogp-searchbar{display:flex;gap:8px;background:var(--ogp-card);padding:10px;border-radius:var(--ogp-radius);
    box-shadow:var(--ogp-shadow);margin-bottom:22px;flex-wrap:wrap;}
.ogp-searchbar-input{flex:1 1 260px;position:relative;display:flex;align-items:center;}
.ogp-search-ico{position:absolute;left:14px;opacity:.5;}
.ogp-searchbar-input input{width:100%;padding:12px 14px 12px 40px;border:1.5px solid var(--ogp-border);border-radius:10px;font-size:15px;}
.ogp-searchbar-cat,.ogp-searchbar-loc{padding:12px 14px;border:1.5px solid var(--ogp-border);border-radius:10px;font-size:14px;background:#fff;flex:0 1 200px;}
.ogp-searchbar input:focus,.ogp-searchbar select:focus,.ogp-filters input:focus,.ogp-filters select:focus,.ogp-add-form input:focus,.ogp-add-form select:focus,.ogp-add-form textarea:focus{outline:none;border-color:var(--ogp-primary);box-shadow:0 0 0 3px rgba(42,65,232,.12);}

/* Category tiles */
.ogp-cat-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;margin-bottom:26px;}
.ogp-cat-tile{background:var(--ogp-card);border:1px solid var(--ogp-border);border-radius:var(--ogp-radius);padding:18px 12px;
    text-align:center;text-decoration:none;color:var(--ogp-text);transition:.15s;display:flex;flex-direction:column;gap:6px;align-items:center;}
.ogp-cat-tile:hover{box-shadow:var(--ogp-shadow-lg);transform:translateY(-2px);border-color:var(--ogp-primary);}
.ogp-cat-tile-ico{font-size:30px;}
.ogp-cat-tile-name{font-weight:600;font-size:14px;}
.ogp-cat-tile-count{font-size:12px;color:var(--ogp-muted);}

/* Layout */
.ogp-layout{display:grid;grid-template-columns:280px 1fr;gap:22px;align-items:start;}
@media(max-width:900px){.ogp-layout{grid-template-columns:1fr;}}

/* Sidebar / filters */
.ogp-sidebar{position:sticky;top:16px;}
.ogp-filters{background:var(--ogp-card);border:1px solid var(--ogp-border);border-radius:var(--ogp-radius);padding:18px;box-shadow:var(--ogp-shadow);}
.ogp-filters-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;}
.ogp-filters-head h3{margin:0;font-size:17px;}
.ogp-filters-reset{background:none;border:none;color:var(--ogp-primary);cursor:pointer;font-size:13px;}
.ogp-filter-group{margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--ogp-border);}
.ogp-filter-group:last-of-type{border-bottom:none;}
.ogp-filter-label{display:block;font-weight:600;font-size:13px;margin-bottom:8px;color:var(--ogp-text);}
.ogp-filter-select,.ogp-filter-text{width:100%;padding:9px 11px;border:1.5px solid var(--ogp-border);border-radius:9px;font-size:14px;background:#fff;}
.ogp-range-inputs{display:flex;gap:8px;}
.ogp-range-inputs input{width:100%;padding:9px 11px;border:1.5px solid var(--ogp-border);border-radius:9px;font-size:14px;}
.ogp-radio-group,.ogp-checkbox-group{display:flex;flex-direction:column;gap:7px;}
.ogp-radio,.ogp-check,.ogp-switch{display:flex;align-items:center;gap:8px;font-size:14px;cursor:pointer;color:var(--ogp-text);}
.ogp-switch{margin-bottom:8px;}
.ogp-apply-filters{width:100%;margin-top:8px;}

/* Toolbar */
.ogp-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;gap:12px;flex-wrap:wrap;}
.ogp-sort{display:flex;align-items:center;gap:8px;font-size:14px;}
.ogp-sort select{padding:8px 12px;border:1.5px solid var(--ogp-border);border-radius:9px;background:#fff;font-size:14px;}
.ogp-view-toggle{display:flex;gap:6px;}
.ogp-view-btn,.ogp-filter-toggle{background:#fff;border:1.5px solid var(--ogp-border);border-radius:9px;padding:8px 12px;cursor:pointer;font-size:15px;color:var(--ogp-muted);}
.ogp-view-btn.active{background:var(--ogp-primary);color:#fff;border-color:var(--ogp-primary);}
.ogp-filter-toggle{display:none;font-size:14px;}
@media(max-width:900px){.ogp-filter-toggle{display:inline-flex;}.ogp-sidebar{position:fixed;left:0;top:0;bottom:0;z-index:60;width:88%;max-width:340px;background:var(--ogp-bg);padding:16px;overflow:auto;transform:translateX(-105%);transition:.25s;box-shadow:var(--ogp-shadow-lg);}.ogp-sidebar.open{transform:translateX(0);}}

/* Grid / cards */
.ogp-grid.ogp-cards{display:grid;grid-template-columns:repeat(var(--ogp-cols,4),1fr);gap:16px;transition:opacity .2s;}
.ogp-results .ogp-grid{--ogp-cols:3;}
@media(max-width:1100px){.ogp-results .ogp-grid{--ogp-cols:2;}}
@media(max-width:560px){.ogp-grid.ogp-cards{--ogp-cols:2 !important;gap:10px;}}
.ogp-loading{opacity:.4;pointer-events:none;}

.ogp-card{position:relative;background:var(--ogp-card);border:1px solid var(--ogp-border);border-radius:var(--ogp-radius);
    overflow:hidden;transition:.15s;display:flex;flex-direction:column;}
.ogp-card:hover{box-shadow:var(--ogp-shadow-lg);transform:translateY(-2px);}
.ogp-card-featured{border-color:var(--ogp-accent);box-shadow:0 0 0 1px var(--ogp-accent);}
.ogp-card-media{display:block;position:relative;aspect-ratio:4/3;background:#eef0f6;overflow:hidden;}
.ogp-card-media img,.ogp-card-img{width:100%;height:100%;object-fit:cover;display:block;}
.ogp-card-noimg{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:38px;color:#c3c8d6;}
.ogp-card-noimg.small{font-size:22px;aspect-ratio:1;border-radius:8px;background:#eef0f6;}
.ogp-badge{position:absolute;top:8px;font-size:11px;font-weight:700;padding:4px 8px;border-radius:20px;color:#fff;}
.ogp-badge-featured{left:8px;background:var(--ogp-accent);}
.ogp-badge-offer{right:8px;background:rgba(0,0,0,.65);}
.ogp-fav-btn{position:absolute;top:8px;right:8px;z-index:3;width:34px;height:34px;border-radius:50%;border:none;
    background:rgba(255,255,255,.92);cursor:pointer;font-size:18px;display:flex;align-items:center;justify-content:center;
    box-shadow:var(--ogp-shadow);transition:.15s;color:#e11d48;}
.ogp-fav-btn:hover{transform:scale(1.1);}
.ogp-fav-btn.active .ogp-heart{color:#e11d48;}
.ogp-fav-inline{position:static;width:auto;height:auto;border-radius:10px;padding:10px 16px;background:#fff;border:1.5px solid var(--ogp-border);gap:6px;}
.ogp-card-body{padding:12px 13px 14px;display:flex;flex-direction:column;gap:6px;flex:1;}
.ogp-card-title{font-size:14px;font-weight:600;color:var(--ogp-text);text-decoration:none;line-height:1.35;
    display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:38px;}
.ogp-card-title:hover{color:var(--ogp-primary);}
.ogp-card-price{font-size:18px;font-weight:800;color:var(--ogp-success);}
.ogp-card-price small{font-size:11px;font-weight:600;color:var(--ogp-muted);}
.ogp-card-meta{display:flex;gap:10px;flex-wrap:wrap;font-size:12px;color:var(--ogp-muted);}
.ogp-card-cond{background:#eef0f6;padding:2px 8px;border-radius:20px;}
.ogp-card-foot{display:flex;justify-content:space-between;font-size:11px;color:var(--ogp-muted);margin-top:auto;padding-top:4px;}

/* List view */
.view-list.ogp-cards{grid-template-columns:1fr !important;}
.view-list .ogp-card{flex-direction:row;}
.view-list .ogp-card-media{width:230px;aspect-ratio:4/3;flex-shrink:0;}
.view-list .ogp-card-body{padding:16px;}
.view-list .ogp-card-title{font-size:17px;min-height:0;}
@media(max-width:560px){.view-list .ogp-card-media{width:130px;}}

/* No results */
.ogp-no-results{grid-column:1/-1;text-align:center;padding:60px 20px;color:var(--ogp-muted);}
.ogp-no-results-icon{font-size:48px;margin-bottom:12px;}
.ogp-empty{text-align:center;color:var(--ogp-muted);padding:40px;}

/* Pagination */
.ogp-pagination{display:flex;gap:6px;justify-content:center;margin-top:28px;flex-wrap:wrap;}
.ogp-page-link{min-width:38px;height:38px;display:flex;align-items:center;justify-content:center;border-radius:9px;
    background:#fff;border:1.5px solid var(--ogp-border);color:var(--ogp-text);text-decoration:none;font-size:14px;cursor:pointer;padding:0 6px;}
.ogp-page-link:hover{border-color:var(--ogp-primary);color:var(--ogp-primary);}
.ogp-page-link.active{background:var(--ogp-primary);color:#fff;border-color:var(--ogp-primary);}
.ogp-page-dots{padding:0 4px;color:var(--ogp-muted);align-self:center;}

/* ============ Modal ============ */
.ogp-modal{position:fixed;inset:0;z-index:9999;display:none;}
.ogp-modal.open{display:block;}
.ogp-modal-backdrop{position:absolute;inset:0;background:rgba(15,18,40,.6);backdrop-filter:blur(2px);}
.ogp-modal-box{position:relative;max-width:820px;margin:40px auto;background:#fff;border-radius:18px;overflow:hidden;
    max-height:90vh;display:flex;flex-direction:column;box-shadow:var(--ogp-shadow-lg);}
.ogp-modal-head{display:flex;justify-content:space-between;align-items:center;padding:18px 24px;border-bottom:1px solid var(--ogp-border);}
.ogp-modal-head h2{margin:0;font-size:20px;}
.ogp-modal-x{background:none;border:none;font-size:28px;cursor:pointer;color:var(--ogp-muted);line-height:1;}
.ogp-modal-body{padding:24px;overflow:auto;}

/* ============ Add form ============ */
.ogp-add-form{color:var(--ogp-text);}
.ogp-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-bottom:14px;}
@media(max-width:600px){.ogp-form-grid{grid-template-columns:1fr;}}
.ogp-col-2{grid-column:1/-1;}
.ogp-field{display:flex;flex-direction:column;gap:6px;}
.ogp-field label{font-size:13px;font-weight:600;}
.ogp-field input,.ogp-field select,.ogp-field textarea{padding:11px 13px;border:1.5px solid var(--ogp-border);border-radius:10px;font-size:14px;font-family:inherit;width:100%;}
.ogp-hp{position:absolute !important;left:-9999px;height:0;width:0;opacity:0;}
.ogp-terms{display:flex;align-items:center;gap:8px;font-size:13px;margin:12px 0;}
.ogp-form-actions{display:flex;align-items:center;gap:14px;justify-content:flex-end;margin-top:8px;flex-wrap:wrap;}
.ogp-form-msg{font-size:14px;}
.ogp-form-msg.ok{color:var(--ogp-success);}
.ogp-form-msg.err{color:#dc2626;}

/* Uploader */
.ogp-uploader{border:2px dashed var(--ogp-border);border-radius:12px;padding:16px;text-align:center;}
.ogp-uploader-preview{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:10px;}
.ogp-thumb-item{position:relative;width:84px;height:84px;border-radius:9px;overflow:hidden;border:1px solid var(--ogp-border);}
.ogp-thumb-item img{width:100%;height:100%;object-fit:cover;}
.ogp-thumb-del{position:absolute;top:2px;right:2px;width:22px;height:22px;border-radius:50%;background:rgba(0,0,0,.6);color:#fff;border:none;cursor:pointer;font-size:15px;line-height:1;}
.ogp-thumb-main{position:absolute;bottom:0;left:0;right:0;background:var(--ogp-primary);color:#fff;font-size:10px;text-align:center;padding:2px;}
.ogp-uploader-hint{font-size:12px;color:var(--ogp-muted);margin:8px 0 0;}

/* Dynamic attrs */
.ogp-attr-field label,.ogp-attr-filter .ogp-filter-label{font-size:13px;}
.ogp-attr-field input,.ogp-attr-field select{padding:11px 13px;border:1.5px solid var(--ogp-border);border-radius:10px;font-size:14px;width:100%;}

/* ============ Single ============ */
.ogp-single{padding-top:8px;}
.ogp-single-grid{display:grid;grid-template-columns:1fr 360px;gap:26px;align-items:start;}
@media(max-width:900px){.ogp-single-grid{grid-template-columns:1fr;}}
.ogp-single-title{font-size:26px;font-weight:800;margin:0 0 10px;letter-spacing:-.02em;}
.ogp-single-meta{display:flex;flex-wrap:wrap;gap:14px;font-size:13px;color:var(--ogp-muted);margin-bottom:18px;}
.ogp-single-offer{background:var(--ogp-primary);color:#fff;padding:2px 10px;border-radius:20px;font-weight:600;}

.ogp-gallery{background:#fff;border:1px solid var(--ogp-border);border-radius:var(--ogp-radius);padding:12px;margin-bottom:20px;}
.ogp-gallery-main{border-radius:10px;overflow:hidden;background:#eef0f6;}
.ogp-gallery-lead{width:100%;max-height:480px;object-fit:contain;display:block;}
.ogp-gallery-thumbs{display:flex;gap:8px;margin-top:10px;overflow-x:auto;padding-bottom:4px;}
.ogp-gallery-thumb{flex:0 0 auto;width:72px;height:72px;border-radius:8px;overflow:hidden;border:2px solid transparent;cursor:pointer;padding:0;background:none;}
.ogp-gallery-thumb img{width:100%;height:100%;object-fit:cover;}
.ogp-gallery-thumb.active{border-color:var(--ogp-primary);}

.ogp-attr-table,.ogp-single-desc{background:#fff;border:1px solid var(--ogp-border);border-radius:var(--ogp-radius);padding:20px 22px;margin-bottom:20px;}
.ogp-attr-table h3,.ogp-single-desc h3{margin:0 0 14px;font-size:18px;}
.ogp-attr-table dl{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:0;}
@media(max-width:560px){.ogp-attr-table dl{grid-template-columns:1fr;}}
.ogp-attr-row{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid var(--ogp-border);gap:12px;}
.ogp-attr-row dt{color:var(--ogp-muted);font-size:14px;margin:0;}
.ogp-attr-row dd{margin:0;font-weight:600;font-size:14px;text-align:right;}
.ogp-single-desc{line-height:1.7;}
.ogp-single-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;}
.ogp-report-btn,.ogp-edit-btn{background:none;border:none;color:var(--ogp-muted);cursor:pointer;font-size:13px;text-decoration:none;}
.ogp-report-btn:hover,.ogp-edit-btn:hover{color:var(--ogp-primary);}

/* Side price card */
.ogp-single-side{position:sticky;top:16px;display:flex;flex-direction:column;gap:16px;}
.ogp-price-card{background:#fff;border:1px solid var(--ogp-border);border-radius:var(--ogp-radius);padding:22px;box-shadow:var(--ogp-shadow);display:flex;flex-direction:column;gap:14px;}
.ogp-price-big{font-size:30px;font-weight:800;color:var(--ogp-success);}
.ogp-price-big small{font-size:14px;font-weight:600;color:var(--ogp-muted);}
.ogp-seller{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--ogp-border);border-bottom:1px solid var(--ogp-border);}
.ogp-seller-avatar{width:46px;height:46px;border-radius:50%;background:var(--ogp-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:700;text-transform:uppercase;}
.ogp-seller-name{font-weight:700;}
.ogp-seller-since{font-size:12px;color:var(--ogp-muted);}
.ogp-price-card .ogp-btn{width:100%;}
.ogp-reveal-phone.revealed{font-size:18px;letter-spacing:1px;}
.ogp-contact-form{display:flex;flex-direction:column;gap:10px;margin-top:6px;}
.ogp-contact-form input,.ogp-contact-form textarea{padding:11px 13px;border:1.5px solid var(--ogp-border);border-radius:10px;font-size:14px;font-family:inherit;}
.ogp-contact-msg{font-size:13px;}
.ogp-contact-msg.ok{color:var(--ogp-success);}
.ogp-contact-msg.err{color:#dc2626;}
.ogp-map-card{background:#fff;border:1px solid var(--ogp-border);border-radius:var(--ogp-radius);padding:12px;}
.ogp-map-link{display:inline-block;margin-top:8px;font-size:13px;color:var(--ogp-primary);text-decoration:none;}

.ogp-similar{margin-top:36px;}
.ogp-similar h2{font-size:20px;margin-bottom:16px;}

/* Widget (shortcode ostatnie) */
.ogp-widget{max-width:var(--ogp-max-width);margin:0 auto;padding:0 16px;}
.ogp-widget-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:14px;}
.ogp-widget-head h2{margin:0;font-size:22px;}
.ogp-widget-all{color:var(--ogp-primary);text-decoration:none;font-size:14px;font-weight:600;}

/* My listings */
.ogp-my-listings{padding-top:20px;}
.ogp-my-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;}
.ogp-my-head h2{margin:0;}
.ogp-my-table{display:flex;flex-direction:column;gap:12px;}
.ogp-my-row{display:flex;gap:14px;align-items:center;background:#fff;border:1px solid var(--ogp-border);border-radius:12px;padding:12px;}
.ogp-my-thumb{width:70px;height:70px;flex-shrink:0;border-radius:9px;overflow:hidden;}
.ogp-my-thumb img{width:100%;height:100%;object-fit:cover;}
.ogp-my-info{flex:1;min-width:0;}
.ogp-my-title{font-weight:600;color:var(--ogp-text);text-decoration:none;display:block;margin-bottom:6px;}
.ogp-my-meta{display:flex;gap:12px;flex-wrap:wrap;font-size:13px;color:var(--ogp-muted);align-items:center;}
.ogp-status{padding:2px 10px;border-radius:20px;font-size:12px;font-weight:600;}
.ogp-status-publish{background:#dcfce7;color:#15803d;}
.ogp-status-pending{background:#fef9c3;color:#a16207;}
.ogp-status-draft{background:#f1f5f9;color:#64748b;}
.ogp-my-actions{display:flex;gap:8px;flex-shrink:0;}
@media(max-width:560px){.ogp-my-row{flex-wrap:wrap;}.ogp-my-actions{width:100%;}}

.ogp-notice{background:#eff6ff;border:1px solid #bfdbfe;border-radius:12px;padding:20px;text-align:center;color:#1e40af;max-width:var(--ogp-max-width);margin:20px auto;}
.ogp-notice a{color:var(--ogp-primary);font-weight:600;}
