/* Reference lock: RentalSerbia catalogue identity + pages.css analytical rhythm.
   Golos Text, white canvas, blue actions, real listing photos, visible data dates. */
.seo-page { height:auto; min-height:100%; overflow:auto; }
.seo-page .site-header { min-height:72px; flex-wrap:wrap; }
.seo-shell { width:min(1180px,calc(100% - 64px)); margin:0 auto; padding:28px 0 64px; }
.seo-breadcrumb { display:flex; flex-wrap:wrap; gap:12px; color:var(--muted); font-size:14px; margin-bottom:34px; }
.seo-breadcrumb a,.seo-text-link { color:var(--accent); text-decoration:none; text-underline-offset:4px; }
.seo-breadcrumb a:hover,.seo-text-link:hover { text-decoration:underline; }
.seo-heading { max-width:900px; margin-bottom:36px; }
.seo-eyebrow { font-size:14px; color:var(--muted); margin:0 0 12px; }
.seo-page h1 { font-size:clamp(30px,3.8vw,46px); line-height:1.15; letter-spacing:-.035em; font-weight:650; margin:0; text-wrap:balance; }
.seo-intro { max-width:70ch; font-size:18px; line-height:1.65; margin:20px 0; }
.seo-dateline,.seo-note { color:var(--muted); font-size:14px; line-height:1.65; }
.seo-section { border-top:1px solid var(--line); padding-top:28px; margin-top:36px; }
.seo-section h2 { margin:0 0 20px; font-size:26px; line-height:1.3; letter-spacing:-.02em; font-weight:600; text-wrap:balance; }
.seo-section h3 { font-size:19px; font-weight:600; line-height:1.4; margin:24px 0 12px; }
.seo-section>p,.seo-method p { max-width:78ch; line-height:1.75; font-size:16px; }
.seo-section-heading { display:flex; justify-content:space-between; gap:16px; align-items:baseline; flex-wrap:wrap; }
.seo-section-heading h2 span { color:var(--muted); font-size:18px; margin-left:8px; font-variant-numeric:tabular-nums; }
.seo-listings { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px 24px; margin-top:24px; }
.seo-listing { min-width:0; border:1px solid var(--line); border-radius:6px; overflow:hidden; }
.seo-listing-link { display:flex; flex-direction:column; height:100%; color:inherit; text-decoration:none; }
.seo-listing-link:hover .seo-open { text-decoration:underline; text-underline-offset:4px; }
.seo-listing-link>img,.seo-no-photo { width:100%; aspect-ratio:16/11; height:auto; object-fit:cover; background:var(--surface-soft); }
.seo-no-photo { display:grid; place-items:center; font-size:14px; color:var(--muted); padding:20px; text-align:center; }
.seo-listing-body { display:flex; flex-direction:column; flex:1; padding:20px; }
.seo-price { font-size:25px; font-weight:650; margin:0 0 10px; font-variant-numeric:tabular-nums; }
.seo-price span { font-size:13px; font-weight:400; color:var(--muted); }
.seo-listing h3 { font-size:17px; line-height:1.45; margin:0 0 10px; }
.seo-facts,.seo-selection-reason { font-size:14px; line-height:1.6; margin:0 0 14px; }
.seo-selection-reason { color:var(--accent-strong); }
.seo-published { font-size:13px; color:var(--muted); margin:auto 0 12px; padding-top:12px; }
.seo-open { font-size:15px; color:var(--accent); font-weight:500; }
.seo-topics { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:40px; }
.seo-topic { display:flex; flex-direction:column; align-items:flex-start; padding:22px 0; border-bottom:1px solid var(--line); text-decoration:none; color:inherit; }
.seo-topic h3 { margin:0 0 10px; font-size:20px; }
.seo-topic p { max-width:60ch; font-size:15px; line-height:1.65; color:var(--muted); margin:0 0 16px; }
.seo-topic .seo-open { margin-top:auto; }
.seo-topic:hover h3 { color:var(--accent); }
.seo-related { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 32px; margin-bottom:20px; }
.seo-related a { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:16px 0; border-bottom:1px solid var(--line); color:var(--accent); font-size:16px; text-decoration:none; min-height:48px; }
.seo-related a:hover { text-decoration:underline; text-underline-offset:4px; }
.seo-method { color:var(--muted); }
.seo-method h2 { font-size:22px; color:var(--ink); }
.seo-method p { font-size:14px; }
.seo-stat-line { display:flex; flex-wrap:wrap; gap:36px 80px; padding:8px 0 16px; }
.seo-stat-line div { display:flex; flex-direction:column; gap:12px; }
.seo-stat-line span { font-size:15px; color:var(--muted); }
.seo-stat-line strong { font-size:38px; letter-spacing:-.03em; font-weight:600; font-variant-numeric:tabular-nums; }
.seo-bars { max-width:700px; display:grid; gap:16px; margin:20px 0 32px; }
.seo-bar-row { display:grid; grid-template-columns:145px minmax(0,1fr) 32px; gap:16px; align-items:center; font-size:14px; }
.seo-bar-row b { text-align:right; font-weight:500; font-variant-numeric:tabular-nums; }
.seo-bar-row meter { width:100%; height:14px; border:0; background:var(--surface-soft); border-radius:3px; }
.seo-bar-row meter::-webkit-meter-bar { background:var(--surface-soft); border:0; height:12px; border-radius:3px; }
.seo-bar-row meter::-webkit-meter-optimum-value { background:var(--accent); border-radius:3px; }
.seo-bar-row meter::-moz-meter-bar { background:var(--accent); }
.seo-table-wrap { width:100%; overflow-x:auto; }
.seo-page table { border-collapse:collapse; width:100%; max-width:800px; font-size:15px; font-variant-numeric:tabular-nums; }
.seo-page caption { text-align:left; font-size:19px; font-weight:600; margin:8px 0 16px; }
.seo-page th,.seo-page td { text-align:left; padding:14px 16px; border-bottom:1px solid var(--line); }
.seo-page thead { background:var(--surface-soft); }
.seo-page th { font-weight:500; }
.seo-button { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:12px 18px; background:var(--accent); color:white; text-decoration:none; font-size:16px; border-radius:6px; }
.seo-button:hover { background:var(--accent-strong); }
.seo-warning,.seo-empty { padding:20px; background:var(--surface-soft); border-left:3px solid var(--accent); font-size:15px; line-height:1.65; }
.seo-empty h3 { margin-top:0; }
.seo-empty p { margin-bottom:0; }
.seo-footer { border-top:1px solid var(--line); padding:28px 32px; display:flex; gap:16px 28px; flex-wrap:wrap; font-size:14px; color:var(--muted); }
.seo-footer a { color:var(--accent); text-decoration:none; min-height:32px; }
.seo-footer span { margin-left:auto; }
@media(max-width:1000px) { .seo-listings { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:700px) {
 .seo-shell { width:calc(100% - 32px); padding-top:20px; }
 .seo-page .site-header { gap:14px; padding:16px; }
 .seo-page .primary-nav { width:100%; height:auto; min-height:44px; flex-wrap:wrap; gap:0 20px; overflow:visible; justify-content:flex-start; }
 .seo-page .primary-nav a { min-height:40px; }
 .seo-breadcrumb { margin-bottom:24px; }
 .seo-intro { font-size:17px; }
 .seo-section h2 { font-size:23px; }
 .seo-listings,.seo-topics,.seo-related { grid-template-columns:1fr; }
 .seo-listing-body { padding:18px; }
 .seo-section { margin-top:28px; padding-top:24px; }
 .seo-bar-row { grid-template-columns:120px minmax(0,1fr) 25px; gap:10px; }
 .seo-stat-line { gap:24px 36px; }
 .seo-stat-line strong { font-size:32px; }
 .seo-page th,.seo-page td { padding:12px 9px; font-size:13px; }
 .seo-footer { padding:24px 16px; }
 .seo-footer span { width:100%; margin-left:0; }
}
