/*
Theme Name: CTi3
Theme URI: https://cti3.com
Author: CTi3
Author URI: https://cti3.com
Description: Premiumowy ciemny motyw dla Ortezy Kolana CTi3 — sklep WooCommerce skoncentrowany na konwersji, zbudowany z edytorem bloków Gutenberg. Typografia Bebas Neue + Poppins, system projektowy czarny/grafitowy/pomarańczowy oraz pełne wsparcie edycji witryny.
Version: 1.0.2
Requires at least: 6.7
Tested up to: 6.9
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: cti3
Tags: one-column, custom-colors, custom-menu, custom-logo, editor-style, featured-images, full-site-editing, block-patterns, wide-blocks, block-styles, e-commerce
*/


/* ==========================================================================
   SMOOTH SCROLL & ANCHOR OFFSET
   ========================================================================== */
html {
	scroll-behavior: smooth;
}

/* Offset anchors for smooth-scroll targets */
[id] {
	scroll-margin-top: 80px;
}

/* Prevent headings from causing horizontal overflow on mobile */
h1, h2, h3, h4, h5, h6,
.wp-block-heading {
	overflow-wrap: break-word;
	word-break: break-word;
}

/* Sticky header — applied to the <header> wrapper that WordPress generates
   around the template-part with area="header". */
header.wp-block-template-part {
	position: sticky;
	top: 0;
	z-index: 100;
}

/*
 * theme.json → styles.spacing.blockGap (1.5rem) applies between every direct child of
 * .wp-site-blocks. That gap sits *below* the header and is easy to confuse with header
 * padding — especially when the next block is <main class="wp-block-group is-layout-flow">.
 * Pull the following block up so the sticky bar does not “feel” twice as tall.
 */
.wp-site-blocks > header.wp-block-template-part + * {
	margin-block-start: calc(-1 * var(--wp--style--block-gap, 1.5rem));
}

/* ==========================================================================
   CTi3 DESIGN SYSTEM — CSS Custom Properties
   ========================================================================== */

:root {
	/* Shadows */
	--cti3-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.4);
	--cti3-shadow-md: 0 4px 12px rgba(0, 0, 0, 0.5);
	--cti3-shadow-lg: 0 8px 32px rgba(0, 0, 0, 0.6);
	--cti3-shadow-glow: 0 0 30px rgba(255, 107, 0, 0.15);
	--cti3-shadow-glow-strong: 0 0 60px rgba(255, 107, 0, 0.25);

	/* Border Radius */
	--cti3-radius-sm: 8px;
	--cti3-radius-md: 12px;
	--cti3-radius-lg: 16px;
	--cti3-radius-xl: 24px;
	--cti3-radius-pill: 999px;

	/* Transitions */
	--cti3-transition: all 0.3s ease;
	--cti3-transition-fast: all 0.15s ease;
	--cti3-transition-slow: all 0.5s ease;
}


/* ==========================================================================
   BLOCK STYLE VARIATIONS
   ========================================================================== */

/* --- Button: Base transition for all buttons --- */
.wp-block-button__link,
.wp-element-button {
	transition: var(--cti3-transition);
}

/* --- WC Block Buttons (<a> elements) — fix link color override on accent bg --- */
a.wp-element-button:not(.wp-block-button__link),
a.wc-block-components-button {
	color: #FFFFFF !important;
}

a.wp-element-button:not(.wp-block-button__link):hover,
a.wc-block-components-button:hover {
	color: #FFFFFF !important;
}

/* --- Button: Fill (default) — ensure text is always visible on accent bg --- */
.wp-block-button:not(.is-style-outline):not(.is-style-cti3-outline):not(.is-style-cti3-ghost) .wp-block-button__link:not(.has-text-color) {
	color: #FFFFFF !important;
}

.wp-block-button:not(.is-style-outline):not(.is-style-cti3-outline):not(.is-style-cti3-ghost) .wp-block-button__link:not(.has-background) {
	background-color: #FF6B00;
}

.wp-block-button:not(.is-style-outline):not(.is-style-cti3-outline):not(.is-style-cti3-ghost) .wp-block-button__link:not(.has-text-color):hover {
	color: #FFFFFF !important;
}

.wp-block-button:not(.is-style-outline):not(.is-style-cti3-outline):not(.is-style-cti3-ghost) .wp-block-button__link:not(.has-background):hover {
	background-color: #E55A00;
}

.wp-block-button:not(.is-style-outline):not(.is-style-cti3-outline):not(.is-style-cti3-ghost) .wp-block-button__link:hover {
	transform: translateY(-1px);
	box-shadow: 0 4px 20px rgba(255, 107, 0, 0.3);
}

/* Fill buttons with explicit custom colors — respect inline styles, just add transitions */
.wp-block-button__link.has-text-color.has-background:hover {
	transform: translateY(-1px);
	filter: brightness(0.95);
}

/* --- Button: WP Core Outline (is-style-outline) — visible on dark bg --- */
.wp-block-button.is-style-outline .wp-block-button__link {
	background: transparent !important;
	color: #FFFFFF !important;
	border: 2px solid rgba(255, 255, 255, 0.35) !important;
	border-radius: var(--cti3-radius-pill);
	transition: var(--cti3-transition);
}

.wp-block-button.is-style-outline .wp-block-button__link:hover {
	background: #FFFFFF !important;
	color: #0A0A0A !important;
	border-color: #FFFFFF !important;
	transform: translateY(-1px);
	box-shadow: 0 4px 20px rgba(255, 255, 255, 0.15);
}

/* --- Button: CTi3 Outline --- */
.wp-block-button.is-style-cti3-outline .wp-block-button__link {
	background: transparent !important;
	color: #FFFFFF !important;
	border: 2px solid rgba(255, 255, 255, 0.3);
	border-radius: var(--cti3-radius-pill);
	transition: var(--cti3-transition);
}

.wp-block-button.is-style-cti3-outline .wp-block-button__link:hover {
	background: #FFFFFF !important;
	color: #0A0A0A !important;
	border-color: #FFFFFF;
	transform: translateY(-1px);
	box-shadow: 0 4px 20px rgba(255, 255, 255, 0.15);
}

/* --- Button: Ghost (text link with arrow) --- */
.wp-block-button.is-style-cti3-ghost .wp-block-button__link {
	background: transparent !important;
	color: #FF6B00 !important;
	border: none;
	padding-left: 0;
	padding-right: 0;
	text-decoration: none;
	border-radius: 0;
}

.wp-block-button.is-style-cti3-ghost .wp-block-button__link::after {
	content: ' \2192';
	display: inline-block;
	transition: transform 0.3s ease;
}

.wp-block-button.is-style-cti3-ghost .wp-block-button__link:hover {
	color: #FFFFFF !important;
}

.wp-block-button.is-style-cti3-ghost .wp-block-button__link:hover::after {
	transform: translateX(4px);
}

/* --- Group: Card --- */
.wp-block-group.is-style-cti3-card {
	background: #141414;
	border: 1px solid #2A2A2A;
	border-radius: var(--cti3-radius-lg);
	padding: var(--wp--preset--spacing--50);
	box-shadow: var(--cti3-shadow-md);
	transition: var(--cti3-transition);
}

.wp-block-group.is-style-cti3-card:hover {
	border-color: #3A3A3A;
	box-shadow: var(--cti3-shadow-lg);
	transform: translateY(-2px);
}

/* --- Group: Glass --- */
.wp-block-group.is-style-cti3-glass {
	background: rgba(20, 20, 20, 0.8);
	backdrop-filter: blur(20px);
	-webkit-backdrop-filter: blur(20px);
	border: 1px solid rgba(255, 255, 255, 0.06);
	border-radius: var(--cti3-radius-lg);
	padding: var(--wp--preset--spacing--50);
}

/* --- Group: Surface --- */
.wp-block-group.is-style-cti3-surface {
	background: #141414;
	border-radius: var(--cti3-radius-lg);
	padding: var(--wp--preset--spacing--50);
}

/* --- Image: Orange Glow --- */
.wp-block-image.is-style-cti3-glow img {
	filter: drop-shadow(var(--cti3-shadow-glow));
	transition: filter 0.5s ease;
}

.wp-block-image.is-style-cti3-glow:hover img {
	filter: drop-shadow(var(--cti3-shadow-glow-strong));
}

/* --- Separator: Accent gradient --- */
.wp-block-separator.is-style-cti3-accent {
	border: none !important;
	height: 3px;
	background: linear-gradient(90deg, transparent, #FF6B00, transparent);
	opacity: 0.5;
}

/* --- Details: FAQ Item --- */
.wp-block-details.is-style-cti3-faq {
	background: #141414;
	border: 1px solid #2A2A2A;
	border-radius: var(--cti3-radius-md);
	padding: 20px 24px;
	transition: var(--cti3-transition);
	margin-bottom: 8px;
}

.wp-block-details.is-style-cti3-faq:hover {
	border-color: rgba(255, 107, 0, 0.3);
}

.wp-block-details.is-style-cti3-faq summary {
	font-family: 'Poppins', sans-serif;
	font-weight: 600;
	font-size: 1rem;
	color: #FFFFFF;
	cursor: pointer;
	list-style: none;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
}

.wp-block-details.is-style-cti3-faq summary::after {
	content: '+';
	font-size: 1.5rem;
	font-weight: 300;
	color: #FF6B00;
	transition: transform 0.3s ease;
	flex-shrink: 0;
}

.wp-block-details.is-style-cti3-faq[open] summary::after {
	transform: rotate(45deg);
}

.wp-block-details.is-style-cti3-faq summary::-webkit-details-marker {
	display: none;
}

/* Responsive video embeds inside FAQ accordion */
.wp-block-details.is-style-cti3-faq iframe[src*="youtube"],
.wp-block-details.is-style-cti3-faq iframe[src*="youtu.be"],
.wp-block-details.is-style-cti3-faq iframe[src*="vimeo"] {
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
	border-radius: var(--cti3-radius-sm, 8px);
	margin-top: var(--wp--preset--spacing--30, 12px);
}

/* --- Columns: Feature Grid (each column becomes a card) --- */
.wp-block-columns.is-style-cti3-feature-grid > .wp-block-column {
	background: #141414;
	border: 1px solid #2A2A2A;
	border-radius: var(--cti3-radius-lg);
	padding: var(--wp--preset--spacing--50);
	transition: var(--cti3-transition);
}

.wp-block-columns.is-style-cti3-feature-grid > .wp-block-column:hover {
	border-color: rgba(255, 107, 0, 0.3);
	transform: translateY(-4px);
	box-shadow: var(--cti3-shadow-glow);
}


/* ==========================================================================
   COMPONENT CLASSES
   ========================================================================== */

/* --- Overline text (above headings) --- */
.cti3-overline {
	font-family: 'Poppins', sans-serif;
	font-weight: 600;
	font-size: 0.75rem;
	letter-spacing: 3px;
	text-transform: uppercase;
	color: #FF6B00;
	margin-bottom: 1rem;
	display: block;
}

/* --- Badge / Pill label --- */
.cti3-badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-family: 'Poppins', sans-serif;
	font-weight: 500;
	font-size: 0.75rem;
	letter-spacing: 0.5px;
	color: #FF6B00;
	background: rgba(255, 107, 0, 0.1);
	padding: 4px 12px;
	border-radius: var(--cti3-radius-pill);
	border: 1px solid rgba(255, 107, 0, 0.2);
}

