.ap-hero-stat-icon svg,
.ap-hero-btn-icon svg,
.ap-service-icon svg,
.ap-case-card svg,
.ap-course-feature-icon svg,
.ap-lead-item-icon svg,
.ap-cta-icon svg,
.ap-newsletter-icon svg {
	width: 1em;
	height: 1em;
	fill: currentColor;
	display: inline-block;
}

.ap-hero-float-badge-icon svg {
	width: 1.4em;
	height: 1.4em;
	fill: currentColor;
	display: inline-block;
}



.ap-hero-banner,
.ap-video-gallery,
.ap-lead-magnet,
.ap-service-grid-wrap,
.ap-case-study-stats,
.ap-testimonials,
.ap-course-card-widget,
.ap-cta-banner,
.ap-newsletter-bar,
.ap-logo-marquee {
	box-sizing: border-box;
}

.ap-hero-banner *,
.ap-video-gallery *,
.ap-lead-magnet *,
.ap-service-grid-wrap *,
.ap-case-study-stats *,
.ap-testimonials *,
.ap-course-card-widget *,
.ap-cta-banner *,
.ap-newsletter-bar *,
.ap-logo-marquee * {
	box-sizing: border-box;
}

/* ---------------- Hero Banner ---------------- */
.ap-hero-banner {
	border-radius: 20px;
	position: relative;
	overflow: visible;
}

/* Breaks the section out of Elementor's boxed container so the background
   spans the full browser width regardless of the section's own width
   setting; .ap-hero-inner below keeps the actual content centered/readable. */
.ap-hero-banner.ap-hero-fullwidth {
	width: 100vw;
	position: relative;
	left: 50%;
	right: 50%;
	margin-left: -50vw;
	margin-right: -50vw;
	border-radius: 0;
}

/* Adds depth on top of the flat background color the Style tab controls —
   two soft radial glows (one echoing the photo glow, one lower-left) plus a
   faint sparkle texture, so the whole section reads as one gradient instead
   of a flat single color, matching the reference. Purely decorative, sits
   behind everything and never intercepts clicks. */
.ap-hero-banner::before,
.ap-hero-banner::after {
	content: '';
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
}

.ap-hero-banner::before {
	background:
		radial-gradient(circle at 78% 35%, rgba(124, 58, 237, .30) 0%, rgba(124, 58, 237, 0) 55%),
		radial-gradient(circle at 8% 95%, rgba(76, 29, 149, .22) 0%, rgba(76, 29, 149, 0) 45%);
}

.ap-hero-banner::after {
	background-image: radial-gradient(rgba(255, 255, 255, .5) 1px, transparent 1.5px);
	background-size: 46px 46px;
	opacity: .12;
}

.ap-hero-inner {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 40px;
	align-items: center;
	max-width: 1280px;
	margin: 0 auto;
	position: relative;
	z-index: 1;
}

.ap-hero-content {
	position: relative;
	z-index: 1;
}

.ap-hero-badge {
	font-weight: 700;
	margin-bottom: 14px;
}

.ap-hero-heading {
	margin: 0 0 20px;
	line-height: 1.25;
	font-size: clamp(32px, 4vw, 52px);
	font-weight: 800;
}

.ap-hero-description {
	margin: 0 0 26px;
	line-height: 1.8;
	max-width: 520px;
}

.ap-hero-description strong {
	font-weight: 700;
}

.ap-hero-stats {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
	margin-bottom: 30px;
}

.ap-hero-stat {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 10px;
	padding: 16px 16px;
	border-radius: 16px;
	background-color: rgba(255, 255, 255, 0.03);
	border: 1px solid rgba(255, 255, 255, 0.08);
}

.ap-hero-stat-top {
	display: flex;
	align-items: center;
	gap: 10px;
}

.ap-hero-stat-icon {
	width: 28px;
	height: 28px;
	border-radius: 50%;
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 13px;
	color: #ffffff;
}

.ap-hero-stat-number {
	font-size: 24px;
	font-weight: 800;
	line-height: 1;
}

