/* Лечение корневых каналов — стили страницы.
   Токены, типографика и первый экран повторяют /implantatsiya/
   (/local/templates/nuance/includes/pages/implantatsiya/style.css),
   чтобы страница читалась как часть сайта, а не как отдельный макет.
   Подключается только на своей странице; всё ограничено корнем #nu-rootcanal. */

#nu-rootcanal {
	--a: #2B6BE8;          /* акцент */
	--a-dark: #1F56CC;     /* акцент hover / подписи */
	--tint: #DCE8FB;       /* голубая подложка */
	--tint-3: #C9DAF9;
	--ink: #1E2126;
	--ink-2: #3A4150;
	--muted: #5C6370;
	--muted-2: #8B93A1;
	--soft: #F4F5F8;
	--line: #E4E8EF;
	font-family: var(--font-inter, "Inter", sans-serif);
	color: var(--ink);
	font-size: 16px;
	line-height: 1.5;
}

#nu-rootcanal * { box-sizing: border-box; }
#nu-rootcanal img { max-width: 100%; }
#nu-rootcanal a { text-decoration: none; }

/* ---- сетка секций ---- */
#nu-rootcanal .rc-in  { max-width: 1200px; margin: 0 auto; padding: 0 28px; }
#nu-rootcanal .rc-sec { padding: 56px 0; scroll-margin-top: 64px; }
#nu-rootcanal .rc-sec--grey  { background: var(--soft); }
#nu-rootcanal .rc-sec--white { background: #FFFFFF; }
#nu-rootcanal .rc-sec--blue  { background: var(--tint); }
#nu-rootcanal .rc-stack { display: flex; flex-direction: column; gap: 36px; }

/* ---- типографика ---- */
#nu-rootcanal .rc-h2 { margin: 0; font-size: clamp(25px, 2.7vw, 32px); font-weight: 700; letter-spacing: -.02em; line-height: 1.15; color: var(--ink); font-family: inherit; }
#nu-rootcanal .rc-h3 { margin: 0; font-size: 20px; font-weight: 700; line-height: 1.25; color: var(--ink); }
#nu-rootcanal .rc-p    { margin: 0; font-size: 15.5px; line-height: 1.65; color: var(--muted); }
#nu-rootcanal .rc-p--dark { color: #3B4A66; }
#nu-rootcanal .rc-lead { margin: 0; font-size: 15px; color: var(--muted); max-width: 420px; line-height: 1.5; }
#nu-rootcanal .rc-note { font-size: 12.5px; color: var(--muted-2); line-height: 1.5; }
#nu-rootcanal .rc-link { font-size: 15px; font-weight: 600; color: var(--a); }
#nu-rootcanal .rc-link--all { white-space: nowrap; }
#nu-rootcanal .rc-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 32px; flex-wrap: wrap; }
#nu-rootcanal .rc-head--col { flex-direction: column; align-items: flex-start; gap: 14px; max-width: 760px; }

#nu-rootcanal .rc-btn { display: inline-block; background: var(--a); color: #FFF; font-size: 15px; font-weight: 600; padding: 16px 30px; border-radius: 999px; border: 0; cursor: pointer; font-family: inherit; transition: background .2s ease; text-align: center; }
#nu-rootcanal .rc-btn:hover { background: var(--a-dark); color: #FFF; }
#nu-rootcanal .rc-btn--ghost { background: #FFF; border: 1px solid var(--line); color: var(--ink); padding: 15px 26px; }
#nu-rootcanal .rc-btn--ghost:hover { background: #FFF; border-color: var(--a); color: var(--a); }
#nu-rootcanal .rc-btn--wide { display: block; width: 100%; }
#nu-rootcanal .rc-pill { background: #FFF; border-radius: 999px; padding: 11px 20px; font-size: 14px; font-weight: 600; color: var(--ink); }
#nu-rootcanal .rc-pill:hover { background: var(--tint); color: var(--a-dark); }

/* ---- первый экран: широкоформатный баннер ---- */
#nu-rootcanal .rc-banner { position: relative; display: flex; align-items: center; min-height: clamp(360px, 40vw, 560px); overflow: hidden; background: var(--soft); }
#nu-rootcanal .rc-pic { display: contents; }
#nu-rootcanal .rc-banner__img { position: absolute; top: 0; bottom: 0; left: 50%; width: 50%; height: 100%; object-fit: cover; object-position: center 38%; }
#nu-rootcanal .rc-banner::after { content: ""; position: absolute; top: 0; bottom: 0; left: 50%; width: 140px; background: linear-gradient(90deg, var(--soft) 0%, rgba(244,245,248,0) 100%); z-index: 1; }
#nu-rootcanal .rc-banner__in { position: relative; z-index: 2; width: 100%; max-width: 1200px; margin: 0 auto; padding: 56px 28px; }
#nu-rootcanal .rc-banner__text { max-width: min(520px, calc(50vw - 80px)); }
#nu-rootcanal .rc-banner__h1 { margin: 0 0 18px; font-size: clamp(32px, 4vw, 52px); font-weight: 700; letter-spacing: -.02em; line-height: 1.06; color: var(--ink); max-width: 620px; font-family: inherit; }
#nu-rootcanal .rc-banner__desc { margin: 0 0 26px; font-size: 16.5px; line-height: 1.6; color: var(--muted); max-width: 520px; }

/* Пока в карточке направления нет широкого кадра, баннер живёт без фото:
   текст на светлой подложке во всю ширину — это выглядит опрятно,
   в отличие от растянутого мелкого снимка. */
#nu-rootcanal .rc-banner--nopic { min-height: 0; }
#nu-rootcanal .rc-banner--nopic::after { display: none; }
#nu-rootcanal .rc-banner--nopic .rc-banner__text { max-width: 760px; }
#nu-rootcanal .rc-banner--nopic .rc-banner__in { padding: 48px 28px 44px; }

#nu-rootcanal .rc-crumbs { display: flex; gap: 8px; align-items: center; font-size: 13.5px; color: var(--muted-2); flex-wrap: wrap; }
#nu-rootcanal .rc-crumbs a { color: var(--muted-2); }
#nu-rootcanal .rc-crumbs a:hover { color: var(--a); }
#nu-rootcanal .rc-crumbs--banner { padding: 0; margin-bottom: 18px; font-size: 12.5px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }

