/* Shared V2 child-block components. Values mirror the final effective V1 rules. */
.lnb-v2-faq,
.lnb-v2-tabs,
.lnb-v2-structured-list,
.lnb-v2-in-page-nav {
	box-sizing: border-box;
	color: var(--lnb-color-text);
}
.lnb-v2-faq *, .lnb-v2-faq *::before, .lnb-v2-faq *::after,
.lnb-v2-tabs *, .lnb-v2-tabs *::before, .lnb-v2-tabs *::after,
.lnb-v2-structured-list *, .lnb-v2-structured-list *::before, .lnb-v2-structured-list *::after,
.lnb-v2-in-page-nav *, .lnb-v2-in-page-nav *::before, .lnb-v2-in-page-nav *::after { box-sizing: border-box; }

/* FAQ */
.lnb-v2-faq { max-width: var(--lnb-content-width-wide); margin: var(--lnb-space-9) auto 0; }
.lnb-v2-faq__title { margin: 0 0 var(--lnb-space-3); color: var(--lnb-color-gray-900); font-size: var(--lnb-font-size-heading-md); font-weight: var(--lnb-font-weight-black); line-height: var(--lnb-line-height-compact); }
.lnb-v2-faq__lead { margin: 0 0 var(--lnb-space-7); color: var(--lnb-color-text-muted); font-size: var(--lnb-font-size-body); line-height: var(--lnb-line-height-relaxed); }
.lnb-v2-faq__items { display: grid; gap: var(--lnb-space-4); }
.lnb-v2-faq-item { margin: 0; border: var(--lnb-border-width) solid color-mix(in srgb, var(--lnb-color-accent) 16%, var(--lnb-color-border)); border-radius: var(--lnb-radius-md); background: var(--lnb-color-surface); box-shadow: var(--lnb-shadow-sm); overflow: hidden; }
.lnb-v2-faq-item[open] { border-color: color-mix(in srgb, var(--lnb-color-accent) 32%, var(--lnb-color-border)); box-shadow: 0 14px 34px rgba(15, 23, 42, .07); }
.lnb-v2-faq-item > summary { position: relative; display: flex; min-height: 58px; align-items: center; gap: var(--lnb-space-5); padding: var(--lnb-space-7) 58px var(--lnb-space-7) var(--lnb-space-9); color: var(--lnb-color-gray-900); font-size: var(--lnb-font-size-body); font-weight: var(--lnb-font-weight-black); line-height: 1.55; cursor: pointer; list-style: none; }
.lnb-v2-faq-item > summary::-webkit-details-marker { display: none; }
.lnb-v2-faq-item > summary::before { display: inline-grid; width: 30px; height: 30px; flex: 0 0 30px; place-items: center; border-radius: var(--lnb-radius-pill); background: var(--lnb-color-accent); color: var(--lnb-color-white); content: "Q"; font-size: .84rem; font-weight: var(--lnb-font-weight-black); line-height: 1; }
.lnb-v2-faq-item > summary::after { position: absolute; top: 50%; right: var(--lnb-space-9); display: grid; width: 28px; height: 28px; place-items: center; border-radius: var(--lnb-radius-pill); background: var(--lnb-color-accent-soft); color: var(--lnb-color-accent-strong); content: "+"; font-size: 1.25rem; font-weight: var(--lnb-font-weight-black); line-height: 1; transform: translateY(-50%); }
.lnb-v2-faq-item[open] > summary::after { content: "−"; }
.lnb-v2-faq-item__question { min-width: 0; }
.lnb-v2-faq-item__answer { padding: 0 var(--lnb-space-9) var(--lnb-space-9) 66px; color: var(--lnb-color-text); font-size: var(--lnb-font-size-body); line-height: normal; }
.lnb-v2-faq-item__answer > :first-child { margin-top: 0; }
.lnb-v2-faq-item__answer > :last-child { margin-bottom: 0; }
.lnb-v2-faq-item__answer p, .lnb-v2-faq-item__answer li { color: var(--lnb-color-gray-500); font-size: var(--lnb-font-size-body); line-height: var(--lnb-line-height-relaxed); }
.lnb-v2-faq-item__link { display: inline-flex; min-height: var(--lnb-target-size-compact); align-items: center; justify-content: center; margin-top: var(--lnb-space-5); padding: var(--lnb-space-2) var(--lnb-space-5); border-radius: var(--lnb-radius-pill); background: var(--lnb-color-accent); color: var(--lnb-color-white); font-size: var(--lnb-font-size-button); font-weight: var(--lnb-font-weight-black); line-height: 1.5; text-decoration: none; transition: background-color .2s ease, transform .2s ease; }
.lnb-v2-faq-item__link::after { margin-left: 4px; content: "→"; }
.lnb-v2-faq-item__link:hover, .lnb-v2-faq-item__link:focus-visible { background: var(--lnb-color-accent-strong); color: var(--lnb-color-white); }

