/* РЕДАКТОРУ: общие цвета, размеры и адаптивность всех страниц. Безопасно меняйте переменные в :root; раскладка для телефона находится в @media внизу. */
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#23332e;--body:#52625b;--muted:#77847d;--paper:#f6f4ee;--white:#fff;--line:#e2e5dd;--green:#315d4c;--green-dark:#203c32;--sand:#ede9dc;--gold:#b88b51;--sans:'DM Sans',Manrope,Arial,sans-serif;--serif:Georgia,'Times New Roman',serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:400 15px/1.7 var(--sans)}a{color:inherit}.wrap{width:min(1320px,calc(100% - 48px));margin-inline:auto}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;left:-9999px;top:8px;z-index:100;background:#fff;padding:10px}.skip-link:focus{left:10px}
.site-header{position:relative;z-index:30;background:rgba(246,244,238,.96);border-bottom:1px solid var(--line)}.header-inner{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:inline-flex;align-items:center;gap:11px;text-decoration:none;color:var(--ink);flex:none}.brand-icon{width:39px;height:39px;display:grid;place-items:center;background:var(--green);color:#fff;border-radius:50% 50% 45% 45%;font:700 19px var(--serif)}.brand strong,.brand small{display:block}.brand strong{font:600 17px/1.15 var(--serif)}.brand small{margin-top:3px;color:var(--muted);font-size:9px;letter-spacing:.12em;text-transform:uppercase}.main-nav{margin-left:auto}.nav-list{display:flex;align-items:center;gap:5px;list-style:none;margin:0;padding:0}.nav-item{position:relative}.nav-link{display:flex;align-items:center;gap:8px;min-height:44px;padding:0 12px;border:0;background:none;text-decoration:none;color:var(--ink);font:600 11px/1 var(--sans);letter-spacing:.035em;cursor:pointer}.nav-link:hover,.nav-item.is-current>.nav-link{color:var(--green)}.chevron{width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .2s}.has-dropdown.is-open .chevron{transform:rotate(225deg) translate(-1px,-1px)}.dropdown-menu{position:absolute;top:calc(100% - 2px);left:0;min-width:220px;margin:0;padding:8px;list-style:none;background:#fff;border:1px solid var(--line);box-shadow:0 12px 30px rgba(22,42,33,.12);opacity:0;visibility:hidden;transform:translateY(6px);transition:.18s ease}.has-dropdown:hover .dropdown-menu,.has-dropdown:focus-within .dropdown-menu,.has-dropdown.is-open .dropdown-menu{opacity:1;visibility:visible;transform:none}.dropdown-menu a{display:block;padding:10px 11px;border-radius:4px;color:var(--body);text-decoration:none;font-size:12px}.dropdown-menu a:hover{background:var(--paper);color:var(--green)}.menu-toggle{display:none}
/* shared page layout: two sidebars + central article */
.page-grid{width:min(1450px,calc(100% - 48px));margin:0 auto;padding:34px 0 64px;display:grid;grid-template-columns:minmax(180px,230px) minmax(0,1fr) minmax(180px,230px);gap:clamp(18px,2.2vw,32px);align-items:start}.sidebar{min-width:0;display:flex;flex-direction:column;gap:16px;position:sticky;top:20px}.side-card{padding:19px;background:#fff;border:1px solid var(--line);border-radius:7px}.side-card h2{margin:0 0 11px;font:400 22px/1.2 var(--serif)}.side-card p{margin:0 0 13px;color:var(--body);font-size:12px}.side-kicker,.kicker{margin:0 0 10px;color:var(--gold);font-size:9px;font-weight:700;letter-spacing:.17em;text-transform:uppercase}.side-links{list-style:none;margin:0;padding:0}.side-links li+li{border-top:1px solid var(--line)}.side-links a{display:block;padding:9px 0;text-decoration:none;color:var(--body);font-size:11px}.side-links a:hover,.text-link:hover{color:var(--green)}.side-card-soft{background:var(--sand);border-color:transparent}.side-card-dark{background:var(--green-dark);border-color:var(--green-dark);color:#fff}.side-card-dark .side-kicker{color:#d6c397}.side-card-dark p{color:#e1e8df}.side-button{display:flex;align-items:center;justify-content:space-between;padding:11px 12px;background:#fff;color:var(--green-dark);text-decoration:none;border-radius:4px;font-size:10px;font-weight:700}.text-link{display:inline-flex;gap:9px;color:var(--green);font-size:10px;font-weight:700;text-decoration:none}.content{min-width:0}.content>*+*{margin-top:26px}.page-hero{position:relative;overflow:hidden;min-height:250px;padding:clamp(26px,4vw,48px);display:flex;align-items:flex-end;background:linear-gradient(120deg,#23483b,#67836b 65%,#c1a674);color:#fff;border-radius:7px}.page-hero::after{content:'R';position:absolute;right:4%;bottom:-.44em;color:rgba(255,255,255,.11);font:500 300px/1 var(--serif);pointer-events:none}.page-hero-inner{position:relative;z-index:1;max-width:660px}.page-hero .kicker{color:#f1d9ad}.page-hero h1{margin:0;font:400 clamp(37px,5vw,62px)/1.02 var(--serif);letter-spacing:-.035em}.page-hero p:last-child{max-width:560px;margin:14px 0 0;color:#f1f1e8;font-size:14px}.content h2{font:400 clamp(24px,3vw,34px)/1.14 var(--serif);letter-spacing:-.02em;margin:0 0 12px}.content h3{font:400 21px/1.2 var(--serif);margin:0 0 9px}.content p{color:var(--body);margin:0 0 13px}.content .lede{font-size:16px;line-height:1.7}.content ul,.content ol{padding-left:22px;color:var(--body)}.content li{padding-left:3px;margin:0 0 7px}.content section{padding:25px;background:#fff;border:1px solid var(--line);border-radius:7px}.content section.plain-section{padding:0;background:none;border:0}.notice{padding:17px 18px;border-left:3px solid var(--gold);background:#f0eadc;color:var(--body);font-size:13px}.notice strong{color:var(--ink)}.warning{border-left-color:#c15f42;background:#f5e8df}.mid-block{margin:28px 0;padding:20px 22px;background:#e8eee4;border:1px dashed #9eb39e;border-radius:6px}.mid-block p{margin:0;color:var(--body);font-size:13px}.mid-block .side-kicker{margin-bottom:8px}.source-list{font-size:12px}.source-list a{color:var(--green);overflow-wrap:anywhere}.info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.info-tile{padding:17px;background:#f8f7f2;border:1px solid var(--line);border-radius:5px}.info-tile p:last-child{margin-bottom:0}.button-link{display:inline-flex;align-items:center;gap:9px;padding:12px 16px;background:var(--green);color:#fff;text-decoration:none;border-radius:4px;font-size:11px;font-weight:700}.button-link:hover{background:var(--green-dark)}.map-placeholder{min-height:190px;display:grid;place-items:center;padding:20px;text-align:center;background:linear-gradient(135deg,#e5eadf,#d4dfd2);border:1px solid var(--line);color:var(--green);border-radius:5px}.site-footer{background:#213a31;color:#edf0e7}.footer-inner{min-height:130px;padding-top:25px;padding-bottom:25px;display:flex;align-items:center;justify-content:space-between;gap:24px}.footer-brand{color:#fff}.footer-brand .brand-icon{background:#d6c397;color:#263b31}.footer-inner p{max-width:280px;margin:0;color:#cad4c8;font-size:11px}.footer-note{max-width:390px!important;font-size:10px!important}
@media(max-width:1050px){.page-grid{grid-template-columns:minmax(160px,200px) minmax(0,1fr)}.sidebar-right{grid-column:1/-1;position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.header-inner{gap:12px}.nav-link{padding-inline:8px;font-size:10px}}
@media(max-width:780px){.wrap{width:calc(100% - 34px)}.header-inner{min-height:70px;flex-wrap:wrap}.menu-toggle{margin-left:auto;width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--line);background:#fff;border-radius:4px}.menu-toggle-lines{display:grid;gap:5px}.menu-toggle-lines i{display:block;width:18px;height:2px;background:var(--ink)}.main-nav{display:none;order:3;width:100%;margin:0;padding:0 0 12px}.main-nav.is-open{display:block}.nav-list{align-items:stretch;flex-direction:column;gap:0}.nav-item{border-top:1px solid var(--line)}.nav-link{width:100%;justify-content:space-between;min-height:43px;padding:0 5px;font-size:12px}.dropdown-menu{position:static;display:none;min-width:0;padding:0 0 8px 12px;border:0;box-shadow:none;opacity:1;visibility:visible;transform:none;background:transparent}.has-dropdown:hover .dropdown-menu,.has-dropdown:focus-within .dropdown-menu{display:none}.has-dropdown.is-open .dropdown-menu{display:block}.dropdown-menu a{padding:9px}.page-grid{width:calc(100% - 34px);grid-template-columns:1fr;gap:17px;padding-top:20px;padding-bottom:42px}.content{grid-row:1}.sidebar-left{position:static;grid-row:2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.sidebar-right{grid-row:3;grid-template-columns:repeat(2,minmax(0,1fr))}.page-hero{min-height:225px}.page-hero::after{font-size:220px;right:-5%}.footer-inner{align-items:flex-start;flex-direction:column;gap:13px;padding-top:22px;padding-bottom:22px}.footer-inner p{max-width:100%}}
@media(max-width:520px){.sidebar-left,.sidebar-right,.info-grid{grid-template-columns:1fr}.page-hero{min-height:205px;padding:24px}.page-hero h1{font-size:38px}.content section{padding:19px}.content .lede{font-size:14px}.brand strong{font-size:15px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important}}

/* Фотогалерея статьи: обычные прямые URL ведут в /assets/images/. */
.article-photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0 26px}
.article-photo{min-width:0;margin:0;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:6px}
.article-photo img{display:block;width:100%;height:190px;object-fit:cover;background:#e5e9e1}
.article-photo figcaption{padding:8px 10px;color:var(--muted);font-size:10px;line-height:1.45}
@media(max-width:780px){.article-photo img{height:170px}}
@media(max-width:520px){.article-photos{grid-template-columns:1fr;gap:12px}.article-photo img{height:auto;max-height:320px;object-fit:cover}}


/* РЕДАКТОРУ: новый визуальный стиль путеводителя. В hero-полосе используется файл
   /assets/images/reunion-guide_russe-tourism-01.jpg — замените изображение, сохранив имя,
   либо измените URL в правиле .page-hero. Палитра специально отличается от сайта фотостудии. */
:root {
  --ink: #eaf2ee;
  --body: #c0cfca;
  --muted: #91a59f;
  --paper: #101b20;
  --white: #17272d;
  --line: #2b4148;
  --green: #30b8aa;
  --green-dark: #12363a;
  --sand: #1c3034;
  --gold: #f2a36b;
  --sans: 'DM Sans', Manrope, Arial, sans-serif;
  --serif: 'DM Sans', Manrope, Arial, sans-serif;
}
body { background:var(--paper); color:var(--ink); }
.site-header { background:#101b20; border-bottom-color:var(--line); }
.brand { color:var(--ink); }
.brand-icon { background:#f2a36b; color:#142126; border-radius:9px 9px 9px 2px; }
.brand small,.header-note { color:var(--muted); }
.nav-link { color:#dce7e3; }
.nav-link:hover,.nav-item.is-current>.nav-link { color:#49d0c2; }
.dropdown-menu { background:#17272d; border-color:#35515a; box-shadow:0 16px 36px rgba(0,0,0,.34); }
.dropdown-menu a { color:#c0cfca; }
.dropdown-menu a:hover { background:#21383e; color:#62dbcd; }
.menu-toggle { background:#17272d; border-color:#35515a; }
.menu-toggle-lines i { background:#eaf2ee; }
.page-grid { width:min(1490px,calc(100% - 52px)); gap:clamp(18px,2vw,30px); }
.page-hero {
  min-height:300px;
  padding:clamp(28px,4vw,52px);
  border-radius:3px 38px 3px 38px;
  background-image:linear-gradient(90deg,rgba(9,22,27,.88) 0%,rgba(9,22,27,.58) 53%,rgba(9,22,27,.12) 100%),url('/assets/images/reunion-guide_russe-tourism-01.jpg');
  background-size:cover;
  background-position:center 48%;
  border-bottom:3px solid var(--green);
}
.page-hero::after { content:''; right:18px; bottom:8px; width:34px; height:34px; border:1px solid rgba(255,255,255,.42); border-radius:50%; color:transparent; font-size:0; }
.page-hero .kicker { color:#80e0d2; }
.page-hero h1 { max-width:760px; font-size:clamp(36px,4.8vw,59px); font-weight:700; letter-spacing:-.055em; }
.page-hero p:last-child { color:#eef5f1; }
.content section { background:var(--white); border-color:var(--line); border-radius:3px 18px 3px 18px; box-shadow:0 10px 28px rgba(2,10,13,.12); }
.content h2,.content h3 { color:var(--ink); font-family:var(--sans); font-weight:650; letter-spacing:-.035em; }
.content p,.content ul,.content ol { color:var(--body); }
.kicker,.side-kicker { color:#f2a36b; }
.side-card { background:#17272d; border-color:var(--line); border-radius:3px 15px 3px 15px; box-shadow:0 10px 24px rgba(2,10,13,.12); }
.side-card h2 { color:var(--ink); font-family:var(--sans); font-weight:650; }
.side-card p,.side-links a { color:var(--body); }
.side-card-soft { background:#1c3034; }
.side-card-dark { background:linear-gradient(145deg,#124249,#17343a); border-color:#27656a; }
.side-card-dark .side-kicker { color:#ffb67f; }
.side-card-dark p { color:#e1efeb; }
.side-button { background:#65d3c5; color:#112629; border-radius:3px 10px 3px 10px; }
.text-link,.source-list a { color:#55cfc1; }
.notice { background:#20353a; color:#d0ddd8; border-left-color:#f2a36b; }
.notice strong { color:#f5bc93; }
.warning { background:#3a2a27; border-left-color:#ff765f; }
.info-tile { background:#1c3034; border-color:#2f484d; }
.map-placeholder { background:linear-gradient(135deg,#1a4244,#1d343a); color:#8de0d2; border-color:#31565b; }
.button-link { background:#29a99e; color:#082124; }
.button-link:hover { background:#54d0c2; }
.site-footer { background:#0b1418; border-top:1px solid #294148; }
.footer-brand .brand-icon { background:#f2a36b; color:#142126; }
.footer-inner p { color:#9bb0aa; }
.article-photos { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin:0; }
.article-photo { background:#17272d; border-color:#2b4148; border-radius:3px 15px 3px 15px; }
.article-photo img { height:clamp(150px,19vw,250px); }
.article-photo figcaption { color:#a5bbb4; padding:9px 12px; }
@media(max-width:1050px) {
  .page-hero { min-height:270px; }
}
@media(max-width:780px) {
  .site-header { background:#101b20; }
  .page-grid { width:calc(100% - 34px); }
  .page-hero { min-height:235px; border-radius:3px 25px 3px 25px; background-position:center; }
  .sidebar,.sidebar-left,.sidebar-right { position:static; }
  .content section { border-radius:3px 14px 3px 14px; }
}
@media(max-width:520px) {
  .page-hero { min-height:220px; padding:23px; background-position:57% center; }
  .page-hero h1 { font-size:35px; }
  .article-photos { grid-template-columns:1fr; }
  .article-photo img { height:auto; max-height:320px; }
}

/* Верхняя фото-обложка всех страниц; исходник указан прямо в includes/header.php. */
.site-cover{position:relative;height:clamp(155px,22vw,270px);overflow:hidden;background:#15323a;border-bottom:3px solid #30b8aa}
.site-cover img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 52%;opacity:.82}
.site-cover::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,22,27,.74),rgba(8,22,27,.08) 80%)}
.site-cover-caption{position:absolute;z-index:1;left:max(24px,calc((100% - 1320px)/2));bottom:clamp(18px,4vw,42px);display:flex;flex-direction:column;gap:4px;color:#fff;text-shadow:0 2px 14px rgba(0,0,0,.5)}
.site-cover-caption span{color:#84e0d4;font-size:10px;font-weight:800;letter-spacing:.19em;text-transform:uppercase}
.site-cover-caption strong{font-size:clamp(21px,3vw,34px);font-weight:650;letter-spacing:-.04em}
.page-hero{background-image:none;background:linear-gradient(130deg,#15363d,#24585b 58%,#344950);min-height:235px;border-radius:3px 28px 3px 28px}
.page-hero::after{content:'✦';right:28px;bottom:14px;width:auto;height:auto;border:0;color:rgba(139,226,211,.22);font-size:95px;line-height:1}
@media(max-width:780px){.site-cover{height:190px}.site-cover-caption{left:18px;right:18px;bottom:17px}.site-cover-caption strong{font-size:23px}}
@media(max-width:520px){.site-cover{height:155px}.site-cover-caption span{font-size:8px}.site-cover-caption strong{font-size:19px}.page-hero{min-height:205px}}


/* Галерея статей: аккуратные превью в одинаковых рамках; по нажатию открывается полный оригинал. */
.article-photos {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
  align-items: start;
}
.article-photo {
  min-width: 0;
  margin: 0;
  overflow: hidden;
  background: #17272d;
  border: 1px solid #2b4148;
  border-radius: 8px;
}
.article-photo-link {
  display: block;
  height: clamp(105px, 12vw, 155px);
  overflow: hidden;
  background: #20343a;
}
.article-photo-link img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center;
  transition: transform .25s ease, filter .25s ease;
}
.article-photo-link:hover img,
.article-photo-link:focus-visible img {
  transform: scale(1.045);
  filter: brightness(1.06);
}
.article-photo figcaption {
  min-height: 34px;
  padding: 7px 9px;
  color: #a5bbb4;
  font-size: 10px;
  line-height: 1.35;
}
.article-photo-link:focus-visible { outline: 2px solid #65d3c5; outline-offset: -3px; }
@media (max-width: 1050px) {
  .article-photos { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
  .article-photo-link { height: clamp(100px, 16vw, 145px); }
}
@media (max-width: 780px) {
  .article-photos { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .article-photo-link { height: clamp(115px, 28vw, 175px); }
}
@media (max-width: 420px) {
  .article-photos { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .article-photo-link { height: 112px; }
  .article-photo figcaption { min-height: 32px; padding: 6px 7px; font-size: 9px; }
}
@media (prefers-reduced-motion: reduce) {
  .article-photo-link img { transition: none; }
}


/* EMIGRATION24: requested site-wide header and footer photo backgrounds. */
.site-cover {
  position: relative;
  height: clamp(170px, 24vw, 300px);
  overflow: hidden;
  background-color: #17343a;
  background-image:
    linear-gradient(90deg, rgba(7, 20, 25, .72) 0%, rgba(7, 20, 25, .27) 60%, rgba(7, 20, 25, .08) 100%),
    url('/assets/images/reunion-guide_russe-tourism-01.jpg');
  background-position: center 52%;
  background-size: cover;
  border-bottom: 3px solid #30b8aa;
}
.site-cover-caption {
  position: absolute;
  z-index: 1;
  left: max(24px, calc((100% - 1320px) / 2));
  bottom: clamp(18px, 4vw, 42px);
  display: flex;
  flex-direction: column;
  gap: 4px;
  color: #fff;
  text-shadow: 0 2px 14px rgba(0, 0, 0, .55);
}
.site-cover-caption span { color: #8de2d6; font-size: 10px; font-weight: 800; letter-spacing: .19em; text-transform: uppercase; }
.site-cover-caption strong { font-size: clamp(21px, 3vw, 34px); font-weight: 700; letter-spacing: -.04em; }
.site-footer {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background-color: #10252b;
  background-image:
    linear-gradient(rgba(8, 22, 27, .82), rgba(8, 22, 27, .86)),
    url('/assets/images/reunion_guide_russe-5.jpg');
  background-position: center 55%;
  background-size: cover;
  border-top: 1px solid rgba(180, 225, 215, .2);
}
.footer-inner { position: relative; z-index: 1; }
@media (max-width: 780px) {
  .site-cover { height: 190px; background-position: center; }
  .site-cover-caption { left: 18px; right: 18px; bottom: 17px; }
  .site-cover-caption strong { font-size: 23px; }
}
@media (max-width: 520px) {
  .site-cover { height: 155px; background-position: 57% center; }
  .site-cover-caption span { font-size: 8px; }
  .site-cover-caption strong { font-size: 19px; }
}