.cti3-badge--success {
	color: #22C55E;
	background: rgba(34, 197, 94, 0.1);
	border-color: rgba(34, 197, 94, 0.2);
}

/* --- Trust badges row --- */
.cti3-trust-badges {
	display: flex;
	gap: 20px;
	flex-wrap: wrap;
	padding-top: 16px;
	border-top: 1px solid #2A2A2A;
	margin-top: 16px;
}

.cti3-trust-badge {
	display: flex;
	align-items: center;
	gap: 8px;
	font-family: 'Poppins', sans-serif;
	font-size: 0.8125rem;
	font-weight: 400;
	color: #A0A0A0;
}

.cti3-trust-badge svg,
.cti3-trust-badge .icon {
	width: 16px;
	height: 16px;
	color: #22C55E;
	flex-shrink: 0;
}


/* ==========================================================================
   UTILITY CLASSES
   ========================================================================== */

/* Gradient text */
.cti3-text-gradient {
	background: linear-gradient(135deg, #FF6B00, #FF8C33);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
}

/* Accent border highlight */
.cti3-border-accent {
	border-color: rgba(255, 107, 0, 0.3) !important;
}

/* Orange glow shadow */
.cti3-glow-accent {
	box-shadow: var(--cti3-shadow-glow);
}

/* Sticky container (for product gallery) */
.cti3-sticky {
	position: sticky;
	top: 20px;
}


/* ==========================================================================
   ANIMATIONS
   ========================================================================== */

@keyframes cti3-fade-in-up {
	from {
		opacity: 0;
		transform: translateY(30px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes cti3-fade-in {
	from { opacity: 0; }
	to { opacity: 1; }
}

@keyframes cti3-slide-in-left {
	from {
		opacity: 0;
		transform: translateX(-30px);
	}
	to {
		opacity: 1;
		transform: translateX(0);
	}
}

@keyframes cti3-pulse-glow {
	0%, 100% {
		box-shadow: 0 0 20px rgba(255, 107, 0, 0.1);
	}
	50% {
		box-shadow: 0 0 40px rgba(255, 107, 0, 0.25);
	}
}

/* Scroll-triggered animation classes (add via IntersectionObserver JS) */
.cti3-animate {
	opacity: 0;
	transform: translateY(30px);
	transition: opacity 0.6s ease, transform 0.6s ease;
}

.cti3-animate.is-visible {
	opacity: 1;
	transform: translateY(0);
}

.cti3-animate--delay-1 { transition-delay: 0.1s; }
.cti3-animate--delay-2 { transition-delay: 0.2s; }
.cti3-animate--delay-3 { transition-delay: 0.3s; }
.cti3-animate--delay-4 { transition-delay: 0.4s; }


/* ==========================================================================
   PATTERN-SPECIFIC ENHANCEMENTS
   ========================================================================== */

/* --- Hero Section --- */
.wp-block-group[style*="min-height:90vh"] {
	display: flex;
	align-items: center;
}

.wp-block-group[style*="min-height:90vh"] > .wp-block-columns {
	width: 100%;
}

/* --- Trust Bar: Horizontal logo strip --- */
.wp-block-group.alignfull.has-surface-background-color[style*="border-top"] .wp-block-group {
	opacity: 0.7;
	transition: opacity 0.3s ease;
}

.wp-block-group.alignfull.has-surface-background-color[style*="border-top"]:hover .wp-block-group {
	opacity: 1;
}

/* --- Stats Counter: Large numbers --- */
.has-bebas-neue-font-family {
	line-height: 1;
}

/* --- Product Showcase: Benefit list items --- */
.wp-block-group[style*="blockGap:4px"],
.wp-block-group[style*="blockGap":"4px"] {
	gap: 4px;
}

/* --- Audience & Sport Cards: Icon container --- */
.is-style-cti3-card > p:first-child {
	line-height: 1;
}

/* --- Blog Teaser: Post card overrides --- */
.wp-block-post-template .is-style-cti3-card {
	height: 100%;
	display: flex;
	flex-direction: column;
}

.wp-block-post-template .is-style-cti3-card .wp-block-post-excerpt {
	flex-grow: 1;
}

.wp-block-post-template .is-style-cti3-card .wp-block-post-featured-image img {
	border-radius: var(--cti3-radius-md);
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 10;
	object-fit: cover;
}

/* --- Blog Teaser: Category pills --- */
.wp-block-post-template .wp-block-post-terms a {
	color: #FF6B00;
	text-decoration: none;
	font-weight: 500;
}

.wp-block-post-template .wp-block-post-terms a:hover {
	color: #FFFFFF;
}

/* --- Blog Teaser: Post title links --- */
.wp-block-post-template .wp-block-post-title a {
	color: #FFFFFF;
	text-decoration: none;
	transition: color 0.3s ease;
}

.wp-block-post-template .wp-block-post-title a:hover {
	color: #FF6B00;
}

/* --- CTA Banner: Inverted button hover --- */
.has-accent-gradient-gradient-background .wp-block-button__link[style*="background-color:#ffffff"]:hover {
	opacity: 0.9;
	transform: translateY(-1px);
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
}

/* --- Newsletter Banner --- */
.wp-block-group.alignfull.has-surface-background-color[style*="border-top"]:last-of-type {
	text-align: center;
}


/* ==========================================================================
   PRODUCT PAGE — PATTERN & COMPONENT STYLES
   ========================================================================== */

/* --- Product Badge Pill --- */
.cti3-badge {
	display: inline-block;
	background: rgba(255, 107, 0, 0.1);
	border: 1px solid rgba(255, 107, 0, 0.2);
	border-radius: 999px;
	padding: 4px 12px;
	line-height: 1.4;
}

/* --- Highlights Bar --- */
.cti3-highlights-bar .cti3-highlight-icon {
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
}

.cti3-highlights-bar .cti3-highlight-icon p {
	margin: 0;
	line-height: 1;
}

.cti3-highlights-bar .cti3-highlight-icon svg {
	display: block;
}

.cti3-highlights-grid .wp-block-column {
	padding: 16px 0;
	position: relative;
}

.cti3-highlights-grid .wp-block-column:not(:last-child)::after {
	content: '';
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 1px;
	height: 40px;
	background: #2A2A2A;
}

@media (max-width: 781px) {
	.cti3-highlights-grid .wp-block-column:not(:last-child)::after {
		display: none;
	}

	.cti3-highlights-grid .wp-block-column {
		border-bottom: 1px solid #1E1E1E;
		padding: 16px 0;
	}

	.cti3-highlights-grid .wp-block-column:last-child {
		border-bottom: none;
	}
}

/* --- Technology Section: Feature Rows --- */
.cti3-single-product .wp-block-columns.are-vertically-aligned-center figure {
	overflow: hidden;
	border-radius: 16px;
}

.cti3-single-product .wp-block-columns.are-vertically-aligned-center figure img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.6s ease;
}

.cti3-single-product .wp-block-columns.are-vertically-aligned-center figure:hover img {
	transform: scale(1.03);
}

/* --- Hide empty image placeholders --- */
figure.wp-block-image img[src=""] {
	display: none;
}

/* --- Equal-height card columns (shortcode output) --- */
.cti3-eq-cards {
	display: flex !important;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--50, 1.5rem);
}

.cti3-eq-cards > .wp-block-column {
	display: flex;
	flex: 1 1 0%;
	min-width: 0;
}

.cti3-eq-cards > .wp-block-column > .is-style-cti3-card {
	width: 100%;
	height: 100%;
}

@media (max-width: 781px) {
	.cti3-eq-cards {
		flex-direction: column;
	}

	.cti3-eq-cards > .wp-block-column {
		flex-basis: 100%;
	}

	.wp-block-columns.are-vertically-aligned-center > .wp-block-column:empty,
	.wp-block-column > figure.wp-block-image:only-child img[src=""] {
		display: none;
	}
}

/* --- Step Cards (How It Works) --- */
.cti3-step-card {
	position: relative;
}

.cti3-steps-grid .wp-block-column {
	display: flex;
}

.cti3-steps-grid .cti3-step-card {
	flex: 1;
	display: flex;
	flex-direction: column;
}

.cti3-steps-grid .cti3-step-card > .wp-block-group:last-of-type {
	margin-top: auto;
}

/* Step connector line on desktop */
@media (min-width: 782px) {
	.cti3-steps-grid .wp-block-column:not(:last-child) .cti3-step-card::after {
		content: '';
		position: absolute;
		top: 40px;
		right: -28px;
		width: 56px;
		height: 2px;
		background: linear-gradient(90deg, #2A2A2A, transparent);
	}
}

/* --- Trust Section (below ATC) --- */
.cti3-trust-section .wp-block-group {
	transition: background 0.2s ease;
	padding: 4px 0;
	border-radius: 4px;
}

/* --- Product Page: Sticky gallery column --- */
@media (min-width: 782px) {
	.cti3-sticky {
		position: sticky;
		top: 20px;
		align-self: flex-start;
	}
}

/* --- Product Page: WooCommerce overrides --- */
.cti3-product-page .woocommerce-product-gallery {
	border-radius: var(--cti3-radius-lg);
	overflow: hidden;
}

.cti3-product-page .woocommerce-product-gallery__image img {
	border-radius: var(--cti3-radius-md);
}

.cti3-product-page .woocommerce-product-gallery__trigger {
	background: rgba(255, 107, 0, 0.1);
	border: 1px solid rgba(255, 107, 0, 0.3);
	border-radius: var(--cti3-radius-sm);
	z-index: 10;
	font-size: 0;
	color: transparent;
	width: 40px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: var(--cti3-transition);
}

.cti3-product-page .woocommerce-product-gallery__trigger::before {
	content: '';
	display: block;
	width: 20px;
	height: 20px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23FF6B00' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'/%3E%3Cline x1='11' y1='8' x2='11' y2='14'/%3E%3Cline x1='8' y1='11' x2='14' y2='11'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-size: contain;
}

.cti3-product-page .woocommerce-product-gallery__trigger:hover {
	background: rgba(255, 107, 0, 0.2);
	border-color: rgba(255, 107, 0, 0.5);
}

/* WooCommerce variations (size/side selector) */
.cti3-product-page .variations td select,
.cti3-product-page .woocommerce-variation-add-to-cart .qty {
	background: #141414;
	border: 1px solid #2A2A2A;
	border-radius: var(--cti3-radius-sm);
	color: #FFFFFF;
	padding: 10px 14px;
	font-family: 'Poppins', sans-serif;
	font-size: 0.875rem;
	transition: var(--cti3-transition);
}

.cti3-product-page .variations td select:focus,
.cti3-product-page .woocommerce-variation-add-to-cart .qty:focus {
	border-color: #FF6B00;
	outline: none;
	box-shadow: 0 0 0 2px rgba(255, 107, 0, 0.2);
}

.cti3-product-page .variations th label {
	color: #A0A0A0;
	font-family: 'Poppins', sans-serif;
	font-size: 0.8125rem;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 1px;
}

.cti3-product-page .single_add_to_cart_button {
	background: #FF6B00 !important;
	color: #FFFFFF !important;
	border: none;
	border-radius: var(--cti3-radius-pill);
	padding: 16px 40px;
	font-family: 'Poppins', sans-serif;
	font-weight: 600;
	font-size: 1rem;
	letter-spacing: 1px;
	text-transform: uppercase;
	transition: var(--cti3-transition);
	width: 100%;
}

.cti3-product-page .single_add_to_cart_button:hover {
	background: #e06000 !important;
	transform: translateY(-1px);
	box-shadow: 0 4px 20px rgba(255, 107, 0, 0.3);
}

/* Contact Us button (replaces add-to-cart when enabled) */
.cti3-contact-btn {
	display: block;
	width: 100%;
	text-align: center;
	background: #FF6B00 !important;
	color: #FFFFFF !important;
	font-family: var(--wp--preset--font-family--poppins, 'Poppins', sans-serif);
	font-size: var(--wp--preset--font-size--small, 0.875rem);
	font-weight: 600;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	text-decoration: none;
	padding: 1rem 2rem;
	border: none;
	border-radius: var(--wp--custom--border-radius--sm, 8px);
	cursor: pointer;
	transition: var(--cti3-transition, all 0.3s ease);
}

.cti3-contact-btn:hover {
	background: #e06000 !important;
	color: #FFFFFF !important;
	transform: translateY(-1px);
	box-shadow: 0 4px 20px rgba(255, 107, 0, 0.3);
	text-decoration: none;
}

/* WooCommerce product tabs */
.cti3-product-page .woocommerce-tabs {
	border: none;
}

.cti3-product-page .woocommerce-tabs ul.tabs {
	padding: 0;
	margin: 0 0 var(--wp--preset--spacing--50) 0;
	list-style: none;
	display: flex;
	gap: 0;
	border-bottom: 1px solid #2A2A2A;
}

.cti3-product-page .woocommerce-tabs ul.tabs li {
	background: transparent;
	border: none;
	border-bottom: 2px solid transparent;
	margin-bottom: -1px;
	padding: 0;
}

.cti3-product-page .woocommerce-tabs ul.tabs li a {
	font-family: 'Poppins', sans-serif;
	font-weight: 500;
	font-size: 0.875rem;
	color: #A0A0A0;
	padding: 12px 24px;
	text-decoration: none;
	display: block;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	transition: color 0.3s ease;
}

.cti3-product-page .woocommerce-tabs ul.tabs li a:hover {
	color: #FFFFFF;
}

.cti3-product-page .woocommerce-tabs ul.tabs li.active {
	border-bottom-color: #FF6B00;
}

.cti3-product-page .woocommerce-tabs ul.tabs li.active a {
	color: #FF6B00;
}

.cti3-product-page .woocommerce-tabs .panel {
	background: transparent;
	padding: 0;
	color: #A0A0A0;
}

.cti3-product-page .woocommerce-tabs .panel h2 {
	color: #FFFFFF;
	font-family: 'Bebas Neue', sans-serif;
	margin-bottom: 1rem;
}

/* WooCommerce reviews */
.cti3-product-page #reviews .comment-text {
	background: #141414;
	border: 1px solid #2A2A2A;
	border-radius: var(--cti3-radius-md);
	padding: 20px;
}

.cti3-product-page #reviews .star-rating span::before {
	color: #FF6B00;
}

.cti3-product-page .woocommerce-breadcrumb {
	color: #666;
}

.cti3-product-page .woocommerce-breadcrumb a {
	color: #A0A0A0;
	text-decoration: none;
	transition: color 0.3s ease;
}

.cti3-product-page .woocommerce-breadcrumb a:hover {
	color: #FF6B00;
}



/* ==========================================================================
   BLOG — Archive, Single, Search
   ========================================================================== */

/* --- Reading Progress Bar --- */
.cti3-reading-progress {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 3px;
	z-index: 9999;
	background: transparent;
	pointer-events: none;
}

.cti3-reading-progress__bar {
	height: 100%;
	width: 0;
	background: linear-gradient(90deg, #FF6B00, #FF8C33);
	transition: width 0.1s linear;
	border-radius: 0 2px 2px 0;
}

/* --- Featured Post (Archive Hero) --- */
.cti3-featured-post {
	background: #141414;
	border: 1px solid #2A2A2A;
	border-radius: var(--cti3-radius-lg);
	padding: var(--wp--preset--spacing--40);
	transition: var(--cti3-transition);
	margin-bottom: var(--wp--preset--spacing--30);
}

.cti3-featured-post:hover {
	border-color: rgba(255, 107, 0, 0.3);
}

.cti3-featured-post .wp-block-post-featured-image img {
	border-radius: var(--cti3-radius-md);
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 10;
	object-fit: cover;
}

.cti3-featured-post .wp-block-post-title a {
	color: #FFFFFF;
	text-decoration: none;
	transition: color 0.3s ease;
}

.cti3-featured-post .wp-block-post-title a:hover {
	color: #FF6B00;
}

/* --- Post Cards (archive grid) --- */
.cti3-post-card {
	height: 100%;
	display: flex;
	flex-direction: column;
}

.cti3-post-card .wp-block-post-excerpt {
	flex-grow: 1;
}

.cti3-post-card .wp-block-post-featured-image img {
	border-radius: var(--cti3-radius-md);
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 10;
	object-fit: cover;
}

/* --- Sidebar --- */
.cti3-sidebar-column {
	min-width: 280px;
}

.cti3-sidebar-sticky {
	position: sticky;
	top: 20px;
}

/* Sidebar Categories List */
.cti3-sidebar-categories {
	list-style: none;
	padding: 0;
	margin: 0;
}

.cti3-sidebar-categories li {
	margin: 0;
	padding: 0;
}

.cti3-sidebar-categories li a {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 10px 0;
	border-bottom: 1px solid #1E1E1E;
	color: #A0A0A0;
	text-decoration: none;
	font-size: 0.875rem;
	transition: color 0.3s ease;
}

.cti3-sidebar-categories li a:hover {
	color: #FF6B00;
}

.cti3-sidebar-categories li:last-child a {
	border-bottom: none;
}

/* Post count (inside category links) */
.cti3-sidebar-categories li a .wp-block-categories__post-count,
.cti3-sidebar-categories li a::after {
	color: #666;
	font-size: 0.75rem;
}

/* Sidebar Tag Cloud */
.cti3-tag-cloud {
	display: flex !important;
	flex-wrap: wrap;
	gap: 8px;
}

.cti3-tag-cloud a {
	display: inline-block;
	background: #1E1E1E;
	border: 1px solid #2A2A2A;
	border-radius: var(--cti3-radius-pill);
	padding: 4px 12px;
	color: #A0A0A0 !important;
	text-decoration: none !important;
	font-size: 0.75rem !important;
	transition: var(--cti3-transition);
}

.cti3-tag-cloud a:hover {
	background: rgba(255, 107, 0, 0.1);
	border-color: rgba(255, 107, 0, 0.3);
	color: #FF6B00 !important;
}

/* --- Pagination --- */
.cti3-pagination .page-numbers,
.cti3-pagination .wp-block-query-pagination-numbers .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	height: 40px;
	padding: 0 12px;
	border-radius: var(--cti3-radius-sm);
	border: 1px solid #2A2A2A;
	background: transparent;
	color: #A0A0A0;
	text-decoration: none;
	font-family: 'Poppins', sans-serif;
	font-size: 0.8125rem;
	font-weight: 500;
	transition: var(--cti3-transition);
}

.cti3-pagination .page-numbers:hover,
.cti3-pagination .wp-block-query-pagination-numbers .page-numbers:hover {
	background: #1E1E1E;
	border-color: #3A3A3A;
	color: #FFFFFF;
}

.cti3-pagination .page-numbers.current,
.cti3-pagination .wp-block-query-pagination-numbers .page-numbers.current {
	background: #FF6B00;
	border-color: #FF6B00;
	color: #FFFFFF;
}

.cti3-pagination .wp-block-query-pagination-previous,
.cti3-pagination .wp-block-query-pagination-next {
	color: #A0A0A0;
	text-decoration: none;
	font-size: 0.8125rem;
	transition: color 0.3s ease;
}

.cti3-pagination .wp-block-query-pagination-previous:hover,
.cti3-pagination .wp-block-query-pagination-next:hover {
	color: #FF6B00;
}

/* --- Single Post: Article Content Typography --- */
.cti3-article-content .wp-block-post-content {
	font-size: 1.0625rem;
	line-height: 1.8;
	color: #C0C0C0;
}

.cti3-article-content .wp-block-post-content h2 {
	color: #FFFFFF;
	margin-top: 2.5em;
	margin-bottom: 0.75em;
	font-size: 1.75rem;
}

.cti3-article-content .wp-block-post-content h3 {
	color: #FFFFFF;
	margin-top: 2em;
	margin-bottom: 0.5em;
	font-size: 1.375rem;
}

.cti3-article-content .wp-block-post-content h4 {
	color: #FFFFFF;
	margin-top: 1.5em;
	margin-bottom: 0.5em;
	font-size: 1.125rem;
}

.cti3-article-content .wp-block-post-content p {
	margin-bottom: 1.5em;
}

.cti3-article-content .wp-block-post-content a {
	color: #FF6B00;
	text-decoration: underline;
	text-underline-offset: 3px;
	text-decoration-color: rgba(255, 107, 0, 0.3);
	transition: text-decoration-color 0.3s ease;
}

.cti3-article-content .wp-block-post-content a:hover {
	text-decoration-color: #FF6B00;
}

.cti3-article-content .wp-block-post-content blockquote {
	border-left: 3px solid #FF6B00;
	padding-left: 24px;
	margin: 2em 0;
	color: #FFFFFF;
	font-style: italic;
	font-size: 1.125rem;
}

.cti3-article-content .wp-block-post-content blockquote cite {
	display: block;
	margin-top: 0.5em;
	font-style: normal;
	font-size: 0.875rem;
	color: #666;
}

.cti3-article-content .wp-block-post-content ul,
.cti3-article-content .wp-block-post-content ol {
	padding-left: 1.5em;
	margin-bottom: 1.5em;
}

.cti3-article-content .wp-block-post-content li {
	margin-bottom: 0.5em;
}

.cti3-article-content .wp-block-post-content li::marker {
	color: #FF6B00;
}

.cti3-article-content .wp-block-post-content code {
	background: #1E1E1E;
	border: 1px solid #2A2A2A;
	border-radius: 4px;
	padding: 2px 6px;
	font-size: 0.875em;
	color: #FF8C33;
}

.cti3-article-content .wp-block-post-content pre {
	background: #141414;
	border: 1px solid #2A2A2A;
	border-radius: var(--cti3-radius-md);
	padding: 24px;
	overflow-x: auto;
	margin: 2em 0;
}

.cti3-article-content .wp-block-post-content pre code {
	background: none;
	border: none;
	padding: 0;
	color: #C0C0C0;
}

.cti3-article-content .wp-block-post-content figure {
	margin: 2em 0;
}

.cti3-article-content .wp-block-post-content figcaption {
	font-size: 0.8125rem;
	color: #666;
	text-align: center;
	margin-top: 0.75em;
}

.cti3-article-content .wp-block-post-content img {
	border-radius: var(--cti3-radius-md);
}

.cti3-article-content .wp-block-post-content hr {
	border: none;
	height: 1px;
	background: #2A2A2A;
	margin: 3em 0;
}

.cti3-article-content .wp-block-post-content table {
	width: 100%;
	border-collapse: collapse;
	margin: 2em 0;
}

.cti3-article-content .wp-block-post-content th {
	background: #141414;
	color: #FFFFFF;
	font-weight: 600;
	text-align: left;
	padding: 12px 16px;
	border-bottom: 2px solid #2A2A2A;
	font-size: 0.875rem;
}

.cti3-article-content .wp-block-post-content td {
	padding: 10px 16px;
	border-bottom: 1px solid #1E1E1E;
	font-size: 0.875rem;
}

/* --- Post Tags --- */
.cti3-post-tags .wp-block-post-terms a {
	display: inline-block;
	background: #1E1E1E;
	border: 1px solid #2A2A2A;
	border-radius: var(--cti3-radius-pill);
	padding: 4px 14px;
	color: #A0A0A0;
	text-decoration: none;
	font-size: 0.75rem;
	transition: var(--cti3-transition);
}

.cti3-post-tags .wp-block-post-terms a:hover {
	background: rgba(255, 107, 0, 0.1);
	border-color: rgba(255, 107, 0, 0.3);
	color: #FF6B00;
}

/* --- Author Box --- */
.cti3-author-box {
	transition: var(--cti3-transition);
}

.cti3-author-box:hover {
	border-color: #3A3A3A;
}

.cti3-author-box .wp-block-avatar img {
	border-radius: 50%;
	border: 2px solid #2A2A2A;
}

/* --- Post Navigation (prev/next) --- */
.cti3-post-nav .wp-block-post-navigation-link {
	max-width: 48%;
}

.cti3-post-nav .wp-block-post-navigation-link a {
	color: #A0A0A0;
	text-decoration: none;
	transition: color 0.3s ease;
	font-size: 0.8125rem;
}

.cti3-post-nav .wp-block-post-navigation-link a:hover {
	color: #FF6B00;
}

.cti3-post-nav .wp-block-post-navigation-link .wp-block-post-navigation-link__title {
	display: block;
	color: #FFFFFF;
	font-weight: 600;
	margin-top: 4px;
	font-size: 0.9375rem;
	line-height: 1.3;
}

.cti3-post-nav .wp-block-post-navigation-link a:hover .wp-block-post-navigation-link__title {
	color: #FF6B00;
}

/* --- Related Posts --- */
.cti3-related-card {
	height: 100%;
	display: flex;
	flex-direction: column;
}

.cti3-related-card .wp-block-post-featured-image img {
	border-radius: var(--cti3-radius-md);
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 10;
	object-fit: cover;
}

/* --- Comments --- */
.cti3-comments .cti3-comment {
	padding-bottom: var(--wp--preset--spacing--40);
	border-bottom: 1px solid #1E1E1E;
}

.cti3-comments .cti3-comment:last-child {
	border-bottom: none;
}

.cti3-comments .wp-block-avatar img {
	border-radius: 50%;
	border: 2px solid #2A2A2A;
}

.cti3-comments .comment-reply-link,
.cti3-comments .comment-edit-link {
	color: #666;
	text-decoration: none;
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	transition: color 0.3s ease;
}

.cti3-comments .comment-reply-link:hover,
.cti3-comments .comment-edit-link:hover {
	color: #FF6B00;
}

/* Comments Form */
.cti3-comments .wp-block-post-comments-form .comment-form label {
	color: #A0A0A0;
	font-size: 0.8125rem;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	margin-bottom: 6px;
	display: block;
}

.cti3-comments .wp-block-post-comments-form .comment-form input[type="text"],
.cti3-comments .wp-block-post-comments-form .comment-form input[type="email"],
.cti3-comments .wp-block-post-comments-form .comment-form input[type="url"],
.cti3-comments .wp-block-post-comments-form .comment-form textarea {
	background: #141414;
	border: 1px solid #2A2A2A;
	border-radius: var(--cti3-radius-sm);
	color: #FFFFFF;
	padding: 12px 16px;
	font-family: 'Poppins', sans-serif;
	font-size: 0.875rem;
	width: 100%;
	transition: var(--cti3-transition);
}

.cti3-comments .wp-block-post-comments-form .comment-form input:focus,
.cti3-comments .wp-block-post-comments-form .comment-form textarea:focus {
	border-color: #FF6B00;
	outline: none;
	box-shadow: 0 0 0 2px rgba(255, 107, 0, 0.15);
}

.cti3-comments .wp-block-post-comments-form .comment-form .submit {
	background: #FF6B00;
	color: #FFFFFF;
	border: none;
	border-radius: var(--cti3-radius-pill);
	padding: 12px 32px;
	font-family: 'Poppins', sans-serif;
	font-weight: 600;
	font-size: 0.875rem;
	text-transform: uppercase;
	letter-spacing: 1px;
	cursor: pointer;
	transition: var(--cti3-transition);
}

.cti3-comments .wp-block-post-comments-form .comment-form .submit:hover {
	background: #e06000;
	transform: translateY(-1px);
	box-shadow: 0 4px 20px rgba(255, 107, 0, 0.25);
}

/* --- Search Results --- */
.cti3-search-result {
	transition: background 0.3s ease;
}

.cti3-search-result:hover {
	background: rgba(20, 20, 20, 0.5);
}

.cti3-search-result .wp-block-post-title a {
	color: #FFFFFF;
	text-decoration: none;
	transition: color 0.3s ease;
}

.cti3-search-result .wp-block-post-title a:hover {
	color: #FF6B00;
}

.cti3-search-result .wp-block-post-excerpt__more-text a {
	color: #FF6B00;
	text-decoration: none;
	font-weight: 500;
	transition: color 0.3s ease;
}

.cti3-search-result .wp-block-post-excerpt__more-text a:hover {
	color: #FFFFFF;
}

/* --- Reading Time Badge --- */
.cti3-reading-time {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-family: 'Poppins', sans-serif;
	font-size: 0.75rem;
	font-weight: 500;
	color: #666;
}

.cti3-reading-time::before {
	content: '⏱';
	font-size: 0.8em;
}

/* --- Search Block Styling --- */
.wp-block-search .wp-block-search__input {
	background: #141414;
	border: 1px solid #2A2A2A;
	border-radius: var(--cti3-radius-sm);
	color: #FFFFFF;
	padding: 10px 16px;
	font-family: 'Poppins', sans-serif;
	font-size: 0.875rem;
	transition: border-color 0.3s ease;
}

.wp-block-search .wp-block-search__input:focus {
	border-color: #FF6B00;
	outline: none;
	box-shadow: 0 0 0 2px rgba(255, 107, 0, 0.15);
}

.wp-block-search .wp-block-search__input::placeholder {
	color: #666;
}

.wp-block-search .wp-block-search__button {
	background: #FF6B00;
	color: #FFFFFF;
	border: none;
	border-radius: var(--cti3-radius-sm);
	padding: 10px 16px;
	transition: background 0.3s ease;
	cursor: pointer;
}

.wp-block-search .wp-block-search__button:hover {
	background: #e06000;
}

.wp-block-search .wp-block-search__button svg {
	fill: #FFFFFF;
}


/* ==========================================================================
   ASYMMETRIC LAYOUT & LAYERED BACKGROUNDS
   ========================================================================== */

/* --- Layered Background System --- */
.cti3-layered {
	position: relative;
	overflow: hidden;
}

.cti3-layered::before,
.cti3-layered::after {
	content: '';
	position: absolute;
	inset: 0;
	pointer-events: none;
	z-index: 0;
}

/* Radial glow variants */
.cti3-glow-tr::before {
	background: radial-gradient(ellipse 50% 60% at 85% 15%, rgba(255, 107, 0, 0.07) 0%, transparent 70%);
}

.cti3-glow-bl::before {
	background: radial-gradient(ellipse 50% 60% at 15% 85%, rgba(255, 107, 0, 0.07) 0%, transparent 70%);
}

.cti3-glow-center::before {
	background: radial-gradient(ellipse 70% 50% at 50% 50%, rgba(255, 107, 0, 0.05) 0%, transparent 70%);
}

.cti3-glow-tl::before {
	background: radial-gradient(ellipse 40% 50% at 10% 20%, rgba(255, 107, 0, 0.06) 0%, transparent 70%);
}

.cti3-glow-br::before {
	background: radial-gradient(ellipse 40% 50% at 90% 80%, rgba(255, 107, 0, 0.06) 0%, transparent 70%);
}

/* Subtle grid pattern overlay */
.cti3-grid-overlay::after {
	background-image:
		linear-gradient(rgba(255, 255, 255, 0.012) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, 0.012) 1px, transparent 1px);
	background-size: 80px 80px;
	z-index: 0;
}

