/* Valentinus – osnovni front stilovi (dizajn se dorađuje u child temi) */
.vre-badges, .vre-mini-badges { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 10px; }
.vre-badge { display: inline-block; padding: 3px 9px; border-radius: 999px; font-size: 12px; font-weight: 600; letter-spacing: .02em; background: #eef1f6; color: #1d2b4f; }
.vre-badge--sale { background: #003da5; color: #fff; }
.vre-badge--rent { background: #dc1c2e; color: #fff; }
.vre-badge--reserved { background: #f2a900; color: #1a1a1a; }
.vre-badge--sold { background: #1a1a1a; color: #fff; }
.vre-badge--drop { background: #fde8ea; color: #b3121f; }
.vre-badge--excl { background: #1d2b4f; color: #fff; }
.vre-price { font-size: 28px; font-weight: 700; line-height: 1.2; }
.vre-price-period { font-size: 16px; font-weight: 400; color: #555; }
.vre-price-prev { color: #888; margin-top: 2px; }
.vre-price-sqm { color: #555; font-size: 14px; margin-top: 2px; }
.vre-keyfacts { display: grid; grid-template-columns: repeat(auto-fill, minmax(110px, 1fr)); gap: 10px; list-style: none; padding: 0; margin: 18px 0; }
.vre-keyfacts li { border: 1px solid #e3e7ee; border-radius: 8px; padding: 10px 12px; display: flex; flex-direction: column; }
.vre-kf-val { font-size: 18px; font-weight: 700; }
.vre-kf-lbl { font-size: 12px; color: #667; text-transform: uppercase; letter-spacing: .04em; }
.vre-location { color: #444; margin: 0 0 16px; }
.vre-h { font-size: 18px; margin: 26px 0 12px; }
.vre-facts { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 0 28px; margin: 0; }
.vre-facts > div { display: flex; justify-content: space-between; gap: 12px; border-bottom: 1px solid #eef0f4; padding: 8px 0; }
.vre-facts dt { font-weight: 400; color: #667; }
.vre-facts dd { margin: 0; font-weight: 600; text-align: right; }
.vre-features { columns: 3 200px; column-gap: 28px; }
.vre-fgroup { break-inside: avoid; margin-bottom: 14px; }
.vre-fgroup h4 { font-size: 13px; text-transform: uppercase; letter-spacing: .05em; color: #667; margin: 0 0 6px; }
.vre-fgroup ul { list-style: none; padding: 0; margin: 0; }
.vre-fgroup li { padding: 3px 0 3px 20px; position: relative; }
.vre-fgroup li::before { content: ""; position: absolute; left: 2px; top: 10px; width: 9px; height: 5px; border-left: 2px solid #003da5; border-bottom: 2px solid #003da5; transform: rotate(-45deg); }
.vre-media-links { display: flex; gap: 10px; margin: 18px 0; }
.vre-plans { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 10px; }
.vre-plans img { width: 100%; height: auto; border: 1px solid #e3e7ee; border-radius: 6px; }
.vre-map { height: 340px; border-radius: 10px; overflow: hidden; margin-top: 12px; background: #eef1f6; }
.vre-map-note { font-size: 12px; color: #777; margin-top: 6px; }
.vre-inquiry { border: 1px solid #e3e7ee; border-radius: 12px; padding: 18px; background: #fff; margin-top: 20px; }
.vre-inquiry .vre-h { margin-top: 0; }
.vre-type { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 12px; font-size: 14px; }
.vre-type label { display: inline-flex; gap: 6px; align-items: center; cursor: pointer; }
.vre-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.vre-consent { display: flex; gap: 8px; align-items: flex-start; font-size: 13px; color: #555; margin: 6px 0 12px; }
.vre-inquiry-msg { margin-top: 10px; font-size: 14px; }
.vre-inquiry-msg.is-ok { color: #1e7e34; }
.vre-inquiry-msg.is-err { color: #b3121f; }
.vre-agent { display: flex; gap: 14px; align-items: center; border: 1px solid #e3e7ee; border-radius: 12px; padding: 14px; margin-top: 16px; }
.vre-agent-photo { width: 64px; height: 64px; border-radius: 50%; object-fit: cover; flex: 0 0 64px; }
.vre-agent-photo--empty { display: flex; align-items: center; justify-content: center; background: #003da5; color: #fff; font-weight: 700; font-size: 22px; }
.vre-agent-name { font-weight: 700; }
.vre-agent-title { font-size: 13px; color: #667; }
.vre-agent-phone, .vre-agent-mail { display: block; font-size: 14px; }
.vre-mini { padding-top: 6px; }
.vre-mini-loc { font-size: 13px; color: #667; margin-bottom: 4px; }
.vre-mini-facts { display: flex; flex-wrap: wrap; gap: 4px 12px; list-style: none; padding: 0; margin: 4px 0 8px; font-size: 13px; color: #333; }
.vre-mini-price { font-size: 18px; font-weight: 700; }
.vre-mini-price small { font-weight: 400; color: #666; }
