/* =====================================================================
   IVORY GROUP — tema v2 (oktobar 2026)
   Učitava se POSLE main.css. Prvi deo menja tokene main.css-a, pa se i
   stranice koje nisu ručno redizajnirane (blog, vodiči, FAQ, uslovi...)
   automatski uklope u nov izgled. Drugi deo su nove komponente (v2-*).
   ===================================================================== */

:root {
    --ivory: #f1ece2;
    --bone: #e4dccd;
    --paper: #f8f5ef;
    --ink: #17150f;
    --smoke: #6d665a;
    --brass: #a07a42;
    --brass-soft: #c9a56c;
    --line: rgba(23, 21, 15, .14);
    --line-dark: rgba(241, 236, 226, .16);
    --display: "DM Serif Display", Georgia, "Times New Roman", serif;
    --sans: "Hanken Grotesk", "Helvetica Neue", Arial, sans-serif;
    --mono: "IBM Plex Mono", ui-monospace, Menlo, Consolas, monospace;
    --gutter: clamp(20px, 5vw, 72px);

    /* tokeni postojećeg main.css-a -> nova paleta i fontovi */
    --color-ivory: var(--paper);
    --color-ivory-dark: var(--bone);
    --color-white: var(--ivory);
    --color-black: var(--ink);
    --color-charcoal: var(--ink);
    --color-graphite: #2a2620;
    --color-text: var(--ink);
    --color-text-muted: var(--smoke);
    --color-gold: var(--brass);
    --color-gold-light: var(--brass-soft);
    --color-gold-dark: #7d5f33;
    --color-border: var(--line);
    --font-serif: var(--display);
    --font-sans: var(--sans);
    --radius-sm: 0;
    --radius-md: 0;
    --radius-lg: 0;
    --header-height: 88px;
}

body.v2 { background: var(--ivory); color: var(--ink); font: 400 17px/1.65 var(--sans); }
body.v2 h1, body.v2 h2, body.v2 h3, body.v2 h4 { font-family: var(--display); font-weight: 400; letter-spacing: -.01em; }
body.v2 p { color: var(--smoke); }
.v2-wrap { max-width: 1320px; margin: 0 auto; padding-inline: var(--gutter); }
.v2-num { font-family: var(--mono); font-feature-settings: "tnum"; }
a.v2-phone, a.v2-num, .v2-num a { color: inherit; text-decoration: none; }
a.v2-phone:hover, a.v2-num:hover, .v2-num a:hover { text-decoration: underline; text-underline-offset: 3px; }
.v2-eyebrow { font: 500 12px/1.3 var(--sans); letter-spacing: .22em; text-transform: uppercase; color: var(--brass); }
body.v2 :focus-visible { outline: 1px solid var(--brass); outline-offset: 3px; }

/* ---------- Dugmad ---------- */
.v2-btn, body.v2 .btn {
    display: inline-flex; align-items: center; justify-content: center; gap: 10px;
    font: 600 13px/1 var(--sans); letter-spacing: .1em; text-transform: uppercase;
    padding: 16px 24px; border: 1px solid currentColor; border-radius: 0;
    background: transparent; color: inherit; cursor: pointer; transition: background .25s, color .25s, border-color .25s;
}
.v2-btn-solid, body.v2 .btn-gold, body.v2 .btn-dark { background: var(--brass); border-color: var(--brass); color: var(--paper); }
.v2-btn-solid:hover, body.v2 .btn-gold:hover, body.v2 .btn-dark:hover { background: var(--ink); border-color: var(--ink); color: var(--paper); }
.v2-btn:not(.v2-btn-solid):hover, body.v2 .btn-outline:hover { background: var(--ink); color: var(--paper); border-color: var(--ink); }
.v2-btn svg { width: 18px; height: 18px; }

/* ---------- Zaglavlje ---------- */
.v2-header { position: fixed; inset: 0 0 auto; z-index: 100; color: var(--ivory); background: transparent; padding-top: env(safe-area-inset-top, 0px); transition: background .35s, box-shadow .35s; border: 0; height: auto; }
.v2-header::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px; background: linear-gradient(90deg, transparent, var(--brass), transparent); opacity: .7; }
.v2-header.scrolled, body.v2:not(.v2-home) .v2-header { background: rgba(23, 21, 15, .96); box-shadow: 0 10px 30px rgba(0, 0, 0, .25); }
.v2-header-row { display: flex; align-items: center; gap: 34px; height: 88px; transition: height .35s; }
.v2-header.scrolled .v2-header-row { height: 70px; }
.v2-mark { display: flex; align-items: center; gap: 14px; white-space: nowrap; color: inherit; }
.v2-mono { width: 44px; height: 44px; border: 1.5px solid var(--brass); display: grid; place-items: center; font: 400 22px/1 var(--display); color: var(--brass-soft); }
.v2-word { font: 400 21px/1 var(--display); letter-spacing: .34em; }
.v2-mark small { display: block; font: 500 9px/1 var(--sans); letter-spacing: .48em; margin-top: 6px; color: var(--brass-soft); }
.v2-nav { display: flex; gap: 32px; margin-left: auto; font: 600 13px/1 var(--sans); letter-spacing: .12em; text-transform: uppercase; }
.v2-nav a { position: relative; padding: 8px 0; opacity: .9; white-space: nowrap; transition: color .2s, opacity .2s; }
.v2-nav a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: 0; height: 1.5px; background: var(--brass); transition: right .3s; }
.v2-nav a:hover { opacity: 1; color: var(--brass-soft); }
.v2-nav a:hover::after { right: 0; }
.v2-phone { font: 400 14px/1 var(--mono); opacity: .9; white-space: nowrap; }
.v2-header-cta { white-space: nowrap; }
.v2-menu-btn { display: none; margin-left: auto; background: none; border: 0; color: inherit; font: 600 13px/1 var(--sans); letter-spacing: .14em; text-transform: uppercase; cursor: pointer; padding: 10px 0; }

