/* ===== Страница поста /fasts/{адрес}-{год} (05.10). Общие стили: главная + календарь + «Сегодня» + страница события ===== */
.fpage h1 .fy{color:#e6c98f;font-weight:300}
.fpage .card.c2 .row a{color:#e6c98f;font-weight:600}
.fbar{height:6px;margin:2px 0 10px;border-radius:6px;background:rgba(255,255,255,.18);overflow:hidden}
.fbar i{display:block;height:100%;border-radius:6px;background:linear-gradient(90deg,#d6a23c,#f0d28e)}
.fpage .mlist{display:flex;flex-direction:column;gap:4px;margin:8px 0 10px}
.fpage .mlist a{display:flex;gap:10px;align-items:baseline;color:#fff;font-size:15px;line-height:1.35}
.fpage .mlist a b{flex:none;min-width:52px;font-size:15px;color:#e2c68f}
.fpage .mlist a span{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.fpage .mlist a:hover span{text-decoration:underline}

/* 2. Путь поста — лента дней на стекле */
.fflow{padding-top:88px}
.fpath{padding:28px 30px 26px;border-radius:28px;background:rgba(16,30,52,.42);border:1px solid rgba(255,255,255,.16);box-shadow:0 30px 70px rgba(13,22,34,.25);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);scroll-margin-top:24px}
.fpath[hidden]{display:none}
.fph{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}
.fph .eyebrow{color:#e2c68f}
.fph h2{margin:8px 0 0;font-size:clamp(24px,2.2vw,32px);font-weight:300;letter-spacing:-.02em;color:#fff}
.fph p{margin:0;max-width:360px;font-size:15px;line-height:1.5;color:rgba(255,255,255,.7)}
.fprow{position:relative;display:flex;gap:3px;margin-top:14px;padding-top:24px;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scrollbar-color:rgba(214,162,60,.6) transparent;padding-bottom:14px}
.fpm{flex:1 1 0;min-width:0}
.fpm.fpfeast{flex:none}
.fpmh{margin-bottom:8px;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.6)}
.fpg{display:flex;gap:4px}
.fpc{position:relative;flex:1 1 0;min-width:22px;max-width:56px;display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 0 9px;border-radius:10px;background:rgba(189,231,255,.14);border:1px solid rgba(189,231,255,.18);color:#fff;transition:background .2s,transform .2s}
.fpc small{font-size:11px;color:rgba(255,255,255,.6)}
.fpc b{font-size:16px;font-weight:600;line-height:1}
.fpc.sun small{color:#f0d28e}
.fpc.past{opacity:.45}
.fpc:hover,.fpc.hl{background:rgba(189,231,255,.32);transform:translateY(-2px)}
.fpc.key:after{content:"";position:absolute;bottom:-7px;left:50%;width:6px;height:6px;margin-left:-3px;border-radius:50%;background:#d6a23c}
.fpc.k-12,.fpc.k-big,.fpc.k-honored{background:rgba(214,162,60,.28);border-color:rgba(240,210,142,.55)}
.fpc.now{background:linear-gradient(150deg,#BDE7FF 31%,#BDFFF4 100%);border-color:#fff;color:#1b2a3d;opacity:1}
.fpc.now small{color:#44587a}
.fpc.fest{flex:none;width:56px;margin-left:14px;background:linear-gradient(160deg,#f0d28e,#d6a23c);border-color:#f6e2b4;color:#1b2a3d}
.fpc.fest small{color:#5b4417}
.fpkeys{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0 0;padding:0;list-style:none}
.fpkeys a{display:flex;align-items:baseline;gap:8px;padding:8px 14px;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);color:#fff;font-size:15px;transition:background .2s}
.fpkeys b{font-weight:700;color:#f0d28e;white-space:nowrap}
.fpkeys li.hl a,.fpkeys a:hover{background:rgba(255,255,255,.22)}
.fpkeys .k-12 a,.fpkeys .k-pascha a,.fpkeys .k-big a{border-color:rgba(240,210,142,.5)}
/* однодневный пост: три дня — канун, пост, праздник */
.fpone{display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:12px;margin-top:22px}
.fpd{display:flex;flex-direction:column;align-items:center;gap:2px;padding:18px 12px;border-radius:18px;background:rgba(189,231,255,.12);border:1px solid rgba(189,231,255,.18);color:#fff;text-align:center;transition:background .2s}
.fpd:hover{background:rgba(189,231,255,.24)}
.fpd small{font-size:13px;color:rgba(255,255,255,.65)}
.fpd b{font-size:40px;font-weight:300;line-height:1.1}
.fpd span{font-size:15px;color:rgba(255,255,255,.8)}
.fpd em{margin-top:8px;font-style:normal;font-size:15px;font-weight:600;color:#f0d28e}
.fpd.on{background:linear-gradient(160deg,rgba(214,162,60,.4),rgba(214,162,60,.18));border-color:rgba(240,210,142,.6)}
.fpd.on b{font-weight:500}

/* 3. Обложка + тексты */
.fflow .etabs2{margin-top:44px}
.fbody{grid-template-columns:minmax(0,420px) minmax(0,1fr)}
.fcover{top:24px}
.fvA .fcover{top:96px}
.fcov{position:relative;aspect-ratio:1264/848;border-radius:18px;overflow:hidden;background:#0d1a2e;box-shadow:0 40px 90px rgba(13,22,34,.4),0 0 0 1px rgba(255,255,255,.12)}
.fcov img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.fshort{margin:14px 4px 0;font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#8f6c30}
.ftext .fsh{margin:0 0 20px;font-size:clamp(26px,2.3vw,34px);font-weight:300;letter-spacing:-.02em;line-height:1.15;color:#1b2a3d}
.fprose p{font-size:19px;line-height:1.75;color:#1f3048;margin:0 0 18px}
.fprose p:first-child{font-size:21px;line-height:1.65;color:#1b2a3d}
.fprose strong,.fprose b{font-weight:600;color:#1b2a3d}
.fprose ul{margin:0 0 18px;padding-left:22px}.fprose li{font-size:19px;line-height:1.7;color:#1f3048;margin-bottom:6px}
.fvA .fsh{display:none}
/* B — длинная статья: разделы подряд, оглавление под обложкой */
.fvB .ftsec+.ftsec{margin-top:48px;padding-top:44px;border-top:1px solid rgba(27,42,61,.12)}
.fvB .ftsec{scroll-margin-top:24px}
.fvB .fbody{margin-top:52px}
.ftoc{display:flex;flex-direction:column;gap:2px;margin-top:22px;padding:14px 10px;border-radius:22px;background:rgba(255,255,255,.7);border:1px solid rgba(255,255,255,.9);box-shadow:inset 0 1px 0 #fff,0 18px 44px rgba(27,42,61,.08);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.ftoch{padding:4px 12px 8px;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#8f6c30}
.ftoc a{position:relative;display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:14px;font-size:16px;font-weight:600;color:#1b2a3d;transition:background .2s}
.ftoc a:hover{background:rgba(255,255,255,.85)}
.ftoc a.on{background:linear-gradient(90deg,rgba(246,238,223,.95),rgba(255,255,255,.7))}
.ftoc a.on:before{content:"";position:absolute;left:0;top:9px;bottom:9px;width:3px;border-radius:3px;background:#d6a23c}
.ftoc svg{width:20px;height:20px;flex:none;fill:none;stroke:#d6b070;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}

/* 4. Все посты года */
.fother{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px;margin-top:28px}
.fo{display:flex;flex-direction:column;border-radius:22px;overflow:hidden;background:rgba(255,255,255,.72);border:1px solid rgba(255,255,255,.9);box-shadow:0 14px 36px rgba(27,42,61,.08);transition:transform .2s,box-shadow .2s}
.fo:hover{transform:translateY(-3px);box-shadow:0 22px 50px rgba(27,42,61,.14)}
.fo.on{outline:2px solid #d6a23c;outline-offset:-2px}
.foimg{position:relative;aspect-ratio:1264/848;background:#0d1a2e}
.foimg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.fot{display:flex;flex-direction:column;gap:4px;padding:14px 18px 18px}
.fot small{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#8f6c30}
.fot b{font-size:18px;font-weight:600;line-height:1.25;color:#1b2a3d}
.fot span{font-size:15px;color:#44587a}
.fot em{margin-top:4px;font-style:normal;font-size:14px;font-weight:600;color:#2d5480}
.fo.on .fot em{color:#8f6c30}

@media(max-width:900px){
 .fflow{padding-top:56px}
 .fpath{margin:0 -20px;padding:22px 20px;border-radius:0}
 .fpc{min-width:38px}
 .fpkeys a{font-size:14px;padding:7px 12px}
 .fpone{grid-template-columns:1fr 1.3fr 1fr;gap:8px}.fpd{padding:14px 6px}.fpd b{font-size:30px}.fpd em{font-size:13px}
 .fbody{grid-template-columns:1fr}
 .fcover{position:static}
 .fprose p,.fprose li{font-size:18px}.fprose p:first-child{font-size:19px}
 .ftoc{display:none}
 .fother{grid-template-columns:1fr 1fr;gap:12px}.fot{padding:12px 14px 14px}.fot b{font-size:16px}
 .fpage .hbtns .b1{flex:1 1 40%;text-align:center}
}

/* подпись месяца — над первой клеткой месяца */
.fpml{position:absolute;left:0;bottom:calc(100% + 6px);font-style:normal;white-space:nowrap;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.6)}
.fpc.m1:not(:first-child):not(.fest){margin-left:10px}
.fpc.fest .fpml{left:auto;right:0;color:#f0d28e}
/* текст поста начинается вровень с верхним краем обложки; последний абзац — без хвоста снизу */
.ftext .ftsec{padding:0;margin:0}
.fprose>:last-child{margin-bottom:0}

/* ===== однодневный пост (05.10 v2): день · его неделя · праздник; ниже — другие годы ===== */
.fp1{display:grid;grid-template-columns:170px minmax(0,1fr) minmax(0,340px);gap:22px;align-items:stretch;margin-top:22px}
.fp1day{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:18px 12px;border-radius:20px;text-align:center;
 background:linear-gradient(160deg,rgba(214,162,60,.42),rgba(214,162,60,.16));border:1px solid rgba(240,210,142,.6);color:#fff}
.fp1day small{font-size:14px;color:rgba(255,255,255,.75)}
.fp1day b{font-size:64px;font-weight:300;line-height:1;letter-spacing:-.03em}
.fp1day span{font-size:16px;color:rgba(255,255,255,.85)}
.fp1day em{margin-top:10px;padding:5px 12px;border-radius:999px;background:rgba(13,22,34,.4);font-style:normal;font-size:13px;font-weight:600;color:#f0d28e}
.fp1mid{display:flex;flex-direction:column;justify-content:center;min-width:0}
.fp1lab{margin-bottom:10px;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.6)}
.fp1week{gap:6px}
.fp1week .fpc{max-width:none;padding:12px 0 13px}
.fp1week .fpc b{font-size:20px}
.fp1week .fpc.f1{background:linear-gradient(160deg,rgba(214,162,60,.55),rgba(214,162,60,.25));border-color:#f0d28e}
.fp1week .fpc.fest{width:auto;margin-left:0;flex:1 1 0}
.fp1key{display:flex;gap:18px;margin-top:12px;font-size:13px;color:rgba(255,255,255,.7)}
.fp1key span{display:inline-flex;align-items:center;gap:7px}
.fp1key i{width:12px;height:12px;border-radius:4px}
.fp1key .kf{background:rgba(214,162,60,.6);border:1px solid #f0d28e}
.fp1key .kh{background:linear-gradient(160deg,#f0d28e,#d6a23c)}
.fp1feast{display:grid;grid-template-columns:96px minmax(0,1fr);gap:16px;align-items:center;padding:12px;border-radius:20px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);color:#fff;transition:background .25s}
.fp1feast:hover{background:rgba(255,255,255,.18)}
.fp1img{position:relative;display:block;aspect-ratio:4/5;border-radius:12px;overflow:hidden;background:#0d1b2e;box-shadow:0 10px 24px rgba(0,0,0,.3)}
.fp1img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.16,1,.3,1)}
.fp1feast:hover .fp1img img{transform:scale(1.06)}
.fp1ft{display:flex;flex-direction:column;gap:4px;min-width:0}
.fp1ft small{font-size:13px;color:#f0d28e}
.fp1ft b{font-size:19px;font-weight:600;line-height:1.25}
.fp1ft em{margin-top:6px;font-style:normal;font-size:14px;font-weight:600;color:rgba(255,255,255,.75)}
.fp1yrs{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding-top:16px;border-top:1px solid rgba(255,255,255,.12)}
.fp1yl{margin-right:6px;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.6)}
.fp1yrs span:not(.fp1yl){padding:7px 14px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);font-size:14px;color:rgba(255,255,255,.85)}
.fp1yrs b{color:#f0d28e;font-weight:700}
@media(max-width:1100px){.fp1{grid-template-columns:150px minmax(0,1fr)}.fp1feast{grid-column:1/-1}}
@media(max-width:900px){
 .fp1{grid-template-columns:1fr;gap:16px}
 .fp1day{flex-direction:row;flex-wrap:wrap;justify-content:flex-start;gap:4px 12px;padding:14px 16px;text-align:left}
 .fp1day b{font-size:44px;order:-1}.fp1day em{margin-top:0;margin-left:auto}
 .fp1week{gap:4px}.fp1week .fpc{min-width:0;padding:9px 0 10px}.fp1week .fpc b{font-size:16px}
 .fp1feast{grid-template-columns:72px minmax(0,1fr)}
}
@media(max-width:900px){.fp1day span{order:0}.fp1day small{order:1;flex-basis:100%;margin-top:-4px}.fp1day em{order:2;margin-left:0}}

/* блок «Перед постом» (Масленица) у Великого поста — тот же вид, что «Путь поста» */
.fmasl{margin-top:20px;scroll-margin-top:84px}
.fmasl .fprow .fpc{max-width:72px;min-width:38px}
.fmasl .msat{flex:none;width:60px;background:rgba(160,130,210,.24);border-color:rgba(200,180,240,.45)}
.fmasl .msat .fpml{color:#d9ccf2}
.fmasl .fpc.fest .fpml{left:auto;right:0}
.mgap{flex:none;width:10px;align-self:center;height:2px;background:rgba(255,255,255,.25);margin:0 4px}
.fmasl{background:linear-gradient(160deg,#21456d 0%,#1a3859 55%,#183454 100%);border-color:rgba(255,255,255,.12);backdrop-filter:none;-webkit-backdrop-filter:none}
