/* latin-ext */
@font-face {
  font-family: 'Crimson Pro';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/q5uSsoa5M_tv7IihmnkabAReu49Y_Bo-HVKMBi6Ue6syfNGIyQ.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Crimson Pro';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/q5uSsoa5M_tv7IihmnkabAReu49Y_Bo-HVKMBi6Ue6s8fNE.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Crimson Pro';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/q5uDsoa5M_tv7IihmnkabARVoYFoCQ.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Crimson Pro';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/q5uDsoa5M_tv7IihmnkabARboYE.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Crimson Pro';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/q5uDsoa5M_tv7IihmnkabARVoYFoCQ.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Crimson Pro';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/q5uDsoa5M_tv7IihmnkabARboYE.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Crimson Pro';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/q5uDsoa5M_tv7IihmnkabARVoYFoCQ.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Crimson Pro';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/q5uDsoa5M_tv7IihmnkabARboYE.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
.landmark-layout { display:grid; grid-template-columns:minmax(0, 3fr) minmax(180px, 1fr); gap:30px; }
.landmark-sidebar { grid-column:2; grid-row:1; min-width:0; overflow-wrap:anywhere; }
.landmark-results { grid-column:1; grid-row:1; min-width:0; }
.landmark-cards { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:30px; }
.landmark-card { min-width:0; overflow-wrap:anywhere; }
.landmark-banner { background:#032e56; text-align:center; padding:14px 16px; line-height:0; }
.landmark-banner img { display:block; width:100%; max-width:634px; height:auto; margin:0 auto; }
.landmark-list { background:#fff; color:#292f2d; }
.landmark-list h1 { margin-bottom:32px; }
.landmark-list :is(h1, h2, h3), .landmark-detail :is(h1, h2, h3, h4, h5, h6) { color:#032e56; }
.landmark-list a, .landmark-list a:is(:hover, :focus, :active) { color:#032e56; }
.landmark-list a:hover { text-decoration:underline; }
.landmark-list :is(a, input, button):focus-visible { outline:3px solid #032e56; outline-offset:3px; }
.landmark-list .landmark-card { border:1px solid #d3dce7; background:#fff; }
.landmark-list .landmark-card img { display:block; width:100%; aspect-ratio:3 / 2; height:auto; object-fit:contain; background:#f1f4f2; }
.landmark-list .landmark-card h2 { font-size:20px; line-height:1.5; margin-bottom:16px; }
.landmark-list .landmark-card p { font-size:16px; line-height:1.5; margin-bottom:24px; }
:is(.landmark-list, .landmark-detail) .landmark-sidebar :is(label, h2) { display:block; color:#292f2d; font-size:18px; font-weight:700; line-height:1.5; border-bottom:3px solid #f29a1a; padding-bottom:10px; margin-bottom:16px; }
:is(.landmark-list, .landmark-detail) .landmark-sidebar li { margin-bottom:12px; }
:is(.landmark-list, .landmark-detail) .landmark-sidebar input { padding:10px; border:1px solid #63736b; color:#292f2d; background:#fff; }
:is(.landmark-list, .landmark-detail) .landmark-sidebar button { padding:10px 16px; border:1px solid #032e56; color:#fff; background:#032e56; cursor:pointer; }
:is(.landmark-list, .landmark-detail) .landmark-sidebar button:hover { border-color:#021f3b; background:#021f3b; }
.landmark-list .landmark-pager a { display:inline-block; padding:8px; }
@media (max-width:767.98px) {
    .landmark-list.container { padding-left:16px; padding-right:16px; }
}
.landmark-sidebar form { display:flex; flex-direction:column; gap:10px; margin-bottom:25px; }
.landmark-sidebar input { min-width:0; width:100%; }
.landmark-sidebar .active, .landmark-pager [aria-current] { font-weight:bold; text-decoration:underline; }
.landmark-pager { display:flex; flex-wrap:wrap; gap:16px; margin-top:30px; }
@media (max-width:767.98px) {
    .landmark-layout { display:flex; flex-direction:column; }
    .landmark-cards { grid-template-columns:minmax(0, 1fr); }
}
.landmark-detail { overflow-wrap:anywhere; background:#fff; color:#292f2d; }
.landmark-detail h1 { text-align:center; margin-bottom:24px; }
.landmark-detail .landmark-hero { display:block; width:auto; max-width:100%; height:auto; margin:0 auto 32px; }
.landmark-detail .landmark-content-card { min-width:0; padding:0; border:1px solid #d3dce7; background:#fff; }
/* The hero image sits flush on the frame; only the text below is inset. */
.landmark-detail .landmark-content-card .landmark-hero { width:100%; max-width:100%; margin:0; }
.landmark-detail .landmark-content-card .landmark-body { padding:24px; }
.landmark-detail .landmark-body { box-sizing:border-box; min-width:0; width:100%; margin-left:auto; margin-right:auto; font-size:16px; line-height:1.5; text-align:left; }
.landmark-detail .landmark-body :is(p, ul, ol) { margin-bottom:24px; }
.landmark-detail .landmark-body :is(h2, h3, h4, h5, h6) { margin-top:32px; margin-bottom:16px; line-height:1.5; color:#032e56; }
.landmark-detail a, .landmark-detail a:is(:hover, :focus, :active) { color:#032e56; text-decoration:underline; }
.landmark-detail :is(a, input, button):focus-visible { outline:3px solid #032e56; outline-offset:3px; }
.landmark-detail .landmark-detail-layout { display:grid; grid-template-columns:minmax(0, 1fr); gap:30px; }
.landmark-detail .landmark-main { min-width:0; }
.landmark-detail .landmark-detail-sidebar { grid-column:auto; grid-row:auto; }
.landmark-detail .landmark-assigned-tags { margin-bottom:32px; }
.landmark-detail .landmark-assigned-tags .landmark-tags { margin-top:0; }
/* Prose is justified even when an editor alignment was saved; captions and tables retain their own alignment. */
.landmark-detail .landmark-body p:not(table p):not(figure p) { text-align:justify !important; text-align-last:left; }
@media (min-width:992px) {
    .landmark-detail .landmark-detail-layout { grid-template-columns:minmax(0, 3fr) minmax(180px, 1fr); }
}
.landmark-detail :is(.landmark-map, .landmark-tags) { margin-top:32px; }
@media (max-width:767.98px) {
    .landmark-detail.container { padding-left:16px; padding-right:16px; }
    .landmark-detail .landmark-content-card .landmark-body { padding:16px; }
}
.landmark-body table { display:block; max-width:100%; overflow-x:auto; }
.landmark-tags { margin-top:25px; padding-left:0; }
.landmark-map { margin-top:25px; }
.landmark-map iframe { display:block; width:100%; max-width:100%; height:350px; border:0; }
.landmark-body img { display:block; max-width:100%; height:auto; }
.landmark-body figure { max-width:100%; margin:20px 0; }
/* Block images are centered, as in the editor (the editor's own content CSS does this there). */
.landmark-body figure.image { display:table; margin:20px auto; }
/* Editor image resizing: the width is a percentage set on the figure (or on an inline image). */
.landmark-body { display:flow-root; }
.landmark-body figure.image_resized { box-sizing:border-box; margin-left:auto; margin-right:auto; }
.landmark-body figure.image_resized img { width:100%; }
.landmark-body figure.image-style-side { float:right; max-width:50%; margin:20px 0 20px 20px !important; }
@media (max-width:575.98px) {
.landmark-body figure.image-style-side { float:none; max-width:100%; margin:20px 0 !important; }
}
.landmark-body figcaption { text-align:center; padding-top:8px; font-size:0.8em; font-style:italic; line-height:1.4; color:#032e56; }
/* Share and print actions: a framed, clearly separated block between the content and the back link. */
.landmark-detail .landmark-share { box-sizing:border-box; clear:both; margin-top:40px; padding:24px; border:1px solid #d3dce7; border-top:4px solid #032e56; background:#f3f6fa; }
.landmark-detail .landmark-share h2 { margin:0 0 16px; font-size:18px; font-weight:700; line-height:1.5; color:#292f2d; }
.landmark-share-actions { display:flex; flex-wrap:wrap; gap:12px; margin:0 0 8px; padding:0; }
.landmark-share-actions li { display:flex; margin:0; min-width:0; }
.landmark-detail .landmark-share .landmark-share-action { box-sizing:border-box; position:relative; display:inline-flex; align-items:center; justify-content:center; width:48px; height:48px; padding:0; border:1px solid #032e56; background:#fff; color:#032e56; font-size:20px; line-height:1; text-align:center; text-decoration:none; cursor:pointer; }
.landmark-detail .landmark-share .landmark-share-action:is(:hover, :focus-visible, :active) { border-color:#021f3b; background:#032e56; color:#fff; text-decoration:none; }
.landmark-share-action .fa { display:block; font-size:20px; line-height:1; }
.landmark-detail .landmark-back { margin:0 0 16px; }
.landmark-detail .landmark-share ~ .landmark-back { margin:24px 0 0; }
.landmark-detail .landmark-back a { display:inline-flex; align-items:center; gap:8px; min-height:44px; font-weight:600; text-decoration:none; }
.landmark-detail .landmark-back a:is(:hover, :focus, :active) { text-decoration:none; }
.landmark-detail .landmark-back a:is(:hover, :focus-visible) span { text-decoration:underline; }
.landmark-detail .landmark-back .fa { font-size:24px; line-height:1; }
.landmark-share-sr { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.landmark-share-manual { margin-bottom:16px; }
.landmark-share-manual label { display:block; margin-bottom:8px; font-weight:700; }
.landmark-share-manual input { box-sizing:border-box; display:block; width:100%; min-height:44px; padding:10px; border:1px solid #63736b; background:#fff; color:#292f2d; font-size:16px; }
.landmark-share-manual p { margin:8px 0 0; font-size:16px; line-height:1.5; }
.landmark-share-status { min-height:1.5em; margin:0; font-weight:600; line-height:1.5; color:#021f3b; }
/* Printing is a separate utility: set apart by spacing and a rule, not by colour alone. */
@supports selector(:has(*)) {
.landmark-share-print:has(button:not([hidden])) { margin-top:16px; padding-top:16px; border-top:1px solid #c5d0dc; }
}
@supports not selector(:has(*)) {
.landmark-share-print { margin-top:16px; padding-top:16px; border-top:1px solid #c5d0dc; }
}
@media (max-width:575.98px) {
.landmark-detail .landmark-share { padding:16px; }
}
@media print {
.landmark-detail .landmark-share, .landmark-detail .landmark-back, .landmark-detail .landmark-detail-sidebar, .landmark-detail .landmark-map { display:none !important; }
body:has(.landmark-detail) footer { display:none !important; }
.landmark-detail .landmark-detail-layout { display:block; }
.landmark-detail .landmark-content-card { padding:0; border:0; }
.landmark-detail .landmark-content-card .landmark-body { padding:0; }
.landmark-detail .landmark-content-card .landmark-hero { margin-bottom:24px; }
.landmark-detail .landmark-body :is(figure, img, table, h2, h3, h4) { break-inside:avoid; }
.landmark-detail .landmark-body :is(h2, h3, h4) { break-after:avoid; }
}

/* Top-bar language switcher (layouts/main.php, <details>): no native disclosure triangle, like the dropdown on the other pages. */
.landmark-language-dropdown > summary { list-style:none; }
.landmark-language-dropdown > summary::marker { content:''; }
.landmark-language-dropdown > summary::-webkit-details-marker { display:none; }

/* Typography: Crimson Pro for headings and text (self-hosted, latin + latin-ext covers Hungarian and Serbian Latin). */
.landmark-list, .landmark-detail { font-family:'Crimson Pro', Georgia, 'Times New Roman', serif; }
.landmark-list :is(h1, h2, h3), .landmark-detail :is(h1, h2, h3, h4, h5, h6) { font-family:'Crimson Pro', Georgia, 'Times New Roman', serif; font-weight:700; }
.landmark-list .landmark-card p, .landmark-detail .landmark-body { font-size:20px; line-height:1.6; }