/* Tabs */
.lnb-v2-tabs { max-width: var(--lnb-content-width-wide); margin: var(--lnb-space-9) auto 0; }
.lnb-v2-tabs__box { padding: clamp(18px, 3vw, 30px); border: var(--lnb-border-width) solid color-mix(in srgb, var(--lnb-color-accent) 16%, var(--lnb-color-border)); border-radius: var(--lnb-radius-xl); background: var(--lnb-color-surface); box-shadow: 0 18px 46px rgba(15, 23, 42, .07); overflow: hidden; }
.lnb-v2-tabs__nav { display: grid; grid-template-columns: repeat(var(--lnb-v2-tab-count, 2), minmax(0, 1fr)); gap: var(--lnb-space-3); margin: 0 0 var(--lnb-space-7); padding: var(--lnb-space-2); border: var(--lnb-border-width) solid var(--lnb-color-border); border-radius: var(--lnb-radius-pill); background: var(--lnb-color-surface-soft); }
.lnb-v2-tabs__button { --lnb-v2-tab-active: var(--lnb-color-accent); --lnb-v2-tab-active-strong: var(--lnb-color-accent-strong); --lnb-v2-tab-shadow: color-mix(in srgb, var(--lnb-v2-tab-active) 26%, transparent); appearance: none; min-height: var(--lnb-target-size-standard); padding: var(--lnb-space-3) var(--lnb-space-7); border: 0; border-radius: var(--lnb-radius-pill); background: transparent; color: var(--lnb-color-slate-700); font: inherit; font-size: var(--lnb-font-size-body); font-weight: 800; letter-spacing: .04em; cursor: pointer; transition: background-color .2s ease, color .2s ease, box-shadow .2s ease; }
.lnb-v2-tabs__button:hover { background: color-mix(in srgb, var(--lnb-color-accent-soft) 76%, var(--lnb-color-surface)); color: var(--lnb-color-accent-strong); }
.lnb-v2-tabs__button.is-active, .lnb-v2-tabs__button[aria-selected="true"] { background: linear-gradient(135deg, var(--lnb-v2-tab-active) 0%, var(--lnb-v2-tab-active-strong) 100%); color: var(--lnb-color-white); box-shadow: 0 12px 24px var(--lnb-v2-tab-shadow); }
.lnb-v2-tabs__button.is-active:hover, .lnb-v2-tabs__button[aria-selected="true"]:hover { color: var(--lnb-color-white); }
.lnb-v2-tabs__button:focus-visible { outline: 3px solid color-mix(in srgb, var(--lnb-color-accent) 32%, transparent); outline-offset: 2px; }
.lnb-v2-tabs__lead { margin: 0 0 var(--lnb-space-7); color: var(--lnb-color-gray-500); font-size: var(--lnb-font-size-body); line-height: var(--lnb-line-height-relaxed); }
.lnb-v2-tabs__panels { display: grid; gap: var(--lnb-space-8); }
.lnb-v2-tabs.is-enhanced .lnb-v2-tab[hidden] { display: none; }
.lnb-v2-tab { padding-top: var(--lnb-space-1); }
.lnb-v2-tab__heading { margin: 0 0 var(--lnb-space-6); }
.lnb-v2-tab__kicker { margin: 0 0 var(--lnb-space-1-5); color: var(--lnb-color-accent-strong); font-size: var(--lnb-font-size-card-label); font-weight: var(--lnb-font-weight-black); letter-spacing: .08em; }
.lnb-v2-tab__title { margin: 0; color: var(--lnb-color-gray-900); font-size: var(--lnb-font-size-heading-md); font-weight: var(--lnb-font-weight-black); line-height: var(--lnb-line-height-compact); }
.lnb-v2-tab__content { min-width: 0; }
.lnb-v2-tab__content--grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--lnb-space-6); }
.lnb-v2-tab__content > :first-child { margin-top: 0; }
.lnb-v2-tab__content > :last-child { margin-bottom: 0; }

