/* Supplier profile page (template: TEB — Supplier Profile). Moved from the old template's inline <style>. */
/* =========================================================
   MAKEYOUEXPORTER
   PREMIUM SUPPLIER PROFILE
   DESKTOP + TABLET + MOBILE
========================================================= */

:root{
	--sp-navy:#101a36;
	--sp-navy-2:#172d82;
	--sp-blue:#2949c7;
	--sp-blue-light:#eef2ff;

	--sp-gold:#b8944d;
	--sp-gold-light:#dfc27e;

	--sp-green:#11866b;
	--sp-green-light:#e6f7f1;

	--sp-text:#17213c;
	--sp-muted:#737e96;

	--sp-line:#e2e7ef;
	--sp-line-dark:#d5dce8;

	--sp-bg:#f7f8fb;
	--sp-white:#ffffff;

	--sp-shadow:
		0 8px 28px rgba(20,30,60,.065);

	--sp-shadow-hover:
		0 16px 38px rgba(20,30,60,.11);
}


/* =========================================================
   MAIN WRAPPER
========================================================= */

.sp-wrap{
	width:100%;
	max-width:1240px;
	margin:0 auto;
	padding:30px 26px 90px;
	box-sizing:border-box;
	color:var(--sp-text);
}


/* =========================================================
   BREADCRUMB
========================================================= */

.sp-crumb{
	display:flex;
	align-items:center;
	flex-wrap:wrap;
	gap:6px;

	margin:0 0 18px;

	color:#7b8499;
	font-size:12.5px;
	line-height:1.5;
}

.sp-crumb a{
	color:var(--sp-blue);
	font-weight:650;
	text-decoration:none;
}

.sp-crumb a:hover{
	text-decoration:underline;
}


/* =========================================================
   PREMIUM SUPPLIER HEADER
========================================================= */

.sp-head{
	position:relative;

	display:flex;
	align-items:center;

	gap:25px;

	padding:30px;

	background:
		linear-gradient(
			135deg,
			#ffffff 0%,
			#fbfcff 48%,
			#f1f4ff 100%
		);

	border:1px solid #dfe4ee;
	border-radius:24px;

	box-shadow:
		0 12px 35px rgba(20,32,70,.075),
		0 2px 8px rgba(20,32,70,.035);

	overflow:hidden;
}


/* Decorative luxury glow */

.sp-head:before{
	content:"";

	position:absolute;

	width:390px;
	height:390px;

	right:-150px;
	top:-220px;

	background:
		radial-gradient(
			circle,
			rgba(47,75,214,.13),
			transparent 68%
		);

	pointer-events:none;
}

.sp-head:after{
	content:"";

	position:absolute;

	width:220px;
	height:220px;

	left:-130px;
	bottom:-150px;

	background:
		radial-gradient(
			circle,
			rgba(184,148,77,.10),
			transparent 70%
		);

	pointer-events:none;
}


/* =========================================================
   LOGO
========================================================= */

.sp-logo{
	position:relative;
	z-index:2;

	width:104px;
	height:104px;

	flex:0 0 104px;

	display:flex;
	align-items:center;
	justify-content:center;

	background:#fff;

	border:1px solid #dce2ec;
	border-radius:22px;

	box-shadow:
		0 10px 28px rgba(24,35,70,.10),
		inset 0 0 0 5px #fafbfe;

	overflow:hidden;
}

.sp-logo img{
	width:100%;
	height:100%;

	display:block;

	object-fit:contain;

	padding:10px;

	background:#fff;

	box-sizing:border-box;
}

.sp-logo span{
	font-size:34px;
	font-weight:850;
	color:var(--sp-blue);
}


/* =========================================================
   COMPANY INFORMATION
========================================================= */

.sp-h-main{
	position:relative;
	z-index:2;

	flex:1;

	min-width:280px;
}

.sp-name{
	display:flex;
	align-items:center;
	flex-wrap:wrap;

	gap:9px;

	color:#111a35;

	font-size:28px;
	line-height:1.25;

	font-weight:850;

	letter-spacing:-.4px;
}

.sp-badge{
	display:inline-flex;
	align-items:center;

	font-size:10.5px;
	line-height:1;

	font-weight:800;

	padding:7px 10px;

	border-radius:999px;

	white-space:nowrap;
}

.sp-badge.verified{
	color:#08794e;

	background:#e5f7ee;

	border:1px solid #cceedd;
}

.sp-badge.gst{
	color:#2949c7;

	background:#eef2ff;

	border:1px solid #dce3ff;
}


/* =========================================================
   META INFORMATION
========================================================= */

.sp-meta{
	display:flex;
	align-items:center;
	flex-wrap:wrap;

	gap:8px;

	margin-top:13px;

	color:#6e7890;

	font-size:13px;
}

