/* =====================================================================
   Prestige — premium tema za sajtove agencija.
   Ideja: galerija. Fotografije nose stranicu, oglasi imaju natpis ispod
   slike kao djela na zidu, tipografija je krupna i mirna. Boje, uglovi i
   fontovi dolaze iz postavki sajta (--site-*).
   ===================================================================== */

:root {
    --pr-ink: var(--site-secondary, #141414);
    --pr-on-ink: var(--site-hero-text, #f6f2ec);
    --pr-paper: var(--site-bg, #f6f2ec);
    --pr-surface: var(--site-surface, #fffdf9);
    --pr-text: var(--site-text, #1a1816);
    --pr-muted: var(--site-muted, #6e675e);
    --pr-line: var(--site-border, #e6ded2);
    --pr-brand: var(--site-primary, #a8834f);
    --pr-brand-dark: var(--site-primary-dark, #8a6a3c);
    --pr-accent: var(--site-accent, #d8c3a0);
    --pr-btn-text: var(--site-button-text, #141414);
    --pr-head: var(--site-font-head, Georgia, serif);
    --pr-body: var(--site-font-body, system-ui, sans-serif);
    --pr-hw: var(--site-head-weight, 500);
    --pr-ht: var(--site-head-tracking, -0.01em);
    --pr-hs: var(--site-head-scale, 1);
    --pr-r-sm: var(--site-radius-sm, 0px);
    --pr-r: var(--site-radius-md, 2px);
    --pr-r-lg: var(--site-radius-lg, 3px);
    --pr-r-btn: var(--site-radius-btn, 2px);
    --pr-gutter: clamp(20px, 4vw, 56px);
    --pr-max: 1320px;
    --pr-header-h: 76px;
    --pr-ink-soft: color-mix(in srgb, var(--pr-ink) 88%, var(--pr-on-ink));
    --pr-ink-line: color-mix(in srgb, var(--pr-on-ink) 16%, transparent);
    --pr-paper-2: color-mix(in srgb, var(--pr-paper) 70%, var(--pr-line));
}

/* ---------- Osnova ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: calc(var(--pr-header-h) + 12px); }
body.theme-prestige {
    margin: 0;
    background: var(--pr-paper);
    color: var(--pr-text);
    font-family: var(--pr-body);
    font-size: 1rem;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    font-variant-numeric: lining-nums;
}
.theme-prestige img { max-width: 100%; display: block; }
.theme-prestige [hidden] { display: none !important; }
:where(.theme-prestige) a { color: inherit; } /* bez težine, da klase dugmadi (npr. .pr-btn--solid) uvijek odrede boju teksta */
.theme-prestige h1, .theme-prestige h2, .theme-prestige h3 {
    font-family: var(--pr-head);
    font-weight: var(--pr-hw);
    letter-spacing: var(--pr-ht);
    line-height: 1.08;
    margin: 0;
    text-wrap: balance;
}
.theme-prestige p { margin: 0; }
.theme-prestige :focus-visible { outline: 2px solid var(--pr-brand); outline-offset: 3px; }
.pr-wrap { width: 100%; max-width: var(--pr-max); margin: 0 auto; padding: 0 var(--pr-gutter); }
.pr-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.pr-skip { position: absolute; left: 12px; top: -60px; z-index: 200; padding: 10px 16px; background: var(--pr-ink); color: var(--pr-on-ink); text-decoration: none; }
.pr-skip:focus { top: 12px; }
.pr-lead { font-family: var(--pr-head); font-size: calc(1.375rem * var(--pr-hs)); line-height: 1.4; font-weight: var(--pr-hw); color: var(--pr-text); max-width: 34em; }
.pr-empty { color: var(--pr-muted); padding: 2rem 0; }
.site-hp { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }

/* ---------- Dugmad i linkovi ---------- */
.pr-btn {
    display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
    min-height: 48px; padding: .75rem 1.5rem;
    border: 1px solid transparent; border-radius: var(--pr-r-btn);
    font: 500 .9375rem/1.2 var(--pr-body); letter-spacing: .01em;
    text-decoration: none; cursor: pointer; transition: background-color .2s, color .2s, border-color .2s;
}
.pr-btn--lg { min-height: 54px; padding: .9rem 1.9rem; font-size: 1rem; }
.pr-btn--block { width: 100%; }
.pr-btn--solid { background: var(--pr-brand); color: var(--pr-btn-text); }
.pr-btn--solid:hover { background: var(--pr-brand-dark); color: #fff; }
.pr-btn--line { border-color: currentColor; background: transparent; color: inherit; }
.pr-btn--line:hover { background: var(--pr-text); color: var(--pr-paper); border-color: var(--pr-text); }
.pr-btn--ghost { background: transparent; color: var(--pr-text); border-color: var(--pr-line); }
.pr-btn--ghost:hover { border-color: var(--pr-text); }
.pr-more, .pr-link-btn {
    display: inline; padding: 0; border: 0; background: none; cursor: pointer;
    font: 500 .9375rem/1.4 var(--pr-body); color: inherit;
    text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .3em;
    text-decoration-color: var(--pr-brand);
}
.pr-more:hover, .pr-link-btn:hover { color: var(--pr-brand-dark); }

/* ---------- Zaglavlje ---------- */
.pr-header {
    position: sticky; top: 0; z-index: 50;
    background: var(--pr-paper);
    border-bottom: 1px solid var(--pr-line);
    transition: background-color .3s, border-color .3s, color .3s;
}
.pr-header--overlay { position: fixed; left: 0; right: 0; background: transparent; border-color: transparent; color: var(--pr-on-ink); }
.pr-header--overlay.is-solid { background: var(--pr-paper); border-color: var(--pr-line); color: var(--pr-text); }
.pr-header__row { display: flex; align-items: center; gap: 2rem; min-height: var(--pr-header-h); }
.pr-brand { display: inline-flex; align-items: center; text-decoration: none; flex-shrink: 0; }
.pr-brand__logo { max-height: 46px; width: auto; }
.pr-brand__name { font-family: var(--pr-head); font-weight: var(--pr-hw); font-size: calc(1.5rem * var(--pr-hs)); letter-spacing: var(--pr-ht); }
.pr-nav { margin-left: clamp(1.5rem, 3vw, 3rem); }
.pr-header__tools { margin-left: auto; }
.pr-nav ul { display: flex; gap: 1.75rem; list-style: none; margin: 0; padding: 0; }
.pr-nav a { white-space: nowrap; text-decoration: none; font-size: .9375rem; padding: .35rem 0; border-bottom: 1px solid transparent; }
.pr-nav a:hover, .pr-nav a[aria-current="page"] { border-bottom-color: currentColor; }
.pr-nav__mobile-extra { display: none; }
.pr-header__tools { display: flex; align-items: center; gap: 1.25rem; }
.pr-lang { display: flex; gap: .15rem; font-size: .8125rem; }
.pr-lang a { text-decoration: none; padding: .3rem .4rem; opacity: .6; }
.pr-lang a[aria-current="true"] { opacity: 1; text-decoration: underline; text-underline-offset: .3em; }
.pr-header__phone { text-decoration: none; font-size: .9375rem; white-space: nowrap; }
.pr-header__cta { white-space: nowrap; min-height: 42px; padding: .55rem 1.1rem; font-size: .875rem; }
.pr-menu { display: none; width: 44px; height: 44px; border: 0; background: none; color: inherit; cursor: pointer; padding: 0; }
.pr-menu__bars, .pr-menu__bars::before, .pr-menu__bars::after { display: block; width: 24px; height: 1.5px; background: currentColor; margin: 0 auto; position: relative; transition: transform .2s; }
.pr-menu__bars::before, .pr-menu__bars::after { content: ""; position: absolute; left: 0; }
.pr-menu__bars::before { top: -7px; }
.pr-menu__bars::after { top: 7px; }
.pr-menu[aria-expanded="true"] .pr-menu__bars { background: transparent; }
.pr-menu[aria-expanded="true"] .pr-menu__bars::before { transform: translateY(7px) rotate(45deg); }
.pr-menu[aria-expanded="true"] .pr-menu__bars::after { transform: translateY(-7px) rotate(-45deg); }

/* ---------- Naslovna sekcija ---------- */
.pr-hero { position: relative; isolation: isolate; }
.pr-hero__media { position: relative; overflow: hidden; background: var(--pr-ink); }
.pr-slide { position: absolute; inset: 0; margin: 0; opacity: 0; transition: opacity 1.2s ease; }
.pr-slide.is-active { opacity: 1; z-index: 1; }
.pr-slide img { width: 100%; height: 100%; object-fit: cover; }
.pr-slide.is-active img { animation: pr-settle 9s ease-out both; }
@keyframes pr-settle { from { transform: scale(1.06); } to { transform: scale(1); } }

/* Natpis uz fotografiju oglasa, kao pločica uz sliku u galeriji */
.pr-plate { position: absolute; z-index: 2; }
.pr-plate a {
    display: grid; gap: .2rem; min-width: 230px; max-width: 320px;
    padding: 1rem 1.15rem; text-decoration: none;
    background: var(--pr-surface); color: var(--pr-text); border-radius: var(--pr-r-sm);
}
.pr-plate__title { font-family: var(--pr-head); font-weight: var(--pr-hw); font-size: calc(1.125rem * var(--pr-hs)); line-height: 1.25; }
.pr-plate__meta { font-size: .8125rem; color: var(--pr-muted); }
.pr-plate__price { margin-top: .35rem; font-weight: 600; font-size: .9375rem; }
.pr-plate a:hover .pr-plate__title { text-decoration: underline; text-underline-offset: .2em; }

.pr-dots { position: absolute; z-index: 4; display: flex; gap: .5rem; }
.pr-dots button { width: 28px; height: 3px; border: 0; padding: 0; background: rgba(255,255,255,.45); cursor: pointer; }
.pr-dots button[aria-current="true"] { background: #fff; }

.pr-hero__video { position: absolute; inset: 0; z-index: 2; opacity: 0; transition: opacity 1.2s; pointer-events: none; overflow: hidden; }
.pr-hero__video.is-playing { opacity: 1; }
.pr-hero__video iframe { position: absolute; top: 50%; left: 50%; width: 177.78vh; min-width: 100%; height: 56.25vw; min-height: 100%; transform: translate(-50%, -50%); border: 0; }

.pr-hero h1 { font-size: calc(clamp(2.75rem, 6.2vw, 6.25rem) * var(--pr-hs)); line-height: 1.02; max-width: 11em; padding-bottom: .08em; }
.pr-hero__intro { font-size: 1.125rem; line-height: 1.55; max-width: 32em; margin-top: 1.75rem; }
.pr-hero__actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 2rem; }

/* Stil: puni ekran (i video) */
.pr-hero--full { min-height: max(640px, 100svh); color: var(--pr-on-ink); }
.pr-hero--full .pr-hero__media { position: absolute; inset: 0; z-index: -1; }
.pr-hero--full .pr-slide::after, .pr-hero--full .pr-hero__video::after, .pr-hero--plain.pr-hero--full .pr-hero__media::after {
    content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none;
    background:
        linear-gradient(to top, color-mix(in srgb, var(--pr-ink) 88%, transparent) 0%, color-mix(in srgb, var(--pr-ink) 35%, transparent) 45%, transparent 70%),
        linear-gradient(to bottom, color-mix(in srgb, var(--pr-ink) 45%, transparent), transparent 22%);
}
.pr-hero--full .pr-hero__body { position: relative; z-index: 3; min-height: max(640px, 100svh); display: flex; align-items: flex-end; padding: calc(var(--pr-header-h) + 3rem) 0 calc(var(--pr-dock-half, 42px) + clamp(2.5rem, 6vh, 4rem)); pointer-events: none; }
.pr-hero--full .pr-hero__text { pointer-events: auto; }
.pr-hero--full .pr-hero__intro { color: color-mix(in srgb, var(--pr-on-ink) 86%, transparent); }
.pr-hero--full .pr-plate { right: var(--pr-gutter); bottom: calc(var(--pr-dock-half, 42px) + clamp(2.5rem, 6vh, 4rem)); }
.pr-hero--full .pr-dots { left: var(--pr-gutter); top: calc(var(--pr-header-h) + 1.5rem); }
.pr-hero--full .pr-btn--line:hover { background: var(--pr-on-ink); color: var(--pr-ink); border-color: var(--pr-on-ink); }
.pr-hero--plain.pr-hero--full .pr-hero__media { background: var(--pr-ink); }

/* Stil: uokvireno */
.pr-hero--framed { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); align-items: center; gap: 0; max-width: var(--pr-max); margin: 0 auto; padding: clamp(2rem, 5vw, 4.5rem) var(--pr-gutter) 0; }
.pr-hero--framed .pr-hero__media { order: 2; aspect-ratio: 4 / 5; max-height: 78vh; width: 100%; border-radius: var(--pr-r-lg); }
.pr-hero--framed .pr-hero__body { order: 1; position: relative; z-index: 2; }
.pr-hero--framed .pr-hero__text { padding: 0 clamp(1.5rem, 4vw, 4rem) 0 0; max-width: none; margin: 0; }
.pr-hero--framed h1 { margin-right: -18%; position: relative; z-index: 3; }
.pr-hero--framed .pr-hero__intro { color: var(--pr-muted); }
.pr-hero--framed .pr-plate { left: 1.25rem; bottom: 1.25rem; }
.pr-hero--framed .pr-dots { right: 1.25rem; top: 1.25rem; }
.pr-hero--plain.pr-hero--framed .pr-hero__media { background: var(--pr-paper-2); }

/* Pretraga ispod naslovne */
.pr-dock { position: relative; z-index: 5; }
/* Pretraga sjedi tačno na granici: pola preko fotografije, pola ispod (theme.js mjeri visinu) */
.pr-dock--full { margin-top: calc(-1 * var(--pr-dock-half, 42px)); }
.pr-search--hero { box-shadow: 0 18px 40px -24px rgba(0, 0, 0, .35); }
.pr-dock--framed { margin-top: 2.5rem; }

/* ---------- Pretraga ---------- */
.pr-search { position: relative; z-index: 6; display: flex; align-items: stretch; background: var(--pr-surface); border: 1px solid var(--pr-line); border-radius: var(--pr-r); }
.pr-search__field { position: relative; flex: 1 1 0; display: flex; flex-direction: column; justify-content: center; gap: .3rem; min-width: 0; padding: .95rem 1.4rem; border-right: 1px solid var(--pr-line); transition: background-color .2s; }
.pr-search__field:first-child { border-radius: var(--pr-r) 0 0 var(--pr-r); }
.pr-search__field--range { flex: 1.15 1 0; }
.pr-search__label, .pr-search__field > span { font-size: .6875rem; font-weight: 600; letter-spacing: .09em; text-transform: uppercase; color: var(--pr-muted); line-height: 1.3; cursor: pointer; }
.pr-search select, .pr-search input {
    width: 100%; min-width: 0; border: 0; padding: .15rem 0; background: transparent; color: var(--pr-text);
    font: 500 1rem/1.4 var(--pr-body); appearance: none; -webkit-appearance: none;
}
.pr-search select { background-image: linear-gradient(45deg, transparent 50%, currentColor 50%), linear-gradient(135deg, currentColor 50%, transparent 50%); background-position: calc(100% - 9px) 55%, calc(100% - 4px) 55%; background-size: 5px 5px; background-repeat: no-repeat; padding-right: 1.25rem; }
.pr-search input::placeholder { color: color-mix(in srgb, var(--pr-muted) 75%, transparent); }
.pr-search__field--range > div, .pr-price { display: flex; align-items: center; gap: .5rem; }
.pr-price > span { color: var(--pr-muted); }
.pr-search__submit { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; gap: .6rem; border: 0; padding: 0 2.4rem; background: var(--pr-ink); color: var(--pr-on-ink); font: 500 1rem var(--pr-body); letter-spacing: .01em; cursor: pointer; border-radius: 0 var(--pr-r) var(--pr-r) 0; transition: background-color .2s, color .2s; }
.pr-search__submit::before { content: ''; width: 15px; height: 15px; flex: none; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5'/%3E%3Cpath d='m20 20-4.6-4.6'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5'/%3E%3Cpath d='m20 20-4.6-4.6'/%3E%3C/svg%3E") center / contain no-repeat; }
.pr-search__submit:hover { background: var(--pr-brand); color: var(--pr-btn-text); }
.pr-search select:focus-visible, .pr-search input:focus-visible { outline: none; }
.pr-search__field:focus-within, .pr-search__field.is-open { box-shadow: inset 0 -2px 0 var(--pr-brand); }

/* Stilizovani izbornik (theme.js); izvorni select ostaje skriven u formi */
.pr-search.is-enhanced .pr-search__field { cursor: pointer; }
.pr-search.is-enhanced .pr-search__field:hover, .pr-search__field.is-open { background: color-mix(in srgb, var(--pr-paper-2) 55%, var(--pr-surface)); }
.pr-select { position: relative; min-width: 0; }
.pr-select__btn {
    display: flex; align-items: center; justify-content: space-between; gap: .75rem; width: 100%;
    margin: 0; padding: .1rem 0; border: 0; background: none; color: var(--pr-text); cursor: pointer; text-align: left;
    font: 500 1rem/1.4 var(--pr-body);
}
.pr-select__btn:focus-visible { outline: none; }
.pr-select__value { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pr-select__btn.is-empty .pr-select__value { color: color-mix(in srgb, var(--pr-text) 62%, var(--pr-muted)); }
.pr-select__btn::after {
    content: ''; flex: none; width: 7px; height: 7px; margin-right: 2px;
    border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; opacity: .55;
    transform: translateY(-2px) rotate(45deg); transition: transform .2s, opacity .2s;
}
.pr-select__btn[aria-expanded="true"]::after { transform: translateY(2px) rotate(-135deg); opacity: 1; }

.pr-pop {
    position: absolute; top: calc(100% + 1.15rem); left: -1.4rem; z-index: 40;
    min-width: calc(100% + 2.8rem); width: max-content; max-width: min(360px, calc(100vw - 2 * var(--pr-gutter)));
    padding: .45rem; background: var(--pr-surface); color: var(--pr-text);
    border: 1px solid var(--pr-line); border-radius: var(--pr-r);
    box-shadow: 0 28px 56px -24px rgba(0, 0, 0, .38), 0 3px 10px -4px rgba(0, 0, 0, .1);
    cursor: default; text-align: left; animation: pr-pop .16s ease-out;
}
.pr-pop.is-right { left: auto; right: -1.4rem; }
@keyframes pr-pop { from { opacity: 0; transform: translateY(-6px); } }
.pr-search .pr-pop__search {
    display: block; width: 100%; margin: 0 0 .4rem; padding: .65rem .8rem;
    border: 1px solid var(--pr-line); border-radius: var(--pr-r-sm); background: var(--pr-paper);
    font: 400 .9375rem/1.3 var(--pr-body);
}
.pr-search .pr-pop__search:focus { border-color: var(--pr-brand); }
.pr-pop__list { list-style: none; margin: 0; padding: 0; max-height: min(320px, 46vh); overflow-y: auto; overscroll-behavior: contain; outline: none; scrollbar-width: thin; }
.pr-pop__opt {
    display: flex; align-items: center; justify-content: space-between; gap: 1.25rem;
    padding: .62rem .85rem; border-radius: var(--pr-r-sm);
    font-size: .9375rem; line-height: 1.35; cursor: pointer; white-space: nowrap;
}
.pr-pop__opt.is-active { background: var(--pr-paper-2); }
.pr-pop__opt[aria-selected="true"] { font-weight: 600; color: var(--pr-brand-dark); }
.pr-pop__opt[aria-selected="true"]::after {
    content: ''; flex: none; width: 5px; height: 10px; margin-right: 3px;
    border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: translateY(-1px) rotate(45deg);
}
.pr-pop__empty { padding: .62rem .85rem; color: var(--pr-muted); font-size: .875rem; }

/* Raspon cijene */
.pr-pop--price { width: 340px; padding: 1.1rem 1.1rem .9rem; }
.pr-price__cols { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: .75rem; }
.pr-price__col > label { display: block; margin-bottom: .4rem; font-size: .6875rem; font-weight: 600; letter-spacing: .09em; text-transform: uppercase; color: var(--pr-muted); }
.pr-search .pr-price__col input {
    padding: .62rem .75rem; border: 1px solid var(--pr-line); border-radius: var(--pr-r-sm); background: var(--pr-paper);
    font: 500 .9375rem/1.3 var(--pr-body); transition: border-color .2s;
}
.pr-search .pr-price__col input:focus { border-color: var(--pr-brand); }
.pr-search .pr-price__col input::placeholder { font-weight: 400; }
.pr-price__presets { list-style: none; margin: .45rem 0 0; padding: 0; display: grid; gap: 1px; }
.pr-price__presets button {
    width: 100%; padding: .45rem .75rem; border: 0; border-radius: var(--pr-r-sm); background: none;
    font: 400 .875rem/1.3 var(--pr-body); color: var(--pr-text); text-align: left; cursor: pointer;
    font-variant-numeric: tabular-nums;
}
.pr-price__presets button:hover { background: var(--pr-paper-2); }
.pr-price__presets button.is-on { font-weight: 600; color: var(--pr-brand-dark); background: var(--pr-paper-2); }
.pr-price__foot { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: .9rem; padding-top: .85rem; border-top: 1px solid var(--pr-line); }
.pr-price__foot .pr-link-btn { font-size: .875rem; color: var(--pr-muted); }
.pr-btn--sm { min-height: 38px; padding: .45rem 1.1rem; font-size: .875rem; }

/* Poredak na stranici Nekretnine koristi isti izbornik */
.pr-sort .pr-select__btn { gap: .6rem; padding: .45rem .8rem; border: 1px solid var(--pr-line); border-radius: var(--pr-r-sm); background: var(--pr-surface); font-size: .875rem; }
.pr-sort .pr-select__btn:hover, .pr-sort .pr-select__btn[aria-expanded="true"] { border-color: var(--pr-text); }
.pr-sort .pr-select__btn:focus-visible { outline: 2px solid var(--pr-brand); outline-offset: 2px; }
.pr-sort .pr-pop { top: calc(100% + .4rem); left: auto; right: 0; min-width: 100%; }

/* ---------- Sekcije ---------- */
.pr-section { padding-top: clamp(4.5rem, 9vw, 8rem); }
.pr-section--tight { padding-top: 2.5rem; }
.pr-head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 26rem); align-items: end; gap: 1rem 3rem; margin-bottom: clamp(2rem, 4vw, 3.25rem); }
.pr-head h2 { font-size: calc(clamp(2.25rem, 4.2vw, 3.75rem) * var(--pr-hs)); }
.pr-head p { color: var(--pr-muted); }
.pr-head .pr-more { justify-self: end; }
.pr-head--on-dark p { color: color-mix(in srgb, var(--pr-on-ink) 72%, transparent); }

/* Oglas: fotografija + natpis */
.pr-card { display: flex; flex-direction: column; gap: 1rem; min-width: 0; }
.pr-card__media { position: relative; display: block; overflow: hidden; aspect-ratio: 4 / 3; border-radius: var(--pr-r); background: var(--pr-paper-2); }
.pr-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.pr-card:hover .pr-card__media img { transform: scale(1.03); }
.pr-card__deal { position: absolute; left: .75rem; top: .75rem; padding: .3rem .6rem; background: var(--pr-surface); color: var(--pr-text); font-size: .75rem; font-weight: 500; border-radius: var(--pr-r-sm); }
.pr-card__label { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .25rem 1rem; align-items: baseline; }
.pr-card__title { font-size: calc(1.25rem * var(--pr-hs)); line-height: 1.25; }
.pr-card__title a { text-decoration: none; }
.pr-card__title a:hover { text-decoration: underline; text-underline-offset: .2em; text-decoration-thickness: 1px; }
.pr-card__price { font-weight: 600; white-space: nowrap; }
.pr-card__price s { color: var(--pr-muted); font-weight: 400; font-size: .875rem; margin-left: .25rem; }
.pr-card__meta { grid-column: 1 / -1; color: var(--pr-muted); font-size: .9rem; display: flex; flex-wrap: wrap; gap: 0 1rem; }
.pr-card--lg .pr-card__media { aspect-ratio: 5 / 4; }
.pr-card--lg .pr-card__title { font-size: calc(1.75rem * var(--pr-hs)); }

.pr-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 3rem 2rem; }
.pr-salon { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 2.5rem 2rem; }
.pr-salon .pr-card--lg { grid-row: span 2; }
.pr-salon--1 { grid-template-columns: minmax(0, 1fr); }
.pr-salon--1 .pr-card--lg .pr-card__media { aspect-ratio: 21 / 9; }
.pr-salon--2 .pr-card--lg { grid-row: auto; }
.pr-salon--3 > .pr-card:not(.pr-card--lg) .pr-card__media { aspect-ratio: 16 / 10; }
.pr-salon--3 .pr-card--lg .pr-card__media { aspect-ratio: auto; flex: 1 1 auto; min-height: 420px; }

/* Brojke */
.pr-stats { margin-top: clamp(4.5rem, 9vw, 8rem); padding: clamp(3rem, 6vw, 4.5rem) 0; border-top: 1px solid var(--pr-line); border-bottom: 1px solid var(--pr-line); }
.pr-stats__row { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 2rem; margin: 0 auto; }
.pr-stats__row div { display: flex; flex-direction: column; }
.pr-stats dd { margin: 0; font-family: var(--pr-head); font-weight: var(--pr-hw); font-size: calc(clamp(2.75rem, 5vw, 4.5rem) * var(--pr-hs)); line-height: 1; letter-spacing: var(--pr-ht); }
.pr-stats dt { order: 2; margin-top: .6rem; color: var(--pr-muted); }

/* Novogradnja */
.pr-projects { margin-top: clamp(4.5rem, 9vw, 8rem); padding: clamp(4.5rem, 8vw, 7rem) 0; background: var(--pr-ink); color: var(--pr-on-ink); }
.pr-projects__list { display: grid; gap: clamp(3rem, 6vw, 5rem); }
.pr-project { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(1.75rem, 4vw, 4rem); align-items: center; }
.pr-project__media { display: block; aspect-ratio: 3 / 2; overflow: hidden; border-radius: var(--pr-r); background: var(--pr-ink-soft); }
.pr-project__media img { width: 100%; height: 100%; object-fit: cover; }
.pr-project h3 { font-size: calc(clamp(2rem, 3.4vw, 3rem) * var(--pr-hs)); }
.pr-project h3 a { text-decoration: none; }
.pr-project__place { margin-top: .5rem; opacity: .75; }
.pr-project__text { margin-top: 1.25rem; max-width: 34em; opacity: .9; }
.pr-project__facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem 1.5rem; margin: 1.75rem 0 2rem; padding: 1.5rem 0 0; border-top: 1px solid var(--pr-ink-line); }
.pr-project__facts div { display: flex; flex-direction: column; }
.pr-project__facts dt { font-size: .8125rem; opacity: .7; order: 1; }
.pr-project__facts dd { margin: 0; font-size: 1.125rem; font-weight: 500; order: 2; }
.pr-projects .pr-btn--line:hover { background: var(--pr-on-ink); color: var(--pr-ink); border-color: var(--pr-on-ink); }
.pr-more--on-dark { display: inline-block; margin-top: 3rem; }
.pr-project:nth-child(even) { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); }
.pr-project:nth-child(even) .pr-project__media { order: 2; }
/* Stranica Novogradnja: isti redovi na svijetloj podlozi */
.pr-projects-page { display: grid; gap: clamp(3.5rem, 7vw, 6rem); padding-top: 1rem; }
.pr-projects-page .pr-project__place, .pr-projects-page .pr-project__text { opacity: 1; color: var(--pr-muted); }
.pr-projects-page .pr-project__facts { border-top-color: var(--pr-line); }
.pr-projects-page .pr-project__facts dt { opacity: 1; color: var(--pr-muted); }

/* O agenciji */
.pr-about { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: clamp(2rem, 6vw, 6rem); align-items: center; padding-top: clamp(4.5rem, 9vw, 8rem); }
.pr-about__media { margin: 0; aspect-ratio: 4 / 5; overflow: hidden; border-radius: var(--pr-r); }
.pr-about__media img { width: 100%; height: 100%; object-fit: cover; }
.pr-about h2 { font-size: calc(clamp(2.25rem, 4.2vw, 3.75rem) * var(--pr-hs)); margin-bottom: 1.75rem; }
.pr-about .pr-btn { margin-top: 2.25rem; }

/* Usluge: dvije kolone, nazivi krupno */
.pr-services__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 3rem; border-top: 1px solid var(--pr-line); }
.pr-services__list li { padding: 1.15rem 0; border-bottom: 1px solid var(--pr-line); font-family: var(--pr-head); font-weight: var(--pr-hw); font-size: calc(1.375rem * var(--pr-hs)); line-height: 1.3; }

/* Tim */
.pr-team { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 2.5rem 1.75rem; }
.pr-person h3 { font-size: calc(1.25rem * var(--pr-hs)); margin-top: 1rem; }
.pr-person h3 a { text-decoration: none; }
.pr-person h3 a:hover { text-decoration: underline; text-underline-offset: .2em; text-decoration-thickness: 1px; }
.pr-person p { color: var(--pr-muted); font-size: .9rem; margin-top: .2rem; }
.pr-person__count { font-size: .8125rem !important; }
.pr-person__photo { display: block; aspect-ratio: 4 / 5; overflow: hidden; border-radius: var(--pr-r); background: var(--pr-paper-2); }
.pr-person__photo img { width: 100%; height: 100%; object-fit: cover; }
.pr-person__photo span { display: grid; place-items: center; height: 100%; font-family: var(--pr-head); font-size: 3rem; color: var(--pr-muted); }

/* Procjena: traka i forma */
.pr-valuation { margin-top: clamp(4.5rem, 9vw, 8rem); padding: clamp(3.5rem, 7vw, 6rem) 0; background: var(--pr-paper-2); }
.pr-valuation__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(2rem, 6vw, 5rem); align-items: start; }
.pr-valuation h2 { font-size: calc(clamp(2.25rem, 4.2vw, 3.75rem) * var(--pr-hs)); margin-bottom: 1.25rem; }
.pr-valuation__text p { color: var(--pr-muted); margin-bottom: 1.5rem; max-width: 30em; }
.pr-valform { background: var(--pr-surface); padding: clamp(1.5rem, 3vw, 2.25rem); border-radius: var(--pr-r); }
.pr-valpage { padding: clamp(3rem, 7vw, 6rem) 0 0; }
.pr-valpage__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(2rem, 6vw, 5rem); align-items: start; }
.pr-valpage h1 { font-size: calc(clamp(2.5rem, 5vw, 4.5rem) * var(--pr-hs)); margin-bottom: 1.5rem; }
.pr-valpage .pr-valform { border: 1px solid var(--pr-line); }
.pr-steps { list-style: none; counter-reset: pr-step; margin: 2.5rem 0 0; padding: 0; display: grid; gap: 1.5rem; }
.pr-steps li { counter-increment: pr-step; display: grid; grid-template-columns: 2.5rem minmax(0, 1fr); column-gap: .75rem; }
.pr-steps li::before { content: counter(pr-step); grid-row: span 2; font-family: var(--pr-head); font-size: 1.75rem; line-height: 1; color: var(--pr-brand); }
.pr-steps strong { font-weight: 600; }
.pr-steps span { color: var(--pr-muted); font-size: .9375rem; }

/* Kontakt */
.pr-contact { padding: clamp(4.5rem, 9vw, 8rem) 0 0; }
.pr-contact__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: clamp(2rem, 6vw, 6rem); }
.pr-contact h2 { font-size: calc(clamp(2.25rem, 4.2vw, 3.75rem) * var(--pr-hs)); margin-bottom: 1.25rem; }
.pr-contact__info > p { color: var(--pr-muted); max-width: 28em; }
.pr-contact__list { margin: 2rem 0 0; display: grid; gap: 0; border-top: 1px solid var(--pr-line); }
.pr-contact__list div { display: grid; grid-template-columns: 7rem minmax(0, 1fr); gap: 1rem; padding: .9rem 0; border-bottom: 1px solid var(--pr-line); }
.pr-contact__list dt { color: var(--pr-muted); font-size: .9rem; }
.pr-contact__list dd { margin: 0; }
.pr-contact__list a { text-decoration: none; }
.pr-contact__list a:hover { text-decoration: underline; }
.pr-contact__sub { display: block; margin-top: .15rem; color: var(--pr-muted); font-size: .875rem; }
.pr-open { font-style: normal; font-size: .8125rem; margin-left: .4rem; color: var(--pr-muted); }
.pr-open.is-open, [data-site-hours] .sg-open.is-open { color: #2f7a4b; }
[data-site-hours] .sg-open { font-style: normal; font-size: .8125rem; margin-left: .35rem; color: var(--pr-muted); }

/* ---------- Forme ---------- */
.pr-form { display: grid; gap: 1rem; }
.pr-form h2 { font-size: calc(1.75rem * var(--pr-hs)); }
.pr-form__row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.pr-form__row--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.pr-field { display: grid; gap: .35rem; font-size: .8125rem; color: var(--pr-muted); }
.pr-field input, .pr-field select, .pr-field textarea {
    width: 100%; min-height: 48px; padding: .7rem .85rem;
    border: 1px solid var(--pr-line); border-radius: var(--pr-r-sm); background: var(--pr-surface); color: var(--pr-text);
    font: 1rem/1.4 var(--pr-body);
}
.pr-field textarea { min-height: 110px; resize: vertical; }
.pr-field input:focus, .pr-field select:focus, .pr-field textarea:focus { outline: none; border-color: var(--pr-text); }
.pr-check { display: flex; gap: .6rem; align-items: flex-start; font-size: .8125rem; color: var(--pr-muted); cursor: pointer; }
.pr-check input { margin-top: .2rem; width: 16px; height: 16px; accent-color: var(--pr-brand); flex-shrink: 0; }
.pr-form .pr-btn--solid { justify-self: start; }
.pr-seg { border: 0; margin: 0; padding: 0; display: flex; gap: .5rem; }
.pr-seg legend { font-size: .8125rem; color: var(--pr-muted); margin-bottom: .4rem; }
.pr-seg label { cursor: pointer; }
.pr-seg input { position: absolute; opacity: 0; }
.pr-seg span { display: inline-block; padding: .55rem 1.1rem; border: 1px solid var(--pr-line); border-radius: var(--pr-r-btn); font-size: .9rem; }
.pr-seg input:checked + span { background: var(--pr-text); color: var(--pr-paper); border-color: var(--pr-text); }
.pr-seg input:focus-visible + span { outline: 2px solid var(--pr-brand); outline-offset: 2px; }
.site-form-status { font-size: .875rem; min-height: 1.2em; }
.site-form-status.is-ok { color: #2f7a4b; }
.site-form-status.is-error { color: #b42318; }

/* Dijalozi */
.pr-dialog { width: min(600px, calc(100vw - 2rem)); max-height: calc(100vh - 2rem); padding: 0; border: 0; border-radius: var(--pr-r-lg); background: var(--pr-surface); color: var(--pr-text); }
.pr-dialog::backdrop { background: color-mix(in srgb, var(--pr-ink) 60%, transparent); }
.pr-dialog .pr-form { padding: clamp(1.5rem, 4vw, 2.25rem); }
.pr-dialog__head { display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; }
.pr-dialog__head h2 { font-size: calc(1.75rem * var(--pr-hs)); }
.pr-dialog__lead { color: var(--pr-muted); font-size: .9375rem; margin-top: -.25rem; }
.pr-dialog__close { width: 40px; height: 40px; border: 0; background: none; cursor: pointer; font-size: 1.1rem; color: var(--pr-muted); }
.pr-dialog__actions { display: flex; justify-content: flex-end; gap: .75rem; }

/* ---------- Unutrašnje stranice ---------- */
.pr-pagehead { padding: clamp(3rem, 7vw, 6rem) 0 clamp(2rem, 4vw, 3rem); }
.pr-pagehead h1 { font-size: calc(clamp(2.75rem, 6vw, 5.5rem) * var(--pr-hs)); }
.pr-pagehead p { margin-top: 1.25rem; color: var(--pr-muted); font-size: 1.125rem; max-width: 36em; }
.pr-crumbs { display: flex; flex-wrap: wrap; gap: .5rem; font-size: .875rem; color: var(--pr-muted); margin-bottom: 1.25rem; }
.pr-crumbs a { text-decoration: none; }
.pr-crumbs a:hover { text-decoration: underline; }

.pr-listing .pr-search { margin-bottom: 2.5rem; }
.pr-results__head { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-bottom: 1.5rem; }
.pr-results__count { font-family: var(--pr-body) !important; font-size: 1rem !important; font-weight: 500 !important; letter-spacing: 0 !important; }
.pr-sort { display: flex; align-items: center; gap: .6rem; font-size: .875rem; color: var(--pr-muted); }
.pr-sort select { border: 1px solid var(--pr-line); background: var(--pr-surface); padding: .45rem .7rem; border-radius: var(--pr-r-sm); font: inherit; color: var(--pr-text); }
.pr-chips { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; margin-bottom: 2rem; font-size: .875rem; }
.pr-chips span { padding: .3rem .7rem; border: 1px solid var(--pr-line); border-radius: 999px; }
.pr-pager { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-top: 3.5rem; padding-top: 1.5rem; border-top: 1px solid var(--pr-line); color: var(--pr-muted); font-size: .9rem; }

.pr-story { padding-bottom: 1rem; }
.pr-prose { max-width: 42em; }
.pr-prose p, .pr-prose ul, .pr-prose ol { margin: 0 0 1.1em; }
.pr-prose--large { font-size: 1.125rem; line-height: 1.7; }
.pr-offices { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 2rem; }
.pr-offices h3 { font-size: calc(1.375rem * var(--pr-hs)); margin-bottom: .5rem; }
.pr-offices p { color: var(--pr-muted); }
.pr-offices a { text-decoration: none; }
.pr-hours dl { margin: 0; max-width: 34rem; border-top: 1px solid var(--pr-line); }
.pr-hours div { display: flex; justify-content: space-between; padding: .8rem 0; border-bottom: 1px solid var(--pr-line); }
.pr-hours dd { margin: 0; }
.pr-hours .is-today { font-weight: 600; }
.pr-404 { padding: clamp(5rem, 12vw, 10rem) var(--pr-gutter); }
.pr-404 h1 { font-size: calc(clamp(2.5rem, 5vw, 4.5rem) * var(--pr-hs)); }
.pr-404 p { color: var(--pr-muted); margin-top: 1rem; }

/* Oglas */
.pr-detail .pr-crumbs { margin-top: 2.5rem; }
.pr-detail__head { display: flex; justify-content: space-between; align-items: flex-end; gap: 2rem; margin-bottom: 2rem; }
.pr-detail__head h1 { font-size: calc(clamp(2rem, 4vw, 3.5rem) * var(--pr-hs)); max-width: 18em; }
.pr-detail__place { margin-top: .75rem; color: var(--pr-muted); }
.pr-detail__price { text-align: right; display: grid; gap: .2rem; flex-shrink: 0; }
.pr-detail__price strong { font-family: var(--pr-head); font-weight: var(--pr-hw); font-size: calc(clamp(1.75rem, 3vw, 2.5rem) * var(--pr-hs)); line-height: 1.1; }
.pr-detail__price span { color: var(--pr-muted); font-size: .875rem; }
.pr-detail__was s { color: var(--pr-muted); }
.pr-detail__was em { font-style: normal; color: var(--pr-brand-dark); margin-left: .35rem; }
.pr-gallery { display: grid; grid-template-columns: 2fr 1fr 1fr; grid-template-rows: repeat(2, minmax(0, 1fr)); gap: .5rem; height: clamp(320px, 56vw, 620px); border-radius: var(--pr-r-lg); overflow: hidden; }
.pr-gallery__item { position: relative; display: block; overflow: hidden; background: var(--pr-paper-2); }
.pr-gallery__item:first-child { grid-row: span 2; }
.pr-gallery__item img { width: 100%; height: 100%; object-fit: cover; }
.pr-gallery--1 { grid-template-columns: 1fr; }
.pr-gallery--2 { grid-template-columns: 2fr 1fr; }
.pr-gallery--2 .pr-gallery__item:nth-child(2) { grid-row: span 2; }
.pr-gallery--3 { grid-template-columns: 2fr 1fr; }
.pr-gallery--4 .pr-gallery__item:nth-child(4) { grid-column: span 2; }
.pr-gallery__more { position: absolute; inset: 0; display: grid; place-items: center; background: color-mix(in srgb, var(--pr-ink) 55%, transparent); color: #fff; font-weight: 500; }
.pr-detail__layout { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: clamp(2.5rem, 5vw, 5rem); align-items: start; padding-top: clamp(2.5rem, 5vw, 4rem); }
.pr-detail__main { display: grid; grid-template-columns: minmax(0, 1fr); gap: 3.5rem; min-width: 0; }
.pr-facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; border-top: 1px solid var(--pr-line); border-bottom: 1px solid var(--pr-line); }
.pr-facts div { display: flex; flex-direction: column; padding: 1.25rem 0; }
.pr-facts dt { order: 2; color: var(--pr-muted); font-size: .875rem; }
.pr-facts dd { margin: 0; font-family: var(--pr-head); font-weight: var(--pr-hw); font-size: calc(1.75rem * var(--pr-hs)); line-height: 1.1; }
.pr-block h2 { font-size: calc(1.875rem * var(--pr-hs)); margin-bottom: 1.25rem; }
.pr-note { margin-top: 1rem; font-size: .875rem; color: var(--pr-muted); }
.pr-table { margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 2.5rem; }
.pr-table div { display: flex; justify-content: space-between; gap: 1rem; padding: .7rem 0; border-bottom: 1px solid var(--pr-line); font-size: .9375rem; }
.pr-table dt { color: var(--pr-muted); }
.pr-table dd { margin: 0; text-align: right; font-weight: 500; }
.pr-groups { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem 2.5rem; }
.pr-groups h3 { font-family: var(--pr-body); font-size: .9375rem; font-weight: 600; letter-spacing: 0; margin-bottom: .6rem; }
.pr-checks { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .45rem 1.5rem; }
.pr-checks li { position: relative; padding-left: 1.1rem; }
.pr-checks li::before { content: ""; position: absolute; left: 0; top: .7em; width: 6px; height: 1px; background: var(--pr-brand); }
.pr-checks--compact { grid-template-columns: 1fr; font-size: .9375rem; }
.pr-plans { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 1rem; }
.pr-plans a { display: grid; gap: .4rem; text-decoration: none; font-size: .875rem; color: var(--pr-muted); }
.pr-plans img { aspect-ratio: 4 / 3; object-fit: contain; background: #fff; border: 1px solid var(--pr-line); border-radius: var(--pr-r-sm); }
.pr-embeds { display: grid; gap: 1rem; }
.pr-embeds iframe { width: 100%; aspect-ratio: 16 / 9; border: 0; border-radius: var(--pr-r); }
.pr-map { height: 380px; border-radius: var(--pr-r); overflow: hidden; background: var(--pr-paper-2); }
.pr-map__actions { display: flex; gap: .75rem; margin-top: .75rem; }
.pr-detail__aside { position: sticky; top: calc(var(--pr-header-h) + 1.5rem); }
.pr-agent { display: grid; gap: 1rem; padding: 1.75rem; background: var(--pr-surface); border: 1px solid var(--pr-line); border-radius: var(--pr-r-lg); }
.pr-agent__who { display: flex; gap: 1rem; align-items: center; }
.pr-agent__who img, .pr-agent__who > span { width: 64px; height: 64px; border-radius: 50%; object-fit: cover; flex-shrink: 0; }
.pr-agent__who > span { display: grid; place-items: center; background: var(--pr-paper-2); font-family: var(--pr-head); font-size: 1.5rem; }
.pr-agent__name { font-family: var(--pr-head); font-weight: var(--pr-hw); font-size: calc(1.375rem * var(--pr-hs)); line-height: 1.2; }
.pr-agent__name a { text-decoration: none; }
.pr-agent__name a:hover { text-decoration: underline; }
.pr-agent__role { color: var(--pr-muted); font-size: .875rem; }
.pr-agent__form-title { font-size: calc(1.25rem * var(--pr-hs)) !important; margin-top: .5rem !important; }
.pr-agent .pr-form .pr-btn--solid { justify-self: stretch; }

/* Projekat */
.pr-pj__hero { position: relative; min-height: clamp(420px, 62vh, 680px); display: flex; align-items: flex-end; color: var(--pr-on-ink); background: var(--pr-ink); isolation: isolate; }
.pr-pj__hero > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; }
.pr-pj__hero::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(to top, color-mix(in srgb, var(--pr-ink) 85%, transparent), transparent 65%); }
.pr-pj__title { padding-bottom: clamp(2.5rem, 5vw, 4rem); }
.pr-pj__title .pr-crumbs { color: color-mix(in srgb, var(--pr-on-ink) 75%, transparent); }
.pr-pj__title h1 { font-size: calc(clamp(2.75rem, 6vw, 5.5rem) * var(--pr-hs)); }
.pr-pj__title p { margin-top: .75rem; font-size: 1.125rem; opacity: .85; }
.pr-pj__facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); margin: 0; border-bottom: 1px solid var(--pr-line); }
.pr-pj__facts div { display: flex; flex-direction: column; padding: 1.5rem 1.5rem 1.5rem 0; }
.pr-pj__facts dt { order: 2; color: var(--pr-muted); font-size: .875rem; }
.pr-pj__facts dd { margin: 0; font-family: var(--pr-head); font-weight: var(--pr-hw); font-size: calc(1.625rem * var(--pr-hs)); line-height: 1.15; }
.pr-pj__slogan { margin-bottom: -1rem; }
.pr-pj__gallery { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .5rem; }
.pr-pj__gallery a { position: relative; display: block; aspect-ratio: 1; overflow: hidden; border-radius: var(--pr-r-sm); }
.pr-pj__gallery a:first-child { grid-column: span 2; grid-row: span 2; }
.pr-pj__gallery img { width: 100%; height: 100%; object-fit: cover; }
.pr-units__head { display: flex; justify-content: space-between; align-items: flex-end; gap: 1rem; flex-wrap: wrap; margin-bottom: 1.25rem; }
.pr-units__head h2 { margin-bottom: 0 !important; }
.pr-units__filters { display: flex; align-items: center; gap: 1.25rem; font-size: .875rem; }
.pr-units__filters select { border: 1px solid var(--pr-line); background: var(--pr-surface); padding: .45rem .7rem; border-radius: var(--pr-r-sm); font: inherit; color: var(--pr-text); }
.pr-units { overflow-x: auto; }
.pr-units table { width: 100%; border-collapse: collapse; font-size: .9375rem; min-width: 640px; }
.pr-units th, .pr-units td { padding: .85rem .75rem .85rem 0; text-align: left; border-bottom: 1px solid var(--pr-line); white-space: nowrap; }
.pr-units thead th { font-weight: 500; color: var(--pr-muted); font-size: .8125rem; }
.pr-units tbody th { font-weight: 600; }
.pr-units .is-num { text-align: right; padding-right: 1.25rem; }
.pr-units tr.is-sold, .pr-units tr.is-reserved { color: var(--pr-muted); }
.pr-units tr.is-sold th, .pr-units tr.is-sold td:not(:last-child) { text-decoration: line-through; text-decoration-color: color-mix(in srgb, var(--pr-muted) 60%, transparent); }
.pr-ustatus { font-size: .8125rem; }
.is-available .pr-ustatus { color: #2f7a4b; font-weight: 500; }
.pr-units__none { padding: 1rem 0; color: var(--pr-muted); }

/* Agent */
.pr-agentpage { padding-top: clamp(3rem, 6vw, 5rem); }
.pr-agentpage__grid { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); gap: clamp(2rem, 6vw, 5rem); align-items: end; }
.pr-agentpage__photo { margin: 0; aspect-ratio: 4 / 5; overflow: hidden; border-radius: var(--pr-r); background: var(--pr-paper-2); }
.pr-agentpage__photo img { width: 100%; height: 100%; object-fit: cover; }
.pr-agentpage__photo span { display: grid; place-items: center; height: 100%; font-family: var(--pr-head); font-size: 5rem; color: var(--pr-muted); }
.pr-agentpage h1 { font-size: calc(clamp(2.75rem, 6vw, 5rem) * var(--pr-hs)); }
.pr-agentpage__role { color: var(--pr-muted); font-size: 1.125rem; margin-top: .5rem; }

/* Poslovnice */
.pr-officemap { height: clamp(320px, 46vh, 520px); border-radius: var(--pr-r-lg); overflow: hidden; background: var(--pr-paper-2); }
.pr-officemap .mapboxgl-ctrl-attrib { font-size: 10px; }
.pr-pin { width: 34px; height: 42px; cursor: pointer; } /* Mapbox pomjera element preko transform, zato je oblik u unutrašnjem elementu */
.pr-pin__drop { position: absolute; left: 0; top: 0; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50% 50% 50% 0; transform: rotate(-45deg); background: var(--pr-brand); box-shadow: -3px 4px 10px -3px rgba(0, 0, 0, .45); border: 2px solid var(--pr-surface); font-style: normal; }
.pr-pin__drop span { transform: rotate(45deg); color: var(--pr-btn-text); font: 600 .8125rem/1 var(--pr-body); }
.pr-pin__drop span:empty::before { content: ''; display: block; width: 9px; height: 9px; border-radius: 50%; background: var(--pr-btn-text); }
.pr-officemap .mapboxgl-popup-content { padding: .9rem 1rem; border-radius: var(--pr-r); font-family: var(--pr-body); box-shadow: 0 18px 36px -18px rgba(0, 0, 0, .4); }
.pr-pin__pop strong { display: block; font-family: var(--pr-head); font-weight: var(--pr-hw); font-size: 1.0625rem; line-height: 1.25; }
.pr-pin__pop p { margin: .25rem 0 0; color: var(--pr-muted); font-size: .8125rem; }
.pr-pin__pop a { display: inline-block; margin-top: .55rem; font-size: .8125rem; font-weight: 600; color: var(--pr-brand-dark); }
.pr-today { color: var(--pr-text); }

.pr-officelist { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(2.5rem, 5vw, 4rem) clamp(1.5rem, 4vw, 3rem); }
.pr-office { display: grid; gap: 1.5rem; align-content: start; }
.pr-office__media { display: block; aspect-ratio: 3 / 2; overflow: hidden; border-radius: var(--pr-r); background: var(--pr-paper-2); }
.pr-office__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.pr-office:hover .pr-office__media img { transform: scale(1.03); }
.pr-office__media span { display: grid; place-items: center; height: 100%; font-family: var(--pr-head); font-size: 4rem; color: var(--pr-muted); }
.pr-office__body { display: grid; gap: .5rem; }
.pr-office__no { font-size: .75rem; font-weight: 600; letter-spacing: .12em; color: var(--pr-brand-dark); }
.pr-office h2 { font-size: calc(clamp(1.75rem, 2.6vw, 2.25rem) * var(--pr-hs)); }
.pr-office h2 a { text-decoration: none; }
.pr-office h2 a:hover { text-decoration: underline; text-underline-offset: .15em; text-decoration-thickness: 1px; }
.pr-office__addr { color: var(--pr-muted); font-size: 1.0625rem; }
.pr-office__today { font-size: .9375rem; }
.pr-office__contact { display: flex; flex-wrap: wrap; gap: .25rem 1.25rem; font-size: .9375rem; }
.pr-office__contact a { text-decoration: none; border-bottom: 1px solid var(--pr-line); }
.pr-office__contact a:hover { border-bottom-color: currentColor; }
.pr-office__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.5rem; margin-top: .75rem; }

.pr-officepage { padding-top: clamp(3rem, 6vw, 5rem); }
.pr-hq { display: inline-block; margin-bottom: .9rem; padding: .3rem .75rem; border: 1px solid var(--pr-line); border-radius: 999px; font-size: .75rem; font-weight: 600; letter-spacing: .09em; text-transform: uppercase; color: var(--pr-brand-dark); }
.pr-officepage__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(2rem, 6vw, 5rem); align-items: end; }
.pr-officepage h1 { font-size: calc(clamp(2.75rem, 6vw, 5rem) * var(--pr-hs)); }
.pr-officepage__addr { margin-top: 1rem; font-size: 1.1875rem; color: var(--pr-muted); }
.pr-officepage__today { margin-top: .5rem; }
.pr-officepage .pr-hero__actions { margin-top: 2rem; display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.25rem; }
.pr-officepage__media { margin: 0; aspect-ratio: 4 / 3; overflow: hidden; border-radius: var(--pr-r-lg); background: var(--pr-paper-2); }
.pr-officepage__media img { width: 100%; height: 100%; object-fit: cover; }
.pr-officepage__media > span { display: grid; place-items: center; height: 100%; font-family: var(--pr-head); font-size: 6rem; color: var(--pr-muted); }
.pr-officemap--hero { height: 100%; border-radius: 0; }

.pr-officeinfo__about { max-width: 46rem; display: grid; gap: 1rem; margin-bottom: clamp(2.5rem, 5vw, 4rem); }
.pr-officeinfo__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 2.5rem clamp(2rem, 4vw, 3.5rem); align-items: start; }
.pr-officeinfo .pr-officeinfo__h { font-size: calc(1.5rem * var(--pr-hs)); margin-bottom: 1.25rem; } /* .pr-officeinfo ispred: jače od .theme-prestige h2 { margin: 0 } */
.pr-officeinfo .pr-contact__list { margin-top: 0; }
.pr-officeinfo .pr-contact__list div { grid-template-columns: 6rem minmax(0, 1fr); }
.pr-officeinfo .pr-hours dl { max-width: none; }
.pr-officeinfo .pr-hours div { padding: .7rem 0; }
.pr-officeinfo__manager .pr-agent__name a { text-decoration: none; }
.pr-officeinfo__manager .pr-agent__name a:hover { text-decoration: underline; }
.pr-officeinfo__role { color: var(--pr-muted); font-size: .9rem; margin-top: .15rem; }
.pr-officeform { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); }
.pr-officeform .pr-officeform__h { font-size: calc(clamp(2.25rem, 4.2vw, 3.5rem) * var(--pr-hs)); margin-bottom: 1.25rem; }