/* Structured List */
.lnb-v2-structured-list { min-height: 0; max-width: var(--lnb-content-width-wide); margin: var(--lnb-space-9) auto 0; }
.lnb-v2-structured-list--check { display: grid; grid-template-columns: repeat(var(--lnb-v2-list-columns, auto-fit), minmax(260px, 1fr)); gap: var(--lnb-space-6); }
.lnb-v2-structured-list--steps, .lnb-v2-structured-list--decision { display: grid; gap: var(--lnb-space-5); }
.lnb-v2-structured-list-item { position: relative; min-width: 0; overflow: hidden; border: var(--lnb-border-width) solid color-mix(in srgb, var(--lnb-color-accent) 18%, var(--lnb-color-border)); background: var(--lnb-color-surface); box-shadow: var(--lnb-shadow-sm); }
.lnb-v2-structured-list-item__title { color: var(--lnb-color-gray-900); font-weight: var(--lnb-font-weight-black); }
.lnb-v2-structured-list-item__body { min-width: 0; color: var(--lnb-color-gray-500); font-size: var(--lnb-font-size-body); line-height: var(--lnb-line-height-relaxed); }
.lnb-v2-structured-list-item__body > :first-child { margin-top: 0; }
.lnb-v2-structured-list-item__body > :last-child { margin-bottom: 0; }
.lnb-v2-structured-list-item__body p, .lnb-v2-structured-list-item__body li { color: var(--lnb-color-gray-500); font-size: var(--lnb-font-size-body); line-height: var(--lnb-line-height-relaxed); }
.lnb-v2-structured-list-item--check { position: relative; min-height: 0; color: var(--lnb-color-gray-900); font-weight: var(--lnb-font-weight-medium); line-height: 1.7; padding: var(--lnb-space-7) var(--lnb-space-7) var(--lnb-space-7) 56px; border-radius: var(--lnb-radius-md); }
.lnb-v2-structured-list-item--check::before { position: absolute; top: var(--lnb-space-8); left: var(--lnb-space-6); display: grid; width: 24px; height: 24px; place-items: center; border-radius: var(--lnb-radius-pill); background: var(--lnb-color-accent); color: var(--lnb-color-white); content: "✓"; font-size: 14px; font-weight: var(--lnb-font-weight-black); line-height: 1; }
.lnb-v2-structured-list-item--check .lnb-v2-structured-list-item__title { display: block; margin: 0 0 var(--lnb-space-1-5); line-height: 1.55; }
.lnb-v2-structured-list-item--steps { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: var(--lnb-space-6); padding: var(--lnb-space-8); border-radius: var(--lnb-radius-note); }
.lnb-v2-structured-list-item__marker { display: grid; min-width: 42px; height: 42px; place-items: center; align-self: start; padding: 0 var(--lnb-space-3); border-radius: var(--lnb-space-5); background: var(--lnb-color-accent); color: var(--lnb-color-white); font-size: 18px; font-weight: var(--lnb-font-weight-black); line-height: 1; }
.lnb-v2-structured-list-item--steps .lnb-v2-structured-list-item__title { margin: 0 0 var(--lnb-space-1-5); font-size: var(--lnb-font-size-heading-md); line-height: var(--lnb-line-height-compact); }
.lnb-v2-structured-list-item--decision { display: grid; grid-template-columns: minmax(150px, .35fr) minmax(0, 1fr); gap: var(--lnb-space-5); padding: var(--lnb-space-7); border-radius: var(--lnb-radius-md); }
.lnb-v2-structured-list-item--decision .lnb-v2-structured-list-item__title { display: inline-flex; width: fit-content; min-width: 0; align-items: center; align-self: start; padding: var(--lnb-space-2) var(--lnb-space-3); border-radius: var(--lnb-radius-pill); background: var(--lnb-color-accent-soft); color: var(--lnb-color-accent-strong); font-size: var(--lnb-font-size-button); line-height: var(--lnb-line-height-heading); text-align: center; }

