@charset "UTF-8";

:root {
  --primary-pink: #e54595;
  --secondary-pink: #d6619c;
  --light-pink: #e38cb7;
  --purple-accent: #8a2be2;

  --text-dark: #1f1b20;
  --text-light: #5c555d;
  --bg-light: #fdfbfd;
  --bg-white: #ffffff;

  --gradient-main: linear-gradient(135deg, var(--primary-pink), var(--purple-accent));
  --gradient-hover: linear-gradient(135deg, var(--purple-accent), var(--primary-pink));

  --glass-bg: rgba(255, 255, 255, 0.75);
  --glass-border: rgba(255, 255, 255, 0.4);
  --glass-shadow: 0 8px 32px 0 rgba(138, 43, 226, 0.1);

  --transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}

body {
	font-family: 'Montserrat', sans-serif;
	position: relative;
}

a {
	color: #e38cb7;
}

a:hover,
a:focus {
	color: #d6619c;
}

/* Remove focus ring on mouse click; keep it for keyboard navigation */
*:focus:not(:focus-visible) {
	outline: none !important;
	box-shadow: none !important;
}

.btn-sm {
	padding: .25rem 1rem !important;
	font-weight: 400 !important;
}

/* Resource Filter Buttons */
.btn-group .btn-outline-primary.active {
	background-color: #e54595;
	border-color: #e54595;
	color: white;
}

.btn-group .btn-outline-primary {
	border-color: #e54595;
	color: #e54595;
	margin: 0;
	border-radius: 0;
}

.btn-group .btn-outline-primary:not(:last-child) {
	border-right: 0;
}

.btn-group .btn-outline-primary:first-child {
	border-top-left-radius: 0.25rem;
	border-bottom-left-radius: 0.25rem;
}

.btn-group .btn-outline-primary:last-child {
	border-top-right-radius: 0.25rem;
	border-bottom-right-radius: 0.25rem;
}

.btn-group .btn-outline-primary:hover {
	background-color: #ebe7ec;
	border-color: #e54595;
}

/* Product Preview Overlay */
.product-image-container {
	overflow: hidden;
	border-radius: 10px;
	display: inline-block;
	position: relative;
}

.product-image-container img {
	display: block;
}

.preview-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.2);
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	transition: opacity 0.3s ease-in-out;
	border-radius: 10px;
}

.product-image-container:hover .preview-overlay {
	opacity: 1;
}

.btn-preview,
.btn-price {
	background-color:#7047eb;
	border: none;
	color: white;
	padding: 20px;
	border-radius: 3px;
	font-weight: 600;
	transition: all 0.3s ease;
	letter-spacing: 1px;
}

.btn-copy-link {
  font-size: 0.8rem !important;
}

.btn-copy-link:hover {
	transform: translateY(-2px);
	box-shadow: 0 4px 15px rgba(95, 95, 95, 0.4);
}

.btn-preview:hover,
.btn-price:hover {
	background-color: #7047eb;
	transform: translateY(-2px);
	box-shadow: 0 4px 15px rgba(95, 95, 95, 0.4);
	color: white;
}

h1 {
	font-size: 2.8rem;
	font-weight: 300;
	letter-spacing: -1px;
	margin-bottom: 1.5rem;
}

h2 {
	font-size: 2.5rem;
	font-weight: 700;
	color: black;
	letter-spacing: -1px;
	margin-top: .75rem;
	margin-bottom: 0;
}

h3 {
	color: black;
	font-size: 2.5rem;
	font-weight: 700;
}

h4 {
	font-size: 20px;
	color: black;
}

h5 {
	font-size: 28px;
	font-weight: 300;
	color: #633991;
	margin-bottom: 0.7rem;
}

p.lead {
	color: #e38cb7;
	margin-bottom: 2rem;
}

.text-white {
	color: white !important;
}

.text-primary {
	color: #e38cb7 !important;
}

.text-gradient {
  background: var(--gradient-main);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  display: inline-block;
}

.light-font {
	font-weight: 300;
}

/* Buttons */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.875rem 2rem;
  border-radius: 50px;
  font-weight: 600;
  font-size: 1rem;
  cursor: pointer;
  transition: var(--transition);
  border: none;
  outline: none;
  gap: 0.5rem;
}

/* .btn {
	font-size: 12px;
	font-weight: 400;
	padding: 0.375rem 1.35rem;
	transition: all 0.3s ease;
} */

/* .btn-outline-light:hover {
	color: #d6619c;
} */

