/* ============================================================
   Nefesat — Product Landing Page
   Avada override: tüm kurallar !important ile
   Prefix: nfslp- (çakışma önlenir)
   ============================================================ */

/* ============================================================
   AVADA NUKE — Sadece #main içerik alanı hedeflenir.
   Header (.fusion-tb-header) ve Footer (.fusion-footer, .fusion-tb-footer)
   kesinlikle etkilenmez.
   ============================================================ */

/* #main içindeki fusion-row: full-width yap */
body.nefesat-lp #main > .fusion-row,
body.nefesat-lp #main .fusion-row {
	max-width: 100% !important;
	width: 100% !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	margin: 0 auto !important;
}

/* #main ve #content kendisi */
body.nefesat-lp #main {
	padding: 0 !important;
	margin: 0 !important;
}

body.nefesat-lp #main #content {
	padding: 0 !important;
	margin: 0 !important;
	width: 100% !important;
	max-width: 100% !important;
	float: none !important;
}

body.nefesat-lp #main #primary {
	padding: 0 !important;
	margin: 0 !important;
	width: 100% !important;
	max-width: 100% !important;
	float: none !important;
}

body.nefesat-lp #main .sidebar {
	display: none !important;
}

/* Avada product image float (sadece #main içinde) */
body.nefesat-lp #main .avada-product-images-global,
body.nefesat-lp #main .woocommerce-product-gallery,
body.nefesat-lp #main .woocommerce-product-gallery__wrapper,
body.nefesat-lp #main .woocommerce-product-gallery__image,
body.nefesat-lp #main .product .images {
	display: none !important;
	float: none !important;
	width: 0 !important;
	height: 0 !important;
	overflow: hidden !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* Avada summary (sadece #main içinde) */
body.nefesat-lp #main .summary.entry-summary,
body.nefesat-lp #main .product .summary {
	display: none !important;
	float: none !important;
	width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* Avada product wrapper (sadece #main içinde) */
body.nefesat-lp #main .product,
body.nefesat-lp #main div.product,
body.nefesat-lp #main .type-product {
	margin: 0 !important;
	padding: 0 !important;
	float: none !important;
	width: 100% !important;
	max-width: 100% !important;
	display: block !important;
	overflow: visible !important;
}

/* Product bilgi kısımları (sadece #main içinde) */
body.nefesat-lp #main .product_meta,
body.nefesat-lp #main .product_title,
body.nefesat-lp #main .woocommerce-product-rating,
body.nefesat-lp #main .woocommerce-tabs,
body.nefesat-lp #main .related.products,
body.nefesat-lp #main .upsells.products,
body.nefesat-lp #main .up-sells.products,
body.nefesat-lp #main .cross-sells,
body.nefesat-lp #main .woocommerce-breadcrumb {
	display: none !important;
}

/* Satın alınmış ürün bildirimi (sadece #main içinde) */
body.nefesat-lp #main .nefesat-dc-purchased {
	display: none !important;
}

/* Avada page title bar */
body.nefesat-lp .avada-page-titlebar-wrapper,
body.nefesat-lp .fusion-page-title-bar,
body.nefesat-lp .fusion-page-title-row {
	display: none !important;
}

/* Avada single product padding */
body.nefesat-lp.single-product #main #content {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

/* Avada WooCommerce notices */
body.nefesat-lp #main .woocommerce-notices-wrapper:empty {
	display: none !important;
}

/* Avada fusion-columns / layout (sadece #main içinde) */
body.nefesat-lp #main .fusion-columns,
body.nefesat-lp #main .fusion-column-wrapper,
body.nefesat-lp #main .fusion-builder-row {
	max-width: 100% !important;
	width: 100% !important;
	padding: 0 !important;
}

/* clearfix / float temizliği (sadece #main .product içinde) */
body.nefesat-lp #main .product::after,
body.nefesat-lp #main .product::before {
	content: none !important;
	display: none !important;
}

/* ============================================================
   NFSLP — Variables
   ============================================================ */
.nfslp {
	--nfslp-primary: #96ae6f;
	--nfslp-primary-dark: #7d9559;
	--nfslp-primary-light: #e8f0dd;
	--nfslp-dark: #1a2e1a;
	--nfslp-darker: #0f1e0f;
	--nfslp-text: #2d3b2d;
	--nfslp-text-light: #5a6b5a;
	--nfslp-border: #d4dcc9;
	--nfslp-bg: #f5f8f2;
	--nfslp-white: #ffffff;
	--nfslp-radius: 6px;
	--nfslp-radius-lg: 12px;
	--nfslp-max-w: 960px;

	font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif !important;
	line-height: 1.6 !important;
	color: var(--nfslp-text) !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	float: none !important;
	display: block !important;
	box-sizing: border-box !important;
}

