/* SOS Travel Blocks — shared styles
   Warm, clean, rounded. Inherits the site's fonts. */

.sos-tb-tip,
.sos-tb-costs,
.sos-tb-facts,
.sos-tb-figure,
.sos-tb-cta {
	margin: 1.6em 0;
	line-height: 1.6;
}

/* ---------- Tip Box ---------- */
.sos-tb-tip {
	position: relative;
	padding: 16px 18px 16px 20px;
	border-radius: 10px;
	border-left: 4px solid #e0a458;
	background: #fdf6ec;
}
.sos-tb-tip__label {
	display: inline-block;
	font-weight: 700;
	font-size: 0.82em;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	color: #b9762a;
	margin-bottom: 4px;
}
.sos-tb-tip__content p:last-child {
	margin-bottom: 0;
}
.sos-tb-tip--know {
	border-left-color: #4a9d9c;
	background: #eef7f6;
}
.sos-tb-tip--know .sos-tb-tip__label {
	color: #2f7a79;
}
.sos-tb-tip--read {
	border-left-color: #6b7fd7;
	background: #eef1fb;
}
.sos-tb-tip--read .sos-tb-tip__label {
	color: #4356b5;
}
.sos-tb-tip--warning {
	border-left-color: #d9704e;
	background: #fbeeea;
}
.sos-tb-tip--warning .sos-tb-tip__label {
	color: #b64c2b;
}

/* ---------- Cost Table ---------- */
.sos-tb-costs__heading,
.sos-tb-facts__heading {
	font-weight: 700;
	font-size: 1.05em;
	margin-bottom: 10px;
}
.sos-tb-costs__table {
	width: 100%;
	border-collapse: collapse;
	border-radius: 10px;
	overflow: hidden;
	box-shadow: 0 0 0 1px #ece4d8;
}
.sos-tb-costs__table td {
	padding: 11px 16px;
	border-bottom: 1px solid #f0ebe2;
}
.sos-tb-costs__table tr:last-child td {
	border-bottom: none;
}
.sos-tb-costs__table tr:nth-child(even) {
	background: #faf7f1;
}
.sos-tb-costs__item {
	color: #333;
}
.sos-tb-costs__cost {
	text-align: right;
	font-weight: 600;
	white-space: nowrap;
	color: #b9762a;
}

/* ---------- Quick Facts ---------- */
.sos-tb-facts {
	padding: 18px 20px;
	border-radius: 12px;
	background: #f7f4ee;
}
.sos-tb-facts__grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 14px 24px;
}
.sos-tb-facts__item {
	display: flex;
	flex-direction: column;
}
.sos-tb-facts__label {
	font-size: 0.78em;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	color: #8a8175;
	margin-bottom: 2px;
}
.sos-tb-facts__value {
	font-weight: 600;
	color: #2c2a26;
}
@media (max-width: 600px) {
	.sos-tb-facts__grid {
		grid-template-columns: 1fr;
	}
}

/* ---------- Captioned Image ---------- */
.sos-tb-figure {
	margin-left: 0;
	margin-right: 0;
}
.sos-tb-figure__img {
	width: 100%;
	height: auto;
	border-radius: 10px;
	display: block;
}
.sos-tb-figure__caption {
	text-align: center;
	font-size: 0.85em;
	color: #7a7266;
	margin-top: 8px;
}

