body .sp-heading{
	margin-top:var(--spacing-5);
	margin-bottom:var(--spacing-neg-4)
}

/* -------------------------------------------------------------------------- */
/* Rich text base (strict, token-based)                                       */
/* -------------------------------------------------------------------------- */

.sp-text a,
.sp-quote a,
.sp-caption a,
.sp-complex-faq-multiple a{
	color:var(--text-link-default);
	text-decoration:none;
	border-bottom:1px solid transparent;
	transition:color .3s, border-color .3s
}
.sp-text a:hover,
.sp-quote a:hover,
.sp-caption a:hover,
.sp-complex-faq-multiple a:hover{
	color:var(--text-link-hover);
	border-color:currentColor
}

.sp-text hr{
	border:0;
	height:1px;
	background:var(--border-light);
	margin:var(--spacing-6) 0
}

.sp-text blockquote{
	margin:0;
	padding:var(--spacing-5);
	border-radius:var(--radius-md);
	background:var(--bg-surface-white);
	border:1px solid var(--border-light);
	box-shadow:var(--shadow-card)
}
.sp-contents ol{
	display:grid;
	gap:var(--spacing-2);
	list-style:none;
	margin:0;
	padding:0;
	font:var(--body-l-regular);
	letter-spacing:var(--letter-spacing-l)
}
.sp-contents ol li.level{
	font:var(--body-m-regular);
	letter-spacing:var(--letter-spacing-m);
	margin-left:var(--spacing-5)
}
.sp-contents ol li a{
	border-bottom:1px dashed;
	padding-bottom:2px
}
.sp-text,
.sp-quote,
.sp-caption{
	display:grid;
	gap:var(--spacing-4);
	font:var(--body-l-regular);
	letter-spacing:var(--letter-spacing-l)
}
.sp-text p,
.sp-quote p,
.sp-caption p,
.sp-complex-faq-multiple p{
	padding:0;
	margin:0
}
.sp-text strong,
.sp-quote strong,
.sp-caption strong,
.sp-complex-faq-multiple strong{
	background-color:var(--secondary-default);
	color:var(--text-body-09)
}
.sp-text ul,
.sp-quote ul,
.sp-caption ul,
.sp-complex-faq-multiple ul,
.sp-text ol,
.sp-quote ol,
.sp-caption ol,
.sp-complex-faq-multiple ol{
	padding-left:var(--spacing-7)
}
.sp-quote{
	padding:var(--spacing-5);
	border-radius:var(--radius-md);
	background-color:var(--tertiary-default);
	border:1px solid var(--border-light);
	font:var(--body-m-regular);
	letter-spacing:var(--letter-spacing-m)
}
.sp-caption{
	padding:var(--spacing-5);
	border-radius:var(--radius-md);
	background-color:var(--secondary-default);
	font:var(--body-m-regular);
	letter-spacing:var(--letter-spacing-m)
}

.sp-quote,
.sp-caption{
	box-shadow:var(--shadow-card)
}
.sp-image{
	display:grid;
	gap:var(--spacing-1)
}
.sp-image{
	border-radius:var(--radius-sm);
	overflow:hidden
}
.sp-image img{
	border-radius:var(--radius-sm)
}
.sp-image .caption{
	font:var(--body-s-regular);
	letter-spacing:var(--letter-spacing-s);
	color:var(--text-body-07)
}
.sp-image img{
	transition:transform .35s ease, filter .35s ease
}
@media (hover:hover) and (pointer:fine){
	.sp-image:hover img{
		transform:scale(1.015);
		filter:saturate(1.05)
	}
}
.sp-image.realsize{
	justify-content:center
}
.sp-image.realsize img{
	width:fit-content;
	max-width:100%
}
.sp-link-multiple{
	display:flex;
	flex-wrap:wrap;
	gap:var(--spacing-3);
}
.sp-complext-htag-text{
	display:grid;
	grid-template-columns:300px 1fr;
	gap:var(--spacing-5)
}
.sp-complext-htag-text .sp-heading{
	position:sticky;
	top:var(--spacing-11);
	height:fit-content
}
.sp-complext-htag-text .sp-heading{
	padding:var(--spacing-4);
	border-radius:var(--radius-sm);
	background:var(--bg-surface-white);
	border:1px solid var(--border-extra-light);
	box-shadow:var(--shadow-card)
}
.sp-complex-prefs-multiple .items{
	margin:var(--spacing-7) 0;
	display:grid;
	gap:var(--spacing-5);
	grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
}
.sp-complex-prefs-multiple .items .item{
	position:relative;
	display:grid;
	grid-template-rows:auto 1fr;
	gap:var(--spacing-4);
	background:var(--surface-1);
	border-radius:var(--radius-md);
	box-shadow:var(--shadow-card);
	border:1px solid var(--border-subtle);
	padding:var(--spacing-5);
	overflow:hidden;
	isolation:isolate;
	transition:transform var(--motion-base) var(--ease-out), box-shadow var(--motion-base) var(--ease-out), border-color var(--motion-fast) ease
}

