/*
Theme Name: WordPress Support Hero
Theme URI: https://wordpresssupporthero.com/
Author: Riffaz Aman
Author URI: https://riffaz.co.uk/
Description: A custom WordPress theme for WordPress Support Hero website.
Version: 1.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: wordpress-support-hero
Tags: custom-background, custom-logo, custom-menu, featured-images, responsive-layout, translation-ready
*/

/* Import Bootstrap and FontAwesome will be enqueued in functions.php */

/* Custom CSS from your inline style moved here */

/* Your entire big CSS block here, starting from: */
body {
    font-family: 'Roboto', sans-serif;
    background-color: #F5F7FA;
    color: #333;
    margin: 0;
}

/* Make any Image block with class 'wpsh-circle' perfectly circular */
.wpsh-circle img {
  aspect-ratio: 1 / 1;      /* keep it square */
  width: 100%;
  height: auto;              /* WP will compute height from aspect-ratio */
  object-fit: cover;         /* crop nicely */
  border-radius: 50%;
}

/* ===== Code block (Gutenberg: “Code” block) ===== */
.wp-block-code,
.wp-block-preformatted,
pre.wp-block-code {
  margin: 1.25rem 0;
}

.wp-block-image.aligncenter {
    display: table;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
}

.wp-block-image.aligncenter img {
    margin-left: auto;
    margin-right: auto;
    display: block;
}

/* The actual <pre> inside the block */
.wp-block-code pre,
.wp-block-preformatted,
pre.wp-block-code,
pre code {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas,
               "Liberation Mono", "Courier New", monospace;
  font-size: 0.95rem;
  line-height: 1.55;
  background: #0f172a;           /* slate-900 */
  color: #e5e7eb;                 /* slate-200 */
  border: 1px solid #1f2937;      /* slate-800 */
  border-radius: 10px;
  padding: 1rem 1.125rem;
  overflow-x: auto;               /* horizontal scroll if long */
  white-space: pre;               /* keep formatting */
  tab-size: 2;
  -webkit-font-smoothing: antialiased;
}

/* Ensure <code> inside <pre> uses same colors (some themes override it) */
.wp-block-code pre code {
  background: transparent;
  color: inherit;
  padding: 0;
  border: 0;
}

/* Optional subtle shadow */
.wp-block-code pre,
pre.wp-block-code {
  box-shadow: 0 6px 16px rgba(2, 6, 23, 0.25);
}

/* ===== Inline code (within paragraphs, lists, etc.) ===== */
p code,
li code,
td code {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas,
               "Liberation Mono", "Courier New", monospace;
  font-size: 0.95em;
  background: #f3f4f6;           /* light slate background */
  color: #111827;                 /* dark text */
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  padding: 0.1em 0.35em;
}

/* ===== Prefer light scheme automatically if visitor is in dark mode ===== */
@media (prefers-color-scheme: light) {
  /* keep dark block: it contrasts well on light pages */
}
@media (prefers-color-scheme: dark) {
  p code,
  li code,
  td code {
    background: #111827;
    color: #e5e7eb;
    border-color: #374151;
  }
}