/* mobilni meni — main.js mu dodaje .open */
.v2-drawer { position: fixed; inset: 0; z-index: 90; background: var(--ink); color: var(--ivory); display: flex; flex-direction: column;
    padding: calc(110px + env(safe-area-inset-top, 0px)) var(--gutter) calc(28px + env(safe-area-inset-bottom, 0px));
    transform: translateY(-100%); visibility: hidden; transition: transform .45s cubic-bezier(.2,.7,.2,1), visibility .45s; }
.v2-drawer.open { transform: none; visibility: visible; }
.v2-drawer nav { display: grid; }
.v2-drawer nav a { font: 400 clamp(30px, 8vw, 46px)/1.2 var(--display); padding: 8px 0; border-bottom: 1px solid var(--line-dark); }
.v2-drawer nav a:hover { color: var(--brass-soft); }
.v2-drawer-foot { margin-top: auto; display: grid; gap: 14px; padding-top: 24px; }

/* ---------- Hero ---------- */
.v2-hero { position: relative; min-height: min(92svh, 860px); color: var(--ivory); display: flex; align-items: flex-end; overflow: hidden; background: var(--ink); }
.v2-hero-img { position: absolute; inset: 0; background: url("https://images.unsplash.com/photo-1618766494374-2d27737bb239?w=2200&q=72&auto=format") 70% 60% / cover no-repeat;
    filter: brightness(.72) saturate(.85); transform: scale(1.06); animation: v2drift 22s ease-out forwards; }
.v2-hero::after { content: ""; position: absolute; inset: 0; background:
    linear-gradient(90deg, rgba(23,21,15,.97) 0%, rgba(23,21,15,.88) 34%, rgba(23,21,15,.35) 64%, rgba(23,21,15,.1) 100%),
    linear-gradient(180deg, rgba(23,21,15,.6) 0%, transparent 25%, transparent 70%, rgba(23,21,15,.85) 100%); }
@keyframes v2drift { to { transform: scale(1); } }
.v2-hero-inner { position: relative; z-index: 2; width: 100%; padding-top: 170px; padding-bottom: 150px; }
.v2-hero h1 { color: var(--ivory); font: 400 clamp(40px, 6vw, 92px)/1 var(--display); letter-spacing: -.015em; margin: 18px 0 0; max-width: 13ch; text-shadow: 0 2px 30px rgba(0,0,0,.45); }
.v2-hero h1 .ln { display: block; animation: v2rise 1.1s cubic-bezier(.2,.7,.2,1) both; }
.v2-hero h1 .ln:nth-child(2) { animation-delay: .12s; }
.v2-hero h1 em { font-style: italic; color: var(--brass-soft); }
@keyframes v2rise { from { transform: translateY(32px); opacity: 0; } }
.v2-hero-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 40px; align-items: end; margin-top: 30px; }
.v2-lede { max-width: 44ch; font-size: 19px; margin: 0; color: rgba(241,236,226,.9) !important; text-shadow: 0 2px 20px rgba(0,0,0,.4); }
.v2-ticker { display: flex; gap: 34px; font: 400 13px/1.5 var(--mono); color: rgba(241,236,226,.72); }
.v2-ticker b { display: block; font-weight: 500; font-size: 22px; color: var(--ivory); }

