/* Единые токены для калькулятора, карточек и формы в обеих темах. */
.rdn-calc { --calc-bg:#e9e9e7; --calc-card:#fff; --calc-ink:#171717; --calc-muted:#62625e; --calc-line:#d4d4d0; --calc-violet:#5948e8; --calc-green:#088739; --calc-lime:#c6ff00; color:var(--calc-ink); background:var(--calc-bg); padding:clamp(36px,6vw,88px) clamp(16px,4vw,48px); color-scheme:light; }
.dark .rdn-calc { --calc-bg:#161618; --calc-card:#242428; --calc-ink:#f4f4f5; --calc-muted:#b8b8c0; --calc-line:#434348; --calc-violet:#b0a5ff; color-scheme:dark; }
.rdn-calc *, .rdn-calc *::before, .rdn-calc *::after { box-sizing:border-box; }
.rdn-calc [hidden] { display:none!important; }
.rdn-calc button,.rdn-calc input,.rdn-calc textarea { font:inherit; }
.rdn-calc button { cursor:pointer; border-radius:0; }
.rdn-calc button:disabled { cursor:not-allowed; opacity:.45; }
.rdn-calc :focus-visible { outline:2px solid var(--calc-violet); outline-offset:4px; }
.rdn-calc__intro,.rdn-calc__tabs,.rdn-calc__layout { max-width:1280px; margin-inline:auto; }
.rdn-calc__intro { display:flex; justify-content:space-between; align-items:end; gap:32px; margin-bottom:40px; }
.rdn-calc__eyebrow { margin:0 0 18px; color:var(--calc-muted); font-size:10px; letter-spacing:.18em; font-weight:800; text-transform:uppercase; }
.rdn-calc h2 { color:inherit; font-size:clamp(34px,5.7vw,78px); font-weight:900; line-height:.91; letter-spacing:-.055em; margin:0; }
.rdn-calc__dot { color:var(--calc-green); }
.rdn-calc__promise { max-width:300px; padding-bottom:4px; }
.rdn-calc__promise>span { display:inline-block; color:#fff; background:#5948e8; padding:9px 14px; font-size:10px; letter-spacing:.1em; font-weight:800; clip-path:polygon(0 0,calc(100% - 8px) 0,100% 8px,100% 100%,8px 100%,0 calc(100% - 8px)); }
.rdn-calc__promise p { color:var(--calc-muted); font-size:14px; line-height:1.6; margin:16px 0 0; }
.rdn-calc__tabs { display:flex; flex-wrap:wrap; gap:8px; border-bottom:1px solid var(--calc-line); padding-bottom:24px; margin-bottom:24px; }
.rdn-calc__tabs button { display:flex; align-items:center; gap:12px; padding:13px 16px; background:var(--calc-card); color:var(--calc-ink); border:1px solid transparent; font-size:12px; font-weight:800; }
.rdn-calc__tabs button[aria-pressed=true] { background:var(--calc-ink); color:var(--calc-card); }
.rdn-calc__tabs button:hover { border-color:var(--calc-violet); }
.rdn-calc__tabs span { opacity:.5; font-variant-numeric:tabular-nums; }
.rdn-calc__tabs span.has-selection { color:#171717; background:var(--calc-lime); padding:1px 5px; opacity:1; }
.rdn-calc__layout { display:grid; grid-template-columns:minmax(0,1fr) 350px; gap:28px; align-items:start; }
.rdn-calc__catalog { min-width:0; }
.rdn-calc__search { display:flex; justify-content:space-between; gap:20px; align-items:center; margin:0 0 22px; }
.rdn-calc__search>span { font-size:10px; font-weight:800; text-transform:uppercase; max-width:140px; line-height:1.5; color:var(--calc-muted); }
.rdn-calc__search input { min-width:0; width:65%; padding:12px 0; background:transparent; border:0; border-bottom:1px solid var(--calc-line); color:var(--calc-ink); font-size:13px; border-radius:0; }
.rdn-calc__group-title { display:flex; justify-content:space-between; margin-bottom:12px; color:var(--calc-muted); font-size:11px; }
.rdn-calc__group-title h3 { margin:0; color:inherit; font-size:inherit; font-weight:700; }
.rdn-calc__item { position:relative; background:var(--calc-card); border:1px solid transparent; margin-bottom:10px; padding:20px 22px; clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,12px 100%,0 calc(100% - 12px)); }
.rdn-calc__item::after { content:''; position:absolute; inset:0 auto 0 0; width:3px; background:transparent; }
.rdn-calc__item.is-selected::after { background:var(--calc-green); }
.rdn-calc__item.is-selected { border-color:var(--calc-line); }
.rdn-calc__item-head { display:flex; justify-content:space-between; align-items:center; gap:18px; }
.rdn-calc__service-label { display:flex; align-items:center; gap:16px; flex:1; min-width:0; font-size:15px; font-weight:800; cursor:pointer; line-height:1.35; }
.rdn-calc input.rdn-calc__switch { appearance:none; flex:0 0 38px; width:38px; height:22px; border:1px solid var(--calc-muted); background:transparent; border-radius:0; position:relative; margin:0; padding:0; cursor:pointer; }
.rdn-calc input.rdn-calc__switch::after { content:''; position:absolute; width:14px; height:14px; top:3px; left:3px; background:var(--calc-muted); transition:transform .15s; }
.rdn-calc input.rdn-calc__switch:checked { background:var(--calc-ink); border-color:var(--calc-ink); }
.rdn-calc input.rdn-calc__switch:checked::after { background:var(--calc-card); transform:translateX(16px); }
.rdn-calc__item-price { flex-shrink:0; font-size:15px; font-weight:900; text-align:right; font-variant-numeric:tabular-nums; }
.rdn-calc__item-price small { display:block; font-size:10px; color:var(--calc-muted); font-weight:500; margin-top:4px; }
.rdn-calc__scope { margin:10px 0 0 54px; font-size:11px; color:var(--calc-muted); }
.rdn-calc__scope summary { cursor:pointer; width:fit-content; text-decoration:underline; text-underline-offset:3px; }
.rdn-calc__scope p { line-height:1.65; margin-top:10px; }
.rdn-calc__options { margin-top:18px; padding-top:4px; border-top:1px solid var(--calc-line); }
.rdn-calc__quantity { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:12px 0; border-bottom:1px solid var(--calc-line); font-size:12px; font-weight:700; }
.rdn-calc__quantity small { display:block; color:var(--calc-muted); font-weight:400; margin-top:4px; }
.rdn-calc__quantity input { width:88px; min-height:40px; border:1px solid var(--calc-line); background:var(--calc-bg); color:var(--calc-ink); text-align:center; border-radius:0; padding:6px; font-size:15px; }
.rdn-calc__quantity input:invalid { border-color:var(--calc-violet); outline:1px solid var(--calc-violet); }
.rdn-calc__base { display:flex; justify-content:space-between; gap:12px; color:var(--calc-muted); font-size:11px; margin:12px 0 4px; }
.rdn-calc__more { width:100%; border:1px solid var(--calc-line); color:var(--calc-ink); padding:16px; background:transparent; font-weight:800; font-size:12px; }
.rdn-calc__summary { position:sticky; top:100px; background:#202021; color:#fff; padding:28px; clip-path:polygon(0 0,calc(100% - 20px) 0,100% 20px,100% 100%,20px 100%,0 calc(100% - 20px)); }
.rdn-calc__summary-top { display:flex; justify-content:space-between; gap:10px; color:#bbb; font-size:9px; letter-spacing:.1em; padding-bottom:24px; border-bottom:1px solid #ffffff26; }
.rdn-calc__summary h3 { color:#fff; font-size:21px; line-height:1.2; font-weight:900; margin:24px 0; }
.rdn-calc__summary h3 span { color:var(--calc-lime); }
.rdn-calc__total { display:flex; flex-wrap:wrap; align-items:baseline; gap:10px; margin:30px 0 20px; }
.rdn-calc__total strong { font-size:clamp(36px,4vw,60px); font-weight:900; letter-spacing:-.045em; line-height:1; overflow-wrap:anywhere; }
.rdn-calc__total>span { color:#b0a5ff; font-size:16px; font-weight:700; }
.rdn-calc__totals { padding:12px 0; border-block:1px solid #ffffff26; }
.rdn-calc__totals p { display:flex; justify-content:space-between; gap:10px; font-size:10px; color:#bbb; margin:8px 0; }
.rdn-calc__totals strong { color:#fff; white-space:nowrap; }
.rdn-calc__selection { max-height:210px; overflow:auto; margin:18px 0; font-size:11px; scrollbar-width:thin; scrollbar-color:#777 #202021; }
.rdn-calc__selection>p { color:#bbb; line-height:1.5; }
.rdn-calc__selected { display:grid; grid-template-columns:minmax(0,1fr) auto auto; align-items:center; gap:8px; padding:8px 0; border-bottom:1px solid #ffffff16; }
.rdn-calc__selected span { line-height:1.5; }
.rdn-calc__selected strong { white-space:nowrap; font-size:10px; }
.rdn-calc__selected button { padding:8px; min-height:32px; background:transparent; border:0; color:#ccc; font-size:18px; }
.rdn-calc .rdn-calc__cta { display:flex; justify-content:space-between; align-items:center; gap:16px; width:100%; background:var(--calc-lime); color:#151515; border:0; padding:17px 19px; font-size:12px; font-weight:900; min-height:52px; clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,10px 100%,0 calc(100% - 10px)); }
.rdn-calc__cta:hover:not(:disabled) { background:#d7ff59; }
.rdn-calc__cta>span { font-size:22px; }
.rdn-calc__reset { display:block; margin:16px auto; color:#bbb; background:none; border:0; font-size:10px; text-decoration:underline; text-underline-offset:3px; }
.rdn-calc__note { color:#b9b9bf; font-size:10px; line-height:1.65; margin:18px 0 0; }
.rdn-calc__summary-foot { display:flex; justify-content:space-between; align-items:end; margin-top:24px; border-top:1px solid #ffffff26; padding-top:20px; color:#bbb; font-size:9px; line-height:1.5; }
.rdn-calc__summary-foot>span:last-child { color:#b0a5ff; font-size:16px; font-weight:900; }
.rdn-calc__status { font-size:12px; line-height:1.5; margin:12px 0; }
.rdn-calc__status:empty { display:none; }
.rdn-calc__status[data-error=true] { border-left:3px solid #b0a5ff; padding-left:10px; }
.rdn-calc dialog.rdn-calc__dialog { width:min(850px,calc(100% - 32px)); max-height:calc(100dvh - 32px); border:1px solid var(--calc-line); border-radius:0; background:var(--calc-card); color:var(--calc-ink); padding:0; margin:auto; overflow:auto; }
.rdn-calc__dialog::backdrop { background:#000a; backdrop-filter:blur(5px); }
.rdn-calc__dialog-head { display:flex; justify-content:space-between; align-items:center; padding:14px 28px; background:#202021; color:#c6ff00; font-size:11px; letter-spacing:.12em; }
.rdn-calc__dialog-head button { width:40px; height:40px; font-size:28px; color:#fff; border:1px solid #777; background:none; }
.rdn-calc__dialog form { padding:32px; }
.rdn-calc__dialog h2 { font-size:clamp(28px,4vw,44px); }
.rdn-calc__form-intro { color:var(--calc-muted); margin:18px 0 26px; font-size:13px; line-height:1.6; }
.rdn-calc__form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.rdn-calc__form-grid>label,.rdn-calc__messengers legend { font-size:11px; font-weight:800; }
.rdn-calc__form-grid>label>span { font-weight:400; color:var(--calc-muted); }
.rdn-calc__form-grid input:not([type=checkbox]),.rdn-calc__form-grid textarea { display:block; width:100%; border:1px solid var(--calc-line); border-radius:0; background:var(--calc-bg); color:var(--calc-ink); padding:12px; margin-top:8px; font-size:14px; font-weight:400; }
.rdn-calc input::placeholder,.rdn-calc textarea::placeholder { color:var(--calc-muted); opacity:1; }
.rdn-calc__wide { grid-column:1/-1; }
.rdn-calc__messengers { display:flex; flex-wrap:wrap; gap:12px; align-content:center; border:0; margin:0; padding:8px 0; }
.rdn-calc__messengers label { display:flex; align-items:center; gap:6px; font-size:12px; }
.rdn-calc__dialog input[type=checkbox] { appearance:auto; width:18px; height:18px; accent-color:var(--calc-ink); flex-shrink:0; border-radius:0; margin:0; }
.rdn-calc__consent { display:flex; align-items:start; gap:10px; font-size:11px; line-height:1.5; margin:24px 0 14px; }
.rdn-calc__draft-note { font-size:10px; line-height:1.6; color:var(--calc-muted); margin-bottom:20px; }
.rdn-calc__trap { display:none!important; }
.rdn-calc__review { white-space:pre-wrap; overflow-wrap:anywhere; background:var(--calc-bg); padding:20px; border-left:3px solid var(--calc-violet); font:12px/1.8 inherit; font-family:inherit; line-height:1.8; font-size:12px; max-height:48dvh; overflow:auto; }
.rdn-calc__review-actions { display:flex; align-items:center; gap:20px; margin-top:22px; }
.rdn-calc__review-actions>button:first-child { background:transparent; border:0; text-decoration:underline; font-size:12px; color:var(--calc-ink); flex-shrink:0; }
@media (max-width:1000px) { .rdn-calc__layout { grid-template-columns:minmax(0,1fr) 310px; gap:16px; } .rdn-calc__summary { padding:22px; } .rdn-calc__item { padding:18px 16px; } .rdn-calc__service-label { font-size:13px; gap:10px; } .rdn-calc__scope { margin-left:48px; } }
@media (max-width:760px) { .rdn-calc__intro { display:block; margin-bottom:24px; } .rdn-calc__promise { margin-top:24px; max-width:none; } .rdn-calc__promise p br { display:none; } .rdn-calc__layout { grid-template-columns:minmax(0,1fr); } .rdn-calc__tabs { flex-wrap:nowrap; overflow:auto; padding:3px 3px 16px; } .rdn-calc__tabs button { flex-shrink:0; } .rdn-calc__summary { position:static; } .rdn-calc__total strong { font-size:52px; } .rdn-calc__dialog form { padding:22px; } .rdn-calc__dialog-head { padding:10px 20px; } }
@media (max-width:480px) { .rdn-calc__form-grid { grid-template-columns:minmax(0,1fr); } .rdn-calc__item-head { flex-wrap:wrap; gap:8px; } .rdn-calc__service-label { flex-basis:100%; font-size:14px; } .rdn-calc__item-price { margin-left:48px; text-align:left; } .rdn-calc__item-price small { display:inline; margin-left:5px; } .rdn-calc__search { display:block; } .rdn-calc__search>span { display:block; max-width:none; } .rdn-calc__search input { width:100%; } .rdn-calc__review-actions { flex-direction:column-reverse; } }
@media (prefers-reduced-motion:reduce) { .rdn-calc * { transition:none!important; scroll-behavior:auto!important; } }