.sp-meta span{
	display:inline-flex;
	align-items:center;

	gap:5px;

	padding:6px 10px;

	background:rgba(255,255,255,.82);

	border:1px solid #e4e8f0;

	border-radius:8px;
}


/* =========================================================
   ACTION BUTTONS
========================================================= */

.sp-actions{
	position:relative;
	z-index:3;

	display:flex;
	align-items:center;

	gap:9px;

	flex-wrap:wrap;
}

.sp-btn{
	display:inline-flex;
	align-items:center;
	justify-content:center;

	gap:7px;

	min-height:44px;

	padding:11px 18px;

	box-sizing:border-box;

	border-radius:11px;

	font-family:inherit;

	font-size:13px;
	font-weight:800;

	text-decoration:none;

	cursor:pointer;

	transition:
		transform .2s ease,
		box-shadow .2s ease,
		border-color .2s ease,
		background .2s ease;
}

.sp-btn.primary{
	color:#fff;

	background:
		linear-gradient(
			135deg,
			#3656df,
			#1c329e
		);

	border:1px solid #2945bd;

	box-shadow:
		0 8px 20px rgba(42,69,190,.22);
}

.sp-btn.primary:hover{
	color:#fff;

	transform:translateY(-2px);

	box-shadow:
		0 13px 28px rgba(42,69,190,.28);
}

.sp-btn.ghost{
	color:#1d2945;

	background:#fff;

	border:1px solid #d5dce9;

	box-shadow:
		0 3px 10px rgba(20,30,60,.035);
}

.sp-btn.ghost:hover{
	color:var(--sp-blue);

	transform:translateY(-2px);

	border-color:#aebbe4;

	box-shadow:
		0 8px 20px rgba(30,50,100,.08);
}


/* =========================================================
   PREMIUM NAVIGATION
========================================================= */

.sp-nav{
	position:sticky;

	top:10px;

	z-index:50;

	display:flex;
	align-items:center;
	justify-content:center;

	gap:4px;

	margin:18px 0 5px;

	padding:6px;

	background:rgba(255,255,255,.95);

	border:1px solid #dfe4ee;

	border-radius:15px;

	box-shadow:
		0 8px 25px rgba(20,30,60,.08),
		0 2px 6px rgba(20,30,60,.035);

	backdrop-filter:blur(14px);
	-webkit-backdrop-filter:blur(14px);
}

.sp-nav a{
	position:relative;

	display:flex;
	align-items:center;
	justify-content:center;

	min-width:135px;

	padding:12px 21px;

	color:#606a80;

	background:transparent;

	border-radius:10px;

	text-decoration:none;

	font-size:13px;

	font-weight:750;

	letter-spacing:.1px;

	transition:
		color .22s ease,
		background .22s ease,
		transform .22s ease,
		box-shadow .22s ease;
}

.sp-nav a:after{
	content:"";

	position:absolute;

	left:50%;
	bottom:5px;

	width:0;
	height:2px;

	border-radius:10px;

	background:
		linear-gradient(
			90deg,
			var(--sp-gold),
			var(--sp-gold-light)
		);

	transform:translateX(-50%);

	transition:width .25s ease;
}

.sp-nav a:hover{
	color:#1d2e87;

	background:#f4f6ff;
}

.sp-nav a:hover:after{
	width:28px;
}

.sp-nav a.active{
	color:#fff;

	background:
		linear-gradient(
			135deg,
			#293fae,
			#172d82
		);

	box-shadow:
		0 6px 15px rgba(35,55,150,.20);
}

.sp-nav a.active:after{
	display:none;
}


/* =========================================================
   STATS
========================================================= */

.sp-stats{
	display:grid;

	grid-template-columns:repeat(4,1fr);

	gap:15px;

	margin-top:18px;
}

.sp-stat{
	position:relative;

	min-height:91px;

	display:flex;
	flex-direction:column;
	justify-content:center;

	padding:18px 20px;

	box-sizing:border-box;

	background:#fff;

	border:1px solid #e1e6ef;

	border-radius:17px;

	box-shadow:
		0 6px 20px rgba(25,35,65,.045);

	overflow:hidden;

	transition:
		transform .2s ease,
		box-shadow .2s ease;
}

.sp-stat:hover{
	transform:translateY(-3px);

	box-shadow:
		0 12px 27px rgba(25,35,65,.08);
}

.sp-stat:after{
	content:"";

	position:absolute;

	width:82px;
	height:82px;

	right:-35px;
	top:-35px;

	border-radius:50%;

	background:rgba(47,75,214,.055);
}

.sp-stat b{
	position:relative;
	z-index:1;

	display:block;

	color:#17213c;

	font-size:21px;

	line-height:1.2;

	font-weight:850;
}

.sp-stat span{
	position:relative;
	z-index:1;

	display:block;

	margin-top:6px;

	color:#7a8499;

	font-size:11px;

	font-weight:650;

	text-transform:uppercase;

	letter-spacing:.45px;
}