.hover-scale {  transition: transform 0.3s ease-in-out; }
.hover-scale:hover { transform: scale(1.1); }
.white-color { color: #fff; }
	.width100 { width: 100%; }
	.border0 { border: unset;}
	.red-color { color: #ff0000 !important; }
	.yellow1-color { color: #ffbf01 !important; }
	.navbar {
		background-color: #fff;
		height: 70px; /* Define the navbar height explicitly */
	}
	
	@media (min-width: 769px) and (max-width: 991px) {
		.navbar {
			height: 100px;
		}
	}


	/* Apply padding: 50px only on desktops (992px and wider) */
	@media (min-width: 992px) {
		.navbar {
			padding: 50px;
		}
	}
	

	.navbar-brand {
		font-weight: bold;
		color: #fff;
	}
	.brandname { font-size: 1.6em; }
	.tagline {
		font-size: 0.6em;
		color: #fff;
		font-weight: 500;
		display: block;
	}
	.nav-link {
		color: #fff;
		font-weight: 500;
		text-transform: uppercase;
		font-size: 0.9rem;
	}

	.nav-link:hover {
		color: #0073AA;
	}
	
	.navbar-toggler { background-color: #fff; }
	/* Smart Nav begins */
	.smart-header{
	  position: fixed;
	  top: 0; left: 0; right: 0;
	  transform: translateY(0);
	  z-index: 1; /* low at load */
	 /* transition: transform .25s ease-in-out; */
	  transition: z-index 0s ease, transform .25s ease-in-out;
	}
	.smart-header.hide { transform: translateY(-100%); }
	.smart-header.elevated { z-index: 1040; }


	/* Smart Nav Ends*/
	
	.hero-section {
		min-height: calc(100vh - 150px); /* 100% viewport height minus navbar height */
		background-color: #F5F7FA;
		display: flex;
		align-items: center;
		box-sizing: border-box; /* Ensure padding is included in height calculation */
	}
	
	.section-heading {
		clip-path: polygon(0px 0px, 100% 0px, 99.55% 99.88%, 19px 68.75%);
		padding: 2rem 0;
		font-size: 2.5rem;
		font-weight: 700;
	}
	
	.section-heading-rev {
		clip-path: polygon(0px 0px, 100% 0px, 97.14% 76.49%, 6px 100%);
		padding: 2rem 0;
		font-size: 2.5rem;
		font-weight: 700;
	}
	
	.gradient-background-1 {
		background: linear-gradient(to right, #0c1fff, #dd002c);
	}
	
	.gradient-background-2 {
		background: linear-gradient(to right, #dd002c, #0c1fff);
	}
    @media (min-width: 992px) {
		.hero-section {
			margin-top: 70px;
		}
	}
	.hero-section h1 {
		font-size: 3rem;
		font-weight: 700;
		color: #1A2526;
	}

	.hero-section p {
		font-size: 1.2rem;
		color: #666;
	}

	.plugin-list {
		background-color: #fff;
		padding: 15px; /* Reduced padding to match the screenshot */
		border-radius: 10px;
		box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
		margin-bottom: 15px; /* Space between each plugin box */
		transition: border 0.3s ease; /* Smooth transition for the border */
	}
	.plugin-list-item {
		display: flex;
		align-items: center;
		justify-content: space-between; /* Space between content and arrow */
		padding: 0; /* Remove padding from the item, as the parent .plugin-list handles it */
		font-weight: 500;
	}

	.plugin-list-item:last-child {
		border-bottom: none;
	}

	.plugin-list-item i {
		color: #0073AA;
	}
	
	.plugin-list-content {
		display: flex;
		flex-direction: column; /* Stack the plugin name and sub-label vertically */
	}

	.plugin-name {
		font-weight: 500;
		color: #333;
		font-size: 1.5rem;
	}
	.plugin-sub .red-color {
		color: #dd002c; /* Red for "Most Popular" */
	}

	.plugin-sub .blue-color {
		color: #0c1fff; /* Blue for "Free" and "Coming Soon" */
	}

	.plugin-list-link {
		display: block; /* Make the link cover the entire plugin-list area */
		text-decoration: none; /* Remove underline from the link */
		color: inherit; /* Inherit text color */
	}

	/* Arrow (hidden by default) */
	.plugin-list-arrow {
		opacity: 0; /* Hidden by default */
		transition: opacity 0.3s ease; /* Smooth fade-in for the arrow */
	}

	.plugin-list-arrow i {
		color: #0073AA; /* Blue arrow, matching your site’s primary color */
		font-size: 1rem;
	}

	/* Hover Effect */
	.plugin-list:hover {
		border: 2px solid transparent; /* Set a transparent border to avoid layout shift */
		background: linear-gradient(#fff, #fff) padding-box, /* White background */
					linear-gradient(to right, #0c1fff, #dd002c) border-box; /* Gradient border */
	}

	.plugin-list:hover .plugin-list-arrow {
		opacity: 1; /* Show the arrow on hover */
	}

	@media (max-width: 768px) {
		.plugin-name {
			font-size: 1rem;
		}

		.plugin-sub {
			font-size: 0.75rem;
		}

		.plugin-sub i {
			font-size: 0.5rem;
		}

		.plugin-list-arrow i {
			font-size: 0.9rem;
		}
	}
	.plugin-sub {
    font-size: 0.8rem;
		color: #666;
		margin-top: 5px; /* Space between the plugin name and sub-label */
		margin-left: 35px;
	}


	.testimonial {
		position: relative;
		display: flex;
		align-items: center;
	}

	.testimonial.image-right {
		flex-direction: row-reverse;
	}

	.testimonial img {
		width: 300px;
		height: auto;
		border-radius: 13px;
		box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
	}

	.testimonial-content {
		background-color: #fff;
		padding: 20px;
		border-radius: 7px;
		box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
		position: absolute;
		top: 50%;
		width: 65%;
		z-index: 2;
	}

	.testimonial .testimonial-content {
		transform: translateY(-50%);
	}

	.image-right .testimonial-content {
		right: 250px; /* Overlaps the left side of the image for the second testimonial */
		transform: translateY(-50%);
		width: 50%;
	}
	
	.testimonial-content.first-testimonial { right: 0; }
	
	.testimonial-content .stars {
		/* color: #dd002c; */
		margin-bottom: 14px;
	}
	
	.stars {
	  background: linear-gradient(90deg, #0c1fff 0%, #dd002c 30%);
	  -webkit-background-clip: text;
	  -webkit-text-fill-color: transparent;
	  background-clip: text;
	  color: transparent;
	  letter-spacing: 2px;
	}
	
	.stars-rev {
	  background: linear-gradient(90deg, #dd002c 0%, #0c1fff 30%);
	  -webkit-background-clip: text;
	  -webkit-text-fill-color: transparent;
	  background-clip: text;
	  color: transparent;
	  letter-spacing: 2px;
	  margin-bottom: 14px;
	}

	.testimonial-content .stars i {
		font-size: 1rem;
	}

	.testimonial-content p {
		font-size: 0.9rem;
		color: #666;
		font-style: italic;
		margin-bottom: 14px;
	}

	.testimonial-content strong {
		font-size: 0.9rem;
		color: #333;
		display: block;
	}

	.testimonial-content small {
		font-size: 0.8rem;
		color: #999;
	}

	.feature-table {
		background-color: #fff;
		padding: 50px;
		border-radius: 10px;
		box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
		margin: 40px 0 5px;
	}

	.feature-table th, .feature-table td {
		padding: 15px;
		text-align: center;
		vertical-align: middle;
	}

	.feature-table th {
		background-color: #f8f9fa;
		font-weight: 600;
	}

	.feature-table .fa-check {
		color: #00A32A;
	}

	.feature-table .fa-times {
		color: #FF0000;
	}
	
	.feature-limited { color:#f59e0b; }
	
	.feature-table i {
		margin-right: 10px;
		font-size: 1.1em;
	}

	.btn-primary {
		background-color: #0073AA;
		border-color: #0073AA;
		font-weight: 500;
	}

	.btn-primary:hover {
		background-color: #005f8a;
		border-color: #005f8a;
	}

	@media (max-width: 768px) {
		.navbar {
			height: auto; /* Allow navbar height to adjust on mobile */
		}

		.hero-section {
			min-height: auto; /* Adjust height for mobile */
			padding: 40px 0;
		}

		.hero-section h1 {
			font-size: 2rem;
		}

		.hero-section p {
			font-size: 1rem;
		}

		.plugin-list-item {
			font-size: 1rem;
		}

		.testimonial {
			flex-direction: column;
			margin-top: 20px;
			text-align: center;
		}

		.testimonial.image-right {
			flex-direction: column;
		}

		.testimonial img {
			width: 200px;
			margin: 0 auto;
		}

		.testimonial-content {
			position: static;
			transform: none;
			width: 100%;
			margin-top: 20px;
		}
		
		.image-right .testimonial-content { width: 100%; }
		
		.testimonial .testimonial-content {
			transform: translateY(-1%);
		}

		.image-right .testimonial-content {
			right: auto;
			margin-top: 20px;
			transform: translateY(-1%);
		}
	}
	
	/* pricing table */
	/* Add different background for the pricing row */
	.pricing-row {
		background-color: #f4f6fa; /* Light background to distinguish pricing from other rows */
	}

	.pricing-column {
		font-weight: bold;
		font-size: 1.2rem;
	}
	
	.pricing-column.most-popular {
		border: 5px solid #ffbf00;
	}

	.pricing-column.most-popular .btn {
		background: linear-gradient(to right, #0c1fff, #dd002c);
		border-color: transparent;
	}

	.pricing-column.most-popular .btn:hover {
		background: linear-gradient(to left, #0c1fff, #dd002c);
		border-color: transparent;
	}

	#pricing-table .table td:first-child,
	#pricing-table .table th:first-child {
	  position: sticky;
	  left: 0;
	  z-index: 2;                  /* Keep above other cells */
	  background: #fff;            /* Match table background */
	  white-space: nowrap;
	  width: 260px;
	  vertical-align: middle;
	  border-right: 1px solid #dee2e6; /* Add subtle separation */
	}

	/* Tooltip icons */
	#pricing-table .table td i.fas.fa-info-circle {
	  font-size: 0.9rem;
	  color: #6c757d;              /* muted grey */
	  cursor: pointer;
	}
	#pricing-table .table td i.fas.fa-info-circle:hover {
	  color: #0d6efd;              /* Bootstrap primary color on hover */
	}

	/* Align check/cross icons better */
	#pricing-table .table td .fas {
	  margin-right: 4px;
	}

	/* Mobile adjustments */
	@media (max-width: 768px) {
	  #pricing-table .table td:first-child,
	  #pricing-table .table th:first-child {
		white-space: normal;
		width: 180px;              /* Slightly smaller on small screens */
	  }
	}
	
	/* Wrap table in a scrollable container with fade */
	#pricing-table .table-responsive {
	  position: relative;
	  overflow-x: auto;
	}

	/* Add a fade shadow on the right */
	#pricing-table .table-responsive::after {
	  content: "";
	  position: absolute;
	  top: 0;
	  right: 0;
	  width: 40px;                /* fade width */
	  height: 100%;
	  pointer-events: none;       /* let scroll through */
	  background: linear-gradient(to left, rgba(0,0,0,0.1), transparent);
	  z-index: 3;                 /* above table but below sticky col */
	  display: none;              /* hide by default */
	}

	/* Show the fade on small screens only */
	@media (max-width: 992px) {
	  #pricing-table .table-responsive::after {
		display: block;
	  }
	  
	  /* reducing the padding to show more on mobile */
	  .feature-table {
			padding: 5px;
		}
	}


	.most-popular-label {
		font-size: 0.9rem;
		color: #ffbf00;
		font-weight: 600;
		display: block;
		margin-top: 5px;
		text-transform: uppercase;
	}
	
	/* Ensuring that buttons are styled correctly */
	.pricing-column a {
		display: inline-block;
		width: 100%;
		text-align: center;
		padding: 10px 20px;
		font-size: 1rem;
		text-decoration: none;
		background-color: #0073AA;
		color: #fff;
		border-radius: 5px;
		transition: background-color 0.3s ease;
		margin-top: 10px;
	}

	.pricing-column a:hover {
		background-color: #005f8a;
	}

	.most-popular .btn {
		background-color: #ffbf00;
	}

	.most-popular .btn:hover {
		background-color: #e6a800;
	}
	
	#pricing-table .duration-btn.active {
    background-color: #0c1fff;
    color: #fff;
    border-color: #0c1fff;
	  }
	  #pricing-table .duration-btn:not(.active):hover,
	  #pricing-table .duration-btn:not(.active):focus {
		background-color: #e0e7ff;
	  }
	  #pricing-table .pricing-column {
		position: relative;
		padding-top: 3rem;
	  }
	  #pricing-table .most-popular .badge {
		font-size: 0.8rem;
		padding: 0.3em 0.6em;
	  }
	  #pricing-table .original-price {
		font-size: 0.9rem;
	  }
	  #pricing-table .discounted-price {
		font-size: 1.3rem;
		font-weight: bold;
	  }
	  #pricing-table .monthly-cost,
	  #pricing-table .you-save {
		font-weight: 600;
		font-size: 1.1rem;
	  }
	  #pricing-table .you-save {
		color: #22863a; /* dark green */
	  }
	  
	 .duration-btn:hover { color: #000 !important; }
	
		/* pricing table borders and and lines */
	 #pricing-table .table-bordered > tbody > tr:nth-of-type(even) {
		  --bs-table-accent-bg: #f8f9fa; /* your odd row color */
		  color: inherit; /* keep text color normal */
		}

		#pricing-table .table th,
		#pricing-table .table td {
		  border-left: 1px solid #dee2e6;
		  border-right: 1px solid #dee2e6;
		}

		#pricing-table .table th {
		  border-top: 1px solid #dee2e6;
			border-bottom: 1px solid #dee2e6;
		}
		#pricing-table tr:last-child {
		  border-top: 1px solid #dee2e6;
			border-bottom: 1px solid #dee2e6;
		}
		#pricing-table tr { border: unset }

	/* testimonial slider */
	.card-header .fa, .card-header .fas { color: #dd002c;}


	/* Why Choose Section */
	.why-choose-section {
		background-color: #F5F7FA; /* Match the background color of your site */
	}

	.why-choose-section .row {
		display: flex; /* Use Flexbox to make all items the same height */
		flex-wrap: wrap; /* Allow items to wrap on smaller screens */
	}

	.why-choose-section .col-lg,
	.why-choose-section .col-md-6 {
		display: flex; /* Ensure the column stretches to match the tallest item */
	}

	.feature-item {
		background-color: #fff;
		padding: 20px;
		border-radius: 10px;
		box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
		transition: transform 0.3s ease;
		flex: 1; /* Make the feature item stretch to fill the column */
		display: flex;
		flex-direction: column;
		justify-content: space-between; /* Distribute content evenly */
		text-align: center;
	}

	.feature-item:hover {
		transform: translateY(-5px);
	}

	.feature-item i {
		color: #0073AA; /* Match your brand color */
	}

	.feature-item h5 {
		font-size: 1.2rem;
		font-weight: 600;
		margin-bottom: 10px;
		color: #333;
	}

	.feature-item p {
		font-size: 0.9rem;
		color: #666;
		margin: 0;
		flex-grow: 1; /* Allow the paragraph to grow and push content down */
	}

	@media (max-width: 768px) {
		.why-choose-section h2 {
			font-size: 2rem;
		}

		.feature-item h5 {
			font-size: 1.1rem;
		}

		.feature-item p {
			font-size: 0.85rem;
		}

		.why-choose-section .row {
			display: block; /* Stack items on mobile for better readability */
		}

		.feature-item {
			height: auto; /* Allow height to adjust naturally on mobile */
		}
	}
	
	/* Blog Section */
	.blog-section {
		background-color: #EDEFF2; /* Slightly darker gray for contrast */
	}

	.blog-card {
		background-color: #fff;
		padding: 20px;
		border-radius: 10px;
		box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
		text-align: center;
		transition: transform 0.3s ease;
	}

	.blog-card:hover {
		transform: translateY(-5px);
	}

	.blog-card-img {
		width: 100%;
		height: auto;
		aspect-ratio: 16 / 9; /* Maintain a consistent 16:9 aspect ratio */
		object-fit: cover; /* Ensure the image covers the area without distortion */
		border-radius: 8px; /* Slightly smaller radius than the card */
		margin-bottom: 15px; /* Space between the image and the title */
		box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1); /* Subtle shadow for depth */
	}

	.blog-card h5 {
		font-size: 1.2rem;
		font-weight: 600;
		color: #333;
		margin-bottom: 10px;
	}
	
	.blog-card h5 a{
	  font-size: 1.2rem;
	  font-weight: 600;
	  color: #333;
	  margin-bottom: 10px;
	  text-decoration: none;
	}

	.blog-card p {
		font-size: 0.9rem;
		color: #666;
		margin-bottom: 15px;
	}

	.blog-card .btn-outline-primary {
		border-color: #0073AA;
		color: #0073AA;
		text-transform: uppercase; /* Match the uppercase text in the screenshot */
		padding: 8px 20px; /* Slightly larger padding for a more prominent button */
		font-size: 0.85rem; /* Slightly smaller font size to match the screenshot */
	}

	.blog-card .btn-outline-primary:hover {
		background-color: #0073AA;
		color: #fff;
	}

	@media (max-width: 768px) {
		.blog-card h5 {
			font-size: 1.1rem;
		}

		.blog-card p {
			font-size: 0.85rem;
		}

		.blog-card-img {
			max-height: 150px; /* Limit the height on mobile to avoid overly tall cards */
		}
	}
	
	/* Footer Section */
	.footer-section {
		background-color: #1A2526; /* Dark background for contrast */
		color: #fff;
	}

	.footer-section h5 {
		font-size: 1.2rem;
		font-weight: 600;
	}

	.footer-section p, .footer-section a {
		font-size: 0.9rem;
	}

	.footer-section a {
		color: #fff;
		text-decoration: none;
	}

	.footer-section a:hover {
		color: #0073AA !important; /* Matches your site’s primary color */
	}

	.footer-section .social-links i {
		font-size: 1.2rem;
	}

	.footer-section hr {
		border-color: #666;
	}

	@media (max-width: 768px) {
		.footer-section h5 {
			font-size: 1.1rem;
		}

		.footer-section p, .footer-section a {
			font-size: 0.85rem;
		}

		.footer-section .social-links i {
			font-size: 1rem;
		}
	}
	
	/*custom carousel */
	.custom-carousel-control {
	  position: absolute;
	  bottom: 10px; /* Adjust the position from the bottom */
	  z-index: 15;
	  top: auto;
	  width: auto;
	  text-align: center;
	}

	.carousel-control-prev.custom-carousel-control {
	  left: auto;
	  right: 60px; /* Adjust space between buttons */
	}

	.carousel-control-next.custom-carousel-control {
	  right: 10px; /* Adjust the position from the right */
	}

	.carousel-control-prev-icon,
	.carousel-control-next-icon {
	  background-image: none; /* Remove default Bootstrap icons */
	}

	.carousel-control-prev-icon:after {
	  content: '\f053'; /* FontAwesome left arrow */
	  font-family: 'Font Awesome 5 Free'; /* Adjust based on your FontAwesome version */
	  font-weight: 900;
	  color: #333; /* Arrow color */
	}

	.carousel-control-next-icon:after {
	  content: '\f054'; /* FontAwesome right arrow */
	  font-family: 'Font Awesome 5 Free'; /* Adjust based on your FontAwesome version */
	  font-weight: 900;
	  color: #333; /* Arrow color */
	}

	#reviews .card-footer a { color: #212529; text-decoration: none;}

	@keyframes slideInLeft {
		from {
			transform: translateX(-100%);
			opacity: 0;
		}
		to {
			transform: translateX(0);
			opacity: 1;
		}
	}

	@keyframes slideInRight {
		from {
			transform: translateX(100%);
			opacity: 0;
		}
		to {
			transform: translateX(0);
			opacity: 1;
		}
	}

	.slide-in-left {
		animation: slideInLeft 0.5s forwards;
	}

	.slide-in-right {
		animation: slideInRight 0.5s forwards;
	}

	/* remove default bootsrap carousel sliding effect for reviews */
	#reviewsCarousel .carousel-item {
		transition: none !important;
	}

	#about .rif-network-text { font-size: 2rem; font-weight: bold; font-style: italic;}