.ap-hero-stat-label {
	font-size: 13px;
	opacity: .85;
	line-height: 1.4;
	color: #c7c9d9;
}

.ap-hero-buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
}

.ap-hero-btn {
	display: inline-flex;
	align-items: center;
	gap: 14px;
	padding: 8px 8px 8px 28px;
	font-size: 15px;
	font-weight: 600;
	text-decoration: none;
	border-radius: 50px;
	transition: transform .2s ease, opacity .2s ease;
}

.ap-hero-btn:hover {
	transform: translateY(-2px);
	opacity: .92;
}

.ap-hero-btn-secondary {
	border: 1px solid rgba(255, 255, 255, 0.2);
	background: transparent;
	padding: 12px 28px;
	gap: 10px;
}

.ap-hero-btn-secondary .ap-hero-btn-icon {
	background-color: transparent !important;
	width: auto;
	height: auto;
	font-size: inherit;
	margin-left: -4px;
}

.ap-hero-btn-icon {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 13px;
}

.ap-hero-visual {
	position: relative;
	padding: 0 4%;
}

/* A true circle (aspect-ratio 1/1, not stretched to the column's rectangle)
   sized to the narrower dimension, centered behind the photo's upper body —
   matching the reference's bright, well-defined glow disc. */
.ap-hero-glow {
	position: absolute;
	top: 42%;
	left: 50%;
	width: min(82%, 82vh);
	aspect-ratio: 1 / 1;
	transform: translate(-50%, -50%);
	border-radius: 50%;
	background: radial-gradient(circle, rgba(150, 102, 255, .85) 0%, rgba(139, 92, 246, .45) 40%, rgba(139, 92, 246, .12) 68%, rgba(139, 92, 246, 0) 85%);
	filter: blur(8px);
	z-index: 0;
	pointer-events: none;
}

/* Fixed aspect ratio + object-fit so any uploaded photo — portrait,
   landscape, square — always crops to fill the frame consistently,
   matching the reference layout instead of stretching to its own ratio.
   Sized narrower than the visual column (not 100%) so the glow behind it
   stays visible on every side, and right-aligned so floating badges on
   the right sit flush against its edge. */
.ap-hero-image {
	position: relative;
	z-index: 1;
	aspect-ratio: 4 / 5;
	max-width: 88%;
	margin-left: auto;
	margin-right: 0;
}

.ap-hero-image img {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
	object-position: center top;
}

/* Plain-card look (image_blend switched off): hard rectangle, own radius. */
.ap-hero-image:not(.ap-hero-image-blend) {
	overflow: hidden;
	border-radius: 24px;
}

/* Default look: fades the photo's own edges into transparency with an
   elliptical mask so no rectangle is visible — the photo appears to sit
   directly on top of .ap-hero-glow instead of covering it, whatever photo
   is uploaded. */