#nu-rootcanal .rc-hero__cta { display: flex; gap: 14px; align-items: center; flex-wrap: wrap; margin-top: 6px; }
#nu-rootcanal .rc-chips { display: flex; gap: 10px; flex-wrap: wrap; }
#nu-rootcanal .rc-chips--banner { margin-top: 26px; }
#nu-rootcanal .rc-chips span { background: #FFF; border: 1px solid var(--line); border-radius: 999px; padding: 9px 16px; font-size: 14px; font-weight: 500; color: var(--ink); }

/* ---- ценовые карточки и факты под баннером ---- */
#nu-rootcanal .rc-hero__pics { display: flex; flex-wrap: wrap; gap: 12px; align-items: stretch; }
#nu-rootcanal .rc-pricecard { border-radius: 20px; padding: 16px 22px; display: flex; flex-direction: column; gap: 3px; }
#nu-rootcanal .rc-pricecard--outline { background: #FFF; border: 1.5px solid var(--a); box-shadow: 0 8px 24px rgba(43,107,232,.12); }
#nu-rootcanal .rc-pricecard--fill { background: var(--tint); }
#nu-rootcanal .rc-pricecard__label { font-size: 12.5px; font-weight: 700; color: var(--a-dark); letter-spacing: .05em; text-transform: uppercase; }
#nu-rootcanal .rc-pricecard__value { font-size: 28px; font-weight: 700; letter-spacing: -.02em; line-height: 1.1; }
#nu-rootcanal .rc-pricecard__hint  { font-size: 12.5px; color: var(--muted); line-height: 1.4; }
#nu-rootcanal .rc-facts-row { background: #FFF; border-radius: 24px; padding: 26px 30px; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 210px), 1fr)); gap: 26px; }
#nu-rootcanal .rc-facts-row b { display: block; font-size: 26px; font-weight: 700; letter-spacing: -.02em; }
#nu-rootcanal .rc-facts-row span { display: block; font-size: 13.5px; color: var(--muted); line-height: 1.45; margin-top: 4px; }

/* ---- якорное меню ---- */
#nu-rootcanal .rc-anchor { position: sticky; top: var(--nu-sticky, 0px); z-index: 40; background: #FFF; border-top: 1px solid #E8EBF1; border-bottom: 1px solid #E8EBF1; }
#nu-rootcanal .rc-anchor__in { max-width: 1200px; margin: 0 auto; padding: 0 28px; display: flex; gap: 28px; align-items: center; height: 58px; font-size: 14.5px; font-weight: 500; overflow-x: auto; scrollbar-width: none; }
#nu-rootcanal .rc-anchor__in::-webkit-scrollbar { display: none; }
#nu-rootcanal .rc-anchor__in a { color: var(--muted); white-space: nowrap; }
#nu-rootcanal .rc-anchor__in a:hover, #nu-rootcanal .rc-anchor__in a.is-active { color: var(--a); }
#nu-rootcanal .rc-anchor__cta { margin-left: auto; background: var(--tint); color: var(--a-dark) !important; font-weight: 600; padding: 9px 18px; border-radius: 999px; }
#nu-rootcanal .rc-anchor__cta:hover { background: var(--a); color: #FFF !important; }
#nu-rootcanal .rc-progress__track { height: 3px; background: transparent; }
#nu-rootcanal .rc-progress { height: 100%; width: 0; background: var(--a); transition: width .1s linear; }

/* ---- об услуге ---- */
#nu-rootcanal .rc-about { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 380px), 1fr)); gap: 36px; align-items: center; }
#nu-rootcanal .rc-about__text { display: flex; flex-direction: column; gap: 18px; }
#nu-rootcanal .rc-about__list { display: flex; flex-direction: column; gap: 12px; margin-top: 2px; }
#nu-rootcanal .rc-about__list-title { font-size: 15px; font-weight: 700; }
#nu-rootcanal .rc-ticks { display: flex; flex-direction: column; gap: 10px; }
#nu-rootcanal .rc-tick { display: flex; gap: 12px; align-items: flex-start; font-size: 15.5px; line-height: 1.55; color: var(--ink-2); }
#nu-rootcanal .rc-tick::before {
	content: ""; flex: 0 0 22px; width: 22px; height: 22px; margin-top: 2px; border-radius: 999px;
	background: var(--tint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M4 12.5 L10 18 L20 6.5' stroke='%232B6BE8' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px 12px no-repeat;
}
#nu-rootcanal .rc-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr)); gap: 14px; margin-top: 8px; }
#nu-rootcanal .rc-fact { background: var(--soft); border-radius: 18px; padding: 20px 22px; }
#nu-rootcanal .rc-sec--grey .rc-fact { background: #FFF; }
#nu-rootcanal .rc-fact b { display: block; font-size: 21px; font-weight: 700; color: var(--a); }
#nu-rootcanal .rc-fact span { display: block; font-size: 14px; color: var(--muted); margin-top: 4px; line-height: 1.5; }
#nu-rootcanal .rc-about__pic { border-radius: 28px; overflow: hidden; aspect-ratio: 5 / 4; background: #E9ECF2; }
#nu-rootcanal .rc-about__pic img { width: 100%; height: 100%; object-fit: cover; display: block; }
#nu-rootcanal .rc-about__pic .rc-pic { display: block; height: 100%; }

/* ---- карточки ---- */
#nu-rootcanal .rc-cards { display: grid; gap: 16px; }
#nu-rootcanal .rc-cards--num { grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); }
#nu-rootcanal .rc-card { background: #FFF; border-radius: 24px; padding: 26px; display: flex; flex-direction: column; gap: 10px; }
#nu-rootcanal .rc-sec--white .rc-card { background: var(--soft); }
#nu-rootcanal .rc-card__num { width: 40px; height: 40px; border-radius: 12px; background: var(--tint); display: flex; align-items: center; justify-content: center; color: var(--a-dark); font-weight: 700; }
#nu-rootcanal .rc-card__name { font-size: 16px; font-weight: 600; line-height: 1.35; }
#nu-rootcanal .rc-card__text { font-size: 14.5px; color: var(--muted); line-height: 1.55; }
#nu-rootcanal .rc-card--cta { background: var(--a) !important; justify-content: space-between; }
#nu-rootcanal .rc-card--cta .rc-card__name { color: #FFF; line-height: 1.4; }
#nu-rootcanal .rc-card--cta a { background: #FFF; color: var(--a); font-size: 15px; font-weight: 600; padding: 12px 22px; border-radius: 999px; align-self: flex-start; }
#nu-rootcanal .rc-card--cta a:hover { background: var(--tint); color: var(--a-dark); }