.btn-primary {
  background: var(--gradient-main);
  color: white;
  box-shadow: 0 10px 20px rgba(229, 69, 149, 0.3);
}

.btn-primary:hover {
  background: var(--gradient-hover);
  transform: translateY(-3px);
  box-shadow: 0 15px 25px rgba(138, 43, 226, 0.4);
}

.btn-outline {
  background: transparent;
  border: 2px solid var(--primary-pink);
  color: var(--primary-pink);
}

.btn-outline:hover {
  background: rgba(229, 69, 149, 0.05);
  transform: translateY(-3px);
}

/* .btn-primary {
	border-radius: 3px;
	background-image: -moz-linear-gradient(122deg, #e54595 0%, #fd378e 100%);
	background-image: -webkit-linear-gradient(122deg, #e54595 0%, #fd378e 100%);
	background-image: -ms-linear-gradient(122deg, #e54595 0%, #fd378e 100%);
	background-image: linear-gradient(122deg, #e54595 0%, #fd378e 100%);
	box-shadow: 0px 9px 32px 0px rgba(0, 0, 0, 0.2);
	font-weight: 500;
	padding: 0.6rem 2rem;
	border: 0;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-primary:not([disabled]):not(.disabled).active,
.btn-primary:not([disabled]):not(.disabled):active,
.show>.btn-primary.dropdown-toggle {
	background-image: linear-gradient(122deg, #fd378e 0%, #e54595 100%);
	box-shadow: 0px 9px 32px 0px rgba(0, 0, 0, 0.3);
	color: #FFF;
} */

.btn-success {
	color: white !important;
	box-shadow: 0px 9px 32px 0px rgba(0, 0, 0, 0.2);
}


.btn-light {
	border-radius: 3px;
	background: #FFF;
	box-shadow: 0px 9px 32px 0px rgba(0, 0, 0, 0.26);
	font-size: 14px;
	font-weight: 500;
	color: #633991;
	margin: 0.5rem;
	padding: 0.7rem 1.6rem;
	line-height: 1.8;
}

.btn-group-lg>.btn,
.btn-lg {
	padding: 0.8rem 1rem;
	font-size: 15px;
}

.custom-active {
	box-shadow: none !important;
	background-color: #e54595 !important;
	border-color: #e54595 !important;
	color: white !important;
}

.bg-light {
	background-color: #fdfbfd;
}

.bg-blue {
	background-color: #1f204a;
}

.section {
	padding: 80px 0;
}

@media (max-width:767px) {
	.hero-title {
		font-size: 1.8rem;
	}
}


/* NAVBAR
----------------------*/

.nav-menu {
	padding: 1rem 0;
	transition: all 0.3s ease;
}

.nav-menu.is-scrolling,
.nav-menu.menu-is-open,
.nav-menu-shop {
	background-color: rgb(74, 13, 143);
	background: -moz-linear-gradient(135deg, rgb(74, 13, 143) 0%, rgb(250, 42, 143) 100%);
	background: -webkit-linear-gradient(135deg, rgb(74, 13, 143) 0%, rgb(250, 42, 143) 100%);
	background: linear-gradient(135deg, rgb(74, 13, 143) 0%, rgb(250, 42, 143) 100%);
	-webkit-box-shadow: 0px 5px 23px 0px rgba(0, 0, 0, 0.1);
	-moz-box-shadow: 0px 5px 23px 0px rgba(0, 0, 0, 0.1);
	box-shadow: 0px 5px 23px 0px rgba(0, 0, 0, 0.1);
}

.nav-menu.is-scrolling {
	padding: 0;
}

/* Offset anchor scroll to avoid clipping by fixed navbar */
#pricing,
#faq,
#showcase {
	scroll-margin-top: 70px;
}

.navbar-nav .nav-link {
	position: relative;
}

@media (min-width: 992px) {
	.navbar-expand-lg .navbar-nav .nav-link {
		padding-right: 1rem;
		padding-left: 1rem;
		font-size: 14px;
	}

	.navbar-nav>.nav-item>.nav-link.active:after {
		content: "";
		border-bottom: 2px solid #cd99d4;
		left: 1rem;
		right: 1rem;
		bottom: 5px;
		height: 1px;
		position: absolute;
	}
}

@media (max-width:991px) {
	.navbar-nav.is-scrolling {
		padding-bottom: 1rem;
	}

	.navbar-nav .nav-item {
		text-align: center;
	}
}


/* HERO
----------------------*/

header {
	padding: 100px 0 0;
	text-align: center;
	color: #FFF;
}