/* subtle brand layer */
.sp-complex-prefs-multiple .items .item::before{
	content:"";
	position:absolute;
	inset:0;
	background:
		linear-gradient(135deg,
			color-mix(in srgb, var(--accent-marker) 12%, transparent) 0%,
			transparent 55%);
	opacity:.85;
	pointer-events:none;
	z-index:0
}
@media (hover:hover) and (pointer:fine){
	.sp-complex-prefs-multiple .items .item:hover{
		transform:translateY(-2px);
		box-shadow:var(--shadow-hover);
		border-color:var(--border-default)
	}
}
.sp-complex-prefs-multiple .items .item .pic{
	border-radius:var(--radius-sm);
	width:100%;
	aspect-ratio:16/9;
	object-fit:cover;
	display:block;
	position:relative;
	z-index:1;
	transition:transform var(--motion-base) var(--ease-out), filter var(--motion-base) var(--ease-out)
}
@media (hover:hover) and (pointer:fine){
	.sp-complex-prefs-multiple .items .item:hover .pic{
		transform:scale(1.02);
		filter:saturate(1.05)
	}
}
.sp-complex-prefs-multiple .items .item .content{
	display: grid;
	gap: var(--spacing-2);
	position:relative;
	z-index:1
}
.sp-complex-prefs-multiple .items .item .content .title{
	font:var(--body-xl-bold);
	letter-spacing:var(--letter-spacing-xl);
	line-height:var(--line-height-s)
}
.sp-complex-prefs-multiple .items .item .content .description{
	font:var(--body-m-regular);
	letter-spacing:var(--letter-spacing-m);
	color:var(--text-body-08)
}
.sp-complex-prefs-multiple .items .item .content .description p{
	margin:0;
	padding:0
}

@media(max-width:576px){
	.sp-complex-prefs-multiple .items{
		gap:var(--spacing-4)
	}
	.sp-complex-prefs-multiple .items .item{
		padding:var(--spacing-4)
	}
}
.sp-linked-elements{
	display:grid;
	gap:var(--spacing-2)
}




/* Container */
.sp-complex-faq-multiple{
	margin:var(--spacing-7) 0
}
.sp-complex-faq-multiple .items {
    display: grid;
    gap: var(--spacing-2);
}

/* Item (details) */
.sp-complex-faq-multiple .items .item {
    font: var(--body-m-regular);
    letter-spacing: var(--letter-spacing-m);
    display: block; /* details должен быть блочным */
    border-radius: var(--radius-sm);
    background-color: var(--bg-surface-005);
    border: 1px solid var(--border-light);
    transition: background-color 0.3s ease;
    padding: var(--spacing-2) var(--spacing-4) 0;
    overflow: hidden;
}

.sp-complex-faq-multiple .items .item:hover {
    background-color: var(--bg-surface-01);
}

/* Question (summary) */
.sp-complex-faq-multiple .items .item .question {
    font: var(--body-l-bold);
    letter-spacing: var(--letter-spacing-l);
    cursor: pointer;
    margin: 0;
    min-height: 48px;
    padding-bottom: var(--spacing-2);
    user-select: none;
    display: flex;
    justify-content: space-between;
    align-items: center;
    text-align: left;
    position: relative;
    list-style: none; /* Убираем стандартный маркер */
}

/* Скрываем маркер в Webkit */
.sp-complex-faq-multiple .items .item .question::-webkit-details-marker {
    display: none;
}

/* Сброс стилей заголовка внутри summary */
.sp-complex-faq-multiple .items .item .question h3 {
    margin: 0;
    font: inherit;
    display: inline;
}

/* Focus Visible (A11y) */
.sp-complex-faq-multiple .items .item .question:focus-visible {
    outline: 2px solid var(--primary-default);
    outline-offset: -2px;
    border-radius: var(--radius-sm);
    z-index: 10;
}

/* Icon rotation */
.sp-complex-faq-multiple .items .item .question svg {
    transform: rotate(90deg);
    transition: transform 0.4s ease;
    fill: currentColor;
    flex-shrink: 0;
}