/* Dot pattern overlay */
.cti3-dots-overlay::after {
	background-image: radial-gradient(rgba(255, 255, 255, 0.04) 1px, transparent 1px);
	background-size: 24px 24px;
	z-index: 0;
}

/* Ensure content sits above layers */
.cti3-layered > * {
	position: relative;
	z-index: 1;
}

/* --- Diagonal Section Dividers --- */
.cti3-angle-top {
	clip-path: polygon(0 clamp(2rem, 4vw, 5rem), 100% 0, 100% 100%, 0 100%);
	margin-top: clamp(-2rem, -4vw, -5rem);
	padding-top: calc(var(--wp--preset--spacing--70) + clamp(2rem, 4vw, 5rem)) !important;
}

.cti3-angle-top-reverse {
	clip-path: polygon(0 0, 100% clamp(2rem, 4vw, 5rem), 100% 100%, 0 100%);
	margin-top: clamp(-2rem, -4vw, -5rem);
	padding-top: calc(var(--wp--preset--spacing--70) + clamp(2rem, 4vw, 5rem)) !important;
}

.cti3-angle-bottom {
	clip-path: polygon(0 0, 100% 0, 100% calc(100% - clamp(2rem, 4vw, 5rem)), 0 100%);
	padding-bottom: calc(var(--wp--preset--spacing--70) + clamp(2rem, 4vw, 5rem)) !important;
}

