/* Пожелаем — «Абрикос». Дизайн-система */
:root{
  --paper:#fff6ef; --card:#ffffff; --tint:#fdeee4;
  --ink:#40291f; --muted:#7a6355; --muted2:#8b7264; --soft:#ab8d7e;
  --line:#f2e2d6; --accent:#d1553c; --link:#c14e35; --link-hover:#993b26;
  --serif:Kurale,Georgia,"Times New Roman",serif;
  --sans:Rubik,"Helvetica Neue",Arial,sans-serif;
  --r-s:10px; --r-m:14px; --r-l:18px; --r-xl:20px;
  --pad:88px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
/* подвал прижат к низу: на короткой странице он всё равно внизу экрана */
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;
  min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}
main{flex:1 0 auto}
.ftr{flex:0 0 auto}
a{color:var(--link);text-decoration:none}
a:hover{color:var(--link-hover)}
::selection{background:#fadfd2}
img{max-width:100%}
h1,h2,h3{font-family:var(--serif);font-weight:400;margin:0}
p{margin:0}
.wrap{max-width:1440px;margin:0 auto;padding:0 var(--pad)}

/* шапка */
.hdr{background:var(--card);border-bottom:1px solid var(--line)}
.hdr-in{display:flex;align-items:center;justify-content:space-between;gap:26px;padding:14px var(--pad);max-width:1440px;margin:0 auto}
.logo{display:flex;align-items:center;gap:10px;color:var(--ink)}
/* знак без плашки: сердце прямо в шапке, квадрат утяжелял */
.logo-mark{display:flex;align-items:center;justify-content:center;width:34px;height:34px;flex:0 0 auto}
.logo-name{font-family:var(--serif);font-size:24px}
/* поиск: растягивается сама форма, поле — белое с заметной рамкой,
   иначе на белой шапке фон --paper с ней сливался */
.search-w{flex:1 1 640px;max-width:640px;min-width:0;position:relative;display:flex;align-items:center;
  height:50px;padding:0 6px 0 16px;gap:11px;border:1.5px solid #e6cdbc;border-radius:var(--r-m);
  background:var(--card);transition:border-color .15s,box-shadow .15s}
.search-w:hover{border-color:#d9b9a4}
.search-w:focus-within{border-color:var(--accent);box-shadow:0 0 0 4px rgba(209,85,60,.13)}
.search-i{display:flex;color:var(--accent);flex:0 0 auto}
.search{flex:1 1 auto;min-width:0;height:100%;border:0;background:none;color:var(--ink);
  font:inherit;font-size:16px;padding:0}
.search:focus{outline:0}
.search::placeholder{color:var(--soft)}
.search::-webkit-search-cancel-button{-webkit-appearance:none}
.search-b{flex:0 0 auto;height:38px;padding:0 20px;border:0;border-radius:10px;background:var(--accent);
  color:#fff6ef;font:inherit;font-size:15px;cursor:pointer;transition:background .15s}
.search-b:hover{background:var(--link-hover)}
/* подсказки поиска */
.search-w{position:relative}
.ac{position:absolute;top:calc(100% + 8px);left:-1.5px;right:-1.5px;z-index:60;
  background:var(--card);border:1.5px solid #e6cdbc;border-radius:var(--r-m);
  box-shadow:0 18px 44px -18px rgba(64,41,31,.34);overflow:hidden;max-height:70vh;overflow-y:auto}
.ac-i{display:flex;flex-direction:column;gap:2px;padding:10px 16px;color:var(--ink);line-height:1.35}
.ac-i+.ac-i{border-top:1px solid var(--line)}
.ac-i:hover,.ac-i.on{background:var(--tint);color:var(--ink)}
.ac-t{font-size:15px}
.ac-c{font-size:12.5px;color:var(--muted2)}
.ac-all{display:block;padding:11px 16px;border-top:1px solid var(--line);background:var(--paper);
  font-size:13.5px;color:var(--link)}
.ac-all:hover,.ac-all.on{background:var(--tint)}
.ac mark,.sr-t mark{background:#fadfd2;color:inherit;border-radius:3px;padding:0 1px}

/* страница результатов: одна колонка, ширина под чтение */
.sr{max-width:820px;margin:0 auto 60px;background:var(--card);border-radius:22px;padding:26px 32px 30px}
.sr-n{font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--soft);margin-bottom:20px}
.sr-g{margin-bottom:30px}
.sr-gh{font-family:var(--serif);font-size:21px;margin-bottom:10px;padding-bottom:9px;
  border-bottom:1px solid var(--line)}
.sr-i{display:flex;flex-direction:column;gap:3px;padding:11px 14px;margin:0 -14px;
  border-radius:var(--r-s);color:var(--ink)}
.sr-i:hover{background:var(--paper);color:var(--ink)}
.sr-t{font-size:17px;line-height:1.35}
.sr-i:hover .sr-t{color:var(--link)}
.sr-u{font-size:13px;color:var(--muted2)}
.sr-empty{font-size:18px;color:var(--muted);line-height:1.6;margin:0}
.sr-u{overflow-wrap:anywhere}
.nav{display:flex;gap:28px;font-size:15px}
.nav a{color:var(--muted)}

/* заголовок страницы */
.head{padding-top:30px;text-align:center}
.head--tight{padding-top:14px}
.head--page{padding-top:14px;margin-bottom:20px;text-align:left}
.head--tight .h1{font-size:34px;line-height:1.14;max-width:19em;margin-bottom:9px}
.head--tight .lead{font-size:17px;max-width:47em;line-height:1.55}
.head--left{text-align:left}
.h1{font-size:38px;line-height:1.14;margin:0 auto 12px;max-width:18em;text-wrap:balance}
.head--left .h1{margin-left:0}
.lead{font-size:17px;line-height:1.55;color:var(--muted);max-width:46em;margin:0 auto}
.head--left .lead{margin-left:0}
/* Шапка страницы со списком. Правила идут после .h1 намеренно: при равной
   специфичности побеждает последнее, а .h1 задаёт margin:0 auto и ширину
   в 18em — из-за них заголовок вставал по центру и ломался на две строки. */
.head--page .h1{font-size:26px;line-height:1.25;max-width:none;margin:0 0 6px;
  text-wrap:normal}
.head--page .sub-lead{font-size:14.5px;line-height:1.5;color:var(--muted2);
  max-width:78ch;margin:0}
.crumbs{display:flex;gap:9px;align-items:center;justify-content:flex-start;padding-top:14px;font-size:13px;color:var(--soft);flex-wrap:wrap}
.crumbs a{color:var(--soft)}

/* секции */
.sec{padding-top:28px}
.sec-h{font-size:22px;margin:0 0 16px;padding-bottom:11px;border-bottom:1px solid var(--line);
  position:relative}
.sec-h::after{content:"";position:absolute;left:0;bottom:-1px;width:44px;height:2px;
  background:var(--accent);border-radius:2px}
.sec-hr{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:16px;flex-wrap:wrap}
.sec-hr h2{font-size:26px}

/* плитки поводов */
.tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.tiles--compact{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:22px}
.tiles--compact .tile{padding:14px 14px 15px;gap:8px;border-radius:var(--r-m);align-items:center;text-align:center}
.tiles--compact .tile-ic{width:34px;height:34px;border-radius:11px}
.tiles--compact .tile-t{font-size:15px;line-height:1.25}
.tile{background:var(--card);border-radius:var(--r-l);padding:20px 20px 18px;color:var(--ink);display:flex;flex-direction:column;gap:10px;transition:transform .12s ease}
.tile:hover{color:var(--ink);transform:translateY(-2px)}
.tile-ic{display:flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:var(--r-m);background:var(--tint)}
.tile-t{font-family:var(--serif);font-size:20px}
.tile-d{font-size:14px;color:var(--muted2);line-height:1.5}

/* чипы */
/* полосы разделов: живут в центральной колонке, поэтому мельче и плотнее */
.chipnav{background:var(--card);border-radius:var(--r-l);padding:16px 20px 18px;margin-bottom:22px}
.chipset+.chipset{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
.chipset-t{font-family:var(--sans);font-size:11.5px;font-weight:500;letter-spacing:.07em;
  text-transform:uppercase;color:var(--soft);margin:0 0 10px}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chip{display:inline-flex;align-items:center;height:31px;padding:0 12px;border-radius:9px;
  background:var(--paper);color:var(--ink);font-size:14px;line-height:1;white-space:nowrap}
.chip:hover{background:var(--tint);color:var(--ink)}
.chip--cur{background:var(--accent);color:#fff6ef}
.chip--cur:hover{background:var(--accent);color:#fff6ef}
.chip:hover{color:var(--ink);background:var(--tint)}

/* календарь */
.panel{background:var(--card);border-radius:22px;padding:24px 28px 28px}
.dates{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.date{background:var(--paper);border-radius:var(--r-l);padding:22px 24px;color:var(--ink);display:flex;flex-direction:column;gap:7px}
.date:hover{color:var(--ink)}
.date-d{font-size:14px;font-weight:500;color:var(--accent)}
.date-t{font-family:var(--serif);font-size:21px}
.date-l{font-size:14px;color:var(--muted2)}

/* три колонки: меню — контент — календарь */
.layout{display:grid;grid-template-columns:206px minmax(0,1fr) 252px;gap:26px;align-items:start;padding-top:16px}
.col{min-width:0;display:flex;flex-direction:column}
.count{font-size:14px;color:var(--soft);margin:0 0 12px}
.feed{display:flex;flex-direction:column;gap:10px}
.rail{display:flex;flex-direction:column;gap:18px;position:sticky;top:16px}
.navbox{background:var(--card);border-radius:var(--r-l);padding:18px 22px 20px}
/* Заголовки групп ссылок читаются как заголовки только за счёт контраста
   с содержимым: раньше это был серифный текст того же кегля, что и ссылки
   под ним. Теперь единая надстрочная метка — та же, что у полос чипов. */
.navbox-t{font-family:var(--sans);font-size:11.5px;font-weight:500;letter-spacing:.07em;
  text-transform:uppercase;color:var(--soft);margin:0 0 11px;padding-bottom:9px;
  border-bottom:1px solid var(--line)}
.navbox ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;font-size:16px}
.navbox a{color:var(--ink)}
.navbox a:hover{color:var(--link)}
.navbox a.cur{color:var(--accent);font-weight:500}
.navbox ul.menu{gap:11px}
.navbox ul.menu a{font-size:17px}
.navbox ul.dated li{display:flex;gap:10px;align-items:baseline}
.nd{flex:0 0 auto;font-size:13px;color:var(--soft);font-variant-numeric:tabular-nums}
.navbox-more{display:inline-block;margin-top:13px;font-size:14px}

/* карта ссылок внизу */
.linkmap{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px;background:var(--card);border-radius:22px;padding:26px 30px 28px}
.linkmap--flat{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 30px;padding:24px 26px 26px}
.lm-col .navbox-t{font-size:18px;margin-bottom:11px}
.lm-col{min-width:0}
.lm-col ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:7px;font-size:15px}
.lm-col ul li{display:flex}
.lm-col ul a{display:inline-flex;align-items:center;padding:7px 13px;border-radius:10px;background:var(--paper);color:var(--ink);line-height:1.2;white-space:nowrap}
.lm-col ul a:hover{background:var(--tint);color:var(--link)}
.lm-col ul a.cur{background:var(--accent);color:var(--paper);font-weight:500}
.lm-col ul.dated{flex-direction:column;gap:8px}
.lm-col ul.dated li{display:flex;gap:10px;align-items:baseline}
.lm-col ul.dated a{padding:0;background:none;border-radius:0;white-space:normal;color:var(--ink)}
.lm-col ul.dated a:hover{background:none;color:var(--link)}
.lm-col ul.menu{flex-direction:column;gap:8px}
.lm-col ul.menu a{padding:0;background:none;white-space:normal}
.lm-col ul.menu a:hover{background:none}

/* лента поздравлений */
/* Карточки были высокими: на две строки текста уходило под 190px. */
.item{background:var(--card);border-radius:var(--r-l);padding:17px 22px 15px}
.item:nth-child(even){background:var(--tint)}
.item-t{margin:0;font-size:17px;line-height:1.56;white-space:pre-line}
.item--verse .item-t{font-family:var(--serif);font-size:18.5px;line-height:1.5}
.item-f{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:12px}
.item-tag{font-size:11.5px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--soft)}
.copy{display:flex;align-items:center;gap:7px;height:32px;padding:0 13px;border:0;border-radius:9px;background:var(--accent);color:var(--paper);font-family:var(--sans);font-size:13.5px;font-weight:500;cursor:pointer}
.copy:hover{background:var(--link-hover)}
.copy.done{background:#5c8a52}

/* смежные и вопросы */
.rel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.rel a{background:var(--card);border-radius:14px;padding:16px 20px;color:var(--ink);font-size:16px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.rel a:hover{color:var(--ink);background:var(--tint)}
.rel span{color:var(--accent)}
.faq{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.faq-i{background:var(--card);border-radius:var(--r-l);padding:22px 24px}
.faq-q{font-family:var(--serif);font-size:19px;margin-bottom:8px}
.faq-a{font-size:15px;line-height:1.65;color:var(--muted)}

/* подвал */
.ftr{margin-top:44px;background:var(--card);padding:26px var(--pad) 32px}
.ftr-in{display:flex;justify-content:space-between;align-items:center;gap:24px;max-width:1440px;margin:0 auto;flex-wrap:wrap}
.ftr-name{font-family:var(--serif);font-size:21px}
.ftr-nav{display:flex;gap:30px;font-size:15px;flex-wrap:wrap}
.ftr-nav a{color:var(--muted2)}

@media (max-width:1240px){
  .layout{grid-template-columns:200px minmax(0,1fr)}
  .rail--right{grid-column:1/-1;position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
}
@media (max-width:1100px){
  :root{--pad:32px}
  .linkmap{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
  .tiles,.tiles--compact{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dates{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rel,.faq{grid-template-columns:repeat(2,minmax(0,1fr))}
  .h1{font-size:42px}
}
@media (max-width:900px){
  .layout{grid-template-columns:1fr;gap:22px}
  .rail{position:static}
  .rail--left{order:3}
  .rail--right{order:4;grid-template-columns:1fr}
  .col{order:1}
}
@media (max-width:720px){
  :root{--pad:18px}
  .linkmap{grid-template-columns:1fr;padding:24px 20px;border-radius:var(--r-l)}
  .navbox{padding:18px 20px}
  body{font-size:16px}
  .hdr-in{flex-wrap:wrap;gap:14px}
  .search-w{order:3;max-width:none;flex-basis:100%;height:46px}
  /* три полосы чипов в столбик дали бы десяток строк — на узком экране
     каждая полоса прокручивается вбок, как вкладки */
  .chipnav{padding:12px 0 14px;border-radius:var(--r-l);margin-bottom:18px}
  .chipset,.chipset-t{padding-left:16px;padding-right:16px}
  .chipset+.chipset{margin-top:12px;padding-top:12px}
  .chips{flex-wrap:nowrap;overflow-x:auto;scroll-snap-type:x proximity;
    -webkit-overflow-scrolling:touch;padding:0 16px 2px;scrollbar-width:none}
  .chips::-webkit-scrollbar{display:none}
  .chip{scroll-snap-align:start;height:36px;padding:0 14px;font-size:14.5px}
  .ac{left:-1.5px;right:-1.5px}
  .sr{padding:20px 18px 24px;border-radius:var(--r-l)}
  .sr-i{margin:0;padding:11px 0}
  .search-b{padding:0 14px}
  .nav{gap:18px;font-size:14px}
  .h1{font-size:30px;max-width:none}
  .head--tight .h1{font-size:26px}
  .head--page{margin-bottom:16px}
  .head--page .h1{font-size:22px}
  .head--page .sub-lead{font-size:14px}
  .head--tight{padding-top:12px}
  .lead{font-size:17px}
  .sec{padding:40px 0 0}
  .sec-h,.sec-hr h2{font-size:26px}
  .tiles{grid-template-columns:1fr;gap:12px}
  .tiles--compact{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .linkmap--flat{grid-template-columns:1fr}
  .dates{grid-template-columns:1fr}
  .rel,.faq{grid-template-columns:1fr}
  .panel{padding:22px 20px 24px;border-radius:var(--r-l)}
  .item{padding:15px 17px 14px;border-radius:var(--r-l)}
  .item-t{font-size:16.5px}
  .item--verse .item-t{font-size:17.5px}
  .item-f{flex-direction:column;align-items:stretch;gap:12px}
  .copy{justify-content:center}
  .count{position:static;width:100%;text-align:center;order:99}
  .crumbs{justify-content:flex-start}
  .head{text-align:left}
  .head .h1,.head .lead{margin-left:0}
}

/* текстовая страница */
.txt{max-width:46em;margin:22px auto 56px;background:var(--card);border-radius:22px;padding:36px 44px 40px}
.txt-top{margin-bottom:30px;padding-bottom:26px;border-bottom:1px solid var(--line)}
.txt-h1{font-family:var(--serif);font-weight:400;font-size:38px;line-height:1.14;margin:0 0 12px;text-wrap:balance}
.txt-lead{font-size:17.5px;line-height:1.55;color:var(--muted)}
.txt-b+.txt-b{margin-top:28px}
.txt-h{font-family:var(--serif);font-size:25px;margin-bottom:12px}
.txt p+p{margin-top:14px}
.txt p{color:var(--muted)}
@media (max-width:860px){
  .txt{padding:24px 22px 28px;border-radius:var(--r-l);margin-top:14px}
  .txt-h{font-size:22px}.txt-h1{font-size:28px}
  .txt-top{margin-bottom:24px;padding-bottom:20px}
}
.txt-l{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px 26px}
.txt-l a{font-size:16px}

/* вводный текст страницы */
.intro{background:var(--card);border-radius:var(--r-l);padding:20px 24px 22px;margin-bottom:20px}
.intro--after{margin:28px 0 0}
.intro p{color:var(--muted);font-size:16px;line-height:1.62}
.intro p+p{margin-top:12px}
@media (max-width:720px){.intro{padding:18px 18px 20px}}

/* хаб-перечень */
.idx{background:var(--card);border-radius:var(--r-l);padding:20px 24px 22px}
.idx-g+.idx-g{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.idx-l{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px 22px}
.idx-l a{font-size:15.5px}
.idx-p{color:var(--muted);font-size:15.5px;line-height:1.6;margin-top:16px;max-width:70ch}
@media (max-width:720px){.idx{padding:18px 18px 20px}.idx-l{grid-template-columns:1fr}}