/* Soft glassmorphism effect */
.es-feature-glass {
  background: rgba(255,255,255,0.82);
  border-radius: 1.4rem;
  box-shadow: 0 4px 32px 0 rgba(20,50,120,0.07);
  backdrop-filter: blur(5px);
  border: 1.5px solid rgba(120,120,220,0.11);
  transition: transform 0.18s, box-shadow 0.18s;
}
.es-feature-glass:hover {
  transform: translateY(-6px) scale(1.03);
  box-shadow: 0 10px 36px 0 rgba(0,0,0,0.09);
}

.gradient-icon {
  background: linear-gradient(90deg, #3c55fa 30%, #d3227a 80%);
  color: transparent;
  -webkit-background-clip: text;
  background-clip: text;
  font-size: 2.1rem;
  line-height: 1;
  margin-bottom: 12px;
}
.es-btn-glass {
  background: #fff;
  border-radius: 2.2rem;
  border: 1.5px solid #a3bffa;
  color: #222;
  font-size: 1.32rem;
  box-shadow: 0 2px 24px 0 rgba(60,85,250,0.12);
  transition: box-shadow 0.19s, border 0.17s, color 0.18s;
  letter-spacing: 0.03em;
}
.es-btn-glass:hover, .es-btn-glass:focus {
  background: linear-gradient(90deg,#3c55fa 0%, #d3227a 100%);
  color: #fff;
  border: 2px solid #d3227a;
  box-shadow: 0 6px 32px #d3227a22;
}

@media (max-width: 767.98px) {
  .es-feature-glass {
    margin-bottom: 16px;
    min-height: 120px;
    padding: 1rem .6rem;
  }
  .es-btn-glass {
    font-size: 1.05rem;
    width: 100%;
  }
}

  #how-it-works {
  background: #f9fafb;
  padding-top: 3rem;
  padding-bottom: 3rem;
}

#how-it-works .row {
  gap: 2.5rem; /* more space between columns */
}