/* ---------- CTA Box ---------- */
.sos-tb-cta {
	padding: 26px 24px;
	border-radius: 14px;
	background: linear-gradient(135deg, #fdf6ec 0%, #f3ede1 100%);
	text-align: center;
	box-shadow: 0 0 0 1px #ece4d8;
}
.sos-tb-cta__heading {
	font-weight: 700;
	font-size: 1.3em;
	margin-bottom: 8px;
	color: #2c2a26;
}
.sos-tb-cta__text {
	max-width: 46ch;
	margin: 0 auto 16px;
	color: #55503f;
}
.sos-tb-cta__button {
	display: inline-block;
	padding: 12px 26px;
	border-radius: 999px;
	background: #e0a458;
	color: #fff !important;
	font-weight: 600;
	text-decoration: none;
	transition: transform 0.15s ease, background 0.15s ease;
}
.sos-tb-cta__button:hover {
	background: #cf9040;
	transform: translateY(-1px);
}

/* ============================================================
   SECTION BLOCKS (homepage / landing)
   ============================================================ */

/* ---------- Intro / About ---------- */
.sos-tb-intro {
	text-align: center;
	padding: 24px 16px;
}
.sos-tb-intro__head {
	position: relative;
	display: inline-block;
	margin-bottom: 18px;
}
.sos-tb-intro__word {
	display: block;
	font-size: clamp(56px, 14vw, 120px);
	font-weight: 800;
	letter-spacing: 0.02em;
	line-height: 1;
	color: #e7d8c9;
}
.sos-tb-intro__script {
	display: block;
	margin-top: -0.35em;
	font-size: clamp(26px, 7vw, 46px);
	font-style: italic;
	color: #2c2a26;
}
.sos-tb-intro__body {
	max-width: 46ch;
	margin: 0 auto 16px;
	color: #6a6255;
	line-height: 1.7;
}
.sos-tb-intro__link {
	font-weight: 600;
	color: #c0562a;
	text-decoration: none;
}
.sos-tb-intro__link:hover {
	text-decoration: underline;
}

/* ---------- Pill Links ---------- */
.sos-tb-pills {
	text-align: center;
	padding: 8px 0;
}
.sos-tb-pills__heading {
	font-size: clamp(28px, 8vw, 48px);
	font-weight: 700;
	margin-bottom: 22px;
	color: #2c2a26;
}
.sos-tb-pills__wrap {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 14px;
}
.sos-tb-pills__item {
	display: inline-block;
	padding: 13px 30px;
	border-radius: 999px;
	background: #fff;
	border: 1px solid #ece0cd;
	color: #2c2a26;
	font-weight: 600;
	text-decoration: none;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04);
	transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.sos-tb-pills__item:hover {
	transform: translateY(-2px);
	box-shadow: 0 5px 14px rgba(0, 0, 0, 0.08);
}

/* ---------- Feature Columns ---------- */
.sos-tb-cols {
	display: flex;
	flex-wrap: wrap;
	gap: 24px;
	padding: 8px 0;
}
.sos-tb-cols__col {
	flex: 1 1 220px;
	padding: 6px 0 6px 20px;
	border-left: 3px solid #3f9c9b;
}
.sos-tb-cols__title {
	display: block;
	font-size: 1.35em;
	font-weight: 700;
	margin-bottom: 10px;
	color: #2c2a26;
	text-decoration: none;
}
a.sos-tb-cols__title:hover {
	text-decoration: underline;
}
.sos-tb-cols__text {
	margin: 0;
	color: #6a6255;
	line-height: 1.7;
}
@media (max-width: 680px) {
	.sos-tb-cols {
		flex-direction: column;
		gap: 20px;
	}
	.sos-tb-cols__col {
		flex: 1 1 auto;
	}
}

/* ---------- Newsletter Signup ---------- */
.sos-tb-signup {
	padding: 8px 0;
}
.sos-tb-signup__heading {
	font-size: clamp(32px, 9vw, 56px);
	font-weight: 700;
	line-height: 1.05;
	margin-bottom: 12px;
	color: #2c2a26;
}
.sos-tb-signup__text {
	max-width: 42ch;
	color: #55503f;
	line-height: 1.6;
	margin: 0 0 18px;
}
.sos-tb-signup__form {
	display: flex;
	flex-direction: column;
	gap: 12px;
	max-width: 360px;
}
.sos-tb-signup__input {
	padding: 15px 22px;
	border-radius: 999px;
	border: 1px solid #ded5c6;
	background: #fff;
	font-size: 1em;
	width: 100%;
	box-sizing: border-box;
}
.sos-tb-signup__input:focus {
	outline: none;
	border-color: #c0562a;
}
.sos-tb-signup__button {
	padding: 15px 22px;
	border-radius: 999px;
	border: none;
	background: #c0562a;
	color: #fff;
	font-weight: 700;
	font-size: 1em;
	cursor: pointer;
	transition: background 0.15s ease, transform 0.15s ease;
}
.sos-tb-signup__button:hover {
	background: #a8481f;
	transform: translateY(-1px);
}

/* ---------- Category Card ---------- */
.sos-tb-card {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	padding: 8px 26px 8px 8px;
	border-radius: 999px;
	background: #fff;
	text-decoration: none;
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.06);
	transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.sos-tb-card:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
}
.sos-tb-card__img {
	width: 54px;
	height: 54px;
	border-radius: 50%;
	background-size: cover;
	background-position: center;
	flex: 0 0 auto;
}
.sos-tb-card__label {
	font-weight: 700;
	font-size: 1.15em;
	color: #2c2a26;
}