/* ---------- Pretraga ---------- */
.v2-search { position: relative; z-index: 5; margin-top: -96px; }
.v2-search-card { background: var(--paper); box-shadow: 0 30px 60px -20px rgba(23,21,15,.45); border-top: 3px solid var(--brass); }
.v2-search-tabs { display: flex; border-bottom: 1px solid var(--line); }
.v2-search-tabs button { background: none; border: 0; padding: 18px 28px; font: 600 13px/1 var(--sans); letter-spacing: .14em; text-transform: uppercase; color: var(--smoke); cursor: pointer; border-bottom: 2px solid transparent; margin-bottom: -1px; }
.v2-search-tabs button[aria-pressed="true"] { color: var(--ink); border-bottom-color: var(--brass); }
.v2-search-hint { margin-left: auto; align-self: center; padding-right: 24px; font: 400 13px/1 var(--mono); color: var(--smoke); }
.v2-search form { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)) auto; gap: 16px; padding: 22px 24px 24px; align-items: end; }
.v2-field { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.v2-field label { font: 600 11px/1 var(--sans); letter-spacing: .18em; text-transform: uppercase; color: var(--smoke); }
.v2-select { position: relative; }
.v2-select::after { content: ""; position: absolute; right: 16px; top: 50%; width: 8px; height: 8px; border-right: 1.5px solid var(--ink); border-bottom: 1.5px solid var(--ink); transform: translateY(-70%) rotate(45deg); pointer-events: none; }
.v2-field select, .v2-field input { appearance: none; width: 100%; border: 1px solid var(--line); background: #fff; font: 500 17px/1.2 var(--sans); color: var(--ink); padding: 15px 16px; border-radius: 0; transition: border-color .2s; }
.v2-field select { padding-right: 44px; cursor: pointer; }
.v2-field select:hover, .v2-field select:focus, .v2-field input:focus { border-color: var(--brass); outline: none; }
.v2-search .v2-btn { height: 54px; padding-inline: 32px; }

/* ---------- Sekcije ---------- */
.v2-section { padding-block: clamp(80px, 10vw, 140px); }
.v2-head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 40px; align-items: end; margin-bottom: 56px; }
.v2-head h2, .v2-why h2, .v2-cta h2 { font: 400 clamp(36px, 4.6vw, 66px)/1.02 var(--display); margin: 14px 0 0; text-wrap: balance; color: var(--ink); }
.v2-head h2 em, .v2-sell h2 em { font-style: italic; }
.v2-head p { margin: 0; max-width: 46ch; justify-self: end; }

/* ---------- Kartice ---------- */
.v2-listings { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.v2-listings-3 { grid-template-columns: 1.35fr 1fr; grid-template-rows: auto auto; }
.v2-listings-3 .v2-card-big { grid-row: span 2; }
.v2-card { display: flex; flex-direction: column; gap: 16px; background: none; box-shadow: none; border-radius: 0; overflow: visible; }
.v2-card-ph { display: block; position: relative; overflow: hidden; background: var(--bone); aspect-ratio: 16 / 10; }
.v2-card-big .v2-card-ph { aspect-ratio: 4 / 5; }
.v2-card-ph img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s cubic-bezier(.2,.7,.2,1); }
.v2-card:hover .v2-card-ph img { transform: scale(1.04); }
.v2-tag { position: absolute; top: 16px; left: 16px; background: var(--paper); color: var(--ink); font: 600 11px/1 var(--sans); letter-spacing: .18em; text-transform: uppercase; padding: 9px 12px; }
.v2-tag-dark { background: var(--ink); color: var(--ivory); }
.v2-fav { position: absolute; top: 12px; right: 12px; width: 40px; height: 40px; display: grid; place-items: center; background: rgba(248,245,239,.92); color: var(--ink); border: 0; border-radius: 0; cursor: pointer; }
.v2-fav.active, .v2-fav[aria-pressed="true"] { color: var(--brass); }
.v2-card h3 { font: 400 clamp(22px, 2vw, 28px)/1.15 var(--display); margin: 0; color: var(--ink); }
.v2-card-big h3 { font-size: clamp(26px, 2.4vw, 34px); }
.v2-card-where { font-size: 14px; color: var(--smoke); margin-top: 6px; }
.v2-card-meta { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; border-top: 1px solid var(--line); padding-top: 14px; flex-wrap: wrap; margin-top: auto; }
.v2-specs { display: flex; gap: 18px; font: 400 13px/1 var(--mono); color: var(--smoke); flex-wrap: wrap; }
.v2-price { font: 500 19px/1 var(--mono); white-space: nowrap; color: var(--ink); }
.v2-more { margin-top: 44px; display: flex; justify-content: center; }
.v2-empty { border: 1px solid var(--line); padding: clamp(32px, 6vw, 64px); text-align: center; display: grid; gap: 14px; justify-items: center; background: var(--paper); }
.v2-empty h3 { font-size: clamp(26px, 3vw, 38px); margin: 0; }
.v2-empty p { max-width: 52ch; margin: 0 0 8px; }
/* v2 kartica unutar starih mreža (lista ponude, pretraga) */
body.v2 .property-grid { gap: 32px 28px; }
body.v2 .property-grid .v2-card { height: 100%; }

/* ---------- Tržište ---------- */
.v2-market { background: var(--ink); color: var(--ivory); }
.v2-market h2 { color: var(--ivory); }
.v2-market .v2-head p, .v2-market p { color: rgba(241,236,226,.66); }
.v2-market .v2-eyebrow { color: var(--brass-soft); }
.v2-areas { border-top: 1px solid var(--line-dark); }
.v2-area { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 2fr) 150px; gap: 28px; align-items: center; padding: 22px 0; border-bottom: 1px solid var(--line-dark); }
.v2-area-name { font: 400 clamp(24px, 2.4vw, 34px)/1 var(--display); }
.v2-area-name small { display: block; font: 400 12px/1.4 var(--sans); color: rgba(241,236,226,.5); letter-spacing: .06em; margin-top: 8px; }
.v2-bar { height: 2px; background: var(--line-dark); position: relative; }
.v2-bar span { position: absolute; inset: 0 auto 0 0; background: var(--brass-soft); }
.v2-ppm { font-size: 18px; font-weight: 500; text-align: right; }
.v2-note { margin-top: 22px; font: 400 12px/1.6 var(--mono); color: rgba(241,236,226,.45) !important; }

/* ---------- Zašto Ivory ---------- */
.v2-why { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(40px, 6vw, 96px); align-items: center; }
.v2-why-ph { aspect-ratio: 4 / 5; overflow: hidden; }
.v2-why-ph img { width: 100%; height: 100%; object-fit: cover; }
.v2-why h2 { margin-bottom: 32px; }
.v2-pillar { padding: 26px 0; border-top: 1px solid var(--line); display: grid; grid-template-columns: 200px minmax(0, 1fr); gap: 24px; }
.v2-pillar:last-child { border-bottom: 1px solid var(--line); }
.v2-pillar h3 { margin: 0; font: italic 400 24px/1.15 var(--display); color: var(--ink); }
.v2-pillar p { margin: 0; }

/* ---------- Prodajte ---------- */
.v2-sell { position: relative; color: var(--ivory); overflow: hidden; background: var(--ink); }
.v2-sell-img { position: absolute; inset: 0; background: url("https://images.unsplash.com/photo-1757924461488-ef9ad0670978?w=2000&q=70&auto=format") center / cover; opacity: .34; }
.v2-sell-grid { position: relative; display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 60px; align-items: end; }
.v2-sell h2 { color: var(--ivory); font: 400 clamp(42px, 5.6vw, 88px)/.98 var(--display); margin: 14px 0 0; }
.v2-sell h2 em { color: var(--brass-soft); }
.v2-sell p { color: rgba(241,236,226,.82) !important; margin: 0 0 24px; }
.v2-sell .v2-eyebrow { color: var(--brass-soft); }
.v2-steps { list-style: none; padding: 0; margin: 0 0 30px; display: grid; gap: 12px; font: 400 14px/1.4 var(--mono); color: rgba(241,236,226,.78); }
.v2-steps li { display: flex; gap: 14px; }
.v2-steps li span { color: var(--brass-soft); }

/* ---------- Kontakt poziv ---------- */
.v2-cta-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 48px; align-items: end; border-top: 1px solid var(--line); padding-top: 48px; }
.v2-cta p { margin: 0 0 24px; max-width: 48ch; }
.v2-cta-actions { display: flex; align-items: center; gap: 24px; flex-wrap: wrap; }
.v2-cta-actions .v2-num { font-size: 18px; }