/* Vlastita stranica */
.pr-custom__head { position: relative; }
.pr-custom--image .pr-custom__head { min-height: clamp(380px, 58vh, 620px); display: flex; align-items: flex-end; color: var(--pr-on-ink); background: var(--pr-ink); isolation: isolate; }
.pr-custom__media { position: absolute; inset: 0; margin: 0; z-index: -2; }
.pr-custom__media img { width: 100%; height: 100%; object-fit: cover; }
.pr-custom--image .pr-custom__head::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(to top, color-mix(in srgb, var(--pr-ink) 80%, transparent), transparent 70%); }
.pr-custom__title { padding-top: clamp(3rem, 7vw, 6rem); padding-bottom: clamp(2rem, 5vw, 3.5rem); }
.pr-custom__title h1 { font-size: calc(clamp(2.75rem, 6vw, 5.5rem) * var(--pr-hs)); max-width: 14em; }
.pr-custom__title .pr-lead { margin-top: 1.25rem; color: inherit; }
.pr-custom--image .pr-custom__title .pr-lead { color: color-mix(in srgb, var(--pr-on-ink) 88%, transparent); }
.pr-custom__body { padding-top: clamp(2.5rem, 5vw, 4rem); }
.pr-custom__body--form { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(2rem, 6vw, 5rem); align-items: start; }
.pr-custom__form { padding: 1.75rem; border: 1px solid var(--pr-line); border-radius: var(--pr-r-lg); background: var(--pr-surface); }