/* ---- преимущества ---- */
#nu-rootcanal .rc-cards--adv { grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr)); gap: 14px; }
#nu-rootcanal .rc-adv { background: var(--soft); border-radius: 22px; padding: 26px; display: flex; flex-direction: column; gap: 12px; }
#nu-rootcanal .rc-adv__ico { width: 46px; height: 46px; border-radius: 14px; background: #FFF; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
#nu-rootcanal .rc-adv__name { font-size: 15.5px; font-weight: 600; line-height: 1.35; }
#nu-rootcanal .rc-adv__text { font-size: 14px; color: var(--muted); line-height: 1.55; }

/* ---- лечить или удалить ---- */
#nu-rootcanal .rc-vs { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: 16px; }
#nu-rootcanal .rc-vs__card { background: #FFF; border-radius: 28px; padding: 30px; display: flex; flex-direction: column; gap: 16px; }
#nu-rootcanal .rc-vs__tag { align-self: flex-start; background: var(--tint); border-radius: 999px; padding: 7px 15px; font-size: 13px; font-weight: 700; color: var(--a-dark); }
#nu-rootcanal .rc-vs__tag--mute { background: var(--soft); color: var(--muted); }
#nu-rootcanal .rc-vs__name { font-size: 20px; font-weight: 700; line-height: 1.25; }
#nu-rootcanal .rc-vs__price { font-size: clamp(24px, 2.8vw, 32px); font-weight: 800; letter-spacing: -.02em; line-height: 1.1; }
#nu-rootcanal .rc-vs__price--mute { color: var(--muted); }
#nu-rootcanal .rc-vs__rows { display: flex; flex-direction: column; gap: 11px; margin-top: 2px; }
#nu-rootcanal .rc-vs__row { display: flex; justify-content: space-between; gap: 16px; font-size: 14.5px; line-height: 1.5; padding-bottom: 11px; border-bottom: 1px solid #EEF1F5; }
#nu-rootcanal .rc-vs__row:last-child { border-bottom: none; padding-bottom: 0; }
#nu-rootcanal .rc-vs__row span:first-child { color: var(--muted); }
#nu-rootcanal .rc-vs__row span:last-child { font-weight: 600; text-align: right; }
#nu-rootcanal .rc-vs__btn { margin-top: auto; background: var(--a); color: #FFF; font-size: 15px; font-weight: 600; padding: 14px 26px; border-radius: 999px; align-self: flex-start; }
#nu-rootcanal .rc-vs__btn:hover { background: var(--a-dark); color: #FFF; }
#nu-rootcanal .rc-vs__btn--ghost { background: var(--soft); color: var(--ink); }
#nu-rootcanal .rc-vs__btn--ghost:hover { background: var(--tint); color: var(--a-dark); }

/* ---- цены ---- */
#nu-rootcanal .rc-prices { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 380px), 1fr)); gap: 36px; align-items: start; }
#nu-rootcanal .rc-prices__side { display: flex; flex-direction: column; gap: 16px; }
#nu-rootcanal .rc-prices__table { background: var(--soft); border-radius: 28px; padding: 8px 30px; }
#nu-rootcanal .rc-sec--grey .rc-prices__table { background: #FFF; }
#nu-rootcanal .rc-price__group { border-bottom: 1px solid var(--line); }
#nu-rootcanal .rc-price__group:last-child { border-bottom: none; }
#nu-rootcanal .rc-price__title { display: flex; align-items: center; gap: 10px; padding: 19px 0; font-size: 15.5px; font-weight: 700; }
#nu-rootcanal .rc-price__row { display: flex; justify-content: space-between; align-items: center; gap: 24px; padding: 15px 0; border-top: 1px solid var(--line); }
#nu-rootcanal .rc-price__name { display: flex; flex-direction: column; gap: 3px; font-size: 15px; font-weight: 500; }
#nu-rootcanal .rc-price__note { font-size: 13.5px; color: var(--muted-2); font-weight: 400; }
#nu-rootcanal .rc-price__val { font-size: 16px; font-weight: 700; white-space: nowrap; }
#nu-rootcanal .rc-price__empty { padding: 24px 0; font-size: 15px; color: var(--muted); line-height: 1.6; }

/* ---- калькулятор ---- */
#nu-rootcanal .rc-calc { background: #FFF; border-radius: 32px; padding: 34px; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); gap: 34px; align-items: start; }
#nu-rootcanal .rc-calc__controls { display: flex; flex-direction: column; gap: 26px; }
#nu-rootcanal .rc-calc__step { display: flex; flex-direction: column; gap: 12px; }
#nu-rootcanal .rc-calc__label { font-size: 14px; font-weight: 700; color: var(--muted); }
#nu-rootcanal .rc-calc__opts { display: flex; gap: 8px; flex-wrap: wrap; }
#nu-rootcanal .rc-chip { font-family: inherit; font-size: 14px; font-weight: 600; padding: 11px 18px; border-radius: 999px; border: 1px solid var(--line); background: #FFF; color: var(--ink-2); cursor: pointer; transition: background .18s, color .18s, border-color .18s; }
#nu-rootcanal .rc-chip:hover { border-color: var(--a); color: var(--a); }
#nu-rootcanal .rc-chip.is-on { background: var(--a); border-color: var(--a); color: #FFF; }
#nu-rootcanal .rc-calc__hint { font-size: 13px; color: var(--muted-2); line-height: 1.5; }
#nu-rootcanal .rc-calc__result { background: var(--soft); border-radius: 24px; padding: 28px; display: flex; flex-direction: column; gap: 8px; }
#nu-rootcanal .rc-calc__rlabel { font-size: 14px; font-weight: 700; color: var(--muted); margin-bottom: 6px; }
#nu-rootcanal .rc-calc__row { display: flex; justify-content: space-between; align-items: baseline; gap: 18px; padding: 11px 0; border-bottom: 1px solid var(--line); }
#nu-rootcanal .rc-calc__row span:first-child { font-size: 14.5px; line-height: 1.45; color: var(--ink-2); }
#nu-rootcanal .rc-calc__row span:last-child { font-size: 14.5px; font-weight: 700; white-space: nowrap; }
#nu-rootcanal .rc-calc__total { display: flex; justify-content: space-between; align-items: flex-end; gap: 18px; padding-top: 18px; }
#nu-rootcanal .rc-calc__total-l { display: flex; flex-direction: column; gap: 3px; }
#nu-rootcanal .rc-calc__total-label { font-size: 14px; font-weight: 600; color: var(--a-dark); }
#nu-rootcanal .rc-calc__visits { font-size: 13px; color: var(--muted-2); }
#nu-rootcanal .rc-calc__sum { font-size: clamp(24px, 2.8vw, 32px); font-weight: 800; letter-spacing: -.02em; line-height: 1.1; white-space: nowrap; }
#nu-rootcanal .rc-calc__result .rc-btn { margin-top: 14px; }
#nu-rootcanal .rc-calc__result .rc-note { margin-top: 6px; }