/* ============================================================
   HERO
   ============================================================ */
.nfslp-hero {
	position: relative !important;
	min-height: calc(100vh - 190px) !important;
	min-height: calc(100dvh - 190px) !important;
	display: flex !important;
	align-items: center !important;
	background-size: cover !important;
	background-position: center center !important;
	background-repeat: no-repeat !important;
	background-color: var(--nfslp-dark) !important;
	overflow: hidden !important;
	margin: 0 !important;
	padding: 0 !important;
	width: 100% !important;
	max-width: 100% !important;
	float: none !important;
}

.nfslp-hero__overlay {
	position: absolute !important;
	inset: 0 !important;
	background: linear-gradient(135deg, rgba(15, 30, 15, 0.85) 0%, rgba(26, 46, 26, 0.7) 100%) !important;
	z-index: 1 !important;
	pointer-events: none !important;
}

.nfslp-hero__inner {
	position: relative !important;
	z-index: 2 !important;
	width: 100% !important;
	max-width: 1400px !important;
	margin: 0 auto !important;
	padding: 80px 60px !important;
	float: none !important;
	box-sizing: border-box !important;
}

.nfslp-hero__content {
	max-width: 620px !important;
}

.nfslp-hero__badge {
	display: inline-block !important;
	padding: 6px 16px !important;
	background: var(--nfslp-primary) !important;
	color: #fff !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	letter-spacing: 0.08em !important;
	text-transform: uppercase !important;
	border-radius: 50px !important;
	margin-bottom: 20px !important;
}

.nfslp-hero__title {
	font-size: 42px !important;
	font-weight: 800 !important;
	line-height: 1.15 !important;
	color: #fff !important;
	margin: 0 0 20px !important;
	letter-spacing: -0.02em !important;
	text-transform: none !important;
	padding: 0 !important;
	float: none !important;
}

.nfslp-hero__desc {
	font-size: 17px !important;
	line-height: 1.7 !important;
	color: rgba(255, 255, 255, 0.85) !important;
	margin: 0 0 28px !important;
	max-width: 540px !important;
}

.nfslp-hero__price {
	margin-bottom: 32px !important;
}

/* Fiyat bloğunu yatay tek satıra dönüştür */
.nfslp-hero__price .nefesat-price-stack {
	flex-direction: row !important;
	align-items: center !important;
	gap: 16px !important;
}

.nfslp-hero__price .nefesat-price-stack__current {
	font-size: 32px !important;
	font-weight: 800 !important;
	color: #fff !important;
	line-height: 1 !important;
}

.nfslp-hero__price .nefesat-price-stack__current .woocommerce-Price-amount {
	font-size: inherit !important;
	font-weight: inherit !important;
	color: inherit !important;
}

.nfslp-hero__price .nefesat-price-stack__meta {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	font-size: 15px !important;
}

.nfslp-hero__price .nefesat-price-stack__regular {
	color: rgba(255, 255, 255, 0.45) !important;
	font-size: 16px !important;
	font-weight: 500 !important;
}

.nfslp-hero__price .nefesat-price-stack__pct {
	background: rgba(150, 174, 111, 0.25) !important;
	color: var(--nfslp-primary) !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	padding: 4px 10px !important;
	border-radius: 4px !important;
}

/* İndirim yoksa düz fiyat */
.nfslp-hero__price > .woocommerce-Price-amount,
.nfslp-hero__price > span > .woocommerce-Price-amount {
	font-size: 32px !important;
	font-weight: 800 !important;
	color: #fff !important;
}

/* ============================================================
   HERO — Highlights (öne çıkan maddeler)
   ============================================================ */
.nfslp-hero__highlights {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	gap: 0 !important;
	margin-bottom: 28px !important;
}

.nfslp-hero__highlight-item {
	display: inline-flex !important;
	align-items: center !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	color: rgba(255, 255, 255, 0.75) !important;
	padding: 6px 0 !important;
	white-space: nowrap !important;
	line-height: 1.4 !important;
}

.nfslp-hero__highlight-item:not(:last-child)::after {
	content: '' !important;
	display: inline-block !important;
	width: 1px !important;
	height: 16px !important;
	background: rgba(255, 255, 255, 0.3) !important;
	margin: 0 16px !important;
	vertical-align: middle !important;
}

