:root{
  --cream:#f5f0e6;
  --cream2:#e9e1d0;
  --navy:#1e3a5f;
  --navy2:#2c4a75;
  --gold:#b8860b;
  --gold2:#c9a227;
  --ink:#2b2b33;
  --ink-soft:#5a5a66;
  --white:#ffffff;
  --line:#ddd3bd;
  --shadow:0 6px 18px rgba(30,58,95,.12);
}
*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{height:100%}
body{
  font-family:'PT Sans',sans-serif;
  background:var(--cream);
  color:var(--ink);
  padding-bottom:150px; /* под таббар — контент не перекрывается */
}
h1,h2,h3{font-family:'PT Serif',serif;font-weight:700}

/* ШАПКА */
.app-header{
  background:linear-gradient(135deg,#16294a 0%,var(--navy) 55%,var(--navy2) 100%);
  color:#fff;
  padding:12px 16px 12px;
  box-shadow:0 4px 14px rgba(22,41,74,.4);
}
.header-inner{display:flex;align-items:center;gap:13px;max-width:640px;margin:0 auto}
.header-icon{width:80px;height:80px;border-radius:19px;box-shadow:0 3px 12px rgba(0,0,0,.3);flex:0 0 auto}
.header-title h1{font-size:19px;line-height:1.2}
.header-sub{font-size:13px;opacity:.95}
.header-mail{font-size:12.5px;color:#fff;opacity:.95;text-decoration:none;display:inline-block;margin-top:3px}

main{max-width:640px;margin:0 auto;padding:10px 12px 14px}

/* ЭКРАНЫ */
.screen{display:none}
.screen.active{display:block;animation:fade .25s ease;padding-bottom:160px}
@keyframes fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

/* ГЛАВНАЯ: карточки растягиваются, заполняя экран до нижней строки */
.screen.active#screen-home{display:flex;flex-direction:column;padding-bottom:70px;min-height:calc(100dvh - 215px);min-height:calc(100vh - 215px)}
.cards{display:flex;flex-direction:column;gap:4px;flex:1}
.card{
  background:var(--white);border:1px solid var(--line);border-radius:12px;
  padding:6px 12px;text-align:left;cursor:pointer;flex:1 0 auto;
  display:flex;flex-direction:row;align-items:center;gap:12px;
  box-shadow:var(--shadow);transition:transform .12s ease;
  font-family:inherit;color:inherit;
}
.card:active{transform:scale(.98)}
.card-emoji{
  font-size:18px;width:32px;height:32px;flex:0 0 auto;
  display:flex;align-items:center;justify-content:center;
  background:var(--cream2);border-radius:9px;
}
.card-name{font-family:'PT Serif',serif;font-weight:700;font-size:14.5px;line-height:1.2}

.verse{
  margin-top:22px;text-align:center;padding:18px 10px;
  background:var(--cream2);border-left:3px solid var(--gold);border-radius:10px;
}
.verse p{font-family:'PT Serif',serif;font-style:italic;font-size:14.5px}
.verse span{font-size:12px;color:var(--ink-soft)}

/* ШАПКИ ЭКРАНОВ */
.screen-head{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.screen-head h2{font-size:19px}
.back{
  background:var(--white);border:1px solid var(--line);border-radius:10px;
  width:38px;height:38px;font-size:18px;cursor:pointer;color:var(--ink);flex:0 0 auto;
  box-shadow:var(--shadow);
}
.screen-note{font-size:14px;color:var(--ink-soft);margin-bottom:14px}

/* РАСПИСАНИЕ */
.sched-list{display:flex;flex-direction:column;gap:10px}
.sched-item{
  background:var(--white);border:1px solid var(--line);border-radius:14px;
  padding:12px 14px;box-shadow:var(--shadow);
}
.sched-date{font-family:'PT Serif',serif;font-weight:700;font-size:15px;color:var(--gold);margin-bottom:4px}
.sched-event{font-size:13.5px;line-height:1.4;margin-bottom:6px}
.sched-times{font-size:14px;color:var(--ink-soft)}
.sched-times b{color:var(--ink)}
.sched-feast{color:#a52a2a}

/* ТРЕБЫ */
.treby-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:18px}
.treby-chip{
  background:var(--white);border:1.5px solid var(--line);border-radius:12px;
  padding:12px 8px;text-align:center;cursor:pointer;font-family:'PT Sans',sans-serif;
  font-size:14px;color:var(--ink);transition:border-color .12s, background .12s;
  display:flex;flex-direction:column;gap:3px;align-items:center;justify-content:center;
}
.chip-name{font-size:14px;line-height:1.25}
.chip-price{font-size:12px;font-weight:700;color:var(--gold)}
.treby-chip.selected{border-color:var(--gold);background:#fdf8ec}
.treby-chip.wide{grid-column:1/-1;width:200px;justify-self:center}

/* ПОДГОТОВКА К ТАИНСТВАМ */
.prep-list{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}
.prep-item{background:var(--white);border:1px solid var(--line);border-radius:14px;padding:12px 14px;box-shadow:var(--shadow)}
.prep-title{font-family:'PT Serif',serif;font-weight:700;font-size:15px;color:var(--gold);margin-bottom:4px}
.prep-text{font-size:13.5px;line-height:1.45;color:var(--ink)}
.treby-form{background:var(--white);border:1px solid var(--line);border-radius:14px;padding:16px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:12px}
.treby-form label{font-size:13px;color:var(--ink-soft);display:flex;flex-direction:column;gap:5px}
.treby-form input,.treby-form textarea{
  font-family:'PT Sans',sans-serif;font-size:15px;color:var(--ink);
  border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:var(--cream);
  resize:vertical;
}
.treby-form input:focus,.treby-form textarea:focus{outline:2px solid var(--gold2);border-color:transparent}
.btn-primary{
  background:linear-gradient(135deg,var(--gold2),var(--gold));color:#fff;border:none;
  border-radius:12px;padding:14px;font-size:16px;font-weight:700;cursor:pointer;
  font-family:'PT Sans',sans-serif;text-align:center;text-decoration:none;display:block;
  box-shadow:0 4px 12px rgba(184,134,11,.35);
}
.btn-primary.ghost{background:var(--white);color:var(--gold);border:1.5px solid var(--gold);box-shadow:none}
.form-hint{font-size:12.5px;color:var(--ink-soft);margin-top:10px;text-align:center}
.donate-jump{display:block;width:100%;max-width:100%;box-sizing:border-box;margin-top:14px}

/* КАЛЕНДАРЬ */
.today-card{
  background:linear-gradient(135deg,var(--gold2),var(--gold));color:#fff;border-radius:16px;
  padding:18px;margin-bottom:18px;box-shadow:var(--shadow);
}
.today-date{font-size:15px;opacity:.95;margin-bottom:4px}
.today-title{font-family:'PT Serif',serif;font-size:19px;font-weight:700;line-height:1.3}
.today-type{font-size:12.5px;opacity:.9;margin-top:6px}
.sub-head{font-size:16px;margin:16px 0 10px}
.month-cal{background:var(--white);border:1px solid var(--line);border-radius:14px;padding:14px;box-shadow:var(--shadow)}
.month-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.cal-month-title{font-family:'PT Serif',serif;font-weight:700;font-size:17px;color:var(--navy)}
.cal-nav-btn{background:var(--cream2);border:none;border-radius:10px;width:38px;height:38px;font-size:17px;cursor:pointer;color:var(--navy);font-weight:700}
.cal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:6px;text-align:center}
.cal-weekdays span{font-size:12px;color:var(--ink-soft);font-weight:700}
.cal-weekdays .sunday{color:#a52a2a}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.cal-day{
  aspect-ratio:1;display:flex;align-items:center;justify-content:center;
  border-radius:9px;background:var(--cream);color:var(--ink);
  font-size:15px;font-weight:700;text-decoration:none;transition:background .12s;
}
.cal-day.sunday{color:#a52a2a}
.cal-day.today{background:linear-gradient(135deg,var(--gold2),var(--gold));color:var(--navy);box-shadow:0 2px 8px rgba(184,134,11,.4)}
.cal-day.empty{background:transparent;pointer-events:none}
.cal-day:not(.empty):active{transform:scale(.92)}
.azbyka-widget iframe{width:100%;height:480px;border:none;border-radius:14px;background:#fff;box-shadow:var(--shadow)}
.cal-list{display:flex;flex-direction:column;gap:8px}
.cal-item{
  background:var(--white);border:1px solid var(--line);border-radius:12px;
  padding:11px 14px;display:flex;gap:12px;align-items:baseline;box-shadow:var(--shadow);
}
.cal-date{font-family:'PT Serif',serif;font-weight:700;color:var(--gold);font-size:14px;flex:0 0 92px}
.cal-title{font-size:14px;line-height:1.35}
.cal-post{background:#fdf1ee;border-color:#e8c9c1}
.cal-post .cal-date{color:#a52a2a}

/* О ХРАМЕ / КАК ДОБРАТЬСЯ / ПОЖЕРТВОВАТЬ / КОНТАКТЫ */
.about-body,.way-body,.donate-body,.contacts-body{
  background:var(--white);border:1px solid var(--line);border-radius:16px;
  padding:16px 18px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:8px;font-size:15px;line-height:1.6;
}
.about-body h3,.way-body h3,.donate-body h3{
  font-family:'PT Sans',sans-serif;font-weight:700;font-size:16.5px;color:var(--ink);
  margin:16px 0 6px;padding-bottom:6px;border-bottom:2px solid var(--gold2);
}
.about-body p strong,.way-body p strong,.donate-body p strong,.contacts-body p strong{font-weight:700;color:var(--ink)}
.about-body .lead{font-size:15.5px;line-height:1.65}
.about-photos{margin-top:12px}
.about-photos img{width:100%;height:auto;border-radius:12px;border:1px solid var(--line);display:block}
.photo-placeholder{
  aspect-ratio:4/3;border-radius:10px;border:1.5px dashed var(--gold);
  display:flex;align-items:center;justify-content:center;color:var(--gold);
  font-size:12.5px;text-align:center;padding:8px;background:var(--cream2);
}
.way-adr em,.contacts-body em{color:var(--ink-soft);font-size:13px}
.way-note{font-size:13px;color:var(--ink-soft);border-top:1px dashed var(--line);padding-top:10px}
.donate-box{background:var(--cream2);border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:10px}
.req-item{display:flex;flex-direction:column;gap:2px;padding:6px 0;border-bottom:1px dashed var(--line)}
.req-item:last-of-type{border-bottom:none}
.req-label{font-size:11.5px;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.4px}
.req-value{font-size:14px;color:var(--ink);word-break:break-word;line-height:1.4}
.price-box{background:var(--cream2);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column}
.price-item{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:7px 0;border-bottom:1px dashed var(--line);font-size:14px}
.price-item:last-of-type{border-bottom:none}
.price-name{color:var(--ink);line-height:1.35}
.price-amount{color:var(--gold);font-weight:600;white-space:nowrap}
.qr-box{display:flex;flex-direction:column;align-items:center;gap:8px;background:var(--white);border-radius:12px;padding:14px}
.sbp-btn{font-size:16px;padding:14px;text-align:center}
.qr-img{width:220px;height:220px;border-radius:8px;display:block}
.qr-caption{font-size:12.5px;color:var(--ink-soft);text-align:center}
.donate-placeholder{font-size:13.5px;color:var(--ink-soft)}
.tel-btn{font-size:15px}
.contacts-body a:not(.btn-primary){color:var(--gold);text-decoration:none;font-weight:700}
.contacts-actions{display:flex;gap:10px;margin-top:6px}
.contacts-actions .btn-primary{flex:1;padding:12px}

/* ПОДВКЛАДКИ (воскресная школа) */
.sub-tabs{display:flex;gap:8px;background:var(--cream2);padding:5px;border-radius:12px;margin-bottom:16px}
.sub-tab{
  flex:1;background:none;border:none;cursor:pointer;font-family:'PT Sans',sans-serif;
  font-size:14.5px;font-weight:700;color:var(--ink-soft);padding:10px 6px;border-radius:9px;
}
.sub-tab.active{background:var(--white);color:var(--gold);box-shadow:var(--shadow)}
.sub-panel{display:none}
.sub-panel.active{display:block;animation:fade .2s ease}

/* ТАББАР */
.tabbar{
  position:fixed;bottom:0;left:0;right:0;z-index:50;
  background:rgba(255,255,255,.96);backdrop-filter:blur(8px);
  border-top:1px solid var(--line);
  display:flex;justify-content:space-around;
  padding:8px 4px calc(8px + env(safe-area-inset-bottom));
}
.tab{
  background:none;border:none;cursor:pointer;font-family:'PT Sans',sans-serif;
  font-size:11.5px;color:var(--ink-soft);display:flex;flex-direction:column;align-items:center;gap:3px;
  padding:4px 10px;border-radius:10px;
}
.tab-emoji{font-size:20px}
.tab.active{color:var(--gold)}
.tab.active .tab-emoji{transform:translateY(-1px)}

/* ===== Счётчик имён и рекомендуемая сумма ===== */
[hidden]{display:none !important}
.treby-sum{
  margin:10px 0 4px;padding:12px 14px;border-radius:12px;
  background:rgba(176,141,58,.10);border:1px solid var(--gold);
}
.treby-sum-text{font-size:15px;font-weight:600;color:var(--ink);line-height:1.35}
.treby-donate{margin-top:6px}
.donate-sum{
  margin:0 0 14px;padding:14px 16px;border-radius:14px;text-align:center;
  background:rgba(176,141,58,.12);border:1px solid var(--gold);
}
.donate-sum-label{margin:0 0 6px;font-size:13px;color:var(--ink-soft)}
.donate-sum-value{margin:0 0 12px;font-size:30px;font-weight:700;color:var(--gold);line-height:1.1}
.donate-sum-hint{margin:10px 0 0;font-size:12.5px;color:var(--ink-soft);line-height:1.35}
.opt{font-weight:400;color:var(--ink-soft);font-size:12.5px}
.pd-note{
  margin:2px 0 12px;padding:10px 12px;border-radius:10px;
  background:var(--cream2);border-left:3px solid var(--gold);
  font-size:12.5px;line-height:1.45;color:var(--ink-soft);
}
.pd-note b{color:var(--ink)}
.pd-note a{color:var(--gold);text-decoration:none;white-space:nowrap}
