/* =====================================================
   SRS Property Listings v2 – Frontend CSS
   ===================================================== */
:root {
    --srs-primary:   #1a6fc4;
    --srs-primary-d: #145aa0;
    --srs-accent:    #f97316;
    --srs-success:   #16a34a;
    --srs-error:     #dc2626;
    --srs-wa:        #25d366;
    --srs-text:      #1f2937;
    --srs-muted:     #6b7280;
    --srs-border:    #e5e7eb;
    --srs-bg:        #f9fafb;
    --srs-white:     #ffffff;
    --srs-shadow:    0 2px 12px rgba(0,0,0,.08);
    --srs-radius:    10px;
}
.srs-form-wrap,.srs-listings-wrap,.srs-single-wrap { font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;color:var(--srs-text); }
.srs-form-wrap *,.srs-listings-wrap *,.srs-single-wrap * { box-sizing:border-box; }

/* Notices */
.srs-notice { padding:13px 18px;border-radius:8px;margin-bottom:20px;font-weight:600;display:none; }
.srs-notice.srs-ok  { background:#dcfce7;color:#166534;border-left:4px solid var(--srs-success); }
.srs-notice.srs-err { background:#fee2e2;color:#991b1b;border-left:4px solid var(--srs-error); }

/* Buttons */
.srs-btn { display:inline-block;padding:11px 22px;border-radius:7px;font-weight:700;font-size:14px;cursor:pointer;border:2px solid transparent;text-decoration:none;transition:all .2s; }
.srs-btn-primary  { background:var(--srs-primary);color:#fff; }
.srs-btn-primary:hover { background:var(--srs-primary-d);color:#fff; }
.srs-btn-outline  { background:transparent;border-color:var(--srs-primary);color:var(--srs-primary); }
.srs-btn-outline:hover { background:var(--srs-primary);color:#fff; }
.srs-btn-view-full { display:block;text-align:center;padding:9px 0;background:var(--srs-bg);border:1px solid var(--srs-border);border-radius:6px;color:var(--srs-primary);font-weight:700;font-size:13px;text-decoration:none;margin-top:12px;transition:all .15s; }
.srs-btn-view-full:hover { background:var(--srs-primary);color:#fff;border-color:var(--srs-primary); }

/* ── FORM ─────────────────────────────────────────── */
.srs-form-wrap { max-width:820px;margin:0 auto; }
.srs-section { background:var(--srs-white);border:1px solid var(--srs-border);border-radius:var(--srs-radius);padding:24px 26px;margin-bottom:20px;box-shadow:var(--srs-shadow); }
.srs-section-title { margin:0 0 18px;font-size:17px;font-weight:800;display:flex;align-items:center;gap:10px; }
.srs-step { width:30px;height:30px;border-radius:50%;background:var(--srs-primary);color:#fff;font-size:13px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0; }
.srs-req { color:var(--srs-error); }

/* Grids */
.srs-grid { display:grid;gap:16px; }
.srs-col-1 { grid-template-columns:1fr; }
.srs-col-2 { grid-template-columns:repeat(2,1fr); }
.srs-col-3 { grid-template-columns:repeat(3,1fr); }
.srs-col-4 { grid-template-columns:repeat(4,1fr); }
@media(max-width:760px) { .srs-col-3,.srs-col-4 { grid-template-columns:1fr 1fr; } }
@media(max-width:480px) { .srs-col-2,.srs-col-3,.srs-col-4 { grid-template-columns:1fr; } }

/* Fields */
.srs-field { display:flex;flex-direction:column;gap:5px; }
.srs-label { font-size:13px;font-weight:700;color:var(--srs-text); }
.srs-input,.srs-select,.srs-textarea {
    width:100%;padding:10px 13px;border:1.5px solid var(--srs-border);
    border-radius:7px;font-size:14px;color:var(--srs-text);background:var(--srs-white);
    outline:none;transition:border-color .15s;
}
.srs-input:focus,.srs-select:focus,.srs-textarea:focus { border-color:var(--srs-primary);box-shadow:0 0 0 3px rgba(26,111,196,.1); }
.srs-field-error { border-color:var(--srs-error) !important; box-shadow: 0 0 0 3px rgba(220,38,38,.1) !important; }
.srs-textarea { resize:vertical;min-height:90px; }

/* Card option (property type) */
.srs-card-opt { cursor:pointer; }
.srs-card-opt input { display:none; }
.srs-card-opt-inner {
    display:flex;flex-direction:column;align-items:center;justify-content:center;
    gap:8px;padding:16px 10px;border:2px solid var(--srs-border);
    border-radius:var(--srs-radius);text-align:center;font-weight:700;font-size:13px;
    transition:all .15s;background:var(--srs-white);
}
.srs-card-opt-inner span:first-child { font-size:26px; }
.srs-card-opt input:checked + .srs-card-opt-inner { border-color:var(--srs-primary);background:#eff6ff;color:var(--srs-primary); }
.srs-card-opt-inner:hover { border-color:var(--srs-primary); }

/* Pill checkboxes */
.srs-amenities-grid { display:flex;flex-wrap:wrap;gap:8px; }
.srs-pill { cursor:pointer; }
.srs-pill input { display:none; }
.srs-pill span { display:inline-block;padding:6px 14px;border:1.5px solid var(--srs-border);border-radius:20px;font-size:13px;font-weight:500;background:var(--srs-white);transition:all .15s; }
.srs-pill input:checked + span { background:var(--srs-primary);border-color:var(--srs-primary);color:#fff; }
.srs-pill span:hover { border-color:var(--srs-primary);color:var(--srs-primary); }

/* Drop zone */
.srs-drop-zone { border:2px dashed var(--srs-border);border-radius:var(--srs-radius);padding:36px 20px;text-align:center;cursor:pointer;background:var(--srs-bg);transition:all .2s; }
.srs-drop-zone.dragover { border-color:var(--srs-primary);background:#eff6ff; }
.srs-drop-icon { font-size:36px;margin-bottom:8px; }
.srs-drop-zone p { margin:5px 0;color:var(--srs-muted);font-size:14px; }
.srs-drop-hint { font-size:12px!important; }
.srs-img-preview { display:flex;flex-wrap:wrap;gap:10px;margin-top:14px; }
.srs-img-item { position:relative; }
.srs-img-item img { width:80px;height:80px;object-fit:cover;border-radius:6px;display:block; }
.srs-img-remove { position:absolute;top:-6px;right:-6px;width:18px;height:18px;border-radius:50%;background:var(--srs-error);color:#fff;font-size:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-weight:800; }

/* Submit row */
.srs-submit-row { text-align:center;padding:8px 0 20px; }
.srs-submit-row .srs-btn { min-width:220px;font-size:16px;padding:14px 40px; }

/* ── LISTINGS ──────────────────────────────────────── */
.srs-listings-wrap { }
.srs-filter-form { background:var(--srs-white);border:1px solid var(--srs-border);border-radius:var(--srs-radius);padding:18px 20px;margin-bottom:22px;box-shadow:var(--srs-shadow); }
.srs-filter-row { display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end; }
.srs-filter-row .srs-input,.srs-filter-row .srs-select { flex:1;min-width:120px; }
.srs-count { font-size:14px;color:var(--srs-muted);margin-bottom:16px; }

.srs-grid-listings { display:grid;grid-template-columns:repeat(3,1fr);gap:22px; }
@media(max-width:900px) { .srs-grid-listings { grid-template-columns:repeat(2,1fr); } }
@media(max-width:540px) { .srs-grid-listings { grid-template-columns:1fr; } }

.srs-card { background:var(--srs-white);border:1px solid var(--srs-border);border-radius:var(--srs-radius);overflow:hidden;box-shadow:var(--srs-shadow);transition:transform .2s,box-shadow .2s; }
.srs-card:hover { transform:translateY(-3px);box-shadow:0 8px 24px rgba(0,0,0,.12); }
.srs-card-img-wrap { display:block;position:relative; }
.srs-card-img { width:100%;height:185px;object-fit:cover;display:block; }
.srs-card-no-img { width:100%;height:185px;display:flex;align-items:center;justify-content:center;background:var(--srs-bg);font-size:48px; }

/* Badges */
.srs-badge { display:inline-block;padding:4px 10px;border-radius:20px;font-size:11px;font-weight:800;color:#fff; }
.srs-badge-sale { background:var(--srs-primary); }
.srs-badge-rent { background:var(--srs-accent); }
.srs-card-img-wrap .srs-badge { position:absolute;top:10px;left:10px; }

.srs-card-body { padding:15px; }
.srs-card-price { font-size:20px;font-weight:900;color:var(--srs-primary);margin-bottom:4px; }
.srs-card-title { margin:0 0 7px;font-size:15px;font-weight:700;line-height:1.3; }
.srs-card-title a { color:var(--srs-text);text-decoration:none; }
.srs-card-title a:hover { color:var(--srs-primary); }
.srs-card-loc { font-size:13px;color:var(--srs-muted);margin:0 0 10px; }
.srs-card-chips { display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px; }
.srs-chip { background:var(--srs-bg);border:1px solid var(--srs-border);border-radius:5px;padding:3px 8px;font-size:12px;font-weight:500; }

/* Pagination */
.srs-pagination { margin-top:28px;text-align:center; }
.srs-pagination .page-numbers { display:inline-block;padding:7px 13px;border:1px solid var(--srs-border);border-radius:6px;margin:2px;text-decoration:none;color:var(--srs-text); }
.srs-pagination .page-numbers.current { background:var(--srs-primary);color:#fff;border-color:var(--srs-primary); }

/* No results */
.srs-no-results { text-align:center;padding:60px 20px; }
.srs-no-results-icon { font-size:56px;display:block;margin-bottom:14px; }
.srs-no-results h3 { font-size:20px; }
.srs-no-results p { color:var(--srs-muted); }

/* ── SINGLE PROPERTY ───────────────────────────────── */
.srs-single-wrap { max-width:1160px;margin:0 auto;padding:20px; }
.srs-breadcrumb { font-size:13px;color:var(--srs-muted);margin-bottom:16px;display:flex;align-items:center;flex-wrap:wrap;gap:5px; }
.srs-breadcrumb a { color:var(--srs-primary);text-decoration:none; }

.srs-gallery-block { margin-bottom:28px;border-radius:var(--srs-radius);overflow:hidden;border:1px solid var(--srs-border); }
.srs-gallery-main-wrap { position:relative; }
.srs-gallery-main-photo { width:100%;max-height:460px;object-fit:cover;display:block; }
.srs-gallery-badge { position:absolute;top:14px;left:14px;font-size:13px!important;padding:6px 14px!important; }
.srs-thumb-row { display:flex;gap:6px;padding:8px;background:var(--srs-white);flex-wrap:wrap; }
.srs-thumb { width:76px;height:56px;object-fit:cover;border-radius:5px;cursor:pointer;border:2px solid transparent;transition:border-color .15s; }
.srs-thumb.active,.srs-thumb:hover { border-color:var(--srs-primary); }

.srs-single-layout { display:grid;grid-template-columns:1fr 300px;gap:26px;align-items:start; }
@media(max-width:860px) { .srs-single-layout { grid-template-columns:1fr; } }

.srs-single-header { margin-bottom:22px; }
.srs-single-price { font-size:28px;font-weight:900;color:var(--srs-primary);margin-bottom:4px; }
.srs-single-title { font-size:22px;font-weight:800;margin:0 0 8px; }
.srs-single-loc { font-size:15px;color:var(--srs-muted);margin:0 0 12px; }
.srs-tags { display:flex;flex-wrap:wrap;gap:7px; }
.srs-tag-badge { font-size:12px;font-weight:800;padding:5px 12px;border-radius:20px;color:#fff; }
.srs-tag-plain { background:var(--srs-bg);border:1px solid var(--srs-border);padding:5px 12px;border-radius:20px;font-size:12px;font-weight:600;color:var(--srs-text); }

.srs-spec-bar { display:flex;flex-wrap:wrap;border:1px solid var(--srs-border);border-radius:var(--srs-radius);overflow:hidden;margin-bottom:24px;background:var(--srs-white); }
.srs-spec-cell { flex:1;min-width:90px;display:flex;flex-direction:column;align-items:center;gap:2px;padding:14px 10px;border-right:1px solid var(--srs-border);text-align:center; }
.srs-spec-cell:last-child { border-right:none; }
.srs-spec-cell span { font-size:20px; }
.srs-spec-cell strong { font-size:15px;font-weight:800; }
.srs-spec-cell small { font-size:11px;color:var(--srs-muted); }

.srs-detail-box { background:var(--srs-white);border:1px solid var(--srs-border);border-radius:var(--srs-radius);padding:22px;margin-bottom:20px; }
.srs-detail-box h2 { margin:0 0 16px;font-size:17px;font-weight:800;padding-bottom:12px;border-bottom:2px solid var(--srs-border); }
.srs-detail-table { width:100%;border-collapse:collapse; }
.srs-detail-table tr:nth-child(even) td,.srs-detail-table tr:nth-child(even) th { background:var(--srs-bg); }
.srs-detail-table th { width:42%;padding:9px 13px;text-align:left;font-size:13px;font-weight:700;color:var(--srs-muted); }
.srs-detail-table td { padding:9px 13px;font-size:14px;font-weight:600; }

.srs-amenity-tags { display:flex;flex-wrap:wrap;gap:8px; }
.srs-amenity-tag { background:#f0fdf4;border:1px solid #bbf7d0;color:#166534;padding:5px 12px;border-radius:20px;font-size:13px;font-weight:600; }

/* Sidebar */
.srs-contact-box { background:var(--srs-white);border:1px solid var(--srs-border);border-radius:var(--srs-radius);padding:22px;box-shadow:var(--srs-shadow);position:sticky;top:20px; }
.srs-contact-box h3 { margin:0 0 6px;font-size:17px;font-weight:800; }
.srs-sidebar-price { font-size:22px;font-weight:900;color:var(--srs-primary);margin-bottom:14px; }
.srs-contact-action { display:block;text-align:center;padding:12px 20px;border-radius:8px;font-size:15px;font-weight:800;text-decoration:none;margin-bottom:10px;transition:filter .15s; }
.srs-ca-call { background:var(--srs-primary);color:#fff; }
.srs-ca-call:hover { filter:brightness(.9);color:#fff; }
.srs-ca-wa  { background:var(--srs-wa);color:#fff; }
.srs-ca-wa:hover { filter:brightness(.9);color:#fff; }

/* Admin table */
.srs-meta-grid { display:grid;gap:14px; }
.srs-meta-grid.srs-col2 { grid-template-columns:1fr 1fr; }
.srs-meta-grid.srs-col3 { grid-template-columns:1fr 1fr 1fr; }
.srs-meta-grid p { margin:0; }
.srs-meta-grid label { display:block;font-weight:700;margin-bottom:4px; }