#how-it-works .step {
  background: none;
  padding: 0;
  box-shadow: none;
}

#how-it-works .step:hover {
  transform: translateY(-10px);
  box-shadow: 0 16px 40px rgb(0 0 0 / 0.12);
}

#how-it-works .step-link:hover {
  transform: translateY(-10px);
  box-shadow: 0 16px 40px rgb(0 0 0 / 0.12);
  text-decoration: none;
  color: inherit;
}


#how-it-works .icon-wrapper {
  width: 72px;
  height: 72px;
  margin: 0 auto 1rem auto;
  border-radius: 50%;
  background: linear-gradient(135deg, #0c1fff, #dd002c);
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
}

#how-it-works .animate-slide-up {
  opacity: 0;
  transform: translateY(40px);
  animation: slideUpFadeIn 0.8s forwards;
}

#how-it-works .step:nth-child(1) {
  animation-delay: 0s;
}

#how-it-works .step:nth-child(2) {
  animation-delay: 0.2s;
}

#how-it-works .step:nth-child(3) {
  animation-delay: 0.4s;
}

@keyframes slideUpFadeIn {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

#how-it-works .step-link {
  display: block;
  color: inherit !important;      /* Keep text color */
  text-decoration: none; /* Remove underline */
  padding: 30px 20px;
  border-radius: 12px;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  box-shadow: 0 8px 24px rgb(0 0 0 / 0.07);
  height: 100%;
}