/* ---- этапы ---- */
#nu-rootcanal .rc-steps { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 175px), 1fr)); gap: 14px; }
#nu-rootcanal .rc-step { background: #FFF; border-radius: 22px; padding: 24px; display: flex; flex-direction: column; gap: 12px; }
#nu-rootcanal .rc-step__top { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
#nu-rootcanal .rc-step__ico { width: 46px; height: 46px; border-radius: 14px; background: var(--soft); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
#nu-rootcanal .rc-step__n { font-size: 14px; font-weight: 700; color: var(--a); }
#nu-rootcanal .rc-step__name { font-size: 15.5px; font-weight: 600; line-height: 1.3; }
#nu-rootcanal .rc-step__text { font-size: 13.5px; color: var(--muted); line-height: 1.5; }
#nu-rootcanal .rc-after { background: #FFF; border-radius: 28px; padding: 32px; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: 28px; align-items: start; }
#nu-rootcanal .rc-after__side { display: flex; flex-direction: column; gap: 12px; }
#nu-rootcanal .rc-after__list { display: flex; flex-direction: column; gap: 12px; counter-reset: rcnum; }
#nu-rootcanal .rc-after__list p { margin: 0; display: flex; gap: 12px; align-items: flex-start; font-size: 15px; line-height: 1.55; color: var(--ink-2); }
#nu-rootcanal .rc-after__list p::before {
	counter-increment: rcnum; content: counter(rcnum);
	flex: 0 0 26px; width: 26px; height: 26px; border-radius: 999px; background: var(--tint);
	display: flex; align-items: center; justify-content: center; font-size: 13px; font-weight: 700; color: var(--a-dark);
}

/* ---- вопросы ---- */
#nu-rootcanal .rc-faq { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 380px), 1fr)); gap: 36px; align-items: start; }
#nu-rootcanal .rc-faq__side { display: flex; flex-direction: column; gap: 16px; }
#nu-rootcanal .rc-faq__chips { display: flex; gap: 10px; flex-wrap: wrap; }
#nu-rootcanal .rc-faq__list { display: flex; flex-direction: column; gap: 10px; }
#nu-rootcanal .rc-faq__item { background: #FFF; border-radius: 18px; padding: 6px 24px; }
#nu-rootcanal .rc-sec--white .rc-faq__item { background: var(--soft); }
#nu-rootcanal .rc-faq__item > summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 16px 0; font-size: 15.5px; font-weight: 600; }
#nu-rootcanal .rc-faq__item > summary::-webkit-details-marker { display: none; }
#nu-rootcanal .rc-faq__plus { color: var(--a); font-size: 20px; font-weight: 500; flex-shrink: 0; }
#nu-rootcanal .rc-faq__item[open] .rc-faq__plus { transform: rotate(45deg); }
#nu-rootcanal .rc-faq__answer { padding: 0 0 18px; font-size: 15px; line-height: 1.6; color: var(--muted); }
#nu-rootcanal .rc-faq__answer p { margin: 0 0 10px; }
#nu-rootcanal .rc-faq__answer p:last-child { margin-bottom: 0; }

/* ---- форма ---- */
#nu-rootcanal .rc-form__wrap { padding-bottom: 0; }
#nu-rootcanal .rc-form__box { position: relative; overflow: hidden; background: var(--a); border-radius: 32px; padding: 40px 44px; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: 36px; align-items: start; }
#nu-rootcanal .rc-form__side { display: flex; flex-direction: column; gap: 16px; }
#nu-rootcanal .rc-form__h2 { margin: 0; font-size: clamp(24px, 2.6vw, 30px); font-weight: 700; letter-spacing: -.02em; line-height: 1.15; color: #FFF; }
#nu-rootcanal .rc-form__lead { margin: 0; font-size: 15px; line-height: 1.6; color: var(--tint); }
#nu-rootcanal .rc-form__plan { margin: 0; font-size: 14px; line-height: 1.5; color: #FFF; background: rgba(255,255,255,.14); border-radius: 14px; padding: 12px 16px; }
#nu-rootcanal .rc-form__contacts { display: flex; flex-direction: column; gap: 6px; margin-top: 2px; }
#nu-rootcanal .rc-form__phone { font-size: 21px; font-weight: 700; color: #FFF; }
#nu-rootcanal .rc-form__phone:hover { color: #FFF; }
#nu-rootcanal .rc-form__addr { font-size: 14.5px; color: var(--tint); }
#nu-rootcanal .rc-form__map { border-radius: 20px; overflow: hidden; height: 240px; background: rgba(255,255,255,.14); margin-top: 6px; }
#nu-rootcanal .rc-form__map iframe { width: 100%; height: 100%; border: 0; display: block; }
#nu-rootcanal .rc-form { position: relative; background: #FFF; border-radius: 24px; padding: 32px; }
#nu-rootcanal .rc-form__fields { display: flex; flex-direction: column; gap: 16px; }
#nu-rootcanal .rc-field { display: flex; flex-direction: column; gap: 7px; font-size: 13.5px; font-weight: 600; color: var(--muted); }
#nu-rootcanal .rc-field .input, #nu-rootcanal .rc-field .textarea {
	font-family: inherit; font-size: 15.5px; padding: 14px 18px; border-radius: 14px;
	border: 1px solid #D8DEE8; outline: none; color: var(--ink); background: #FFF; width: 100%;
}
#nu-rootcanal .rc-field .textarea { resize: vertical; }
#nu-rootcanal .rc-field .input:focus, #nu-rootcanal .rc-field .textarea:focus { border-color: var(--a); box-shadow: 0 0 0 3px var(--tint); }
#nu-rootcanal .rc-agree { display: flex; gap: 10px; align-items: flex-start; font-size: 12.5px; line-height: 1.5; color: var(--muted-2); cursor: pointer; }
#nu-rootcanal .rc-agree .checkbox__input { margin-top: 2px; width: 16px; height: 16px; accent-color: var(--a); flex-shrink: 0; }
#nu-rootcanal .rc-submit { font-family: inherit; background: var(--a); color: #FFF; font-size: 15px; font-weight: 600; padding: 16px; border-radius: 999px; border: none; cursor: pointer; width: 100%; }
#nu-rootcanal .rc-submit:hover { background: var(--a-dark); }
#nu-rootcanal .rc-hidden { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
#nu-rootcanal .rc-form__ok { position: relative; background: #FFF; border-radius: 24px; padding: 52px 40px; display: flex; flex-direction: column; gap: 14px; align-items: center; text-align: center; }
#nu-rootcanal .rc-form__ok[hidden] { display: none; }
#nu-rootcanal .rc-form__ok-ico { width: 64px; height: 64px; border-radius: 999px; background: var(--tint); display: flex; align-items: center; justify-content: center; }
#nu-rootcanal .rc-form__ok-title { font-size: 20px; font-weight: 700; }