.bg-gradient {
	background-image: -moz-linear-gradient(135deg, rgba(60, 8, 118, 0.8) 0%, rgba(250, 0, 118, 0.8) 100%);
	background-image: -webkit-linear-gradient(135deg, rgba(60, 8, 118, 0.8) 0%, rgba(250, 0, 118, 0.8) 100%);
	background-image: -ms-linear-gradient(135deg, rgba(60, 8, 118, 0.8) 0%, rgba(250, 0, 118, 0.8) 100%);
	background-image: linear-gradient(135deg, rgba(60, 8, 118, 0.8) 0%, rgba(250, 0, 118, 0.8) 100%);
}

.tagline {
	font-size: 23px;
	font-weight: 300;
	color: #ffb8f6;
	max-width: 800px;
	margin: 0 auto;
}

.img-holder {
	height: 0;
	padding-bottom: 33%;
	overflow: hidden;
}

@media (max-width:1200px) {
	.img-holder {
		padding-bottom: 50%;
	}
}

@media (max-width:767px) {
	.tagline {
		font-size: 17px;
	}

	.img-holder {
		padding-bottom: 100%;
	}
}


/* FEATURES
----------------------*/

.gradient-fill:before {
	color: #fc73b4;
	background: -moz-linear-gradient(top, #9477b4 0%, #fc73b4 100%);
	background: -webkit-linear-gradient(top, #9477b4 0%, #fc73b4 100%);
	background: linear-gradient(to bottom, #9477b4 0%, #fc73b4 100%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
}

.card.features {
	border: 0;
	border-radius: 3px;
	box-shadow: 0px 5px 7px 0px rgba(0, 0, 0, 0.04);
	transition: all 0.3s ease;
}

@media (max-width:991px) {
	.card.features {
		margin-bottom: 2rem;
	}

	[class^="col-"]:last-child .card.features {
		margin-bottom: 0;
	}
}

.card.features:before {
	content: "";
	position: absolute;
	width: 3px;
	color: #fc73b4;
	background: -moz-linear-gradient(top, #9477b4 0%, #fc73b4 100%);
	background: -webkit-linear-gradient(top, #9477b4 0%, #fc73b4 100%);
	background: linear-gradient(to bottom, #9477b4 0%, #fc73b4 100%);
	top: 0;
	bottom: 0;
	left: 0;
}

.card-text {
	font-size: 14px;
	color: black;
}

.card.features:hover {
	transform: translateY(-3px);
	-moz-box-shadow: 0px 5px 30px 0px rgba(0, 0, 0, 0.08);
	-webkit-box-shadow: 0px 5px 30px 0px rgba(0, 0, 0, 0.08);
	box-shadow: 0px 5px 30px 0px rgba(0, 0, 0, 0.08);
}

.box-icon {
	box-shadow: 0px 0px 43px 0px rgba(0, 0, 0, 0.14);
	padding: 10px;
	width: 70px;
	border-radius: 10px;
	margin-bottom: 1.5rem;
	background-color: #FFF;
}

.circle-icon {
	box-shadow: 0px 9px 32px 0px rgba(0, 0, 0, 0.07);
	padding: 10px;
	width: 100px;
	height: 100px;
	border-radius: 50%;
	margin-bottom: 1.5rem;
	background-color: #FFF;
	color: #f5378e;
	font-size: 48px;
	text-align: center;
	line-height: 80px;
	font-weight: 300;
	transition: all 0.3s ease;
}

@media (max-width:992px) {
	.circle-icon {
		width: 70px;
		height: 70px;
		font-size: 28px;
		line-height: 50px;
	}
}

.ui-steps li:hover .circle-icon {
	background-image: -moz-linear-gradient(122deg, #e6388e 0%, #fb378e 100%);
	background-image: -webkit-linear-gradient(122deg, #e6388e 0%, #fb378e 100%);
	background-image: -ms-linear-gradient(122deg, #e6388e 0%, #fb378e 100%);
	background-image: linear-gradient(122deg, #e6388e 0%, #fb378e 100%);
	box-shadow: 0px 9px 32px 0px rgba(0, 0, 0, 0.09);
	color: #FFF;
}

.ui-steps li {
	padding: 15px 0;
}

.ui-steps li:not(:last-child) {
	border-bottom: 1px solid #f8e3f0;
}

.perspective-phone {
	position: relative;
	z-index: -1;
}

@media (min-width:992px) {
	.perspective-phone {
		margin-top: -150px;
	}
}


/*  TABS
----------------------*/

.tab-content {
	border-bottom-right-radius: 3px;
	border-bottom-left-radius: 3px;
	background-color: #FFF;
	box-shadow: 0px 5px 7px 0px rgba(0, 0, 0, 0.04);
	padding: 3rem;
}

@media (max-width:992px) {
	.tab-content {
		padding: 1.5rem;
	}
}

.tab-content p {
	line-height: 1.8;
}

.tab-content h2 {
	margin-bottom: 0.5rem;
}

.nav-tabs {
	border-bottom: 0;
}

.nav-tabs .nav-item .nav-link,
.nav-tabs .nav-link:focus,
.nav-tabs .nav-link:hover {
	padding: 1rem 1rem;
	border-color: #faf6fb #faf6fb #FFF;
	font-size: 19px;
	color: #b5a4c8;
	background: #f5eff7;
}

.nav-tabs .nav-link.active {
	background: #FFF;
	border-top-width: 3px;
	border-color: #ce75b4 #faf6fb #FFF;
	color: #633991;
}


/*  TESTIMONIALS
----------------------*/

.owl-carousel .owl-item img.client-img {
	width: 110px;
	margin: 30px auto;
	border-radius: 50%;
	box-shadow: 0px 9px 32px 0px rgba(0, 0, 0, 0.07);
}

.testimonials-single {
	text-align: center;
	max-width: 80%;
	margin: 0 auto;
}

.blockquote {
	color: #7a767a;
	font-weight: 300;
}

.owl-next.disabled,
.owl-prev.disabled {
	opacity: 0.5;
}

.owl-prev,
.owl-next {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}

.owl-prev {
	left: 0;
}

.owl-next {
	right: 0;
}

.owl-theme .owl-nav.disabled+.owl-dots {
	margin-top: 60px;
}

.owl-theme .owl-dots .owl-dot span {
	background: #e7d9eb;
	width: 35px;
	height: 8px;
	border-radius: 10px;
	transition: all 0.3s ease-in;
}

.owl-theme .owl-dots .owl-dot:hover span {
	background: #ff487e;
}

.owl-theme .owl-dots .owl-dot.active span {
	background: #ff487e;
	box-shadow: 0px 9px 32px 0px rgba(0, 0, 0, 0.07);
}


/*  IMAGE GALLERY
----------------------*/

.img-gallery .owl-item {
	box-shadow: 0px 9px 32px 0px rgba(0, 0, 0, 0.07);
	transform: scale(0.8);
	transition: all 0.3s ease-in;
}

.img-gallery .owl-item.center {
	transform: scale(1);
}


/*  PRICING
----------------------*/

@media (max-width:992px) {
	.card-deck {
		-ms-flex-direction: column;
		flex-direction: column;
	}

	.card-deck .card {
		margin-bottom: 15px;
	}
}

.pricing-container {
	border-radius: 20px;
}

.card.pricing {
	border: 1px solid #f1eef1;
  background: rgba(255, 255, 255, 0.5);;
  backdrop-filter: blur(20px);
}

.card.pricing.popular {
	border-top-width: 3px;
	border-color: #ce75b4 #faf6fb #FFF;
	box-shadow: 0px 12px 59px 0px rgba(36, 7, 31, 0.11);
	color: #633991;
}

.card.pricing .card-head {
	text-align: center;
	padding: 40px 0 20px;
}

.card.pricing .card-head .price {
	display: block;
	font-size: 40px;
	font-weight: 300;
	color: #633991;
	font-family: 'Rubik';
}

.card.pricing .card-head .price sub {
	bottom: 0;
	font-size: 55%;
}

.card.pricing .list-group-item {
	border: 0;
	text-align: center;
	color: #959094;
	background: none !important;
	padding: .5rem 1.25rem;
	font-size: .85rem;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}

.card.pricing .list-group-item del {
	color: #d9d3d8;
}

.card.pricing .card-body {
	padding: 1.75rem;
}

/* PRICING REDESIGN
----------------------*/
.pricing-section {
  padding: 6rem 0;
}

.pricing-header {
  text-align: center;
  margin-bottom: 3rem;
}

.pricing-eyebrow {
  display: block;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 3px;
  text-transform: uppercase;
  margin-bottom: 1rem;
}

.pricing-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 1.5rem;
  margin-bottom: 2rem;
}

.pricing-card {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(138, 43, 226, 0.25);
  border-radius: 16px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  position: relative;
}

.pricing-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 20px 60px rgba(138, 43, 226, 0.25);
  border-color: rgba(138, 43, 226, 0.6);
}

.pricing-card--featured {
  border-color: rgba(138, 43, 226, 0.7);
  background: rgba(138, 43, 226, 0.1);
  box-shadow: 0 0 0 1px rgba(138, 43, 226, 0.4), 0 20px 60px rgba(138, 43, 226, 0.2);
  transform: translateY(-8px);
}

.pricing-card--featured:hover {
  transform: translateY(-14px);
  box-shadow: 0 0 0 1px rgba(138, 43, 226, 0.7), 0 28px 70px rgba(138, 43, 226, 0.35);
}

.pricing-badge {
  position: absolute;
  bottom: 1rem;
  left: 50%;
  transform: translateX(-50%);
  background: var(--gradient-main);
  color: #ffffff;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  padding: 0.35rem 1.4rem;
  border-radius: 50px;
  white-space: nowrap;
  z-index: 1;
  box-shadow: 0 4px 16px rgba(229, 69, 149, 0.4);
}

.pricing-card-top {
  padding: 2rem;
  flex: 1;
}

.pricing-card-label {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  margin-bottom: 0.5rem;
}

.pricing-card-label > .fas {
  font-size: 1.8rem;
  color: var(--purple-accent);
  margin-top: 0.4rem;
  flex-shrink: 0;
}

.pricing-type {
  display: block;
  font-size: 0.75rem;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.55);
  letter-spacing: 2px;
  text-transform: uppercase;
}

.pricing-seat {
  display: block;
  font-size: 3.5rem;
  font-weight: 800;
  color: var(--purple-accent);
  line-height: 1;
  margin-top: 0.1rem;
}

.pricing-divider {
  height: 1px;
  background: linear-gradient(to right, rgba(138, 43, 226, 0.5), transparent);
  margin: 1.5rem 0;
}

.pricing-price {
  margin-bottom: 1.5rem;
}

.pricing-amount {
  font-size: 1.6rem;
  font-weight: 700;
  color: #ffffff;
}

.pricing-currency {
  font-size: 0.85rem;
  color: rgba(255, 255, 255, 0.55);
  margin-left: 0.4rem;
  font-weight: 400;
}

.pricing-features {
  list-style: none;
  padding: 0;
  margin: 0;
}

.pricing-features li {
  color: rgba(255, 255, 255, 0.65);
  font-size: 0.875rem;
  padding: 0.35rem 0;
}

.pricing-card-image {
  position: relative;
  height: 200px;
  overflow: hidden;
}

.pricing-card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(0.3) brightness(0.5);
}

.pricing-card-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(80, 20, 150, 0.5) 0%, rgba(15, 5, 35, 0.85) 100%);
}

.btn-pricing-cta {
  border: 1px solid rgba(255, 255, 255, 0.35);
  color: #ffffff;
  padding: 0.8rem 2.5rem;
  border-radius: 50px;
  font-size: 1rem;
  font-weight: 500;
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  transition: all 0.3s ease;
  background: transparent;
}

.btn-pricing-cta:hover {
  background: rgba(255, 255, 255, 0.1);
  color: #ffffff;
  border-color: rgba(255, 255, 255, 0.6);
}

.pricing-features-bottom {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1.5rem 3rem;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 20px;
  padding: 2rem;
}

.pricing-feature-item {
  display: flex;
	justify-content: center;
  align-items: flex-start;
  gap: 1rem;
  flex: 1 1 220px;
  max-width: 300px;
}

.pricing-feature-item > .fas {
  font-size: 1.4rem;
  color: rgba(255, 255, 255, 0.35);
  margin-top: 0.2rem;
  flex-shrink: 0;
}

.pricing-feature-item strong {
  display: block;
  color: #ffffff;
  font-size: 0.9rem;
  margin-bottom: 0.25rem;
  font-weight: 600;
}

.pricing-feature-item span {
  font-size: 0.8rem;
  color: rgba(255, 255, 255, 0.45);
  line-height: 1.4;
}

@media (max-width: 576px) {
  .pricing-cards {
    grid-template-columns: 1fr;
  }
}

.modal-dialog {
	min-width: 100% !important;
}

.modal-dialog-centered {
	margin: auto !important;
	padding: 6px;
	display: flex;
	align-items: center;
	min-height: 100%;
}

.btn-light img {
	margin-right: 0.4rem;
	vertical-align: text-bottom;
}

.qr-code {
	width: 100%;
	padding: 10px;
}

.preview-container {
	aspect-ratio: 1;
	position: relative;
	border-radius: 10px;
	overflow: hidden;
	width: 100%;
	max-width: 1200px;
}

.video-container {
	aspect-ratio: 1.776;
	position: relative;
	border-radius: 10px;
	overflow: hidden;
	width: 100%;
	max-width: 1080px;
}

.preview-container iframe,
.video-container iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.preview-container iframe,
.video-container iframe {
	pointer-events: auto;
	/* Enable pointer events */
}

/*  FOOTER
----------------------*/

.social-icons {
	text-align: right;
}

.social-icons a {
	background-color: #FFF;
	box-shadow: 0px 0px 21px 0px rgba(0, 0, 0, 0.05);
	width: 50px;
	height: 50px;
	display: inline-block;
	text-align: center;
	line-height: 50px;
	margin: 0 0.3rem;
	border-radius: 5px;
	color: #1f204a;
	transition: all 0.3s ease;
}

.social-icons a:hover {
	text-decoration: none;
	color: #ff487e;
}

.btn {
	cursor: pointer;
}

.custom-h1 {
	font-family: "Montserrat", sans-serif;
}

.custom-p {
	font-size: 1.2rem;
	font-weight: 300;
}

.custom-img {
	border-radius: 8px;
	box-shadow: 0px 10px 20px rgba(0, 0, 0, 0.4);
}

.gallery-img {
	border-radius: 8px;
	box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.1);
}

.gradient-text-1 {
	background: -webkit-linear-gradient(45deg, #ff3a5b, #572ccd 80%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	font-family: "Montserrat", sans-serif;
}

.gradient-text-2 {
	background: -webkit-linear-gradient(45deg, #319bff, #cc00ff 80%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	font-family: "Montserrat", sans-serif;
}

.extension-card {
	cursor: pointer;
	transition: all 0.3s ease;
	text-decoration: none !important;
	flex: 1 1 calc(10% - 10px);
	max-width: calc(20% - 10px);
	min-width: 100px;
	box-sizing: border-box;
}

.extension-card:hover {
	transform: translateY(-3px);
}

@media (max-width: 768px) {
	.extension-card {
		flex: 1 1 calc(33.33% - 16px);
		max-width: calc(33.33% - 16px);
	}
}

@media (max-width: 576px) {
	.extension-card {
		flex: 1 1 100%;
		max-width: 100%;
	}
}

.extension-name {
	font-family: "Montserrat", sans-serif;
	background-color: #ffde59;
	color: #555;
	border-radius: 5px;
	padding: 5px;
	font-size: 1rem;
	white-space: nowrap;
}

.extension-type {
	font-family: "Montserrat", sans-serif;
	border-radius: 5px;
	padding: 5px;
	font-size: 0.85rem;
	color: white;
}

.free {
	text-transform: uppercase;
	background-color: #00bf63;
}

.paid {
	text-transform: uppercase;
	background-color: #ff5757;
}

.box-image {
	height: 60px;
}

.extension-box {
	align-items: center;
	height: 5rem;
}

@media (max-width:991px) {
	.social-icons {
		text-align: center;
		margin-top: 2rem;
	}
}

.container {
  padding-left: 2rem;
  padding-right: 2rem;
}

.container.d-flex {
	flex-wrap: wrap;
	justify-content: center;
	gap: 16px;
}

.extension-image {
	margin-bottom: 16px;
	max-width: 120px;
}

.owl-carousel .owl-stage-outer {
	padding-top: 30px;
	padding-bottom: 30px;
}

/* Language Switcher Dropdown */
.dropdown-menu {
    border: none;
    box-shadow: 0px 5px 23px 0px rgba(0, 0, 0, 0.1);
}

.dropdown-item {
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    padding: 10px 20px;
}

.dropdown-item:hover {
    background-color: #faf6fb;
    color: #e54595;
}

.dropdown-item.active, .dropdown-item:active {
    background-color: #e54595;
    color: #FFF;
}
/* ===== Product Detail Modal ===== */
.product-detail-img {
  width: 100%;
  max-height: 500px;
  object-fit: contain;
  border-radius: 20px;
	background: var(--bg-light);
}

.product-detail-preview-wrap {
  border-radius: 8px;
  overflow: hidden;
  background: #000;
}

.product-feature-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.product-feature-list li {
  padding: 5px 0 5px 20px;
  position: relative;
  font-size: 0.9rem;
  color: #555;
}

.product-feature-list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #555;
}

#productDetailModal .modal-header {
  padding-bottom: 0.5rem;
}

#productDetailModal .badge {
  font-size: 0.75rem;
  padding: 4px 10px;
}

#productDetailModal .modal-footer {
  padding-top: 0.75rem;
}

#productDetailModal .modal-content {
  width: 100%;
}

