/* =========================================================
   PUREB12VAPE — VITAMIN B12 DIFFUSER V1
========================================================= */

.pb12-diffuser,
.pb12-diffuser *{
	box-sizing:border-box;
}

.pb12-diffuser{
	background:#fff;
	color:#26364e;
}

.pb12-diffuser-container{
	width:min(1120px,calc(100% - 40px));
	margin-inline:auto;
}


/* =========================================================
   HERO
========================================================= */

.pb12-diffuser-hero{
	padding:40px 0 85px;

	background:
		linear-gradient(
			135deg,
			#f8faff 0%,
			#f1f6ff 57%,
			#edf7fa 100%
		);
}

.pb12-diffuser-breadcrumb{
	margin-bottom:52px;

	color:#929daf;

	font-size:9px;
	font-weight:700;
}

.pb12-diffuser-breadcrumb a{
	color:#738198 !important;
}

.pb12-diffuser-breadcrumb span{
	margin:0 7px;
}

.pb12-diffuser-hero__grid{
	display:grid;

	grid-template-columns:
		minmax(0,1.08fr)
		minmax(370px,.72fr);

	align-items:center;

	gap:88px;
}

.pb12-diffuser-label{
	display:flex;
	align-items:center;
	gap:9px;

	margin-bottom:17px;

	color:#687997;

	font-size:9px;

	font-weight:850;

	letter-spacing:.17em;
}

.pb12-diffuser-label > span{
	width:7px;
	height:7px;

	border-radius:50%;

	background:
		linear-gradient(
			135deg,
			#3156d9,
			#4aa8c7
		);
}

.pb12-diffuser h1{
	margin:0;

	color:#16233a;

	font-size:clamp(47px,5.5vw,73px);

	font-weight:850;

	line-height:.96;

	letter-spacing:-.058em;
}

.pb12-diffuser h1 span{
	display:block;
	color:#3156d9;
}

.pb12-diffuser-hero__lead{
	max-width:620px;

	margin:24px 0 0;

	color:#35445a;

	font-size:19px;

	font-weight:560;

	line-height:1.58;
}

.pb12-diffuser-hero__text{
	max-width:620px;

	margin:14px 0 0;

	color:#718094;

	font-size:14px;

	line-height:1.75;
}

.pb12-diffuser-hero__actions{
	display:flex;
	align-items:center;
	flex-wrap:wrap;

	gap:18px;

	margin-top:28px;
}

.pb12-diffuser-btn{
	display:inline-flex;

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

	min-height:50px;

	padding:0 20px;

	border-radius:12px;

	background:
		linear-gradient(
			135deg,
			#3156d9,
			#2444b4
		);

	color:#fff !important;

	font-size:12px;

	font-weight:800;

	box-shadow:
		0 13px 30px
		rgba(49,86,217,.18);
}

.pb12-diffuser-textlink{
	color:#33445e !important;

	font-size:11px;

	font-weight:760;
}


/* =========================================================
   HERO CARD
========================================================= */

.pb12-diffuser-card{
	padding:28px 25px 24px;

	border:
		1px solid rgba(49,86,217,.12);

	border-radius:27px;

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

	box-shadow:
		0 25px 65px
		rgba(25,43,81,.075);
}

.pb12-diffuser-card__icon{
	display:flex;

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

	width:64px;
	height:64px;

	margin-bottom:22px;

	border-radius:19px;

	background:
		linear-gradient(
			145deg,
			#3156d9,
			#5278e8
		);

	color:#fff;

	font-size:20px;

	font-weight:900;

	box-shadow:
		0 12px 28px
		rgba(49,86,217,.22);
}

.pb12-diffuser-card > small{
	display:block;

	margin-bottom:5px;

	color:#909caf;

	font-size:7px;

	font-weight:850;

	letter-spacing:.14em;
}

.pb12-diffuser-card > strong{
	display:block;

	color:#26374f;

	font-size:23px;

	line-height:1.2;
}

