/* Murisium-specific dimensions for the shared country article primitives. */
.murisium-country {
  --country-wrap-width: min(calc(100% - 3rem), 1280px);
  --country-wrap-padding: clamp(2.5rem, 5vw, 5rem) 0 5.5rem;
  --country-hero-columns: minmax(0, 1fr) minmax(360px, .9fr);
  --country-hero-gap: clamp(2.5rem, 6vw, 6rem);
  --country-hero-padding-bottom: clamp(3rem, 6vw, 5.25rem);
  --country-map-min-height: 360px;
  --country-map-padding: clamp(1rem, 2vw, 1.65rem);
  --country-map-frame-border: 1px solid var(--theme-rule-strong);
  --country-map-frame-background: var(--theme-paper-light);
  --country-map-frame-shadow: .65rem .65rem 0 var(--theme-shadow);
  --country-map-max-height: 590px;
  --country-map-object-fit: contain;
  --country-facts-columns: repeat(4, minmax(0, 1fr));
  --country-fact-min-height: 102px;
  --country-fact-padding: 1rem 1.1rem 1.1rem;
  --country-fact-value-size: .96rem;
}

.murisium-hero-copy { max-width: 680px; }
.country-kicker, .settlement-type { margin: 0 0 .7rem; color: var(--theme-accent); font: 800 .68rem Arial, Helvetica, sans-serif; letter-spacing: .14em; text-transform: uppercase; }
.murisium-hero h1, .murisium-country .country-section h2, .murisium-country h3 { margin: 0; color: var(--theme-ink); font-family: Georgia, "Times New Roman", serif; font-weight: 400; }
.murisium-hero h1 { font-size: clamp(4.25rem, 8vw, 8rem); letter-spacing: -.055em; line-height: .86; }
.country-subtitle { margin: 1.25rem 0 1.55rem; color: var(--theme-accent); font-size: clamp(1.16rem, 2vw, 1.62rem); font-style: italic; line-height: 1.35; }
.murisium-hero-copy > p:not(.country-kicker):not(.country-subtitle), .country-prose p, .country-card p, .settlement-card p, .religion-grid p, .history-list p { color: var(--theme-muted); font-size: 1.02rem; line-height: 1.7; }
.murisium-hero-copy > p:not(.country-kicker):not(.country-subtitle) { margin: 0 0 1rem; }

.murisium-country .country-section { border-top: 1px solid var(--theme-rule); }
.country-profile { padding: 2.2rem 0 2.8rem; }
.country-section-heading { margin-bottom: 1.7rem; }
.country-section-heading .country-kicker { margin-bottom: .6rem; }
.murisium-country .country-section h2 { font-size: clamp(2.25rem, 4vw, 4rem); letter-spacing: -.042em; line-height: .96; }
.country-layout { display: grid; grid-template-columns: minmax(0, 1fr) 205px; gap: clamp(2.5rem, 6vw, 6rem); align-items: start; }
.country-article { min-width: 0; }
.country-article > .country-section { padding: clamp(2.85rem, 5vw, 4.7rem) 0; }
.country-prose { max-width: 860px; }
.country-prose-wide { max-width: 885px; }
.country-prose p { margin: 0 0 1.1rem; }
.country-prose > :last-child { margin-bottom: 0; }
.country-columns { display: grid; max-width: none; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 2.55rem; }

.institution-grid, .settlement-grid, .religion-grid, .related-articles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--theme-rule-strong); border-left: 1px solid var(--theme-rule-strong); }
.country-card, .settlement-card, .religion-grid > section, .related-articles > a { min-width: 0; padding: 1.35rem 1.3rem 1.45rem; border-right: 1px solid var(--theme-rule-strong); border-bottom: 1px solid var(--theme-rule-strong); }
.country-card h3, .settlement-card h3, .religion-grid h3 { font-size: clamp(1.4rem, 2vw, 1.92rem); line-height: 1; }
.country-card p, .settlement-card p, .religion-grid p { margin: .78rem 0 0; font-size: .91rem; line-height: 1.58; }
.settlement-card { min-height: 214px; }
.settlement-type { margin-bottom: 1.05rem; }
.settlement-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }

.history-list { display: grid; border-top: 1px solid var(--theme-rule-strong); }
.history-list > section { display: grid; grid-template-columns: minmax(185px, .32fr) minmax(0, 1fr); gap: 2rem; padding: 1.4rem 0; border-bottom: 1px solid var(--theme-rule); }
.history-list h3 { font-size: clamp(1.4rem, 2.1vw, 1.98rem); line-height: 1.04; }
.history-list p { margin: 0; }
.country-related { padding-bottom: 0 !important; }
.related-articles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.related-articles > a { display: grid; gap: .5rem; color: var(--theme-ink); text-decoration: none; }
.related-articles > a:hover { color: var(--theme-paper-light); background: var(--theme-ink); }
.related-articles strong { font-size: 1.18rem; font-weight: 400; }
.related-articles span { color: var(--theme-muted); font-size: .89rem; line-height: 1.42; }
.related-articles > a:hover span { color: inherit; opacity: .78; }

.country-contents { position: sticky; top: 5.3rem; padding: 1.15rem 0 1.15rem 1.15rem; border-left: 1px solid var(--theme-rule-strong); font-family: Arial, Helvetica, sans-serif; }
.country-contents strong { color: var(--theme-accent); font-size: .66rem; letter-spacing: .12em; text-transform: uppercase; }
.country-contents ol { display: grid; gap: .6rem; margin: 1rem 0 0; padding: 0; list-style: none; }
.country-contents a { color: var(--theme-muted); font-size: .76rem; font-weight: 700; line-height: 1.3; text-decoration: none; }
.country-contents a:hover { color: var(--theme-accent); }

@media (max-width: 1020px) {
  .murisium-country { --country-hero-columns: minmax(0, 1fr) minmax(315px, .8fr); --country-hero-gap: 3rem; --country-facts-columns: repeat(2, minmax(0, 1fr)); }
  .country-layout { grid-template-columns: minmax(0, 1fr) 180px; gap: 2.5rem; }
}
@media (max-width: 760px) {
  .murisium-country { --country-wrap-width: min(calc(100% - 2rem), 1280px); --country-wrap-padding: 2.35rem 0 5.5rem; --country-hero-columns: 1fr; --country-hero-gap: 2.15rem; --country-map-min-height: 0; }
  .country-layout { grid-template-columns: 1fr; }
  .country-columns { grid-template-columns: 1fr; gap: 0; }
  .country-contents { position: static; order: -1; padding: 1.1rem 0; border-left: 0; border-top: 1px solid var(--theme-rule); border-bottom: 1px solid var(--theme-rule); }
  .country-contents ol { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem 1.1rem; }
  .institution-grid, .religion-grid, .settlement-grid { grid-template-columns: 1fr; }
  .history-list > section { grid-template-columns: 1fr; gap: .75rem; }
}
@media (max-width: 520px) {
  .murisium-hero h1 { font-size: clamp(3.55rem, 18vw, 5.2rem); }
  .murisium-country { --country-facts-columns: 1fr; }
  .related-articles, .country-contents ol { grid-template-columns: 1fr; }
}