/* In-page navigation */
.lnb-v2-in-page-nav { min-height: 0; max-width: var(--lnb-content-width-wide); margin: var(--lnb-space-9) auto 0; padding: var(--lnb-space-6); border: var(--lnb-border-width) solid color-mix(in srgb, var(--lnb-color-accent) 18%, var(--lnb-color-border)); border-radius: var(--lnb-radius-note); background: color-mix(in srgb, var(--lnb-color-surface) 88%, transparent); box-shadow: var(--lnb-shadow-sm); }
.lnb-v2-in-page-nav__label { display: inline-flex; align-items: center; gap: var(--lnb-space-2); margin: 0 0 var(--lnb-space-4); color: var(--lnb-color-accent-strong); font-size: var(--lnb-font-size-card-label); font-weight: var(--lnb-font-weight-black); line-height: var(--lnb-line-height-heading); letter-spacing: .08em; }
.lnb-v2-in-page-nav__label::before { width: 8px; height: 8px; border-radius: var(--lnb-radius-pill); background: var(--lnb-color-accent); content: ""; }
.lnb-v2-in-page-nav__links { display: flex; flex-wrap: wrap; gap: var(--lnb-space-3); }
.lnb-v2-in-page-nav-item { display: inline-flex; min-height: var(--lnb-target-size-compact); align-items: center; justify-content: center; padding: var(--lnb-space-2) 13px; border: var(--lnb-border-width) solid color-mix(in srgb, var(--lnb-color-accent) 18%, var(--lnb-color-border)); border-radius: var(--lnb-radius-pill); background: var(--lnb-color-surface); color: var(--lnb-color-gray-900); font-size: var(--lnb-font-size-button); font-weight: 800; line-height: 1.5; text-decoration: none; transition: border-color .2s ease, color .2s ease, box-shadow .2s ease, transform .2s ease; }
.lnb-v2-in-page-nav-item:hover, .lnb-v2-in-page-nav-item:focus-visible { border-color: var(--lnb-color-accent); color: var(--lnb-color-accent-strong); box-shadow: var(--lnb-shadow-sm); transform: translateY(-2px); }
.lnb-v2-in-page-nav-item:focus-visible { outline: 3px solid color-mix(in srgb, var(--lnb-color-accent) 30%, transparent); outline-offset: 2px; }