/* ---- SEO-блок ---- */
#nu-rootcanal .rc-seo { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 380px), 1fr)); gap: 36px; align-items: start; }
#nu-rootcanal .rc-seo__text, #nu-rootcanal .rc-seo__links { display: flex; flex-direction: column; gap: 16px; }
#nu-rootcanal .rc-seo__links-title { font-size: 15px; font-weight: 700; }
#nu-rootcanal .rc-links { display: flex; flex-wrap: wrap; gap: 10px; }
#nu-rootcanal .rc-links a { background: var(--soft); border-radius: 999px; padding: 10px 18px; font-size: 14px; font-weight: 500; color: var(--ink); }
#nu-rootcanal .rc-sec--white .rc-links a { background: var(--soft); }
#nu-rootcanal .rc-links a:hover { background: var(--tint); color: var(--a-dark); }

/* ---- мобильная панель действий ---- */
#nu-rootcanal .rc-sticky { position: fixed; left: 0; right: 0; bottom: 0; z-index: 60; display: none; gap: 10px; padding: 10px 16px calc(10px + env(safe-area-inset-bottom)); background: rgba(255,255,255,.97); border-top: 1px solid var(--line); }
#nu-rootcanal .rc-sticky a { flex: 1 1 0; text-align: center; font-size: 15px; font-weight: 600; padding: 13px 10px; border-radius: 999px; }
#nu-rootcanal .rc-sticky__call { background: var(--soft); color: var(--ink); }
#nu-rootcanal .rc-sticky__book { background: var(--a); color: #FFF; }

/* ---- адаптив ---- */
@media (max-width: 900px) {
	/* на узких экранах текст поверх фото читается плохо — раскладываем в столбец */
	#nu-rootcanal .rc-banner { display: block; min-height: 0; }
	#nu-rootcanal .rc-banner__img { position: relative; left: auto; right: auto; width: 100%; height: clamp(200px, 42vw, 300px); object-position: center 35%; }
	#nu-rootcanal .rc-banner::after { display: none; }
	#nu-rootcanal .rc-banner__text { max-width: none; }
	#nu-rootcanal .rc-banner__in { padding: 24px 16px 32px; }
	#nu-rootcanal .rc-banner__h1 { max-width: none; }
	#nu-rootcanal .rc-banner__desc { max-width: none; }
	#nu-rootcanal .rc-form__box { padding: 30px 24px; }
	#nu-rootcanal .rc-calc { padding: 24px; }
	#nu-rootcanal .rc-after { padding: 24px; }
}
@media (max-width: 768px) {
	#nu-rootcanal .rc-sec { padding: 40px 0; scroll-margin-top: 16px; }
	#nu-rootcanal .rc-in, #nu-rootcanal .rc-anchor__in { padding: 0 16px; }
	#nu-rootcanal .rc-stack { gap: 26px; }
	#nu-rootcanal .rc-anchor { display: none; }
	#nu-rootcanal .rc-sticky { display: flex; }
	#nu-rootcanal { padding-bottom: 74px; }
	#nu-rootcanal .rc-hero__pics .rc-pricecard { flex: 1 1 100%; }
	#nu-rootcanal .rc-facts-row { padding: 22px; gap: 18px; }
	#nu-rootcanal .rc-prices__table { padding: 6px 20px; }
	#nu-rootcanal .rc-vs__card { padding: 24px; }
	#nu-rootcanal .rc-card { padding: 22px; }
	#nu-rootcanal .rc-adv { padding: 22px; }
	#nu-rootcanal .rc-faq__item { padding: 4px 18px; }
	#nu-rootcanal .rc-form { padding: 24px; }
	#nu-rootcanal .rc-form__ok { padding: 36px 24px; }
	#nu-rootcanal .rc-price__row { align-items: flex-start; gap: 14px; }
	#nu-rootcanal .rc-hero__cta .rc-btn { flex: 1 1 100%; }
}
@media (max-width: 420px) {
	#nu-rootcanal .rc-calc__opts .rc-chip { flex: 1 1 calc(50% - 4px); }
}

/* Стык первого экрана с шапкой сайта — см. память nuance-landing-header-junction.
   Баннер первым потомком .page__content, поэтому снимаем отступы обёрток шаблона. */