/* --- Staggered Columns --- */
@media (min-width: 782px) {
	.cti3-stagger > .wp-block-column:nth-child(even) {
		transform: translateY(2.5rem);
	}

	.cti3-stagger-reverse > .wp-block-column:nth-child(odd) {
		transform: translateY(2.5rem);
	}

	.cti3-stagger-deep > .wp-block-column:nth-child(even) {
		transform: translateY(4rem);
	}
}

/* --- Oversized Decorative Watermark --- */
.cti3-watermark {
	position: relative;
}

.cti3-watermark::before {
	content: attr(data-watermark);
	position: absolute;
	font-family: 'Bebas Neue', sans-serif;
	font-size: clamp(6rem, 12vw, 16rem);
	color: rgba(255, 255, 255, 0.015);
	line-height: 0.85;
	pointer-events: none;
	white-space: nowrap;
	z-index: 0;
	top: -0.5rem;
	right: -2rem;
}

.cti3-watermark > * {
	position: relative;
	z-index: 1;
}

/* --- Accent Line Decorations --- */
.cti3-accent-line-left {
	position: relative;
}

.cti3-accent-line-left::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 4px;
	height: 60px;
	background: linear-gradient(180deg, #FF6B00, transparent);
	border-radius: 2px;
	z-index: 1;
}