/* ---------- Podnožje ---------- */
.v2-footer { background: var(--ink); color: rgba(241,236,226,.66); padding-top: 80px; font-size: 15px; }
.v2-footer-grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1.3fr; gap: 40px; }
.v2-footer h4 { color: var(--ivory); font: 600 12px/1 var(--sans); letter-spacing: .2em; text-transform: uppercase; margin: 0 0 18px; }
.v2-footer ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; }
.v2-footer a:hover { color: var(--brass-soft); }
.v2-footer .v2-mark { color: var(--ivory); }
.v2-footer-about { color: rgba(241,236,226,.6) !important; margin-top: 22px; max-width: 34ch; }
.v2-newsletter { margin-top: 22px; display: grid; gap: 8px; }
.v2-newsletter label { font: 600 11px/1 var(--sans); letter-spacing: .16em; text-transform: uppercase; color: var(--ivory); }
.v2-newsletter div { display: flex; border-bottom: 1px solid var(--line-dark); }
.v2-newsletter input { flex: 1; min-width: 0; background: transparent; border: 0; color: var(--ivory); padding: 12px 0; font: 400 15px var(--sans); }
.v2-newsletter input:focus { outline: none; }
.v2-newsletter button { background: none; border: 0; color: var(--brass-soft); font-size: 20px; cursor: pointer; padding: 0 4px; }
.v2-footer-bottom { display: flex; justify-content: space-between; gap: 20px; flex-wrap: wrap; border-top: 1px solid var(--line-dark); margin-top: 64px;
    padding-block: 24px calc(24px + env(safe-area-inset-bottom, 0px)); font-size: 13px; }
.v2-footer-bottom span { display: flex; gap: 20px; flex-wrap: wrap; }

/* ---------- Postojeće stranice u novom ruhu ---------- */
body.v2 .page-hero { background: var(--ink); color: var(--ivory); padding: calc(88px + clamp(48px, 8vw, 96px)) 0 clamp(48px, 7vw, 80px); }
body.v2 .page-hero h1 { color: var(--ivory); font-size: clamp(38px, 5vw, 68px); }
body.v2 .page-hero p, body.v2 .page-hero .page-hero-subtitle { color: rgba(241,236,226,.72); }
body.v2 .breadcrumbs, body.v2 .breadcrumbs a { color: var(--brass-soft); font: 500 12px/1.4 var(--sans); letter-spacing: .14em; text-transform: uppercase; }
body.v2 .section-eyebrow { color: var(--brass); letter-spacing: .22em; }
body.v2 .section-alt { background: var(--paper); }
body.v2 .property-hero { padding-top: 88px; }
body.v2 input, body.v2 select, body.v2 textarea { border-radius: 0; }
body.v2 .badge { border-radius: 0; }
body.v2 .back-to-top { border-radius: 0; background: var(--brass); color: var(--paper); }

/* traka "Primer ponude" na stranici primer-nekretnine */
.v2-demo-note { position: relative; z-index: 5; margin-top: 88px; background: var(--brass); color: var(--paper); text-align: center; font: 500 13px/1.4 var(--sans); padding: 10px var(--gutter); letter-spacing: .02em; }
.v2-demo-note a { text-decoration: underline; color: inherit; }
body.v2 .v2-demo-note + .property-hero { padding-top: 0; }

/* ---------- Procena / Obavesti me / Krajevi (forme koje idu u CRM) ---------- */
.v2-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; }
.v2-tool-grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: clamp(32px, 6vw, 88px); align-items: start; }
.v2-tool-card { background: var(--paper); border-top: 3px solid var(--brass); box-shadow: 0 30px 60px -30px rgba(23,21,15,.35); padding: clamp(22px, 4vw, 40px); display: grid; gap: 16px; }
.v2-tool-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px; }
.v2-tool-card .v2-eyebrow { margin-top: 4px; }
.v2-estimate { background: var(--ink); color: var(--ivory); padding: 22px 24px; margin-top: 6px; }
.v2-estimate .v2-eyebrow { color: var(--brass-soft); }
.v2-estimate-num { font-size: clamp(30px, 4vw, 46px); font-weight: 500; margin: 8px 0 4px; color: var(--ivory); }
.v2-estimate p { margin: 0; color: rgba(241,236,226,.66) !important; font-size: 14px; }
.v2-tool-submit { width: 100%; margin-top: 6px; }
.v2-tool-fine { font-size: 12px; margin: 0; }
.v2-form-msg { margin: 0; font-size: 15px; min-height: 1em; }
.v2-form-msg.ok { color: #2f6b2f !important; }
.v2-form-msg.err { color: #9a2f22 !important; }
.v2-field input.v2-invalid { border-color: #9a2f22; }
.v2-tool-side h2 { font: 400 clamp(32px, 3.6vw, 52px)/1.05 var(--display); margin: 14px 0 18px; }
.v2-tool-side h2 em { font-style: italic; color: var(--brass); }
.v2-steps-dark { color: var(--smoke); margin-top: 22px; }
.v2-steps-dark li span { color: var(--brass); }
.v2-notify { background: var(--paper); border-top: 1px solid var(--line); }
.v2-notify-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr); gap: clamp(32px, 6vw, 88px); align-items: start; }
.v2-notify h2 { font: 400 clamp(32px, 4vw, 56px)/1.04 var(--display); margin: 14px 0 18px; }
.v2-notify h2 em { font-style: italic; color: var(--brass); }
.v2-notify-form { display: grid; gap: 16px; }
.v2-facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.v2-facts > div { padding: 26px 22px 22px 0; }
.v2-facts > div + div { padding-left: 22px; border-left: 1px solid var(--line); }
.v2-fact-num { font-size: clamp(24px, 2.6vw, 34px); font-weight: 500; margin: 10px 0 4px; }
.v2-facts p { margin: 0; font-size: 14px; }
.v2-area-cta { display: flex; justify-content: space-between; align-items: center; gap: 24px; flex-wrap: wrap; margin-top: 40px; }
.v2-area-cta p { margin: 0; max-width: 60ch; }
a.v2-area { color: inherit; transition: background .2s; }
a.v2-area:hover { background: rgba(241,236,226,.04); }
a.v2-area:hover .v2-area-name, .v2-area-name a:hover { color: var(--brass-soft); }
@media (max-width: 1180px) { .v2-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); } .v2-facts > div:nth-child(3) { padding-left: 0; border-left: 0; } }
@media (max-width: 760px) {
    .v2-tool-grid, .v2-notify-grid, .v2-tool-row { grid-template-columns: minmax(0, 1fr); }
    .v2-facts { grid-template-columns: minmax(0, 1fr); }
    .v2-facts > div, .v2-facts > div + div { padding: 18px 0; border-left: 0; }
    .v2-facts > div + div { border-top: 1px solid var(--line); }
}