.ap-hero-image.ap-hero-image-blend {
	-webkit-mask-image: radial-gradient(ellipse 68% 74% at 50% 38%, #000 58%, transparent 100%);
	mask-image: radial-gradient(ellipse 68% 74% at 50% 38%, #000 58%, transparent 100%);
}

/* Gentle infinite up/down float, like the reference's floating badges. */
@keyframes ap-float {

	0%,
	100% {
		transform: translateY(0);
	}

	50% {
		transform: translateY(-8px);
	}
}

@keyframes ap-float-center {

	0%,
	100% {
		transform: translateY(-50%);
	}

	50% {
		transform: translateY(calc(-50% - 8px));
	}
}

.ap-hero-float-badge {
	position: absolute;
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 14px 20px;
	border-radius: 14px;
	box-shadow: 0 10px 30px rgba(0, 0, 0, .3);
	z-index: 2;
	max-width: 240px;
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
	border: 1px solid rgba(255, 255, 255, .08);
	background: rgba(15, 14, 36, .55);
	animation: ap-float 3.4s ease-in-out infinite;
}

/* Fallback offsets so badges are placed correctly even before a user drags
   the optional per-item offset sliders. Kept inside the visual column's own
   padding (see .ap-hero-visual above) so they aren't clipped by a boxed
   section/column with overflow:hidden. */
.ap-hero-float-badge.ap-pos-top-right {
	top: 2%;
	right: 0;
}

.ap-hero-float-badge.ap-pos-top-left {
	top: 2%;
	left: 0;
}

.ap-hero-float-badge.ap-pos-bottom-right {
	bottom: 14%;
	right: 0;
}

.ap-hero-float-badge.ap-pos-bottom-left {
	bottom: 14%;
	left: 0;
}

.ap-hero-float-badge.ap-pos-middle-right,
.ap-hero-float-badge.ap-pos-middle-left {
	top: 48%;
	animation-name: ap-float-center;
}

.ap-hero-float-badge.ap-pos-middle-right {
	right: 0;
}

.ap-hero-float-badge.ap-pos-middle-left {
	left: 0;
}

.ap-hero-float-badge:nth-of-type(2n) {
	animation-delay: -1.7s;
}

.ap-hero-float-badge-icon {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 18px;
}

.ap-hero-float-badge-text {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.ap-hero-float-badge-title {
	font-size: 14px;
	line-height: 1.3;
	display: block;
	white-space: nowrap;
}

.ap-hero-float-badge-text small {
	font-size: 12px;
	opacity: .8;
	line-height: 1.3;
	display: block;
	white-space: nowrap;
}

.ap-hero-proof {
	position: absolute;
	right: 0;
	bottom: -4%;
	z-index: 2;
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 16px;
	background: rgba(15, 14, 36, .55);
	padding: 14px 22px;
	border-radius: 14px;
	box-shadow: 0 10px 30px rgba(0, 0, 0, .35);
	min-width: 200px;
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
	border: 1px solid rgba(255, 255, 255, .08);
	animation: ap-float 3.4s ease-in-out infinite;
	animation-delay: -0.9s;
}

.ap-hero-avatars {
	display: flex;
}

.ap-hero-avatars img {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	border: 2px solid #0f0e24;
	margin-left: -14px;
	object-fit: cover;
}

.ap-hero-rating {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 2px;
}

.ap-hero-rating-top {
	display: flex;
	align-items: baseline;
	gap: 6px;
	font-size: 13px;
	font-weight: 500;
}

.ap-hero-rating-stars {
	font-size: 13px;
	letter-spacing: 1px;
	color: #f5b400;
}

@media (max-width: 900px) {
	.ap-hero-inner {
		grid-template-columns: 1fr;
	}

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

/* ---------------- Logo Marquee ---------------- */
.ap-logo-marquee {
	text-align: center;
	overflow: hidden;
}

.ap-marquee-title {
	text-transform: uppercase;
	letter-spacing: .08em;
	font-size: 13px;
	font-weight: 700;
	margin-bottom: 24px;
}

.ap-marquee-viewport {
	overflow: hidden;
}

.ap-marquee-track {
	display: flex;
	align-items: center;
	width: max-content;
	gap: 64px;
}

.ap-marquee-animated .ap-marquee-track {
	animation: ap-marquee-scroll linear infinite;
}

.ap-marquee-logo img {
	display: block;
}

.ap-marquee-grayscale .ap-marquee-logo img {
	filter: grayscale(1);
	opacity: .6;
	transition: filter .2s ease, opacity .2s ease;
}

.ap-marquee-grayscale .ap-marquee-logo:hover img {
	filter: grayscale(0);
	opacity: 1;
}

@keyframes ap-marquee-scroll {
	from {
		transform: translateX(0);
	}

	to {
		transform: translateX(-50%);
	}
}

@media (prefers-reduced-motion: reduce) {
	.ap-marquee-track {
		animation: none !important;
	}
}

/* ---------------- Video Gallery ---------------- */
.ap-video-gallery-header {
	margin-bottom: 28px;
}

.ap-video-eyebrow {
	font-weight: 700;
	color: #ff0000;
	margin-bottom: 8px;
}

.ap-video-heading {
	margin: 0 0 10px;
}

.ap-video-description {
	margin: 0 0 16px;
	max-width: 560px;
}

.ap-video-subscribe-btn {
	display: inline-block;
	padding: 12px 22px;
	border-radius: 8px;
	background: #ff0000;
	color: #fff;
	font-weight: 600;
	text-decoration: none;
}

.ap-video-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}

.ap-video-thumb {
	position: relative;
	overflow: hidden;
	cursor: pointer;
	margin-bottom: 12px;
}

.ap-video-thumb img {
	width: 100%;
	height: auto;
	display: block;
	transition: transform .3s ease;
}

.ap-video-thumb:hover img {
	transform: scale(1.05);
}

.ap-video-play {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 52px;
	height: 52px;
	border-radius: 50%;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 16px;
}

.ap-video-card-title {
	margin: 0 0 6px;
	font-size: 16px;
	line-height: 1.4;
}

.ap-video-card-meta {
	font-size: 13px;
}

.ap-video-view-all-wrap {
	text-align: center;
	margin-top: 24px;
}

.ap-video-view-all {
	text-decoration: none;
	font-weight: 600;
}

.ap-video-lightbox {
	position: fixed;
	inset: 0;
	z-index: 100000;
}

.ap-video-lightbox[hidden] {
	display: none;
}

.ap-video-lightbox-backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, .85);
}

.ap-video-lightbox-body {
	position: relative;
	max-width: 900px;
	width: 90%;
	margin: 5vh auto;
}

.ap-video-lightbox-frame {
	position: relative;
	padding-top: 56.25%;
}

.ap-video-lightbox-frame iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

.ap-video-lightbox-close {
	position: absolute;
	top: -40px;
	right: 0;
	background: none;
	border: 0;
	color: #fff;
	font-size: 30px;
	line-height: 1;
	cursor: pointer;
}

@media (max-width: 1024px) {
	.ap-video-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 600px) {
	.ap-video-grid {
		grid-template-columns: 1fr;
	}
}

/* ---------------- Lead Magnet ---------------- */
.ap-lead-magnet {
	border-radius: 16px;
	padding: 40px;
	display: grid;
	grid-template-columns: 1fr 2fr 1fr;
	gap: 32px;
	align-items: center;
	color: #fff;
}

.ap-lead-eyebrow {
	color: #22c55e;
	font-weight: 700;
	margin-bottom: 8px;
}

.ap-lead-title {
	margin: 0 0 10px;
	font-size: 22px;
}

.ap-lead-description {
	margin: 0;
	font-size: 14px;
	opacity: .85;
}

.ap-lead-items {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 14px;
}

.ap-lead-item {
	padding: 16px;
	border-radius: 10px;
	text-align: center;
}

.ap-lead-item-icon {
	font-size: 20px;
	margin-bottom: 8px;
}

.ap-lead-item-title {
	font-weight: 700;
	font-size: 13px;
	margin-bottom: 4px;
}

.ap-lead-item-subtitle {
	font-size: 11px;
	opacity: .75;
	margin-bottom: 12px;
}

.ap-lead-item-btn {
	display: inline-block;
	font-size: 12px;
	padding: 8px 14px;
	border-radius: 6px;
	color: #fff;
	text-decoration: none;
}

.ap-lead-form-title {
	font-size: 13px;
	margin-bottom: 10px;
}

.ap-lead-form {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.ap-lead-form-input {
	padding: 12px 14px;
	border-radius: 6px;
	border: 0;
}

.ap-lead-form-submit {
	padding: 12px 14px;
	border-radius: 6px;
	border: 0;
	color: #fff;
	font-weight: 700;
	cursor: pointer;
}

.ap-lead-form-note {
	font-size: 11px;
	opacity: .6;
	margin-top: 8px;
}

@media (max-width: 1024px) {
	.ap-lead-magnet {
		grid-template-columns: 1fr;
	}

	.ap-lead-items {
		grid-template-columns: repeat(2, 1fr);
	}
}

/* ---------------- Service Grid ---------------- */
.ap-service-header {
	text-align: center;
	max-width: 640px;
	margin: 0 auto 36px;
}

.ap-service-heading {
	margin: 0 0 10px;
}

.ap-service-description {
	margin: 0;
}

.ap-service-grid {
	display: grid;
	gap: 20px;
}

.ap-service-card {
	padding: 26px 22px;
	text-align: left;
}

.ap-service-icon {
	font-size: 26px;
	margin-bottom: 14px;
}

.ap-service-card-title {
	margin: 0 0 8px;
	font-size: 17px;
}

.ap-service-card-description {
	margin: 0 0 12px;
	font-size: 14px;
	opacity: .8;
}

.ap-service-link {
	text-decoration: none;
	font-weight: 600;
	font-size: 14px;
}

@media (max-width: 1024px) {
	.ap-service-grid {
		grid-template-columns: repeat(3, 1fr) !important;
	}
}

@media (max-width: 600px) {
	.ap-service-grid {
		grid-template-columns: 1fr !important;
	}
}

/* ---------------- Case Study Stats ---------------- */
.ap-case-header {
	text-align: center;
	max-width: 560px;
	margin: 0 auto 36px;
}

.ap-case-heading {
	margin: 0 0 8px;
}

.ap-case-description {
	margin: 0;
}

.ap-case-grid {
	display: grid;
	gap: 20px;
}

.ap-case-card {
	padding: 26px;
	border-radius: 12px;
}

.ap-case-percentage {
	font-size: 32px;
	font-weight: 800;
	margin-bottom: 8px;
}

.ap-case-card-title {
	margin: 0 0 6px;
	font-size: 16px;
}

.ap-case-card-description {
	margin: 0 0 14px;
	font-size: 13px;
}

.ap-case-chart {
	width: 100%;
	height: 40px;
	display: block;
	margin-bottom: 14px;
}

.ap-case-link {
	text-decoration: none;
	font-weight: 700;
	font-size: 13px;
}

.ap-case-view-all {
	text-align: center;
	margin-top: 24px;
}

.ap-case-view-all a {
	text-decoration: none;
	font-weight: 600;
}

@media (max-width: 900px) {
	.ap-case-grid {
		grid-template-columns: 1fr !important;
	}
}

/* ---------------- Testimonials ---------------- */
.ap-testi-header {
	text-align: center;
	margin-bottom: 30px;
}

.ap-testi-heading {
	margin: 0;
}

.ap-testi-grid {
	display: grid;
	gap: 20px;
}

.ap-testi-slider {
	display: flex;
	overflow-x: auto;
	gap: 20px;
	scroll-snap-type: x mandatory;
}

.ap-testi-slider .ap-testi-card {
	min-width: 320px;
	scroll-snap-align: start;
}

.ap-testi-card {
	padding: 24px;
	border-radius: 12px;
}

.ap-testi-stars {
	margin-bottom: 12px;
	letter-spacing: 2px;
}

.ap-testi-review {
	margin: 0 0 18px;
	line-height: 1.6;
	font-size: 14px;
}

.ap-testi-person {
	display: flex;
	align-items: center;
	gap: 10px;
}

.ap-testi-avatar {
	width: 42px;
	height: 42px;
	border-radius: 50%;
	object-fit: cover;
}

.ap-testi-name {
	font-weight: 700;
	font-size: 14px;
}

.ap-testi-role {
	font-size: 12px;
	opacity: .7;
}

.ap-testi-view-more {
	text-align: center;
	margin-top: 24px;
}

.ap-testi-view-more a {
	text-decoration: none;
	font-weight: 600;
}

@media (max-width: 1024px) {
	.ap-testi-grid {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}

@media (max-width: 600px) {
	.ap-testi-grid {
		grid-template-columns: 1fr !important;
	}
}

/* ---------------- Course Card ---------------- */
.ap-course-eyebrow-wrap {
	text-align: center;
	max-width: 600px;
	margin: 0 auto 32px;
}

.ap-course-eyebrow {
	margin: 0 0 8px;
}

.ap-course-card {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 30px;
	align-items: center;
	margin-bottom: 40px;
}

.ap-course-image {
	position: relative;
}

.ap-course-image img {
	width: 100%;
	border-radius: 12px;
	display: block;
}

.ap-course-badge {
	position: absolute;
	top: 14px;
	left: 14px;
	background: #f97316;
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	padding: 6px 12px;
	border-radius: 6px;
}

.ap-course-title {
	margin: 0 0 14px;
}

.ap-course-price {
	display: flex;
	align-items: baseline;
	gap: 12px;
	margin-bottom: 18px;
}

.ap-course-regular-price {
	text-decoration: line-through;
	opacity: .5;
}

.ap-course-sale-price {
	font-size: 24px;
	font-weight: 800;
}

.ap-course-btn {
	display: inline-block;
	padding: 14px 28px;
	border-radius: 8px;
	color: #fff;
	font-weight: 700;
	text-decoration: none;
}

.ap-course-features {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}

.ap-course-feature {
	text-align: center;
	padding: 18px;
}

.ap-course-feature-icon {
	font-size: 22px;
	margin-bottom: 10px;
}

.ap-course-feature-title {
	font-weight: 700;
	margin-bottom: 4px;
}

.ap-course-feature-description {
	font-size: 13px;
	opacity: .75;
}

@media (max-width: 900px) {

	.ap-course-card,
	.ap-course-features {
		grid-template-columns: 1fr;
	}
}

/* ---------------- CTA Banner ---------------- */
.ap-cta-banner {
	display: flex;
	align-items: center;
	gap: 24px;
	padding: 34px 40px;
	border-radius: 16px;
	flex-wrap: wrap;
}

.ap-cta-icon {
	width: 56px;
	height: 56px;
	border-radius: 14px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 22px;
	color: #fff;
	flex-shrink: 0;
}

.ap-cta-content {
	flex: 1;
	min-width: 240px;
}

.ap-cta-title {
	margin: 0 0 6px;
	font-size: 22px;
}

.ap-cta-description {
	margin: 0;
	font-size: 14px;
}

.ap-cta-action {
	text-align: right;
}

.ap-cta-btn {
	display: inline-block;
	padding: 14px 26px;
	border-radius: 8px;
	color: #fff;
	font-weight: 700;
	text-decoration: none;
}

.ap-cta-note {
	font-size: 12px;
	margin-top: 8px;
	opacity: .8;
}

@media (max-width: 767px) {
	.ap-cta-banner {
		flex-direction: column;
		text-align: center;
	}

	.ap-cta-action {
		text-align: center;
	}
}

/* ---------------- Newsletter Bar ---------------- */
.ap-newsletter-bar {
	display: flex;
	align-items: center;
	gap: 24px;
	padding: 26px 36px;
	border-radius: 14px;
	flex-wrap: wrap;
}

.ap-newsletter-icon {
	font-size: 26px;
	flex-shrink: 0;
}

.ap-newsletter-text {
	flex: 1;
	min-width: 220px;
}

.ap-newsletter-title {
	margin: 0 0 4px;
}

.ap-newsletter-description {
	margin: 0;
	font-size: 13px;
	opacity: .8;
}

.ap-newsletter-form {
	display: flex;
	gap: 10px;
}

.ap-newsletter-input {
	padding: 12px 14px;
	border-radius: 6px;
	border: 1px solid #ddd;
	min-width: 220px;
}

.ap-newsletter-submit {
	padding: 12px 20px;
	border-radius: 6px;
	border: 0;
	color: #fff;
	font-weight: 700;
	cursor: pointer;
}

.ap-newsletter-note {
	font-size: 11px;
	opacity: .6;
	margin-top: 6px;
	text-align: center;
}

@media (max-width: 767px) {
	.ap-newsletter-bar {
		flex-direction: column;
		text-align: center;
	}

	.ap-newsletter-form {
		flex-direction: column;
	}
}