/* support portal login/signup */
/* ===============================
   Support Portal Auth Section
   =============================== */

.fst_registration_wrapper .fs_registration_form {
  text-align: left;
}

.page-template-page-support-portal .auth-box {
    max-width: 500px;
    margin: 0 auto;
    text-align: left;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.06);
    padding: 25px;
}

/* Title */
.page-template-page-support-portal .auth-box h4 {
    text-align: center;
    margin-bottom: 20px;
    font-weight: 600;
}

/* Tabs */
.page-template-page-support-portal .auth-box .nav-tabs {
    border: none;
    justify-content: space-between;
    display: flex;
    gap: 10px;
    margin-bottom: 20px;
}

.page-template-page-support-portal .auth-box .nav-tabs .nav-link {
    flex: 1;
    text-align: center;
    border: none;
    border-radius: 50px;
    background: #f1f3f5;
    color: #333;
    font-weight: 500;
    font-size: 0.95rem;
    padding: 12px 20px;
    transition: all 0.2s ease-in-out;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}

.page-template-page-support-portal .auth-box .nav-tabs .nav-link:hover {
    background: #e4e7eb;
    color: #000;
}

.page-template-page-support-portal .auth-box .nav-tabs .nav-link.active {
    background: linear-gradient(90deg, #0c1fff, #dd002c);
    color: #fff;
    font-weight: 600;
    box-shadow: 0 2px 6px rgba(0,0,0,0.1);
}

/* Dashboard tabs */
.page-template-page-support-portal #supportTabs .nav-link {
    color: #333;
    font-weight: 500;
    padding: 10px 20px;
    border: none;
    border-bottom: 2px solid transparent;
    background: transparent;
    transition: all 0.2s ease;
}

