/* The comparison journey: readable content and natural scrolling at every size. */
.ss-home { overflow-x: hidden; overflow-y: auto; }
.ss-home .ss-shell { height: auto; min-height: 100svh; }
.admin-bar.ss-home .ss-shell { height: auto; min-height: calc(100svh - 32px); }
.ss-home .ss-app-frame { height: auto; min-height: 0; }
.ss-home .ss-app-card { height: auto; min-height: 0; overflow: visible; }
.ss-home .ss-step { overflow: visible; }

.ss-launch:not(.ss-explainer-open):not(.ss-ready-open) {
	display: grid;
	grid-template-columns: minmax(0, 1.4fr) minmax(180px, .6fr);
	grid-template-rows: auto auto auto auto;
	grid-template-areas: "intro badge" "finder badge" "support badge" "tagline tagline";
	gap: 22px 48px;
	width: min(100%, 1240px);
	height: auto;
	min-height: min(680px, calc(100svh - 40px));
	margin: auto;
	padding: clamp(28px, 5vw, 70px);
	align-content: center;
	justify-items: stretch;
	text-align: left;
}
.ss-launch-copy { grid-area: intro; align-items: start; justify-items: start; margin: 0; max-width: 660px; }
.ss-launch-brand { font-size: clamp(2.5rem, 5vw, 4.75rem); line-height: 1; }
.ss-launch-mission { max-width: 32ch; margin-top: 12px; font-size: clamp(1.35rem, 2.4vw, 2rem); line-height: 1.2; text-transform: none; font-weight: 800; }
.ss-launch-description, .ss-launch-promise { max-width: 54ch; color: #e1dfd5; font-size: 1.05rem; line-height: 1.55; margin: 10px 0 0; }
.ss-launch-insignia { grid-area: badge; width: min(100%, 280px); max-width: 100%; margin: 0 auto; align-self: center; }
.ss-launch-discount-art { top: 22px; right: 24px; left: auto; width: 64px; transform: rotate(-12deg); }
.ss-launch-destination-form { position: relative; z-index: 2; grid-area: finder; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 9px 12px; width: 100%; max-width: 680px; }
.ss-launch-destination-form label { grid-column: 1 / -1; color: #fff8df; font-weight: 750; }
.ss-launch-destination-form select,
.ss-launch-destination-form input { width: 100%; min-width: 0; min-height: 56px; border: 1px solid #a69770; border-radius: 12px; padding: 12px 16px; color: #11213a; background: #fffaf0; font: inherit; }
.ss-launch-destination-form .ss-launch-button { min-height: 56px; border-radius: 12px; font-weight: 800; }
.ss-launch-destination-form :focus-visible { outline: 3px solid #f2c14e; outline-offset: 4px; }
.ss-launch-destination-form [role="alert"] { grid-column: 1 / -1; color: #ffe1ce; margin: 0; }
.ss-launch-actions { grid-area: support; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; width: 100%; max-width: 680px; }
.ss-launch-actions [data-launch-find] { display: none; }
.ss-launch-actions .ss-launch-button { min-height: 46px; padding: 10px; border-color: #6a6657; border-radius: 12px; box-shadow: none; font-size: .94rem; font-weight: 650; }
.ss-launch-tagline { grid-area: tagline; margin-top: 8px; color: #c2bcaa; font-weight: 600; text-transform: none; }
.ss-launch.ss-ready-open .ss-launch-destination-form,
.ss-launch.ss-explainer-open .ss-launch-destination-form { display: none; }

.ss-question-progress { margin: 0 auto 8px; color: #4f5b6b; font-size: .86rem; font-weight: 650; }
.ss-progress { display: flex; flex-wrap: wrap; gap: 6px; }
.ss-question-progress { flex-basis: 100%; }
.ss-progress-dot { flex: 1 1 0; }
.ss-home.ss-results-active .ss-progress { display: none; }
.ss-speech:focus { outline: none; }
.ss-speech:focus-visible { outline: 3px solid #b18420; outline-offset: 5px; }
.ss-home.ss-results-active .ss-app-card { grid-template-rows: auto auto auto auto; }
.ss-home.ss-results-active .ss-app-card { width: 100%; max-width: 1180px; min-height: 0; margin-inline: auto; align-content: start; }
.ss-home.ss-results-active .ss-result-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 290px), 1fr)); gap: 18px; }
.ss-home.ss-results-active .ss-result-grid:has(> .ss-plan-card:only-child) { max-width: 680px; margin-inline: auto; }
.ss-home.ss-results-active .ss-plan-heading { display: flex; flex-direction: column; align-items: flex-start; gap: 5px; }
.ss-home.ss-results-active .ss-plan-heading .ss-plan-head { margin: 0; }
.ss-home.ss-results-active .ss-plan-heading h2 { margin: 0; }
.ss-home.ss-results-active .ss-plan-heading .ss-plan-badges { margin: 0; }
.ss-home.ss-results-active .ss-mascot-wrap { display: flex; gap: 16px; align-items: center; width: min(100%, 1040px); margin: 0 auto 12px; }
.ss-home.ss-results-active .ss-mascot { flex: 0 0 58px; width: 58px; height: 76px; max-height: 76px; object-fit: contain; }
.ss-home.ss-results-active .ss-speech { min-height: 0; margin: 0; padding: 10px 14px; font-size: clamp(1.15rem, 2.3vw, 1.8rem); line-height: 1.2; border-width: 1px; border-radius: 16px; }
.ss-home.ss-results-active .ss-speech::before,
.ss-home.ss-results-active .ss-speech::after { display: none; }
.ss-summary-compact { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 12px; margin: 0 0 16px; padding: 12px 14px; border: 1px solid var(--ss-line); border-radius: 14px; background: #fff; font-size: .9rem; }
.ss-summary-compact p { margin: 0; }
.ss-summary-edit { min-height: 40px; padding: 8px 10px; border: 0; border-radius: 8px; color: var(--ss-navy); background: #f4efdf; font: inherit; font-weight: 650; cursor: pointer; }
.ss-summary-edit { display: inline-flex; align-items: center; gap: 7px; }
.ss-summary-edit > span { display: none; }
.ss-summary-edit > em { font-size: .74rem; font-style: normal; font-weight: 500; text-decoration: underline; }
.ss-summary-edit:hover { background: #eee1b8; }
.ss-summary-edit:focus-visible,
.ss-plan-details summary:focus-visible,
.ss-plan-verification summary:focus-visible { outline: 3px solid #b18420; outline-offset: 3px; }
.ss-plan-badges { display: flex; flex-wrap: wrap; gap: 5px; margin: 0 0 10px; }
.ss-plan-badges span { padding: 4px 8px; border-radius: 6px; color: #102b52; background: #fff0bb; font-size: .73rem; font-weight: 750; }
.ss-comparison-basis { color: #4f5b6b; font-size: .84rem; line-height: 1.45; margin: 0 0 12px; }
.ss-plan-card-overall { border: 2px solid #b38a28; }
.ss-shortlist-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 290px), 1fr)); gap: 14px; }
.ss-shortlist-card { display: flex; flex-direction: column; min-width: 0; padding: 18px; border: 1px solid var(--ss-line); border-radius: 16px; background: #fff; }
.ss-shortlist-card h3 { margin: 0 0 8px; color: var(--ss-navy); font-size: 1.05rem; }
.ss-shortlist-card p { font-size: .91rem; line-height: 1.45; }
.ss-shortlist-card .ss-mini-cta { margin-top: auto; min-height: 44px; }
.ss-home.ss-results-active .ss-plan-card { height: auto; min-width: 0; padding: 18px; }
.ss-result-grid > .ss-plan-card:first-child { border: 2px solid #b38a28; }
.ss-home.ss-results-active .ss-plan-title-block,
.ss-home.ss-results-active .ss-plan-rationale,
.ss-home.ss-results-active .ss-plan-card .ss-subtitle { min-height: 0; }
.ss-home.ss-results-active .ss-plan-title-block { min-height: 54px; }
.ss-home.ss-results-active .ss-plan-meta { grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 10px 0; gap: 6px; }
.ss-home.ss-results-active .ss-plan-meta div { padding: 7px 9px; }
.ss-home.ss-results-active .ss-plan-meta strong { font-size: .92rem; }
.ss-home.ss-results-active .ss-plan-rationale { margin: 6px 0; }
.ss-home.ss-results-active .ss-plan-cautions,
.ss-home.ss-results-active .ss-reason,
.ss-home.ss-results-active .ss-card-disclosure,
.ss-home.ss-results-active .ss-disclosure,
.ss-home.ss-results-active .ss-warning { display: block; }
.ss-home.ss-results-active .ss-plan-card .ss-reason { font-size: .9rem; line-height: 1.45; }
.ss-home.ss-results-active .ss-plan-card .ss-plan-cautions { margin: 8px 0; padding-left: 18px; font-size: .85rem; line-height: 1.4; }
.ss-plan-checked,
.ss-home.ss-results-active .ss-plan-card .ss-plan-checked { margin: 8px 0; color: #385c40; font-size: .8rem; line-height: 1.45; }
.ss-plan-checked.is-stale,
.ss-home.ss-results-active .ss-plan-card .ss-plan-checked.is-stale { color: #805019; }
.ss-plan-details { border-top: 1px solid var(--ss-line); margin: 10px 0; padding-top: 9px; font-size: .85rem; }
.ss-plan-details summary,
.ss-plan-verification summary { min-height: 40px; padding: 8px 0; color: var(--ss-navy); cursor: pointer; font-weight: 700; }
.ss-plan-details p { margin: 8px 0; }
.ss-plan-details .ss-promo-star { max-width: 110px; }
.ss-plan-verification { margin-top: 8px; font-size: .8rem; font-weight: 400; }
.ss-plan-verification small { display: block; line-height: 1.45; }
.ss-plan-verification.is-stale > small { color: #805019; }
.ss-plan-verification p { margin: 4px 0; }
.ss-plan-verification a { overflow-wrap: anywhere; }
.ss-home.ss-results-active .ss-plan-card > .ss-cta { min-height: 48px; margin-top: auto; }
.ss-empty { padding: 20px; border: 1px solid #dbba6f; border-radius: 16px; background: #fff8e6; line-height: 1.55; }
.ss-empty h2 { margin-top: 0; font-size: 1.35rem; line-height: 1.25; }
.ss-empty-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px; }
.ss-empty-actions button,
.ss-empty-actions a { min-height: 44px; }
[data-destination-shortlist] { margin: 22px 0; }
[data-destination-shortlist] .ss-result-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 290px), 1fr)); align-items: start; gap: 14px; }
[data-destination-shortlist] .ss-plan-card { height: auto; min-width: 0; padding: 18px; }
[data-destination-shortlist] .ss-plan-meta { grid-template-columns: repeat(2, minmax(0, 1fr)); }
[data-destination-shortlist] .ss-plan-head { flex-wrap: wrap; }
.ss-tariff-controls { grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); }
.ss-tariff-controls label { min-width: 0; }
.ss-legal-card h2 { margin-top: 1.8em; line-height: 1.25; }

@media (min-width: 980px) {
	.ss-home.ss-results-active .ss-plan-heading { min-height: 32px; }
	.ss-home.ss-results-active .ss-result-grid:has(.ss-plan-badges) .ss-plan-heading { min-height: 60px; }
}

@media (max-width: 760px) {
	.ss-home .ss-shell { padding: 12px; }
	.ss-launch:not(.ss-explainer-open):not(.ss-ready-open) { display: flex; flex-direction: column; align-items: stretch; gap: 18px; min-height: 0; padding: 24px 20px 28px; border-radius: 24px; }
	.ss-launch-insignia { order: -1; width: 76px; max-width: 76px; margin: 0; }
	.ss-launch-discount-art { width: 56px; top: 20px; right: 22px; }
	.ss-launch-copy { width: 100%; margin: 0; }
	.ss-launch-brand { font-size: clamp(2.25rem, 10vw, 3rem); }
	.ss-launch-mission { margin-top: 8px; font-size: 1.4rem; line-height: 1.22; }
	.ss-launch-description, .ss-launch-promise { font-size: .96rem; }
	.ss-launch-destination-form { grid-template-columns: 1fr; }
	.ss-launch-destination-form .ss-launch-button { width: 100%; min-height: 50px; }
	.ss-launch-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
	.ss-launch-actions .ss-launch-button { font-size: .83rem; padding: 10px 7px; }
	.ss-launch-tagline { font-size: .8rem; line-height: 1.4; }
	.ss-home.ss-results-active .ss-app-card { padding: 14px; border-radius: 22px; }
	.ss-home.ss-results-active .ss-result-grid { grid-template-columns: 1fr; }
	.ss-home.ss-results-active .ss-plan-heading { min-height: 0; margin-bottom: 8px; }
	.ss-home.ss-results-active .ss-plan-title-block { min-height: 0; }
	.ss-home.ss-results-active .ss-mascot-wrap { margin: 0 0 8px; gap: 10px; }
	.ss-home.ss-results-active .ss-mascot { flex-basis: 40px; width: 40px; height: 56px; max-height: 56px; }
	.ss-home.ss-results-active .ss-speech { padding: 8px 10px; font-size: 1.1rem; }
	.ss-summary-compact { margin-bottom: 12px; padding: 9px 10px; gap: 4px 8px; font-size: .84rem; }
	.ss-summary-edit { min-height: 38px; padding: 6px 8px; font-size: .8rem; }
	.ss-home.ss-results-active .ss-plan-card { padding: 15px; }
	.ss-home.ss-results-active .ss-plan-card h2 { font-size: 1.1rem; }
	.ss-home.ss-results-active .ss-plan-card > p { font-size: .9rem; line-height: 1.4; }
	[data-destination-shortlist] .ss-result-grid { grid-template-columns: 1fr; }
	.ss-shortlist-grid { grid-template-columns: 1fr; }
	.ss-tariff-controls { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