.bg-strip {
  background-color: #151515 !important;
  background-image: 
    repeating-linear-gradient(45deg, rgba(255,255,255,0.03) 0, rgba(255,255,255,0.03) 1px, transparent 1px, transparent 20px) !important;
  color: #ffffff !important;
}

/* Hero Section */
.hero {
  min-height: 100vh;
  display: flex;
  align-items: center;
  padding: 8rem 0 4rem;
  position: relative;
  overflow: hidden;
}

.hero .container {
  display: flex;
  align-items: center;
  width: 100%;
}

.hero p {
  color: #cccccc;
}

.hero::before {
  content: '';
  position: absolute;
  top: -10%;
  right: -5%;
  width: 600px;
  height: 600px;
  background: radial-gradient(circle, rgba(229,69,149,0.1) 0%, rgba(138,43,226,0) 70%);
  z-index: -1;
  border-radius: 50%;
}

.hero-content {
  flex: 1;
  max-width: 600px;
  z-index: 2;
}

.hero-image-container {
  flex: 1;
  display: flex;
  justify-content: center;
  position: relative;
  z-index: 1;
}
.philosophy-image {
	width: 100%;
	border-radius: 20px;
	box-shadow: 0 30px 60px rgba(0,0,0,0.08);
  animation: float 6s ease-in-out infinite;
}