.page-template-page-support-portal #supportTabs .nav-link:hover {
    color: #0c1fff;
    border-bottom: 2px solid #0c1fff;
    background: #f8f9fa;
}

.page-template-page-support-portal #supportTabs .nav-link.active {
    color: #0c1fff;
    font-weight: 600;
    border-bottom: 2px solid #0c1fff;
    background: #fff;
}


/* Tab content */
.page-template-page-support-portal .auth-box .tab-content {
    border: none;
    padding: 0;
    box-shadow: none;
    margin-top: 0;
}

/* Input fields */
.page-template-page-support-portal .auth-box input[type="text"],
.page-template-page-support-portal .auth-box input[type="email"],
.page-template-page-support-portal .auth-box input[type="password"],
.page-template-page-support-portal .auth-box select {
    border-radius: 6px;
    padding: 10px;
    border: 1px solid #ccc;
    width: 100%;
    margin-bottom: 15px;
    font-size: 0.95rem;
}

/* Buttons */
.page-template-page-support-portal .auth-box button,
.page-template-page-support-portal .auth-box input[type="submit"] {
    background: linear-gradient(90deg, #0c1fff, #dd002c);
    border: none;
    color: #fff;
    padding: 12px 15px;
    width: 100%;
    border-radius: 6px;
    font-weight: bold;
    transition: opacity 0.3s ease-in-out;
}
.page-template-page-support-portal .auth-box button:hover,
.page-template-page-support-portal .auth-box input[type="submit"]:hover {
    opacity: 0.9;
}

/* Mobile: Stack tabs vertically */
@media (max-width: 576px) {
    .page-template-page-support-portal .auth-box .nav-tabs {
        flex-direction: column;
    }
    .page-template-page-support-portal .auth-box .nav-tabs .nav-link {
        border-radius: 8px;
    }
}

/* ===============================
   Dashboard (After Login)
   =============================== */

/* Hide pre-footer */
.page-template-page-support-portal section.prefooter-hero {
    display: none !important;
}

/* Dashboard Header */
.page-template-page-support-portal .dashboard-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: #fff;
    padding: 20px;
    border-radius: 10px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.05);
}