.pb12-diffuser-card__facts{
	display:grid;

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

	margin-top:24px;

	padding-top:20px;

	border-top:1px solid #e0e5ef;
}

.pb12-diffuser-card__facts > div{
	padding:0 13px;
}

.pb12-diffuser-card__facts > div:first-child{
	padding-left:0;
}

.pb12-diffuser-card__facts > div + div{
	border-left:1px solid #e1e6ef;
}

.pb12-diffuser-card__facts span{
	display:block;

	color:#16233a;

	font-size:23px;

	font-weight:820;
}

.pb12-diffuser-card__facts small{
	display:block;

	margin-top:4px;

	color:#8b97aa;

	font-size:6px;

	font-weight:850;

	letter-spacing:.10em;
}


/* =========================================================
   GENERAL SECTIONS
========================================================= */

.pb12-diffuser-section{
	padding:90px 0;
}

.pb12-diffuser-soft{
	background:#f7f9fd;
}

.pb12-diffuser-two{
	display:grid;

	grid-template-columns:.82fr 1.18fr;

	gap:100px;
}

.pb12-diffuser-number{
	margin-bottom:15px;

	color:#3156d9;

	font-size:9px;

	font-weight:850;

	letter-spacing:.14em;
}

.pb12-diffuser h2{
	margin:0;

	color:#16233a;

	font-size:clamp(36px,4vw,53px);

	line-height:1.04;

	letter-spacing:-.045em;
}

.pb12-diffuser h2 span{
	display:block;

	color:#3156d9;
}

.pb12-diffuser-copy__lead{
	margin-top:2px !important;

	color:#35445a !important;

	font-size:17px !important;

	font-weight:550;
}

.pb12-diffuser-copy p{
	margin:15px 0 0;

	color:#748094;

	font-size:14px;

	line-height:1.75;
}

.pb12-diffuser-section-head{
	max-width:710px;

	margin-bottom:35px;
}

.pb12-diffuser-section-head > p{
	margin:15px 0 0;

	color:#778396;

	font-size:14px;

	line-height:1.7;
}


/* FORMAT */

.pb12-diffuser-format{
	display:grid;

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

	gap:14px;
}

.pb12-diffuser-format article,
.pb12-diffuser-review > *{
	padding:23px 20px;

	border:1px solid #e1e6ef;

	border-radius:19px;

	background:#fff;
}

.pb12-diffuser-format article > span,
.pb12-diffuser-review > * > span{
	display:block;

	margin-bottom:31px;

	color:#95a5d2;

	font-size:8px;

	font-weight:850;
}

.pb12-diffuser-format h3,
.pb12-diffuser-review h3{
	margin:0 0 8px;

	color:#293951;

	font-size:16px;
}

.pb12-diffuser-format p,
.pb12-diffuser-review p{
	margin:0;

	color:#7b8798;

	font-size:11px;

	line-height:1.6;
}


/* COMPARE */

.pb12-diffuser-compare{
	display:grid;

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

	gap:15px;
}

.pb12-diffuser-compare > div{
	padding:27px 25px;

	border:1px solid #e0e5ef;

	border-radius:21px;

	background:#fafbfe;
}

.pb12-diffuser-compare__primary{
	background:
		linear-gradient(
			145deg,
			#f4f7ff,
			#ebf2ff
		) !important;

	border-color:
		rgba(49,86,217,.15) !important;
}

.pb12-diffuser-compare small{
	color:#8996aa;

	font-size:7px;

	font-weight:850;

	letter-spacing:.13em;
}

.pb12-diffuser-compare h3{
	margin:7px 0 10px;

	color:#26374f;

	font-size:20px;
}

.pb12-diffuser-compare p{
	margin:0;

	color:#748094;

	font-size:12px;

	line-height:1.65;
}

.pb12-diffuser-compare ul{
	margin:17px 0 0;

	padding:0;

	list-style:none;
}