.hero-image {
  width: 100%;
  max-width: 800px;
  border-radius: 20px;
  box-shadow: 0 30px 60px rgba(0,0,0,0.08);
  animation: float 6s ease-in-out infinite;
}

@keyframes float {
  0% { transform: translateY(0px); }
  50% { transform: translateY(-20px); }
  100% { transform: translateY(0px); }
}

.hero-cta {
  display: flex;
  gap: 1rem;
}

/* Floating Badges */
.badge {
  position: absolute;
  background: var(--glass-bg);
  backdrop-filter: blur(5px);
  border: 1px solid var(--glass-border);
  padding: 0.75rem 1.5rem;
  border-radius: 50px;
  font-weight: 600;
  font-size: 0.9rem;
  box-shadow: var(--glass-shadow), 0 6px 20px rgba(0, 0, 0, 0.2);
  display: flex;
  align-items: center;
  gap: 0.5rem;
  animation: pulse 4s infinite;
}

.badge-1 { top: 10%; left: -5%; animation-delay: 0s; }
.badge-2 { top: 50%; right: -10%; animation-delay: 1s; }
.badge-3 { bottom: 10%; left: 10%; animation-delay: 2s; }

@keyframes pulse {
  0% { transform: scale(1); }
  50% { transform: scale(1.05); }
  100% { transform: scale(1); }
}

