.sh-aff-wrap{
	color:#eef3f8;
}

.sh-aff-head{
	margin-bottom:18px;
}

.sh-aff-title{
	margin:0;
	font-size:clamp(28px,3.5vw,40px);
	line-height:1.08;
	font-weight:800;
	letter-spacing:-.03em;
}

.sh-aff-subtitle{
	margin:10px 0 0;
	max-width:760px;
	font-size:15px;
	line-height:1.8;
	color:rgba(238,243,248,.74);
}

.sh-aff-tableWrap{
	overflow:auto;
	margin-bottom:18px;
	border:1px solid rgba(255,255,255,.08);
	border-radius:18px;
	background:rgba(255,255,255,.03);
	box-shadow:0 12px 34px rgba(0,0,0,.18);
}

.sh-aff-table{
	width:100%;
	border-collapse:collapse;
	min-width:760px;
}

.sh-aff-table th,
.sh-aff-table td{
	padding:14px 14px;
	text-align:start;
	border-bottom:1px solid rgba(255,255,255,.08);
	vertical-align:middle;
	font-size:14px;
}

.sh-aff-table th{
	font-size:12px;
	font-weight:800;
	letter-spacing:.08em;
	text-transform:uppercase;
	color:rgba(238,243,248,.62);
	background:rgba(255,255,255,.02);
}

.sh-aff-table tbody tr:hover{
	background:rgba(255,255,255,.03);
}

.sh-aff-tableBtn{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-height:38px;
	padding:0 12px;
	border-radius:10px;
	background:linear-gradient(180deg, #3dff86, #26d96d);
	color:#04110a;
	font-size:13px;
	font-weight:800;
	text-decoration:none;
}

.sh-aff-grid{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:16px;
}

.sh-aff-card{
	position:relative;
	display:grid;
	gap:12px;
	padding:16px;
	border:1px solid rgba(255,255,255,.09);
	border-radius:20px;
	background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.03));
	backdrop-filter:blur(12px);
	box-shadow:0 16px 42px rgba(0,0,0,.22);
	transition:transform .18s ease, border-color .18s ease, background .18s ease;
}

.sh-aff-card:hover{
	transform:translateY(-1px);
	border-color:rgba(61,255,134,.22);
	background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.04));
}

.sh-aff-img{
	overflow:hidden;
	border-radius:16px;
	border:1px solid rgba(255,255,255,.08);
	background:rgba(255,255,255,.04);
	aspect-ratio:1/1;
}

.sh-aff-img img{
	display:block;
	width:100%;
	height:100%;
	object-fit:cover;
}

.sh-aff-rank{
	position:absolute;
	top:12px;
	inset-inline-start:12px;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-width:40px;
	height:32px;
	padding:0 10px;
	border-radius:999px;
	background:rgba(11,15,20,.72);
	border:1px solid rgba(255,255,255,.12);
	font-size:12px;
	font-weight:800;
	color:#eef3f8;
	backdrop-filter:blur(10px);
}

.sh-aff-topPick{
	display:inline-flex;
	align-items:center;
	align-self:start;
	padding:8px 12px;
	border-radius:999px;
	background:rgba(61,255,134,.10);
	border:1px solid rgba(61,255,134,.22);
	color:#eef3f8;
	font-size:12px;
	font-weight:800;
}

.sh-aff-name{
	margin:0;
	font-size:20px;
	line-height:1.2;
	font-weight:800;
}

.sh-aff-rating{
	display:flex;
	align-items:center;
	gap:8px;
	font-size:14px;
	font-weight:700;
	color:rgba(238,243,248,.82);
}

.sh-aff-stars{
	letter-spacing:.12em;
	color:#ffd36e;
}

.sh-aff-ratingVal{
	color:rgba(238,243,248,.7);
}

.sh-aff-badge{
	display:inline-flex;
	align-items:center;
	align-self:start;
	padding:8px 12px;
	border-radius:999px;
	background:rgba(255,255,255,.05);
	border:1px solid rgba(255,255,255,.1);
	font-size:12px;
	font-weight:800;
	color:#eef3f8;
}

.sh-aff-tagline{
	margin:0;
	font-size:14px;
	line-height:1.75;
	color:rgba(238,243,248,.76);
}

.sh-aff-meta{
	display:flex;
	flex-wrap:wrap;
	gap:8px;
}

.sh-aff-pill{
	display:inline-flex;
	align-items:center;
	padding:8px 10px;
	border-radius:999px;
	background:rgba(255,255,255,.04);
	border:1px solid rgba(255,255,255,.09);
	font-size:12px;
	font-weight:700;
	color:rgba(238,243,248,.76);
}

.sh-aff-line{
	font-size:14px;
	line-height:1.7;
	color:rgba(238,243,248,.74);
}