/* Light tema highlights */
.nfslp-hero--light .nfslp-hero__highlight-item {
	color: var(--nfslp-text) !important;
}

.nfslp-hero--light .nfslp-hero__highlight-item:not(:last-child)::after {
	background: var(--nfslp-border) !important;
}

/* ============================================================
   HERO — Enrolled (kayıtlı kullanıcı) durumu
   ============================================================ */
.nfslp-hero__enrolled {
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	gap: 20px !important;
}

.nfslp-hero__enrolled-badge {
	display: inline-flex !important;
	align-items: center !important;
	gap: 8px !important;
	padding: 10px 20px !important;
	background: rgba(150, 174, 111, 0.15) !important;
	border: 1px solid rgba(150, 174, 111, 0.3) !important;
	border-radius: 50px !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	color: var(--nfslp-primary) !important;
	letter-spacing: 0.02em !important;
}

/* Light tema enrolled badge */
.nfslp-hero--light .nfslp-hero__enrolled-badge {
	background: var(--nfslp-primary-light) !important;
	border-color: var(--nfslp-primary) !important;
	color: var(--nfslp-primary-dark) !important;
}

/* CTA enrolled text */
.nfslp-cta__enrolled-text {
	font-size: 15px !important;
	color: rgba(255, 255, 255, 0.7) !important;
	margin: 0 0 16px !important;
	line-height: 1.5 !important;
}

/* ============================================================
   HERO — LIGHT TEMA (siyah yazı, açık/beyaz arka plan için)
   ============================================================ */
.nfslp-hero--light {
	background-color: #f5f8f2 !important;
}

.nfslp-hero--light .nfslp-hero__overlay {
	background: linear-gradient(135deg, rgba(255, 255, 255, 0.75) 0%, rgba(245, 248, 242, 0.6) 100%) !important;
}

.nfslp-hero--light .nfslp-hero__title {
	color: var(--nfslp-dark) !important;
}

.nfslp-hero--light .nfslp-hero__desc {
	color: var(--nfslp-text) !important;
}

.nfslp-hero--light .nfslp-hero__badge {
	background: var(--nfslp-primary) !important;
	color: #fff !important;
}

/* Fiyat — light tema */
.nfslp-hero--light .nfslp-hero__price .nefesat-price-stack__current {
	color: var(--nfslp-dark) !important;
}

.nfslp-hero--light .nfslp-hero__price .nefesat-price-stack__current .woocommerce-Price-amount {
	color: var(--nfslp-dark) !important;
}

.nfslp-hero--light .nfslp-hero__price .nefesat-price-stack__regular {
	color: var(--nfslp-text-light) !important;
}

.nfslp-hero--light .nfslp-hero__price .nefesat-price-stack__pct {
	background: var(--nfslp-primary-light) !important;
	color: var(--nfslp-primary-dark) !important;
}

.nfslp-hero--light .nfslp-hero__price > .woocommerce-Price-amount,
.nfslp-hero--light .nfslp-hero__price > span > .woocommerce-Price-amount {
	color: var(--nfslp-dark) !important;
}

/* Buton — light tema: koyu buton */
.nfslp-hero--light .nfslp-btn--primary {
	background: var(--nfslp-dark) !important;
	border-color: var(--nfslp-dark) !important;
	color: #fff !important;
}

.nfslp-hero--light .nfslp-btn--primary:hover {
	background: var(--nfslp-primary) !important;
	border-color: var(--nfslp-primary) !important;
	color: #fff !important;
}

/* ============================================================
   BUTTONS
   ============================================================ */
.nfslp-btn {
	display: inline-block !important;
	padding: 16px 40px !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	text-decoration: none !important;
	text-align: center !important;
	border-radius: var(--nfslp-radius) !important;
	border: 2px solid transparent !important;
	cursor: pointer !important;
	transition: all 0.25s ease !important;
	letter-spacing: 0.04em !important;
	text-transform: uppercase !important;
	line-height: 1.4 !important;
	box-sizing: border-box !important;
	float: none !important;
	width: auto !important;
}

.nfslp-btn--primary {
	background: var(--nfslp-primary) !important;
	color: #fff !important;
	border-color: var(--nfslp-primary) !important;
}