/* Features Strip */
.features-strip {
  padding: 4rem 0;
  background: var(--bg-white);
  border-top: 1px solid rgba(0,0,0,0.05);
  border-bottom: 1px solid rgba(0,0,0,0.05);
}

.features-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 2rem;
}

.feature-item {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding: 1.5rem;
  border-radius: 16px;
  transition: var(--transition);
}

.feature-item:hover {
  background: var(--bg-light);
  transform: translateY(-5px);
  box-shadow: 0 10px 30px rgba(0,0,0,0.03);
}

.feature-icon {
  width: 50px;
  height: 50px;
  background: rgba(229,69,149,0.1);
  color: var(--primary-pink);
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
}

.feature-item:hover .feature-icon {
  background: var(--gradient-main);
  color: white;
}

.feature-title {
  font-weight: 700;
  font-size: 1.1rem;
}

.feature-desc {
  font-size: 0.9rem;
  margin: 0;
}

/* Advanced Features (Zig-Zag) */
.advanced-features {
  padding: 6rem 0;
  background: var(--bg-white);
}

.feature-row {
  display: flex;
  align-items: center;
  gap: 4rem;
  margin-bottom: 6rem;
}

.feature-row:last-child {
  margin-bottom: 0;
}

.feature-row.reverse {
  flex-direction: row-reverse;
}

