:root{
  --ud-bg:#050b0a;
  --ud-panel:rgba(7,18,15,.88);
  --ud-text:#e9e1d2;
  --ud-muted:#aaa294;
  --ud-green:#91ad68;
  --ud-gold:#d0aa35;
  --ud-border:rgba(162,194,125,.18);
  --ud-border-soft:rgba(255,255,255,.08);
  --ud-serif:Georgia,'Times New Roman',serif;
  --ud-sans:Inter,Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ud-bg);color:var(--ud-text);font-family:var(--ud-sans)}
.ud-page{min-height:100vh;background:radial-gradient(circle at 50% 0%,rgba(88,113,64,.13),transparent 36%),linear-gradient(180deg,#07100f 0%,#050b0a 58%,#020605 100%)}
.ud-wrap{width:min(1180px,calc(100% - 48px));margin:0 auto}

/* HEADER */
.ud-header{position:sticky;top:0;z-index:1000;background:rgba(4,10,9,.9);border-bottom:1px solid var(--ud-border-soft);backdrop-filter:blur(16px)}
.ud-header-inner{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.ud-logo{flex:0 0 auto;color:var(--ud-text);text-decoration:none;font-family:var(--ud-serif);font-size:clamp(28px,3vw,42px);letter-spacing:.12em;line-height:.9;white-space:nowrap}
.ud-logo span{display:block;margin-top:8px;color:var(--ud-green);font-size:12px;letter-spacing:.34em;text-align:center}
.ud-desktop-nav{display:flex;align-items:center;justify-content:flex-end;gap:clamp(18px,3vw,46px);flex:1}
.ud-desktop-nav a,.ud-language-toggle,.ud-mobile-menu a,.ud-footer-nav a{color:var(--ud-text);text-decoration:none}
.ud-desktop-nav a{position:relative;font-size:15px}
.ud-desktop-nav a:hover,.ud-desktop-nav a.is-active,.ud-language-toggle:hover,.ud-mobile-menu a:hover,.ud-footer-nav a:hover{color:var(--ud-gold)}
.ud-desktop-nav a.is-active::after{content:"";position:absolute;left:50%;bottom:-27px;width:62px;height:2px;transform:translateX(-50%);background:linear-gradient(90deg,transparent,var(--ud-gold),transparent);box-shadow:0 0 16px rgba(208,170,53,.7)}
.ud-language{position:relative}.ud-language-toggle{display:inline-flex;gap:5px;padding:10px 2px;font-size:15px}
.ud-language-menu{position:absolute;right:0;top:calc(100% + 8px);min-width:124px;padding:8px;border:1px solid var(--ud-border);border-radius:10px;background:rgba(5,12,11,.98);box-shadow:0 24px 70px rgba(0,0,0,.52);opacity:0;visibility:hidden;transform:translateY(-6px);transition:.18s}
.ud-language:hover .ud-language-menu,.ud-language:focus-within .ud-language-menu{opacity:1;visibility:visible;transform:translateY(0)}
.ud-language-menu a{display:block;padding:9px 10px;border-radius:6px;color:var(--ud-text);text-decoration:none}
.ud-language-menu a:hover{background:rgba(145,173,104,.14);color:var(--ud-green)}
.ud-burger{display:none;width:46px;height:46px;padding:0;border:1px solid var(--ud-border);border-radius:10px;background:rgba(255,255,255,.04);cursor:pointer;position:relative}
.ud-burger span{position:absolute;left:12px;right:12px;height:2px;background:var(--ud-text);border-radius:2px;transition:.22s}
.ud-burger span:nth-child(1){top:14px}.ud-burger span:nth-child(2){top:22px}.ud-burger span:nth-child(3){top:30px}
body.ud-menu-open .ud-burger span:nth-child(1){top:22px;transform:rotate(45deg)}
body.ud-menu-open .ud-burger span:nth-child(2){opacity:0}
body.ud-menu-open .ud-burger span:nth-child(3){top:22px;transform:rotate(-45deg)}
.ud-mobile-overlay{position:fixed;inset:0;z-index:999;display:none;background:rgba(0,0,0,.58)}
.ud-mobile-menu{position:fixed;top:74px;left:0;right:0;z-index:1001;display:none;border-top:1px solid var(--ud-border-soft);border-bottom:1px solid var(--ud-border);background:radial-gradient(circle at 50% 0%,rgba(86,116,65,.18),transparent 42%),rgba(5,12,11,.98);box-shadow:0 28px 80px rgba(0,0,0,.58)}
.ud-mobile-menu-inner{width:min(720px,calc(100% - 32px));margin:0 auto;padding:24px 0 28px}
.ud-mobile-links{display:grid}
.ud-mobile-links a{display:block;padding:15px 4px;border-bottom:1px solid var(--ud-border-soft);font-family:var(--ud-serif);font-size:24px;letter-spacing:.08em}
.ud-mobile-language{padding-top:22px}.ud-mobile-language-title{margin-bottom:10px;color:var(--ud-muted);font-size:12px;text-transform:uppercase;letter-spacing:.16em}
.ud-mobile-language-list{display:flex;gap:10px;flex-wrap:wrap}
.ud-mobile-language-list a{min-width:64px;display:inline-flex;justify-content:center;padding:10px 14px;border:1px solid var(--ud-border);border-radius:999px;background:rgba(145,173,104,.08);font-size:14px;letter-spacing:.1em}
.ud-mobile-language-list a.is-active{background:rgba(145,173,104,.22);color:#fff}
body.ud-menu-open{overflow:hidden}
body.ud-menu-open .ud-mobile-overlay,body.ud-menu-open .ud-mobile-menu{display:block}

/* HERO */
.ud-hero{
  position:relative;
  min-height:650px;
  display:flex;
  align-items:flex-end;
  overflow:hidden;
  background:
    linear-gradient(90deg,rgba(5,11,10,.92),rgba(5,11,10,.34) 50%,rgba(5,11,10,.74)),
    linear-gradient(180deg,rgba(5,11,10,.02),rgba(5,11,10,.96)),
    url('assets/images/settlement-vorony.jpg');
  background-size:cover;
  background-position:center center;
}
.ud-hero::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,transparent 0%,rgba(5,11,10,.16) 56%,rgba(5,11,10,.94) 100%);pointer-events:none}
.ud-hero-inner{position:relative;z-index:2;padding:34px 0 58px}
.ud-breadcrumbs{margin-bottom:88px;color:rgba(233,225,210,.58);font-size:14px}
.ud-breadcrumbs a{color:rgba(233,225,210,.58);text-decoration:none}
.ud-breadcrumbs a:hover{color:var(--ud-gold)}
.ud-hero h1{margin:0;font-family:var(--ud-serif);font-size:clamp(58px,8vw,104px);font-weight:400;line-height:.96;letter-spacing:.12em}
.ud-lead{max-width:620px;margin:22px 0 0;color:var(--ud-green);font-family:var(--ud-serif);font-size:clamp(24px,3vw,34px);line-height:1.25}
.ud-sublead{max-width:620px;margin:22px 0 0;color:var(--ud-text);font-size:17px;line-height:1.65}

/* META — like hero ud-stats */
.ud-meta-strip{margin-top:32px;padding-top:28px;border:0;border-top:1px solid var(--ud-border-soft);border-radius:0;background:transparent;backdrop-filter:none;overflow:visible}
.ud-meta-grid{display:grid;grid-template-columns:repeat(6,1fr)}
.ud-meta-item{display:block;text-align:center;padding:0 12px;border-right:1px solid var(--ud-border-soft)}
.ud-meta-item:last-child{border-right:0}
.ud-meta-icon{width:auto;height:auto;display:block;border:0;border-radius:0;color:var(--ud-green);font-size:24px;line-height:1;margin:0 0 10px}
.ud-meta-item small{display:block;color:rgba(233,225,210,.54);text-transform:uppercase;letter-spacing:.12em;font-size:11px;margin-bottom:5px}
.ud-meta-item strong{display:block;font-weight:500;color:#fff;line-height:1.35}

/* MAIN */
.ud-main{padding:18px 0 0}
.ud-panel{border:1px solid var(--ud-border);border-radius:10px;background:radial-gradient(circle at 0 0,rgba(145,173,104,.08),transparent 34%),rgba(7,18,15,.82);box-shadow:0 24px 80px rgba(0,0,0,.22)}
.ud-h2{margin:0 0 20px;font-family:var(--ud-serif);font-size:27px;font-weight:400;letter-spacing:.09em}
.ud-text{color:#d8d1c2;line-height:1.75}

/* LAYOUT */
.ud-settlement-layout{display:grid;grid-template-columns:.92fr 1.08fr;gap:14px;margin-top:14px;align-items:start}
.ud-settlement-main,.ud-settlement-side{display:grid;gap:14px;align-content:start}
.ud-about,.ud-map-panel{padding:26px}
.ud-map-panel{align-self:start}
.ud-quote-card{margin-top:22px;padding:22px 28px;border:1px solid rgba(145,173,104,.22);border-radius:8px;background:rgba(145,173,104,.06);color:var(--ud-green);font-family:var(--ud-serif);line-height:1.65}
.ud-map{
  position:relative;
  min-height:310px;
  border:1px solid var(--ud-border);
  border-radius:8px;
  overflow:hidden;
  background:#06100e;
  cursor:grab;
  user-select:none;
  touch-action:none;
}
.ud-map.is-dragging{cursor:grabbing}
.ud-map-layer{
  position:absolute;
  inset:0;
  background:url('assets/images/map.png') center/cover no-repeat;
  transform:translate(var(--map-x,0px),var(--map-y,0px)) scale(var(--map-zoom,1));
  transform-origin:center center;
  transition:transform .12s ease;
}
.ud-map-pin{
  position:absolute;
  left:80%;
  top:7%;
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
  border:2px solid var(--ud-gold);
  border-radius:50%;
  background:rgba(5,11,10,.72);
  color:var(--ud-gold);
  font-size:24px;
  box-shadow:0 0 30px rgba(208,170,53,.28);
  transform:translate(-50%,-50%) scale(var(--pin-scale,1));
  transform-origin:center center;
}
.ud-map-pin span{position:relative;z-index:2;line-height:1}
.ud-map-pin:hover{border-color:#fff;color:#fff}
.ud-map-pin::after{
  content:"";
  position:absolute;
  left:50%;
  top:100%;
  width:2px;
  height:20px;
  transform:translateX(-50%);
  background:linear-gradient(180deg,var(--ud-gold),transparent);
}
.ud-map-controls{position:absolute;right:12px;bottom:12px;display:grid;gap:8px;z-index:4}
.ud-map-controls button{
  width:38px;
  height:38px;
  border:1px solid var(--ud-border);
  border-radius:6px;
  background:rgba(5,11,10,.82);
  color:#fff;
  cursor:pointer;
}
.ud-map-controls button:hover{color:var(--ud-gold);border-color:rgba(208,170,53,.55)}
.ud-map-zoom-label,
.ud-map-position-label{
  position:absolute;
  z-index:4;
  padding:6px 9px;
  border:1px solid var(--ud-border);
  border-radius:6px;
  background:rgba(5,11,10,.76);
  color:var(--ud-muted);
  font-size:12px;
  line-height:1.2;
  pointer-events:none;
}
.ud-map-zoom-label{left:12px;bottom:12px}
.ud-map-position-label{left:12px;top:12px;color:var(--ud-green);letter-spacing:.04em}

/* GALLERY / LOCATIONS */
.ud-gallery,.ud-key-locations{padding:22px}
.ud-gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.ud-gallery-img{display:block;min-height:104px;border:1px solid var(--ud-border);border-radius:7px;background-image:var(--gal-img);background-size:cover;background-position:center;background-repeat:no-repeat}
.ud-gallery-link{margin-top:10px;display:block;text-align:center;padding:10px;border:1px solid var(--ud-border);border-radius:7px;color:var(--ud-text);text-decoration:none}
.ud-gallery-link:hover{color:var(--ud-green)}
.ud-location-list{display:grid;gap:12px}
.ud-location-link{display:grid;grid-template-columns:34px 1fr 24px;gap:12px;align-items:start;padding:11px;border-bottom:1px solid var(--ud-border-soft);color:var(--ud-text);text-decoration:none}
.ud-location-link:hover{color:var(--ud-green)}
.ud-location-link b{color:var(--ud-gold)}
.ud-location-link strong{display:block;color:var(--ud-green);font-weight:500;margin-bottom:4px}
.ud-location-link span{color:var(--ud-muted);font-size:13px}

/* PEOPLE */
.ud-people{margin-top:14px;padding:22px}
.ud-people-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.ud-people-card{overflow:hidden;border:1px solid var(--ud-border);border-radius:8px;background:rgba(5,12,11,.6)}
.ud-people-img{height:150px;background-image:var(--people-img);background-size:contain;background-position:center top;background-repeat:no-repeat;background-color:rgba(3,8,7,.68)}
.ud-people-body{padding:14px}
.ud-people-body h3{margin:0 0 4px;font-weight:500}
.ud-people-body small{display:block;color:var(--ud-green);margin-bottom:10px}
.ud-people-body p{margin:0;color:var(--ud-muted);font-size:13px;line-height:1.5}

/* TIMELINE */
.ud-history{margin-top:14px;padding:26px}
.ud-timeline{position:relative;display:grid;grid-template-columns:repeat(5,1fr);gap:18px;padding-top:32px}
.ud-timeline::before{content:"";position:absolute;top:13px;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--ud-green),transparent)}
.ud-event{position:relative;text-align:center}
.ud-event::before{content:"";position:absolute;top:-25px;left:50%;width:12px;height:12px;transform:translateX(-50%) rotate(45deg);border:1px solid var(--ud-green);background:#07100f}
.ud-event strong{display:block;color:var(--ud-green);font-weight:500;margin-bottom:5px}
.ud-event small{display:block;color:var(--ud-gold);margin-bottom:8px}
.ud-event p{margin:0;color:var(--ud-muted);font-size:13px;line-height:1.45}

/* NAV */
.ud-settlement-nav{display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:18px;margin-top:18px}
.ud-settlement-nav a{min-height:58px;display:flex;align-items:center;justify-content:center;gap:12px;padding:15px 22px;border:1px solid var(--ud-border);border-radius:8px;background:rgba(7,18,15,.72);color:var(--ud-text);text-decoration:none}
.ud-settlement-nav a:hover{color:var(--ud-gold);border-color:rgba(208,170,53,.42)}

/* FOOTER */
.ud-footer{margin-top:34px;padding:30px 0;border-top:1px solid var(--ud-border-soft);background:rgba(3,8,7,.78)}
.ud-footer-inner{display:flex;align-items:center;justify-content:space-between;gap:28px}
.ud-footer-nav{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.ud-copyright{color:rgba(233,225,210,.36);text-align:center;font-size:14px}

/* RESPONSIVE */
@media(max-width:1050px){
  .ud-meta-grid{grid-template-columns:repeat(3,1fr)}
  .ud-meta-item{padding:14px 10px;border-bottom:1px solid var(--ud-border-soft)}
  .ud-settlement-layout{grid-template-columns:1fr}
  .ud-people-grid{grid-template-columns:repeat(2,1fr)}
  .ud-timeline{grid-template-columns:1fr;gap:28px}
  .ud-timeline::before{left:16px;right:auto;top:0;bottom:0;width:1px;height:auto;background:linear-gradient(180deg,transparent,var(--ud-green),transparent)}
  .ud-event{text-align:left;padding-left:44px}
  .ud-event::before{top:3px;left:16px}
}
@media(max-width:900px){
  .ud-wrap{width:min(100% - 32px,1180px)}
  .ud-header-inner{min-height:74px}.ud-logo{font-size:28px}.ud-logo span{font-size:10px}
  .ud-desktop-nav,.ud-language{display:none}.ud-burger{display:block}
  .ud-hero{min-height:620px}.ud-breadcrumbs{margin-bottom:72px}
  .ud-footer-inner{align-items:flex-start;flex-direction:column}
}
@media(max-width:700px){
  .ud-meta-grid{grid-template-columns:1fr 1fr}
  .ud-meta-item{border-right:1px solid var(--ud-border-soft)}
  .ud-meta-item:nth-child(2n){border-right:0}
  .ud-about,.ud-map-panel,.ud-gallery,.ud-key-locations,.ud-people,.ud-history{padding:18px}
  .ud-gallery-grid,.ud-people-grid{grid-template-columns:1fr 1fr}
  .ud-map{min-height:250px}
  .ud-settlement-nav{grid-template-columns:1fr}
}
@media(max-width:420px){
  .ud-logo{font-size:23px;letter-spacing:.09em}.ud-logo span{letter-spacing:.22em}
  .ud-mobile-links a{font-size:21px}
  .ud-hero h1{font-size:48px}
  .ud-gallery-grid,.ud-people-grid{grid-template-columns:1fr}
}

/* COLLAPSIBLE COMMENTS */
.ud-comments-collapse{margin-top:14px;padding:0;overflow:hidden}
.ud-comments-head{display:flex;justify-content:space-between;align-items:center;padding:22px 26px;cursor:pointer}
.ud-comments-head h2{margin:0;font-family:var(--ud-serif);font-size:27px;font-weight:400;letter-spacing:.09em}
.ud-comments-arrow{color:var(--ud-gold);font-size:22px;transition:transform .25s ease}
.ud-comments-body{padding:0 26px 24px;display:block}
.ud-comment{padding:16px 0;border-top:1px solid var(--ud-border-soft)}
.ud-comment-name{color:var(--ud-green);font-weight:600;margin-bottom:6px}
.ud-comment-text{color:var(--ud-muted);line-height:1.6}


/* WordPress theme override / scoping */
body.udgallu-single-settlement *{box-sizing:border-box}
body.udgallu-single-settlement{margin:0;background:var(--ud-bg);color:var(--ud-text);font-family:var(--ud-sans)}
body.udgallu-single-settlement h1,
body.udgallu-single-settlement h2,
body.udgallu-single-settlement h3,
body.udgallu-single-settlement h4,
body.udgallu-single-settlement h5,
body.udgallu-single-settlement h6{font-family:var(--ud-serif)!important;color:var(--ud-text)!important}
body.udgallu-single-settlement a:where(:not(.wp-element-button)){color:inherit}
body.udgallu-single-settlement .ud-map-layer{background-image:var(--ud-map-image)!important}
body.udgallu-single-settlement .ud-map-pin{left:var(--pin-x,50%)!important;top:var(--pin-y,50%)!important}
body.udgallu-single-settlement .ud-gallery-button{display:block;width:100%;padding:0;border:0;cursor:pointer;text-align:left;background:transparent}
body.udgallu-single-settlement .ud-gallery-button .ud-gallery-img{display:block;width:100%;min-height:104px}
body.udgallu-single-settlement .ud-people-card-link{display:block;color:inherit!important;text-decoration:none!important}
body.udgallu-single-settlement .ud-people-card-link:hover h3{color:var(--ud-gold)}
body.udgallu-single-settlement .ud-lightbox{position:fixed;inset:0;z-index:99999;display:none;align-items:center;justify-content:center;padding:28px;background:rgba(0,0,0,.82)}
body.udgallu-single-settlement .ud-lightbox.is-open{display:flex}
body.udgallu-single-settlement .ud-lightbox img{max-width:min(1100px,96vw);max-height:90vh;width:auto;height:auto;border:1px solid var(--ud-border);border-radius:10px;box-shadow:0 30px 90px rgba(0,0,0,.6)}
body.udgallu-single-settlement .ud-lightbox-close{position:absolute;top:18px;right:22px;width:44px;height:44px;border:1px solid var(--ud-border);border-radius:50%;background:rgba(5,12,11,.86);color:#fff;font-size:30px;line-height:1;cursor:pointer}
body.udgallu-single-settlement .ud-lightbox-close:hover{color:var(--ud-gold)}
body.udgallu-single-settlement .ud-comments-body[hidden]{display:none!important}


/* V32: gallery moved to the right settlement column to reduce empty space under the local map. */
body.udgallu-single-settlement .ud-settlement-side .ud-gallery{margin-top:0;}
body.udgallu-single-settlement .ud-gallery-side .ud-gallery-grid{grid-template-columns:repeat(4,minmax(0,1fr));}
@media(max-width:700px){
  body.udgallu-single-settlement .ud-gallery-side .ud-gallery-grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:420px){
  body.udgallu-single-settlement .ud-gallery-side .ud-gallery-grid{grid-template-columns:1fr;}
}

/* V57 — settlement emblem + ACF-based faction */
body.udgallu-single-settlement .ud-settlement-emblem{
  width:clamp(72px,8vw,118px);
  height:clamp(72px,8vw,118px);
  object-fit:contain;
  display:block;
  margin:0 0 18px;
  opacity:.9;
  filter:drop-shadow(0 0 18px rgba(145,173,104,.22));
}
body.udgallu-single-settlement .ud-quote-card.has-emblem{
  position:relative;
  overflow:hidden;
}
body.udgallu-single-settlement .ud-quote-card.has-emblem::after{
  content:"";
  position:absolute;
  right:18px;
  bottom:10px;
  width:min(150px,36vw);
  aspect-ratio:1/1;
  background-image:var(--settlement-emblem);
  background-repeat:no-repeat;
  background-position:center;
  background-size:contain;
  opacity:.12;
  pointer-events:none;
  filter:grayscale(1);
}
body.udgallu-single-settlement .ud-quote-card.has-emblem > *{
  position:relative;
  z-index:1;
}
@media(max-width:700px){
  body.udgallu-single-settlement .ud-settlement-emblem{width:70px;height:70px;margin-bottom:14px;}
  body.udgallu-single-settlement .ud-quote-card.has-emblem::after{width:110px;opacity:.10;}
}


/* V65 SETTLEMENT MINIMAP RATIO PATCH */
body.udgallu-single-settlement .ud-map{
  aspect-ratio:var(--ud-map-aspect, 16 / 9)!important;
  min-height:0!important;
  height:auto!important;
}
body.udgallu-single-settlement .ud-map-layer{
  background-size:100% 100%!important;
  background-position:center center!important;
}
@media(max-width:700px){
  body.udgallu-single-settlement .ud-map{
    min-height:0!important;
  }
}

/* V66 — adaptive masonry placement for settlement info/map blocks */
body.udgallu-single-settlement .ud-settlement-main > .ud-key-locations,
body.udgallu-single-settlement .ud-settlement-main > .ud-gallery-side{
  margin-top:0;
}
body.udgallu-single-settlement .ud-settlement-layout.is-about-taller .ud-settlement-main{
  align-content:start;
}
body.udgallu-single-settlement .ud-settlement-layout.is-map-taller .ud-settlement-side{
  align-content:start;
}
@media(max-width:1050px){
  body.udgallu-single-settlement .ud-settlement-main > .ud-key-locations,
  body.udgallu-single-settlement .ud-settlement-main > .ud-gallery-side{
    display:block;
  }
}


/* V67 — balanced settlement masonry: key locations/gallery go to the shorter column */
body.udgallu-single-settlement .ud-settlement-layout.is-map-taller .ud-settlement-main > .ud-key-locations,
body.udgallu-single-settlement .ud-settlement-layout.is-map-taller .ud-settlement-main > .ud-gallery-side,
body.udgallu-single-settlement .ud-settlement-layout.is-about-taller .ud-settlement-side > .ud-key-locations,
body.udgallu-single-settlement .ud-settlement-layout.is-about-taller .ud-settlement-side > .ud-gallery-side{
  margin-top:18px;
}
body.udgallu-single-settlement .ud-settlement-main,
body.udgallu-single-settlement .ud-settlement-side{
  min-width:0;
}

/* V68 — only Gallery jumps; Key locations always stay under the map */
body.udgallu-single-settlement .ud-settlement-side > .ud-key-locations{
  margin-top:18px;
}
body.udgallu-single-settlement .ud-settlement-main > .ud-gallery-side,
body.udgallu-single-settlement .ud-settlement-side > .ud-gallery-side{
  margin-top:18px;
}
body.udgallu-single-settlement .ud-settlement-main > .ud-key-locations{
  /* safety fallback: JS should keep this block in the map column */
  display:none;
}
@media(max-width:1050px){
  body.udgallu-single-settlement .ud-settlement-main > .ud-key-locations{
    display:block;
  }
}


/* V73 — settlement economy and trade constellation */
body.udgallu-single-settlement .ud-trade{
  margin-top:14px;
  padding:26px;
  overflow:hidden;
}
body.udgallu-single-settlement .ud-trade-info-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin-bottom:18px;
}
body.udgallu-single-settlement .ud-trade-info{
  display:grid;
  grid-template-columns:44px 1fr;
  gap:14px;
  padding:17px;
  border:1px solid var(--ud-border);
  border-radius:9px;
  background:rgba(5,12,11,.56);
}
body.udgallu-single-settlement .ud-trade-info-wide{
  grid-column:1/-1;
}
body.udgallu-single-settlement .ud-trade-info-icon{
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border:1px solid rgba(208,170,53,.34);
  border-radius:50%;
  color:var(--ud-gold);
  background:rgba(208,170,53,.08);
  font-size:22px;
}
body.udgallu-single-settlement .ud-trade-info h3{
  margin:0 0 8px;
  color:#fff!important;
  font-family:var(--ud-serif)!important;
  font-size:19px;
  font-weight:400;
  letter-spacing:.06em;
}
body.udgallu-single-settlement .ud-trade-info p{
  margin:0 0 8px;
  color:var(--ud-muted);
  line-height:1.62;
}
body.udgallu-single-settlement .ud-trade-map-wrap{
  margin-top:18px;
  padding-top:18px;
  border-top:1px solid var(--ud-border-soft);
}
body.udgallu-single-settlement .ud-trade-map-title{
  margin-bottom:14px;
  color:var(--ud-green);
  text-align:center;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:12px;
}
body.udgallu-single-settlement .ud-trade-map{
  position:relative;
  min-height:560px;
  border:1px solid var(--ud-border);
  border-radius:10px;
  background:
    radial-gradient(circle at 50% 50%, rgba(145,173,104,.12), transparent 33%),
    radial-gradient(circle at 50% 0%, rgba(208,170,53,.08), transparent 44%),
    rgba(3,8,7,.50);
  overflow:hidden;
}
body.udgallu-single-settlement .ud-trade-lines{
  position:absolute;
  inset:0;
  z-index:1;
  width:100%;
  height:100%;
  pointer-events:none;
}
body.udgallu-single-settlement .ud-trade-line{
  stroke:rgba(208,170,53,.62);
  stroke-width:.42;
  stroke-linecap:round;
  opacity:.72;
  filter:drop-shadow(0 0 6px rgba(208,170,53,.22));
}
body.udgallu-single-settlement .ud-trade-arrow{
  fill:var(--ud-gold);
  font-size:4px;
  text-anchor:middle;
  dominant-baseline:middle;
  opacity:.86;
  paint-order:stroke;
  stroke:rgba(3,8,7,.9);
  stroke-width:.8px;
}
body.udgallu-single-settlement .ud-trade-center,
body.udgallu-single-settlement .ud-trade-node{
  position:absolute;
  z-index:3;
  display:grid;
  justify-items:center;
  gap:8px;
  width:132px;
  color:var(--ud-text)!important;
  text-align:center;
  text-decoration:none!important;
}
body.udgallu-single-settlement .ud-trade-center{
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
}
body.udgallu-single-settlement .ud-trade-node{
  left:var(--node-x);
  top:var(--node-y);
  transform:translate(-50%,-50%);
}
body.udgallu-single-settlement .ud-trade-avatar{
  width:96px;
  height:96px;
  display:block;
  border:2px solid rgba(208,170,53,.72);
  border-radius:50%;
  background:
    linear-gradient(180deg, rgba(0,0,0,.08), rgba(0,0,0,.48)),
    var(--trade-img);
  background-size:cover;
  background-position:center;
  box-shadow:0 0 0 6px rgba(5,11,10,.45), 0 16px 44px rgba(0,0,0,.45);
  transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
body.udgallu-single-settlement .ud-trade-center .ud-trade-avatar{
  width:124px;
  height:124px;
  border-color:rgba(145,173,104,.86);
  box-shadow:0 0 0 8px rgba(5,11,10,.55), 0 0 34px rgba(145,173,104,.24), 0 20px 60px rgba(0,0,0,.58);
}
body.udgallu-single-settlement .ud-trade-node:hover .ud-trade-avatar,
body.udgallu-single-settlement .ud-trade-center:hover .ud-trade-avatar{
  transform:translateY(-2px) scale(1.04);
  border-color:#fff;
}
body.udgallu-single-settlement .ud-trade-node strong,
body.udgallu-single-settlement .ud-trade-center strong{
  display:block;
  color:#fff!important;
  font-family:var(--ud-serif)!important;
  font-size:18px;
  font-weight:400;
  line-height:1.15;
  text-shadow:0 2px 14px rgba(0,0,0,.9);
}
body.udgallu-single-settlement .ud-trade-center strong{
  font-size:22px;
}
body.udgallu-single-settlement .ud-trade-node small,
body.udgallu-single-settlement .ud-trade-center small{
  display:block;
  max-width:132px;
  color:var(--ud-muted);
  font-size:11px;
  letter-spacing:.12em;
  line-height:1.25;
  text-transform:uppercase;
}
@media(max-width:900px){
  body.udgallu-single-settlement .ud-trade-map{min-height:620px;}
  body.udgallu-single-settlement .ud-trade-avatar{width:82px;height:82px;}
  body.udgallu-single-settlement .ud-trade-center .ud-trade-avatar{width:108px;height:108px;}
}
@media(max-width:700px){
  body.udgallu-single-settlement .ud-trade{padding:18px;}
  body.udgallu-single-settlement .ud-trade-info-grid{grid-template-columns:1fr;}
  body.udgallu-single-settlement .ud-trade-info{grid-template-columns:38px 1fr;padding:14px;}
  body.udgallu-single-settlement .ud-trade-info-icon{width:38px;height:38px;font-size:19px;}
  body.udgallu-single-settlement .ud-trade-map{min-height:720px;}
  body.udgallu-single-settlement .ud-trade-center,
  body.udgallu-single-settlement .ud-trade-node{width:108px;}
  body.udgallu-single-settlement .ud-trade-node strong,
  body.udgallu-single-settlement .ud-trade-center strong{font-size:16px;}
  body.udgallu-single-settlement .ud-trade-center strong{font-size:19px;}
  body.udgallu-single-settlement .ud-trade-avatar{width:72px;height:72px;}
  body.udgallu-single-settlement .ud-trade-center .ud-trade-avatar{width:94px;height:94px;}
}

/* V74 — cleaner settlement economy layout and wider residents description */
body.udgallu-single-settlement .ud-people-card-main{
  grid-column:span 2;
}
body.udgallu-single-settlement .ud-people-card-main .ud-people-img{
  height:190px;
  background-size:cover;
  background-position:center;
}
body.udgallu-single-settlement .ud-people-card-main .ud-people-body p{
  font-size:14px;
  line-height:1.62;
}
body.udgallu-single-settlement .ud-trade-section{
  margin-top:14px;
}
body.udgallu-single-settlement .ud-trade-section > .ud-h2{
  margin:0 0 14px;
}
body.udgallu-single-settlement .ud-trade-layout{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  align-items:start;
}
body.udgallu-single-settlement .ud-trade-card{
  display:grid;
  grid-template-columns:44px 1fr;
  gap:14px;
  padding:22px;
  min-width:0;
  overflow:hidden;
}
body.udgallu-single-settlement .ud-trade-card h3{
  margin:0 0 8px;
  color:#fff!important;
  font-family:var(--ud-serif)!important;
  font-size:21px;
  font-weight:400;
  letter-spacing:.06em;
}
body.udgallu-single-settlement .ud-trade-card p{
  margin:0 0 8px;
  color:var(--ud-muted);
  line-height:1.66;
}
body.udgallu-single-settlement .ud-trade-network-card{
  display:block;
  padding:22px;
}
body.udgallu-single-settlement .ud-trade-network-card > .ud-trade-info-icon{
  float:left;
  margin:0 14px 10px 0;
}
body.udgallu-single-settlement .ud-trade-network-head{
  min-height:48px;
  margin-bottom:14px;
}
body.udgallu-single-settlement .ud-trade-network-head p{
  color:var(--ud-muted);
  font-size:13px;
  letter-spacing:.08em;
  text-transform:uppercase;
}
body.udgallu-single-settlement .ud-trade-network-card .ud-trade-map{
  clear:both;
  min-height:430px;
  border:1px solid var(--ud-border);
  border-radius:10px;
}
body.udgallu-single-settlement .ud-trade-layout .ud-trade-info-wide{
  grid-column:auto;
}
@media(max-width:1050px){
  body.udgallu-single-settlement .ud-people-card-main{grid-column:1/-1;}
  body.udgallu-single-settlement .ud-trade-layout{grid-template-columns:1fr;}
}
@media(max-width:700px){
  body.udgallu-single-settlement .ud-people-card-main{grid-column:1/-1;}
  body.udgallu-single-settlement .ud-people-card-main .ud-people-img{height:170px;}
  body.udgallu-single-settlement .ud-trade-card{grid-template-columns:38px 1fr;padding:18px;}
  body.udgallu-single-settlement .ud-trade-network-card .ud-trade-map{min-height:650px;}
}

/* V75 — settlement page: locations live under the map, gallery stays under About */
body.udgallu-single-settlement .ud-settlement-layout{
  align-items:start;
}
body.udgallu-single-settlement .ud-settlement-main,
body.udgallu-single-settlement .ud-settlement-side{
  display:grid;
  gap:14px;
  align-content:start;
}
body.udgallu-single-settlement .ud-settlement-main > .ud-gallery-side,
body.udgallu-single-settlement .ud-settlement-side > .ud-map-location-card{
  margin-top:0;
}
body.udgallu-single-settlement .ud-key-locations{
  display:none!important;
}
body.udgallu-single-settlement .ud-map-pin{
  border:2px solid var(--ud-gold);
  padding:0;
  appearance:none;
  -webkit-appearance:none;
}
body.udgallu-single-settlement .ud-map-pin.is-active{
  border-color:#fff;
  color:#fff;
  box-shadow:0 0 0 5px rgba(208,170,53,.18), 0 0 30px rgba(208,170,53,.38);
}
body.udgallu-single-settlement .ud-map-location-card{
  display:grid;
  grid-template-columns:48px 1fr;
  gap:16px;
  align-items:start;
  padding:20px 22px;
}
body.udgallu-single-settlement .ud-map-location-icon{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border:1px solid rgba(208,170,53,.42);
  border-radius:50%;
  color:var(--ud-gold);
  background:rgba(208,170,53,.08);
  font-size:22px;
}
body.udgallu-single-settlement .ud-map-location-card .ud-h2{
  margin:0 0 8px;
  font-size:22px;
  color:#fff!important;
}
body.udgallu-single-settlement .ud-map-location-card p{
  margin:0;
  color:var(--ud-muted);
  line-height:1.65;
}
body.udgallu-single-settlement .ud-gallery-side .ud-gallery-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
}
body.udgallu-single-settlement .ud-gallery-side .ud-gallery-img{
  min-height:118px;
}

/* V75 — residents cards: linked heroes/creatures get full-width images */
body.udgallu-single-settlement .ud-people-card-link .ud-people-img{
  height:205px;
  background-size:cover;
  background-position:center;
}
body.udgallu-single-settlement .ud-people-card-link .ud-people-body{
  padding:16px;
}

/* V75 — smaller trade constellation circles */
body.udgallu-single-settlement .ud-trade-network-card .ud-trade-map{
  min-height:360px;
}
body.udgallu-single-settlement .ud-trade-center,
body.udgallu-single-settlement .ud-trade-node{
  width:104px;
  gap:6px;
}
body.udgallu-single-settlement .ud-trade-avatar{
  width:64px;
  height:64px;
  box-shadow:0 0 0 4px rgba(5,11,10,.45), 0 12px 34px rgba(0,0,0,.42);
}
body.udgallu-single-settlement .ud-trade-center .ud-trade-avatar{
  width:84px;
  height:84px;
  box-shadow:0 0 0 6px rgba(5,11,10,.55), 0 0 24px rgba(145,173,104,.22), 0 16px 46px rgba(0,0,0,.52);
}
body.udgallu-single-settlement .ud-trade-node strong,
body.udgallu-single-settlement .ud-trade-center strong{
  font-size:16px;
}
body.udgallu-single-settlement .ud-trade-center strong{
  font-size:19px;
}
body.udgallu-single-settlement .ud-trade-node small,
body.udgallu-single-settlement .ud-trade-center small{
  max-width:104px;
  font-size:10px;
}
@media(max-width:1050px){
  body.udgallu-single-settlement .ud-settlement-main > .ud-gallery-side{
    order:2;
  }
  body.udgallu-single-settlement .ud-settlement-side > .ud-map-location-card{
    order:2;
  }
}
@media(max-width:700px){
  body.udgallu-single-settlement .ud-map-location-card{
    grid-template-columns:40px 1fr;
    padding:18px;
  }
  body.udgallu-single-settlement .ud-map-location-icon{
    width:36px;
    height:36px;
    font-size:19px;
  }
  body.udgallu-single-settlement .ud-gallery-side .ud-gallery-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  body.udgallu-single-settlement .ud-people-card-link .ud-people-img{
    height:190px;
  }
  body.udgallu-single-settlement .ud-trade-network-card .ud-trade-map{
    min-height:520px;
  }
  body.udgallu-single-settlement .ud-trade-center,
  body.udgallu-single-settlement .ud-trade-node{
    width:92px;
  }
  body.udgallu-single-settlement .ud-trade-avatar{
    width:56px;
    height:56px;
  }
  body.udgallu-single-settlement .ud-trade-center .ud-trade-avatar{
    width:72px;
    height:72px;
  }
  body.udgallu-single-settlement .ud-trade-node strong,
  body.udgallu-single-settlement .ud-trade-center strong{
    font-size:15px;
  }
}
@media(max-width:420px){
  body.udgallu-single-settlement .ud-gallery-side .ud-gallery-grid{
    grid-template-columns:1fr;
  }
}


/* V76 — related hero/creature cards: rectangular full-width image */
body.udgallu-single-settlement .ud-people-card-link .ud-people-img{
  width:100% !important;
  height:auto !important;
  aspect-ratio: 16 / 10 !important;
  min-height:0 !important;
  background-size:cover !important;
  background-position:center top !important;
  background-repeat:no-repeat !important;
}
body.udgallu-single-settlement .ud-people-card-link{
  display:flex !important;
  flex-direction:column !important;
}
body.udgallu-single-settlement .ud-people-card-link .ud-people-body{
  flex:1 1 auto;
}
@media(max-width:700px){
  body.udgallu-single-settlement .ud-people-card-link .ud-people-img{
    aspect-ratio: 16 / 9 !important;
  }
}


/* V77 — related resident/hero cards: taller rectangular artwork, not low banner */
body.udgallu-single-settlement .ud-people-grid > .ud-people-card-link .ud-people-img{
  display:block !important;
  width:100% !important;
  height:clamp(230px, 22vw, 320px) !important;
  min-height:230px !important;
  aspect-ratio:auto !important;
  background-size:cover !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
}
body.udgallu-single-settlement .ud-people-grid > .ud-people-card-link{
  display:flex !important;
  flex-direction:column !important;
  overflow:hidden !important;
}
body.udgallu-single-settlement .ud-people-grid > .ud-people-card-link .ud-people-body{
  flex:1 1 auto !important;
}
@media(max-width:900px){
  body.udgallu-single-settlement .ud-people-grid > .ud-people-card-link .ud-people-img{
    height:240px !important;
    min-height:240px !important;
  }
}
@media(max-width:520px){
  body.udgallu-single-settlement .ud-people-grid > .ud-people-card-link .ud-people-img{
    height:220px !important;
    min-height:220px !important;
  }
}

/* V141 — native threaded comments like heroes */
body.udgallu-single-settlement .ud-native-comments{max-height:520px;overflow-y:auto;overflow-x:hidden;padding-right:10px;scrollbar-width:thin;scrollbar-color:var(--ud-green) rgba(233,225,210,.10)}
body.udgallu-single-settlement .ud-native-comments a,
body.udgallu-single-settlement .ud-native-comments .fn,
body.udgallu-single-settlement .ud-native-comments .fn a,
body.udgallu-single-settlement .ud-native-comments .says,
body.udgallu-single-settlement .ud-native-comments .comment-author,
body.udgallu-single-settlement .ud-native-comments .comment-author a,
body.udgallu-single-settlement .ud-native-comments .comment-meta,
body.udgallu-single-settlement .ud-native-comments .comment-meta a,
body.udgallu-single-settlement .ud-native-comments .comment-metadata,
body.udgallu-single-settlement .ud-native-comments .comment-metadata a,
body.udgallu-single-settlement .ud-native-comments .comment-edit-link,
body.udgallu-single-settlement .ud-native-comments .comment-reply-link,
body.udgallu-single-settlement .ud-native-comments .reply a,
body.udgallu-single-settlement .ud-native-comments .comment-reply-title,
body.udgallu-single-settlement .ud-native-comments .logged-in-as a{color:var(--ud-green)!important}
body.udgallu-single-settlement .ud-native-comments .comment-content,
body.udgallu-single-settlement .ud-native-comments .comment-content p,
body.udgallu-single-settlement .ud-native-comments p{color:#f1ede4!important}
body.udgallu-single-settlement .ud-native-comments .comment-body{padding:16px 18px;border:1px solid var(--ud-border);border-radius:8px;background:rgba(9,20,17,.7);margin-bottom:14px}
body.udgallu-single-settlement .ud-native-comments ol,
body.udgallu-single-settlement .ud-native-comments ul{list-style:none;margin:0;padding:0}
body.udgallu-single-settlement .ud-native-comments li.comment{margin:0 0 14px}
body.udgallu-single-settlement .ud-native-comments .children{margin:12px 0 0 22px;padding-left:16px;border-left:1px solid rgba(145,173,104,.28)}
body.udgallu-single-settlement .ud-native-comments .avatar{width:36px;height:36px;border-radius:50%;border:1px solid rgba(145,173,104,.32);background:rgba(145,173,104,.08);vertical-align:middle;margin-right:8px}