.pb12-diffuser-compare li{
	position:relative;

	padding:9px 0 9px 19px;

	border-top:
		1px solid rgba(55,73,105,.08);

	color:#69768a;

	font-size:11px;
}

.pb12-diffuser-compare li::before{
	content:"";

	position:absolute;

	left:1px;
	top:15px;

	width:5px;
	height:5px;

	border-radius:50%;

	background:#3156d9;
}


/* LINK */

.pb12-diffuser-link{
	display:inline-flex;

	align-items:center;

	gap:7px;

	margin-top:23px;

	padding-bottom:3px;

	border-bottom:1px solid #bac5db;

	color:#3156d9 !important;

	font-size:11px;

	font-weight:800;
}


/* =========================================================
   STANDARD
========================================================= */

.pb12-diffuser-standard{
	padding:76px 0;

	background:#16233a;
}

.pb12-diffuser-standard__head{
	display:flex;

	align-items:end;

	justify-content:space-between;

	gap:50px;

	margin-bottom:34px;
}

.pb12-diffuser-standard .pb12-diffuser-label{
	color:#9eacc0;
}

.pb12-diffuser-standard h2{
	color:#fff;
}

.pb12-diffuser-standard h2 span{
	color:#7193ff;
}

.pb12-diffuser-standard__head > p{
	max-width:430px;

	margin:0;

	color:#a2aec0;

	font-size:13px;

	line-height:1.7;
}

.pb12-diffuser-zero{
	display:grid;

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

	border:
		1px solid rgba(255,255,255,.10);

	border-radius:21px;

	background:
		rgba(255,255,255,.035);
}

.pb12-diffuser-zero > div{
	padding:25px 27px;
}

.pb12-diffuser-zero > div + div{
	border-left:
		1px solid rgba(255,255,255,.09);
}

.pb12-diffuser-zero strong{
	display:block;

	color:#fff;

	font-size:38px;

	line-height:1;

	font-weight:820;
}

.pb12-diffuser-zero sup{
	color:#7193ff;

	font-size:11px;
}

.pb12-diffuser-zero span{
	display:block;

	margin-top:7px;

	color:#8493aa;

	font-size:7px;

	font-weight:850;

	letter-spacing:.14em;
}


/* COLLECTION */

.pb12-diffuser-collection{
	padding:82px 0;

	background:
		linear-gradient(
			135deg,
			#eef3ff,
			#edf7fa
		);
}

.pb12-diffuser-collection__grid{
	display:grid;

	grid-template-columns:1fr .83fr;

	align-items:center;

	gap:80px;
}

.pb12-diffuser-collection p{
	max-width:570px;

	margin:18px 0 0;

	color:#718094;

	font-size:14px;

	line-height:1.72;
}

.pb12-diffuser-collection .pb12-diffuser-btn{
	margin-top:25px;
}

.pb12-diffuser-collection__panel{
	overflow:hidden;

	border:1px solid #dce3ef;

	border-radius:21px;

	background:rgba(255,255,255,.72);
}

.pb12-diffuser-collection__panel > div{
	padding:20px 22px;
}

.pb12-diffuser-collection__panel > div + div{
	border-top:1px solid #dfe5ef;
}

.pb12-diffuser-collection__panel small{
	display:block;

	margin-bottom:4px;

	color:#97a2b3;

	font-size:7px;

	font-weight:850;

	letter-spacing:.13em;
}

.pb12-diffuser-collection__panel strong{
	color:#2b3b53;

	font-size:14px;
}


/* REVIEW */

.pb12-diffuser-review{
	display:grid;

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

	gap:14px;
}

.pb12-diffuser-review a{
	display:block;

	text-decoration:none;
}

.pb12-diffuser-review a:hover{
	border-color:
		rgba(49,86,217,.22);
}


/* FAQ */

.pb12-diffuser-faq{
	padding:88px 0 98px;

	background:#fff;
}