.feature-text {
  flex: 1;
}

.feature-text h3 {
  font-size: 2rem;
  font-weight: 700;
  margin-bottom: 1rem;
}

.feature-list {
  margin-top: 1.5rem;
	padding: 0;
}

.feature-list li {
  margin-bottom: 0.8rem;
  display: flex;
  align-items: center;
  gap: 0.8rem;
  font-weight: 500;
}

.feature-image {
  flex: 1;
  position: relative;
}

.feature-image img {
  width: 100%;
  border-radius: 20px;
  transition: transform 0.5s ease;
}

.feature-image:hover img {
  transform: translateY(-10px);
}

/* Tools Section */
.tools-section {
  padding: 6rem 0;
}

.section-header {
  text-align: center;
  margin-bottom: 4rem;
}

.section-title {
	text-align: center;
	font-weight: 800;
	margin-bottom: 1rem;
}

.section-title small {
	font-size: 1rem;
	color: #998a9b;
}

.tools-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 2rem;
}

.tool-card {
  background: var(--bg-white);
  border-radius: 20px;
  padding: 2.5rem;
  box-shadow: 0 10px 30px rgba(0,0,0,0.02);
  transition: var(--transition);
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(0,0,0,0.03);
  display: flex;
  flex-direction: column;
}

.tool-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 4px;
  background: var(--gradient-main);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.4s ease;
}

