:root {
  --ink: #20231f;
  --muted: #6f746c;
  --surface: #fffdf9;
  --sand: #f4f0e8;
  --line: #e9e3d8;
  --shadow: 0 18px 45px rgba(43, 38, 30, .09);
}

body { background: var(--surface); color: var(--ink); font-family: var(--tenant-font), "DM Sans", system-ui, sans-serif; }
a { color: var(--tenant-primary); text-underline-offset: .18em; }
.skip-link { background: var(--ink); color: #fff; left: 1rem; padding: .7rem 1rem; position: fixed; text-decoration: none; top: -5rem; transition: top .18s ease; z-index: 100; }
.skip-link:focus { color: #fff; top: 1rem; }
:focus-visible { outline: 3px solid var(--tenant-primary); outline-offset: 3px; }
.main-anchor:focus { outline: 0; }
.brand, .eyebrow { color: var(--tenant-primary); }
.eyebrow { font-size: .72rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.btn-tenant { background: var(--tenant-primary); border-color: var(--tenant-primary); color: #fff; font-weight: 600; padding: .7rem 1.1rem; }
.btn-tenant:hover, .btn-tenant:focus { background: color-mix(in srgb, var(--tenant-primary), #000 14%); border-color: color-mix(in srgb, var(--tenant-primary), #000 14%); color: #fff; }

/* Javni web */
.public-page { background: var(--surface); }
.site-header { background: rgba(255, 253, 249, .9); border-bottom: 1px solid var(--line); backdrop-filter: blur(12px); position: sticky; top: 0; z-index: 20; }
.site-brand { align-items: center; color: var(--ink); display: inline-flex; font-family: "Fraunces", Georgia, serif; font-size: 1.15rem; font-weight: 600; gap: .7rem; line-height: 1.1; max-width: 285px; text-decoration: none; }
.site-brand:hover { color: var(--tenant-primary); }
.site-brand img { max-height: 42px; max-width: 52px; object-fit: contain; }
.site-brand-mark { align-items: center; background: var(--tenant-primary); border-radius: 50%; color: #fff; display: inline-flex; font-family: sans-serif; height: 34px; justify-content: center; width: 34px; }
.site-header .nav-link { color: #4e534d; font-size: .92rem; font-weight: 600; padding: .7rem .8rem !important; }
.site-header .nav-link:hover { color: var(--tenant-primary); }
.site-header .nav-link[aria-current="page"] { color: var(--tenant-primary); text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: .3em; }
.nav-cta { background: var(--tenant-primary); border-radius: 999px; color: #fff; display: inline-block; font-size: .86rem; font-weight: 700; padding: .65rem 1rem; text-decoration: none; }
.nav-cta:hover { background: color-mix(in srgb, var(--tenant-primary), #000 12%); color: #fff; }
.hero-section { background: radial-gradient(circle at 88% 14%, color-mix(in srgb, var(--tenant-accent), transparent 74%), transparent 26rem), linear-gradient(120deg, #fbf9f4 0%, #fffdf9 58%, #f8f4ec 100%); padding: clamp(4rem, 8vw, 7.5rem) 0; }
.hero-section h1 { font-family: "Fraunces", Georgia, serif; font-size: clamp(2.65rem, 6vw, 5.55rem); font-weight: 600; letter-spacing: -.05em; line-height: .98; margin: 0 0 1.7rem; max-width: 15ch; }
.hero-copy { color: #555a52; font-size: 1.12rem; line-height: 1.85; max-width: 62ch; }
.hero-copy p:last-child { margin-bottom: 0; }
.hero-note { border-left: 2px solid var(--tenant-accent); color: #4b514b; font-family: "Fraunces", Georgia, serif; font-size: 1.25rem; line-height: 1.4; padding: 1.2rem 0 1.2rem 1.3rem; }
.hero-note-icon { color: var(--tenant-primary); display: block; font-family: sans-serif; font-size: 1.1rem; margin-bottom: .7rem; }
.section-sand { background: var(--sand); padding: clamp(3.5rem, 7vw, 6rem) 0; }
.section-practical { padding: clamp(3.5rem, 7vw, 6rem) 0; }
.section-news { background: #fbfaf7; padding: clamp(3.5rem, 7vw, 6rem) 0; }
.section-title, .site-footer h2 { font-family: "Fraunces", Georgia, serif; font-size: clamp(2.15rem, 4vw, 3.45rem); font-weight: 600; letter-spacing: -.04em; }
.section-intro { color: var(--muted); font-size: 1.06rem; max-width: 38rem; }
.bulletin-callout { align-items: center; background: #fffdf9; box-shadow: var(--shadow); display: flex; gap: 1.25rem; min-height: 160px; padding: 1.45rem; }
.info-card { background: #fbfaf7; border: 1px solid var(--line); height: 100%; min-height: 155px; padding: 1.4rem; }
.info-card > span { color: var(--tenant-primary); display: block; font-size: .72rem; font-weight: 700; letter-spacing: .1em; margin-bottom: .75rem; text-transform: uppercase; }
.info-card p { color: #4f554e; line-height: 1.7; margin: 0; }
.news-card, .event-card { background: #fff; border: 1px solid var(--line); height: 100%; padding: 1.5rem; }
.home-card-image { display: block; height: 175px; margin: -1.5rem -1.5rem 1.3rem; object-fit: cover; width: calc(100% + 3rem); }
.news-card h3, .event-card h3 { font-family: "Fraunces", Georgia, serif; font-size: 1.45rem; line-height: 1.12; margin: .45rem 0 .8rem; }
.news-card p:not(.eyebrow), .event-card p:not(.eyebrow) { color: var(--muted); line-height: 1.65; }
.news-card a, .event-card a { font-size: .9rem; font-weight: 700; text-decoration: none; }
.event-date { align-items: center; background: var(--sand); color: var(--tenant-primary); display: flex; flex: 0 0 auto; flex-direction: column; font-family: "Fraunces", Georgia, serif; justify-content: center; min-height: 72px; min-width: 72px; }
.event-date strong { font-size: 1.8rem; line-height: 1; }.event-date span { font-size: .75rem; text-transform: uppercase; }
.media-card { background: #fff; border: 1px solid var(--line); height: 100%; overflow: hidden; }
.media-card img { background: var(--sand); display: block; height: 175px; object-fit: cover; width: 100%; }
.parish-section-card { background: #fff; border: 1px solid var(--line); padding: 1.7rem; }
.parish-section-card:has(.parish-section-image) { overflow: hidden; padding: 0; }
.parish-section-card-body { padding: 1.7rem; }
.parish-section-image { display: block; height: 220px; object-fit: cover; width: 100%; }
.parish-section-card h2 { font-family: "Fraunces", Georgia, serif; font-size: 1.65rem; margin: .35rem 0 .85rem; }
.parish-section-card p { color: var(--muted); line-height: 1.7; }
.parish-section-card a, .back-link { font-weight: 700; text-decoration: none; }
.section-card-meta { border-top: 1px solid var(--line); font-size: .9rem; padding-top: 1rem; white-space: normal; }
.section-lead { color: #52584f; font-family: "Fraunces", Georgia, serif; font-size: 1.35rem; line-height: 1.55; }
.section-content > :last-child { margin-bottom: 0; }
.section-aside { background: var(--sand); padding: 1.5rem; }
.section-aside h2 { font-family: "Fraunces", Georgia, serif; font-size: 1.45rem; margin-bottom: 1.35rem; }
.section-aside div + div { border-top: 1px solid #ded8cd; margin-top: 1rem; padding-top: 1rem; }
.section-aside span { color: var(--tenant-primary); display: block; font-size: .72rem; font-weight: 700; letter-spacing: .08em; margin-bottom: .45rem; text-transform: uppercase; }
.section-aside p { line-height: 1.65; margin: 0; }
.content-card { overflow: hidden; }
.content-card-image { display: block; height: 230px; object-fit: cover; width: 100%; }
.content-hero-image { display: block; height: min(48vw, 440px); object-fit: cover; width: 100%; }
.event-cover-image { height: 120px; object-fit: cover; width: 175px; }
.gallery-album-card { background: #fff; border: 1px solid var(--line); overflow: hidden; }
.gallery-album-card > img { display: block; height: 250px; object-fit: cover; width: 100%; }
.gallery-album-card h2 { font-family: "Fraunces", Georgia, serif; font-size: 1.65rem; }
.gallery-album-card p:not(.eyebrow) { color: var(--muted); line-height: 1.7; }
.gallery-album-card a { font-weight: 700; text-decoration: none; }
.gallery-album-placeholder { align-items: center; background: var(--sand); color: var(--tenant-primary); display: flex; font-family: "Fraunces", Georgia, serif; font-size: 3rem; height: 250px; justify-content: center; }
.gallery-heading { margin: 2rem 0 2.5rem; }
.public-gallery-grid { display: grid; gap: 1rem; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.public-pagination { align-items: center; border-top: 1px solid #e5eaf0; display: flex; flex-wrap: wrap; gap: 1rem; justify-content: space-between; margin-top: 3rem; padding-top: 1.5rem; }
.public-pagination-summary { color: #66768a; font-size: .82rem; font-weight: 650; margin: 0; }
.public-pagination .pagination { flex-wrap: wrap; gap: .35rem; }
.public-pagination .page-item + .page-item { margin-left: 0; }
.public-pagination .page-link { border: 1px solid #dce4ec; border-radius: .55rem !important; color: #29405a; font-size: .82rem; font-weight: 750; min-width: 2.3rem; padding: .55rem .72rem; text-align: center; }
.public-pagination .page-item.active .page-link { background: var(--tenant-primary); border-color: var(--tenant-primary); color: #fff; }
.public-pagination .page-item.disabled .page-link { background: #f6f8fa; color: #9ba7b5; }
.public-pagination .page-link:hover { background: color-mix(in srgb, var(--tenant-primary), white 92%); color: var(--tenant-primary); }
.public-page-card { background: #fff; border: 1px solid #e3e9ef; border-radius: .9rem; padding: 1.55rem; transition: box-shadow .18s ease, transform .18s ease; }
.public-page-card:hover { box-shadow: 0 18px 40px rgba(31,51,75,.12); transform: translateY(-3px); }
.public-page-card h2 { color: #1b2a3d; font-family: var(--tenant-font), "DM Sans", sans-serif; font-weight: 800; letter-spacing: -.025em; }
.public-page-card p:not(.eyebrow) { color: #68778a; font-size: .9rem; line-height: 1.65; }
.public-page-card a { color: var(--tenant-primary); font-size: .86rem; font-weight: 800; text-decoration: none; }
.search-result-limit { background: color-mix(in srgb, var(--tenant-primary), white 94%); border: 1px solid color-mix(in srgb, var(--tenant-primary), white 82%); border-radius: .7rem; color: #536479; font-size: .88rem; line-height: 1.55; margin: 0 0 2rem; padding: .9rem 1rem; }
.search-result-limit a { color: var(--tenant-primary); font-weight: 800; }
@media (max-width: 575.98px) { .public-pagination { align-items: stretch; flex-direction: column; }.public-pagination .pagination { justify-content: center; }.public-pagination .page-link { padding-inline: .62rem; } }
.public-gallery-image { background: var(--sand); display: block; overflow: hidden; position: relative; }
.public-gallery-image img { aspect-ratio: 1 / .78; display: block; object-fit: cover; transition: transform .3s ease; width: 100%; }
.public-gallery-image span { background: rgba(32, 35, 31, .76); bottom: 0; color: #fff; font-size: .78rem; font-weight: 700; left: 0; opacity: 0; padding: .55rem .7rem; position: absolute; transform: translateY(100%); transition: .25s ease; width: 100%; }
.public-gallery-image:hover img { transform: scale(1.04); }.public-gallery-image:hover span { opacity: 1; transform: translateY(0); }
.gallery-picker { display: grid; gap: .85rem; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.gallery-picker-item { border: 2px solid #e4dfd5; cursor: pointer; display: block; margin: 0; overflow: hidden; position: relative; }
.gallery-picker-item input { left: .55rem; position: absolute; top: .55rem; z-index: 1; }
.gallery-picker-item img { display: block; height: 118px; object-fit: cover; width: 100%; }
.gallery-picker-item span { display: block; font-size: .75rem; overflow: hidden; padding: .45rem .55rem; text-overflow: ellipsis; white-space: nowrap; }
.gallery-picker-item:has(input:checked) { border-color: var(--tenant-primary); box-shadow: 0 0 0 .18rem color-mix(in srgb, var(--tenant-primary), transparent 84%); }
.empty-state { background: var(--sand); color: var(--muted); padding: 2rem; text-align: center; }
.admin-stat { color: inherit; transition: transform .18s ease, box-shadow .18s ease; }
.admin-stat:hover { color: inherit; transform: translateY(-2px); box-shadow: 0 .7rem 1.5rem rgba(40, 30, 20, .12) !important; }
.admin-stat-label, .admin-stat-detail { display: block; }
.admin-stat-label { color: var(--muted); font-size: .78rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.admin-stat-value { display: block; color: var(--tenant-primary); font-size: 2rem; line-height: 1.2; margin: .35rem 0; }
.admin-stat-detail { color: var(--muted); font-size: .875rem; }
.admin-inquiry-alert { align-items: center; background: #fff7df; border: 1px solid #f1d28a; border-radius: .75rem; display: flex; gap: 1rem; justify-content: space-between; padding: 1rem 1.25rem; }
.admin-inquiry-alert span { color: var(--muted); display: block; font-size: .875rem; }
.setup-checklist { display: grid; gap: .45rem; }
.setup-checklist-item { align-items: flex-start; border-radius: .5rem; color: inherit; display: flex; gap: .65rem; padding: .45rem; text-decoration: none; }
.setup-checklist-item:hover { background: var(--sand); color: inherit; }
.setup-checklist-state { align-items: center; background: #f1ece3; border-radius: 50%; color: var(--muted); display: inline-flex; flex: 0 0 1.4rem; font-size: .8rem; height: 1.4rem; justify-content: center; margin-top: .12rem; width: 1.4rem; }
.setup-checklist-item strong, .setup-checklist-item small { display: block; }
.setup-checklist-item small { color: var(--muted); font-size: .77rem; line-height: 1.35; margin-top: .1rem; }
.setup-checklist-item.is-complete .setup-checklist-state { background: #dff2e4; color: #1d6b37; }
@media (max-width: 575.98px) { .admin-inquiry-alert { align-items: flex-start; flex-direction: column; } }
.bulletin-number { align-items: center; background: var(--tenant-primary); border-radius: 50%; color: #fff; display: inline-flex; flex: 0 0 auto; font-family: "Fraunces", Georgia, serif; font-size: 1.8rem; height: 62px; justify-content: center; width: 62px; }
.bulletin-callout strong { color: var(--ink); font-size: 1rem; }
.bulletin-callout p { color: var(--muted); font-size: .9rem; margin: .25rem 0 .7rem; }
.bulletin-callout a { font-size: .9rem; font-weight: 700; text-decoration: none; }
.bulletin-page-heading { align-items: end; display: flex; gap: 1.5rem; justify-content: space-between; margin: 1.65rem 0 2rem; }.bulletin-pdf-status { align-items: center; background: color-mix(in srgb, var(--tenant-primary), white 91%); border: 1px solid color-mix(in srgb, var(--tenant-primary), white 80%); border-radius: 99px; color: var(--tenant-primary); display: inline-flex; flex: 0 0 auto; font-size: .75rem; font-weight: 800; gap: .45rem; padding: .55rem .75rem; }.bulletin-pdf-status span { font-size: 1rem; line-height: .7; }.bulletin-pdf-card { background: #fff; border: 1px solid #e2e9f0; border-radius: 1rem; box-shadow: 0 18px 45px rgba(21, 40, 62, .1); margin: 0 0 3.5rem; overflow: hidden; }.bulletin-pdf-toolbar { align-items: center; display: flex; gap: 1.5rem; justify-content: space-between; padding: 1.35rem 1.5rem; }.bulletin-pdf-toolbar .eyebrow { color: var(--tenant-primary); font-size: .67rem; }.bulletin-pdf-toolbar h2 { color: #1a2b40; font-family: var(--tenant-font), "DM Sans", sans-serif; font-weight: 800; letter-spacing: -.025em; }.bulletin-pdf-actions { display: flex; flex-wrap: wrap; gap: .55rem; }.bulletin-pdf-actions .btn { align-items: center; display: inline-flex; font-size: .8rem; font-weight: 800; gap: .4rem; padding: .62rem .8rem; }.bulletin-pdf-frame-wrap { background: #e8edf3; border-bottom: 1px solid #dce4ec; border-top: 1px solid #dce4ec; min-height: min(70vh, 55rem); padding: clamp(.5rem, 1.5vw, 1rem); }.bulletin-pdf-frame { background: #fff; border: 0; display: block; height: min(66vh, 52rem); min-height: 36rem; width: 100%; }.bulletin-pdf-fallback { align-items: center; display: flex; flex-direction: column; font-size: .9rem; gap: 1rem; justify-content: center; min-height: 36rem; padding: 2rem; text-align: center; }.bulletin-pdf-note { color: #68778a; font-size: .78rem; line-height: 1.55; padding: .85rem 1.5rem; }.bulletin-web-content { border-top: 1px solid #e4e9ef; padding-top: 2rem; }.bulletin-web-content > :first-child { margin-top: 0; }
.bulletin-pdf-unavailable { align-items: flex-start; background: #f5f8fb; border: 1px dashed #cbd8e5; border-radius: .85rem; color: #52657a; display: flex; gap: .9rem; margin: 0 0 3rem; padding: 1.1rem 1.2rem; }.bulletin-pdf-unavailable > span { align-items: center; background: #e4edf5; border-radius: .55rem; color: #52718e; display: inline-flex; flex: 0 0 2.4rem; font-size: 1.1rem; height: 2.4rem; justify-content: center; }.bulletin-pdf-unavailable strong { color: #2a425d; display: block; font-size: .86rem; margin: .05rem 0 .22rem; }.bulletin-pdf-unavailable p { font-size: .78rem; line-height: 1.5; }
.bulletin-format-fieldset { border: 0; padding: 0; }.bulletin-format-fieldset legend { float: none; font-size: 1rem; font-weight: 800; width: auto; }.bulletin-format-grid { display: grid; gap: .8rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }.bulletin-format-option { align-items: flex-start; background: #fff; border: 1px solid #dfe7ef; border-radius: .8rem; cursor: pointer; display: flex; gap: .75rem; min-height: 7.4rem; padding: 1rem; position: relative; transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease; }.bulletin-format-option:hover { border-color: color-mix(in srgb, var(--tenant-primary), white 55%); box-shadow: 0 8px 18px rgba(32, 52, 76, .07); transform: translateY(-1px); }.bulletin-format-option:has(input:checked), .bulletin-format-option.is-selected { background: color-mix(in srgb, var(--tenant-primary), white 95%); border-color: var(--tenant-primary); box-shadow: 0 8px 20px color-mix(in srgb, var(--tenant-primary), transparent 85%); }.bulletin-format-option input { height: 1px; opacity: 0; position: absolute; width: 1px; }.bulletin-format-icon { align-items: center; background: #edf2f7; border-radius: .6rem; color: #64748b; display: inline-flex; flex: 0 0 2.4rem; font-size: 1.25rem; height: 2.4rem; justify-content: center; }.bulletin-format-option:has(input:checked) .bulletin-format-icon, .bulletin-format-option.is-selected .bulletin-format-icon { background: var(--tenant-primary); color: #fff; }.bulletin-format-copy { display: block; padding-right: 1.35rem; }.bulletin-format-copy strong, .bulletin-format-copy small { display: block; }.bulletin-format-copy strong { color: #293d55; font-size: .87rem; margin: .05rem 0 .35rem; }.bulletin-format-copy small { color: #75859a; font-size: .75rem; line-height: 1.45; }.bulletin-format-check { align-items: center; background: var(--tenant-primary); border-radius: 50%; color: #fff; display: none; font-size: .7rem; font-weight: 900; height: 1.25rem; justify-content: center; position: absolute; right: .8rem; top: .8rem; width: 1.25rem; }.bulletin-format-option:has(input:checked) .bulletin-format-check, .bulletin-format-option.is-selected .bulletin-format-check { display: inline-flex; }.bulletin-a4-shell { max-width: 53rem; }.bulletin-single-sheet { background: #fff; box-shadow: 0 18px 50px rgba(24, 31, 43, .16); color: #20231f; min-height: 71rem; padding: clamp(1.75rem, 5vw, 3.4rem); }.bulletin-single-header { align-items: flex-start; border-bottom: 3px solid var(--tenant-primary); display: flex; gap: 1.5rem; justify-content: space-between; padding-bottom: 1.3rem; }.bulletin-single-header h1, .bulletin-single-header h2, .bulletin-single-sheet h3 { font-family: "Fraunces", Georgia, serif; }.bulletin-single-header h1 { font-size: clamp(1.65rem, 4vw, 2.45rem); margin: 0; }.bulletin-single-header h2 { color: #515a65; font-size: 1.2rem; margin: .55rem 0 0; }.bulletin-single-date { color: #565c65; font-size: .88rem; font-weight: 800; margin: .2rem 0 0; text-align: right; white-space: nowrap; }.bulletin-single-layout { display: grid; gap: 2rem; grid-template-columns: minmax(0, 1.25fr) minmax(12rem, .75fr); padding-top: 1.6rem; }.bulletin-single-sheet h3 { border-bottom: 1px solid #dce0e5; color: var(--tenant-primary); font-size: 1.1rem; margin: 0 0 .85rem; padding-bottom: .45rem; }.bulletin-single-flow { font-size: .94rem; line-height: 1.62; }.bulletin-single-flow > :first-child { margin-top: 0; }.bulletin-single-flow h2 { font-family: "Fraunces", Georgia, serif; font-size: 1.22rem; margin: 1.2rem 0 .45rem; }.bulletin-single-flow h3 { color: #26394f; font-size: 1.06rem; margin-top: 1.1rem; }.bulletin-single-events { margin-top: 1.5rem; }.bulletin-single-footer { border-top: 1px solid #dce0e5; color: #69707a; display: flex; flex-wrap: wrap; font-size: .72rem; gap: .25rem .75rem; margin-top: 2.2rem; padding-top: .75rem; }
.bulletin-print-page { background: #e8eaee; font-family: "DM Sans", system-ui, sans-serif; }.bulletin-print-shell { margin: 0 auto; max-width: 930px; padding: 2rem 1rem 4rem; }.bulletin-print-actions { display: flex; gap: .75rem; justify-content: flex-end; margin: 0 0 1.25rem; }.bulletin-paper { background: #fff; box-shadow: 0 18px 50px rgba(24, 31, 43, .16); color: #20231f; min-height: 1120px; padding: clamp(2rem, 7vw, 5.5rem); }.bulletin-print-header { align-items: flex-start; border-bottom: 3px solid var(--tenant-primary); display: flex; gap: 1.5rem; justify-content: space-between; padding-bottom: 1.25rem; }.bulletin-print-kicker { color: var(--tenant-primary); font-size: .7rem; font-weight: 800; letter-spacing: .11em; margin: 0 0 .45rem; text-transform: uppercase; }.bulletin-print-header h1, .bulletin-print-intro h2, .bulletin-paper h3 { font-family: "Fraunces", Georgia, serif; }.bulletin-print-header h1 { font-size: clamp(1.7rem, 4vw, 2.6rem); margin: 0; }.bulletin-print-date { color: #565c65; font-size: .9rem; font-weight: 700; padding-top: .25rem; text-align: right; }.bulletin-print-intro { border-bottom: 1px solid #dce0e5; padding: 1.5rem 0; }.bulletin-print-intro h2 { font-size: 1.6rem; margin: 0 0 .35rem; }.bulletin-print-intro p { color: #656c75; margin: 0; }.bulletin-print-grid { display: grid; gap: 2.5rem; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); padding-top: 1.7rem; }.bulletin-paper h3 { border-bottom: 1px solid #dce0e5; color: var(--tenant-primary); font-size: 1.16rem; margin: 0 0 .9rem; padding-bottom: .45rem; }.bulletin-print-list > div, .bulletin-print-events > div { border-bottom: 1px solid #edf0f2; padding: .65rem 0; }.bulletin-print-list strong, .bulletin-print-list span, .bulletin-print-events strong, .bulletin-print-events span { display: block; }.bulletin-print-list strong { font-size: .85rem; }.bulletin-print-list span, .bulletin-print-events span { color: #6a7078; font-size: .8rem; margin-top: .12rem; }.bulletin-print-list p { font-size: .88rem; line-height: 1.45; margin: .3rem 0 0; }.bulletin-print-content { font-size: .93rem; line-height: 1.58; }.bulletin-print-content > :first-child { margin-top: 0; }.bulletin-print-content h2 { font-family: "Fraunces", Georgia, serif; font-size: 1.18rem; margin: 1.2rem 0 .45rem; }.bulletin-print-footer { border-top: 1px solid #dce0e5; color: #69707a; display: flex; font-size: .72rem; gap: 1rem; justify-content: space-between; margin-top: 2.3rem; padding-top: .85rem; }
.bulletin-booklet-shell { margin: 0 auto; max-width: 1080px; padding: 2rem 1rem 4rem; }.bulletin-print-actions { align-items: center; }.bulletin-print-actions .text-end { margin-left: auto; max-width: 18rem; }.bulletin-print-hint { background: #fff7df; border: 1px solid #f1d28a; border-radius: .6rem; font-size: .82rem; margin: 0 0 1rem; padding: .75rem; }.bulletin-booklet-spread { aspect-ratio: 1.4142; background: #fff; box-shadow: 0 18px 50px rgba(24, 31, 43, .16); color: #20231f; display: grid; grid-template-columns: 1fr 1fr; margin: 0 auto 1.5rem; overflow: hidden; position: relative; width: 100%; }.bulletin-booklet-panel { min-width: 0; padding: clamp(1.2rem, 3.4vw, 3rem); position: relative; }.bulletin-booklet-panel + .bulletin-booklet-panel { border-left: 1px dashed #c9cdd2; }.bulletin-booklet-panel h1, .bulletin-booklet-panel h2, .booklet-inner-content h2 { font-family: "Fraunces", Georgia, serif; }.booklet-page-number { color: #8c939c; font-size: .68rem; font-weight: 800; margin: 0; position: absolute; right: 1rem; top: .8rem; }.bulletin-booklet-back h2 { border-bottom: 2px solid var(--tenant-primary); color: var(--tenant-primary); font-size: clamp(1rem, 2vw, 1.55rem); margin: 0 0 1rem; padding-bottom: .35rem; }.booklet-intentions > div { border-bottom: 1px solid #e9ebee; padding: .38rem 0; }.booklet-intentions strong, .booklet-intentions span { display: block; }.booklet-intentions strong { font-size: clamp(.62rem, 1vw, .82rem); }.booklet-intentions span { color: #68707a; font-size: clamp(.56rem, .9vw, .72rem); margin-top: .08rem; }.booklet-intentions p { font-size: clamp(.6rem, .95vw, .75rem); line-height: 1.25; margin: .16rem 0 0; }.booklet-contact { border-top: 1px solid #dfe2e6; bottom: clamp(1.1rem, 3vw, 2.5rem); color: #737a83; display: flex; flex-wrap: wrap; font-size: clamp(.55rem, .8vw, .7rem); gap: .2rem .5rem; left: clamp(1.2rem, 3.4vw, 3rem); position: absolute; right: clamp(1.2rem, 3.4vw, 3rem); padding-top: .45rem; }.booklet-cover { background: linear-gradient(135deg, color-mix(in srgb, var(--tenant-primary), white 97%), #fff); }.booklet-kicker { color: var(--tenant-primary); font-size: clamp(.58rem, 1vw, .78rem); font-weight: 800; letter-spacing: .12em; margin: 0 0 .7rem; text-transform: uppercase; }.booklet-cover h1 { font-size: clamp(1.45rem, 3.6vw, 3rem); line-height: 1.05; margin: 0; }.booklet-cover-rule { background: var(--tenant-primary); height: 3px; margin: 1.1rem 0; width: 42%; }.booklet-date { color: #555d67; font-size: clamp(.72rem, 1.2vw, .98rem); font-weight: 700; }.booklet-cover h2 { font-size: clamp(1.1rem, 2.35vw, 2rem); line-height: 1.13; margin: 1.25rem 0 .5rem; }.booklet-cover-copy { color: #5e6570; font-size: clamp(.68rem, 1vw, .86rem); line-height: 1.45; max-width: 22rem; }.booklet-events { border-top: 1px solid #dce0e5; bottom: clamp(1.1rem, 3vw, 2.5rem); font-size: clamp(.6rem, .9vw, .76rem); left: clamp(1.2rem, 3.4vw, 3rem); position: absolute; right: clamp(1.2rem, 3.4vw, 3rem); padding-top: .55rem; }.booklet-events strong, .booklet-events small { display: block; }.booklet-events > div { margin-top: .32rem; }.booklet-events small { color: #69717b; margin-top: .05rem; }.bulletin-booklet-inner { display: block; padding: clamp(1.2rem, 3.4vw, 3rem); }.bulletin-booklet-inner::before { border-left: 1px dashed #c9cdd2; bottom: 0; content: ""; left: 50%; position: absolute; top: 0; }.booklet-page-two { left: 1rem; right: auto; }.booklet-page-three { right: 1rem; }.booklet-inner-content { height: 100%; }.booklet-inner-content h2 { border-bottom: 2px solid var(--tenant-primary); color: var(--tenant-primary); font-size: clamp(1rem, 2vw, 1.55rem); margin: 0 0 .8rem; padding-bottom: .35rem; }.booklet-flow { column-count: 2; column-gap: clamp(2.4rem, 6vw, 5rem); column-rule: 0 solid transparent; font-size: clamp(.62rem, 1vw, .84rem); line-height: 1.45; }.booklet-flow > :first-child { margin-top: 0; }.booklet-flow h2, .booklet-flow h3, .booklet-flow p, .booklet-flow ul, .booklet-flow ol { break-inside: avoid; }.booklet-flow h2, .booklet-flow h3 { font-family: "Fraunces", Georgia, serif; font-size: 1.15em; margin: 1em 0 .35em; }.booklet-flow p, .booklet-flow ul, .booklet-flow ol { margin: 0 0 .6em; }
.site-footer { background: #20231f; color: #fff; padding: 4.5rem 0; }
.site-footer h2 { margin-bottom: .75rem; }
.site-footer a { color: #fff; font-weight: 600; }
.footer-message { align-self: end; color: #c7cac3; line-height: 1.7; max-width: 29rem; }
.contact-details { border-top: 1px solid var(--line); }.contact-details > div { border-bottom: 1px solid var(--line); padding: 1rem 0; }.contact-details span { color: var(--muted); display: block; font-size: .74rem; font-weight: 700; letter-spacing: .08em; margin-bottom: .25rem; text-transform: uppercase; }.contact-details p { margin: 0; }.contact-honeypot { height: 1px; left: -10000px; overflow: hidden; position: absolute; width: 1px; }.inquiry-message { line-height: 1.8; white-space: normal; }
.search-form .form-control { min-height: 3.25rem; }.search-form .btn { min-width: 7.5rem; }.search-result { background: #fff; border: 1px solid var(--line); padding: 1.2rem 1.35rem; }.search-result h3 a { color: var(--ink); text-decoration: none; }.search-result h3 a:hover { color: var(--tenant-primary); text-decoration: underline; }
.document-card { align-items: center; background: #fff; border: 1px solid var(--line); display: flex; gap: 1rem; padding: 1.2rem; }.document-icon { align-items: center; background: color-mix(in srgb, var(--tenant-primary), white 90%); color: var(--tenant-primary); display: flex; flex: 0 0 auto; font-size: .72rem; font-weight: 800; height: 3.25rem; justify-content: center; letter-spacing: .06em; width: 3.25rem; }

/* CMS i platforma */
.navbar-dark { box-shadow: 0 2px 16px rgba(20, 18, 14, .18); }
.navbar-dark .navbar-brand { font-family: "Fraunces", Georgia, serif; font-size: 1.05rem; }
.tenant-admin-page { background: #f5f6f9; font-family: "DM Sans", system-ui, sans-serif; }
.tenant-admin-shell { display: grid; grid-template-columns: 270px minmax(0, 1fr); min-height: 100vh; }
.tenant-admin-sidebar { background: #172033; color: #e8edf7; padding: 1rem; }
.tenant-admin-sidebar-inner { display: flex; flex-direction: column; height: calc(100vh - 2rem); position: sticky; top: 1rem; }
.tenant-admin-brand { align-items: center; color: #fff; display: flex; gap: .75rem; line-height: 1.15; margin: .3rem .4rem 1.8rem; min-width: 0; text-decoration: none; }
.tenant-admin-brand:hover { color: #fff; }.tenant-admin-brand > span:last-child { min-width: 0; }.tenant-admin-brand strong { display: block; font-family: "Fraunces", Georgia, serif; font-size: 1.05rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.tenant-admin-brand small { color: #9da9bd; display: block; font-size: .72rem; font-weight: 700; letter-spacing: .08em; margin-top: .22rem; text-transform: uppercase; }
.tenant-admin-brand-mark, .tenant-admin-mobilebrand > span { align-items: center; background: var(--tenant-primary); border-radius: .7rem; color: #fff; display: inline-flex; flex: 0 0 2rem; font-family: "Fraunces", Georgia, serif; font-size: 1.35rem; font-weight: 600; height: 2rem; justify-content: center; width: 2rem; }
.tenant-admin-nav { max-height: calc(100vh - 13rem); overflow-y: auto; padding: 0 .15rem .5rem; scrollbar-color: #516078 transparent; }
.tenant-admin-nav-link { border-radius: .55rem; color: #c8d1e0; display: block; font-size: .9rem; font-weight: 600; margin: .1rem 0; padding: .62rem .75rem; text-decoration: none; transition: background .16s ease, color .16s ease, transform .16s ease; }
.tenant-admin-nav-link:hover, .tenant-admin-nav-link:focus { background: #253149; color: #fff; outline: 0; transform: translateX(2px); }.tenant-admin-nav-link.active { background: var(--tenant-primary); box-shadow: 0 8px 18px color-mix(in srgb, var(--tenant-primary), transparent 70%); color: #fff; }
.tenant-admin-nav-label { color: #8290a8; font-size: .65rem; font-weight: 800; letter-spacing: .12em; margin: 1.25rem .75rem .45rem; text-transform: uppercase; }.tenant-admin-nav-home + .tenant-admin-nav-label { margin-top: 1.2rem; }
.tenant-admin-sidebar-footer { border-top: 1px solid #2a3650; margin-top: auto; padding: 1rem .45rem .15rem; }.tenant-admin-sidebar-footer a { color: #b7c2d3; display: block; font-size: .78rem; font-weight: 700; margin-top: .72rem; text-decoration: none; }.tenant-admin-sidebar-footer a:hover { color: #fff; }
.tenant-admin-workspace { min-width: 0; padding: clamp(1.5rem, 4vw, 3.25rem); }.tenant-admin-workspace-inner { margin: 0 auto; max-width: 1240px; }.tenant-admin-workspace h1, .tenant-admin-workspace h2 { font-family: "Fraunces", Georgia, serif; }
.tenant-admin-mobilebar { align-items: center; background: #172033; display: flex; gap: .75rem; justify-content: space-between; padding: .8rem 1rem; position: sticky; top: 0; z-index: 35; }.tenant-admin-mobilebrand { align-items: center; color: #fff; display: flex; gap: .55rem; min-width: 0; text-decoration: none; }.tenant-admin-mobilebrand strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.platform-admin-page { background: #f5f6f9; font-family: "DM Sans", system-ui, sans-serif; }.platform-admin-shell { display: grid; grid-template-columns: 270px minmax(0, 1fr); min-height: 100vh; }.platform-admin-sidebar { background: #101827; color: #e9eef8; padding: 1rem; }.platform-admin-sidebar-inner { display: flex; flex-direction: column; height: calc(100vh - 2rem); position: sticky; top: 1rem; }.platform-admin-brand { align-items: center; color: #fff; display: flex; gap: .75rem; margin: .3rem .4rem 2rem; text-decoration: none; }.platform-admin-brand > span:first-child, .platform-admin-mobilebar > a > span { align-items: center; background: #3d5aab; border-radius: .7rem; color: #fff; display: inline-flex; flex: 0 0 2rem; font-family: "Fraunces", Georgia, serif; font-size: 1.35rem; font-weight: 600; height: 2rem; justify-content: center; width: 2rem; }.platform-admin-brand strong { display: block; font-family: "Fraunces", Georgia, serif; font-size: 1.1rem; }.platform-admin-brand small { color: #9ba9c3; display: block; font-size: .7rem; font-weight: 800; letter-spacing: .12em; margin-top: .2rem; text-transform: uppercase; }.platform-admin-nav-label { color: #8290aa; font-size: .66rem; font-weight: 800; letter-spacing: .11em; margin: 0 .75rem .5rem; text-transform: uppercase; }.platform-admin-nav-link { border-radius: .55rem; color: #c8d1e1; display: block; font-size: .9rem; font-weight: 650; margin: .12rem 0; padding: .68rem .75rem; text-decoration: none; }.platform-admin-nav-link:hover, .platform-admin-nav-link:focus { background: #24314a; color: #fff; outline: 0; }.platform-admin-nav-link.active { background: #3d5aab; box-shadow: 0 8px 18px rgba(61, 90, 171, .35); color: #fff; }.platform-admin-sidebar-footer { border-top: 1px solid #293750; margin-top: auto; padding: 1rem .45rem .15rem; }.platform-admin-sidebar-footer span { color: #91a0bb; display: block; font-size: .7rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }.platform-admin-sidebar-footer a { color: #c9d4e4; display: block; font-size: .8rem; font-weight: 700; margin-top: .7rem; text-decoration: none; }.platform-admin-sidebar-footer a:hover { color: #fff; }.platform-admin-workspace { min-width: 0; padding: clamp(1.5rem, 4vw, 3.25rem); }.platform-admin-workspace-inner { margin: 0 auto; max-width: 1240px; }.platform-admin-workspace h1, .platform-admin-workspace h2 { font-family: "Fraunces", Georgia, serif; }.platform-admin-mobilebar { align-items: center; background: #101827; display: flex; justify-content: space-between; padding: .8rem 1rem; position: sticky; top: 0; z-index: 35; }.platform-admin-mobilebar > a { align-items: center; color: #fff; display: flex; gap: .55rem; text-decoration: none; }
.admin-topbar .navbar-brand { max-width: min(58vw, 34rem); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.list-group { border-radius: 14px; overflow: hidden; }
.list-group-item { border-color: #ebe8e1; color: #555a52; font-size: .93rem; font-weight: 600; padding: .85rem 1rem; }
.list-group-item:hover, .list-group-item:focus { background: color-mix(in srgb, var(--tenant-primary), white 94%); color: var(--tenant-primary); }
.list-group-item.active { background: var(--tenant-primary); border-color: var(--tenant-primary); color: #fff; }
.admin-nav-label { background: #f6f3ed; color: #70756d; font-size: .7rem; font-weight: 700; letter-spacing: .1em; margin: 0; padding: .75rem 1rem .45rem; text-transform: uppercase; }
.card { border-radius: 15px; }
.card.shadow-sm { box-shadow: var(--shadow) !important; }
.card .card-body { padding: clamp(1.2rem, 3vw, 2rem); }
.table > :not(caption) > * > * { border-color: #eeeae2; padding: 1rem; }
.table thead th { color: #73776e; font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; }
.form-control, .form-select { border-color: #ddd8ce; min-height: 2.9rem; padding: .7rem .85rem; }
.form-control:focus, .form-select:focus { border-color: color-mix(in srgb, var(--tenant-primary), white 40%); box-shadow: 0 0 0 .22rem color-mix(in srgb, var(--tenant-primary), transparent 84%); }
textarea.form-control { min-height: auto; }
.form-label { color: #3d433d; font-size: .9rem; font-weight: 700; }
.form-text { color: #7a7e77; }
.badge { font-weight: 600; letter-spacing: .02em; }
.user-password { display: inline-block; text-align: left; }
.user-password summary { color: #596056; cursor: pointer; font-size: .82rem; font-weight: 700; list-style: none; padding: .3rem 0; }
.user-password summary::-webkit-details-marker { display: none; }
.user-access summary { align-items: center; color: #23304a; cursor: pointer; display: flex; font-size: .9rem; font-weight: 800; justify-content: space-between; list-style: none; }.user-access summary::-webkit-details-marker { display: none; }.user-access[open] summary > span { transform: rotate(90deg); }.user-access-form { background: #f6f8fb; border: 1px solid #e1e6ef; border-radius: 1rem; padding: 1rem; }.user-access-form fieldset { border: 0; margin: 0; padding: 0; }.user-access-form fieldset + fieldset { margin-top: 1rem; }.user-access-item .user-password .form-control { min-width: 12rem; }.access-log-item { align-items: flex-start; display: flex; gap: 1rem; justify-content: space-between; }.access-log-item time { color: #7b8493; flex: 0 0 auto; font-size: .78rem; white-space: nowrap; }
.account-type-options { display: grid; gap: .7rem; }.account-type-option, .module-access-card { background: #fff; border: 1px solid #dedfe5; border-radius: .85rem; cursor: pointer; display: flex; gap: .7rem; padding: .8rem .9rem; transition: border-color .15s ease, box-shadow .15s ease, background .15s ease; }.account-type-option input, .module-access-card input { accent-color: var(--tenant-primary); flex: 0 0 auto; margin-top: .22rem; }.account-type-option strong, .account-type-option small, .module-access-card strong, .module-access-card small { display: block; }.account-type-option small, .module-access-card small { color: #6f7786; font-size: .78rem; line-height: 1.35; margin-top: .16rem; }.account-type-option:has(input:checked), .module-access-card:has(input:checked) { background: color-mix(in srgb, var(--tenant-primary), white 94%); border-color: var(--tenant-primary); box-shadow: 0 0 0 .15rem color-mix(in srgb, var(--tenant-primary), transparent 88%); }.module-access-grid { display: grid; gap: .7rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }.module-access-card { min-height: 7.4rem; }
.rich-editor { border: 1px solid #ddd8ce; }.rich-editor-toolbar { background: #f7f4ee; border-bottom: 1px solid #ddd8ce; display: flex; flex-wrap: wrap; gap: .35rem; padding: .55rem; }.rich-editor-button { background: #fff; border: 1px solid #d6d0c6; color: #3d433d; font-size: .78rem; font-weight: 700; padding: .35rem .5rem; }.rich-editor-button:hover, .rich-editor-button:focus { border-color: var(--tenant-primary); color: var(--tenant-primary); }.rich-editor-body { background: #fff; min-height: 15rem; outline: 0; padding: .9rem; }.rich-editor-body:focus { box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--tenant-primary), transparent 82%); }.rich-editor-body > :first-child { margin-top: 0; }.rich-editor-source { display: none; }

/* Sigurno lokalno spremljene slike iz uređivača i kontroliranih uvoza. */
article.fs-5 img { display: block; width: 100%; max-width: 100%; height: auto; border-radius: 1rem; margin: 1.5rem 0; }
article.fs-5 figure { margin: 1.75rem 0; }
article.fs-5 figcaption { color: #6c757d; font-size: .9rem; line-height: 1.5; margin-top: .55rem; text-align: center; }
article.fs-5 table { width: 100%; margin: 1.5rem 0; font-size: .95em; }
.privacy-notice { background: #20231f; bottom: 1rem; box-shadow: var(--shadow); color: #fff; max-width: 430px; padding: 1rem 1.1rem; position: fixed; right: 1rem; z-index: 40; }
.privacy-notice p { font-size: .84rem; line-height: 1.55; margin: 0 0 .75rem; }
.privacy-notice div { align-items: center; display: flex; gap: 1rem; justify-content: flex-end; }.privacy-notice a { color: #fff; font-size: .82rem; font-weight: 700; }.privacy-notice button { background: #fff; border: 0; color: #20231f; font-size: .82rem; font-weight: 700; padding: .4rem .7rem; }
.legal-content h2 { font-family: "Fraunces", Georgia, serif; font-size: 1.6rem; margin: 2.4rem 0 .8rem; }.legal-content > p { color: #4f554e; line-height: 1.8; }.legal-extra { background: var(--sand); line-height: 1.75; margin-top: 2rem; padding: 1.5rem; }.legal-extra h2 { margin-top: 0; }.legal-updated { color: var(--muted); font-size: .9rem; margin-top: 2rem; }
.mass-schedule-row { align-items: center; background: #fff; border: 1px solid var(--line); display: flex; justify-content: space-between; padding: 1rem 1.15rem; }.mass-schedule-row strong { font-family: "Fraunces", Georgia, serif; font-size: 1.2rem; }.mass-schedule-row span { color: var(--muted); display: block; font-size: .85rem; margin-top: .15rem; }.mass-schedule-row b { color: var(--tenant-primary); font-size: 1.1rem; }.intention-card { background: var(--sand); border-left: 3px solid var(--tenant-accent); padding: 1.1rem 1.2rem; }.intention-card p:not(.eyebrow) { font-family: "Fraunces", Georgia, serif; font-size: 1.1rem; }.intention-card small { color: var(--muted); }

/* Redizajn javnog weba: jasni putovi, sadržaj i kontakt na prvom mjestu */
.site-header { background: #fff; border-bottom: 1px solid #edf0f3; position: relative; z-index: 10; }.site-utility { background: #13243a; color: #b9c7d5; font-size: .73rem; font-weight: 700; letter-spacing: .04em; }.site-utility .container { align-items: center; display: flex; justify-content: space-between; min-height: 2.1rem; }.site-utility a { color: #fff; margin-left: 1.15rem; text-decoration: none; }.site-brand { align-items: center; color: #18283d; display: inline-flex; font-family: var(--tenant-font), "DM Sans", sans-serif; font-size: 1.02rem; font-weight: 800; gap: .7rem; letter-spacing: -.02em; text-decoration: none; }.site-brand:hover { color: #18283d; }.site-brand-mark { align-items: center; background: var(--tenant-primary); border-radius: 50%; color: #fff; display: inline-flex; font-size: .85rem; height: 2.35rem; justify-content: center; width: 2.35rem; }.site-brand img { border-radius: 50%; height: 2.35rem; object-fit: cover; width: 2.35rem; }.site-header .nav-link { color: #42526a; font-size: .87rem; font-weight: 700; padding: .65rem .72rem !important; }.site-header .nav-link:hover, .site-header .nav-link[aria-current="page"] { color: var(--tenant-primary); }.site-contact-cta { align-items: center; background: var(--tenant-primary); border-radius: .55rem; color: #fff; display: inline-flex; font-size: .83rem; font-weight: 800; gap: .5rem; padding: .68rem .9rem; text-decoration: none; }.site-contact-cta:hover { background: color-mix(in srgb, var(--tenant-primary), #000 12%); color: #fff; }.public-hero { background: #13243a; color: #fff; isolation: isolate; min-height: 33rem; overflow: hidden; padding: clamp(4.8rem, 9vw, 8rem) 0; position: relative; }.public-hero::after { background-image: linear-gradient(rgba(255,255,255,.055) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.055) 1px, transparent 1px); background-size: 48px 48px; content: ""; inset: 0; opacity: .45; pointer-events: none; position: absolute; }.public-hero-glow { border-radius: 50%; filter: blur(4px); position: absolute; }.public-hero-glow-one { background: color-mix(in srgb, var(--tenant-primary), transparent 35%); height: 31rem; right: -13rem; top: -12rem; width: 31rem; }.public-hero-glow-two { background: color-mix(in srgb, var(--tenant-accent), transparent 45%); bottom: -17rem; height: 27rem; left: 29%; width: 27rem; }.public-hero .container { z-index: 1; }.public-hero-kicker { align-items: center; color: #dbe7f0; display: flex; font-size: .73rem; font-weight: 800; gap: .55rem; letter-spacing: .13em; margin-bottom: 1.25rem; text-transform: uppercase; }.public-hero-kicker span { background: var(--tenant-accent); border-radius: 50%; height: .5rem; width: .5rem; }.public-hero h1 { color: #fff; font-family: var(--tenant-font), "DM Sans", sans-serif; font-size: clamp(2.7rem, 5.2vw, 5.25rem); font-weight: 700; letter-spacing: -.06em; line-height: 1.01; margin: 0 0 1.5rem; max-width: 50rem; }.public-hero-copy { color: #d1dce7; font-size: 1.1rem; line-height: 1.8; max-width: 40rem; }.public-hero-copy > :last-child { margin-bottom: 0; }.public-hero-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 2rem; }.btn-public-primary, .btn-public-secondary { align-items: center; border-radius: .6rem; display: inline-flex; font-size: .88rem; font-weight: 800; gap: .6rem; padding: .85rem 1.05rem; }.btn-public-primary { background: #fff; color: #17263a; }.btn-public-primary:hover { background: #edf3f7; color: #17263a; }.btn-public-secondary { border: 1px solid rgba(255,255,255,.28); color: #fff; }.btn-public-secondary:hover { background: rgba(255,255,255,.1); color: #fff; }.public-hero-info { background: rgba(8, 22, 39, .56); border: 1px solid rgba(255,255,255,.15); border-radius: 1rem; box-shadow: 0 25px 60px rgba(0,0,0,.22); padding: 2rem; }.public-hero-info-label { color: #a5b8ca; font-size: .72rem; font-weight: 800; letter-spacing: .14em; margin-bottom: .8rem; text-transform: uppercase; }.public-hero-info-title { font-family: "Fraunces", Georgia, serif; font-size: 1.7rem; line-height: 1.25; margin: 0; }.public-hero-info-rule { background: var(--tenant-accent); height: 2px; margin: 1.65rem 0; width: 3rem; }.public-hero-info-grid { display: grid; gap: 1.1rem; grid-template-columns: 1fr 1fr; }.public-hero-info-grid span, .public-hero-info-grid strong { display: block; }.public-hero-info-grid span { color: #9fb0c2; font-size: .7rem; font-weight: 800; letter-spacing: .1em; margin-bottom: .25rem; text-transform: uppercase; }.public-hero-info-grid strong { font-size: .83rem; line-height: 1.35; }.public-shortcuts { margin-top: -2.25rem; position: relative; z-index: 2; }.public-shortcuts .row { background: #fff; border: 1px solid #e5eaf0; border-radius: .9rem; box-shadow: 0 18px 45px rgba(20, 38, 58, .12); overflow: hidden; }.public-shortcut { align-items: center; color: #1c2b3e; display: flex; gap: .85rem; min-height: 6.25rem; padding: 1.15rem 1.35rem; text-decoration: none; transition: background .16s ease, color .16s ease; }.public-shortcut + .public-shortcut { border-left: 1px solid #e8edf2; }.public-shortcut:hover { background: #f6f9fc; color: var(--tenant-primary); }.public-shortcut-icon { align-items: center; background: color-mix(in srgb, var(--tenant-primary), white 92%); border-radius: .65rem; color: var(--tenant-primary); display: inline-flex; flex: 0 0 2.5rem; font-size: 1.15rem; height: 2.5rem; justify-content: center; }.public-shortcut strong, .public-shortcut small { display: block; }.public-shortcut strong { font-size: .88rem; }.public-shortcut small { color: #718096; font-size: .73rem; line-height: 1.35; margin-top: .18rem; }.public-shortcut b { font-size: 1.1rem; margin-left: auto; }.public-featured-section { padding-top: 6rem; }.public-section-heading { align-items: end; display: flex; justify-content: space-between; margin-bottom: 2rem; }.public-all-link, .public-content-card a { color: var(--tenant-primary); font-size: .86rem; font-weight: 800; text-decoration: none; }.public-all-link span, .public-content-card a span { margin-left: .25rem; }.public-content-card { background: #fff; border: 1px solid #e4e9ef; border-radius: .9rem; box-shadow: none; height: 100%; overflow: hidden; transition: box-shadow .18s ease, transform .18s ease; }.public-content-card:hover { box-shadow: 0 18px 40px rgba(31,51,75,.12); transform: translateY(-3px); }.public-content-card .home-card-image { height: 13rem; width: 100%; }.public-content-card-body { padding: 1.4rem; }.public-content-card-body .eyebrow { color: var(--tenant-primary); font-size: .68rem; margin-bottom: .7rem; }.public-content-card-body h3 { color: #1b2a3d; font-family: var(--tenant-font), "DM Sans", sans-serif; font-size: 1.18rem; font-weight: 800; letter-spacing: -.025em; line-height: 1.25; }.public-content-card-body p:not(.eyebrow) { color: #68778a; font-size: .9rem; line-height: 1.65; }.public-content-card-body a { display: inline-block; margin-top: .25rem; }.section-practical { background: #f6f8fb; border-bottom: 1px solid #e6ebf0; border-top: 1px solid #e6ebf0; padding: 6rem 0; }.info-card { border: 1px solid #e5eaf0; border-radius: .8rem; box-shadow: none; }.site-footer { background: #13243a; padding: 5rem 0; }.site-footer h2 { font-family: var(--tenant-font), "DM Sans", sans-serif; font-weight: 800; letter-spacing: -.04em; }

/* CMS kao upravljački portal, a ne niz običnih administrativnih stranica */
.tenant-admin-page { background: #f4f7fb; color: #18283d; }.tenant-admin-shell { grid-template-columns: 286px minmax(0, 1fr); }.tenant-admin-sidebar { background: #101d31; padding: 1rem; }.tenant-admin-sidebar::before { background: linear-gradient(145deg, color-mix(in srgb, var(--tenant-primary), transparent 35%), transparent 42%); content: ""; height: 17rem; left: 0; opacity: .48; pointer-events: none; position: absolute; top: 0; width: 100%; }.tenant-admin-sidebar-inner { position: sticky; z-index: 1; }.tenant-admin-brand { margin-bottom: 1.55rem; }.tenant-admin-brand-mark { border-radius: .75rem; box-shadow: 0 8px 20px color-mix(in srgb, var(--tenant-primary), transparent 64%); }.tenant-admin-nav-link { align-items: center; display: flex; gap: .7rem; margin: .14rem 0; padding: .64rem .72rem; }.portal-nav-icon { align-items: center; color: #98a8c1; display: inline-flex; font-size: 1rem; justify-content: center; width: 1.05rem; }.tenant-admin-nav-link:hover .portal-nav-icon, .tenant-admin-nav-link.active .portal-nav-icon { color: #fff; }.tenant-admin-nav-link.active { background: color-mix(in srgb, var(--tenant-primary), #172b46 25%); box-shadow: none; }.tenant-admin-nav-label { border-top: 1px solid rgba(176, 194, 218, .14); margin: 1.15rem .72rem .5rem; padding-top: 1rem; }.tenant-admin-workspace { padding: 1.75rem clamp(1.5rem, 4vw, 3.5rem) 3.5rem; }.tenant-admin-workspace-inner { max-width: 1360px; }.tenant-admin-workspace h1, .tenant-admin-workspace h2 { font-family: "DM Sans", system-ui, sans-serif; letter-spacing: -.045em; }.portal-topbar { align-items: center; display: flex; justify-content: space-between; margin: 0 0 2.5rem; }.portal-topbar-kicker { color: #75849a; font-size: .68rem; font-weight: 800; letter-spacing: .12em; margin: 0 0 .22rem; text-transform: uppercase; }.portal-topbar-date { color: #4d5e75; font-size: .86rem; font-weight: 700; text-transform: capitalize; }.portal-topbar-actions { align-items: center; display: flex; gap: .9rem; }.portal-open-site { background: #fff; border: 1px solid #dfe6ee; border-radius: .5rem; color: #43546b; font-size: .78rem; font-weight: 800; padding: .6rem .8rem; text-decoration: none; }.portal-open-site:hover { border-color: var(--tenant-primary); color: var(--tenant-primary); }.portal-user-avatar { align-items: center; background: color-mix(in srgb, var(--tenant-primary), #102037 20%); border-radius: 50%; color: #fff; display: inline-flex; font-size: .78rem; font-weight: 800; height: 2.3rem; justify-content: center; width: 2.3rem; }.portal-welcome { align-items: center; background: linear-gradient(125deg, #14253c, #1e3551); border-radius: 1.1rem; color: #fff; display: flex; gap: 2rem; justify-content: space-between; overflow: hidden; padding: clamp(1.65rem, 3.5vw, 2.65rem); position: relative; }.portal-welcome::after { border: 1px solid rgba(255,255,255,.1); border-radius: 50%; content: ""; height: 19rem; position: absolute; right: -7rem; top: -9rem; width: 19rem; }.portal-welcome > * { position: relative; z-index: 1; }.portal-welcome .eyebrow { color: color-mix(in srgb, var(--tenant-accent), #fff 35%); }.portal-welcome h1 { color: #fff; font-size: clamp(1.6rem, 3vw, 2.35rem); font-weight: 800; margin: 0 0 .5rem; }.portal-welcome p:not(.eyebrow) { color: #c8d6e5; margin: 0; max-width: 40rem; }.portal-welcome-actions { display: flex; flex: 0 0 auto; flex-wrap: wrap; gap: .7rem; }.portal-welcome-actions .btn { border-radius: .6rem; font-size: .83rem; font-weight: 800; padding: .75rem .9rem; }.btn-portal-accent { background: var(--tenant-accent); color: #172335; }.btn-portal-accent:hover { background: color-mix(in srgb, var(--tenant-accent), #fff 13%); color: #172335; }.portal-action-grid { display: grid; gap: 1rem; grid-template-columns: repeat(4, minmax(0, 1fr)); }.portal-action-card { align-items: center; background: #fff; border: 1px solid #e2e8f0; border-radius: .85rem; color: #24354c; display: flex; gap: .75rem; min-height: 6rem; padding: .9rem; text-decoration: none; transition: border .16s ease, box-shadow .16s ease, transform .16s ease; }.portal-action-card:hover { border-color: color-mix(in srgb, var(--tenant-primary), #fff 45%); box-shadow: 0 12px 25px rgba(28,48,72,.09); color: #24354c; transform: translateY(-2px); }.portal-action-icon { align-items: center; background: color-mix(in srgb, var(--tenant-primary), #fff 92%); border-radius: .65rem; color: var(--tenant-primary); display: inline-flex; flex: 0 0 2.55rem; font-size: 1.15rem; height: 2.55rem; justify-content: center; }.portal-action-card strong, .portal-action-card small { display: block; }.portal-action-card strong { font-size: .84rem; }.portal-action-card small { color: #728097; font-size: .72rem; line-height: 1.35; margin-top: .16rem; }.portal-action-card b { color: #718096; font-size: 1.15rem; margin-left: auto; }.admin-stat { background: #fff; border: 1px solid #e2e8f0 !important; border-radius: .85rem; box-shadow: none !important; }.admin-stat:hover { border-color: color-mix(in srgb, var(--tenant-primary), #fff 40%) !important; box-shadow: 0 12px 25px rgba(28,48,72,.08) !important; }.admin-stat .card-body { padding: 1.2rem; }.admin-stat-label { color: #718096; font-size: .7rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }.admin-stat-value { color: #1d2d42; font-size: 2rem; letter-spacing: -.06em; }.admin-stat-detail { color: #8290a4; font-size: .76rem; }.portal-panel { background: #fff; border: 1px solid #e2e8f0; border-radius: .9rem; padding: 1.35rem; }.portal-panel-header { align-items: start; display: flex; justify-content: space-between; margin-bottom: .8rem; }.portal-panel-header .eyebrow { color: #8491a4; font-size: .65rem; }.portal-panel-header h2 { font-size: 1.13rem; font-weight: 800; margin: 0; }.portal-text-link { color: var(--tenant-primary); font-size: .78rem; font-weight: 800; text-decoration: none; }.portal-progress-value { background: color-mix(in srgb, var(--tenant-primary), #fff 92%); border-radius: .45rem; color: var(--tenant-primary); font-size: .76rem; font-weight: 800; padding: .35rem .5rem; }.portal-activity-row { align-items: center; border-top: 1px solid #edf1f5; color: #293b52; display: flex; gap: .75rem; padding: .8rem 0; text-decoration: none; }.portal-activity-row:hover { color: var(--tenant-primary); }.portal-activity-row > span:nth-child(2) { flex: 1; }.portal-activity-row strong, .portal-activity-row small { display: block; }.portal-activity-row strong { font-size: .86rem; }.portal-activity-row small { color: #8290a3; font-size: .72rem; margin-top: .13rem; }.portal-file-icon { align-items: center; background: #f2f5f8; border-radius: .5rem; color: #64758b; display: inline-flex; flex: 0 0 2.2rem; height: 2.2rem; justify-content: center; }.portal-activity-row b { font-size: 1rem; }.setup-checklist-item { border-color: #edf1f5; padding: .85rem 0; }.setup-checklist-state { background: #f2f5f8; border: 0; color: #8190a4; }.setup-checklist-item.is-complete .setup-checklist-state { background: #dcf6eb; color: #167a53; }.setup-checklist-item strong { color: #304158; font-size: .84rem; }.setup-checklist-item small { color: #8491a3; font-size: .73rem; }.admin-inquiry-alert { background: #fff8dc; border: 1px solid #f1df9a; border-radius: .75rem; color: #604d15; }.card, .cms-card { border-radius: .85rem; }.card.shadow-sm { box-shadow: 0 10px 24px rgba(28,48,72,.07) !important; }.table thead th { background: #f8fafc; color: #708096; }.form-control, .form-select { border-color: #dce4ec; }.form-label { color: #3f5066; }

.site-header .dropdown-menu { border: 1px solid #e0e7ee; border-radius: .65rem; box-shadow: 0 14px 35px rgba(24, 40, 61, .14); padding: .45rem; }.site-header .dropdown-item { border-radius: .4rem; color: #46566c; font-size: .84rem; font-weight: 700; padding: .55rem .7rem; }.site-header .dropdown-item:hover, .site-header .dropdown-item[aria-current="page"] { background: color-mix(in srgb, var(--tenant-primary), white 93%); color: var(--tenant-primary); }.portal-create-toggle { align-items: center; background: var(--tenant-primary); border: 0; border-radius: .52rem; color: #fff; display: inline-flex; font-size: .78rem; font-weight: 800; gap: .3rem; padding: .62rem .8rem; }.portal-create-toggle:hover, .portal-create-toggle:focus { background: color-mix(in srgb, var(--tenant-primary), #000 12%); color: #fff; }.portal-create-menu { border: 1px solid #dce5ee; border-radius: .7rem; box-shadow: 0 14px 35px rgba(24, 40, 61, .16); min-width: 13rem; padding: .4rem; }.portal-create-menu .dropdown-item { align-items: center; border-radius: .45rem; color: #40516a; display: flex; font-size: .82rem; font-weight: 700; gap: .6rem; padding: .58rem .65rem; }.portal-create-menu .dropdown-item span { align-items: center; background: #f0f4f8; border-radius: .35rem; color: var(--tenant-primary); display: inline-flex; height: 1.55rem; justify-content: center; width: 1.55rem; }.portal-create-menu .dropdown-item:hover { background: color-mix(in srgb, var(--tenant-primary), #fff 93%); color: var(--tenant-primary); }
.theme-logo-panel { background: #f7f9fc; border: 1px solid #e2e8f0; border-radius: .85rem; padding: 1.15rem; }.theme-logo-preview { align-items: center; background: #fff; border: 1px dashed #cdd7e3; border-radius: .7rem; display: flex; height: 10rem; justify-content: center; overflow: hidden; }.theme-logo-preview img { height: 100%; object-fit: contain; padding: 1rem; width: 100%; }.theme-logo-preview span { align-items: center; background: var(--tenant-primary); border-radius: 50%; color: #fff; display: inline-flex; font-size: 2rem; height: 4rem; justify-content: center; width: 4rem; }.theme-live-preview { border: 1px solid #dfe7ef; border-radius: .8rem; margin-top: 1.5rem; overflow: hidden; }.theme-live-preview-label { align-items: center; background: #f7f9fb; border-bottom: 1px solid #e3eaf1; display: flex; gap: .5rem; padding: .65rem .8rem; }.theme-live-preview-label strong { color: #42536a; font-size: .76rem; }.theme-live-preview-label small { color: #8492a5; font-size: .7rem; margin-left: auto; }.theme-preview-dot { background: #d7e6db; border-radius: 50%; height: .55rem; width: .55rem; }.theme-preview-browser { background: #f8fafc; padding: .75rem; }.theme-preview-bar { align-items: center; background: var(--tenant-primary); border-radius: .45rem .45rem 0 0; color: #fff; display: flex; font-size: .62rem; font-weight: 800; gap: .4rem; min-height: 2.5rem; padding: .45rem .6rem; }.theme-preview-logo { align-items: center; background: rgba(255,255,255,.17); border-radius: 50%; display: inline-flex; flex: 0 0 1.35rem; height: 1.35rem; justify-content: center; overflow: hidden; width: 1.35rem; }.theme-preview-logo img { height: 100%; object-fit: cover; width: 100%; }.theme-preview-nav { font-size: .55rem; margin-left: auto; opacity: .82; }.theme-preview-page { background: #fff; border: 1px solid #e5ebf1; border-top: 0; padding: 1rem; }.theme-preview-page p, .theme-preview-page strong, .theme-preview-page span { display: block; }.theme-preview-page p { color: var(--tenant-primary); font-size: .55rem; font-weight: 800; letter-spacing: .1em; margin: 0 0 .25rem; text-transform: uppercase; }.theme-preview-page strong { color: #203147; font-family: var(--tenant-font), sans-serif; font-size: 1.05rem; line-height: 1.2; }.theme-preview-page span { color: #718094; font-size: .64rem; margin: .35rem 0 .7rem; }.theme-preview-page button { background: var(--tenant-accent); border: 0; border-radius: .3rem; color: #172435; font-size: .58rem; font-weight: 800; padding: .45rem .6rem; }
.platform-admin-page { background: #f4f7fb; color: #18283d; }.platform-admin-shell { grid-template-columns: 286px minmax(0, 1fr); }.platform-admin-sidebar { background: #101d31; position: relative; }.platform-admin-sidebar::before { background: linear-gradient(145deg, #3d5aab, transparent 42%); content: ""; height: 17rem; left: 0; opacity: .38; pointer-events: none; position: absolute; top: 0; width: 100%; }.platform-admin-sidebar-inner { z-index: 1; }.platform-admin-brand small { color: #a9b9d3; }.platform-admin-nav-link { align-items: center; display: flex; gap: .7rem; }.platform-admin-nav-link.active { background: #35539e; box-shadow: none; }.platform-admin-workspace { padding: 1.75rem clamp(1.5rem, 4vw, 3.5rem) 3.5rem; }.platform-admin-workspace-inner { max-width: 1360px; }.platform-admin-workspace h1, .platform-admin-workspace h2 { font-family: "DM Sans", system-ui, sans-serif; letter-spacing: -.045em; }.platform-create-tenant { align-items: center; background: #35539e; border-radius: .52rem; color: #fff; display: inline-flex; font-size: .78rem; font-weight: 800; gap: .3rem; padding: .62rem .8rem; text-decoration: none; }.platform-create-tenant:hover { background: #294889; color: #fff; }.platform-welcome { align-items: center; background: linear-gradient(125deg, #182846, #35539e); border-radius: 1.1rem; color: #fff; display: flex; gap: 2rem; justify-content: space-between; overflow: hidden; padding: clamp(1.65rem, 3.5vw, 2.65rem); position: relative; }.platform-welcome::after { border: 1px solid rgba(255,255,255,.1); border-radius: 50%; content: ""; height: 19rem; position: absolute; right: -7rem; top: -9rem; width: 19rem; }.platform-welcome > * { position: relative; z-index: 1; }.platform-welcome .eyebrow { color: #d9e4ff; }.platform-welcome h1 { color: #fff; font-size: clamp(1.6rem, 3vw, 2.35rem); font-weight: 800; margin: 0 0 .5rem; }.platform-welcome p:not(.eyebrow) { color: #d4def0; margin: 0; max-width: 43rem; }.platform-welcome .btn { border-radius: .6rem; font-size: .83rem; font-weight: 800; white-space: nowrap; }.platform-metric { background: #fff; border: 1px solid #e2e8f0; border-radius: .85rem; display: block; min-height: 9rem; padding: 1.2rem; }.platform-metric span, .platform-metric strong, .platform-metric small { display: block; }.platform-metric span { color: #718096; font-size: .7rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }.platform-metric strong { color: #1c2e48; font-size: 2rem; letter-spacing: -.06em; line-height: 1.2; margin: .35rem 0; }.platform-metric small { color: #8290a4; font-size: .76rem; }.platform-list-header { align-items: center; display: flex; justify-content: space-between; padding: 1.35rem; }.platform-list-header h2 { font-size: 1.13rem; font-weight: 800; margin: 0; }.platform-list-header .eyebrow { color: #8491a4; font-size: .65rem; }.platform-list-header > span { background: #edf3ff; border-radius: .45rem; color: #35539e; font-size: .76rem; font-weight: 800; padding: .35rem .5rem; }

@media (max-width: 991.98px) {
  .site-header .navbar-collapse { padding: .8rem 0 .3rem; }
  .site-header .navbar-nav { align-items: flex-start !important; }
  .nav-cta { margin: .4rem .8rem .7rem; }
  .tenant-admin-shell { display: block; }.tenant-admin-sidebar { background: #172033; padding: 0 1rem; }.tenant-admin-sidebar-inner { height: auto; position: static; }.tenant-admin-sidebar .tenant-admin-brand, .tenant-admin-sidebar-footer { display: none; }.tenant-admin-nav { margin-bottom: 0; max-height: none; overflow: visible; padding: .5rem 0 1rem; }.tenant-admin-workspace { padding: 1.5rem 1rem 2.5rem; }.tenant-admin-nav-link { padding: .72rem .85rem; }.tenant-admin-nav-label { margin-top: 1rem; }
  .platform-admin-shell { display: block; }.platform-admin-sidebar { padding: 0 1rem; }.platform-admin-sidebar-inner { height: auto; position: static; }.platform-admin-sidebar .platform-admin-brand, .platform-admin-sidebar-footer { display: none; }.platform-admin-nav { padding: .5rem 0 1rem; }.platform-admin-workspace { padding: 1.5rem 1rem 2.5rem; }
  .module-access-grid { grid-template-columns: 1fr; }
  .portal-action-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.portal-welcome { align-items: flex-start; flex-direction: column; }.site-header .dropdown-menu { border: 0; box-shadow: none; padding-left: 1rem; }.site-utility .container { padding-bottom: .2rem; padding-top: .2rem; }.public-shortcut + .public-shortcut { border-left: 0; border-top: 1px solid #e8edf2; }
}

@media (max-width: 575.98px) {
  .site-brand { font-size: 1rem; max-width: 240px; }
  .hero-section { padding: 4rem 0; }
  .hero-section h1 { font-size: 2.65rem; }
  .bulletin-callout { align-items: flex-start; }
  .bulletin-page-heading, .bulletin-pdf-toolbar { align-items: flex-start; flex-direction: column; }.bulletin-pdf-toolbar { gap: 1rem; padding: 1.15rem; }.bulletin-pdf-frame-wrap { min-height: 28rem; padding: .45rem; }.bulletin-pdf-frame { height: 31rem; min-height: 0; }.bulletin-pdf-actions { width: 100%; }.bulletin-pdf-actions .btn { flex: 1 1 12rem; justify-content: center; }.bulletin-pdf-note { padding: .8rem 1.15rem; }
  .event-cover-image { height: 185px; width: 100%; }
  .document-card { align-items: flex-start; flex-wrap: wrap; }.document-card .btn { margin-left: 4.25rem; }
  .public-gallery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gallery-picker { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .privacy-notice { bottom: 0; max-width: none; right: 0; width: 100%; }
  .bulletin-print-actions, .bulletin-print-header, .bulletin-print-footer { align-items: flex-start; flex-direction: column; }.bulletin-print-date { text-align: left; }.bulletin-print-grid { grid-template-columns: 1fr; }.bulletin-paper { min-height: 0; padding: 1.5rem; }
  .site-footer { padding: 3.25rem 0; }
  .portal-topbar { align-items: flex-start; gap: .8rem; margin-bottom: 1.5rem; }.portal-topbar-actions { gap: .5rem; }.portal-open-site { font-size: .7rem; }.portal-welcome { padding: 1.35rem; }.portal-welcome h1 { font-size: 1.45rem; }.portal-action-grid { grid-template-columns: 1fr; }.portal-panel { padding: 1.05rem; }.public-hero { min-height: 0; padding: 4.2rem 0 5.5rem; }.public-hero h1 { font-size: clamp(2.45rem, 12vw, 3.5rem); }.public-hero-info { padding: 1.4rem; }.public-shortcuts { margin-top: -1.25rem; }.public-shortcut { min-height: 5.25rem; padding: 1rem; }.site-utility { font-size: .65rem; }.site-utility .container { gap: .5rem; }.site-utility a { margin-left: .45rem; }.site-brand { max-width: calc(100vw - 6rem); }.public-section-heading { align-items: flex-start; gap: 1rem; }
}

.content-editor-heading { align-items: end; display: flex; gap: 1.5rem; justify-content: space-between; margin: 0 0 1.4rem; }.content-editor-heading h1 { font-size: clamp(1.55rem, 3vw, 2.2rem); font-weight: 800; margin: 0 0 .35rem; }.content-editor-heading p:not(.eyebrow) { color: #728197; margin: 0; max-width: 44rem; }.content-editor-form { max-width: 920px; }.content-editor-form h2 { font-weight: 800; }.content-editor-status { background: #f7f9fc; border: 1px solid #e4eaf1; border-radius: .75rem; display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr)); padding: 1rem 1.1rem; }.content-editor-status .form-check { margin: 0; }.content-editor-status .form-check-label strong, .content-editor-status .form-check-label small { display: block; }.content-editor-status .form-check-label strong { color: #304158; font-size: .86rem; }.content-editor-status .form-check-label small { color: #7d8ca0; font-size: .73rem; line-height: 1.35; margin-top: .16rem; }.content-editor-actions { align-items: center; display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 1.5rem; }.content-editor-actions .btn { font-weight: 750; }.revision-panel { background: #fff; border: 1px solid #e2e8f0; border-radius: .9rem; max-width: 920px; padding: 1.3rem; }.revision-panel-header { align-items: start; display: flex; gap: 1rem; justify-content: space-between; }.revision-panel h2 { font-size: 1.1rem; font-weight: 800; margin: 0; }.revision-count { background: #eff4f8; border-radius: 2rem; color: #64748b; font-size: .72rem; font-weight: 800; padding: .35rem .55rem; white-space: nowrap; }.revision-panel-intro { color: #748398; font-size: .79rem; line-height: 1.5; margin: .65rem 0 .85rem; max-width: 39rem; }.revision-row { align-items: center; border-top: 1px solid #edf1f5; display: flex; gap: .75rem; padding: .8rem 0; }.revision-clock { align-items: center; background: color-mix(in srgb, var(--tenant-primary), #fff 92%); border-radius: .5rem; color: var(--tenant-primary); display: inline-flex; flex: 0 0 2.15rem; font-size: 1.05rem; height: 2.15rem; justify-content: center; }.revision-copy { flex: 1; min-width: 0; }.revision-copy strong, .revision-copy small { display: block; }.revision-copy strong { color: #314158; font-size: .82rem; }.revision-copy small { color: #8290a3; font-size: .71rem; margin-top: .1rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.revision-empty { align-items: center; background: #fafbfd; border: 1px dashed #dce4ec; border-radius: .65rem; color: #8190a4; display: flex; font-size: .8rem; gap: .6rem; padding: .85rem; }.revision-empty p { margin: 0; }.content-preview-banner { align-items: center; background: #152741; color: #fff; display: flex; font-family: "DM Sans", system-ui, sans-serif; gap: 1rem; justify-content: space-between; padding: .7rem max(1rem, calc((100vw - 1200px) / 2)); }.content-preview-banner strong, .content-preview-banner span { display: block; }.content-preview-banner strong { font-size: .82rem; }.content-preview-banner span { color: #cbd8e7; font-size: .72rem; margin-top: .08rem; }.content-preview-banner a { color: #fff; font-size: .76rem; font-weight: 800; text-decoration: none; white-space: nowrap; }.content-preview-banner a:hover { color: var(--tenant-accent); }

@media (max-width: 575.98px) { .content-editor-heading { align-items: flex-start; flex-direction: column; }.content-editor-heading .btn { width: 100%; }.revision-row { align-items: flex-start; flex-wrap: wrap; }.revision-row form { margin-left: 2.9rem; }.content-preview-banner { align-items: flex-start; flex-direction: column; gap: .35rem; } }

.composer-heading { align-items: end; display: flex; gap: 1.5rem; justify-content: space-between; margin-bottom: 1.4rem; }.composer-heading h1 { font-size: clamp(1.6rem, 3vw, 2.25rem); font-weight: 800; margin: 0 0 .35rem; }.composer-heading p:not(.eyebrow) { color: #728197; margin: 0; max-width: 44rem; }.composer-intro { align-items: flex-start; background: linear-gradient(110deg, color-mix(in srgb, var(--tenant-primary), #fff 91%), #fff); border: 1px solid color-mix(in srgb, var(--tenant-primary), #fff 75%); border-radius: .85rem; display: flex; gap: .85rem; margin-bottom: 1.2rem; max-width: 1040px; padding: 1rem 1.1rem; }.composer-intro > span { align-items: center; background: var(--tenant-primary); border-radius: .55rem; color: #fff; display: inline-flex; flex: 0 0 2.2rem; height: 2.2rem; justify-content: center; }.composer-intro strong { color: #304158; display: block; font-size: .85rem; }.composer-intro p { color: #718096; font-size: .76rem; line-height: 1.5; margin: .15rem 0 0; }.composer-grid { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); max-width: 1040px; }.composer-card { background: #fff; border: 1px solid #e2e8f0; border-radius: .9rem; display: flex; flex-direction: column; min-height: 13rem; padding: 1.15rem; }.composer-card.is-hidden { background: #fafbfd; border-style: dashed; }.composer-card-top { align-items: flex-start; display: flex; gap: .7rem; }.composer-icon { align-items: center; background: color-mix(in srgb, var(--tenant-primary), #fff 91%); border-radius: .6rem; color: var(--tenant-primary); display: inline-flex; flex: 0 0 2.35rem; font-size: 1.1rem; height: 2.35rem; justify-content: center; }.composer-type { color: #7c8ba0; display: block; font-size: .67rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }.composer-card h2 { font-size: 1rem; font-weight: 800; line-height: 1.2; margin: .17rem 0 0; }.composer-order { color: #8a97a8; font-size: .7rem; font-weight: 800; margin-left: auto; }.composer-card > p { color: #738298; font-size: .76rem; line-height: 1.5; margin: .85rem 0 1rem; }.composer-card-footer { align-items: center; display: flex; gap: .7rem; justify-content: space-between; margin-top: auto; }.composer-card-footer .badge { font-size: .67rem; }.composer-empty { align-items: center; background: #fff; border: 1px dashed #cdd7e3; border-radius: .9rem; display: flex; flex-direction: column; grid-column: 1 / -1; justify-content: center; min-height: 19rem; padding: 2rem; text-align: center; }.composer-empty > span { color: var(--tenant-primary); font-size: 2.3rem; }.composer-empty h2 { font-size: 1.15rem; font-weight: 800; margin: .55rem 0 .3rem; }.composer-empty p { color: #748398; font-size: .8rem; max-width: 34rem; }.composer-library { background: #14263f; border-radius: .95rem; color: #fff; max-width: 1040px; padding: 1.35rem; }.composer-library .eyebrow { color: color-mix(in srgb, var(--tenant-accent), #fff 35%); }.composer-library h2 { color: #fff; font-size: 1.15rem; font-weight: 800; margin: 0 0 1.15rem; }.composer-library-grid { display: grid; gap: .65rem; grid-template-columns: repeat(3, minmax(0, 1fr)); }.composer-library-grid a { background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.1); border-radius: .65rem; color: #fff; min-height: 8.6rem; padding: .8rem; text-decoration: none; transition: background .16s ease, transform .16s ease; }.composer-library-grid a:hover { background: rgba(255,255,255,.13); color: #fff; transform: translateY(-2px); }.composer-library-grid a > span { color: var(--tenant-accent); display: block; font-size: 1.12rem; margin-bottom: .4rem; }.composer-library-grid strong, .composer-library-grid small { display: block; }.composer-library-grid strong { font-size: .8rem; }.composer-library-grid small { color: #b7c5d8; font-size: .69rem; line-height: 1.4; margin-top: .22rem; }.homepage-block-image { border-radius: .65rem; display: block; height: 18rem; object-fit: cover; width: 100%; }.homepage-highlight { background: #f3f6fa; padding: clamp(3rem, 7vw, 6rem) 0; }.homepage-highlight-image { border-radius: .9rem; box-shadow: 0 16px 35px rgba(30,49,73,.16); display: block; height: 18rem; object-fit: cover; width: 100%; }

/* Platform: nadzor prostora datoteka */
.platform-storage-snapshot, .storage-hero { align-items: center; background: linear-gradient(125deg, #172a48, #315a9c); border-radius: 1rem; color: #fff; display: flex; gap: 1.5rem; justify-content: space-between; overflow: hidden; padding: clamp(1.35rem, 3vw, 2rem); position: relative; }.platform-storage-snapshot::after, .storage-hero::after { border: 1px solid rgba(255,255,255,.11); border-radius: 50%; content: ""; height: 15rem; position: absolute; right: -4rem; top: -8rem; width: 15rem; }.platform-storage-snapshot > *, .storage-hero > * { position: relative; z-index: 1; }.platform-storage-snapshot .eyebrow, .storage-hero .eyebrow { color: #d9e5ff; }.platform-storage-snapshot h2 { color: #fff; font-size: clamp(1.6rem, 3vw, 2.25rem); font-weight: 800; letter-spacing: -.055em; margin: 0 0 .25rem; }.platform-storage-snapshot p, .storage-hero p { color: #d5e0f0; font-size: .82rem; line-height: 1.5; margin: 0; max-width: 35rem; }.platform-storage-snapshot .btn { border-radius: .55rem; flex: 0 0 auto; font-size: .78rem; font-weight: 800; }.platform-storage-snapshot-stat { border-left: 1px solid rgba(255,255,255,.18); flex: 0 0 auto; padding-left: 1.5rem; }.platform-storage-snapshot-stat span, .platform-storage-snapshot-stat strong, .platform-storage-snapshot-stat small { display: block; }.platform-storage-snapshot-stat span { color: #bcd0ef; font-size: .65rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }.platform-storage-snapshot-stat strong { color: #fff; font-size: .9rem; margin: .25rem 0 .1rem; }.platform-storage-snapshot-stat small { color: #d9e5f4; font-size: .76rem; }.storage-hero { align-items: end; min-height: 13rem; }.storage-hero h1 { color: #fff; font-size: clamp(1.7rem, 3.5vw, 2.45rem); font-weight: 800; letter-spacing: -.055em; margin: 0 0 .5rem; }.storage-hero-total { background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.15); border-radius: .75rem; flex: 0 0 auto; min-width: 12rem; padding: 1rem 1.15rem; }.storage-hero-total span, .storage-hero-total strong, .storage-hero-total small { display: block; }.storage-hero-total span { color: #c9d8ee; font-size: .65rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }.storage-hero-total strong { color: #fff; font-size: 1.7rem; letter-spacing: -.06em; line-height: 1.2; margin: .25rem 0; }.storage-hero-total small { color: #dbe6f4; font-size: .75rem; }.storage-metric-name { font-size: clamp(1rem, 2vw, 1.55rem) !important; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.storage-explainer { align-items: flex-start; background: #edf4ff; border: 1px solid #d7e5fb; border-radius: .75rem; color: #36506f; display: flex; gap: .75rem; padding: .9rem 1rem; }.storage-explainer > span { align-items: center; background: #35539e; border-radius: 50%; color: #fff; display: inline-flex; flex: 0 0 1.5rem; font-size: .75rem; font-weight: 800; height: 1.5rem; justify-content: center; }.storage-explainer p { font-size: .78rem; line-height: 1.55; margin: 0; }.storage-table td { font-size: .84rem; }.storage-table td strong { color: #253b58; font-size: .84rem; }.storage-share { min-width: 7.5rem; }.storage-share-track { background: #eaf0f7; border-radius: 99px; height: .4rem; margin-bottom: .3rem; overflow: hidden; width: 5.5rem; }.storage-share-track span { background: linear-gradient(90deg, #35539e, #6887c4); border-radius: inherit; display: block; height: 100%; min-width: 2px; }.storage-share small { color: #73839a; font-size: .72rem; }.tenant-storage-summary { align-items: center; background: #fff; border: 1px solid #e0e8f2; border-radius: .85rem; display: flex; flex-wrap: wrap; gap: 1.2rem 2rem; justify-content: space-between; padding: 1rem 1.2rem; }.tenant-storage-summary .eyebrow { color: #71839c; font-size: .64rem; }.tenant-storage-summary strong, .tenant-storage-summary > div > span { display: block; }.tenant-storage-summary strong { color: #213754; font-size: 1.45rem; letter-spacing: -.055em; line-height: 1.2; }.tenant-storage-summary > div > span { color: #8291a4; font-size: .72rem; margin-top: .2rem; }.tenant-storage-breakdown { display: flex; flex-wrap: wrap; gap: .45rem; }.tenant-storage-breakdown span { background: #f2f6fa; border-radius: .45rem; color: #687a91; font-size: .72rem; padding: .45rem .55rem; }.tenant-storage-breakdown b { color: #334b6a; margin-right: .35rem; }.tenant-storage-summary > a { color: #35539e; font-size: .76rem; font-weight: 800; text-decoration: none; }

.plans-hero { align-items: center; background: linear-gradient(125deg, #172a48, #35539e); border-radius: 1rem; color: #fff; display: flex; gap: 1.5rem; justify-content: space-between; overflow: hidden; padding: clamp(1.45rem, 3vw, 2.1rem); position: relative; }.plans-hero::after { border: 1px solid rgba(255,255,255,.1); border-radius: 50%; content: ""; height: 16rem; position: absolute; right: -5rem; top: -9rem; width: 16rem; }.plans-hero > * { position: relative; z-index: 1; }.plans-hero .eyebrow { color: #d9e5ff; }.plans-hero h1 { color: #fff; font-size: clamp(1.7rem, 3.5vw, 2.4rem); font-weight: 800; letter-spacing: -.055em; margin: 0 0 .5rem; }.plans-hero p { color: #d5e0f0; font-size: .82rem; line-height: 1.55; margin: 0; max-width: 42rem; }.plans-hero .btn { border-radius: .55rem; flex: 0 0 auto; font-size: .8rem; font-weight: 800; }.plan-grid { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(285px, 1fr)); }.plan-card { background: #fff; border: 1px solid #e0e8f2; border-radius: .95rem; display: flex; flex-direction: column; min-height: 21rem; padding: 1.2rem; }.plan-card.is-inactive { background: #fafbfd; border-style: dashed; }.plan-card-header { align-items: flex-start; display: flex; gap: .8rem; justify-content: space-between; }.plan-status { color: #587499; display: block; font-size: .64rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }.plan-card.is-inactive .plan-status { color: #9a7b46; }.plan-card h2 { color: #223a58; font-size: 1.2rem; font-weight: 800; letter-spacing: -.04em; margin: .28rem 0 0; }.plan-assigned { background: #edf3ff; border-radius: .4rem; color: #35539e; font-size: .7rem; font-weight: 800; padding: .35rem .48rem; white-space: nowrap; }.plan-description { color: #708198; font-size: .79rem; line-height: 1.5; margin: .85rem 0 1rem; }.plan-price { align-items: baseline; border-bottom: 1px solid #edf1f5; display: flex; gap: .4rem; padding-bottom: .9rem; }.plan-price strong { color: #203957; font-size: 1.65rem; letter-spacing: -.06em; }.plan-price span { color: #8291a4; font-size: .72rem; }.plan-details { display: grid; gap: .6rem; margin: 1rem 0; }.plan-details span { color: #73849a; font-size: .74rem; }.plan-details b { color: #314963; display: inline-block; font-weight: 800; min-width: 5.7rem; }.plan-card-actions { align-items: center; display: flex; flex-wrap: wrap; gap: .45rem; margin-top: auto; }.plan-card-actions form { margin: 0; }.plan-form { max-width: 900px; }.tenant-plan-summary { align-items: end; background: linear-gradient(105deg, #fff, #f1f6fe); border: 1px solid #d9e5f5; border-radius: .85rem; display: flex; flex-wrap: wrap; gap: 1rem 2rem; justify-content: space-between; padding: 1rem 1.2rem; }.tenant-plan-summary .eyebrow { color: #5b789b; font-size: .64rem; }.tenant-plan-summary strong, .tenant-plan-summary > div > span { display: block; }.tenant-plan-summary strong { color: #263e5c; font-size: 1.12rem; font-weight: 800; }.tenant-plan-summary > div > span { color: #74859a; font-size: .75rem; margin-top: .2rem; }.tenant-plan-summary form { min-width: min(100%, 28rem); }.tenant-plan-summary .form-label { font-size: .72rem; font-weight: 800; margin-bottom: .35rem; }

@media (max-width: 991.98px) { .composer-library-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767.98px) { .platform-storage-snapshot, .storage-hero, .plans-hero { align-items: flex-start; flex-direction: column; }.platform-storage-snapshot-stat { border-left: 0; border-top: 1px solid rgba(255,255,255,.18); padding: .85rem 0 0; width: 100%; }.platform-storage-snapshot .btn, .plans-hero .btn { width: 100%; }.storage-hero-total { width: 100%; }.tenant-storage-summary { align-items: flex-start; flex-direction: column; gap: .9rem; }.tenant-storage-summary > a { align-self: stretch; background: #f2f6fa; border-radius: .45rem; padding: .6rem .7rem; text-align: center; }.tenant-plan-summary { align-items: stretch; flex-direction: column; }.tenant-plan-summary form { min-width: 0; }.storage-table td { white-space: nowrap; } }
@media (max-width: 575.98px) { .composer-heading { align-items: flex-start; flex-direction: column; }.composer-heading .btn { width: 100%; }.composer-intro { padding: .9rem; }.composer-library { padding: 1rem; }.composer-library-grid { grid-template-columns: 1fr; }.composer-card-footer { align-items: flex-start; flex-direction: column; }.homepage-block-image { height: 13rem; } }
@media (max-width: 575.98px) { .bulletin-format-grid { grid-template-columns: 1fr; }.bulletin-single-sheet { min-height: 0; padding: 1.4rem; }.bulletin-single-header { flex-direction: column; gap: .65rem; }.bulletin-single-date { text-align: left; }.bulletin-single-layout { grid-template-columns: 1fr; }.bulletin-single-side { border-top: 1px solid #dce0e5; padding-top: 1.25rem; } }

/* Tenant naslovnica: zadana sakralna podloga ili fotografija iz modula Izgled. */
.public-hero::before { background-image: linear-gradient(110deg, rgba(10, 26, 44, .95), rgba(18, 36, 58, .78)), url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 760'%3E%3Cg fill='none' stroke='%23d8b65e' stroke-opacity='.32' stroke-width='2'%3E%3Cpath d='M930 760V292c0-160 116-276 255-276s255 116 255 276v468'/%3E%3Cpath d='M1040 760V324c0-92 64-162 145-162s145 70 145 162v436'/%3E%3Cpath d='M1160 760V358c0-30 11-59 25-79 14 20 25 49 25 79v402'/%3E%3Cpath d='M190 760V442c0-110 78-192 176-192s176 82 176 192v318'/%3E%3Cpath d='M292 0v103M253 51h78'/%3E%3Cpath d='M1185 78v104M1145 130h80'/%3E%3C/g%3E%3Cg fill='%23d8b65e' fill-opacity='.1'%3E%3Ccircle cx='292' cy='52' r='62'/%3E%3Ccircle cx='1185' cy='130' r='80'/%3E%3C/g%3E%3C/svg%3E"); background-position: center; background-size: cover; content: ""; inset: 0; pointer-events: none; position: absolute; }.public-hero.has-hero-background::before { background-image: linear-gradient(110deg, rgba(8, 24, 42, .88), rgba(18, 36, 58, .58)), var(--hero-background-image); }.public-hero.has-hero-background::after { opacity: .24; }.public-hero > .container { position: relative; z-index: 1; }
.theme-hero-panel { background: linear-gradient(135deg, #f7fafc, #fff); border: 1px solid #e1e9f0; border-radius: 1rem; padding: clamp(1.1rem, 3vw, 1.5rem); }.theme-section-heading { align-items: flex-start; display: flex; gap: 1rem; justify-content: space-between; }.theme-section-heading h2 { color: #273b54; font-weight: 800; letter-spacing: -.03em; }.theme-section-heading p:not(.eyebrow) { font-size: .82rem; max-width: 42rem; }.theme-status-pill { background: #e8f0f8; border: 1px solid #d5e1ed; border-radius: 99px; color: #44607f; flex: 0 0 auto; font-size: .68rem; font-weight: 800; padding: .42rem .65rem; white-space: nowrap; }.theme-hero-preview { align-items: flex-end; background-color: #13243a; background-image: linear-gradient(110deg, rgba(10, 26, 44, .94), rgba(18, 36, 58, .65)), url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 720 420'%3E%3Cg fill='none' stroke='%23d8b65e' stroke-opacity='.34' stroke-width='2'%3E%3Cpath d='M454 420V160c0-90 66-148 145-148s145 58 145 148v260'/%3E%3Cpath d='M540 420V190c0-48 32-87 74-87s74 39 74 87v230'/%3E%3Cpath d='M120 420V260c0-58 41-100 91-100s91 42 91 100v160'/%3E%3Cpath d='M170 0v72M142 36h56'/%3E%3C/g%3E%3C/svg%3E"); background-position: center; background-size: cover; border-radius: .8rem; box-shadow: 0 14px 30px rgba(25, 46, 72, .14); color: #fff; display: flex; min-height: 13rem; overflow: hidden; padding: 1.25rem; position: relative; }.theme-hero-preview > div { position: relative; z-index: 1; }.theme-hero-preview small, .theme-hero-preview strong { display: block; }.theme-hero-preview small { color: #dce8f2; font-size: .67rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }.theme-hero-preview strong { font-family: "Fraunces", Georgia, serif; font-size: clamp(1.35rem, 3vw, 1.8rem); line-height: 1.1; margin-top: .3rem; max-width: 15rem; }.theme-hero-preview-cross { color: rgba(232, 198, 109, .74); font-family: Georgia, serif; font-size: 7rem; line-height: 1; position: absolute; right: 1rem; top: 1rem; }.theme-hero-preview.has-image .theme-hero-preview-cross { display: none; }

@media (max-width: 575.98px) { .theme-section-heading { flex-direction: column; gap: .55rem; }.theme-status-pill { white-space: normal; }.theme-hero-preview { min-height: 11rem; } }

/* Portal vodič: jasni sljedeći koraci za župne administratore. */
.portal-nav-readiness { position: relative; }.portal-nav-alert { align-items: center; background: #e7ad49; border-radius: 99px; color: #18283d; display: inline-flex; font-size: .62rem; height: 1.2rem; justify-content: center; margin-left: auto; min-width: 1.2rem; padding: 0 .28rem; }.portal-readiness-alert { align-items: center; background: linear-gradient(105deg, #fff8df, #fffdf7); border: 1px solid #ecd68e; border-radius: .9rem; color: #5d4914; display: flex; gap: .85rem; padding: .95rem 1.1rem; }.portal-readiness-alert-icon { align-items: center; background: #d99a28; border-radius: 50%; color: #fff; display: inline-flex; flex: 0 0 2rem; font-size: 1rem; font-weight: 900; height: 2rem; justify-content: center; }.portal-readiness-alert > div { flex: 1; }.portal-readiness-alert strong { display: block; font-size: .85rem; }.portal-readiness-alert p { color: #806727; font-size: .76rem; line-height: 1.4; margin: .14rem 0 0; }.portal-readiness-alert .btn { border-radius: .5rem; flex: 0 0 auto; font-size: .74rem; font-weight: 800; }.portal-readiness-alert-compact { margin: -1.1rem 0 1.35rem; padding: .75rem .9rem; }.portal-readiness-alert-compact a { color: #5d4914; font-size: .75rem; font-weight: 800; text-decoration: none; white-space: nowrap; }.portal-readiness-link { border-top: 1px solid #edf1f5; color: var(--tenant-primary); display: block; font-size: .76rem; font-weight: 800; margin-top: .65rem; padding-top: .8rem; text-decoration: none; }.portal-readiness-link span { margin-left: .15rem; }
.readiness-hero { align-items: center; background: linear-gradient(125deg, #172a48, #2d527d); border-radius: 1rem; color: #fff; display: flex; gap: 1.5rem; justify-content: space-between; overflow: hidden; padding: clamp(1.4rem, 3.5vw, 2.25rem); position: relative; }.readiness-hero::after { border: 1px solid rgba(255,255,255,.11); border-radius: 50%; content: ""; height: 18rem; position: absolute; right: -5rem; top: -10rem; width: 18rem; }.readiness-hero > * { position: relative; z-index: 1; }.readiness-hero .eyebrow { color: #c8ddf2; }.readiness-hero h1 { color: #fff; font-size: clamp(1.7rem, 3.5vw, 2.45rem); font-weight: 800; margin: 0 0 .5rem; }.readiness-hero p:not(.eyebrow) { color: #d8e5f2; font-size: .87rem; line-height: 1.55; margin: 0; max-width: 42rem; }.readiness-score { background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.16); border-radius: .8rem; flex: 0 0 auto; min-width: 10.5rem; padding: .95rem 1.1rem; }.readiness-score span, .readiness-score strong, .readiness-score small { display: block; }.readiness-score span { color: #c7d9ec; font-size: .64rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }.readiness-score strong { color: #fff; font-size: 2rem; letter-spacing: -.06em; line-height: 1.1; margin: .18rem 0; }.readiness-score small { color: #d8e5f2; font-size: .72rem; line-height: 1.35; }.readiness-notice { align-items: center; background: #fff8df; border: 1px solid #ead68f; border-radius: .85rem; display: flex; gap: .85rem; padding: .95rem 1.1rem; }.readiness-notice > span { align-items: center; background: #d99a28; border-radius: 50%; color: #fff; display: inline-flex; flex: 0 0 2rem; font-weight: 900; height: 2rem; justify-content: center; }.readiness-notice strong { color: #604c17; display: block; font-size: .85rem; }.readiness-notice p { color: #806827; font-size: .76rem; line-height: 1.45; margin: .14rem 0 0; }.readiness-notice.is-ready { background: #eff9f3; border-color: #c9e8d5; }.readiness-notice.is-ready > span { background: #25845a; }.readiness-notice.is-ready strong { color: #256044; }.readiness-notice.is-ready p { color: #4c7c63; }.readiness-section { max-width: 1140px; }.readiness-section-heading { align-items: end; display: flex; justify-content: space-between; margin: 0 0 1rem; }.readiness-section-heading .eyebrow { color: #71839a; font-size: .65rem; }.readiness-section-heading h2 { color: #263d59; font-size: 1.2rem; font-weight: 800; margin: 0; }.readiness-section-heading > span { background: #eef3f8; border-radius: 99px; color: #60758d; font-size: .7rem; font-weight: 800; padding: .38rem .6rem; }.readiness-grid { display: grid; gap: 1rem; grid-template-columns: repeat(3, minmax(0, 1fr)); }.readiness-card { background: #fff; border: 1px solid #e0e8f0; border-radius: .9rem; display: flex; flex-direction: column; min-height: 17rem; padding: 1.15rem; }.readiness-card.is-complete { background: linear-gradient(145deg, #fff, #f4fbf7); border-color: #cbe7d6; }.readiness-card-top { align-items: center; display: flex; justify-content: space-between; }.readiness-card-icon { align-items: center; background: color-mix(in srgb, var(--tenant-primary), #fff 91%); border-radius: .55rem; color: var(--tenant-primary); display: inline-flex; font-size: 1rem; height: 2.3rem; justify-content: center; width: 2.3rem; }.readiness-card.is-complete .readiness-card-icon { background: #dff3e7; color: #168052; }.readiness-card-status { background: #fff3d7; border-radius: 99px; color: #8a651d; font-size: .62rem; font-weight: 800; padding: .35rem .48rem; }.readiness-card.is-complete .readiness-card-status { background: #e1f4e9; color: #27754f; }.readiness-card h3 { color: #293e59; font-size: 1rem; font-weight: 800; letter-spacing: -.025em; margin: 1rem 0 .38rem; }.readiness-card > p { color: #6f8096; font-size: .76rem; line-height: 1.5; margin: 0 0 .85rem; }.readiness-card-tip { background: #f5f8fb; border-radius: .55rem; color: #657890; font-size: .7rem; line-height: 1.42; margin-top: auto; padding: .65rem .7rem; }.readiness-card-tip span { color: var(--tenant-primary); font-weight: 900; margin-right: .25rem; }.readiness-card-action { color: var(--tenant-primary); font-size: .76rem; font-weight: 800; margin-top: .85rem; text-decoration: none; }.readiness-card-action span { margin-left: .2rem; }

@media (max-width: 991.98px) { .readiness-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 575.98px) { .portal-readiness-alert, .readiness-hero { align-items: flex-start; flex-direction: column; }.portal-readiness-alert .btn { align-self: stretch; }.portal-readiness-alert-compact { margin-top: -.4rem; }.portal-readiness-alert-compact a { align-self: flex-start; }.readiness-score { width: 100%; }.readiness-section-heading { align-items: flex-start; flex-direction: column; gap: .5rem; }.readiness-grid { grid-template-columns: 1fr; }.readiness-card { min-height: 0; } }

.privacy-readiness { background: linear-gradient(105deg, #f7fafc, #fff); border: 1px solid #e0e8f0; border-radius: .9rem; padding: 1.1rem 1.2rem; }.privacy-readiness-header { align-items: center; display: flex; justify-content: space-between; margin-bottom: .9rem; }.privacy-readiness-header strong, .privacy-readiness-header span { display: block; }.privacy-readiness-header strong { color: #334a66; font-size: .84rem; }.privacy-readiness-header span { color: #8190a2; font-size: .71rem; margin-top: .12rem; }.privacy-readiness-header a { color: var(--tenant-primary); font-size: .73rem; font-weight: 800; text-decoration: none; }.privacy-readiness-grid { display: grid; gap: .7rem; grid-template-columns: repeat(3, minmax(0, 1fr)); }.privacy-readiness-item { align-items: flex-start; background: #fffdf9; border: 1px solid #ebe2cd; border-radius: .65rem; display: flex; gap: .55rem; min-height: 4.2rem; padding: .7rem; }.privacy-readiness-item > span { align-items: center; background: #f4e6c9; border-radius: 50%; color: #9a6d19; display: inline-flex; flex: 0 0 1.35rem; font-size: .75rem; height: 1.35rem; justify-content: center; }.privacy-readiness-item.is-complete { background: #f7fcf8; border-color: #d3eadb; }.privacy-readiness-item.is-complete > span { background: #dff3e7; color: #18794f; }.privacy-readiness-item div { flex: 1; min-width: 0; }.privacy-readiness-item strong, .privacy-readiness-item small { display: block; }.privacy-readiness-item strong { color: #455872; font-size: .72rem; }.privacy-readiness-item small { color: #8190a2; font-size: .66rem; line-height: 1.35; margin-top: .12rem; }.privacy-readiness-item a { color: var(--tenant-primary); font-size: .67rem; font-weight: 800; text-decoration: none; }.privacy-editor { max-width: 1040px; }.privacy-editor-heading { align-items: flex-start; display: flex; gap: 1rem; justify-content: space-between; margin-bottom: .85rem; }.privacy-editor-heading h2 { color: #2f435d; font-size: 1.15rem; font-weight: 800; margin: 0 0 .3rem; }.privacy-editor-heading p:not(.eyebrow) { color: #74849a; font-size: .78rem; line-height: 1.5; margin: 0; max-width: 40rem; }.privacy-editor-heading .btn { flex: 0 0 auto; font-size: .72rem; font-weight: 800; white-space: nowrap; }
@media (max-width: 767.98px) { .privacy-readiness-grid { grid-template-columns: 1fr; }.privacy-editor-heading { flex-direction: column; gap: .55rem; }.privacy-editor-heading .btn { align-self: flex-start; }.privacy-readiness-header { align-items: flex-start; flex-direction: column; gap: .45rem; } }

/* Platformski pravni paket */
.platform-legal-snapshot { align-items: center; background: #fff; border: 1px solid #dce6f0; border-radius: .9rem; display: flex; gap: 1rem; justify-content: space-between; padding: 1.15rem 1.25rem; }.platform-legal-snapshot-icon { align-items: center; background: #eaf0ff; border-radius: .65rem; color: #35539e; display: inline-flex; flex: 0 0 2.7rem; font-family: Georgia, serif; font-size: 1.35rem; font-weight: 700; height: 2.7rem; justify-content: center; }.platform-legal-snapshot > div:nth-child(2) { flex: 1; }.platform-legal-snapshot .eyebrow { color: #71849d; font-size: .64rem; }.platform-legal-snapshot h2 { color: #253c5c; font-size: 1rem; font-weight: 800; margin: 0 0 .18rem; }.platform-legal-snapshot p { color: #77889e; font-size: .75rem; line-height: 1.45; margin: 0; }.platform-legal-snapshot .btn { border-radius: .5rem; flex: 0 0 auto; font-size: .75rem; font-weight: 800; }
.legal-hub-hero { align-items: end; background: linear-gradient(125deg, #182846, #35539e); border-radius: 1.1rem; color: #fff; display: flex; gap: 2rem; justify-content: space-between; overflow: hidden; padding: clamp(1.65rem, 3.5vw, 2.65rem); position: relative; }.legal-hub-hero::after { border: 1px solid rgba(255,255,255,.12); border-radius: 50%; content: ""; height: 20rem; position: absolute; right: -7rem; top: -9rem; width: 20rem; }.legal-hub-hero > * { position: relative; z-index: 1; }.legal-hub-hero .eyebrow { color: #d9e4ff; }.legal-hub-hero h1 { color: #fff; font-size: clamp(1.7rem, 3vw, 2.45rem); font-weight: 800; margin: 0 0 .55rem; }.legal-hub-hero p:not(.eyebrow) { color: #d5e0f0; font-size: .87rem; line-height: 1.6; margin: 0; max-width: 46rem; }.legal-hub-score { background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.16); border-radius: .75rem; flex: 0 0 12rem; padding: 1rem 1.1rem; }.legal-hub-score span, .legal-hub-score strong, .legal-hub-score small { display: block; }.legal-hub-score span { color: #cbdaf0; font-size: .65rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }.legal-hub-score strong { color: #fff; font-size: 1.7rem; letter-spacing: -.06em; line-height: 1.2; margin: .22rem 0; }.legal-hub-score small { color: #d7e4f4; font-size: .72rem; line-height: 1.35; }.legal-safety-note { align-items: flex-start; background: #fff7df; border: 1px solid #f0dda1; border-radius: .8rem; color: #654e12; display: flex; gap: .75rem; padding: .95rem 1rem; }.legal-safety-note > span { align-items: center; background: #d49b1e; border-radius: 50%; color: #fff; display: inline-flex; flex: 0 0 1.4rem; font-size: .78rem; font-weight: 800; height: 1.4rem; justify-content: center; }.legal-safety-note strong { display: block; font-size: .82rem; }.legal-safety-note p { font-size: .76rem; line-height: 1.5; margin: .15rem 0 0; }.legal-document-card { background: #fff; border: 1px solid #e0e8f1; border-radius: .85rem; display: flex; flex-direction: column; height: 100%; min-height: 14.5rem; padding: 1.25rem; transition: box-shadow .16s ease, transform .16s ease; }.legal-document-card:hover { box-shadow: 0 12px 26px rgba(29,48,76,.08); transform: translateY(-2px); }.legal-document-card.is-reviewed { border-color: #cfe8d9; }.legal-document-card-head { align-items: center; display: flex; justify-content: space-between; margin-bottom: 1.05rem; }.legal-document-scope, .legal-review-state { border-radius: 99px; font-size: .66rem; font-weight: 800; padding: .3rem .5rem; }.legal-document-scope { background: #edf3ff; color: #35539e; }.legal-review-state { background: #fff3d9; color: #93641a; }.is-reviewed .legal-review-state { background: #e1f3e7; color: #167a50; }.legal-document-card h2 { color: #273d5a; font-size: 1.02rem; font-weight: 800; margin: 0 0 .45rem; }.legal-document-card p { color: #74859a; font-size: .78rem; line-height: 1.5; margin: 0; }.legal-document-meta { align-items: center; border-top: 1px solid #edf1f5; display: flex; justify-content: space-between; margin-top: auto; padding-top: .95rem; }.legal-document-meta span { color: #8b99aa; font-size: .67rem; }.legal-document-meta a, .legal-edit-back a { color: #35539e; font-size: .72rem; font-weight: 800; text-decoration: none; }.legal-edit-back { align-items: center; display: flex; gap: .65rem; margin-bottom: 1.25rem; }.legal-edit-back span { background: #edf3ff; border-radius: 99px; color: #35539e; font-size: .65rem; font-weight: 800; padding: .27rem .48rem; }.legal-edit-intro { align-items: center; display: flex; gap: 1.5rem; justify-content: space-between; }.legal-edit-intro h1 { color: #203752; font-size: clamp(1.5rem, 3vw, 2.2rem); font-weight: 800; margin: 0 0 .35rem; }.legal-edit-intro p:not(.eyebrow) { color: #74859a; font-size: .84rem; margin: 0; }.legal-edit-intro .eyebrow { color: #71849d; font-size: .64rem; }.legal-edit-state { align-items: center; background: #fff7df; border: 1px solid #f0dda1; border-radius: .7rem; color: #674e11; display: flex; flex: 0 0 auto; gap: .55rem; padding: .7rem .8rem; }.legal-edit-state.is-reviewed { background: #f3fbf6; border-color: #cfe8d9; color: #167a50; }.legal-edit-state > span { align-items: center; background: #d49b1e; border-radius: 50%; color: #fff; display: inline-flex; flex: 0 0 1.55rem; font-size: .78rem; font-weight: 800; height: 1.55rem; justify-content: center; }.legal-edit-state.is-reviewed > span { background: #19925d; }.legal-edit-state strong, .legal-edit-state small { display: block; }.legal-edit-state strong { font-size: .72rem; }.legal-edit-state small { font-size: .64rem; margin-top: .1rem; }.legal-edit-form { background: #fff; border: 1px solid #dfe7f0; border-radius: .9rem; overflow: hidden; }.legal-edit-form-body { padding: clamp(1.15rem, 3vw, 2rem); }.legal-edit-form .form-label { font-size: .78rem; font-weight: 800; }.legal-document-textarea { background: #fcfdff; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .8rem; line-height: 1.6; }.legal-review-box { align-items: center; background: #f4f8fd; border: 1px solid #dce6f1; border-radius: .7rem; display: flex; gap: 1rem; justify-content: space-between; padding: .85rem .95rem; }.legal-review-box strong { color: #314762; display: block; font-size: .8rem; }.legal-review-box p { color: #77899e; font-size: .73rem; line-height: 1.45; margin: .12rem 0 0; }.legal-review-box .form-check { align-items: center; display: flex; flex: 0 0 auto; gap: .5rem; margin: 0; }.legal-review-box .form-check-input { margin: 0; }.legal-review-box .form-check-label { color: #425873; font-size: .75rem; font-weight: 800; }.legal-edit-actions { align-items: center; background: #f7f9fc; border-top: 1px solid #e4ebf3; display: flex; justify-content: space-between; padding: .9rem clamp(1.15rem, 3vw, 2rem); }.legal-edit-actions > span { color: #8291a4; font-size: .7rem; }.legal-edit-actions > div { display: flex; gap: .55rem; }.legal-edit-actions .btn { border-radius: .5rem; font-size: .75rem; font-weight: 800; }
@media (max-width: 767.98px) { .platform-legal-snapshot, .legal-hub-hero, .legal-edit-intro, .legal-review-box, .legal-edit-actions { align-items: flex-start; flex-direction: column; }.platform-legal-snapshot .btn, .legal-hub-score { width: 100%; }.legal-hub-score { flex-basis: auto; }.legal-edit-state { width: 100%; }.legal-edit-actions > div { width: 100%; }.legal-edit-actions .btn { flex: 1; }.legal-document-meta { align-items: flex-start; flex-direction: column; gap: .55rem; } }

/* Platformski pregled spremnosti župa */
.platform-readiness-snapshot { align-items: center; background: #fff; border: 1px solid #dce6f0; border-radius: .9rem; display: flex; gap: 1rem; justify-content: space-between; padding: 1.15rem 1.25rem; }.platform-readiness-snapshot-icon { align-items: center; background: #e5f4ec; border-radius: .65rem; color: #177952; display: inline-flex; flex: 0 0 2.7rem; font-size: 1.2rem; font-weight: 900; height: 2.7rem; justify-content: center; }.platform-readiness-snapshot > div:nth-child(2) { flex: 1; }.platform-readiness-snapshot .eyebrow { color: #71849d; font-size: .64rem; }.platform-readiness-snapshot h2 { color: #253c5c; font-size: 1rem; font-weight: 800; margin: 0 0 .18rem; }.platform-readiness-snapshot p { color: #77889e; font-size: .75rem; line-height: 1.45; margin: 0; }.platform-readiness-snapshot .btn { border-radius: .5rem; flex: 0 0 auto; font-size: .75rem; font-weight: 800; }
.platform-readiness-hero { align-items: end; background: linear-gradient(125deg, #142b3d, #276c62); border-radius: 1.1rem; color: #fff; display: flex; gap: 2rem; justify-content: space-between; overflow: hidden; padding: clamp(1.65rem, 3.5vw, 2.65rem); position: relative; }.platform-readiness-hero::after { border: 1px solid rgba(255,255,255,.12); border-radius: 50%; content: ""; height: 22rem; position: absolute; right: -7rem; top: -10rem; width: 22rem; }.platform-readiness-hero > * { position: relative; z-index: 1; }.platform-readiness-hero .eyebrow { color: #cbefe5; }.platform-readiness-hero h1 { color: #fff; font-size: clamp(1.7rem, 3vw, 2.45rem); font-weight: 800; margin: 0 0 .55rem; }.platform-readiness-hero p:not(.eyebrow) { color: #d3ece7; font-size: .87rem; line-height: 1.6; margin: 0; max-width: 46rem; }.platform-readiness-average { background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.16); border-radius: .75rem; flex: 0 0 12rem; padding: 1rem 1.1rem; }.platform-readiness-average span, .platform-readiness-average strong, .platform-readiness-average small { display: block; }.platform-readiness-average span { color: #c8e8e1; font-size: .65rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }.platform-readiness-average strong { color: #fff; font-size: 1.7rem; letter-spacing: -.06em; line-height: 1.2; margin: .22rem 0; }.platform-readiness-average small { color: #d7efea; font-size: .72rem; line-height: 1.35; }.readiness-metric-good { border-color: #d5eadc; }.readiness-metric-good strong { color: #187952; }.readiness-metric-alert { border-color: #f1dfad; }.readiness-metric-alert strong { color: #a46a12; }.platform-readiness-explainer { align-items: flex-start; background: #f2f7ff; border: 1px solid #dbe7f9; border-radius: .75rem; color: #3e5879; display: flex; gap: .7rem; padding: .9rem 1rem; }.platform-readiness-explainer > span { align-items: center; background: #3861a5; border-radius: 50%; color: #fff; display: inline-flex; flex: 0 0 1.4rem; font-family: Georgia, serif; font-size: .8rem; font-weight: 800; height: 1.4rem; justify-content: center; }.platform-readiness-explainer p { font-size: .77rem; line-height: 1.55; margin: 0; }.readiness-platform-list { display: grid; gap: .75rem; }.readiness-platform-row { align-items: center; background: #fff; border: 1px solid #dfe7f0; border-left: 4px solid #2b9469; border-radius: .8rem; display: grid; gap: 1.2rem; grid-template-columns: minmax(16rem, 1.25fr) minmax(15rem, 1fr) minmax(9rem, .62fr); padding: 1rem 1.1rem; }.readiness-platform-row.has-blocking { border-left-color: #d49b1e; }.readiness-platform-main { align-items: center; display: flex; gap: 1rem; min-width: 0; }.readiness-platform-name { align-items: center; display: flex; gap: .7rem; min-width: 10rem; }.readiness-platform-mark { align-items: center; background: #edf3ff; border-radius: .58rem; color: #35539e; display: inline-flex; flex: 0 0 2.3rem; font-size: .9rem; font-weight: 900; height: 2.3rem; justify-content: center; }.readiness-platform-name h2 { color: #2b415f; font-size: .88rem; font-weight: 800; margin: 0 0 .16rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.readiness-platform-name p { color: #8391a3; font-size: .68rem; margin: 0; }.readiness-platform-name code { color: #71849d; }.readiness-platform-progress { flex: 1; min-width: 7.5rem; }.readiness-platform-progress > div:first-child { align-items: baseline; display: flex; gap: .35rem; }.readiness-platform-progress strong { color: #263f5e; font-size: 1.1rem; letter-spacing: -.05em; }.readiness-platform-progress span { color: #8493a6; font-size: .67rem; }.readiness-platform-track { background: #e7edf3; border-radius: 99px; height: .43rem; margin-top: .35rem; overflow: hidden; }.readiness-platform-track span { background: linear-gradient(90deg, #2f8b67, #69b993); border-radius: inherit; display: block; height: 100%; min-width: 2px; }.has-blocking .readiness-platform-track span { background: linear-gradient(90deg, #c58a1d, #e5bd60); }.readiness-platform-status { min-width: 0; }.readiness-platform-badge { border-radius: 99px; display: inline-block; font-size: .65rem; font-weight: 800; margin-bottom: .35rem; padding: .29rem .48rem; }.readiness-platform-badge.is-blocking { background: #fff3dc; color: #986617; }.readiness-platform-badge.is-ready { background: #e4f4ea; color: #187950; }.readiness-platform-status p { margin: 0; }.readiness-platform-status strong, .readiness-platform-status span { display: block; }.readiness-platform-status strong { color: #3a4e68; font-size: .72rem; line-height: 1.35; }.readiness-platform-status p > span { color: #8190a2; font-size: .66rem; line-height: 1.35; margin-top: .12rem; }.readiness-platform-actions { align-items: flex-end; display: flex; flex-direction: column; gap: .55rem; }.readiness-platform-actions > span { color: #7d8da1; font-size: .66rem; }.readiness-platform-actions .btn { border-radius: .45rem; font-size: .7rem; font-weight: 800; white-space: nowrap; }
@media (max-width: 991.98px) { .readiness-platform-row { grid-template-columns: minmax(13rem, 1fr) minmax(13rem, 1fr); }.readiness-platform-actions { align-items: flex-start; flex-direction: row; grid-column: 1 / -1; justify-content: space-between; }.readiness-platform-actions .btn { margin-left: auto; } }
@media (max-width: 767.98px) { .platform-readiness-snapshot, .platform-readiness-hero { align-items: flex-start; flex-direction: column; }.platform-readiness-snapshot .btn, .platform-readiness-average { width: 100%; }.platform-readiness-average { flex-basis: auto; }.readiness-platform-row { align-items: stretch; gap: .9rem; grid-template-columns: 1fr; }.readiness-platform-main { align-items: flex-start; flex-direction: column; gap: .7rem; }.readiness-platform-name { width: 100%; }.readiness-platform-progress { width: 100%; }.readiness-platform-actions { align-items: stretch; flex-direction: column; }.readiness-platform-actions .btn { margin-left: 0; text-align: center; }.readiness-platform-actions > span { text-align: center; } }

/* Javni upravitelj privola */
.privacy-notice { border: 1px solid rgba(255,255,255,.14); border-radius: .9rem; max-width: 460px; padding: 1rem 1.05rem; }.cookie-consent-summary { align-items: flex-start; display: flex; gap: .7rem; }.cookie-consent-icon { align-items: center; background: rgba(255,255,255,.14); border-radius: .5rem; color: #fff; display: inline-flex; flex: 0 0 2rem; font-size: 1rem; height: 2rem; justify-content: center; }.cookie-consent-summary strong { display: block; font-size: .86rem; }.cookie-consent-summary p { color: #d7ded6; font-size: .77rem; line-height: 1.45; margin: .15rem 0 0; }.cookie-consent-actions { align-items: center; display: flex; flex-wrap: wrap; gap: .5rem; justify-content: flex-end; margin-top: .9rem; }.cookie-consent-actions .btn, .cookie-consent-preferences .btn { border-radius: .45rem; font-size: .72rem; font-weight: 800; }.cookie-consent-settings { background: transparent; border: 0; color: #fff; font-size: .7rem; font-weight: 800; margin-right: auto; padding: .35rem 0; text-decoration: underline; }.cookie-consent-preferences { border-top: 1px solid rgba(255,255,255,.15); margin-top: .9rem; padding-top: .8rem; }.cookie-consent-option { align-items: center; border-bottom: 1px solid rgba(255,255,255,.1); color: #fff; display: flex; gap: .75rem; justify-content: space-between; padding: .65rem 0; }.cookie-consent-option:first-child { padding-top: 0; }.cookie-consent-option:last-of-type { border-bottom: 0; }.cookie-consent-option > div { flex: 1; }.cookie-consent-option strong, .cookie-consent-option small { display: block; }.cookie-consent-option strong { font-size: .73rem; }.cookie-consent-option small { color: #d2dad2; font-size: .66rem; line-height: 1.4; margin-top: .12rem; }.cookie-consent-required { color: #cbe9d7; font-size: .62rem; font-weight: 800; white-space: nowrap; }.cookie-consent-option .form-check-input { cursor: pointer; flex: 0 0 auto; margin: 0; }.cookie-consent-preferences-actions { align-items: center; display: flex; justify-content: space-between; margin-top: .8rem; }.cookie-consent-preferences-actions a { color: #fff; font-size: .7rem; font-weight: 800; }.privacy-services-panel { align-items: flex-start; background: #f3f8ff; border: 1px solid #dbe7f6; border-radius: .75rem; display: grid; gap: 1.4rem; grid-template-columns: minmax(0, 1.1fr) minmax(16rem, .9fr); padding: 1.1rem; }.privacy-services-panel .eyebrow { color: #70849d; font-size: .64rem; }.privacy-services-panel h2 { color: #324962; font-size: 1rem; font-weight: 800; margin: 0 0 .3rem; }.privacy-services-panel p:not(.eyebrow) { color: #718399; font-size: .75rem; line-height: 1.5; margin: 0; }.privacy-service-input { align-self: center; }.privacy-service-input .form-label { font-size: .73rem; font-weight: 800; }.privacy-service-input .form-text { color: #7d8fa5; font-size: .67rem; line-height: 1.4; }
@media (max-width: 767.98px) { .privacy-notice { bottom: .65rem; left: .65rem; max-width: none; right: .65rem; width: auto; }.cookie-consent-actions .btn { flex: 1; }.cookie-consent-settings { flex-basis: 100%; margin: 0; text-align: center; }.privacy-services-panel { grid-template-columns: 1fr; } }

/* Uredničko odobravanje */
.editor-review-alert { background: #fff5dd; border: 1px solid #efdca7; border-radius: .7rem; color: #805c16; font-size: .8rem; font-weight: 700; margin-bottom: 1rem; padding: .75rem .9rem; }.review-queue { background: #fff; border: 1px solid #e0e8f0; border-radius: .85rem; padding: 1.15rem; }.review-queue h2 { align-items: center; color: #314761; display: flex; font-size: 1rem; font-weight: 800; justify-content: space-between; margin: 0 0 .75rem; }.review-queue h2 span { background: #fff1d4; border-radius: 99px; color: #916516; font-size: .68rem; padding: .28rem .48rem; }.review-queue-item { align-items: center; border-top: 1px solid #edf1f5; display: flex; gap: 1rem; justify-content: space-between; padding: .9rem 0; }.review-queue-item strong { color: #30455f; font-size: .85rem; }.review-queue-item p { color: #8191a5; font-size: .7rem; margin: .15rem 0 0; }.review-queue-actions { align-items: center; display: flex; flex-wrap: wrap; gap: .45rem; }.review-queue-actions form { margin: 0; }.review-queue-actions .btn { border-radius: .45rem; font-size: .7rem; font-weight: 800; }
@media (max-width: 767.98px) { .review-queue-item { align-items: flex-start; flex-direction: column; }.review-queue-actions { width: 100%; }.review-queue-actions .btn { width: 100%; } }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; }
}

@media print {
  body.bulletin-print-page { background: #fff; }
  .bulletin-print-actions, .bulletin-print-hint { display: none; }
  .bulletin-booklet-shell { margin: 0; max-width: none; padding: 0; }
  .bulletin-booklet-spread { box-shadow: none; break-after: page; break-inside: avoid; margin: 0; width: 297mm; height: 210mm; }
  .bulletin-booklet-spread:last-child { break-after: auto; }
  .booklet-intentions > div, .booklet-flow h2, .booklet-flow h3, .booklet-flow p, .booklet-flow ul, .booklet-flow ol { break-inside: avoid; }
  body.bulletin-print-a4 .bulletin-print-shell { margin: 0; max-width: none; padding: 0; } body.bulletin-print-a4 .bulletin-single-sheet { box-shadow: none; min-height: 0; padding: 0; } body.bulletin-print-a4 .bulletin-single-layout { gap: 1.2rem; } body.bulletin-print-a4 .bulletin-single-footer { margin-top: 1.4rem; }
}

/* Završni javni polish: fotografija župe je glavni vizual, tekst ostaje čitljiv. */
.site-brand-mark svg { display: block; fill: currentColor; height: 1.05rem; width: 1.05rem; }
.public-hero { min-height: clamp(34rem, 48vw, 43rem); padding: clamp(5.5rem, 9vw, 8.75rem) 0; }
.public-hero.has-hero-background::before { background-image: linear-gradient(103deg, rgba(7, 22, 37, .91) 0%, rgba(10, 27, 43, .78) 37%, rgba(12, 33, 49, .46) 64%, rgba(12, 33, 49, .22) 100%), var(--hero-background-image); background-position: center, center 54%; background-size: cover; }
.public-hero.has-hero-background::after { opacity: .14; }
.public-hero.has-hero-background .public-hero-glow-one { opacity: .16; }
.public-hero.has-hero-background .public-hero-glow-two { opacity: .12; }
.public-hero h1 { font-family: "Fraunces", Georgia, serif; font-size: clamp(3rem, 5.45vw, 5.7rem); font-weight: 600; letter-spacing: -.06em; line-height: .98; max-width: 12ch; text-wrap: balance; }
.public-hero-copy { color: #e5edf3; font-size: clamp(1.02rem, 1.25vw, 1.16rem); max-width: 35rem; }
.public-hero-kicker { color: #eef5f8; text-shadow: 0 1px 12px rgba(0, 0, 0, .24); }
.public-hero-info { background: linear-gradient(145deg, rgba(7, 20, 33, .62), rgba(8, 22, 37, .46)); backdrop-filter: blur(9px); border-color: rgba(255, 255, 255, .24); box-shadow: 0 28px 70px rgba(0, 0, 0, .28); }
.public-hero-info-title { font-size: clamp(1.5rem, 2.15vw, 1.82rem); }
.btn-public-primary { box-shadow: 0 10px 22px rgba(0, 0, 0, .2); transition: background .18s ease, box-shadow .18s ease, transform .18s ease; }
.btn-public-primary:hover { box-shadow: 0 14px 28px rgba(0, 0, 0, .3); transform: translateY(-2px); }
.btn-public-secondary { background: rgba(8, 23, 39, .16); backdrop-filter: blur(4px); transition: background .18s ease, border-color .18s ease, transform .18s ease; }
.btn-public-secondary:hover { border-color: rgba(255, 255, 255, .55); transform: translateY(-2px); }
.public-shortcuts { background-color: #f7fafc; background-image: linear-gradient(180deg, rgba(8, 24, 40, .1) 0%, rgba(10, 28, 45, .34) 42%, rgba(237, 244, 248, .88) 78%, #f7fafc 100%), var(--tenant-hero-background-image); background-position: center, center 62%; background-size: cover; }
.public-shortcuts .row { border-color: rgba(219, 229, 237, .9); box-shadow: 0 22px 55px rgba(20, 38, 58, .15); }
.public-shortcut { min-height: 6.55rem; }
.section-practical { background: linear-gradient(180deg, #f7fafc, #f2f6fa); border-top: 0; }
.info-card { background: rgba(255, 255, 255, .9); box-shadow: 0 12px 30px rgba(30, 48, 68, .045); transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.info-card:hover { border-color: color-mix(in srgb, var(--tenant-primary), #fff 72%); box-shadow: 0 16px 34px rgba(30, 48, 68, .1); transform: translateY(-2px); }
.public-featured-section { background: linear-gradient(180deg, #fff 0%, #f8fafc 100%); }
.homepage-highlight { background: #fff; padding: clamp(4.5rem, 8vw, 7rem) 0; position: relative; }
.homepage-highlight::before { background: color-mix(in srgb, var(--tenant-accent), transparent 87%); border-radius: 50%; content: ""; filter: blur(1px); height: 24rem; pointer-events: none; position: absolute; right: -10rem; top: -10rem; width: 24rem; }
.homepage-highlight .container { position: relative; }
@media (max-width: 991.98px) { .public-hero { min-height: 0; padding: 4.8rem 0 6.1rem; }.public-hero h1 { max-width: 14ch; }.public-hero.has-hero-background::before { background-image: linear-gradient(105deg, rgba(7, 22, 37, .9), rgba(10, 28, 44, .57)), var(--hero-background-image); background-position: center, center; } }
@media (max-width: 575.98px) { .public-hero { padding: 3.75rem 0 5.45rem; }.public-hero h1 { font-size: clamp(2.72rem, 12.2vw, 3.8rem); letter-spacing: -.055em; max-width: 11.5ch; }.public-hero.has-hero-background::before { background-image: linear-gradient(106deg, rgba(7, 22, 37, .9) 0%, rgba(10, 28, 44, .58) 54%, rgba(10, 28, 44, .12) 100%), var(--hero-background-image); background-position: center, 80% center; background-size: cover, auto 118%; }.public-hero-info { margin-top: .25rem; padding: 1.5rem; }.public-shortcuts { margin-top: -1.4rem; }.public-shortcut { min-height: 5.35rem; padding: 1rem 1.1rem; }.homepage-highlight { padding: 4.25rem 0; } }

/* Upravitelj privola: nenametljiv, ali čitljiv i spreman za mobilni prikaz. */
.privacy-notice { background: linear-gradient(145deg, #17334e 0%, #0d2034 100%); border: 1px solid rgba(220, 235, 246, .22); border-radius: 1.15rem; box-shadow: 0 22px 55px rgba(6, 18, 31, .34); max-width: 27.75rem; padding: 1.15rem; }
.privacy-notice .cookie-consent-summary { align-items: flex-start; display: flex; gap: .8rem; justify-content: flex-start; }
.privacy-notice .cookie-consent-icon { align-items: center; background: linear-gradient(145deg, color-mix(in srgb, var(--tenant-accent), #fff 18%), var(--tenant-primary)); border: 1px solid rgba(255, 255, 255, .28); border-radius: .72rem; box-shadow: 0 8px 18px rgba(0, 0, 0, .16); display: inline-flex; flex: 0 0 2.45rem; height: 2.45rem; justify-content: center; width: 2.45rem; }
.cookie-consent-icon svg { display: block; fill: #fff; height: 1.3rem; width: 1.3rem; }
.privacy-notice .cookie-consent-summary strong { color: #fff; font-size: .86rem; letter-spacing: -.01em; }
.privacy-notice .cookie-consent-summary p { color: #d8e4ed; font-size: .76rem; line-height: 1.48; margin: .18rem 0 0; }
.privacy-notice .cookie-consent-actions { display: grid; gap: .55rem; grid-template-columns: minmax(0, 1fr) minmax(0, 1.16fr); margin-top: 1rem; }
.privacy-notice .cookie-consent-actions .btn, .privacy-notice .cookie-consent-preferences .btn { align-items: center; border: 1px solid transparent; border-radius: .58rem; display: inline-flex; font-size: .72rem; font-weight: 800; justify-content: center; min-height: 2.45rem; padding: .55rem .7rem; }
.privacy-notice .cookie-consent-secondary { background: rgba(255, 255, 255, .08); border-color: rgba(221, 235, 246, .27) !important; color: #f5f9fc; }
.privacy-notice .cookie-consent-secondary:hover { background: rgba(255, 255, 255, .16); color: #fff; }
.privacy-notice .cookie-consent-primary { background: #fff; color: #15314d; }
.privacy-notice .cookie-consent-primary:hover { background: #e8f3fb; color: #102941; }
.privacy-notice .cookie-consent-settings { background: transparent !important; border: 0 !important; box-shadow: none !important; color: #c5d8e7; grid-column: 1 / -1; margin: 0; min-height: auto; padding: .08rem 0 0; text-align: center; text-decoration-color: rgba(197, 216, 231, .56); text-underline-offset: .18rem; }
.privacy-notice .cookie-consent-settings:hover { color: #fff; }
.privacy-notice .cookie-consent-preferences { border-color: rgba(220, 235, 246, .18); display: block; margin-top: 0; padding-top: 0; }
.privacy-notice .cookie-consent-preferences-heading { display: block; padding: .1rem 0 .75rem; }
.privacy-notice .cookie-consent-preferences-heading strong, .privacy-notice .cookie-consent-preferences-heading span { display: block; }
.privacy-notice .cookie-consent-preferences-heading strong { color: #fff; font-size: .82rem; }
.privacy-notice .cookie-consent-preferences-heading span { color: #cad9e5; font-size: .68rem; line-height: 1.4; margin-top: .15rem; }
.privacy-notice .cookie-consent-option { align-items: center; gap: .8rem; padding: .72rem 0; }
.privacy-notice .cookie-consent-option > div { align-items: initial; display: block; justify-content: initial; }
.privacy-notice .cookie-consent-required { background: rgba(132, 207, 170, .12); border: 1px solid rgba(132, 207, 170, .24); border-radius: 99px; color: #c9f0d8; padding: .25rem .42rem; }
.privacy-notice .cookie-consent-preferences-actions { display: flex; gap: .75rem; justify-content: space-between; margin-top: .85rem; }
.privacy-notice .cookie-consent-preferences-actions a { align-self: center; color: #c5d8e7; }
.privacy-notice .cookie-consent-preferences-actions .btn { flex: 0 0 auto; }
@media (max-width: 767.98px) { .privacy-notice { bottom: 4.8rem; left: .7rem; max-width: none; padding: 1rem; right: .7rem; width: auto; }.privacy-notice .cookie-consent-actions .btn { flex: initial; }.privacy-notice .cookie-consent-preferences-heading { padding-bottom: .45rem; }.privacy-notice .cookie-consent-option { padding: .48rem 0; }.privacy-notice .cookie-consent-option small { line-height: 1.28; }.privacy-notice .cookie-consent-preferences-actions { align-items: center; margin-top: .5rem; }.privacy-notice .cookie-consent-preferences-actions .btn { min-height: 2.15rem; width: auto; } }

/* Javni footer: stvarni završni informacijski centar, ne samo kontaktna traka. */
.site-footer { background: linear-gradient(137deg, #0b1d30 0%, #132b45 53%, #0a1929 100%); border-top: 1px solid rgba(188, 211, 228, .2); color: #edf4f8; isolation: isolate; overflow: hidden; padding: clamp(4.75rem, 8vw, 7rem) 0 1.4rem; position: relative; }
.site-footer::before { background-image: linear-gradient(rgba(223, 238, 247, .052) 1px, transparent 1px), linear-gradient(90deg, rgba(223, 238, 247, .052) 1px, transparent 1px); background-size: 52px 52px; content: ""; inset: 0; opacity: .48; pointer-events: none; position: absolute; }
.site-footer-glow { background: radial-gradient(circle, color-mix(in srgb, var(--tenant-accent), transparent 62%) 0%, transparent 67%); height: 36rem; pointer-events: none; position: absolute; right: -13rem; top: -16rem; width: 36rem; }
.site-footer-top { display: grid; gap: 3rem; grid-template-columns: minmax(14rem, 1.15fr) minmax(11rem, .68fr) minmax(15rem, .96fr); padding-bottom: clamp(3rem, 6vw, 5rem); }
.footer-identity { max-width: 27rem; }
.footer-brand { align-items: center; color: #fff; display: inline-flex; gap: .9rem; text-decoration: none; }
.footer-brand:hover { color: #fff; }
.footer-brand img, .footer-brand-mark { background: rgba(255, 255, 255, .11); border: 1px solid rgba(255, 255, 255, .2); border-radius: .9rem; box-shadow: 0 12px 24px rgba(0, 0, 0, .14); height: 3rem; object-fit: cover; width: 3rem; }
.footer-brand-mark { align-items: center; background: linear-gradient(145deg, color-mix(in srgb, var(--tenant-primary), white 12%), color-mix(in srgb, var(--tenant-primary), #000 26%)); display: inline-flex; justify-content: center; }
.footer-brand-mark svg { fill: #fff; height: 1.35rem; width: 1.35rem; }
.footer-brand small, .footer-brand strong { display: block; }
.footer-brand small { color: #a9c1d0; font-size: .66rem; font-weight: 800; letter-spacing: .13em; margin-bottom: .22rem; text-transform: uppercase; }
.footer-brand strong { font-family: "Fraunces", Georgia, serif; font-size: clamp(1.16rem, 2vw, 1.45rem); font-weight: 600; letter-spacing: -.035em; line-height: 1.08; }
.footer-identity > p { color: #c3d3de; font-size: .91rem; line-height: 1.75; margin: 1.55rem 0 1.35rem; }
.footer-main-action { align-items: center; border-bottom: 1px solid rgba(223, 238, 247, .36); color: #fff; display: inline-flex; font-size: .82rem; font-weight: 800; gap: .55rem; padding: 0 0 .45rem; text-decoration: none; transition: border-color .18s ease, color .18s ease, gap .18s ease; }
.footer-main-action:hover { border-color: var(--tenant-accent); color: var(--tenant-accent); gap: .75rem; }
.footer-heading { color: #91afc1; font-size: .66rem; font-weight: 800; letter-spacing: .14em; margin: .25rem 0 1rem; text-transform: uppercase; }
.footer-navigation ul { list-style: none; margin: 0; padding: 0; }
.footer-navigation li + li { margin-top: .57rem; }
.footer-navigation a { align-items: center; color: #e7f0f5; display: inline-flex; font-size: .86rem; font-weight: 650; gap: .42rem; text-decoration: none; transition: color .18s ease, gap .18s ease; }
.footer-navigation a span { color: #86aabb; font-size: .85rem; }
.footer-navigation a:hover { color: var(--tenant-accent); gap: .63rem; }
.footer-detail-list { display: grid; gap: .85rem; }
.footer-detail-list > div { align-items: flex-start; display: flex; gap: .65rem; }
.footer-detail-icon { align-items: center; background: rgba(204, 226, 239, .1); border: 1px solid rgba(204, 226, 239, .15); border-radius: .45rem; color: #b9d3e1; display: inline-flex; flex: 0 0 1.75rem; font-size: .86rem; height: 1.75rem; justify-content: center; margin-top: .08rem; }
.footer-detail-list p { color: #d6e2e9; font-size: .79rem; line-height: 1.5; margin: 0; }
.footer-detail-list strong { color: #91afc1; display: block; font-size: .62rem; font-weight: 800; letter-spacing: .09em; margin-bottom: .13rem; text-transform: uppercase; }
.footer-detail-list a { color: #fff; font-weight: 700; text-decoration-color: rgba(255, 255, 255, .45); text-underline-offset: .17rem; }
.footer-detail-list a:hover { color: var(--tenant-accent); }
.site-footer-bottom { align-items: center; border-top: 1px solid rgba(213, 231, 242, .16); display: flex; gap: 1rem; justify-content: space-between; padding-top: 1.25rem; }
.site-footer-bottom p { color: #96adbc; font-size: .7rem; margin: 0; }
.site-footer-bottom > div { display: flex; flex-wrap: wrap; gap: 1rem; }
.site-footer-bottom a { color: #b8cad5; font-size: .7rem; font-weight: 700; text-decoration: none; }
.site-footer-bottom a:hover { color: #fff; }
@media (max-width: 991.98px) { .site-footer-top { grid-template-columns: minmax(15rem, 1fr) minmax(13rem, .85fr); }.footer-details { grid-column: 1 / -1; }.footer-detail-list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 575.98px) { .site-footer { padding-top: 4rem; }.site-footer-top { gap: 2.25rem; grid-template-columns: 1fr; }.footer-details { grid-column: auto; }.footer-detail-list { grid-template-columns: 1fr; }.site-footer-bottom { align-items: flex-start; flex-direction: column; gap: .75rem; }.site-footer-bottom > div { gap: .8rem 1rem; }.footer-brand strong { max-width: 13rem; } }