/* ---------- Pretraga po mapi (/sr/mapa) ---------- */
.v2-map-page { padding-top: 88px; background: var(--ivory); }
.v2-map-filters { background: var(--paper); border-bottom: 1px solid var(--line); position: relative; z-index: 6; }
.v2-map-filters-row { display: flex; gap: 10px; align-items: center; padding-block: 12px; flex-wrap: wrap; }
.v2-map-filters .v2-select select { appearance: none; border: 1px solid var(--line); background: #fff; font: 500 15px/1.2 var(--sans); color: var(--ink); padding: 11px 38px 11px 14px; border-radius: 0; cursor: pointer; }
.v2-map-filters .v2-select select:focus { border-color: var(--brass); outline: none; }
.v2-map-count { margin-left: auto; font-size: 13px; color: var(--smoke); white-space: nowrap; }
.v2-map-toggle { display: none; }
.v2-map-toggle button { background: none; border: 1px solid var(--line); padding: 10px 14px; font: 600 12px/1 var(--sans); letter-spacing: .12em; text-transform: uppercase; color: var(--smoke); cursor: pointer; }
.v2-map-toggle button[aria-pressed="true"] { background: var(--ink); color: var(--paper); border-color: var(--ink); }
.v2-map-body { display: grid; grid-template-columns: minmax(340px, 38%) 1fr; height: calc(100svh - 88px - 67px); min-height: 480px; }
.v2-map-list { overflow-y: auto; padding: 18px; display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 18px; align-content: start; border-right: 1px solid var(--line); }
.v2-map-canvas { position: relative; z-index: 1; background: var(--bone); }
.v2-map-canvas .leaflet-tile { filter: grayscale(.35) sepia(.08) brightness(1.02); }
.v2-map-card { display: flex; flex-direction: column; background: var(--paper); border: 1px solid transparent; transition: border-color .2s, box-shadow .2s; color: inherit; }
.v2-map-card:hover, .v2-map-card.is-active { border-color: var(--brass); box-shadow: 0 16px 30px -18px rgba(23,21,15,.45); }
.v2-map-card-ph { position: relative; aspect-ratio: 16 / 10; background: var(--bone); overflow: hidden; display: block; }
.v2-map-card-ph img { width: 100%; height: 100%; object-fit: cover; }
.v2-map-card-body { display: grid; gap: 5px; padding: 12px 14px 14px; }
.v2-map-card-title { font: 400 19px/1.2 var(--display); color: var(--ink); }
.v2-map-card .v2-card-where { margin-top: 0; font-size: 13px; }
.v2-map-card .v2-specs { font-size: 12px; }
.v2-map-empty { grid-column: 1 / -1; padding: 40px 10px; text-align: center; display: grid; gap: 12px; justify-items: center; }
/* oznake: cena kao pločica */
.v2-pin-wrap { background: none; border: 0; }
.v2-pin { display: inline-block; transform: translate(-50%, -100%); background: var(--ink); color: var(--ivory); font: 600 12px/1 var(--mono); padding: 7px 9px; white-space: nowrap; box-shadow: 0 6px 14px rgba(23,21,15,.35); position: relative; transition: background .15s, transform .15s; }
.v2-pin::after { content: ""; position: absolute; left: 50%; bottom: -5px; transform: translateX(-50%); border: 5px solid transparent; border-bottom: 0; border-top-color: var(--ink); }
.v2-pin.is-active, .v2-pin:hover { background: var(--brass); transform: translate(-50%, -100%) scale(1.08); z-index: 1000; }
.v2-pin.is-active::after, .v2-pin:hover::after { border-top-color: var(--brass); }
.v2-pin.is-demo { background: #5a5246; }
.v2-pin.is-reserved { opacity: .7; }
.v2-cluster { background: none; }
.v2-cluster span { width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; background: var(--brass); color: var(--paper); font: 600 14px/1 var(--mono); box-shadow: 0 0 0 6px rgba(160,122,66,.25), 0 8px 18px rgba(23,21,15,.3); }
.v2-map-popup .leaflet-popup-content-wrapper { border-radius: 0; padding: 0; overflow: hidden; }
.v2-map-popup .leaflet-popup-content { margin: 0; width: 260px !important; }
.v2-map-popup .v2-map-card { border: 0; box-shadow: none; }
@media (max-width: 900px) {
    .v2-map-body { grid-template-columns: minmax(0, 1fr); height: calc(100svh - 88px - 118px); }
    .v2-map-toggle { display: flex; margin-left: auto; }
    .v2-map-count { order: 9; width: 100%; margin-left: 0; }
    .v2-map-body[data-view="map"] .v2-map-list { display: none; }
    .v2-map-body[data-view="list"] .v2-map-canvas { display: none; }
    .v2-map-list { border-right: 0; }
    .v2-map-filters-row { gap: 8px; }
    .v2-map-filters .v2-select { flex: 1 1 calc(50% - 8px); }
    .v2-map-filters .v2-select select { width: 100%; font-size: 14px; padding: 10px 30px 10px 10px; }
    .v2-map-filters .v2-select::after { right: 11px; }
}


/* ---------- Ivory ocena cene ---------- */
.v2-verdict { border: 1px solid var(--line); background: var(--paper); padding: 22px 24px; margin: 0 0 28px; }
.v2-verdict-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 16px; }
.v2-verdict-badge { font: 600 12px/1 var(--sans); letter-spacing: .14em; text-transform: uppercase; padding: 8px 12px; background: var(--ink); color: var(--ivory); }
.v2-verdict-good .v2-verdict-badge, .v2-tag-verdict.v2-verdict-good { background: #2f6b2f; color: #fff; }
.v2-verdict-fair .v2-verdict-badge, .v2-tag-verdict.v2-verdict-fair { background: var(--brass); color: #fff; }
.v2-verdict-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 16px; }
.v2-verdict-grid b { display: block; font-size: 22px; font-weight: 500; color: var(--ink); }
.v2-verdict-grid span { font-size: 13px; color: var(--smoke); }
.v2-verdict-note { margin: 16px 0 0; font-size: 13px; }
.v2-tag-verdict { top: auto; bottom: 16px; }
.v2-hero-verdict { display: inline-block; margin-top: 10px; font: 600 12px/1 var(--sans); letter-spacing: .08em; text-transform: uppercase;
    padding: 8px 12px; background: var(--ink); color: var(--ivory) !important; }
.v2-hero-verdict.v2-verdict-good { background: #2f6b2f; }
.v2-hero-verdict.v2-verdict-fair { background: var(--brass); }
#ivory-ocena { scroll-margin-top: 110px; }


/* zona na mapi */
.v2-zone-btn { padding: 11px 16px; font-size: 12px; }
.v2-zone-panel { position: absolute; z-index: 800; right: 16px; bottom: 16px; width: min(340px, calc(100% - 32px)); background: var(--paper);
    border-top: 3px solid var(--brass); box-shadow: 0 20px 40px rgba(23,21,15,.35); padding: 18px; display: grid; gap: 12px; }
.v2-zone-panel[hidden] { display: none; }
.v2-zone-hint { margin: 0; font-size: 14px; }
.v2-zone-close { position: absolute; right: 10px; top: 6px; background: none; border: 0; font-size: 24px; color: var(--smoke); cursor: pointer; }
@media (max-width: 900px) { .v2-zone-btn { flex: 1 1 100%; } }


/* ---------- Ivory pomoćnik ---------- */
#igAssistant { position: fixed; right: 16px; bottom: calc(16px + env(safe-area-inset-bottom, 0px)); z-index: 950; font-family: var(--sans); }
.ig-as-fab { display: flex; align-items: center; gap: 10px; background: var(--ink); color: var(--ivory); border: 1px solid var(--brass); padding: 14px 18px;
    font: 600 13px/1 var(--sans); letter-spacing: .12em; text-transform: uppercase; cursor: pointer; box-shadow: 0 14px 30px rgba(23,21,15,.35); }
.ig-as-dot { width: 9px; height: 9px; border-radius: 50%; background: #3fb950; box-shadow: 0 0 0 4px rgba(63,185,80,.2); }
#igAssistant.is-open .ig-as-fab { display: none; }
.ig-as-panel { width: min(370px, calc(100vw - 32px)); height: min(560px, calc(100svh - 120px)); background: var(--paper); border-top: 3px solid var(--brass);
    box-shadow: 0 24px 60px rgba(23,21,15,.4); display: flex; flex-direction: column; }
.ig-as-panel[hidden] { display: none; }
.ig-as-panel header { background: var(--ink); color: var(--ivory); padding: 14px 16px; display: grid; grid-template-columns: 1fr auto; }
.ig-as-panel header b { font: 400 20px/1.1 var(--display); }
.ig-as-panel header span { grid-column: 1; font-size: 12px; color: var(--brass-soft); margin-top: 3px; }
.ig-as-x { grid-row: 1 / span 2; grid-column: 2; background: none; border: 0; color: var(--ivory); font-size: 26px; cursor: pointer; }
.ig-as-body { flex: 1; overflow-y: auto; padding: 14px; display: flex; flex-direction: column; gap: 8px; }
.ig-as-body p { margin: 0; max-width: 88%; padding: 10px 12px; font-size: 14.5px; line-height: 1.45; }
.ig-as-bot { background: #fff; border: 1px solid var(--line); color: var(--ink) !important; align-self: flex-start; }
.ig-as-me { background: var(--ink); color: var(--ivory) !important; align-self: flex-end; }
.ig-as-choices { display: flex; flex-wrap: wrap; gap: 6px; }
.ig-as-choices button { background: transparent; border: 1px solid var(--brass); color: var(--ink); padding: 9px 12px; font: 500 14px/1 var(--sans); cursor: pointer; }
.ig-as-choices button:hover { background: var(--brass); color: #fff; }
.ig-as-form { display: grid; gap: 8px; }
.ig-as-form input { border: 1px solid var(--line); background: #fff; padding: 12px; font: 400 15px var(--sans); }
.ig-as-form button { background: var(--brass); color: #fff; border: 0; padding: 13px; font: 600 13px var(--sans); letter-spacing: .1em; text-transform: uppercase; cursor: pointer; }
body.v2 .back-to-top { bottom: 84px; }
body:has(#igMapPage) #igAssistant { right: auto; left: 16px; }

/* traka za kolačiće (samo kad je Google Analytics uključen) */
.v2-consent { position: fixed; left: 16px; right: 16px; bottom: calc(16px + env(safe-area-inset-bottom, 0px)); z-index: 120; max-width: 720px; margin: 0 auto;
    background: var(--ink); color: var(--ivory); padding: 18px 20px; display: flex; gap: 18px; align-items: center; flex-wrap: wrap; box-shadow: 0 20px 50px rgba(0,0,0,.35); }
.v2-consent p { margin: 0; flex: 1 1 320px; font-size: 14px; color: rgba(241,236,226,.8) !important; }
.v2-consent div { display: flex; gap: 10px; }
.v2-consent .v2-btn { padding: 12px 18px; }

/* ---------- Pojavljivanje (main.js dodaje .in-view) ---------- */
body.v2 .reveal { transition: transform 1s cubic-bezier(.2,.7,.2,1), opacity 1s; }

@media (prefers-reduced-motion: reduce) {
    body.v2 *, body.v2 *::before, body.v2 *::after { animation: none !important; transition: none !important; }
}

/* ---------- Responsive ---------- */
@media (max-width: 1360px) { .v2-phone { display: none; } .v2-nav { gap: 26px; } }
@media (max-width: 1180px) {
    .v2-nav { display: none; }
    .v2-menu-btn { display: block; margin-left: 0; }
    .v2-header-cta { margin-left: auto; }
    .v2-search form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .v2-search .v2-btn { grid-column: 1 / -1; }
    .v2-area { grid-template-columns: minmax(0, 1fr) 140px; }
    .v2-bar { display: none; }
    .v2-footer-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 760px) {
    body.v2 { font-size: 16px; }
    .v2-header-cta { display: none; }
    .v2-menu-btn { margin-left: auto; }
    .v2-mono { width: 38px; height: 38px; font-size: 19px; }
    .v2-word { font-size: 18px; }
    .v2-hero::after { background: linear-gradient(180deg, rgba(23,21,15,.75) 0%, rgba(23,21,15,.55) 35%, rgba(23,21,15,.8) 60%, rgba(23,21,15,.97) 100%); }
    .v2-hero-inner { padding-top: 130px; padding-bottom: 110px; }
    .v2-hero-row, .v2-head, .v2-why, .v2-sell-grid, .v2-cta-grid { grid-template-columns: minmax(0, 1fr); }
    .v2-head p { justify-self: start; }
    .v2-ticker { gap: 22px; flex-wrap: wrap; }
    .v2-search { margin-top: -60px; }
    .v2-search form { grid-template-columns: minmax(0, 1fr); padding: 18px 16px 20px; }
    .v2-search-hint { display: none; }
    .v2-listings, .v2-listings-3 { grid-template-columns: minmax(0, 1fr); }
    .v2-listings-3 .v2-card-big { grid-row: auto; }
    .v2-card-big .v2-card-ph { aspect-ratio: 4 / 4.4; }
    .v2-pillar { grid-template-columns: minmax(0, 1fr); gap: 8px; }
    .v2-area { grid-template-columns: minmax(0, 1fr) auto; gap: 6px 16px; }
    .v2-why-ph { aspect-ratio: 4 / 3.4; }
    .v2-footer-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 400px) {
    .v2-word { letter-spacing: .2em; font-size: 16px; }
    .v2-mark small { letter-spacing: .3em; }
    .v2-mark { gap: 10px; }
}

/* ---------- prekidač jezika (SR · EN · RU) ---------- */
.v2-lang { display: flex; align-items: center; gap: 2px; font: 500 12px/1 var(--mono); letter-spacing: .08em; white-space: nowrap; }
.v2-lang a { color: inherit; text-decoration: none; padding: 7px 6px; opacity: .55; border-bottom: 1px solid transparent; transition: opacity .2s; }
.v2-lang a:hover, .v2-lang a:focus-visible { opacity: 1; }
.v2-lang a.is-active { opacity: 1; border-bottom-color: var(--brass-soft); }
.v2-lang-drawer { font-size: 15px; gap: 10px; margin-bottom: 18px; }
.v2-lang-drawer a { padding: 8px 4px; }
@media (max-width: 1180px) { .v2-lang:not(.v2-lang-drawer) { margin-left: auto; } .v2-header-cta { margin-left: 0; } }
@media (max-width: 760px) { .v2-menu-btn { margin-left: 4px; } .v2-header-row { gap: 14px; } }
/* ruski meni je duži: manji razmaci, telefon u zaglavlju tek na širokim ekranima */
html[lang="ru"] .v2-nav { gap: 24px; }
@media (max-width: 1640px) { html[lang="ru"] .v2-phone { display: none; } }
@media (max-width: 1320px) { html[lang="ru"] .v2-nav { gap: 16px; } html[lang="ru"] .v2-nav a { letter-spacing: .06em; } }
/* telefon: logo + SR EN RU + Meni moraju da stanu u jedan red */
@media (max-width: 760px) {
    .v2-lang:not(.v2-lang-drawer) { font-size: 11px; gap: 0; }
    .v2-lang:not(.v2-lang-drawer) a { padding: 6px 4px; }
}
@media (max-width: 480px) { .v2-header .v2-mark small { display: none; } }

/* ---------- zaglavlje uvek staje u ekran (bilo koji jezik / širina) ----------
   Široki ekrani: zaglavlje šire od sadržaja (1680 px). Ako i dalje ne staje,
   theme-v2.js redom dodaje: fit-1 sakrij telefon -> fit-2 meni u dugme -> fit-3 bez "Zakažite". */
.v2-header .v2-wrap.v2-header-row { max-width: 1680px; gap: clamp(18px, 1.8vw, 34px); }
.v2-nav { gap: clamp(18px, 1.5vw, 32px); }
.v2-header-row.fit-1 .v2-phone { display: none; }
.v2-header-row.fit-2 .v2-nav { display: none; }
.v2-header-row.fit-2 .v2-menu-btn { display: block; margin-left: 0; }
.v2-header-row.fit-2 .v2-lang:not(.v2-lang-drawer) { margin-left: auto; }
.v2-header-row.fit-3 .v2-header-cta { display: none; }

/* ---------- pitanja i odgovori na stranicama krajeva (Google FAQ / AI pretraga) ---------- */
.v2-qa { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 18px 36px; margin: 18px 0 8px; }
.v2-qa-item h3 { font: 600 17px/1.35 var(--sans); margin: 0 0 6px; }
.v2-qa-item p { margin: 0; opacity: .85; line-height: 1.6; }

/* ---------- „link u bio“ za Instagram (/ig) ---------- */
.v2-ig-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
.v2-ig-code { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 0 0 28px; }
.v2-ig-code label { font: 600 15px/1.3 var(--sans); }
.v2-ig-code input { flex: 1 1 160px; max-width: 240px; padding: 11px 14px; border: 1px solid rgba(0,0,0,.18); border-radius: 999px; font: 500 16px var(--sans); text-transform: uppercase; background: transparent; color: inherit; }
.v2-ig-item { position: relative; }
.v2-ig-ref { position: absolute; top: 12px; right: 56px; padding: 4px 10px; border-radius: 999px; background: rgba(23,21,15,.82); color: #f4efe4; font: 700 12px/1 var(--sans); letter-spacing: .06em; pointer-events: none; }

/* ---------- stranice po strukturi / izdavanju (templates/area-type.php) ---------- */
.v2-type-table { width: 100%; border-collapse: collapse; margin: 36px 0 0; font: 500 15px/1.4 var(--sans); }
.v2-type-table caption { text-align: left; font: 600 17px/1.3 var(--sans); margin-bottom: 10px; }
.v2-type-table th { text-align: left; font-weight: 600; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; opacity: .6; padding: 8px 10px 8px 0; border-bottom: 1px solid rgba(0,0,0,.15); }
.v2-type-table td { padding: 11px 10px 11px 0; border-bottom: 1px solid rgba(0,0,0,.08); }
.v2-type-table tr.is-current td { font-weight: 700; }
.v2-type-table a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 560px) { .v2-type-table th:nth-child(4), .v2-type-table td:nth-child(4) { display: none; } .v2-type-table { font-size: 14px; } }
.v2-related-links { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.v2-related-links a { padding: 8px 14px; border: 1px solid rgba(0,0,0,.16); border-radius: 999px; font: 500 14px/1.2 var(--sans); color: inherit; text-decoration: none; }
.v2-related-links a:hover { border-color: currentColor; }
.v2-area-qa .v2-related-links { margin-top: 28px; }

/* ---------- stranica nekretnine: prodato/izdato i veze ka cenama kraja ---------- */
.v2-closed-note { margin: 18px 0 6px; padding: 14px 18px; border-radius: 12px; background: rgba(176,141,87,.16); border: 1px solid rgba(176,141,87,.45); font: 500 15px/1.5 var(--sans); }
.v2-closed-note strong { margin-right: 6px; }
.v2-closed-note a { margin-left: 8px; color: inherit; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.v2-property-market { margin: 40px 0 8px; }
.v2-property-market h2 { font: 600 20px/1.3 var(--sans); margin: 0 0 6px; }

/* ---------- kalkulator kredita (stranica nekretnine na prodaju) ---------- */
.v2-mortgage { margin: 40px 0 8px; padding: 22px; border: 1px solid rgba(0,0,0,.12); border-radius: 16px; }
.v2-mortgage h2 { font: 600 20px/1.3 var(--sans); margin: 0 0 14px; }
.v2-mortgage-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 14px 24px; }
.v2-mortgage-grid label { display: flex; flex-direction: column; gap: 8px; font: 600 14px/1.3 var(--sans); }
.v2-mortgage-grid input[type=range] { width: 100%; accent-color: #b08d57; }
.v2-mortgage-grid input[type=number] { width: 110px; padding: 9px 12px; border: 1px solid rgba(0,0,0,.18); border-radius: 10px; font: 500 16px var(--sans); background: transparent; color: inherit; }
.v2-mortgage-val { font-weight: 500; opacity: .75; }
.v2-mortgage-out { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 14px; margin: 20px 0 6px; }
.v2-mortgage-out .v2-num { font: 600 18px/1.3 var(--sans); }
.v2-mortgage-out .v2-fact-num { font-size: 30px; }

/* ---------- tabele u člancima (vodiči, izveštaji o cenama) ---------- */
.blog-single table { width: 100%; border-collapse: collapse; margin: 18px 0 24px; font: 500 15px/1.4 var(--sans); }
.blog-single th { text-align: left; font-weight: 600; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; opacity: .65; padding: 8px 12px 8px 0; border-bottom: 1px solid rgba(0,0,0,.18); }
.blog-single td { padding: 10px 12px 10px 0; border-bottom: 1px solid rgba(0,0,0,.08); }
.blog-single ol, .blog-single ul { padding-left: 1.3em; }
.blog-single li { margin: 0 0 8px; line-height: 1.6; }

/* ---------- pečat „Prodato / Izdato / Rezervisano“ preko slike (kartica i stranica nekretnine) ---------- */
.v2-stamp { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; pointer-events: none; z-index: 2; }
.v2-stamp > span { transform: rotate(-12deg); padding: 10px 22px; border: 3px solid currentColor; border-radius: 6px; background: rgba(23,21,15,.72);
  color: #f4efe4; font: 700 22px/1 var(--sans); letter-spacing: .22em; text-transform: uppercase; box-shadow: 0 6px 24px rgba(0,0,0,.25); }
.v2-stamp-sold > span, .v2-stamp-rented > span { color: #fff; background: rgba(176,46,46,.88); border-color: rgba(255,255,255,.9); }
.v2-stamp-reserved > span { color: #17150f; background: rgba(214,180,120,.94); border-color: rgba(23,21,15,.6); font-size: 18px; }
.v2-stamp-big > span { font-size: clamp(26px, 5vw, 54px); padding: 16px 36px; border-width: 4px; }
.v2-card-closed .v2-card-ph img, .gallery-closed img { filter: grayscale(.55) brightness(.82); }
.gallery-main { position: relative; }