.sh-aff-line strong{
	color:#eef3f8;
}

.sh-aff-points{
	display:grid;
	gap:8px;
}

.sh-aff-pointsTitle{
	font-size:13px;
	font-weight:800;
	color:#eef3f8;
}

.sh-aff-list{
	margin:0;
	padding-inline-start:18px;
	display:grid;
	gap:7px;
}

.sh-aff-list li{
	font-size:14px;
	line-height:1.7;
	color:rgba(238,243,248,.76);
}

.sh-aff-list--pros li::marker{
	color:#3dff86;
}

.sh-aff-list--cons li::marker{
	color:#ff9a9a;
}

.sh-aff-btn{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-height:46px;
	padding:0 16px;
	border-radius:14px;
	border:1px solid transparent;
	background:linear-gradient(180deg, #3dff86, #26d96d);
	color:#04110a;
	font-size:14px;
	font-weight:800;
	text-decoration:none;
	transition:transform .18s ease, box-shadow .18s ease, opacity .18s ease;
	box-shadow:0 10px 24px rgba(61,255,134,.18);
}

.sh-aff-btn:hover{
	transform:translateY(-1px);
}

.sh-aff-btn--ghost{
	background:transparent;
	border-color:rgba(255,255,255,.12);
	color:#eef3f8;
	box-shadow:none;
}

.sh-aff-status{
	margin:14px 0 0;
	padding:12px 14px;
	border:1px solid rgba(255,255,255,.08);
	border-radius:14px;
	background:rgba(255,255,255,.03);
	font-size:14px;
	line-height:1.6;
	color:rgba(238,243,248,.76);
}

.sh-aff-loadMoreWrap{
	display:flex;
	justify-content:center;
	margin-top:18px;
}

.sh-aff-empty{
	padding:18px;
	border:1px dashed rgba(255,255,255,.12);
	border-radius:18px;
	background:rgba(255,255,255,.03);
	font-size:14px;
	line-height:1.7;
	color:rgba(238,243,248,.76);
}

@media (max-width: 1080px){
	.sh-aff-grid{
		grid-template-columns:repeat(2,minmax(0,1fr));
	}
}

@media (max-width: 720px){
	.sh-aff-grid{
		grid-template-columns:1fr;
	}

	.sh-aff-card{
		padding:14px;
		border-radius:18px;
	}

	.sh-aff-title{
		font-size:clamp(24px,7vw,34px);
	}
}

/* Global heading color override — EN/AR across SelHealth Tools frontend */
.shsis-page h1,
.shsis-page h2,
.shsis-page h3,
.shsis-page h4,
.shsis-page h5,
.shsis-page h6,
.shsis-page h1 a,
.shsis-page h2 a,
.shsis-page h3 a,
.shsis-page h4 a,
.shsis-page h5 a,
.shsis-page h6 a,
.sh-archive-page h1,
.sh-archive-page h2,
.sh-archive-page h3,
.sh-archive-page h4,
.sh-archive-page h5,
.sh-archive-page h6,
.sh-archive-page h1 a,
.sh-archive-page h2 a,
.sh-archive-page h3 a,
.sh-archive-page h4 a,
.sh-archive-page h5 a,
.sh-archive-page h6 a,
.sh-single h1,
.sh-single h2,
.sh-single h3,
.sh-single h4,
.sh-single h5,
.sh-single h6,
.sh-single h1 a,
.sh-single h2 a,
.sh-single h3 a,
.sh-single h4 a,
.sh-single h5 a,
.sh-single h6 a,
.sh-aff-wrap h1,
.sh-aff-wrap h2,
.sh-aff-wrap h3,
.sh-aff-wrap h4,
.sh-aff-wrap h5,
.sh-aff-wrap h6,
.sh-aff-wrap h1 a,
.sh-aff-wrap h2 a,
.sh-aff-wrap h3 a,
.sh-aff-wrap h4 a,
.sh-aff-wrap h5 a,
.sh-aff-wrap h6 a,
.sh-sectionHeader-title,
.sh-sectionHeader-title a {
  color:#fff !important;
}

/* Global heading + text-link white unification */
.sh-aff-wrap :where(h1,h2,h3,h4,h5,h6,
  .sh-aff-title,
  .sh-aff-subtitle,
  .sh-aff-cardTitle){color:#fff !important;}

.sh-aff-wrap a:not([class*="btn"]):not([class*="Btn"]):not(.sh-aff-tableBtn):not(.sh-aff-cardLink):not(.sh-aff-cta){color:#fff !important;}
.sh-aff-wrap a:not([class*="btn"]):not([class*="Btn"]):not(.sh-aff-tableBtn):not(.sh-aff-cardLink):not(.sh-aff-cta):hover{color:#fff !important;}