.page-template-page-support-portal .dashboard-header .welcome-text h2 {
    font-size: 1.8rem;
    margin-bottom: 5px;
    font-weight: 700;
}

.page-template-page-support-portal .dashboard-header .welcome-text p {
    font-size: 1rem;
    color: #555;
    margin: 0;
}

/* Plan Card */
.page-template-page-support-portal .plan-info-bar {
    background: #f8f9fa;
    padding: 15px 20px;
    border-radius: 8px;
    display: flex;
    justify-content: space-around;
    text-align: center;
    font-size: 1rem;
    margin-bottom: 20px;
    border: 1px solid #e0e0e0;
}

.page-template-page-support-portal .plan-info-bar .info-item {
    flex: 1;
}

/* Gradient icons */
.page-template-page-support-portal .plan-info-bar i {
    display: block;
    font-size: 1.4rem;
    background: linear-gradient(90deg, #0c1fff, #dd002c);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    margin-bottom: 6px;
	opacity: 0.85;
}

/* Labels */
.page-template-page-support-portal .plan-info-bar small {
    display: block;
    color: #777;
    font-size: 0.8rem;
    margin-bottom: 4px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Values */
.page-template-page-support-portal .plan-info-bar .value {
    font-size: 1.2rem;
    font-weight: 600;
    color: #222;
	opacity: 0.85;
}

/* Dynamic plan colors */
.page-template-page-support-portal .plan-info-bar .value.plan-basic {
    color: #0c1fff;
	opacity: 0.85;
}
.page-template-page-support-portal .plan-info-bar .value.plan-advanced {
    color: #7b2ff7;
	opacity: 0.85;
}
.page-template-page-support-portal .plan-info-bar .value.plan-premium {
    color: #f5b700;
	opacity: 0.85;
}

@media (max-width: 768px) {
    .page-template-page-support-portal .plan-info-bar {
        flex-direction: column;
        gap: 10px;
    }
}

/* Make the whole bar clickable */
.page-template-page-support-portal .plan-info-link {
    text-decoration: none;
    display: block;
}
.page-template-page-support-portal .plan-info-bar {
    transition: all 0.3s ease;
}
.page-template-page-support-portal .plan-info-link:hover .plan-info-bar {
    background: #eef1ff;
    border-color: #d0d4f5;
    cursor: pointer;
}

/* Upgrade badge */
.page-template-page-support-portal .upgrade-badge {
    position: absolute;
    top: -10px;
    right: -10px;
    background: #ff3b30;
    color: #fff;
    font-size: 0.75rem;
    font-weight: 600;
    padding: 3px 8px;
    border-radius: 50px;
    box-shadow: 0 2px 6px rgba(0,0,0,0.2);
}
.page-template-page-support-portal .plan-info-bar {
    position: relative;
}

@media (max-width: 768px) {
    .page-template-page-support-portal .dashboard-header {
        flex-direction: column;
        align-items: flex-start;
        padding: 20px;
    }
    .page-template-page-support-portal .plan-info-bar {
        width: 100%;
        margin-top: 15px;
        flex-direction: row;
        justify-content: space-between;
        text-align: center;
        gap: 10px;
    }
    .page-template-page-support-portal .plan-info-bar .info-item {
        flex: 1;
    }
    .page-template-page-support-portal .plan-info-bar i {
        font-size: 1.2rem;
    }
	a.plan-info-link { width: 100%; }
	.page-template-page-support-portal .dashboard-header {
        flex-direction: column;
        text-align: center;
    }
}

/* making clikcable images looks different while hvering */
.wpsh-popup-img {
  cursor: zoom-in;
  transition: box-shadow 0.18s ease, transform 0.18s ease;
}

.wpsh-popup-img:hover {
  box-shadow:
    0 20px 40px rgba(0,0,0,0.18),
    0 0 20px rgba(12,31,255,0.25),
    0 0 40px rgba(221,0,44,0.2);
  transform: translateY(-2px);
}

/* ===============================
   Smart Header Positioning
   =============================== */
.smart-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  transform: translateY(0);
  z-index: 0; /* Default – behind hero image */
  transition: z-index 0s ease, transform 0.25s ease-in-out;
}
.smart-header.hide { transform: translateY(-100%); }
.smart-header.elevated { z-index: 1040; } /* when scrolling up */

/* ===============================
   Navbar Background Shape
   =============================== */
.smart-header.navbar {
  background: transparent; /* Real content layer transparent */
  overflow: visible;
}

.smart-header::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to right, #0c1fff, #dd002c);
  clip-path: polygon(0% 0%, 100% 0%, 96% 64.45%, 49% 100%, 0% 100%);
  box-shadow: 0 2px 10px rgba(0, 0, 0, .1);
  z-index: -1;
  pointer-events: none;
}

/* Navbar content sits above its pseudo background */
.smart-header > .container,
.smart-header .navbar-collapse,
.smart-header .navbar-brand {
  position: relative;
  z-index: 1;
}

/* Dropdowns always appear above everything else */
.smart-header .dropdown-menu {
  z-index: 2000;
}

/* ===============================
   Hero Image Layering
   =============================== */
.hero-section .testimonial img {
  position: relative;
  z-index: 2; /* Charlie’s photo above header */
  pointer-events: none; /* won't block dropdown hover */
}

/* ===============================
   Menu Open State
   =============================== */
.smart-header.menu-open {
  z-index: 1050; /* Lift header above hero when submenu opens */
}

/* Dropdown item styles */
.dropdown-menu .nav-link {
  color: #0073AA;
  text-align: center;
  border-bottom: 1px solid #f0f0f0;
}
.dropdown-menu .nav-link:hover {
  color: #000;
}