/* Публичные страницы: шапка, крошки, каталог, шаблон, цены, помощь, документы. */
.pbar { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap;
  padding-block:12px; border-bottom:2px solid var(--ink); }
.pbar__logo { font-size:clamp(30px,6vw,40px); line-height:1; text-decoration:none; }
.pbar__nav { display:flex; gap:4px; order:3; width:100%; overflow-x:auto; }
.pbar__nav a { text-decoration:none; min-height:var(--tap); display:inline-flex; align-items:center; padding:0 12px;
  border-radius:999px; white-space:nowrap; font-weight:600; }
.pbar__nav a[aria-current="page"] { background:var(--ink); color:var(--paper); }
.pbar__tools { display:flex; align-items:center; gap:8px; }
@media (min-width:760px) { .pbar__nav { order:0; width:auto; } }

.crumbs { padding-block:14px 0; color:var(--muted); }
.crumbs a { color:var(--muted); }

.pg { padding-block:24px 64px; display:flex; flex-direction:column; gap:18px; }
.pg--narrow { max-width:820px; }
.pg__title { margin:0; font-size:clamp(40px,7vw,80px); line-height:1; }
.pg__lead { margin:0; max-width:560px; font-size:18px; line-height:1.6; }
.pg__h2 { margin:24px 0 0; font-size:clamp(28px,4vw,40px); }
.pg__list { margin:0; padding-left:20px; line-height:1.8; }
.pg__sec { margin-top:28px; }
.pg__sec-head { display:flex; justify-content:space-between; align-items:baseline; gap:12px; margin-bottom:16px; }
.pg__sec-head h2 { margin:0; font-size:clamp(28px,4vw,40px); }

.chips { display:flex; gap:8px; overflow-x:auto; padding-bottom:6px; scrollbar-width:thin; }
.chip { flex:none; text-decoration:none; min-height:var(--tap); display:inline-flex; align-items:center; gap:6px;
  padding:0 14px; border:2px solid var(--ink); border-radius:999px; font-weight:700; font-size:14px; }
.chip[aria-current="page"] { background:var(--ink); color:var(--paper); }
.chip[aria-current="page"] .muted { color:inherit; opacity:.7; }

.tcard__photo { width:100%; height:100%; object-fit:cover; display:block; background:var(--paper); }
.tpl__grid { grid-template-columns:repeat(auto-fill,minmax(min(46%,240px),1fr)); gap:20px; }
@media (max-width:420px) { .tpl__grid { gap:14px; } .tcard__name { font-size:18px; } }

/* шаблон */
.tp { padding-block:24px 48px; display:grid; gap:32px; align-items:start;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr)); }
.tp__media { position:relative; }
.tp__fig { margin:0; background:var(--card); padding:12px 12px 48px; transform:rotate(-1.5deg); max-width:520px; }
.tp__fig img { width:100%; height:auto; display:block; }
.tp__fig figcaption { position:absolute; left:16px; bottom:8px; font-size:24px; }
.tp__second { position:absolute; right:0; bottom:-24px; width:38%; max-width:200px; background:var(--card); padding:8px; transform:rotate(4deg); }
.tp__info { display:flex; flex-direction:column; gap:16px; }
.tp__title { margin:0; font-size:clamp(40px,6vw,72px); line-height:1; }
.tp__price { margin:0; font-size:20px; }
.tp__price .serif { font-size:36px; }
.tp__steps { margin:0; padding-left:22px; line-height:1.7; }
.tp__fine { margin:0; font-size:14px; }

/* цены */
.price__tags--page { justify-content:flex-start; margin:12px 0; }
.plans { display:grid; gap:16px; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); }
.plan { background:var(--card); padding:20px; border-radius:6px; display:flex; flex-direction:column; gap:6px; }
.plan__days { font-size:28px; }
.plan__price { font-weight:800; font-size:20px; }

/* FAQ */
.faq { display:flex; flex-direction:column; gap:10px; }
.faq__item { background:var(--card); border-radius:6px; padding:0 18px; }
.faq__q { cursor:pointer; font-weight:800; min-height:56px; display:flex; align-items:center; list-style:none; }
.faq__q::-webkit-details-marker { display:none; }
.faq__q::after { content:"+"; margin-left:auto; font-size:24px; transition:transform .2s; }
.faq__item[open] .faq__q::after { transform:rotate(45deg); }
.faq__a { padding-bottom:16px; line-height:1.7; }
.faq__a p { margin:0 0 8px; }

/* документы */
.doc__toc { background:var(--card); border-radius:6px; padding:16px 20px; }
.doc__toc ol { margin:0; padding-left:20px; line-height:1.9; }
.doc__body { line-height:1.75; font-size:16px; }
.doc__body h2 { font-family:var(--f-serif); font-weight:400; font-size:28px; margin:32px 0 8px; scroll-margin-top:16px; }
.doc__body ul { padding-left:20px; }
.doc__others { display:flex; gap:16px; flex-wrap:wrap; margin-top:24px; }

.tcard__img { position:relative; }
.tcard__badge { position:absolute; right:14px; top:14px; padding:4px 8px; border-radius:999px;
  background:rgba(21,20,18,.75); color:#fff; }
.pg__group { margin:32px 0 0; font-size:clamp(34px,5vw,56px); }
.pg__sec-head h3 { margin:0; font-size:clamp(26px,3.6vw,36px); }
.tp__fig video { width:100%; height:auto; display:block; background:#000; }

/* 18+ */
.adult-toggle { margin:0; }
.adult-toggle__btn { display:inline-flex; align-items:center; gap:8px; min-height:var(--tap); padding:0 6px;
  background:none; border:0; cursor:pointer; color:var(--ink); }
.adult-toggle__track { position:relative; width:42px; height:24px; border-radius:999px; border:2px solid var(--ink);
  background:transparent; transition:background .2s; }
.adult-toggle__thumb { position:absolute; top:2px; left:2px; width:16px; height:16px; border-radius:50%;
  background:var(--ink); transition:transform .2s, background .2s; }
.adult-toggle__btn[aria-checked="true"] .adult-toggle__track { background:#FF3B5C; border-color:#FF3B5C; }
.adult-toggle__btn[aria-checked="true"] .adult-toggle__thumb { transform:translateX(18px); background:#fff; }
.adult-toggle__btn:focus-visible { outline:3px solid var(--accent); outline-offset:2px; border-radius:999px; }
.tcard__adult { position:absolute; left:14px; top:14px; z-index:2; padding:4px 8px; border-radius:999px;
  background:#FF3B5C; color:#fff; }
.adult-note { display:flex; align-items:center; gap:12px; flex-wrap:wrap; padding:10px 14px; border-radius:12px;
  background:var(--card); width:fit-content; }
.adult-gate { align-items:flex-start; }
.adult-gate .gate__badge { width:96px; height:96px; background:#FF3B5C; color:#fff; font-size:32px; }
.chip--adult { border-color:#FF3B5C; color:#FF3B5C; }
.chip--adult[aria-current="page"] { background:#FF3B5C; color:#fff; }
