:root {
  --rv2-navy: #0d2345;
  --rv2-ink: #142846;
  --rv2-blue: #1769f3;
  --rv2-blue-dark: #0b54ce;
  --rv2-cyan: #0ea5b7;
  --rv2-muted: #61718a;
  --rv2-line: #dce7f4;
  --rv2-soft: #f3f7fc;
  --rv2-shadow: 0 18px 46px rgba(24, 57, 99, .10);
}

.rentals-modern #main-content { background: #fff; }
.rsv2-page, .rsv2-page * { box-sizing: border-box; }
.rsv2-page { color: var(--rv2-ink); }
.rsv2-container { width: min(100% - 40px, 1320px); margin-inline: auto; }

.rsv2-hero { position: relative; overflow: hidden; padding: 72px 0 105px; background: radial-gradient(circle at 83% 18%, rgba(52, 132, 255, .21), transparent 27%), linear-gradient(115deg, #f8fbff 0%, #eaf3ff 63%, #f7fbff 100%); border-bottom: 1px solid #dbe8f7; }
.rsv2-hero::after { content: ""; position: absolute; right: -120px; bottom: -270px; width: 560px; height: 560px; border: 1px solid rgba(23, 105, 243, .12); border-radius: 50%; box-shadow: 0 0 0 90px rgba(23, 105, 243, .035), 0 0 0 180px rgba(23, 105, 243, .025); }
.rsv2-hero .rsv2-container { position: relative; z-index: 1; }
.rsv2-kicker, .rsv2-overline { margin: 0 0 12px; color: var(--rv2-blue); font-size: .72rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.rsv2-kicker { display: flex; align-items: center; gap: 10px; }
.rsv2-kicker > span { width: 29px; height: 3px; border-radius: 99px; background: linear-gradient(90deg, var(--rv2-blue), var(--rv2-cyan)); }
.rsv2-hero h1 { max-width: 820px; margin: 0; color: var(--rv2-navy); font-size: clamp(2.7rem, 5.4vw, 5.2rem); line-height: .98; letter-spacing: -.045em; }
.rsv2-hero > .rsv2-container > p:not(.rsv2-kicker) { max-width: 720px; margin: 24px 0 0; color: var(--rv2-muted); font-size: 1.12rem; line-height: 1.72; }
.rsv2-hero ul { display: flex; flex-wrap: wrap; gap: 12px 26px; margin: 28px 0 0; padding: 0; list-style: none; color: #38516e; font-size: .88rem; font-weight: 700; }
.rsv2-hero li { display: flex; align-items: center; gap: 8px; }
.rsv2-hero li span { display: grid; width: 22px; height: 22px; place-items: center; border-radius: 50%; color: var(--rv2-cyan); background: rgba(14, 165, 183, .1); font-size: .72rem; }

.rsv2-catalog { position: relative; z-index: 3; margin-top: -54px; padding-bottom: 90px; }
.rsv2-filter { padding: 29px; border: 1px solid rgba(213, 228, 245, .95); border-radius: 22px; background: rgba(255, 255, 255, .97); box-shadow: var(--rv2-shadow); }
.rsv2-filter-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 30px; margin-bottom: 24px; }
.rsv2-filter-heading h2, .rsv2-results-heading h2 { margin: 0; color: var(--rv2-navy); font-size: clamp(1.45rem, 2.5vw, 2.15rem); letter-spacing: -.025em; }
.rsv2-filter-status { display: inline-flex; align-items: center; gap: 7px; padding: 8px 12px; border-radius: 99px; color: #075c69; background: #e8fbfd; font-size: .75rem; font-weight: 800; white-space: nowrap; }
.rsv2-filter-status span { color: var(--rv2-cyan); font-size: .55rem; }
.rsv2-filter-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.rsv2-filter label { display: grid; gap: 7px; color: #304866; font-size: .8rem; font-weight: 800; }
.rsv2-filter select { width: 100%; min-height: 50px; padding: 0 42px 0 14px; border: 1px solid #cbdced; border-radius: 11px; color: var(--rv2-ink); background-color: #f9fbfe; font: inherit; font-size: .88rem; font-weight: 600; outline: none; transition: border-color .18s ease, box-shadow .18s ease, background .18s ease; }
.rsv2-filter select:hover { border-color: #9bbce4; background: #fff; }
.rsv2-filter select:focus { border-color: var(--rv2-blue); background: #fff; box-shadow: 0 0 0 4px rgba(23, 105, 243, .11); }
.rsv2-filter-actions { display: flex; align-items: center; gap: 17px; margin-top: 20px; }
.rsv2-filter-actions button, .rsv2-filter-actions a { min-height: 48px; border-radius: 11px; font-size: .86rem; font-weight: 800; }
.rsv2-filter-actions button { display: inline-flex; align-items: center; gap: 10px; padding: 0 20px; border: 0; color: #fff; background: var(--rv2-blue); box-shadow: 0 12px 26px rgba(23, 105, 243, .22); cursor: pointer; transition: transform .18s ease, background .18s ease; }
.rsv2-filter-actions button:hover { transform: translateY(-1px); background: var(--rv2-blue-dark); }
.rsv2-filter-actions a { display: inline-flex; align-items: center; padding: 0 4px; color: var(--rv2-blue); text-decoration: none; }

.rsv2-results-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 40px; margin: 56px 0 23px; }
.rsv2-results-heading > p { max-width: 410px; margin: 0; color: var(--rv2-muted); font-size: .88rem; text-align: right; }
.rsv2-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.rsv2-card { min-width: 0; margin: 0; }
.rsv2-card-link { display: flex; height: 100%; min-height: 590px; flex-direction: column; overflow: hidden; border: 1px solid var(--rv2-line); border-radius: 20px; color: var(--rv2-ink); background: #fff; box-shadow: 0 10px 28px rgba(31, 64, 108, .065); text-decoration: none; transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
.rsv2-card-link:hover { transform: translateY(-5px); border-color: #a9c8ef; box-shadow: 0 22px 48px rgba(26, 66, 122, .14); text-decoration: none; }
.rsv2-card-link:focus-visible { outline: 3px solid rgba(23, 105, 243, .35); outline-offset: 3px; }
.rsv2-card-media { position: relative; display: grid; min-height: 310px; place-items: center; padding: 25px 24px 14px; background: radial-gradient(circle at 50% 44%, #fff 0%, #f5f9fe 72%, #edf4fc 100%); border-bottom: 1px solid #e4edf7; }
.rsv2-card-media img { display: block; width: 100%; height: 270px; object-fit: contain; object-position: center; }
.rsv2-card-badges { position: absolute; z-index: 2; top: 15px; left: 15px; display: flex; gap: 7px; }
.rsv2-card-badges span { padding: 6px 9px; border: 1px solid rgba(186, 209, 237, .8); border-radius: 99px; color: #315579; background: rgba(255, 255, 255, .9); font-size: .65rem; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; backdrop-filter: blur(5px); }
.rsv2-image-placeholder { display: grid; width: 100%; min-height: 270px; place-items: center; color: var(--rv2-muted); }
.rsv2-card-body { display: flex; flex: 1; flex-direction: column; padding: 23px; }
.rsv2-plan-type { margin: 0 0 8px; color: var(--rv2-blue); font-size: .68rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.rsv2-card h3 { margin: 0; color: var(--rv2-navy); font-size: 1.25rem; line-height: 1.3; letter-spacing: -.02em; }
.rsv2-card h3 span { color: #47617f; font-weight: 680; }
.rsv2-equipment-type { margin: 9px 0 0; color: var(--rv2-muted); font-size: .8rem; }
.rsv2-pages { display: flex; align-items: center; gap: 11px; margin: 20px 0; padding: 13px; border-radius: 12px; background: var(--rv2-soft); }
.rsv2-pages > span { display: grid; flex: 0 0 37px; width: 37px; height: 37px; place-items: center; border-radius: 10px; color: var(--rv2-blue); background: #fff; box-shadow: 0 4px 13px rgba(30, 69, 119, .07); }
.rsv2-pages p { display: grid; gap: 2px; margin: 0; }
.rsv2-pages small { color: var(--rv2-muted); font-size: .66rem; }
.rsv2-pages strong { color: var(--rv2-ink); font-size: .83rem; }
.rsv2-card-footer { display: flex; align-items: flex-end; justify-content: space-between; gap: 14px; margin-top: auto; padding-top: 16px; border-top: 1px solid #e3ebf5; }
.rsv2-card-footer > p { display: flex; align-items: baseline; gap: 5px; margin: 0; }
.rsv2-card-footer > p strong { color: var(--rv2-blue); font-size: 1.65rem; line-height: 1; }
.rsv2-card-footer > p span { color: var(--rv2-muted); font-size: .68rem; }
.rsv2-card-cta { display: inline-flex; align-items: center; gap: 7px; color: var(--rv2-blue); font-size: .75rem; font-weight: 850; white-space: nowrap; }
.rsv2-card-link:hover .rsv2-card-cta { color: var(--rv2-blue-dark); }
.rsv2-empty { grid-column: 1 / -1; display: grid; justify-items: center; padding: 70px 25px; border: 1px dashed #b9cce4; border-radius: 20px; background: #f8fbff; text-align: center; }
.rsv2-empty > span { display: grid; width: 55px; height: 55px; place-items: center; border-radius: 16px; color: var(--rv2-blue); background: #e9f2ff; font-size: 1.55rem; }
.rsv2-empty h2 { margin: 18px 0 5px; color: var(--rv2-navy); }
.rsv2-empty p { margin: 0; color: var(--rv2-muted); }
.rsv2-empty a { margin-top: 18px; color: var(--rv2-blue); font-weight: 800; }

@media (max-width: 1050px) {
  .rsv2-filter-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rsv2-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 680px) {
  .rsv2-container { width: min(100% - 28px, 1320px); }
  .rsv2-hero { padding: 52px 0 88px; }
  .rsv2-hero h1 { font-size: clamp(2.5rem, 12vw, 3.55rem); }
  .rsv2-hero > .rsv2-container > p:not(.rsv2-kicker) { font-size: .96rem; }
  .rsv2-hero ul { display: grid; gap: 10px; }
  .rsv2-catalog { margin-top: -42px; }
  .rsv2-filter { padding: 20px 17px; border-radius: 17px; }
  .rsv2-filter-heading, .rsv2-results-heading { display: grid; gap: 13px; }
  .rsv2-filter-grid, .rsv2-grid { grid-template-columns: 1fr; }
  .rsv2-filter-actions { display: grid; }
  .rsv2-filter-actions button { justify-content: center; width: 100%; }
  .rsv2-filter-actions a { justify-content: center; }
  .rsv2-results-heading { margin-top: 42px; }
  .rsv2-results-heading > p { text-align: left; }
  .rsv2-card-link { min-height: 0; }
  .rsv2-card-media { min-height: 280px; }
  .rsv2-card-media img { height: 245px; }
  .rsv2-card-footer { align-items: center; }
}

@media (prefers-reduced-motion: reduce) {
  .rsv2-card-link, .rsv2-filter-actions button { transition: none; }
}