/* Storefront components inherit the currently selected Iskra theme. */
body.r7-enabled #screen-catalog > :not(#release7-shop) { display: none !important; }
body.r7-enabled.r7-extras #screen-catalog > #workspace-service-browser { display: block !important; }
#r7-legacy-calculator[hidden] { display: none !important; }
body.r7-enabled .hdr { background: var(--bg); }
body.r7-enabled .dock-cta-wrap { display: none; }
#release7-shop { --r7-surface: var(--bg-card, #1f1b25); --r7-line: var(--ln, #8883); padding: 0 18px 158px; max-width: 1040px; margin: auto; color: var(--t1); }
#release7-shop * { box-sizing: border-box; }
#release7-shop button, #release7-shop input, #release7-shop select { font: inherit; }
#release7-shop button { cursor: pointer; touch-action: manipulation; }
#release7-shop button:disabled { cursor: default; opacity: .45; }
#release7-shop button:focus-visible, #release7-shop input:focus-visible, #release7-shop select:focus-visible { outline: 3px solid var(--acc-1, #bba1fc); outline-offset: 3px; }
.r7-hero { display: flex; gap: 18px; align-items: center; padding: 30px 26px; margin: 8px 0 22px; border-radius: 28px; background: linear-gradient(135deg, var(--s2, #422d65), var(--bg-card, #211b30)); border: 1px solid var(--r7-line); position: relative; overflow: hidden; }
.r7-hero > div:first-child { position: relative; z-index: 1; }
.r7-eyebrow { font-size: 10px; font-weight: 800; letter-spacing: .12em; color: var(--t2); margin: 0 0 12px; }
.r7-hero h1 { font-size: clamp(27px, 5vw, 42px); line-height: 1.08; letter-spacing: -.045em; margin: 0 0 14px; font-weight: 850; }
.r7-hero p:not(.r7-eyebrow) { font-size: 14px; line-height: 1.6; max-width: 370px; color: var(--t2); margin: 0 0 18px; }
.r7-orbit { width: 160px; min-width: 100px; aspect-ratio: 1; border: 1px solid var(--acc-1, #bba1fc); border-radius: 50%; display: grid; place-items: center; transform: rotate(-15deg); opacity: .8; }
.r7-orbit span { font-size: 90px; color: var(--acc-1, #bba1fc); text-shadow: 0 0 40px var(--acc-1, #bba1fc); }
.r7-primary, .r7-secondary { min-height: 44px; padding: 12px 18px; border-radius: 14px; border: 1px solid var(--r7-line); font-size: 13px; font-weight: 750; }
.r7-primary { background: var(--acc-1, #bba1fc); color: #16121e; }
.r7-secondary { background: var(--r7-surface); color: var(--t1); }
.r7-tabs { display: flex; gap: 4px; padding: 4px; border-radius: 16px; background: var(--r7-surface); border: 1px solid var(--r7-line); }
.r7-tabs button { flex: 1; border: 0; border-radius: 12px; background: transparent; color: var(--t2); font-size: 12px !important; font-weight: 750; min-height: 44px; }
.r7-tabs button[aria-current="page"] { background: var(--s2, #493965); color: var(--t1); }
.r7-status { min-height: 20px; font-size: 12px; line-height: 1.5; color: var(--t2); margin: 14px 2px; }
.r7-error { color: var(--error, #de716a); }
.r7-search { display: flex; align-items: center; gap: 12px; background: var(--r7-surface); border: 1px solid var(--r7-line); border-radius: 15px; padding: 0 16px; }
.r7-search > span { font-size: 28px; color: var(--t2); }
.r7-search input { width: 100%; border: 0; outline: 0; background: transparent; color: var(--t1); min-height: 48px; font-size: 14px; }
.r7-filters { display: flex; gap: 8px; overflow-x: auto; padding: 15px 1px 8px; scrollbar-width: none; }
.r7-filters button { white-space: nowrap; flex: 0 0 auto; padding: 10px 14px; border-radius: 30px; border: 1px solid var(--r7-line); background: transparent; color: var(--t2); font-size: 12px !important; }
.r7-filters button[aria-pressed="true"] { background: var(--s2, #493965); color: var(--t1); border-color: var(--acc-1, #bba1fc); }
.r7-list-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; margin: 20px 0 14px; }
.r7-list-heading h2, .r7-builder h2, .r7-selection h2 { font-size: 23px; letter-spacing: -.03em; margin: 0; }
.r7-list-heading > span { font-size: 12px; color: var(--t2); }
.r7-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.r7-card { min-width: 0; display: flex; flex-direction: column; border: 1px solid var(--r7-line); border-radius: 20px; padding: 18px; background: var(--r7-surface); transition: border-color .18s; }
.r7-selected { border-color: var(--acc-1, #bba1fc); }
.r7-card-top { display: flex; justify-content: space-between; gap: 10px; margin-bottom: 18px; align-items: center; }
.r7-tag { font-size: 10px; font-weight: 750; padding: 6px 9px; border-radius: 8px; background: var(--s2, #493965); color: var(--t1); }
.r7-card-icon { font-size: 20px; }
.r7-service-title { color: var(--t1); background: transparent; border: 0; padding: 0; text-align: left; font-size: 16px !important; font-weight: 800; line-height: 1.4; overflow-wrap: anywhere; }
.r7-description { color: var(--t2); font-size: 12px; line-height: 1.6; margin: 10px 0 14px; flex: 1; }
.r7-link { color: var(--acc-1, #bba1fc); background: transparent; border: 0; padding: 0 0 16px; text-align: left; font-size: 11px !important; }
.r7-card-bottom { display: flex; align-items: center; justify-content: space-between; gap: 8px; border-top: 1px solid var(--r7-line); padding-top: 13px; }
.r7-price-alt { font-size: 10px; color: var(--t2); margin: 0 0 9px; }
.r7-card-bottom strong { display: block; font-size: 20px; letter-spacing: -.03em; }
.r7-card-bottom small { display: block; color: var(--t2); font-size: 10px; padding-top: 4px; }
.r7-add { border: 1px solid var(--r7-line); border-radius: 13px; width: 43px; height: 43px; color: var(--t1); background: var(--s2, #493965); font-size: 22px !important; flex-shrink: 0; }
.r7-dock { position: fixed; bottom: calc(82px + env(safe-area-inset-bottom)); left: 18px; right: 18px; max-width: 680px; margin: auto; z-index: 90; }
.r7-dock:empty { display: none; }
.r7-dock button { width: 100%; display: flex; justify-content: space-between; align-items: center; border: 1px solid var(--acc-1, #bba1fc); padding: 14px 18px; border-radius: 18px; background: var(--r7-surface); color: var(--t1); box-shadow: 0 10px 35px #0003; font-size: 12px !important; }
.r7-dock small { font-size: 9px; letter-spacing: .08em; color: var(--t2); display: block; text-align: left; margin-bottom: 5px; }
.r7-dock strong { font-size: 20px; display: block; text-align: left; }
.r7-builder, .r7-selection { background: var(--r7-surface); border: 1px solid var(--r7-line); border-radius: 22px; padding: 24px; }
.r7-builder form { display: grid; gap: 16px; margin-top: 24px; }
.r7-builder label { display: grid; gap: 8px; font-size: 12px; font-weight: 700; }
.r7-builder input, .r7-builder select { width: 100%; min-width: 0; padding: 13px; border: 1px solid var(--r7-line); border-radius: 12px; background: var(--bg, #16121e); color: var(--t1); font-size: 14px; }
.r7-muted { color: var(--t2); font-size: 12px; line-height: 1.7; }
.r7-packages { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 16px; }
.r7-package { background: var(--r7-surface); border: 1px solid var(--r7-line); border-radius: 20px; padding: 22px; overflow-wrap: anywhere; }
.r7-package > strong { font-size: 26px; }
.r7-package ul { color: var(--t2); font-size: 12px; line-height: 1.8; padding-left: 17px; }
.r7-selection-row { display: flex; align-items: center; gap: 12px; padding: 20px 0; border-bottom: 1px solid var(--r7-line); }
.r7-selection-row > div:first-child { flex: 1; min-width: 0; }
.r7-selection-row h3 { font-size: 13px; line-height: 1.5; margin: 0; overflow-wrap: anywhere; }
.r7-selection-row p { color: var(--t2); font-size: 12px; margin: 5px 0 0; }
.r7-stepper { display: flex; align-items: center; gap: 9px; flex-shrink: 0; }
.r7-stepper button, .r7-remove { min-height: 36px; min-width: 30px; border: 1px solid var(--r7-line); background: transparent; color: var(--t1); border-radius: 9px; }
.r7-stepper span { font-size: 12px; }
.r7-remove { border: 0; color: var(--t2); }
.r7-summary { display: flex; justify-content: space-between; gap: 12px; margin-top: 25px; align-items: baseline; }
.r7-summary span { color: var(--t2); font-size: 12px; }
.r7-summary strong { font-size: 28px; letter-spacing: -.03em; }
.r7-actions { display: grid; gap: 10px; margin-top: 20px; }
.r7-conflict { padding-top: 22px; border-top: 1px solid var(--r7-line); margin-top: 22px; font-size: 12px; line-height: 1.6; }
.r7-conflict button { margin: 5px 0; width: 100%; }
.r7-empty { padding: 30px 15px; text-align: center; color: var(--t2); grid-column: 1 / -1; font-size: 13px; line-height: 1.6; }
.r7-dialog { width: min(850px, calc(100vw - 28px)); max-height: 85dvh; overflow: auto; border: 1px solid var(--r7-line); border-radius: 25px; background: var(--bg-card, #1f1b25); color: var(--t1); padding: 28px; }
.r7-dialog::backdrop { background: #0009; backdrop-filter: blur(6px); }
.r7-dialog h2 { font-size: 25px; line-height: 1.3; padding-right: 30px; margin: 12px 0; }
.r7-dialog h3 { font-size: 14px; margin-top: 24px; }
.r7-dialog p, .r7-dialog li { font-size: 13px; line-height: 1.7; color: var(--t2); }
.r7-close { float: right; width: 36px; height: 36px; background: transparent; border: 1px solid var(--r7-line); color: var(--t1); border-radius: 12px; font-size: 24px !important; }
.r7-detail-price { display: block; font-size: 30px; padding: 12px 0; }
.r7-comparison { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-top: 22px; }
.r7-tariff { padding: 18px; border-radius: 18px; border: 1px solid var(--r7-line); background: var(--s1); overflow-wrap: anywhere; }
.r7-tariff h3 { font-size: 23px; margin-top: 20px; }
.r7-tariff ul { padding-left: 16px; }
@media (max-width: 760px) { .r7-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .r7-packages, .r7-comparison { grid-template-columns: 1fr; } .r7-orbit { display: none; } }
@media (max-width: 420px) { #release7-shop { padding-left: 14px; padding-right: 14px; } .r7-hero { padding: 26px 21px; } .r7-card { padding: 14px; } .r7-service-title { font-size: 14px !important; } .r7-card-bottom strong { font-size: 18px; } .r7-card-icon { display: none; } .r7-tag { font-size: 9px; } .r7-builder, .r7-selection { padding: 18px; } .r7-selection-row { flex-wrap: wrap; } .r7-selection-row > div:first-child { flex-basis: 100%; } }
/* Premium emoji keep the same native IDs in cards, filters and dialogs. */
.native-emoji-slot { display:inline-flex; align-items:center; vertical-align:middle; flex-shrink:0; }
.r7-filters .native-emoji, .r7-price-alt .native-emoji { width:18px; height:18px; }
.r7-orbit .native-emoji { width:88px; height:88px; }
.r7-event-group { display:flex; flex-direction:column; align-items:flex-start; gap:12px; min-width:0; padding:22px; border:1px solid var(--r7-line); border-radius:18px; background:var(--r7-surface); color:var(--t1); text-align:left; }
.r7-event-group h3 { margin:0; font-size:18px; overflow-wrap:anywhere; }
.r7-event-group p { margin:0; color:var(--t2); font-size:13px; }
.r7-event-group:hover { border-color:var(--acc-1); }
.r7-event-back { grid-column:1 / -1; justify-self:start; padding:10px 0; }
/* 10.2: первый экран — короткий заголовок и условия оплаты, сразу под ними каталог с ценами. */
.r7-intro { margin:12px 2px 14px; }
.r7-intro h1 { font-size:24px; line-height:1.15; letter-spacing:-.03em; margin:0 0 6px; font-weight:850; color:var(--t1); }
.r7-intro p { font-size:13px; line-height:1.45; color:var(--t2); margin:0; }
.r7-status:empty { min-height:0; margin:6px 2px; }
.r7-more { display:grid; gap:8px; margin:14px 0 22px; }
.r7-more-row { display:grid; gap:4px; text-align:left; padding:14px 16px; border-radius:16px; border:1px solid var(--r7-line); background:var(--r7-surface); color:var(--t1); }
.r7-more-row strong { font-size:15px; }
.r7-more-row span { font-size:12px; line-height:1.4; color:var(--t2); }
.r7-dock button:disabled { opacity:.7; }
