/*
Theme Name: geko
Author: nebulab
Author URI: 
Theme URI: 
Tags: full-site-editing, editor-style, block-styles, block-patterns
Text Domain: geko
Requires at least: 6.3
Requires PHP: 7.4
Tested up to: 6.3
Version: 1.0.0

License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
*/

/* Styles intended only for the front.*/
:root {
	--primary: #ffb400;
	--primary-light: #ffc233;
	--primary-dark: #e6a200;
	--secondary: #0056b3;
	--accent: #e64a19;
	--success: #4caf50;
	--warning: #ff9800;
	--error: #f44336;
	--info: #2196f3;
	--gray-50: #fafafa;
	--gray-100: #f5f5f5;
	--gray-200: #eeeeee;
	--gray-400: #bdbdbd;
	--gray-600: #757575;
	--gray-800: #424242;
}

html {
	scroll-behavior: smooth;
}

@media screen and (prefers-reduced-motion: reduce) {

	html {
		scroll-behavior: auto;
	}
}

body {
	font-family: var(--wp--preset--font-family--lora, "Lora", serif);
	color: var(--gray-800, #424242);
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
}

.wp-site-blocks,
body > .wp-site-blocks {
	padding: 0 !important;
	padding-top: 0 !important;
	padding-right: 0 !important;
	padding-bottom: 0 !important;
	padding-left: 0 !important;
}

:where(.wp-site-blocks) > *,
.wp-site-blocks > * {
	margin-block-start: 0 !important;
	margin-block-end: 0 !important;
	margin-top: 0 !important;
}

/* GEKO navbar */
.geko-header-full,
.geko-navbar {
	width: 100% !important;
	max-width: 100% !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05) !important;
	border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}

.geko-container {
	width: 100%;
	max-width: 1320px;
	padding-right: 1rem;
	padding-left: 1rem;
	margin-right: auto;
	margin-left: auto;
}

.geko-navbar .wp-block-site-logo img {
	width: 120px;
}

.geko-navbar .wp-block-navigation * {
	box-sizing: border-box;
}

.geko-navbar .wp-block-navigation__container,
.wp-block-navigation__container {
	display: flex;
	gap: 1.5rem !important;
	align-items: center;
}

.geko-navbar .wp-block-navigation-item,
.wp-block-navigation-item {
	padding: 0.25rem 0.5rem;
}

