/* Isolated Samotsvety media and exact vector plan. Shared location styles are untouched. */
.sam-roaming-page .sam-hero{background:linear-gradient(90deg,#111112e8 0%,#1111129c 46%,#1111123d 100%),linear-gradient(0deg,#111112 0%,#11111200 50%),url('/img/samotsvety/landscape.jpg') center 57%/cover no-repeat}
.sam-roaming-page .sam-stats{background:linear-gradient(110deg,#18333bd9,#111112b5)}
.sam-roaming-page .sam-hero-content>p.sam-hero-role{color:#cad4d5}
.sam-roaming-page .sam-logo-instruction{color:#d6e2e4;text-shadow:0 2px 12px #111}
.sam-roaming-page .sam-journey-nav{grid-template-columns:repeat(5,minmax(0,1fr))}
.sam-roaming-page .sam-journey[data-intent=build] .sam-journey-nav{grid-template-columns:repeat(6,minmax(0,1fr))}
.sam-roaming-page .sam-journey-nav a{font-size:clamp(12px,1vw,19px)}
.sam-media{padding-top:70px;padding-bottom:90px;scroll-margin-top:100px}
.sam-media-heading{display:flex;justify-content:space-between;align-items:end;gap:5vw;margin-bottom:35px}
.sam-media-heading h2{font-size:clamp(30px,3.05vw,65px);line-height:1.15}
.sam-media-heading h2 span{color:#8bcad7}
.sam-media-heading>p{max-width:27em;font-size:clamp(14px,1.05vw,20px);color:#c5c9cc;line-height:1.7}
.sam-media-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:20px}
.sam-media-card{min-width:0;margin:0}
.sam-media-card>button{position:relative;display:block;width:100%;height:clamp(260px,29vw,500px);border:0;padding:0;overflow:hidden;cursor:zoom-in;background:#243232}
.sam-media-card img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.sam-media-card>button:hover img{transform:scale(1.035)}
.sam-photo-expand{position:absolute;right:16px;bottom:16px;width:40px;height:40px;display:grid;place-content:center;background:#1111128f;color:#fff;border:1px solid #ffffff45;border-radius:50%;font-size:22px}
.sam-media-card figcaption{display:flex;flex-wrap:wrap;align-items:start;justify-content:space-between;gap:12px;padding:20px 0;border-bottom:1px solid #ffffff20;min-height:110px}
.sam-media-card figcaption small{display:block;color:#85b5bd;font-size:10px;letter-spacing:.12em;margin-bottom:9px}
.sam-media-card figcaption strong{display:block;font-size:clamp(15px,1.15vw,22px);font-weight:500}
.sam-media-card figcaption em{font-size:10px;font-style:normal;color:#bec7c8;border:1px solid #ffffff24;padding:6px 8px;white-space:nowrap}
.sam-media-note{max-width:85em;margin:24px 0 0}
.sam-photo-dialog{color:#fff;background:#101719;border:1px solid #47626b;padding:20px;width:min(1000px,94vw);max-width:94vw;max-height:94dvh;overflow:auto}
.sam-photo-dialog::backdrop{background:#05090de8;backdrop-filter:blur(7px)}
.sam-photo-dialog>img{display:block;object-fit:contain;width:100%;height:calc(88dvh - 130px);min-height:160px}
.sam-photo-close{position:absolute;top:12px;right:12px;background:#111e;border:1px solid #ffffff66;border-radius:50%;color:#fff;width:44px;height:44px;font-size:28px;cursor:pointer;z-index:2}
.sam-photo-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:18px}
.sam-photo-bottom p{font-size:13px;line-height:1.5;text-align:center;margin:0;color:#d0dbdd}
.sam-photo-bottom button{border:1px solid #69c0d355;border-radius:50%;width:42px;height:42px;flex-shrink:0;background:transparent;color:#cce7eb;font-size:21px;cursor:pointer}
body:has(.sam-photo-dialog[open]){overflow:hidden}
body:has(.sam-photo-dialog[open]) .sam-sculpture{visibility:hidden!important}
.sam-roaming-page .sam-map-chapter{display:block}
.sam-map-chapter>.sam-guide-dock{height:0;margin:0;position:absolute;top:0;right:0;width:1px}
.sam-sculpture[data-stage=map] .sam-sculpture-caption{display:none}
@media(max-width:1000px){
 .sam-media{padding-top:30px;padding-bottom:40px}.sam-media-heading{display:block;margin-bottom:25px}.sam-media-heading>p{margin-top:20px;max-width:40em}
 .sam-media-grid{grid-template-columns:1fr 1fr;gap:24px 16px}.sam-media-wide{grid-column:1/-1}.sam-media-wide>button{height:45vw;min-height:270px}.sam-media-card:not(.sam-media-wide)>button{height:30vw;min-height:200px}
 .sam-media-card figcaption{min-height:120px}.sam-media-card figcaption strong{font-size:16px}
 .sam-roaming-page .sam-map-chapter{display:flex}.sam-map-chapter>.sam-guide-dock{position:relative;top:auto;right:auto;width:100%;height:250px}
 .sam-sculpture[data-stage=map] .sam-sculpture-caption{display:block}
}
@media(max-width:600px){
 .sam-roaming-page .sam-journey-nav,.sam-roaming-page .sam-journey[data-intent=build] .sam-journey-nav{grid-template-columns:repeat(3,minmax(0,1fr))}
 .sam-roaming-page .sam-hero{background:linear-gradient(180deg,#111112c9,#1111124d 53%,#111112),url('/img/samotsvety/landscape.jpg') 58% top/auto 1100px no-repeat}
 .sam-media-grid{gap:22px 12px}.sam-media-wide>button{height:340px;min-height:0}.sam-media-card:not(.sam-media-wide)>button{height:210px;min-height:0}
 .sam-media-card figcaption{padding-top:14px;gap:12px;min-height:145px}.sam-media-card figcaption strong{font-size:14px;line-height:1.4}.sam-media-card figcaption small{font-size:9px}.sam-media-card figcaption em{font-size:9px;padding:5px}
 .sam-photo-expand{width:30px;height:30px;right:10px;bottom:10px;font-size:18px}.sam-media-note{font-size:11px!important}
 .sam-photo-dialog{padding:12px}.sam-photo-bottom{gap:10px}.sam-photo-bottom p{font-size:11px}.sam-photo-bottom button{width:36px;height:36px}
}
@media(prefers-reduced-motion:reduce){.sam-media-card img{transition:none}}

/* The settlement is a single illustrated sheet, matching the other VKB locations. */
.sam-roaming-page .sam-settlement-layout {
  display: grid;
  grid-template-columns: minmax(0, .73fr) minmax(0, 1.27fr);
  align-items: center;
  gap: clamp(32px, 4vw, 90px);
}
.sam-settlement-copy p {
  margin: 22px 0 28px;
  max-width: 34em;
  color: #d0d7d5;
  font-size: clamp(14px, 1.05vw, 20px);
  line-height: 1.65;
}
.sam-settlement-copy .sam-chapter-link { width: fit-content; }
.sam-settlement-figure { margin: 0; min-width: 0; }
.sam-settlement-figure img {
  display: block;
  width: 100%;
  height: auto;
}
.sam-settlement-figure figcaption {
  margin-top: 12px;
  line-height: 1.55;
  font-size: clamp(12px, .85vw, 16px);
  color: #b7c4c6;
}
.sam-settlement-figure figcaption {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 8px 20px;
}
.sam-settlement-figure figcaption a {
  color: #b3dfe3;
  text-decoration: underline;
  text-underline-offset: 4px;
}
.sam-concept-plan { margin: 0; }
.sam-concept-plan[hidden] { display: none; }
.sam-concept-image { display: block; aspect-ratio: 4 / 3; background: #19201b; overflow: hidden; cursor: zoom-in; }
.sam-concept-image img { display: block; width: 100%; height: 100%; object-fit: contain; }
.sam-concept-plan figcaption { padding-top: clamp(16px, 1.5vw, 26px); }
.sam-concept-plan figcaption p { margin: 0; max-width: 62ch; color: #d0d7d5; font-size: clamp(14px, 1.05vw, 20px); line-height: 1.65; }
.sam-concept-zoom { display: inline-block; margin-top: 12px; color: #abdce6; text-underline-offset: 4px; text-decoration: underline; }
.sam-chapter .sam-concept-note { margin: 18px 0; font-size: clamp(12px, .85vw, 16px); color: #b7c4c6; }
@media (max-width: 1000px) {
  .sam-roaming-page .sam-settlement-layout { grid-template-columns: 1fr; gap: 24px; }
}