.cti3-accent-line-top {
	position: relative;
}

.cti3-accent-line-top::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 80px;
	height: 3px;
	background: linear-gradient(90deg, #FF6B00, transparent);
	border-radius: 2px;
	z-index: 1;
}

/* --- Floating Accent Corner --- */
.cti3-corner-accent {
	position: relative;
}

.cti3-corner-accent::after {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	width: clamp(80px, 15vw, 200px);
	height: clamp(80px, 15vw, 200px);
	background: radial-gradient(ellipse at 100% 0%, rgba(255, 107, 0, 0.08) 0%, transparent 70%);
	pointer-events: none;
	z-index: 0;
}

/* --- Asymmetric Section Spacing --- */
.cti3-pad-asymmetric {
	padding-top: var(--wp--preset--spacing--80) !important;
	padding-bottom: var(--wp--preset--spacing--60) !important;
}

.cti3-pad-asymmetric-reverse {
	padding-top: var(--wp--preset--spacing--60) !important;
	padding-bottom: var(--wp--preset--spacing--80) !important;
}

/* --- Column Overlap (image bleeds into adjacent section) --- */
@media (min-width: 782px) {
	.cti3-bleed-right {
		margin-right: -3rem;
	}

	.cti3-bleed-left {
		margin-left: -3rem;
	}
}

/* --- Visual Divider: Gradient Line --- */
.cti3-divider-gradient {
	height: 1px;
	background: linear-gradient(90deg, transparent, rgba(255, 107, 0, 0.3), transparent);
	border: none;
	margin: 0;
}

/* --- Featured Testimonial (larger card) --- */
.cti3-testimonial-featured {
	border-color: rgba(255, 107, 0, 0.2) !important;
	background: linear-gradient(135deg, #141414 0%, rgba(255, 107, 0, 0.03) 100%) !important;
}

.cti3-testimonial-featured:hover {
	border-color: rgba(255, 107, 0, 0.4) !important;
}

/* --- Section heading left-aligned with accent mark --- */
.cti3-heading-left {
	text-align: left !important;
}

.cti3-heading-left .has-text-align-center {
	text-align: left !important;
}

/* --- Asymmetric sports/audience 2-col grid --- */
@media (min-width: 782px) {
	.cti3-grid-asymmetric {
		display: grid !important;
		grid-template-columns: 1.2fr 0.8fr;
		gap: var(--wp--preset--spacing--40);
	}

	.cti3-grid-asymmetric > .wp-block-column {
		flex-basis: auto !important;
		width: auto !important;
	}

	.cti3-grid-asymmetric-reverse {
		display: grid !important;
		grid-template-columns: 0.8fr 1.2fr;
		gap: var(--wp--preset--spacing--40);
	}

	.cti3-grid-asymmetric-reverse > .wp-block-column {
		flex-basis: auto !important;
		width: auto !important;
	}
}

/* --- Noise texture overlay on hero --- */
.cti3-noise::after {
	content: '';
	position: absolute;
	inset: 0;
	opacity: 0.3;
	background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");
	pointer-events: none;
	z-index: 0;
}


/* ==========================================================================
   CONTACT FORM 7 — Dark Premium Design System
   ========================================================================== */

/* --- Form grid layout --- */
.cti3-cf7-grid {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--40);
	text-align: left;
}

.cti3-cf7-grid p {
	margin: 0; /* Reset CF7 paragraph wrapping */
}

.cti3-cf7-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--wp--preset--spacing--50);
}

.cti3-cf7-row .cti3-cf7-field {
	min-width: 0; /* Prevent grid blowout from long inputs */
}

/* Responsive overrides moved to contact section responsive block below */

/* --- Field wrapper --- */
.cti3-cf7-field {
	display: flex;
	flex-direction: column;
	gap: 0;
	text-align: left;
}

.cti3-cf7-field p {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin: 0;
}

/* Remove CF7 <br> tags between label and input */
.cti3-cf7-field p br {
	display: none;
}

/* Ensure the input wrapper spans full width */
.cti3-cf7-field .wpcf7-form-control-wrap {
	display: block;
}

/* --- Labels --- */
.cti3-cf7-label {
	display: block;
	font-family: var(--wp--preset--font-family--poppins);
	font-size: var(--wp--preset--font-size--caption);
	font-weight: 600;
	color: var(--wp--preset--color--text-secondary);
	letter-spacing: 0.5px;
	text-transform: uppercase;
	text-align: left;
}

.cti3-cf7-required {
	color: var(--wp--preset--color--accent);
}

/* --- Input & textarea styling --- */
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="url"],
.wpcf7 textarea,
.wpcf7 select {
	width: 100%;
	box-sizing: border-box;
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--cti3-radius-sm);
	color: var(--wp--preset--color--contrast);
	padding: 0.9375rem 1.125rem;
	font-family: var(--wp--preset--font-family--poppins);
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.5;
	transition: border-color 0.25s ease, box-shadow 0.25s ease, background 0.25s ease;
}

.wpcf7 input::placeholder,
.wpcf7 textarea::placeholder {
	color: var(--wp--preset--color--text-muted);
	opacity: 0.7;
}

.wpcf7 input:hover,
.wpcf7 textarea:hover {
	border-color: var(--wp--preset--color--border-light);
	background: rgba(255, 255, 255, 0.03);
}