/* ---------- Podnožje ---------- */
.pr-footer { margin-top: clamp(5rem, 10vw, 9rem); padding: clamp(4rem, 7vw, 6rem) 0 2rem; background: var(--pr-ink); color: var(--pr-on-ink); }
.pr-footer__top { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 28rem); gap: 2rem 4rem; align-items: end; padding-bottom: 3rem; border-bottom: 1px solid var(--pr-ink-line); }
.pr-footer .pr-footer__name { opacity: 1; margin: 0; font-family: var(--pr-head); font-weight: var(--pr-hw); letter-spacing: var(--pr-ht); font-size: calc(clamp(2.5rem, 5.5vw, 5rem) * var(--pr-hs)); line-height: 1; }
.pr-footer__about { opacity: .75; }
.pr-footer__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 2.5rem; padding: 3rem 0; }
.pr-footer h2 { font-family: var(--pr-body); font-size: .875rem; font-weight: 500; letter-spacing: 0; opacity: .6; margin-bottom: 1rem; }
.pr-footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .5rem; }
.pr-footer a { text-decoration: none; }
.pr-footer a:hover { text-decoration: underline; text-underline-offset: .25em; }
.pr-footer p { opacity: .8; font-size: .9375rem; margin-bottom: 1rem; }
.pr-footer .pr-link-btn { text-decoration-color: var(--pr-accent); }
.pr-footer .pr-lang { display: flex; gap: .25rem; }
.pr-footer .pr-lang a { opacity: .6; }
.pr-footer .pr-lang a[aria-current="true"] { opacity: 1; }
.pr-footer__bottom { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 1rem; padding-top: 1.75rem; border-top: 1px solid var(--pr-ink-line); font-size: .8125rem; opacity: .7; }
.pr-social { display: flex !important; grid-auto-flow: column; gap: 1rem !important; }