@media (max-width: 960px) {
	.lnb-v2-structured-list--check { grid-template-columns: repeat(var(--lnb-v2-list-tablet-columns, auto-fit), minmax(240px, 1fr)); }
	.lnb-v2-structured-list-item--decision { grid-template-columns: minmax(0, 1fr); }
	.lnb-v2-structured-list-item--decision .lnb-v2-structured-list-item__title { justify-self: start; text-align: left; }
}
@media (max-width: 640px) {
	.lnb-v2-faq, .lnb-v2-tabs, .lnb-v2-structured-list, .lnb-v2-in-page-nav { min-height: 0; max-width: 100%; }
	.lnb-v2-faq-item > summary { min-height: 56px; gap: var(--lnb-space-3); padding: var(--lnb-space-6) 50px var(--lnb-space-6) var(--lnb-space-7); font-size: .95rem; }
	.lnb-v2-faq-item > summary::after { right: var(--lnb-space-7); }
	.lnb-v2-faq-item__answer { padding: 0 var(--lnb-space-7) var(--lnb-space-7) 56px; }
	.lnb-v2-faq-item__answer p, .lnb-v2-faq-item__answer li, .lnb-v2-structured-list-item__body, .lnb-v2-structured-list-item__body p, .lnb-v2-structured-list-item__body li { color: var(--lnb-color-gray-500); font-size: var(--lnb-font-size-responsive-body); }
	.lnb-v2-tabs__box { padding: var(--lnb-space-6); border-radius: var(--lnb-radius-note); }
	.lnb-v2-tabs__nav { grid-template-columns: minmax(0, 1fr); border-radius: var(--lnb-radius-note-mobile); }
	.lnb-v2-tab__content--grid { grid-template-columns: minmax(0, 1fr); }
	.lnb-v2-structured-list--check { grid-template-columns: repeat(var(--lnb-v2-list-mobile-columns, 1), minmax(0, 1fr)); }
	.lnb-v2-structured-list-item--steps { grid-template-columns: minmax(0, 1fr); }
	.lnb-v2-structured-list-item__marker { justify-self: start; }
}
@media (prefers-reduced-motion: reduce) {
	.lnb-v2-faq-item__link, .lnb-v2-in-page-nav-item { transition: none; }
}

/* 0.10.3: V1 final-effective spacing and SWELL/theme isolation. */
.lnb-v2-faq .lnb-v2-faq__title,
.lnb-v2-tab .lnb-v2-tab__title,
.lnb-v2-structured-list-item .lnb-v2-structured-list-item__title {
	padding: 0;
	border: 0;
	background: none;
	box-shadow: none;
}
.lnb-v2-faq .lnb-v2-faq__title::before,
.lnb-v2-faq .lnb-v2-faq__title::after,
.lnb-v2-tab .lnb-v2-tab__title::before,
.lnb-v2-tab .lnb-v2-tab__title::after,
.lnb-v2-structured-list-item--check .lnb-v2-structured-list-item__title::before,
.lnb-v2-structured-list-item--check .lnb-v2-structured-list-item__title::after,
.lnb-v2-structured-list-item--steps .lnb-v2-structured-list-item__title::before,
.lnb-v2-structured-list-item--steps .lnb-v2-structured-list-item__title::after { content: none; display: none; }
.lnb-v2-faq .lnb-v2-faq__title { margin: 0 0 10px; }
.lnb-v2-faq .lnb-v2-faq__lead { margin: 0 0 18px; padding: 0; border: 0; background: none; }
.lnb-v2-tabs .lnb-v2-tabs__lead { margin: 0 0 18px; padding: 0; border: 0; background: none; }
.lnb-v2-tab .lnb-v2-tab__heading { margin: 0 0 16px; }
.lnb-v2-tab .lnb-v2-tab__kicker { margin: 0 0 6px; padding: 0; border: 0; background: none; }
.lnb-v2-tab .lnb-v2-tab__title { margin: 0; }
.lnb-v2-tab .lnb-v2-tab__content > :where(p,ul,ol):first-child { margin-top: 0; }
.lnb-v2-tab .lnb-v2-tab__content > :where(p,ul,ol):last-child { margin-bottom: 0; }

