/* =============================================================================
   BEAVERS — VIP-страница «Шлюз №5 и бобры» (Мазурский канал)
   Scoped к body.beavers-tpl / .beavers-page. Не влияет на остальной сайт.
   Палитра: вода, медь, мох, патина. Шрифты: Cormorant Garamond + Inter.
   Источник макета: uploads/beavers-kedo/index.html (перенесён 1-в-1, заскоплен).
   ========================================================================== */

/* ---------- Шрифты (локальные woff2 — общие с homliny, глобально OK) ---------- */
@font-face{font-family:'Cormorant Garamond';font-weight:700;font-display:swap;src:url('../fonts/homliny/cormorant-garamond-cyrillic-700-normal.woff2') format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}
@font-face{font-family:'Cormorant Garamond';font-weight:600;font-display:swap;src:url('../fonts/homliny/cormorant-garamond-cyrillic-600-normal.woff2') format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:600;font-display:swap;src:url('../fonts/homliny/cormorant-garamond-cyrillic-600-italic.woff2') format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}
@font-face{font-family:'Inter';font-weight:400;font-display:swap;src:url('../fonts/homliny/inter-cyrillic-400-normal.woff2') format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}
@font-face{font-family:'Inter';font-weight:500;font-display:swap;src:url('../fonts/homliny/inter-cyrillic-500-normal.woff2') format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}
@font-face{font-family:'Inter';font-weight:600;font-display:swap;src:url('../fonts/homliny/inter-cyrillic-600-normal.woff2') format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}

/* ---------- Токены (на body.beavers-tpl, чтобы не утекали глобально) ---------- */
body.beavers-tpl{
  --teal:#1F6F78; --teal-soft:#4A9097; --copper:#A95F32; --copper-soft:#C88159;
  --moss:#4F7D4A; --moss-soft:#6E9968; --water:#173E46; --amber:#B88845;
  --cream:#F8F1E3; --ink:#33271A; --ink-soft:#6A5640;
  --fd:"Cormorant Garamond",Georgia,serif; --fs:"Inter",system-ui,sans-serif;
  --wrap:1080px; --shadow:0 16px 42px rgba(23,62,70,.24);
}

/* Базовая типографика страницы — только внутри .beavers-page,
   чтобы не трогать оформление шапки/подвала GeneratePress. */
body.beavers-tpl{scroll-behavior:smooth;}
body.beavers-tpl .beavers-page{
  font-family:var(--fs);color:var(--ink);line-height:1.62;
  background:#E9DCC0 url('../../../../uploads/beavers-kedo/img/paper-bg.webp') repeat;background-size:760px;-webkit-font-smoothing:antialiased;
}
body.beavers-tpl .beavers-page *{box-sizing:border-box;}
body.beavers-tpl .beavers-page img{display:block;max-width:100%;}

/* === Освобождаем контейнеры GeneratePress: убираем белую подложку .inside-article ===
   (в standalone-макете её не было; внутри WP белый бокс торчал за прозрачными
   углами медальонов/баннеров — как у хомлинов делаем контейнеры прозрачными) */