.tool-card:hover {
  transform: translateY(-10px);
  box-shadow: 0 20px 40px rgba(138,43,226,0.08);
}

.tool-card:hover::before {
  transform: scaleX(1);
}

.tool-badge {
  display: inline-block;
  padding: 0.4rem 1rem;
  border-radius: 8px;
  font-weight: 700;
  font-size: 0.85rem;
  margin-bottom: 1.5rem;
}

.badge-plus { background: rgba(229,69,149,0.1); color: var(--primary-pink); }
.badge-info { background: rgba(138,43,226,0.1); color: var(--purple-accent); }
.badge-lib { background: rgba(56,189,248,0.1); color: #0284c7; }
.badge-tag { background: rgba(34,197,94,0.1); color: #16a34a; }

.tool-card h3 {
  font-size: 1.5rem;
  margin-bottom: 1rem;
}

.tool-card p {
  font-size: 0.95rem;
  margin-bottom: 1.5rem;
  flex: 1;
}

.learn-more {
  color: var(--primary-pink);
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.learn-more:hover {
  color: var(--purple-accent);
}

/* CTA Section */
.cta-section {
  padding: 6rem 0;
  text-align: center;
  position: relative;
  overflow: hidden;
	background: var(--gradient-main);
}

.cta-content {
  position: relative;
  z-index: 2;
  max-width: 800px;
  margin: 0 auto;
}

.cta-section h2 {
  color: #FFF;
  font-size: 3rem;
  font-weight: 800;
  margin-bottom: 1rem;
}

.cta-section p {
  color: rgba(255,255,255,0.9);
  font-size: 1.25rem;
}

.cta-buttons {
  display: flex;
  justify-content: center;
  gap: 1rem;
  margin-top: 2rem;
}

.btn-white {
  background: white;
  color: var(--primary-pink);
}

.btn-white:hover {
  background: var(--bg-light);
  transform: translateY(-3px);
  box-shadow: 0 10px 20px rgba(0,0,0,0.1);
}

.btn-transparent {
  background: transparent;
  border: 2px solid white;
  color: white;
}

.btn-transparent:hover {
  background: rgba(255,255,255,0.1);
  transform: translateY(-3px);
}

/* Animations */
.reveal {
  opacity: 0;
  transform: translateY(30px);
  transition: all 0.8s ease-out;
}

.reveal.active {
  opacity: 1;
  transform: translateY(0);
}

/* Responsive */
@media (max-width: 1024px) {
  h1 { font-size: 3rem; }
  .hero .container { flex-direction: column; text-align: center; }
  .hero .container .row { flex-direction: column; align-items: center; }
  .hero-content { max-width: 100%; flex: 0 0 100%; width: 100%; }
  .hero { padding-top: 8rem; }
  .hero-cta { justify-content: center; }
  .hero-cta .btn { padding: 0.6rem 1.25rem; font-size: 0.875rem; }
  .hero-image-container { width: 100%; max-width: 480px; margin: 3rem auto 0; flex: none; }
  .badge { display: none; }
  .feature-row, .feature-row.reverse { flex-direction: column; text-align: left; gap: 2rem; }
  .feature-list li { justify-content: left; }
}

@media (max-width: 768px) {
  .nav-links { display: none; }
  .nav-actions .btn { padding: 0.5rem 1rem; font-size: 0.9rem; }
  h1 { font-size: 2.5rem; }
  .features-grid { grid-template-columns: 1fr; }
  .cta-buttons { flex-direction: column; }
}