.nfslp-btn--primary:hover {
	background: var(--nfslp-primary-dark) !important;
	border-color: var(--nfslp-primary-dark) !important;
	color: #fff !important;
	transform: translateY(-2px) !important;
	box-shadow: 0 8px 24px rgba(150, 174, 111, 0.4) !important;
}

.nfslp-btn--purchased {
	background: #e8f5e9 !important;
	color: #2e7d32 !important;
	border-color: #c8e6c9 !important;
}

.nfslp-btn--purchased:hover {
	background: #c8e6c9 !important;
	color: #1b5e20 !important;
}

.nfslp-btn--lg {
	padding: 18px 56px !important;
	font-size: 17px !important;
}

/* ============================================================
   ABOUT
   ============================================================ */
.nfslp-about {
	background: var(--nfslp-white) !important;
	padding: 80px 0 !important;
	width: 100% !important;
	max-width: 100% !important;
	float: none !important;
	margin: 0 !important;
}

.nfslp-about__inner {
	max-width: var(--nfslp-max-w) !important;
	margin: 0 auto !important;
	padding: 0 40px !important;
	box-sizing: border-box !important;
	float: none !important;
}

.nfslp-about__header {
	margin-bottom: 40px !important;
}

.nfslp-about__kicker {
	display: block !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	letter-spacing: 0.1em !important;
	text-transform: uppercase !important;
	color: var(--nfslp-primary) !important;
	margin-bottom: 12px !important;
}

.nfslp-about__title {
	font-size: 32px !important;
	font-weight: 800 !important;
	color: var(--nfslp-dark) !important;
	margin: 0 !important;
	line-height: 1.2 !important;
	letter-spacing: -0.01em !important;
	text-transform: none !important;
	padding: 0 !important;
	float: none !important;
}

.nfslp-about__text {
	font-size: 16px !important;
	line-height: 1.8 !important;
	color: var(--nfslp-text) !important;
	margin-bottom: 40px !important;
}

.nfslp-about__text p {
	margin: 0 0 16px !important;
	font-size: 16px !important;
	line-height: 1.8 !important;
	color: var(--nfslp-text) !important;
}

.nfslp-about__text p:last-child {
	margin-bottom: 0 !important;
}

.nfslp-about__text ul,
.nfslp-about__text ol {
	margin: 0 0 16px 20px !important;
	padding: 0 !important;
}

.nfslp-about__text li {
	margin-bottom: 8px !important;
	font-size: 16px !important;
	line-height: 1.7 !important;
	color: var(--nfslp-text) !important;
}

.nfslp-about__text li::marker {
	color: var(--nfslp-primary) !important;
}

.nfslp-about__text strong {
	color: var(--nfslp-dark) !important;
	font-weight: 700 !important;
}

/* Video */
.nfslp-about__video {
	margin-top: 40px !important;
	border-radius: var(--nfslp-radius-lg) !important;
	overflow: hidden !important;
	background: #000 !important;
	box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12) !important;
	max-width: 100% !important;
}

.nfslp-about__video-player {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	height: auto !important;
	max-height: 540px !important;
	object-fit: contain !important;
	border-radius: var(--nfslp-radius-lg) !important;
}

/* ============================================================
   CURRICULUM (modülsüz eğitim — ders video listesi)
   ============================================================ */
.nfslp-curriculum {
	background: var(--nfslp-bg) !important;
	padding: 80px 0 !important;
	width: 100% !important;
}

.nfslp-curriculum__inner {
	max-width: 760px !important;
	margin: 0 auto !important;
	padding: 0 40px !important;
	box-sizing: border-box !important;
}

.nfslp-curriculum__header {
	text-align: center !important;
	margin-bottom: 36px !important;
}