.lnb-v2-structured-list-item--check { padding: 18px 18px 18px 56px; }
.lnb-v2-structured-list-item--check::before { top: 20px; left: 16px; }
.lnb-v2-structured-list-item--check .lnb-v2-structured-list-item__title { margin: 0 0 6px; line-height: 1.55; }
.lnb-v2-structured-list-item--check .lnb-v2-structured-list-item__body,
.lnb-v2-structured-list-item--check .lnb-v2-structured-list-item__body :where(p,li) { font-size: 16px; line-height: 1.75; }
.lnb-v2-structured-list-item--steps { grid-template-columns: auto minmax(0,1fr); gap: 16px; padding: 20px; }
.lnb-v2-structured-list-item--steps .lnb-v2-structured-list-item__marker { min-width: 42px; width: auto; height: 42px; padding: 0 10px; border-radius: 14px; }
.lnb-v2-structured-list-item--steps .lnb-v2-structured-list-item__title { margin: 0 0 6px; font-size: clamp(20px,1.8vw,22px); line-height: 1.45; }
.lnb-v2-structured-list-item--steps .lnb-v2-structured-list-item__body,
.lnb-v2-structured-list-item--steps .lnb-v2-structured-list-item__body :where(p,li) { font-size: 16px; line-height: 1.85; }
.lnb-v2-structured-list-item--decision { grid-template-columns: minmax(150px,.35fr) minmax(0,1fr); gap: 14px; padding: 18px; }
.lnb-v2-structured-list-item--decision .lnb-v2-structured-list-item__title { padding: 8px 10px; font-size: 15px; line-height: 1.35; }
.lnb-v2-structured-list-item--decision .lnb-v2-structured-list-item__body,
.lnb-v2-structured-list-item--decision .lnb-v2-structured-list-item__body :where(p,li) { margin: 0; font-size: 16px; line-height: 1.8; }

.lnb-v2-in-page-nav { margin: 22px auto 0; padding: 16px; }
.lnb-v2-in-page-nav .lnb-v2-in-page-nav__label { margin: 0 0 12px; font-size: 13px; line-height: 1.35; }
.lnb-v2-in-page-nav .lnb-v2-in-page-nav-item { min-height: var(--lnb-target-size-compact); padding: 8px 13px; font-size: 15px; line-height: 1.35; }

@media(max-width:640px){
	.lnb-v2-structured-list-item--steps { grid-template-columns: minmax(0,1fr); }
	.lnb-v2-structured-list-item--decision { grid-template-columns: minmax(0,1fr); }
}

/* Preserve the decision label pill after heading isolation. */
.lnb-v2-structured-list-item--decision .lnb-v2-structured-list-item__title {
	display: inline-flex;
	width: fit-content;
	align-items: center;
	border-radius: 999px;
	background: var(--lnb-color-accent-soft);
	color: var(--lnb-color-accent-strong);
}
.lnb-v2-structured-list-item--decision .lnb-v2-structured-list-item__title::before,
.lnb-v2-structured-list-item--decision .lnb-v2-structured-list-item__title::after { content: none; display: none; }

/* V1 decision items stack at tablet widths. This source-specific rule follows
 * the compatibility values above so the responsive layout is not overridden. */
@media (max-width: 960px) {
	.lnb-v2-structured-list-item--decision { grid-template-columns: minmax(0, 1fr); }
}

/* Complete title value isolation from theme heading rules. */
.lnb-v2-faq .lnb-v2-faq__title { line-height: var(--lnb-line-height-compact); }
.lnb-v2-tab .lnb-v2-tab__title { line-height: var(--lnb-line-height-compact); }

/* Theme-proof heading geometry for the shared structural blocks. */
.lnb-v2-faq .lnb-v2-faq__title,
.lnb-v2-tab .lnb-v2-tab__title,
.lnb-v2-structured-list-item .lnb-v2-structured-list-item__title {
	border-radius: 0;
}
.lnb-v2-faq .lnb-v2-faq__title::before,
.lnb-v2-tab .lnb-v2-tab__title::before,
.lnb-v2-structured-list-item .lnb-v2-structured-list-item__title::before {
	margin: 0;
}

/* 0.12.16 readability: the in-page navigation name is functional text. */
.lnb-v2-in-page-nav .lnb-v2-in-page-nav__label {
  font-size: max(14px, 0.875rem);
}