.pb12-diffuser-faq__list{
	max-width:850px;
}

.pb12-diffuser-faq details{
	border-bottom:1px solid #dfe4ed;
}

.pb12-diffuser-faq summary{
	position:relative;

	padding:20px 40px 20px 0;

	cursor:pointer;

	list-style:none;

	color:#293951;

	font-size:14px;

	font-weight:760;
}

.pb12-diffuser-faq summary::-webkit-details-marker{
	display:none;
}

.pb12-diffuser-faq summary::after{
	content:"+";

	position:absolute;

	right:4px;
	top:17px;

	color:#3156d9;

	font-size:22px;
}

.pb12-diffuser-faq details[open] summary::after{
	content:"−";
}

.pb12-diffuser-faq details p{
	max-width:720px;

	margin:0 0 21px;

	color:#778396;

	font-size:12px;

	line-height:1.7;
}


/* DISCLAIMER */

.pb12-diffuser-disclaimer{
	padding:21px 0;

	border-top:1px solid #e4e8ef;

	background:#fafbfe;
}

.pb12-diffuser-disclaimer p{
	max-width:860px;

	margin:0;

	color:#8a95a5;

	font-size:9px;

	line-height:1.65;
}


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

@media(max-width:767px){

	.pb12-diffuser-container{
		width:min(
			100% - 30px,
			1120px
		);
	}

	.pb12-diffuser-hero{
		padding:27px 0 55px;
	}

	.pb12-diffuser-breadcrumb{
		margin-bottom:35px;
	}

	.pb12-diffuser-hero__grid{
		display:block;
	}

	.pb12-diffuser h1{
		font-size:
			clamp(
				43px,
				12vw,
				56px
			);
	}

	.pb12-diffuser-hero__lead{
		font-size:16px;
	}

	.pb12-diffuser-hero__text{
		font-size:13px;
	}

	.pb12-diffuser-hero__actions{
		display:block;
	}

	.pb12-diffuser-btn{
		width:100%;
	}

	.pb12-diffuser-textlink{
		display:inline-block;

		margin-top:15px;
	}

	.pb12-diffuser-card{
		margin-top:35px;

		padding:21px;

		border-radius:22px;
	}

	.pb12-diffuser-section{
		padding:61px 0;
	}

	.pb12-diffuser-two{
		display:block;
	}

	.pb12-diffuser-copy{
		margin-top:27px;
	}

	.pb12-diffuser-copy__lead{
		font-size:15px !important;
	}

	.pb12-diffuser-format,
	.pb12-diffuser-review{
		display:flex;

		overflow-x:auto;

		gap:10px;

		margin-right:-15px;

		padding-right:15px;

		scroll-snap-type:x mandatory;

		scrollbar-width:none;
	}

	.pb12-diffuser-format::-webkit-scrollbar,
	.pb12-diffuser-review::-webkit-scrollbar{
		display:none;
	}

	.pb12-diffuser-format article,
	.pb12-diffuser-review > *{
		flex:0 0 78%;

		min-height:175px;

		scroll-snap-align:start;
	}

	.pb12-diffuser-compare{
		display:block;
	}

	.pb12-diffuser-compare > div + div{
		margin-top:11px;
	}

	.pb12-diffuser-standard{
		padding:58px 0;
	}

	.pb12-diffuser-standard__head{
		display:block;
	}

	.pb12-diffuser-standard__head > p{
		margin-top:17px;
	}

	.pb12-diffuser-zero > div{
		padding:19px 10px;
	}

	.pb12-diffuser-zero strong{
		font-size:29px;
	}

	.pb12-diffuser-collection{
		padding:60px 0;
	}

	.pb12-diffuser-collection__grid{
		display:block;
	}

	.pb12-diffuser-collection__panel{
		margin-top:34px;
	}

	.pb12-diffuser-faq{
		padding:61px 0 70px;
	}

}