.page__content:has(> #nu-rootcanal){padding-top:0}
main.page:has(> .page__content > #nu-rootcanal){padding-top:139px}
@media (max-width:1200px){main.page:has(> .page__content > #nu-rootcanal){padding-top:68px}}
@media (max-width:576px){main.page:has(> .page__content > #nu-rootcanal){padding-top:60px}}

/* Фолбэк для браузеров без :has() (Safari < 15.4, Firefox < 121).
   Файл подключается только на этой странице, поэтому обёртки правим напрямую. */
@supports not selector(:has(*)) {
	.page__content{padding-top:0}
	main.page{padding-top:139px}
	@media (max-width:1200px){main.page{padding-top:68px}}
	@media (max-width:576px){main.page{padding-top:60px}}
}

/* ============================================================
   v2 — новые блоки: стадии, тест, вкладки по зубам, технологии,
   диагностика, перелечивание, примеры смет, таблица осложнений,
   мифы, галерея клиники. Всё так же внутри #nu-rootcanal.
   ============================================================ */

#nu-rootcanal .rc-eyebrow { font-size: 12.5px; font-weight: 700; letter-spacing: .1em; color: var(--muted-2); text-transform: uppercase; }
#nu-rootcanal .rc-head__col { display: flex; flex-direction: column; gap: 12px; }
#nu-rootcanal .rc-sec--grey .rc-adv { background: #FFF; }
#nu-rootcanal .rc-tag { display: inline-flex; align-items: center; background: var(--soft); border-radius: 999px; padding: 8px 15px; font-size: 13.5px; font-weight: 600; color: var(--muted); }
#nu-rootcanal .rc-tag--blue { background: var(--tint); color: var(--a-dark); }
#nu-rootcanal .rc-sec--grey .rc-tag { background: #FFF; }
#nu-rootcanal .rc-chipsline { display: flex; flex-wrap: wrap; gap: 10px; }
#nu-rootcanal .rc-callout { background: var(--tint); border-radius: 22px; padding: 22px 26px; font-size: 15px; line-height: 1.6; color: #3B4A66; }
#nu-rootcanal .rc-callout--phone { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
#nu-rootcanal .rc-callout a { font-weight: 700; color: var(--a-dark); white-space: nowrap; }

/* ---- стадии воспаления ---- */
#nu-rootcanal .rc-stages { display: flex; flex-direction: column; gap: 16px; }
#nu-rootcanal .rc-stages__tabs { display: flex; flex-wrap: wrap; gap: 8px; }
#nu-rootcanal .rc-pill { font-family: inherit; border: 1px solid var(--line); cursor: pointer; }
#nu-rootcanal .rc-pill.is-on { background: var(--a); border-color: var(--a); color: #FFF; }
#nu-rootcanal .rc-pill.is-on:hover { background: var(--a-dark); color: #FFF; }
#nu-rootcanal .rc-depth { display: flex; flex-direction: column; gap: 8px; }
#nu-rootcanal .rc-depth__bar { position: relative; height: 64px; border-radius: 18px; overflow: hidden; background: #FFF; border: 1px solid var(--line); }
#nu-rootcanal .rc-depth__fill { position: absolute; left: 0; top: 0; bottom: 0; width: 50%; background: linear-gradient(90deg, rgba(43,107,232,.14) 0%, rgba(43,107,232,.55) 100%); transition: width .35s ease; }
#nu-rootcanal .rc-depth__marks { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; font-size: 12.5px; font-weight: 600; color: var(--muted); }
#nu-rootcanal .rc-depth__marks span { text-align: center; }
#nu-rootcanal .rc-stages__panels { background: #FFF; border-radius: 24px; padding: 28px; }
#nu-rootcanal .rc-stage { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: 26px; align-items: center; }
#nu-rootcanal .rc-stage__body { display: flex; flex-direction: column; gap: 12px; }
#nu-rootcanal .rc-stage__name { font-size: 19px; font-weight: 700; line-height: 1.3; }
#nu-rootcanal .rc-stage__text { margin: 0; font-size: 15px; line-height: 1.6; color: var(--muted); }
#nu-rootcanal .rc-stage__tags { display: flex; flex-wrap: wrap; gap: 10px; }
#nu-rootcanal .rc-stage__cost { background: var(--soft); border-radius: 20px; padding: 20px 22px; font-size: 15px; font-weight: 600; line-height: 1.5; color: var(--a-dark); }

/* ---- тест ---- */
#nu-rootcanal .rc-test { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 16px; }
#nu-rootcanal .rc-test__form { background: #FFF; border-radius: 28px; padding: 30px; display: flex; flex-direction: column; gap: 22px; }
#nu-rootcanal .rc-test__q { display: flex; flex-direction: column; gap: 10px; }
#nu-rootcanal .rc-test__label { font-size: 15px; font-weight: 700; }
#nu-rootcanal .rc-test__opts { display: flex; flex-wrap: wrap; gap: 8px; }
#nu-rootcanal .rc-test__opts .rc-chip { text-align: left; }
#nu-rootcanal .rc-test__out { background: #FFF; border-radius: 28px; padding: 30px; display: flex; flex-direction: column; gap: 14px; }
#nu-rootcanal .rc-test__res { display: flex; flex-direction: column; gap: 10px; }
#nu-rootcanal .rc-test__res-tag { align-self: flex-start; background: var(--tint); color: var(--a-dark); border-radius: 999px; padding: 7px 15px; font-size: 12.5px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
#nu-rootcanal .rc-test__res-tag--red { background: #FDE8E8; color: #B3261E; }
#nu-rootcanal .rc-test__res-tag--green { background: #E4F4EA; color: #1E7A46; }
#nu-rootcanal .rc-test__res-name { font-size: 18px; font-weight: 700; line-height: 1.3; }
#nu-rootcanal .rc-test__res-text { margin: 0; font-size: 15px; line-height: 1.6; color: var(--muted); }

/* ---- вкладки по группам зубов ---- */
#nu-rootcanal .rc-tabsbox { display: flex; flex-direction: column; gap: 16px; }
#nu-rootcanal .rc-tabs { display: flex; flex-wrap: wrap; gap: 8px; }
#nu-rootcanal .rc-tab { font-family: inherit; font-size: 14px; font-weight: 600; padding: 11px 18px; border-radius: 999px; border: 1px solid var(--line); background: #FFF; color: var(--ink-2); cursor: pointer; transition: background .18s, color .18s, border-color .18s; }
#nu-rootcanal .rc-tab:hover { border-color: var(--a); color: var(--a); }
#nu-rootcanal .rc-tab.is-on { background: var(--a); border-color: var(--a); color: #FFF; }
#nu-rootcanal .rc-tooth { background: var(--soft); border-radius: 28px; padding: 30px; display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 26px; align-items: center; }
#nu-rootcanal .rc-tooth__text { display: flex; flex-direction: column; gap: 14px; }
#nu-rootcanal .rc-tooth__facts { display: flex; flex-wrap: wrap; gap: 10px; }
#nu-rootcanal .rc-tooth__facts span { background: #FFF; border-radius: 999px; padding: 8px 15px; font-size: 13.5px; font-weight: 600; color: var(--muted); }
#nu-rootcanal .rc-tooth__cost { background: #FFF; border-radius: 24px; padding: 24px; display: flex; flex-direction: column; gap: 6px; }
#nu-rootcanal .rc-tooth__cost-label { font-size: 13.5px; color: var(--muted); }
#nu-rootcanal .rc-tooth__cost-val { font-size: 28px; font-weight: 700; color: var(--a); letter-spacing: -.02em; }
#nu-rootcanal .rc-tooth__cost-note { font-size: 13px; color: var(--muted-2); line-height: 1.5; margin-bottom: 10px; }

/* ---- технологии ---- */
#nu-rootcanal .rc-tech { position: relative; overflow: hidden; background: linear-gradient(135deg, #17325F 0%, #1F56CC 100%); border-radius: 32px; padding: 44px; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); gap: 36px; }
#nu-rootcanal .rc-tech::after { content: ""; position: absolute; right: -90px; top: -90px; width: 380px; height: 380px; border-radius: 999px; border: 1px solid rgba(255,255,255,.14); pointer-events: none; }
#nu-rootcanal .rc-tech__head { position: relative; display: flex; flex-direction: column; gap: 18px; }
#nu-rootcanal .rc-tech__eyebrow { align-self: flex-start; background: rgba(255,255,255,.14); border-radius: 999px; padding: 8px 16px; font-size: 12.5px; font-weight: 700; letter-spacing: .08em; color: #FFF; text-transform: uppercase; }
#nu-rootcanal .rc-tech__h2 { margin: 0; font-size: clamp(25px, 2.7vw, 32px); font-weight: 700; letter-spacing: -.02em; line-height: 1.15; color: #FFF; font-family: inherit; }
#nu-rootcanal .rc-tech__lead { margin: 0; font-size: 15.5px; line-height: 1.6; color: var(--tint-3); max-width: 520px; }
#nu-rootcanal .rc-tech__grid { position: relative; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: 12px; align-content: start; }
#nu-rootcanal .rc-tech__card { background: rgba(255,255,255,.08); border-radius: 20px; padding: 20px; display: flex; flex-direction: column; gap: 6px; }
#nu-rootcanal .rc-tech__name { font-size: 15.5px; font-weight: 600; color: #FFF; }
#nu-rootcanal .rc-tech__text { font-size: 14px; line-height: 1.55; color: var(--tint-3); }

/* ---- диагностика ---- */
#nu-rootcanal .rc-diags { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: 16px; }
#nu-rootcanal .rc-diag { background: #FFF; border-radius: 24px; padding: 26px; display: flex; flex-direction: column; gap: 10px; }
#nu-rootcanal .rc-diag__name { font-size: 16px; font-weight: 600; line-height: 1.35; }
#nu-rootcanal .rc-diag__text { font-size: 14.5px; color: var(--muted); line-height: 1.55; }
#nu-rootcanal .rc-diag__prices { display: flex; flex-wrap: wrap; gap: 10px 22px; align-items: center; font-size: 14.5px; font-weight: 600; color: var(--ink-2); }

/* ---- перелечивание ---- */
#nu-rootcanal .rc-cols { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); gap: 16px; }
#nu-rootcanal .rc-col { background: var(--soft); border-radius: 28px; padding: 30px; display: flex; flex-direction: column; gap: 16px; }
#nu-rootcanal .rc-col--soft { background: var(--tint); }
#nu-rootcanal .rc-col__name { font-size: 18px; font-weight: 700; line-height: 1.3; }
#nu-rootcanal .rc-steps-mini { display: flex; flex-direction: column; gap: 14px; }
#nu-rootcanal .rc-mini { display: flex; gap: 14px; align-items: flex-start; }
#nu-rootcanal .rc-mini > span { flex-shrink: 0; width: 28px; height: 28px; border-radius: 999px; background: #FFF; color: var(--a-dark); font-size: 14px; font-weight: 700; display: flex; align-items: center; justify-content: center; }
#nu-rootcanal .rc-mini > div { font-size: 14.5px; line-height: 1.55; color: var(--ink-2); }
#nu-rootcanal .rc-mini b { display: block; font-size: 15px; font-weight: 700; color: var(--ink); margin-bottom: 2px; }

/* ---- что входит в стоимость ---- */
#nu-rootcanal .rc-incl { display: flex; flex-direction: column; gap: 12px; background: #FFF; border-radius: 24px; padding: 24px; }
#nu-rootcanal .rc-sec--grey .rc-incl { background: #FFF; }
#nu-rootcanal .rc-incl__title { font-size: 15px; font-weight: 700; }
#nu-rootcanal .rc-incl .rc-tick { font-size: 14.5px; }

/* ---- примеры смет ---- */
#nu-rootcanal .rc-cases { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 290px), 1fr)); gap: 16px; }
#nu-rootcanal .rc-case { background: var(--soft); border-radius: 28px; padding: 28px; display: flex; flex-direction: column; gap: 12px; }
#nu-rootcanal .rc-case__name { font-size: 17px; font-weight: 700; line-height: 1.3; }
#nu-rootcanal .rc-case__text { margin: 0; font-size: 14.5px; line-height: 1.55; color: var(--muted); }
#nu-rootcanal .rc-case__rows { display: flex; flex-direction: column; gap: 8px; margin-top: 4px; }
#nu-rootcanal .rc-case__row { display: flex; justify-content: space-between; gap: 16px; font-size: 14px; color: var(--muted); line-height: 1.4; }
#nu-rootcanal .rc-case__row span:last-child { white-space: nowrap; font-weight: 600; color: var(--ink-2); }
#nu-rootcanal .rc-case__total { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; border-top: 1px solid var(--line); padding-top: 14px; margin-top: 4px; font-size: 14.5px; color: var(--muted); }
#nu-rootcanal .rc-case__total b { font-size: 22px; font-weight: 700; color: var(--a); white-space: nowrap; }

/* ---- таблица «норма / позвонить» ---- */
#nu-rootcanal .rc-table { background: var(--soft); border-radius: 24px; padding: 8px 26px; }
#nu-rootcanal .rc-row { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.2fr) minmax(0, 1.1fr); gap: 20px; padding: 16px 0; border-top: 1px solid var(--line); font-size: 14.5px; line-height: 1.5; color: var(--ink-2); }
#nu-rootcanal .rc-row:first-child { border-top: 0; }
#nu-rootcanal .rc-row--head { font-size: 12.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--muted-2); }
#nu-rootcanal .rc-row--ok { color: #1E7A46; font-weight: 600; }
#nu-rootcanal .rc-row--warn { color: #B3261E; font-weight: 600; }

/* ---- мифы ---- */
#nu-rootcanal .rc-myths { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); gap: 16px; }
#nu-rootcanal .rc-myth { background: var(--soft); border-radius: 24px; padding: 26px; display: flex; flex-direction: column; gap: 10px; }
#nu-rootcanal .rc-myth__q { font-size: 16px; font-weight: 700; line-height: 1.35; color: var(--muted-2); }
#nu-rootcanal .rc-myth__a { font-size: 14.5px; line-height: 1.6; color: var(--ink-2); }

/* ---- галерея клиники ---- */
#nu-rootcanal .rc-gallery { display: grid; grid-template-columns: repeat(6, 1fr); gap: 16px; }
#nu-rootcanal .rc-gal { position: relative; margin: 0; border-radius: 26px; overflow: hidden; background: #E9ECF2; }
#nu-rootcanal .rc-gal img { width: 100%; height: 100%; object-fit: cover; display: block; }
#nu-rootcanal .rc-gal figcaption { position: absolute; left: 16px; bottom: 16px; background: rgba(255,255,255,.94); border-radius: 999px; padding: 8px 16px; font-size: 13px; font-weight: 600; }
#nu-rootcanal .rc-gal--big { grid-column: span 3; aspect-ratio: 16 / 11; }
#nu-rootcanal .rc-gal--small { grid-column: span 2; aspect-ratio: 4 / 3; }
#nu-rootcanal .rc-gal--wide { grid-column: span 2; aspect-ratio: 4 / 3; }

/* ---- плашка «материал проверен врачом» ---- */
#nu-rootcanal .rc-review { display: flex; gap: 14px; align-items: flex-start; background: var(--soft); border-radius: 22px; padding: 20px 22px; margin-top: 4px; }
#nu-rootcanal .rc-review__ico { flex-shrink: 0; width: 40px; height: 40px; border-radius: 12px; background: #FFF; display: flex; align-items: center; justify-content: center; }
#nu-rootcanal .rc-review__text { display: flex; flex-direction: column; gap: 2px; }
#nu-rootcanal .rc-review__text b { font-size: 15px; font-weight: 700; }
#nu-rootcanal .rc-review__text span { font-size: 13.5px; color: var(--muted); }
#nu-rootcanal .rc-review__text p { margin: 8px 0 0; font-size: 13.5px; line-height: 1.55; color: var(--muted); }

/* ---- адаптив новых блоков ---- */
@media (max-width: 900px) {
	#nu-rootcanal .rc-stage,
	#nu-rootcanal .rc-tooth,
	#nu-rootcanal .rc-test { grid-template-columns: 1fr; }
	#nu-rootcanal .rc-row { grid-template-columns: 1fr; gap: 4px; }
	#nu-rootcanal .rc-row--head { display: none; }
	#nu-rootcanal .rc-gallery { grid-template-columns: repeat(2, 1fr); }
	#nu-rootcanal .rc-gal--big, #nu-rootcanal .rc-gal--small, #nu-rootcanal .rc-gal--wide { grid-column: span 1; aspect-ratio: 4 / 3; }
}

@media (max-width: 768px) {
	#nu-rootcanal .rc-stages__panels { padding: 22px; }
	#nu-rootcanal .rc-test__form, #nu-rootcanal .rc-test__out,
	#nu-rootcanal .rc-tooth, #nu-rootcanal .rc-col, #nu-rootcanal .rc-case { padding: 22px; }
	#nu-rootcanal .rc-tech { padding: 28px; border-radius: 26px; }
	#nu-rootcanal .rc-table { padding: 6px 20px; }
	#nu-rootcanal .rc-gallery { grid-template-columns: 1fr; }
	#nu-rootcanal .rc-depth__marks { font-size: 11.5px; }
}

/* Заголовки карточек — настоящие h3: гасим отступы и наследуем шрифт страницы,
   размер и насыщенность остаются из классов карточек. */
#nu-rootcanal h3.rc-card__name, #nu-rootcanal h3.rc-stage__name, #nu-rootcanal h3.rc-tech__name,
#nu-rootcanal h3.rc-diag__name, #nu-rootcanal h3.rc-col__name, #nu-rootcanal h3.rc-myth__q,
#nu-rootcanal h3.rc-case__name, #nu-rootcanal h3.rc-incl__title {
	margin: 0; font-family: inherit; letter-spacing: normal; flex: 0 0 auto;
}

/* Панели вкладок и результаты теста прячутся атрибутом hidden — у карточек
   задан display, поэтому браузерное правило нужно усилить. */
#nu-rootcanal [hidden] { display: none !important; }
#nu-rootcanal .rc-tech__cta { display: flex; flex-direction: column; gap: 10px; align-items: flex-start; margin-top: 4px; }
#nu-rootcanal .rc-btn--light { background: #FFF; color: var(--a-dark); }
#nu-rootcanal .rc-btn--light:hover { background: var(--tint); color: var(--a-dark); }
#nu-rootcanal .rc-tech__note { font-size: 13.5px; color: var(--tint-3); line-height: 1.5; }

/* «Когда лечить бессмысленно»: призыв под карточками — во всю ширину сетки. */
#nu-rootcanal #protivopokazaniya .rc-card--cta { grid-column: 1 / -1; flex-direction: row; align-items: center; justify-content: space-between; gap: 28px; }
#nu-rootcanal #protivopokazaniya .rc-card--cta .rc-card__name { max-width: 760px; }
@media (max-width: 768px) {
	#nu-rootcanal #protivopokazaniya .rc-card--cta { flex-direction: column; align-items: flex-start; gap: 16px; }
}


/* ============================================================
   Видео — вертикальные ролики, как на страницах раздела «Хирургия».
   Добавлено 18.09.2026 вместе с секцией #video.
   ============================================================ */
#nu-rootcanal .rc-reels{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));gap:16px}
#nu-rootcanal .rc-reel{display:flex;flex-direction:column;gap:12px}
#nu-rootcanal .rc-reel__box{position:relative;aspect-ratio:9/16;border-radius:22px;overflow:hidden;background:#DCE8FB}
#nu-rootcanal .rc-reel__box video{display:block;width:100%;height:100%;object-fit:cover}
#nu-rootcanal .rc-reel__t{font-size:14.5px;font-weight:600;line-height:1.35}
@media (max-width:560px){#nu-rootcanal .rc-reels{grid-template-columns:repeat(2,1fr);gap:12px}}