body.beavers-tpl{background:#E9DCC0 url('../../../../uploads/beavers-kedo/img/paper-bg.webp') repeat;background-size:760px;}
body.beavers-tpl #content,body.beavers-tpl .site-content,body.beavers-tpl .content-area,body.beavers-tpl #primary,body.beavers-tpl .site-main{max-width:100%;width:100%;padding:0;margin:0;float:none;}
body.beavers-tpl .inside-article,body.beavers-tpl .entry-content,body.beavers-tpl article{background:transparent!important;padding:0!important;margin:0!important;border:0!important;box-shadow:none!important;}
body.beavers-tpl .wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px;}
body.beavers-tpl h1,body.beavers-tpl .beavers-page h2,body.beavers-tpl .beavers-page h3{font-family:var(--fd);font-weight:700;line-height:1.05;}
body.beavers-tpl .eyebrow{font:600 12.5px/1 var(--fs);letter-spacing:.2em;text-transform:uppercase;color:var(--teal);}
body.beavers-tpl .h2{font-size:clamp(30px,4.7vw,48px);color:var(--water);margin-bottom:.4em;}
body.beavers-tpl .lead{font-size:clamp(16px,2.1vw,19px);color:var(--ink-soft);max-width:60ch;}
body.beavers-tpl section{position:relative;padding:clamp(48px,7vw,88px) 0;}
body.beavers-tpl section + section::before{content:"";position:absolute;top:0;left:7%;right:7%;height:2px;background:linear-gradient(90deg,transparent,rgba(169,95,50,.3),transparent);}
body.beavers-tpl .prose p{margin-bottom:1.05em;font-size:clamp(16px,2vw,18px);max-width:64ch;}
body.beavers-tpl .prose strong{color:var(--copper);}
body.beavers-tpl .btn{display:inline-flex;align-items:center;gap:.5em;font:600 15px/1 var(--fs);padding:14px 24px;border-radius:999px;text-decoration:none;border:1.6px solid transparent;cursor:pointer;transition:.2s;}
body.beavers-tpl .btn--main{background:linear-gradient(135deg,var(--copper-soft),var(--copper));color:#fff;box-shadow:0 8px 22px rgba(169,95,50,.4);}
body.beavers-tpl .btn--main:hover{transform:translateY(-2px);}
body.beavers-tpl .btn--ghost{border-color:rgba(255,255,255,.5);color:#fff;}
body.beavers-tpl .btn--ghost:hover{background:rgba(255,255,255,.12);}
body.beavers-tpl .btn--teal{background:var(--teal);color:#fff;}
body.beavers-tpl .btn--teal:hover{background:var(--water);}

/* HERO */
body.beavers-tpl .hero{min-height:84svh;display:flex;align-items:flex-end;position:relative;color:#fff;overflow:hidden;}
body.beavers-tpl .hero__bg{position:absolute;inset:0;}
body.beavers-tpl .hero__bg img{width:100%;height:100%;object-fit:cover;}
body.beavers-tpl .hero__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(23,40,46,.1),rgba(23,40,46,0) 30%,rgba(23,46,50,.5) 70%,rgba(20,40,44,.85));}
body.beavers-tpl .hero__in{position:relative;z-index:2;width:100%;max-width:var(--wrap);margin:0 auto;padding:0 24px 8vh;}
body.beavers-tpl .hero h1{font-size:clamp(40px,8vw,76px);color:#fff;text-shadow:0 3px 30px rgba(0,0,0,.55);margin:.1em 0;}
body.beavers-tpl .hero .eyebrow{color:#bfe3df;}
body.beavers-tpl .hero__sub{font-size:clamp(16px,2.3vw,20px);color:#eef5f2;max-width:44ch;text-shadow:0 2px 14px rgba(0,0,0,.55);}
body.beavers-tpl .hero__cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:24px;}

body.beavers-tpl .split{display:grid;gap:34px;align-items:center;}
@media(min-width:860px){body.beavers-tpl .split{grid-template-columns:1.05fr .95fr;}body.beavers-tpl .split--rev .split__art{order:-1;}}
body.beavers-tpl .art{border-radius:12px;box-shadow:var(--shadow);width:100%;border:5px solid var(--cream);}
body.beavers-tpl .cap{font:italic 500 14px/1.4 var(--fd);color:var(--ink-soft);text-align:center;margin-top:8px;}

/* пергаментная карточка */
body.beavers-tpl .pcard{background:linear-gradient(180deg,#fbf5e8,#f3e9d3);border:1px solid rgba(169,95,50,.28);border-radius:16px;
  box-shadow:var(--shadow);padding:26px 28px;}
body.beavers-tpl .pcard h3{display:flex;align-items:center;gap:10px;font-size:23px;color:var(--copper);margin-bottom:.4em;}
body.beavers-tpl .pcard h3 img{width:30px;height:30px;}
body.beavers-tpl .pcard p{font-size:16px;color:var(--ink-soft);margin-bottom:.8em;}

/* стат-плашки */
body.beavers-tpl .stats{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:28px;}
@media(min-width:680px){body.beavers-tpl .stats{grid-template-columns:repeat(4,1fr);}}
body.beavers-tpl .stat{background:rgba(31,111,120,.07);border:1px solid rgba(31,111,120,.2);border-radius:12px;padding:20px 14px;text-align:center;}
body.beavers-tpl .stat b{display:block;font-family:var(--fd);font-size:34px;color:var(--water);line-height:1;}
body.beavers-tpl .stat span{font-size:12.5px;color:var(--ink-soft);}

/* === КВЕСТ-БЛОК (как в приложении) === */
body.beavers-tpl .s-quest{background:radial-gradient(90% 70% at 50% 0%, rgba(31,111,120,.10), transparent);}
body.beavers-tpl .qhead{text-align:center;margin-bottom:8px;}
body.beavers-tpl .qbadge{display:inline-flex;align-items:center;gap:8px;background:var(--cream);border:1px solid rgba(169,95,50,.3);border-radius:999px;padding:7px 16px;font-weight:600;color:var(--copper);box-shadow:0 6px 16px rgba(0,0,0,.08);}
body.beavers-tpl .qbadge img{width:22px;height:22px;}
body.beavers-tpl .qprogress{max-width:420px;margin:14px auto 0;}
body.beavers-tpl .qbar{height:12px;border-radius:999px;background:rgba(23,62,70,.14);overflow:hidden;}
body.beavers-tpl .qbar i{display:block;height:100%;width:40%;border-radius:999px;background:linear-gradient(90deg,var(--moss-soft),var(--moss));}
body.beavers-tpl .qcount{font-size:13px;color:var(--ink-soft);text-align:center;margin-top:6px;}

body.beavers-tpl .qgrid{display:grid;gap:28px;align-items:start;margin-top:34px;}
@media(min-width:860px){body.beavers-tpl .qgrid{grid-template-columns:1.05fr .95fr;}}
/* карта зоны с точками */
body.beavers-tpl .zmap{position:relative;border-radius:16px;overflow:hidden;box-shadow:var(--shadow);border:5px solid var(--cream);}
body.beavers-tpl .zmap__title{position:absolute;top:10px;left:50%;transform:translateX(-50%);z-index:3;width:min(80%,340px);}
body.beavers-tpl .zmap__title img{width:100%;}
body.beavers-tpl .zmap__title span{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--fd);font-weight:700;font-size:clamp(18px,3.6vw,26px);color:#3a2a16;letter-spacing:.06em;text-shadow:0 1px 0 rgba(255,255,255,.35),0 -1px 0 rgba(0,0,0,.35);padding-bottom:4px;}
body.beavers-tpl .zmap__img{width:100%;height:auto;display:block;aspect-ratio:1000/1250;}
body.beavers-tpl .zp{position:absolute;transform:translate(-50%,-50%);width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font:700 15px/1 var(--fs);color:#fff;border:2.5px solid #fff;box-shadow:0 4px 10px rgba(0,0,0,.45);text-decoration:none;z-index:2;}
body.beavers-tpl .zp--done{background:var(--moss);}
body.beavers-tpl .zp--active{background:var(--copper);width:42px;height:42px;font-size:18px;z-index:3;}
body.beavers-tpl .zp--lock{background:#8a8275;}
body.beavers-tpl .zp--active::after{content:"";position:absolute;inset:-8px;border-radius:50%;border:2px solid var(--copper);opacity:.6;animation:bv-pp 2.4s ease-out infinite;}
@keyframes bv-pp{0%{transform:scale(.7);opacity:.6}80%,100%{transform:scale(1.7);opacity:0}}

body.beavers-tpl .tasks{list-style:none;display:grid;gap:12px;margin-top:6px;}
body.beavers-tpl .tasks li{display:flex;align-items:center;gap:12px;font-size:15.5px;color:var(--ink);}
body.beavers-tpl .tasks img.ti{width:30px;height:30px;flex:0 0 auto;}
body.beavers-tpl .tasks .st{margin-left:auto;flex:0 0 auto;}
body.beavers-tpl .tasks .st img{width:24px;height:24px;}
body.beavers-tpl .tasks .st b{font-size:13px;color:var(--amber);}

/* === МАСКОТЫ === */
body.beavers-tpl .mascots{display:grid;grid-template-columns:repeat(2,1fr);gap:30px 18px;margin-top:36px;}
@media(min-width:720px){body.beavers-tpl .mascots{grid-template-columns:repeat(3,1fr);}}
body.beavers-tpl .mascot{text-align:center;}
body.beavers-tpl .mascot__img{width:clamp(120px,20vw,168px);height:clamp(120px,20vw,168px);margin:0 auto;object-fit:contain;filter:drop-shadow(0 10px 18px rgba(0,0,0,.3));}
body.beavers-tpl .mascot--lock .mascot__img{filter:drop-shadow(0 10px 18px rgba(0,0,0,.3)) grayscale(.5) brightness(.85);}
body.beavers-tpl .mascot__banner{position:relative;width:clamp(150px,22vw,190px);margin:-18px auto 0;}
body.beavers-tpl .mascot__banner img{width:100%;}
body.beavers-tpl .mascot__banner span{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--fd);font-weight:700;font-size:clamp(15px,2.6vw,19px);color:#2d1b0e;letter-spacing:.04em;text-shadow:0 1px 0 rgba(255,255,255,.35),0 -1px 0 rgba(0,0,0,.4);padding-bottom:3px;}
body.beavers-tpl .mascot__quote{font:italic 500 14.5px/1.4 var(--fd);color:var(--ink-soft);margin-top:8px;max-width:22ch;margin-left:auto;margin-right:auto;}

body.beavers-tpl .info{display:grid;gap:10px;margin-top:16px;}
body.beavers-tpl .info div{display:flex;gap:10px;font-size:15.5px;}
body.beavers-tpl .info dt{color:var(--teal);font-weight:600;min-width:140px;}
body.beavers-tpl .s-cta{background:radial-gradient(80% 70% at 50% 0%,rgba(31,111,120,.5),transparent),linear-gradient(180deg,var(--water),#0f2a30);color:#eef5f2;text-align:center;}
body.beavers-tpl .s-cta .h2{color:#fff;}
body.beavers-tpl .s-cta .lead{color:#bfe3df;margin:0 auto 22px;}
body.beavers-tpl .s-cta .btn{margin:6px;}

/* === МЕХАНИЗМ-ШЕСТЕРНИ (SVG, вращение) === */
body.beavers-tpl .eng-split{display:grid;gap:30px;align-items:center;}
@media(min-width:860px){body.beavers-tpl .eng-split{grid-template-columns:1.1fr .9fr;}}
body.beavers-tpl .mech-wrap{text-align:center;}
body.beavers-tpl .mech{width:min(100%,360px);height:auto;filter:drop-shadow(0 14px 30px rgba(23,62,70,.3));}
body.beavers-tpl .gear-big,body.beavers-tpl .pulley{transform-box:fill-box;transform-origin:center;}
body.beavers-tpl .gear-big{animation:bv-gear-spin 40s linear infinite;}
body.beavers-tpl .pulley{animation:bv-gear-spin 16s linear infinite reverse;}
@keyframes bv-gear-spin{to{transform:rotate(360deg);}}
@media(prefers-reduced-motion:reduce){body.beavers-tpl .gear-big,body.beavers-tpl .pulley{animation:none;}}

body.beavers-tpl .nearby-grid{display:grid;gap:18px;margin-top:24px;}
@media(min-width:760px){body.beavers-tpl .nearby-grid{grid-template-columns:repeat(3,1fr);}}
body.beavers-tpl .nearby-grid .pcard h3{font-size:21px;}
body.beavers-tpl .nearby-grid .pcard p{margin-bottom:0;}

/* === ТАРЗАН-БОБР (вау-слой) === */
body.beavers-tpl #tarzan{position:fixed;top:30%;left:0;width:200px;z-index:7;pointer-events:none;opacity:0;transition:opacity .35s ease;will-change:transform;transform-origin:50% 50%;}
body.beavers-tpl #tarzan .rope{position:absolute;bottom:81%;left:59%;width:4px;height:48vh;background:linear-gradient(to top,#7a4f24,#9a6730 60%,rgba(154,103,48,0));transform:translateX(-50%);border-radius:2px;}
body.beavers-tpl #tarzan img{width:100%;display:block;filter:drop-shadow(0 10px 16px rgba(0,0,0,.45));}
@media(prefers-reduced-motion:reduce){body.beavers-tpl #tarzan{display:none;}}
body.beavers-tpl #tarzan2{position:fixed;top:0;left:6%;width:180px;z-index:6;opacity:0;pointer-events:none;will-change:transform;transition:opacity .35s ease;transform-origin:50% 0;}
body.beavers-tpl #tarzan2 img{position:relative;width:100%;aspect-ratio:400/468;display:block;filter:drop-shadow(0 10px 16px rgba(0,0,0,.42));}
/* The rope continues offscreen and ends behind the raised hand, without a gap. */
body.beavers-tpl #tarzan2 .rope2{position:absolute;bottom:81%;left:59%;width:4px;height:100vh;background:linear-gradient(to right,#7a4f24,#9a6730);transform:translateX(-50%);border-radius:2px;}
@media(prefers-reduced-motion:reduce){body.beavers-tpl #tarzan2{display:none;}}

@media(max-width:600px){body.beavers-tpl #tarzan{width:132px;}body.beavers-tpl #tarzan .rope{width:3px;}body.beavers-tpl #tarzan2{width:120px;}body.beavers-tpl #tarzan2 .rope2{width:3px;}}
/* On narrow screens the moving mascots cross full-width copy. Keep the motion,
   but let the text show through instead of covering words. */
@media(max-width:1100px){body.beavers-tpl #tarzan img,body.beavers-tpl #tarzan2 img{opacity:.38;}body.beavers-tpl #tarzan .rope,body.beavers-tpl #tarzan2 .rope2{opacity:.45;}}
@media(max-width:600px){body.beavers-tpl #tarzan img,body.beavers-tpl #tarzan2 img{opacity:.26;}}

/* === Лента дат (история канала, по путеводителю Сарновски 2010) === */
body.beavers-tpl .tl{list-style:none;margin:34px 0 0;padding:0;display:grid;gap:10px;}
@media(min-width:760px){body.beavers-tpl .tl{grid-template-columns:1fr 1fr;}}
body.beavers-tpl .tl li{display:flex;gap:14px;align-items:flex-start;background:rgba(248,241,227,.55);border:1px solid rgba(169,95,50,.25);border-radius:12px;padding:12px 14px;}
body.beavers-tpl .tl b{flex:0 0 auto;min-width:62px;text-align:center;background:linear-gradient(135deg,var(--copper-soft),var(--copper));color:#fff;border-radius:999px;padding:5px 10px;font:700 14px/1.3 var(--fs);}
body.beavers-tpl .tl span{font-size:14.5px;line-height:1.5;color:var(--ink-soft);padding-top:3px;}

/* Quest promotion: same component at the beginning and end of the landing. */
body.beavers-tpl .bv-app__panel{display:grid;grid-template-columns:.85fr 1.15fr;align-items:center;gap:clamp(24px,4vw,64px);padding:clamp(24px,4vw,60px);border-radius:32px;background:radial-gradient(ellipse at 10% 30%,#326554,transparent 60%),#0c3028;color:#fff5dc;box-shadow:0 24px 60px #173e2b30;overflow:hidden;}
body.beavers-tpl .bv-app__visual{position:relative;padding:15px 30px 15px 0;max-width:390px;margin:auto;}
body.beavers-tpl .bv-app__phone{max-width:290px;border:8px solid #192823;border-radius:38px;padding:24px 17px;background:#f5ead4;box-shadow:18px 24px 38px #0006;transform:rotate(-5deg);color:#143d30;}
body.beavers-tpl .bv-app__brand{display:flex;justify-content:space-between;align-items:center;font:700 25px Georgia,serif;}
body.beavers-tpl .bv-app__brand span{font:600 10px Inter,sans-serif;letter-spacing:.08em;text-transform:uppercase;}
body.beavers-tpl .bv-app__phone-title{font:700 27px/1.1 "Cormorant Garamond",Georgia,serif;margin:20px 0;color:#143d30;}
body.beavers-tpl .bv-app__photos{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
body.beavers-tpl .bv-app__photos img{width:100%;height:125px;object-fit:cover;border-radius:10px;}
body.beavers-tpl .bv-app__phone-bottom{display:block;text-align:center;font:600 12px/1.4 Inter,sans-serif;margin-top:18px;}
body.beavers-tpl .bv-app__stamp{position:absolute;right:0;bottom:28px;background:#edb24b;color:#173e30;border-radius:50%;padding:24px;font:700 18px/1.2 Inter,sans-serif;transform:rotate(8deg);box-shadow:0 10px 24px #0003;}
body.beavers-tpl .bv-app__eyebrow{font:600 12px/1.5 Inter,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#efc776;}
body.beavers-tpl .bv-app__copy h2{font-size:clamp(36px,4vw,54px);color:#fff5dc;margin:14px 0 22px;}
body.beavers-tpl .bv-app__copy>p:not(.bv-app__eyebrow),body.beavers-tpl .bv-app__copy li{font-size:17px;line-height:1.65;color:#e1e9dc;}
body.beavers-tpl .bv-app__copy ul{margin:18px 0 24px 20px;}
body.beavers-tpl .bv-app__stores{display:flex;flex-wrap:wrap;gap:12px;}
body.beavers-tpl .bv-app__stores a{display:flex;flex-direction:column;min-width:160px;background:#fff3d8;border-radius:14px;padding:12px 22px;text-decoration:none;color:#153d30;}
body.beavers-tpl .bv-app__stores small{font-size:11px;letter-spacing:.06em;}
body.beavers-tpl .bv-app__stores strong{font-size:20px;}
body.beavers-tpl .bv-app__more{display:inline-block;margin-top:24px;color:#efc776;text-underline-offset:5px;}
body.beavers-tpl .bv-app a:focus-visible{outline:3px solid #efc776;outline-offset:4px;}
@media(max-width:760px){body.beavers-tpl .bv-app__panel{grid-template-columns:1fr;padding:30px 22px;}body.beavers-tpl .bv-app__visual{width:min(100%,320px);}body.beavers-tpl .bv-app__stores a{min-width:0;flex:1;padding:12px 15px;}}