.nfslp-curriculum__title {
	font-size: 32px !important;
	font-weight: 700 !important;
	margin: 0 0 8px !important;
	color: var(--nfslp-text, #1a1a2e) !important;
}

.nfslp-curriculum__meta {
	margin: 0 !important;
	font-size: 15px !important;
	color: #666 !important;
}

.nfslp-curriculum__list {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 0 !important;
	background: #fff !important;
	border: 1px solid rgba(0, 0, 0, 0.08) !important;
	border-radius: 16px !important;
	overflow: hidden !important;
}

.nfslp-curriculum__item {
	display: flex !important;
	align-items: center !important;
	gap: 16px !important;
	padding: 16px 20px !important;
	border-bottom: 1px solid rgba(0, 0, 0, 0.06) !important;
}

.nfslp-curriculum__item:last-child {
	border-bottom: none !important;
}

.nfslp-curriculum__num {
	flex: 0 0 32px !important;
	width: 32px !important;
	height: 32px !important;
	border-radius: 50% !important;
	background: var(--nfslp-accent, #96ae6e) !important;
	color: #fff !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}

.nfslp-curriculum__name {
	flex: 1 !important;
	font-size: 15px !important;
	line-height: 1.45 !important;
	color: var(--nfslp-text, #1a1a2e) !important;
}

.nfslp-curriculum__status {
	flex: 0 0 auto !important;
	font-size: 12px !important;
	color: #888 !important;
	white-space: nowrap !important;
}

.nfslp-curriculum__status--owned {
	color: var(--nfslp-accent, #96ae6e) !important;
	font-weight: 600 !important;
}

.nfslp-hero__cta-row {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 12px !important;
	align-items: center !important;
	margin-top: 8px !important;
}

.nfslp-cta__inner .nfslp-btn + .nfslp-btn {
	margin-left: 12px !important;
}

@media (max-width: 767px) {
	.nfslp-curriculum__item {
		flex-wrap: wrap !important;
	}
	.nfslp-curriculum__status {
		width: 100% !important;
		padding-left: 48px !important;
		white-space: normal !important;
	}
	.nfslp-hero__cta-row {
		flex-direction: column !important;
		align-items: stretch !important;
	}
	.nfslp-cta__inner .nfslp-btn + .nfslp-btn {
		margin-left: 0 !important;
		margin-top: 12px !important;
		display: block !important;
	}
}

/* ============================================================
   TOPICS / DERSLER
   ============================================================ */
.nfslp-topics {
	background: var(--nfslp-bg) !important;
	padding: 80px 0 !important;
	width: 100% !important;
	max-width: 100% !important;
	float: none !important;
	margin: 0 !important;
}

.nfslp-topics__inner {
	max-width: 1140px !important;
	margin: 0 auto !important;
	padding: 0 40px !important;
	box-sizing: border-box !important;
	float: none !important;
}

.nfslp-topics__header {
	text-align: center !important;
	margin-bottom: 48px !important;
}

.nfslp-topics__title {
	font-size: 32px !important;
	font-weight: 800 !important;
	color: var(--nfslp-dark) !important;
	margin: 0 !important;
	line-height: 1.2 !important;
	letter-spacing: -0.01em !important;
	text-transform: none !important;
	padding: 0 !important;
	float: none !important;
}

/* Slider container */
.nfslp-topics__slider {
	position: relative !important;
	overflow: hidden !important;
}

.nfslp-topics__track {
	display: flex !important;
	gap: 20px !important;
	transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
	cursor: grab !important;
}

.nfslp-topics__track.nfslp-grabbing {
	cursor: grabbing !important;
	transition: none !important;
}

/* Card — paket kartı stili */
.nfslp-topics__card {
	flex: 0 0 calc(33.333% - 14px) !important;
	min-width: calc(33.333% - 14px) !important;
	background: var(--nfslp-white) !important;
	border: 1px solid var(--nfslp-border) !important;
	border-radius: var(--nfslp-radius-lg) !important;
	padding: 0 !important;
	box-sizing: border-box !important;
	transition: border-color 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease !important;
	float: none !important;
	display: flex !important;
	flex-direction: column !important;
	overflow: hidden !important;
}

.nfslp-topics__card:hover {
	border-color: var(--nfslp-primary) !important;
	box-shadow: 0 8px 32px rgba(150, 174, 111, 0.18) !important;
	transform: translateY(-4px) !important;
}

/* Card head — koyu üst bölüm */
.nfslp-topics__card-head {
	background: linear-gradient(135deg, var(--nfslp-dark) 0%, #2a4a2a 100%) !important;
	padding: 28px 28px 24px !important;
	text-align: center !important;
}

.nfslp-topics__card-num {
	display: inline-block !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	letter-spacing: 0.1em !important;
	text-transform: uppercase !important;
	color: var(--nfslp-primary) !important;
	background: rgba(150, 174, 111, 0.15) !important;
	padding: 5px 14px !important;
	border-radius: 50px !important;
	margin-bottom: 14px !important;
}

.nfslp-topics__card-title {
	font-size: 18px !important;
	font-weight: 700 !important;
	color: #fff !important;
	margin: 0 !important;
	line-height: 1.35 !important;
	text-transform: none !important;
	letter-spacing: normal !important;
	padding: 0 !important;
	float: none !important;
}

/* Card body — konu listesi */
.nfslp-topics__card-body {
	padding: 24px 28px 28px !important;
	flex: 1 !important;
	display: flex !important;
	flex-direction: column !important;
}

.nfslp-topics__card-list {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.nfslp-topics__card-list-item {
	position: relative !important;
	padding: 10px 0 10px 28px !important;
	font-size: 14px !important;
	line-height: 1.5 !important;
	color: var(--nfslp-text) !important;
	border-bottom: 1px solid rgba(0, 0, 0, 0.05) !important;
	margin: 0 !important;
}

.nfslp-topics__card-list-item:last-child {
	border-bottom: none !important;
}

.nfslp-topics__card-list-item::before {
	content: '' !important;
	position: absolute !important;
	left: 0 !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	width: 18px !important;
	height: 18px !important;
	background: var(--nfslp-primary-light) !important;
	border-radius: 50% !important;
}

.nfslp-topics__card-list-item::after {
	content: '✓' !important;
	position: absolute !important;
	left: 4px !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	font-size: 10px !important;
	font-weight: 700 !important;
	color: var(--nfslp-primary-dark) !important;
	line-height: 1 !important;
}

.nfslp-topics__card-text {
	font-size: 15px !important;
	line-height: 1.7 !important;
	color: var(--nfslp-text-light) !important;
	margin: 0 !important;
}

/* Navigation */
.nfslp-topics__nav {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 16px !important;
	margin-top: 32px !important;
}

.nfslp-topics__nav-btn {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 44px !important;
	height: 44px !important;
	border-radius: 50% !important;
	border: 1px solid var(--nfslp-border) !important;
	background: var(--nfslp-white) !important;
	color: var(--nfslp-text) !important;
	cursor: pointer !important;
	transition: all 0.2s ease !important;
	padding: 0 !important;
}

.nfslp-topics__nav-btn:hover {
	border-color: var(--nfslp-primary) !important;
	color: var(--nfslp-primary) !important;
	background: var(--nfslp-primary-light) !important;
}

.nfslp-topics__nav-btn:disabled {
	opacity: 0.4 !important;
	cursor: not-allowed !important;
}

.nfslp-topics__dots {
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
}

.nfslp-topics__dot {
	width: 10px !important;
	height: 10px !important;
	border-radius: 50% !important;
	background: var(--nfslp-border) !important;
	border: none !important;
	padding: 0 !important;
	cursor: pointer !important;
	transition: all 0.2s ease !important;
}

.nfslp-topics__dot--active {
	background: var(--nfslp-primary) !important;
	transform: scale(1.2) !important;
}

/* ============================================================
   CTA
   ============================================================ */
.nfslp-cta {
	background: var(--nfslp-dark) !important;
	padding: 64px 0 !important;
	text-align: center !important;
	width: 100% !important;
	max-width: 100% !important;
	float: none !important;
	margin: 0 !important;
}

.nfslp-cta__inner {
	max-width: var(--nfslp-max-w) !important;
	margin: 0 auto !important;
	padding: 0 40px !important;
	box-sizing: border-box !important;
	float: none !important;
}

.nfslp-cta__sub {
	font-size: 15px !important;
	color: rgba(255, 255, 255, 0.6) !important;
	margin: 16px 0 0 !important;
	line-height: 1.5 !important;
}

/* ============================================================
   FEATURES
   ============================================================ */
.nfslp-features {
	background: var(--nfslp-white) !important;
	padding: 80px 0 !important;
	width: 100% !important;
	max-width: 100% !important;
	float: none !important;
	margin: 0 !important;
}

.nfslp-features__inner {
	max-width: var(--nfslp-max-w) !important;
	margin: 0 auto !important;
	padding: 0 40px !important;
	box-sizing: border-box !important;
	float: none !important;
}

.nfslp-features__title {
	font-size: 28px !important;
	font-weight: 800 !important;
	color: var(--nfslp-dark) !important;
	text-align: center !important;
	margin: 0 0 48px !important;
	line-height: 1.2 !important;
	text-transform: none !important;
	letter-spacing: -0.01em !important;
	padding: 0 !important;
	float: none !important;
}

.nfslp-features__grid {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)) !important;
	gap: 24px !important;
}

.nfslp-features__card {
	padding: 32px !important;
	background: var(--nfslp-bg) !important;
	border: 1px solid var(--nfslp-border) !important;
	border-radius: var(--nfslp-radius-lg) !important;
	transition: border-color 0.2s ease, transform 0.2s ease !important;
	float: none !important;
}

.nfslp-features__card:hover {
	border-color: var(--nfslp-primary) !important;
	transform: translateY(-2px) !important;
}

.nfslp-features__card-icon {
	display: block !important;
	font-size: 32px !important;
	margin-bottom: 16px !important;
	line-height: 1 !important;
}

.nfslp-features__card-title {
	font-size: 18px !important;
	font-weight: 700 !important;
	color: var(--nfslp-dark) !important;
	margin: 0 0 8px !important;
	line-height: 1.3 !important;
	text-transform: none !important;
	letter-spacing: normal !important;
	padding: 0 !important;
	float: none !important;
}

.nfslp-features__card-desc {
	font-size: 14px !important;
	line-height: 1.7 !important;
	color: var(--nfslp-text-light) !important;
	margin: 0 !important;
}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 1024px) {
	.nfslp-topics__card {
		flex: 0 0 calc(50% - 10px) !important;
		min-width: calc(50% - 10px) !important;
	}
}

@media (max-width: 768px) {
	.nfslp-hero {
		min-height: calc(100vh - 80px) !important;
		min-height: calc(100dvh - 80px) !important;
	}

	.nfslp-hero__inner {
		padding: 60px 24px !important;
	}

	.nfslp-hero__title {
		font-size: 28px !important;
	}

	.nfslp-hero__desc {
		font-size: 15px !important;
	}

	.nfslp-hero__price .nefesat-price-stack {
		flex-direction: row !important;
		flex-wrap: wrap !important;
		gap: 10px !important;
	}

	.nfslp-hero__price .nefesat-price-stack__current {
		font-size: 26px !important;
	}

	.nfslp-hero__price > .woocommerce-Price-amount,
	.nfslp-hero__price > span > .woocommerce-Price-amount {
		font-size: 26px !important;
	}

	.nfslp-about,
	.nfslp-topics,
	.nfslp-features {
		padding: 48px 0 !important;
	}

	.nfslp-about__inner,
	.nfslp-topics__inner,
	.nfslp-features__inner,
	.nfslp-cta__inner {
		padding: 0 20px !important;
	}

	.nfslp-about__title,
	.nfslp-topics__title {
		font-size: 24px !important;
	}

	.nfslp-about__video-player {
		max-height: 360px !important;
	}

	.nfslp-topics__card {
		flex: 0 0 80% !important;
		min-width: 80% !important;
	}

	.nfslp-topics__card-head {
		padding: 22px 22px 20px !important;
	}

	.nfslp-topics__card-body {
		padding: 20px 22px 24px !important;
	}

	.nfslp-topics__card-title {
		font-size: 16px !important;
	}

	.nfslp-features__grid {
		grid-template-columns: 1fr !important;
	}

	.nfslp-features__title {
		font-size: 22px !important;
	}

	.nfslp-cta {
		padding: 48px 0 !important;
	}

	.nfslp-btn--lg {
		padding: 14px 32px !important;
		font-size: 15px !important;
	}
}

@media (max-width: 480px) {
	.nfslp-hero {
		min-height: calc(100vh - 60px) !important;
		min-height: calc(100dvh - 60px) !important;
	}

	.nfslp-hero__inner {
		padding: 48px 16px !important;
	}

	.nfslp-hero__title {
		font-size: 24px !important;
	}

	.nfslp-hero__desc {
		font-size: 14px !important;
	}

	.nfslp-hero__price .nefesat-price-stack__current {
		font-size: 22px !important;
	}

	.nfslp-hero__price > .woocommerce-Price-amount,
	.nfslp-hero__price > span > .woocommerce-Price-amount {
		font-size: 22px !important;
	}

	.nfslp-about__video-player {
		max-height: 260px !important;
	}

	.nfslp-topics__card {
		flex: 0 0 92% !important;
		min-width: 92% !important;
	}

	.nfslp-topics__card-head {
		padding: 20px 18px 18px !important;
	}

	.nfslp-topics__card-body {
		padding: 18px 18px 22px !important;
	}

	.nfslp-topics__card-title {
		font-size: 15px !important;
	}

	.nfslp-about__inner,
	.nfslp-topics__inner,
	.nfslp-features__inner,
	.nfslp-cta__inner,
	.nfslp-modules__inner {
		padding: 0 16px !important;
	}

	.nfslp-modules__grid {
		grid-template-columns: 1fr !important;
		gap: 16px !important;
	}

	.nfslp-modules__card {
		flex-direction: column !important;
	}

	.nfslp-modules__card-thumb {
		width: 100% !important;
		max-width: 100% !important;
		height: 160px !important;
	}

	.nfslp-modules__card-footer {
		flex-direction: column !important;
		gap: 10px !important;
	}
}


/* ============================================================
   MODUL KARTLARI (Grouped Product — satın alınabilir)
   ============================================================ */

.nfslp-modules {
	padding: 80px 0 !important;
	background: #f7f8fa !important;
}

.nfslp-modules__inner {
	max-width: 1100px !important;
	margin: 0 auto !important;
	padding: 0 24px !important;
}

.nfslp-modules__header {
	text-align: center !important;
	margin-bottom: 48px !important;
}

.nfslp-modules__title {
	font-size: 32px !important;
	font-weight: 700 !important;
	color: #1a1a2e !important;
	margin: 0 !important;
	line-height: 1.3 !important;
}

.nfslp-modules__grid {
	display: grid !important;
	grid-template-columns: 1fr !important;
	gap: 24px !important;
}

.nfslp-modules__card {
	background: #ffffff !important;
	border: 1px solid #e8e8ef !important;
	border-radius: 16px !important;
	overflow: hidden !important;
	display: flex !important;
	flex-direction: row !important;
	transition: box-shadow 0.25s ease, border-color 0.25s ease !important;
}

.nfslp-modules__card:hover {
	box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08) !important;
	border-color: #d0d0dd !important;
}

.nfslp-modules__card--purchased {
	border-color: #c8e6c9 !important;
	background: #f9fdf9 !important;
}

.nfslp-modules__card-thumb {
	flex: 0 0 200px !important;
	max-width: 200px !important;
	overflow: hidden !important;
}

.nfslp-modules__card-thumb img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	display: block !important;
}

.nfslp-modules__card-content {
	flex: 1 !important;
	padding: 24px !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 8px !important;
}

.nfslp-modules__card-num {
	font-size: 12px !important;
	font-weight: 600 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.08em !important;
	color: #6c5ce7 !important;
	margin: 0 !important;
}

.nfslp-modules__card-title {
	font-size: 20px !important;
	font-weight: 700 !important;
	color: #1a1a2e !important;
	margin: 0 !important;
	line-height: 1.3 !important;
}

.nfslp-modules__card-desc {
	font-size: 14px !important;
	color: #555 !important;
	margin: 0 !important;
	line-height: 1.6 !important;
}

.nfslp-modules__card-subjects {
	list-style: none !important;
	padding: 0 !important;
	margin: 8px 0 0 !important;
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 6px !important;
}

.nfslp-modules__card-subjects li {
	font-size: 12px !important;
	color: #666 !important;
	background: #f0f0f5 !important;
	padding: 4px 10px !important;
	border-radius: 20px !important;
	line-height: 1.4 !important;
}

.nfslp-modules__card-footer {
	flex: 0 0 auto !important;
	padding: 24px !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-end !important;
	justify-content: center !important;
	gap: 12px !important;
	border-left: 1px solid #f0f0f5 !important;
	min-width: 180px !important;
}

.nfslp-modules__card-price {
	font-size: 22px !important;
	font-weight: 700 !important;
	color: #1a1a2e !important;
}

.nfslp-modules__card-price .nefesat-price-stack {
	text-align: right !important;
}

.nfslp-modules__card-price .nefesat-price-stack__current {
	font-size: 22px !important;
}

.nfslp-modules__card-price .nefesat-price-stack__meta {
	font-size: 13px !important;
}

.nfslp-modules__card-owned {
	font-size: 14px !important;
	font-weight: 600 !important;
	color: #2e7d32 !important;
}

.nfslp-btn--sm {
	padding: 10px 22px !important;
	font-size: 14px !important;
	border-radius: 8px !important;
}

.nfslp-btn--outline {
	background: transparent !important;
	border: 2px solid #6c5ce7 !important;
	color: #6c5ce7 !important;
	padding: 8px 20px !important;
	border-radius: 8px !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	cursor: pointer !important;
	text-decoration: none !important;
	display: inline-block !important;
	transition: all 0.2s ease !important;
}

.nfslp-btn--outline:hover {
	background: #6c5ce7 !important;
	color: #fff !important;
}

/* Grouped price in shop cards */
.nefesat-grouped-price {
	font-size: 14px !important;
	font-weight: 600 !important;
	color: #555 !important;
}
