/*
Theme Name: Ruvaro
Theme URI: https://ruvaro.ru
Description: Ruvaro child theme for ListingHive and HivePress.
Author: Ruvaro
Version: 1.26.1
Template: listinghive
Text Domain: ruvaro
*/
:root{--rv-blue:#1266ed;--rv-orange:#ff7900;--rv-ink:#14213b;--rv-muted:#718096;--rv-bg:#f5f8fc}body.ruvaro-landing{margin:0;background:var(--rv-bg);color:var(--rv-ink);font-family:system-ui,-apple-system,'Segoe UI',sans-serif;font-size:15px}body.ruvaro-landing *{box-sizing:border-box}body.ruvaro-landing a{text-decoration:none}body.ruvaro-landing .rv-header{background:#fff;border-bottom:1px solid #e8edf6}body.ruvaro-landing .rv-header-inner{max-width:1360px;margin:auto;min-height:76px;padding:10px 22px;display:flex;align-items:center;gap:30px;justify-content:space-between}.rv-logo{display:flex;align-items:center;gap:10px;color:#102b61!important;font-size:26px;font-weight:800;letter-spacing:-1px}.rv-logo-mark{display:grid;place-items:center;background:var(--rv-blue);color:#fff;width:42px;height:42px;border-radius:13px;font-weight:900}.rv-logo small{display:block;font-size:10px;font-weight:500;letter-spacing:0;color:#789}.rv-header-location{font-size:13px;color:#526b92!important}.rv-header-actions{display:flex;gap:22px;align-items:center}.rv-header-actions>a:not(.rv-button){color:#263a5e;font-size:14px}.rv-home{width:min(100% - 36px,1360px);margin:0 auto;padding:26px 0 70px}.rv-hero{position:relative;overflow:hidden;border-radius:22px;background:linear-gradient(115deg,#dcecff 0%,#e9f4ff 58%,#f7fbff 100%);min-height:270px;padding:35px 42px;display:flex;align-items:center}.rv-hero-content{position:relative;z-index:1;width:100%}.rv-eyebrow{font-size:11px;font-weight:800;letter-spacing:1.8px;color:#3778d5}.rv-hero h1{font-size:clamp(26px,3.1vw,43px);line-height:1.14;margin:11px 0;color:#10244c;max-width:850px}.rv-hero p{margin:0 0 23px;color:#526888;font-size:16px}.rv-hero-decor{position:absolute;right:5%;top:12%;color:#9cc6ff;opacity:.4;font-size:130px;display:flex;gap:0;transform:rotate(-12deg)}.rv-search{display:flex;gap:10px;max-width:900px}.rv-search input,.rv-search select{background:#fff;border:1px solid #dce5f2;border-radius:11px;padding:14px 15px;min-width:0;height:48px}.rv-search input{flex:1}.rv-search select{width:190px}.rv-button{display:inline-flex;justify-content:center;align-items:center;background:var(--rv-blue);color:#fff!important;border:0;border-radius:10px;padding:12px 21px;font-weight:700;cursor:pointer;white-space:nowrap}.rv-button--orange{background:var(--rv-orange)}.rv-section{margin-top:30px}.rv-section-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}.rv-section h2{font-size:23px;font-weight:750;margin:0;color:#132b52}.rv-section-head a{color:var(--rv-blue);font-size:13px}.rv-categories{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:11px}.rv-category{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;min-height:112px;text-align:center;padding:13px 5px;background:#fff;border:1px solid #e5ebf3;border-radius:15px;color:var(--rv-ink)!important;box-shadow:0 3px 12px #18345c0b;font-weight:600;font-size:12px}.rv-category:hover{border-color:#96bbff}.rv-category-icon{display:grid;place-items:center;width:48px;height:48px;background:#eaf2ff;border-radius:13px;color:var(--rv-blue);font-size:26px}.rv-adbar{background:linear-gradient(100deg,#e3efff,#edf5ff);border-radius:14px;padding:22px 26px;display:flex;align-items:center;justify-content:space-between;gap:15px;margin:28px 0}.rv-adbar strong{display:block;font-size:19px;color:#143769}.rv-adbar span{display:block;color:#637a9c;font-size:13px;margin-top:4px}.rv-adbar a{color:#075ee0;font-weight:700}.rv-content-layout{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:19px}.rv-listing-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;align-content:start}.rv-listing{display:block;overflow:hidden;border-radius:14px;background:#fff;border:1px solid #e6edf5;box-shadow:0 3px 13px #1639630a;color:#1d3153!important;min-width:0}.rv-listing-media{aspect-ratio:4/3;background:#edf2f9;overflow:hidden}.rv-listing-media img{display:block;width:100%;height:100%;object-fit:cover}.rv-no-photo{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:#a2b3cb}.rv-no-photo span{font-size:55px;line-height:1}.rv-no-photo small{font-size:11px}.rv-listing-body{display:flex;flex-direction:column;gap:7px;padding:12px 12px 15px}.rv-price{font-size:17px;color:#142a4d}.rv-listing-title{font-size:13px;line-height:1.35;font-weight:600;min-height:35px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.rv-listing-date{font-size:11px;color:#94a2b7}.rv-sidebar{display:flex;flex-direction:column;gap:15px}.rv-sidebar-ad{position:relative;overflow:hidden;min-height:290px;border-radius:15px;padding:23px;background:linear-gradient(145deg,#067de9,#083b89);color:#fff}.rv-sidebar-ad>span:first-child{font-size:10px;letter-spacing:1.5px;opacity:.8}.rv-sidebar-ad strong{display:block;font-size:22px;line-height:1.18;margin:20px 0}.rv-sidebar-ad p{font-size:13px;opacity:.85}.rv-ad-illustration{position:absolute;bottom:-45px;right:5px;font-size:180px;opacity:.18}.rv-sidebar-info{background:#e5f0ff;border-radius:14px;padding:20px;color:#1a427d}.rv-sidebar-info p{font-size:13px;margin-bottom:0}.rv-empty{grid-column:1/-1;background:#fff;padding:45px;border:1px dashed #b8c9df;border-radius:14px;color:#647c9f;text-align:center}.rv-adslots{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:26px}.rv-adslots>div{border:1px dashed #adc5e8;background:#edf5ff;border-radius:12px;padding:25px;color:#7189a9;text-align:center;font-size:13px}.rv-footer{background:#152944;color:#d6e3f7}.rv-footer-inner{max-width:1360px;margin:auto;padding:24px;display:flex;align-items:center;justify-content:space-between;gap:12px}.rv-footer strong{font-size:22px}.rv-footer span{font-size:12px}.rv-mobile-nav{display:none}
@media(max-width:1100px){.rv-categories{grid-template-columns:repeat(5,minmax(0,1fr))}.rv-content-layout{grid-template-columns:minmax(0,1fr) 220px}.rv-listing-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.rv-header-location{display:none}}
@media(max-width:760px){.rv-header-inner{min-height:64px!important;padding:9px 14px!important}.rv-logo{font-size:23px}.rv-logo-mark{width:36px;height:36px}.rv-header-actions>a:not(.rv-button){display:none}.rv-header-actions .rv-button{padding:10px;font-size:11px}.rv-home{width:calc(100% - 24px);padding:12px 0 92px}.rv-hero{padding:23px 17px;min-height:0;border-radius:15px}.rv-hero h1{font-size:27px}.rv-hero p{font-size:13px}.rv-hero-decor{display:none}.rv-search{flex-wrap:wrap}.rv-search input{flex-basis:100%}.rv-search select{flex:1;width:auto}.rv-search button{flex:0 0 auto}.rv-categories{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.rv-category{min-height:99px;font-size:11px}.rv-category-icon{width:42px;height:42px;font-size:23px}.rv-section h2{font-size:20px}.rv-adbar{padding:17px;flex-direction:column;align-items:flex-start}.rv-adbar strong{font-size:16px}.rv-content-layout{grid-template-columns:1fr}.rv-listing-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.rv-sidebar{display:none}.rv-listing-body{padding:10px}.rv-price{font-size:15px}.rv-adslots{grid-template-columns:1fr}.rv-footer{padding-bottom:65px}.rv-mobile-nav{position:fixed;display:flex;justify-content:space-around;align-items:center;bottom:0;left:0;right:0;background:#fff;box-shadow:0 -4px 20px #10254b1c;z-index:999;padding:9px 4px max(9px,env(safe-area-inset-bottom))}.rv-mobile-nav a{font-size:11px;color:#53637e;text-align:center;flex:1}.rv-mobile-nav a b{display:block;font-size:21px;color:var(--rv-blue)}}

/* v1.2: consistent shell for home, listing pages and HivePress forms */
body.ruvaro-site{background:#f6f9fd;color:#14213b;font-family:system-ui,-apple-system,'Segoe UI',sans-serif}
body.ruvaro-site .rv-header{background:#fff;border-bottom:1px solid #e6edf5;position:relative;z-index:20}
body.ruvaro-site .rv-header-inner{max-width:1360px;margin:auto;min-height:82px;padding:12px 24px;display:flex;align-items:center;justify-content:space-between;gap:25px}
body.ruvaro-site .rv-logo{display:flex;align-items:center;gap:10px;color:#102b61!important;font-size:26px;font-weight:800;letter-spacing:-1px;text-decoration:none}
body.ruvaro-site .rv-logo-mark{display:grid;place-items:center;background:#1266ed;color:#fff;width:42px;height:42px;border-radius:13px;font-weight:900}
body.ruvaro-site .rv-logo small{display:block;font-size:10px;font-weight:500;letter-spacing:0;color:#789}
body.ruvaro-site .rv-header-location{font-size:13px;color:#526b92}
body.ruvaro-site .rv-header-actions{display:flex;align-items:center;gap:22px}
body.ruvaro-site .rv-header-actions>a:not(.rv-button){font-size:14px;color:#263a5e;text-decoration:none}
body.ruvaro-site .rv-header-actions .rv-button{background:#ff7900;color:#fff!important;text-decoration:none;border-radius:10px;padding:12px 18px;font-size:14px}
body.ruvaro-site .rv-footer{background:#152944;color:#d6e3f7;margin-top:50px}
body.ruvaro-site .rv-footer-inner{max-width:1360px;margin:auto;padding:24px;display:flex;justify-content:space-between;align-items:center;gap:12px}
body.ruvaro-site .rv-footer strong{font-size:22px}
body.ruvaro-site .rv-footer span{font-size:12px}
body.ruvaro-site .rv-mobile-nav{display:none}
body.ruvaro-site .rv-listing-city{color:#6b7e99;font-size:12px}
body.ruvaro-site .rv-listing-grid .rv-listing{transition:transform .15s,box-shadow .15s}
body.ruvaro-site .rv-listing-grid .rv-listing:hover{transform:translateY(-2px);box-shadow:0 8px 22px #16396319}
/* ListingHive detail page: keep plugin controls and forms intact. */
body.ruvaro-site.single-hp_listing .hp-page__content{min-width:0}
body.ruvaro-site.single-hp_listing .hp-listing__attributes--primary{font-weight:700;color:#152c52}
body.ruvaro-site.single-hp_listing .hp-listing__attributes--primary .hp-listing__attribute{font-size:20px}
body.ruvaro-site .hp-listing__images img{max-width:100%;height:auto}
@media(max-width:1100px){body.ruvaro-site .rv-header-location{display:none}}
@media(max-width:760px){
 body.ruvaro-site .rv-header-inner{min-height:65px;padding:9px 14px;gap:10px}
 body.ruvaro-site .rv-logo{font-size:22px}
 body.ruvaro-site .rv-logo-mark{width:36px;height:36px}
 body.ruvaro-site .rv-header-actions>a:not(.rv-button){display:none}
 body.ruvaro-site .rv-header-actions .rv-button{font-size:11px;padding:10px}
 body.ruvaro-site .rv-footer{padding-bottom:65px}
 body.ruvaro-site .rv-mobile-nav{position:fixed;display:flex;justify-content:space-around;align-items:center;bottom:0;left:0;right:0;background:#fff;box-shadow:0 -4px 20px #10254b1c;z-index:999;padding:9px 4px max(9px,env(safe-area-inset-bottom))}
 body.ruvaro-site .rv-mobile-nav a{font-size:11px;color:#53637e;text-align:center;flex:1;text-decoration:none}
 body.ruvaro-site .rv-mobile-nav a b{display:block;font-size:21px;color:#1266ed}
}
/* Ruvaro 1.3 */
body.ruvaro-site.admin-bar .rv-header{top:0}
body.ruvaro-site.single-hp_listing .hp-listing__images{max-height:540px;overflow:hidden;border-radius:14px}
body.ruvaro-site.single-hp_listing .hp-listing__images img{max-height:540px;object-fit:contain}
.rv-contact-card{background:#fff;border:1px solid #e2eaf4;border-radius:14px;padding:22px;margin:18px 0;display:flex;flex-direction:column;gap:12px;box-shadow:0 3px 12px #1639630b}
.rv-contact-card strong{font-size:18px;color:#152c52}.rv-contact-card a,.rv-contact-card button{display:block;text-align:center;border:0;border-radius:9px;padding:12px 14px;font-weight:700;text-decoration:none;cursor:pointer;background:#1266ed;color:#fff}.rv-contact-card .rv-contact-wa{background:#159e61;color:#fff}.rv-contact-card .rv-contact-max{background:#2767e8;color:#fff}
.rv-contact-settings{max-width:650px;margin:45px auto;background:#fff;border-radius:14px;padding:30px}.rv-contact-settings form{display:grid;gap:18px}.rv-contact-settings label{display:grid;gap:7px;font-weight:600}.rv-contact-settings input[type=tel],.rv-contact-settings input[type=url]{width:100%;padding:12px;border:1px solid #d4dce8;border-radius:8px}.rv-contact-settings .rv-contact-check{display:flex;align-items:center;font-weight:400}.rv-contact-settings button{background:#1266ed;color:white;border:0;border-radius:9px;padding:13px;cursor:pointer}.rv-contact-ok{color:#128044}

.rv-copy-phone{display:block;width:100%;margin-top:10px;padding:12px;border:1px solid #d7dfe6;border-radius:9px;background:#fff;cursor:pointer}

/* v1.3.2: prevent ListingHive sticky sidebar widgets from overlapping on scroll */
body.ruvaro-site.single-hp_listing .hp-page__sidebar,
body.ruvaro-site.single-hp_listing .hp-page__sidebar > *,
body.ruvaro-site.single-hp_listing .hp-col-sm-4,
body.ruvaro-site.single-hp_listing .hp-col-sm-4 > * {position:static!important;top:auto!important;transform:none!important;}
body.ruvaro-site.single-hp_listing .hp-page__sidebar .rv-contact-card,
body.ruvaro-site.single-hp_listing .hp-col-sm-4 .rv-contact-card{clear:both;position:relative!important;z-index:1;margin:18px 0;}
body.ruvaro-site.single-hp_listing .rv-contact-card .rv-copy-phone{margin-top:0;}

/* Ruvaro 1.4 — listing details, compact seller and responsive enhancements */
body.ruvaro-site.single-hp_listing .hp-page__sidebar .hp-vendor,
body.ruvaro-site.single-hp_listing .hp-col-sm-4 .hp-vendor {padding:18px!important;}
body.ruvaro-site.single-hp_listing .hp-vendor__image,
body.ruvaro-site.single-hp_listing .hp-vendor__image .hp-vendor__image-wrapper {width:64px!important;height:64px!important;max-width:64px!important;max-height:64px!important;margin:0 auto 9px!important;}
body.ruvaro-site.single-hp_listing .hp-vendor__image img,
body.ruvaro-site.single-hp_listing .hp-vendor__image .hp-image,
body.ruvaro-site.single-hp_listing .hp-vendor__image .hp-vendor__image-wrapper img {width:64px!important;height:64px!important;object-fit:cover!important;border-radius:50%!important;}
body.ruvaro-site.single-hp_listing .hp-vendor__name {font-size:18px!important;margin:6px 0!important;}
body.ruvaro-site.single-hp_listing .hp-vendor__details {padding:8px 0!important;}
body.ruvaro-site.single-hp_listing .hp-vendor .hp-block__content {padding:8px 0!important;}
body.ruvaro-site.single-hp_listing .hp-listing__description {background:#fff;border:1px solid #e2eaf4;border-radius:14px;padding:23px 26px;margin:25px 0 30px;font-size:16px;line-height:1.75;color:#263a55;overflow-wrap:anywhere;white-space:pre-line;box-shadow:0 3px 12px #1639630a;}
body.ruvaro-site.single-hp_listing .hp-listing__description::before {content:'Описание';display:block;font-size:22px;font-weight:750;color:#152c52;line-height:1.4;margin-bottom:15px;padding-bottom:12px;border-bottom:1px solid #e9eef6;}
body.ruvaro-site.single-hp_listing .hp-listing__description p {margin:0 0 12px;white-space:pre-line;}
body.ruvaro-site.single-hp_listing .hp-listing__description p:last-child {margin-bottom:0;}
body.ruvaro-site.single-hp_listing .hp-listing__description ul {list-style:disc;padding-left:24px;}
body.ruvaro-site.single-hp_listing .hp-listing__description ol {list-style:decimal;padding-left:24px;}
body.ruvaro-site.single-hp_listing .hp-listing__description a {color:#1266ed;text-decoration:underline;}
body.ruvaro-site.single-hp_listing .rv-contact-card {padding:19px;gap:10px;}
body.ruvaro-site.single-hp_listing .rv-contact-card strong {font-size:17px;}
body.ruvaro-site.single-hp_listing .rv-contact-card .rv-reveal-phone {background:#159e61;color:#fff;}
body.ruvaro-site.single-hp_listing .rv-contact-card .rv-copy-phone {background:#edf4ff!important;color:#1654a3!important;border:1px solid #d3e2fa!important;}
body.ruvaro-site.single-hp_listing .rv-contact-card .rv-copy-phone:hover {background:#e2eeff!important;}
body.ruvaro-site.single-hp_listing .rv-contact-card .rv-contact-wa {background:#138c59;}
body.ruvaro-site.single-hp_listing .rv-contact-card a[href^='tel:'] {background:#159e61;color:#fff;}
.rv-city-filter {display:flex;flex-wrap:wrap;gap:9px;margin:0 0 17px;}
.rv-city-filter a {display:inline-flex;align-items:center;padding:8px 14px;background:#fff;border:1px solid #dce6f5;border-radius:20px;color:#425b7b;text-decoration:none;font-size:13px;font-weight:600;}
.rv-city-filter a[aria-current='true'] {background:#1266ed;border-color:#1266ed;color:#fff;}
.rv-city-filter a:hover {border-color:#1266ed;}
.rv-listing-media img {width:100%;height:100%;object-fit:cover;}
.rv-listing {min-width:0;}
.rv-listing-title {overflow-wrap:anywhere;}
@media(max-width:760px){
 body.ruvaro-site.single-hp_listing .hp-listing__description {padding:17px;font-size:15px;margin:18px 0;}
 body.ruvaro-site.single-hp_listing .hp-listing__description::before {font-size:19px;}
 body.ruvaro-site.single-hp_listing .rv-contact-card {padding:15px;}
 .rv-city-filter {gap:6px;}
 .rv-city-filter a {padding:7px 10px;font-size:12px;}
}

/* Ruvaro 1.4.1 — truly compact vendor panel */
body.ruvaro-site.single-hp_listing .hp-page__sidebar .hp-vendor,
body.ruvaro-site.single-hp_listing .hp-col-sm-4 .hp-vendor,
body.ruvaro-site.single-hp_listing .hp-vendor--view-block {min-height:0!important;height:auto!important;padding:12px 15px!important;margin-bottom:12px!important;}
body.ruvaro-site.single-hp_listing .hp-vendor .hp-block__content,
body.ruvaro-site.single-hp_listing .hp-vendor__content,
body.ruvaro-site.single-hp_listing .hp-vendor__details {min-height:0!important;height:auto!important;padding:0!important;margin:0!important;}
body.ruvaro-site.single-hp_listing .hp-vendor__image,
body.ruvaro-site.single-hp_listing .hp-vendor__image .hp-vendor__image-wrapper {width:48px!important;height:48px!important;max-width:48px!important;max-height:48px!important;margin:0 10px 0 0!important;float:left!important;}
body.ruvaro-site.single-hp_listing .hp-vendor__image img,
body.ruvaro-site.single-hp_listing .hp-vendor__image .hp-image {width:48px!important;height:48px!important;}
body.ruvaro-site.single-hp_listing .hp-vendor__name {font-size:16px!important;margin:3px 0!important;}
body.ruvaro-site.single-hp_listing .hp-vendor__details:after,
body.ruvaro-site.single-hp_listing .hp-vendor .hp-block__content:after {content:'';display:block;clear:both;}
body.ruvaro-site.single-hp_listing .hp-vendor__footer {min-height:0!important;padding:0!important;margin:0!important;border:0!important;}
.rv-profile-contacts {max-width:620px;margin:24px 0;padding:22px;background:#fff;border:1px solid #dde7f4;border-radius:14px;box-shadow:0 2px 12px #142b4a0a;}
.rv-profile-contacts h2 {font-size:21px;margin:0 0 8px;}
.rv-profile-contacts .rv-contact-settings {margin:0;}
.rv-profile-contacts .rv-contact-settings h2 {display:none;}
.rv-profile-contacts input[type=tel] {width:100%;max-width:400px;display:block;padding:11px 13px;border:1px solid #d5e0ef;border-radius:8px;margin:8px 0 13px;}
.rv-profile-contacts button[type=submit] {background:#1266ed;color:white;border:0;border-radius:8px;padding:11px 20px;cursor:pointer;}
body.ruvaro-site {overflow-x:clip;}

/* v1.4.2: footer at viewport bottom on short pages */
html {min-height:100%;}
body.ruvaro-site {min-height:100vh;display:flex;flex-direction:column;}
body.ruvaro-site > .rv-footer {margin-top:auto!important;flex-shrink:0;}
body.ruvaro-site > .site-container,body.ruvaro-site > .site-content,body.ruvaro-site > .hp-page,body.ruvaro-site > main {flex:1 0 auto;}
/* Profile settings contact fields */
.rv-account-contacts {margin:22px 0 16px;padding:19px 20px;border:1px solid #dfe8f4;border-radius:12px;background:#fff;}
.rv-account-contacts h3 {font-size:18px;margin:0 0 16px;color:#142a4d;}
.rv-account-contacts > label:not(.rv-account-wa) {display:block;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;margin-bottom:7px;}
.rv-account-contacts input[type=tel] {width:100%;height:45px;padding:10px 13px;border:1px solid #d7e2f0;border-radius:7px;box-sizing:border-box;}
.rv-account-contacts small {display:block;margin:7px 0 15px;color:#6c7e97;font-size:12px;}
.rv-account-contacts .rv-account-wa {display:flex;align-items:center;gap:9px;font-size:14px;cursor:pointer;}
.rv-account-contacts .rv-account-wa input {width:17px;height:17px;}
#rv-account-contacts-status {font-size:13px;margin:10px 0 0;color:#1b7452;}
/* compact vendor block: override parent internal padding, not only avatar */
body.ruvaro-site.single-hp_listing .hp-vendor--view-block .hp-vendor__content,
body.ruvaro-site.single-hp_listing .hp-vendor--view-block .hp-vendor__header {padding:12px!important;min-height:0!important;}
body.ruvaro-site.single-hp_listing .hp-vendor--view-block .hp-vendor__image {width:48px!important;height:48px!important;}

/* v1.4.3: account contacts visually align with HivePress fields */
body.ruvaro-site .rv-account-contacts {margin:18px 0 23px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;width:100%;max-width:none;}
body.ruvaro-site .rv-account-contacts h3 {font-size:16px;margin:0 0 13px;}
body.ruvaro-site .rv-account-contacts input[type=tel] {width:100%;height:43px;}
body.ruvaro-site .rv-account-contacts small {margin:6px 0 12px;}

/* Ruvaro 1.5: searchable catalog */
.rv-catalog{width:min(100% - 36px,1360px);margin:0 auto;padding:30px 0 70px;min-width:0}
.rv-catalog-intro{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}
.rv-catalog-intro h1{font-size:clamp(27px,3vw,38px);margin:8px 0;color:#152b4e}
.rv-catalog-intro p{color:#6b7f99;margin:0}
.rv-catalog-search{background:#fff;border:1px solid #e0e8f4;border-radius:16px;padding:20px;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:13px;box-shadow:0 3px 16px #173f700a}
.rv-catalog-search label{display:flex;flex-direction:column;gap:7px;min-width:0;font-size:12px;font-weight:700;color:#4c6080}
.rv-catalog-search .rv-catalog-keyword{grid-column:span 2}
.rv-catalog-search input,.rv-catalog-search select{width:100%;min-width:0;height:44px;border:1px solid #dce5f2;border-radius:9px;background:#fff;padding:9px 11px;font-size:14px;color:#172f52;box-sizing:border-box}
.rv-catalog-actions{grid-column:1/-1;display:flex;align-items:center;gap:18px}
.rv-catalog-actions>a{color:#607895;font-size:13px;text-decoration:none}
.rv-catalog-results-head{display:flex;justify-content:space-between;align-items:center;margin:27px 0 16px;gap:15px}
.rv-catalog-results-head h2{font-size:23px;color:#152b4e;margin:0}
.rv-catalog-results-head small{color:#7c8ea7;font-size:16px;margin-left:7px}
.rv-catalog-results-head>span{font-size:12px;color:#8493a8}
.rv-catalog-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;align-items:start}
.rv-catalog-grid .rv-listing{height:100%}
.rv-listing-city{color:#697d99;font-size:12px}
.rv-price--ask{color:#8290a5;font-size:13px}
.rv-pagination{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin:30px 0}
.rv-pagination a{display:grid;place-items:center;min-width:39px;height:39px;padding:0 9px;border:1px solid #dce5f2;border-radius:9px;background:#fff;color:#25476f;text-decoration:none}
.rv-pagination a[aria-current=page]{background:#1266ed;color:#fff;border-color:#1266ed}
.rv-search select{width:160px}
@media(max-width:1100px){.rv-catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.rv-catalog-search{grid-template-columns:repeat(3,minmax(0,1fr))}.rv-catalog-search .rv-catalog-keyword{grid-column:span 2}}
@media(max-width:760px){.rv-catalog{width:calc(100% - 24px);padding:18px 0 95px}.rv-catalog-intro{align-items:flex-start}.rv-catalog-intro>.rv-button{display:none}.rv-catalog-search{grid-template-columns:repeat(2,minmax(0,1fr));padding:13px;gap:11px}.rv-catalog-search .rv-catalog-keyword{grid-column:1/-1}.rv-catalog-search label:nth-child(3){grid-column:1/-1}.rv-catalog-search label:nth-child(6){grid-column:1/-1}.rv-catalog-actions .rv-button{flex:1}.rv-catalog-results-head>span{display:none}.rv-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.rv-search select{width:auto;flex:1 1 42%;font-size:12px}.rv-search button{flex:1 1 100%}}

/* Ruvaro official brand kit v1.5.2 */
body.ruvaro-site .rv-logo{display:inline-flex;align-items:center;flex:0 0 auto;line-height:1;text-decoration:none;}
body.ruvaro-site .rv-brand-image{display:block;width:166px;height:auto;max-height:54px;object-fit:contain;object-position:left center;}
body.ruvaro-site .rv-footer-logo{display:block;width:115px;height:auto;max-height:38px;object-fit:contain;object-position:left center;}
@media(max-width:760px){body.ruvaro-site .rv-brand-image{width:122px;max-height:43px;}body.ruvaro-site .rv-footer-logo{width:100px;}}

/* Ruvaro 1.6: compact filters and saved listings */
.rv-listing-wrap{position:relative;min-width:0;height:100%}
.rv-listing-wrap>.rv-listing{height:100%}
.rv-favorite{position:absolute;top:10px;right:10px;z-index:3;display:grid;place-items:center;width:37px;height:37px;padding:0;border:1px solid #dce6f5;border-radius:50%;background:#fff;color:#647b99;font-size:25px;line-height:1;box-shadow:0 2px 8px #0c254321;cursor:pointer;transition:transform .15s,color .15s}
.rv-favorite:hover{transform:scale(1.08)}.rv-favorite.is-saved{color:#f04466}.rv-favorite:disabled{opacity:.65;cursor:wait}
.rv-catalog-search{grid-template-columns:repeat(12,minmax(0,1fr));gap:12px;padding:17px}
.rv-catalog-search .rv-catalog-keyword{grid-column:span 4}
.rv-catalog-search>label:not(.rv-catalog-keyword):not(.rv-sort-field){grid-column:span 2}
.rv-catalog-search .rv-sort-field{grid-column:span 3}
.rv-catalog-actions{grid-column:span 9;align-self:end;min-height:44px}
.rv-catalog-actions .rv-button{min-height:44px}
.rv-catalog-grid .rv-listing-wrap{height:100%}
.rv-favorites-page .rv-empty{margin-top:25px}
@media(max-width:1100px){.rv-catalog-search{grid-template-columns:repeat(6,minmax(0,1fr))}.rv-catalog-search .rv-catalog-keyword{grid-column:span 6}.rv-catalog-search>label:not(.rv-catalog-keyword):not(.rv-sort-field){grid-column:span 3}.rv-catalog-search .rv-sort-field{grid-column:span 3}.rv-catalog-actions{grid-column:span 3}}
@media(max-width:760px){.rv-catalog-search{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.rv-catalog-search .rv-catalog-keyword{grid-column:span 2}.rv-catalog-search>label:not(.rv-catalog-keyword):not(.rv-sort-field){grid-column:span 1}.rv-catalog-search .rv-sort-field{grid-column:span 2}.rv-catalog-actions{grid-column:span 2}.rv-favorite{width:34px;height:34px;font-size:23px}.rv-header-actions .rv-favorites-nav{display:none}}

/* Ruvaro 1.7: collapsible category navigation */
.rv-catalog-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:26px;align-items:start;margin-top:24px}
.rv-catalog-sidebar{min-width:0}.rv-category-panel{background:#fff;border:1px solid #e0e8f4;border-radius:15px;padding:20px 14px;box-shadow:0 3px 16px #173f700a}
.rv-category-panel h2{font-size:18px;color:#152b4e;margin:0 8px 15px}
.rv-category-all{display:block;padding:10px 12px;border-radius:9px;color:#243b5c;font-weight:700;font-size:14px;text-decoration:none}
.rv-category-all.is-active,.rv-category-tree-item.is-active>a{background:#e9f2ff;color:#1266ed;font-weight:700}
.rv-category-tree{list-style:none;padding:0;margin:0}.rv-category-tree-item{position:relative;display:flex;align-items:center;flex-wrap:wrap;min-width:0}
.rv-category-tree-item>a{display:block;flex:1;min-width:0;padding:9px 5px;border-radius:8px;color:#243b5c;font-size:14px;line-height:1.25;text-decoration:none}
.rv-category-tree-item>a:hover,.rv-category-all:hover{background:#f0f5fd;color:#1266ed}
.rv-tree-toggle{width:24px;min-width:24px;height:30px;padding:0;border:0;background:transparent;color:#54739a;font-size:17px;cursor:pointer}
.rv-tree-spacer{width:24px;min-width:24px}.rv-tree-children{width:100%;padding-left:13px}.rv-tree-children[hidden]{display:none!important}
.rv-category-tree--depth-1 .rv-category-tree-item>a{font-size:13px}.rv-category-tree--depth-2 .rv-category-tree-item>a{font-size:12px}
.rv-catalog-results{min-width:0}.rv-catalog-results-head{margin-top:0}.rv-catalog-results .rv-catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.rv-mobile-filter-toggle{display:none}
.rv-catalog-search{grid-template-columns:repeat(10,minmax(0,1fr))}.rv-catalog-search .rv-catalog-keyword{grid-column:span 4}.rv-catalog-search>label:not(.rv-catalog-keyword):not(.rv-sort-field){grid-column:span 2}.rv-catalog-search .rv-sort-field{grid-column:span 3}.rv-catalog-actions{grid-column:span 7}
@media(max-width:1100px){.rv-catalog-layout{grid-template-columns:225px minmax(0,1fr);gap:16px}.rv-catalog-results .rv-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rv-catalog-search{grid-template-columns:repeat(6,minmax(0,1fr))}.rv-catalog-search .rv-catalog-keyword{grid-column:span 6}.rv-catalog-search>label:not(.rv-catalog-keyword):not(.rv-sort-field){grid-column:span 3}.rv-catalog-search .rv-sort-field{grid-column:span 3}.rv-catalog-actions{grid-column:span 3}}
@media(max-width:760px){.rv-catalog-layout{display:block;margin-top:15px}.rv-mobile-filter-toggle{display:block;width:100%;text-align:left;border:1px solid #dce5f2;background:#fff;border-radius:10px;padding:13px 16px;color:#163d75;font-weight:700;cursor:pointer}.rv-category-panel{display:none;margin-top:8px;margin-bottom:16px}.rv-category-panel.is-open{display:block}.rv-catalog-results-head{margin-top:19px}.rv-catalog-results .rv-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rv-catalog-search{grid-template-columns:repeat(2,minmax(0,1fr))}.rv-catalog-search .rv-catalog-keyword{grid-column:span 2}.rv-catalog-search>label:not(.rv-catalog-keyword):not(.rv-sort-field){grid-column:span 1}.rv-catalog-search .rv-sort-field,.rv-catalog-actions{grid-column:span 2}}

/* Ruvaro 1.8 — consistent category icons and visible mobile categories */
.rv-category-all,.rv-category-tree-item>a{display:flex!important;align-items:center;gap:9px;}
.rv-tree-icon{display:block;flex:0 0 19px;width:19px;height:19px;color:#46658f;stroke-width:1.8}
.rv-category-tree-item.is-active>a .rv-tree-icon,.rv-category-all.is-active .rv-tree-icon{color:#1266ed}
.rv-category-tree-item>a .rv-tree-label{flex:1;min-width:0}
.rv-category-tree-item>a:hover .rv-tree-icon{color:#1266ed}
.rv-category-tree--depth-1 .rv-tree-icon{width:17px;height:17px;flex-basis:17px}
@media(max-width:760px){
 .rv-category-panel{display:block;margin-top:8px;margin-bottom:16px}
 .rv-category-panel:not(.is-open){display:none}
 .rv-mobile-filter-toggle{background:#eaf2ff;border-color:#b6d0fa;color:#1266ed}
}

/* Ruvaro 1.9: compact categories and unified pictograms */
.rv-category-tree-item>a{gap:8px!important}.rv-tree-icon{color:#37639a!important;stroke-width:1.8;flex-shrink:0}.rv-category-tree-item.is-active>a .rv-tree-icon,.rv-category-all.is-active .rv-tree-icon{color:#1266ed!important}.rv-category-panel .rv-tree-children[hidden]{display:none!important}.rv-tree-toggle:focus-visible,.rv-category-tree-item>a:focus-visible{outline:2px solid #1266ed;outline-offset:2px}.rv-category-tree--depth-1 .rv-tree-icon{width:18px;height:18px;flex-basis:18px}

/* v1.9.1 — Parent categories expand only; leaf categories are links. */
.rv-tree-parent { display:flex;align-items:center;gap:9px;flex:1;min-width:0;width:100%;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer;padding:inherit; }
.rv-tree-parent:hover { color:#165cbb; }
.rv-tree-parent .rv-tree-label { min-width:0; }
.rv-category-tree-item > .rv-tree-parent .rv-tree-icon { flex-shrink:0; }

/* v1.9.2 — one-color SVG icons on the home page */
.rv-category-icon{display:flex!important;align-items:center;justify-content:center;color:#1266ed!important;background:#eaf2ff!important;font-family:inherit!important}
.rv-home-category-svg{display:block;width:27px;height:27px;flex:none;stroke:currentColor;fill:none}
.rv-category:hover .rv-category-icon{background:#dceaff!important}
/* Keep the heart silhouette identical in both states (no font glyph switching). */
.rv-favorite{display:flex!important;align-items:center!important;justify-content:center!important;font-family:inherit!important;font-size:0!important;line-height:1!important;appearance:none;-webkit-appearance:none;border-radius:50%!important}
.rv-favorite .rv-heart-svg{display:block;width:21px;height:21px;flex:none;stroke:#6982a7;fill:none;transition:fill .15s,stroke .15s}
.rv-favorite.is-saved .rv-heart-svg{stroke:#f04466;fill:#f04466}
.rv-favorite:hover .rv-heart-svg{stroke:#f04466}
@media(max-width:760px){.rv-favorite .rv-heart-svg{width:20px;height:20px}}

/* Ruvaro v1.10 — clear, touch-friendly listing submit/edit forms */
body.ruvaro-site .rv-listing-form{max-width:920px}
body.ruvaro-site .rv-listing-form .hp-form__field{margin-bottom:24px}
body.ruvaro-site .rv-listing-form .hp-field__label{font-weight:700;color:#17365d;font-size:13px;letter-spacing:.01em}
body.ruvaro-site .rv-listing-form input[type=text],body.ruvaro-site .rv-listing-form input[type=number],body.ruvaro-site .rv-listing-form textarea,body.ruvaro-site .rv-listing-form select{border:1px solid #d5e2f3;border-radius:10px;background:#fff;min-height:46px;padding:11px 13px;box-shadow:none;max-width:100%}
body.ruvaro-site .rv-listing-form textarea{min-height:150px;line-height:1.6;resize:vertical}
body.ruvaro-site .rv-listing-form input:focus,body.ruvaro-site .rv-listing-form textarea:focus,body.ruvaro-site .rv-listing-form select:focus{border-color:#1266ed;outline:2px solid #1266ed22;outline-offset:1px}
.rv-listing-form .rv-form-hint{font-size:12px;color:#7385a0;line-height:1.5;margin-top:7px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 12px}
.rv-listing-form .rv-form-count{white-space:nowrap;color:#5476a4}
.rv-listing-form .rv-form-photo-tip{font-size:12px;color:#5476a4;background:#eef5ff;border:1px solid #dce9fc;border-radius:9px;padding:10px 12px;margin:12px 0 0}
body.ruvaro-site .rv-listing-form .hp-field--attachment-upload{border-radius:12px}
body.ruvaro-site .rv-listing-form .rv-form-submit{min-height:46px;padding:12px 25px;border-radius:10px;font-weight:700}
@media(max-width:760px){body.ruvaro-site .rv-listing-form{width:100%}body.ruvaro-site .rv-listing-form .hp-form__field{margin-bottom:19px}body.ruvaro-site .rv-listing-form input[type=text],body.ruvaro-site .rv-listing-form input[type=number],body.ruvaro-site .rv-listing-form textarea,body.ruvaro-site .rv-listing-form select{font-size:16px;width:100%}body.ruvaro-site .rv-listing-form .rv-form-submit{width:100%;min-height:52px}body.ruvaro-site .rv-listing-form .hp-field--attachment-upload>div:first-child>div{max-width:50%;flex-basis:50%}}

/* Ruvaro 1.11 — compact, accessible completion checklist */
.rv-form-checklist{background:#fff;border:1px solid #dce7f7;border-radius:13px;padding:15px 18px;margin:0 0 24px;box-shadow:0 3px 12px #163d7510}
.rv-form-checklist-head{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#17365d;font-size:14px}
.rv-form-progress-label{font-size:12px;color:#647b99;font-variant-numeric:tabular-nums}
.rv-form-progress-track{height:6px;border-radius:10px;background:#e9f0fa;overflow:hidden;margin:12px 0}
.rv-form-progress-fill{display:block;height:100%;width:0;background:#1266ed;border-radius:10px;transition:width .2s ease}
.rv-form-checklist-items{display:flex;gap:8px;flex-wrap:wrap}
.rv-form-checkitem{font-size:12px;padding:5px 10px;border-radius:20px;background:#f1f4f9;color:#7c8ba1}
.rv-form-checkitem:before{content:'○ ';font-weight:700}
.rv-form-checkitem.is-ready{background:#e7f7ef;color:#16774b}
.rv-form-checkitem.is-ready:before{content:'✓ '}
@media(max-width:760px){.rv-form-checklist{padding:13px;margin-bottom:20px}.rv-form-checklist-items{gap:6px}.rv-form-checkitem{font-size:11px;padding:5px 8px}}

/* Ruvaro 1.11.2: category wizard */
.rv-category-steps{margin:0 0 18px;display:grid;grid-template-columns:1fr 1fr;gap:7px 14px;align-items:end}
.rv-category-step-label{font-size:12px;font-weight:750;color:#17335f;margin-bottom:2px}
.rv-category-step{width:100%;min-height:43px;border:1px solid #d5e1f1;border-radius:7px;background:#fff;padding:9px 12px;color:#17335f}
.rv-category-step:disabled{background:#eef3fa;color:#899ab2}
.rv-native-category-field{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}
@media(max-width:600px){.rv-category-steps{grid-template-columns:1fr;gap:7px}.rv-category-steps .rv-category-step-label:not(:first-child){margin-top:8px}}

/* Ruvaro v1.11.3: full-width stacked category steps */
body.ruvaro-site .rv-listing-form .rv-category-steps{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:15px!important;margin:0 0 24px!important;width:100%!important;max-width:100%!important}
body.ruvaro-site .rv-listing-form .rv-category-step-group{display:block!important;width:100%!important;min-width:0!important}
body.ruvaro-site .rv-listing-form .rv-category-step-label{display:block!important;margin:0 0 8px!important;font-size:13px!important;font-weight:700!important;color:#17365d!important}
body.ruvaro-site .rv-listing-form select.rv-category-step{display:block!important;width:100%!important;max-width:100%!important;min-height:46px!important;margin:0!important;padding:10px 13px!important;box-sizing:border-box!important;background-color:#fff!important}
body.ruvaro-site .rv-listing-form select.rv-category-step:disabled{background-color:#f1f5fb!important;color:#8393a9!important}

/* Ruvaro 1.12: clearer photo upload area and publication guidance */
body.ruvaro-site .rv-listing-form .hp-field--attachment-upload,
body.ruvaro-site .rv-listing-form .hp-form__field--images .hp-field__input {
  border:1px dashed #b9d1f4;border-radius:12px;background:#f8fbff;padding:14px;box-sizing:border-box;
}
body.ruvaro-site .rv-listing-form .hp-field--attachment-upload:hover {border-color:#1266ed;background:#f2f7ff}
.rv-publish-reminder{border:1px solid #dce8f8;background:#f7faff;border-radius:12px;padding:14px 17px;margin:8px 0 18px;color:#284568;font-size:13px;line-height:1.55}
.rv-publish-reminder strong{display:block;color:#15345d;margin-bottom:4px;font-size:14px}
.rv-publish-reminder p{margin:0}
@media(max-width:760px){body.ruvaro-site .rv-listing-form .hp-field--attachment-upload,body.ruvaro-site .rv-listing-form .hp-form__field--images .hp-field__input{padding:10px}.rv-publish-reminder{padding:12px 13px}}

/* v1.13: browser validation targets the visible category selector. */
body.ruvaro-site .rv-listing-form select.rv-category-step:invalid{border-color:#e5a5a5}


/* Ruvaro 1.14: listing gallery */
.rv-gallery{width:100%;margin:0 0 24px}.rv-gallery-stage{position:relative;background:#f0f2f6;border-radius:14px;overflow:hidden;display:flex;align-items:center;justify-content:center;min-height:250px}.rv-gallery-main{display:block;width:100%;height:min(540px,56vw);min-height:250px;object-fit:contain;cursor:zoom-in}.rv-gallery-arrow{position:absolute;top:50%;transform:translateY(-50%);border:0;border-radius:50%;background:#ffffffeb;color:#16325a;width:42px;height:42px;font-size:30px;line-height:1;cursor:pointer;box-shadow:0 2px 10px #0002;z-index:2}.rv-gallery-prev{left:12px}.rv-gallery-next{right:12px}.rv-gallery-count{position:absolute;bottom:12px;left:14px;background:#172e4fbd;color:white;padding:6px 12px;border-radius:20px;font-size:13px}.rv-gallery-expand{position:absolute;bottom:12px;right:14px;background:#fff;border:0;border-radius:8px;padding:7px 11px;color:#183a69;cursor:pointer}.rv-gallery-thumbs{display:flex;gap:10px;overflow-x:auto;padding:12px 2px 5px;scrollbar-width:thin}.rv-gallery-thumb{flex:0 0 92px;height:72px;padding:2px;background:#fff;border:2px solid transparent;border-radius:9px;overflow:hidden;cursor:pointer}.rv-gallery-thumb.is-active{border-color:#1266ed}.rv-gallery-thumb img{width:100%;height:100%;object-fit:cover;border-radius:5px}.rv-gallery-lightbox[hidden]{display:none!important}.rv-gallery-lightbox{position:fixed;inset:0;background:#07101bef;z-index:999999;display:flex;align-items:center;justify-content:center}.rv-gallery-lightbox img{max-width:90vw;max-height:90vh;object-fit:contain}.rv-gallery-close,.rv-gallery-light-prev,.rv-gallery-light-next{position:absolute;border:0;color:white;background:#ffffff2a;border-radius:50%;width:48px;height:48px;cursor:pointer;font-size:32px}.rv-gallery-close{right:22px;top:20px}.rv-gallery-light-prev{left:18px;top:50%}.rv-gallery-light-next{right:18px;top:50%}@media(max-width:650px){.rv-gallery-main{height:65vw;min-height:220px}.rv-gallery-arrow{width:34px;height:34px;font-size:25px}.rv-gallery-thumb{flex-basis:75px;height:60px}.rv-gallery-expand{font-size:11px}}


/* Ruvaro v1.15 — related listings */
.rv-related{clear:both;width:100%;margin:34px 0 12px;padding-top:22px;border-top:1px solid #dfe8f4}
.rv-related-heading{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:18px}
.rv-related-heading h2{margin:4px 0 5px;font-size:24px;line-height:1.25;color:#142c50}
.rv-related-heading p{margin:0;font-size:13px;color:#7589a5}
.rv-related-eyebrow{font-size:10px;font-weight:800;letter-spacing:1.3px;color:#1766df}
.rv-related-heading>a{white-space:nowrap;color:#1266ed;text-decoration:none;font-size:13px}
.rv-related-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.rv-related .rv-listing-wrap{min-width:0;position:relative}
.rv-related .rv-listing-media{aspect-ratio:4/3}
.rv-related .rv-listing-title{min-height:0}
@media(min-width:1250px){.rv-related-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.rv-related{margin-top:25px}.rv-related-heading{align-items:start}.rv-related-heading h2{font-size:20px}.rv-related-heading p{font-size:12px}.rv-related-heading>a{font-size:12px}.rv-related-grid{gap:10px}.rv-related .rv-listing-body{padding:10px}}

/* Ruvaro v1.15.2: compact related ads; never oversized or repeated. */
body.ruvaro-site.single-hp_listing .rv-related{max-width:100%;margin:22px 0 6px;padding-top:16px}
body.ruvaro-site.single-hp_listing .rv-related-heading{margin-bottom:12px;align-items:center}
body.ruvaro-site.single-hp_listing .rv-related-heading h2{font-size:19px;line-height:1.3;margin:2px 0 3px}
body.ruvaro-site.single-hp_listing .rv-related-heading p{font-size:12px}
body.ruvaro-site.single-hp_listing .rv-related-eyebrow{font-size:9px}
body.ruvaro-site.single-hp_listing .rv-related-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}
body.ruvaro-site.single-hp_listing .rv-related-grid>.rv-listing-wrap{width:100%;min-width:0;max-width:100%;margin:0}
body.ruvaro-site.single-hp_listing .rv-related-grid .rv-listing-media{aspect-ratio:4/3;height:auto;overflow:hidden}
body.ruvaro-site.single-hp_listing .rv-related-grid .rv-listing-media img{width:100%;height:100%;object-fit:cover}
body.ruvaro-site.single-hp_listing .rv-related-grid .rv-listing-body{padding:9px 10px}
body.ruvaro-site.single-hp_listing .rv-related-grid .rv-price{font-size:14px}
body.ruvaro-site.single-hp_listing .rv-related-grid .rv-listing-title{font-size:12px;line-height:1.35}
@media(max-width:950px){body.ruvaro-site.single-hp_listing .rv-related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){body.ruvaro-site.single-hp_listing .rv-related-heading{align-items:start;gap:8px}body.ruvaro-site.single-hp_listing .rv-related-heading h2{font-size:18px}body.ruvaro-site.single-hp_listing .rv-related-grid{gap:9px}}

/* Ruvaro v1.16 — mobile listing gallery and contact actions */
.rv-mobile-contact{display:none}
@media(max-width:767px){
  body.ruvaro-site.single-hp_listing{overflow-x:clip}
  body.ruvaro-site.single-hp_listing .hp-page__content,
  body.ruvaro-site.single-hp_listing .hp-page__sidebar,
  body.ruvaro-site.single-hp_listing .hp-col-sm-8,
  body.ruvaro-site.single-hp_listing .hp-col-sm-4{min-width:0;max-width:100%}
  body.ruvaro-site.single-hp_listing .hp-page__sidebar{margin-top:12px}
  body.ruvaro-site.single-hp_listing .hp-listing__title{font-size:clamp(23px,6vw,31px);line-height:1.2}
  body.ruvaro-site.single-hp_listing .hp-listing__attributes--primary .hp-listing__attribute{font-size:21px}
  body.ruvaro-site.single-hp_listing .rv-gallery{margin-bottom:15px}
  body.ruvaro-site.single-hp_listing .rv-gallery-stage{border-radius:12px;min-height:205px}
  body.ruvaro-site.single-hp_listing .rv-gallery-main{height:clamp(230px,72vw,410px);min-height:205px}
  body.ruvaro-site.single-hp_listing .rv-gallery-thumbs{gap:8px;padding:9px 0 5px;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
  body.ruvaro-site.single-hp_listing .rv-gallery-thumb{flex:0 0 70px;height:59px}
  body.ruvaro-site.single-hp_listing .rv-gallery-count{font-size:11px;bottom:8px;left:8px;padding:4px 9px}
  body.ruvaro-site.single-hp_listing .rv-gallery-expand{bottom:8px;right:8px}
  body.ruvaro-site.single-hp_listing .hp-listing__description{padding:16px!important;margin:17px 0!important;line-height:1.6}
  body.ruvaro-site.single-hp_listing .rv-contact-card{scroll-margin-top:80px;margin:13px 0 22px}
  body.ruvaro-site.single-hp_listing .rv-contact-highlight{outline:3px solid #b7d3ff;outline-offset:3px;transition:outline-color .3s}
  body.ruvaro-site.single-hp_listing .rv-mobile-contact{position:fixed;left:0;right:0;bottom:0;display:flex;align-items:stretch;gap:9px;padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px));background:#fff;box-shadow:0 -4px 24px #0b274624;border-top:1px solid #e0eaf6;z-index:1000;transition:transform .18s ease,visibility .18s ease}
  body.ruvaro-site.single-hp_listing .rv-mobile-contact-hidden{transform:translateY(115%);visibility:hidden;pointer-events:none}
  body.ruvaro-site.single-hp_listing .rv-mobile-contact-primary,
  body.ruvaro-site.single-hp_listing .rv-mobile-contact-wa{display:flex;align-items:center;justify-content:center;text-align:center;min-height:48px;border:0;border-radius:10px;padding:10px 12px;font-size:14px;font-weight:700;line-height:1.25;cursor:pointer;text-decoration:none!important}
  body.ruvaro-site.single-hp_listing .rv-mobile-contact-primary{background:#1266ed;color:#fff;flex:1}
  body.ruvaro-site.single-hp_listing .rv-mobile-contact-wa{background:#159e61;color:#fff;flex:0 0 auto;max-width:40%}
  body.ruvaro-site.single-hp_listing:has(.rv-mobile-contact) .rv-footer{padding-bottom:85px}
  body.ruvaro-site.single-hp_listing .rv-related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(min-width:768px){.rv-mobile-contact{display:none!important}}


/* Ruvaro v1.16.1 – single listing mobile fixes */
@media(max-width:767px){
 body.ruvaro-site.single-hp_listing .rv-gallery-stage,
 body.ruvaro-site.single-hp_listing .rv-gallery-main{touch-action:pan-y;}
 body.ruvaro-site.single-hp_listing .rv-contact-card.rv-contact-repositioned{
   display:block!important;position:relative!important;left:auto!important;right:auto!important;
   width:100%!important;max-width:100%!important;clear:both;margin:12px 0 18px!important;
   scroll-margin-top:80px;box-sizing:border-box;
 }
 body.ruvaro-site.single-hp_listing .rv-mobile-contact{z-index:1100!important}
 body.ruvaro-site.single-hp_listing:has(.rv-mobile-contact) .rv-mobile-nav{display:none!important}
 body.ruvaro-site.single-hp_listing{padding-bottom:78px}
}
body.rv-gallery-viewing{overflow:hidden}
.rv-gallery-lightbox{touch-action:pan-y}

/* v1.16.2: long revealed phone numbers stay legible in the mobile action. */
@media(max-width:767px){body.ruvaro-site.single-hp_listing .rv-mobile-contact-primary{overflow-wrap:anywhere;min-width:0}body.ruvaro-site.single-hp_listing .rv-mobile-contact-primary:disabled{opacity:.8}}


/* Ruvaro v1.16.3: mobile information follows the requested reading order. */
.rv-mobile-listing-meta{display:none}
@media(max-width:767px){
  body.ruvaro-site.single-hp_listing .rv-mobile-detail-stack{display:flex;flex-direction:column;gap:14px;min-width:0;width:100%;margin:12px 0 22px}
  body.ruvaro-site.single-hp_listing .rv-mobile-listing-meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 18px;background:#fff;border:1px solid #dfe8f4;border-radius:12px;padding:15px 17px;box-shadow:0 3px 12px #1639630b}
  body.ruvaro-site.single-hp_listing .rv-mobile-listing-price{font-size:23px;font-weight:800;color:#142c50;line-height:1.25}
  body.ruvaro-site.single-hp_listing .rv-mobile-listing-city{font-size:15px;color:#385578;font-weight:650}
  body.ruvaro-site.single-hp_listing .rv-mobile-detail-stack>.hp-listing__description{margin:0!important;width:100%;box-sizing:border-box}
  body.ruvaro-site.single-hp_listing .rv-mobile-seller-title{font-size:18px;font-weight:750;line-height:1.3;color:#142c50;margin:5px 1px -7px}
  body.ruvaro-site.single-hp_listing .rv-mobile-detail-stack>.rv-mobile-vendor-card{display:block!important;width:100%!important;max-width:100%!important;box-sizing:border-box;background:#fff;border:1px solid #dfe8f4;border-radius:12px;padding:14px!important;margin:0!important;min-height:0!important}
  body.ruvaro-site.single-hp_listing .rv-mobile-detail-stack>.rv-contact-card{margin:0!important;width:100%!important;max-width:100%!important;box-sizing:border-box}
  body.ruvaro-site.single-hp_listing .rv-mobile-detail-stack>.rv-related{margin:9px 0 0!important;width:100%;max-width:100%;border-top:1px solid #dfe8f4;padding-top:17px}
  body.ruvaro-site.single-hp_listing .rv-mobile-meta-original{display:none!important}
  body.ruvaro-site.single-hp_listing .rv-mobile-detail-stack .rv-related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.ruvaro-site.single-hp_listing .rv-mobile-contact-hidden{transform:none!important;visibility:visible!important;pointer-events:auto!important}
}

/* Ruvaro 1.17 — mobile-wide navigation and catalog usability */
.rv-menu-trigger,.rv-header-mobile-panel{display:none}
.rv-listing-wrap,.rv-listing-grid,.rv-catalog-results,.rv-content-layout{min-width:0}
.rv-listing-wrap .rv-listing-title{overflow-wrap:anywhere}
.rv-listing-wrap .rv-listing-media img{transition:transform .22s ease}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.rv-listing-wrap:hover .rv-listing-media img{transform:scale(1.035)}}
.rv-listing-wrap .rv-listing-city{font-size:12px;color:#4d6686}
.rv-listing-wrap .rv-price{font-weight:800;line-height:1.25}
.rv-listing-wrap .rv-listing-body{gap:6px}
.rv-menu-trigger:focus-visible,.rv-header-mobile-panel a:focus-visible,.rv-mobile-nav a:focus-visible{outline:2px solid #1266ed;outline-offset:3px}
@media(max-width:760px){
 body.ruvaro-site .rv-header{z-index:110!important}
 body.ruvaro-site .rv-header-inner{display:flex;align-items:center;min-height:64px;gap:9px;padding:8px 13px!important}
 body.ruvaro-site .rv-logo{margin-right:auto;min-width:0}
 body.ruvaro-site .rv-brand-image{width:clamp(112px,30vw,148px)!important;max-width:100%;height:auto}
 body.ruvaro-site .rv-header-actions{margin-left:auto;gap:0}
 body.ruvaro-site .rv-header-actions>a:not(.rv-button){display:none!important}
 body.ruvaro-site .rv-header-actions .rv-button{font-size:11px!important;padding:10px 11px!important;max-width:145px;line-height:1.22;white-space:normal;text-align:center;border-radius:10px}
 .rv-menu-trigger{display:grid;place-items:center;flex:none;width:40px;height:40px;border:1px solid #dce6f2;border-radius:10px;background:#fff;color:#163d75;cursor:pointer}
 .rv-header-mobile-panel:not([hidden]){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;padding:13px 16px 17px;background:#fff;border-top:1px solid #edf1f6;box-shadow:0 9px 18px #0c254318}
 .rv-header-mobile-panel a{display:flex;align-items:center;min-height:44px;padding:10px 12px;border-radius:9px;background:#f2f6fc;color:#1c416d;font-size:13px;font-weight:650;text-decoration:none}
 .rv-header-mobile-panel .rv-mobile-menu-post{grid-column:1/-1;background:#fff2e7;color:#ba5600}
 body.ruvaro-site .rv-mobile-nav{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;bottom:0;z-index:1000;padding:6px 3px max(7px,env(safe-area-inset-bottom))!important;border-top:1px solid #e0e8f2;box-shadow:0 -2px 12px #19345717}
 body.ruvaro-site .rv-mobile-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:49px;padding:3px 0;color:#60718c;font-size:10px;text-align:center;text-decoration:none;white-space:nowrap}
 body.ruvaro-site .rv-mobile-nav a span{font-size:24px;line-height:24px;color:#315d97}
 body.ruvaro-site .rv-mobile-nav a[aria-current=page],body.ruvaro-site .rv-mobile-nav a[aria-current=page] span{color:#1266ed;font-weight:800}
 body.ruvaro-site .rv-mobile-nav a.rv-mobile-nav-post span{background:#ff7900;border-radius:12px;color:#fff;width:35px;height:29px;line-height:27px;font-size:25px}
 body.ruvaro-site .rv-footer{padding-bottom:74px!important}
 .rv-catalog-results .rv-catalog-grid,.rv-listing-grid{gap:10px!important}
 .rv-listing-wrap .rv-listing-body{padding:10px!important}
 .rv-listing-wrap .rv-price{font-size:16px}
 .rv-listing-wrap .rv-listing-title{font-size:13px;line-height:1.35}
 .rv-listing-wrap .rv-listing-date{font-size:10px}
 .rv-catalog-search input,.rv-catalog-search select{min-height:44px}
 .rv-catalog-search .rv-catalog-actions{display:flex;justify-content:space-between;align-items:center;gap:12px}
 .rv-catalog-search .rv-catalog-actions .rv-button{min-width:0;flex:1 1 60%;white-space:normal}
 .rv-catalog-search .rv-catalog-actions>a{display:inline-flex;align-items:center;min-height:44px}
 .rv-section-head{align-items:baseline}
 .rv-section-head a{white-space:nowrap}
 .rv-category{min-height:96px}
 .rv-category-icon{margin:0 auto}
}
@media(max-width:380px){
 body.ruvaro-site .rv-brand-image{width:105px!important}
 body.ruvaro-site .rv-header-actions .rv-button{max-width:119px;padding:8px 7px!important;font-size:10px!important}
 .rv-menu-trigger{width:36px;height:36px}
 .rv-categories{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(prefers-reduced-motion:reduce){.rv-listing-wrap .rv-listing-media img{transition:none!important}}

/* Ruvaro 1.18 — public HivePress sign-in / registration page */
body.ruvaro-site .hp-page--user-login,body.ruvaro-site .hp-page--user-register,body.ruvaro-site .hp-page--user-password-request {max-width:680px;margin:28px auto 64px;padding:0 18px}
body.ruvaro-site .hp-page--user-login .hp-page__content,body.ruvaro-site .hp-page--user-register .hp-page__content{background:#fff;border:1px solid #deebfb;border-radius:16px;padding:28px;box-shadow:0 8px 25px rgba(22,48,88,.05)}
body.ruvaro-site .hp-page--user-login .hp-form__button,body.ruvaro-site .hp-page--user-register .hp-form__button{border-radius:9px}
@media(max-width:700px){body.ruvaro-site .hp-page--user-login .hp-page__content,body.ruvaro-site .hp-page--user-register .hp-page__content{padding:18px}}

/* Ruvaro 1.19: profile navigation and registration clarity */
.rv-account-quick-nav{display:none}
@media(max-width:767px){
  body.ruvaro-site .rv-account-quick-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:12px max(12px,env(safe-area-inset-left)) 13px;background:#fff;border-bottom:1px solid #dce5f2;position:relative;z-index:3}
  body.ruvaro-site .rv-account-quick-nav a{display:flex;align-items:center;justify-content:center;padding:11px 5px;min-height:42px;border:1px solid #dce6f2;background:#f2f6fc;border-radius:9px;font-size:13px;font-weight:650;color:#214267;text-decoration:none;text-align:center}
  body.ruvaro-site .rv-account-quick-nav a[aria-current=page]{background:#e7f1ff;color:#1266ed;border-color:#a4c7ff}
  body.ruvaro-site:has(.rv-account-quick-nav) .hp-page__sidebar{display:none!important}
  body.ruvaro-site:has(.rv-account-quick-nav) .hp-page__sidebar-toggle{display:none!important}
  body.ruvaro-site:has(.rv-account-quick-nav) .hp-page__content{width:100%!important;max-width:100%!important;min-width:0}
  body.ruvaro-site:has(.rv-account-quick-nav) .hp-page__content>.hp-row{margin-inline:0}
}
body.ruvaro-site .hp-form--user-register .hp-form__field{margin-bottom:15px}
body.ruvaro-site .hp-form--user-register input[type=text],body.ruvaro-site .hp-form--user-register input[type=email],body.ruvaro-site .hp-form--user-register input[type=password]{min-height:44px;border-radius:9px}

/* Ruvaro v1.20 — seller dashboard and administration. */
.rv-account-overview{background:#fff;border:1px solid #dce8f6;border-radius:13px;padding:17px 19px;margin:8px 0 23px;box-shadow:0 4px 16px rgba(27,61,107,.04)}
.rv-account-overview__title{font-weight:750;color:#152d53;font-size:16px;margin:0 0 13px}
.rv-account-overview__stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.rv-account-overview__stat{background:#f3f7ff;border:1px solid #e4edfb;padding:12px;border-radius:10px}
.rv-account-overview__stat strong{display:block;font-size:22px;line-height:1.25;color:#152d53}
.rv-account-overview__stat span{font-size:12px;color:#64758d}
.rv-account-overview__note{font-size:12px;color:#627594;line-height:1.5;margin:12px 0 0}
.rv-account-overview__action{display:inline-flex;margin-top:13px;background:#ff7900;border-radius:8px;color:#fff!important;padding:10px 14px;font-size:13px;font-weight:700;text-decoration:none!important}
@media(max-width:520px){.rv-account-overview{padding:13px;margin:10px 10px 18px}.rv-account-overview__stats{gap:6px}.rv-account-overview__stat{padding:9px 6px;text-align:center}.rv-account-overview__stat strong{font-size:18px}.rv-account-overview__stat span{font-size:11px}.rv-account-overview__action{width:100%;justify-content:center}}

/* Ruvaro v1.21: reporting and moderation forms — consistent, legible alerts. */
body.ruvaro-site .hp-modal .hp-form__description,
body.ruvaro-site .hp-form--listing-report .hp-form__description {line-height:1.6;color:#536780;font-size:14px}
body.ruvaro-site .hp-modal .hp-form__field--textarea textarea {min-height:130px;max-width:100%}
body.ruvaro-site .hp-form__messages .hp-form__message--error,
body.ruvaro-site .hp-form__messages .hp-form__message--warning {border-radius:10px;padding:13px 16px;line-height:1.5}


/* Ruvaro v1.23 — mobile contact buttons: consistent sizing without changing reveal logic. */
@media (max-width:767px) {
  body.ruvaro-site.single-hp_listing .rv-mobile-detail-stack > .rv-contact-card,
  body.ruvaro-site.single-hp_listing .rv-contact-card.rv-contact-repositioned {
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:9px!important;
    padding:16px!important;
    min-width:0;
  }
  body.ruvaro-site.single-hp_listing .rv-contact-card > strong {
    display:block;
    margin:0 0 2px;
    line-height:1.35;
  }
  body.ruvaro-site.single-hp_listing .rv-contact-card .rv-reveal-phone,
  body.ruvaro-site.single-hp_listing .rv-contact-card .rv-copy-phone,
  body.ruvaro-site.single-hp_listing .rv-contact-card .rv-contact-wa,
  body.ruvaro-site.single-hp_listing .rv-contact-card a[href^="tel:"],
  body.ruvaro-site.single-hp_listing .rv-contact-card > button,
  body.ruvaro-site.single-hp_listing .rv-contact-card > a {
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    min-height:46px!important;
    flex:0 0 auto!important;
    float:none!important;
    margin:0!important;
    padding:11px 12px!important;
    box-sizing:border-box!important;
    font-size:14px!important;
    font-weight:700!important;
    line-height:1.25!important;
    text-align:center!important;
    border-radius:9px!important;
    white-space:normal!important;
    overflow-wrap:anywhere;
  }
  body.ruvaro-site.single-hp_listing .rv-mobile-detail-stack > .rv-mobile-vendor-card {
    padding:12px 14px!important;
    margin:0!important;
  }
  body.ruvaro-site.single-hp_listing .rv-mobile-detail-stack .rv-related-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
  }
  body.ruvaro-site.single-hp_listing .rv-mobile-detail-stack .rv-related .rv-listing-wrap {
    min-width:0;
    max-width:100%;
  }
  body.ruvaro-site.single-hp_listing .rv-mobile-detail-stack .rv-related .rv-listing-body {
    padding:10px;
  }
  body.ruvaro-site.single-hp_listing .rv-mobile-detail-stack .rv-related .rv-listing-title {
    min-height:0;
  }
}

/* Ruvaro 1.26 — manually assigned promotion pilots. */
.rv-listing-wrap.rv-promo-card {position:relative;}
.rv-listing-wrap.rv-promo-card--highlight .rv-listing,
.rv-listing-wrap.rv-promo-card--vip .rv-listing {background:#fffbec;box-shadow:0 0 0 2px #f5c361 inset;}
.rv-listing-wrap.rv-promo-card--vip .rv-listing {box-shadow:0 0 0 2px #eaa23b inset,0 6px 20px rgba(197,127,26,.14);}
.rv-listing-media {position:relative;}
.rv-promo-badge {position:absolute;top:9px;left:9px;z-index:2;background:#215bb9;color:#fff;border-radius:7px;padding:5px 9px;font-size:12px;font-weight:800;line-height:1.2;box-shadow:0 2px 7px #0002;}
.rv-promo-badge--vip {background:#e99a19;color:#172338;}
.rv-promo-badge--highlight {background:#ad791b;}
