/* Vehero v5.0 – odkup marketplace (/odkup/rynek/). Overrides the page's inline styles. */
html body .marketplace-container, html body .marketplace-container * { animation-timing-function: ease; }
html body .marketplace-container { animation: none; max-width: 1320px; }

/* ---- Header ---- */
html body .marketplace-header {
    text-align: left; padding: clamp(24px, 4vw, 44px); margin-bottom: 20px;
    background: radial-gradient(90% 160% at 0 0, rgba(14, 165, 233, .22), transparent 60%), linear-gradient(180deg, #0f1c30, #0b1424);
    border: 1px solid rgba(56, 189, 248, .22); border-radius: 22px;
    box-shadow: 0 1px 0 rgba(255, 255, 255, .05) inset, 0 24px 48px -28px rgba(0, 0, 0, .9);
    overflow: hidden;
}
html body .marketplace-header::before, html body .marketplace-header::after { display: none; }
html body .marketplace-header h1 { font-size: clamp(28px, 4vw, 42px); letter-spacing: -.035em; font-weight: 800; color: #fff; margin: 0 0 8px; text-shadow: none; }
html body .marketplace-header p { color: #b9c7dc; font-size: clamp(15px, 1.6vw, 17px); max-width: 62ch; margin: 0; opacity: 1; }

/* ---- Filters: one aligned toolbar ---- */
html body .filters-section {
    background: linear-gradient(180deg, rgba(255, 255, 255, .035), rgba(255, 255, 255, .012)), #0f1624;
    border: 1px solid rgba(255, 255, 255, .08); border-radius: 16px; padding: 16px; margin-bottom: 20px; box-shadow: none;
}
html body .filters-form { display: grid; grid-template-columns: minmax(180px, 2fr) repeat(3, minmax(130px, 1fr)) auto auto; gap: 12px; align-items: end; }
html body .filter-group { display: flex; flex-direction: column; gap: 6px; min-width: 0; margin: 0; }
html body .filter-group label { font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); margin: 0; }
html body .filter-group input, html body .filter-group select { height: 46px; width: 100%; padding: 0 14px; }
html body .btn-filter, html body .btn-reset {
    height: 46px; padding: 0 22px; display: inline-flex; align-items: center; justify-content: center;
    border-radius: 11px; font-weight: 700; font-size: 14px; text-decoration: none; cursor: pointer; transform: none;
}
html body .btn-filter { background: linear-gradient(180deg, #0369a1, #075985); border: 1px solid rgba(255, 255, 255, .14); color: #fff; box-shadow: 0 1px 0 rgba(255, 255, 255, .22) inset, 0 10px 20px -12px rgba(2, 132, 199, .9); }
html body .btn-reset { background: rgba(255, 255, 255, .04); border: 1px solid rgba(255, 255, 255, .14); color: var(--text); box-shadow: none; }
html body .btn-reset:hover { background: rgba(255, 255, 255, .09); }

/* ---- Subscription gate ---- */
html body .odkup-gate {
    display: flex; align-items: center; gap: 20px; flex-wrap: wrap; margin-bottom: 24px; padding: 20px 24px;
    background: linear-gradient(90deg, rgba(217, 183, 110, .10), rgba(217, 183, 110, .03)), #0f1624;
    border: 1px solid rgba(217, 183, 110, .32); border-radius: 16px;
}
.odkup-gate-text { flex: 1; min-width: 220px; }
.odkup-gate-title { font-size: 17px; font-weight: 800; letter-spacing: -.01em; color: var(--text); margin-bottom: 4px; }
.odkup-gate-sub { font-size: 14px; color: var(--muted); }
html body .odkup-gate-btn {
    display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 0 26px; border-radius: 12px;
    background: linear-gradient(180deg, #e6c987, #c9a25a); color: #1a1405; font-weight: 800; font-size: 14px; text-decoration: none; white-space: nowrap;
    box-shadow: 0 1px 0 rgba(255, 255, 255, .4) inset, 0 12px 24px -14px rgba(201, 162, 90, .9);
}
html body .odkup-gate-btn:hover { background: linear-gradient(180deg, #efd496, #d1ab63); }

/* ---- Cards ---- */
html body .card-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(290px, 100%), 1fr)); gap: 16px; }
html body .request-card {
    display: flex; flex-direction: column; overflow: hidden; animation: none; transform: none;
    background: linear-gradient(180deg, rgba(255, 255, 255, .035), rgba(255, 255, 255, .012)), #0f1624;
    border: 1px solid rgba(255, 255, 255, .08); border-radius: 16px;
    box-shadow: 0 1px 0 rgba(255, 255, 255, .05) inset, 0 18px 40px -22px rgba(0, 0, 0, .8);
    transition: border-color .2s ease, box-shadow .2s ease;
}
html body .request-card:hover { transform: none; border-color: rgba(56, 189, 248, .4); box-shadow: 0 1px 0 rgba(255, 255, 255, .06) inset, 0 24px 48px -20px rgba(0, 0, 0, .9); }
html body .request-card-image { aspect-ratio: 16 / 10; height: auto; background: linear-gradient(135deg, #131c2d, #0c1220); overflow: hidden; }
html body .request-card-image img { transition: transform .6s cubic-bezier(.2, .7, .2, 1); }
html body .request-card:hover .request-card-image img { transform: scale(1.035); }
.rc-noimg { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; height: 100%; color: #5e6b82; font-size: 13px; font-weight: 600; }
html body .request-card-content { display: flex; flex-direction: column; gap: 10px; flex: 1; padding: 18px; }
html body .request-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; margin: 0; }
html body .request-title { font-size: 18px; font-weight: 800; letter-spacing: -.02em; color: var(--text); margin: 0; }
html body .request-urgency {
    display: inline-flex; align-items: center; gap: 5px; padding: 3px 9px; border-radius: 999px; white-space: nowrap;
    font-size: 12px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase;
    background: rgba(248, 113, 113, .12); color: #fca5a5; border: 1px solid rgba(248, 113, 113, .3);
}
html body .status-badge {
    align-self: flex-start; display: inline-flex; width: auto; padding: 4px 11px; border-radius: 999px;
    font-size: 12px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; box-shadow: none; border: 1px solid transparent;
}
html body .status-pending { background: rgba(251, 191, 36, .12); color: #fcd34d; border-color: rgba(251, 191, 36, .3); }
html body .status-under_review { background: rgba(56, 189, 248, .12); color: #7dd3fc; border-color: rgba(56, 189, 248, .3); }
html body .status-offer_made { background: rgba(74, 222, 128, .12); color: #86efac; border-color: rgba(74, 222, 128, .3); }
html body .status-accepted { background: rgba(56, 189, 248, .18); color: #bae6fd; border-color: rgba(56, 189, 248, .4); }
html body .status-rejected { background: rgba(248, 113, 113, .12); color: #fca5a5; border-color: rgba(248, 113, 113, .3); }
html body .status-withdrawn { background: rgba(148, 163, 184, .12); color: #cbd5e1; border-color: rgba(148, 163, 184, .3); }
html body .status-completed { background: rgba(52, 211, 153, .12); color: #6ee7b7; border-color: rgba(52, 211, 153, .3); }
html body .request-details { font-size: 14px; color: var(--muted); margin: 0; }
html body .request-description { font-size: 14px; line-height: 1.55; color: #b4c0d4; margin: 0; overflow-wrap: anywhere; }
html body .request-price { font-size: 22px; font-weight: 800; letter-spacing: -.02em; font-variant-numeric: tabular-nums; color: var(--text); margin: 0; }
html body .request-price-estimated { font-size: 14px; font-weight: 600; color: var(--muted); margin: 0; }
html body .request-offers { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 700; color: #86efac; margin: 0; }
html body .request-footer { margin-top: auto; padding-top: 12px; border-top: 1px solid rgba(255, 255, 255, .07); font-size: 13px; color: var(--muted); }
html body .request-cta {
    display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 46px; margin: 0; padding: 0 16px; border-radius: 12px;
    background: linear-gradient(180deg, #0369a1, #075985); border: 1px solid rgba(255, 255, 255, .14); color: #fff; font-weight: 700; font-size: 14px; text-decoration: none;
    box-shadow: 0 1px 0 rgba(255, 255, 255, .22) inset, 0 10px 20px -12px rgba(2, 132, 199, .9); transform: none;
}
html body .request-cta:hover { background: linear-gradient(180deg, #0476b8, #036096); transform: none; }
html body .request-cta.is-locked { background: rgba(255, 255, 255, .05); border-color: rgba(255, 255, 255, .14); color: var(--text); box-shadow: none; }
html body .request-cta.is-locked:hover { background: rgba(255, 255, 255, .1); }

/* ---- Empty / pagination / bottom CTA ---- */
html body .empty-state { grid-column: 1 / -1; padding: 56px 20px; border: 1px dashed rgba(255, 255, 255, .14); border-radius: 16px; background: rgba(255, 255, 255, .02); }
html body .pagination { gap: 8px; }
html body .pagination a, html body .pagination span { border-radius: 10px; border: 1px solid rgba(255, 255, 255, .1); background: rgba(255, 255, 255, .03); color: var(--text); }
html body .pagination a:hover { border-color: rgba(56, 189, 248, .5); background: rgba(56, 189, 248, .08); }
html body .cta-section {
    text-align: left; display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap;
    margin-top: 40px; padding: clamp(24px, 4vw, 40px); border-radius: 22px; box-shadow: none;
    background: radial-gradient(90% 160% at 0 0, rgba(14, 165, 233, .24), transparent 60%), linear-gradient(180deg, #0f1c30, #0b1424);
    border: 1px solid rgba(56, 189, 248, .26);
}
html body .cta-section::before, html body .cta-section::after { display: none; }
html body .cta-section h2 { font-size: clamp(22px, 3vw, 30px); letter-spacing: -.03em; color: #fff; margin: 0 0 4px; }
html body .cta-section p { color: #b9c7dc; margin: 0; }
html body .cta-section > div { flex: 1; min-width: 220px; }
html body .cta-section .btn { background: #fff; color: #06314a; border: 0; border-radius: 12px; padding: 14px 28px; font-weight: 800; box-shadow: 0 12px 28px -12px rgba(0, 0, 0, .7); }
html body .cta-section .btn:hover { background: #e8f6ff; transform: none; }

@media (max-width: 1024px) { html body .filters-form { grid-template-columns: repeat(2, minmax(0, 1fr)); } html body .filter-group:first-child { grid-column: 1 / -1; } }
@media (max-width: 640px) {
    html body .filters-form { grid-template-columns: 1fr 1fr; }
    html body .btn-filter, html body .btn-reset { width: 100%; }
    html body .card-grid { grid-template-columns: 1fr; }
    html body .odkup-gate { padding: 16px; }
    html body .odkup-gate-btn { width: 100%; }
}
@media (max-width: 640px) { html body .btn-filter, html body .btn-reset { grid-column: 1 / -1; } }