.wpcf7 input:focus,
.wpcf7 textarea:focus {
	outline: none;
	border-color: var(--wp--preset--color--accent);
	box-shadow: 0 0 0 3px rgba(255, 107, 0, 0.12);
	background: rgba(255, 107, 0, 0.02);
}

.wpcf7 textarea {
	min-height: 160px;
	resize: vertical;
}

/* --- Invalid field state --- */
.wpcf7 .wpcf7-not-valid {
	border-color: var(--wp--preset--color--error) !important;
	box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.1) !important;
}

/* --- Submit button wrapper --- */
.cti3-cf7-submit {
	padding-top: var(--wp--preset--spacing--20);
}

.cti3-cf7-submit p {
	margin: 0;
}

.cti3-cf7-submit p br {
	display: none;
}

/* --- Submit button --- */
.wpcf7 input[type="submit"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	background: linear-gradient(135deg, #FF6B00 0%, #FF8C33 100%);
	color: #ffffff;
	border: none;
	border-radius: var(--cti3-radius-pill);
	padding: 1rem 2.5rem;
	font-family: var(--wp--preset--font-family--poppins);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
	letter-spacing: 0.75px;
	text-transform: uppercase;
	cursor: pointer;
	transition: all 0.3s ease;
	box-shadow: 0 4px 20px rgba(255, 107, 0, 0.3);
}

.wpcf7 input[type="submit"]:hover {
	background: linear-gradient(135deg, #E55A00 0%, #FF6B00 100%);
	transform: translateY(-2px);
	box-shadow: 0 6px 30px rgba(255, 107, 0, 0.4);
}

.wpcf7 input[type="submit"]:active {
	transform: translateY(0);
	box-shadow: 0 2px 10px rgba(255, 107, 0, 0.3);
}

/* --- Spinner --- */
.wpcf7 .wpcf7-spinner {
	margin-left: 12px;
}

/* --- Validation tip --- */
.wpcf7-not-valid-tip {
	color: var(--wp--preset--color--error);
	font-size: var(--wp--preset--font-size--caption);
	font-family: var(--wp--preset--font-family--poppins);
	margin-top: 6px;
	display: flex;
	align-items: center;
	gap: 4px;
}

.wpcf7-not-valid-tip::before {
	content: '⚠';
	font-size: 0.7rem;
}

/* --- Response output --- */
.wpcf7-response-output {
	border-radius: var(--cti3-radius-sm) !important;
	padding: 1rem 1.25rem !important;
	font-size: var(--wp--preset--font-size--small) !important;
	font-family: var(--wp--preset--font-family--poppins) !important;
	margin: var(--wp--preset--spacing--40) 0 0 !important;
	border-width: 1px !important;
}

.wpcf7 form.sent .wpcf7-response-output {
	border-color: var(--wp--preset--color--success) !important;
	color: var(--wp--preset--color--success);
	background: rgba(34, 197, 94, 0.05);
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output {
	border-color: var(--wp--preset--color--error) !important;
	color: var(--wp--preset--color--error);
	background: rgba(239, 68, 68, 0.05);
}

.wpcf7 form.spam .wpcf7-response-output {
	border-color: var(--wp--preset--color--accent) !important;
	color: var(--wp--preset--color--accent);
	background: rgba(255, 107, 0, 0.05);
}

/* ==========================================================================
   CONTACT INFO CARD
   ========================================================================== */

.cti3-contact-info {
	display: flex;
	flex-direction: column;
	gap: 0;
	text-align: left;
}

.cti3-contact-info-item {
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--40);
	padding: var(--wp--preset--spacing--40) 0;
	border-bottom: 1px solid var(--wp--preset--color--border);
	text-align: left;
}

.cti3-contact-info-item:first-child {
	padding-top: 0;
}

.cti3-contact-info-item:last-child {
	border-bottom: none;
	padding-bottom: 0;
}

/* Icon circle background */
.cti3-contact-info-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	min-width: 48px;
	border-radius: var(--cti3-radius-sm);
	background: rgba(255, 107, 0, 0.08);
	border: 1px solid rgba(255, 107, 0, 0.15);
	transition: var(--cti3-transition);
}

.cti3-contact-info-item:hover .cti3-contact-info-icon {
	background: rgba(255, 107, 0, 0.12);
	border-color: rgba(255, 107, 0, 0.25);
}

.cti3-contact-info-icon svg {
	flex-shrink: 0;
}

/* Legacy: direct SVG without wrapper */
.cti3-contact-info-item > svg {
	flex-shrink: 0;
	margin-top: 2px;
}

/* Contact text */
.cti3-contact-info-text {
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-width: 0;
	text-align: left;
}

.cti3-contact-info-text .cti3-label {
	margin: 0;
	font-weight: 600;
	color: var(--wp--preset--color--contrast);
	font-size: var(--wp--preset--font-size--small);
	font-family: var(--wp--preset--font-family--poppins);
	line-height: 1.4;
}

.cti3-contact-info-text a,
.cti3-contact-info-text .cti3-value {
	color: var(--wp--preset--color--text-secondary);
	text-decoration: none;
	font-size: var(--wp--preset--font-size--small);
	font-family: var(--wp--preset--font-family--poppins);
	line-height: 1.5;
	transition: color 0.2s ease;
}

.cti3-contact-info-text a:hover {
	color: var(--wp--preset--color--accent);
}

/* --- Contact section responsive --- */
@media (max-width: 781px) {
	.cti3-cf7-row {
		grid-template-columns: 1fr;
	}

	.wpcf7 input[type="submit"] {
		padding: 0.875rem 2rem;
	}

	.cti3-contact-info-icon {
		width: 40px;
		height: 40px;
		min-width: 40px;
	}

	.cti3-contact-info-icon svg {
		width: 18px;
		height: 18px;
	}
}


/* ==========================================================================
   IMMERSIVE IMAGERY & COVER EFFECTS
   ========================================================================== */

/* Cinematic slow zoom on cover background image */
.cti3-cover-cinematic .wp-block-cover__image-background {
	transition: transform 12s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.cti3-cover-cinematic:hover .wp-block-cover__image-background {
	transform: scale(1.05);
}

/* Documentary film treatment — desaturated, high contrast */
.cti3-cover-documentary .wp-block-cover__image-background {
	filter: contrast(1.1) saturate(0.75);
}

/* Image reveal — overflow clip with scale on hover */
.cti3-img-reveal {
	overflow: hidden;
	border-radius: var(--cti3-radius-lg);
}

.cti3-img-reveal img {
	transition: transform 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.cti3-img-reveal:hover img {
	transform: scale(1.06);
}

/* Documentary image filter for inline images */
.cti3-img-documentary img {
	filter: contrast(1.08) saturate(0.85);
	transition: filter 0.5s ease, transform 0.5s ease;
}

.cti3-img-documentary:hover img {
	filter: contrast(1.12) saturate(0.95);
}

/* Cover block with accent glow accent */
.wp-block-cover.cti3-cover-glow {
	position: relative;
}

.wp-block-cover.cti3-cover-glow::after {
	content: '';
	position: absolute;
	inset: 0;
	background: radial-gradient(ellipse 50% 60% at 85% 15%, rgba(255, 107, 0, 0.06) 0%, transparent 70%);
	pointer-events: none;
	z-index: 1;
}

/* Cover hero — ensure content sits above everything */
.wp-block-cover .wp-block-cover__inner-container {
	position: relative;
	z-index: 3;
}

/* Card image with reveal effect and aspect ratio */
.cti3-card-img {
	overflow: hidden;
	border-radius: var(--cti3-radius-md);
	aspect-ratio: 16 / 10;
}

.cti3-card-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.6s ease;
}

.is-style-cti3-card:hover .cti3-card-img img {
	transform: scale(1.04);
}

/* Product image on dark background — add glow and float */
.cti3-product-hero-img img {
	filter: drop-shadow(0 0 40px rgba(255, 107, 0, 0.1)) drop-shadow(0 20px 60px rgba(0, 0, 0, 0.5));
	transition: filter 0.5s ease, transform 0.5s ease;
}

.cti3-product-hero-img:hover img {
	filter: drop-shadow(0 0 60px rgba(255, 107, 0, 0.15)) drop-shadow(0 20px 60px rgba(0, 0, 0, 0.5));
	transform: translateY(-4px);
}

/* Recovery section — cover with right-side text */
@media (min-width: 782px) {
	.cti3-cover-text-right .wp-block-cover__inner-container {
		display: flex;
		justify-content: flex-end;
		/* Constrained layout centers the content box; align that box to the right edge of the cover */
		box-sizing: border-box;
		max-width: 1280px;
		width: 100%;
		margin-left: auto;
		margin-right: 0;
	}
}


/* ==========================================================================
   RESPONSIVE ADJUSTMENTS
   ========================================================================== */

@media (max-width: 781px) {
	/* ---- Header mobile fixes ---- */

	/* Reduce header side padding so content fits on narrow screens */
	header.wp-block-template-part > .wp-block-group.alignfull {
		padding-left: 16px !important;
		padding-right: 16px !important;
	}

	/* Tighten gap between navigation hamburger and the CTA button */
	header.wp-block-template-part .wp-block-group > .wp-block-navigation + .wp-block-buttons,
	header.wp-block-template-part .wp-block-group > .wp-block-buttons {
		margin-left: 0;
	}

	/* Shrink the logo so it doesn't hog horizontal space */
	header.wp-block-template-part .cti3-header-logo img {
		height: 40px !important;
	}

	/* Reduce button padding to fit smaller viewports */
	header.wp-block-template-part .wp-block-button__link {
		padding-left: 0.875rem !important;
		padding-right: 0.875rem !important;
		padding-top: 0.5rem !important;
		padding-bottom: 0.5rem !important;
		white-space: nowrap;
		font-size: 0.6875rem !important;
	}

	/* Reduce the gap inside the right-side flex group */
	header.wp-block-template-part .wp-block-group > .wp-block-group:last-child {
		gap: 12px !important;
	}

	/* Prevent the header flex row from overflowing */
	header.wp-block-template-part > .wp-block-group.alignfull {
		overflow: visible;
		min-width: 0;
	}

	/* Ensure all flex children can shrink */
	header.wp-block-template-part .wp-block-group {
		min-width: 0;
	}

	/* Keep button always above nav overlay */
	header.wp-block-template-part .wp-block-buttons {
		position: relative;
		z-index: 2;
		flex-shrink: 0;
	}

	/* Keep header icons above nav overlay */
	header.wp-block-template-part .cti3-header-icons {
		position: relative;
		z-index: 2;
		flex-shrink: 0;
	}

	/* Slightly smaller icon hit-targets on mobile */
	header.wp-block-template-part .cti3-header-icon {
		width: 32px;
		height: 32px;
	}

	header.wp-block-template-part .cti3-header-icon svg {
		width: 18px;
		height: 18px;
	}

	/* Navigation overlay must sit above the sticky header */
	.wp-block-navigation__responsive-container.is-menu-open {
		z-index: 200 !important;
	}

	/* Reduce card padding on mobile */
	.wp-block-group.is-style-cti3-card,
	.wp-block-group.is-style-cti3-glass,
	.wp-block-group.is-style-cti3-surface {
		padding: var(--wp--preset--spacing--40);
	}

	.wp-block-columns.is-style-cti3-feature-grid > .wp-block-column {
		padding: var(--wp--preset--spacing--40);
	}

	/* Remove hover transforms on touch */
	.wp-block-group.is-style-cti3-card:hover,
	.wp-block-columns.is-style-cti3-feature-grid > .wp-block-column:hover {
		transform: none;
	}

	/* Hero min-height reduction on mobile */
	.wp-block-group[style*="min-height:90vh"],
	.wp-block-cover[style*="min-height:90vh"] {
		min-height: 70vh !important;
	}

	/* Hero cover: reduce padding so text has room to breathe */
	.cti3-cover-cinematic.wp-block-cover,
	.cti3-cover-glow.wp-block-cover {
		padding-left: 16px !important;
		padding-right: 16px !important;
	}

	/* Hero heading: loosen line-height so wrapped text is readable */
	.has-display-font-size {
		line-height: 1.1 !important;
	}

	/* Hero buttons: stack vertically and fit the screen */
	.cti3-cover-cinematic .wp-block-buttons,
	.cti3-cover-glow .wp-block-buttons {
		flex-direction: column;
	}

	.cti3-cover-cinematic .wp-block-button__link,
	.cti3-cover-glow .wp-block-button__link {
		width: 100%;
		text-align: center;
		padding-left: 1.5rem !important;
		padding-right: 1.5rem !important;
		box-sizing: border-box;
	}

	/* Hero subtitle: slightly smaller on mobile */
	.cti3-cover-cinematic .has-large-font-size,
	.cti3-cover-glow .has-large-font-size {
		font-size: 0.9375rem !important;
	}

	/* Disable stagger on mobile */
	.cti3-stagger > .wp-block-column:nth-child(even),
	.cti3-stagger-reverse > .wp-block-column:nth-child(odd),
	.cti3-stagger-deep > .wp-block-column:nth-child(even) {
		transform: none;
	}

	/* Disable bleeds on mobile */
	.cti3-bleed-left,
	.cti3-bleed-right {
		margin-left: 0;
		margin-right: 0;
	}

	/* Reduce diagonal clip angles on mobile */
	.cti3-angle-top,
	.cti3-angle-top-reverse {
		clip-path: none;
		margin-top: 0;
		padding-top: var(--wp--preset--spacing--70) !important;
	}

	.cti3-angle-bottom {
		clip-path: none;
		padding-bottom: var(--wp--preset--spacing--70) !important;
	}

	/* Asymmetric grids stack on mobile */
	.cti3-grid-asymmetric,
	.cti3-grid-asymmetric-reverse {
		display: flex !important;
		flex-direction: column;
	}

	/* Disable cinematic zoom on mobile */
	.cti3-cover-cinematic .wp-block-cover__image-background {
		transition: none;
	}
	.cti3-cover-cinematic:hover .wp-block-cover__image-background {
		transform: none;
	}

	/* Cover text-right falls back to full width on mobile */
	.cti3-cover-text-right .wp-block-cover__inner-container {
		display: block;
	}

	/* Product page sticky off on mobile */
	.cti3-sticky {
		position: static !important;
	}

	/* Stats counter: smaller numbers on mobile */
	.has-bebas-neue-font-family[style*="font-size:3.5rem"] {
		font-size: 2.5rem !important;
	}

	/* Full-width add to cart button stays full */
	.cti3-product-page .single_add_to_cart_button {
		width: 100%;
	}

	/* Tabs scroll horizontally on mobile */
	.cti3-product-page .woocommerce-tabs ul.tabs {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		white-space: nowrap;
	}

	.cti3-product-page .woocommerce-tabs ul.tabs li {
		flex-shrink: 0;
	}

	/* Blog: Featured post stacks vertically */
	.cti3-featured-post-inner {
		flex-direction: column !important;
	}

	.cti3-featured-post-inner .wp-block-column {
		flex-basis: 100% !important;
	}

	/* Blog: Sidebar drops below content */
	.cti3-sidebar-column {
		min-width: 100% !important;
	}

	.cti3-sidebar-sticky {
		position: static;
	}

	/* Blog: Post navigation full width */
	.cti3-post-nav {
		flex-direction: column;
		gap: var(--wp--preset--spacing--30);
	}

	.cti3-post-nav .wp-block-post-navigation-link {
		max-width: 100%;
	}

	/* Blog: Article content typography */
	.cti3-article-content .wp-block-post-content {
		font-size: 1rem;
	}

	.cti3-article-content .wp-block-post-content h2 {
		font-size: 1.5rem;
	}

	.cti3-article-content .wp-block-post-content h3 {
		font-size: 1.25rem;
	}

	/* Blog: Related cards remove hover transform */
	.cti3-related-card:hover,
	.cti3-post-card:hover {
		transform: none;
	}
}


/* Extra-small screens: further compress header elements */
@media (max-width: 380px) {
	header.wp-block-template-part > .wp-block-group.alignfull {
		padding-left: 12px !important;
		padding-right: 12px !important;
	}

	header.wp-block-template-part .cti3-header-logo img {
		height: 34px !important;
	}

	header.wp-block-template-part .wp-block-button__link {
		padding-left: 0.625rem !important;
		padding-right: 0.625rem !important;
		font-size: 0.625rem !important;
	}

	header.wp-block-template-part .wp-block-group > .wp-block-group:last-child {
		gap: 8px !important;
	}

	header.wp-block-template-part .cti3-header-icon {
		width: 28px;
		height: 28px;
	}

	header.wp-block-template-part .cti3-header-icon svg {
		width: 16px;
		height: 16px;
	}

	.cti3-header-icons {
		gap: 2px;
	}
}


/* ==========================================================================
   CLASSIC NAVIGATION MENUS (Customizer-managed via shortcode bridge)
   ========================================================================== */

/* --- Header Navigation --- */
.cti3-header-nav__list {
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--50);
	list-style: none;
	margin: 0;
	padding: 0;
}

.cti3-header-nav__list .menu-item a {
	font-family: var(--wp--preset--font-family--poppins);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 1px;
	color: var(--wp--preset--color--text-secondary);
	text-decoration: none;
	transition: color 0.3s ease;
	white-space: nowrap;
}

.cti3-header-nav__list .menu-item a:hover,
.cti3-header-nav__list .current-menu-item > a {
	color: var(--wp--preset--color--contrast);
}

/* Sub-menus (dropdown) */
.cti3-header-nav__list > .menu-item-has-children {
	position: relative;
}

.cti3-header-nav__list .sub-menu {
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	background: var(--wp--preset--color--surface, #141414);
	border: 1px solid var(--wp--preset--color--border, #2A2A2A);
	border-radius: var(--cti3-radius-md);
	padding: 8px 0;
	min-width: 200px;
	list-style: none;
	box-shadow: var(--cti3-shadow-lg);
	z-index: 100;
}

.cti3-header-nav__list .menu-item:hover > .sub-menu {
	display: block;
}

.cti3-header-nav__list .sub-menu .menu-item a {
	display: block;
	padding: 8px 20px;
	font-size: var(--wp--preset--font-size--caption);
	text-transform: none;
	letter-spacing: 0;
}

/* --- Mobile Hamburger Toggle --- */
.cti3-nav-toggle {
	display: none;
	flex-direction: column;
	gap: 5px;
	background: none;
	border: none;
	cursor: pointer;
	padding: 4px;
	position: relative;
	z-index: 201;
}

.cti3-nav-toggle__bar {
	display: block;
	width: 24px;
	height: 2px;
	background: var(--wp--preset--color--contrast, #FFFFFF);
	border-radius: 2px;
	transition: all 0.3s ease;
}

.cti3-nav-toggle[aria-expanded="true"] .cti3-nav-toggle__bar:nth-child(1) {
	transform: rotate(45deg) translate(5px, 5px);
}

.cti3-nav-toggle[aria-expanded="true"] .cti3-nav-toggle__bar:nth-child(2) {
	opacity: 0;
}

.cti3-nav-toggle[aria-expanded="true"] .cti3-nav-toggle__bar:nth-child(3) {
	transform: rotate(-45deg) translate(5px, -5px);
}

/* --- Header Icons (Cart & Account) --- */
.cti3-header-icons {
	display: flex;
	align-items: center;
	gap: 4px;
}

a.cti3-header-icon,
.woocommerce a.cti3-header-icon {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	color: var(--wp--preset--color--text-secondary, #A0A0A0);
	text-decoration: none;
	transition: color 0.3s ease, background 0.3s ease;
}

a.cti3-header-icon:hover,
.woocommerce a.cti3-header-icon:hover {
	color: var(--wp--preset--color--contrast, #FFFFFF);
	background: rgba(255, 255, 255, 0.06);
}

.cti3-header-icon svg {
	display: block;
	flex-shrink: 0;
}

.cti3-header-icon__badge {
	position: absolute;
	top: 1px;
	right: 0;
	min-width: 16px;
	height: 16px;
	padding: 0 4px;
	border-radius: 999px;
	background: #FF6B00;
	color: #FFFFFF;
	font-family: 'Poppins', sans-serif;
	font-size: 0.625rem;
	font-weight: 700;
	line-height: 16px;
	text-align: center;
	pointer-events: none;
}

.cti3-header-icon__badge.is-hidden {
	display: none;
}


/* --- Footer Navigation --- */
.cti3-footer-links {
	margin-bottom: var(--wp--preset--spacing--50);
}

.cti3-footer-links__list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 12px 32px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.cti3-footer-links a {
	color: #A0A0A0;
	font-family: 'Poppins', sans-serif;
	font-size: 0.8125rem;
	text-decoration: none;
	transition: color 0.3s ease;
}

.cti3-footer-links a:hover {
	color: #FF6B00;
}

/* --- Mobile Navigation Overlay --- */
@media (max-width: 781px) {
	.cti3-nav-toggle {
		display: flex;
	}

	.cti3-header-nav {
		position: fixed;
		inset: 0;
		background: var(--wp--preset--color--base, #0A0A0A);
		z-index: 200;
		display: flex;
		align-items: center;
		justify-content: center;
		opacity: 0;
		visibility: hidden;
		transition: opacity 0.3s ease, visibility 0.3s ease;
	}

	.cti3-header-nav.is-open {
		opacity: 1;
		visibility: visible;
	}

	.cti3-header-nav__list {
		flex-direction: column;
		gap: var(--wp--preset--spacing--40);
		text-align: center;
	}

	.cti3-header-nav__list .menu-item a {
		font-size: var(--wp--preset--font-size--large, 1.125rem);
	}

	.cti3-header-nav__list .sub-menu {
		position: static;
		display: block;
		background: transparent;
		border: none;
		box-shadow: none;
		min-width: 0;
		padding: 8px 0 0;
	}

	.cti3-header-nav__list .sub-menu .menu-item a {
		font-size: var(--wp--preset--font-size--small);
		padding: 6px 0;
		color: var(--wp--preset--color--text-muted);
	}
}


/* ==========================================================================
   SCROLL TO TOP BUTTON
   ========================================================================== */
.cti3-scroll-top {
	position: fixed;
	bottom: 32px;
	right: 32px;
	z-index: 900;
	width: 48px;
	height: 48px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(255, 107, 0, 0.1);
	border: 1px solid rgba(255, 107, 0, 0.3);
	border-radius: 12px;
	color: #FF6B00;
	cursor: pointer;
	opacity: 0;
	visibility: hidden;
	transform: translateY(16px);
	transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease, background 0.3s ease, border-color 0.3s ease;
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
}

.cti3-scroll-top.is-visible {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.cti3-scroll-top:hover {
	background: rgba(255, 107, 0, 0.2);
	border-color: rgba(255, 107, 0, 0.5);
	transform: translateY(-2px);
}

.cti3-scroll-top svg {
	width: 22px;
	height: 22px;
	flex-shrink: 0;
}

@media (max-width: 781px) {
	.cti3-scroll-top {
		bottom: 20px;
		right: 20px;
		width: 42px;
		height: 42px;
	}

	/* Offset if sticky ATC bar is visible */
	.cti3-sticky-atc.is-visible ~ .cti3-scroll-top,
	body.single-product .cti3-scroll-top {
		bottom: 80px;
	}
}

/* ==========================================================================
   SIZING GUIDE POPUP
   ========================================================================== */
.cti3-sizing-overlay {
	position: fixed;
	inset: 0;
	z-index: 999;
	background: rgba(0, 0, 0, 0.75);
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.3s ease, visibility 0.3s ease;
}

.cti3-sizing-overlay.is-open {
	opacity: 1;
	visibility: visible;
}

.cti3-sizing-modal {
	background: #141414;
	border: 1px solid #2A2A2A;
	border-radius: var(--cti3-radius-lg, 16px);
	padding: 32px;
	max-width: 640px;
	width: 100%;
	position: relative;
	transform: translateY(20px) scale(0.97);
	transition: transform 0.3s ease;
	max-height: 90vh;
	overflow-y: auto;
}

.cti3-sizing-overlay.is-open .cti3-sizing-modal {
	transform: translateY(0) scale(1);
}

.cti3-sizing-modal__close {
	position: absolute;
	top: 16px;
	right: 16px;
	background: rgba(255, 255, 255, 0.05);
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 50%;
	width: 36px;
	height: 36px;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	color: #9CA3AF;
	font-size: 1.25rem;
	line-height: 1;
	transition: var(--cti3-transition, all 0.3s ease);
}

.cti3-sizing-modal__close:hover {
	background: rgba(255, 107, 0, 0.15);
	border-color: rgba(255, 107, 0, 0.3);
	color: #FF6B00;
}

.cti3-sizing-modal__title {
	font-family: 'Bebas Neue', sans-serif;
	font-size: 1.75rem;
	letter-spacing: 1px;
	color: #FFFFFF;
	margin: 0 0 8px;
}

.cti3-sizing-modal__subtitle {
	font-family: 'Poppins', sans-serif;
	font-size: 0.8125rem;
	color: #9CA3AF;
	margin: 0 0 24px;
}

.cti3-sizing-table {
	width: 100%;
	border-collapse: collapse;
	font-family: 'Poppins', sans-serif;
	font-size: 0.875rem;
}

.cti3-sizing-table thead th {
	background: rgba(255, 107, 0, 0.1);
	color: #FF6B00;
	font-weight: 600;
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	padding: 12px 16px;
	text-align: left;
	border-bottom: 1px solid #2A2A2A;
}

.cti3-sizing-table thead th:first-child {
	border-radius: var(--cti3-radius-sm, 8px) 0 0 0;
}

.cti3-sizing-table thead th:last-child {
	border-radius: 0 var(--cti3-radius-sm, 8px) 0 0;
}

.cti3-sizing-table tbody td {
	padding: 12px 16px;
	color: #E5E5E5;
	border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.cti3-sizing-table tbody tr:last-child td {
	border-bottom: none;
}

.cti3-sizing-table tbody tr:hover td {
	background: rgba(255, 255, 255, 0.03);
}

.cti3-sizing-table tbody td:first-child {
	font-weight: 600;
	color: #FFFFFF;
}

/* Sizing guide popup trigger link */
a.cti3-sizing-trigger,
.cti3-sizing-trigger {
	color: #FF6B00 !important;
	cursor: pointer;
	text-decoration: underline;
	text-underline-offset: 2px;
}

a.cti3-sizing-trigger:hover,
.cti3-sizing-trigger:hover {
	color: #ff8533 !important;
}

@media (max-width: 600px) {
	.cti3-sizing-modal {
		padding: 24px 16px;
	}

	.cti3-sizing-table {
		font-size: 0.75rem;
	}

	.cti3-sizing-table thead th,
	.cti3-sizing-table tbody td {
		padding: 10px 10px;
	}

	.cti3-sizing-modal__title {
		font-size: 1.375rem;
	}
}


/* ==========================================================================
   PARTNERS SECTION
   ========================================================================== */

.cti3-partners {
	background: var(--wp--preset--color--base);
	border-top: 1px solid var(--wp--preset--color--border);
	padding: var(--wp--preset--spacing--70) var(--wp--preset--spacing--50);
}

.cti3-partners__inner {
	max-width: 800px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1fr 300px;
	gap: var(--wp--preset--spacing--60);
	align-items: center;
}

.cti3-partners__label {
	font-family: var(--wp--preset--font-family--poppins);
	font-size: var(--wp--preset--font-size--caption);
	font-weight: 600;
	letter-spacing: 3px;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent);
	margin: 0 0 var(--wp--preset--spacing--20);
}

.cti3-partners__heading {
	font-family: var(--wp--preset--font-family--bebas-neue);
	font-size: 2rem;
	color: var(--wp--preset--color--contrast);
	margin: 0 0 var(--wp--preset--spacing--20);
	line-height: 1.1;
	text-transform: uppercase;
}

.cti3-partners__desc {
	font-family: var(--wp--preset--font-family--poppins);
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--text-secondary);
	margin: 0;
	line-height: 1.65;
}

/* --- Logo area (single + slider) --- */
.cti3-partners__logos-col {
	display: flex;
	justify-content: center;
	align-items: center;
}

.cti3-partners__single img,
.cti3-partners__slide img {
	display: block;
	max-width: 260px;
	width: 100%;
	height: auto;
	margin: 0 auto;
	filter: grayscale(100%) brightness(2);
	opacity: 0.5;
	transition: filter 0.5s ease, opacity 0.5s ease;
}

.cti3-partners__single:hover img,
.cti3-partners__slide:hover img {
	filter: grayscale(0%) brightness(1);
	opacity: 1;
}

.cti3-partners__single a,
.cti3-partners__slide a {
	display: block;
}

/* --- Slider --- */
.cti3-partners__slider {
	width: 100%;
	position: relative;
}

.cti3-partners__track {
	position: relative;
	overflow: hidden;
	min-height: 80px;
}

.cti3-partners__slide {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	transition: opacity 0.6s ease;
	pointer-events: none;
}

.cti3-partners__slide.is-active {
	position: relative;
	opacity: 1;
	pointer-events: auto;
}

/* --- Dots --- */
.cti3-partners__dots {
	display: flex;
	justify-content: center;
	gap: 10px;
	margin-top: var(--wp--preset--spacing--30);
}

.cti3-partners__dot {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	border: 1.5px solid var(--wp--preset--color--border-light);
	background: transparent;
	padding: 0;
	cursor: pointer;
	transition: var(--cti3-transition);
}

.cti3-partners__dot.is-active {
	background: var(--wp--preset--color--accent);
	border-color: var(--wp--preset--color--accent);
}

.cti3-partners__dot:hover {
	border-color: var(--wp--preset--color--accent);
}

/* --- Mobile --- */
@media (max-width: 781px) {
	.cti3-partners__inner {
		grid-template-columns: 1fr;
		text-align: center;
		gap: var(--wp--preset--spacing--40);
	}

	.cti3-partners__logos-col {
		order: -1;
	}
}