.geko-navbar .wp-block-navigation-item__content,
.geko-navbar .wp-block-navigation-item__label,
.geko-navbar .wp-block-navigation-link a,
.geko-navbar a.wp-block-navigation-item__content {
	color: var(--wp--preset--color--teal, #07484a);
	text-decoration: none;
	font-weight: 500;
	padding: 0.25rem 0.5rem;
	display: inline-block;
	transition: color 0.3s ease;
}

.geko-navbar .wp-block-navigation-item__content:hover,
.geko-navbar a.wp-block-navigation-item__content:hover,
.wp-block-navigation-item__content:hover {
	color: var(--wp--preset--color--primary, #ffb400);
	text-decoration: underline;
	text-underline-offset: 8px;
	text-decoration-thickness: 2px;
}

.geko-nav-search .wp-block-search__button {
	background: none;
	border: none;
	color: var(--wp--preset--color--teal, #07484a);
	padding: 0.25rem;
}

.geko-nav-cart .wc-block-mini-cart__button {
	color: var(--wp--preset--color--teal, #07484a);
}

/* GEKO footer */
.geko-footer {
	background: var(--wp--preset--color--gray-100, #f5f5f5);
	color: var(--wp--preset--color--teal, #07484a);
	padding: 3rem 1rem 2rem;
}

.geko-footer-content .wp-block-site-logo img {
	width: 120px;
	margin-bottom: 1rem;
}

.geko-footer-social {
	gap: 0.5rem;
	margin-bottom: 1.5rem;
}

.geko-footer-title {
	color: var(--wp--preset--color--teal, #07484a);
	font-size: 1rem;
	font-weight: 700;
	margin-bottom: 1.25rem;
}

.geko-footer-links .wp-block-navigation-item__content,
.geko-footer-links a.wp-block-navigation-item__content {
	color: var(--wp--preset--color--teal, #07484a);
	font-size: 0.875rem;
	text-decoration: none;
	transition: color 0.3s ease;
}

.geko-footer-links .wp-block-navigation-item__content:hover {
	color: var(--wp--preset--color--primary, #ffb400);
}

.geko-footer-copyright {
	border-top: 1px solid var(--wp--preset--color--gray-200, #eeeeee);
	color: var(--wp--preset--color--teal, #07484a);
	margin-top: 2rem;
	padding-top: 1.25rem;
}

/* GEKO hero */
.geko-hero {
	background: var(--wp--preset--color--gray-100, #f5f5f5);
	padding: 3rem 1rem;
}

.geko-hero-title {
	color: var(--wp--preset--color--teal, #07484a);
	font-size: 2.625rem;
	font-weight: 700;
	margin-bottom: 3rem;
}

.geko-hero-text p {
	color: var(--wp--preset--color--teal, #07484a);
	font-size: 1.125rem;
	margin-bottom: 3rem;
}

.geko-hero-text .wp-block-button a {
	background-color: var(--wp--preset--color--primary, #ffb400);
	color: var(--wp--preset--color--gray-100, #f5f5f5);
	font-weight: 700;
	padding: 0.625rem 1.25rem;
	border-radius: 5px;
	border: none;
}

.geko-hero-img img {
	max-height: 420px;
	width: auto;
	margin-inline: auto;
}

/* GEKO categories */
.geko-categories {
	padding: 3rem 1rem;
}

.geko-categories h2,
.geko-products h2,
.geko-benefits h2,
.geko-testimonials h2 {
	color: var(--wp--preset--color--teal, #07484a);
	font-size: 2.25rem;
	font-weight: 700;
	margin-block: 0 2.5rem;
}

.geko-category-sidebar {
	background: var(--wp--preset--color--base, #fff);
	padding: 1.25rem;
	border-radius: 12px;
}

.geko-search-box {
	position: relative;
	margin-bottom: 1.5rem;
}

.geko-search-box input {
	padding-left: 2.75rem;
	border: 1px solid var(--wp--preset--color--gray-200, #e0e0e0);
	border-radius: 8px;
	background: var(--wp--preset--color--gray-100, #f8f8f8);
}

.geko-category-list {
	list-style: none;
	padding-left: 0;
	display: flex;
	flex-direction: column;
	gap: 0.625rem;
	margin: 0 0 1.875rem;
}

.geko-category-list a {
	color: var(--wp--preset--color--teal, #07484a);
	text-decoration: none;
	font-size: 1rem;
	border-left: 3px solid transparent;
	padding-left: 0.9375rem;
	transition: all 0.3s ease;
}

.geko-category-list a:hover {
	color: var(--wp--preset--color--primary, #ffb400);
	border-left-color: var(--wp--preset--color--primary, #ffb400);
}

.geko-btn-all-categories a {
	width: 100%;
	background-color: var(--wp--preset--color--primary, #ffb400) !important;
	border-radius: 8px !important;
	border: none;
	font-weight: 600;
}

.geko-cat-card {
	border-radius: 12px;
	overflow: hidden;
	border: 3px solid var(--wp--preset--color--transparent, transparent);
	transition: border-color 0.3s ease;
	margin-bottom: 1rem;
}

.geko-cat-card h3 {
	color: var(--wp--preset--color--base, #fff);
	font-size: 1.75rem;
	font-weight: 600;
	text-align: center;
}

.geko-cat-card:hover {
	border-color: var(--wp--preset--color--primary, #ffb400);
}

.geko-btn-explore a {
	background-color: rgba(255, 255, 255, 0.9) !important;
	color: var(--wp--preset--color--teal, #07484a) !important;
	border-radius: 8px !important;
	border: none;
	font-weight: 600;
}

/* GEKO products */
.geko-products {
	background: var(--wp--preset--color--gray-100, #f7f7f7);
	padding: 3rem 1rem;
}

.geko-product-hero-bg {
	background-color: var(--wp--preset--color--gray-200, #d0d0d0);
	border-radius: 12px;
	min-height: 500px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.geko-product-hero-bg img,
.geko-newsletter-image img {
	width: 100%;
	border-radius: 12px;
}

.geko-product-grid .wc-block-product-image,
.geko-product-grid img {
	width: 100%;
	max-width: 120px;
	margin-inline: auto;
}

.geko-product-grid .wp-block-post {
	list-style: none;
}

.geko-product-card {
	background: var(--wp--preset--color--base, #ffffff);
	border-radius: 12px;
	text-align: center;
	padding: 1.25rem 1rem;
	height: 100%;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.geko-product-grid .wp-block-post:nth-child(even) .geko-product-card {
	background: var(--wp--preset--color--light-blue, #dfe9f3);
}

.geko-product-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
}

.geko-product-card .wp-block-woocommerce-product-image {
	margin-bottom: 0.625rem;
}

.geko-product-card .wp-block-post-title {
	margin-block: 0.5rem;
}

.geko-product-card h3 {
	color: var(--wp--preset--color--teal, #07484a);
	font-size: 1rem;
	margin-bottom: 0.5rem;
}

.geko-btn-explore-all a {
	background-color: var(--wp--preset--color--teal-light, #5a7c7e) !important;
	border-radius: 8px !important;
	border: none;
	font-weight: 600;
}

.geko-btn-explore-all a:hover {
	background-color: #4a6c6e !important;
}

/* GEKO benefits */
.geko-benefits {
	background: var(--wp--preset--color--light-blue, #dfe9f3);
	padding: 3rem 1rem;
}

.geko-benefit-card {
	text-align: center;
	padding: 1.875rem 1.25rem;
}

.geko-benefit-icon {
	width: 80px;
	height: 80px;
	background: var(--wp--preset--color--base, #fff);
	border-radius: 50%;
	margin: 0 auto 1.25rem !important;
}

.geko-benefit-card h5 {
	color: var(--wp--preset--color--teal, #07484a);
	font-size: 1.25rem;
	font-weight: 700;
	margin-bottom: 0.9375rem;
}

.geko-benefit-card p {
	color: var(--wp--preset--color--teal, #07484a);
	font-size: 0.875rem;
	opacity: 0.8;
	margin: 0;
	line-height: 1.6;
}

/* GEKO promise */
.geko-promise {
	background: var(--wp--preset--color--base, #fff);
	padding: 3rem 1rem;
}

.geko-promise-intro-card {
	background: var(--wp--preset--color--teal-light, #5a7c7e);
	padding: 2.5rem 1.875rem;
	border-radius: 12px;
	color: var(--wp--preset--color--base, #fff);
	min-height: 320px;
	justify-content: center;
}

.geko-promise-intro-card h3 {
	font-size: 2rem;
	font-weight: 700;
	margin: 0 0 1.25rem;
	line-height: 1.2;
}

.geko-promise-intro-card p {
	font-size: 1rem;
	opacity: 0.95;
	margin: 0;
}

.geko-promise-feature-card {
	background: var(--wp--preset--color--light-blue, #dfe9f3);
	padding: 1.5625rem 0.9375rem;
	border-radius: 12px;
	text-align: center;
	min-height: 155px;
	margin-bottom: 1rem;
}

.geko-promise-feature-card img {
	width: 40px;
	height: 40px;
	margin: 0 auto 0.75rem;
}

.geko-promise-feature-card h6 {
	color: var(--wp--preset--color--teal, #07484a);
	font-size: 0.75rem;
	font-weight: 700;
	margin-bottom: 0.5rem;
}

.geko-promise-feature-card p {
	color: var(--wp--preset--color--teal, #07484a);
	font-size: 0.6875rem;
	opacity: 0.8;
	margin: 0;
	line-height: 1.4;
}

/* GEKO testimonials */
.geko-testimonials {
	background: var(--wp--preset--color--base, #fff);
	padding: 3rem 1rem;
}

.geko-testimonials-subtitle {
	color: var(--wp--preset--color--teal, #07484a);
	font-size: 1rem;
	opacity: 0.7;
}

.geko-testimonial-avatar {
	border-radius: 12px;
}

.geko-testimonials blockquote {
	margin-bottom: 1.5rem;
}

.geko-testimonials blockquote p {
	color: var(--wp--preset--color--teal, #07484a);
	font-size: 1.125rem;
	line-height: 1.7;
}

.geko-testimonials blockquote cite {
	color: var(--wp--preset--color--teal, #07484a);
	font-size: 0.875rem;
	opacity: 0.7;
	display: block;
	margin-top: 0.5rem;
}

.geko-testimonials blockquote cite strong {
	display: inline-block;
	color: var(--wp--preset--color--teal, #07484a);
	font-size: 1rem;
	font-weight: 700;
}

/* GEKO newsletter */
.geko-newsletter {
	background: var(--wp--preset--color--base, #fff);
	padding: 0 1rem;
}

.geko-newsletter-image {
	background-color: var(--wp--preset--color--gray-200, #d0d0d0);
	min-height: 400px;
}

.geko-newsletter-content {
	background: #d7e7e5;
	padding: 5rem 3.75rem;
	min-height: 400px;
}

.geko-newsletter-content h3 {
	color: var(--wp--preset--color--teal, #07484a);
	font-size: 2.625rem;
	font-weight: 700;
	margin-bottom: 0.9375rem;
	line-height: 1.2;
}

.geko-newsletter-content p {
	color: var(--wp--preset--color--teal, #07484a);
	font-size: 1rem;
	margin-bottom: 1.875rem;
	opacity: 0.8;
}

.geko-newsletter-field {
	margin-bottom: 0.9375rem;
}

.geko-newsletter-form .form-control {
	padding: 0.75rem 1.25rem;
	border: none;
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.7);
	color: var(--wp--preset--color--teal, #07484a);
}

.geko-newsletter-form .form-control::placeholder {
	color: var(--wp--preset--color--teal, #07484a);
	opacity: 0.5;
}

.geko-btn-subscribe {
	width: 100%;
	background: var(--wp--preset--color--teal-light, #5a7c7e);
	color: var(--wp--preset--color--base, #fff);
	padding: 0.75rem 1.25rem;
	border: none;
	border-radius: 8px;
	font-weight: 600;
}

.geko-btn-subscribe:hover {
	background: #4a6c6e;
}

@media (max-width: 991px) {
	.geko-newsletter-content {
		padding: 3.75rem 1.875rem;
	}

	.geko-newsletter-content h3 {
		font-size: 2rem;
	}

	.geko-hero-title {
		font-size: 2rem;
	}
}

/* GEKO about page */
.geko-about-hero {
	padding: 100px 0;
	background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
	border-bottom: 1px solid var(--wp--preset--color--gray-200, #eee);
}

.geko-about-eyebrow {
	color: var(--wp--preset--color--primary, #ffb400) !important;
	font-weight: 700;
	text-transform: uppercase;
	margin-bottom: 1rem;
}

.geko-about-title {
	color: var(--wp--preset--color--teal, #07484a);
	font-size: 2.5rem;
	font-weight: 700;
	margin-bottom: 1.5rem;
}

.geko-about-lead {
	color: #6c757d;
	font-size: 1.125rem;
	margin-bottom: 1.5rem;
}

.geko-btn-shop .wp-block-button__link {
	background-color: var(--wp--preset--color--primary, #ffb400);
	color: var(--wp--preset--color--contrast, #424242);
	font-weight: 700;
	padding: 0.75rem 1.5rem;
	border-radius: 0.375rem;
	border: none;
}

.geko-btn-outline .wp-block-button__link {
	color: var(--wp--preset--color--contrast, #212529);
	padding: 0.75rem 1.5rem;
	border-radius: 0.375rem;
}

.geko-about-image {
	border-radius: 30px;
	box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
}

.geko-values-section {
	padding: 80px 0;
}

.geko-values-section h2 {
	color: var(--wp--preset--color--teal, #07484a);
	font-weight: 700;
}

.geko-values-subtitle {
	color: #6c757d;
}

.geko-value-card {
	padding: 2.5rem;
	border-radius: 20px;
	background: var(--wp--preset--color--base, #fff);
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
	transition: transform 0.3s ease;
	height: 100%;
}

.geko-value-card:hover {
	transform: translateY(-10px);
}

.geko-value-icon {
	width: 60px !important;
	height: 60px;
	background: rgba(7, 72, 74, 0.05);
	border-radius: 15px;
	margin: 0 0 1.5625rem !important;
}

.geko-value-card h5 {
	color: var(--wp--preset--color--teal, #07484a);
	font-weight: 700;
}

.geko-value-card p {
	color: #6c757d;
}

.geko-process-section {
	padding: 80px 0;
	background: var(--wp--preset--color--gray-100, #f8f9fa);
}

.geko-process-section h2 {
	color: var(--wp--preset--color--teal, #07484a);
	font-weight: 700;
	margin-bottom: 1.5rem;
}

.geko-process-list {
	list-style: none;
	padding: 0;
}

.geko-process-list li {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
	margin-bottom: 1.5rem;
}

.geko-process-list li::marker {
	content: "";
}

.geko-process-list li strong {
	color: var(--wp--preset--color--teal, #07484a);
	font-weight: 700;
}

.geko-process-list li p {
	color: #6c757d;
	margin: 0;
}

.geko-founder-quote {
	background: var(--wp--preset--color--base, #fff);
	border-radius: 1rem;
	box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
	padding: 2.5rem;
}

.geko-quote-large p {
	color: var(--wp--preset--color--teal, #07484a);
	font-size: 1.25rem;
	font-style: italic;
}

.geko-quote-large cite {
	color: #6c757d;
}

/* GEKO contact page */
.geko-contact-header {
	padding: 80px 0;
	background: var(--wp--preset--color--base, #fff);
	text-align: center;
}

.geko-contact-eyebrow {
	color: var(--wp--preset--color--primary, #ffb400) !important;
	font-weight: 700;
	text-transform: uppercase;
	margin-bottom: 1rem;
}

.geko-contact-title {
	color: var(--wp--preset--color--teal, #07484a);
	font-size: 2.5rem;
	font-weight: 700;
	margin-bottom: 1rem;
}

.geko-contact-subtitle {
	color: #6c757d;
	max-width: 42rem;
	margin-inline: auto;
}

.geko-contact-wrapper {
	padding-bottom: 80px;
}

.geko-contact-info-card {
	padding: 1.875rem;
	background: var(--wp--preset--color--base, #fff);
	border-radius: 20px;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.03);
	border: 1px solid #f1f1f1;
}

.geko-contact-info-title {
	color: var(--wp--preset--color--teal, #07484a);
	font-weight: 700;
	margin-bottom: 0.25rem;
}

.geko-contact-info-value {
	color: #6c757d;
	margin: 0;
}

.geko-contact-form-card {
	background: var(--wp--preset--color--base, #fff);
	border-radius: 25px;
	padding: 2.5rem;
	box-shadow: 0 15px 40px rgba(0, 0, 0, 0.06);
	margin-top: 1.5rem;
}

.geko-contact-form-title {
	color: var(--wp--preset--color--teal, #07484a);
	font-weight: 700;
	margin-bottom: 1.5rem;
}

.geko-contact-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1rem;
}

.geko-contact-field {
	margin-bottom: 1rem;
}

.geko-contact-field .form-label {
	color: var(--wp--preset--color--teal, #07484a);
	font-weight: 700;
	font-size: 0.875rem;
}

.geko-contact-field .form-control {
	padding: 0.75rem;
	border: 1px solid var(--wp--preset--color--gray-200, #dee2e6);
	border-radius: 0.5rem;
}

.geko-contact-field .form-control:focus {
	border-color: var(--wp--preset--color--primary, #ffb400);
	box-shadow: 0 0 0 0.25rem rgba(255, 193, 7, 0.25);
}

.geko-contact-form textarea.form-control {
	resize: vertical;
	padding: 0.75rem;
}

.geko-btn-send {
	width: 100%;
	background-color: var(--wp--preset--color--primary, #ffb400);
	color: var(--wp--preset--color--contrast, #212529);
	font-weight: 700;
	padding: 0.75rem 1.25rem;
	border: none;
	border-radius: 0.375rem;
}

.geko-map-container {
	background: var(--wp--preset--color--gray-100, #f8f9fa);
	border-radius: 25px;
	height: 400px;
	margin-top: 3rem;
	display: flex;
	align-items: center;
	justify-content: center;
}

.geko-map-placeholder {
	color: #6c757d;
}

@media (max-width: 768px) {
	.geko-contact-row {
		grid-template-columns: 1fr;
	}
}