/* Answer */
.sp-complex-faq-multiple .items .item .answer {
    font: var(--body-l-regular);
    letter-spacing: var(--letter-spacing-l);
    display: grid;
    gap: var(--spacing-4);
    overflow: hidden;
    height: 0; /* JS управляет высотой, по умолчанию закрыто */
    opacity: 0;
    transform: translateY(-10px);
    transition: opacity 0.3s ease, transform 0.3s ease;
}

/* --- STATE: OPEN --- */

.sp-complex-faq-multiple .items .item[open] {
    background: var(--bg-surface-white);
    padding-bottom: var(--spacing-4);
}
.sp-complex-faq-multiple .items .item[open]{
	border-color:var(--border-light);
	box-shadow:var(--shadow-card)
}

[data-theme="dark"] .sp-complex-faq-multiple .items .item[open] {
    background: var(--bg-surface-02);
}

.sp-complex-faq-multiple .items .item[open] .question svg {
    transform: rotate(270deg);
}

.sp-complex-faq-multiple .items .item[open] .answer {
    height: auto; /* Fallback, если JS отключен */
    opacity: 1;
    transform: translateY(0);
}




.sp-complex-achievements-multiple .items{
	display:grid;
	grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
	gap:var(--spacing-5);
	justify-content:center
}
.sp-complex-achievements-multiple .item{
	display:flex;
	flex-direction:column;
	gap:var(--spacing-2);
	text-align:center;
	padding:var(--spacing-4) 0
}
.sp-complex-achievements-multiple .item .title p{
	margin:0;
	font:var(--font-heading-h1);
	font-size:clamp(48px, 6vw, 96px);
	line-height:1;
	letter-spacing:var(--letter-spacing-xl);
	font-weight:var(--font-weight-bold);
	background:linear-gradient(135deg, var(--gradient-heading-start) 0%, var(--gradient-heading-end) 100%);
	-webkit-background-clip:text;
	-webkit-text-fill-color:transparent;
	background-clip:text;
	color:transparent
}
.sp-complex-achievements-multiple .item .description p{
	margin:0;
	font:var(--body-l-medium);
	color:var(--text-body-07);
	letter-spacing:var(--letter-spacing-l)
}

/* Tables (frontend render) */
.sp-table,
.sp-block-table{
	width:100%;
	overflow-x:auto;
	-webkit-overflow-scrolling:touch;
	border-radius:var(--radius-sm)
}

.sp-table table,
.sp-block-table table{
	width:max-content;
	min-width:100%;
	border-collapse:separate;
	border-spacing:0;
	background:var(--surface-1);
	border:1px solid var(--border-default);
	border-radius:var(--radius-sm);
	overflow:hidden
}

.sp-table th,
.sp-table td,
.sp-block-table th,
.sp-block-table td{
	padding:var(--spacing-3) var(--spacing-4);
	border-bottom:1px solid var(--border-subtle);
	border-right:1px solid var(--border-subtle);
	text-align:left;
	vertical-align:top;
	font:var(--body-s-regular);
	letter-spacing:var(--letter-spacing-s);
	color:var(--text-body-09);
	min-width:160px
}

.sp-table tr:last-child td,
.sp-block-table tr:last-child td{
	border-bottom:0
}

.sp-table td:last-child,
.sp-table th:last-child,
.sp-block-table td:last-child,
.sp-block-table th:last-child{
	border-right:0
}

.sp-table th,
.sp-block-table th{
	font:var(--body-s-semibold);
	color:var(--text-body-095);
	background:var(--surface-2)
}

@media(max-width:576px){
	.sp-table th,
	.sp-table td,
	.sp-block-table th,
	.sp-block-table td{
		min-width:220px
	}
}

/* Media Queries */
@media (max-width: 767px) {
    .sp-complex-faq-multiple {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 479px) {
    .sp-complex-faq-multiple .items .item {
        font: var(--body-m-regular);
        letter-spacing: var(--letter-spacing-m);
    }
	.sp-complex-achievements-multiple .item .title p{
		font-size:64px
	}
}

/* Reduced Motion (A11y) */
@media (prefers-reduced-motion: reduce) {
    .sp-complex-faq-multiple .items .item .answer,
    .sp-complex-faq-multiple .items .item .question svg,
    .sp-complex-faq-multiple .items .item {
        transition: none !important;
        animation: none !important;
    }
}

/* High Contrast Mode (Windows A11y) */
@media (forced-colors: active) {
    .sp-complex-faq-multiple .items .item {
        border: 1px solid ButtonText;
    }
    .sp-complex-faq-multiple .items .item .question svg {
        fill: ButtonText;
    }
    .sp-complex-faq-multiple .items .item[open] {
        border: 2px solid Highlight;
    }
}