/* =========================================================
   AURABLOOM COURSE SINGLE PRODUCT
========================================================= */

.ab-course-page{
	width:100%;
	margin:0!important;
	padding:0!important;
	background:#f8fafc;
	color:#0f172a;
	font-family:Figtree,Arial,sans-serif;
}

.ab-course-page *,
.ab-course-page *:before,
.ab-course-page *:after{
	box-sizing:border-box;
}

.ab-course-page .ab-course-container{
	width:100%;
	max-width:1300px;
	margin:0 auto;
	padding-left:30px;
	padding-right:30px;
}


/* =========================================================
   HERO
========================================================= */

.ab-course-page .ab-course-hero{
	width:100%;
	margin:0!important;
	padding:70px 0;
	background:linear-gradient(135deg,#eff6ff 0%,#dbeafe 100%);
}

.ab-course-page .ab-course-hero-inner{
	width:100%;
	max-width:1300px;
	margin:0 auto;
	padding:0 30px;
	display:grid;
	grid-template-columns:minmax(0,1fr) 380px;
	gap:55px;
	align-items:center;
}

.ab-course-page .ab-course-main{
	width:100%;
	min-width:0;
}

.ab-course-page .ab-course-badge{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	background:#fef3c7;
	color:#b45309;
	font-size:12px;
	font-weight:800;
	line-height:1;
	text-transform:uppercase;
	letter-spacing:.08em;
	padding:10px 16px;
	border-radius:50px;
	margin:0 0 22px;
}

.ab-course-page .ab-course-main h1{
	font-family:Bricolage Grotesque,Figtree,Arial,sans-serif;
	font-size:52px!important;
	font-weight:700!important;
	line-height:1.08!important;
	letter-spacing:-1.5px!important;
	color:#0f172a!important;
	margin:0 0 22px!important;
	padding:0!important;
}

.ab-course-page .ab-course-description{
	max-width:760px;
	font-size:18px;
	line-height:1.75;
	color:#475569;
	margin:0 0 22px;
}

.ab-course-page .ab-course-description p{
	margin:0 0 12px;
	padding:0;
}

.ab-course-page .ab-course-description p:last-child{
	margin-bottom:0;
}


/* =========================================================
   RATING
========================================================= */

.ab-course-page .ab-course-rating{
	display:flex;
	align-items:center;
	flex-wrap:wrap;
	gap:8px;
	margin:0 0 30px;
	font-size:14px;
	color:#64748b;
}

.ab-course-page .ab-course-rating strong{
	color:#0f172a;
	font-weight:800;
}

.ab-course-page .ab-course-stars{
	color:#f59e0b;
	font-size:21px;
	line-height:1;
	letter-spacing:2px;
}


/* =========================================================
   COURSE IMAGE
========================================================= */

.ab-course-page .ab-course-image{
	position:relative;
	width:100%;
	max-width:760px;
	background:#fff;
	border:1px solid #dbe4f0;
	border-radius:18px;
	overflow:hidden;
	box-shadow:0 20px 50px rgba(15,23,42,.12);
}

.ab-course-page .ab-course-image img,
.ab-course-page .ab-course-featured-image{
	display:block!important;
	width:100%!important;
	max-width:100%!important;
	height:390px!important;
	min-height:390px!important;
	object-fit:cover!important;
	object-position:center!important;
	margin:0!important;
	padding:0!important;
	border:0!important;
}

.ab-course-page .ab-course-image-wrap{
	width:100%;
}

.ab-course-page .ab-image-badge{
	display:none;
}


/* =========================================================
   PRICE CARD
========================================================= */

.ab-course-page .ab-course-card{
	width:100%;
	max-width:380px;
	background:#fff;
	border:1px solid #dbe4f0;
	border-radius:18px;
	box-shadow:0 20px 55px rgba(15,23,42,.14);
	padding:34px;
}

.ab-course-page .ab-course-card-inner{
	width:100%;
}

.ab-course-page .ab-course-price-label{
	margin:0 0 8px;
	font-size:12px;
	font-weight:800;
	line-height:1.4;
	letter-spacing:.08em;
	text-transform:uppercase;
	color:#64748b;
}

.ab-course-page .ab-course-price{
	margin:0 0 5px;
	padding:0;
	font-family:Bricolage Grotesque,Figtree,Arial,sans-serif;
	font-size:40px!important;
	font-weight:800!important;
	line-height:1.1!important;
	color:#0f172a!important;
}

.ab-course-page .ab-course-price .woocommerce-Price-amount{
	font-size:40px!important;
	font-weight:800!important;
	color:#0f172a!important;
}

.ab-course-page .ab-course-price .woocommerce-Price-currencySymbol{
	font-size:27px!important;
}

.ab-course-page .ab-course-price-extra{
	display:flex;
	align-items:center;
	flex-wrap:wrap;
	gap:10px;
	margin:0 0 24px;
}

.ab-course-page .ab-course-old-price{
	font-size:14px;
	color:#94a3b8;
	text-decoration:line-through;
}

.ab-course-page .ab-course-old-price .woocommerce-Price-amount{
	color:#94a3b8;
}

.ab-course-page .ab-course-discount{
	display:inline-flex;
	align-items:center;
	background:#dcfce7;
	color:#15803d;
	font-size:11px;
	font-weight:800;
	padding:5px 9px;
	border-radius:6px;
}


/* =========================================================
   COURSE INFO
========================================================= */

.ab-course-page .ab-course-info-list{
	width:100%;
	margin:24px 0;
	padding:0;
	border-top:1px solid #e2e8f0;
	border-bottom:1px solid #e2e8f0;
}

.ab-course-page .ab-course-info-item{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:15px;
	width:100%;
	padding:13px 0;
	margin:0;
	border-bottom:1px solid #f1f5f9;
}

.ab-course-page .ab-course-info-item:last-child{
	border-bottom:0;
}

.ab-course-page .ab-course-info-item span{
	font-size:10px;
	font-weight:800;
	line-height:1.4;
	letter-spacing:.06em;
	color:#64748b;
}

.ab-course-page .ab-course-info-item strong{
	font-size:13px;
	font-weight:700;
	line-height:1.4;
	color:#0f172a;
	text-align:right;
}


/* =========================================================
   FEATURES
========================================================= */

.ab-course-page .ab-course-features{
	list-style:none!important;
	width:100%;
	margin:0 0 25px!important;
	padding:0!important;
}

.ab-course-page .ab-course-features li{
	display:flex!important;
	align-items:flex-start;
	gap:10px;
	width:100%;
	margin:0 0 13px!important;
	padding:0!important;
	list-style:none!important;
	font-size:14px;
	line-height:1.5;
	color:#334155;
}

.ab-course-page .ab-course-features li:last-child{
	margin-bottom:0!important;
}

.ab-course-page .ab-course-features li span{
	display:flex;
	align-items:center;
	justify-content:center;
	width:21px;
	height:21px;
	min-width:21px;
	flex:0 0 21px;
	margin-top:1px;
	background:#dcfce7;
	color:#15803d;
	border-radius:50%;
	font-size:11px;
	font-weight:900;
}


/* =========================================================
   ENROLL
========================================================= */

.ab-course-page .ab-course-enroll{
	width:100%;
	margin:10px 0 0;
	padding:0;
}

.ab-course-page .ab-course-enroll form.cart{
	display:block!important;
	width:100%!important;
	margin:0!important;
	padding:0!important;
}

.ab-course-page .ab-course-enroll .quantity{
	display:none!important;
}

.ab-course-page .ab-course-enroll .single_add_to_cart_button{
	display:flex!important;
	align-items:center!important;
	justify-content:center!important;
	width:100%!important;
	min-width:100%!important;
	min-height:56px!important;
	margin:0!important;
	padding:16px 20px!important;
	border:0!important;
	border-radius:10px!important;
	background:linear-gradient(135deg,#2563eb,#1d4ed8)!important;
	color:#fff!important;
	font-family:Figtree,Arial,sans-serif!important;
	font-size:15px!important;
	font-weight:800!important;
	line-height:1.2!important;
	text-align:center!important;
	cursor:pointer!important;
	box-shadow:0 10px 25px rgba(37,99,235,.25)!important;
	transition:all .25s ease!important;
}

.ab-course-page .ab-course-enroll .single_add_to_cart_button:hover{
	background:linear-gradient(135deg,#1d4ed8,#1e40af)!important;
	color:#fff!important;
	transform:translateY(-2px);
	box-shadow:0 14px 30px rgba(37,99,235,.32)!important;
}

.ab-course-page .ab-course-enroll .single_add_to_cart_button:disabled,
.ab-course-page .ab-course-enroll .single_add_to_cart_button.disabled{
	opacity:.6;
	cursor:not-allowed;
	transform:none!important;
}

.ab-course-page .ab-secure-payment{
	width:100%;
	margin:14px 0 0;
	padding:0;
	color:#64748b;
	font-size:12px;
	line-height:1.5;
	text-align:center;
}


/* =========================================================
   OVERVIEW SECTION
========================================================= */

.ab-course-page .ab-overview-section{
	width:100%;
	padding:70px 0;
	background:#f8fafc;
}

.ab-course-page .ab-overview-grid{
	display:grid;
	grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);
	gap:30px;
	align-items:start;
}

.ab-course-page .ab-overview-content,
.ab-course-page .ab-who-card{
	background:#fff;
	border:1px solid #e2e8f0;
	border-radius:16px;
	padding:38px;
	box-shadow:0 10px 35px rgba(15,23,42,.05);
}

.ab-course-page .ab-section-label{
	margin:0 0 10px;
	font-size:11px;
	font-weight:800;
	line-height:1.4;
	letter-spacing:.1em;
	text-transform:uppercase;
	color:#2563eb;
}

.ab-course-page .ab-overview-content h2,
.ab-course-page .ab-who-card h3{
	font-family:Bricolage Grotesque,Figtree,Arial,sans-serif;
	color:#0f172a;
	margin:0 0 20px!important;
	padding:0!important;
	font-weight:700;
}

.ab-course-page .ab-overview-content h2{
	font-size:32px!important;
	line-height:1.2!important;
}

.ab-course-page .ab-who-card h3{
	font-size:25px!important;
	line-height:1.25!important;
}

.ab-course-page .ab-overview-content p,
.ab-course-page .ab-who-card p{
	margin:0 0 15px;
	padding:0;
	font-size:16px;
	line-height:1.8;
	color:#475569;
}

.ab-course-page .ab-overview-content p:last-child,
.ab-course-page .ab-who-card p:last-child{
	margin-bottom:0;
}


/* =========================================================
   WHO SHOULD ATTEND
========================================================= */

.ab-course-page .ab-who-card ul{
	list-style:none!important;
	margin:0!important;
	padding:0!important;
}

.ab-course-page .ab-who-card li{
	display:flex!important;
	align-items:flex-start;
	gap:10px;
	list-style:none!important;
	margin:0 0 13px!important;
	padding:0!important;
	font-size:14px;
	line-height:1.6;
	color:#475569;
}

.ab-course-page .ab-who-card li:last-child{
	margin-bottom:0!important;
}

.ab-course-page .ab-who-card li span{
	display:flex;
	align-items:center;
	justify-content:center;
	width:21px;
	height:21px;
	min-width:21px;
	background:#dcfce7;
	color:#15803d;
	border-radius:50%;
	font-size:11px;
	font-weight:800;
}


/* =========================================================
   LEARNING SECTION
========================================================= */

.ab-course-page .ab-learning-section{
	width:100%;
	padding:70px 0;
	background:#fff;
}

.ab-course-page .ab-section-heading{
	max-width:750px;
	margin:0 auto 35px;
	text-align:center;
}

.ab-course-page .ab-section-heading h2{
	font-family:Bricolage Grotesque,Figtree,Arial,sans-serif;
	font-size:38px!important;
	line-height:1.2!important;
	font-weight:700!important;
	color:#0f172a!important;
	margin:0 0 14px!important;
	padding:0!important;
}

.ab-course-page .ab-section-heading p{
	margin:0;
	padding:0;
	font-size:16px;
	line-height:1.7;
	color:#64748b;
}

.ab-course-page .ab-learning-grid{
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:18px;
	width:100%;
}

.ab-course-page .ab-learning-card{
	display:flex;
	align-items:flex-start;
	gap:16px;
	width:100%;
	min-height:100px;
	padding:22px;
	background:#f8fafc;
	border:1px solid #e2e8f0;
	border-radius:13px;
	transition:all .25s ease;
}

.ab-course-page .ab-learning-card:hover{
	background:#fff;
	border-color:#93c5fd;
	transform:translateY(-3px);
	box-shadow:0 12px 30px rgba(15,23,42,.07);
}

.ab-course-page .ab-learning-number{
	display:flex;
	align-items:center;
	justify-content:center;
	width:42px;
	height:42px;
	min-width:42px;
	border-radius:10px;
	background:#dbeafe;
	color:#2563eb;
	font-size:12px;
	font-weight:900;
	letter-spacing:.04em;
}

.ab-course-page .ab-learning-text{
	padding-top:3px;
	font-size:15px;
	line-height:1.65;
	color:#334155;
}


/* =========================================================
   PRACTICAL
========================================================= */

.ab-course-page .ab-practical-section{
	width:100%;
	padding:70px 0;
	background:#f8fafc;
}

.ab-course-page .ab-practical-card{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:40px;
	background:linear-gradient(135deg,#eff6ff,#dbeafe);
	border:1px solid #bfdbfe;
	border-radius:18px;
	padding:42px;
}

.ab-course-page .ab-practical-content{
	max-width:850px;
}

.ab-course-page .ab-practical-content h2{
	font-family:Bricolage Grotesque,Figtree,Arial,sans-serif;
	font-size:34px!important;
	line-height:1.2!important;
	font-weight:700!important;
	color:#0f172a!important;
	margin:0 0 18px!important;
	padding:0!important;
}

.ab-course-page .ab-practical-content p{
	margin:0 0 14px;
	padding:0;
	font-size:16px;
	line-height:1.8;
	color:#475569;
}

.ab-course-page .ab-practical-content p:last-child{
	margin-bottom:0;
}

.ab-course-page .ab-practical-icon{
	display:flex;
	align-items:center;
	justify-content:center;
	width:65px;
	height:65px;
	min-width:65px;
	border-radius:50%;
	background:#2563eb;
	color:#fff;
	font-size:27px;
	font-weight:400;
}


/* =========================================================
   COURSE DETAILS
========================================================= */

.ab-course-page .ab-course-details-section{
	width:100%;
	padding:70px 0;
	background:#fff;
}

.ab-course-page .ab-course-details-box{
	background:#fff;
	border:1px solid #e2e8f0;
	border-radius:16px;
	padding:38px;
	box-shadow:0 10px 35px rgba(15,23,42,.05);
}

.ab-course-page .ab-course-details-box h2{
	font-family:Bricolage Grotesque,Figtree,Arial,sans-serif;
	font-size:32px!important;
	line-height:1.2!important;
	font-weight:700!important;
	color:#0f172a!important;
	margin:0 0 25px!important;
	padding:0!important;
}

.ab-course-page .ab-detail-grid{
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:15px;
}

.ab-course-page .ab-detail-item{
	width:100%;
	background:#f8fafc;
	border:1px solid #e2e8f0;
	border-radius:10px;
	padding:18px;
}

.ab-course-page .ab-detail-item span{
	display:block;
	margin:0 0 7px;
	font-size:10px;
	font-weight:800;
	line-height:1.4;
	letter-spacing:.07em;
	text-transform:uppercase;
	color:#64748b;
}

.ab-course-page .ab-detail-item strong{
	display:block;
	margin:0;
	font-size:15px;
	line-height:1.5;
	color:#0f172a;
}


/* =========================================================
   FINAL CTA
========================================================= */

.ab-course-page .ab-final-cta{
	width:100%;
	padding:0 0 70px;
	background:#fff;
}

.ab-course-page .ab-final-cta .ab-course-container{
	background:linear-gradient(135deg,#eff6ff,#dbeafe);
	border:1px solid #bfdbfe;
	border-radius:18px;
}

.ab-course-page .ab-final-cta-content{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:30px;
	padding:42px;
}

.ab-course-page .ab-final-cta-content h2{
	font-family:Bricolage Grotesque,Figtree,Arial,sans-serif;
	font-size:32px!important;
	line-height:1.2!important;
	font-weight:700!important;
	color:#0f172a!important;
	margin:0 0 10px!important;
	padding:0!important;
}

.ab-course-page .ab-final-cta-content p{
	margin:0;
	padding:0;
	font-size:15px;
	line-height:1.7;
	color:#475569;
}

.ab-course-page .ab-final-button{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	flex:0 0 auto;
	min-height:50px;
	padding:14px 23px;
	border-radius:9px;
	background:#2563eb;
	color:#fff!important;
	font-size:14px;
	font-weight:800;
	line-height:1;
	text-decoration:none!important;
	white-space:nowrap;
	transition:all .25s ease;
}

.ab-course-page .ab-final-button:hover{
	background:#1d4ed8;
	color:#fff!important;
	transform:translateY(-2px);
}


/* =========================================================
   WOOCOMMERCE RESET INSIDE COURSE
========================================================= */

.ab-course-page .woocommerce{
	width:100%!important;
	max-width:none!important;
	margin:0!important;
	padding:0!important;
}

.ab-course-page .woocommerce-message,
.ab-course-page .woocommerce-info,
.ab-course-page .woocommerce-error{
	margin:0 auto 20px!important;
	max-width:1300px;
}

.ab-course-page .stock{
	display:none;
}


/* =========================================================
   TABLET
========================================================= */

@media(max-width:1100px){

	.ab-course-page .ab-course-hero{
		padding:55px 0;
	}

	.ab-course-page .ab-course-hero-inner{
		grid-template-columns:minmax(0,1fr) 340px;
		gap:35px;
	}

	.ab-course-page .ab-course-main h1{
		font-size:44px!important;
	}

	.ab-course-page .ab-course-card{
		padding:28px;
	}

	.ab-course-page .ab-course-image img,
	.ab-course-page .ab-course-featured-image{
		height:330px!important;
		min-height:330px!important;
	}

}


/* =========================================================
   MOBILE
========================================================= */

@media(max-width:900px){

	.ab-course-page .ab-course-container{
		padding-left:20px;
		padding-right:20px;
	}

	.ab-course-page .ab-course-hero{
		padding:45px 0;
	}

	.ab-course-page .ab-course-hero-inner{
		grid-template-columns:1fr;
		gap:35px;
		padding:0 20px;
	}

	.ab-course-page .ab-course-card{
		max-width:100%;
	}

	.ab-course-page .ab-course-image{
		max-width:100%;
	}

	.ab-course-page .ab-overview-grid{
		grid-template-columns:1fr;
	}

	.ab-course-page .ab-learning-grid{
		grid-template-columns:1fr;
	}

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media(max-width:600px){

	.ab-course-page .ab-course-container{
		padding-left:15px;
		padding-right:15px;
	}

	.ab-course-page .ab-course-hero{
		padding:35px 0;
	}

	.ab-course-page .ab-course-hero-inner{
		padding:0 15px;
		gap:28px;
	}

	.ab-course-page .ab-course-main h1{
		font-size:34px!important;
		line-height:1.12!important;
		letter-spacing:-.8px!important;
		margin-bottom:18px!important;
	}

	.ab-course-page .ab-course-description{
		font-size:16px;
		line-height:1.7;
	}

	.ab-course-page .ab-course-badge{
		font-size:10px;
		padding:9px 13px;
	}

	.ab-course-page .ab-course-image img,
	.ab-course-page .ab-course-featured-image{
		height:240px!important;
		min-height:240px!important;
	}

	.ab-course-page .ab-course-card{
		padding:24px 20px;
		border-radius:15px;
	}

	.ab-course-page .ab-course-price{
		font-size:34px!important;
	}

	.ab-course-page .ab-course-price .woocommerce-Price-amount{
		font-size:34px!important;
	}

	.ab-course-page .ab-course-price .woocommerce-Price-currencySymbol{
		font-size:23px!important;
	}

	.ab-course-page .ab-overview-section,
	.ab-course-page .ab-learning-section,
	.ab-course-page .ab-practical-section,
	.ab-course-page .ab-course-details-section{
		padding:45px 0;
	}

	.ab-course-page .ab-overview-content,
	.ab-course-page .ab-who-card,
	.ab-course-page .ab-course-details-box{
		padding:25px 20px;
	}

	.ab-course-page .ab-overview-content h2,
	.ab-course-page .ab-course-details-box h2{
		font-size:27px!important;
	}

	.ab-course-page .ab-section-heading h2{
		font-size:30px!important;
	}

	.ab-course-page .ab-practical-card{
		flex-direction:column;
		align-items:flex-start;
		padding:28px 22px;
		gap:25px;
	}

	.ab-course-page .ab-practical-content h2{
		font-size:28px!important;
	}

	.ab-course-page .ab-detail-grid{
		grid-template-columns:1fr;
	}

	.ab-course-page .ab-final-cta{
		padding-bottom:45px;
	}

	.ab-course-page .ab-final-cta-content{
		flex-direction:column;
		align-items:flex-start;
		padding:28px 22px;
	}

	.ab-course-page .ab-final-cta-content h2{
		font-size:27px!important;
	}

	.ab-course-page .ab-final-button{
		width:100%;
	}

}


/* =========================================================
   EXTRA SMALL
========================================================= */

@media(max-width:400px){

	.ab-course-page .ab-course-main h1{
		font-size:30px!important;
	}

	.ab-course-page .ab-course-image img,
	.ab-course-page .ab-course-featured-image{
		height:210px!important;
		min-height:210px!important;
	}

	.ab-course-page .ab-course-info-item strong{
		max-width:150px;
	}

}