/* =========================================================
   SECTION TITLE
========================================================= */

.sp-sec-title{
	position:relative;

	margin:34px 0 14px;

	padding-left:13px;

	color:#111a35;

	font-size:19px;

	line-height:1.3;

	font-weight:850;
}

.sp-sec-title:before{
	content:"";

	position:absolute;

	left:0;
	top:3px;
	bottom:3px;

	width:3px;

	border-radius:5px;

	background:
		linear-gradient(
			to bottom,
			var(--sp-blue),
			var(--sp-gold)
		);
}


/* =========================================================
   ABOUT / DETAILS CARD
========================================================= */

.sp-about{
	background:#fff;

	border:1px solid #e0e5ee;

	border-radius:18px;

	padding:23px 25px;

	color:#46516b;

	font-size:14px;

	line-height:1.8;

	box-shadow:
		0 6px 22px rgba(20,30,60,.045);

	box-sizing:border-box;
}


/* =========================================================
   COMPANY DETAILS
========================================================= */

.sp-info{
	display:grid;

	grid-template-columns:repeat(2,1fr);

	column-gap:45px;

	margin-top:0;
}

.sp-info .r{
	min-height:58px;

	display:flex;
	align-items:center;
	justify-content:space-between;

	gap:22px;

	padding:13px 3px;

	box-sizing:border-box;

	border-bottom:1px solid #edf0f5;

	font-size:13.5px;
}

.sp-info .r span{
	flex-shrink:0;

	color:#7a849a;

	font-weight:600;
}

.sp-info .r b{
	color:#17213c;

	font-weight:750;

	text-align:right;

	word-break:break-word;
}


/* =========================================================
   PRODUCT GRID
========================================================= */

.sp-prod{
	display:grid;

	grid-template-columns:repeat(4,1fr);

	gap:18px;
}

.sp-pcard{
	position:relative;

	background:#fff;

	border:1px solid #e0e5ee;

	border-radius:18px;

	overflow:hidden;

	box-shadow:
		0 6px 20px rgba(20,30,60,.05);

	transition:
		transform .25s ease,
		box-shadow .25s ease,
		border-color .25s ease;
}

.sp-pcard:hover{
	transform:translateY(-5px);

	border-color:#d4dbee;

	box-shadow:
		0 16px 34px rgba(20,30,60,.11);
}

.sp-pimg{
	position:relative;

	display:block;

	width:100%;

	aspect-ratio:4/3;

	background:
		linear-gradient(
			135deg,
			#f2f5fa,
			#e7ebf3
		);

	overflow:hidden;
}

.sp-pimg:after{
	content:"";

	position:absolute;

	inset:0;

	background:
		linear-gradient(
			to top,
			rgba(10,20,45,.08),
			transparent 40%
		);

	pointer-events:none;
}

.sp-pimg img{
	width:100%;
	height:100%;

	display:block;

	object-fit:cover;

	transition:transform .35s ease;
}

.sp-pcard:hover .sp-pimg img{
	transform:scale(1.045);
}

.sp-pbody{
	padding:16px 16px 18px;

	box-sizing:border-box;
}

.sp-pname{
	color:#18223d;

	font-size:14px;

	line-height:1.4;

	font-weight:800;
}

.sp-pmeta{
	margin-top:7px;

	color:#737e95;

	font-size:12px;

	line-height:1.5;
}


/* =========================================================
   EMPTY STATE
========================================================= */

.sp-empty{
	padding:30px 20px;

	color:#7a8499;

	background:#fff;

	border:1px dashed #ccd4e3;

	border-radius:15px;

	font-size:14px;

	text-align:center;

	box-sizing:border-box;
}

.sp-empty a{
	color:var(--sp-blue);

	font-weight:700;

	text-decoration:none;
}


/* =========================================================
   SECTION SCROLL OFFSET
========================================================= */

#supplier-home,
#supplier-about,
#supplier-products,
#supplier-contact{
	scroll-margin-top:90px;
}


/* =========================================================
   LARGE DESKTOP
========================================================= */

@media (min-width:1200px){

	.sp-wrap{
		padding-left:30px;
		padding-right:30px;
	}

	.sp-head{
		padding:32px;
	}

	.sp-name{
		font-size:29px;
	}

	.sp-prod{
		gap:20px;
	}

}


/* =========================================================
   TABLET
========================================================= */

