:root { --z-green:#0b5c48; --z-ease:cubic-bezier(.23,1,.32,1); }
.z-preview-navigation { display:none !important; }
.z-route-inline { display:inline-flex; align-items:center; min-height:44px; font-size:16px; font-weight:600; }
.z-directions { display:grid; grid-template-columns:minmax(280px,.8fr) minmax(0,1.25fr); gap:30px; margin-top:38px; padding:28px; border:1px solid #dce7da; border-radius:18px; background:#fff; scroll-margin-top:20px; }
.z-directions-copy { min-width:0; }
.z-directions-kicker { margin:0 0 8px; font:500 11px/1.5 'Roboto Mono',monospace; letter-spacing:.12em; text-transform:uppercase; color:#526a5e; }
.z-directions h2 { margin:0 0 15px; font-size:30px; line-height:1.15; letter-spacing:-.02em; }
.z-directions-address { font-size:17px; line-height:1.65; color:#3d4a44; margin:0 0 18px; }
.z-directions-landmark { display:flex; flex-direction:column; gap:5px; border-left:3px solid #0b5c48; padding:2px 0 2px 14px; }
.z-directions-landmark strong { font-size:17px; }
.z-directions-landmark span { font-size:14px; line-height:1.5; color:#5a665f; }
.z-directions-note { margin:17px 0 20px; font-size:15px; line-height:1.65; color:#5a665f; }
.z-directions-actions { display:flex; flex-wrap:wrap; gap:10px; align-items:center; }
.z-directions-actions a { display:inline-flex; min-height:46px; align-items:center; justify-content:center; gap:14px; padding:12px 17px; border:1px solid #c7d6c9; border-radius:999px; font-size:14px; line-height:1.4; font-weight:600; }
.z-directions-actions a.z-directions-primary { color:#fff; background:#0b5c48; border-color:#0b5c48; }
.z-directions a:focus-visible { outline:3px solid #63aa82; outline-offset:4px; }
.z-directions-bus { margin:20px 0 0; font-size:14px; line-height:1.7; color:#526a5e; }
.z-directions-bus a { display:inline-block; padding:6px 0; text-decoration:underline; text-underline-offset:3px; }
.z-directions-map { min-width:0; display:grid; grid-template-rows:minmax(380px,1fr) auto; overflow:hidden; border:1px solid #dce7da; border-radius:12px; background:#e4f0e5; }
.z-map-caption { display:flex; flex-wrap:wrap; justify-content:space-between; gap:4px 18px; background:#f4f8f2; padding:9px 14px; }
.z-map-stage { position:relative; min-width:0; min-height:0; }
.z-map-stage iframe { position:absolute; inset:0; width:100%; height:100%; border:0; visibility:hidden; }
.z-map-fallback { display:flex; height:100%; flex-direction:column; align-items:center; justify-content:center; padding:12px 0 20px; }
.z-map-fallback img { display:block; width:100%; max-width:640px; min-height:0; flex:1; object-fit:contain; }
.z-map-fallback span { display:inline-flex; align-items:center; min-height:44px; margin:12px 15px 0; padding:10px 17px; border:1px solid #b6cbbb; border-radius:999px; font-size:14px; font-weight:600; background:#f8fbf5; }
.z-map-ready iframe { visibility:visible; }
.z-map-ready .z-map-fallback { visibility:hidden; }
.z-map-caption a { display:inline-flex; align-items:center; min-height:34px; font-size:12px; line-height:1.5; }
@media(max-width:850px) { .z-directions { grid-template-columns:minmax(0,1fr); gap:22px; padding:22px; } .z-directions-map { grid-template-rows:370px auto; } }
@media(max-width:600px) { .z-directions { padding:20px 14px; margin-top:26px; } .z-directions h2 { font-size:26px; } .z-directions-address { font-size:16px; } .z-directions-actions { align-items:stretch; flex-direction:column; } .z-directions-map { grid-template-rows:350px auto; } #dc-root main[data-screen-label="О товариществе"] { padding-left:16px !important; padding-right:16px !important; } }
.z-charter-facts { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.4fr); gap:10px 20px; font-size:17px; color:#3d4a44; overflow-wrap:anywhere; }
.z-document-action { display:inline-flex; align-items:center; justify-content:center; min-height:46px; padding:12px 20px; border:1px solid #c7d6c9; border-radius:999px; background:#fff; color:#0b5c48; font-size:16px; font-weight:600; line-height:1.45; text-align:center; }
.z-document-action.z-document-primary { background:#0b5c48; border-color:#0b5c48; color:#fff; }
.z-charter-preview { display:block; color:#0b5c48; }
.z-charter-preview img { display:block; width:100%; height:auto; max-height:660px; object-fit:contain; border:1px solid #e6efe5; border-radius:8px; background:#fff; }
.z-charter-preview span { display:flex; justify-content:center; align-items:center; min-height:46px; padding:8px 12px; font-weight:600; }
.z-charter-page a:focus-visible { outline:3px solid #0b5c48; outline-offset:4px; }
@media(max-width:600px) { #dc-root .z-charter-page, #dc-root main[data-screen-label="Документы"] { padding-left:16px !important; padding-right:16px !important; } .z-charter-page h1 { font-size:26px !important; } .z-charter-facts { grid-template-columns:minmax(0,1fr); gap:6px; font-size:16px; } .z-charter-facts > span:nth-child(odd):not(:first-child) { margin-top:8px; } .z-document-action { width:100%; } }
zarechie-emblem { display:block; width:min(640px,100%); height:340px; margin:0 auto; }
.z-brand { position:relative; overflow:hidden; background:#f4f8f2; border-bottom:1px solid #dce7da; }
.z-brand::before { content:""; position:absolute; inset:0; background:url('./assets/pattern.png') center/430px; opacity:.26; pointer-events:none; }
.z-brand::after { content:""; position:absolute; inset:0; background:radial-gradient(ellipse at 50% 44%,#f7fbf2 0%,rgba(247,251,242,.6) 33%,transparent 74%); pointer-events:none; }
.z-brand-inner { position:relative; z-index:1; display:grid; grid-template-columns:250px minmax(0,1fr); gap:42px; align-items:center; max-width:1040px; margin:auto; padding:24px 40px; text-align:left; }
.z-brand zarechie-emblem { width:250px; height:220px; margin:0; }
.z-brand-copy { min-width:0; }
.z-brand-title { margin:0; line-height:1; }
.z-eyebrow { margin:0 0 12px; color:#526a5e; font-family:'Roboto Mono',monospace; font-size:11px; line-height:1.7; letter-spacing:.10em; text-transform:uppercase; }
.z-wordmark { display:block; width:min(520px,100%); height:auto; margin:0; }
.z-brand-caption { margin:10px 0 8px; color:#405d4e; font-size:17px; line-height:1.5; letter-spacing:.025em; }
.z-brand-links { display:flex; align-items:center; flex-wrap:wrap; gap:4px 20px; }
.z-brand-links > a { display:inline-flex; align-items:center; min-height:44px; font-size:14px; font-weight:600; }
.z-brand .z-replay { border-color:transparent; padding:8px 10px; }
.z-example-label { font:400 12px/1.5 'Roboto Mono',monospace; text-transform:none; letter-spacing:0; color:#5a4413; background:#fcf7ea; border:1px solid #e8ce8e; border-radius:999px; padding:2px 8px; }
#dc-root header nav a { display:inline-flex; align-items:center; justify-content:center; min-height:44px; }
.z-nav-short { display:none; }
#dc-root header nav a[aria-current="page"] { background:#e4f0e5; color:#0b5c48 !important; box-shadow:inset 0 -2px 0 #0b5c48; }
#dc-root a:focus-visible { outline:3px solid #0b5c48; outline-offset:4px; }
#dc-root footer a:focus-visible { outline-color:#fff; }
.z-footer-info { min-width:0; max-width:560px; }
.z-footer-brand { display:inline-flex; align-items:center; gap:13px; min-height:44px; max-width:100%; }
.z-footer-brand img { display:block; filter:brightness(0) invert(1); background:transparent; }
.z-footer-mark { height:42px; width:auto; flex:none; }
.z-footer-wordmark { width:238px; max-width:calc(100% - 63px); height:auto; }
.z-footer-info p { margin:14px 0 0; }
.z-replay { display:inline-flex; justify-content:center; align-items:center; gap:12px; min-height:44px; padding:9px 17px; font:500 13px 'Golos Text',Arial,sans-serif; color:#315746; background:transparent; border:1px solid #cddfd2; border-radius:999px; cursor:pointer; transition:background 160ms ease,border-color 160ms ease,transform 120ms var(--z-ease); }
.z-replay span { font:22px Arial,sans-serif; line-height:1; }
.z-replay:active { transform:scale(.97); }
.z-replay:focus-visible { outline:3px solid #63aa82; outline-offset:4px; }
@media(hover:hover) and (pointer:fine) { .z-replay:hover { background:#e7f0e7; border-color:#9cbeaa; } }
@media(min-width:601px) and (max-width:900px) {
  .z-brand-inner { grid-template-columns:180px minmax(0,1fr); gap:24px; padding:24px; }
  .z-brand zarechie-emblem { width:180px; height:180px; }
  .z-brand-caption { font-size:16px; }
  .z-eyebrow { font-size:10px; letter-spacing:.06em; }
}
@media(max-width:600px) {
  zarechie-emblem { height:280px; }
  .z-brand-inner { grid-template-columns:100px minmax(0,1fr); gap:12px; padding:20px 16px; }
  .z-brand zarechie-emblem { width:100px; height:120px; }
  .z-eyebrow { display:none; }
  .z-wordmark { width:100%; }
  .z-brand-caption { font-size:14px; margin:8px 0 2px; }
  .z-brand-links { gap:0; }
  .z-brand-links > a { font-size:13px; }
  .z-brand .z-replay { padding:4px 0; gap:7px; font-size:11px; min-height:44px; }
  .z-nav-short { display:inline; }
  .z-nav-long { display:none; }
  #dc-root .z-location-bar { padding:10px 16px !important; gap:5px !important; font-size:12px !important; line-height:1.5; }
  #dc-root header { padding:16px !important; gap:14px !important; }
  #dc-root header > a img { height:32px !important; }
  #dc-root header nav { display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)); width:100%; margin-left:0 !important; font-size:14px !important; }
  #dc-root header nav a { padding:7px 4px !important; line-height:1.3; text-align:center; border-radius:10px !important; }
  #dc-root main:not([data-screen-label="Главная"]), #dc-root main[data-screen-label="Главная"] > div, #dc-root main[data-screen-label="Главная"] > section:not(.z-brand) { padding-left:16px !important; padding-right:16px !important; }
  #dc-root .z-home-notice { padding-top:28px !important; padding-bottom:28px !important; gap:24px !important; }
  .z-home-notice h2 { font-size:32px !important; }
  #dc-root footer { padding:28px 20px !important; gap:24px !important; }
}
@media(prefers-reduced-motion:reduce) {
  .z-replay { transition:none; }
  .z-replay:active { transform:none; }
  .z-replay { display:none; }
}