/* Modul kalkulatora i slični moduli dobijaju tipografiju teme */
.theme-prestige .site-mortgage h2 { font-size: calc(1.875rem * var(--pr-hs)); margin-bottom: 1.25rem; }

/* ---------- Prilagođavanje ekranu ---------- */
@media (max-width: 1380px) {
    .pr-header--many .pr-header__phone { display: none; }
    .pr-header--many .pr-nav ul { gap: 1.25rem; }
}
@media (max-width: 1180px) {
    .pr-header__phone { display: none; }
    .pr-nav ul { gap: 1.25rem; }
}
@media (max-width: 1100px) {
    .pr-menu { display: inline-block; }
    .pr-nav {
        position: fixed; inset: var(--pr-header-h) 0 0 0; z-index: 60; margin: 0;
        display: none; flex-direction: column; justify-content: space-between;
        padding: 2rem var(--pr-gutter) 2.5rem; background: var(--pr-paper); color: var(--pr-text); overflow-y: auto;
    }
    .pr-nav.is-open { display: flex; }
    .pr-nav ul { flex-direction: column; gap: 0; }
    .pr-nav li a { display: block; padding: .85rem 0; border-bottom: 1px solid var(--pr-line); font-family: var(--pr-head); font-weight: var(--pr-hw); font-size: calc(1.75rem * var(--pr-hs)); }
    .pr-nav__mobile-extra { display: grid; gap: .5rem; padding-top: 2rem; }
    .pr-menu-open .pr-header--overlay { background: var(--pr-paper); color: var(--pr-text); }
        .pr-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .pr-team { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .pr-detail__layout { grid-template-columns: minmax(0, 1fr); }
    .pr-detail__aside { position: static; }
    .pr-hero--framed { grid-template-columns: minmax(0, 1fr); padding-top: 1.5rem; }
    .pr-hero--framed .pr-hero__media { order: 1; aspect-ratio: 4 / 3; max-height: none; }
    .pr-hero--framed .pr-hero__body { order: 2; }
    .pr-hero--framed .pr-hero__text { padding: 2rem 0 0; }
    .pr-hero--framed h1 { margin-right: 0; }
    .pr-search { flex-wrap: wrap; }
    .pr-search__field { flex: 1 1 45%; border-bottom: 1px solid var(--pr-line); }
    .pr-search__submit { flex: 1 1 100%; min-height: 52px; border-radius: 0 0 var(--pr-r) var(--pr-r); }
}
@media (max-width: 860px) {
    .pr-head { grid-template-columns: minmax(0, 1fr); }
    .pr-head .pr-more { justify-self: start; }
    .pr-salon, .pr-project, .pr-about, .pr-valuation__grid, .pr-valpage__grid, .pr-contact__grid, .pr-agentpage__grid, .pr-custom__body--form, .pr-footer__top { grid-template-columns: minmax(0, 1fr); }
    .pr-salon .pr-card--lg { grid-row: auto; }
    .pr-project:nth-child(even) .pr-project__media { order: 0; }
    .pr-services__list, .pr-table, .pr-groups { grid-template-columns: minmax(0, 1fr); }
    .pr-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .pr-detail__head { flex-direction: column; align-items: flex-start; }
    .pr-detail__price { text-align: left; }
    .pr-agentpage__photo { max-width: 360px; }
    .pr-hero--full .pr-plate { display: none; }
    .pr-officelist, .pr-officepage__grid { grid-template-columns: minmax(0, 1fr); }
    .pr-officepage__media { order: -1; }
}
@media (max-width: 640px) {
    :root { --pr-header-h: 64px; }
    .pr-header__cta { display: none; }
    .pr-grid, .pr-team { grid-template-columns: minmax(0, 1fr); }
    .pr-card__label { grid-template-columns: minmax(0, 1fr); }
    .pr-hero__intro { margin-top: 1.25rem; font-size: 1rem; }
    .pr-team { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem 1rem; }
    .pr-form__row, .pr-form__row--3, .pr-checks { grid-template-columns: minmax(0, 1fr); }
    .pr-search__field { flex: 1 1 100%; border-right: 0; }
    .pr-gallery { grid-template-columns: 1fr 1fr !important; grid-template-rows: auto; height: auto; }
    .pr-gallery__item { aspect-ratio: 4 / 3; }
    .pr-gallery__item:first-child { grid-column: span 2; grid-row: auto; }
    .pr-gallery__item:nth-child(n+4) { display: none; }
    .pr-gallery__item:nth-child(3) .pr-gallery__more { display: grid; }
    .pr-pj__gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .pr-project__facts { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
    .pr-contact__list div { grid-template-columns: 5.5rem minmax(0, 1fr); }
    .pr-dialog__actions { flex-direction: column-reverse; }
    .pr-dialog__actions .pr-btn { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
    .pr-slide, .pr-hero__video, .pr-card__media img { transition: none; }
    .pr-slide.is-active img { animation: none; }
}