@media (max-width:1000px){

	.sp-wrap{
		padding:26px 20px 70px;
	}

	.sp-head{
		padding:24px;
		gap:20px;
	}

	.sp-logo{
		width:88px;
		height:88px;
		flex-basis:88px;
	}

	.sp-name{
		font-size:23px;
	}

	.sp-stats{
		grid-template-columns:repeat(2,1fr);
	}

	.sp-prod{
		grid-template-columns:repeat(2,1fr);
	}

	.sp-info{
		grid-template-columns:1fr;
	}

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width:600px){

	.sp-wrap{
		width:100%;

		padding:
			17px
			13px
			55px;

		box-sizing:border-box;
	}


	/* Breadcrumb */

	.sp-crumb{
		font-size:11.5px;

		margin-bottom:12px;

		white-space:nowrap;

		overflow:hidden;

		text-overflow:ellipsis;
	}


	/* Header */

	.sp-head{
		display:block;

		padding:20px 17px;

		border-radius:19px;
	}

	.sp-logo{
		width:78px;
		height:78px;

		margin-bottom:15px;

		border-radius:17px;
	}

	.sp-logo span{
		font-size:28px;
	}

	.sp-h-main{
		width:100%;

		min-width:0;
	}

	.sp-name{
		font-size:20px;

		line-height:1.3;

		letter-spacing:-.15px;
	}

	.sp-badge{
		font-size:9.5px;

		padding:6px 8px;
	}

	.sp-meta{
		margin-top:11px;

		gap:6px;
	}

	.sp-meta span{
		font-size:11px;

		padding:5px 8px;
	}


	/* Buttons */

	.sp-actions{
		width:100%;

		margin-top:17px;

		display:grid;

		grid-template-columns:1fr 1fr;

		gap:8px;
	}

	.sp-btn{
		width:100%;

		min-height:42px;

		padding:10px 8px;

		font-size:12px;

		box-sizing:border-box;
	}


	/* Navigation */

	.sp-nav{
		position:sticky;

		top:6px;

		justify-content:flex-start;

		margin:12px 0 3px;

		padding:5px;

		border-radius:13px;

		overflow-x:auto;

		overflow-y:hidden;

		scrollbar-width:none;

		-webkit-overflow-scrolling:touch;
	}

	.sp-nav::-webkit-scrollbar{
		display:none;
	}

	.sp-nav a{
		flex:0 0 auto;

		min-width:auto;

		padding:10px 15px;

		font-size:11.5px;

		border-radius:9px;

		white-space:nowrap;
	}

	.sp-nav a:after{
		bottom:4px;
	}


	/* Stats */

	.sp-stats{
		grid-template-columns:repeat(2,1fr);

		gap:9px;

		margin-top:11px;
	}

	.sp-stat{
		min-height:76px;

		padding:13px;

		border-radius:14px;
	}

	.sp-stat b{
		font-size:17px;
	}

	.sp-stat span{
		font-size:9px;

		margin-top:4px;

		letter-spacing:.3px;
	}


	/* Section title */

	.sp-sec-title{
		font-size:17px;

		margin:27px 0 11px;

		padding-left:11px;
	}


	/* About */

	.sp-about{
		padding:17px 16px;

		border-radius:15px;

		font-size:13px;

		line-height:1.75;
	}


	/* Company details */

	.sp-info{
		display:block;
	}

	.sp-info .r{
		min-height:auto;

		padding:12px 2px;

		gap:5px;

		align-items:flex-start;

		flex-direction:column;

		font-size:12.5px;
	}

	.sp-info .r b{
		font-size:13px;

		text-align:left;
	}


	/* Products */

	.sp-prod{
		grid-template-columns:repeat(2,1fr);

		gap:10px;
	}

	.sp-pcard{
		border-radius:14px;
	}

	.sp-pbody{
		padding:11px 11px 13px;
	}

	.sp-pname{
		font-size:12.5px;
	}

	.sp-pmeta{
		font-size:10.5px;

		margin-top:5px;
	}


	/* Scroll */

	#supplier-home,
	#supplier-about,
	#supplier-products,
	#supplier-contact{
		scroll-margin-top:70px;
	}

}


/* =========================================================
   VERY SMALL MOBILE
========================================================= */

@media (max-width:380px){

	.sp-wrap{
		padding-left:10px;
		padding-right:10px;
	}

	.sp-head{
		padding:17px 14px;
	}

	.sp-name{
		font-size:18px;
	}

	.sp-actions{
		grid-template-columns:1fr;
	}

	.sp-stats{
		gap:7px;
	}

	.sp-stat{
		padding:12px 10px;
	}

	.sp-stat b{
		font-size:16px;
	}

	.sp-prod{
		grid-template-columns:1fr;

		gap:12px;
	}

	.sp-pbody{
		padding:13px;
	}

	.sp-pname{
		font-size:13.5px;
	}

	.sp-nav a{
		padding:9px 12px;

		font-size:11px;
	}

}


/* =========================================================
   REDUCE MOTION
========================================================= */

@media (prefers-reduced-motion:reduce){

	.sp-btn,
	.sp-pcard,
	.sp-stat,
	.sp-pimg img{
		transition:none !important;
	}

}
